@charset "utf-8";
#main > .page_ttl,
#bread {display: none;}

#main {
	padding: min(6.66vw, 50px) min(3.333vw, 25px) min(10vw, 75px);
  background-color: #e23641;
  background-image: url(../images/winter_fair2023/mv/bk_mv_pc02.png), url(../images/winter_fair2023/mv/bk_mv_pc01.png), url(../images/winter_fair2023/bg_snow.png);
  background-position: 50% 0,50% 0, 0 0;
  -webkit-background-size: 100% auto, auto, auto;
  background-size: 100% auto, auto, auto;
  background-repeat: no-repeat, no-repeat, repeat;
}

@media screen and (min-width:641px) {
}
@media screen and (min-width:786px) {
  #main {padding: min(10.666vw, 80px) min(3.333vw, 25px) min(10vw, 75px);}
}
@media screen and (min-width:1201px) {
  #main {padding: 80px 0 50px;}
}
@media screen and (max-width:768px) {
  #main {
      background-image: url(../images/winter_fair2023/mv/bk_mv_sp02.png), url(../images/winter_fair2023/mv/bk_mv_sp01.png), url(../images/winter_fair2023/bg_snow.png);
  }
}
.free_block .pc980px,
.free_block .pc801,
.free_block .pc768,
.free_block .pc641 {display: none;}
 
@media screen and (min-width:641px) {
  .free_block .sp640 {display:none}
  .free_block .pc641 {
    display: block;
    margin: auto;
  }
}
@media screen and (min-width:768px) {
  .free_block .sp767 {display:none}
  .free_block .pc768 {display: block;}
}
@media screen and (min-width:801px) {
  .free_block .sp800 {display:none}
  .free_block .pc801 {display: block;}
}
@media screen and (min-width:980px) {
  .free_block .sp979 {display:none}
  .free_block .pc980px {display: block;}
}

/* title */
/*******************/
.ttl_wrap .ttl_anv {
  width: clamp(48vw, 75.833vw, 910px);
  margin: 0 auto min(2vw, 15px);
  position: relative;
}
.ttl_wrap .ttl_anv .date {
  position: absolute;
  width: clamp(8.854vw, 14.166vw, 170px);
  height: auto;
  margin: 0;
  bottom: max(0.25vw, 15px);
  right: max(-7.68vw, -85px);
}
.ttl_wrap.__caution .ttl_anv {margin-bottom: min(5.6vw, 42px);}

/*btn*/
.btn-c {
  display: flex;
  justify-content: center;
}

#main .free_block .ttl_wrap .pgnav_ul {
  text-align: center;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: min(70vw, 1200px);
  margin: auto;
}
.ttl_wrap .pgnav_li {
  display: inline-block;
  width: min(70vw, 526px);
  margin-top: min(6vw, 45px);
}
#coupon .btn_more,
#garapon .btn_lotto,
.ttl_wrap .btn_pgnav {
  color: #fff;
  font-size: clamp(1.5rem, 6.66vw, 2.8rem);
  font-weight: bold;
  text-decoration: none;
  padding: .5em 0;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 5rem;
  box-shadow: 3px 3px 8px 0px rgba(0,0,0,0.2);
  transition: all .4s;
}
#garapon .btn_lotto {font-size: clamp(1.3rem, 5.24vw, 2.2rem);}
.ttl_wrap .btn_pgnav {
  background-color: #60b0e3;
  border: 3px solid #fff;
}
#garapon .btn_lotto {
  width: 100%;
  background-color: #df0615;
  border: 3px solid #f8c5ac;
}
#coupon .btn_more {
  width: 100%;
  background-color: #3eac4a;
  border: 3px solid #d0d731;
}
.ttl_wrap .btn_pgnav::before {
  content: '';
  display: block;
  width: min(4vw, 30px);
  height: min(2.666vw, 20px);
  margin-right: min(2.5vw, 20px);
  background: url(../images/winter_fair2023/btn01.svg) 0 0 no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
}
#coupon .btn_more::before,
#garapon .btn_lotto::before {
  content: '';
  display: block;
  width: min(4.8vw, 36px);
  height: min(5.333vw, 40px);
  margin-right: min(2vw, 15px);
  background: url(../images/winter_fair2023/btn02.svg) 0 0 no-repeat;
  -webkit-background-size: cover;
  background-size: cover;
}
#coupon .btn_more:hover,
#garapon .btn_lotto:hover,
.ttl_wrap .btn_pgnav:hover {transform: translateY(5px);}

@media screen and (min-width:641px) {
  .ttl_wrap.__caution .ttl_anv,
  .ttl_wrap .ttl_anv {margin-bottom: 80px;}
  #main .free_block .ttl_wrap .pgnav_ul {
    width: min(100%, 1200px);
    justify-content: space-between;
  }
  .ttl_wrap .pgnav_li {
    width: min(32%, 375px);
    margin-top: 0;
  }
  #garapon .btn_lotto,
  .ttl_wrap .btn_pgnav {
    font-size: clamp(1.5rem, 2.606vw, 2rem);
    border-width: 2px;
  }
  #garapon .btn_lotto {
    width: min(70vw, 420px);
  }
  .ttl_wrap .btn_pgnav::before {
    width: 1.666vw;
    height: 1.1666vw;
    margin-right: 1.2vw;
  }
  #garapon .btn_lotto::before {
    width: 1.8333vw;
    height: 2.0833vw;
    margin-right: min(1vw, 12px);
  }
}
@media screen and (min-width:1200px) {
  .ttl_wrap .btn_pgnav::before {
    width: 20px;
    height: 14px;
    margin-right: 20px;
  }
  #garapon .btn_lotto::before {
    width: 22px;
    height: 25px;
  }
}
@media screen and (max-width:800px) {
  .ttl_wrap .ttl_anv {
    width: min(76.666vw, 575px);
  }
  .ttl_wrap .ttl_anv .date {
    width: min(24vw, 180px);
    right: min(-6.666vw, 50px);
    bottom: min(-6vw, 45px);
  }
}
@media screen and (max-width:480px) {
}
@media screen and (max-width:320px) {
}

/* section */
/*********************/
#main .free_block:nth-of-type(2) {
  background-color: #fff;
  margin-top: min(12.66vw, 95px);
  padding: 0 min(4vw, 30px);
  position: relative;
}
#main .free_block:nth-of-type(2)::before,
#main .free_block:nth-of-type(2)::after {
  content: '';
  display: block;
  width: 100%;
  height: min(5.333vw, 40px);
  -webkit-background-size: cover;
  background-size: 100% auto;
  background-position:0 0;
  background-repeat: no-repeat;
  position: absolute;
  left: 0;
}
#main .free_block:nth-of-type(2)::before{
  background-image: url(../images/winter_fair2023/bg_cnt_sp01.png);
  top: max(-5.333vw, -40px);
}
#main .free_block:nth-of-type(2)::after {
  background-image: url(../images/winter_fair2023/bg_cnt_sp02.png);
  bottom: max(-5.333vw, -40px);
}

#main .free_block h2 {
  font-size: 0;
  line-height: 1;
  border: none;
  padding: 0;
  margin-bottom: min(4vw, 30px);
}
#main .free_block h2::after,
#main .free_block h2::before {display: none;}

.read {
  font-size: clamp(1.9rem, 4.948vw, 3.8rem);
  font-weight: bold;
}
.read .sml {font-size: clamp(1rem, 3.6vw, 3rem);}

@media screen and (min-width:641px) {
  .read .sml,
  .read {
    font-size: min(3.126vw, 2.5rem);
    text-align: center;
  }
}
@media screen and (min-width:768px) {
  #main .free_block:nth-of-type(2) {padding: 0 min(2.916vw, 35px);}
  #main .free_block:nth-of-type(2)::before {height: min(4.166vw, 50px);}
  #main .free_block:nth-of-type(2)::after {height: min(5.5vw, 66px);}
  #main .free_block:nth-of-type(2)::before{
    background-image: url(../images/winter_fair2023/bg_cnt_pc01.png);
    top: max(-3.866vw, -50px);
  }
  #main .free_block:nth-of-type(2)::after{
    background-image: url(../images/winter_fair2023/bg_cnt_pc02.png);
    bottom: max(-5.5vw, -66px);
  }
  #main .free_block h2 {margin-bottom: 20px;}
}

/*garapon*/
/*********************/
#garapon .read {margin-bottom: min(8.666vw, 65px);}
#main .free_block #garapon ul.prize_list {
  list-style: none;
  margin: 0;
}
#garapon .prize_li {
  width: min(74.666vw, 560px);
  margin: 0 auto min(6vw, 45px);
  position: relative;
}
#garapon .prize_li#prize06 {margin-bottom: 0px;}

#garapon .prize_pic {
  position: relative;
  z-index: 1;
}
#garapon .prize_li .award {
  position: absolute;
  z-index: 2;
  left: -1px;
}
#garapon .prize_li#prize01 .award {
  width: min(20vw, 150px);
  top: min(-4vw, -25px);
}
#garapon .prize_li#prize02 .award {
  width: min(17.333vw, 130px);
  top: min(-2.933vw, -22px);
}
#garapon .prize_li#prize03 .award {
  width: min(17.333vw, 130px);
  top: min(-1.6vw, -12px);
}
#garapon .prize_li#prize04 .award,
#garapon .prize_li#prize05 .award {
  width: min(12.5vw, 94px);
  left: 2px;
  top: min(-1.6vw, -12px);
}
#garapon .txt_sml {
  font-size: clamp(1.2rem, 3.126vw, 2.4rem);
  width: min(74.666vw, 560px);
  margin: 0 auto min(10vw, 100px);
}
/*period*/
.period_dl {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: min(12vw, 90px);
}
#main .free_block .exchange_h3,
#main .free_block .flow_h3,
.period_dt {
  color: #000;
  font-weight: bold;
  font-size: clamp(2.7rem, 7.03vw, 5.4rem);
  text-align: center;
  background-color: #f5cec7;
  width: 100%;
  padding: .2em 0 .1em;
  border-radius: min(1.2vw, 9px);
  margin-bottom: min(4vw, 30px);
}
#main .free_block .exchange_h3 {margin-bottom: min(7.2vw, 54px);}

.period_dd {text-align: center;}
.period_dd .img_date {
  width: auto;
  height: min(6vw, 45px);
  margin-bottom: min(2vw, 10px);
}

/*flow*/
#main .free_block .step_flow {
  list-style: none;
  margin: 0 auto min(14.666vw, 110px);
}
.step_flow .step_li {
  position: relative;
}
.step_flow .step_li.stp01,
.step_flow .step_li.stp02 {
  padding-bottom: min(10.666vw, 80px);
  margin-bottom: min(4vw, 30px);
  background: url(../images/winter_fair2023/cnt1/line-sp.svg) 0 100% no-repeat;
  -webkit-background-size: 100% auto;
  background-size: 100% auto;
}
.step_flow .step_li .nom {
  width: min(8vw, 58px);
  height: auto;
  margin-right: min(3.2vw, 24px);
  position: absolute;
  top: 0;
  left: 0;
}
.step_flow .step_li .point {color: #e7211a;}

#main .free_block .step_flow .txt {
  font-size: clamp(2rem, 5.21vw, 4rem);
  font-weight: bold;
  margin-left: min(11.2vw, 90px);
  margin-bottom: min(4vw, 30px);
}
.exchange_wrap.__01 {margin-bottom: min(12vw, 100px);}

.exchange_wrap .date {
  width: min(78.666vw, 590px);
  margin: auto;
}
.exchange_wrap .date.bd {
  border-bottom: 2px dashed #df0716;
  padding-bottom: min(5.6vw, 42px);
  margin-bottom: min(7.2vw, 54px);
}
.exchange_wrap .date picture img {
  padding: 0;
  margin: 0;
  display: block;
}
#main .free_block .exchange_wrap .kome01 {
  font-size: clamp(1.8rem, 4.688vw, 3.6rem);
  font-weight: bold;
  width: min(80vw, 600px);
  margin: auto;
  position: relative;
}
.exchange_wrap .kome01 em {
  color: #e7211a;
  font-style: normal;
}
#main .free_block .exchange_wrap .exchange_h4,
#main .free_block .exchange_wrap .exchange_h5 {
  color: #000;
  font-size: clamp(1.8rem, 4.688vw, 3.6rem);
  display: flex;
  align-items: center;
  width: 100%;
  border-bottom: 2px solid #e7211a;
  margin-bottom: min(3.2vw, 24px);
  padding-bottom: min(1vw, 7.5px);
}
.exchange_wrap .floor {
  width: min(8vw, 60px);
  height: auto;
  margin: 0;
}
.exchange_wrap .exchange_h4 .floor {margin-right: min(2.6vw, 20px);}
.exchange_wrap .not_exchange .floor {margin-right: min(1.3vw, 10px);}
#main .free_block .exchange_wrap .txt_cmt,
#main .free_block .exchange_wrap .not_exchange {
  font-size: clamp(1.8rem, 4.688vw, 3.6rem);
}

#main .free_block .exchange_wrap .not_exchange {
  display: flex;
  align-items: center;
  margin: 0 min(1.3vw, 10px) 0 0;
}
.exchange_wrap.__03,
.exchange_wrap.__03 .txt_wrap {
  display: flex;
  flex-wrap: wrap;
}
#main .free_block .exchange_wrap .txt_cmt,
.exchange_wrap.__03,
#garapon .btn_lotto {margin-bottom: min(10vw, 90px);}

@media screen and (min-width:641px) {
  #garapon .read {margin-bottom: 50px;}
}
@media screen and (min-width:768px) {
  #main .free_block #garapon ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  #garapon .prize_li {margin: 0;}
  #garapon .prize_li#prize01,
  #garapon .prize_li#prize02,
  #garapon .prize_li#prize03 {margin-bottom: 15px;}

  #garapon .prize_li#prize01 {width: min(34.5%, 414px);}
  #garapon .prize_li#prize02 {width: min(30.1666%, 362px);}
  #garapon .prize_li#prize03 {width: min(25.666%, 308px);}
  #garapon .prize_li#prize04 {width: min(36.333%, 436px);}
  #garapon .prize_li#prize05 {width: min(19.5%, 234px);}
  #garapon .prize_li#prize06 {width: min(35%, 420px);}
  
  #garapon .prize_li#prize01 .award {
    width: min(9.5vw, 114px);
    top: -24px;
    left: 4px;
  }
  #garapon .prize_li#prize02 .award,
  #garapon .prize_li#prize03 .award {
    width: min(8.333vw, 100px);
    top: -18px;
    left: -6px;
  }
  #garapon .prize_li#prize04 .award,
  #garapon .prize_li#prize05 .award {
    width: min(6.5vw, 78px);
    top: -14px;
    left: -4px;
  }
  #garapon .txt_sml {
    font-size: min(1.692vw, 1.3rem);
    width: 100%;
    margin-bottom: 60px;
  }
  .period_dl {
    width: min(72.5vw, 870px);
    margin: 0 auto 40px;
  }
  .period_dt {
    font-size: min(2.345vw, 1.8rem);
    /*width: min(10.8vw, 130px);*/
    width: 130px;
    border-radius: 4px;
    margin-bottom: 0;
  }
  .period_dd {
    display: flex;
    text-align: left;
    align-items: center;
  }
  .period_dd .img_date {
    height: min(2.666vw, 32px);
    margin-bottom: 0;
    margin-left: min(1.666vw, 20px);
  }
  #main .free_block .flow_h3 {
    font-size: min(3.386vw, 2.6rem);
    width: min(72.5vw, 870px);
    margin: 0 auto 12px;
  }
  .step_flow {
    width: min(72.5vw, 870px);
    
  }
  .exchange_wrap {
    display: flex;
    width: min(72.5vw, 870px);
    margin: auto;    
  }
  .exchange_wrap.__02,
  .exchange_wrap.__03 {
    flex-wrap: wrap;
    align-items: flex-start;
  }
  .exchange_wrap.__01 {margin-bottom: 35px;}
  .exchange_wrap.__02 {margin-bottom: 10px;}

  #main .free_block .exchange_h3 {
    font-size: min(2.345vw, 1.8rem);
    /*width: min(10.8vw, 130px);*/
    width: 130px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    margin-bottom: 0;
    margin-right: 30px;
  }
  .exchange_wrap .txt_wrap {
    width: calc(100% - 130px);
  }
  .exchange_wrap .date {
    width: min(100%, 640px);
  }
  .exchange_wrap .date.bd {
    padding-bottom: 10px;
    margin-bottom: 15px;
    border-bottom: 2px solid #df0615;
  }
  #main .free_block .exchange_wrap .kome01 {
    font-size: min(1.692vw, 1.3rem);
    padding-left: min(4vw, 20px);
  }
  .exchange_wrap .kome01::before {
    content: '';
    display: block;
    background-color: #000;
    width: min(1vw, 10px);
    height: min(1vw, 10px);
    border-radius: 50%;
    position: absolute;
    left: .6em;
    top: .6em;
  }
  .exchange_wrap .floor {width: min(2.5vw, 30px);}
  .exchange_wrap .exchange_h4 .floor,
  .exchange_wrap .not_exchange .floor {margin-right: min(1vw, 12px);}

  #main .free_block .exchange_wrap .exchange_h4,
  #main .free_block .exchange_wrap .exchange_h5{
    font-size: min(1.692vw, 1.3rem);
    border-bottom: none;
    padding: 0;
    margin: 0;
  }
  #main .free_block .exchange_wrap .exchange_h4::after {content: '：';}
  #main .free_block .exchange_wrap .exchange_h4 {width: 10em;}
  #main .free_block .exchange_wrap .exchange_h5 { width: 9em;}

  #main .free_block .exchange_wrap .txt_cmt,
  #main .free_block .exchange_wrap .not_exchange {
    font-size: min(1.692vw, 1.3rem);
    margin-bottom: 0;
  }
  #main .free_block .exchange_wrap .txt_cmt,
  #main .free_block .exchange_wrap .txt_wrap {width: calc(100% - 10em);}

  .exchange_wrap.__03,
  #garapon .btn_lotto {margin-bottom: min(6vw, 75px);}
}
@media screen and (min-width:980px) {
  #main .free_block .exchange_h3,
  .period_dt {
    font-size: min(2.865vw, 2.1rem);
  }
  .step_flow {display: flex;}
  .step_flow .step_li.stp01,
  .step_flow .step_li.stp02 {
    padding-bottom: 0;
    margin-bottom: 0;
    padding-right: min(6.25vw, 75px);
    background: url(../images/winter_fair2023/cnt1/line-pc.svg) 95% 0 no-repeat;
    -webkit-background-size: auto 100%;
    background-size: auto 100%;
  }
  .step_flow .step_li.stp01{width: min(25.8333vw, 310px);}
  .step_flow .step_li.stp02,
  .step_flow .step_li.stp03 {width: min(22.833vw, 274px);}

  .step_flow .step_li .nom {
    width: min(3.5vw, 42px);
  }
  #main .free_block .step_flow .txt {
    font-size: min(1.956vw, 1.5rem);
    margin-left: min(4.5833vw, 60px);
    margin-bottom: 10px;
  }
  #main .free_block .exchange_wrap .kome01,
  #main .free_block .exchange_wrap .exchange_h4,
  #main .free_block .exchange_wrap .exchange_h5,
  #main .free_block .exchange_wrap .txt_cmt,
  #main .free_block .exchange_wrap .not_exchange {font-size: min(2.085vw, 1.6rem);}
  .exchange_wrap .kome01::before {
    left: .3em;
    top: .5em;
  }
}
@media screen and (min-width:1200px) {
  #main .free_block .step_flow .txt {
    font-size: min(2.345vw, 1.8rem);
  }
}
@media screen and (min-width:1201px) {
  #garapon .prize_li#prize01 {width: min(34.5vw, 414px);}
  #garapon .prize_li#prize02 {width: min(30.1666vw, 362px);}
  #garapon .prize_li#prize03 {width: min(25.666vw, 308px);}
  #garapon .prize_li#prize04 {width: min(36.333vw, 436px);}
  #garapon .prize_li#prize05 {width: min(19.5vw, 234px);}
  #garapon .prize_li#prize06 {width: min(35vw, 420px);}
}

@media screen and (max-width:640px) {
}
@media screen and (max-width:480px) {
}


/* happy */
/*********************/
/*shop list*/
#main .free_block .shop_list {
  list-style: none;
  margin-left: 0;
  margin-bottom: min(2vw, 15px);
}
#main .free_block .shop_li {
  margin-bottom: min(10.666vw, 80px);
}
#main .free_block .shop_list .h3_shop {
  background-color: #fff;
  padding: 0;
}
#main .free_block .shop_list .txt {
  color: #000;
  font-size: clamp(1.8rem, 4.688vw, 3.6rem);
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 10px;
}
#main .free_block .shop_list .txt .sml {font-size: clamp(1.5rem, 3.908vw, 3rem);}
#main .free_block .shop_list .kome {
  font-size: clamp(1.3rem, 3.386vw, 2.6rem);
  margin-bottom: 0;
  text-indent: -1em;
  padding-left: 1em;
}
.shop_li .txt .bd {
  border: 1px solid #000;
  display: inline-block;
  margin-bottom: 5px;
}

#main .free_block .shop_li .flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
#main .free_block .txt_img {margin-bottom: 0;}

.shop02 .img02 {
  width: min(44.8vw, 336px);
  display: block;
  margin: auto;
}
.shop03 .img03 {width: min(38vw, 240px);}
.shop03 .txt_wrap {width: min(42vw, 330px);}
.shop05 .img05 {
  width: min(45.333vw, 340px);
  display: block;
  margin: 10px auto 0;
}
.shop06 .img06 {
  width: min(22.666vw, 170px);
  display: block;
  margin: 10px auto 0;
}
.shop08 .img08 {
  /*width: min(32vw, 240px);*/
  /*margin-right: min(6vw, 45px);*/
  display: block;
  width: min(52vw, 300px);
  margin: 10px auto 0;
}
#main .free_block .shop_li.shop09 .flex,
#main .free_block .shop_li.shop11 .flex{align-items: flex-end;}
.shop09 .txt {
  width: min(17.333vw, 130px);
  padding-bottom: 10px;
}
.shop09 .shop_txt {
  width: min(70vw, 520px);
}

@media screen and (min-width:641px) {
  #happy .read {margin-bottom: 40px;}
  #main .free_block .shop_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: min(3.333vw, 40px);
  }
  #main .free_block .shop_li {
    width: min(49%, 360px);
    margin-bottom: min(4.166vw, 50px);
  }
  #main .free_block .shop_list .txt,
  #main .free_block .shop_list .txt .sml {font-size: min(2.606vw, 2rem);}
  #main .free_block .shop_list .kome {font-size: min(2.085vw, 1.6rem);}
  #main .free_block .shop_list .shop_txt {margin-bottom: 5px;}

  .shop02 .img02 {width: min(22vw, 220px);}
  .shop03 .img03 {width: min(13vw, 150px);}
  .shop03 .txt_wrap {width: min(24vw, 190px);}
  .shop05 .img05 {width: min(20vw, 194px);}
  .shop06 .img06 {width: min(10vw, 98px);}
  .shop08 .img08 {
   /* width: min(15vw,154px);*/
    /*margin-right: min(1.2vw, 14px);*/
    width: min(25.3333vw, 220px);
  }
  #main .free_block .shop09 .shop_txt {
    width: min(54vw, 340px);
    margin-bottom: 0;
  }
  #main .free_block .shop09 .txt {margin-bottom: 5px;}
}
@media screen and (min-width:920px) {
  #main .free_block .shop_li {width: min(31.5%, 360px);}
  #main .free_block .shop_list .txt,
  #main .free_block .shop_list .txt .sml {font-size: min(2.085vw, 1.6rem);}
  #main .free_block .shop_list .kome {font-size: min(1.82vw, 1.4rem);}
  /*.shop08 .img08 {width: min(12.833vw,154px);}*/
  #main .free_block .shop09 .shop_txt {width: 350px;}
  .shop09 .txt {width: 95px;}
}
@media screen and (min-width:1201px) {
  #main .free_block .shop_list .txt,
  #main .free_block .shop_list .txt .sml {font-size: min(2.345vw, 1.9rem);}
  #main .free_block .shop_list .kome {font-size: min(2.085vw, 1.6rem);}

}
@media screen and (max-width:640px) {
}
@media screen and (max-width:480px) {
}



/* coupon */
/*********************/
.shop10 .img10 {
  width: min(46vw, 345px);
  display: block;
  margin: 15px auto 0;    
}
.shop11 .img11 {
  width: min(34.666vw, 260px);
  display: block;
  margin: 15px auto 0;    
}
/*.shop11 .shop_txt {
  width: min(55.2vw, 414px);
}*/
.wrap_line {
  padding: min(4vw, 30px) min(5.333vw, 40px);
  margin-bottom: min(9.333vw, 70px);
  background-color: #e1edcd;
  border-radius: 5px;
}
#main .free_block .h3_line {
  padding: 0 2px;
  background: none;
  border-radius: 0;
  border-bottom: 2px solid #3aae36;
}
.h3_line .ttl_img {
  width: 100%;
  height: auto;
}
#main .free_block .line_txt {
  font-size: clamp(1.4rem, 3.644vw, 2.8rem);
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: .6em;
}
#main .free_block .line_kome {
  font-size: clamp(1.6rem, 4.168vw, 3.2rem);
  margin-bottom: 0;
  padding-left: 1em;
  text-indent: -1em;
}
.wrap_line .h4_line,
.wrap_line .line_img {display: none;}

.wrap_line .btn-c {margin-top: min(6vw, 45px);}

@media screen and (min-width:641px) {
  #coupon .read {margin-bottom: 40px;}
  .shop10 .img10 {width: min(28vw, 200px);}
  .shop11 .img11 {width: min(20vw, 145px);}
  #main .free_block #coupon .shop_li,
  #main .free_block #coupon .shop_list {margin-bottom: 0;}
  /*.shop11 .shop_txt {width: min(42vw, 280px);}*/
  /*#main .free_block .shop11 .txt {width: 160px;margin-bottom: 3vw;}*/
}
@media screen and (min-width:768px){
  
  .wrap_line .btn-c {display: none;}
  .wrap_line .h4_line,
  .wrap_line .line_img {display: block;}

  .wrap_line {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: min(85vw, 864px);
    margin: 0 auto 40px;
  }
  .wrap_line .wrap_txt {width: 70%;}
  .wrap_line .wrap_link {width: 25%;}
  .wrap_line .line_img {
    width: min(80%, 126px);
    margin: auto;
  }

  #main .free_block .h3_line {padding: 0 5px;}
  .h3_line .ttl_img {width: min(60vw, 374px);}
  #main .free_block .line_txt,
  #main .free_block .line_kome {font-size: min(2.345vw, 1.8rem);}

  #main .free_block .h4_line {
    color: #fff;
    font-size: min(1.956vw, 1.5rem);
    text-align: center;
    padding: .5em 0;
    margin-bottom: 30px;
    background-color: #3aae36;
    border-radius: 2em;
    position: relative;
  }
  .h4_line::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 9px solid transparent;
    border-left: 9px solid transparent;
    border-top: 16px solid #3aae36;
    border-bottom: 0;
    position: absolute;
    bottom: -16px;
    left: calc(50% - 8px);
  }
}
@media screen and (min-width:980px) {
  .shop11 .shop_txt {width: min(42vw, 320px);}
  /*#main .free_block .shop11 .txt {margin-bottom: 25px;}*/
  .wrap_line .wrap_txt {width: 74%;}
  .wrap_line .wrap_link {width: 20%;}
}
@media screen and (max-width:640px) {
}
@media screen and (max-width:480px) {
}


/* caution */
/**************/
#main .free_block .caution_ttl {
  font-size: clamp(2.3rem, 5.99vw, 4.6rem);
  font-weight: bold;
  text-align: center;
  background: url(../images/winter_fair2023/caution/flow_bk_sp.jpg) 0 0 repeat;
  border-radius: 5px;
  padding: .25em 0 .1em;
  margin: min(7.2vw, 50px) auto min(5.333vw, 40px);
}
#main .free_block .flow_dtl_h3 {
  color: #000;
  font-size: clamp(2.5rem, 6.51vw, 5.0rem);
  background: none;
  padding: 0;
  margin-bottom: min(6vw, 45px);
}
.flow_dtl_h3 em {
  color: #df0615;
  font-style: normal;
}

.step_flow.__caution .step_li.stp01,
.step_flow.__caution .step_li.stp02 {
  background: url(../images/winter_fair2023/arrow02.svg) 50% 100% no-repeat;
  -webkit-background-size: min(9vw, 70px) auto;
  background-size: min(9vw, 70px) auto;
}
.step_flow.__caution .step_li .point2 {color: #32a2d3;}

.step_flow.__caution .step_li .deco {
  display: block;
  margin: auto;
  width: min(65.333vw, 490px);
}
.step_flow.__caution .wp_bd {
  border: 2px solid #000;
  border-radius: min(2vw, 15px);
  margin: min(6.666vw, 50px) auto 0;
  width: min(65.333vw, 490px);
}
@media screen and (min-width:641px) {
  #main .free_block .caution_ttl {
    font-size: min(3.644vw, 2.8rem);
    background: url(../images/winter_fair2023/caution/flow_bk_pc.jpg) 0 0 repeat;
    width: min(80vw, 970px);
    margin: 40px auto 30px;
  }
  .step_flow.__caution,
  .wrap_flow.__01 {
    width: min(80vw, 970px);
    margin: auto;
  }
  #main .free_block .flow_dtl_h3 {
    font-size: min(3.386vw, 2.6rem);
    margin-bottom: 30px;
  }
}
@media screen and (min-width:980px) {
  #main .free_block .step_flow.__caution {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin-bottom: 80px;
  }
  .step_flow.__caution .step_li {
    argin-bottom: 0;
    padding-bottom: 0;
  }
  .step_flow.__caution .step_li .txt {height: 5em;}
  .step_flow.__caution .step_li.stp01,
  .step_flow.__caution .step_li.stp02 {
    background: url(../images/winter_fair2023/arrow01.svg) 100% 50% no-repeat;
    padding: 0 min(4.2vw, 50px) 0 0;
  }
  .step_flow.__caution .step_li .nom {width: min(2.5vw, 30px);}
  #main .free_block .step_flow.__caution .step_li .txt {
    margin-left: min(3.333vw, 40px);
  }
  .step_flow.__caution .step_li.stp03,
  .step_flow.__caution .step_li.stp01 {
    width: min(23.333vw, 280px);
  }
  .step_flow.__caution .step_li.stp02 {
    width: min(27.5vw, 342px);
  }
  .step_flow.__caution .step_li.stp03 .deco,
  .step_flow.__caution .step_li.stp02 .deco {
    width: min(22.9166vw, 275px);
  }
  .step_flow.__caution .wp_bd {
    width: 100%;
    margin-top: 15px;
  }
}

/*exchange*/
.wrap_exchange {
  width: min(100%,760px);
  margin: 0 auto min(10vw, 75px);
}
#main .free_block .wrap_exchange .exch_h4 {
  text-align: center;
  background-color: #fffac3;
  border-radius: 5px;
  padding: min(4vw, 30px);
  margin-bottom: min(8vw, 60px);
}
#main .free_block .wrap_exchange .exch_h5 {
  color: #df0615;
  font-size: clamp(1.8rem, 4.688vw, 3.6rem);
}
#main .free_block .wrap_exchange .txt_l {
  font-size: clamp(2rem, 5.21vw, 4rem);
  font-weight: bold;
  line-height: 1.3;
}
#main .free_block .wrap_exchange .txt_s {
  font-size: clamp(1.3rem, 3.386vw, 2.6rem);
}
#main .free_block .wrap_exchange .txt_s em,
#main .free_block .wrap_exchange .txt_l em {
  color: #df0615;
  font-style: normal;
}
#main .free_block .wrap_exchange .txt_s em.bd {
  border-bottom: 2px dotted #df0615;
  
}
#main .free_block p.mb0 {margin-bottom: 0;}

#main .free_block .exch_ul {
  list-style: none;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: min(12vw, 100px) 0 0 0;
}
.exch_ul .exch_li {
  text-align: left;
  width: min(60vw, 430px);
  height: min(48vw, 360px);
  margin-bottom: min(12vw, 100px);
  border: min(1.4vw, 10px) solid #abd0ef;
  border-radius: min(3.2vw, 24px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
#main .free_block .exch_li .exch_nom {
  width: min(4vw, 30px);
  margin-bottom: min(4vw, 30px);
}
#main .free_block .exch_li .txt {
  font-size: clamp(1.8rem, 4.688vw, 3.6rem);
  width: min(40vw, 290px);
  margin: 0;
}

@media screen and (min-width:768px) {
  .wrap_exchange {margin-bottom: 50px;}
  .wrap_exchange .flex {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
  }
  .wrap_exchange .wrap_dtl.__01,
  .wrap_exchange .wrap_dtl.__02 {
    width: 48%;
  }
  #main .free_block .wrap_exchange .exch_h4 {
    padding: 14px 0 10px;
    margin-bottom: 20px;
  }
  #main .free_block .wrap_exchange .exch_h5 {
    font-size: min(2.606vw, 2rem);
  }
  #main .free_block .wrap_exchange .txt_l {
    font-size: min(2.865vw, 2.2rem);
  }
  #main .free_block .wrap_exchange .txt_s {
    font-size: min(2.085vw, 1.6rem);
  }
  #main .free_block .exch_ul {
    justify-content: space-between;
    margin: 40px 0 0 0;
  }
  #main .free_block .exch_li .exch_nom {
    width: 18px;
    margin-bottom: 20px;
  }
  .exch_ul .exch_li {
    justify-content: flex-start;
    width: min(31%, 220px);
    height: min(24vw, 180px);
    padding-top: 25px;
    border-width: 5px;
    margin-bottom: 25px;
  }
  #main .free_block .exch_li .txt {
    font-size: min(2.085vw, 1.6rem);
    width: 150px;
  }
}

/*contact*/
.wrap_contact {
  width: min(100%,760px);
  margin: auto;
}
.wrap_contact .wrap_ttl {
  text-align: center;
  width: 100%;
  padding: min(6.666vw, 50px) 0;
  margin: 0 auto min(4vw, 30px);
  background: url(../images/winter_fair2023/caution/contact_bk-sp.jpg) 0 0 repeat;
  border-radius: min(1.6vw, 12px);
}
#main .free_block .cont_h4 {
  color: #000;
  font-size: clamp(2.3rem, 5.73vw, 4.4rem);
  margin: 0;
  line-height: 1.4;
}
#main .free_block .cont_h4 a {color: #df0615;}
#main .free_block .wrap_ttl .txt {
  font-size: clamp(1.8rem, 4.688vw, 3.6rem);
  font-weight: bold;
  margin: 0;
}
#main .free_block .inl_wrap .kome {
  font-size: clamp(1.2rem, 3.126vw, 2.4rem);
  display: inline;
  margin: 0;
  text-indent: 0;
  padding-left: 0;
}

@media screen and (min-width:768px) {
  .wrap_contact .wrap_ttl {
    padding: 20px 0;
    max-width: 520px;
  }
  #main .free_block .wrap_ttl p {margin-bottom: 0;}
  #main .free_block .cont_h4 {font-size: min(2.606vw, 2rem);}
  #main .free_block .wrap_ttl .txt {font-size: min(2.085vw, 1.6rem);}
  #main .free_block .inl_wrap .kome {font-size: min(1.82vw, 1.4rem);}
}