/* =========================================================
   BRAND STATION
   LINE FREE ASSESSMENT LP
========================================================= */


/* ---------------------------------------------------------
   BASE
--------------------------------------------------------- */

body.lp-line {
	margin: 0;
	padding: 0;

	background: #fff;
	color: #000;

	font-family:
		"Jost",
		"Noto Sans JP",
		"Yu Gothic",
		YuGothic,
		"Hiragino Kaku Gothic ProN",
		sans-serif;

	-webkit-font-smoothing: antialiased;
}

body.lp-line * {
	box-sizing: border-box;
}

body.lp-line a {
	color: inherit;
	text-decoration: none;
}

.lp-line__page {
	position: relative;

	width: 100%;
	min-height: 100vh;

	overflow: hidden;

	background: #fff;
}


/* ---------------------------------------------------------
   HEADER
--------------------------------------------------------- */

.lp-line__header {
	position: absolute;
	top: 0;
	left: 0;

	z-index: 10;

	width: 50%;

	padding:
		18px
		0
		0
		3.4vw;

	pointer-events: none;
}

.lp-line__header__inner {
	width: 100%;
	max-width: none;

	margin: 0;
}


/* ---------------------------------------------------------
   BRAND STATION LOGO
--------------------------------------------------------- */

.lp-line__logo {
	display: block;

	width: 76px;

	pointer-events: auto;
}

.lp-line__logo__img {
	display: block;

	width: 100%;
	height: auto;
}

.lp-line__logo__img--pc {
	display: block;
}

.lp-line__logo__img--sp {
	display: none;
}


/* =========================================================
   FIRST VIEW
========================================================= */

.lp-line__fv {
	position: relative;

	width: 100%;
	min-height: 100vh;

	background: #fbfdea;
}

.lp-line__fv__inner {
	display: grid;

	grid-template-columns:
		minmax(0, 0.95fr)
		minmax(0, 1.05fr);

	width: 100%;
	min-height: 100vh;
}


/* ---------------------------------------------------------
   FV CONTENT
--------------------------------------------------------- */

.lp-line__fv__content {
	display: flex;
	flex-direction: column;
	justify-content: center;

	position: relative;
	z-index: 2;

	padding:
		185px
		6vw
		70px
		8vw;
}

.lp-line__fv__label {
	margin: 0 0 28px;

	color: #c75035;

	font-size: 11px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.18em;
}

.lp-line__fv__title {
	margin: 0;

	color: #000;

	font-family:
		"Jost",
		"Noto Sans JP",
		sans-serif;

	font-size: clamp(36px, 3.2vw, 58px);
	font-weight: 400;
	line-height: 1.42;

	letter-spacing: 0.04em;
}

.lp-line__fv__title span {
	display: block;
}

.lp-line__fv__lead {
	margin: 34px 0 0;

	color: #333;

	font-size: 14px;
	font-weight: 400;
	line-height: 2;

	letter-spacing: 0.08em;
}


/* ---------------------------------------------------------
   CTA
--------------------------------------------------------- */

.lp-line__fv__cta {
	width: 100%;
	max-width: 430px;

	margin-top: 38px;
}

.lp-line__cta {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 100%;

	padding: 20px 26px;

	color: #c75035 !important;

	border: 1px solid #c75035;
	border-radius: 40px;

	font-size: 14px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.08em;

	transition:
		background-color 0.35s ease,
		color 0.35s ease;
}

.lp-line__cta__arrow {
	font-size: 18px;
	font-weight: 400;

	transition: transform 0.35s ease;
}

@media (hover: hover) {

	.lp-line__cta:hover {
		color: #fff !important;
		background: #c75035;
	}

	.lp-line__cta:hover .lp-line__cta__arrow {
		transform: translateX(4px);
	}

}


/* ---------------------------------------------------------
   FV MERITS
--------------------------------------------------------- */

.lp-line__fv__merits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);

	width: 100%;
	max-width: 520px;

	margin: 52px 0 0;
	padding: 24px 0 0;

	border-top: 1px solid rgba(0, 0, 0, 0.18);
}

.lp-line__fv__merits li {
	position: relative;

	padding: 0 18px;

	border-right: 1px solid rgba(0, 0, 0, 0.15);
}

.lp-line__fv__merits li:first-child {
	padding-left: 0;
}

.lp-line__fv__merits li:last-child {
	padding-right: 0;
	border-right: 0;
}

.lp-line__fv__merits__en,
.lp-line__fv__merits__jp {
	display: block;
}

.lp-line__fv__merits__en {
	margin-bottom: 7px;

	color: #777;

	font-size: 8px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.13em;
}

.lp-line__fv__merits__jp {
	color: #222;

	font-size: 11px;
	font-weight: 400;
	line-height: 1.4;

	letter-spacing: 0.05em;
}


/* ---------------------------------------------------------
   FV VISUAL
--------------------------------------------------------- */

.lp-line__fv__visual {
	position: relative;

	min-width: 0;
	min-height: 100vh;

	overflow: hidden;

	background: #f1f1ed;
}

.lp-line__fv__visual__img {
	position: absolute;
	inset: 0;

	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center center;
}


/* =========================================================
   HOW IT WORKS
========================================================= */

.lp-line__how {
	position: relative;

	width: 100%;

	padding:
		120px
		8vw
		130px;

	background: #fff;
}

.lp-line__how__inner {
	width: 100%;
	max-width: 1240px;

	margin: 0 auto;
}


/* ---------------------------------------------------------
   HOW - HEADER
--------------------------------------------------------- */

.lp-line__how__head {
	display: grid;

	grid-template-columns:
		minmax(240px, 0.7fr)
		minmax(0, 1.3fr);

	column-gap: 80px;

	align-items: start;

	margin-bottom: 90px;
}

.lp-line__how__label {
	margin: 0 0 22px;

	color: #c75035;

	font-size: 11px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.18em;
}

.lp-line__how__title {
	grid-column: 1;

	margin: 0;

	color: #111;

	font-size: clamp(30px, 2.5vw, 44px);
	font-weight: 400;
	line-height: 1.45;

	letter-spacing: 0.04em;
}

.lp-line__how__lead {
	grid-column: 2;
	grid-row: 1 / span 2;

	margin: 28px 0 0;

	color: #444;

	font-size: 14px;
	font-weight: 400;
	line-height: 2;

	letter-spacing: 0.06em;
}

.lp-line__only-sp {
	display: none;
}


/* ---------------------------------------------------------
   HOW - STEPS
--------------------------------------------------------- */

.lp-line__how__steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);

	width: 100%;

	border-top: 1px solid #d8d8d2;
	border-bottom: 1px solid #d8d8d2;
}

.lp-line__how__step {
	position: relative;

	min-height: 360px;

	padding:
		38px
		42px
		44px;

	border-right: 1px solid #d8d8d2;
}

.lp-line__how__step:last-child {
	border-right: 0;
}


/* ---------------------------------------------------------
   HOW - NUMBER
--------------------------------------------------------- */

.lp-line__how__step__number {
	margin-bottom: 28px;
}

.lp-line__how__step__number span {
	display: block;

	color: #c75035;

	font-family:
		"Cormorant Garamond",
		"Times New Roman",
		serif;

	font-size: 52px;
	font-weight: 400;
	line-height: 1;

	letter-spacing: 0.02em;
}


/* ---------------------------------------------------------
   HOW - STEP BODY
--------------------------------------------------------- */

.lp-line__how__step__body {
	display: block;
}


/* ---------------------------------------------------------
   HOW - ICON
--------------------------------------------------------- */

.lp-line__how__step__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 46px;
	height: 46px;

	margin: 0 0 28px;

	color: #222;
}

.lp-line__how__step__icon svg {
	display: block;

	width: 100%;
	height: 100%;

	overflow: visible;

	fill: none;

	stroke: currentColor;
	stroke-width: 1.45;
	stroke-linecap: round;
	stroke-linejoin: round;
}


/* ---------------------------------------------------------
   HOW - ENGLISH LABEL
--------------------------------------------------------- */

.lp-line__how__step__en {
	margin: 0 0 13px;

	color: #888;

	font-size: 9px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.16em;
}


/* ---------------------------------------------------------
   HOW - TITLE
--------------------------------------------------------- */

.lp-line__how__step__title {
	margin: 0 0 18px;

	color: #111;

	font-size: 21px;
	font-weight: 400;
	line-height: 1.5;

	letter-spacing: 0.05em;
}


/* ---------------------------------------------------------
   HOW - TEXT
--------------------------------------------------------- */

.lp-line__how__step__text {
	margin: 0;

	color: #555;

	font-size: 12px;
	font-weight: 400;
	line-height: 1.9;

	letter-spacing: 0.04em;
}


/* ---------------------------------------------------------
   HOW - CTA
--------------------------------------------------------- */

.lp-line__how__cta {
	width: 100%;
	max-width: 430px;

	margin:
		64px
		auto
		0;
}


/* =========================================================
   WHY BRAND STATION
========================================================= */

.lp-line__why {
	position: relative;

	width: 100%;

	padding:
		130px
		8vw
		140px;

	background: #fbfdea;
}

.lp-line__why__inner {
	display: grid;

	grid-template-columns:
		minmax(0, 0.95fr)
		minmax(0, 1.05fr);

	column-gap: 80px;
	align-items: center;

	width: 100%;
	max-width: 1360px;

	margin: 0 auto;
}


/* ---------------------------------------------------------
   WHY - VISUAL
--------------------------------------------------------- */

.lp-line__why__visual {
	position: relative;

	width: 100%;
	aspect-ratio: 1 / 1;

	overflow: hidden;

	background: #eee;
}

.lp-line__why__visual__img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;
}


/* ---------------------------------------------------------
   WHY - CONTENT
--------------------------------------------------------- */

.lp-line__why__content {
	width: 100%;
}

.lp-line__why__label {
	margin: 0 0 24px;

	color: #c75035;

	font-size: 11px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.18em;
}

.lp-line__why__title {
	margin: 0 0 34px;

	color: #111;

	font-size: clamp(28px, 2.35vw, 42px);
	font-weight: 400;
	line-height: 1.55;

	letter-spacing: 0.04em;
}


/* ---------------------------------------------------------
   WHY - TEXT
--------------------------------------------------------- */

.lp-line__why__text {
	width: 100%;
	max-width: 650px;
}

.lp-line__why__text p {
	margin: 0 0 26px;

	color: #444;

	font-size: 13px;
	font-weight: 400;
	line-height: 2.05;

	letter-spacing: 0.05em;
}

.lp-line__why__text p:last-child {
	margin-bottom: 0;
}


/* ---------------------------------------------------------
   WHY - TRUST POINTS
--------------------------------------------------------- */

.lp-line__why__points {
	display: grid;
	grid-template-columns: repeat(3, 1fr);

	width: 100%;

	margin: 42px 0 0;
	padding: 0;

	border-top: 1px solid rgba(0, 0, 0, 0.16);
	border-bottom: 1px solid rgba(0, 0, 0, 0.16);

	list-style: none;
}

.lp-line__why__point {
	position: relative;

	padding:
		24px
		20px
		25px;

	border-right: 1px solid rgba(0, 0, 0, 0.14);
}

.lp-line__why__point:first-child {
	padding-left: 0;
}

.lp-line__why__point:last-child {
	padding-right: 0;
	border-right: 0;
}

.lp-line__why__point__en {
	display: block;

	margin-bottom: 11px;

	color: #c75035;

	font-size: 9px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.15em;
}

.lp-line__why__point__jp {
	display: block;

	color: #222;

	font-size: 13px;
	font-weight: 400;
	line-height: 1.65;

	letter-spacing: 0.04em;
}


/* ---------------------------------------------------------
   WHY - CTA
--------------------------------------------------------- */

.lp-line__why__cta {
	width: 100%;
	max-width: 430px;

	margin-top: 40px;
}


/* =========================================================
   WHAT WE BUY
========================================================= */

.lp-line__buy {
	position: relative;

	width: 100%;

	padding:
		130px
		8vw
		140px;

	background: #fff;
}

.lp-line__buy__inner {
	width: 100%;
	max-width: 1240px;

	margin: 0 auto;
}


/* ---------------------------------------------------------
   WHAT WE BUY - HEADER
--------------------------------------------------------- */

.lp-line__buy__head {
	display: grid;

	grid-template-columns:
		minmax(0, 1.2fr)
		minmax(0, 0.8fr);

	column-gap: 80px;

	align-items: start;

	margin-bottom: 86px;
}

.lp-line__buy__head__title {
	min-width: 0;
}

.lp-line__buy__label {
	margin: 0 0 26px;

	color: #c75035;

	font-size: 11px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.18em;
}

.lp-line__buy__title {
	margin: 0;

	color: #111;

	font-size: clamp(30px, 2.05vw, 37px);
	font-weight: 400;
	line-height: 1.55;

	letter-spacing: 0.035em;
}

.lp-line__buy__lead {
	max-width: 620px;

	margin: 40px 0 0;

	color: #444;

	font-size: 14px;
	font-weight: 400;
	line-height: 2;

	letter-spacing: 0.055em;
}


/* ---------------------------------------------------------
   PC TITLE FIX
--------------------------------------------------------- */

@media only screen and (min-width: 1001px) {

	.lp-line__buy__title {
		white-space: nowrap;
	}

}


/* ---------------------------------------------------------
   WHAT WE BUY - CATEGORIES
--------------------------------------------------------- */

.lp-line__buy__categories {
	display: grid;
	grid-template-columns: repeat(5, 1fr);

	width: 100%;

	margin: 0;
	padding: 0;

	border-top: 1px solid #d8d8d2;
	border-bottom: 1px solid #d8d8d2;

	list-style: none;
}

.lp-line__buy__category {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;

	position: relative;

	min-height: 240px;

	padding:
		34px
		20px
		32px;

	text-align: center;

	border-right: 1px solid #d8d8d2;
}

.lp-line__buy__category:last-child {
	border-right: 0;
}


/* APPAREL */

.lp-line__buy__category--primary {
	background: #fbfdea;
}


/* ---------------------------------------------------------
   CATEGORY ICON
--------------------------------------------------------- */

.lp-line__buy__category__icon {
	display: flex;
	align-items: center;
	justify-content: center;

	width: 60px;
	height: 60px;

	margin-bottom: 27px;

	color: #222;
}

.lp-line__buy__category__icon svg {
	display: block;

	width: 100%;
	height: 100%;

	fill: none;

	stroke: currentColor;
	stroke-width: 1.35;
	stroke-linecap: round;
	stroke-linejoin: round;
}


/* ---------------------------------------------------------
   CATEGORY ENGLISH
--------------------------------------------------------- */

.lp-line__buy__category__en {
	display: block;

	margin-bottom: 16px;

	color: #777;

	font-size: 9px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.18em;
}

.lp-line__buy__category--primary .lp-line__buy__category__en {
	color: #c75035;
}


/* ---------------------------------------------------------
   CATEGORY JAPANESE
--------------------------------------------------------- */

.lp-line__buy__category__jp {
	display: block;

	color: #222;

	font-size: 18px;
	font-weight: 400;
	line-height: 1.45;

	letter-spacing: 0.05em;
}


/* ---------------------------------------------------------
   WHAT WE BUY - BRANDS
--------------------------------------------------------- */

.lp-line__buy__brands {
	width: 100%;

	margin-top: 94px;
}

.lp-line__buy__brands__label {
	margin: 0 0 42px;

	color: #c75035;

	font-size: 10px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.2em;
}


/* ---------------------------------------------------------
   BRAND LIST
--------------------------------------------------------- */

.lp-line__buy__brands__list {
	width: 100%;

	margin: 0;
}

.lp-line__buy__brands__row {
	display: flex;
	align-items: baseline;
	flex-wrap: nowrap;

	width: 100%;

	margin-bottom: 16px;

	gap:
		8px
		15px;
}

.lp-line__buy__brands__row:last-child {
	margin-bottom: 0;
}

.lp-line__buy__brand {
	display: inline-block;

	color: #111;

	font-family:
		"Jost",
		"Noto Sans JP",
		sans-serif;

	font-size: clamp(27px, 2.35vw, 40px);
	font-weight: 400;
	line-height: 1.35;

	letter-spacing: 0.025em;

	white-space: nowrap;
}

.lp-line__buy__separator {
	display: inline-block;

	color: #c75035;

	font-family:
		"Cormorant Garamond",
		"Times New Roman",
		serif;

	font-size: clamp(31px, 2.6vw, 44px);
	font-weight: 400;
	line-height: 1;

	white-space: nowrap;
}


/* ---------------------------------------------------------
   ETC
--------------------------------------------------------- */

.lp-line__buy__brands__etc {
	margin:
		25px
		0
		0;

	color: #777;

	font-family:
		"Jost",
		"Noto Sans JP",
		sans-serif;

	font-size: clamp(24px, 2vw, 34px);
	font-weight: 400;
	line-height: 1.4;

	letter-spacing: 0.03em;
}


/* ---------------------------------------------------------
   ACCENT LINE
--------------------------------------------------------- */

.lp-line__buy__brands__line {
	width: 46px;
	height: 1px;

	margin:
		38px
		0
		34px;

	background: #c75035;
}


/* ---------------------------------------------------------
   NOTE
--------------------------------------------------------- */

.lp-line__buy__note {
	margin: 0;

	color: #555;

	font-size: 12px;
	font-weight: 400;
	line-height: 1.95;

	letter-spacing: 0.05em;
}


/* ---------------------------------------------------------
   BUY CTA
--------------------------------------------------------- */

.lp-line__buy__cta {
	width: 100%;
	max-width: 430px;

	margin-top: 50px;
}


/* =========================================================
   FOOTER
========================================================= */

.lp-line__footer {
	padding: 52px 5vw;

	background: #fff;

	border-top: 1px solid #e6e6e6;
}

.lp-line__footer__inner {
	width: 100%;
	max-width: 1440px;

	margin: 0 auto;
}

.lp-line__footer__company,
.lp-line__footer__license,
.lp-line__footer__copyright {
	margin: 0 0 8px;

	color: #666;

	font-size: 10px;
	line-height: 1.8;

	letter-spacing: 0.08em;
}


/* =========================================================
   TABLET
========================================================= */

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


	/* HEADER */

	.lp-line__header {
		width: 50%;

		padding:
			16px
			0
			0
			3.5vw;
	}

	.lp-line__logo {
		width: 70px;
	}


	/* FV */

	.lp-line__fv__content {
		padding:
			160px
			5vw
			65px;
	}

	.lp-line__fv__title {
		font-size: clamp(32px, 4vw, 44px);
	}


	/* HOW */

	.lp-line__how {
		padding:
			90px
			5vw
			100px;
	}

	.lp-line__how__head {
		column-gap: 50px;

		margin-bottom: 70px;
	}

	.lp-line__how__step {
		min-height: 340px;

		padding:
			32px
			26px
			38px;
	}

	.lp-line__how__step__number {
		margin-bottom: 26px;
	}

	.lp-line__how__step__number span {
		font-size: 46px;
	}

	.lp-line__how__step__icon {
		width: 42px;
		height: 42px;

		margin-bottom: 24px;
	}


	/* WHY */

	.lp-line__why {
		padding:
			90px
			5vw
			100px;
	}

	.lp-line__why__inner {
		grid-template-columns:
			minmax(0, 0.9fr)
			minmax(0, 1.1fr);

		column-gap: 48px;
	}

	.lp-line__why__title {
		font-size: 30px;
	}

	.lp-line__why__text p {
		font-size: 12px;
		line-height: 1.95;
	}

	.lp-line__why__point {
		padding:
			20px
			14px;
	}


	/* WHAT WE BUY */

	.lp-line__buy {
		padding:
			90px
			5vw
			100px;
	}

	.lp-line__buy__head {
		grid-template-columns:
			minmax(0, 1.05fr)
			minmax(0, 0.95fr);

		column-gap: 50px;

		margin-bottom: 66px;
	}

	.lp-line__buy__title {
		font-size: 30px;
		line-height: 1.55;

		white-space: normal;
	}

	.lp-line__buy__lead {
		margin-top: 30px;

		font-size: 12px;
		line-height: 1.95;
	}

	.lp-line__buy__category {
		min-height: 205px;

		padding:
			28px
			15px;
	}

	.lp-line__buy__category__icon {
		width: 50px;
		height: 50px;

		margin-bottom: 22px;
	}

	.lp-line__buy__category__jp {
		font-size: 16px;
	}

	.lp-line__buy__brands {
		margin-top: 74px;
	}

	.lp-line__buy__brands__label {
		margin-bottom: 34px;
	}

	.lp-line__buy__brands__row {
		flex-wrap: wrap;

		gap:
			6px
			12px;
	}

	.lp-line__buy__brand {
		font-size: clamp(24px, 2.8vw, 32px);
	}

	.lp-line__buy__separator {
		font-size: clamp(27px, 3vw, 35px);
	}

}


/* =========================================================
   SMARTPHONE
========================================================= */

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

	body.lp-line {
		padding-bottom: 0;
	}


	/* -----------------------------------------------------
	   HEADER
	----------------------------------------------------- */

	.lp-line__header {
		width: 100%;

		padding:
			14px
			0
			0
			5vw;
	}

	.lp-line__header__inner {
		width: 100%;
	}

	.lp-line__logo {
		width: 58px;
	}

	.lp-line__logo__img--pc {
		display: block;
	}

	.lp-line__logo__img--sp {
		display: none;
	}


	/* -----------------------------------------------------
	   FV
	----------------------------------------------------- */

	.lp-line__fv {
		min-height: auto;
	}

	.lp-line__fv__inner {
		display: flex;
		flex-direction: column;

		min-height: auto;
	}

	.lp-line__fv__content {
		order: 1;

		min-height: auto;

		padding:
			115px
			5vw
			48px;
	}

	.lp-line__fv__label {
		margin-bottom: 20px;

		font-size: 9px;

		letter-spacing: 0.16em;
	}

	.lp-line__fv__title {
		font-size: 30px;
		line-height: 1.5;

		letter-spacing: 0.035em;
	}

	.lp-line__fv__title span {
		display: block;
	}

	.lp-line__fv__lead {
		margin-top: 24px;

		font-size: 12px;
		line-height: 1.9;

		letter-spacing: 0.05em;
	}

	.lp-line__fv__cta {
		width: 100%;
		max-width: none;

		margin-top: 28px;
	}

	.lp-line__cta {
		padding: 19px 22px;

		font-size: 13px;
	}

	.lp-line__fv__merits {
		width: 100%;
		max-width: none;

		margin-top: 34px;
		padding-top: 20px;
	}

	.lp-line__fv__merits li {
		padding: 0 10px;
	}

	.lp-line__fv__merits li:first-child {
		padding-left: 0;
	}

	.lp-line__fv__merits li:last-child {
		padding-right: 0;
	}

	.lp-line__fv__merits__en {
		font-size: 7px;
		line-height: 1.3;
	}

	.lp-line__fv__merits__jp {
		font-size: 10px;
	}

	.lp-line__fv__visual {
		order: 2;

		width: 100%;
		min-height: 0;

		aspect-ratio: 4 / 5;

		overflow: hidden;

		background: #f1f1ed;
	}

	.lp-line__fv__visual__img {
		position: absolute;
		inset: 0;

		width: 100%;
		height: 100%;

		object-fit: cover;
		object-position: center center;
	}


	/* =====================================================
	   HOW IT WORKS
	===================================================== */

	.lp-line__how {
		padding:
			72px
			5vw
			82px;
	}

	.lp-line__how__head {
		display: block;

		margin-bottom: 52px;
	}

	.lp-line__how__label {
		margin-bottom: 18px;

		font-size: 9px;

		letter-spacing: 0.16em;
	}

	.lp-line__how__title {
		font-size: 29px;
		line-height: 1.5;
	}

	.lp-line__how__lead {
		margin-top: 24px;

		font-size: 12px;
		line-height: 1.9;

		letter-spacing: 0.04em;
	}

	.lp-line__only-sp {
		display: block;
	}

	.lp-line__how__steps {
		display: block;

		border-bottom: 1px solid #d8d8d2;
	}

	.lp-line__how__step {
		display: grid;

		grid-template-columns:
			54px
			minmax(0, 1fr);

		min-height: 0;

		padding:
			30px
			0
			32px;

		border-right: 0;
		border-bottom: 1px solid #d8d8d2;
	}

	.lp-line__how__step:last-child {
		border-bottom: 0;
	}

	.lp-line__how__step__number {
		margin: 0;
	}

	.lp-line__how__step__number span {
		font-size: 34px;
	}

	.lp-line__how__step__body {
		padding-left: 8px;
	}

	.lp-line__how__step__icon {
		width: 38px;
		height: 38px;

		margin:
			0
			0
			18px;

		color: #222;
	}

	.lp-line__how__step__icon svg {
		stroke-width: 1.4;
	}

	.lp-line__how__step__en {
		margin-bottom: 10px;

		font-size: 7px;
	}

	.lp-line__how__step__title {
		margin-bottom: 13px;

		font-size: 18px;
	}

	.lp-line__how__step__text {
		font-size: 11px;
		line-height: 1.85;
	}

	.lp-line__how__cta {
		max-width: none;

		margin-top: 42px;
	}


	/* =====================================================
	   WHY BRAND STATION
	===================================================== */

	.lp-line__why {
		padding:
			72px
			5vw
			82px;
	}

	.lp-line__why__inner {
		display: flex;
		flex-direction: column;

		width: 100%;
	}

	.lp-line__why__visual {
		order: 1;

		width: 100%;
		aspect-ratio: 1 / 1;

		margin-bottom: 38px;
	}

	.lp-line__why__visual__img {
		width: 100%;
		height: 100%;

		object-fit: cover;
	}

	.lp-line__why__content {
		order: 2;
	}

	.lp-line__why__label {
		margin-bottom: 18px;

		font-size: 9px;

		letter-spacing: 0.16em;
	}

	.lp-line__why__title {
		margin-bottom: 26px;

		font-size: 27px;
		line-height: 1.55;
	}

	.lp-line__why__text {
		max-width: none;
	}

	.lp-line__why__text p {
		margin-bottom: 20px;

		font-size: 12px;
		line-height: 1.95;

		letter-spacing: 0.04em;
	}

	.lp-line__why__points {
		display: block;

		margin-top: 32px;
	}

	.lp-line__why__point {
		padding:
			18px
			0;

		border-right: 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.14);
	}

	.lp-line__why__point:first-child {
		padding-left: 0;
	}

	.lp-line__why__point:last-child {
		padding-right: 0;
		border-bottom: 0;
	}

	.lp-line__why__point__en {
		margin-bottom: 8px;

		font-size: 8px;
	}

	.lp-line__why__point__jp {
		font-size: 13px;
		line-height: 1.6;
	}

	.lp-line__why__cta {
		width: 100%;
		max-width: none;

		margin-top: 34px;
	}


	/* =====================================================
	   WHAT WE BUY
	===================================================== */

	.lp-line__buy {
		padding:
			72px
			5vw
			82px;
	}


	/* HEADER */

	.lp-line__buy__head {
		display: block;

		margin-bottom: 48px;
	}

	.lp-line__buy__label {
		margin-bottom: 18px;

		font-size: 9px;

		letter-spacing: 0.16em;
	}

	.lp-line__buy__title {
		font-size: 28px;
		line-height: 1.55;

		letter-spacing: 0.03em;

		white-space: normal;
	}

	.lp-line__buy__lead {
		max-width: none;

		margin-top: 24px;

		font-size: 12px;
		line-height: 1.95;

		letter-spacing: 0.04em;
	}


	/* CATEGORIES */

	.lp-line__buy__categories {
		grid-template-columns: repeat(2, 1fr);

		border-bottom: 0;
	}

	.lp-line__buy__category {
		min-height: 175px;

		padding:
			25px
			14px;

		border-right: 1px solid #d8d8d2;
		border-bottom: 1px solid #d8d8d2;
	}

	.lp-line__buy__category:nth-child(2n) {
		border-right: 0;
	}

	.lp-line__buy__category:last-child {
		grid-column: 1 / -1;

		border-right: 0;
	}


	/* CATEGORY ICON */

	.lp-line__buy__category__icon {
		width: 44px;
		height: 44px;

		margin-bottom: 18px;
	}

	.lp-line__buy__category__icon svg {
		stroke-width: 1.4;
	}


	/* CATEGORY TEXT */

	.lp-line__buy__category__en {
		margin-bottom: 11px;

		font-size: 7px;
		line-height: 1.3;
	}

	.lp-line__buy__category__jp {
		font-size: 15px;
	}


	/* BRANDS */

	.lp-line__buy__brands {
		margin-top: 58px;
	}

	.lp-line__buy__brands__label {
		margin-bottom: 28px;

		font-size: 8px;
	}

	.lp-line__buy__brands__row {
		flex-wrap: wrap;

		gap:
			4px
			8px;

		margin-bottom: 8px;
	}

	.lp-line__buy__brand {
		font-size: 22px;
		line-height: 1.5;

		white-space: normal;
	}

	.lp-line__buy__separator {
		font-size: 24px;
		line-height: 1.25;
	}


	/* ETC */

	.lp-line__buy__brands__etc {
		margin-top: 19px;

		font-size: 22px;
	}


	/* ACCENT LINE */

	.lp-line__buy__brands__line {
		width: 38px;

		margin:
			29px
			0
			27px;
	}


	/* NOTE */

	.lp-line__buy__note {
		font-size: 11px;
		line-height: 1.9;
	}


	/* CTA */

	.lp-line__buy__cta {
		width: 100%;
		max-width: none;

		margin-top: 38px;
	}


	/* -----------------------------------------------------
	   FOOTER
	----------------------------------------------------- */

	.lp-line__footer {
		padding:
			40px
			5vw;
	}

}
/* =========================================================
   PURCHASE EXAMPLES
========================================================= */

.lp-line__examples {
	position: relative;

	width: 100%;

	padding:
		130px
		8vw
		140px;

	background: #fbfdea;
}

.lp-line__examples__inner {
	width: 100%;
	max-width: 1240px;

	margin: 0 auto;
}


/* ---------------------------------------------------------
   EXAMPLES - HEADER
--------------------------------------------------------- */

.lp-line__examples__head {
	margin-bottom: 62px;
}

.lp-line__examples__label {
	margin: 0 0 24px;

	color: #c75035;

	font-size: 11px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.18em;
}

.lp-line__examples__title {
	margin: 0 0 24px;

	color: #111;

	font-size: clamp(30px, 2.5vw, 44px);
	font-weight: 400;
	line-height: 1.5;

	letter-spacing: 0.04em;
}

.lp-line__examples__lead {
	max-width: 620px;

	margin: 0;

	color: #444;

	font-size: 14px;
	font-weight: 400;
	line-height: 2;

	letter-spacing: 0.055em;
}


/* ---------------------------------------------------------
   EXAMPLES - LIST
--------------------------------------------------------- */

.lp-line__examples__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));

	gap: 32px 24px;

	margin: 0;
	padding: 0;

	list-style: none;
}

.lp-line__examples__item {
	background: #fff;
	border: 1px solid #e5e5df;
}

.lp-line__examples__image {
	position: relative;

	width: 100%;
	aspect-ratio: 1 / 1;

	overflow: hidden;

	background: #f5f5f1;
}

.lp-line__examples__image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;
}

.lp-line__examples__body {
	padding:
		22px
		22px
		24px;
}

.lp-line__examples__brand {
	margin: 0 0 18px;

	color: #111;

	font-family:
		"Jost",
		"Noto Sans JP",
		sans-serif;

	font-size: 18px;
	font-weight: 400;
	line-height: 1.4;

	letter-spacing: 0.04em;
}

.lp-line__examples__price-label {
	margin: 0 0 8px;

	color: #777;

	font-size: 10px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.16em;
}

.lp-line__examples__price {
	margin: 0;

	color: #c75035;

	font-family:
		"Jost",
		"Noto Sans JP",
		sans-serif;

	font-size: 28px;
	font-weight: 400;
	line-height: 1.2;

	letter-spacing: 0.02em;
}


/* ---------------------------------------------------------
   EXAMPLES - NOTE
--------------------------------------------------------- */

.lp-line__examples__note {
	margin: 32px 0 0;

	color: #666;

	font-size: 12px;
	font-weight: 400;
	line-height: 1.9;

	letter-spacing: 0.05em;
}


/* ---------------------------------------------------------
   EXAMPLES - CTA
--------------------------------------------------------- */

.lp-line__examples__cta {
	width: 100%;
	max-width: 430px;

	margin-top: 42px;
}


/* =========================================================
   PURCHASE EXAMPLES - DESKTOP CENTER ALIGNMENT
========================================================= */

@media only screen and (min-width: 1001px) {

	.lp-line__examples__list {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.lp-line__examples__item {
		grid-column: span 2;
	}

	.lp-line__examples__item:nth-child(4) {
		grid-column: 2 / span 2;
	}

	.lp-line__examples__item:nth-child(5) {
		grid-column: 4 / span 2;
	}

}


/* =========================================================
   PURCHASE EXAMPLES - TABLET
========================================================= */

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

	.lp-line__examples {
		padding:
			90px
			5vw
			100px;
	}

	.lp-line__examples__head {
		margin-bottom: 52px;
	}

	.lp-line__examples__title {
		font-size: 32px;
	}

	.lp-line__examples__lead {
		font-size: 12px;
		line-height: 1.95;
	}

	.lp-line__examples__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap: 24px 20px;
	}

	.lp-line__examples__price {
		font-size: 24px;
	}

}


/* =========================================================
   PURCHASE EXAMPLES - SMARTPHONE
========================================================= */

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

	.lp-line__examples {
		padding:
			72px
			5vw
			82px;
	}

	.lp-line__examples__head {
		margin-bottom: 42px;
	}

	.lp-line__examples__label {
		margin-bottom: 18px;

		font-size: 9px;

		letter-spacing: 0.16em;
	}

	.lp-line__examples__title {
		margin-bottom: 20px;

		font-size: 28px;
		line-height: 1.55;
	}

	.lp-line__examples__lead {
		font-size: 12px;
		line-height: 1.95;

		letter-spacing: 0.04em;
	}

	.lp-line__examples__list {
		grid-template-columns: 1fr;

		gap: 18px;
	}

	.lp-line__examples__body {
		padding:
			18px
			18px
			20px;
	}

	.lp-line__examples__brand {
		margin-bottom: 14px;

		font-size: 16px;
	}

	.lp-line__examples__price-label {
		font-size: 9px;
	}

	.lp-line__examples__price {
		font-size: 24px;
	}

	.lp-line__examples__note {
		margin-top: 24px;

		font-size: 11px;
		line-height: 1.9;
	}

	.lp-line__examples__cta {
		width: 100%;
		max-width: none;

		margin-top: 34px;
	}

}
/* =========================================================
   FAQ
========================================================= */

.lp-line__faq {
	position: relative;

	width: 100%;

	padding:
		130px
		8vw
		100px;

	background: #fff;
}

.lp-line__faq__inner {
	width: 100%;
	max-width: 1240px;

	margin: 0 auto;
}


/* ---------------------------------------------------------
   FAQ - HEADER
--------------------------------------------------------- */

.lp-line__faq__head {
	width: 100%;

	margin-bottom: 66px;
}

.lp-line__faq__label {
	margin: 0 0 24px;

	color: #c75035;

	font-size: 11px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.18em;
}

.lp-line__faq__title {
	margin: 0;

	color: #111;

	font-size: clamp(30px, 2.5vw, 44px);
	font-weight: 400;
	line-height: 1.5;

	letter-spacing: 0.04em;
}


/* ---------------------------------------------------------
   FAQ - LIST
--------------------------------------------------------- */

.lp-line__faq__list {
	width: 100%;

	border-top: 1px solid #d8d8d2;
}


/* ---------------------------------------------------------
   FAQ - ITEM
--------------------------------------------------------- */

.lp-line__faq__item {
	position: relative;

	width: 100%;

	margin: 0;
	padding: 0;

	border-bottom: 1px solid #d8d8d2;

	background: transparent;
}


/* ---------------------------------------------------------
   FAQ - QUESTION
--------------------------------------------------------- */

.lp-line__faq__question {
	display: grid;

	grid-template-columns:
		70px
		minmax(0, 1fr)
		32px;

	align-items: center;

	column-gap: 28px;

	width: 100%;

	margin: 0;
	padding:
		31px
		8px;

	color: #111;

	cursor: pointer;

	list-style: none;

	transition:
		background-color 0.3s ease,
		color 0.3s ease;
}


/* DEFAULT MARKER RESET */

.lp-line__faq__question::-webkit-details-marker {
	display: none;
}

.lp-line__faq__question::marker {
	display: none;
	content: "";
}


/* QUESTION NUMBER */

.lp-line__faq__number {
	display: block;

	color: #c75035;

	font-family:
		"Cormorant Garamond",
		"Times New Roman",
		serif;

	font-size: 31px;
	font-weight: 400;
	line-height: 1;

	letter-spacing: 0.02em;
}


/* QUESTION TEXT */

.lp-line__faq__question__text {
	display: block;

	color: #222;

	font-size: 17px;
	font-weight: 400;
	line-height: 1.7;

	letter-spacing: 0.05em;
}


/* ---------------------------------------------------------
   FAQ - PLUS / MINUS
--------------------------------------------------------- */

.lp-line__faq__toggle {
	position: relative;

	display: block;

	width: 24px;
	height: 24px;

	justify-self: end;
}

.lp-line__faq__toggle::before,
.lp-line__faq__toggle::after {
	content: "";

	position: absolute;
	top: 50%;
	left: 50%;

	width: 17px;
	height: 1px;

	background: #c75035;

	transform:
		translate(-50%, -50%);

	transition:
		transform 0.3s ease,
		opacity 0.3s ease;
}


/* VERTICAL LINE */

.lp-line__faq__toggle::after {
	transform:
		translate(-50%, -50%)
		rotate(90deg);
}


/* OPEN = MINUS */

.lp-line__faq__item[open]
.lp-line__faq__toggle::after {
	opacity: 0;

	transform:
		translate(-50%, -50%)
		rotate(0deg);
}


/* ---------------------------------------------------------
   FAQ - ANSWER
--------------------------------------------------------- */

.lp-line__faq__answer {
	width: 100%;

	padding:
		0
		68px
		34px
		106px;
}

.lp-line__faq__answer p {
	width: 100%;
	max-width: 820px;

	margin:
		0
		0
		14px;

	color: #555;

	font-size: 13px;
	font-weight: 400;
	line-height: 2;

	letter-spacing: 0.05em;
}

.lp-line__faq__answer p:last-child {
	margin-bottom: 0;
}


/* ---------------------------------------------------------
   FAQ - OPEN STATE
--------------------------------------------------------- */

.lp-line__faq__item[open] {
	background: #fbfdea;
}

.lp-line__faq__item[open]
.lp-line__faq__question {
	padding-bottom: 24px;
}


/* ---------------------------------------------------------
   FAQ - HOVER
--------------------------------------------------------- */

@media (hover: hover) {

	.lp-line__faq__question:hover {
		background: rgba(251, 253, 234, 0.55);
	}

}



/* =========================================================
   FAQ - TABLET
========================================================= */

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

	.lp-line__faq {
		padding:
			90px
			5vw
			80px;
	}


	/* HEADER */

	.lp-line__faq__head {
		margin-bottom: 54px;
	}

	.lp-line__faq__title {
		font-size: 32px;
	}


	/* QUESTION */

	.lp-line__faq__question {
		grid-template-columns:
			58px
			minmax(0, 1fr)
			30px;

		column-gap: 22px;

		padding:
			27px
			6px;
	}

	.lp-line__faq__number {
		font-size: 28px;
	}

	.lp-line__faq__question__text {
		font-size: 15px;
	}


	/* ANSWER */

	.lp-line__faq__answer {
		padding:
			0
			55px
			30px
			86px;
	}

	.lp-line__faq__answer p {
		font-size: 12px;
		line-height: 1.95;
	}


}



/* =========================================================
   FAQ - SMARTPHONE
========================================================= */

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

	.lp-line__faq {
		padding:
			72px
			5vw
			64px;
	}


	/* -----------------------------------------------------
	   HEADER
	----------------------------------------------------- */

	.lp-line__faq__head {
		margin-bottom: 42px;
	}

	.lp-line__faq__label {
		margin-bottom: 18px;

		font-size: 9px;

		letter-spacing: 0.16em;
	}

	.lp-line__faq__title {
		font-size: 28px;
		line-height: 1.55;

		letter-spacing: 0.035em;
	}


	/* -----------------------------------------------------
	   QUESTION
	----------------------------------------------------- */

	.lp-line__faq__question {
		grid-template-columns:
			42px
			minmax(0, 1fr)
			24px;

		column-gap: 12px;

		padding:
			24px
			0;
	}

	.lp-line__faq__number {
		font-size: 23px;
	}

	.lp-line__faq__question__text {
		padding-right: 4px;

		font-size: 14px;
		line-height: 1.65;

		letter-spacing: 0.035em;
	}


	/* -----------------------------------------------------
	   PLUS / MINUS
	----------------------------------------------------- */

	.lp-line__faq__toggle {
		width: 20px;
		height: 20px;
	}

	.lp-line__faq__toggle::before,
	.lp-line__faq__toggle::after {
		width: 14px;
	}


	/* -----------------------------------------------------
	   OPEN
	----------------------------------------------------- */

	.lp-line__faq__item[open]
	.lp-line__faq__question {
		padding-bottom: 18px;
	}


	/* -----------------------------------------------------
	   ANSWER
	----------------------------------------------------- */

	.lp-line__faq__answer {
		padding:
			0
			30px
			25px
			54px;
	}

	.lp-line__faq__answer p {
		max-width: none;

		font-size: 11px;
		line-height: 1.95;

		letter-spacing: 0.04em;
	}


}
/* =========================================================
   FINAL CTA
========================================================= */

.lp-line__final {
	position: relative;

	width: 100%;

	padding:
		130px
		8vw
		140px;

	background: #fbfdea;

	text-align: center;
}

.lp-line__final__inner {
	width: 100%;
	max-width: 920px;

	margin: 0 auto;
}


/* ---------------------------------------------------------
   FINAL CTA - LABEL
--------------------------------------------------------- */

.lp-line__final__label {
	margin: 0 0 28px;

	color: #c75035;

	font-size: 11px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.18em;
}


/* ---------------------------------------------------------
   FINAL CTA - TITLE
--------------------------------------------------------- */

.lp-line__final__title {
	margin: 0;

	color: #111;

	font-size: clamp(36px, 3.2vw, 54px);
	font-weight: 400;
	line-height: 1.5;

	letter-spacing: 0.04em;
}

.lp-line__final__title span {
	display: block;
}


/* ---------------------------------------------------------
   FINAL CTA - LEAD
--------------------------------------------------------- */

.lp-line__final__lead {
	margin:
		34px
		auto
		0;

	color: #444;

	font-size: 14px;
	font-weight: 400;
	line-height: 2;

	letter-spacing: 0.06em;
}


/* ---------------------------------------------------------
   FINAL CTA - MERITS
--------------------------------------------------------- */

.lp-line__final__merits {
	display: grid;
	grid-template-columns: repeat(3, 1fr);

	width: 100%;
	max-width: 700px;

	margin:
		52px
		auto
		0;

	padding:
		28px
		0;

	border-top: 1px solid rgba(0, 0, 0, 0.17);
	border-bottom: 1px solid rgba(0, 0, 0, 0.17);

	list-style: none;
}

.lp-line__final__merits li {
	position: relative;

	padding:
		0
		24px;

	border-right: 1px solid rgba(0, 0, 0, 0.14);
}

.lp-line__final__merits li:last-child {
	border-right: 0;
}


/* ENGLISH */

.lp-line__final__merit__en {
	display: block;

	margin-bottom: 10px;

	color: #c75035;

	font-size: 8px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.15em;
}


/* JAPANESE */

.lp-line__final__merit__jp {
	display: block;

	color: #222;

	font-size: 12px;
	font-weight: 400;
	line-height: 1.6;

	letter-spacing: 0.04em;
}


/* ---------------------------------------------------------
   FINAL CTA - BUTTON
--------------------------------------------------------- */

.lp-line__final__cta {
	width: 100%;
	max-width: 520px;

	margin:
		52px
		auto
		0;
}

.lp-line__final__button {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 100%;

	padding:
		23px
		30px;

	color: #fff !important;

	background: #c75035;

	border: 1px solid #c75035;
	border-radius: 50px;

	font-size: 15px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.08em;

	transition:
		background-color 0.35s ease,
		color 0.35s ease,
		transform 0.35s ease;
}

.lp-line__final__button__text {
	display: block;
}

.lp-line__final__button__arrow {
	display: block;

	font-size: 20px;
	font-weight: 400;

	transition: transform 0.35s ease;
}


/* HOVER */

@media (hover: hover) {

	.lp-line__final__button:hover {
		color: #c75035 !important;

		background: #fff;

		transform: translateY(-2px);
	}

	.lp-line__final__button:hover
	.lp-line__final__button__arrow {
		transform: translateX(5px);
	}

}


/* ---------------------------------------------------------
   FINAL CTA - NOTE
--------------------------------------------------------- */

.lp-line__final__note {
	margin:
		20px
		0
		0;

	color: #777;

	font-size: 10px;
	font-weight: 400;
	line-height: 1.8;

	letter-spacing: 0.06em;
}



/* =========================================================
   FINAL CTA - TABLET
========================================================= */

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

	.lp-line__final {
		padding:
			100px
			5vw
			110px;
	}


	/* LABEL */

	.lp-line__final__label {
		margin-bottom: 24px;
	}


	/* TITLE */

	.lp-line__final__title {
		font-size: 40px;
	}


	/* LEAD */

	.lp-line__final__lead {
		margin-top: 30px;

		font-size: 12px;
		line-height: 1.95;
	}


	/* MERITS */

	.lp-line__final__merits {
		max-width: 650px;

		margin-top: 44px;
	}

	.lp-line__final__merits li {
		padding:
			0
			18px;
	}


	/* CTA */

	.lp-line__final__cta {
		max-width: 470px;

		margin-top: 46px;
	}

	.lp-line__final__button {
		padding:
			22px
			28px;

		font-size: 14px;
	}

}



/* =========================================================
   FINAL CTA - SMARTPHONE
========================================================= */

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

	.lp-line__final {
		padding:
			78px
			5vw
			88px;
	}


	/* -----------------------------------------------------
	   LABEL
	----------------------------------------------------- */

	.lp-line__final__label {
		margin-bottom: 20px;

		font-size: 9px;

		letter-spacing: 0.16em;
	}


	/* -----------------------------------------------------
	   TITLE
	----------------------------------------------------- */

	.lp-line__final__title {
		font-size: 30px;
		line-height: 1.55;

		letter-spacing: 0.035em;
	}


	/* -----------------------------------------------------
	   LEAD
	----------------------------------------------------- */

	.lp-line__final__lead {
		margin-top: 24px;

		font-size: 12px;
		line-height: 1.9;

		letter-spacing: 0.04em;
	}


	/* -----------------------------------------------------
	   MERITS
	----------------------------------------------------- */

	.lp-line__final__merits {
		display: block;

		width: 100%;
		max-width: none;

		margin-top: 38px;

		padding: 0;

		text-align: left;
	}

	.lp-line__final__merits li {
		display: flex;
		align-items: center;
		justify-content: space-between;

		width: 100%;

		padding:
			18px
			0;

		border-right: 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.14);
	}

	.lp-line__final__merits li:last-child {
		border-bottom: 0;
	}


	/* MERIT EN */

	.lp-line__final__merit__en {
		margin: 0;

		font-size: 8px;
	}


	/* MERIT JP */

	.lp-line__final__merit__jp {
		text-align: right;

		font-size: 11px;
		line-height: 1.5;
	}


	/* -----------------------------------------------------
	   CTA
	----------------------------------------------------- */

	.lp-line__final__cta {
		width: 100%;
		max-width: none;

		margin-top: 38px;
	}

	.lp-line__final__button {
		padding:
			20px
			22px;

		font-size: 13px;
	}


	/* -----------------------------------------------------
	   NOTE
	----------------------------------------------------- */

	.lp-line__final__note {
		margin-top: 17px;

		font-size: 9px;
	}

}

/* =========================================================
   OFFICIAL WEBSITE
========================================================= */

.lp-line__official {
	position: relative;

	width: 100%;

	padding:
		52px
		8vw;

	background: #fff;

	border-top: 1px solid #e2e2dc;
}

.lp-line__official__inner {
	display: grid;

	grid-template-columns:
		minmax(0, 1fr)
		minmax(320px, 430px);

	align-items: center;

	column-gap: 70px;

	width: 100%;
	max-width: 1240px;

	margin: 0 auto;
}


/* ---------------------------------------------------------
   OFFICIAL WEBSITE - CONTENT
--------------------------------------------------------- */

.lp-line__official__content {
	width: 100%;
}

.lp-line__official__label {
	margin:
		0
		0
		9px;

	color: #c75035;

	font-size: 9px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.18em;
}

.lp-line__official__text {
	margin: 0;

	color: #555;

	font-size: 12px;
	font-weight: 400;
	line-height: 1.7;

	letter-spacing: 0.05em;
}


/* ---------------------------------------------------------
   OFFICIAL WEBSITE - LINK
--------------------------------------------------------- */

.lp-line__official__link {
	width: 100%;
}

.lp-line__official__button {
	display: flex;
	align-items: center;
	justify-content: space-between;

	width: 100%;

	padding:
		18px
		22px;

	color: #222 !important;

	background: #fff;

	border: 1px solid #bdbdb7;
	border-radius: 40px;

	font-size: 11px;
	font-weight: 500;
	line-height: 1;

	letter-spacing: 0.12em;

	transition:
		border-color 0.3s ease,
		background-color 0.3s ease,
		color 0.3s ease;
}

.lp-line__official__button__arrow {
	display: block;

	font-size: 16px;
	font-weight: 400;

	transition: transform 0.3s ease;
}


/* HOVER */

@media (hover: hover) {

	.lp-line__official__button:hover {
		color: #fff !important;

		background: #222;

		border-color: #222;
	}

	.lp-line__official__button:hover
	.lp-line__official__button__arrow {
		transform: translateX(4px);
	}

}


/* =========================================================
   OFFICIAL WEBSITE - TABLET
========================================================= */

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

	.lp-line__official {
		padding:
			46px
			5vw;
	}

	.lp-line__official__inner {
		grid-template-columns:
			minmax(0, 1fr)
			360px;

		column-gap: 45px;
	}

}


/* =========================================================
   OFFICIAL WEBSITE - SMARTPHONE
========================================================= */

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

	.lp-line__official {
		padding:
			38px
			5vw;
	}

	.lp-line__official__inner {
		display: block;
	}

	.lp-line__official__content {
		margin-bottom: 22px;
	}

	.lp-line__official__label {
		margin-bottom: 8px;

		font-size: 8px;
	}

	.lp-line__official__text {
		font-size: 11px;
	}

	.lp-line__official__button {
		padding:
			18px
			20px;

		font-size: 10px;
	}

}

/* =========================================================
   OPERATING COMPANY
========================================================= */

/*
 * BRAND STATION OFFICIAL WEBSITE ???????????
 * ????????????
 */

.lp-line__official--company {
	border-top: 0;
}


/* PC / TABLET / SP ???????????????? */

.lp-line__official--company
.lp-line__official__label {
	color: #c75035;
}
/* =========================================================
   PURCHASE EXAMPLES
   SMARTPHONE FINAL ADJUSTMENT
========================================================= */

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

	/* 2 COLUMN */

	.lp-line__examples__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));

		gap:
			14px
			12px;
	}


	/* LAST ITEM CENTER */

	.lp-line__examples__item:last-child {
		grid-column: 1 / -1;

		width: calc((100% - 12px) / 2);

		justify-self: center;
	}


	/* IMAGE */

	.lp-line__examples__image {
		aspect-ratio: 1 / 1;
	}


	/* CARD BODY */

	.lp-line__examples__body {
		padding:
			14px
			12px
			16px;
	}


	/* BRAND */

	.lp-line__examples__brand {
		min-height: 30px;

		margin-bottom: 10px;

		font-size: 11px;
		line-height: 1.4;

		letter-spacing: 0.025em;
	}


	/* PRICE LABEL */

	.lp-line__examples__price-label {
		margin-bottom: 6px;

		font-size: 7px;

		letter-spacing: 0.12em;
	}


	/* PRICE */

	.lp-line__examples__price {
		font-size: 18px;
		line-height: 1.2;
	}


	/* NOTE */

	.lp-line__examples__note {
		margin-top: 26px;

		font-size: 10px;
		line-height: 1.8;
	}


	/* CTA */

	.lp-line__examples__cta {
		margin-top: 30px;
	}

}

/* =========================================================
   FINAL LAUNCH ADJUSTMENTS
   2026-08-19
   01 SP FIRST VIEW
   02 SP WHY TITLE
   03 SP WHY TRUST POINTS
   04 SP WHAT WE BUY TITLE
   05 SP FINAL CTA LEAD
   06 OFFICIAL / COMPANY SPACING
========================================================= */


/* =========================================================
   06 OFFICIAL / COMPANY SPACING
   PC / TABLET
========================================================= */

.lp-line__official {
	padding-top: 38px;
	padding-bottom: 38px;
}

.lp-line__official:not(.lp-line__official--company) {
	padding-bottom: 24px;
}

.lp-line__official--company {
	padding-top: 24px;
}


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

	.lp-line__official {
		padding-top: 34px;
		padding-bottom: 34px;
	}

	.lp-line__official:not(.lp-line__official--company) {
		padding-bottom: 22px;
	}

	.lp-line__official--company {
		padding-top: 22px;
	}

}


/* =========================================================
   01 - 05 SMARTPHONE FINAL ADJUSTMENTS
========================================================= */

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


	/* -----------------------------------------------------
	   01 HEADER / FIRST VIEW
	----------------------------------------------------- */

	.lp-line__header {
		width: 100%;
		padding:
			18px
			0
			0
			5vw;
	}

	.lp-line__logo {
		width: 62px;
	}


	.lp-line__fv {
		position: relative;
		min-height: 100svh;
		background: #fbfdea;
	}

	.lp-line__fv__inner {
		position: relative;
		display: block;
		width: 100%;
		min-height: 100svh;
		overflow: hidden;
	}


	/* PHOTO AS FULL FV BACKGROUND */

	.lp-line__fv__visual {
		position: absolute;
		inset: 0;
		z-index: 0;

		width: 100%;
		height: 100%;
		min-height: 100%;

		aspect-ratio: auto;
		overflow: hidden;

		background: #f1f1ed;
	}

	.lp-line__fv__visual::after {
		content: "";

		position: absolute;
		inset: 0;
		z-index: 1;

		background:
			linear-gradient(
				180deg,
				rgba(251, 253, 234, 0.90) 0%,
				rgba(251, 253, 234, 0.62) 34%,
				rgba(251, 253, 234, 0.72) 58%,
				rgba(251, 253, 234, 0.94) 82%,
				#fbfdea 100%
			);

		pointer-events: none;
	}

	.lp-line__fv__visual__img {
		position: absolute;
		inset: 0;

		display: block;

		width: 100%;
		height: 100%;

		object-fit: cover;
		object-position: center center;
	}


	/* FV CONTENT OVER PHOTO */

	.lp-line__fv__content {
		position: relative;
		z-index: 2;

		display: flex;
		flex-direction: column;
		justify-content: flex-end;

		width: 100%;
		min-height: 100svh;

		padding:
			116px
			5vw
			34px;
	}


	.lp-line__fv__label {
		margin: 0 0 15px;

		font-size: 9px;
		line-height: 1;

		letter-spacing: 0.16em;
	}


	.lp-line__fv__title {
		width: 100%;
		max-width: none;

		margin: 0;

		font-size: clamp(19px, 6.2vw, 26px);
		line-height: 1.38;

		letter-spacing: 0.01em;
	}

	.lp-line__fv__title span {
		display: block;
		white-space: nowrap;
	}

	.lp-line__fv__title span:first-child {
		margin-bottom: 2px;
		font-size: 1.22em;
	}


	.lp-line__fv__lead {
		max-width: none;

		margin-top: 17px;

		font-size: 11px;
		line-height: 1.85;

		letter-spacing: 0.025em;
	}


	.lp-line__fv__cta {
		width: 100%;
		max-width: none;

		margin-top: 22px;
	}

	.lp-line__fv__cta .lp-line__cta {
		padding:
			18px
			22px;

		background: rgba(251, 253, 234, 0.92);

		-webkit-backdrop-filter: blur(3px);
		backdrop-filter: blur(3px);
	}


	.lp-line__fv__merits {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));

		width: 100%;
		max-width: none;

		margin-top: 25px;
		padding-top: 17px;

		border-top: 1px solid rgba(0, 0, 0, 0.16);
	}

	.lp-line__fv__merits li {
		min-width: 0;

		padding:
			0
			9px;

		border-right: 1px solid rgba(0, 0, 0, 0.12);
	}

	.lp-line__fv__merits li:first-child {
		padding-left: 0;
	}

	.lp-line__fv__merits li:last-child {
		padding-right: 0;
		border-right: 0;
	}

	.lp-line__fv__merits__en {
		margin-bottom: 6px;

		font-size: 7px;
		line-height: 1.25;

		letter-spacing: 0.11em;
	}

	.lp-line__fv__merits__jp {
		font-size: 10px;
		line-height: 1.4;

		letter-spacing: 0.025em;
		white-space: nowrap;
	}


	/* -----------------------------------------------------
	   02 WHY BRAND STATION TITLE
	----------------------------------------------------- */

	.lp-line__why__title {
		margin-bottom: 26px;

		font-size: clamp(22px, 6vw, 25px);
		line-height: 1.55;

		letter-spacing: 0.02em;
	}

	.lp-line__why__title__line {
		display: inline-block;
		white-space: nowrap;
	}

	.lp-line__why__title__line:nth-of-type(2) {
		font-size: 0.92em;
	}


	/* -----------------------------------------------------
	   03 WHY TRUST POINTS
	----------------------------------------------------- */

	.lp-line__why__point__jp {
		font-size: 12px;
		line-height: 1.55;

		letter-spacing: 0.025em;

		white-space: nowrap;
		word-break: keep-all;
	}


	/* -----------------------------------------------------
	   04 WHAT WE BUY TITLE
	----------------------------------------------------- */

	.lp-line__buy__title {
		font-size: clamp(18px, 5.4vw, 22px);
		line-height: 1.55;

		letter-spacing: 0.015em;

		white-space: normal;
	}

	.lp-line__buy__title__line {
		display: inline-block;
		white-space: nowrap;
	}


	/* -----------------------------------------------------
	   05 FINAL CTA LEAD
	----------------------------------------------------- */

	.lp-line__final__lead {
		width: 100%;
		max-width: none;

		font-size: clamp(9px, 2.8vw, 11px);
		line-height: 1.95;

		letter-spacing: 0.015em;
	}

	.lp-line__final__lead__line {
		display: inline-block;
		white-space: nowrap;
	}


	/* -----------------------------------------------------
	   06 OFFICIAL / COMPANY SPACING
	----------------------------------------------------- */

	.lp-line__official {
		padding:
			30px
			5vw;
	}

	.lp-line__official:not(.lp-line__official--company) {
		padding-bottom: 18px;
	}

	.lp-line__official--company {
		padding-top: 18px;
	}

	.lp-line__official__content {
		margin-bottom: 18px;
	}

}
/* =========================================================
   LP FINAL CTA / BRANDS ADJUSTMENTS
   2026-08-19
   01 ALL LINE CTA ORANGE
   02 CTA TEXT CENTER
   03 BRANDS BALANCE
========================================================= */


/* =========================================================
   01 / 02
   ALL LINE CTA = ORANGE
   CTA TEXT = CENTER
========================================================= */

body.lp-line .lp-line__cta,
body.lp-line .lp-line__final__button {
	position: relative;

	justify-content: center;

	color: #fff !important;

	background: #c75035 !important;

	border-color: #c75035 !important;
}


/* CTA TEXT */

body.lp-line .lp-line__cta > span:first-child,
body.lp-line .lp-line__final__button__text {
	display: block;

	width: 100%;

	text-align: center;
}


/* CTA ARROW */

body.lp-line .lp-line__cta__arrow,
body.lp-line .lp-line__final__button__arrow {
	position: absolute;

	top: 50%;
	right: 26px;

	transform: translateY(-50%);
}


/* HOVER */

@media (hover: hover) {

	body.lp-line .lp-line__cta:hover,
	body.lp-line .lp-line__final__button:hover {
		color: #fff !important;

		background: #c75035 !important;

		border-color: #c75035 !important;
	}

	body.lp-line .lp-line__cta:hover
	.lp-line__cta__arrow {
		transform:
			translateY(-50%)
			translateX(4px);
	}

	body.lp-line .lp-line__final__button:hover
	.lp-line__final__button__arrow {
		transform:
			translateY(-50%)
			translateX(5px);
	}

}


/* =========================================================
   03
   BRANDS BALANCE
========================================================= */

/* ?????? / ???? */

.lp-line__buy__brands__row >
.lp-line__buy__separator:last-child {
	display: none;
}


/* PC */

@media only screen and (min-width: 1001px) {

	.lp-line__buy__brands__row {
		justify-content: center;

		gap:
			8px
			clamp(12px, 1.1vw, 18px);
	}

	.lp-line__buy__brand {
		font-size:
			clamp(25px, 2.15vw, 36px);
	}

	.lp-line__buy__separator {
		font-size:
			clamp(29px, 2.4vw, 40px);
	}

}


/* SMARTPHONE */

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

	body.lp-line .lp-line__cta__arrow,
	body.lp-line .lp-line__final__button__arrow {
		right: 22px;
	}

}

