﻿@charset "utf-8";

/* soho-top
-------------------------------------------------------------------*/
main.soho-top .mv-bg_box {
  display: block;
  aspect-ratio: 1920/775;
  width: 100%;
  height: 100%;
  max-height: 775px;
  min-height: 645px;
}
main.soho-top .mv-bg_box img {
  object-fit: cover;
  object-position: center;
  max-width: inherit;
  width: 100%;
  height: 100%;
}
main.soho-top .mv-text_box {
  position: absolute;
  z-index: 10;
  inset: 72% 0 auto;
  text-align: left;
  width: min(100%, 1680px);
  margin-inline: auto;
  transform: translateY(-50%);
}
main.soho-top .mv-ttl_box {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 2.5em;
  width: 100%;
  color: var(--white);
  filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.3));
}
main.soho-top .mv-ttl_box .mv-ttl {
  font-size: 8.4375em;
  font-weight: 300;
  line-height: 0.75;
  letter-spacing: 0.05em;
}
main.soho-top .mv-ttl_box .mv-ttl_lead {
  font-size: 1.125em;
  font-weight: 500;
  line-height: 0.75;
  letter-spacing: 0.05em;
}
main.soho-top .special-wrap {
  padding-block: 7em;
}
main.soho-top .special-wrap .special-flex_box{
  display:flex;
  justify-content:flex-start;
  align-items:stretch;
}
main.soho-top .special-wrap .special-text_box{
  width:40%;
  padding-right:2em;
}
main.soho-top .special-wrap .special-ttl_box{
  --item_color:var(--black);
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  flex-direction:column;
  gap:0.75em;
  color:var(--item_color);
  margin-bottom:1.5em;
}
main.soho-top .special-wrap .special-ttl_box .special-ttl_en{
  display:inline-block;
  font-size:3em;
  line-height:0.8;
  letter-spacing:0.05em;
}
main.soho-top .special-wrap .special-ttl_box .special-ttl{
  font-size:1em;
  font-weight:500;
}
main.soho-top .special-wrap .special-ttl_box .special-ttl:first-child:last-child{
  font-size: 2.25em;
}
main.soho-top .special-wrap .special-text_lead{
  font-size: 1.5em;
  line-height:1.8;
  margin-bottom:2em;
}
main.soho-top .special-wrap .special-image_box{
  width:60%;
  margin-bottom: 2.5em;
}
main.soho-top .special-wrap .special-image_box .slick-list {
  min-width: 100vw;
}
main.soho-top .special-wrap .slick-slider .slick-dots:not(.number-dots){
  padding-right: 0;
}
main.soho-top .special-wrap .special-image_box .special-image_item {
  position:relative;
  z-index:10;
}
main.soho-top .special-wrap .special-image_box .special-image_item::before {
  position:absolute;
  z-index:10;
  inset:0;
  display:inline-block;
  content:"";
  background:var(--white);
  opacity:0.4;
}
main.soho-top .special-wrap .special-image_box .special-image_item.slick-current::before {
  opacity:0;
}
main.soho-top .special-wrap .slick-slider .slick-dots.number-dots{
  bottom: -1em;
}
main.soho-top .products-wrap {
  padding-block: 3em 10em;
}
main.soho-top .products-wrap .products-box + .products-box{
  margin-top:6.25em;
}
main.soho-top .products-wrap .products-slide_box .slick-list{
  min-width: 100vw;
}
main.soho-top .products-wrap .products-slide_item a {
  position: relative;
  z-index: 10;
  display: block;
}
main.soho-top .products-wrap .products-slide_image {
  position: relative;
  z-index: 10;
}
main.soho-top .products-wrap .products-slide_image::after {
  position: absolute;
  z-index: 10;
  inset: 0;
  display: inline-block;
  content: "";
  background: #484440;
  opacity: 0.3;
  transition: opacity .4s;
}
main.soho-top .products-wrap .products-slide_image .on {
  position: absolute;
  z-index: 20;
  inset: 0;
  opacity: 0;
  transition: opacity .4s;
}
main.soho-top .products-wrap .products-ttl_box {
  position: absolute;
  z-index: 20;
  left: 2em;
  bottom: 2em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-direction: column;
  gap: 0.25em;
  color: var(--white);
  transition: color .4s;
}
main.soho-top .products-wrap .products-ttl_en {
  font-size: 2em;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
}
main.soho-top .products-wrap .products-ttl {
  font-size: 1em;
  font-weight: 500;
}
main.soho-top .products-wrap .products-flex_box{
  display:flex;
  justify-content:flex-start;
  align-items:stretch;
  gap: 0.2em 3em;
}
main.soho-top .products-wrap .products-flex_item{
  width:calc((100% - 6em) / 3);
}
main.soho-top .products-wrap .products-flex_item a{
  position:relative;
  z-index:10;
  display:block;
}
main.soho-top .products-wrap .products-flex_image{
  position:relative;
  z-index:10;
  overflow:hidden;
  aspect-ratio: 527/300;
}
main.soho-top .products-wrap .products-flex_image::after {
  position: absolute;
  z-index: 10;
  inset: 0;
  display: inline-block;
  content: "";
  background: #484440;
  opacity: 0.3;
}
main.soho-top .products-wrap .products-flex_image img,
main.soho-top .contents-wrap .contents-slide_image img,
main.soho-top .cta-wrap .cta-flex_image img{
  scale:1.01;
  transition:scale .8s;
}
main.soho-top .contents-wrap{
  padding-block:10em;
}
main.soho-top .contents-wrap .contents-slide_box .slick-list {
  min-width: 100vw;
}
main.soho-top .contents-wrap .contents-slide_item{
  width:min(100%,420px);
  margin-right:2.5em;
}
main.soho-top .contents-wrap .contents-slide_item a{
  display:block;
  color:var(--black);
  text-decoration:none;
}
main.soho-top .contents-wrap .contents-slide_image{
  overflow:hidden;
}
main.soho-top .contents-wrap .contents-slide_ttl{
  font-size:1.25em;
  font-weight:bold;
  margin-block:1em 0.5em;
}
main.soho-top .contents-wrap .contents-slide_lead{
  font-size:1em;
  line-height:1.8;
}
main.soho-top .catalog-wrap{
  color:var(--white);
  background:var(--brown);
  padding-block:10em;
}
main.soho-top .catalog-wrap .catalog-box{
  width: min(100%,672px);
}
main.soho-top .catalog-wrap .catalog-item{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap: 1.5em 4.5em;
}
main.soho-top .catalog-wrap .catalog-item .catalog-item_lead{
  font-size:1em;
  font-weight:500;
  line-height:2;
  margin-bottom:3em;
}
main.soho-top .catalog-wrap .catalog-bg_image{
  position:absolute;
  z-index:-10;
  width: clamp(240px,20.3125vw,390px);
  transform: translateY(50%);
}
main.soho-top .catalog-wrap .catalog-bg_image.image01{
  right:23.5%;
  top:-12%;
}
main.soho-top .catalog-wrap .catalog-bg_image.image02{
  right:0;
  top: 22%;
  transform: translateY(20%);
}
main.soho-top .cta-wrap{
  padding-block: 12em;
}
main.soho-top .cta-wrap .cta-flex_box{
  display:flex;
  justify-content:space-between;
  align-items:stretch;
  gap: 1.25em 2px;
}
main.soho-top .cta-wrap .cta-flex_item{
  flex:1;
}
main.soho-top .cta-wrap .cta-flex_item a{
  position:relative;
  z-index:10;
  display:block;
}
main.soho-top .cta-wrap .cta-flex_image{
  position:relative;
  z-index:10;
  overflow:hidden;
  aspect-ratio: 839/470;
}
main.soho-top .cta-wrap .cta-flex_image::after {
  position: absolute;
  z-index: 10;
  inset: 0;
  display: inline-block;
  content: "";
  background: #484440;
  opacity: 0.4;
}
main.soho-top .cta-wrap .cta-ttl_box {
  position: absolute;
  z-index: 20;
  inset: 50% auto auto 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.5em;
  text-align: center;
  color: var(--white);
  translate:-50% -50%;
  white-space:nowrap;
}
main.soho-top .cta-wrap .cta-ttl_en {
  font-size: 3em;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 0.75;
}
main.soho-top .cta-wrap .cta-ttl {
  font-size: 1em;
  font-weight: 500;
}
@media (any-hover: hover) {
  main.soho-top .products-wrap .products-slide_item a:hover .products-slide_image::after {
    opacity: 0;
  }
  main.soho-top .products-wrap .products-slide_item a:hover .products-slide_image .on {
    opacity: 1;
  }
  main.soho-top .products-wrap .products-slide_item a:hover .products-ttl_box {
    color: var(--black);
  }
  main.soho-top .products-wrap .products-flex_item a:hover .products-flex_image img,
  main.soho-top .contents-wrap .contents-slide_item a:hover .contents-slide_image img,
  main.soho-top .cta-wrap .cta-flex_item a:hover .cta-flex_image img{
    scale:1.08;
  }
}
@media screen and (max-width: 767px) {
  main.soho-top .mv-bg_box {
    aspect-ratio: 750/873;
    max-height: 100%;
    min-height: 0;
  }
  main.soho-top .mv-text_box {
    inset: 79% 0 auto;
    width: 100%;
  }
  main.soho-top .mv-ttl_box {
    gap: 1em;
    filter: drop-shadow(0 0 4px rgba(0, 0, 0, 0.3));
  }
  main.soho-top .mv-ttl_box .mv-ttl {
    font-size: 5.357145em;
  }
  main.soho-top .mv-ttl_box .mv-ttl_lead {
    font-size: 1em;
  }
  main.soho-top .special-wrap {
    padding-block: 3.5em;
  }
  main.soho-top .special-wrap .h2-style_box{
    margin-bottom:1.75em;
  }
  main.soho-top .special-wrap .special-flex_box{
    flex-direction:column-reverse;
    gap: 2.25em;
  }
  main.soho-top .special-wrap .special-text_box{
    width:100%;
    padding-right:0;
  }
  main.soho-top .special-wrap .special-ttl_box{
    gap:0.25em;
    margin-bottom:1em;
  }
  main.soho-top .special-wrap .special-ttl_box .special-ttl_en{
    font-size:2.15em;
  }
  main.soho-top .special-wrap .special-ttl_box .special-ttl{
    font-size:0.85em;
  }
  main.soho-top .special-wrap .special-ttl_box .special-ttl:first-child:last-child{
    font-size:1.75em;
  }
  main.soho-top .special-wrap .special-text_lead{
    font-size:1.35em;
    line-height:1.2;
    margin-bottom:1.5em;
  }
  main.soho-top .special-wrap .special-text_box .common_btn a{
    margin-inline:auto;
  }
  main.soho-top .special-wrap .special-image_box{
    width:100%;
    margin-bottom: 0;
  }
  main.soho-top .special-wrap .special-image_box .slick-list {
    min-width: 0;
  }
  main.soho-top .special-wrap .slick-slider .slick-dots:not(.number-dots){
    padding-left:0;
  }
  main.soho-top .special-wrap .special-image_box .special-image_item {
    width:calc(100vw - 2em);
  }
  main.soho-top .special-wrap .special-image_box .special-image_item::before{
    display:none;
  }
  main.soho-top .products-wrap {
    padding-block: 0 5em;
  }
  main.soho-top .products-wrap .products-box + .products-box{
    margin-top:4em;
  }
  main.soho-top .products-wrap .products-slide_item {
    max-width: fit-content;
    width:calc(100vw - 6em);
    margin-right: 2px;
  }
  main.soho-top .products-wrap .products-slide_image .on {
    visibility:hidden;
  }
  main.soho-top .products-wrap .products-ttl_box {
    left: 1em;
    bottom: 1em;
  }
  main.soho-top .products-wrap .products-ttl_en {
    font-size: 1.5em;
  }
  main.soho-top .products-wrap .products-ttl {
    font-size: 1em;
  }
  main.soho-top .products-wrap .products-flex_box{
    flex-direction:column;
  } 
  main.soho-top .products-wrap .products-flex_item{
    width:100%;
  }
  main.soho-top .products-wrap .products-flex_image{
    aspect-ratio: 343/150;
  }
  main.soho-top .products-wrap .products-flex_image img,
  main.soho-top .cta-wrap .cta-flex_image img{
    object-fit:cover;
    object-position:center;
    max-width:inherit;
    width:100%;
    height:100%;
  }
  main.soho-top .contents-wrap{
    padding-block:5em;
  }
  main.soho-top .contents-wrap .contents-slide_item{
    max-width: 420px;
    width:calc(100vw - 6em);
    margin-right:1.5em;
  }
  main.soho-top .contents-wrap .contents-slide_ttl{
    font-size:1.15em;
    margin-block:0.75em 0.25em;
  }
  main.soho-top .contents-wrap .contents-slide_lead{
    font-size:1em;
    line-height:1.8;
    letter-spacing:-0.05em;
  }
  main.soho-top .catalog-wrap{
    padding-block:4em;
  }
  main.soho-top .catalog-wrap .catalog-box{
    width: 100%;
  }
  main.soho-top .catalog-wrap .catalog-item{
    flex-direction:column;
  }
  main.soho-top .catalog-wrap .catalog-item_image{
    width:min(100%,158px);    
  }
  main.soho-top .catalog-wrap .catalog-item .catalog-item_lead{
    text-align:center;
    margin-bottom:2em;
  }
  main.soho-top .catalog-wrap .catalog-bg_image{
    display:none;
  }
  main.soho-top .cta-wrap{
    padding-block: 5em;
  }
  main.soho-top .cta-wrap .cta-flex_box{
    flex-direction:column;
  }
  main.soho-top .cta-wrap .cta-flex_image{
    aspect-ratio: 343/195;
  }
  main.soho-top .cta-wrap .cta-ttl_box {
    inset: 50% auto auto 50%;
    gap: 0.5em;
  }
  main.soho-top .cta-wrap .cta-ttl_en {
    font-size: 1.715em;
  }
  main.soho-top .cta-wrap .cta-ttl {
    font-size: 0.85em;
  }  
}
/* soho-article
-------------------------------------------------------------------*/
main.soho-article .soho-gnav_box{
  position:relative;
  z-index: 100;
  background:var(--beige02);
}
main.soho-article .soho-gnav_list{
  position:relative;
  z-index:10;
  width:min(100%,1000px);
  display:flex;
  justify-content:center;
  align-items:stretch;
  margin-inline:auto;
}
main.soho-article .soho-gnav_item{
  display:flex;
  justify-content:flex-start;
  align-items:center;
}
main.soho-article .soho-gnav_item + .soho-gnav_item::before{
  display:block;
  content:"";
  width:1px;
  height:1em;
  background:var(--black);
}
main.soho-article .soho-gnav_item > a,
main.soho-article .soho-gnav_item > dt a,
main.soho-article .soho-gnav_item > dt:not(a){
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  min-height:3.75em;
  font-size: 1em;
  font-weight:500;
  text-decoration:none;
  color:var(--black);
  white-space: nowrap;
  padding-inline:2em;
  cursor:pointer;
  transition:color .4s;
}
main.soho-article .soho-gnav_item > a span,
main.soho-article .soho-gnav_item > dt span{
  position:relative;
  z-index:10;
}
main.soho-article .soho-gnav_list:has(.soho-gnav_item > a:hover,.soho-gnav_dropBox:hover) .soho-gnav_item > a,
main.soho-article .soho-gnav_list:has(.soho-gnav_item > a:hover,.soho-gnav_dropBox:hover) .soho-gnav_item > dt a,
main.soho-article .soho-gnav_list:has(.soho-gnav_item > a:hover,.soho-gnav_dropBox:hover) .soho-gnav_item > dt:not(a){
  color:#999397;
}
main.soho-article .soho-gnav_item > a:hover,
main.soho-article .soho-gnav_dropBox:hover,
main.soho-article .soho-gnav_dropBox:hover dt span{
  color:var(--black) !important;
}
main.soho-article .soho-gnav_item > a span::after,
main.soho-article .soho-gnav_item > dt span::after{
  position:absolute;
  z-index:10;
  display:inline-block;
  content:"";
  width: 100%;
  height:2px;
  background:var(--black);
  inset: auto 0 -0.25em;
  margin-inline:auto;
  transform-origin:center;
  scale:0 1;
  transition:scale .4s;
}
main.soho-article .soho-gnav_item > a:hover span::after,
main.soho-article .soho-gnav_dropBox:hover dt span::after{
  scale:1 1;
}
main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropMenu{
  position: absolute;
  z-index: 100;
  display:flex;
  justify-content:flex-start;
  align-items:stretch;
  flex-wrap:wrap;
  gap:1.5em 1em;
  width: max(100%, 1000px);
  top: 3.75em;
  left:50%;
  padding-block: 1.25em;
  translate:-50% 0;
  opacity:0;
  visibility:hidden;
  transition:opacity .4s,visibility .4s;
}
main.soho-article .soho-gnav_item.soho-gnav_dropBox:hover .soho-gnav_dropMenu{
  opacity:1;
  visibility:visible;
}
main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropMenu::before{
  position:absolute;
  z-index:-10;
  display:inline-block;
  content:"";
  background:var(--beige02);
  width:100vw;
  inset: 0 auto 0 50%;
  translate: -50% 0;
  margin:auto;
}
main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink{
  width:calc((100% - 2em) / 3);
}
main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink a{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap: 0 1.25em;
  color:var(--black);
  text-decoration:none;
  transition:color .4s, background .4s;
}
main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink .soho-gnav_dropImage{
  aspect-ratio: 1/1;
  border:1px solid #ecebea;
  box-sizing:border-box;
  overflow:hidden;
}
main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink .soho-gnav_dropText{
  display:flex;
  justify-content:center;
  align-items:flex-start;
  flex-direction:column;
  font-weight:500;
}
main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink .soho-gnav_dropText span{
  font-size:1.125em;
}
main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink .soho-gnav_dropText em{
  font-size:0.875em;
  font-style:normal;
}
main.soho-article .cta-wrap{
  color:var(--white);
  background:var(--brown);
  padding-block:5em;
}
main.soho-article .cta-wrap .cta-inner{
  display:flex;
  justify-content:space-between;
  align-items: stretch;
  gap: 2em;
}
main.soho-article .cta-wrap .cta-catalog_item{
  width: min(37%,567px);
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap: 2em 1.5em;
}
main.soho-article .cta-wrap .cta-catalog_image{
  width: max(41%,200px);
}
main.soho-article .cta-wrap .cta-catalog_text{
  width: 49.5%;
}
main.soho-article .cta-wrap .cta-catalog_ttl{
  font-size:1.875em;
  font-weight:500;
  margin-bottom:0.75em;
}
main.soho-article .cta-wrap .cta-catalog_lead{
  font-weight:500;
  line-height:1.8;
  margin-bottom:3em;
}
main.soho-article .cta-wrap .cta-catalog_text .common_btn a{
  min-width:0;
  width:100%;
}
main.soho-article .cta-wrap .cta-flex_box{
  width: min(62%,1033px);
  display:flex;
  justify-content:space-between;
  align-items:stretch;
  gap: 1.25em 1em;
}
main.soho-article .cta-wrap .cta-flex_item{
  flex:1;
}
main.soho-article .cta-wrap .cta-flex_item a{
  position:relative;
  z-index:10;
  display:block;
  height: 100%;
}
main.soho-article .cta-wrap .cta-flex_image{
  position:relative;
  z-index:10;
  overflow:hidden;
  height: 100%;
}

main.soho-article .cta-wrap .cta-flex_image::after {
  position: absolute;
  z-index: 10;
  inset: 0;
  display: inline-block;
  content: "";
  background: #484440;
  opacity: 0.4;
}
main.soho-article .cta-wrap .cta-flex_image img{
  object-fit:cover;
  object-position: center bottom;
  max-width:inherit;
  width: 109%;
  height: 100%;
  scale:1.01;
  transition:scale .8s;
}
main.soho-article .cta-wrap .cta-ttl_box {
  position: absolute;
  z-index: 20;
  inset: 50% auto auto 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.75em;
  text-align: center;
  color: var(--white);
  translate:-50% -50%;
  white-space:nowrap;
}
main.soho-article .cta-wrap .cta-ttl_en {
  font-size: 2em;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 0.75;
}
main.soho-article .cta-wrap .cta-ttl {
  font-size: 1em;
  font-weight: 500;
}
@media (any-hover: hover) {
  main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink a:hover{
    color:var(--white);
    background:var(--brown);
  }
  main.soho-article .cta-wrap .cta-flex_item a:hover .cta-flex_image img{
    scale:1.08;
  }
}
@media screen and (max-width: 767px) {
  main.soho-article .soho-gnav_list{
    position: static;
    width:100%;
    justify-content:flex-start;
    overflow-x: auto;
  }
  main.soho-article .soho-gnav_item + .soho-gnav_item::before{
    height:1em;
  }
  main.soho-article .soho-gnav_item > a,
  main.soho-article .soho-gnav_item > dt a,
  main.soho-article .soho-gnav_item > dt:not(a){
    min-height: 3em;
    font-size: 1em;
    padding-inline: 1em;
  }
  main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropMenu{
    gap: 0.5em;
    width: 100%;
    top: 3em;
    left: 0;
    padding: 1em 0.75em;
    translate: 0;
  }
  main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropMenu::before{
    width:100vw;
    inset: 0;
    translate:0;
  }
  main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink{
    width:calc(50% - 0.25em);
  }
  main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink a{
    gap: 0;
  }
  main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink .soho-gnav_dropImage{
    width:30%;
  }
  main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink .soho-gnav_dropText{
    width:70%;
    margin-left:0.35em;
  }
  main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink .soho-gnav_dropText span{
    font-size:0.875em;
  }
  main.soho-article .soho-gnav_item.soho-gnav_dropBox .soho-gnav_dropLink .soho-gnav_dropText em{
    font-size:0.75em;
    font-style:normal;
  }
  main.soho-article .cta-wrap{
    padding-block:3em;
  }
  main.soho-article .cta-wrap .cta-inner{
    flex-direction:column;
    gap: 2em;
  }
  main.soho-article .cta-wrap .cta-catalog_item{
    width:100%;
    display:flex;
    justify-content:flex-start;
    align-items:center;
    gap: 2em 1.5em;
  }
  main.soho-article .cta-wrap .cta-catalog_image{
    width: 35%;
  }
  main.soho-article .cta-wrap .cta-catalog_text{
    width: 65%;
  }
  main.soho-article .cta-wrap .cta-catalog_ttl{
    font-size:1.5em;
    margin-bottom:0.25em;
  }
  main.soho-article .cta-wrap .cta-catalog_lead{
    margin-bottom:1em;
  }
  main.soho-article .cta-wrap .cta-flex_box{
    width: 100%;
    flex-direction:column;
  }
  main.soho-article .cta-wrap .cta-flex_image{
    aspect-ratio:3/1;
  }
  main.soho-article .cta-wrap .cta-flex_image img{
    object-position: center;
    width: 100%;
  }
  main.soho-article .cta-wrap .cta-ttl_en {
    font-size: 1.5em;
  }
  main.soho-article .cta-wrap .cta-ttl {
    font-size: 0.875em;
  }
}

/* soho-desk
-------------------------------------------------------------------*/
main.soho-desk .mv-wrap .mv-text_box{
  position:absolute;
  z-index:10;
  text-align: left;
  width: min(22.8645833333%,439px);
  top: 30%;
  left:6%;
  translate:0 -50%;
}
main.soho-desk .mv-wrap .mv-text_box .logo_gda{
  margin-top:2em;
  width:49.2027334852%;
}
main.soho-desk .mv-wrap .slick-slider .slick-dots:not(.number-dots){
  position:absolute;
  z-index:100;
  width:min(100%,340px);
  top:95%;
  left:6%;
  translate:0 -50%;
  padding-inline: 0;
  margin-top:0;
}
main.soho-desk .about-wrap{
  padding-block: 10em 7em;
}
main.soho-desk .about-wrap .about-inner{
  display:flex;
  justify-content: flex-start;
  align-items:center;
  gap: 0 4em;
}
main.soho-desk .about-wrap .about-text_box{
  width: min(50%,674px);
}
main.soho-desk .about-wrap .about-text_box .about-ttl{
  font-size:1.875em;
  font-weight:500;
  line-height:1.6;
  margin-bottom:1em;
}
main.soho-desk .about-wrap .about-text_box p{
  font-size:1.125em;
  line-height:1.8;
}
main.soho-desk .about-wrap .about-image_box{
  width: 49%;
  text-align: center;
}
main.soho-desk .features-wrap{
  padding-bottom:8em;
}
main.soho-desk .features-wrap .features-lead{
  font-size:1.875em;
  font-weight:500;
  margin-bottom:2.5em;
}
main.soho-desk .features-wrap .features-slide_box .slick-list{
  min-width: 100vw;
}
main.soho-desk .features-wrap .features-slide_item{
  width:min(100%,500px);
  margin-right: 3em;
}
main.soho-desk .features-wrap .features-slide_image{
  aspect-ratio: 3/2;
  overflow:hidden;
  margin-bottom: 1.5em;
}
main.soho-desk .features-wrap .features-slide_image video{
  object-fit:cover;
  object-position:center;
  width:100%;
  height:100%;
}
main.soho-desk .features-wrap .features-slide_ttl{
  font-size:1.25em;
  font-weight:bold;
  margin-bottom:0.75em;
}
main.soho-desk .lineup-wrap{
  background:var(--beige02);
  padding-block:8em;
}
main.soho-desk .lineup-wrap .lineup-desk_ttl{
  font-size:1.875em;
  font-weight:500;
  margin-bottom:0.75em;
}
main.soho-desk .lineup-wrap .lineup-desk_flexBox{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  gap: 2em;
  width: 100%;
  margin-bottom: 6em;
}
main.soho-desk .lineup-wrap .lineup-desk_imageBox{
  width: min(calc(100% - 633px),916px);
}
main.soho-desk .lineup-wrap .lineup-desk_image figure[data-color]:not(.on){
  display: none !important;
}
main.soho-desk .lineup-wrap .lineup-desk_mainImage{
  margin-bottom:1.5em;
}
main.soho-desk .lineup-wrap .lineup-desk_mainImage figcaption{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  gap:0 1em;
  font-size:1.125em;
  margin-top:0.75em;
}
main.soho-desk .lineup-wrap .lineup-desk_mainImage figcaption em{
  font-style:normal;
  font-weight:500;
}
main.soho-desk .lineup-wrap .lineup-desk_thumbnail .lineup-desk_image {
  margin-right: 1.5em;
}
main.soho-desk .lineup-wrap .lineup-desk_textBox{
  width: 633px;
}
main.soho-desk .lineup-wrap .lineup-desk_subttl{
  font-size:1.125em;
  font-weight:500;
  margin-bottom:1.25em;
}
main.soho-desk .lineup-wrap .lineup-desk_colorItem,
main.soho-desk .lineup-wrap .lineup-variation_box{
  margin-bottom:0.5em;
}
main.soho-desk .lineup-wrap .lineup-desk_colorItem > dt,
main.soho-desk .lineup-wrap .lineup-variation_box > dt{
  position:relative;
  z-index:10;
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:0.5em;
  width: 100%;
  min-height:2.5em;
  font-size:1.125em;
  font-weight:500;
  line-height:1;
  border-bottom:1px solid #cbc8c5;
  padding:0.2em 2.5em 0.2em 0;
  cursor: pointer;
}
main.soho-desk .lineup-wrap .lineup-desk_colorItem > dt::before,
main.soho-desk .lineup-wrap .lineup-desk_colorItem > dt::after,
main.soho-desk .lineup-wrap .lineup-variation_box > dt::before,
main.soho-desk .lineup-wrap .lineup-variation_box > dt::after{
  position:absolute;
  z-index:10;
  display:inline-block;
  content:"";
  width:0.75em;
  height:2px;
  background:var(--black);
  top:1.25em;
  right:1em;
  transition:transform .4s;
}
main.soho-desk .lineup-wrap .lineup-desk_colorItem > dt::after,
main.soho-desk .lineup-wrap .lineup-variation_box > dt::after{
  transform:rotate(90deg);
}
main.soho-desk .lineup-wrap .lineup-desk_colorItem > dt.opened::after,
main.soho-desk .lineup-wrap .lineup-variation_box > dt.opened::after{
  transform:rotate(360deg);
}
main.soho-desk .lineup-wrap .lineup-desk_colorItem > dt em,
main.soho-desk .lineup-wrap .lineup-variation_box > dt em{
  display: block;
  aspect-ratio:1/1;
  font-size: 0;
  pointer-events:none;
}
main.soho-desk .lineup-wrap .lineup-desk_colorItem > dt span{
  pointer-events:none;
}
main.soho-desk .lineup-wrap .lineup-desk_colorItem > dd{
  padding-block: 1em 3em;
}
main.soho-desk .lineup-wrap .lineup-desk_priceList{
  margin-bottom:2em;  
}
main.soho-desk .lineup-wrap .lineup-desk_priceItem{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap: 0.5em;
  font-size:1em;
}
main.soho-desk .lineup-wrap .lineup-desk_priceItem + .lineup-desk_priceItem {
  margin-top:0.75em;
}
main.soho-desk .lineup-wrap .lineup-desk_priceItem a{
  position:relative;
  z-index:10;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  width:14em;
  min-height:3em;
  font-size:0.75em;
  font-weight:500;
  line-height:1.2;
  color:var(--white);
  background:var(--brown);
  padding:0.5em 1.5em;
  padding-left:3em;
  text-decoration:none;
  box-sizing:border-box;
  transition:color .4s,background .4s;
}
main.soho-desk .lineup-wrap .lineup-desk_priceItem a span::before,
main.soho-desk .lineup-wrap .lineup-desk_priceItem a span::after{
  position:absolute;
  z-index:10;
  display:inline-block;
  content:"";
}
main.soho-desk .lineup-wrap .lineup-desk_priceItem a span::before{
  width: 1.75em;
  aspect-ratio:17/16;
  background:var(--white);
  mask:url(../img/common/icon-cart.svg) no-repeat;
  mask-size:contain;
  top:50%;
  left:0.5em;
  translate:0 -50%;
  transition:background .4s;
}
main.soho-desk .lineup-wrap .lineup-desk_priceItem a span::after{
  width:0.45em;
  aspect-ratio:1/1;
  border-top:1px solid;
  border-right:1px solid;
  top:50%;
  right:0.75em;
  translate:0 -50%;
  rotate:45deg;
}
main.soho-desk .lineup-wrap .lineup-desk_colorItem .lineup-desk_details{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  flex-wrap:wrap;
  gap:0.75em 0;
}
main.soho-desk .lineup-wrap .lineup-desk_colorItem .lineup-desk_details dt{
  width:100px;
  font-weight:500;
}
main.soho-desk .lineup-wrap .lineup-desk_colorItem .lineup-desk_details dd{
  width:calc(100% - 100px);
}
main.soho-desk .lineup-wrap .lineup-variation_box dd{
  padding-block:1em;
  font-size:1em;
  color:#4c4948;
}
main.soho-desk .lineup-wrap .lineup-variation_box dd p{
  word-break: auto-phrase;
  text-indent:-1em;
  padding-left:1em;
  margin-top:0.5em;
}
main.soho-desk .lineup-wrap .lineup-option_flexBox{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
  flex-wrap: wrap;
  width: fit-content;
  gap: 4em 2em;
  margin-inline: auto;
}
main.soho-desk .lineup-wrap .lineup-option_item{
  width:396px;
}
main.soho-desk .lineup-wrap .lineup-option_item *[data-color]:not(.on){
  display: none !important;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_nam{
  font-size:1.375em;
  font-weight:500;
  margin-block:0.75em 0.5em;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_color{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  flex-wrap:wrap;
  gap: 0.25em;
  margin-bottom: 1em;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_colorBtn{
  display:flex;
  justify-content:center;
  align-items:center;
  width:2.25em;
  aspect-ratio:1/1;
  border:1px solid transparent;
  border-radius:100%;
  padding: 0.25em;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_colorBtn.actived{
  border-color:#68615c;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_colorNam{
  width:100%;
  font-size: 0.875em;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detailBox{
  position:relative;
  z-index:10;
  display:flex;
  justify-content: flex-start;
  align-items:flex-start;
  flex-direction: column;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detailBox input[type="radio"]{
  position:absolute;
  z-index:-10;
  width:0;
  top: 0;
  left: 0;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detailBox >*{
  width:100%;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_tab{
  display:flex;
  justify-content:flex-start;
  align-items:stretch;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_tab label{
  flex:1;
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  min-height:3.25em;
  font-size:0.875em;
  font-weight:500;
  border-bottom:2px solid #cbc8c5;
  padding:0.5em
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detailInner{
  order: 5;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detailBox:has(input[type="radio"]:nth-child(1):checked) .lineup-option_tab label:nth-child(1),
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detailBox:has(input[type="radio"]:nth-child(2):checked) .lineup-option_tab label:nth-child(2),
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detailBox:has(input[type="radio"]:nth-child(3):checked) .lineup-option_tab label:nth-child(3){
  border-bottom-color:#68615c;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detailBox:has(input[type="radio"]) .lineup-option_detailInner{
  display:none;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detailBox:has(input[type="radio"]:nth-child(1):checked) :nth-child(1 of .lineup-option_detailInner),
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detailBox:has(input[type="radio"]:nth-child(2):checked) :nth-child(2 of .lineup-option_detailInner),
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detailBox:has(input[type="radio"]:nth-child(3):checked) :nth-child(3 of .lineup-option_detailInner){
  display:block;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_price{
  font-size:1.125em;
  margin-block:0.75em 0.35em;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_price em{
  font-style:normal;
  font-weight:500;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-ec_btn a{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-direction:column;
  min-height:3em;
  font-size:1em;
  font-weight:500;
  line-height:1.2;
  color:var(--white);
  background:var(--brown);
  padding: 0.5em;
  text-decoration:none;
  box-sizing:border-box;
  transition:color .4s,background .4s;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-ec_btn a span{
  position:relative;
  z-index:10;
  display:inline-block;
  padding-inline: 2em;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-ec_btn a span::before,
main.soho-desk .lineup-wrap .lineup-option_item .lineup-ec_btn a span::after{
  position:absolute;
  z-index:10;
  display:inline-block;
  content:"";
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-ec_btn a span::before{
  width: 1.5em;
  aspect-ratio:17/16;
  background:var(--white);
  mask:url(../img/common/icon-cart.svg) no-repeat;
  mask-size:contain;
  top:50%;
  left: 0;
  translate:0 -50%;
  transition:background .4s;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-ec_btn a span::after{
  width:0.45em;
  aspect-ratio:1/1;
  border-top: 2px solid;
  border-right: 2px solid;
  top:50%;
  right:0.75em;
  translate:0 -50%;
  rotate:45deg;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detail{
  margin-top:0.75em;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detail > dt{
  position:relative;
  z-index:10;
  display:flex;
  justify-content:flex-start;
  align-items:center;
  gap:0.5em;
  width: 100%;
  min-height:2em;
  font-size:1em;
  font-weight:500;
  line-height:1;
  border-bottom:1px solid #cbc8c5;
  padding:0.2em 2em 0.2em 0;
  cursor: pointer;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detail > dt::before,
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detail > dt::after{
  position:absolute;
  z-index:10;
  display:inline-block;
  content:"";
  width:0.75em;
  height:1px;
  background:var(--black);
  top:1em;
  right:0.65em;
  transition:transform .4s;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detail > dt::after{
  transform:rotate(90deg);
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detail > dt.opened::after{
  transform:rotate(360deg);
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detail > dd{
  background:var(--white);
  padding:1em;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detail > dd p{
  display:flex;
  justify-content:flex-start;
  align-items:flex-start;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detail > dd p em{
  font-style:normal;
  font-weight:500;
  white-space:nowrap;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detail > dd ul{
  margin-top:0.75em;
}
main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_detail > dd li{
  list-style:none;
  text-indent:-1em;
  padding-left:1em;
}
main.soho-desk .lineup-wrap .limited{
  display: inline-block;
  vertical-align: bottom;
  font-size:0.75em;
  font-weight:500;
  font-style:normal;
  line-height: 1;
  color: #aa2738;
  border: 1px solid;
  border-radius: 5px;
  padding: 0.2em 0.5em 0.35em;
  margin-left: 0.5em;
}
@media (any-hover: hover) {
  main.soho-desk .lineup-wrap .lineup-desk_priceItem a:hover,
  main.soho-desk .lineup-wrap .lineup-option_item .lineup-ec_btn a:hover{
    color:var(--brown);
    background:var(--white);
  }
  main.soho-desk .lineup-wrap .lineup-desk_priceItem a:hover span::before,
  main.soho-desk .lineup-wrap .lineup-option_item .lineup-ec_btn a:hover span::before{
    background:var(--brown);
  }
}
@media screen and (max-width: 1750px) {
  main.soho-desk .lineup-wrap .lineup-option_flexBox{
    max-width: 1252px;
    width: 100%;
  }
  main.soho-desk .lineup-wrap .lineup-option_item{
    width: calc((100% - 4em) / 3);
  }
}
@media screen and (max-width: 767px) {
  main.soho-desk .mv-wrap .mv-text_box{
    width: 55%;
    top: 29%;
  }
  main.soho-desk .mv-wrap .mv-text_box .logo_gda{
    margin-top: 1em;
  }
  main.soho-desk .mv-wrap .slick-slider .slick-dots:not(.number-dots){
    width:40%;
  }
  main.soho-desk .about-wrap{
    padding-block: 5em 3em;
  }
  main.soho-desk .about-wrap .about-inner{
    flex-direction:column-reverse;
  }
  main.soho-desk .about-wrap .about-text_box{
    width: 100%;
  }
  main.soho-desk .about-wrap .about-text_box .about-ttl{
    font-size:1.5em;
  }
  main.soho-desk .about-wrap .about-text_box p{
    font-size:1em;
    word-break:inherit;
  }
  main.soho-desk .about-wrap .about-image_box{
    width:70%;
  }
  main.soho-desk .features-wrap{
    padding-bottom: 4em;
  }
  main.soho-desk .features-wrap .features-lead{
    font-size: 1.5em;
    margin-bottom:1.5em;
  }
  main.soho-desk .features-wrap .features-slide_item{
    max-width: 420px;
    width:calc(100vw - 6em);
    margin-right:1.5em;
  }
  main.soho-desk .features-wrap .features-slide_image{
    margin-bottom: 1em;
  }
  main.soho-desk .features-wrap .features-slide_ttl{
    font-size:1.15em;
    margin-bottom:0.25em;
  }
  main.soho-desk .lineup-wrap{
    padding-block: 4em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_ttl{
    font-size:1.5em;
    margin-bottom:0.25em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_flexBox{
    flex-direction:column;
    margin-bottom: 2em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_imageBox{
    width: 100%;
  }
  main.soho-desk .lineup-wrap .lineup-desk_mainImage{
    margin-bottom: 0.5em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_mainImage figcaption{
    flex-direction:column;
    font-size:1em;
    margin-top:0.25em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_thumbnail .lineup-desk_image {
    margin-right: 0.25em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_textBox{
    width: 100%;
  }
  main.soho-desk .lineup-wrap .lineup-desk_subttl{
    font-size:1.125em;
    margin-bottom:0.25em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_colorItem > dt,
  main.soho-desk .lineup-wrap .lineup-variation_box > dt{
    min-height:2.5em;
    font-size:1em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_colorItem > dt em,
  main.soho-desk .lineup-wrap .lineup-variation_box > dt em{
    width:20px;
  }
  main.soho-desk .lineup-wrap .lineup-desk_colorItem > dd{
    padding-block: 1em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_priceList{
    margin-bottom:1em;  
  }
  main.soho-desk .lineup-wrap .lineup-desk_priceItem{
    justify-content: flex-start;
    gap:0 0.75em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_priceItem p{
    margin-bottom:0.25em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_priceItem :nth-child(3 of p){
    width:100%;
  }
  main.soho-desk .lineup-wrap .lineup-desk_priceItem a{
    width:100%;
    min-height: 2.5em;
    font-size:1em;
    padding:0.5em 0;
  }
  main.soho-desk .lineup-wrap .lineup-desk_priceItem a span{
    position:relative;
    z-index:10;
    padding-inline:2em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_priceItem a span::before{
    width: 1.5em;
    left:0.25em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_priceItem a span::after{
    width:0.5em;
    right:1em;
  }
  main.soho-desk .lineup-wrap .lineup-desk_colorItem .lineup-desk_details{
    gap: 0.5em 0;
  }
  main.soho-desk .lineup-wrap .lineup-desk_colorItem .lineup-desk_details dt{
    width: 60px;
  }
  main.soho-desk .lineup-wrap .lineup-desk_colorItem .lineup-desk_details dd{
    width: calc(100% - 60px);
  }
  main.soho-desk .lineup-wrap .lineup-variation_box dd{
    padding-block:1em;
  }
  main.soho-desk .lineup-wrap .lineup-variation_box dd .lineup-variation_image{
    width:80%;
  }
  main.soho-desk .lineup-wrap .lineup-variation_box dd p{
    word-break: inherit;
    margin-top:0.25em;
  }
  main.soho-desk .lineup-wrap .lineup-option_flexBox{
    flex-direction:column;
    gap: 3em 2em;
    width: 100%;
  }
  main.soho-desk .lineup-wrap .lineup-option_item{
    width:100%;
  }
  main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_nam{
    font-size:1.25em;
    margin-block:0.5em 0;
  }
  main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_color{
    margin-bottom: 0;
  }
  main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_colorBtn{
    width:1.5em;
    padding: 0.2em;
  }
  main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_colorBtn img{
    width:100%;
  }
  main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_colorNam{
    font-size: 0.75em;
  }
  main.soho-desk .lineup-wrap .lineup-option_item .lineup-option_tab label{
    min-height:2.75em;
    padding:0.25em
  }
  main.soho-desk .lineup-wrap .lineup-option_item .lineup-ec_btn a{
    min-height: 2.75em;
    padding: 0.5em 0;
  }
  main.soho-desk .lineup-wrap .lineup-option_item .lineup-ec_btn a span::before{
    width: 1.5em;
    left:0.25em;
  }
  main.soho-desk .lineup-wrap .lineup-option_item .lineup-ec_btn a span::after{
    width:0.5em;
    right:1em;
  }
}