@charset "UTF-8";

/* 時限切換え　*/
.branch_icon_area{
  display: flex; justify-content: center;
}
body:has(.is_release_before):has(.is_platinum) .branch_icon_area{
  display: none;
}
body:has(.is_release_after) .branch_icon_area{
  display: none;
}

.branch_icon_coming{
  color: #fff; line-height: 1.1; background-color: #0e6eb8; text-align: center; padding: 0.3em 1em;
  font-size: min(calc(24/768*100vw), 16px)
}
.branch_main_area{
  display: none;
}
body:has(.is_release_before):has(.is_platinum) .branch_main_area{
  display: block;
}
body:has(.is_release_after) .branch_main_area{
  display: block;
}

/* priceの表示、非表示 */
/* 今回例外あり */
body:has(.is_release_before) .branch_price_before{
  display: none;
}
body:has(.is_release_after) .branch_price_before{
  display: none;
}
.branch_price_after{
  display: none;
}
body:has(.is_release_before) .branch_price_after{
  display: block;
}
body:has(.is_release_after) .branch_price_after{
  display: block;
}

/* 共通　*/
.main img{
  vertical-align: top;
}
.main .bg01{
  background-color: #70b9bb;
}
.main .bg02{
  background-image: url(../img/bg01.webp);
  background-size: cover;
}
.main .bg03{
  background-image: linear-gradient(to bottom, #fff, #d8f5f5);
}


.main .color01{
  color: #325c5c;
}
.main .color02{
  color: #3a444a;
}

.main .pdt1px{
  padding-top: 1px;
}
.main .pdt005{
  padding-top: 0.5%;
}
.main .mgt005{
  margin-top: 0.5%;
}
.main .shrink0{
  flex-shrink: 0;
}
.main .relative{
  position: relative; z-index: 0;
}
.main .lh18{
  line-height: 1.8;
}

.main .text_stroke{
  -webkit-text-stroke: 0.2em #fff;
  text-stroke: 0.2em #fff;
  paint-order: stroke;
}

/* ヘッド */
.main .head{
  position: relative; z-index: 0;
}
.main .nav{
  position: absolute; z-index: 1; bottom: 0; width: calc(364/768*100%); cursor: pointer;
}
.main .nav01{ left: calc(13/768*100%); }
.main .nav02{ left: calc(391/768*100%); }

.main .nav{
  opacity: 0; transition: opacity .2s;
}
.main .nav.selected{
  opacity: 1;
}
/* タブ */
.main [data-pagearea]{
  display: none;
}
.main [data-pagearea].selected{
  display: block;
}

/* 商品名 */
.main .item_head{
  position: relative; z-index: 0;
}
.main .item_head.ver11{ width: calc(741/768*100%); margin: 0 0 0 2%; }
.main .item_head.ver21{ width: calc(741/768*100%); margin: 0 0 0 2%; }

.main .item_like{
  position: absolute; z-index: 1; top: 0; left: 0; 
}
.main .item_like.ver11{ margin: -1% 0 0 66%; }
.main .item_like.ver21{ margin: -1% 0 0 60%; }

.main .item11_desc{ 
  position: relative; z-index: 0;
  width: calc(741/768*100%); margin: 0 auto;
}
.main .item11_gif{
  position: absolute; z-index: 1; top: 0; left: 0;
  width: calc(177/768*100%); margin: 28% 0 0 38%;
}
.main .item21_desc{
  width: calc(729/768*100%); margin: 0 auto;
}
.main .btn01{
  display: block; width: calc(673/768*100%); margin: 0 auto;
}


/* 説明 */
.main .slide01{
  width: min( calc(690/768*100vw), 690px); margin: 0 auto;
}

/* 使用手順 */
.main .instr_ttl{
  color: #fff; font-weight: bold; text-align: center; background-color: #7cd1d2; padding: 0.2em 0;
}
.main .instr_fig{
  width: min(calc(694/768*100vw), 694px); margin: 0 0 0 5%;
}

/* 使い方 */
.main .how{

}
.main .how_ttl{
  font-family: var(--font-family); font-size: min(calc(36/768*100vw), 36px); color: #325c5c; line-height: 1; padding: 0 0 0.2em; margin: 0 0 0.5em;
  border-style: solid; border-color: #325c5c; border-width: 0 0 2px;
}
.main .how_text{
  color: #1c3737;
}




/* セット */
.main .set_wrap{
  background-color: #b5ceeb; padding: min(calc(10/768*100vw), 10px);
  border-radius: min(calc(15/768*100vw), 15px);
}
.main .set_row{
  display: grid; grid-template-columns: min(calc(282/768*100vw), 282px) 1fr; justify-content: end; align-items: center; gap: 0 4%;
  background-color: #fff; border-radius: min(calc(10/768*100vw), 10px);
}
.main .set_right{
  margin: 0 4% 0 0;
}

/* 限定 */
.main .limited_row{
  display: grid; grid-template-columns: 1fr min(calc(432/768*100vw), 432px); gap: 0 2%;
  padding: 3% 2% 3% 3%;
  background-image: url(../img/limited_bg.webp);
  background-size: cover;
}
.main .limited_left{
  flex-shrink: 0;
  width: min( calc(295/768*100vw), 295px);
}
.main .limited_right{
  flex-grow: 1;
  margin: 0 3%;
}
.main .limited_desc{
  grid-column-end: span 2;
  width: min( calc(708/768*100vw), 708px); margin: 0 auto;
}

/* カート調整 */
.main .i_cart_icon{
  font-size: min(calc(24/768*100vw), 16px)
}

/* @media screen and ( max-width : 767px) {
  .main .item_cart .i_cart101_btn.ver_cq,
  .main .item_cart .i_cart101_btn.ver_cq_seibun{
    width: 40px;
  }
  .main .item_cart .i_cart101_btn{
    height: 40px;
  }
  .main .item_cart select{
    padding-left: 10px;
  }
} */


.main .drw_target{
  display: none;
}
.main .drw_btn{
  position: relative; z-index: 1; color: #2f9b9b; font-weight: bold; background-color: #fff; padding: 0.8em 2.75em 0.8em 1em; border-radius: 10px; margin: 5% 3% 0; cursor: pointer;
  border-style: solid; border-color: #70b9bb; border-width: 2px;
}
.main .drw_btn.ver02{
  padding: 0.3em 2.75em 0.3em 1em;
}
.main .drw_btn_icon{
  position: absolute; top: 0; bottom: 0; right: 1em;
  width: 1.5em; height: 1.5em; border: 2px solid #325c5c; background-color: #fff;  margin: auto;
}
.main .drw_btn_icon::before,
.main .drw_btn_icon::after{
  content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; background: #325c5c;
}
.main .drw_btn_icon::before{
  width: 1em; height: 0.2em;
}
.main .drw_btn_icon::after{
  width: 0.2em; height: 1em;
}
.main .active .drw_btn_icon::after{
  display: none;
}
.main .drw_target{
  display: none;
  position: relative; z-index: 0; top: -30px; margin: 0 3% -30px;
}
.main .drw_target.open{
  display: block;
}
.main .drw_target_in{
  background-color: #fff; padding: calc(30px + 4%) 0 4%;
  border-style: solid; border-color: #70b9bb; border-width: 0 1px 1px; border-radius: 0 0 10px 10px;
}
.main .drw_target_relative{
  position: relative;
}

/* サイズ等 */
/* .main .item_note{
  display: flex; flex-direction: column; gap: 1em 0;
  position: relative; z-index: 1;
  line-height: 1.8; margin: 0 3%;
  border-radius: 1em 1em;
}
.main .item_note_row{
  display: flex; align-items: flex-start; gap: 0.5em 1em;
}
.main .item_note_row02{
  display: flex; align-items: flex-start;
}
.main .item_note_l{
  flex-shrink: 0;
  width: 5em; text-align: center; background-color: #fff; margin: -0.1em 0 0;
  border-style: solid; border-color: #d2d2d2; border-width: 1px 1px;
}
.main .item_note_l02{
  flex-shrink: 0;
}
.main .item_note_r{
  display: flex; flex-wrap: wrap; gap: 0 1em;
} */