@charset "UTF-8";
html {
  scroll-behavior: smooth;
}

body {
  width: 100%;
  line-height: 1.5;
  letter-spacing: 0.2px;
  font-size: 2.6666666667vw;
  transition: all 1.6s ease 0s;
  background-color: #F5F3F1;
  color: #515151;
  font-family: "dnp-shuei-gothic-gin-std", sans-serif;
  font-weight: 500;
  font-style: normal;
}
@media screen and (min-width: 1025px) {
  body {
    font-size: 0.6944444444vw;
  }
}

img {
  display: block;
  width: 100%;
}

a:hover {
  opacity: 0.6;
  transition: 0.6s;
}

@media screen and (min-width: 1025px) {
  .spNone {
    display: block;
  }
}
@media screen and (max-width: 1024px) {
  .spNone {
    display: none !important;
  }
}

@media screen and (min-width: 1025px) {
  .pcNone {
    display: none !important;
  }
}
@media screen and (max-width: 1024px) {
  .pcNone {
    display: block;
  }
}

/* .load
===================================================== */
.load {
  position: fixed;
  top: 0;
  left: 0;
  background-color: #AAA48B;
  width: 100%;
  height: 100vh;
  z-index: 9999;
}

.○○○○○○ {
  opacity: 0;
  transition: opacity 1s;
}
.○○○○○○.on {
  opacity: 1;
}

#page-top {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 99;
}
@media screen and (max-width: 1024px) {
  #page-top img {
    width: 11vw;
  }
}

#page-top a {
  display: block;
  opacity: 0.9;
  transition: all 0.3s ease;
}

#page-top a:hover {
  opacity: 0.5;
}

#fv {
  background: #AAA48B;
  color: #fff;
  text-align: center;
  margin-top: 40px;
}
#fv h1 {
  width: 90%;
  margin: -16vw auto 1vw;
  opacity: 0;
  transition: opacity 1s;
}
#fv h1.on {
  opacity: 1;
}
#fv .fv_1 {
  opacity: 0;
  transition: opacity 1s;
}
#fv .fv_1.on {
  opacity: 1;
}
#fv .fv_img2 {
  width: 89vw;
  margin: 0 auto 1vw;
  opacity: 0;
  transition: opacity 1s;
}
#fv .fv_img2.on {
  opacity: 1;
}
#fv .lead {
  font-size: 3.2vw;
  margin: 11vw auto 0;
  line-height: 1.9;
  padding-bottom: 13vw;
  text-align: left;
}
@media screen and (max-width: 1024px) {
  #fv .lead {
    width: 85%;
  }
}
@media screen and (min-width: 1025px) {
  #fv .lead {
    line-height: 2.2;
  }
}

.menu {
  background-color: #ECE9E0;
}
@media screen and (max-width: 1024px) {
  .menu {
    padding-bottom: 15vw;
    padding-top: 13vw;
  }
}
@media screen and (min-width: 1025px) {
  .menu {
    background-color: #F5F3F1;
    top: 50%;
    transform: translate(0, -50%);
  }
}
.menu .menu_title {
  text-align: center;
  margin: 0 auto 9vw;
  letter-spacing: 0.6px;
  line-height: 1.3;
}
@media screen and (min-width: 1025px) {
  .menu .menu_title {
    margin: 0 auto 3vw;
  }
}
.menu .menu_title .six {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  font-style: normal;
}
.menu .menu_title .knit {
  font-size: 9.344vw;
  font-family: "ivypresto-display", serif;
  font-weight: 100;
  font-style: italic;
}
@media screen and (min-width: 1025px) {
  .menu .menu_title .knit {
    font-size: 2.9166666667vw;
  }
}
.menu .menu_title .cate {
  font-size: 6.6666666667vw;
  font-family: "ivypresto-display", serif;
  font-weight: 100;
  font-style: normal;
  margin-left: 5px;
}
@media screen and (min-width: 1025px) {
  .menu .menu_title .cate {
    font-size: 2.0833333333vw;
  }
}
.menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6vw 7px;
}
@media screen and (min-width: 1025px) {
  .menu ul {
    gap: 2vw 0.5vw;
  }
}
.menu ul li {
  width: 26.9333333333vw;
  font-family: "ivypresto-display", serif;
  font-weight: 100;
  font-style: italic;
  font-size: 3.4666666667vw;
  letter-spacing: 1px;
}
@media screen and (min-width: 1025px) {
  .menu ul li {
    width: 8.125vw;
    font-size: 1.0416666667vw;
  }
}
.menu ul li a {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
}
.menu ul li a .down {
  width: 7px;
}

.item_area .cate_title {
  position: relative;
  color: #fff;
  height: 106vw;
  position: sticky;
  top: 40px; /* スクロール時に上から0pxの位置に固定 */
}
@media screen and (min-width: 1025px) {
  .item_area .cate_title {
    top: 50px;
  }
}
.item_area .cate_title .top_text {
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.9333333333vw;
  top: 2%;
  position: absolute;
  display: flex;
  justify-content: space-between;
  width: 90%;
  left: 50%;
  transform: translate(-50%, 0%);
}
@media screen and (min-width: 1025px) {
  .item_area .cate_title .top_text {
    font-size: 0.8333333333vw;
  }
}
.item_area .cate_title .back_img {
  position: absolute;
  top: 0;
}
.item_area .cate_title h2 {
  position: absolute;
  top: 47%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  font-size: 4.5333333333vw;
  letter-spacing: 1px;
}
@media screen and (min-width: 1025px) {
  .item_area .cate_title h2 {
    font-size: 1.3888888889vw;
    top: 22%;
  }
}
.item_area .cate_title h2 span {
  font-size: 16.8vw;
  font-family: "ivypresto-display", serif;
  font-weight: 100;
  font-style: italic;
  line-height: 1.2;
  letter-spacing: 2.5px;
}
@media screen and (min-width: 1025px) {
  .item_area .cate_title h2 span {
    font-size: 5.1388888889vw;
  }
}
.item_area .cate_title .ja {
  position: absolute;
  text-align: center;
  top: 67%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  text-align: center;
  font-size: 4.2666666667vw;
}
@media screen and (min-width: 1025px) {
  .item_area .cate_title .ja {
    top: 29%;
    font-size: 1.3194444444vw;
  }
}

#sec6 h2 span {
  font-size: 13.3333333333vw;
  white-space: nowrap;
}

.item_1 {
  width: 90%;
  margin: 0 auto;
  padding-top: 5%;
}
@media screen and (min-width: 1025px) {
  .item_1 {
    padding-top: 14%;
  }
}

.sticky {
  position: sticky;
  background: #F5F3F1;
  z-index: 10;
  overflow: hidden;
}
@media screen and (min-width: 1025px) {
  .sticky {
    width: 38.8888888889vw;
    margin-left: 29.6527777778vw;
  }
}

/* 価格
===================================================== */
.creditAjax_price__proper::before,
.creditAjax_price__sale::before {
  content: "¥";
}

.creditAjax_price__sale {
  color: rgb(158, 43, 43);
  margin-left: 5px;
}

.creditAjax_price__off {
  color: rgb(158, 43, 43);
}
.creditAjax_price__off::before {
  content: "(";
}
.creditAjax_price__off::after {
  content: ")";
}

.creditAjax__saleOn .creditAjax_price__proper {
  text-decoration: line-through;
}

.creditAjax_link {
  display: flex;
  justify-content: space-between;
  width: 90%;
  margin: 2% auto;
}
@media screen and (min-width: 1025px) {
  .creditAjax_link {
    width: 100%;
  }
}

@media screen and (min-width: 1025px) {
  .cre_90 {
    width: 90%;
  }
}

.left_cre {
  width: 95%;
  margin: 2% 0 0 auto;
}
@media screen and (min-width: 1025px) {
  .left_cre {
    width: 100%;
    margin: 2% auto;
  }
}

.left_cre02 {
  width: 80%;
  margin: 2% auto 0 5%;
}
@media screen and (min-width: 1025px) {
  .left_cre02 {
    width: 85%;
    margin: 2% auto 0 0;
  }
}

.right_cre {
  width: 95%;
  margin: 4% auto 0 0;
}
@media screen and (min-width: 1025px) {
  .right_cre {
    width: 100%;
  }
}

.right_cre02 {
  width: 80%;
  margin: 4% 5% 0 auto;
}
@media screen and (min-width: 1025px) {
  .right_cre02 {
    width: 85%;
    margin: 2% 0 0 auto;
  }
}

.credit_box {
  display: flex;
  width: 85%;
}

.creditAjax_img120 {
  width: 10.1333333333vw;
}
@media screen and (min-width: 1025px) {
  .creditAjax_img120 {
    width: 3.4722222222vw;
  }
}

.buy {
  background-color: #515151;
  color: #fff;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  padding: 1px 8px;
  height: fit-content;
}
@media screen and (min-width: 1025px) {
  .buy {
    padding: 1px 12px;
  }
}

.credit_text {
  margin-left: 4%;
}

.credit {
  margin: 5% auto 15%;
}

.w_85 {
  width: 85%;
}

.w_90 {
  width: 90%;
  margin: 0 auto;
}

.w_80 {
  width: 80%;
}

#sec1 .swiper {
  margin: 0 auto 0 0;
}

#sec2 .swiper {
  margin: 0 0 0 auto;
}
#sec2 .flex {
  align-items: end;
  margin: 5% 0 4% 0;
}

#sec3 .swiper {
  margin: 0 0 0 auto;
}

#sec4 .swiper {
  margin: 0 0 0 auto;
}
#sec4 .sec4_flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 5% auto;
}
#sec4 .sec4_flex .sec4_flex_left {
  display: flex;
  flex-direction: column;
  gap: 4vw;
  width: 35%;
}
@media screen and (min-width: 1025px) {
  #sec4 .sec4_flex .sec4_flex_left {
    gap: 1vw;
  }
}
#sec4 .sec4_flex .sec4_flex_r {
  width: 53%;
}

#sec5 .swiper {
  margin: 0 auto 0 0;
}
#sec5 .cate5_4 {
  margin: 0 0 0 auto;
}

#sec6 .swiper {
  margin: 0 auto 0 0;
}
#sec6 .cate6_5 {
  margin: 0 0 0 auto;
}

#sec2 .sticky,
#sec4 .sticky,
#sec6 .sticky {
  background: #E5DFCD;
}

.flex {
  display: flex;
  gap: 10px;
  margin: 5% 0 4% 8%;
  margin-bottom: 8%;
}
.flex .cate1_4 {
  margin-top: 15%;
}

.flex02 {
  display: flex;
}

.sec3_flex {
  display: flex;
  position: relative;
  font-family: "neue-haas-grotesk-display", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 2.4vw;
  text-align: center;
}
@media screen and (min-width: 1025px) {
  .sec3_flex {
    font-size: 0.8vw;
  }
}
.sec3_flex p {
  transform: rotate(-90deg);
  transform-origin: center center;
  width: fit-content;
  white-space: nowrap;
  margin: 0;
  position: absolute;
  left: -15%;
  top: 0;
  transform: rotate(-90deg) translateX(-94%);
}
.sec3_flex .sec3_flex_img {
  display: flex;
  flex-direction: column;
  width: 54%;
  margin: 0 10% 0 auto;
}

.sec6_flex {
  display: flex;
  width: 90%;
  justify-content: center;
  gap: 2vw;
  margin: 5% auto;
}
@media screen and (min-width: 1025px) {
  .sec6_flex {
    gap: 1vw;
  }
}
.sec6_flex .sec6_flex_left {
  margin-top: 44%;
}

.other_item_wrapper {
  line-height: 1.5;
  padding: 12% 0 4% 0;
  background-color: #ECE9E0;
  overflow: hidden;
  font-size: 2.4vw;
}
@media screen and (min-width: 1025px) {
  .other_item_wrapper {
    width: 40.8333333333vw;
  }
}
@media screen and (min-width: 1025px) {
  .other_item_wrapper .swiper-wrapper {
    font-size: 0.6944444444vw;
  }
}
@media screen and (min-width: 1025px) {
  .other_item_wrapper .swiper-wrapper a img {
    margin-bottom: 6%;
  }
}
.other_item_wrapper .label {
  margin: 4% auto;
}

.other_title {
  text-align: center;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  font-size: 4vw;
  margin-bottom: 8%;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (min-width: 1025px) {
  .other_title {
    font-size: 1.3194444444vw;
  }
}
.other_title span {
  font-family: "ivypresto-display", serif;
  font-weight: 100;
  font-style: italic;
  font-size: 6.9333333333vw;
  margin-left: 5px;
}
@media screen and (min-width: 1025px) {
  .other_title span {
    font-size: 2.2916666667vw;
  }
}

.other_item_slider {
  padding-right: 1px;
  line-height: 1.5;
  position: relative;
  margin-bottom: 18%;
  padding-right: 10%;
  padding-left: 10%;
}
.other_item_slider:after {
  content: "";
  position: absolute;
  top: 0;
  right: -2px;
  height: 100%;
  background: linear-gradient(to right, transparent, #f5f0e7);
  z-index: 10;
  transition: opacity 0.3s ease;
  pointer-events: none; /* これも追加推奨 */
}
.other_item_slider.is-end:after, .other_item_slider.is-end::after {
  opacity: 0 !important; /* まずは!importantで確認 */
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  height: 3px;
  width: 80%;
  translate: -50% 8vw;
  left: 50%;
  bottom: 0;
  background-color: #afafaf;
}
@media screen and (min-width: 1025px) {
  .swiper-horizontal > .swiper-scrollbar,
  .swiper-scrollbar.swiper-scrollbar-horizontal {
    width: 73%;
    translate: -50% 3vw;
  }
}

.swiper-scrollbar-drag {
  background-color: #515151;
}

.photo {
  margin-bottom: 6%;
}

.more_btn {
  background-color: #515151;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  color: #fff;
  text-align: center;
  width: 42%;
  margin: 5% auto 20%;
  padding: 2%;
  font-size: 3.4666666667vw;
  display: block;
}
@media screen and (min-width: 1025px) {
  .more_btn {
    font-size: 1.0416666667vw;
  }
}

@media screen and (min-width: 1025px) {
  .pc_flex {
    display: flex;
  }
  .pc_flex #fv {
    width: 68.5416666667vw;
    margin-top: 50px;
    position: relative;
    height: 63vw;
    z-index: 98;
  }
  .pc_flex #fv .fv_1 {
    width: 29.0277777778vw;
    margin-left: auto;
  }
  .pc_flex #fv .fv_img2 {
    position: absolute;
    width: 35.4166666667vw;
    top: 0;
    left: 2%;
  }
  .pc_flex #fv .text_deco {
    position: absolute;
    font-size: 0.6944444444vw;
    top: 2.4vw;
    left: 29vw;
    text-align: right;
    opacity: 0;
    transition: opacity 1s;
  }
  .pc_flex #fv .text_deco.on {
    opacity: 1;
  }
  .pc_flex #fv h1 {
    width: 38.8888888889vw;
    margin: -19vw auto 0 4vw;
  }
  .pc_flex #fv .lead {
    font-size: 0.9375vw;
    margin: 4vw auto 0 4vw;
    text-align: left;
  }
  .pc_flex .menu {
    width: 30vw;
    position: fixed;
    right: 0;
    opacity: 0;
    transition: opacity 1s;
  }
  .pc_flex .menu.on {
    opacity: 1;
  }
  .cate_title {
    width: 29.6527777778vw;
    height: 100vh;
  }
  .pc_left_area {
    position: fixed;
    left: 0;
    top: 0;
    width: 29.6527777778vw;
    height: 100vh;
    z-index: 50;
  }
  .pc_left_area .cate_title {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: opacity 0.6s ease;
    pointer-events: none;
    color: #fff;
  }
  .pc_left_area .cate_title.active {
    opacity: 1;
    pointer-events: auto;
  }
  .pc_left_area .cate_title .back_img {
    position: absolute;
    top: 50px;
    left: 0;
    width: 100%;
    height: 100%;
  }
  .pc_left_area .cate_title .back_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .pc_left_area .cate_title .top_text {
    font-family: "neue-haas-grotesk-display", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 0.8333333333vw;
    top: 67px;
    position: absolute;
    display: flex;
    justify-content: space-between;
    width: 90%;
    left: 50%;
    transform: translate(-50%, 0%);
    z-index: 2;
  }
  .pc_left_area .cate_title h2 {
    position: absolute;
    top: 52%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    font-family: "ivypresto-display", serif;
    font-weight: 300;
    font-style: normal;
    font-size: 1.3888888889vw;
    letter-spacing: 1px;
    z-index: 2;
    line-height: 2.3;
  }
  .pc_left_area .cate_title h2 span {
    font-size: 5.1388888889vw;
    font-family: "ivypresto-display", serif;
    font-weight: 100;
    font-style: italic;
    line-height: 1.2;
    letter-spacing: 2.5px;
  }
  .pc_left_area .cate_title .ja {
    text-align: center;
    font-size: 1.3194444444vw;
    margin-top: 1vw;
    font-family: "dnp-shuei-gothic-gin-std", sans-serif;
    font-weight: 500;
    font-style: normal;
  }
  .content_wrapper {
    margin-left: 29.6527777778vw;
    margin-right: 29.5138888889vw;
    width: 40.8333333333vw;
  }
  .item_area .sticky {
    position: relative;
    background: #F5F3F1;
    width: 38.8888888889vw;
    margin-left: 0;
  }
  #sec2 .sticky,
  #sec4 .sticky,
  #sec6 .sticky {
    background: #E5DFCD;
  }
  .p_8 {
    padding: 0 8%;
  }
  [data-section="6"] h2 span {
    font-size: 3.9583333333vw !important;
    white-space: nowrap;
  }
  [data-section="6"] .ja {
    top: 60% !important;
  }
  footer {
    position: relative;
    z-index: 99;
  }
  .textOverflow {
    margin: 2% 0;
  }
}
.sta_cre {
  text-align: center;
  font-family: "ivypresto-display", serif;
  font-weight: 300;
  font-style: normal;
  margin: 18% auto;
  line-height: 1.9;
  letter-spacing: 0.7px;
}
@media screen and (min-width: 1025px) {
  .sta_cre {
    font-size: 0.9vw;
    margin: 8% auto;
  }
}

.credit_dis {
  width: 90%;
  margin: 0 auto;
}/*# sourceMappingURL=style.css.map */