/* CSS Custom Properties (variables) */
:root {
  /* Base colors */
  --color-white: #FFFFFF;
  --color-black: #000000;
  
  /* Theme colors */
  --color-bg: #898371;
  --color-green: #90ACA7;
  --color-dark: #4B4B4B;
  --color-gray: #9B9A87;
  --color-gray-text: #6C6B5D;
  --color-gray-border: #EAE9E1;
  --color-yellow: #A89234;
  --color-yellow-accent: #BCAD6E;
  --color-red: #EA0000;
}

/* Base styles */
html {
  font-size: 62.5%;
}
body {
  width: 100%;
  font-family: 'Noto Sans JP', sans-serif;
  font-feature-settings: "palt";
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.5;
  background-color: var(--color-bg);
  color: var(--color-white);
}
img {
  width: 100%;
  max-width: 100%;
  height: auto;
}
video{
  width: 100%;
}
a{
  display: block;
}
@media (min-width: 768px) {
  a[href*="tel:"] {
  pointer-events: none;
  cursor: default;
  text-decoration: none;
  }
}
p{
  font-size: 14px;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 2;
}
@media (max-width:767px){
  p{
    font-size: 13.5px;
    line-height: 2.074;
  }
}

/* Media Queries */
.pc-only {
  display: block;
}
.sp-only {
  display: none;
}
.lm-only {
  display: none;
}
.lm-over {
  display: block;
}
@media (max-width: 960px) {
  .lm-only {
    display: block;
  }
  .lm-over {
    display: none !important;
  }
}
@media (max-width: 767px) {
  .sp-only {
    display: block;
  }
  .pc-only {
    display: none !important;
  }
}

/* ==================================================
    共通
================================================== */
.en{
  font-family: 'Lato', sans-serif;
}
.jp{
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
}
/* 背景色 */
.l-bg__dark{
  background: var(--color-dark);
}
.l-bg__yellow{
  background: var(--color-yellow);
}
.l-bg__green{
  background: var(--color-green);
}
/* ボタン */
.c-btn__square{
  max-width: 315px;
  min-width: 300px;
  width: 18.31vw;
  height: 100%;
  background-color: var(--color-green);
  color: var(--color-white);
  font-size: clamp(16px,1.05vw,18px);
  font-weight: 700;
  padding: 27px;
  text-align: center;
}
.c-btn__square.--dark{
  background-color: var(--color-gray-text);
}
.c-btn__square.--gray{
  background-color: var(--color-gray);
}
.c-btn__square.--red{
  background-color: #B14244;
}
.c-btn__square.--download{
  padding: 12px 27px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 40px;
}
.c-btn__square.--download img{
  max-width: 20px;
}
@media (max-width:767px){
  .c-btn__square{
    padding: 18px;
  }
  .c-btn__square.--download{
    padding: 18px 20px;
    gap: 17px;
  }
  .c-btn__square.--download img{
    max-width: 13px;
  }
}
.c-btn__square.--white{
  background-color: var(--color-white);
  color: var(--color-gray-text);
  padding: 2px 12px;
  border: 1px solid var(--color-gray-text);
  font-size: 12px;
  font-weight: 500;
  min-width: auto;
  width: fit-content;
}
.c-btn__square.--white.--to-link{
  font-size: 14px;
  padding-right: 30px;
  padding: 10px 25px;
  letter-spacing: 0.12em;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.triangle{
  content: "";
  display: inline-block;
  transform: translateY(20%);
  border: 3px solid transparent;
  border-top: 5px solid var(--color-gray-text);
}
/* ボタン-contact */
.c-btn__contact{
  max-width: 242px;
  width: 100%;
  background: var(--color-white);
  padding: 22.5px;
  color: var(--color-yellow);
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  border-radius: 50vh;
  border: 1px solid var(--color-yellow);
  margin: 0 auto;
  transition: background .4s ease;
  margin-top: 80px;
}
.c-btn__contact:hover{
  background: var(--color-yellow);
  color: var(--color-white);
  border: 1px solid var(--color-white);
}
@media (max-width:767px){
  .c-btn__contact{
    font-size: 16px;
    padding: 18px;
  }
}
/* ボタン 矢印 */
.c-btn__arrow{
  font-family: 'Lato', sans-serif;
  font-size: clamp(18px,1.28vw,22px);
  font-weight: 400;
  letter-spacing: 0.15em;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.c-btn__arrow .arrow-icon{
  width: 20px;
  height: 16.15px;
  transform: rotate(-45deg);
  margin-top: 8px;
  margin-right: 3px;
}
@media (max-width:767px){
  .c-btn__arrow{
    font-size: 18px;
  }
}
/* ボタン-view-all */
.c-btn__arrow.--view-all{
  font-size: 17px;
  width: fit-content;
  gap: 25px;
  text-align: right;
  border-bottom: 1px solid var(--color-white);
  padding-bottom: 12px;
  margin: 0 0 0 auto;
}
@media (max-width:767px){
  .c-btn__arrow.--view-all{
    margin: 0 auto;
    font-size: 16px;
    padding-bottom: 7px;
    gap: 30px;
    max-width: inherit;
  }
}
/* ボタン-nav */
.c-btn__nav{
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 50px;
  max-width: 1000px;
  margin: 0 auto 50px;
}
@media (max-width:960px){
  .c-btn__nav .c-btn__square.--white.--to-link{
    padding: 11px 25px;
    font-size: 12px;
  }
  .c-btn__nav.column{
    flex-direction: column;
    align-items: center;
    gap: 10px;
  }
  .c-btn__nav.column .c-btn__square.--white.--to-link{
    min-width: 216px;
  }
}
@media (max-width:767px){
  .c-btn__nav{
    margin: 0 30px;
    gap: 15px;
    justify-content: start;
  }
}

/* タイトル */
.c-ttl-deco{
  display: flex;
  align-items: start;
  gap: 10px;
}
.c-ttl{
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 80px;
}
.c-ttl.left{
  align-items: flex-start;
}
.c-ttl__img{
  width: 35px;
  margin-top: 8px;
  margin-bottom: 18px;
}
.c-ttl__text{
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
}
.c-ttl__en{
  font-size:22px;
  font-weight: 700;
  margin-bottom: 6px;
  letter-spacing: 0.1em;
}
.c-ttl__jp{
  font-size: 14px;
  letter-spacing: 0.15em;
  font-weight: 500;
}
.c-ttl__flex{
  display: flex;
  gap: 3px;
}
.c-ttl-deco:has(h1) .c-ttl__img{
  width: clamp(35px,3.78vw,65px);
}
h1.c-ttl{
  margin-bottom: 0;
}
h1 .c-ttl__en{
  font-size: clamp(32px,3.49vw,60px);
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.2;
  margin-bottom: clamp(15px,2.33vw,30px);
}
h1 .c-ttl__jp{
  font-size: clamp(13px,0.93vw,16px);
}
.c-ttl__border{
  border-left: 5px solid var(--color-yellow-accent);
  padding-left: 10px;
  margin-bottom: 40px;
  font-size: clamp(16px,1.05vw,18px);
  font-weight: 500;
  letter-spacing: 0.12em;
}
@media (max-width:767px){
  .c-ttl{
    margin-bottom: 22px;
  }
  .c-ttl-deco{
    gap: 4px;
  }
  .c-ttl__img{
    width: 30px;
    margin-top: 5px;
    margin-bottom: 12px;
  }
  .c-ttl__en{
    font-size: 20px;
    letter-spacing: 0.1em;
    margin-bottom: 3px;
  }
  .c-ttl__jp{
    font-size: 12px;
    letter-spacing: 0.15em;
  }
  .c-ttl:has(.c-ttl__text){
    flex-direction: row;
    align-items: start;
    gap: 5px;
  }
  .c-ttl__text{
    align-items: start;
  }
  .c-ttl-deco:has(h1){
    gap: 11px;
  }
  h3 .c-ttl__en{
    font-size: 18px;
    margin-bottom: 5px;
  }
}
@media (max-width:389px){
  h1 .c-ttl__en{
    font-size: clamp(25px, 2vw, 32px);
  }
}
/* ファーストビュー */
.c-fv-bg {
  position: absolute;
  top: 5px;
  right: clamp(0px, 6.98vw, 120px);
  z-index: -1;
  width: clamp(63px, 7.97vw, 124px);
}
@media (max-width:960px){
  .c-fv-bg{
    right: 13px;
    top: 64px;
  }
}
.c-fv{
  display: flex;
  align-items: center;
  gap: clamp(20px,4.94vw,79px);
  margin-bottom: 130px;
}
.c-fv__img{
  width: 56%;
  height: 47.09vw;
  max-height: 810px;
}
.c-fv .c-ttl-deco{
  width: 50%;
  gap: 9px;
  margin-top: -3px;
}
@media (max-width:767px){
  .c-fv{
    margin-bottom: 60px;
  }
  .c-fv__img{
    width: 33%;
    max-width: 120px;
    height: 600px;
  }
}
/* ニュース */
.c-news__list{
  max-width: 1350px;
  margin: 0 auto;
}
.c-news__item a{
  padding: 0 50px 27px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid var(--color-gray);
  margin-bottom: 60px;
  gap: 20px;
}
.c-news__date-cate{
  display: flex;
  align-items: center;
}
.c-news__date{
  max-width: 180px;
  min-width: 100px;
  width:10.47vw;
}
.c-news__category.c-btn__square.--white{
  border: none;
  background-color: #F5F5F5;
  color: var(--color-dark);
}
.c-news__item-inner {
  display: flex;
  align-items: center;
  gap: 30px;
  justify-content: space-between;
  width: 69%;
}
.c-news__title{
  width: 59%;
}
.c-news__arrow{
  width: 20px;
}
@media (max-width:767px){
  .c-news__item a{
    flex-direction: column;
    align-items: start;
    padding: 0 0 29px;
    gap: 16px;
    margin-bottom: 29px;
  }
  .c-news__item-inner{
    width: 100%;
    gap: 15px;
  }
  .c-news__date{
    font-size: 12px;
  }
  .c-news__category.c-btn__square.--white{
    font-size: 10px;
    line-height: 0.5;
    padding: 8px 12px;
  }
  .c-news__title{
    width: 100%;
    font-size: 13px;
  }
}
/* 2カラム */
.c-two-column{
  display: flex;
  align-items: center;
}
.c-two-column__left,
.c-two-column__right{
  width: 50%;
}
.c-two-column__right{
  margin-bottom: -100px;
}
@media (max-width:1200px){
  .c-two-column .c-ttl.left{
    margin-bottom: 30px;
  }
}
@media (min-width:767px){
  .left-inner.l-content__inner{
    max-width:  700px;
    padding: 0 40px;
    margin: 0 auto;
  }
}
@media (max-width:960px){
  .c-two-column{
    flex-direction: column;
  }
  .c-two-column__left,
  .c-two-column__right{
    width: 100%;
  }
  .left-inner.l-content__inner{
    padding: 100px 30px;
  }
}
@media (max-width:767px){
  .c-two-column .c-ttl.left {
    margin-bottom: 52px;
  }
}
/* スライド */
.c-swiper_wrap{
  position: relative;
}
.c-swiper_btn_wrap {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100px;
}
.c-swiper_wrap .swiper-button-prev::after,
.c-swiper_wrap .swiper-button-next::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  height: 40px;
  width: 40px;
  margin: auto;
}
.c-swiper_wrap .swiper-button-prev, 
.c-swiper_wrap .swiper-button-next {
    position: static;
    height: 40px;
    width: 40px;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}
.c-swiper_wrap .swiper-button-prev::after {
  background-image: url(../img/common/arrow_slider_prev.png);
}
.c-swiper_wrap .swiper-button-next::after {
  background-image: url(../img/common/arrow_slider_next.png);
}
.c-swiper__title{
  font-size: clamp(18px,1.28vw,22px);
  font-weight: 400;
  margin-top: 29px;
}
.c-thumbnail__img {
  aspect-ratio: 1/1;
  overflow: hidden;
  width: 100%;
}
.c-thumbnail__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition:1s all;
}
.c-swiper_wrap a:hover img,
.c-thumbnail__img:hover img{
  transform:scale(1.1,1.1);
  transition:1s all;
}
@media (min-width:961px){
  .c-swiper_wrap{
    padding-bottom: 96px;
  }
  .c-swiper_btn_wrap {
    right: 120px;
    bottom: 0;
  }
}
@media (max-width:960px){
  .c-swiper_wrap{
    padding-top: 60px;
  }
  .c-swiper_btn_wrap{
    right: 30px;
    top: 15px;
  }
}
@media (max-width:767px){
  .c-swiper_wrap{
    padding-top: 43px;
  }
  .c-swiper_btn_wrap {
    width: 60px;
    top: 31px;
  }
  .c-swiper_wrap .swiper-button-prev::after,
  .c-swiper_wrap .swiper-button-next::after {
    height: 24px;
    width: 24px;
  }
  .c-swiper_wrap .swiper-button-prev, 
  .c-swiper_wrap .swiper-button-next {
    height: 24px;
    width: 24px;
  }
  .c-swiper__title{
    margin-top: 11px;
  }
}
/* アニメーション
================================================== */
/* フェードアップ */
.js-fadeIn {
  opacity: 0;
  transform: translateY(20px);
}
.js-fadeIn.active {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1s, transform 1s;
}
/* 文字回転 */
.js-rotate {
  position: relative;
  overflow: hidden;
}
.js-rotate__text {
  display: block;
  position: relative;
  overflow: hidden;
}
.js-rotate__text--inner {
  display: inline-block;
  position: relative;
  transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.js-rotate__text--inner:before {
  content: attr(data-text);
  position: absolute;
  left: 0;
  top: 100%;
  width: 100%;
  opacity: 0;
  transform: translateY(0);
  transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}
.js-rotate__text.mHover .js-rotate__text--inner {
  transform: translateY(-100%); 
}
.js-rotate__text.mHover .js-rotate__text--inner:before {
  opacity: 1;
  transform: translateY(0%);
}
/* パララックス */
.parallax-separate {
  overflow: hidden;
}
.js-parallax img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.js-parallax {
  --parallax-y: -100;
  transform: translateY(0);
  will-change: transform;
  transition: transform 0.1s linear;
}

.js-parallax-active {
  transition: transform 0.3s ease-out;
}

@media (max-width: 767px) {
  .js-parallax {
    --parallax-y: -50;
  }
}

/* コンテンツ共通
================================================== */
.l-content{
  max-width: 1060px;
  margin: 0 auto;
  padding: 0 30px;
}
.l-content__inner{
  padding: 200px 40px;
  position: relative;
}
@media (min-width:1720px){
  .l-content__inner{
    padding: 200px 120px;
  }
}
@media (max-width: 767px) {
  .l-content__inner{
    padding: 100px 30px;
  }
}
/* スライダー */
.l-content__slider{
  padding: 100px 0 100px 6.98vw;
  margin: 0 0 0 auto;
}
@media (min-width:961px){
  .l-content__slider{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 50px;
  }
  .l-content__slider .c-ttl{
    margin-top: 98px;
  }
  .l-content__slider .c-btn__arrow.--view-all{
    margin-top: 170px;
  }
  .l-content__slider--left{
    width: 18%;
    position: relative;
  }
  .l-content__slider--right{
    width: 72%;
  }
}
@media (max-width:960px){
  .l-content__slider{
    position: relative;
    padding-bottom: 210px;
  }
  .l-content__slider .c-btn__arrow.--view-all{
    position: absolute;
    left: 50%;
    bottom: 90px;
    transform: translateX(-50%);
  }
}
@media (max-width:767px){
  .l-content__slider{
    padding: 50px 0 100px 30px;
    padding-bottom: 189px;
  }
  .l-content__slider .c-btn__arrow.--view-all{
    bottom: 100px;
  }
}

/* ==================================================
    header
================================================== */
.l-header{
  height: 80px;
  position: relative;
  font-family: 'Lato', sans-serif;
  color: var(--color-white);
}
.l-header .l-header__logo{
  width: 100px;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
  position: fixed;
  z-index: 20;
}
@media (max-width:767px){
  .l-header{
    height: inherit;
  }
  .l-header .l-header__logo{
    width: 60px;
    height: 60px;
  }
}
/* PCナビゲーション */
.l-header .l-header__nav ul{
  width: 100%;
  display: flex;
  position: absolute;
  justify-content: center;
  gap: 10px;
  top: 50%;
  transform: translateY(-50%);
}
.l-header .l-header__nav ul li{
  padding: 0 23.5px;
  font-size: 15px;
  font-weight: 900;
  text-align: center;
  position: relative;
}
.l-header .l-header__nav ul li a{
  transition: opacity .4s ease;
}
.l-header .l-header__nav ul li img{
  max-width: 50px;
  width: 100%;
  transition: opacity .5s ease;
}
.l-header .l-header__nav ul li:hover img{
  opacity: 0.5;
}
.l-header .l-header__nav .js-header-nav-text{
  opacity: 0;
  font-size: 15px;
  font-weight: 900;
  transition: opacity .4s ease;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.l-header .l-header__nav .js-header-nav-text.active{
  opacity: 1;
}
@media (max-width: 960px) {
  .l-header .l-header__nav ul{
    display: none;
  }

}
/* メニュー */
.l-header .js-menue-btn{
  font-size: 14px;
  font-weight: 700;
  width: 120px;
  height: 80px;
  position: fixed;
  right: 0;
  top: 0;
  text-align: center;
  z-index: 100;
}
.l-header .js-menue-btn > span{
  padding-left: 10px;
  position: relative;
}
.l-header .js-menue-btn > span::before{
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50vh;
  position: absolute;
  top: 50%;
  left: 24px;
  transform: translateY(-50%);
}
.l-header .js-menue-btn.open-btn > span::before{
  background: var(--color-yellow);
}
.l-header .js-menue-btn.close-btn > span::before{
  background: var(--color-gray-border);
}
@media (max-width:767px){
  .l-header .js-menue-btn{
    width: 90px;
    height: 60px;
  }
  .l-header .js-menue-btn{
    font-size: 12px;
  }
  .l-header .js-menue-btn > span::before {
    left: 17px;
  }
}
/* メニューの中身 */
.l-header .l-menue__nav{
  display: none;
  position: fixed;
  z-index: 100;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100svh;
  background-color: var(--color-yellow);
  font-family: 'Lato', sans-serif;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.l-header .l-menue__nav-inner{
  margin: 9.3vw 0 0 11.63vw;
  position: relative;
}
@media (min-width:1720px){
  .l-header .l-menue__nav-inner{
    margin: 160px 0 0 200px;
  }
}
@media (max-width:767px){
  .l-header .l-menue__nav-inner{
    margin: 95px 0 0 40px;
  }
}
.l-header .l-menue__nav-inner a{
transition: opacity .5s ease;
}
.l-header .l-menue__nav-inner a:hover{
  opacity: 0.5;
}
.l-header .l-menue__nav-list{
  width: fit-content;
}
.l-header .l-menue__nav-list li{
  margin-bottom: 31px;
}
.l-header .l-menue__nav-list li a{
  display: flex;
  align-items: center;
  font-size: clamp(26px,2.09vw,36px);
  font-weight: 500;
}
.l-header .l-menue__nav-list li img{
  width: 2.91vw;
  min-width: 30px;
  max-width: 50px;
  margin-right: 1.16vw;
}
@media (min-width:1720px){
  .l-header .l-menue__nav-list li img{
    margin-right: 20px;
  }
}
.l-header .l-menue__nav-inner-links{
  margin-top: 58px;
  margin-left: 10px;
  font-size: 18px;
  font-weight: 500;
}
.l-header .l-menue__nav-inner-links a{
  margin-bottom: 28px;
  width: fit-content;
}
.l-header .link-icon {
  width: 12px;
  margin-left: 13px;
}
.l-header a:has(.link-icon) {
  display: flex;
  align-items: center;
}
.l-header .instagram-icon{
  max-width: 30px;
}
.l-header a:has(.instagram-icon){
  margin-top: 36px;
}
@media (min-width:768px){
  .l-header .l-menue__nav-inner-shop{
    position: absolute;
    top: 0;
    left: 62%;
    transform: translateX(-50%);
  }
}
.l-header .l-menue__nav-inner-shop a{
  margin-bottom: 30px;
}
/* サイドメニュー */
.l-header__side{
  position: fixed;
  z-index: 99;
}
.l-header__side--inner{
  display: flex;
  align-items: center;
  gap: 3px;
}
@media (min-width:960px){
  .l-header__side{
    top: 60%;
    right: 13px;
    transform: translateY(-50%);
  }
  .l-header__side--inner{
    flex-direction: column;
    align-items: center;
    gap:95px;
  }
  .l-header__side--shop{
    transform: rotate(90deg);
    font-size: 14px;
  }
  .l-header__side--instagram{
    width: 25px;
  }
}
@media (max-width: 960px) {
  .l-header__side--inner a{
    width: 40px;
  }
  .l-header__side {
    right: 120px;
    top: 19px;
  }
}
@media (max-width: 767px) {
  .l-header__side {
    right: 101px;
    top: 10px;
  }
  .l-header .l-menue__nav-list li {
    margin-bottom: 11px;
  }
  .l-header .l-menue__nav-list li a{
    letter-spacing: 0.1em;
  }
  .l-header .l-menue__nav-list li img{
    margin-right: 10px;
  }
  .l-header .l-menue__nav-inner-links{
    margin-top: 35px;
    margin-left: 5px;
    font-size: 14px;
  }
  .l-header .l-menue__nav-inner-links a {
    margin-bottom: 13px;
  }
  .l-header a:has(.instagram-icon) {
    margin-top: 33px;
  }
  .l-header .link-icon{
    width: 10px;
    margin-left: 10px;
  }
  .l-header .instagram-icon{
    max-width: 25px;
  }
  .l-menue__nav-inner-shop{
    margin-top: 41px;
    margin-left: 5px;
  }
  .l-header .l-menue__nav-inner-shop a{
    margin-bottom: 20px;
  }
}

/* ==================================================
    footer
================================================== */
/* お問い合わせ */
.l-contact{
  background: url(../img/common/bg_contact.png) no-repeat center center / cover;
}
.l-contact__lead{
  margin-top: 105px;
  text-align: center;
  font-weight: 500;
}
.l-contact .c-btn__contact{
  text-align: center;
  margin-top: 84px;
}
@media (min-width:767px){
  .l-contact{
    padding: 145px 40px 160px;
  }
}
@media (max-width:767px){
  .l-contact__lead{
    margin-top: 52px;
    text-align: left;
  }
  .l-contact .c-btn__contact{
    margin-top: 61px;
  }
}
/* ショールーム */
@media (min-width:767px){
  .u-showroom{
    padding: 159px 40px 160px;
  }
}
.u-showroom__flex{
  display: flex;
  width: 100%;
  justify-content: space-between;
  align-items: center;
  max-width: 1480px;
  margin: 0 auto;
  gap: 20px;
}
.u-showroom__info .c-ttl{
  margin-bottom: 100px;
}
.u-showroom__info-img{
  max-width: 400px;
  margin-bottom: 43px;
}
.u-showroom__info p{
  font-weight: 500;
}
.u-showroom__info-address span{
  display: block;
  margin-top: -2px;
}
.u-showroom__info-tel{
  margin-top: 40px;
}
.u-showroom__info-tel a{
  margin-top: -2px;
  font-weight: 700;
}
.u-showroom__info-time{
  margin-top: 20px;
}
section.u-showroom__map {
  margin-top: 112px;
  width: 61%;
}
.u-showroom__map iframe{
  max-width: 900px;
  max-height: 450px;
  min-height: 330px;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
}
@media (max-width:767px){
  .u-showroom__flex{
    flex-direction: column;
    align-items: start;
  }
  .u-showroom__info .c-ttl{
    margin-bottom: 55px;
  }
  .u-showroom__info-tel {
    margin-top: 32px;
  }
  section.u-showroom__map{
    width: 100%;
    margin-top: 39px;
  }
  .u-showroom__map iframe{
    min-height: 300px;
  }
}
/* footer */
.l-footer{
  background: var(--color-dark);
  text-align: center;
  padding: 105px 40px 34px;
  position: relative;
}
.l-footer .l-footer__top{
  max-width: 59px;
  position: fixed;
  right: 7%;
  bottom: 35px;
  z-index: 10;
  transition: .3s;
  opacity: 0;
  visibility: hidden;
}
.l-footer .l-footer__top.active{
  opacity: 1;
  visibility: visible;
}
.l-footer .l-footer__top.absolute{
  position: absolute;
  top: 70px;
  bottom: auto;
}
.l-footer__inner{
  margin: 0 auto;
}
.l-footer__nav {
  display: flex;
  justify-content: center;
  font-size: 14px;
  gap: 10px;
  max-width: 500px;
  margin: 0 auto 57px;
  border-bottom: 1px solid var(--color-bg);
  padding-bottom: 55px;
}
.l-footer__nav li{
  padding: 0 10px;
}
.l-footer__links{
  display: flex;
  justify-content: center;
  font-size: 12px;
  gap: 10px;
}
.l-footer__links a{
  padding: 0 10px;
}
.l-footer__links a:has(.link-icon) {
  padding: 0;
  display: flex;
  align-items: center;
  gap: 10px;
}
.l-footer__links .link-icon{
  width: 10px;
}
.l-footer__copyright{
  font-size: 12px;
  margin-top: 72px;
}
@media (max-width:767px){
  .l-footer{
    padding: 138px 30px 16px;
  }
  .l-footer .l-footer__top{
    right: 8%;
  }
  .l-footer .l-footer__top.absolute{
    top: 40px;
  }
  .l-footer__nav{
    font-size: 12px;
    gap: 2px;
    margin-bottom: 29px;
    padding-bottom: 34px;
  }
  .l-footer__links{
    font-size: 11px;
    letter-spacing: 0.1em;
    gap: 10px;
    margin-left: -11px;
  }
  .l-footer__links:has(.link-icon) a:last-child {
    padding: 0 5px;
  }
  .l-footer__copyright{
    font-size: 10px;
    line-height: 1;
    margin-top: 68px;
  }
}
/* ==================================================
    記事ページ共通
================================================== */
.l-single{
  margin-bottom: 200px;
}
.l-single__genre{
  margin-left: 6.98vw;
  margin-bottom: 40px;
  margin-top: 80px;
}
@media (min-width:1720px){
  .l-single__genre{
    margin-left: 120px;
  }
}
@media (max-width:767px){
  .l-single__genre{
    margin-top: 60px;
  }
}
.l-single__category{
  font-size: clamp(12px, 0.93vw, 16px);
}
.l-single__ttl{
  font-size: clamp(20px, 2.91vw, 50px);
  font-weight: 500;
}
.l-single__content{
  margin: 0 30px;
}
.l-single article{
  max-width: 1000px;
  margin: 180px auto 120px;
  border-bottom: 1px solid var(--color-gray-border);
  padding-bottom: 100px;
}
.l-single article h2{
  font-size: clamp(20px, 1.63vw, 28px);
  letter-spacing: 0.16em;
  line-height: 2;
  padding-bottom: 60px;
  margin-bottom: 80px;
  position: relative;
}
.l-single article h2::before{
  content: '';
  display: block;
  width: 500px;
  height: 1px;
  background-color: var(--color-gray-border);
  position: absolute;
  bottom: 0;
}
.l-single article h3{
  font-size: clamp(18px, 1.4vw, 24px);
  letter-spacing: 0.16em;
  line-height: 2;
  padding-bottom: 60px;
  margin-bottom: 80px;
  position: relative;
}
.l-single article h3::before{
  content: '';
  display: block;
  width: 500px;
  height: 1px;
  background-color: var(--color-gray-border);
  position: absolute;
  bottom: 0;
}
.l-single article h4{
  font-size: clamp(16px, 1.16vw, 20px);
  letter-spacing: 0.16em;
  line-height: 2;
  margin-bottom: 60px;
}
.l-single article h5{
  font-size: clamp(15px, 1.05vw, 18px);
  letter-spacing: 0.16em;
  line-height: 2;
  margin-bottom: 60px;
}
.l-single article h6{
  font-size: clamp(14px, 0.93vw, 16px);
  letter-spacing: 0.16em;
  line-height: 2;
  margin-bottom: 60px;
}
.l-single article blockquote {
  border-top: 1px solid;
  border-bottom: 1px solid;
  padding: 60px 20px;
  margin-bottom: 160px;
}
.l-single article blockquote p {
  margin-bottom: 0;
  font-size: 16px;
}
.l-single article .wp-block-gallery{
  margin: 70px auto;
}
.l-single article p{
  margin-bottom: 50px;
}
.l-single article > figure{
  margin: 120px auto;
}
.l-single article figure img{
  display: block;
  width: inherit;
  margin: inherit;
}
.l-single article figure figcaption{
  font-size: clamp(13.5px, 0.81vw, 14px);
  font-weight: 400;
  margin-top: 20px;
}
.l-single__btn{
  display: flex;
  gap: 80px;
  margin-top: 100px;
  justify-content: center;
}
.l-single__btn .c-btn__arrow.--view-all{
  margin: 0;
}
.l-single__btn .--link{
  transform: inherit;
  height: 13px;
  width: 13px;
}
@media (max-width:767px){
  .l-single{
    margin-bottom: 140px;
  }
  .l-single__genre{
    margin-left: 30px;
  }
  .l-single article{
    margin: 80px auto 100px;
    padding-bottom: 60px;
  }
  .l-single article h2{
    margin-bottom: 60px;
  }
  .l-single article h2::before{
    width: 165px;
  }
  .l-single article h3{
    margin-bottom: 60px;
  }
  .l-single article h3::before{
    width: 165px;
  }
  .l-single article blockquote {
    padding: 60px 20px;
    margin-bottom: 100px;
  }
  .l-single article blockquote p {
    margin-bottom: 0;
    font-size: 14px;
  }
  .l-single article p{
    margin-bottom: 40px;
  }
  .l-single article img{
    margin: 90px auto;
  }
  .l-single article figure img{
    width: 100%;
  }
  .l-single article figure figcaption{
    margin-top: 40px;
    line-height: 2.07;
  }
  .l-single__btn{
    flex-direction: column;
    align-items: center;
    gap: 45px;
  }
}

/* ==================================================
    TOP
================================================== */
.top .l-header{
  position: absolute;
  top: 0;
  width: 100%;
  z-index: 20;
}
/* TOP-MV
=============================== */
.mv-video{
  position: relative;
  overflow: hidden;
}
.mv-deco{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 30%;
}
@media (max-width: 960px){
  .mv-video__wrap {
    position: relative;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    height: 100svh;
    width: 100%;
  }
  .mv-video__wrap video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    aspect-ratio: 1 / 1;
    border: none;
    min-width: inherit;
    min-height: inherit;
    width: 1600px;
    height: 100vh;
  }
  .mv-deco{
    max-width: 290px;
    width: 60%;
  }
}
/* TOP-ABOUT
=============================== */
.u-lead{
  font-size: 60px;
  line-height: 1.2;
  letter-spacing: 0.073em;
}
@media (max-width:960px){
  .u-lead{
    font-size: clamp(32px, 6.25vw, 60px);
    line-height: 1.5;
  }
}
.u-lead.jp{
  letter-spacing: 0.03em;
}
.p-top__about{
  margin-bottom: 142px;
}
.p-top__about-left{
  max-width: 500px;
}
.p-top__about-right{
  margin: 108px calc(50% - 50vw) 0;
  width: 100vw;
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 11px;
}
.p-top__about-right .deco01{
  width: 43%;
  margin-top: 22vw;
}
.p-top__about-right .deco02{
  width: 54%;
}
.p-top__about-text{
  margin-top: 37px;
  font-weight: 500;
}
.p-top__about-inner .more{
  margin: 75px 0 0 auto;
}
@media (min-width:1720px){
  .p-top__about-right .deco01{
    right: 430px;
    top: 295px;
  }
  .p-top__about-right .deco02{
    right: 0;
    top: 0;
  }
}
@media (min-width:961px){
  .p-top__about-inner{
    display: flex;
    justify-content: space-between;
  }
  .p-top__about-left{
    width: 46%;
    margin-top: 140px;
    max-width: 510px;
  }
  .p-top__about-right{
    margin: inherit;
    width: 50.67%;
    display: flex;
    gap: 20px;
    position: relative;
  }
  .p-top__about-right img.deco01{
    max-width: 320px;
    min-width: 166px;
    width: 18.6vw;
    position: absolute;
    right: 25vw;
    top: 17.15vw;
    margin-top: inherit;
  }
  .p-top__about-right img.deco02{
    max-width: 410px;
    min-width: 213px;
    width: 23.84vw;
    position: absolute;
    right: 0;
    top: 0;
  }
}
@media (min-width:768px){
  .p-top .u-lead{
    text-indent: -0.65em;
    padding-left: 0.65em;
    margin-bottom: 95px;
  }
  .p-top .u-lead.jp{
    margin-bottom: 167px;
  }
}
@media (max-width:767px){
  .p-top .u-lead{
    margin-bottom: 98px;
  }
  .p-top .u-lead.jp{
    text-align: center;
    letter-spacing: 0em;
    text-indent: -1.5em;
    margin-left: 1em;
  }
  .p-top__about{
    margin-bottom: 32px;
  }
  .p-top__about-inner .more{
    margin-top: 59px;
  }
  .p-top__about-right{
    margin-top: 110px;
  }
}
/* TOP-LEAD
=============================== */
.p-top__lead{
  margin-bottom: 266px;
}
.p-top__lead .u-lead{
  text-align: center;
  line-height: 1.36;
}
.p-top__lead-img{
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
}
.p-top__lead-img .deco01 {
  width: 21.51%;
  min-width: 260px;
}
.p-top__lead-img .deco02 {
  width: 52.32%;
  
}
.p-top__lead-img .deco03 {
  width: 21.51%;
  min-width: 260px;
  
}
@media (min-width:961px){
  .p-top__lead-img{
    height: 26.16vw;
  }
  .p-top__lead-img .deco01 {
    margin-top: -19%;
    position: absolute;
    left: 0;
  }
  .p-top__lead-img .deco02 {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
  .p-top__lead-img .deco03 {
    position: absolute;
    margin-bottom: -19.5%;
    right: 0;
  }
}
@media (max-width:960px){
  .p-top__lead-img{
    flex-direction: column;
    gap: 17px;
  }
  .p-top__lead-img img.deco01{
    margin: 0 auto 0 0;
    padding-left: 30px;
  }
  .p-top__lead-img img.deco02{
    width: 100%;
    max-width: 700px;
  }
  .p-top__lead-img img.deco03{
    margin: 0 0 0 auto;
    padding-right: 30px;
  }
}
@media (max-width:767px){
  .p-top__lead{
    margin-bottom: 101px;
  }
  .p-top__lead .u-lead{
    margin-bottom: 107px;
  }
  .p-top__lead-img .deco01{
    margin: 0 auto 0 0;
    padding-left: 30px;
  }
  .p-top__lead-img .deco02{
    width: 100%;
  }
  .p-top__lead-img .deco03{
    margin: 0 0 0 auto;
    padding-right: 30px;
  }
}
/* TOP-商品紹介
===============================*/
.p-top #products .c-ttl{
  margin-bottom: 0;
}
li.swiper-slide.coming-soon.swiper-slide-active {
  margin: 0 0 0px 12vw;
}
@media (max-width:767px){
  .p-top #products .l-content__slider:not(:first-of-type){
    padding-top: 103px;
  }
}

/* TOP-卸売りについて
===============================*/
.p-top #wholesale .c-btn__contact{
  margin: 80px auto 0 0;
}
@media (max-width:1200px){
  .p-top #wholesale .c-btn__contact{
    margin: 37px auto 0 0;
  }
}
@media (max-width:767px){
  .p-top #wholesale .c-btn__contact{
    margin: 59px auto 0;
  }
  .p-top #wholesale .parallax-separate{
    height: 350px;
  }
}
/* TOP-お知らせ
===============================*/
/* #news .l-content__inner{
  padding-left: 90px;
  padding-right: 90px;
}
.p-top .u-news__wrapper{
  max-width: 1350px;
  margin: 18px auto 0;
}
.p-top .u-news__wrapper .c-btn__arrow.--view-all{
  margin-top: 95px;
}
@media (max-width:960px){
  #news .l-content__inner{
    padding: 100px 30px;
  }
}
@media (max-width:767px){
  .p-top .u-news__wrapper{
    margin-top: 36px;
  }
  .p-top .u-news__wrapper .c-btn__arrow.--view-all{
    margin-top: 55px;
  }
} */

.p-top__news--list{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 300px 0 0;
}
.p-top__news--list li{
  width: 46%;
  margin: -10% 0;
  box-shadow: 0px 0px 23px #434036;
}
.p-top__news--list li:nth-of-type(even){
  margin: 0 0 0 auto;
}
@media (max-width:767px){
  .p-top__news--list{
    padding-top: 24vw;
  }
}

/* TOP-卸売りについて
=============================== */
.p-top #wholesale p{
  font-weight: 500;
}

/* ==================================================
    ABOUT
================================================== */
.p-about__lead{
  display: flex;
  justify-content: start;
  gap: 75px;
  margin-bottom: 210px;
  margin-top: 285px;
}
.p-about .u-about__lead--text-ttl{
  margin-left: 40px;
  max-width: inherit;
  width: inherit;
}
.p-about__about--img{
  max-width: 615px;
  width: 35.76vw;
  max-height: 992px;
  height: 57.67vw;
  margin-left: 60px;
  position: relative;
}
.p-about__about--img .deco01{
  max-width: 220px;
  min-width: 86px;
  width: 12.79vw;
  position: absolute;
  left: 60px;
  z-index: 2;
}
.p-about__about--img .deco02{
  max-width: 550px;
  min-width: 215px;
  width: 31.98vw;
  position: absolute;
  left: 65%;
  top: 41.7%;
  transform: translate(-50%, -50%);
  z-index: 1;
}
.p-about__about--img .deco03{
  max-width: 400px;
  min-width: 157px;
  width: 23.26vw;
  position: absolute;
  right: -34%;
  bottom: 22.5%;
  z-index: 2;
}
.u-about__lead--text {
  margin: 56px 0;
}
.u-about__lead--text-ttl{
  margin: 0 auto 0 0;
  max-width: 630px;
  width: 36.63vw;
}
.u-about__lead--text-ttl .c-ttl__en{
  font-size: clamp(32px, 3.49vw, 60px);
  font-weight: 400;
  letter-spacing: 0.07em;
}
.u-about__lead--dev{
  max-width: 510px;
  margin: 11.86vw 6.08vw 0 7.66vw;
}
@media (min-width:1720px) {
  .u-about__lead--dev{
    margin: 204px 225px 0 235px;
  }
}
@media (max-width:960px) {
  .p-about__lead{
    margin-top: 127px;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 21.88vw;
  }
  .p-about__about--img{
    min-width: 300px;
    height: 79.67vw;
    min-height: 300px;
    margin: 0 auto;
    width: 80%;
  }
  .p-about__about--img .deco01{
    width: 22.92vw;
    left: 6px;
  }
  .p-about__about--img .deco02{
    width: 54.58vw;
    left: 45%;
    top: 53%;
  }
  .p-about__about--img .deco03{
    width: 39.92vw;
    right: 6px;
    bottom: -0.5%;
  }
  .u-about__lead--text{
    margin: 40px 28px 0 30px;
  }
  .u-about__lead--text-ttl{
    width: 63%;
  }
  .u-about__lead--text-ttl:has(.u-lead.jp){
    width: 100%;
    margin-left: 0;
  }
  .u-about__lead--text-ttl .c-ttl{
    align-items: start;
  }
  .u-about__lead--dev{
    margin: 100px 0 0;
  }
}
@media (max-width:767px) {
  .p-about__lead{
    margin-bottom: 120px;
    gap: 0px;
  }
  .u-about__lead--text {
    margin: 0px 28px 0 30px;
  }
  .u-about__lead--text-ttl{
    margin-left: 0;
  }
  .u-about__lead--text-ttl .c-ttl__en{
    line-height: 1.5;
    margin-bottom: 15px;
  }
  .u-about__lead--text-ttl .c-ttl__jp{
    font-size: 14px;
  }
}
.p-about__img{
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: 0 60px 220px;
}
.p-about__img .deco01{
  width: 36.25%;
}
.p-about__img .deco02{
  width: 52.5%;
}
@media (max-width:960px) {
  .p-about__img{
    margin-bottom: 33.33vw;
  }
}
@media (max-width:767px) {
  .p-about__img{
    margin: 0 0 90px;
  }
  .p-about__img .deco01{
    width: 37.25%;
  }
  .p-about__img .deco02 {
    width: 53.5%;
  }
}
.p-about__showroom .u-shouroom-info{
  background: url(../img/about/showroom-bg.png) no-repeat center center / cover;
  padding: 171px 120px;
}
.p-about__showroom-inner{
  background-color: #00000030;
  padding: 119px 66px 117px;
  max-width: 740px;
  width: 100%;
}
.p-about__showroom .u-shouroom-info p{
  margin-top: 85px;
  max-width: 740px;
}
.p-about__showroom .u-showroom__flex{
  margin: 0;
  align-items: stretch;
  max-width: 100%;
}
.u-shouroom-access__map{
  width: 50%;
}
.u-shouroom-access__map iframe{
  width: 100%;
  height: 100%;
}
.p-about__showroom .u-showroom__info{
  width: 50%;
  padding: 9.01vw 8.14vw;
}
.p-about__showroom .u-showroom__info .c-ttl{
  margin-bottom: 80px;
}
@media (min-width:1720px) {
  .p-about__showroom .u-showroom__info{
    padding: 155px 140px;
  }
}
@media (max-width:960px) {
  .p-about__showroom .u-shouroom-info{
    padding: 0;
  }
  .p-about__showroom-inner{
    max-width: inherit;
  }
  .p-about__showroom .u-showroom__flex{
    flex-direction: column;
    gap: 97px;
  }
  .u-shouroom-access__map{
    width: 100%;
    height: 390px;
  }
  .p-about__showroom .u-showroom__info{
    width: 100%;
    padding-top: 0;
    padding-bottom: 0;
  }
  .p-about__showroom .u-showroom__info .c-ttl{
    margin-bottom: 55px;
  }
}
@media (max-width:767px) {
  .p-about__showroom .u-shouroom-info{
    background: url(../img/about/showroom-bg_sp.png) no-repeat center center / cover;
  }
  .p-about__showroom-inner{
    padding: 120px 30px;
  }
  .p-about__showroom .u-shouroom-info p{
    margin-top: 50px;
  }
  .p-about__showroom .u-showroom__info{
    padding: 0 30px;
  }
}
/* スライド */
.u-showroom__slide {
  margin: 155px 0 196px;
  width: 100%;
  overflow: hidden;
  position: relative;
}
.u-showroom__slide .swiper {
  width: 100%;
}
.u-showroom__slide .swiper-wrapper {
  display: flex;
  gap: 20px;
  transition-timing-function: linear !important;
}
.u-showroom__slide .swiper-slide {
  width: 27.5%;
  flex-shrink: 0;
}
.u-showroom__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media (max-width:960px) {
  .u-showroom__slide .swiper-slide{
    width: 49%;
  }
}
@media (max-width: 767px) {
  .u-showroom__slide{
    margin: 106px 0 127px;
  }
  .u-showroom__slide .swiper-slide {
    width: 92%;
  }
}
/* できること */
.u-about-showroom__list-wrap{
  margin: 0 30px;
}
.u-about-showroom__list{
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-between;
  gap: 120px 50px;
  max-width: 1350px;
  margin: 116px auto 0;
  padding-bottom: 145px;
  /* border-bottom: 1px solid var(--color-gray-border); */
}
.u-about-showroom__list li{
  width: 45.63%;
}
.u-about-showroom__list li h4{
  font-size: clamp(16px, 1.28vw, 22px);
  font-weight: 500;
  letter-spacing: 0.12em;
  margin: 7px 0 8px;
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.u-about-showroom__list li h4 span{
  font-size: clamp(30px, 2.91vw, 50px);
  font-weight: 400;
  color: var(--color-yellow-accent);
}
@media (max-width:767px){
  .u-about-showroom__list{
    margin: 53px auto 0;
    flex-direction: column;
    gap: 80px;
    padding-bottom: 100px;
  }
  .u-about-showroom__list li{
    width: 100%;
  }
  .u-about-showroom__list li h4 {
    margin: 22px 0 12px;
    gap: 1px;
  }
}
/* 見学予約 */
.u-showroom-contact{
  text-align: center;
  margin: 125px 0 200px;
}
.u-showroom-contact__lead{
  font-size: clamp(14px, 0.93vw, 16px);
  font-weight: 500;
}
.u-showroom-contact__tel{
  font-size: clamp(24px, 1.51vw, 26px);
  font-weight: bold;
  margin: 28px 0 4px;
  letter-spacing: 0.1em;
}
.u-showroom-contact__time{
  font-size: clamp(12px, 0.76vw, 13px);
}
@media (max-width:767px){
  .u-showroom-contact{
    margin: 80px 0 140px;
  }
  .u-showroom-contact__tel{
    margin: 18px 0 10px;
  }
}
/* 非表示 */
.page-template-page-about .u-showroom{
  display: none;
}

/* ==================================================
    商品紹介
================================================== */
/* 商品紹介 共通 */
.l-products{
  padding-top: 11.63vw;
}
.l-products:first-of-type{
  padding-top: 5.81vw;
}
.l-products > .c-ttl{
  padding-left: 6.98vw;
}
.l-products__fv-img{
  padding: 0 6.98vw;
  max-width: 1720px;
  margin: 0 auto;
}
.l-products__fv-img .parallax-separate{
  max-height: 450px;
  min-height: 240px;
  height: 26.16vw;
}
.l-products__lead{
  max-width: 1535px;
  margin: 8.14vw 7.56vw 9.59vw 0;
  position: relative;
}
.l-products:first-of-type .l-products__lead{
  margin-bottom: 19vw;
}
.l-products__lead--img .deco01{
  position: absolute;
  max-width: 315px;
  min-width: 165px;
  width: 18.31vw;
}
.l-products__lead--img .deco02{
  position: absolute;
  max-width: 230px;
  min-width: 120px;
  width: 13.37vw;
  left: 20.06vw;
  top: 13.95vw;
}
.l-products__lead--text h4{
  font-size: clamp(20px,2.33vw,40px);
  font-weight: 400;
  letter-spacing: 0.16em;
  line-height: 1.7;
  max-width: 875px;
  min-width: 320px;
  width: 50.87vw;
  margin: 0 0 0 auto;
  padding-top: 38px;
}
.l-products__lead--text p{
  margin: 90px 0 0 auto;
  padding-right: 9.4vw;
  max-width: 675px;
  width: 50.13vw;
  min-width: 330px;
}
.l-products:nth-of-type(even) .l-products__lead--img .deco01{
  right: 0;
}
.l-products:nth-of-type(even) .l-products__lead--img .deco02{
  right: 20.06vw;
  left: inherit;
}
#imported-plants .l-products__lead--deco{
  margin: 90px 0 0 auto;
  padding-right: 9.4vw;
  max-width: 675px;
  width: 50.13vw;
  min-width: 330px;
}
@media (min-width:1720px){
  .l-products{
    padding-top: 196px;
  }
  .l-products:first-of-type{
    padding-top: 5.81vw;
  }
  .l-products__lead{
    margin-top: 140px;
  }
  .l-products__lead--text p{
    margin-top: 90px;
  }
  #imported-plants .l-products__lead--deco{
    margin-top: 190px;
  }
}
@media screen and (max-width: 1720px) {
  .l-products .l-products__lead--text p{
    margin-top: 5.23vw !important;
    width: 41.13vw !important;
  }
  .l-products:nth-of-type(even) .l-products__lead--text p {
    padding-left: 4.8vw;
  }
  #imported-plants .l-products__lead--deco{
    margin-top: 12.23vw !important;
    width: 41.13vw !important;
    padding-left: 4.8vw;
  }
}
@media (min-width:960px){
  .l-products:nth-of-type(even) .l-products__lead {
    max-width: inherit;
    margin: 8.14vw 0  9.59vw  10.7vw;
  }
  .l-products:nth-of-type(even) .l-products__lead--text h4 {
    margin: 0 auto 0 0;
  }
  .l-products:nth-of-type(even) .l-products__lead--text p{
    margin: 90px auto 0 0;
    padding-left: 11.8vw;
    padding-right: 0;
    max-width: 710px;
    width: 50.13vw;
  }
  #imported-plants .l-products__lead--deco{
    margin: 190px auto 0 0;
    padding-left: 11.8vw;
    padding-right: 0;
    max-width: 710px;
    width: 50.13vw;
  }
}
@media (max-width:960px){
  .l-products__lead{
    margin: 60px auto 0;
    margin-bottom: clamp(340px, 63vw, 570px);
  }
  .l-products:first-of-type .l-products__lead{
    margin-bottom: 70vw;
  }
  .l-products:nth-of-type(even) .l-products__lead{
    margin-bottom: 70vw;
  }
  .l-products__lead--text h4{
    margin: 0 auto;
    font-size: clamp(20px,3.33vw,40px);
    line-height: 1.8;
    width: 68.87vw;
    padding-top: 0;
  }
  .l-products__lead--text p{
    margin: 40px auto 0;
    padding-right: 0;
    padding-left: 30px;
    max-width: 540px;
    width: 50.13vw;
    min-width: 330px;
  }
  #imported-plants .l-products__lead--deco{
    margin: 100px auto 0 !important;
    padding-right: 0;
    padding-left: 30px;
    max-width: 540px;
    width: 50.13vw;
    min-width: 330px;
    padding-bottom: 2vw;
  }
  .l-products__lead--img{
    position: absolute;
    bottom: -80px;
  }
  .l-products__lead--img .deco01{
    width: 32.81vw;
  }
  .l-products__lead--img .deco02{
    width: 23.96vw;
    left: 35.06vw;
  }
  .l-products:nth-of-type(even) .l-products__lead--img{
    right: 0;
    left: 0;
  }
  .l-products:nth-of-type(even) .l-products__lead--img .deco01{
    right: inherit;
    left: 36vw;
  }
  .l-products:nth-of-type(even) .l-products__lead--img .deco02{
    right: 45.06vw;
  }
}
@media (max-width:767px){
  .l-products{
    padding-top: 95px;
  }
  .l-products:first-of-type{
    margin-top: 100px;
    padding-top: 4.2vw;
  }
  .l-products__fv-img{
    margin: 0 0 0 auto;
    padding: 0 30px 0 0;
  }
  .l-products .l-products__lead{
    margin-bottom: clamp(473px, 123vw, 750px) !important;
  }
  .l-products > .c-ttl{
    margin-bottom: 43px;
  }
  .l-products__lead--img .deco01{
    width: 42.81vw;
  }
  .l-products__lead--img .deco02{
    width: 29.96vw;
    left: 46.5vw;
    top: 31.95vw;
  }
}
@media (max-width:389px){
  .l-products__lead--text p{
    min-width: 270px;
  }
  #imported-plants .l-products__lead--deco{
    min-width: 270px;
  }
}
/* 商品紹介 ラインアップ */
.l-products__lineup{
  padding: 9.3vw 6.98vw 11.63vw;
}
.l-products__lineup h5{
  font-size: 22px;
  text-align: center;
  letter-spacing: 0.1em;
  margin-bottom: 77px;
}
.l-lineup-list{
  display: flex;
  align-items: start;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: 0 65px;
  gap: 5.6vw 0;
}
.l-lineup-list li{
  width: calc((100% / 3) - 2vw);
}
.l-lineup-list li::after {
  display: block;
  content:"";
  width: calc((100% / 3) - 2vw);
}
.l-lineup-list li p{
  margin-top: 1.18vw;
  font-family: 'Noto Sans JP', sans-serif;
  letter-spacing: 0.1em;
}
.l-lineup-list li.coming-soon{
  width: 100%;
}
.coming-soon p{
  font-size: clamp(16px,1.05vw,22px);
  text-align: center;
}
@media (min-width:1720px){
  .l-products__lineup{
  padding: 160px 6.98vw 190px;
  }
}
@media (max-width:960px){
  .l-products__lineup h5{
    margin-bottom: 8.33vw;
  }
  .l-lineup-list li{
    width: calc((100% / 2) - 3vw);
  }
  .l-lineup-list li::after {
    width: calc((100% / 2) - 3vw);
  }
}
@media (max-width:767px){
  .l-products__lineup{
    padding: 0 30px 100px;
  }
  .l-products:first-of-type .l-products__lineup{
    padding-top: 100px;
  }
  .l-products__lineup h5{
    font-size: 20px;
    margin-bottom: 45px;
  }
  .l-lineup-list{
    gap: 51px;
    margin: 0 15px;
  }
  .l-lineup-list li{
    width: 100%;
  }
}
/* 商品紹介 横スライダーコンテンツ */
.u-products__swiper.l-content__slider .c-ttl{
  margin: 0;
}
.u-products__swiper.l-content__slider{
  position: relative;
  margin-top: 17.44vw;
}
.u-products__swiper.l-content__slider .text-deco{
  position: absolute;
  top: 0;
  left: 15px;
}
.u-products__swiper .l-content__slider--left .c-ttl__en span{
  display: block;
  font-size: clamp(15px,1.05vw,18px);
  line-height: 1;
}
.u-products__swiper .c-swiper_wrap {
  padding-bottom: 0;
}
@media (min-width: 961px) {
  .u-products__swiper .l-content__slider--left {
    width: 26%;
    top: -64px;
  }
}
@media (min-width:768px){
  .u-products__swiper.l-content__slider .text-deco{
    max-width: 235px;
    width: 13.66vw;
  }
}
@media (max-width:767px){
  .u-products__swiper.l-content__slider .c-ttl{
    margin-left: 30px;
  }
  .u-products__swiper.l-content__slider{
    padding: 80px 0 60px !important;
  }
  .u-products__swiper .c-swiper_wrap{
    padding-top: 84px;
  }
  .u-products__swiper.l-content__slider .text-deco {
    top: 134px;
    left: 0px;
  }
}
/* gsapスライド */
@media (min-width:961px){
  .js-horizontal-slider {
    width: 69.5%;
  }
}
.js-horizontal-slider .swiper-wrapper {
  width: max-content !important;
}
.js-horizontal-slider .swiper-slide {
  flex-shrink: 0;
}
.js-horizontal-slider .c-swiper__text-area{
  position: absolute;
  bottom: 40px;
  padding: 0 40px;
}
.js-horizontal-slider .c-swiper__text-area .c-swiper__title{
  font-size: clamp(16px,1.28vw,22px);
}
.js-horizontal-slider .c-swiper__text-area p{
  margin-top: 20px;
  font-size: clamp(12px,0.81vw,14px);
  letter-spacing: 0.12em;
}
@media (max-width:1720px){
  .js-horizontal-slider .c-swiper__text-area{
    padding: 0 2.33vw;
    bottom: 2.33vw;
  }
  .js-horizontal-slider .c-swiper__text-area p{
    margin-top: 1.16vw;
  }
}
@media (max-width:767px){
  .js-horizontal-slider .c-swiper__text-area{
    padding: 0 30px;
    bottom: 30px;
  }
  .js-horizontal-slider .c-swiper__text-area p{
    margin-top: 14px;
    line-height: 1.66;
  }
}
/* ==================================================
    商品紹介 シングルページ
================================================== */
@media (min-width:1720px){
  .p-products-single .c-fv{
    margin-left: 120px;
  }
}
.p-products-single .c-fv{
  margin-left: 6.98vw;
}
.p-products-single .c-fv__img{
  aspect-ratio: 37 / 33;
  overflow: hidden;
  width: 43%;
  max-width: 740px;
}
.p-products-single .c-fv__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
@media (max-width:767px){
  .p-products-single .c-fv{
    margin-left: 0;
    margin-bottom: 0;
    flex-direction: column;
    align-items: start;
  }
  .p-products-single .c-fv__img{
    width: 100%;
    height: inherit;
  }
  .p-products-single__ttl{
    margin-left: 30px;
  }
}
/* ==================================================
    NEWS
================================================== */
.p-news{
  margin-bottom: 200px;
}
.p-news .c-btn__square.--white{
  border: none;
}
.p-news .u-news__wrapper{
  margin: 150px 30px 160px;
}
.p-news-single__fv{
  max-width: 1060px;
  margin: 100px auto 0;
  padding: 0 30px;
}
.p-news-single__fv h1{
  font-size: clamp(22px, 1.98vw, 34px);
  line-height: 1.5;
  font-weight: 400;
  padding-bottom: 70px;
  margin-bottom: 40px;
  border-bottom: 1px solid var(--color-gray-border);
}
.c-btn__square.--current {
  background-color: var(--color-yellow);
  color: var(--color-white);
}
.p-news-single__fv .date-category{
  display: flex;
}
.p-news-single .l-single article{
  margin: 160px auto 100px;
}
.p-news-single .l-single article h2::before{
  width: 220px;
  background-color: var(--color-yellow-accent);
  z-index: 2;
}
.p-news-single .l-single article h2::after {
  content: '';
  display: block;
  width: 100%;
  height: 1px;
  background-color: #C6C4AB;
  position: absolute;
  bottom: 0;
}
@media (max-width:767px){
  .p-news{
    margin-bottom: 140px;
  }
  .p-news .u-news__wrapper{
    margin: 120px 30px 80px;
  }
  .p-news-single__fv{
    margin-top: 30px;
  }
  .p-news-single__fv h1{
    padding-bottom: 60px;
    margin-bottom: 30px;
  }
  .p-news-single .l-single article{
    margin: 100px auto 40px;
  }
  .p-news-single .l-single__btn{
    margin-top: 80px;
  }
}
/* NEWS一覧ページネーション */
.c-pagination {
  text-align: center;
}
.c-pagination .page-numbers {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  list-style: none;
  padding: 0;
}
.c-pagination .page-numbers li {
  margin: 0 5px;
}
.c-pagination .page-numbers a,
.c-pagination .page-numbers span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  background-color: var(--color-white);
  color: var(--color-gray-text);
  font-size: 18px;
  transition: all 0.3s ease;
}
.c-pagination .page-numbers .current {
  background-color: var(--color-yellow);
  color: #fff;
}
.c-pagination .page-numbers a:hover {
  background-color: var(--color-yellow);
  color: var(--color-white);
}
/* NEWS記事ページ 前へ・次へ */
.l-single__pagination{
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 1060px;
  padding: 0 30px;
  margin: 0 auto;
  position: relative;
}
.l-single__pagination .c-btn__arrow.--view-all{
  margin: 0;
  border: none;
  gap: 10px;
}
.l-single__pagination .c-btn__arrow.--view-all .arrow-icon{
  transform: inherit;
  margin: 0;
}
.l-single__pagination .c-btn__arrow.--view-all.prev .arrow-icon{
  transform: rotate(180deg);
}
.l-single__pagination .c-btn__arrow.--view-all.next{   
  position: absolute; right: 30px; 
}

/* ==================================================
    お問い合わせ
================================================== */
.p-contact__dsc{
  margin-top: 100px;
}
.p-contact .u-showroom-contact__tel{
  font-size: clamp(36px, 2.33vw, 40px);
  font-weight: 500;
  letter-spacing: 0.05em;
  margin-bottom: 10px;
}
.p-contact .u-showroom-contact__tel span{
  font-size: clamp(20px, 1.74vw, 30px);
  margin-right: 9px;
}
/* フォーム共通 */
.c-form{
  margin-top: 140px;
  margin-bottom: 200px;
}
.c-form__required{
  color: var(--color-red);
}
.c-form form{
  width: 100%;
  background: inherit;
  border-radius: inherit;
  box-shadow: inherit;
  line-height: inherit;
  border: none;
  font-size: 14px;
  color: var(--color-white);
}
.c-form form#mail_form dl:first-of-type{
  margin-top: 90px;
}
.c-form form#mail_form dl dt span.optional,
.c-form form#mail_form dl dt span.required{
  display: none;
}
.c-form form#mail_form dl{
  border: none;
  width: 100%;
  display: flex;
  align-items: center;
  margin-bottom: 35px;
}
.c-form form#mail_form dl.c-form__category{
  margin-bottom: 55px;
}
.c-form form#mail_form dl.c-form__contents{
  align-items: start;
}
.c-form form#mail_form dl.c-form__contents dt{
  margin-top: 20px;
}
.c-form form#mail_form dl dt,
.c-form form#mail_form dl dd{
  float: none;
  padding: 0;
  text-align: left;
}
.c-form form#mail_form dl dt{
  font-size: 15px;
  font-weight: 400;
  color: var(--color-white);
}
.c-form form#mail_form dl dd{
  width: 67%;
}
.c-form form#mail_form dl input,
.c-form form#mail_form dl textarea{
  width: 100% !important;
  color: #000000;
}
.c-form form#mail_form dl textarea{
  height: 265px;
}
.c-form form#mail_form ul{
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 40px;
  margin-top: 3px;
}
.c-form form#mail_form ul li label{
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  border-radius: 0;
  background: inherit;
  font-size: 14px;
}
.c-form form#mail_form ul li label input{
  width: inherit !important;
}
.c-form form#mail_form ul li input[type="radio"] {
  position: relative;
  width: 18px !important;
  height: 18px;
  background-color: var(--color-white);
  border-radius: 50%;
  vertical-align: -2px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.c-form form#mail_form ul li input[type="radio"]:checked:before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-yellow);
  content: '';
}
.c-form div#agreement{
  border: none;
  width: 100%;
  padding: 0;
  text-align: center;
  margin: 73px 0 70px;
}
.c-form__agreement{
  font-size: 14px;
}
.c-form__agreement a{
  display: inline-block;
  border-bottom: 1px solid var(--color-white);
  line-height: 1.2;
}
#agree_check{
  margin-top: 20px;
}
.c-form div#agreement input[type="checkbox"] {
  position: relative;
  width: 18px;
  height: 18px;
  background-color: var(--color-white);
  vertical-align: -5px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.c-form div#agreement input[type="checkbox"]:checked:before {
  position: absolute;
  top: 4.5px;
  left: 6px;
  transform: rotate(42deg);
  width: 6px;
  height: 9px;
  border-right: 2px solid var(--color-yellow);
  border-bottom: 2px solid var(--color-yellow);
  content: '';
}
/* 送信ボタン */
#form_submit:has(.c-btn__square){
  max-width: 270px;
  margin: 70px auto 0;
}
.c-form .c-btn__square{
  width: 270px;
  min-width: inherit;
  height: 60px;
  font-size: 14px;
  padding: 0;
}
/* 確認画面 */
.c-form #confirm_window dl:first-of-type{
  margin-top: 90px;
}
.c-form #confirm_window dl{
  display: flex;
  align-items: start;
  margin-bottom: 75px;
}
.c-form #confirm_submit{
  margin-top: 120px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 40px;
}
/* サンクスページ */
@media (min-width:768px){
  .p-thanks .l-single__btn{
    margin-top: 180px;
  }
}
/* 非表示 */
.contact .l-contact{
  display: none;
}

@media (max-width:1080px){
  .c-form form#mail_form dl{
    flex-direction: column;
    align-items: start;
    gap: 21px;
  }
  .c-form form#mail_form dl dd{
    width: 100%;
  }
  .c-form form#mail_form ul{
    margin-top: 8px;
    gap: 22px;
  }
  .c-form form#mail_form input[type="text"], .c-form form#mail_form input[type="email"],.c-form form#mail_form input[type="tel"]{
    padding: 0;
  }
}
@media (max-width:767px){
  .c-form{
    margin: 102px auto 120px;
  }
  .p-contact__dsc{
    margin-top: 80px;
  }
  .p-contact__dsc--lead {
    margin-right: -3px;
  }
  .p-contact .u-showroom-contact__tel span{
    margin-right: 3px;
  }
  .p-contact__time{
    font-size: 13px;
    letter-spacing: 0.11em;
  }
  .c-form form#mail_form dl{
    border-bottom: 1px solid var(--color-white);
    padding-bottom: 15px;
    margin-bottom: 35px;
  }
  .c-form form#mail_form dl:first-of-type {
    margin-top: 84px;
  }
  .c-form form#mail_form dl.c-form__category {
    margin-bottom: 34px;
  }
  .c-form form#mail_form ul{
    flex-direction: column;
    align-items: start;
  }
  .c-form form#mail_form input[type="text"], .c-form form#mail_form input[type="email"],.c-form form#mail_form input[type="tel"]{
    height: 49px;
    padding: 0 10px;
    width: 93% !important;
  }
  .c-form form#mail_form dl.c-form__contents dt{
    margin-top: 0;
  }
  .c-form form#mail_form dl textarea{
    width: 95% !important;
    height: 185px;
  }
  .c-form div#agreement{
    margin: 58px 0 -17px;
  }
  #agree_check {
    margin-top: 29px;
  }
  form#mail_form dl dd span.error_blank, form#mail_form dl dd span.error_format, form#mail_form dl dd span.error_match{
    font-size: 12px;
  }
  /* 確認画面 */
  .c-form #confirm_window dl:first-of-type {
    margin-top: 81px;
  }
  .c-form #confirm_window dl{
    flex-direction: column;
    gap: 28px;
    border-bottom: 1px solid var(--color-white);
    padding-bottom: 40px;
    margin-bottom: 30px;
  }
  .c-form div#confirm_field dl dt,
  .c-form div#confirm_field dl dd{
    width: 100%;
    font-weight: 400;
  }
  .c-form #confirm_submit {
    margin-top: 100px;
    gap: 20px;
  }
}

/* ==================================================
    プライバシーポリシー
================================================== */
.u-policy__list{
  margin: 100px auto 200px;
}
.u-policy__list > li:not(:last-child){
  margin-bottom: 60px;
}
.u-policy__list h5{
  font-size: clamp(16px, 1.05vw, 18px);
  line-height: 2;
  margin-bottom: 17px;
}
.u-policy__list-sub{
  margin-top: 30px;
  padding-left: 15px;
}
@media (max-width:767px){
  .u-policy__list{
    margin: 80px auto 140px;
  }
  .u-policy__list > li:not(:last-child){
    margin-bottom: 40px;
  }
  .u-policy__list h5{
    line-height: 1.5;
    margin-bottom: 20px;
  }
  .u-policy__list-sub{
    margin-top: 20px;
  }
}

