@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');


/* ==================================================
   共通
================================================== */

:root {
	--mihashi-home-green: #285f47;
	--mihashi-home-dark: #244636;
	--mihashi-home-gold: #b89a5b;
	--mihashi-home-bg: #faf8f1;
	--mihashi-home-text: #525b55;

	--mihashi-home-heading:
		"Zen Old Mincho",
		"Yu Mincho",
		"Hiragino Mincho ProN",
		serif;

	--mihashi-home-body:
		"Noto Sans JP",
		"Yu Gothic",
		"Hiragino Kaku Gothic ProN",
		sans-serif;
}


/* ==================================================
   Snow Monkey 幅制限を解除
================================================== */

body.home .l-contents,
body.home .l-contents__inner,
body.home .l-contents__main,
body.home .l-contents .c-container,
body.home .c-entry,
body.home .c-entry__body,
body.home .c-entry__content,
body.home .wp-block-shortcode {
	width: 100% !important;
	max-width: none !important;

	margin-left: 0 !important;
	margin-right: 0 !important;

	padding-left: 0 !important;
	padding-right: 0 !important;
}


/* ==================================================
   FV
================================================== */

.mihashi-home-hero {
	position: relative;

	width: 100vw;
	max-width: none;

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

	overflow: hidden;

	background: var(--mihashi-home-bg);
}


.mihashi-home-hero__inner {
	display: grid;

	grid-template-columns:
		minmax(420px, 40%)
		minmax(0, 60%);

	align-items: center;

	width: 100%;

	min-height: 720px;
}


/* ==================================================
   左側
================================================== */

.mihashi-home-hero__content {
	position: relative;
	z-index: 2;

	display: flex;
	flex-direction: column;
	justify-content: center;

	min-width: 0;

	padding:
		60px 25px
		65px
		clamp(70px, 7vw, 140px);

	box-sizing: border-box;

	background-color: var(--mihashi-home-bg);

	background-image:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='420' height='420' viewBox='0 0 420 420'%3E%3Cg fill='none' stroke='%23315f49' stroke-opacity='.12' stroke-width='2'%3E%3Cpath d='M42 386C92 316 132 243 172 174C205 118 251 67 337 30'/%3E%3C/g%3E%3Cg fill='%23315f49' fill-opacity='.075'%3E%3Cellipse cx='86' cy='326' rx='18' ry='42' transform='rotate(-38 86 326)'/%3E%3Cellipse cx='126' cy='270' rx='17' ry='39' transform='rotate(32 126 270)'/%3E%3Cellipse cx='155' cy='222' rx='16' ry='36' transform='rotate(-37 155 222)'/%3E%3Cellipse cx='194' cy='165' rx='16' ry='37' transform='rotate(40 194 165)'/%3E%3C/g%3E%3C/svg%3E");

	background-repeat: no-repeat;
	background-position: left -85px top -60px;
	background-size: 290px auto;
}


/* ブランド名 */

.mihashi-home-hero__brand {
	margin: 0 0 22px;

	color: var(--mihashi-home-green);

	font-family: var(--mihashi-home-heading);

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

	letter-spacing: 0.08em;
}


/* H1 */

.mihashi-home-hero__title {
	width: 100%;
	max-width: 650px;

	margin: 0;

	color: var(--mihashi-home-dark);

	font-family: var(--mihashi-home-heading);

	font-size: clamp(48px, 4vw, 66px);
	font-weight: 500;
	line-height: 1.48;

	letter-spacing: 0.04em;

	word-break: keep-all;
}


/* 金線 */

.mihashi-home-hero__line {
	display: block;

	width: 85px;
	height: 1px;

	margin: 27px 0;

	background: var(--mihashi-home-gold);
}


/* サブコピー */

.mihashi-home-hero__lead {
	max-width: 520px;

	margin: 0;

	color: var(--mihashi-home-green);

	font-family: var(--mihashi-home-heading);

	font-size: 22px;
	font-weight: 500;
	line-height: 1.9;

	letter-spacing: 0.03em;
}


/* 説明 */

.mihashi-home-hero__description {
	max-width: 520px;

	margin: 20px 0 0;

	color: var(--mihashi-home-text);

	font-family: var(--mihashi-home-body);

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

	letter-spacing: 0.02em;
}


/* ==================================================
   ボタン
================================================== */

.mihashi-home-hero__buttons {
	display: flex;
	flex-wrap: wrap;

	gap: 14px;

	margin-top: 30px;
}


.mihashi-home-hero__button {
	display: grid;

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

	align-items: center;

	gap: 10px;

	min-width: 205px;

	padding: 16px 20px;

	box-sizing: border-box;

	border-radius: 999px;

	font-family: var(--mihashi-home-body);

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

	text-decoration: none;

	transition:
		transform .2s ease,
		opacity .2s ease;
}


.mihashi-home-hero__button:hover {
	transform: translateY(-2px);
	opacity: .88;
}


.mihashi-home-hero__button.is-search {
	background: var(--mihashi-home-green);
	color: #fff;
}


.mihashi-home-hero__button.is-request {
	border: 1px solid var(--mihashi-home-gold);

	background: #fff;

	color: var(--mihashi-home-green);
}


.mihashi-home-hero__arrow {
	text-align: right;
}


/* ==================================================
   右側ビジュアル
================================================== */

.mihashi-home-hero__visual {
	position: relative;

	display: flex;
	align-items: center;
	justify-content: flex-end;

	min-width: 0;
	min-height: 720px;

	padding:
		25px 0
		25px 15px;

	box-sizing: border-box;

	background: var(--mihashi-home-bg);
}


.mihashi-home-hero__visual-image {
	display: block;

	width: 100%;
	max-width: 1050px;
	height: auto;

	margin-left: auto;

	object-fit: contain;
}


/* ==================================================
   大画面
================================================== */

@media (min-width: 1600px) {

	.mihashi-home-hero__inner {
		min-height: 760px;
	}


	.mihashi-home-hero__visual {
		min-height: 760px;
	}


	.mihashi-home-hero__visual-image {
		max-width: 1150px;
	}

}


/* ==================================================
   タブレット / スマホ
================================================== */

@media (max-width: 900px) {

	.mihashi-home-hero {
		width: 100%;

		margin: 0;
	}


	.mihashi-home-hero__inner {
		display: block;

		min-height: 0;
	}


	/* テキスト */

	.mihashi-home-hero__content {
		padding:
			45px 22px 50px;

		text-align: center;

		background-position:
			left -100px top -70px;

		background-size:
			230px auto;
	}


	.mihashi-home-hero__brand {
		margin-bottom: 17px;

		font-size: 17px;
	}


	.mihashi-home-hero__title {
		max-width: 100%;

		font-size: 36px;
		line-height: 1.5;
	}


	.mihashi-home-hero__line {
		width: 60px;

		margin:
			20px auto;
	}


	.mihashi-home-hero__lead {
		max-width: 100%;

		font-size: 18px;
		line-height: 1.8;
	}


	.mihashi-home-hero__description {
		margin:
			17px auto 0;

		font-size: 13px;
		line-height: 1.9;
	}


	/* ボタン */

	.mihashi-home-hero__buttons {
		flex-direction: column;

		width: 100%;
		max-width: 350px;

		margin:
			25px auto 0;
	}


	.mihashi-home-hero__button {
		width: 100%;
		min-width: 0;
	}


	/* ビジュアル */

	.mihashi-home-hero__visual {
		display: block;

		min-height: 0;

		padding:
			0 10px 30px;
	}


	.mihashi-home-hero__visual-image {
		width: 100%;
		max-width: none;

		margin: 0 auto;
	}

}


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

@media (max-width: 600px) {

	.mihashi-home-hero__content {
		padding:
			40px 20px 45px;
	}


	.mihashi-home-hero__brand {
		font-size: 15px;
	}


	.mihashi-home-hero__title {
		font-size: 31px;
	}


	.mihashi-home-hero__lead {
		font-size: 17px;
	}

}

/* ==================================================
   トップページ
   ヘッダー下の余白を削除
================================================== */

body.home .l-contents {
	padding-top: 0 !important;
}

body.home .l-contents__inner {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.home .c-entry__content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.home .mihashi-home-hero {
	margin-top: 0 !important;
}

/* ==================================================
   TOPページ
   ヘッダー直下の余白を削除
================================================== */

body.home .l-contents,
body.home .l-contents__inner,
body.home .l-contents__main,
body.home .c-entry,
body.home .c-entry__body,
body.home .c-entry__content,
body.home .wp-block-shortcode {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.home .mihashi-home-hero {
	margin-top: 0 !important;
}

/* ==================================================
   TOPページ
   Snow Monkeyのヘッダー下余白を削除
================================================== */

body.home .c-section.p-section-front-page-content {
	padding-top: 0 !important;
}

/* ==================================================
   TOP
   墓所を探す
================================================== */

.mihashi-home-cemetery-pickup {
	width: 100vw;

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

	padding: 100px 30px 110px;

	box-sizing: border-box;

	background: #fff;

	color: #35463d;

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


.mihashi-home-cemetery-pickup__inner {
	width: 100%;
	max-width: 1280px;

	margin: 0 auto;
}


/* ==================================================
   見出し
================================================== */

.mihashi-home-cemetery-pickup__heading {
	margin: 0 auto 52px;

	text-align: center;
}


.mihashi-home-cemetery-pickup__en {
	margin: 0 0 8px;

	color: #a18a55;

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

	letter-spacing: 0.22em;
}


.mihashi-home-cemetery-pickup__heading h2 {
	margin: 0;

	color: #274536;

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

	font-size: 40px;
	font-weight: 500;
	line-height: 1.45;

	letter-spacing: 0.06em;
}


.mihashi-home-cemetery-pickup__line {
	display: block;

	width: 55px;
	height: 1px;

	margin: 20px auto;

	background: #b49a60;
}


.mihashi-home-cemetery-pickup__lead {
	margin: 0;

	color: #68736d;

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

	letter-spacing: 0.02em;
}


.mihashi-home-cemetery-pickup__sp-br {
	display: none;
}


/* ==================================================
   カード一覧
================================================== */

.mihashi-home-cemetery-pickup__grid {
	display: grid;

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

	gap: 28px;
}


/* ==================================================
   カード
================================================== */

.mihashi-home-cemetery-card {
	min-width: 0;

	border: 1px solid #e1ddd3;
	border-radius: 4px;

	background: #fff;

	overflow: hidden;

	box-shadow:
		0 8px 28px rgba(40, 54, 45, 0.06);

	transition:
		transform 0.25s ease,
		box-shadow 0.25s ease;
}


.mihashi-home-cemetery-card:hover {
	transform: translateY(-4px);

	box-shadow:
		0 12px 34px rgba(40, 54, 45, 0.11);
}


.mihashi-home-cemetery-card__link {
	display: block;

	height: 100%;

	color: inherit;
	text-decoration: none;
}


/* ==================================================
   写真
================================================== */

.mihashi-home-cemetery-card__image {
	position: relative;

	width: 100%;
	aspect-ratio: 16 / 10;

	overflow: hidden;

	background: #eeeae1;
}


.mihashi-home-cemetery-card__image img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;

	transition: transform 0.45s ease;
}


.mihashi-home-cemetery-card:hover
.mihashi-home-cemetery-card__image img {
	transform: scale(1.035);
}


/* ==================================================
   カード本文
================================================== */

.mihashi-home-cemetery-card__body {
	position: relative;

	padding: 24px 24px 25px;

	box-sizing: border-box;
}


/* ==================================================
   タグ
================================================== */

.mihashi-home-cemetery-card__tags {
	display: flex;
	flex-wrap: wrap;

	gap: 6px;

	margin: 0 0 14px;
}


.mihashi-home-cemetery-card__tag {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 26px;

	padding: 5px 13px;

	box-sizing: border-box;

	border: 0;
	border-radius: 999px;

	background: #e9f2eb;

	color: #416452;

	font-size: 10px;
	font-weight: 600;
	line-height: 1.4;

	letter-spacing: 0.04em;
}


.mihashi-home-cemetery-card__tag.is-eternal {
	background: #f2ede2;

	color: #806a3d;
}


.mihashi-home-cemetery-card__tag.is-general {
	background: #eeeae2;

	color: #6d6353;
}


/* ==================================================
   墓所名・寺院名
================================================== */

.mihashi-home-cemetery-card__title {
	margin: 0;

	color: #284637;

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

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

	letter-spacing: 0.04em;
}


.mihashi-home-cemetery-card__temple {
	margin: 6px 0 0;

	color: #8c8170;

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


/* ==================================================
   所在地・駅
================================================== */

.mihashi-home-cemetery-card__meta {
	margin: 19px 0 0;

	padding-top: 17px;

	border-top: 1px solid #eee9df;
}


.mihashi-home-cemetery-card__meta p {
	display: flex;

	align-items: flex-start;

	gap: 8px;

	margin: 0 0 6px;

	color: #606b65;

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


.mihashi-home-cemetery-card__meta p:last-child {
	margin-bottom: 0;
}


.mihashi-home-cemetery-card__meta span {
	color: #a18a55;

	font-size: 7px;

	transform: translateY(6px);
}


/* ==================================================
   詳しく見る
================================================== */

.mihashi-home-cemetery-card__more {
	display: flex;

	align-items: center;
	justify-content: flex-end;

	gap: 13px;

	margin-top: 19px;

	color: #315f49;

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


.mihashi-home-cemetery-card__more span {
	font-size: 16px;
}


/* ==================================================
   すべての墓所を見る
================================================== */

.mihashi-home-cemetery-pickup__more {
	margin-top: 48px;

	text-align: center;
}


.mihashi-home-cemetery-pickup__more a {
	display: inline-flex;

	align-items: center;
	justify-content: center;

	gap: 24px;

	min-width: 245px;
	min-height: 58px;

	padding: 12px 28px;

	box-sizing: border-box;

	border: 1px solid #315f49;

	color: #315f49;

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

	text-decoration: none;

	transition:
		background-color 0.2s ease,
		color 0.2s ease;
}


.mihashi-home-cemetery-pickup__more a:hover {
	background: #315f49;

	color: #fff;
}


/* ==================================================
   タブレット
================================================== */

@media (max-width: 1000px) {

	.mihashi-home-cemetery-pickup__grid {
		grid-template-columns:
			repeat(2, minmax(0, 1fr));
	}

}


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

@media (max-width: 767px) {

	.mihashi-home-cemetery-pickup {
		width: 100%;

		margin-left: 0;
		margin-right: 0;

		padding:
			65px 18px 75px;
	}


	.mihashi-home-cemetery-pickup__heading {
		margin-bottom: 35px;
	}


	.mihashi-home-cemetery-pickup__heading h2 {
		font-size: 30px;
	}


	.mihashi-home-cemetery-pickup__lead {
		font-size: 13px;
		line-height: 1.9;
	}


	.mihashi-home-cemetery-pickup__sp-br {
		display: block;
	}


	.mihashi-home-cemetery-pickup__grid {
		grid-template-columns: 1fr;

		gap: 22px;
	}


	.mihashi-home-cemetery-card__body {
		padding:
			20px 19px 22px;
	}


	.mihashi-home-cemetery-card__title {
		font-size: 22px;
	}


	.mihashi-home-cemetery-pickup__more {
		margin-top: 35px;
	}


	.mihashi-home-cemetery-pickup__more a {
		width: 100%;
		max-width: 320px;
	}

}