@charset "utf-8";
/* CSS Document */

.entry-page{
	background:#050505;
	color:#fff;
}

.entry-header{
	min-height:70vh;
	padding:80px 8% 100px;
	display:flex;
	flex-direction:column;
	justify-content:center;
	background:
		linear-gradient(
			to bottom,
			rgba(0,0,0,.35),
			rgba(0,0,0,.9)
		),
		url('../images/top_back.jpg') center center / cover no-repeat;
}

.entry-header h1{
	font-size:clamp(46px, 8vw, 130px);
	font-weight:normal;
	letter-spacing:.16em;
	line-height:1;
}

.entry-header p{
	margin-top:28px;
	line-height:2;
	letter-spacing:.18em;
	opacity:.75;
}

.entry-main{
	padding:100px 8% 140px;
}

.entry-section{
	max-width:1300px;
	margin:0 auto 150px;
}

.entry-section h2{
	font-size:clamp(28px, 3vw, 48px);
	font-weight:normal;
	letter-spacing:.18em;
	margin-bottom:45px;
}

.entry-concept-card,
.ng-card{
	display:grid;
	grid-template-columns:1.1fr .9fr;
	gap:0;
	background:#0c0c0c;
	border:1px solid rgba(255,255,255,.08);
}

.entry-concept-image,
.ng-image,
.line-image{
	background:#111;
	overflow:hidden;
}

.entry-concept-image img,
.ng-image img,
.line-image img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	opacity:.86;
}

.entry-concept-image{
	min-height:420px;
}

.entry-concept-video{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
	opacity:.88;
	filter:
		brightness(.88)
		contrast(1.02);
}

.entry-concept-text,
.ng-text,
.line-text{
	padding:48px;
}

.section-label{
	display:block;
	font-size:11px;
	letter-spacing:.28em;
	opacity:.55;
	margin-bottom:18px;
}

.entry-concept-text h3,
.ng-text h3,
.line-text h3{
	font-size:clamp(24px, 2.4vw, 38px);
	font-weight:normal;
	letter-spacing:.12em;
	line-height:1.6;
	margin-bottom:26px;
}

.entry-concept-text p,
.ng-text p,
.line-text p{
	font-size:14px;
	line-height:2;
	opacity:.78;
	margin-bottom:18px;
}

/* =========================
   LINE COPY
========================= */

.line-text .line-copy{
	margin:20px 0 16px;
	font-size:16px;
	line-height:2;
	letter-spacing:.24em;
	text-transform:uppercase;
	opacity:1;
}

.line-text .line-message{

	margin-bottom:30px;

	font-size:16px;

	line-height:2.1;

	letter-spacing:.08em;

	color:rgba(255,255,255,.88);

	opacity:1;
}

.dress-line .line-copy{

	color:rgba(212,184,120,.72);
}

.casual-line .line-copy{

	color:rgba(255,255,255,.52);
}

.line-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:28px;
}

.line-card{
	background:#0c0c0c;
	border:1px solid rgba(255,255,255,.08);
	overflow:hidden;
}

.line-image{
	aspect-ratio:2 / 3;
}

/* =========================
   LINE SLIDER
========================= */

.line-slider{
	position:relative;
	overflow:hidden;
	background:#111;
}

.line-slide-track{
	position:relative;
	width:100%;
	height:100%;
}

.line-slide{
	position:absolute;
	inset:0;
	opacity:0;
	transform:scale(1.02);
	transition:
		opacity .9s ease,
		transform 1.4s ease;
}

.line-slider::after{
	content:"";
	position:absolute;
	inset:0;

	background:
	linear-gradient(
		to bottom,
		rgba(0,0,0,.08),
		rgba(0,0,0,.22)
	);

	pointer-events:none;
	z-index:2;
}

.line-slide.active{
	opacity:1;
	transform:scale(1);
	z-index:1;
}

.line-slide img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}

.line-slide-btn{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	z-index:5;
	width:42px;
	height:42px;
	border:1px solid rgba(255,255,255,.35);
	background:rgba(0,0,0,.28);
	color:#fff;
	font-size:30px;
	line-height:1;
	cursor:pointer;
	opacity:.45;
	transition:.3s;
}

.line-slide-btn:hover{
	opacity:1;
	background:rgba(255,255,255,.08);
}

.line-slide-btn.prev{
	left:18px;
}

.line-slide-btn.next{
	right:18px;
}

.line-slide-count{
	position:absolute;
	right:18px;
	bottom:16px;
	z-index:5;
	font-size:11px;
	letter-spacing:.18em;
	color:rgba(255,255,255,.72);
	background:rgba(0,0,0,.35);
	padding:7px 10px;
}

.line-text ul{
	margin-top:26px;
	padding-left:1.2em;
}

.line-text li{
	font-size:13px;
	line-height:2;
	opacity:.75;
}

.ng-card{
	grid-template-columns:.9fr 1.1fr;
}

.ng-image{
	min-height:360px;
}

.entry-button-section{
	text-align:center;
	max-width:900px;
}

.entry-lead{
	font-size:14px;
	line-height:2;
	opacity:.78;
	margin-bottom:35px;
}

.entry-button{
	display:inline-block;
	padding:18px 70px;
	border:1px solid rgba(255,255,255,.55);
	color:#fff;
	text-decoration:none;
	letter-spacing:.35em;
	font-size:13px;
	background:rgba(255,255,255,.03);
	transition:.35s;
}

.entry-button:hover{
	background:rgba(255,255,255,.1);
	border-color:rgba(255,255,255,.9);
	letter-spacing:.45em;
}

.entry-button.closed{
	opacity:.35;
	cursor:default;
}

.support-box{
	display:grid;
	grid-template-columns:1fr 260px;
	gap:60px;
	align-items:stretch;
	padding:54px;
	background:#0c0c0c;
	border:1px solid rgba(255,255,255,.08);
}

.support-main p{
	font-size:14px;
	line-height:2;
	color:rgba(255,255,255,.75);
}

.support-price-grid{
	display:flex;
	gap:20px;
	margin:34px 0;
}

.support-item{
	flex:1;
	padding:28px 24px;
	border:1px solid rgba(255,255,255,.1);
	background:rgba(255,255,255,.02);
}

.support-item span{
	display:block;
	margin-bottom:14px;
	font-size:11px;
	letter-spacing:.24em;
	color:rgba(255,255,255,.5);
}

.support-item strong{
	display:block;
	font-size:22px;
	font-weight:normal;
	letter-spacing:.06em;
	line-height:1.5;
}

.support-item p{
	margin-top:10px;
	font-size:12px;
	line-height:1.7;
	color:rgba(255,255,255,.55);
}

.support-contact a{
	color:#fff;
	text-decoration:none;
	border-bottom:1px solid rgba(255,255,255,.35);
}

.support-brand{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	opacity:.82;
	transform:translateY(60px);
}

.support-brand img{
	margin-top:0;
}
.support-brand-label{
	margin-top:12px;
	font-size:10px;
	letter-spacing:.34em;
	color:rgba(255,255,255,.42);
	text-transform:uppercase;
}

.support-brand img{
	margin-top:26px;
	max-width:180px;
	width:100%;
	height:auto;
}

@media screen and (max-width:768px){

	.entry-header{
		min-height:62svh;
		padding:70px 7% 80px;
		background:
			linear-gradient(
				to bottom,
				rgba(0,0,0,.3),
				rgba(0,0,0,.92)
			),
			url('../images/top_sp_back.jpg') center center / cover no-repeat;
	}

	.entry-header h1{
		font-size:clamp(42px, 14vw, 70px);
		letter-spacing:.1em;
	}

	.entry-header p{
		font-size:12px;
		letter-spacing:.1em;
	}

	.entry-main{
		padding:70px 7% 100px;
	}

	.entry-section{
		margin-bottom:100px;
	}

	.entry-concept-card,
	.ng-card,
	.line-grid{
		display:block;
	}

	.entry-concept-image{
		min-height:auto;
		aspect-ratio:16 / 9;
		background:#000;
		line-height:0;
		overflow:hidden;
	}

	.entry-concept-video{
		width:100%;
		height:100%;
		object-fit:contain;
		display:block;
	}

	.line-text .line-copy{
		font-size:13px;
		line-height:1.9;
	}

	.line-text .line-message{
		font-size:15px;
		line-height:2;
	}

	.ng-image{
		width:100%;
		height:clamp(220px, 42vw, 360px);
		min-height:auto;
		aspect-ratio:auto;
		line-height:0;
		overflow:hidden;
	}

	.ng-image img{
		width:100%;
		height:100%;
		object-fit:cover;
		object-position:center top;
		display:block;
	}

	.entry-concept-text,
	.ng-text,
	.line-text{
		padding:28px 24px 34px;
	}

	.line-card{
		margin-bottom:28px;
	}

	.entry-button{
		width:100%;
		padding:16px 20px;
	}

	.support-box{
		display:block;
		padding:34px 28px;
	}

	.support-price-grid{
		flex-direction:column;
	}

	.support-brand{
		transform:none;
		margin-top:10px;
	}
}