@charset "utf-8";

/* RESET */
article,aside,details,figcaption,figure,footer,header,hgroup,hr,menu,nav,section{display:block}a,hr{padding:0}abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;border:0;outline:0;font-size:100%;vertical-align:baseline;background:0 0}ins,mark{background-color:#ff9;color:#000}body{line-height:1}nav ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}a{margin:0;font-size:100%;vertical-align:baseline;background:0 0}ins{text-decoration:none}mark{font-style:italic;font-weight:700}del{text-decoration:line-through}abbr[title],dfn[title]{border-bottom:1px dotted;cursor:help}table{border-collapse:collapse;border-spacing:0}hr{height:1px;border:0;border-top:1px solid #ccc;margin:1em 0}input,select{vertical-align:middle}

/* 1px on the design canvas (402px SP / 1280px PC) */
:root { --sp: 0.1rem; }

br.sp { display: inherit; }
br.pc { display: none; }
@media (min-width: 750px) {
	br.sp { display: none; }
	br.pc { display: inherit; }
}

/* scroll reveal - slow photographic fade (ie/lineup/isai と同仕様) */
.reveal {
opacity: 0;
transform: translateY(20px);
transition: opacity 2s ease, transform 2s ease;
}
.reveal.is-in {
opacity: 1;
transform: none;
}
.reveal-fade {
opacity: 0;
filter: blur(10px);
transform: scale(1.02);
transition: opacity 2s ease, filter 2s ease, transform 2s ease;
}
.reveal-fade.is-in {
opacity: 1;
filter: blur(0);
transform: none;
}
@media (prefers-reduced-motion: reduce) {
.reveal,
.reveal-fade {
opacity: 1;
filter: none;
transform: none;
transition: none;
}
}

/* COMMON - SP base 402px */
html {
font-size: 2.487562189vw; /* 10px at 402px */
scroll-behavior: smooth;
}
@media (min-width: 750px) {
html {
font-size: 62.5%; /* 10px */
}
}
@media (min-width: 750px) and (max-width: 1280px) {
html {
font-size: 0.78125vw; /* 10px at 1280px */
}
}
body {
position: relative;
margin: 0;
padding: 0;
font-family: 'Koburina Gothic W3 JIS2004', sans-serif;
font-style: normal;
font-weight: 400;
font-size: 1.4rem;
line-height: 1.9;
letter-spacing: .04em;
color: #161513;
background: #fff;
-webkit-font-smoothing: antialiased;
font-feature-settings: "palt";
}
a:link,
a:active,
a:visited {
color: #161513;
text-decoration: none;
}
a:hover {
text-decoration: underline;
}
ul, ol { list-style: none; }
img {
display: block;
margin: 0 auto;
max-width: 100%;
height: auto;
}
.pc { display: none; }
.sp { display: inherit; }
@media (min-width: 750px) {
	.pc { display: inherit; }
	.sp { display: none; }
}

/* HEADER */
.header {
position: absolute;
left: 0;
top: 0;
width: 100%;
background-color: #fff;
z-index: 1;
}
.header_inner {
display: flex;
align-items: center;
justify-content: center;
min-height: 4.5rem;
}
.header_logo {
display: inline-flex;
align-items: center;
justify-content: center;
}
.header_logo img {
max-width: 10rem;
}
@media (max-width: 749px) {
	.header {
	position: relative;
	}
	.header_inner {
	min-height: 4.5rem;
	}
	.header_logo img {
	max-width: 11rem;
	}
}

/* FOOTER */
.footer {
background-color: #7c7c7c;
padding: 2.5rem 0;
text-align: center;
font-size: 1.2rem;
color: #fff;
}
.script {
position: absolute;
left: 0;
bottom: 0;
}

#pageBody {
position: relative;
margin: 0 auto;
overflow: hidden;
}

/* peek slider */
.is-slider {
position: relative;
-webkit-user-select: none;
user-select: none;
touch-action: pan-y;
-webkit-tap-highlight-color: transparent;
}
.is-slider .slider-viewport {
position: relative;
overflow: visible;
}
.is-slider .slider-track {
display: flex;
align-items: flex-start;
transition: transform .45s ease;
will-change: transform;
}
.is-slider img {
-webkit-user-drag: none;
}
@media (prefers-reduced-motion: reduce) {
.is-slider .slider-track {
transition: none;
}
}

/* BUTTON */
.catalogSCT .button a {
box-sizing: border-box;
display: flex;
justify-content: center;
align-items: center;
background: #000;
width: 30rem;
height: 5rem;
font-family: 'Koburina Gothic W6 JIS2004', sans-serif;
font-size: 1.3rem;
font-weight: 600;
letter-spacing: .16em;
line-height: 1;
color: #fff;
text-decoration: none;
transition: background .3s ease;
}
.catalogSCT .button a:hover {
background: #444;
text-decoration: none;
}
@media (min-width: 750px) {
	.catalogSCT .button a {
	width: 32rem;
	height: 4.6rem;
	}
}

/* ========== VISUAL ========== */
/* hero intro */
.visualSCT .mainPhoto,
.visualSCT .pack,
.visualSCT .scroll-hint {
opacity: 0;
}
.visualSCT.is-hero-ready .mainPhoto {
transition: opacity 1.4s ease;
opacity: 1;
}
.visualSCT.is-hero-ready .pack {
transition: opacity 1.15s ease .25s;
opacity: 1;
}
.visualSCT.is-hero-copy .scroll-hint {
transition: opacity 1s ease;
opacity: 1;
}
@keyframes scrollHintLine {
0% { clip-path: inset(0 0 100% 0); }
40% { clip-path: inset(0 0 0 0); }
55% { clip-path: inset(0 0 0 0); }
100% { clip-path: inset(100% 0 0 0); }
}
@media (prefers-reduced-motion: reduce) {
.visualSCT .mainPhoto,
.visualSCT .pack,
.visualSCT .scroll-hint {
opacity: 1;
transition: none;
}
}
.visualSCT .cont {
position: relative;
height: 80.4rem;
overflow: hidden;
}
.visualSCT .mainPhoto {
position: absolute;
inset: 0;
}
.visualSCT .mainPhoto img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: center center;
}
.visualSCT .pack {
position: absolute;
left: 0;
top: 0;
width: 100%;
height: 100%;
pointer-events: none;
}
.visualSCT .lead {
position: absolute;
left: 50%;
top: 26.2rem;
transform: translateX(-50%);
width: 100%;
font-family: 'A1 Mincho', serif;
font-weight: 700;
font-size: 1.8rem;
letter-spacing: .15em;
line-height: 1.6;
color: #161513;
text-align: center;
}
.visualSCT .logo-row {
position: absolute;
left: 50%;
top: 31.1rem;
transform: translateX(-50%);
width: 28.4rem;
}
.visualSCT .badge {
position: absolute;
left: -3.8rem;
top: -13.8rem;
width: 7.4rem;
margin: 0;
}
.visualSCT .badge img {
width: 100%;
}
.visualSCT h1 {
margin: 0;
width: 28.4rem;
}
.visualSCT h1 img {
width: 100%;
}
.visualSCT .scroll-hint {
position: absolute;
right: 0.9rem;
bottom: 4.1rem;
display: flex;
flex-direction: column;
align-items: center;
gap: 0.5rem;
color: #fff;
pointer-events: none;
}
.visualSCT .scroll-hint span {
font-family: "Zalando Sans Expanded", "Oswald", sans-serif;
font-size: 1.7rem;
writing-mode: vertical-rl;
letter-spacing: .05em;
}
.visualSCT .scroll-hint::after {
content: '';
display: block;
width: 1px;
height: 5.5rem;
background: #fff;
clip-path: inset(0 0 100% 0);
}
.visualSCT.is-hero-copy .scroll-hint::after {
animation: scrollHintLine 2.2s cubic-bezier(.4, 0, .2, 1) infinite;
}
@media (prefers-reduced-motion: reduce) {
.visualSCT .scroll-hint::after,
.visualSCT.is-hero-copy .scroll-hint::after {
clip-path: none;
animation: none;
}
}
@media (min-width: 750px) {
	.visualSCT .cont {
	height: 71.8rem;
	}
	.visualSCT .lead {
	top: 9.8rem;
	font-size: 2.1rem;
	letter-spacing: .15em;
	white-space: nowrap;
	}
	.visualSCT .lead br { display: none; }
	.visualSCT .logo-row {
	top: 15.7rem;
	width: 28.4rem;
	}
	.visualSCT .badge {
	/* design: badge 74x74 at x409, logo-row starts at x498 */
	left: -8.9rem;
	top: -1.2rem;
	width: 7.4rem;
	}
	.visualSCT .scroll-hint {
	right: 1.6rem;
	bottom: 3.7rem;
	}
}

/* ========== CATALOG cat1 ========== */
/* design: SP 402x646 / PC 1280x439 */
.catalogSCT.cat1 {
position: relative;
width: 100%;
background-color: #d5d5d5;
background-image: linear-gradient(to right, #bababa 0%, #d5d5d5 48%, #e7e7e7 100%);
}
.catalogSCT.cat1 .cont {
box-sizing: border-box;
position: relative;
display: flex;
flex-direction: column;
align-items: center;
height: 64.6rem;
margin: 0;
padding: 9rem 0 0;
background: none;
}
.catalogSCT.cat1 .catalog-pht {
position: relative;
z-index: 0;
flex: none;
width: 20rem;
margin: 0 0 5.3rem;
}
.catalogSCT.cat1 .catalog-pht img {
display: block;
width: 100%;
height: auto;
box-shadow: -1rem 1rem 1rem rgba(0, 0, 0, 0.35);
}
.catalogSCT.cat1 .txt {
position: relative;
z-index: 1;
width: 29.9rem;
}
.catalogSCT.cat1 .txt h2 {
margin: 0 0 2rem;
font-family: 'A1 Mincho', serif;
font-size: 1.8rem;
font-weight: 700;
line-height: 2.3;
letter-spacing: .06em;
color: #000;
}
.catalogSCT.cat1 .txt .more {
box-sizing: border-box;
display: flex;
align-items: center;
justify-content: center;
width: 100%;
height: 5rem;
background: #000;
color: #fff;
font-family: 'Koburina Gothic W6 JIS2004', sans-serif;
font-size: 1.3rem;
font-weight: 600;
letter-spacing: .16em;
line-height: 1;
transition: background .3s ease;
}
.catalogSCT.cat1 .txt .more:hover {
background: #444;
text-decoration: none;
}

@media screen and (min-width: 750px) {
	.catalogSCT.cat1 .cont {
	flex-direction: row;
	justify-content: center;
	align-items: flex-start;
	height: 43.9rem;
	padding: 0;
	}
	.catalogSCT.cat1 .catalog-pht {
	width: 25rem;
	margin: 5.3rem 0 0 0;
	}
	.catalogSCT.cat1 .txt {
	width: 32rem;
	margin: 15.4rem 0 0 10.3rem;
	}
	.catalogSCT.cat1 .txt h2 {
	margin-bottom: 1.9rem;
	font-size: 1.8rem;
	line-height: 2;
	}
	.catalogSCT.cat1 .txt .more {
	width: 32rem;
	height: 4.6rem;
	}
}

/* ========== CONCEPT ========== */
.conceptSCT .cont {
box-sizing: border-box;
padding: 8.2rem 0 7.3rem;
}
.conceptSCT .hed {
margin-bottom: 3.2rem;
text-align: center;
}
.conceptSCT .hed .sub {
margin-bottom: 0;
font-size: 1.6rem;
letter-spacing: .09em;
line-height: 1.75; /* 28 / 16 */
}
.conceptSCT .hed h2 {
font-family: 'A1 Mincho', serif;
font-weight: 700;
font-size: 2.6rem;
letter-spacing: .15em;
line-height: 1.692; /* 44 / 26 */
}
.conceptSCT .main {
margin: 0 auto 6.2rem;
width: 34.8rem;
}
.conceptSCT .main .image {
margin-bottom: 3.2rem;
}
.conceptSCT .main .image img,
.conceptSCT .pair .image img,
.conceptSCT .wide .image img {
width: 100%;
height: auto;
}
.conceptSCT .catch {
margin-left: 1.3rem;
font-family: 'Koburina Gothic W3 JIS2004', sans-serif;
font-weight: 400;
font-size: 1.6rem;
line-height: 2.5;  /* 40 / 16 */
letter-spacing: .16em;
}
.conceptSCT .pair .block {
margin: 0 auto 3.4rem;
width: 34rem;
}
.conceptSCT .pair .block:first-child {
margin-left: 0;
}
.conceptSCT .pair .block:last-child {
margin-right: 0;
margin-left: auto;
margin-bottom: 7.3rem;
}
.conceptSCT .pair .block p,
.conceptSCT .wide > p {
margin-top: 3.4rem;
font-family: 'Koburina Gothic W3 JIS2004', sans-serif;
font-weight: 400;
font-size: 1.6rem;
line-height: 2.125; /* 34 / 16 */
letter-spacing: 0;
}
/* SP: 1st block image bleeds to the left edge, text keeps its own inset */
.conceptSCT .pair .block:first-child p {
margin-left: 3.4rem;
}
.conceptSCT .wide {
position: relative;
margin: 0 auto;
width: 100%;
}
.conceptSCT .wide .i4 {
margin: 0 0 7.3rem -1.6rem;
width: 34.6rem;
}
.conceptSCT .wide .i5 {
margin: 0 -1.6rem 0 6.4rem;
width: 35.4rem;
}
.conceptSCT .wide > p {
text-align: left;
margin: 5.4rem 0 0 3rem;
}
@media (min-width: 750px) {
	.conceptSCT .cont {
	position: relative;
	padding: 10.5rem 0 0;
	max-width: 128rem;
	margin: 0 auto;
	min-height: 258.8rem; /* 3745 - 1157 */
	}
	.conceptSCT .hed {
	margin-bottom: 0;
	}
	.conceptSCT .hed .sub {
	font-size: 2rem;
	line-height: 1.4; /* 28 / 20 */
	}
	.conceptSCT .hed h2 {
	font-size: 3.2rem;
	}
	.conceptSCT .layout {
	position: static;
	width: auto;
	margin: 0;
	}
	.conceptSCT .main {
	display: block;
	margin: 0;
	width: auto;
	}
	.conceptSCT .main .image {
	position: absolute;
	left: 21.4rem;
	top: 25.1rem; /* 1408 - 1157 */
	margin: 0;
	width: 38.2rem;
	}
	.conceptSCT .catch {
	position: absolute;
	left: 71.8rem;
	top: 38.3rem; /* 1540 - 1157 */
	padding: 0;
	margin: 0;
	font-size: 1.4rem;
	line-height: 3.142857; /* 44 / 14 */
	letter-spacing: .16em;
	width: 32.6rem;
	}
	.conceptSCT .pair {
	display: block;
	margin: 0;
	}
	.conceptSCT .pair .block {
	position: absolute;
	margin: 0;
	width: 35rem;
	}
	.conceptSCT .pair .block:first-child {
	left: 50.6rem;
	top: 86.1rem; /* 2018 - 1157 */
	}
	.conceptSCT .pair .block:last-child {
	left: 87.7rem;
	top: 86.1rem;
	margin: 0;
	}
	.conceptSCT .pair .block p,
	.conceptSCT .pair .block:first-child p {
	margin: 3.5rem 0 0;
	font-size: 1.4rem;
	line-height: 2.142857; /* 30 / 14 */
	width: 26.6rem;
	}
	.conceptSCT .wide {
	position: static;
	max-width: none;
	width: auto;
	min-height: 0;
	}
	.conceptSCT .wide .i4 {
	position: absolute;
	left: 22.9rem;
	top: 154.4rem; /* 2701 - 1157 */
	margin: 0;
	width: 47.6rem;
	}
	.conceptSCT .wide .i5 {
	position: absolute;
	left: 61.5rem;
	top: 193.2rem; /* 3089 - 1157 */
	margin: 0;
	width: 67.8rem;
	}
	.conceptSCT .wide > p {
	position: absolute;
	left: 61.5rem;
	top: 237.6rem; /* 3533 - 1157 */
	margin: 0;
	width: 39.1rem;
	text-align: left;
	font-size: 1.4rem;
	line-height: 2.142857; /* 30 / 14 */
	}
}

/* ========== CATALOG cat2 ========== */
/* design: SP 402x740.5 / PC 1280x856 */
.catalogSCT.cat2 {
position: relative;
background: #d5d5d5 url("../img/sp/ctg_bg.jpg") center center / cover no-repeat;
background-image: image-set(url("../img/sp/ctg_bg.webp") type("image/webp"), url("../img/sp/ctg_bg.jpg") type("image/jpeg"));
background-position: center center;
background-size: cover;
background-repeat: no-repeat;
}
.catalogSCT.cat2::before {
content: '';
position: absolute;
inset: 0;
background: rgba(255,255,255,.5);
pointer-events: none;
z-index: 0;
}
.catalogSCT.cat2 .cont {
box-sizing: border-box;
position: relative;
z-index: 1;
display: flex;
flex-direction: column;
align-items: center;
padding: 9.7rem 0 10rem;
text-align: center;
}
.catalogSCT.cat2 .cont > * {
position: relative;
z-index: 1;
}
.catalogSCT.cat2 .sub {
margin-bottom: 1.1rem;
font-size: 1.6rem;
letter-spacing: .09em;
line-height: 1.75;
}
.catalogSCT.cat2 h3 {
margin-bottom: 3.4rem;
font-family: 'A1 Mincho', serif;
font-weight: 700;
font-size: 2.4rem;
letter-spacing: .04em;
line-height: 1.58;
}
.catalogSCT.cat2 .slider-wrap {
position: relative;
width: 34rem;
margin: 0 auto 3.4rem;
overflow: visible;
}
.catalogSCT.cat2 .slider-wrap .badge {
display: none; /* design: SP has no NEW badge here */
position: absolute;
left: -1.2rem;
top: -4.2rem;
width: 8.7rem;
z-index: 0;
pointer-events: none;
}
.catalogSCT.cat2 .slider-wrap .badge img {
width: 100%;
}
.catalogSCT.cat2 .slider {
position: relative;
z-index: 1;
width: 34rem;
}
.catalogSCT.cat2 .slider .slide {
flex: none;
width: 34rem;
margin-right: 2.4rem;
}
.catalogSCT.cat2 .slider .slide img {
width: 100%;
background: #fff;
box-shadow: 0 0 15px rgba(0,0,0,.25);
}
.catalogSCT.cat2 .cat-navigation {
display: flex;
justify-content: space-between;
align-items: center;
width: 26.2rem;
margin: 0 auto 3.3rem;
min-height: 1rem;
}
.catalogSCT.cat2 .cat-prev { order: 1; }
.catalogSCT.cat2 .slider-dots { order: 2; }
.catalogSCT.cat2 .cat-next { order: 3; }
.catalogSCT.cat2 .cat-prev,
.catalogSCT.cat2 .cat-next {
-webkit-appearance: none;
appearance: none;
background: transparent;
border: 0;
padding: 0;
position: relative;
width: 6.2rem;
height: 1rem;
cursor: pointer;
opacity: .85;
}
.catalogSCT.cat2 .cat-prev.is-disabled,
.catalogSCT.cat2 .cat-next.is-disabled {
opacity: .3;
cursor: default;
}
.catalogSCT.cat2 .cat-prev::before,
.catalogSCT.cat2 .cat-next::before,
.catalogSCT.cat2 .cat-prev::after,
.catalogSCT.cat2 .cat-next::after {
content: '';
position: absolute;
top: 50%;
border-top: 1px solid #161513;
}
.catalogSCT.cat2 .cat-prev::before { left: 0; width: 6.2rem; }
.catalogSCT.cat2 .cat-next::before { right: 0; width: 6.2rem; }
.catalogSCT.cat2 .cat-prev::after {
left: 0;
width: 1.4rem;
transform-origin: left center;
transform: rotate(-40deg);
}
.catalogSCT.cat2 .cat-next::after {
right: 0;
width: 1.4rem;
transform-origin: right center;
transform: rotate(40deg);
}
.catalogSCT.cat2 .slider-dots {
display: flex;
justify-content: center;
gap: 2.8rem;
position: static;
bottom: auto;
width: auto;
margin: 0;
padding: 0;
list-style: none;
}
.catalogSCT.cat2 .slider-dots li {
margin: 0;
width: 0.8rem;
height: 0.8rem;
}
.catalogSCT.cat2 .slider-dots li button {
-webkit-appearance: none;
appearance: none;
background: transparent;
border: 0;
position: relative;
width: 0.8rem;
height: 0.8rem;
padding: 0;
cursor: pointer;
}
.catalogSCT.cat2 .slider-dots li button:before {
content: '';
position: absolute;
width: 0.8rem;
height: 0.8rem;
border-radius: 50%;
background: #989898;
left: 0;
top: 0;
}
.catalogSCT.cat2 .slider-dots li.is-active button:before {
background: #000;
}
@media (min-width: 750px) {
	.catalogSCT.cat2 {
	background-image: url("../img/ctg_bg.jpg");
	background-image: image-set(url("../img/ctg_bg.webp") type("image/webp"), url("../img/ctg_bg.jpg") type("image/jpeg"));
	}
	.catalogSCT.cat2 .cont {
	padding: 5.8rem 0 6.5rem;
	/* peeking slides are clipped at the 1280px content width, not at the window edge */
	max-width: 128rem;
	margin: 0 auto;
	}
	.catalogSCT.cat2 .sub {
	margin-bottom: 0.4rem;
	font-size: 2rem;
	}
	.catalogSCT.cat2 h3 {
	margin-bottom: 5.2rem;
	font-size: 3.2rem;
	letter-spacing: .07em;
	line-height: 1.4;
	}
	.catalogSCT.cat2 .slider-wrap {
	width: 59.4rem;
	margin: 0 auto 4.8rem;
	}
	.catalogSCT.cat2 .slider-wrap .badge {
	display: block;
	left: -9.9rem;
	top: -5.9rem;
	width: 12.3rem;
	}
	.catalogSCT.cat2 .slider {
	width: 59.4rem;
	}
	.catalogSCT.cat2 .slider .slide {
	flex: none;
	width: 59.4rem;
	margin-right: 11.1rem;
	}
	.catalogSCT.cat2 .cat-navigation {
	width: 59.4rem;
	margin: 0 auto 4.8rem;
	}
	.catalogSCT.cat2 .slider-dots {
	gap: 3.7rem;
	}
}

/* ========== DESIGN ========== */
.designSCT .cont {
box-sizing: border-box;
position: relative;
padding: 7.8rem 0 0;
}
.designSCT .hed {
margin-bottom: 4.4rem;
text-align: center;
}
.designSCT .hed .sub {
margin-bottom: 0;
font-size: 1.6rem;
letter-spacing: .09em;
line-height: 1.75; /* 28 / 16 */
}
.designSCT .hed h2 {
font-family: 'A1 Mincho', serif;
font-weight: 700;
font-size: 2.6rem;
letter-spacing: .15em;
line-height: 2; /* 52 / 26 */
}
.designSCT .bg-ttl {
font-family: "Zalando Sans Expanded", "Oswald", sans-serif;
font-weight: 600;
font-size: 5.4rem;
line-height: 1;
color: #5e5e5e;
opacity: .3;
letter-spacing: 0;
white-space: nowrap;
}
.designSCT .exterior {
position: relative;
margin-bottom: 6rem;
}
.designSCT .exterior .bg-ttl {
margin: 0 0 -0.9rem 6.4rem;
}
.designSCT .exterior .image {
margin-bottom: 4.7rem;
}
.designSCT .exterior .image img {
width: 100%;
}
.designSCT .exterior > p:not(.bg-ttl) {
margin: 0 auto;
width: 31.2rem;
font-size: 1.6rem;
line-height: 2.125; /* 34 / 16 */
letter-spacing: 0;
}
.designSCT .interior {
position: relative;
}
.designSCT .interior .bg-ttl {
margin: 0 0 -0.9rem 0;
}
.designSCT .interior .list {
margin: 0 auto;
width: 36rem;
}
.designSCT .interior .block {
margin-bottom: 3.5rem;
}
.designSCT .interior .block:last-child {
margin-bottom: 0;
}
.designSCT .interior .block .image {
margin-bottom: 3.2rem;
aspect-ratio: 360 / 240;
overflow: hidden;
}
.designSCT .interior .block.block-tall .image {
aspect-ratio: 360 / 418;
}
.designSCT .interior .block .image img {
width: 100%;
height: 100%;
object-fit: cover;
}
.designSCT .interior .label {
margin-bottom: 2.6rem;
line-height: 0;
color: #221714;
}
.designSCT .interior .label img {
display: block;
margin: 0;
width: auto;
}
.designSCT .interior .block:nth-child(1) .label img { height: 2.45rem; }
.designSCT .interior .block:nth-child(2) .label img { height: 2.28rem; }
.designSCT .interior .block:nth-child(3) .label img { height: 2.31rem; }
.designSCT .interior .block > p:last-child {
font-size: 1.6rem;
line-height: 2.125; /* 34 / 16 */
letter-spacing: 0;
}
.designSCT .int-navigation {
display: none;
}
@media (min-width: 750px) {
	.designSCT .cont {
	padding: 9.7rem 0 12rem;
	max-width: 128rem;
	margin: 0 auto;
	overflow: hidden;
	}
	.designSCT .hed {
	margin-bottom: 3.3rem;
	}
	.designSCT .hed .sub {
	font-size: 2rem;
	line-height: 1.4; /* 28 / 20 */
	}
	.designSCT .hed h2 {
	font-size: 3.2rem;
	line-height: 2;
	}
	.designSCT .bg-ttl {
	font-size: 7rem;
	line-height: 1;
	}
	.designSCT .exterior {
	position: static;
	margin: 0;
	width: auto;
	}
	.designSCT .exterior .bg-ttl {
	position: absolute;
	right: 3rem;
	top: 16.4rem;  /* 4762.5 - 4601 */
	left: auto;
	margin: 0;
	z-index: 0;
	}
	.designSCT .exterior .image {
	position: relative;
	z-index: 1;
	margin: 0 0 2.7rem 24.5rem;
	width: 80.4rem;
	}
	.designSCT .exterior > p:not(.bg-ttl) {
	width: 54.8rem;
	margin: 0 0 0 24.4rem;
	font-size: 1.4rem;
	line-height: 2.142857; /* 30 / 14 */
	}
	.designSCT .interior {
	position: static;
	margin: 0;
	width: auto;
	overflow: visible;
	}
	.designSCT .interior .bg-ttl {
	position: absolute;
	left: 0.4rem;
	top: 94.2rem;  /* 5540.5 - 4601 */
	margin: 0;
	}
	.designSCT .interior .list {
	width: 89rem;
	margin: 17.5rem 0 0 31.4rem;
	}
	.designSCT .interior .block,
	.designSCT .interior .block:last-child {
	flex: none;
	margin: 0 4.4rem 0 0;
	width: 65rem;
	}
	.designSCT .interior .block .image,
	.designSCT .interior .block.block-tall .image {
	margin-bottom: 3.2rem;
	aspect-ratio: 650 / 433;
	}
	.designSCT .interior .label {
	margin-bottom: 2.6rem;
	}
	.designSCT .interior .block:nth-child(1) .label img,
	.designSCT .interior .block:nth-child(2) .label img,
	.designSCT .interior .block:nth-child(3) .label img {
	height: 2.5rem;
	}
	.designSCT .interior .block > p:last-child {
	width: 50.3rem;
	font-size: 1.4rem;
	line-height: 2.142857; /* 30 / 14 */
	}
	.designSCT .int-navigation {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 4.5rem 0 0 32.1rem;
	width: 64.3rem;
	}
	.designSCT .int-prev { order: 1; }
	.designSCT .slider-dots { order: 2; }
	.designSCT .int-next { order: 3; }
	.designSCT .int-prev,
	.designSCT .int-next {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	border: 0;
	padding: 0;
	position: relative;
	width: 6.2rem;
	height: 1rem;
	cursor: pointer;
	}
	.designSCT .int-prev.is-disabled,
	.designSCT .int-next.is-disabled {
	opacity: .3;
	cursor: default;
	}
	.designSCT .int-prev::before,
	.designSCT .int-next::before,
	.designSCT .int-prev::after,
	.designSCT .int-next::after {
	content: '';
	position: absolute;
	top: 50%;
	border-top: 1px solid #161513;
	}
	.designSCT .int-prev::before { left: 0; width: 6.2rem; }
	.designSCT .int-next::before { right: 0; width: 6.2rem; }
	.designSCT .int-prev::after {
	left: 0;
	width: 1.4rem;
	transform-origin: left center;
	transform: rotate(-40deg);
	}
	.designSCT .int-next::after {
	right: 0;
	width: 1.4rem;
	transform-origin: right center;
	transform: rotate(40deg);
	}
	.designSCT .slider-dots {
	display: flex;
	justify-content: center;
	gap: 3.7rem;
	position: static;
	width: auto;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	}
	.designSCT .slider-dots li {
	margin: 0;
	width: 0.8rem;
	height: 0.8rem;
	}
	.designSCT .slider-dots li button {
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	border: 0;
	position: relative;
	width: 0.8rem;
	height: 0.8rem;
	padding: 0;
	cursor: pointer;
	}
	.designSCT .slider-dots li button:before {
	content: '';
	position: absolute;
	width: 0.8rem;
	height: 0.8rem;
	border-radius: 50%;
	background: #989898;
	left: 0;
	top: 0;
	}
	.designSCT .slider-dots li.is-active button:before {
	background: #000;
	}
}

/* ========== PLAN ========== */
.planSCT .cont {
box-sizing: border-box;
position: relative;
padding: 8.6rem 0 6.7rem;
}
.planSCT .hed {
margin-bottom: 2.2rem;
text-align: center;
}
.planSCT .hed .sub {
margin-bottom: 0;
font-size: 1.6rem;
letter-spacing: .09em;
line-height: 1.75; /* 28 / 16 */
}
.planSCT .hed h2 {
font-family: 'A1 Mincho', serif;
font-weight: 700;
font-size: 2.6rem;
letter-spacing: .15em;
line-height: 2; /* 52 / 26 */
}
.planSCT .bg-ttl {
margin: 0 0 -0.9rem 0;
font-family: "Zalando Sans Expanded", "Oswald", sans-serif;
font-weight: 600;
font-size: 5.4rem;
line-height: 1;
color: #5e5e5e;
opacity: .3;
white-space: nowrap;
}
.planSCT .plans {
margin: 0 0 0 0.1rem;
width: 38.4rem;
}
.planSCT .plan {
margin-bottom: 0;
}
.planSCT .plan img {
width: 100%;
}
.planSCT .plan:last-child {
margin: 0 auto 0 4.4rem;
width: 33.5rem;
}
.planSCT .cut {
margin: 3.1rem auto 0;
width: 34rem;
}
.planSCT .cut img {
width: 100%;
}
@media (min-width: 750px) {
	.planSCT .cont {
	padding: 4.7rem 0 15.7rem;
	max-width: 128rem;
	margin: 0 auto;
	}
	.planSCT .hed {
	margin-bottom: 1.3rem;
	}
	.planSCT .hed .sub {
	font-size: 2rem;
	line-height: 1.4; /* 28 / 20 */
	}
	.planSCT .hed h2 {
	line-height: 2;
	}
	.planSCT .bg-ttl {
	position: absolute;
	left: 1.3rem;
	top: 7.6rem;   /* 6412.5 - 6345 */
	margin: 0;
	font-size: 7rem;
	line-height: 1;
	}
	.planSCT .plans {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 3.3rem;
	margin: 0 0 0 18.3rem;
	width: 89.8rem;
	}
	.planSCT .plan {
	margin: 0;
	flex: none;
	}
	.planSCT .plan:first-child {
	width: 46.3rem;
	}
	.planSCT .plan:last-child {
	margin: 0;
	width: 40.2rem;
	}
	.planSCT .cut {
	margin: -14.1rem 0 0 73.3rem;
	width: 31.5rem;
	}
}

/* ========== CATALOG cat3 ========== */
/* design: SP 402x608 / PC 1280x488 */
.catalogSCT.cat3 {
position: relative;
}
.catalogSCT.cat3 .cont {
box-sizing: border-box;
display: flex;
flex-direction: column;
align-items: center;
padding: 10rem 0;
background-color: #d5d5d5;
background-image: url("../img/sp/ctg_bg.jpg");
background-image: image-set(url("../img/sp/ctg_bg.webp") type("image/webp"), url("../img/sp/ctg_bg.jpg") type("image/jpeg"));
background-position: center center;
background-size: cover;
background-repeat: no-repeat;
text-align: center;
}
.catalogSCT.cat3 .cont::before {
content: '';
position: absolute;
inset: 0;
background: rgba(255,255,255,.5);
pointer-events: none;
}
.catalogSCT.cat3 .cont > * {
position: relative;
z-index: 1;
}
.catalogSCT.cat3 .image {
margin-bottom: 3.2rem;
width: 34rem;
}
.catalogSCT.cat3 .image img {
width: 100%;
box-shadow: 0 0 15px rgba(0,0,0,.25);
}
.catalogSCT.cat3 .pack {
width: 30rem;
}
.catalogSCT.cat3 .pack p {
margin-bottom: 2.4rem;
font-family: 'A1 Mincho', serif;
font-weight: 700;
font-size: 1.8rem;
line-height: 2;
text-align: left;
}
.catalogSCT.cat3 .button {
margin: 0;
}
@media (min-width: 750px) {
	.catalogSCT.cat3 .cont {
	flex-direction: row;
	justify-content: center;
	align-items: center;
	gap: 7.2rem;
	min-height: 48.8rem;
	padding: 0;
	background-image: url("../img/ctg_bg.jpg");
	background-image: image-set(url("../img/ctg_bg.webp") type("image/webp"), url("../img/ctg_bg.jpg") type("image/jpeg"));
	text-align: left;
	}
	.catalogSCT.cat3 .image {
	margin: 0;
	width: 46.8rem;
	}
	.catalogSCT.cat3 .pack {
	width: 33.4rem;
	}
	.catalogSCT.cat3 .pack p {
	margin-bottom: 1.9rem;
	font-size: 1.8rem;
	line-height: 1.8;
	}
}
