@charset 'UTF-8';
/* =====================================================
 * Utilities
 * ================================================== */

.is-br-sp-show {
	display: none;
}

.ls-0 {
	letter-spacing: 0;
}

/* =====================================================
 * Common
 * ================================================== */

.purchase {
	display: inline-block;
	padding: 0 0.4rem;
	background-color: #c0c0c0;
	line-height: 1.6rem;
	transition: opacity 0.2s ease-in-out;
}

.purchase:hover {
	opacity: 0.7;
}

.purchase-txt {
	text-decoration: underline;
}

.caption {
	width: 86rem;
	margin: 2rem auto 0;
	color: #464646;
	font-size: 1.3rem;
	line-height: 2;
	text-align: left;
	letter-spacing: 0.05em;
}

/* =====================================================
 * Contents
 * ================================================== */

.main {
	padding: 4rem 0 10rem;
}

.main p,
.main li {
	letter-spacing: 0.05em;
}

.main p {
	line-height: 2;
}

.main sup {
	display: inline-block;
	font-size: 1rem;
	-webkit-transform: scale(0.8);
	transform: scale(0.8);
}

.main-header {
	padding: 0;
}

.main-catch {
	position: relative;
	width: 34.6rem;
	margin: 0 auto;
	padding: 0.8rem 0;
	border: 1px solid #d80037;
	color: #d80037;
	font-size: 2rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.17em;
}

.main-catch:before {
	content: '';
	display: block;
	position: absolute;
	z-index: 2;
	top: -2px;
	left: 1rem;
	width: calc(100% - 2rem);
	height: 2px;
	background-color: #fff;
}

.main-catch:after {
	content: '';
	display: block;
	position: absolute;
	z-index: 2;
	bottom: -2px;
	left: 1rem;
	width: calc(100% - 2rem);
	height: 2px;
	background-color: #fff;
}

.main-catch small {
	font-size: 1.3rem;
	font-weight: bold;
}

.main-heading {
	margin: 4rem 0 0;
	font-size: 2.5rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
}

.main-desc {
	max-width: 110rem;
	margin: 4rem auto 0;
	font-size: 1.6rem;
	text-align: center;
	letter-spacing: 0.05em;
}

.main-date {
	margin: 4rem auto 0;
	color: #646464;
	font-size: 1.3rem;
	text-align: center;
}

.kv {
	margin: 4rem 0 0;
}

.kv img.pc {
	width: 1100px;
	max-width: calc(100% - 5rem);
	margin: 0 auto;
}

.section {
	margin: 10rem 0 0;
}

.section-heading {
	font-size: 2.2rem;
	font-weight: bold;
	text-align: center;
	letter-spacing: 0.1em;
}

.section-heading sup {
	top: -1em;
}

.section-figure {
	margin: 4rem auto 0;
}

.section-figure img {
	display: block;
	max-width: 68rem;
	margin: 0 auto;
}

.section-figure .caption {
	font-size: 1.1rem;
}

.section-desc {
	max-width: 86rem;
	margin: 4rem auto 0;
	font-size: 1.6rem;
	letter-spacing: 0.05em;
}

.section-steps {
	width: 68rem;
	margin: 4rem auto 8.5rem;
}

.section-steps li:nth-child(n+2) {
	margin-top: 2.5rem;
}

.section-steps h3 {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #f2001e;
	font-size: 2rem;
	font-weight: normal;
	letter-spacing: 0.02em;
}

.section-steps img {
	margin-right: 1.5rem;
}

.section-steps p {
	margin-top: 1rem;
	font-size: 1.6rem;
	text-align: center;
	letter-spacing: 0.05em;
}

.supplement {
	margin: 3rem auto 0;
}

.supplement .caption {
	margin-top: 0;
}

.aside {
	margin: 5rem 0 0;
}

.dealers {
	width: 86rem;
	margin: 0 auto;
}

.dealers li {
	position: relative;
	padding-left: 1em;
	font-size: 1.6rem;
}

.dealers li:before {
	content: '●';
	display: block;
	position: absolute;
	top: calc((1.6rem * 1.5) / 2);
	left: 0;
	font-size: 1rem;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

.staffs {
	width: 98rem;
	margin: 7rem auto 0;
	padding: 2rem;
	border: 1px solid #d80037;
	font-size: 1.1rem;
	line-height: 1;
	text-align: center;
}

@media print, screen and (min-width: 751px) {
	.kv img.pc {
		display: block;
	}

	.kv img.sp {
		display: none;
	}

	.kv + .section {
		margin: 7rem 0 0;
	}

	.section-figure .caption {
		width: 68rem;
	}
}

@media screen and (max-width: 750px) {
	.is-br-sp-show {
		display: inline-block !important;
	}

	.purchase {
		line-height: 3.2rem;
	}

	.caption {
		width: calc(100vw - 6rem);
		margin: 4rem auto 0;
		font-size: 2rem;
		text-align: left;
		white-space: normal;
	}

	.main {
		padding: 6rem 0 12rem;
	}

	.main sup {
		font-size: 2rem;
	}

	.main-catch {
		width: 50.2rem;
		padding: 0.6rem 0;
		font-size: 3.2rem;
	}

	.main-catch small {
		font-size: 2rem;
	}

	.main-heading {
		margin: 7rem 0 0;
		font-size: 3.6rem;
	}

	.main-desc {
		max-width: inherit;
		font-size: 2.4rem;
	}

	.main-date {
		margin: 5rem 0 0;
		font-size: 2rem;
	}

	.kv {
		margin: 6rem 0 0;
	}

	.kv img.pc {
		display: none;
	}

	.kv img.sp {
		display: block;
	}

	.section {
		margin: 9.5rem 0 0;
	}

	.section-heading sup {
		top: -0.5em;
	}

	.section-heading {
		width: calc(100% - 6rem);
		margin: 0 auto;
		font-size: 3.2rem;
	}

	.section-figure {
		width: calc(100% - 6rem);
	}

	.section-figure img {
		width: 100%;
	}

	.section-figure .caption {
		font-size: 2rem;
	}

	.section-desc {
		width: calc(100% - 6rem);
		max-width: inherit;
		font-size: 2.4rem;
	}

	.section-steps h3 {
		font-size: 3.2rem;
	}

	.section-steps img {
		width: 9.1rem;
	}

	.section-steps p {
		margin-top: 2rem;
		font-size: 2.4rem;
	}

	.supplement {
		margin: 5rem auto 0;
	}

	.aside {
		width: calc(100% - 6rem);
		margin: 7rem auto 0;
	}

	.dealers {
		width: 100%;
	}

	.dealers li {
		padding-left: 1em;
		font-size: 2.4rem;
	}

	.dealers li:before {
		top: calc((2.4rem * 1.5) / 2);
		font-size: 2rem;
	}

	.staffs {
		width: 100%;
		margin: 12rem 0 0;
		padding: 3rem;
		font-size: 2rem;
		line-height: 1.2;
	}
}