@charset "UTF-8";
/*! ==================================================
 * 説明    : ベースの設定
 * ================================================== */
html{
  font-size:62.5%;
}

body{
  word-wrap:break-word;
}

aside,body,footer,main{
  position:relative;
  z-index:1;
}

img,svg{
  height:auto;
  max-width:100%;
  vertical-align:middle;
}

body,html{
  height:100%;
}

body{
  display:flex;
  flex-direction:column;
}

main{
  flex:1 0 auto;
}

:root{
  --c-icon-cart:#fff;
  --easing-cart:all 0.3s ease-in-out;
  --c-button-cart:#fff;
  --bc-button-cart:#fff;
  --c-button-detail:#fff;
  --bc-button-detail:#fff;
  --c-close:#fff;
  --bc-close:#eb0000;
  --c-disabled:#fff;
  --bc-disabled:#737373;
  --slick-icon-play:#000;
  --slick-icon-pause:#000;
  --select2-color:#000;
  --select2-background-color:#f7f7f7;
  --select2-border-color:#000;
  --select2-arrow-color:#000;
}

/*! ==================================================
 * 説明    : iconmoonを利用したカスタムアイコン
 * 使い方  :
 * HTML -> <span class="icon-mark-circle"></span>
 * HTML Entity -> &#xe917;
 *
 * 注意    : SNSブランドロゴのカラー設定は制約あるので要確認
 * ================================================== */
@font-face{
  font-display:block;
  font-family:icomoon;
  font-style:normal;
  font-weight:400;
  src:url(../icons/icomoon.eot?dg7aji);
  src:url(../icons/icomoon.eot?dg7aji#iefix) format("embedded-opentype"), url(../icons/icomoon.ttf?dg7aji) format("truetype"), url(../icons/icomoon.woff?dg7aji) format("woff"), url(../icons/icomoon.svg?dg7aji#icomoon) format("svg");
}
[class*=" icon-"],[class^=icon-]{
  font-family:icomoon !important;
  speak:never;
  font-style:normal;
  font-variant:normal;
  font-weight:400;
  line-height:1;
  text-transform:none;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.icon-mark-circle:before{
  content:"\e917";
}

.icon-mark-diamond:before{
  content:"\e918";
}

.icon-mark-square:before{
  content:"\e919";
}

.icon-theater1:before{
  content:"\e91a";
}

.icon-theater2:before{
  content:"\e91b";
}

.icon-theater3:before{
  content:"\e91c";
}

.icon-arrow-left:before{
  content:"\e900";
}

.icon-arrow-right:before{
  content:"\e901";
}

.icon-backward:before{
  content:"\e902";
}

.icon-cart:before{
  content:"\e903";
}

.icon-close:before{
  content:"\e904";
}

.icon-exclamation1:before{
  content:"\e905";
}

.icon-exclamation2:before{
  content:"\e906";
}

.icon-exclamation3:before{
  content:"\e907";
}

.icon-exclamation4:before{
  content:"\e908";
}

.icon-exclamation5:before{
  content:"\e909";
}

.icon-exclamation6:before{
  content:"\e90a";
}

.icon-external1:before{
  content:"\e90b";
}

.icon-external2:before{
  content:"\e90c";
}

.icon-facebook:before{
  content:"\e90d";
}

.icon-forward:before{
  content:"\e90e";
}

.icon-line:before{
  content:"\e90f";
}

.icon-line2:before{
  content:"\e910";
}

.icon-menu:before{
  content:"\e911";
}

.icon-pause:before{
  content:"\e912";
}

.icon-play:before{
  content:"\e913";
}

.icon-x:before{
  content:"\e914";
}

.icon-x2:before{
  content:"\e915";
}

.icon-images:before{
  content:"\e916";
}

.icon-spinner:before{
  content:"\e980";
}

.icon-play2:before{
  content:"\ea15";
}

.icon-pause2:before{
  content:"\ea16";
}

.icon-arrow-up-left2:before{
  content:"\ea39";
}

.icon-arrow-up2:before{
  content:"\ea3a";
}

.icon-arrow-up-right2:before{
  content:"\ea3b";
}

.icon-arrow-right2:before{
  content:"\ea3c";
}

.icon-arrow-down-right2:before{
  content:"\ea3d";
}

.icon-arrow-down2:before{
  content:"\ea3e";
}

.icon-arrow-down-left2:before{
  content:"\ea3f";
}

.icon-arrow-left2:before{
  content:"\ea40";
}

.icon-circle-up:before{
  content:"\ea41";
}

.icon-circle-right:before{
  content:"\ea42";
}

.icon-circle-down:before{
  content:"\ea43";
}

.icon-circle-left:before{
  content:"\ea44";
}

.icon-instagram:before{
  content:"\ea92";
}

.icon-youtube:before{
  content:"\ea9d";
}

.icon-youtube2:before{
  content:"\ea9e";
}

/*! ==================================================
 * 説明    :
 * A-onSTOREカートイン周りのコンポーネント
 *(セレクトボタン・個別ボタン・まとめてボタン)
 * ================================================== */
/*! セレクトボタン */

.add_check,.cartadd.cartadd--no-single .add_label[for^=checkbox_]{
  display:none;
}

/*! 在庫なし（非活性化）ボタン ※シンブルカートのみ　 */
.cart_btn{
  position:relative;
}

.cart_btn.cart_disabled,.cart_btn[disabled]{
  pointer-events:none;
}
.cart_btn.cart_disabled:after,.cart_btn[disabled]:after{
  align-items:center;
  background-color:var(--bc-disabled);
  color:var(--c-disabled);
  content:"購入できません";
  display:flex;
  height:100%;
  inset:0;
  justify-content:center;
  position:absolute;
  width:100%;
  z-index:1;
}

/*! まとめてカートボタンスタイル */
.button-all{
  align-items:center;
  background-color:var(--bc-button-cart);
  color:#fff;
  display:flex;
  gap:.25em;
  justify-content:center;
  margin-left:auto;
  margin-right:auto;
  padding:1em;
  transition:var(--easing-cart);
  width:min(400px, 100%);
}

.button-all:before{
  color:var(--c-icon-cart);
  content:"\e903";
  display:inline-block;
  font-family:icomoon;
  font-size:1em;
  margin-right:.25em;
  vertical-align:middle;
  z-index:1;
}

/*! シングルカートボタンスタイル */
.button-single{
  align-items:center;
  background-color:var(--bc-button-cart);
  color:var(--c-button-cart);
  display:flex;
  gap:.25em;
  justify-content:center;
  margin-left:auto;
  margin-right:auto;
  padding:1em;
  transition:var(--easing-cart);
  width:min(400px, 100%);
}

.button-single:before{
  color:var(--c-icon-cart);
  content:"\e903";
  display:inline-block;
  font-family:icomoon;
  font-size:1em;
  margin-right:.25em;
  vertical-align:middle;
}

/*! 商品詳細ボタン */
.button-detail{
  align-items:center;
  background-color:var(--bc-button-detail);
  border:1px solid;
  color:var(--c-button-detail);
  display:flex;
  gap:.25em;
  justify-content:center;
  margin-left:auto;
  margin-right:auto;
  padding:1em;
  transition:var(--easing-cart);
  width:min(400px, 100%);
}

/*! 連続購入防止 */
.js-button.is-disabled{
  --c-icon-cart:var(--c-disabled);
  background-color:var(--bc-disabled);
  color:var(--c-disabled);
  opacity:.85;
  pointer-events:none;
}

/*! ==================================================
 * 説明    : 受注終了表記切り替えのコンポーネント
 * ================================================== */
.display_none{
  display:none;
}

.strikethrough{
  text-decoration:line-through;
}

.text-close{
  background-color:var(--bc-close);
  color:var(--c-close);
  padding:.25em;
  text-align:center;
}

.l-footer{
  background:#db2379;
  color:#fff;
  font-size:80%;
  margin-top:7%;
  padding:5% 2% 3%;
  text-align:center;
}
.l-footer__companyLinks{
  align-items:center;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin-bottom:3%;
  margin-top:1%;
}
.l-footer__companyLinks li{
  padding:0 .4em;
  position:relative;
  transition:.4s;
}
.l-footer__companyLinks li:focus,.l-footer__companyLinks li:hover{
  opacity:.65;
}
.l-footer__bnr{
  display:flex;
  flex-direction:row;
  flex-wrap:wrap;
  margin-bottom:2%;
  margin-top:4%;
}
.l-footer__bnr li{
  margin-bottom:2%;
  padding:.5%;
  transition:.4s;
  width:50%;
}
.l-footer__bnr li:focus,.l-footer__bnr li:hover{
  opacity:.65;
}
.l-footer .accordion__button{
  background:#fff;
  color:#db2379;
  display:flex;
  font-family:Noto Sans JP,YuGothic,Yu Gothic,san-serif;
  font-weight:500;
  justify-content:flex-start;
  padding:.5% 1%;
  transition:.4s;
  width:-moz-fit-content;
  width:fit-content;
}
.l-footer .accordion__button:focus,.l-footer .accordion__button:hover{
  cursor:pointer;
  transform:scale(.9);
}
.l-footer .accordion__button span{
  background:#fff;
  border:1px solid #db2379;
  border-radius:50%;
  display:inline-block;
  height:1.4em;
  position:relative;
  width:1.4em;
}
.l-footer .accordion__button span:before{
  background:#db2379;
  clip-path:polygon(100% 8%, 100% 33%, 50% 100%, 0 33%, 0 8%, 50% 70%);
  content:"";
  height:.7em;
  inset:50% auto auto 50%;
  position:absolute;
  transform:translate(-50%, -50%);
  width:.8em;
}
.l-footer .accordion__panel{
  margin-bottom:4%;
}
.l-footer .accordion__panel--box{
  margin-left:1em;
  margin-top:2%;
  text-align:left;
}

.l-global-nav-area__content,.l-global-nav-area__overlay{
  inset:0;
  position:fixed;
}
.l-global-nav-area__content{
  overflow-y:auto;
  padding:50px;
  z-index:100;
}
.l-global-nav-area__overlay{
  background-color:hsla(0,0%,100%,.85);
  height:100%;
  width:100%;
  z-index:99;
}

.hamburger{
  border:1px solid;
  height:50px;
  inset:10px 10px auto auto;
  position:fixed;
  width:50px;
  z-index:100;
}
.hamburger:before{
  content:"\e911";
  font-family:icomoon;
}
.hamburger__text{
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
  clip:rect(0, 0, 0, 0);
  border:0;
  white-space:nowrap;
}
.hamburger.is-active:before{
  content:"\e904";
  font-family:icomoon;
}

.global-nav{
  display:flex;
  flex-direction:column;
  gap:40px;
}
.global-nav__button,.global-nav__logo{
  outline-offset:-2px;
}
.global-nav__button{
  display:flex;
  padding:.25em;
}

.skip-link{
  background-color:#000;
  color:#fff;
  padding:.25em;
  position:fixed;
  z-index:1000;
}
.skip-link:not(:focus):not(:focus-within){
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
  clip:rect(0, 0, 0, 0);
  border:0;
  white-space:nowrap;
}

/*! ==================================================
 * 説明    : accessible-slick.js 共通スタイル
 * ================================================== */
/*! ボタンフォーカス調整 */
.slick-active a{
  display:inline-block;
  outline-offset:-1px;
  position:relative;
  z-index:1;
}

/*! 自動再生ボタンアイコン */
.slick-autoplay-toggle-button,.slick-pause-icon:before,.slick-play-icon:before{
  align-items:center;
  display:flex;
  height:min(1em, 20px);
  justify-content:center;
  width:min(1em, 20px);
}

.slick-pause-icon:before{
  color:var(--slick-icon-pause);
  content:"\e912";
  font-family:icomoon;
}

.slick-play-icon:before{
  color:var(--slick-icon-play);
  content:"\e913";
  font-family:icomoon;
}

/*! 自動再生ボタン配置 */
.slick-autoplay-toggle-button{
  position:relative;
  z-index:1;
}

/*! ドットイージケーター */
.slick-dots{
  line-height:1;
  text-align:center;
}
.slick-dots li{
  display:inline-block;
  margin:min(5px, .5vw);
}
.slick-dots li:only-child{
  display:none;
}
.slick-dots .slick-sr-only{
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
  clip:rect(0, 0, 0, 0);
  border:0;
  white-space:nowrap;
}

.slick-dots button{
  display:block;
  height:1rem;
  pointer-events:all;
  position:relative;
  width:1rem;
}

.slick-dots button .slick-dot-icon{
  background-color:var(--slick-dot-color);
  border-radius:50%;
  display:block;
  height:100%;
  inset:0;
  position:absolute;
  width:100%;
}

.slick-dots .slick-active button .slick-dot-icon{
  background-color:var(--slick-dot-color-active);
}

/*! スクリーンリーダー用 */
.slick-sr-only{
  height:1px;
  margin:-1px;
  overflow:hidden;
  padding:0;
  position:absolute;
  width:1px;
  clip:rect(0, 0, 0, 0);
  border:0;
  white-space:nowrap;
}

/*! 商品スライドスタイル専用 */
.js-slick-product-slide .slick-slide img{
  width:100%;
}

.js-slick-product-slide .slick-autoplay-toggle-button{
  inset:min(8px, .8vw);
  position:absolute;
}

.modaal-content-container{
  border:10px solid #db2379 !important;
}
.modaal-content-container .modaal-inner h3{
  color:#db2379;
  font-size:120%;
  font-weight:900;
  margin-bottom:3%;
  text-align:center;
}
.modaal-content-container .modaal-inner h4{
  margin-top:2%;
}
.modaal-content-container .modaal-inner h5{
  margin-top:1%;
}
.modaal-content-container .modaal-inner a{
  color:blue;
  text-decoration:underline;
}
.modaal-content-container .modaal-inner ul{
  font-size:90%;
  margin-top:2%;
}

/*! ==================================================
 * 説明    : select2.js 共通スタイル
 * ================================================== */
/*! セレクトボックス */
.select2-container--default .select2-selection--single .select2-selection__rendered{
  color:var(--select2-color);
}

.select2-container{
  display:block;
  max-width:100%;
}

.select2-selection{
  background-color:var(--select2-background-color) !important;
  border-radius:inherit !important;
  height:auto !important;
}

.select2-selection__rendered{
  padding-bottom:.5em;
  padding-top:.5em;
  text-align:center;
}

.select2-container--default .select2-selection--single{
  border:1px solid var(--select2-border-color);
}

/*! 矢印 */
.select2-selection__arrow{
  height:100% !important;
  top:0 !important;
  width:2em !important;
}

.select2-selection__arrow b{
  bottom:0;
  left:0 !important;
  margin:auto !important;
  right:0;
  top:0 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:var(--select2-arrow-color) transparent transparent transparent !important;
  border-width:.5em .4em 0 !important;
}

.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{
  border-color:transparent transparent var(--select2-arrow-color) transparent !important;
  border-width:0 .4em .5em !important;
}

/*! プルダウンカラー */
.select2-results{
  color:var(--select2-color);
}

@media (min-width:768px){
  .l-footer{
    font-size:100%;
    padding:2%;
  }
  .l-footer__companyLinks{
    flex-direction:row;
    margin-bottom:0;
  }
  .l-footer__companyLinks li:not(:last-child):after{
    background:#fff;
    content:"";
    height:90%;
    position:absolute;
    right:-.1em;
    width:1px;
  }
  .l-footer__bnr{
    flex-wrap:nowrap;
    justify-content:flex-end;
  }
  .l-footer__bnr li{
    width:-moz-fit-content;
    width:fit-content;
  }
  .l-footer .accordion__button{
    font-size:95%;
  }
  .l-global-nav-area{
    background-color:#fff;
    padding:50px;
    position:relative;
  }
  .l-global-nav-area__content,.l-global-nav-area__overlay{
    position:unset;
  }
  .l-global-nav-area__content{
    overflow-y:none;
    padding:0;
  }
  .hamburger,.l-global-nav-area__overlay{
    display:none;
  }
  .global-nav{
    flex-direction:row;
    justify-content:space-between;
  }
  .global-nav__logo{
    display:flex;
    flex-shrink:0;
  }
  .global-nav__menu{
    display:flex;
    flex-grow:1;
    flex-wrap:wrap;
    gap:1em;
    justify-content:flex-end;
    white-space:nowrap;
  }}