﻿@charset "UTF-8";

/* ============================================================
   Base
   ============================================================ */

figure {
	margin: 0;
	padding: 0;
}

/* ============================================================
   Layout
   ============================================================ */

#content {
	padding: 3.2rem 2rem 7rem;
}

@media screen and (min-width: 768px) {
	#content {
		padding: 2.5rem 4rem 7rem;
	}
}

#content a,
.underline {
	text-decoration: underline;
}

/* ============================================================
   Utilities
   ============================================================ */

/* Display */
.pc-only {
	display: none;
}

@media screen and (min-width: 768px) {
	.pc-only {
		display: block;
	}
}

.sp-only {
	display: block;
}

@media screen and (min-width: 768px) {
	.sp-only {
		display: none;
	}
}

/* Margin top */
.mt-10 {
	display: block;
	margin-top: 1rem;
}
.mt-20 {
	display: block;
	margin-top: 2rem;
}
.mt-30 {
	display: block;
	margin-top: 3rem;
}
.mt-40 {
	display: block;
	margin-top: 4rem;
}

/* Flex */
@media screen and (min-width: 768px) {
	.is-flex {
		display: flex;
		flex-wrap: nowrap;
		gap: 1.6rem;
	}
}

/* ============================================================
   FAQ Section
   ============================================================ */

.faq-section {
	margin-bottom: 3.2rem;
	padding: 2rem;
	background-color: #f2f6ff;
	border: 1px solid #f2f6ff;
	border-radius: 1rem;
}

@media screen and (min-width: 768px) {
	.faq-section {
		padding: 2rem 3.2rem;
	}
}

#content .faq-section a {
	text-decoration: underline;
}

.faq-section h2 {
	margin: 0 0 1.6rem;
	font-family: var(--font-default);
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.8;
}

@media screen and (min-width: 768px) {
	.faq-section h2 {
		margin: 0 0 2rem;
	}
}

.faq-section .faq-section--inner {
	padding: 1.6rem;
	background: #ffffff;
	border-radius: 1.5rem;
}

@media screen and (min-width: 768px) {
	.faq-section .faq-section--inner {
		padding: 2.4rem 3.2rem;
	}
}

/* ============================================================
   FAQ Question
   ============================================================ */

.faq--question + .faq--question {
	margin-top: 3rem;
}

@media screen and (min-width: 768px) {
	.faq--question + .faq--question {
		margin-top: 2rem;
	}
}

.faq--question > dt {
	position: relative;
	margin: 0 0 1.4rem;
	padding: 0 0 0 3.5rem;
	font-size: 1.6rem;
	font-weight: bold;
	line-height: calc(22 / 16);
}

.faq--question > dt::before {
	content: "Q.";
	color: #8da0d3;
	position: absolute;
	top: 0;
	left: 1rem;
}

.faq--question > dt::after {
	content: "";
	display: block;
	position: absolute;
	top: 0.25em;
	left: 0;
	width: 4px;
	height: 0.9em;
	background: #8da0d3;
}

.faq--question p {
	line-height: calc(22 / 14);
}

/* ============================================================
   FAQ Question - Image variant (image01)
   ============================================================ */

dl.faq--question__image01 dd.faq--question__image01-img {
	margin-top: 2rem;
}

@media screen and (min-width: 768px) {
	dl.faq--question__image01 {
		display: grid;
		grid-template-columns: 1fr 217px;
		grid-template-rows: auto 1fr;
		gap: 0 1rem;
		position: relative;
	}

	dl.faq--question__image01 dt {
		grid-column: 1;
		grid-row: 1;
	}

	dl.faq--question__image01 dd:not(.faq--question__image01-img) {
		grid-column: 1;
		grid-row: 2;
	}

	dl.faq--question__image01 dd.faq--question__image01-img {
		grid-column: 2;
		grid-row: 1 / 3;
		margin-top: 0;
		align-self: center;
	}
}

@media screen and (max-width: 767px) {
	dl.faq--question dd .is-grid:has(img) img {
		margin-top: 1.0rem;
	}
}
@media screen and (min-width: 768px) {
	dl.faq--question dd .is-grid:has(img) {
		display: grid;
		grid-template-columns: 1fr 217px;
		gap: 0 1rem;
	}
}
