@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Zen+Old+Mincho:wght@400;500;600&display=swap');


/* ==================================================
   FAQページ
================================================== */

body.page .c-entry__header {
	display: none;
}


.mihashi-faq {
	position: relative;

	width: 100vw;

	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);

	padding: 42px 30px 110px;

	box-sizing: border-box;

	background: #fbfaf6;

	color: #4f5852;

	font-family:
		"Noto Sans JP",
		"Yu Gothic",
		sans-serif;
}


.mihashi-faq__inner {
	width: 100%;
	max-width: 1180px;

	margin: 0 auto;
}


/* ==================================================
   パンくず
================================================== */

.mihashi-faq__breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;

	gap: 9px;

	margin: 0 0 68px;

	color: #83857f;

	font-size: 12px;
	line-height: 1.6;
}


.mihashi-faq__breadcrumb a {
	color: #486b59;
	text-decoration: none;
}


.mihashi-faq__breadcrumb a:hover {
	text-decoration: underline;
}


/* ==================================================
   ページ見出し
================================================== */

.mihashi-faq__header {
	max-width: 760px;

	margin: 0 auto 58px;

	text-align: center;
}


.mihashi-faq__en {
	margin: 0 0 9px;

	color: #2e674e;

	font-size: 12px;
	font-weight: 600;

	letter-spacing: .22em;
}


.mihashi-faq__header h1 {
	margin: 0;

	color: #263c31;

	font-family:
		"Zen Old Mincho",
		"Yu Mincho",
		serif;

	font-size: 44px;
	font-weight: 500;
	line-height: 1.4;

	letter-spacing: .06em;
}


.mihashi-faq__line {
	display: block;

	width: 54px;
	height: 1px;

	margin: 23px auto 24px;

	background: #b69a60;
}


.mihashi-faq__lead {
	margin: 0;

	color: #656b66;

	font-size: 14px;
	line-height: 2;
}


/* ==================================================
   カテゴリーナビ
================================================== */

.mihashi-faq__category-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;

	gap: 10px;

	max-width: 1000px;

	margin: 0 auto 80px;
}


.mihashi-faq__category-nav a {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	gap: 12px;

	min-height: 48px;

	padding: 9px 22px;

	box-sizing: border-box;

	border: 1px solid #c9d3cc;
	border-radius: 50px;

	background: #fff;

	color: #315f49;

	font-size: 13px;
	font-weight: 500;

	text-decoration: none;

	transition:
		background .2s ease,
		color .2s ease,
		border-color .2s ease;
}


.mihashi-faq__category-nav a:hover {
	border-color: #315f49;

	background: #315f49;

	color: #fff;
}


/* ==================================================
   カテゴリー
================================================== */

.mihashi-faq__categories {
	max-width: 960px;

	margin: 0 auto;
}


.mihashi-faq-category {
	scroll-margin-top: 130px;
}


.mihashi-faq-category
+ .mihashi-faq-category {
	margin-top: 85px;
}


/* カテゴリー見出し */

.mihashi-faq-category__header {
	display: flex;
	align-items: center;

	gap: 20px;

	margin: 0 0 27px;

	padding-bottom: 17px;

	border-bottom: 1px solid #cfc7b7;
}


.mihashi-faq-category__number {
	color: #b09256;

	font-family:
		"Zen Old Mincho",
		serif;

	font-size: 17px;
}


.mihashi-faq-category__header h2 {
	margin: 0;

	color: #284335;

	font-family:
		"Zen Old Mincho",
		"Yu Mincho",
		serif;

	font-size: 27px;
	font-weight: 500;
	line-height: 1.5;

	letter-spacing: .04em;
}


/* ==================================================
   FAQアコーディオン
================================================== */

.mihashi-faq-category__list {
	border-top: 1px solid #ded9ce;
}


.mihashi-faq-item {
	border-bottom: 1px solid #ded9ce;

	background: transparent;
}


.mihashi-faq-item__question {
	display: grid;

	grid-template-columns:
		42px
		minmax(0, 1fr)
		30px;

	gap: 14px;

	align-items: center;

	padding: 25px 8px;

	cursor: pointer;

	list-style: none;
}


.mihashi-faq-item__question::-webkit-details-marker {
	display: none;
}


/* Q */

.mihashi-faq-item__q {
	color: #ae8b48;

	font-family:
		"Zen Old Mincho",
		serif;

	font-size: 25px;
	line-height: 1;
}


.mihashi-faq-item__question-text {
	color: #303c35;

	font-size: 15px;
	font-weight: 500;
	line-height: 1.8;
}


/* ＋ */

.mihashi-faq-item__icon {
	position: relative;

	width: 22px;
	height: 22px;
}


.mihashi-faq-item__icon::before,
.mihashi-faq-item__icon::after {
	content: "";

	position: absolute;

	top: 50%;
	left: 50%;

	width: 16px;
	height: 1px;

	background: #627569;

	transform: translate(-50%, -50%);
}


.mihashi-faq-item__icon::after {
	transform:
		translate(-50%, -50%)
		rotate(90deg);

	transition: transform .25s ease;
}


.mihashi-faq-item[open]
.mihashi-faq-item__icon::after {
	transform:
		translate(-50%, -50%)
		rotate(0);
}


/* ==================================================
   回答
================================================== */

.mihashi-faq-item__answer {
	display: grid;

	grid-template-columns:
		42px
		minmax(0, 1fr);

	gap: 14px;

	padding:
		2px 52px 27px 8px;
}


.mihashi-faq-item__a {
	color: #315f49;

	font-family:
		"Zen Old Mincho",
		serif;

	font-size: 25px;
	line-height: 1.4;
}


.mihashi-faq-item__answer-text {
	color: #606560;

	font-size: 14px;
	line-height: 2;
}


.mihashi-faq-item__answer-text p {
	margin: 0 0 8px;
}


.mihashi-faq-item__answer-text p:last-child {
	margin-bottom: 0;
}


/* ==================================================
   下部CTA
================================================== */

.mihashi-faq__contact {
	max-width: 900px;

	margin: 100px auto 0;

	padding: 50px 50px 48px;

	box-sizing: border-box;

	border: 1px solid #ddd4c2;

	background: #fff;

	text-align: center;
}


.mihashi-faq__contact-small {
	margin: 0 0 13px;

	color: #987f4d;

	font-size: 12px;

	letter-spacing: .06em;
}


.mihashi-faq__contact h2 {
	margin: 0;

	color: #2b4638;

	font-family:
		"Zen Old Mincho",
		serif;

	font-size: 27px;
	font-weight: 500;
	line-height: 1.7;
}


.mihashi-faq__contact-buttons {
	display: grid;

	grid-template-columns:
		repeat(2, minmax(0, 1fr));

	gap: 14px;

	max-width: 620px;

	margin: 31px auto 0;
}


.mihashi-faq__contact-button {
	display: flex;

	flex-direction: column;
	align-items: center;
	justify-content: center;

	min-height: 75px;

	padding: 10px 20px;

	box-sizing: border-box;

	text-decoration: none;
}


.mihashi-faq__contact-button span {
	margin-bottom: 3px;

	font-size: 10px;
	font-weight: 600;
}


.mihashi-faq__contact-button strong {
	font-family:
		"Zen Old Mincho",
		serif;

	font-size: 19px;
	font-weight: 600;
}


.mihashi-faq__contact-button.is-visit {
	background: #315f49;

	color: #fff;
}


.mihashi-faq__contact-button.is-request {
	border: 1px solid #b78f4a;

	background: #fff;

	color: #886529;
}


/* ==================================================
   スマホ
================================================== */

@media (max-width: 767px) {

	.mihashi-faq {
		width: 100%;

		margin: 0;

		padding:
			25px 18px 70px;
	}


	.mihashi-faq__breadcrumb {
		margin-bottom: 48px;

		font-size: 11px;
	}


	.mihashi-faq__header {
		margin-bottom: 40px;
	}


	.mihashi-faq__header h1 {
		font-size: 31px;
	}


	.mihashi-faq__lead {
		font-size: 13px;

		text-align: left;
	}


	.mihashi-faq__pc-br {
		display: none;
	}


	/* カテゴリーナビ */

	.mihashi-faq__category-nav {
		display: grid;

		grid-template-columns: 1fr;

		gap: 8px;

		margin-bottom: 55px;
	}


	.mihashi-faq__category-nav a {
		justify-content: space-between;

		width: 100%;

		min-height: 46px;

		padding:
			9px 17px;

		border-radius: 4px;
	}


	/* カテゴリー */

	.mihashi-faq-category {
		scroll-margin-top: 90px;
	}


	.mihashi-faq-category
	+ .mihashi-faq-category {
		margin-top: 60px;
	}


	.mihashi-faq-category__header {
		gap: 12px;

		margin-bottom: 16px;
	}


	.mihashi-faq-category__header h2 {
		font-size: 21px;
	}


	/* 質問 */

	.mihashi-faq-item__question {
		grid-template-columns:
			30px
			minmax(0, 1fr)
			24px;

		gap: 9px;

		padding:
			20px 3px;
	}


	.mihashi-faq-item__q {
		font-size: 21px;
	}


	.mihashi-faq-item__question-text {
		font-size: 14px;
	}


	/* 回答 */

	.mihashi-faq-item__answer {
		grid-template-columns:
			30px
			minmax(0, 1fr);

		gap: 9px;

		padding:
			0 3px 23px;
	}


	.mihashi-faq-item__a {
		font-size: 21px;
	}


	.mihashi-faq-item__answer-text {
		font-size: 13px;
		line-height: 1.9;
	}


	/* 下部CTA */

	.mihashi-faq__contact {
		margin-top: 70px;

		padding:
			36px 17px;
	}


	.mihashi-faq__contact h2 {
		font-size: 22px;
	}


	.mihashi-faq__contact-buttons {
		grid-template-columns: 1fr;

		margin-top: 25px;
	}

}