/* -----------------------------------------------
= main
----------------------------------------------- */
.main {
	margin-bottom: 40px;
	padding-bottom: 15px;
	background: #f0f0f0;
}
@media print, screen and (min-width: 768px) {/* PC */
.main {
	margin-bottom: 75px;
}
}/* @media */
/* -----------------------------------------------
= page-title
----------------------------------------------- */
.page-title {
	padding: 15px 20px 50px;
}
.page-title.js-inview {
	transform: translateY(0);
}
.page-title .category {
	display: flex;
	align-items: center;
	gap: 0 20px;
	margin-bottom: 35px;
}
.page-title .en {
	color: var(--red);
	font-family: var(--josefin);
	font-size: calc(1.2rem / 1.6);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .2em;
}
.page-title .jp {
	font-size: calc(1rem / 1.6);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .2em;
}
.page-title .set {
	text-align: center;
}
.page-title .set .en {
	margin-bottom: 5px;
	letter-spacing: .02em;
}
.page-title .set h1 {
	font-size: calc(1.8rem / 1.6);
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .05em;
}
@media print, screen and (min-width: 768px) {/* PC */
.page-title {
	max-width: 940px;
	margin-inline: auto;
	padding: 40px 20px 110px;
}
.page-title .category {
	gap: 0 30px;
	margin-bottom: 80px;
}
.page-title .en {
	font-size: calc(1.8rem / 1.6);
}
.page-title .jp {
	font-size: calc(1.6rem / 1.6);
}
.page-title .set .en {
	margin-bottom: 25px;
}
.page-title .set h1 {
	font-size: calc(3rem / 1.6);
	letter-spacing: .16em;
}
}/* @media */
/* -----------------------------------------------
= section
----------------------------------------------- */
.section {
	padding: 0 20px 35px;
}
.section h2 {
	margin-bottom: 20px;
	padding-block: 4px;
	background: #fff;
	border-top: 0.5px solid var(--red);
	border-bottom: 0.5px solid var(--red);
	font-size: calc(1.6rem / 1.6);
	font-weight: 600;
	line-height: 1.5;
	text-align: center;
}
.section h3 {
	font-size: calc(1.4rem / 1.6);
	font-weight: 700;
	line-height: calc(22 / 14);
	letter-spacing: .04em;
}
.section p + h3,
.section p + p {
	margin-top: 1em;
}
.section p {
	font-size: calc(1.4rem / 1.6);
	font-weight: 600;
	line-height: calc(22 / 14);
	letter-spacing: .04em;
}
.section a {
	color: var(--red);
	text-decoration: underline;
}
@media print, screen and (min-width: 768px) {/* PC */
.section {
	max-width: 940px;
	margin-inline: auto;
	padding: 0 20px 70px;
}
.section h2 {
	margin-bottom: 45px;
	padding-block: 9px;
	border-top: 1px solid var(--red);
	border-bottom: 1px solid var(--red);
	font-size: calc(2.4rem / 1.6);
}
.section h3 {
	font-size: calc(1.8rem / 1.6);
	line-height: calc(28 / 18);
}
.section p {
	font-size: calc(1.8rem / 1.6);
	line-height: calc(28 / 18);
}
}/* @media */
@media (hover:hover) {
.section a:hover {
	text-decoration: none;
}
}/* @media */
