@charset "UTF-8";

/* 汎用書体 */

.faq__category__item > a::after,
.faq__questions__item-head::after,
.faq__questions__item-body-txt .faq__link::before,
.faq__contact-tel-number::before {
	font-family: 'ikspiari_jp', sans-serif;
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	text-transform: none;
	line-height: 1;
}

/* 全体 */

.hdg-top h1 {
	line-height: 1.4;
}

@media screen and (min-width: 768px) {
	.hdg-top h1 br {
		display: none;
	}
}

.icon-faq::before {
    content: "\e920";
}

.faq-body {
	padding: 0 20px 60px;
}

@media screen and (max-width: 767px) {
	.faq-body {
		padding: 0 20px 20px;
	}
}

/* ＦＡＱカテゴリ */

.faq__category {
	max-width: 700px;
	margin: -30px auto 0;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.faq__category {
		margin-top: -90px;
	}
}

.faq__category__item {
	display: inline-block;
	margin: -10px 5px 25px;
}

@media screen and (max-width: 767px) {
	.faq__category__item {
		margin: -10px 5px 20px;
	}
}

.faq__category__item > a {
	display: block;
	position: relative;
	width: 100%;
	padding: 15px 45px 15px 15px;
	border-radius: 500px;
	background: #fff;
	font-size: 15px;
	font-weight: bold;
	color: #154598;
	filter: drop-shadow(0 3px 0 #e7e6e1);
	user-select: none;
	transition: background .5s;
}

@media screen and (max-width: 767px) {
	.faq__category__item > a {
		filter: drop-shadow(0 2px 0 #e7e6e1);
		transition: none;
	}
}

.faq__category__item > a:hover {
	opacity: 1;
	background: #e0f5ff;
	transition: background .1s;
}

@media screen and (max-width: 767px) {
	.faq__category__item > a:hover {
		background: #fff;
		transition: none;
	}
}

.faq__category__item > a::after {
	content: "\e914";
	position: absolute;
	right: 15px;
	top: 50%;
	margin-top: -7px;
	color: #154598;
}

/* ＦＡＱ本体 */

.faq__questions {
}

.faq__questions__category {
	padding-top: 60px;
}

.faq__questions__category + .faq__questions__category {
	padding-top: 90px;
}

@media screen and (max-width: 767px) {
	.faq__questions__category + .faq__questions__category {
		padding-top: 50px;
	}
}

.faq__questions__title {
	position: relative;
	padding-bottom: 23px;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
	line-height: 1;
	color: #154598;
}

@media screen and (max-width: 767px) {
	.faq__questions__title {
		padding-bottom: 15px;
		font-size: 18px;
	}
}

.faq__questions__title::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	margin-left: -20px;
	width: 40px;
	height: 3px;
	background-color: #154598;
}

.faq__questions__list {
	padding-top: 40px;
}

@media screen and (max-width: 767px) {
	.faq__questions__list {
		padding-top: 20px;
	}
}

.faq__questions__item {
	filter: drop-shadow(0 3px 0 #e7e6e1);
}

@media screen and (max-width: 767px) {
	.faq__questions__item {
		filter: drop-shadow(0 2px 0 #e7e6e1);
	}
}

.faq__questions__item + .faq__questions__item {
	margin-top: 20px;
}

@media screen and (max-width: 767px) {
	.faq__questions__item + .faq__questions__item {
		margin-top: 10px;
	}
}

.faq__questions__item-head,
.faq__questions__item-body {
	position: relative;
}

.faq__questions__item-head::before,
.faq__questions__item-body::before {
	position: absolute;
	left: 30px;
	top: 20px;
	font-size: 22px;
	font-weight: bold;
	line-height: 1.6;
}

@media screen and (max-width: 767px) {
	.faq__questions__item-head::before,
	.faq__questions__item-body::before {
		left: 22px;
		top: 15px;
	}
}

.faq__questions__item-head {
	padding: 25px 70px 25px 70px;
	user-select: none;
	cursor: pointer;
	transition: background .5s;
}

@media screen and (max-width: 767px) {
	.faq__questions__item-head {
		padding: 20px 55px 20px 55px;
		transition: none;
	}
}

.faq__questions__item-head:hover {
	background: #e0f5ff;
	transition: background .1s;
}

@media screen and (max-width: 767px) {
	.faq__questions__item-head:hover {
		background: inherit;
		transition: none;
	}
}

.faq__questions__item-head::before {
	content: "Q";
	color: #154598;
}

.faq__questions__item-head::after {
	content: "\e904";
	position: absolute;
	right: 25px;
	top: 50%;
	margin-top: -7px;
	color: #154598;
	transform: rotate(0);
	transition: transform .3s;
}

.faq__questions__item--opened .faq__questions__item-head::after {
    transform: rotate(180deg);
}

.faq__questions__item-pane {
	display: block grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows .5s;
}

.faq__questions__item-pane * {
	overflow: hidden;
}

.faq__questions__item--opened .faq__questions__item-pane {
	grid-template-rows: 1fr;
}

.faq__questions__item-body {
}

.faq__questions__item-body::before {
	content: "A";
	color: #f23e3e;
}

.faq__questions__item-head-txt,
.faq__questions__item-body-txt,
.faq__questions__item-body-item {
	font-size: 15px;
	font-feature-settings: "palt";
	line-height: 1.6;
	letter-spacing: 0.05em;
	text-align: justify;
	/* text-justify: inter-ideograph; */
}

.faq__questions__item-head-txt {
	font-weight: bold;
}

.faq__questions__item-body-txt,
.faq__questions__item-body-list {
	padding: 5px 25px 0 70px;
}

@media screen and (max-width: 767px) {
	.faq__questions__item-body-txt,
	.faq__questions__item-body-list {
		padding: 5px 25px 0 55px;
	}
}

.faq__questions__item-body-txt:first-child,
.faq__questions__item-body-list:first-child {
	padding-top: 25px;
	border-top: 1px dotted #ccc;
}

@media screen and (max-width: 767px) {
	.faq__questions__item-body-txt:first-child,
	.faq__questions__item-body-list:first-child {
		padding-top: 20px;
	}
}

.faq__questions__item-body-txt:last-child,
.faq__questions__item-body-list:last-child {
	padding-bottom: 25px;
}

@media screen and (max-width: 767px) {
	.faq__questions__item-body-txt:last-child,
	.faq__questions__item-body-list:last-child {
		padding-bottom: 20px;
	}
}

.faq__questions__item-body-txt .faq__link {
	position: relative;
	display: block;
	padding-left: 1.2em;
	font-size: inherit;
	font-family: inherit;
	font-optical-sizing: inherit;
	font-weight: inherit;
	font-style: inherit;
	font-feature-settings: inherit;
	line-height: inherit;
	letter-spacing: inherit;
}

.faq__questions__item-body-txt .faq__link::before {
	content: "\e907";
	position: absolute;
	left: 0;
	line-height: 1.6;
}

.faq__questions__item-body-txt > a,
.faq__questions__item-body-txt .faq__link > a {
	font-size: inherit;
	font-family: inherit;
	font-optical-sizing: inherit;
	font-weight: inherit;
	font-style: inherit;
	font-feature-settings: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-decoration: underline;
	color: #154598;
	transition: color .5s;
}

.faq__questions__item-body-txt > a:hover,
.faq__questions__item-body-txt .faq__link > a:hover {
	color: #1a95ce;
	opacity: 1;
	transition: color .1s;
}

@media screen and (max-width: 767px) {
	.faq__questions__item-body-txt > a,
	.faq__questions__item-body-txt .faq__link > a {
		transition: none;
	}

	.faq__questions__item-body-txt > a:hover,
	.faq__questions__item-body-txt .faq__link > a:hover {
		color: #154598;
		transition: none;
	}
}

.faq__questions__item-body-list {
}

.faq__questions__item-body-item {
	margin-left: 1.4em;
	list-style-type: disc;
	list-style-position: outside;
	overflow: visible;
}

/* お問い合わせ */


.faq__contact {
	padding-top: 60px;
}

@media screen and (max-width: 767px) {
	.faq__contact {
		padding-top: 60px;
	}
}

.faq__contact-box {
	position: relative;
	padding: 35px 35px 30px;
	background: #bed1e4;
	font-size: 15px;
	font-feature-settings: "palt";
	line-height: 1.6;
	letter-spacing: 0.05em;
	clip-path: polygon(0 8px, 8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px));
}

@media screen and (max-width: 767px) {
	.faq__contact-box {
		padding: 25px 25px 20px;
	}
}

.faq__contact-title {
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
}

.faq__contact-body {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%;
	padding-top: 20px;
}

@media screen and (max-width: 767px) {
	.faq__contact-body {
		position: relative;
		display: block;
		width: auto;
		padding-top: 20px;
	}
}

.faq__contact-name {
	position: relative;
	padding: 10px 15px;
	background-color: #a6bede;
	font-size: 13px;
	font-weight: bold;
	text-align: center;
	line-height: 1.2;
	color: #154598;
	clip-path: polygon(0 8px, 8px 0, calc(100% - 8px) 0, 100% 8px, 100% calc(100% - 8px), calc(100% - 8px) 100%, 8px 100%, 0 calc(100% - 8px));
}

.faq__contact-tel {
	position: relative;
	padding-left: 20px;
}

@media screen and (max-width: 767px) {
	.faq__contact-tel {
		padding-left: 0;
		padding-top: 12px;
	}
}

.faq__contact-tel-number {
	display: block;
	font-size: 28px;
	font-weight: bold;
	text-align: center;
	color: #154598;
}

.faq__contact-tel-number::before {
	content: "\e910";
	font-size: 24px;
	font-weight: normal;
	color: inherit;
}

.faq__contact-tel-time {
	display: block;
	margin-top: 5px;
	font-size: 11px;
	text-align: center;
	line-height: 1;
}

.faq__contact-note {
	margin-top: 25px;
	font-size: 11px;
	text-align: center;
	line-height: 1.6;
}

@media screen and (max-width: 767px) {
	.faq__contact-note {
		margin-top: 20px;
		padding-left: 1em;
		text-indent: -1em;
		text-align: justify;
		/* text-justify: inter-ideograph; */
	}
}
