@charset "utf-8";
/* 下層ページ（お知らせ・ブログ・お問い合わせのページの見出しとパンくずでも使う） */

/* ページの見出し（写真の上下を波で切る） */
.main_01{
	position: relative;
	width: 100%;
	height: 340px;
	background-image: url("../img/page/main.jpg");
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	background-color: #cfe6a8;
	display: flex;
	align-items: center;
}

.main_01_wave{
	position: absolute;
	left: 0;
	display: block;
	width: 100%;
	height: 32px;
	fill: #ffffff;
}

.main_01_wave_bottom{
	bottom: -1px;
}

/* ページ名（元は画像。文字にした） */
.main_title{
	text-align: center;
	color: #ffffff;
	font-size: 40px;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-wrap: balance; /* 2行になるときは行の長さをそろえる */
	text-shadow: 0 0 12px rgba(62, 43, 24, 0.55), 0 0 3px rgba(62, 43, 24, 0.4);
}

.post_heading{
	display: block;
	font-size: 20px;
	margin-top: 8px;
}





/* パンくず */
.breadcrumb_01{
	padding: 14px 0px 0px;
}

.breadcrumb{
	display: flex;
	flex-wrap: wrap;
	list-style: none;
}

.breadcrumb li{
	font-size: 14px;
	font-weight: 700;
}

.breadcrumb li:not(:last-of-type)::after{
	content: ">";
	margin: 0 .8em; /* 記号の左右の余白 */
	color: #3e2b18; /* 記号の色 */
}

.name a{
	color: #84b206;
}

.name a:hover{
	opacity: 0.7;
	text-decoration: underline;
}





/* 本文の幅（デザインに合わせて少し狭くする） */
[data-section="intro"],
[data-section="body"]{
	max-width: 1000px;
}

/* 導入文 */
.intro_text{
	margin-top: 60px;
}

.intro_text p{
	max-width: 760px;
	margin: 0 auto;
}





/* 大見出し（元は黄色の丸い絵と文字を1枚の画像にしていた。丸は CSS で描く） */
.page_h2{
	position: relative;
	width: fit-content;
	max-width: 100%;
	margin: 90px auto 0;
	padding: 6px 0 6px 18px;
	font-size: 30px;
	font-weight: 900;
	line-height: 1.5;
	text-align: left; /* 1行なら箱が文字の幅に縮んで中央に来る。2行になったときは左揃えにして、黄色の丸を1行目の頭に付ける */
	text-wrap: balance;
	letter-spacing: 0.05em;
}

.page_h2::before{
	content: "";
	position: absolute;
	top: calc(6px + 0.75em); /* 1行目のまん中 */
	left: -14px;
	width: 62px;
	height: 58px;
	transform: translateY(-50%) rotate(-12deg);
	background-color: #fdf0a5;
	border-radius: 58% 42% 50% 50% / 52% 55% 45% 48%;
	z-index: -1;
}

[data-section="body"]{
	position: relative;
	z-index: 0;
}





/* 中見出し（3つの段落で共通） */
.box_a_02,
.box_b_02,
.box_c_01{
	font-size: 22px;
	font-weight: 900;
	line-height: 1.5;
	border-bottom: 1px solid #84b206;
	padding-bottom: 12px;
	margin-bottom: 16px;
}





/* 写真（左）と文章 */
.box_a,
.box_b{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 60px;
	margin-top: 60px;
}

/* 写真の枠。写真の大きさにかかわらず、この比率で切り取る */
.box_a_img,
.box_b_img{
	flex: 0 0 45%;
}

.box_a_img img,
.box_b_img img{
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 16px;
}

.box_a_01,
.box_b_01{
	flex: 1 1 auto;
	min-width: 0;
}

/* 文章のみ */
.box_c{
	margin-top: 60px;
}





/* 写真2枚 */
.box_d{
	display: flex;
	justify-content: space-between;
	gap: 50px;
	margin-top: 60px;
}

.box_d_img_01,
.box_d_img_02{
	flex: 1 1 0;
	min-width: 0;
}

.box_d_img img{
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: 16px;
}

.box_d p{
	margin-top: 10px;
	text-align: center;
	font-weight: 700;
	color: #84b206;
}





/* 締めの文章 */
.text01{
	margin-top: 60px;
}

/* ボタン */
/* 長い文字でも1行に収まるよう、幅は文字に合わせて広げる */
[data-section="body"] .btn1{
	width: auto;
	min-width: min(340px, 100%);
}





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

	.main_01{
		height: 260px;
	}

	.main_title{
		font-size: 32px;
	}

	.box_a,
	.box_b{
		gap: 30px;
	}
}




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

	/* ページの見出し */
	.main_01{
		height: 170px;
	}

	.main_01_wave{
		height: 16px;
	}

	.main_title{
		font-size: 24px;
	}

	.post_heading{
		font-size: 16px;
	}

	/* パンくず */
	.breadcrumb li{
		font-size: 12px;
	}

	/* 導入文 */
	.intro_text{
		margin-top: 30px;
	}

	/* 大見出し */
	.page_h2{
		font-size: 22px;
		margin-top: 60px;
	}

	.page_h2::before{
		width: 46px;
		height: 44px;
		left: -8px;
	}

	/* 中見出し */
	.box_a_02,
	.box_b_02,
	.box_c_01{
		font-size: 18px;
	}

	/* 写真と文章は縦に並べる（写真が上） */
	.box_a,
	.box_b{
		flex-direction: column;
		align-items: stretch;
		margin-top: 40px;
	}

	.box_b{
		flex-direction: column-reverse;
	}

	.box_c{
		margin-top: 40px;
	}

	/* 写真2枚 */
	.box_d{
		flex-direction: column;
		gap: 30px;
		margin-top: 40px;
	}

	.text01{
		margin-top: 40px; /* ブロックの上の余白は、どの型も同じにする（並べ替えても間隔がそろうように） */
	}
}
