@charset "UTF-8";

@media screen and (min-width: 768px), print {

	.faq-list {
		margin-top: 60px;
		max-width: 900px;
		margin-inline: auto;
	}

	.faq-item {
		border-bottom: 1px solid #d8d8d8;
	}

	.faq-item:first-of-type {
		border-top: 1px solid #d8d8d8;
	}

	.faq-question {
		align-items: flex-start;
		cursor: pointer;
		display: flex;
		font-size: 16px;
		font-weight: bold;
		gap: 20px;
		letter-spacing: 0.05em;
		line-height: 1.75;
		padding: 24px 40px 24px 0;
		position: relative;
	}

	.faq-question::after {
		content: '';
		border-right: 2px solid #0063A8;
		border-bottom: 2px solid #0063A8;
		display: block;
		height: 8px;
		min-width: 8px;
		position: absolute;
		right: 4px;
		top: 30px;
		transform: rotate(45deg);
		transition: transform 0.3s ease;
		width: 8px;
	}

	.faq-item.is-open .faq-question::after {
		top: 34px;
		transform: rotate(-135deg);
	}

	.faq-q-label {
		color: #0063A8;
		font-size: 22px;
		font-weight: bold;
		line-height: 1.4;
		min-width: 32px;
	}

	.faq-answer {
		display: none;
		align-items: flex-start;
		background-color: #EAEFF1;
		border-radius: 4px;
		gap: 20px;
		margin-bottom: 24px;
		padding: 20px 24px;
	}

	.faq-item.is-open .faq-answer {
		display: flex;
	}

	.faq-a-label {
		color: #EF8000;
		font-size: 22px;
		font-weight: bold;
		line-height: 1.4;
		min-width: 32px;
	}

	.faq-answer .wysiwyg {
		font-size: 15px;
		letter-spacing: 0.05em;
		line-height: 1.9;
		padding-top: 2px;
	}

}

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

	.faq-list {
		margin-top: 8.696vw;
		padding-left: 6.039vw;
		padding-right: 6.039vw;
	}

	.faq-item {
		border-bottom: 1px solid #d8d8d8;
	}

	.faq-item:first-of-type {
		border-top: 1px solid #d8d8d8;
	}

	.faq-question {
		align-items: flex-start;
		cursor: pointer;
		display: flex;
		font-size: 3.865vw;
		font-weight: bold;
		gap: 3.865vw;
		letter-spacing: 0.03em;
		line-height: 1.7;
		padding: 4.831vw 7.246vw 4.831vw 0;
		position: relative;
	}

	.faq-question::after {
		content: '';
		border-right: 2px solid #0063A8;
		border-bottom: 2px solid #0063A8;
		display: block;
		height: 2.174vw;
		min-width: 2.174vw;
		position: absolute;
		right: 1vw;
		top: 6.28vw;
		transform: rotate(45deg);
		transition: transform 0.3s ease;
		width: 2.174vw;
	}

	.faq-item.is-open .faq-question::after {
		top: 7.246vw;
		transform: rotate(-135deg);
	}

	.faq-q-label {
		color: #0063A8;
		font-size: 5.797vw;
		font-weight: bold;
		line-height: 1.4;
		min-width: 7.246vw;
	}

	.faq-answer {
		display: none;
		align-items: flex-start;
		background-color: #EAEFF1;
		border-radius: 4px;
		gap: 3.865vw;
		margin-bottom: 4.831vw;
		padding: 3.865vw 3.623vw;
	}

	.faq-item.is-open .faq-answer {
		display: flex;
	}

	.faq-a-label {
		color: #EF8000;
		font-size: 5.797vw;
		font-weight: bold;
		line-height: 1.4;
		min-width: 7.246vw;
	}

	.faq-answer .wysiwyg {
		font-size: 3.623vw;
		letter-spacing: 0.03em;
		line-height: 1.9;
		padding-top: 0.483vw;
	}

}


/* ===== TOPページ用 FAQセクション ===== */
@media screen and (min-width: 768px), print {

	.top-faq-sec {
		padding: 80px 0;
	}

	.top-faq-inner {
		box-sizing: border-box;
		margin-inline: auto;
		max-width: 1070px;
		padding-inline: 20px;
	}

	.top-faq-h {
		line-height: 1.2;
		text-align: center;
	}

	.top-faq-h .en {
		color: #0063A8;
		display: block;
		font-size: 40px;
		font-weight: 600;
		letter-spacing: 0.08em;
	}

	.top-faq-h .jp {
		color: #333333;
		display: block;
		font-size: 18px;
		letter-spacing: 0.08em;
		margin-top: 8px;
	}

	.top-faq-sec .faq-list {
		margin-top: 40px;
	}

	.top-faq-btn {
		margin-top: 40px;
		text-align: center;
	}

	.top-faq-btn a {
		background-color: #0063A8;
		border-radius: 4px;
		color: #ffffff;
		display: inline-block;
		font-size: 16px;
		font-weight: bold;
		letter-spacing: 0.05em;
		min-width: 280px;
		padding: 18px 40px;
		text-align: center;
		transition: opacity 0.3s ease;
	}

	.top-faq-btn a:hover {
		opacity: 0.8;
	}

}

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

	.top-faq-sec {
		padding: 5vw 0 18vw;
	}

	.top-faq-inner {
		box-sizing: border-box;
		padding-inline: 6.039vw;
	}

	.top-faq-h {
		line-height: 1.2;
		text-align: center;
	}

	.top-faq-h .en {
		color: #0063A8;
		display: block;
		font-size: 8.213vw;
		font-weight: 600;
		letter-spacing: 0.08em;
	}

	.top-faq-h .jp {
		color: #333333;
		display: block;
		font-size: 3.865vw;
		letter-spacing: 0.08em;
		margin-top: 1.932vw;
	}

	/* TOPでは内側ラッパーに余白があるためリスト側の左右余白は打ち消す */
	.top-faq-sec .faq-list {
		margin-top: 7.246vw;
		padding-left: 0;
		padding-right: 0;
	}

	.top-faq-btn {
		margin-top: 7.246vw;
		text-align: center;
	}

	.top-faq-btn a {
		background-color: #0063A8;
		border-radius: 4px;
		color: #ffffff;
		display: block;
		font-size: 3.865vw;
		font-weight: bold;
		letter-spacing: 0.05em;
		padding: 4.348vw 4.831vw;
		text-align: center;
	}

}
