@charset "UTF-8";

@keyframes zoomUp {

	0% {
		transform: scale(1);
	}
	
	100% {
		transform: scale(1.15); /* 拡大率 */
	}
	
	}

/* ========================================
   @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px),print {  
/* common
-------------------------------------*/
.btn {
   width: 15rem;
}
.btn a{
   display: block;
   text-decoration: none;
   padding: 0 0 1.25rem;
   position: relative;
   border-bottom: 1px solid #333333;
   font-size: 14px;
   line-height: 1.2142857143;
   letter-spacing: 0.05em;
   font-weight: 400;
}
.btn a::after {
   content: "→";
   position: absolute;
   right: 0;
   top: 32%;
   transform: translateY(-50%);
   font-size: 11px;
   color: #333333;
   font-weight: 400;
   font-family: "Lato", sans-serif;
   transition: all 0.2s ease;
}
.btn a:hover::after {
   right: -0.3125rem;
}

main {
   max-width: 1920px;
   margin-inline: auto;
   width: 100%;
}

/* slide-fv
-------------------------------------*/
.add-animation {
	animation: zoomUp 10s linear 0s normal both;
}

.sliderArea{height: calc(880 / 1920 * 100vw);overflow: hidden;}

.full-screen{ position: relative; }
.full-screen .sliderArea { max-width: 100%; margin: 0 auto; padding: 0 25px;}
.side-fix { display: none;}

#slide-fv {
   position: relative;
}
#slide-fv .slide-txt {
   position: absolute;
   bottom: 3.55rem;
   left: 2.5rem;
   z-index: 2;
}
#slide-fv .slide-txt h1 {
   font-weight: 500;
   font-size: 32px;
   letter-spacing: 0.05em;
   text-align: left;
   color: #fff;
   margin-bottom: 0.85rem;
}
#slide-fv .slide-txt .subt {
   font-size: 14px;
   letter-spacing: 0.05em;
   text-align: left;
   color: #fff;
}
#slide-fv .slide-txt02 {
   position: absolute;
   bottom: 2.35rem;
   right: 3.7rem;
   font-size: 20px;
   letter-spacing: 0.05em;
   text-align: right;
   color: #fff;
   z-index: 2;
}
#slide-fv .scrolldown-bar {
   position: absolute;
   bottom: 2.35rem;
   right: 2.5rem;
   width: 1px;
   height: 160px;
   background: #9A9A9A;
   overflow: hidden;
   z-index: 2;
}
#slide-fv .scrolldown-bar-active {
   position: absolute;
   bottom: 100%;
   left: 0;
   width: 1px;
   height: 40px;
   background: #FFFFFF;
   animation: 3.0s ease-in-out backwards infinite scrollDown;
}
@keyframes scrollDown {
   0% {
     bottom: 100%;
   }
   100% {
     bottom: -50px;
   }
 }


/* section-wrap
-------------------------------------*/
.section-wrap {
   background: url(../images/index/event-bg.png)no-repeat center bottom;
   background-size: cover;
}
/* concept
-------------------------------------*/
#concept {
   padding: 15rem 0 calc(93/ 1920 *100vw);
   position: relative;
}
#concept .ttl-box {
   width: min(95%, 1100px);
   margin-inline: auto;
}
#concept .subt {
   font-size: 30px;
   line-height: 1.2;
   letter-spacing: 0em;
   font-weight: 400;
   position: relative;
   margin-bottom: 4.75rem;
   display: inline-block;
 }
 #concept .subt::after {
   position: absolute;
   content: "";
   width: 7.5rem;
   height: 1px;
   background: #1C1C1C;
   top: 65%;
   transform: translateY(-50%);
   right: -8.7rem;
 }
 #concept h2 {
   text-align: center;
   margin-bottom: 3.75rem;
 }
 #concept h2 img {
   /* width: 62.938rem; */
   width: calc(1007 / 1920 *100vw);
   height: auto;
 }
 #concept .inner {
   width: min(95%, 1780px);
   margin-right: auto;
   display: grid;
   grid-template-columns: 46.06% 1fr;
   gap: calc(120 / 1920 * 100vw);
 }
 #concept .photo-box {
   margin-top: 2.2rem;
 }
 #concept .photo {
   margin-bottom: 1.875rem;
 }
 #concept .photo img {
   width: 100%;
   height: auto;
 }
 #concept .deco {
   margin: 0 0 0 2.55rem;
}
 #concept .deco img {
   width: calc(490 / 1920 * 100vw);
   height: auto;
 }
 #concept .content h3 {
   font-size: clamp(1.375rem, 0.958rem + 0.87vw, 2rem);
   line-height: 2.25;
   letter-spacing: 0.05em;
   font-weight: 500;
   text-align: right;
   margin-bottom: 5rem;
 }
 #concept .content .txt {
   font-size: clamp(0.875rem, 0.792rem + 0.17vw, 1rem);
   line-height: 2.5;
   letter-spacing: 0.05em;
   font-weight: 500;
   margin-bottom: 2.5rem;
 }
 #concept .content .txt:nth-of-type(3) {
   margin-bottom: 8.2rem;
 }
 #concept .photo02 {
   position: absolute;
   right: 0;
   bottom: 0;
   /* width: 35rem; */
   width: calc(560 / 1920 *100vw);
   margin-left: auto;
   /* position: relative; */
   /* margin-top: calc(-269 /1920 * 100vw); */
   max-width: 560px;
 }
 #concept .photo02 img {
   width: 100%;
   height: auto;
 }


/* event
-------------------------------------*/
#event {
   margin-top: 11rem;
}
#event .inner-Box{
   width: min(95%, 1440px);
   margin-inline: auto;
   padding: 0 0 9.6rem;
}
#event .top-box {
   display: flex;
   justify-content: space-between;
   margin-bottom: 3rem;
}
#event .enttl {
   font-size: 40px;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin-bottom: 0.2rem;
}
#event h2 {
   font-size: 16px;
   font-weight: 500;
   line-height: 2.5;
   letter-spacing: 0.05em;
}
#event .btn {
   width: 7.5rem;
   margin: 2.9rem 0 0;
}

#event .system-list {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: 0 calc(60 / 1920 * 100vw);
}
#event .system-list li {
   display: grid;
   grid-row: span 5;
   grid-template-rows: subgrid;
}
#event .system-list li a {
   display: contents;
}
#event .system-list li .top-wrap {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   margin-bottom: 1rem;
}
#event .system-list li .post-date .year {
   display: block;
   font-size: 16px;
   font-weight: 600;
   letter-spacing: 0.05em;
}
#event .system-list li .post-date .day {
   font-size: 24px;
   font-weight: 600;
   line-height: 1.2;
   letter-spacing: 0.05em;
}
#event .system-pic {
   height: 17.5rem;
   margin-bottom: 0.7rem;
}
#event .system-pic img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
#event .icon {
   font-size: 12px;
   font-weight: 400;
   letter-spacing: 0.05em;
   color: #FFFFFF;
   text-align: center;
   display: inline-block;
   width: 3.625rem;
   line-height: 1.667;
}
#event .icon01 {
   background: #908672;
}
#event .icon02 {
   background: #9A9A9A;
}
#event .icon03 {
   background: #1C1C1C;
}
/* #event .system-category {
   font-size: 12px;
   font-weight: 400;
   line-height: 3.33;
   letter-spacing: 0.05em;
   display: flex;
   gap: 1.9rem;
   padding: 0 0.7rem;
}
#event .system-category span {
   position: relative;
}
#event .system-category span::before {
   content: "#";
   position: absolute;
   left: -0.625rem;
   top: 50%;
   transform: translateY(-50%);
   font-size: 12px;
   font-weight: 400;
   letter-spacing: 0.05em;
   color: #908672;
} */
#event .system-ttl-01 {
   font-size: 16px;
   font-weight: 600;
   line-height: 1.75;
   letter-spacing: 0.05em;
   border-bottom: 1px solid #E0E0E0;
   padding: 0 0 0.25rem;
   margin-bottom: 1rem;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   overflow: hidden;
}
#event .system-date-wrap {
   position: relative;
}
#event .system-date-wrap::before {
   content: "";
   position: absolute;
   top: 0;
   left: 4.4rem;
   width: 1px;
   height: 4rem;
   background: #E0E0E0;
}

#event .system-date {
   font-size: clamp(0.625rem, 0.542rem + 0.17vw, 0.75rem);
   font-weight: 400;
   line-height: 2;
   letter-spacing: 0.05em;
}
#event .date-ttl {
   width: 5.7rem;
   display: inline-block;
}
#event .start_text {
   position: relative;
}

/* lineup
-------------------------------------*/
#lineup {
   background: #1C1C1C;
   color: #FFFFFF;
   position: relative;
   padding: 0 0 4.8rem;
}
#lineup .ttl-box {
   width: min(95%, 1860px);
   margin-inline: auto;
   padding: 5rem 0 1.6rem;
}
#lineup .enttl {
   font-size: 40px;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin: 0 0 0 2rem;
}
#lineup h2 {
   font-size: 16px;
   font-weight: 500;
   line-height: 2.5;
   letter-spacing: 0.05em;
   margin: 0 0 0 2rem;
}
#lineup .subt {
   font-size: 32px;
   font-weight: 500;
   line-height: 2.25;
   letter-spacing: 0.05em;
   text-align: right;
   margin: -1.3rem 0.7rem 0 0;
}
.js-lineup {

}
.js-lineup-target {
   position: relative;
}
#lineup .lineup-box {
   position: sticky;
   top: 0;
   height: 100vh;
   z-index: 1;
   background: #1C1C1C;
}
#lineup .lineup-box a {

}
#lineup .lineup-box a {
   display: grid;
   grid-template-columns: 71.4% 1fr;
   gap: 5rem;
   padding: 0 0 2.5rem;
   text-decoration: none;
}
#lineup .lineup-box .photo {
   overflow: hidden;
}
#lineup .lineup-box .photo img {
   width: 100%;
   height: auto;
   display: block;
   transform-origin: center center;
   transition: transform 0.3s ease;
}
#lineup .lineup-box .content {
   padding: 5rem 5rem 0 0;
   color: #fff;
}
#lineup .lineup-box .num {
   font-size: 13px;
   font-weight: 400;
   line-height: 1.23076;
   letter-spacing: 0;
   margin-bottom: 1.25rem;
}
#lineup .lineup-box h3 {
   font-size: 40px;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0;
   margin-bottom: 2.5rem;
}
#lineup .lineup-box .content .photo {
   margin-bottom: 2.5rem;
   width: 22.5rem;
}
#lineup .lineup-box h4 {
   font-size: 24px;
   font-weight: 500;
   line-height: 1.7083;
   letter-spacing: 0.05em;
   margin-bottom: 1.95rem;
}
#lineup .lineup-box .txt {
   font-size: 16px;
   font-weight: 400;
   line-height: 2;
   letter-spacing: 0.05em;
   margin-bottom: 0.5rem;
   padding: 0 2rem 0 0;
}
#lineup .lineup-box .arrow {
   width: 5rem;
   height: 5rem;
   font-size: 20px;
   font-weight: 400;
   line-height: 1.2em;
   letter-spacing: 0;
   border-radius: 50%;
   border: 1px solid #FFFFFF;
   margin-left: auto;
   display: flex;
   justify-content: center;
   align-items: center;
}
#lineup .js-lineup02,
#lineup .js-lineup03,
#lineup .js-lineup04 {
  /* clip-path: inset(100% 0% 0% 0%); */
}
#lineup .sauna{

}
#lineup .sauna .inner {
   padding: 11.3rem 0 5rem;
}
#lineup .sauna .inner a {
   width: min(95%, 1400px);
   margin-inline: auto;
   display: grid;
   grid-template-columns: 1fr 57.143%;
   gap: 6.5rem;
}
#lineup .sauna .content {
   padding: 0;
   position: relative;
}
#lineup .sauna h2 {
   position: relative;
   font-size: 40px;
   line-height: 1.2;
   font-weight: 700;
   letter-spacing: 0;
   margin: 0 0 3.64rem;
   display: inline-block;
   position: relative;
   z-index: 2;
}
#lineup .sauna .content::before {
   content: "";
   position: absolute;
   width: 7.313rem;
   height: 3.938rem;
   background: url(../images/index/alpha.svg) no-repeat;
   background-size: contain;
   top: -2rem;
   left: 2rem;
   z-index: 1;
}
#lineup .sauna h3 {
   font-size: 24px;
   font-weight: 500;
   line-height: 1.7083;
   letter-spacing: 0.05em;
   margin-bottom: 3.25rem;
}
#lineup .sauna .txt {
   margin: 0 0 2rem;
}
#lineup .sauna .txt:nth-of-type(2) {
   margin-bottom: 4rem;
}
#lineup .sauna .photo-box {
   position: relative;
}
#lineup .sauna .photo-box .photo01 {
   position: relative;
   top: 2.5rem;
   right: 3.7rem;
}
#lineup .sauna .arrow {
   width: 8.75rem;
   height: 8.75rem;
   font-size: 25px;
   color: #9A9A9A;
   border: 1px solid #9A9A9A;
   margin: -0.2rem -0.7rem 0 auto;
   position: relative;
}



/* modelhouse
-------------------------------------*/
#modelhouse {
   padding: 15.6rem 0 0;
   overflow: hidden;
}
#modelhouse .inner {
   width: min(95%, 1800px);
   margin-left: auto;
   display: grid;
   grid-template-columns: 28% 1fr;
   gap: calc(116 / 1920 * 100vw);
   padding: 0 0 6rem;
 }
#modelhouse h2 {
   margin: 0 0 0 0rem;
   position: relative;
   z-index: 2;
}
#modelhouse h2 img {width: calc(1262 / 1920 * 100vw);max-width: 1262px;}
#modelhouse .content {
   padding: 7.5rem 0 0;
}
#modelhouse .content h3 {
   font-size: clamp(1.375rem, -0.5rem + 2.08vw, 2rem);
   line-height: 2.25;
   letter-spacing: 0.05em;
   font-weight: 500;
   margin-bottom: 1.1875rem;
}
#modelhouse .content .txt {
   font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
   line-height: 2;
   letter-spacing: 0.05em;
   font-weight: 400;
   margin-bottom: 1.85rem;
}
#modelhouse .content .txt:last-of-type {
   margin-bottom: 9.4rem;
}
#modelhouse .infoBox {
   margin-bottom: 10rem;
}
#modelhouse .infoBox h4 {
   font-size: clamp(1rem, 0.833rem + 0.35vw, 1.25rem);
   line-height: 2.25;
   letter-spacing: 0.05em;
   font-weight: 500;
   color: #8E7016;
   margin-bottom: 1.95rem;
}
#modelhouse .infoBox .subt {
   font-size: 16px;
   line-height: 1.1875;
   letter-spacing: 0.05em;
   font-weight: 400;
   margin-bottom: 1.05rem;
}
#modelhouse .infoBox .info {
   font-size: 14px;
   line-height: 2;
   letter-spacing: 0.05em;
   font-weight: 400;
   margin-bottom: 1.5rem;
}
#modelhouse .photo {
   position: relative;
   top: -3.4rem;
}
#modelhouse .photo img {
   width: 100%;
   height: auto;
}


/* gallery
-------------------------------------*/
#gallery {
   background: #F0EFEB;
}
#gallery .inner-Box {
   width: min(95%, 1640px);
   margin-inline: auto;
   padding: 12.5rem 0 12rem;
}
#gallery .top-box {
   display: flex;
   justify-content: space-between;
   margin-bottom: 4.5rem;
}
#gallery .enttl {
   font-size: 40px;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin-bottom: 0.2rem;
}
#gallery h2 {
   font-size: 16px;
   font-weight: 500;
   line-height: 2.5;
   letter-spacing: 0.05em;
}
#gallery .btn {
   width: 7.5rem;
   margin: 2.9rem 0 0;
}
#gallery .system-list {
	gap: calc(60/ 1920* 100vw) calc(100 / 1920 * 100vw);
}
#gallery .system-pic {height: 20rem;margin-bottom: 0.5rem;}
#gallery .system-pic img {width: 100%;height: 100%;object-fit: cover;}
#gallery .system-pic img:hover {
   opacity: 0.7;
}
#gallery .system-area {
	font-size: 14px;
	font-weight: 400;
	line-height: 2.85714;
	letter-spacing: 0.05em;
}
#gallery .system-ttl-01 {
	font-size: 20px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.05em;
	border-bottom: 1px solid #1C1C1C;
	display: inline-block;
}

/* section-wrap02
-------------------------------------*/
 .section-wrap02 {
   padding: 20.4rem 0 10.45rem;
   background: url(../images/index/section-wrap02.png)no-repeat center center;
   background-size: cover;
   /* background-size: 100% auto;
   background-attachment: fixed !important; */
} 


/* about
-------------------------------------*/
#about {
   background: #FFFFFF;
   width: min(95%, 1600px);
   margin-right: auto;
}
#about .inner-Box {
   width: min(95%, 1320px);
   margin-inline: auto;
   padding: 7.5rem 0 37.86rem;
}
#about .enttl {
   font-size: 40px;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin-bottom: 0.2rem;
}
#about h2 {
   font-size: 16px;
   font-weight: 500;
   line-height: 2.5;
   letter-spacing: 0.05em;
   margin-bottom: 3.95rem;
}
#about .btn-list {
   display: grid;
   grid-template-columns: repeat(3, minmax(0, 1fr));
   gap: calc(100 / 1920 * 100vw);
   margin: 0 2.5rem 0 0;
}
#about .btn-list li span {
   font-size: 16px;
   font-weight: 400;
   line-height: 1.1875;
   letter-spacing: 0;
   display: block;
   color: #9A9A9A;
   text-align: right;
   padding: 1.25rem 0 0;
}
#about .btn-list .btn {
   border-bottom: 1px solid #1C1C1C;
   padding: 0 0 0.75rem;
   position: relative;
   font-size: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
   font-weight: 500;
   line-height: 2;
   letter-spacing: 0.05em;
   width: 100%;
}
#about .btn-list .btn::after {
   content: "→";
   position: absolute;
   right: 0;
   top: 45%;
   transform: translateY(-50%);
   font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
   color: #333333;
   font-weight: 400;
   font-family: "Lato", sans-serif;
   transition: all 0.2s ease;
}
#about .btn-list .btn:hover::after {
   right: -0.3125rem;
}
#about .btn-list a {
   text-decoration: none;
}


/* voice
-------------------------------------*/
#voice {
   background: #E9E8E4;
   width: min(95%, 1680px);
   margin-inline: auto;
   margin-top: -27.7rem;
   padding: 5rem 8.8rem 0;
}
#voice .top-box {
   display: flex;
   justify-content: space-between;
   margin-bottom: 3.8rem;
}
#voice .enttl {
   font-size: 40px;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin-bottom: 0.2rem;
}
#voice h2 {
   font-size: 16px;
   font-weight: 500;
   line-height: 2.5;
   letter-spacing: 0.05em;
}
#voice .btn {
   width: 7.7rem;
   margin: 2.75rem -0.15rem 0 0;
}
#voice .btn a::after {
	/* right: 0rem; */
}
#voice .system-list {
   margin-left: calc(50% - 50vw);
   margin-right: calc(50% - 50vw);
   gap: 4rem 0;
}
#voice .system-list li{
   background: #FFFFFF;
   margin: 0 1.875rem;
   position: relative;
   z-index: 3;
   width: 40rem;
}
#voice .system-list li::after {
   content: "";
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   bottom: 3.5rem;
   width: 41.25rem;
   height: 10rem;
   background: url(../images/index/voice-list-shadow.png)no-repeat;
   background-size: contain;
   z-index: 1;
}
#voice .system-list li a {
   display: grid;
   grid-template-columns: 50% 50%;
   position: relative;
   z-index: 2;
   background: #fff;
}
#voice .system-list li .content {
   padding: 1.95rem 2.5rem;
   position: relative;
}
#voice .system-list li .content::before {
   content: "";
   position: absolute;
   bottom: 1.25rem;
   right: 1.25rem;
   width: 1.875rem;
   height: 1.875rem;
   background: url(../images/index/voice-arrow.svg)no-repeat;
   background-size: contain;
}
#voice .system-pic {
   height: 13.75rem;
   margin: 0;
}
#voice .system-pic img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
#voice .system-area {
   font-size: 14px;
   font-weight: 400;
   line-height: 2.8571;
   letter-spacing: 0.05em;
   margin: 0 0 0.2rem;
}
#voice .system-ttl-01 {
   font-size: 16px;
   font-weight: 600;
   line-height: 1.875;
   letter-spacing: 0.05em;
}
#voice .slick-track {
   padding: 0 0 12rem;
}


/* modelcase
-------------------------------------*/
#modelcase {
   background: transparent linear-gradient(90deg, #F8F6F1 0%, #C4B9AC 100%) 0% 0% no-repeat padding-box;
}
#modelcase .inner-Box {
   /* width: min(95%, 1780px);
   margin-left: auto;
   padding: 10.15rem 0 29.16rem;
   display: grid;
   grid-template-columns: 20.3% 1fr;
   gap: calc(140 / 1920 * 100vw);
   overflow: hidden; */
   position: relative;
   width: min(95%, 1780px);
   margin-left: auto;
   padding: 10.15rem 0 29.16rem;
}
#modelcase .modelcase-slider {
   position: absolute;
   top: 14.6%;
   left: 28.3%;
   width: 100%;
   z-index: 1;
 }
#modelcase .enttl {
   font-size: 40px;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0;
   margin-bottom: 4.2rem;
}
#modelcase .enttl span {
   display: block;
}
#modelcase h2 {
   font-size: clamp(1.25rem, 1.083rem + 0.35vw, 1.5rem);
   font-weight: 500;
   line-height: 2.5;
   letter-spacing: 0.05em;
   margin-bottom: 0.5rem;
}
#modelcase .subt {
	margin-bottom: 12.4rem;
	font-size: clamp(0.875rem, 0.792rem + 0.17vw, 1rem);
}
#modelcase .btn {

}
#modelcase .modelcase-slider .slide {
   margin: 0 5rem 0 0;
   width: 480px;
}
#modelcase .slide-dots {
   margin: 0;
   padding: 0;
   text-align: center;
   display: flex;
   flex-direction: column;
   position: absolute;
   bottom: 17px;
   left: calc(-501 / 1920 * 100vw);
   z-index: 999;
}
#modelcase .slide-dots::after {
   background: #1C1C1C;
   width: 1px;
   height: 136px;
   position: absolute;
   top: 24px;
   content: "";
   left: 3px;
}
#modelcase .slide-dots li {
   display: inline-block;
   margin: 0;
   position: relative;
   z-index: 2;
}
#modelcase .slide-dots li button {
   position: relative;
   text-indent: -9999px;
}
#modelcase .slide-dots li button::before {
   background-image: url(../images/index/slide-dots.svg);
   background-repeat: no-repeat;
   background-size: contain;
   content: "";
   cursor: pointer;
   height: 8px;
   left: 0;
   margin: auto;
   position: absolute;
   right: 0px;
   top: 24px;
   width: 8px;
}
#modelcase .slide-dots li.slick-active button::before {
   background-image: url(../images/index/slide-dots-active.svg);
}
#modelcase button {
   background: none;
   border: none;
   outline: none;
   padding: 14px 0;
}
#modelcase .slide-dots-txt {
   font-size: 16px;
   font-weight: 500;
   letter-spacing: 0.05em;
   line-height: 1;
   position: absolute;
   /* bottom: calc(163 / 1920 * 100vw); */
   bottom: 163px;
   /* left: calc(28 / 1920 * 100vw); */
   left: 28px;
   display: grid!important;
   /* gap: calc(28 / 1920 * 100vw); */
   gap: 28px;
}
#modelcase .slide-dots-txt li {
   cursor: pointer;
}

.modelcase-slider .slick-slide {
   display: block;
   height: auto;
 }
 

/* link-box
-------------------------------------*/
#link-box {
   padding: 10rem 0 24.25rem;
}
#link-box .inner-Box {
   width: min(95%, 820px);
   margin-inline: auto;
}
#link-box .logo {
   text-align: center;
   margin-bottom: 0.5rem;
}
#link-box .logo img {width: 13.75rem;}
#link-box .desc {text-align: center;font-size: 14px;font-weight: 500;line-height: 2.5;letter-spacing: 0.05em;margin: 0 0 3rem -0.5rem;}
#link-box .link {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   justify-content: center;
   gap: 6.25rem;
}
#link-box .link .btn {width: 100%;}
#link-box .link .btn a {
   font-size: 24px;
   line-height: 2;
   font-weight: 500;
   letter-spacing: 0.05em;
   padding: 0 0 0.65rem;
}
#link-box .link .btn a::after {font-size: 19px;top: 46%;}


/* blog
-------------------------------------*/
#blog {
   background: #F0EFEB;
   width: min(95%, 1510px);
   margin-left: auto;
   margin-top: -14.2rem;
   position: relative;
}
#blog .inner-Box {
   padding: 9.3rem 0rem 7.5rem;
   display: grid;
   grid-template-columns: 21.2% 50.4%;
   width: min(95%, 1270px);
   margin-inline: auto;
   margin-bottom: -14.5rem;
}
#blog .enttl {
   font-size: 30px;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin-bottom: 0.1rem;
}
#blog h2 {
   font-size: 14px;
   font-weight: 500;
   line-height: 2.85714;
   letter-spacing: 0.05em;
   margin-bottom: 4.95rem;
}
#blog .btn {width: 7.7rem;}
#blog .system-list2 {
    padding: 0.6rem 0 0;
    display: grid;
    gap: 1.2rem;
}
#blog .system-list2 li {
    border-bottom: 1px solid #FFFFFF;
    padding: 0 0 0.5rem;
}
#blog .textbx {
   display: flex;
   align-items: center;
   gap: 3.5rem;
}
#blog .system-day {
   font-size: 12px;
   font-weight: 400;
   line-height: 2;
   letter-spacing: 0.05em;
}
#blog .system-ttl-01 {
   font-size: 14px;
   font-weight: 600;
   line-height: 2.8571;
   letter-spacing: 0.05em;
}

}

@media screen and (min-width:768px) and (max-width:1440px) {
   #concept {
      padding: 16.667vw 0 20.458vw;
      position: relative;
   }
   #concept .content h3 {
      margin-bottom: 5.556vw;
   }
   #concept .content .txt {
      margin-bottom: 2.778vw;
   }
}

/* lineup
-------------------------------------*/
@media screen and (min-width:768px) and (max-width:1600px) {
   #lineup .lineup-box .content .photo {
      width: calc(360 / 1920 * 100vw);
   }
   #lineup .lineup-box .arrow {
      width: calc(80 / 1920 * 100vw);
      height: calc(80 / 1920 * 100vw);
   }
   #lineup .lineup-box .content {
      padding: calc(80 / 1920 * 100vw) calc(80 / 1920 * 100vw) 0 0;
   }
   #lineup .sauna .arrow {
      width: calc(140 / 1920 * 100vw);
      height: calc(140 / 1920 * 100vw);
      margin: calc(-3 / 1920 * 100vw) calc(-11 / 1920 * 100vw) 0 auto;
   }
   
}

@media screen and (min-width:768px) and (max-width:1280px) {
   #lineup .lineup-box a {
      grid-template-columns: 57.7% 37.75%;
      gap: calc(80 / 1920 * 100vw);
   }
   #lineup .sauna .inner a {
      gap: calc(104 / 1920 * 100vw);
   }
   #lineup .sauna .content {
      padding: 0;
   }
   #lineup .sauna .inner a {
   }
}

/* modelcase
-------------------------------------*/
@media screen and (min-width:768px) and (max-width:1860px) {
   #modelcase .inner-Box {
      grid-template-columns: 26.3% 1fr;
   }
   #modelcase .modelcase-slider {
      left: 32vw;
   }
   #modelcase .slide-dots {
      left: -31.4vw;
    }
   
}
@media screen and (min-width:768px) and (max-width:1440px) {
   #modelcase .inner-Box {
      grid-template-columns: 27.3% 1fr;
   }
}
@media screen and (min-width:768px) and (max-width:1280px) {
   #modelcase .inner-Box {
      grid-template-columns: 28.3% 1fr;
   }
   #modelcase .modelcase-slider {
      top: 14.6%;
      left: 36.3%;
    }
    #modelcase .slide-dots {
      /* left: -33.6vw;
      bottom: 1.75vw; */
      left: -34vw;
      /* top: 55vw; */
      /* bottom: 1.328vw; */
      bottom: 2%;
    }
    #modelcase .slide-dots-txt {
      /* bottom: 12.734vw; */
      top: 73%;
      left: 2.188vw;
      gap: 2.188vw;
    }
    /* #modelcase .slide-dots {
      left: -34vw;
      bottom: 1.8vw;
    }
    #modelcase .slide-dots-txt {
      bottom: 1.8vw;
    } */
   #modelhouse .content h3 {
      font-size: clamp(1.125rem, 0.844rem + 0.59vw, 1.313rem);
   }
   #modelhouse .content .txt {
      font-size: clamp(0.688rem, 0.594rem + 0.2vw, 0.75rem);
   }
}
@media screen and (min-width:768px) and (max-width:1204px) {
   #modelcase .slide-dots {
      bottom: -2%;
   }
}
@media screen and (min-width:768px) and (max-width:1000px) {
   #modelcase .inner-Box {
      grid-template-columns: 32.5% 1fr;
   }
}

/* blog
-------------------------------------*/
@media screen and (min-width:768px) and (max-width:1000px) {
   #blog .inner-Box {
      gap: 1.2rem;
   }
}

/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
.btn {
   width: 68.12vw;
   margin-inline: auto;
}
.btn a{
   display: block;
   text-decoration: none;
   padding: 0 0 4.5vw;
   position: relative;
   border-bottom: 0.2vw solid #333333;
   font-size:3.382vw;
   line-height: 1.2142857143;
   letter-spacing: 0.05em;
   font-weight: 400;
}
.btn a::after {
   content: "→";
   position: absolute;
   right: 0;
   top: 32%;
   transform: translateY(-50%);
   font-size:2.898vw;
   color: #333333;
   font-weight: 400;
   font-family: "Lato", sans-serif;
   transition: all 0.2s ease;
}
.btn a:hover::after {
   right: -1vw;
}

/* slide-fv
-------------------------------------*/
.add-animation {
	animation: zoomUp 10s linear 0s normal both;
}

.sliderArea{height: 183.4vw;overflow: hidden;}

.full-screen{ position: relative; }
.full-screen .sliderArea { max-width: 100%; margin: 0 auto; padding: 0 1vw;}
.full-screen .slick-slide {/* margin: 0 1vw; */width: 1000px;}
.full-screen .slick-slide img {  width: 100%;  height: auto;}
.full-screen .slick-slide {transition: all ease-in-out .3s;opacity: .2;}
.full-screen .slick-list { overflow: visible; }
.side-fix { display: none;}

#slide-fv {
   position: relative;
}
#slide-fv .slide-txt {
   position: absolute;
   bottom: 18.4vw;
   left: 7vw;
   z-index: 2;
}
#slide-fv .slide-txt h1 {
   font-weight: 500;
   font-size:5.797vw;
   letter-spacing: 0.05em;
   text-align: left;
   color: #fff;
   margin-bottom: 2vw;
}
#slide-fv .slide-txt .subt {
   font-size:3.382vw;
   letter-spacing: 0.05em;
   text-align: left;
   color: #fff;
}
#slide-fv .slide-txt02 {
   position: absolute;
   bottom: 4.2vw;
   right: 7.5vw;
   font-size:2.898vw;
   letter-spacing: 0.05em;
   text-align: right;
   color: #fff;
   z-index: 2;
}
#slide-fv .scrolldown-bar {
   position: absolute;
   bottom: 4.8vw;
   right: 5.3vw;
   width: 0.2vw;
   height: 38.7vw;
   background: #9A9A9A;
   overflow: hidden;
   z-index: 2;
}
#slide-fv .scrolldown-bar-active {
   position: absolute;
   bottom: 100%;
   left: 0;
   width: 0.2vw;
   height: 9.7vw;
   background: #FFFFFF;
   animation: 3.0s ease-in-out backwards infinite scrollDown;
}
@keyframes scrollDown {
   0% {
     bottom: 100%;
   }
   100% {
     bottom: -50px;
   }
 }


 /* section-wrap
-------------------------------------*/
.section-wrap {
   background: url(../images/index/event-bg_sp.png)no-repeat center bottom;
   background-size: cover;
}
/* concept
-------------------------------------*/
#concept {
   padding: 18.2vw 0 5vw;
   position: relative;
}
#concept .ttl-box {
   width: 90.34vw;
   margin-inline: auto;
}
#concept .subt {
   font-size:3.382vw;
   line-height: 1.2;
   letter-spacing: 0em;
   font-weight: 400;
   position: relative;
   margin: 0 0 10vw 0.4vw;
   display: inline-block;
}
#concept .subt::after {
   position: absolute;
   content: "";
   width: 9.7vw;
   height: 0.2vw;
   background: #1C1C1C;
   top: 53%;
   transform: translateY(-50%);
   right: -12vw;
}
#concept h2 {
   text-align: center;
   margin-bottom: 4.2vw;
}
#concept h2 img {
   width: 89.615vw;
   height: auto;
   margin: 0 0 0 -0.2vw;
}
#concept .inner {
   display: grid;
}
#concept .photo-box {
   display: grid;
   grid-template-columns: 75.32% 1fr;
   order: 2;
   width: 93vw;
   align-items: baseline;
   gap: 7.2vw;
   margin-bottom: 9vw;
}
#concept .photo {
   margin: 0;
}
#concept .photo img {
   width: 100%;
   height: auto;
}
#concept .deco img {
   width: 15.702vw;
   height: auto;
}
#concept .content {display: contents;}
#concept .content h3 {
   font-size:5.314vw;
   line-height: 2.25;
   letter-spacing: 0.05em;
   font-weight: 500;
   text-align: right;
   order: 1;
   width: 80vw;
   margin: 0 3vw 7vw auto;
}
#concept .content .txt {
   font-size:3.382vw;
   line-height: 2.285714;
   letter-spacing: 0.05em;
   font-weight: 500;
   margin-bottom: 7.4vw;
   order: 3;
   width: 89.375vw;
   margin-inline: auto;
}
#concept .content .txt:nth-of-type(3) {
   margin-bottom: 49.5vw;
}
#concept .photo02 {
   position: absolute;
   right: 0;
   bottom: 23.8vw;
   width: 51.935vw;
}
#concept .btn {order: 4;margin-inline: auto;}

 /* event
-------------------------------------*/
#event {
   margin-top: 19vw;
}
#event .inner-Box{
   width: 89.375vw;
   margin-inline: auto;
   padding: 0 0 19vw;
}
#event .top-box {
   display: flex;
   justify-content: space-between;
   margin-bottom: 7vw;
   border-bottom: 0.2vw solid #9A9A9A;
   padding: 0 0 6vw;
}
#event .enttl {
   font-size:7.246vw;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin-bottom: 0vw;
}
#event h2 {
   font-size:3.623vw;
   font-weight: 500;
   line-height: 2;
   letter-spacing: 0.05em;
}
#event .btn {
   width: 29.8vw;
   margin: 6.4vw 0 0;
   display: block;
}

#event .system-list {
   display: grid;
   grid-template-columns: 1fr;
   gap: 9.55vw;
   width: 82.129vw;
   margin-inline: auto;
}
#event .system-list li {border-bottom: 0.2vw solid #9A9A9A;padding: 0 0 2.2vw;}
#event .system-list li a {
   display: contents;
}
#event .system-list li .top-wrap {
   display: flex;
   justify-content: space-between;
   align-items: flex-end;
   margin-bottom: 2vw;
}
#event .system-list li .post-date .year {
   display: block;
   font-size:3.865vw;
   font-weight: 600;
   letter-spacing: 0.05em;
}
#event .system-list li .post-date .day {
   font-size:5.797vw;
   font-weight: 600;
   line-height: 1.2;
   letter-spacing: 0.05em;
}
#event .system-pic {
   height: 52.66vw;
   margin-bottom: 2.7vw;
}
#event .system-pic img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
#event .icon {
   font-size:2.898vw;
   font-weight: 400;
   letter-spacing: 0.05em;
   color: #FFFFFF;
   text-align: center;
   display: inline-block;
   width: 14.1vw;
   line-height: 1;
   padding: 1vw 0;
}
#event .icon01 {
   background: #908672;
}
#event .icon02 {
   background: #9A9A9A;
}
#event .icon03 {
   background: #1C1C1C;
}
/* #event .system-category {
   font-size:2.898vw;
   font-weight: 400;
   line-height: 2.9;
   letter-spacing: 0.05em;
   display: flex;
   gap: 4.8vw;
   padding: 0 2vw;
}
#event .system-category span {
   position: relative;
}
#event .system-category span::before {
   content: "#";
   position: absolute;
   left: -1.9vw;
   top: 50%;
   transform: translateY(-50%);
   font-size:2.898vw;
   font-weight: 400;
   letter-spacing: 0.05em;
   color: #908672;
} */
#event .system-ttl-01 {
   font-size:3.623vw;
   font-weight: 600;
   line-height: 1.733333;
   letter-spacing: 0.05em;
   padding: 0 0 0.5vw;
   margin-bottom: 1.5vw;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
   overflow: hidden;
}
#event .system-date-wrap {
   position: relative;
}
#event .system-date-wrap::before {
   content: "";
   position: absolute;
   top: 0.2vw;
   left: 17vw;
   width: 0.2vw;
   height: 15.5vw;
   background: #E0E0E0;
}

#event .system-date {
   font-size:2.898vw;
   font-weight: 400;
   line-height: 2;
   letter-spacing: 0.05em;
}
#event .date-ttl {
   width: 22vw;
   display: inline-block;
}
#event .start_text {
   position: relative;
}
#event .sp-btn {font-size: 2.898vw;font-weight: 400;line-height: 1.25;letter-spacing: 0.05em;color: #9A9A9A;text-align: right;}

/* lineup
-------------------------------------*/
#lineup {
   background: #1C1C1C;
   color: #FFFFFF;
}
#lineup .ttl-box {
   width: 89.375vw;
   margin-inline: auto;
   padding: 14.4vw 0 4vw;
}
#lineup .enttl {
   font-size:7.246vw;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin: 0 0 0vw;
}
#lineup h2 {
   font-size:3.623vw;
   font-weight: 500;
   line-height: 2;
   letter-spacing: 0.05em;
   margin: 0 0 2vw;
}
#lineup .subt {
   font-size:5.314vw;
   font-weight: 500;
   line-height: 2.27;
   letter-spacing: 0.05em;
   margin: 0 0 8vw;
}
#lineup .lineup-box a {
   text-decoration: none;
}
#lineup .lineup-box .photo img {
   width: 100%;
   height: auto;
}
#lineup .lineup-box .content {
   padding: 10vw 10.145vw;
   color: #fff;
}
#lineup .lineup-box .num {
   font-size:3.14vw;
   font-weight: 400;
   line-height: 1.23076;
   letter-spacing: 0;
   margin: 0 0 1vw 0.9vw;
}
#lineup .lineup-box h3 {
   font-size:6.28vw;
   font-weight: 700;
   line-height: 1.23076;
   letter-spacing: 0;
   margin: 0 0 5vw 0.9vw;
}
#lineup .lineup-box .content .photo {
   margin-bottom: 4.2vw;
   margin-inline: auto;
   width: 100%;
}
#lineup .lineup-box h4 {
   font-size:4.348vw;
   font-weight: 500;
   line-height: 1.6666;
   letter-spacing: 0.05em;
   margin-bottom: 2.4vw;
}
#lineup .lineup-box .txt {
   font-size:3.382vw;
   font-weight: 400;
   line-height: 2;
   letter-spacing: 0.05em;
   margin-bottom: -1vw;
}
#lineup .lineup-box .arrow {
   width: 14.495vw;
   height: 14.495vw;
   font-size: 2.623vw;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0;
   border-radius: 50%;
   border: 0.2vw solid #FFFFFF;
   margin-left: auto;
   display: flex;
   justify-content: center;
   align-items: center;
}
#lineup .js-lineup {
   margin: 0 0 6vw;
}
#lineup .js-lineup02,
#lineup .js-lineup03,
#lineup .js-lineup04 {
  /* clip-path: inset(100% 0% 0% 0%); */
}
#lineup .sauna .inner {width: 89.375vw;margin-inline: auto;position: relative;z-index: 1;padding: 0 0 17vw;}
#lineup .sauna .inner a {display: grid;}
#lineup .sauna .content {
   display: contents;
}
#lineup .sauna h2 {
   font-size: 6.28vw;
   line-height: 1.23076;
   font-weight: 700;
   letter-spacing: 0;
   margin: 0 0 6vw;
   display: inline-block;
   order: 1;
   position: relative;
   z-index: 2;
}
#lineup .sauna .inner::before {
   content: "";
   position: absolute;
   width: 18.6vw;
   height: 10.39vw;
   background: url(../images/index/alpha_sp.svg) no-repeat;
   background-size: contain;
   top: -6.5vw;
   left: 5vw;
   z-index: 2;
}
#lineup .sauna h3 {
   font-size:4.348vw;
   font-weight: 500;
   line-height: 1.6666;
   letter-spacing: 0.05em;
   margin: 0 0 3vw;
   order: 3;
}
#lineup .sauna .txt {
   margin: 0 0 1.2vw;
   order: 4;
}
#lineup .sauna .txt:nth-of-type(2) {
   margin-bottom: 2vw;
}
#lineup .sauna .photo-box {
   position: relative;
   order: 2;
   margin: 0 0 -4vw;
}
#lineup .sauna .arrow {
   margin: -5vw 2.5vw 0 auto;
   color: #fff;
   position: relative;
}


/* modelhouse
-------------------------------------*/
#modelhouse {
   padding: 20vw 0 0;
   overflow: hidden;
   display: grid;
}
#modelhouse .inner {display: contents;}
#modelhouse h2 {
   margin: 0 0 0 0vw;
   position: relative;
   z-index: 2;
   order: 1;
}
#modelhouse h2 img {width: 82.37vw;}
#modelhouse .content {
   padding: 6vw 0 15.2vw;
   order: 3;
   width: 89.375vw;
   margin-inline: auto;
}
#modelhouse .content h3 {
   font-size:5.797vw;
   line-height: 1.83333;
   letter-spacing: 0.05em;
   font-weight: 500;
   margin-bottom: 5.1vw;
}
#modelhouse .content .txt {
   font-size:3.382vw;
   line-height: 2.285714;
   letter-spacing: 0.05em;
   font-weight: 400;
   margin-bottom: 0;
}
#modelhouse .content .txt:last-of-type {
   margin-bottom: 6.5vw;
}
#modelhouse .infoBox {
   margin-bottom: 4vw;
}
#modelhouse .infoBox h4 {
   font-size:3.865vw;
   line-height: 2.25;
   letter-spacing: 0.05em;
   font-weight: 500;
   color: #8E7016;
   margin-bottom: 4.5vw;
}
#modelhouse .infoBox .subt {
   font-size: 3.382vw;
   line-height: 1.1875;
   letter-spacing: 0.05em;
   font-weight: 400;
   margin-bottom: 2vw;
}
#modelhouse .infoBox .info {
   font-size: 3.14vw;
   line-height: 2;
   letter-spacing: 0.05em;
   font-weight: 400;
   margin-bottom: 8.85vw;
}
#modelhouse .photo {
   position: relative;
   top: -2.5vw;
   order: 2;
   width: 86.96vw;
   margin-left: auto;
}
#modelhouse .photo img {
   width: 100%;
   height: auto;
}


/* gallery
-------------------------------------*/
#gallery {
   background: #F0EFEB;
}
#gallery .inner-Box {
   width: 89.375vw;
   margin-inline: auto;
   padding: 14.4vw 0 19vw;
}
#gallery .top-box {
   display: flex;
   justify-content: space-between;
   margin-bottom: 6vw;
}
#gallery .enttl {
   font-size:7.246vw;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin-bottom: 0.2vw;
}
#gallery h2 {
   font-size:3.623vw;
   font-weight: 500;
   line-height: 2;
   letter-spacing: 0.05em;
}
#gallery .btn {
   width: 29.3vw;
   margin: 5.9vw 0 0;
}
#gallery .system-list {
	gap: 4.9vw 2.4vw;
}
#gallery .system-pic {height: 28.989vw;margin-bottom: 1.5vw;}
#gallery .system-pic img {width: 100%;height: 100%;object-fit: cover;}
#gallery .system-pic img:hover {
   opacity: 0.7;
}
#gallery .system-area {
   font-size:2.898vw;
   font-weight: 400;
   line-height: 2;
   letter-spacing: 0.05em;
}
#gallery .system-ttl-01 {
   font-size:3.623vw;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.05em;
	border-bottom: 0.2vw solid #1C1C1C;
	display: inline-block;
}

/* about
-------------------------------------*/
#about {
   background: url(../images/index/about-bg_sp.png)no-repeat top center;
   background-size: contain;
   padding: 24vw 0 0;
}
#about .inner-Box {
   background: #FFFFFF;
   width: 91.79vw;
   margin-right: auto;
   padding: 15vw 5.1vw 19vw;
}
#about .enttl {
   font-size:7.246vw;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin-bottom: -0.2vw;
}
#about h2 {
   font-size:3.623vw;
   font-weight: 500;
   line-height: 2;
   letter-spacing: 0.05em;
   margin-bottom: 9.6vw;
}
#about .btn-list {
   display: grid;
   grid-template-columns: 1fr;
   gap: 8.3vw;
}
#about .btn-list li span {
   font-size:2.898vw;
   font-weight: 400;
   line-height: 1.25;
   letter-spacing: 0;
   display: block;
   color: #9A9A9A;
   text-align: right;
   padding: 2.5vw 0 0 0;
   margin: 0 4vw 0 0;
}
#about .btn-list .btn {
   border-bottom: 0.2vw solid #1C1C1C;
   padding: 0 0 3.2vw;
   position: relative;
   font-size:4.831vw;
   font-weight: 500;
   line-height: 2;
   letter-spacing: 0.05em;
   width: 77.58vw;
   margin: 0;
}
#about .btn-list .btn::after {
   content: "→";
   position: absolute;
   right: 0;
   top: 45%;
   transform: translateY(-50%);
   font-size: 3.831vw;
   color: #333333;
   font-weight: 400;
   font-family: "Lato", sans-serif;
   transition: all 0.2s ease;
}
#about .btn-list .btn:hover::after {right: -1vw;}
#about .btn-list a {
   text-decoration: none;
}


/* voice
-------------------------------------*/
#voice {
   background: #E9E8E4;
   padding: 14.6vw 0 19.4vw;
}
#voice .top-box {
   display: flex;
   justify-content: space-between;
   margin-bottom: 7vw;
   width: 89.375vw;
   margin-inline: auto;
}
#voice .enttl {
   font-size:7.246vw;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin-bottom: 1vw;
}
#voice h2 {
   font-size:3.623vw;
   font-weight: 500;
   line-height: 1.5;
   letter-spacing: 0.05em;
}
#voice .btn {
   width: 29.3vw;
   margin: 5.9vw 0 0;
}
#voice .system-list {
   display: grid;
   grid-template-columns: repeat(2, minmax(0, 1fr));
   gap: 4.7vw 2.4vw;
   width: 89.375vw;
   margin-inline: auto;
}
#voice .system-list li{
   background: #FFFFFF;
   position: relative;
   z-index: 3;
}
#voice .system-list li:nth-of-type(n+5) {
   display: none;
 }
#voice .system-list li::after {
   content: "";
   position: absolute;
   left: 50%;
   transform: translateX(-50%);
   bottom: -28vw;
   width: 43.5vw;
   height: 38.7vw;
   background: url(../images/index/voice-list-shadow_sp.png)no-repeat;
   background-size: contain;
   z-index: 1;
}
#voice .system-list li a {
   position: relative;
   z-index: 2;
   background: #fff;
}
#voice .system-list li .content {
   padding: 1.4vw 4vw 4vw;
   position: relative;
   background: #fff;
}
#voice .system-pic {
   height: 29.952vw;
   margin: 0;
}
#voice .system-pic img {
   width: 100%;
   height: 100%;
   object-fit: cover;
}
#voice .system-area {
   font-size:2.898vw;
   font-weight: 400;
   line-height: 2.8333;
   letter-spacing: 0.05em;
   margin: 0 0 -1vw;
   color: #1C1C1C;
}
#voice .system-ttl-01 {
   font-size:3.623vw;
   font-weight: 600;
   line-height: 1.7333;
   letter-spacing: 0.05em;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 3;
   overflow: hidden;
}



/* modelcase
-------------------------------------*/
#modelcase {
   background: transparent linear-gradient(90deg, #F8F6F1 0%, #C4B9AC 100%) 0% 0% no-repeat padding-box;
}
#modelcase .inner-Box {
   padding: 19.4vw 0 19vw;
   position: relative;
   overflow: hidden;
   display: flex;
   flex-direction: column;
}
#modelcase .inner-Box .content {
   display: contents;
}
#modelcase .enttl {
   font-size:5.314vw;
   font-weight: 700;
   line-height: 1.2;
   letter-spacing: 0;
   margin-bottom: 3.4vw;
   text-align: center;
   order: 1;
}
#modelcase .enttl span {

}
#modelcase h2 {
   font-size:4.831vw;
   font-weight: 500;
   line-height: 2;
   letter-spacing: 0.05em;
   margin-bottom: 0;
   text-align: center;
   order: 2;
}
#modelcase .subt {
   font-size:3.382vw;
   line-height: 2.2857;
   letter-spacing: 0.05em;
   text-align: center;
   order: 3;
   margin-bottom: 8vw;
}
#modelcase .btn {order: 5;}
#modelcase .modelcase-slider {
    order: 3;
    margin-bottom: 3vw;
}
#modelcase .modelcase-slider li {
  width: 62.9vw;
  margin: 0 2.5vw;
}
#modelcase .slide-dots {
   margin: 0;
   padding: 0;
   text-align: center;
   display: flex;
   flex-direction: column;
   position: absolute;
   bottom: 17px;
   left: -501px;
   z-index: 9999;
}
#modelcase .slide-dots::after {
   background: #1C1C1C;
   width: 1px;
   height: 8.5rem;
   position: absolute;
   top: 1.5rem;
   content: "";
   left: 0.18rem;
}
#modelcase .slide-dots li {
   display: inline-block;
   margin: 0;
   position: relative;
   z-index: 2;
}
#modelcase .slide-dots li button {
   position: relative;
   text-indent: -9999px;
}
#modelcase .slide-dots li button::before {
   background-image: url(../images/index/slide-dots.svg);
   background-repeat: no-repeat;
   background-size: contain;
   content: "";
   cursor: pointer;
   height: 8px;
   left: 0;
   margin: auto;
   position: absolute;
   right: 0;
   top: 24px;
   width: 8px;
}
#modelcase .slide-dots li.slick-active button::before {
   background-image: url(../images/index/slide-dots-active.svg);
}
#modelcase button {
   background: none;
   border: none;
   outline: none;
   padding: 14px 0;
}
#modelcase .slide-dots-txt {

}
#modelcase .next-arrow,
#modelcase .prev-arrow {
   top: 40.3%;
   position: absolute;
   width: 14.5vw;
   z-index: 5;
}
#modelcase .next-arrow {
   right: 11.3vw;
}
#modelcase .prev-arrow {
   left: 11.3vw;
}

.slider-indicator {
   position: relative;
   width: 79.72vw; /* スライダーの幅に合わせて調整 */
   height: 0.2vw;
   background: #9A9A9A;
   margin: 0 auto 14.5vw;
   order: 4;
 }
 
 .slider-indicator .dot {
   position: absolute;
   top: 50%;
   left: 0;
   width: 1.94vw;
   height: 1.94vw;
   background: #1C1C1C;
   border-radius: 50%;
   transform: translateY(-50%);
   transition: left 0.3s ease;
 }


 /* link-box
-------------------------------------*/
#link-box {
}
#link-box .inner-Box {
   width: 77.4vw;
   margin-inline: auto;
   padding: 24.4vw 0;
}
#link-box .logo {
   text-align: center;
   margin-bottom: 2vw;
}
#link-box .logo img {width: 43.48vw;}
#link-box .desc {text-align: center;font-size: 2.656vw;font-weight: 500;line-height: 2.5;letter-spacing: 0.05em;margin: 0 0 11.4vw;}
#link-box .link {
   display: grid;
   grid-template-columns: 1fr;
   justify-content: center;
   gap: 8.4vw;
}
#link-box .link .btn {width: 100%;}
#link-box .link .btn a {
   font-size:4.831vw;
   line-height: 2;
   font-weight: 500;
   letter-spacing: 0.05em;
   padding: 0 0 3.2vw;
}
#link-box .link .btn a::after {font-size: 3.831vw;top: 46%;}


/* blog
-------------------------------------*/
#blog {
   background: #F0EFEB;
   position: relative;
}
#blog .inner-Box {
   padding: 19vw 0;
   width: 89.375vw;
   margin-inline: auto;
}
#blog .ttl-box {
    display: flex;
    justify-content: space-between;
    margin-bottom: 1vw;
}
#blog .enttl {
   font-size:7.246vw;
   font-weight: 400;
   line-height: 1.2;
   letter-spacing: 0.05em;
   margin-bottom: 0vw;
}
#blog h2 {
   font-size:3.623vw;
   font-weight: 500;
   line-height: 2;
   letter-spacing: 0.05em;
   margin-bottom: 4vw;
}
#blog .btn {
   width: 29.3vw;
   margin: 5.9vw 0 0;
}
#blog .system-list2 {
   display: grid;
   gap: 3.4vw;
}
#blog .system-list2 li {
   border-bottom: 0.2vw solid #FFFFFF;
   padding: 0 0 4vw;
}
#blog .textbx {

}
#blog .system-day {
   font-size:2.898vw;
   font-weight: 400;
   line-height: 2;
   letter-spacing: 0.05em;
   margin-bottom: 1vw;
}
#blog .system-ttl-01 {
   font-size:3.623vw;
   font-weight: 600;
   line-height: 1.73333;
   letter-spacing: 0.05em;
}


}

