@charset "UTF-8";


/* 予約用アイテム */
.main .i_cart_icon.ver_coming{
  color: #fff; background-color: #0e6eb8; width: 100%;
}
.main .i_cart_icon.ver_soldout.i_yoyaku_elm{
  width: min(100%,8em); padding: 0.25em 0.25em;
}
.main .i_cart_icon.ver_yoyaku{
  color: #7cc9e3; background-color: #fff;
  border-style: solid; border-color: #7cc9e3; border-width: 1px;
}

/* 時限切換え　カミングスーンからカート　*/
/* is_release_beforeの時だけ表示 */
.branch_icon_area{
  display: none;
}
body:has(.is_release_before) .branch_icon_area{
  display: flex; justify-content: center;
}
.branch_icon_coming{
  color: #fff; background-color: #0e6eb8; padding: 0 1em;
}
/* is_release_beforeの時だけ非表示 */
body:has(.is_release_before) .branch_main_area{
  display: none;
}

/* priceの表示、非表示 */
.branch_price_before{
  display: none;
}
body:has(.is_release_before) .branch_price_before{
  display: block;
}
body:has(.is_release_before) .branch_price_after{
  display: none;
}

.main img{
  vertical-align: top;
}
.main .bg01{
  background-image: url(../img/bg01.webp);
  background-size: calc(39/768*100%);
  background-position: center top;
}
.main .bg02{
  background-image: url(../img/bg02.webp);
  background-size: calc(37/768*100%);
  background-position: center top;
}
.main .bg03{
  background-image: url(../img/bg03.webp);
  background-size: calc(37/768*100%);
  background-position: center top;
}
.main .bg04{
  background-image: url(../img/bg04.webp);
  background-size: calc(37/768*100%);
  background-position: center top;
}
.main .bg05{
  background-image: url(../img/bg05.webp);
  background-size: calc(37/768*100%);
  background-position: center top;
}
.main .bg11{
  background-color: #231714;
}
.main .bg12{
  background-color: #8ccdf3;
}
.main .bg13{
  background-color: #009edb;
}
.main .bg14{
  background-color: #c6e7f9;
}
.main .color01{
  color: #058abd;
}
.main .bar01,
.main .bar02{
  width: calc(724/768*100%); margin: 0 auto;
}


.main .pdt1px{
  padding-top: 1px;
}
.main .pdt005{
  padding-top: 0.5%;
}
.main .mgt005{
  margin-top: 0.5%;
}
.main .shrink0{
  flex-shrink: 0;
}

.main .lh18{
  line-height: 1.8;
}
.main .right_adjust{
  margin-right: -1em;
}

/* ヘッド */
.main .head{
  overflow: hidden;
}
.main .head_first{
  position: relative; z-index: 0;
}
.main .head_ttl{
  width: calc(746/768*100%);
}
.main .head_butterfly{
  position: absolute; z-index: 1; top: 0; left: 0; width: calc(59/768*100%); margin: 2% 0 0 28.7%;
  pointer-events:none;
  will-change:offset-distance;
  offset-path:circle(calc(20/768*100%) at calc(234/768*100%) calc(47/274*100%));
  offset-rotate:0deg;
  animation:butterflySpin 9s linear infinite;
}
@keyframes butterflySpin{
  0%       { offset-distance:   0%;  animation-timing-function: cubic-bezier(.55,.06,.68,.19);} /* ease-in */
  16.666%  { offset-distance:  calc(50%);  animation-timing-function: cubic-bezier(.16,.84,.44,1);}  /* ease-out */
  33.333%  { offset-distance: calc(100%);  animation-timing-function: cubic-bezier(.55,.06,.68,.19);} /* ease-in */
  50.000%  { offset-distance: calc(150%);  animation-timing-function: cubic-bezier(.16,.84,.44,1);}  /* ease-out */
  66.666%  { offset-distance: calc(200%); } /* 2周完了 */
  100%     { offset-distance: calc(200%); } /* 停止 */
}

.main .head_cat{
  position: absolute; z-index: 1; top: 0; left: 0; width: calc(88/768*100%); margin: 11.3% 0 0 69.3%;
  pointer-events:none;
  will-change:transform,opacity;
  animation:catMove 10s linear infinite;
}
@keyframes catMove{
  0%   { transform: translateY(0); opacity:1; }
  50%  { transform: translateY(0); opacity:1; animation-timing-function:cubic-bezier(.16,.84,.44,1); }
  65%  { transform: translateY(calc(-34.31%*1.2)); opacity:1; animation-timing-function:cubic-bezier(.55,.06,.68,.19); }
  70%  { transform: translateY(calc(-27.01%*1.2)); opacity:1; animation-timing-function:cubic-bezier(.16,.84,.44,1); }
  75%  { transform: translateY(calc(-19.71%*1.2)); opacity:1; animation-timing-function:cubic-bezier(.16,.84,.44,1); }
  80%  { transform: translateY(calc(-34.31%*1.2)); opacity:0; }
  95%  { transform: translateY(0); opacity:0; }
  100% { transform: translateY(0); opacity:1; }
}
.main .head_second{
  position: relative; z-index: 0;
}
.main .head_desc{
  width: calc(749/768*100%); margin: 0 auto;
}
.main .head_alice{
  position: absolute; z-index: 1; top: 0; left: 0; width: calc(145/768*100%); margin: 2% 0 0 1.5%;
  pointer-events:none;
  will-change:transform;
  animation:aliceFloat 10s linear infinite;
}
@keyframes aliceFloat{
  /* 1) 上へ（1s・ease-out） */
  0%   { transform: translateY(0);       animation-timing-function: cubic-bezier(.16,.84,.44,1); }
  10%  { transform: translateY(calc(-26.19%*1.2)); animation-timing-function: cubic-bezier(.55,.06,.68,.19); }
  /* 2) 戻る（1s・ease-in） */
  20%  { transform: translateY(0);       animation-timing-function: cubic-bezier(.16,.84,.44,1); }
  /* 3) 下へ（1s・ease-out） */
  30%  { transform: translateY(calc(27.38%*1.2));  animation-timing-function: cubic-bezier(.16,.84,.44,1); }
  /* 4) 戻る（2s・ease-out） */
  50%  { transform: translateY(0); }
  /* 5) 停止（5s保持） */
  100% { transform: translateY(0); }
}
.main .head_rabbit{
  position: absolute; z-index: 1; bottom: 0; left: 0; width: calc(179/768*100%);
  pointer-events:none;
  will-change:transform;
  animation:rabbitRun 8.5s linear infinite;
}
@keyframes rabbitRun{
  0%       { transform: translateX( calc( -23.307%*4.3 )); animation-timing-function: cubic-bezier(.16,.84,.44,1); }
  23.529%  { transform: translateX( calc( 75.781%*4.3 )); }
  94.118%  { transform: translateX( calc( 75.781%*4.3 )); animation-timing-function: cubic-bezier(.55,.06,.68,.19); }
  100%     { transform: translateX( calc( 100.521%*4.3 )); }
}
.main .head_under{
  position: relative; z-index: 0;
}
.main .head_btn01{
  display: block;
  position: relative; z-index: 2; margin: 0 auto;
  width: calc(395/768*100%);
}
.main .head_btn01_b{
  position: absolute; top: 0; left: 0;
}
.main .head_btn01.active .head_btn01_b{
  opacity: 0;
}
.main .head_topic{
  display: flex; justify-content: center; align-items: center; gap: 0 0.5em;
  position: relative; z-index: 0; font-weight: bold; line-height: 1.5; text-decoration: underline; padding: 0 0 0 1.5em;
}
.main .head_topic::before{
  content: ""; width: 0.5em; height: 0.6em; background-color: #000;
  clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

/* ナビ */
.main .nav_wrap{
  position: relative; z-index: 1;
}
.main .nav{
  position: absolute; z-index: 1; top: 0; width: calc(179/768*100%); cursor: pointer;
}
.main .nav01{ left: calc(11/768*100%); }
.main .nav02{ left: calc(202/768*100%); }
.main .nav03{ left: calc(392/768*100%); }
.main .nav04{ left: calc(581/768*100%); }

.main .nav_img{
  opacity: 0; transition: opacity .2s;
}
.main .nav.selected .nav_img{
  opacity: 1;
}

/* タブ */
.main [data-pagearea]{
  display: none;
}
.main [data-pagearea].selected{
  display: block;
}

/* アコーディオン */
.main .drw_target{
  display: none;
}
.main .drw_btn{
  position: relative; z-index: 1; color: #000; 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: #000; border-width: 1px;
}
.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 #000; 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: #333;
}
.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: #fffffc; padding: calc(30px + 4%) 0 4%;
  border-style: solid; border-color: #d8d7d8; border-width: 0 1px 1px; border-radius: 0 0 10px 10px;
}
.main .drw_target_relative{
  position: relative;
}

/* v02 */
.main .drw_target02{
  display: none;
  position: relative; z-index: 2;
}
.main .drw_target_in02 {
  padding: 1em 1em; margin: 1em 0 0;
  background-color: rgba(255,255,255,0.9);
  background-image: url(../img/head_fig01.webp);
  background-repeat: no-repeat;
  background-position: right 2% bottom;
  background-size: calc(158/768*100%);
}

/* 商品 */
.main .item_ttl{
  position: relative; z-index: 0;
  padding: 0 4%;
}
.main .item_ttl_fig{
  position: absolute; top: 0; right: 0;
}
.main .item_ttl_fig.ver11{ width: calc(271/768*100%); margin: -5% 4% 0 0; }
.main .item_ttl_fig.ver13{ width: calc(255/768*100%); margin: -1% 4% 0 0; }
.main .item_ttl_fig.ver15{ width: calc(326/768*100%); margin: -1% 2% 0 0; }
.main .item_ttl_fig.ver18{ width: calc(99/768*100%); margin: -6% 4% 0 0; }
.main .item_ttl_fig.ver1b{ width: calc(133/768*100%); margin: -5% 4% 0 0; }
.main .item_ttl_fig.ver1d{ width: calc(171/768*100%); margin: -5% 4% 0 0; }

.main .item_ttl_fig.ver21{ width: calc(264/768*100%); margin: 0% 2% 0 0; }
.main .item_ttl_fig.ver24{ width: calc(339/768*100%); margin: -5% 2% 0 0; }
.main .item_ttl_fig.ver26{ width: calc(224/768*100%); margin: -5% 2% 0 0; }

.main .item_ttl_fig.ver31{ width: calc(132/768*100%); margin: -5% 5% 0 0; }
.main .item_ttl_fig.ver34{ width: calc(88/768*100%); margin: -7% 6% 0 0; }
.main .item_ttl_fig.ver36{ width: calc(69/768*100%); margin: -5% 6% 0 0; }
.main .item_ttl_fig.ver38{ width: calc(107/768*100%); margin: -5% 8% 0 0; }
.main .item_ttl_fig.ver3a{ width: calc(76/768*100%); margin: -7% 1% 0 0; }
.main .item_ttl_fig.ver3b{ width: calc(87/768*100%); margin: -4% 5% 0 0; }

.main .item_ttl_fig.ver41{ width: calc(132/768*100%); margin: -4% 5% 0 0; }

.main .item_name{
  display: flex; align-items: center; justify-content: space-between;
  font-weight: bold;
}

.main .item_fig{
  display: block;
}
.main .item_fig.ver11{ width: min( calc(366/768*100vw), 366px, 100%); margin: 4% auto 0; }
.main .item_fig.ver13{ width: min( calc(268/768*100vw), 268px, 100%); margin: 4% auto 0; }
.main .item_fig.ver15{ width: min( calc(252/768*100vw), 252px, 100%); margin: 4% auto 0; }
.main .item_fig.ver18{ width: min( calc(252/768*100vw), 252px, 100%); margin: 4% auto 0; }
.main .item_fig.ver1b{ width: min( calc(351/768*100vw), 351px, 100%); margin: 4% auto 0; }
.main .item_fig.ver1d{ width: min( calc(336/768*100vw), 336px, 100%); margin: 4% auto 0; }

.main .item_fig.ver21{ width: min( calc(259/768*100vw), 259px, 100%); margin: 4% auto 0; }
.main .item_fig.ver24{ width: min( calc(209/768*100vw), 209px, 100%); margin: -15% auto 0; }
.main .item_fig.ver26{ width: min( calc(282/768*100vw), 282px, 100%); margin: 4% auto 0; }
.main .item_fig.ver28{ width: min( calc(305/768*100vw), 305px, 100%); margin: 4% auto 0; }
.main .item_fig.ver2a{ width: min( calc(217/768*100vw), 217px, 100%); margin: 4% auto 0; }

.main .item_fig.ver41{ width: min( calc(321/768*100vw), 321px, 100%); margin: 4% auto 0; }


.main .item_col.ver01{
  display: grid; grid-template-columns: repeat(2,1fr);
  position: relative; z-index: 0;
}
.main .item_col.ver01::after{
  content: ""; position: absolute; top: 0; right: 0; left: 0;
  width: 1px; height: 100%; background-color: #8ccdf3; margin: 0 auto;
}
.main .item_bar.ver01{
  grid-column-end: span 2;
  height: 1px; background-color: #8ccdf3; margin: 3% 0;
}

.main .item_col.ver02{
  display: grid; grid-template-columns: repeat(3,1fr);
  position: relative; z-index: 0;
}
.main .item_col.ver02::before,
.main .item_col.ver02::after{
  content: ""; position: absolute; top: 0; width: 1px; height: 100%; background-color: #8ccdf3;
}
.main .item_col.ver02::before{
   left: 33.3%;
}
.main .item_col.ver02::after{
   right: 33.3%;
}
.main .item_bar.ver02{
  grid-column-end: span 3;
  height: 1px; background-color: #8ccdf3; margin: 3% 0;
}

.main .item_cart{
  margin: 1em 0 0;
}

@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 .item_box{
  display: grid; align-items: center;
}
.main .item_box.ver2c{ grid-template-columns: calc(313/768*100%) calc(425/768*100%); justify-content: center; gap: 0 2% }
.main .item_box.ver2d{ grid-template-columns: calc(395/768*100%) calc(333/768*100%); justify-content: end; gap: 0 }
.main .item_box.ver2e{ grid-template-columns: calc(431/768*100%) calc(303/768*100%); justify-content: start; gap: 0 3% }

.main .item_box.ver31{ grid-template-columns: calc(281/768*100%) calc(352/768*100%); justify-content: end; gap: 0 9%; }
.main .item_box.ver32{ grid-template-columns: calc(385/768*100%) calc(266/768*100%); justify-content: start; gap: 0 4%; }
.main .item_box.ver33{ grid-template-columns: calc(279/768*100%) calc(350/768*100%); justify-content: end; gap: 0 9%; }
.main .item_box.ver34{ grid-template-columns: calc(457/768*100%) calc(268/768*100%); justify-content: start; gap: 0; }
.main .item_box.ver35{ grid-template-columns: calc(285/768*100%) calc(392/768*100%); justify-content: end; gap: 0 6%; }
.main .item_box.ver36{ grid-template-columns: calc(380/768*100%) calc(242/768*100%); justify-content: start; gap: 0 10%; }
.main .item_box.ver37{ grid-template-columns: calc(184/768*100%) calc(390/768*100%); justify-content: end; gap: 0 12%; }
.main .item_box.ver38{ grid-template-columns: calc(400/768*100%) calc(279/768*100%); justify-content: start; gap: 0 4%; }
.main .item_box.ver39{ grid-template-columns: calc(184/768*100%) calc(390/768*100%); justify-content: end; gap: 0 12%; }
.main .item_box.ver3a{ grid-template-columns: calc(410/768*100%) calc(285/768*100%); justify-content: start; gap: 0 4%; }
.main .item_box.ver3b{ grid-template-columns: calc(260/768*100%) calc(405/768*100%); justify-content: end; gap: 0 7%; }


.main .item_box_ttl{
  display: flex; align-items: center;
}
.main .item_box_desc{
  font-weight: bold; line-height: 1.8; margin: 0.75em 0 0;
}

.main .item_box.ver2e .item_box_left{
  margin: 6% 0 0;
}
.main .item_box.ver2e .item_box_right{
  position: relative; z-index: 1;
  margin-left: -30%;
}
.main .item_box.ver2e .item_cart{
  margin-left: 20% !important;
}
.main .item_box.ver31 .item_box_right{ margin-right: 6%; }
.main .item_box.ver32 .item_box_left{ margin-left: 9%; }
.main .item_box.ver33 .item_box_right{ margin-right: 6%; }
.main .item_box.ver34 .item_box_left{ margin-left: 8%; }
.main .item_box.ver35 .item_box_right{ margin-right: 6%; }
.main .item_box.ver36 .item_box_left{ margin-left: 8%; }
.main .item_box.ver37 .item_box_right{ margin-right: 6%; }
.main .item_box.ver38 .item_box_left{ margin-left: 8%; }
.main .item_box.ver39 .item_box_right{ margin-right: 6%; }
.main .item_box.ver3a .item_box_left{ margin-left: 8%; }
.main .item_box.ver3a .item_box_right{ margin-top: 12%; }

.main .item3b_sub{ width: calc(88/768*100%); margin: 0 0 0 4%; }


.main .totop_wrap{
  display: flex; justify-content: flex-end; margin: 0 4% 0 0;
}
.main .totop{
  display: flex; align-items: center; gap: 0 0.3em;
  color: #C4007F; cursor: pointer;
  border-style: solid; border-color: #C4007F; border-width: 0 0 1px;
}
.main .totop::before{
  content: ""; width: 1em; height: 0.75em; background-color: #C4007F;
  clip-path: polygon(50% 0%, 0% 100%, 100% 100%);
}


/* サイズ等 */
.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;
}