@charset "utf-8";

/*title*/
#main .section:first-of-type {
	background: none;
	background-image: url(../../images/event/winter_fair2025/garland_lot_pc.svg), linear-gradient(to bottom, rgba(255, 255, 255, 0.65), #fff);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 100% auto;
	padding: min(1.5625vw, 30px) min(2.65625vw, 50px) min(2.1875vw, 40px);
	margin-bottom: min(calc(2.65625vw * 1.75), 50px);
}
#main .cnt_wp  {
	margin-bottom: min(4.25vw, 50px);
}
#main .cnt_wp.btm {
	margin-bottom: 0;
}

@media screen and (max-width:640px) {
	#main .section:first-of-type {
		background-image: url(../../images/event/winter_fair2025/garland_lot_sp.svg), linear-gradient(to bottom, rgba(255, 255, 255, 0.65), #fff);
		padding: min(2.8vw, 20px) min(4vw, 30px);
		margin-bottom: min(5.2vw, 40px);
	}
	#main .cnt_wp{
		margin-bottom: min(6.8vw, 50px);
	}
}

/*lottery shop list*/
#main .free_block .ltt_shop_list {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin-left: 0;
	border-radius: 10px;
}
.ltt_shop_list .ltt_li {
  border: 1px solid #000;
  border-top: none;
  background-color: #fff;
  width: 100%;
  display: flex;
  align-items: stretch;
}
.ltt_shop_list .ltt_li:nth-child(1) {
	border-top: 1px solid #000;
	border-top-left-radius: 10px;
}
.ltt_shop_list .ltt_li:nth-child(1) .flr {
	border-top-left-radius: 10px;
}
.ltt_shop_list .ltt_li:last-child {
	border-bottom-right-radius: 10px;
}

#main .free_block .ltt_li .flr,
#main .free_block .ltt_li .shop_nm {
  color: #000;
  font-size: clamp(1.2rem, 3.126vw, 2.4rem);
  font-weight: 600;
  font-style: normal;
  display: flex;
  align-items: center;
}
#main .free_block .ltt_li .flr {
	background-color: #dbf4d8;
  justify-content: center;
  padding: .45em 0 ;
  width: 4em;
}
#main .free_block .ltt_li .shop_nm {
  padding: .45em .4em .45em 1.7em;
  border-left: 2px dotted #4f4f4f;
  width: calc(100% - 4em);
}
@media screen and (min-width:641px) {
}
@media screen and (min-width:768px) {
  .ltt_shop_list .ltt_li {width: 50%;}
  .ltt_shop_list .ltt_li.nolist {display: block;}
  .ltt_shop_list .ltt_li:nth-child(2n+1) {border-right: none;}

	.ltt_shop_list .ltt_li:nth-child(2) {
		border-top: 1px solid #000;
		border-top-right-radius: 10px;
	}
	.ltt_shop_list .ltt_li:nth-last-child(2) .flr,
	.ltt_shop_list .ltt_li:nth-last-child(2) {
		border-bottom-left-radius: 10px;
	}
	

	#main .free_block .ltt_li .flr,
  #main .free_block .ltt_li .shop_nm {
    font-size: min(1.82vw, 1.4rem);
  }
  #main .free_block .ltt_li .flr {
    padding: .65em 0;
  }
  #main .free_block .ltt_li .shop_nm {
    padding: .65em .4em .65em 1.4em;
  } 
}
@media screen and (min-width:980px) {
  #main .free_block .ltt_li .flr,
  #main .free_block .ltt_li .shop_nm {
    font-size: min(2.085vw, 1.6rem);
  }
}
@media screen and (max-width:767px) {
	.ltt_shop_list .ltt_li.nolist {display: none;}
	.ltt_shop_list .ltt_li:nth-child(1) {
		border-top-right-radius: min(2vw, 16px);
		border-top-left-radius: min(2vw, 16px);
	}
	.ltt_shop_list .ltt_li.last {
		border-bottom-left-radius: min(2vw, 16px);
		border-bottom-right-radius: min(2vw, 16px);
	}
	.ltt_shop_list .ltt_li:nth-child(1) .flr {
		border-top-left-radius: min(2vw, 16px);
	}
	.ltt_shop_list .ltt_li.last .flr{
		border-bottom-left-radius: min(2vw, 16px);
	}
}

/*step_flow*/
#main .step_flow {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#main .step_flow .step_li {
	padding: min(0.9375vw, 18px);
	border: 3px solid #4cc63a;
	border-radius: min(1.25vw, 16px);
}

.step_flow .wrap_txt {
	display: flex;
	align-items: flex-start;
}
#main .h4_nom {
	color: #d60029;
	font-size: clamp(1.2rem, 2.45vw, 2.4rem);
	font-weight: 600;
	line-height: 1;
	width: min(3.5vw, 40px);
	height: min(3.5vw, 40px);
	margin-right: min(0.8vw, 10px);
	background-color: #ffea3c;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
}
#main .txt_l {
	font-size: clamp(0.7rem, 1.43vw, 1.4rem);
}

@media screen and (min-width:641px) {
	#main .step_flow .step_li {
		width: min(32%, 340px);
	}
}
@media screen and (min-width:1200px) {
	#main .step_flow .step_li {
		padding: min(1.5vw, 18px);
	}
	#main .txt_l {
		font-size: clamp(0.8rem, 1.634vw, 1.6rem);
	}
}
@media screen and (max-width:640px) {
	#main .step_flow .step_li {
		padding: min(5.2vw, 40px);
		margin-bottom: min(4vw, 30px);
		border-radius: min(2.8vw, 21px);
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	#main .h4_nom {
		font-size: clamp(1.7rem, 4.428vw, 3.4rem);
		font-weight: 700;
		width: min(8vw, 60px);
		height: min(8vw, 60px);
		margin-right: min(4vw, 30px);
	}
	#main .txt_l {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		width: calc(100% - min(12vw, 90px));
	}
}

/*exchange*/
#main .txt_m {
	font-size: clamp(0.8rem, 1.634vw, 1.6rem);
}

.exch_list {
  display: flex;
  align-items: center;
	margin: min(1.75vw, 21px) 0;
}
#main .free_block .exch_txt {
	font-size: clamp(0.75rem, 1.532vw, 1.5rem);
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 3px solid #4cc63a;
  border-radius: 16px;
	margin-bottom: 0;
}
.exch_list .or {
  color: #e0261b;
	font-size: clamp(0.9rem, 1.838vw, 1.8rem);
  font-weight: 700;
	line-height: 1;
	width: min(3.25vw, 40px);
	height: min(3.25vw, 40px);
  background-color: #ffe100;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50% ;
}
.exch_list .or span {transform: translateY(-0.1em)}

@media screen and (min-width:641px) {
	#main .h3_ttl + .txt_m {
		margin-top: min(-0.75vw, -9px);
		text-align: center;
	}
	.exch_list {
		justify-content: space-between;
	}
  #main .free_block .exch_txt {
		text-align: center;
    width: calc((100% - min(10vw, 120px)) / 3);
    height: 6em;
  }
}
@media screen and (min-width:1200px) {
	#main .free_block .exch_txt {
		font-size: clamp(0.9rem, 1.838vw, 1.8rem);
	}
	.exch_list .or {
		font-size: clamp(1rem, 2.042vw, 2rem);
	}
}
@media screen and (max-width:640px) {
	#main .txt_m {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		font-weight: 600;
	}
	.exch_list {
		flex-direction: column;
	}
	#main .free_block .exch_txt {
		font-size: clamp(1.3rem, 3.386vw, 2.6rem);
		width: 100%;
		padding: 1.2em 1em;
  	margin-bottom: min(2.8vw, 20px);
	}
	.exch_list .or {
		font-size: clamp(1.5rem, 3.908vw, 3rem);
		width: min(8vw, 60px);
		height: min(8vw, 60px);
  	margin-bottom: min(2.8vw, 20px);
	}
}

#main .txt_ll {
	font-size: clamp(1.5rem, 3.062vw, 3rem);
	font-weight: 600;
}
#main .map {
	display: block;
	margin: auto;
	margin-bottom: min(4.25vw, 51px);
}

@media screen and (min-width:641px) {
	#main .h3_ttl + .txt_ll {
		text-align: center;
		margin-top: min(-0.75vw, -9px);
	}
}
@media screen and (max-width:640px) {
	#main .txt_ll {
		font-size: clamp(1.8rem, 4.688vw, 3.6rem);
	}
}
