@charset "utf-8";
/*
 * faq2 専用スタイル
 * 既存サイト共通CSS（.row / .faq_list / .local_nav / .ttl02 等）は
 * ページ非依存で全体に効いてしまうため、衝突を避けて faq2_ プレフィックスの
 * クラス名のみを使用する。カラーは #e40057（サイトのブランドピンク系）に統一。
 */

/*------------------------------
faq2_page_title（メインビジュアル）
------------------------------*/
#faq2_index .faq2_page_title {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: #4a4a4a url(/faq/img/title_bg.png) no-repeat center right / cover;
	padding: 55px 0;
	margin: 0 0 40px;
}
#faq2_index .faq2_page_title .faq2_watermark {
	position: absolute;
	top: 50%;
	left: 20px;
	transform: translateY(-50%);
	font-size: 120px;
	font-weight: 800;
	letter-spacing: 0.05em;
	color: rgba(255, 255, 255, 0.12);
	line-height: 1;
	pointer-events: none;
}
#faq2_index .faq2_page_title h1 {
	position: relative;
	z-index: 1;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
	color: #fff;
	font-size: 34px;
	font-weight: 700;
}

/*------------------------------
faq2_row
------------------------------*/
#faq2_index .faq2_row {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 40px 20px;
}

/*------------------------------
faq2_local_nav
------------------------------*/
#faq2_index .faq2_local_nav ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 15px;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}
#faq2_index .faq2_local_nav ul li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	border: 1px solid #e40057;
	background: #fff;
	box-shadow: 1px 1px 3px 0 rgba(0, 0, 0, 0.25);
	color: #e40057;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	padding: 14px 30px 14px 14px;
	transition: background .3s, color .3s;
}
#faq2_index .faq2_local_nav ul li a::after {
	position: absolute;
	top: 50%;
	right: 15px;
	width: 8px;
	height: 8px;
	margin-top: -5px;
	border-top: 2px solid #e40057;
	border-right: 2px solid #e40057;
	transform: rotate(135deg);
	content: "";
	transition: border-color .3s;
}
#faq2_index .faq2_local_nav ul li a:hover {
	background: #e40057;
	color: #fff;
}
#faq2_index .faq2_local_nav ul li a:hover::after {
	border-top-color: #fff;
	border-right-color: #fff;
}

/*------------------------------
faq2_title01
------------------------------*/
#faq2_index .faq2_title01 {
	margin: 0 0 30px;
	color: #e40057;
	text-align: center;
	font-size: 30px;
	font-weight: 700;
}

/*------------------------------
faq2_faq_list（QA）
------------------------------*/
#faq2_index .faq2_faq_list {
	display: block;
	width: 100%;
}
#faq2_index .faq2_faq_list dt {
	position: relative;
	margin-top: 20px;
	padding: 15px 50px 15px 30px;
	background: #fff;
	box-shadow: 2px 2px 6px 0 rgba(0, 0, 0, 0.1);
	cursor: pointer;
}
#faq2_index .faq2_faq_list dt h3 {
	display: flex;
	align-items: center;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}
#faq2_index .faq2_faq_list dt .faq2_q {
	margin: 0 15px 0 0;
	color: #e40057;
	font-family: Roboto, "Noto Sans JP", sans-serif;
	font-size: 34px;
	font-weight: 800;
}
#faq2_index .faq2_faq_list dt::after {
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
	color: #d9d9d9;
	font-size: 26px;
	font-weight: 700;
	content: "＋";
}
#faq2_index .faq2_faq_list dt.faq2_active::after {
	content: "－";
}
#faq2_index .faq2_faq_list dd {
	position: relative;
	max-height: 0;
	overflow: hidden;
	background: #fff;
	box-shadow: 3px 5px 6px 0 rgba(0, 0, 0, 0.1);
	transition: max-height .35s ease;
}
#faq2_index .faq2_faq_list dd.faq2_open {
	max-height: 2000px;
}
#faq2_index .faq2_faq_list dd .faq2_a {
	position: absolute;
	top: 0px;
	left: 30px;
	color: #f2a3c1;
	font-family: Roboto, "Noto Sans JP", sans-serif;
	font-size: 34px;
	font-weight: 800;
}
#faq2_index .faq2_faq_list dd .faq2_a_body {
	padding: 20px 40px 20px 85px;
}
#faq2_index .faq2_faq_list dd .faq2_a_body p {
	margin: 0 0 10px;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.8;
}
#faq2_index .faq2_faq_list dd .faq2_a_body p:last-child {
	margin-bottom: 0;
}
#faq2_index .text_link a {
	color: #e40057;
}
#faq2_index .text_link a .icon-outer {
	margin-left: 4px;
}
#faq2_index .faq2_cta {
	margin: 30px 0 0;
	text-align: center;
}

@media screen and (max-width: 768px) {
	#faq2_index .faq2_page_title {
		padding: 40px 0;
		background-image: url(/faq/img/title_bg_sp.png);
	}
	#faq2_index .faq2_page_title .faq2_watermark {
		font-size: 70px;
		left: 10px;
	}
	#faq2_index .faq2_page_title h1 {
		font-size: 24px;
	}
	#faq2_index .faq2_local_nav ul {
		grid-template-columns: repeat(1, 1fr);
	}
	#faq2_index .faq2_row {
		padding: 30px 15px;
	}
	#faq2_index .faq2_faq_list dt {
		padding: 15px 45px 15px 15px;
	}
	#faq2_index .faq2_faq_list dt .faq2_q {
		font-size: 26px;
	}
	#faq2_index .faq2_faq_list dd .faq2_a {
		top: 20px;
		left: 15px;
		font-size: 26px;
	}
	#faq2_index .faq2_faq_list dd .faq2_a_body {
		padding: 15px 20px 15px 55px;
	}
}

/* ページの先頭へボタン：80%スクロールで表示 */
#faq2_index footer .btn_pagetop {
	opacity: 0;
	visibility: hidden;
	transition: opacity .3s ease, visibility .3s ease;
}
#faq2_index footer .btn_pagetop.is-show {
	position: fixed;
	opacity: 1;
	visibility: visible;
}
@media screen and (min-width: 721px) {
	#faq2_index footer .btn_pagetop.is-show {
		top: auto;
		bottom: 40px;
		right: 40px;
	}
}
@media screen and (min-width: 0px) and (max-width: 720px) {
	#faq2_index footer .btn_pagetop.is-show {
		top: auto;
		bottom: calc(91.44px + 15px);
		right: 15px;
		z-index: 11;
	}
	#faq2_index footer .btn_pagetop a {
		height: 40px;
		padding: 0 12px;
		font-size: 1.4rem;
		border-radius: 20px;
	}
}
