@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Intel+One+Mono:ital,wght@0,300..700;1,300..700&display=swap');

/* 共通スタイル・futureshop レイアウト調整 */
/* .jt-part の範囲だけに適用。futureshop の商品・カート画面をリセットしない。 */
.jt-preview {
   margin: 0;
   background: #fff;
}
.jt-part {
   --jt-ink: #494949;
   --jt-pale: #f8f7f4;
   --jt-line: #aaa;
   box-sizing: border-box;
   color: var(--jt-ink);
   font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
   font-size: 14px;
   font-weight: 400;
   line-height: 1.7;
   letter-spacing: .06em;
   text-align: left;
}
.jt-part *, .jt-part *::before, .jt-part *::after {
   box-sizing: border-box;
}
.jt-part :where(h1, h2, h3, p, ul, li, figure) {
   margin: 0;
   padding: 0;
   border: 0;
   background: none;
}
.jt-part p {
   text-align: inherit;
}
.jt-part :where(ul) {
   list-style: none;
}
.jt-part :where(h1, h2, h3) {
   font: inherit;
   color: inherit;
}
.jt-part :where(a) {
   color: inherit;
   text-decoration: none;
   transition: opacity .2s;
}
.jt-part a:hover {
   opacity: .72;
}
.jt-part :where(img) {
   display: block;
   max-width: 100%;
   width: 100%;
   height: auto;
   vertical-align: middle;
   border: 0;
}
.jt-part :where(button, input) {
   color: inherit;
   font: inherit;
   letter-spacing: inherit;
}
.jt-part :where(button) {
   appearance: none;
   border: 0;
   border-radius: 0;
   background: none;
   cursor: pointer;
}
.jt-part :where(a, button, input, [tabindex]):focus-visible {
   outline: 2px solid #a36e44;
   outline-offset: 5px;
}
.jt-part [hidden] {
   display: none !important;
}
.jt-part[id] {
   scroll-margin-top: 24px;
}
.jt-part .jt-mobile {
   display: none;
}
.jt-container {
   width: 70%;
   max-width: 1200px;
   margin-inline: auto;
}
.jt-heading {
   text-align: center;
   margin-bottom: 64px !important;
   line-height: 1.6 !important;
}
.jt-heading>span {
   display: inline-block;
   padding: 0 16px;
   border-inline: 1px solid #666;
   font-size: clamp(18px, 1.85vw, 30px);
   font-weight: 400;
   letter-spacing: .18em;
   line-height: 1;
   font-family: "Intel One Mono", monospace;
}
.jt-heading>small {
   display: block;
   margin-top: 24px;
   font-size: clamp(16px, 1.65vw, 27px);
   letter-spacing: .1em;
}
.jt-part .jt-more {
   display: flex;
   width: 238px;
   min-height: 46px;
   justify-content: center;
   align-items: center;
   padding: 9px 20px;
   border: 1px solid #888;
   border-radius: 30px;
   margin: 56px auto 0;
   color: #494949;
   background: #fff;
   font-size: 13px;
   line-height: 1.4;
   text-align: center;
}
.jt-icon {
   display: block;
   width: 32px;
   height: 32px;
   fill: none;
   stroke: currentColor;
   stroke-width: 1.35;
   stroke-linecap: round;
   stroke-linejoin: round;
}
.jt-top-layout {
   width: 100%;
   max-width: none;
   margin: 0;
   padding: 0;
}
body.fs-body-top:has(.jt-header) {
   width: auto;
   min-width: 0;
   height: auto;
   margin: 0;
   overflow: visible;
}
html:has(body.fs-body-top .jt-header) {
   width: auto;
   height: auto;
   overflow-x: clip;
   overflow-y: auto;
}
@media (max-width: 767px) {
   .jt-part {
      font-size: 14px;
   }
   .jt-part .jt-desktop {
      display: none !important;
   }
   .jt-part .jt-mobile {
      display: block;
   }
   .jt-container {
      width: calc(100% - 30px);
   }
   .jt-heading {
      margin-bottom: 30px !important;
   }
   .jt-heading>span {
      font-size: 17px;
      padding-inline: 10px;
      letter-spacing: .15em;
   }
   .jt-heading>span.jt-mobile {
      display: inline-block;
   }
   .jt-heading>small {
      font-size: 18px;
      margin-top: 15px;
      letter-spacing: .08em;
   }
   .jt-part .jt-more {
      width: 164px;
      min-height: 32px;
      margin-top: 38px;
      padding: 6px 16px;
      font-size: 11px;
   }
}
@media (prefers-reduced-motion: reduce) {
   .jt-part *, .jt-part *::before, .jt-part *::after {
      scroll-behavior: auto !important;
      transition: none !important;
      animation: none !important;
   }
}

/* 00 ヘッダー */
.jt-header__inner {
   display: flex;
   align-items: center;
   justify-content: space-between;
   position: relative;
   min-height: clamp(128px, 13.3vw, 230px);
   padding: 28px 5%;
}
.jt-header .jt-logo {
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   width: clamp(145px, 13vw, 224px);
}
.jt-header__actions {
   display: flex;
   align-items: center;
   gap: 30px;
}
.jt-header__actions a {
   display: flex;
   align-items: center;
   flex-direction: column;
   gap: 10px;
   font-size: 9px;
   letter-spacing: .03em;
}
.jt-header__actions .jt-icon {
   width: 42px;
   height: 42px;
}
.jt-header__actions .jt-mobile-search {
   display: none;
}
.jt-menu-button {
   padding: 8px !important;
}
.jt-menu-button .jt-icon {
   width: 48px;
   height: 48px;
}
.jt-nav {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 10%;
   min-height: clamp(64px, 7.2vw, 125px);
   background: var(--jt-pale);
   font-size: clamp(14px, 1.2vw, 20px);
}
.jt-nav a {
   display: flex;
   align-items: center;
   gap: 5px;
   text-decoration: underline;
   text-underline-offset: 3px;
   min-width: 107px;
}
.jt-nav .jt-icon {
   display: block;
   flex-shrink: 0;
   width: 24px;
   height: 24px;
}
.jt-skip {
   position: absolute;
   left: 20px;
   top: -100px;
   background: #fff;
   padding: 10px;
   z-index: 10;
}
.jt-skip:focus {
   top: 10px;
}
/* 現行サイトのメニューを再現。既存クラスと干渉しない名前で左開きにする。 */
.jt-menu {
   position: fixed;
   inset: 0 auto auto 0;
   width: 100%;
   max-width: none;
   height: 100vh;
   max-height: none;
   margin: 0;
   padding: 117px 20px 183px;
   border: 0;
   overflow-y: auto;
   overscroll-behavior: contain;
   background: #f8f7f2;
   opacity: .92;
   color: #333;
   font-weight: 300;
   line-height: 1.6;
   letter-spacing: normal;
}
.jt-menu[open] {
   animation: jt-menu-open .6s ease both;
}
.jt-menu.jt-is-closing {
   animation-name: jt-menu-close;
}
.jt-menu::backdrop {
   background: transparent;
}
.jt-menu .jt-menu__close {
   position: absolute;
   top: 20.5px;
   left: 27.5px;
   padding: 1px 6px;
}
.jt-menu img {
   width: auto;
}
.jt-menu__close img {
   width: 29.7px;
   height: 29.7px;
}
.jt-menu__nav {
   max-width: 1100px;
   width: 100%;
   margin: 0 auto;
}
.jt-menu__nav--products {
   margin-bottom: 75px;
}
.jt-menu__categories {
   display: flex;
   justify-content: space-between;
   gap: 20px;
}
.jt-menu__categories>li>span {
   position: relative;
   display: block;
   padding-left: 25.5px;
   font-size: 16px;
   font-weight: 500;
   letter-spacing: .05em;
}
.jt-menu__categories>li>span::before {
   content: "";
   position: absolute;
   top: 50%;
   left: 0;
   width: 13px;
   height: 27px;
   transform: translateY(-50%);
   background: url("https://japancarpet.itembox.cloud/item/renew/images/common/gnav_category_icon.svg?t=20260925165629") no-repeat;
}
.jt-menu__category-link {
   display: flex;
   margin: -8px;
   padding: 8px;
}
.jt-menu__categories>li>ul {
   display: flex;
   flex-direction: column;
   gap: 9px;
   margin-top: 21.5px;
}
.jt-menu__categories>li>ul a, .jt-menu__color-list a {
   position: relative;
   display: block;
   padding-left: 25.5px;
   font-size: 14px;
   font-weight: 300;
   letter-spacing: .05em;
}
.jt-menu__categories>li>ul a::before {
   content: "";
   position: absolute;
   top: 50%;
   left: 0;
   width: 16px;
   height: 15px;
   transform: translateY(-50%);
   background: url("https://japancarpet.itembox.design/item/renew/images/common/gnav_category_arrow.svg?t=20250522133341") no-repeat;
}
.jt-menu__colors {
   display: flex;
   gap: 47.4px;
   margin-top: 21.5px;
}
.jt-menu__color-list {
   display: flex;
   flex-direction: column;
   gap: 9px;
}
.jt-menu__color-list a::before {
   content: "";
   position: absolute;
   top: 50%;
   left: 0;
   width: 16px;
   height: 15px;
   transform: translateY(-50%);
   border-radius: 50%;
   background: var(--jt-menu-swatch, #fff);
}
.jt-menu__color--ivory a::before {
   outline: 1px solid #d1d1d1;
}
.jt-menu__color--beige {
   --jt-menu-swatch: #fae7cc;
}
.jt-menu__color--brown {
   --jt-menu-swatch: #866a42;
}
.jt-menu__color--gray {
   --jt-menu-swatch: #d3d3d3;
}
.jt-menu__color--green {
   --jt-menu-swatch: #66be88;
}
.jt-menu__color--blue {
   --jt-menu-swatch: #5f64d5;
}
.jt-menu__color--yellow {
   --jt-menu-swatch: #f0eb5c;
}
.jt-menu__color--pink {
   --jt-menu-swatch: #ff8d8d;
}
.jt-menu__color--other {
   --jt-menu-swatch: #151515;
}
.jt-menu__bottom {
   display: flex;
   justify-content: space-between;
   max-width: 1100px;
   margin: 0 auto;
}
.jt-menu__bottom .jt-menu__nav {
   width: fit-content;
   margin: 0;
}
.jt-menu__bottom .jt-menu__categories {
   justify-content: flex-start;
   gap: 6vw;
}
.jt-menu__links {
   display: flex;
   flex-direction: column;
   align-items: flex-end;
   gap: 12px;
   margin: auto 0 0;
}
.jt-menu__link-button {
   display: flex;
   align-items: center;
   justify-content: flex-start;
   gap: 10px;
   width: 242px;
   height: 51px;
   padding: 0 25px;
   border-radius: 32px;
   background: #dd8921;
   font-size: 14px;
   font-weight: 500;
   letter-spacing: .05em;
}
.jt-menu__link-button p {
   width: 100%;
   text-align: center;
   color: #fff;
}
.jt-menu__link-button--register {
   border: 1px solid #d0d0d0;
   background: #f4f4f4;
}
.jt-menu__link-button--register p {
   color: #2f2f2f;
}
@keyframes jt-menu-open {
   from { transform: translateX(-110vw); }
   to { transform: translateX(0); }
}
@keyframes jt-menu-close {
   from { transform: translateX(0); }
   to { transform: translateX(-110vw); }
}
@media (max-width: 786px) {
   .jt-menu {
      padding: 93px 20px 200px;
      overflow-y: scroll;
   }
   .jt-menu .jt-menu__close {
      top: 22.5px;
      left: 20px;
   }
   .jt-menu__nav--products {
      margin-bottom: 40px;
   }
   .jt-menu .jt-menu__categories {
      flex-direction: column;
      gap: 40px;
      padding: 0 15px;
   }
   .jt-menu__bottom {
      flex-direction: column;
      justify-content: flex-start;
      gap: 30px;
   }
   .jt-menu__bottom .jt-menu__categories {
      gap: 36.5px;
   }
   .jt-menu__links {
      align-items: center;
   }
}
@media (max-width: 767px) {
   .jt-header__inner {
      min-height: 100px;
      padding: 18px 20px;
      background: var(--jt-pale);
   }
   .jt-header .jt-logo {
      position: static;
      transform: none;
      width: 99px;
      order: -1;
   }
   .jt-header__actions {
      gap: 13px;
      margin-left: auto;
      margin-right: 12px;
   }
   .jt-header__actions .jt-icon {
      width: 28px;
      height: 28px;
   }
   .jt-header__actions .jt-mobile-search {
      display: block;
   }
   .jt-header__actions a>span {
      display: none;
   }
   .jt-menu-button {
      order: 2;
      padding: 0 !important;
   }
   .jt-menu-button .jt-icon {
      width: 32px;
      height: 32px;
   }
   .jt-nav {
      min-height: 62px;
      gap: 20px;
      font-size: 14px;
      background: #fff;
      letter-spacing: .04em;
   }
   .jt-nav a {
      text-decoration: none;
      gap: 4px;
      white-space: nowrap;
      min-width: auto;
   }
   .jt-nav .jt-icon {
      display: block;
      width: 15px;
      height: 15px;
   }
}
@media (max-width: 359px) {
   .jt-nav {
      gap: 12px;
      font-size: 12px;
   }
   .jt-header__inner {
      padding-inline: 15px;
   }
}

/* 01 メインビジュアル：ライブラリ不要の scroll-snap */
.jt-hero {
   margin: 40px auto 0;
   --jt-slide: min(28.9vw, 500px);
}
.jt-hero__track {
   position: relative;
   display: flex;
   gap: 20px;
   padding-inline: calc((100% - var(--jt-slide)) / 2);
   overflow-x: auto;
   overscroll-behavior-x: contain;
   scrollbar-width: none;
   scroll-snap-type: x mandatory;
}
.jt-hero__track.is-dragging {
   cursor: grabbing;
   scroll-snap-type: none;
   user-select: none;
}
.jt-hero__track::-webkit-scrollbar {
   display: none;
}
.jt-hero__slide {
   flex: 0 0 var(--jt-slide);
   scroll-snap-align: center;
}
.jt-hero__slide img {
   aspect-ratio: 1;
   object-fit: cover;
}
.jt-hero__controls {
   display: flex;
   align-items: center;
   justify-content: center;
   position: relative;
   margin-top: 54px;
   min-height: 28px;
}
.jt-hero__dots {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 4px;
}
.jt-hero__dots button {
   display: grid;
   place-items: center;
   width: 25px;
   height: 25px;
   padding: 0;
}
.jt-hero__dots button::before {
   content: "";
   width: 13px;
   height: 13px;
   border-radius: 50%;
   background: #dadada;
}
.jt-hero__dots button[aria-current="true"]::before {
   background: #989898;
}
@media (min-width: 768px) {
   .jt-hero__track, .jt-hero__track a {
      cursor: grab;
   }
   .jt-hero__track.is-dragging a {
      cursor: grabbing;
   }
}
@media (max-width: 767px) {
   .jt-hero {
      margin-top: 0;
      --jt-slide: 70.5vw;
   }
   .jt-hero__track {
      gap: 8px;
   }
   .jt-hero__controls {
      margin-top: 20px;
   }
   .jt-hero__dots {
      gap: 0;
   }
   .jt-hero__dots button {
      width: 17px;
      height: 28px;
   }
   .jt-hero__dots button::before {
      width: 11px;
      height: 11px;
   }
}

/* 02 お知らせ */
.jt-news {
   margin: 80px auto 100px;
   width: 66%;
   max-width: 960px;
}
.jt-news__inner {
   display: flex;
   justify-content: center;
   align-items: flex-start;
   gap: 44px;
}
.jt-news h2 {
   flex: 0 0 auto;
   font-size: 42px;
   line-height: 1.1;
   font-weight: 400;
   letter-spacing: .07em;
   font-family: "Intel One Mono", monospace;
}
.jt-news h2 small {
   display: block;
   font-size: 13px;
   margin-top: 12px;
   font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
}
#news_list {
   max-width: 100% !important;
}
.jt-news ul {
   max-width: 640px;
   width: 100%;
}
.jt-news li {
   display: grid;
   grid-template-columns: 90px 1fr;
   gap: 18px;
   padding: 3px 0;
   font-size: 12px;
   margin-top: 0 !important;
}
.jt-news .jt-more {
   margin-top: 45px;
}
.jt-news.jt-is-ready:not(.jt-is-expanded) li:nth-child(n+4) {
   display: none;
}
@media (max-width: 767px) {
   .jt-news {
      width: 100%;
      margin: 80px auto 70px;
   }
   .jt-news__inner {
      display: block;
   }
   .jt-news h2 {
      text-align: center;
      font-size: 18px;
      line-height: 1.5;
      margin-bottom: 32px;
      letter-spacing: .13em;
   }
   .jt-news h2 small {
      margin-top: 3px;
      font-size: 18px;
      letter-spacing: .08em;
   }
   .jt-news ul {
      max-width: none;
   }
   .jt-news li {
      grid-template-columns: 94px 1fr;
      gap: 14px;
      padding: 15px max(20px, 8vw);
      font-size: 12px;
      line-height: 1.4;
   }
   .jt-news li:nth-child(odd) {
      background: #f7f7f7;
   }
   .jt-news a {
      text-decoration: underline;
      text-underline-offset: 3px;
      overflow-wrap: anywhere;
   }
   .jt-news.jt-is-ready:not(.jt-is-expanded) li:nth-child(n+3) {
      display: none;
   }
   .jt-news .jt-more {
      margin-top: 40px;
   }
}

/* 03 コンセプトバナー */
.jt-concept-banner {
   width: 50%;
   max-width: 850px;
   margin: 0 auto 100px;
}
@media (max-width: 767px) {
   .jt-concept-banner {
      width: calc(100% - 44px);
      margin-bottom: 62px;
   }
}

/* 04 商品一覧 */
.jt-product-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 16px;
}
.jt-product-grid a {
   display: block;
}
.jt-product-grid img {
   aspect-ratio: 1;
}
.jt-lineup.jt-is-ready:not(.jt-is-expanded) .jt-product-grid>li:nth-child(n+10) {
   display: none;
}
.jt-lineup {
   margin-bottom: 120px;
}
@media (max-width: 767px) {
   .jt-product-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 12px 8px;
   }
   .jt-lineup.jt-is-ready:not(.jt-is-expanded) .jt-product-grid>li:nth-child(n+9) {
      display: none;
   }
   .jt-lineup {
      margin-bottom: 80px;
   }
}

/* 05 カラー */
.jt-select {
   margin: 0 auto 240px;
}
.jt-colors {
   width: min(750px, 60%);
   margin: 0 auto;
}
.jt-colors h3 {
   font-size: 16px;
   margin-bottom: 30px;
}
.jt-colors ul {
   display: grid;
   grid-template-columns: repeat(3, 1fr);
   gap: 18px 30px;
}
.jt-colors a {
   display: flex;
   gap: 28px;
   align-items: center;
   white-space: nowrap;
   font-size: 14px;
}
.jt-swatch {
   flex: 0 0 46px;
   width: 46px;
   height: 46px;
   border-radius: 50%;
   background: #000;
}
.jt-color--ivory .jt-swatch {
   background: #fff;
   border: 1px solid #d2d2d2;
}
.jt-color--blue .jt-swatch {
   background: #7bbdff;
}
.jt-color--beige .jt-swatch {
   background: #f9e7cc;
}
.jt-color--yellow .jt-swatch {
   background: #f6f493;
}
.jt-color--brown .jt-swatch {
   background: #856c46;
}
.jt-color--pink .jt-swatch {
   background: #fc8995;
}
.jt-color--green .jt-swatch {
   background: #71bb8c;
}
.jt-color--gray .jt-swatch {
   background: #d9d9d9;
}
.jt-select__banners {
   display: grid;
   grid-template-columns: 1fr 1fr;
   width: 60%;
   max-width: 1030px;
   margin: 96px auto 0;
   gap: 24px;
}
@media (max-width: 767px) {
   .jt-select {
      margin-bottom: 90px;
   }
   .jt-select .jt-heading {
      margin-bottom: 45px !important;
   }
   .jt-colors {
      width: 68%;
      max-width: 320px;
   }
   .jt-colors h3 {
      font-size: 11px;
      margin-bottom: 14px;
   }
   .jt-colors ul {
      grid-template-columns: 1fr 1fr;
      gap: 10px 20px;
   }
   .jt-colors a {
      gap: 15px;
      font-size: 11px;
   }
   .jt-swatch {
      width: 24px;
      height: 24px;
      flex-basis: 24px;
   }
   .jt-select .jt-more {
      margin-top: 44px;
   }
   .jt-select__banners {
      display: grid;
      grid-template-columns: 1fr;
      width: calc(100% - 38px);
      gap: 14px;
      margin-top: 80px;
   }
}
@media (max-width: 359px) {
   .jt-colors {
      width: 78%;
   }
}

/* 06 特集 */
.jt-feature-grid {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 16px;
}
.jt-feature-grid a {
   display: block;
}
.jt-features {
   margin-bottom: 220px;
   padding: 150px 0 170px;
   border-bottom-left-radius: 400px;
   background: var(--jt-pale);
}
.jt-features .jt-feature-grid>li:nth-child(n+7) {
   display: none;
}
.jt-features .jt-more {
   margin-top: 100px;
}
@media (max-width: 767px) {
   .jt-feature-grid {
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: 10px;
   }
   .jt-features .jt-feature-grid>li:nth-child(n+5) {
      display: none;
   }
   .jt-features {
      margin-bottom: 52px;
      padding: 60px 0 116px;
      border-bottom-left-radius: 100px;
   }
   .jt-features .jt-more {
      margin-top: 62px;
   }
}

/* 07 おすすめ：プレビュー・commerce creator 商品パーツ */
/* 本番のレイアウトパーツに jt-part jt-recommend jt-container jt-recommend-system を設定。
   現行と同じ標準 Slick を使用。本番は再初期化せず、ローカル見本だけ common.js で初期化。 */
.jt-recommend-heading {
   text-align: center;
   margin: 0 auto 56px;
}
.jt-recommend-heading h2 {
   font-size: clamp(20px, 2.1vw, 34px);
   letter-spacing: .08em;
}
.jt-recommend-heading p {
   margin-top: 12px;
   font-size: clamp(12px, 1.4vw, 22px);
}
.jt-recommend__list h3 {
   font-size: 17px;
   line-height: 1.5;
   margin-top: 30px;
}
.jt-recommend__list p {
   margin-top: 20px;
   font-size: 17px;
}
.jt-recommend__list img {
   aspect-ratio: 1;
   object-fit: cover;
}
.jt-recommend {
   margin-bottom: 170px;
}
.jt-recommend-system .fs-c-productListCarousel {
   display: flex;
   align-items: center;
   margin: 0;
   padding: 0;
}
.jt-recommend-system .fs-c-productListCarousel__list {
   display: block;
   min-width: 0;
   margin: 0;
   width: calc(100% - 96px);
}
.jt-recommend-system .fs-c-productListCarousel__list__item {
   padding: 0 8px;
   margin: 0;
   min-width: 0;
   max-width: none;
}
.jt-recommend-system .fs-c-productListItem__productName {
   font-size: 17px;
   font-weight: 400;
   line-height: 1.5;
   text-align: left;
   margin: 24px 0 16px;
}
.jt-recommend-system .fs-c-productName__copy, .jt-recommend-system .fs-c-productName__name {
   display: block;
}
.jt-recommend-system .fs-c-productListItem__imageContainer {
   margin: 0;
}
.jt-recommend-system .fs-c-productImage__image {
   aspect-ratio: 1;
   object-fit: cover;
}
.jt-recommend-system .fs-c-productPrices {
   justify-content: flex-start;
   text-align: left;
}
.jt-recommend-system .fs-c-productPrice__main__label, .jt-recommend-system .fs-c-productListItem__control {
   display: none;
}
.jt-recommend-system .fs-c-productPrice, .jt-recommend-system .fs-c-price__value {
   font-size: 17px;
   font-weight: 400;
   color: #494949;
}
.jt-recommend-system {
   container-type: inline-size;
}
.jt-recommend-system .slick-slide {
   width: calc((70vw - 96px) / 3);
   width: calc((100cqw - 96px) / 3);
   max-width: none;
   margin: 0;
}
.jt-recommend-system .fs-c-productListCarousel__list__itemTrack:not(.slick-initialized) {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
}
.jt-recommend-system .fs-c-productName__name {
   font-size: inherit;
   font-weight: 400;
}
.jt-recommend-system .fs-c-price__currencyMark {
   color: inherit;
}
/* ローカル見本用の Slick 基本スタイル。本番の標準CSSには干渉しない。 */
[data-jt-recommend-preview] .slick-slider {
   position: relative;
   touch-action: pan-y;
   user-select: none;
   -webkit-tap-highlight-color: transparent;
}
[data-jt-recommend-preview] .slick-list {
   position: relative;
   display: block;
   overflow: hidden;
   margin: 0;
   padding: 0;
}
[data-jt-recommend-preview] .slick-track {
   position: relative;
   display: block;
   top: 0;
   left: 0;
   margin-inline: auto;
}
[data-jt-recommend-preview] .slick-track::before,
[data-jt-recommend-preview] .slick-track::after {
   display: table;
   content: "";
}
[data-jt-recommend-preview] .slick-track::after {
   clear: both;
}
[data-jt-recommend-preview] .slick-slide {
   display: block;
   float: left;
   min-height: 1px;
}
[data-jt-recommend-preview] .slick-list.dragging {
   cursor: grabbing;
}
[data-jt-recommend-preview] .fs-c-productListCarousel__ctrl {
   position: relative;
   display: block;
   flex: 0 0 48px;
   width: 48px;
   height: 44px;
   padding: 0;
}
/* [data-jt-recommend-preview] .fs-c-productListCarousel__ctrl::before {
   content: "";
   display: block;
   width: 12px;
   height: 12px;
   margin: auto;
   border-top: 2px solid currentColor;
   border-right: 2px solid currentColor;
   transform: rotate(45deg);
}
[data-jt-recommend-preview] .fs-c-productListCarousel__ctrl--prev::before {
   transform: rotate(-135deg);
} */
[data-jt-recommend-preview] .slick-disabled {
   opacity: .3;
   cursor: default;
}
[data-jt-recommend-preview] .slick-hidden {
   display: none;
}
@media (max-width: 767px) {
   .jt-recommend-heading {
      margin-bottom: 28px;
   }
   .jt-recommend-heading h2 {
      font-size: 18px;
   }
   .jt-recommend-heading p {
      margin-top: 8px;
      font-size: 10px;
      letter-spacing: .02em;
   }
   .jt-recommend {
      width: 100%;
      margin-bottom: 92px;
   }
   .jt-recommend__list h3 {
      margin-top: 14px;
      font-size: 11px;
      letter-spacing: .015em;
   }
   .jt-recommend__list p {
      margin-top: 10px;
      font-size: 11px;
      letter-spacing: 0;
   }
   .jt-recommend-system .fs-c-productListItem__productName {
      font-size: 11px !important;
      margin: 14px 0 10px;
   }
   .jt-recommend-system .fs-c-productListItem__productName .fs-c-productName__copy {
      font-size: 11px;
   }
   .jt-recommend-system .fs-c-productPrice, .jt-recommend-system .fs-c-price__value {
      font-size: 11px;
   }
   .jt-recommend-system .fs-c-productListCarousel__list {
      width: calc(100% - 64px);
   }
   .jt-recommend-system .slick-slide {
      width: 160px;
   }
   .jt-recommend-system .fs-c-productListCarousel__list__itemTrack:not(.slick-initialized) {
      grid-template-columns: repeat(2, minmax(0, 1fr));
   }
   [data-jt-recommend-preview] .fs-c-productListCarousel__ctrl {
      flex-basis: 32px;
      width: 32px;
   }
}

/* 08 ガイドバナー */
.jt-support {
   width: 38%;
   max-width: 650px;
   display: grid;
   gap: 28px;
   margin: 0 auto 200px;
}
@media (max-width: 767px) {
   .jt-support {
      width: calc(100% - 40px);
      gap: 18px;
      margin-bottom: 96px;
   }
}

/* 09 Instagram */
.jt-instagram {
   text-align: center;
   margin-bottom: 180px;
}
.jt-instagram h2 {
   display: flex;
   align-items: center;
   justify-content: center;
   gap: 22px;
   font-family: "Intel One Mono", monospace;
   font-size: 30px;
   letter-spacing: .16em;
}
.jt-instagram h2 .jt-icon {
   width: 62px;
   height: 62px;
   stroke-width: 2.5;
}
.jt-instagram p {
   margin-top: 28px;
   font-size: 18px;
}
.jt-instagram__account {
   display: inline-block;
   margin-top: 14px;
   font-family: "Intel One Mono", monospace;
   font-size: 19px;
   letter-spacing: .15em;
   text-decoration: underline !important;
   text-underline-offset: 4px;
}
.jt-instagram__feed {
   width: calc(100% - 40px);
   max-width: 1100px;
   margin: 76px auto 0;
   overflow: hidden;
}
.jt-instagram iframe {
   width: 100%;
   border: 0;
   display: block;
}
@media (max-width: 767px) {
   .jt-instagram {
      margin-bottom: 62px;
   }
   .jt-instagram h2 {
      gap: 12px;
      font-size: 19px;
   }
   .jt-instagram h2 .jt-icon {
      width: 30px;
      height: 30px;
   }
   .jt-instagram p {
      margin-top: 18px;
      font-size: 11px;
   }
   .jt-instagram__account {
      font-size: 12px;
      margin-top: 8px;
   }
   .jt-instagram__feed {
      width: calc(100% - 40px);
      margin-top: 42px;
   }
}

/* 10 SNS */
.jt-sns {
   text-align: center;
   margin: 0 auto 140px;
}
.jt-sns .jt-heading {
   margin-bottom: 60px !important;
}
.jt-sns__links {
   display: flex;
   justify-content: center;
   gap: 16px;
}
.jt-sns__links a {
   display: grid;
   place-items: center;
   background: #494949;
   color: #fff;
   width: 112px;
   height: 112px;
   border-radius: 50%;
}
.jt-sns__links .jt-icon {
   width: 76px;
   height: 76px;
   stroke-width: 2;
}
@media (max-width: 767px) {
   .jt-sns {
      margin-bottom: 100px;
   }
   .jt-sns .jt-heading {
      margin-bottom: 44px !important;
   }
   .jt-sns__links a {
      width: 74px;
      height: 74px;
   }
   .jt-sns__links .jt-icon {
      width: 50px;
      height: 50px;
   }
}

/* 11 ブランドストーリー */
.jt-story {
   text-align: center;
   width: 80%;
   max-width: 1100px;
   margin: 0 auto 170px;
}
.jt-story h2 {
   font-size: clamp(26px, 2.9vw, 46px);
   font-weight: 400;
   line-height: 1.65;
   margin-bottom: 54px;
}
.jt-story p {
   font-size: 15px;
   line-height: 2;
   letter-spacing: .015em;
}
.jt-story__more {
   display: none;
}
@media (max-width: 767px) {
   .jt-story {
      width: calc(100% - 58px);
      margin-bottom: 44px;
   }
   .jt-story h2 {
      font-size: 22px;
      letter-spacing: .035em;
      line-height: 1.7;
      margin-bottom: 38px;
   }
   .jt-story p {
      font-size: 15px;
      line-height: 2.1;
      letter-spacing: .015em;
      text-align: left;
   }
   .jt-story__more {
      display: block;
      text-align: right;
      font-size: 11px;
      text-decoration: underline !important;
      text-underline-offset: 3px;
      margin-top: 65px;
   }
}
@media (max-width: 359px) {
   .jt-story h2 {
      font-size: 19px;
   }
}

/* 12 既存フッター（プレビュー専用） */
/* 公開 CSS を .jt-existing-footer 内だけに適用。本番は既存フッターをそのまま使用。 */
.jt-existing-footer {
   color: #111;
   font: 14px/1.5 "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Meiryo, メイリオ, Osaka, "MS PGothic", arial, helvetica, sans-serif;
   background: #fff;
}
.jt-existing-footer * {
   box-sizing: border-box;
}
.jt-existing-footer :where(h2, h3, p, ul, ol) {
   padding: 0;
   margin: 0;
}
.jt-existing-footer :where(ul, ol) {
   list-style: none;
}
.jt-existing-footer a {
   color: #111;
   text-decoration: none;
}
.jt-existing-footer a:hover {
   opacity: .6;
}
.jt-existing-footer img {
   max-width: 100%;
   height: auto;
   vertical-align: middle;
}
.jt-existing-footer .flex {
   display: flex;
}
.jt-existing-footer h2.main-ttl {
   font-size: 46px;
   font-weight: 100;
   letter-spacing: .12em;
   text-align: center;
   margin-bottom: 42px;
}
.jt-existing-footer h2.main-ttl span {
   display: block;
   font-size: 17px;
   letter-spacing: .1em;
}
.jt-existing-footer .footer_guide_section h2.main-ttl {
   position: absolute;
   left: 50%;
   top: -30px;
   transform: translateX(-50%);
}
.jt-existing-footer .link_btn {
   display: flex;
   align-items: center;
   justify-content: center;
   background: #DD8921;
   color: #fff;
   position: relative;
}
.jt-existing-footer .footer_guide_section {
   background: #F8F7F2;
   padding-top: 75px;
   padding-bottom: 75px;
   border-bottom-right-radius: 140px;
   position: relative;
}
.jt-existing-footer .footer_guide_list {
   display: flex;
   max-width: 1100px;
   gap: 26px;
   padding: 0;
   margin: 0 auto;
}
.jt-existing-footer .footer_guide_list li {
   width: 100%;
}
.jt-existing-footer .footer_guide_list li a {
   display: flex;
   align-items: center;
   gap: 29px;
   background: #fff;
   height: 108px;
   padding: 0 23px;
   border-top-right-radius: 30px;
}
.jt-existing-footer .footer_guide_list_content h3 {
   font-size: 15px !important;
   font-weight: 600;
   margin-bottom: 5px;
   letter-spacing: 0.1em;
}
.jt-existing-footer .footer_guide_list_content p {
   font-size: 13px;
   line-height: 1.385;
   letter-spacing: 0.1em;
}
.jt-existing-footer .footer_guide_list li a .bnr_arrow {
   margin: 0 0 0 auto;
}
.jt-existing-footer .footer_bottom {
   padding: 46px 47px 122px;
   justify-content: space-between;
}
.jt-existing-footer .footer_bottom_left {
   gap: 18px;
}
.jt-existing-footer .footer_bottom_left .f_link_list {
   margin: 0;
   padding: 0;
   width: 20vw;
}
.jt-existing-footer .footer_bottom_left .f_link_list li {
   font-size: 13px;
   font-weight: 300;
}
.jt-existing-footer .footer_bottom_left .f_link_list li a {
   color: #222;
}
.jt-existing-footer .f_link_list>li+li {
   margin-top: 15px;
}
.jt-existing-footer .footer_bottom_right {
   gap: 10vw;
}
.jt-existing-footer .footer_bottom_add {
   color: #222;
}
.jt-existing-footer .footer_bottom_add p:first-child {
   font-size: 14px;
   font-weight: 600;
}
.jt-existing-footer .footer_bottom_add .f_tel {
   font-size: 26px;
   font-weight: bold;
   letter-spacing: 0.02em;
   color: #111;
}
.jt-existing-footer .footer_bottom_add .f_tel span {
   font-size: 17px;
}
.jt-existing-footer .footer_bottom_add .time {
   text-align: center;
   font-size: 13px;
   font-weight: 300;
   letter-spacing: 0.05em;
   margin-bottom: 28px !important;
}
.jt-existing-footer .link_btn.footer_mail_btn {
   gap: 22px;
   width: 220px;
   height: 60px;
   border-radius: 32px;
   font-size: 14px;
   letter-spacing: 0.05em;
   font-weight: 600;
   margin: 28px auto 0;
   color: #fff !important;
}
.jt-existing-footer .link_btn.footer_mail_btn::after {
   display: none;
}
.jt-existing-footer .footer_bottom_logo p {
   font-size: 13px;
   color: #0D0D0D;
   margin-bottom: 9px !important;
}
.jt-existing-footer .footer_bottom_logo .sns {
   margin: 33px 0 12px;
   padding: 0;
   display: flex;
   justify-content: flex-end;
}
.jt-existing-footer .footer_bottom_logo .copy {
   text-align: right;
   font-weight: 300;
}
.jt-existing-footer .footer_mail_btn {
   margin-top: 0;
}
.jt-existing-footer .footer_bottom_logo, .jt-existing-footer .footer_bottom_logo p {
   text-align: right;
}
@media screen and (max-width: 1200px) {
   .jt-existing-footer .footer_guide_section {
      padding-left: 20px;
      padding-right: 20px;
      border-bottom-right-radius: 60px;
   }
   .jt-existing-footer .footer_bottom_left .f_link_list {
      width: 16vw;
   }
   .jt-existing-footer .footer_bottom_right {
      gap: 5vw;
   }
   .jt-existing-footer .footer_guide_list {
      flex-flow: column;
      max-width: 500px;
      gap: 12px;
   }
}
@media screen and (max-width: 786px) {
   .jt-existing-footer .footer_guide_list li a {
      gap: 21px;
      height: 100px;
   }
   .jt-existing-footer .footer_bottom {
      flex-flow: column;
      gap: 60px;
      padding: 68px 20px 61px;
   }
   .jt-existing-footer .footer_bottom_left .f_link_list {
      width: 50%;
   }
   .jt-existing-footer .footer_bottom_right {
      flex-flow: column;
      gap: 55px;
      align-items: center;
   }
   .jt-existing-footer .footer_bottom_add p:first-child {
      text-align: center;
   }
   .jt-existing-footer .footer_bottom_logo .sns {
      margin: 43px 0 20px;
      justify-content: center;
   }
   .jt-existing-footer .footer_bottom_logo .copy {
      text-align: center;
   }
}
@media (max-width: 1200px) {
   .jt-existing-footer h2.main-ttl {
      font-size: 37px;
      white-space: nowrap;
   }
   .jt-existing-footer h2.main-ttl span {
      font-size: 14px;
   }
   .jt-existing-footer .footer_guide_section h2.main-ttl {
      top: -20px;
   }
}
@media (max-width: 786px) {
   .jt-existing-footer h2.main-ttl {
      font-size: 32px;
      letter-spacing: .02em;
   }
   .jt-existing-footer h2.main-ttl span {
      font-size: 15px;
   }
   .jt-existing-footer .footer_bottom_logo, .jt-existing-footer .footer_bottom_logo p {
      text-align: center;
   }
}

/* 13 フローティングサンプルバナー */
.jt-floating {
   position: fixed;
   bottom: 5%;
   left: 3.4%;
   z-index: 20;
}
.jt-floating a {
   display: flex;
   flex-direction: column;
   justify-content: center;
   text-align: center;
   width: clamp(92px, 10.6vw, 184px);
   aspect-ratio: 1;
   border-radius: 50%;
   background: #a57879;
   color: #fff;
   font-size: clamp(15px, 1.55vw, 26px);
   line-height: 1.25;
   box-shadow: 0 1px 4px #00000006;
}
@media (max-width: 767px) {
   .jt-floating {
      left: 18px;
   }
   .jt-floating a {
      width: 106px;
      font-size: 16px;
   }
}
