@charset "UTF-8";

body::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	z-index: -20;
	width: 457px;
	height: 157px;
	background-image: url(../img/common/header_deco.webp);
	background-repeat: no-repeat;
	background-position: top right;
	pointer-events: none;
}

.title_box .h2_style {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: flex-start;
	gap: 20px;
}

.title_box img {
	height: 59px;
	width: auto;
}

@media screen and (max-width: 840px) {
	.title_box .h2_style {
		gap: 10px;
		position: relative;
		z-index: 10;
	}


}



@media screen and (max-width: 640px) {
	.title_box img {
		height: 41px;
	}
}

/*-----------------------------------
    mv（メインビジュアル）
-----------------------------------*/
#mv_block {
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0px 0px 60px 5.2%;
	background-image: url(../img/index/mv_deco.webp);
	background-repeat: no-repeat;
	background-position: -94px 21px;
}


#mv_block .mv_txt .scroll_hint {
	display: none;
}

#mv_block .scroll_hint {
	position: absolute;
	bottom: -60px;
	/* history_listの上、外側に配置 */
	right: 0;
	z-index: 2;
	/* 念のため前面に */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	pointer-events: none;
	transform: rotate(90deg);
}

#mv_block .scroll_hint_line {
	width: 60px;
	height: 1px;
	background-color: #4e3f2d;
	margin-bottom: 5px;
}

#mv_block .scroll_hint_text {
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 14px;
	letter-spacing: 0.06em;
	color: #f73420;
}

.mv_txt {
	position: relative;
	z-index: 10;
	flex-shrink: 0;
	width: 36.4%;
}

#mv_block h1 {
	position: relative;
	margin-bottom: 30px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-size: 9.8rem;
	letter-spacing: 0.04em;
	line-height: 1.2;
	color: #f73420;
	white-space: nowrap;
	/* PCでは改行させない */
}

.mv_catch {
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 3.6rem;
	line-height: 1.6;
	color: #4e3f2d;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.mv_photo_wrap {
	position: relative;
	flex: 1;
	width: 100%;
	min-width: 50%;
	/* 文字に潰されすぎないように画像の領域を最低半分は確保 */

	max-width: 1101px;
	z-index: 1;
	padding-top: 0px;
	padding-left: 20px;
}

/* 左下にズレるオレンジの背景装飾 */
.mv_photo_wrap::before {
	content: "";
	position: absolute;
	top: 30px;
	left: 0;
	width: 100%;
	height: 99%;
	background-color: #F7E0CB;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	z-index: -1;
}

/* スライダー本体 */
.mv_photo {
	width: 100%;
	height: auto;
	aspect-ratio: 1101 / 758;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	overflow: hidden;
}

.mv_photo .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1);
	transition: transform 10s linear;
}

.mv_photo .swiper-slide:not(.swiper-slide-active) img {
	transition: none;
}

.mv_photo .swiper-slide-active img {
	transform: scale(1.15);
}

.mv_photo .swiper-pagination-bullet {
	background-color: #ffffff;
	opacity: 0.6;
}

.mv_photo .swiper-pagination-bullet-active {
	background-color: #f73420;
	opacity: 1;
}

/*-----------------------------------
    mv レスポンシブ対応（ここを追加・上書き）
-----------------------------------*/

/* ■ タブレット・ノートPCサイズ（画面を縮め始めたとき） */
@media screen and (max-width: 1280px) {
	#mv_block {
		/* 写真が見切れないように、左右の余白を少しタイトにしてスペースを確保 */
		padding: 0px 0px 40px 5.2%;
	}

	#mv_block h1 {
		font-size: 7.5rem;
		white-space: nowrap;
		/* 文字がはみ出さないように自動改行を許可 */
	}

	.mv_catch {
		font-size: 2.8rem;
	}

	/* 💡 写真エリアが潰れないように最小の横幅（キープしたい比率）をサポート */
	.mv_photo_wrap {
		flex: 1;
		min-width: 50%;
		/* 文字に潰されすぎないように画像の領域を最低半分は確保 */
	}

	.mv_photo {
		aspect-ratio: 1101 / 758;
		/* 比率は保ったまま綺麗に縮小させる */
		width: 100%;
		height: auto;
	}
}

/* ■ スマホサイズ（840px 以下） */
@media screen and (max-width: 840px) {
	#mv_block {
		flex-direction: column-reverse;
		/* スマホは縦並びにする */
		align-items: flex-start;
		padding: 0px 0px 100px 40px;
		gap: 20px;
		background-position: left bottom 0px;
		background-size: 200px auto;
	}

	.mv_txt {
		width: 100%;
		margin-top: 30px;
		position: relative;
	}

	#mv_block .mv_photo_wrap .scroll_hint {
		display: none;
	}

	#mv_block .mv_txt .scroll_hint {
		display: flex;
	}

	.mv_txt::before {
		content: "";
		position: absolute;
		width: 100%;
		max-width: 300px;
		height: 100%;
		max-height: 200px;
		background-image: url(../img/index/mv_deco_02.png);
		background-repeat: no-repeat;
		background-size: cover;
		top: -120px;
		right: 0;
		background-position: right;
		z-index: -100;
	}

	.mv_txt::after {
		content: "";
		position: absolute;
		width: 100%;
		max-width: 300px;
		height: 100%;
		background-image: url(../img/index/intro_img_01.png);
		background-repeat: no-repeat;
		background-size: contain;
		top: 50px;
		right: 0;
		background-position: right;
		z-index: -1;
	}

	#mv_block h1 {
		position: static;
		margin-bottom: 15px;
		font-size: 7.5rem;
		line-height: 1.2;
	}

	.mv_catch {
		font-size: 28px;
		line-height: 1.6;
	}

	/* スマホ時は横幅いっぱい（100%）にして見切れを完全に防ぐ */
	.mv_photo_wrap {
		width: 100%;
		max-width: 100%;
		min-width: 100%;
		/* スマホ時は100%にリセット */
		padding-left: 20px;
		padding-top: 0;
	}

	/* スマホ時はオレンジの座布団を全体の枠に綺麗に合わせる */
	.mv_photo_wrap::before {
		top: 20px;
		left: 0px;
		width: 100%;
		height: 100%;
	}
}

@media screen and (max-width: 640px) {
	#mv_block {
		gap: 0;
		flex-direction: column-reverse;
		/* スマホは縦並びにする */
		align-items: flex-start;
		padding: 0px 0px 90px 20px;
		gap: 20px;
		background-position: left bottom 0px;
		background-size: 120px auto;
	}

	#mv_block h1 {
		font-size: 4.5rem;
	}

	.mv_txt::before {
		max-width: 128px;
		max-height: 94px;
		top: -43px;
	}

	.mv_txt::after {
		top: 20px;
		max-width: 150px;
	}

	.mv_photo_wrap {
		border-top-left-radius: 30px;
		border-bottom-left-radius: 30px;
	}

	.mv_catch {
		font-size: 16px;
	}
}


/*-----------------------------------
    about
-----------------------------------*/
#about_block {
	position: relative;
	padding: 100px 0;
}

.about_flower_bg_01 {
	position: absolute;
	top: 60%;
	/* ★縦の位置：Aboutブロックの上から60%の位置（適宜調整してください） */
	right: 0;
	/* ★横の位置：右端ぴったりに合わせる */
	width: 449px;
	/* 画像の横幅 */
	height: auto;
	z-index: -1;
	/* ★文字の後ろ、かつ全体の背景よりは前に配置 */
	pointer-events: none;
	/* マウスイベントを無効化してテキスト選択などの邪魔をさせない */
}

.about_flower_bg_01 img {
	width: 100%;
	height: auto;
	display: block;
}

.about_flower_bg_02 {
	display: none;
}

.about_photo_tab {
	display: none;
}

#about_block .contents_inner {
	position: relative;
}

#about_block .title_box {
	margin-bottom: 35px;
}

#about_block .title_box .h2_style span {
	margin-bottom: 23px;
	font-size: 3.2rem;
}



#about_block .about_en {
	font-family: "Yellowtail", cursive;
	font-weight: 400;
	font-size: 10rem;
	color: #f73420;
}

#about_block .row_box {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 60px;
}

.about_text {
	flex-shrink: 0;
	width: 42%;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 30px;
	letter-spacing: 0.056rem;
	color: #4e3f2d;
}

.about_text p+p {
	margin-top: 30px;
}

.about_photo_pc {
	position: relative;
	flex: 1;
	width: 38%;
	max-width: 608px;
	aspect-ratio: 608 / 494;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 100px;
	overflow: hidden;
}

.about_photo_pc img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;

}

.about_photo_txt {
	position: relative;
	z-index: 1;
	white-space: nowrap;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 3rem;
	line-height: 1.7;
	letter-spacing: 0.12rem;
	color: #ffffff;
}


@media screen and (max-width: 1280px) {
	#about_block .about_en {
		font-size: 8rem;
	}

	.about_photo {
		padding-top: 70px;
	}

	.about_photo_txt {
		font-size: 2.2rem;
	}
}

@media screen and (max-width: 840px) {
	#about_block {
		padding: 60px 0;
		overflow: hidden;
	}



	#about_block .title_box .h2_style span {
		font-size: 16px;
		margin-bottom: 0px;
	}

	#about_block .about_en {
		font-size: 5rem;
	}

	#about_block .title_box {
		margin-bottom: -9px;
	}

	.about_photo_tab {
		position: relative;
		display: flex !important;
		flex: 1;
		width: 100%;
		aspect-ratio: 390 / 211;
		display: flex;
		align-items: flex-start;
		justify-content: left;
		padding-top: 50px;
		padding-left: 50px;
		z-index: -10;
		margin-bottom: 25px;
	}



	.about_text p+p {
		margin-top: 15px;
	}

	.about_photo_tab img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;

	}

	.about_photo_pc {
		display: none;
	}

	#about_block .row_box {
		flex-direction: column;
		align-items: flex-start;
		gap: 30px;
	}

	.about_text {
		width: 100%;
	}

	.about_photo {
		padding-top: 30px;
	}

	.about_photo_txt {
		font-size: 28px;

		line-height: 1.6;
	}

	.about_flower_bg_01 {
		position: absolute;
		top: 78%;
		/* ★縦の位置：Aboutブロックの上から60%の位置（適宜調整してください） */
		right: -3%;
		/* ★横の位置：右端ぴったりに合わせる */
		width: 209px;
		/* 画像の横幅 */
		height: auto;
		z-index: -1;
		/* ★文字の後ろ、かつ全体の背景よりは前に配置 */
		pointer-events: none;
		/* マウスイベントを無効化してテキスト選択などの邪魔をさせない */
	}


}

@media screen and (max-width: 640px) {
	#about_block {
		padding: 45px 0 130px;
	}

	.title_box {
		width: 90%;
		margin: 0 auto;
	}

	.about_text_p {
		width: 90%;
		margin: 0 auto;
	}

	.about_photo_txt {
		font-size: 14px;
		line-height: 1.7;
	}

	.about_photo_tab {
		padding-left: 5%;
		padding-top: 5%;
	}

	.about_flower_bg_02 {
		display: block;
		position: absolute;
		top: 0;
		/* ★縦の位置：Aboutブロックの上から60%の位置（適宜調整してください） */
		right: 0;
		/* ★横の位置：右端ぴったりに合わせる */
		width: 230px;
		/* 画像の横幅 */
		height: auto;
		z-index: -1;
		/* ★文字の後ろ、かつ全体の背景よりは前に配置 */
		pointer-events: none;
		/* マウスイベントを無効化してテキスト選択などの邪魔をさせない */
	}

	.about_flower_bg_01 {
		right: -22%;
	}

	.about_photo_tab::after {
		content: "";
		position: absolute;
		width: 100%;
		height: 100%;
		background-image: url(../img/index/about_deco_03.png);
		background-repeat: no-repeat;
		background-size: contain;
		/* 🛠 はみ出させるにしても、-200pxだと離れすぎるので -30px 程度などで微調整 */
		bottom: -120px;
		left: 0;
		background-position: right bottom;
		z-index: -10;
	}

	.about_flower_bg_02 img {
		width: 100%;
		height: auto;
		display: block;
	}
}

/*-----------------------------------
    culture
-----------------------------------*/
#culture_block {
	padding: 100px 0;
	position: relative;
}

.culture_flower_bg_01 {
	position: absolute;
	left: 0;
	/* ★縦の位置：Aboutブロックの上から60%の位置（適宜調整してください） */
	top: 30%;
	/* ★横の位置：右端ぴったりに合わせる */
	width: 300px;
	/* 画像の横幅 */
	height: auto;
	z-index: -1;
	/* ★文字の後ろ、かつ全体の背景よりは前に配置 */
	pointer-events: none;
	/* マウスイベントを無効化してテキスト選択などの邪魔をさせない */
}

.culture_flower_bg_01 img {
	width: 100%;
	height: auto;
	display: block;
}

.culture_flower_bg_02 {
	position: absolute;
	right: 0;
	/* ★縦の位置：Aboutブロックの上から60%の位置（適宜調整してください） */
	top: 40%;
	/* ★横の位置：右端ぴったりに合わせる */
	width: 300px;
	/* 画像の横幅 */
	height: auto;
	z-index: -1;
	/* ★文字の後ろ、かつ全体の背景よりは前に配置 */
	pointer-events: none;
	/* マウスイベントを無効化してテキスト選択などの邪魔をさせない */
}

.culture_flower_bg_02 img {
	width: 100%;
	height: auto;
	display: block;
}

.culture_flower_bg_03 {
	position: absolute;
	left: 0;
	/* ★縦の位置：Aboutブロックの上から60%の位置（適宜調整してください） */
	bottom: 5%;
	width: 350px;
	/* 画像の横幅 */
	height: auto;
	z-index: -1;
	/* ★文字の後ろ、かつ全体の背景よりは前に配置 */
	pointer-events: none;
	/* マウスイベントを無効化してテキスト選択などの邪魔をさせない */
}

.culture_flower_bg_03 img {
	width: 100%;
	height: auto;
	display: block;
}

.culture_flower_bg_04 {
	display: none;
}

.culture_flower_bg_04 img {
	width: 100%;
	height: auto;
	display: block;
}

#culture_block .contents_inner {
	position: relative;
}

#culture_block .title_box .h2_style span {
	font-size: 3.2rem;
}

#culture_block .culture_en {
	font-family: "Yellowtail", cursive;
	font-weight: 400;
	font-size: 10rem;
	color: #f73420;
}

/* 沿革カード（横スクロール） */
.history_list {
	display: flex;
	gap: 30px;
	margin: 60px 0 100px;
	padding-bottom: 10px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	-webkit-overflow-scrolling: touch;
}

.history_card {
	flex-shrink: 0;
	width: 287px;
	padding: 40px 20px 20px;
	border-radius: 100px 100px 0 0;
	background-color: #ffffff;
	text-align: center;
	scroll-snap-align: start;
}

.history_num {
	position: relative;
	margin-bottom: 30px;
	background-image: url(../img/index/culture_wreath.webp);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 180px auto;
}

.history_label {
	display: block;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 23px;
	color: #4e3f2d;
	padding-top: 10px;
}

.history_value {
	display: block;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 72px;
	color: #f73420;
	letter-spacing: 0.064rem;
	line-height: 1.3;
}

.history_value em {
	font-style: normal;
	font-size: 45px;
	color: #4e3f2d;
}

.history_text {
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.064rem;
	color: #4e3f2d;
	text-align: left;
}

/* 制度紹介カード */
.culture_feature_list {
	display: flex;
	gap: 40px;
}

.culture_feature_photo h3 {
	display: none;
}


.culture_feature_card {
	flex: 1;
	display: flex;
	flex-direction: column;
	padding-bottom: 40px;
	position: relative;
}

.culture_feature_card:first-child::before {
	content: "";
	position: absolute;
	bottom: 10px;
	left: 10px;
	width: 63px;
	height: 81px;
	background-image: url(../img/index/culture_grass_01.png);
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	z-index: 2;
}

.culture_feature_card:last-child::before {
	content: "";
	position: absolute;
	bottom: 10px;
	right: 10px;
	width: 74px;
	height: 89px;
	background-image: url(../img/index/culture_grass_02.png);
	background-repeat: no-repeat;
	background-size: contain;
	pointer-events: none;
	z-index: 2;
}

.culture_feature_photo {
	position: relative;
}

.culture_feature_photo img {
	display: block;
	width: 100%;
	aspect-ratio: 870 / 600;
	object-fit: cover;
}

.culture_feature_body_bg {
	padding: 0 20px 15px 0;
	background-color: #FFF4E1;
}

.culture_feature_body {
	position: relative;
	padding: 30px 15px 70px 30px;
	background-color: #ffffff;
	text-align: center;
}

.culture_feature_body h3 {
	margin-bottom: 20px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 400;
	font-size: 34px;
	line-height: 1.6;
	letter-spacing: 0.136rem;
	color: #4e3f2d;
}

.culture_feature_body>p {
	margin-bottom: 20px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 1.4rem;
	line-height: 30px;
	letter-spacing: 0.064rem;
	color: #4e3f2d;
	text-align: left;
}

.view_more_btn {
	position: absolute;
	left: 50%;
	bottom: -40px;
	transform: translateX(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 305px;
	height: 81px;
	border-radius: 999px;
	background-color: #4e3f2d;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 28px;
	color: #ffffff;
	transition: 0.3s ease;
}

.view_more_btn:hover {
	transform: translateX(-50%) translateY(-8px);
	opacity: 0.8;

}

.scroll_hint {
	display: none;
}

/* ==========================================================================
   1500px以上のときは横スクロールを消して、綺麗に並べる
   ========================================================================== */
@media screen and (min-width: 1500px) {
	.history_list {
		/* 🛠 横スクロールを無効化し、はみ出さないようにする */
		overflow-x: visible;
		scroll-snap-type: none;

		/* 🛠 4つのカードが横いっぱいに綺麗に均等配置されるようにする */
		justify-content: space-between;
	}

	.history_card {
		/* 🛠 287px固定を解除し、4つのカードが枠内にぴったり収まるように自動計算させる */
		flex-shrink: 1;
		width: calc((100% - (30px * 3)) / 4);
		/* 4枚が隙間30pxを保って等幅になる計算 */

		scroll-snap-align: none;
	}

}

@media screen and (max-width: 1500px) {
	/*-----------------------------------
    scroll hint（横スクロール案内）
-----------------------------------*/

	.history_wrap {
		position: relative;
	}

	.scroll_hint {
		position: absolute;
		bottom: -60px;
		/* history_listの上、外側に配置 */
		right: 0;
		z-index: 2;
		/* 念のため前面に */
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		pointer-events: none;
	}

	.scroll_hint_line {
		width: 60px;
		height: 1px;
		background-color: #4e3f2d;
		margin-bottom: 5px;
	}

	.scroll_hint_text {
		font-family: "Zen Old Mincho", serif;
		font-weight: 500;
		font-size: 14px;
		letter-spacing: 0.06em;
		color: #f73420;
	}
}

@media screen and (max-width: 1280px) {
	#culture_block .culture_en {
		font-size: 8rem;
	}

	.culture_feature_card:first-child::before {
		width: 45.67px;
		height: 58.81px;
	}

	.culture_feature_card:last-child::before {
		width: 45.67px;
		height: 54.97px;
	}

	.culture_feature_body h3 {
		font-size: 28px;
	}

}

@media screen and (max-width: 840px) {
	#culture_block {
		padding: 0px 0 60px;
	}

	#culture_block .title_box {
		margin-bottom: -50px;
		position: relative;
		z-index: 10;
	}

	.view_more_btn {
		left: 50%;
		bottom: -20px;
		width: 188px;
		height: 50px;
		font-size: 18px;
	}

	.history_label {
		font-size: 22px;
	}

	#culture_block .title_box .h2_style span {
		font-size: 16px;
	}

	#culture_block .culture_en {
		font-size: 5rem;
	}



	.culture_feature_list {
		flex-direction: column;
		gap: 70px;
	}

	.culture_feature_body>p {
		line-height: 27px;
	}

	.culture_feature_photo h3 {
		display: block;
		font-family: "Zen Old Mincho", serif;
		font-weight: 400;
		font-size: 24px;
		line-height: 1.6;
		letter-spacing: 0.136rem;
		color: #4e3f2d;
		width: fit-content;
		margin: 0 auto 20px;
	}

	.culture_feature_body {
		padding: 50px 15px 40px 30px;
	}

	.culture_feature_body_bg {
		padding: 0 5%;
		background-color: transparent;
	}

	.culture_feature_photo picture {
		width: 40%;
	}

	.culture_feature_body h3 {
		display: none;
	}

	.culture_feature_photo {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		gap: 20px;
		width: 100%;
		padding-right: 20px;
		margin-bottom: -20px;
		position: relative;
		z-index: 10;
	}

	.culture_feature_card:nth-child(2) .culture_feature_photo {
		flex-direction: row-reverse;
		padding-right: 0;
		padding-left: 20px;
	}

	#culture_block .scroll_hint {
		bottom: -35px;
	}

	#culture_block .scroll_hint_line {
		margin-bottom: 2px;
	}

	#culture_block .scroll_hint_text {
		font-size: 12px;
	}

	.culture_flower_bg_01 {
		width: 150px;
		top: 26%;
		right: 0;
		left: auto;
	}

	.culture_flower_bg_02 {
		width: 150px;
		top: 60%;
	}

	.culture_flower_bg_03 {
		width: 200px;
		bottom: 0%;
		right: 0;
		left: auto;
	}


}

@media screen and (max-width: 640px) {
	.history_text {
		font-size: 14px;
	}

	.history_list {
margin: 40px 0px 60px 20px; /* ★左右にマイナスマージンを入れて、画面の端まで領域を広げる */
		width: auto;                  /* ★width: 100% から auto に変更 */
		padding: 0 20px 10px 5%;     /* ★左右にプラスのパディングを入れて、開始・終了位置に余白を作る */
		
		/* 残りのプロパティはそのまま */
		display: flex;
		gap: 30px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

		#culture_block {
		overflow: hidden;
		width: 100%;
	}

	/* 💡スクロール領域が100%になったため、スクロールヒントの位置も微調整 */
	#culture_block .scroll_hint {
		right: 20px;
	}

	.history_card {
		width: 265px;
	}

	/* --- 以下は既存のコードのまま --- */
	.culture_feature_photo {
		gap: 10px;
	}

	.culture_feature_photo h3 {
		font-size: 17px;
	}

	.culture_flower_bg_04 {
		display: block;
		position: absolute;
		left: 0;
		top: 32%;
		width: 150px;
		height: auto;
		z-index: -1;
		pointer-events: none;
	}

	.culture_feature_body {
		padding: 40px 15px 30px 15px;
	}
}



/*-----------------------------------
    recruit
-----------------------------------*/
#recruit_block {
	padding: 100px 0;
	position: relative;
}

.recruit_flower_bg_01 {
	display: none;
}

#recruit_block .title_box {
	display: flex;
	align-items: center;
	gap: 75px;
}

#recruit_block .title_box .h2_style span {
	font-size: 3.2rem;
}

.recruit_en {
	font-family: "Yellowtail", cursive;
	font-weight: 400;
	font-size: 10rem;
	color: #f73420;
}

.recruit_lead {
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-size: 1.5rem;
	line-height: 30px;
	letter-spacing: 0.06rem;
	margin-top: 40px;
	color: #4e3f2d;
}

.recruit_row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	margin-top: 45px;
	gap: 7%;
}

.recruit_photo {
	flex: 1;
}

.recruit_photo img {
	width: 100%;
	height: auto;
	object-fit: cover;
}

.job_list {
	flex-shrink: 0;
	width: 30%;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.job_item {
	display: block;
	height: 70px;
	padding: 12px 22px;
	border: 1px solid #4E3F2D;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	overflow: hidden;
	background-color: #FFFFFF;
	border-top-right-radius: 10px;
	border-bottom-left-radius: 10px;
}

.job_name {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	height: 100%;
	padding-right: 30px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 2.1rem;
	line-height: 1.2;
	color: #4e3f2d;
	transition: opacity 0.3s ease;
}

.job_name::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	width: 19px;
	height: 19px;
	transform: translateY(-50%);
	background-image: url(../img/common/icon_arrow_dark.svg);
	background-repeat: no-repeat;
	background-size: contain;
	transition: transform 0.3s ease;
}

.job_item:hover .job_name::after {
	transform: translate(6px, -50%);
}

.job_item:hover .job_name {
	opacity: 0.8;
}

.job_name small {
	display: block;
	width: 100%;
	margin-top: 2px;
	font-size: 1.2rem;
	line-height: 1.2;
}

@media screen and (max-width: 1280px) {
	.recruit_en {
		font-size: 8rem;
	}
}

@media screen and (max-width: 840px) {
	#recruit_block {
		padding: 60px 0;
	}

	#recruit_block .title_box {
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		width: 100%;
	}

	#recruit_block .title_box .h2_style {
		width: 90%;
		margin: 0 auto -30px;
	}

	#recruit_block .title_box .h2_style span {
		font-size: 16px;
	}

	.recruit_en {
		font-size: 5rem;
	}



	.recruit_row {
		flex-direction: column;
		gap: 30px;
		margin-top: 40px;
	}

	.job_list {
		width: 100%;
	}


	.recruit_photo {
		z-index: -10;
	}

	.recruit_lead {
		margin-top: 20px;
		font-size: 14px;
		width: 90%;
		margin: 0 auto;
	}
}

@media screen and (max-width: 640px) {
	.job_list {
		width: 90%;
		margin: 0 auto;
		gap: 5px;
	}

	.recruit_lead {
		margin-top: 5px;
	}

	.recruit_row {
		margin-top: 25px;
	}

	.recruit_flower_bg_01 {
		position: absolute;
		display: block;
		top: -10px;
		/* ★縦の位置：Aboutブロックの上から60%の位置（適宜調整してください） */
		left: 0;
		/* ★横の位置：右端ぴったりに合わせる */
		width: 200px;
		/* 画像の横幅 */
		height: auto;
		z-index: -1;
		/* ★文字の後ろ、かつ全体の背景よりは前に配置 */
		pointer-events: none;
		/* マウスイベントを無効化してテキスト選択などの邪魔をさせない */
	}
}

/*-----------------------------------
    shoplist
-----------------------------------*/
#shoplist_block {
	padding: 100px 0;
	position: relative;
}

.shop_flower_bg_01 {
	position: absolute;
	top: 10%;
	/* ★縦の位置：Aboutブロックの上から60%の位置（適宜調整してください） */
	right: 0;
	/* ★横の位置：右端ぴったりに合わせる */
	width: 244px;
	/* 画像の横幅 */
	height: auto;
	z-index: -1;
	/* ★文字の後ろ、かつ全体の背景よりは前に配置 */
	pointer-events: none;
	/* マウスイベントを無効化してテキスト選択などの邪魔をさせない */
}

.shop_flower_bg_02 {
	position: absolute;
	bottom: -10px;
	/* ★縦の位置：Aboutブロックの上から60%の位置（適宜調整してください） */
	left: 0;
	/* ★横の位置：右端ぴったりに合わせる */
	width: 244px;
	/* 画像の横幅 */
	height: auto;
	z-index: -1;
	/* ★文字の後ろ、かつ全体の背景よりは前に配置 */
	pointer-events: none;
	/* マウスイベントを無効化してテキスト選択などの邪魔をさせない */
}

.shop_flower_bg_03 {
	display: none;
}

#shoplist_block .title_box .h2_style span {
	font-size: 3.2rem;
}

.shoplist_en {
	font-family: "Yellowtail", cursive;
	font-weight: 400;
	font-size: 10rem;
	color: #f73420;
}

.shop_list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 40px;
	margin-top: 60px;
}

.shop_card_oversea .shop_info {
	margin-top: 1.6em;
}

.shop_card {
	width: calc(50% - 20px);
}

.shop_photo {
	margin-bottom: -23px;
}


.shop_photo img {
	width: 100%;
	aspect-ratio: calc(577.5 / 334);
	height: auto;
	object-fit: contain;
}

.shop_name {
	position: relative;
	z-index: 1;
	width: 350px;
	max-width: 90%;
	margin: 0 auto;
	padding: 11px 20px;
	border-radius: 999px;
	border: 1px solid #4E3F2D;
	background-repeat: no-repeat;
	background-size: 100% 100%;
	background-color: #ffffff;
	text-align: center;
	font-family: "Zen Old Mincho", serif;
	font-weight: 700;
	font-size: 1.6rem;
	color: #4e3f2d;
}

.shop_info {
	padding: 20px 45px 50px;
}

.shop_address,
.shop_tel {
	position: relative;
	padding-left: 27px;
	font-family: "Zen Old Mincho", serif;
	font-weight: 500;
	font-size: 1.5rem;
	line-height: 1.6;
	color: #4e3f2d;
}

.shop_address {
	padding-bottom: 10px;
	margin-bottom: 10px;
	border-bottom: 1px solid #4e3f2d;
}

.icon_pin,
.icon_tel {
	position: absolute;
	left: 0;
	top: 3px;
	width: 18px;
	height: 18px;
	background-repeat: no-repeat;
	background-size: contain;
}

.icon_pin {
	background-image: url(../img/common/icon_pin.webp);
}

.icon_tel {
	background-image: url(../img/common/icon_tel.webp);
}

@media screen and (max-width: 1280px) {
	.shoplist_en {
		font-size: 8rem;
	}
}

@media screen and (max-width: 840px) {
	#shoplist_block {
		padding: 60px 0;
	}

	#shoplist_block .title_box .h2_style span {
		font-size: 16px;
	}

	.shoplist_en {
		font-size: 5rem;
	}

	.shop_list {
		flex-direction: column;
		gap: 20px;
		margin-top: -15px;
	}

	.shop_card_oversea .shop_info {
		margin-top: 0;
	}

	.shop_card {
		width: 100%;
	}

	.shop_info {
		padding: 20px 20px 40px;
	}
}

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

	.shop_list {
		flex-direction: column;
		gap: 0px;
	}

	.shop_flower_bg_01,
	.shop_flower_bg_02 {
		display: none;
	}

	.shop_flower_bg_03 {
		display: block;
		position: absolute;
		top: 0;
		/* ★縦の位置：Aboutブロックの上から60%の位置（適宜調整してください） */
		right: 0;
		/* ★横の位置：右端ぴったりに合わせる */
		width: 315px;
		/* 画像の横幅 */
		height: auto;
		z-index: -1;
		/* ★文字の後ろ、かつ全体の背景よりは前に配置 */
		pointer-events: none;
		/* マウスイベントを無効化してテキスト選択などの邪魔をさせない */
	}

}