@charset "UTF-8";

html { scroll-behavior: smooth;}

*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
overflow-x: hidden;
!important;
}

.pc{
  display: block;
  !important;
}

.sp{
  display: none;
  width: 100%;
}

@media screen and (max-width: 750px){
  .pc{
    display: none;
    !important;
  }

  .sp{
    display: block;
    !important;
    width: 100%;
  }

}

img{
    /* width: 100%; */
    height: auto;
    vertical-align: top;
}

body[style] #floating {
    display: none;

}

#wrapper, #top{
    width: 100%;
    max-width: 750px;
    margin: 0 auto;
    font-size: clamp(10px,4vw,20px);
    overflow-x: hidden;
}

@media screen and (max-width: 750px){

#wrapper, #top{
    width: 100%;}
}

.w750{
  width: 100%;
  max-width: 750px;
  margin: 0 auto;
}

.w750 img {
  max-width: 100%;
  height: auto;
  display: block;
}



#lp_2411Vupshaper,
#vups_size,
#vup_sos,
#vup_sec01,
#vup_sec02,
#vup_sec03,
.vup_sec02
.vup_p01,
.vup_p02,
.vup_p03{
      width: 100%;
      position: relative;
    }


.vup_sec02{
      margin: 0 auto;
      width: 100%;
      background: url("../img/sec02_bg.jpg") no-repeat 0 0 / 100% 100%;

    }
.vup_p01{
  margin: 0 auto;
  width: 100%;
  background: url("../img/sec02_point01_bg.jpg") no-repeat 0 0 / 100% 100%;

}

.vup_p02{
  margin: 0 auto;
  width: 100%;
  background: url("../img/sec02_point02_bg.jpg") no-repeat 0 0 / 100% 100%;

}
.vup_p03{
  margin: 0 auto;
  width: 100%;
  background: url("../img/sec02_point02_bg.jpg") no-repeat 0 0 / 100% 100%;

}



.target-area {
      position: relative;
    }
    #floating {
      position: fixed;
      display: none;
      opacity: 0;
      z-index: 98;
      width: 100%;
      max-width: 750px;
      bottom: 0;
      margin: 1%;
      z-index: 10000;
    }

    #floating.fixed {
      display: block;
      opacity: 1;
    }

    #floating ul {
      display: flex;
      list-style: none;
      padding: 0;
      margin: 0;
      width: 96%;
    }

    #floating li {
      float: left;
      justify-content: center;
      align-items: center;
      padding: 0;
      margin: 0;
    }

    .floating-link.disabled {
      pointer-events: none; /* リンクを無効にする */
      opacity: 0.5; /* 視覚的に無効化を示す */
    }

    .clearLeft {
    clear: left;
    }


.fadeUp{
    animation-name:fadeUpAnime;
    animation-duration:0.8s;
    animation-fill-mode:forwards;
    opacity:0;
    }

    @keyframes fadeUpAnime{
      from {
        opacity: 0;
      transform: translateY(100px);
      }

      to {
        opacity: 1;
      transform: translateY(0);
      }
    }


/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.fadeUpTrigger{
        opacity: 0;
    }

.anim-box.fadein.is-animated {
        animation: fadeIn 0.9s cubic-bezier(0.33, 1, 0.68, 1) 1 forwards;
    }

@keyframes fadeIn {
      0% {
        opacity: 0;
      }
      100% {
        opacity: 1;
      }
    }

/* モーダルを開くボタン */
    .modal__trigger {
      cursor: pointer;
    }
    .modal__trigger:nth-child(n + 2) {
      margin-top: 60px;
    }

    /* モーダル本体 */
    .modal__wrapper {
      display: none;
      position: fixed;
      top: 0;
      left: 0;
      z-index: 10;
      width: 100%;
      height: 100vh;
    }
    /* モーダルbg */
    .modal__layer {
      height: 100%;
      background: rgba(50, 50, 50, .85);
      cursor: pointer;
    }
    .modal__container {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: min(calc(100% - 40px), 750px);
      height: calc(100% - 40px);
      padding: 20px;
      /* background: #fff; */
    }
    .modal__inner {
      position: relative;
      overflow-y: scroll;
      width: 100%;
      height: 100%;
      padding: 0;
    }

    /* 閉じるボタン */
    .modal__close {
      position: absolute;
      top: 20px;
      right: 2%;
      width: 30px;
      height: 30px;
      background: #fff;
      border-radius: 100px;
      cursor: pointer;
      transition: opacity .6s;
    }
    .modal__close:hover {
      opacity: .6;
    }
    .modal__close:before,
    .modal__close:after {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 20px;
      height: 1px;
      background: #000;
      content: '';
    }
    .modal__close:before {
      transform: translate(-50%, -50%) rotate(45deg);
    }
    .modal__close:after {
      transform: translate(-50%, -50%) rotate(-45deg);
    }

    /* モーダル内のコンテンツ */
    .modal__content {
      width: 98%;
      max-width: 700px;
      max-height: 90vh;
      margin: auto;
    }
    .modal__content img {
      display: block;
      width: 100%;
      margin-top: 15px;
      line-height: 2.875;
    }
    @media screen and (max-width: 750px){

      .modal__inner {
        position: relative;
        overflow-y: scroll;
        max-width: 460px;
        height: 100%;
        margin: auto;
        /* padding: 80px 0 0; */
    }
    }


.w750{
    width: 100%;
}


#winter2411_hinoki{
            margin: 0 auto;
            width: 100%;
            /* background: url("../img/2411winter_hinoki_bg.jpg") no-repeat 0 0 / 100% 100%; */
            }

#slider01_area{
            width: 100%;
            padding-bottom: 5em;
              background: url("../img/2411winter_hinoki_bg.jpg") no-repeat 0 0 / 100% 100%;
            }

#slider01{
              margin: 0 auto;
            width: 80%;
            }

#slider01 img {
                width: 90%;
                margin-left: 5%;
            margin-top: 5%;
            }


.shadow {
   filter: drop-shadow(2px 2px 2px #6890ac);
}




a:hover, .con_btn:hover, input:hover {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
    -webkit-tap-highlight-color: rgba(0,0,0,0);
    cursor: pointer;
}

/* OFFER */
/* ===== 商品詳細ページ　レイアウト設定 ===== */
.product-detail {
  background: url(../img/back.png); /* 背景IMG */
  background-size: cover;
  width: 100%;
  max-width: 750px;
  margin: auto;
  position: relative;
}

/* =====　商品詳細 outter設定 ===== */
.detail-outter {
  max-width: 750px;
  width: 100%;
  position: relative;
  margin: 0 auto;
  padding: 40px 0;
}

/* ===== 商品詳細 inner設定 ===== */
.detail-inner {
  width: 650px;
  max-width: 650px;
  margin: 0 auto;
  position: relative;
  top: 7%; /* 上段との間隔 */
}

/* ===== タブボタン　レイアウト設定 ===== */
.tabs {
  padding: 0;
  line-height: 0;
  position: relative;
  margin-bottom: -2px;
  /* overflow: hidden; */
}

.tabs li {
  float: left;
  list-style: none;
  margin-left: 2%;
  width:35%;
}
/* ===== タブボタン ===== */
.tab-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  line-height: 0;
}
/* ===== タブ１ ボタン ===== */
.tabs li.tab-btn1 {
  position: relative;
  width:26%;
  margin-left: 0%;
}

/* ===== タブ 設定 ===== */
.tab-image {
  width: 100%;
  /* max-width: 250px; */
  transition: opacity 0.3s ease; /*  */
  line-height: 0;
  border: none;
}

.tab-content {
  display: none;
  background-color: #FFF;
  clear: both;
  padding-bottom: 20px;
}

.tab-content.active {
  display: block;
}

/* ===== 商品イメージと商品情報 ===== */
.content-wrapper {
  padding-top: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

/* ===== 商品イメージ ===== */
.product-image {
  width: 43%;
  max-width: 100%;
  padding: 1.5%;
}

.product-image img {
  width: 100%;
}

/* ===== 商品情報 ===== */
.product-info {
  width: 57%;
}

.product-info img {
  width: 100%;
}

/* ===== 商品１セット　設定 ===== */
#set-item1 .product-info img {
  width: 84%;
  position: relative;
  top: 1vh;
  left: 4vh;
}

/* ===== 商品２セット・３セット設定 ===== */
#set-item2 .product-info img,
#set-item3 .product-info img {
  width: 94%;
  position: relative;
  top: 3vh;
  left: 1vh;
}

/* ===== 色・サイズボタン 設定 ===== */
.color-selection, .size-selection {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2%; /* ボタン間隔 */
  margin-top: 10px;
}

.tab-content hr {
  width: 90%;
  margin: 5% 5%;
}

.selection-label {
  width: 100%;
  font-size: 1.5em;
  font-weight: 400;
  color: #999;
  text-align: left;
  margin-top: 1vh;
  margin-bottom: 1vh;
  padding-left: 5%;
}

.color-copy {
  margin-bottom: 2vh;
}

/* ===== 色ボタン ===== */
.color-button {
  width: 44%;
  padding: 10px;
  font-size: 2em;
  cursor: pointer;
  border: none;
  background-color: #fff;
  text-align: center;
  padding: 0px;
}

/* ===== サイズボタン ===== */
.size-button {
  width: 22%;
  padding: 0px;
  cursor: pointer;
  border: none;
  background-color: #fff;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.3s ease, background-color 0.3s ease;
}


/* ===== 色・サイズ ボタン ===== */
.color-button img,
.size-button img {
  width: 100%;
  height: auto;
}

.color-button.active,
.size-button.active {

}

/* ===== 注文ボタン ===== */
.order-button {
  margin-top: 20px;
  border: none;
  cursor: pointer;
  width: 100%;
  max-width: 650px;
}

/* ===== 注意事項 ===== */
.att {
  font-size: 12px;
  color: #555;
  text-align: left;
  margin-top: 10px;
  line-height: 1.5em;
  padding: 0 10px;
}

/* ===== SP (768px 以下) ===== */
@media (max-width: 768px) {
  .tabs {
    padding: 0;
    line-height: 0;
    position: relative;
  }

  /* ===== タブボタン ===== */
  .tab-button {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    line-height: 0;
    /* width: 115px; */
  }
  .tab-image {
    /* max-width: 120px; */
  }

  .tabs li {
    position: relative;
    width:35%;
  }
  .tabs li.tab-btn1 {
    position: relative;
    width:26%;
  }
  .tab-btn1 img{
    position: relative;
    /* margin-bottom:-10%; */
  }
  .selection-label {
    font-size: 1em;
  }

  .color-button {
    width: 45%;
    padding: 0px;
  }

  .size-button {
    width: 21%;
    padding: 0px;
  }

  .order-button {
    font-size: 1em;
    padding: 12px 0;
    width: 100%;
    max-width: 600px;
  }

  .detail-inner {
    width: 95%;
  }

  #set-item1 .product-info img {
    left: 2vh;
  }

  .color-copy {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
    width: 100%;
    padding: 0 2%;
  }

  .color-copy span img {
    width: 100%;
  }
}


/*CTA*/

.border01{
  border-left: 8px solid #ff5151;
  border-right: 8px solid #ff5151;
  border-top: 8px solid #ff5151;
}

.border02{
  border-left: 8px solid #e37024;
  border-right: 8px solid #e37024;
  border-top: 8px solid #e37024;
}

.border03{
  border-left: 8px solid #e44a6f;
  border-right: 8px solid #e44a6f;
  border-top: 8px solid #e44a6f;
}

.cta_btnf{
  position: absolute;
  top: auto;
  top: 36%;
  right: 0;
  left: 0;
  margin: 2% auto;
}


a.button-link, a.button-link:link, a.button-link:visited, a.button-link:hover {
    position: absolute;
    top: auto;
    top: 36%;
    right: 0;
    left: 0;
    margin: 2% auto;
    width: 98%;
}
.slide01 .swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
    top: 54%;
}
.slide02 .swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
    top: 58%;
}
.slide03 .swiper-pagination.swiper-pagination-bullets.swiper-pagination-horizontal {
    top: 60%;
}
