@charset "UTF-8";
#header {
	position: fixed;
}

.wrap_emergency_news + #header {
	position: static;
}

.open #header {
	position: fixed;
	top: 0!important;
}

#header.fixed {
	width: 100%;
	position: fixed;
	top: 0!important;
}

/* =====================================
緊急のお知らせ
======================================== */
.wrap_emergency_news a {
	display: block;
	padding: 8px;
	background: #DD0012;
	color: #DD0012;
	font-weight: bold;
}

.inner_emergency_news {
	display: flex;
	gap: 8px;
	background: #fff;
	border-radius: calc(8 / 375 * 100vw);
	padding: 8px;
}

.inner_emergency_news::before {
	content: "";
	display: block;
	background: url(../images/icon_note.svg) no-repeat;
	background-size: contain;
	min-width: 32px;
	max-width: 32px;
	height: 32px;
}

.emergency_news_contents time {
	margin-left: 16px;
}

/* =====================================
FV
======================================== */
.fv {
	margin-top: 64px;
}

body:has(.wrap_emergency_news) .fv {
	margin-top: 0;
}
.fv::before {
	content: "";
	display: block;
	width: 100vw;
	height: 6.4vw;
	background: url(../images/top/fv_bg_circle_sp.svg) no-repeat;
	background-size: 100vw 6.4vw;
	bottom: -1px;
	position: absolute;
	z-index: 1;
}
.fv_catch_copy {
	width: 352px;
	height: 82px;
	background: url(../images/top/fv_catch_copy_sp.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 8px;
	left: 0;
}
.fv_catch_copy span {
	display: block;
	position: absolute;
	top: 34px;
	left: 50px;
	font-size: 18px;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.1em;
	color: #fff;
}

/* スライダー */
#fv_slider .splide-controller {
	bottom: 0;
	left: 24px;
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
	z-index: 10;
}
#fv_slider .splide__arrow--stop {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 8px;
	width: 88px;
	height: 32px;
	background: #fff;
	border: 1px solid #00853E;
	border-radius: 40px;
	font-weight: bold;
	font-size: 16px;
	font-size: 1.6rem;
}
#fv_slider .splide__arrow--stop::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(../images/icon_stop.svg) no-repeat;
	background-size: contain;
}

/* イラスト関係 */
.fv_icon {
	content: "";
	display: block;
	width: 173px;
	height: 160px;
	right: 0;
	bottom: 6px;
	position: absolute;
	z-index: 1;
}

/* =====================================
トップナビゲーション
======================================== */
.wrap_ul_top_nav {
	background: #EBFAD9;
}
.ul_top_nav:first-child li:nth-last-child(1),
.ul_top_nav:first-child li:nth-last-child(2) {
	border-bottom: 1px dashed #00853E;
}

.ul_top_nav:nth-child(1) li:nth-child(1) a::before {
	background-image: url(../images/nav_icon01.svg);
}
.ul_top_nav:nth-child(1) li:nth-child(2) a::before {
	background-image: url(../images/nav_icon02.svg);
}
.ul_top_nav:nth-child(1) li:nth-child(3) a::before {
	background-image: url(../images/nav_icon03.svg);
}
.ul_top_nav:nth-child(1) li:nth-child(4) a::before {
	background-image: url(../images/nav_icon04.svg);
}
.ul_top_nav:nth-child(2) li:nth-child(1) a::before {
	background-image: url(../images/nav_icon05.svg);
}
.ul_top_nav:nth-child(2) li:nth-child(2) a::before {
	background-image: url(../images/nav_icon06.svg);
}
.ul_top_nav:nth-child(2) li:nth-child(3) a::before {
	background-image: url(../images/nav_icon07.svg);
}
.ul_top_nav:nth-child(2) li:nth-child(4) a::before {
	background-image: url(../images/nav_icon08.svg);
}

/* =====================================
バナースライダー
======================================== */
.wrap_bnr_slider {
	padding: 24px 0 96px 0;
}

#bnr_slider {
	padding: 0 24px;
}
#bnr_slider .splide__track {
	overflow: visible;
}
#bnr_slider .splide__slide img {
	border-radius: 16px;
	height: 166px;
	-o-object-fit: cover;
	object-fit: cover;
}

.splide-controller {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	position: absolute;
	bottom: -24px;
	left: 50%;
	-webkit-transform: translate(-50%, 100%);
	transform: translate(-50%, 100%);
}
.splide-controller .splide__arrows {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	gap: 0 24px;
}
.splide-controller .splide__arrow {
	position: static;
	-webkit-transform: translateY(0);
	transform: translateY(0);
	width: 48px;
	height: 48px;
	background: url(../images/arrow_green.svg) no-repeat;
	background-size: contain;
	opacity: 1;
}
.splide-controller .splide__arrow:disabled {
	opacity: 0.4;
}
.splide-controller .splide__arrow--prev {
	-webkit-transform: scale(-1, 1);
	transform: scale(-1, 1);
}
.splide-controller .splide__arrow--stop {
	background: url(../images/icon_stop.svg) no-repeat;
	background-size: contain;
}

/* =====================================
トピックス
======================================== */
.topics {
	background-image: url(../images/top/topics_bg_wave_sp.png);
	background-repeat: repeat-x;
	background-size: 474px 80px;
	background-position: bottom left;
}
.topics .inner_section {
	position: relative;
}
.topics .inner_section::before {
	content: "";
	display: block;
	width: 72px;
	height: 160px;
	background: url(../images/top/topics_icon01_sp.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: -27px;
	right: -16px;
}

/* =====================================
イベント情報
======================================== */
.event {
	position: relative;
}
.event::before {
	content: "";
	display: block;
	width: 120px;
	height: 108px;
	background: url(../images/top/event_icon.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	right: 8px;
}

#event_slider,
#participation_slider,
#recommend_course_slider {
	padding: 0 24px;
	margin-bottom: 100px;
}
#event_slider .splide__track,
#participation_slider .splide__track,
#recommend_course_slider .splide__track {
	overflow: visible;
}
#event_slider .event_list_contents a,
#participation_slider .event_list_contents a,
#recommend_course_slider .event_list_contents a {
	border-radius: 8px;
}

.ul_event_list_detail li {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
}

/* =====================================
参加募集
======================================== */
.participation {
	background-image: url(../images/top/participation_bg_wave_sp.svg);
	background-repeat: repeat-x;
	background-size: 474px 80px;
	background-position: bottom left;
}
.participation .ttl_heading01 {
	position: relative;
}
.participation .ttl_heading01::after {
	content: "";
	display: block;
	width: 77px;
	height: 68px;
	background: url(../images/top/participation_icon.svg) no-repeat;
	background-size: contain;
	position: absolute;
	bottom: -40px;
	right: -16px;
}

/* =====================================
しあわせの村おすすめコース
======================================== */
.recommend_course {
	background-image: url(../images/top/recommend_course_bg_wave_sp.png);
	background-repeat: repeat-x;
	background-size: 474px 80px;
	background-position: bottom left;
}
.recommend_course .ttl_heading01 {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}
.recommend_course .ttl_heading01::before, .recommend_course .ttl_heading01::after {
	content: "";
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}
.recommend_course .ttl_heading01::before {
	width: 64px;
	height: 56px;
	background-image: url(../images/top/recommend_course_icon01.svg);
	top: -8px;
	left: -16px;
}
.recommend_course .ttl_heading01::after {
	width: 64px;
	height: 64px;
	background-image: url(../images/top/recommend_course_icon02.svg);
	top: 0;
	right: -16px;
}
.recommend_course .btn {
	position: relative;
}
.recommend_course .btn::before {
	content: "";
	display: block;
	width: 64px;
	height: 88px;
	background: url(../images/top/recommend_course_icon.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: -24px;
	left: 24px;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}

#recommend_course_slider a {
	display: block;
}

.recommended_img {
	width: calc(268 / 375 * 100vw);
	margin: 0 auto;
	position: relative;
	z-index: 1;
}

.recommended_img::before,
.recommended_img::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
}

.recommended_img::before {
	border: 8px solid #00853E;
	pointer-events: none;
	top: 0;
	left: 0;
	border-radius: 16px;
}

.recommended_img::after {
	background: #C9E595;
	border-radius: calc(24 / 375 * 100vw);
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(-8deg);
	z-index: -1;
}

.recommend_course_list_contents:nth-child(3n + 2) .recommended_img::after {
	background: #9AE46B;
}

.recommend_course_list_contents:nth-child(3n + 3) .recommended_img::after {
	background: #08C29A;
}

.ttl_recommend_course_list {
	font-weight: bold;
	margin-top: 32px;
	padding-bottom: 8px;
	border-bottom: 1px dashed #002B14;
}

.course_number {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 8px;
	color: #00853E;
	font-family: "Fugaz One", sans-serif;
	line-height: 2.75;
}
.course_number::after {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border: 1px solid #00853E;
	border-radius: 50%;
}

/* =====================================
しあわせの村とは
======================================== */
.about {
	padding: 0 0 32px;
	background-image: url(../images/top/about_bg_wave_sp.png);
	background-repeat: repeat-x;
	background-size: 474px 80px;
	background-position: bottom left;
}

.ul_about_img {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: nowrap;
	flex-wrap: nowrap;
	gap: 0 1.0666666667vw;
	margin-bottom: 8px;
}
.ul_about_img:first-child {
	-webkit-transform: translateX(-12px);
	transform: translateX(-12px);
}
.ul_about_img:last-child {
	margin-bottom: 0;
	-webkit-transform: translateX(12px);
	transform: translateX(12px);
}
.ul_about_img li {
	min-width: 33.0666666667vw;
}

/* ========== メインコンテンツ ========== */
.wrap_about_contents {
	width: 87.4666666667vw;
	padding: 64px 0;
	margin: 0 auto;
}
.wrap_about_contents .wrap_btn {
	margin: 32px 0 40px;
}
.wrap_about_contents .ttl_heading03 {
	margin-bottom: 24px;
}
.wrap_about_contents .ttl_heading03::before {
	content: none;
}

.about_txt {
	letter-spacing: 0.1em;
}

/* リンク集 */
.ul_about_link li {
	margin-bottom: 16px;
}
.ul_about_link li:last-child {
	margin-bottom: 0;
}
.ul_about_link li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 8px;
	border: 2px solid #00853E;
	padding: 0 38px 0 6px;
	height: 64px;
	border-radius: 8px;
	font-weight: bold;
	font-size: 18px;
	font-size: 1.8rem;
	position: relative;
}
.ul_about_link li a::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(../images/icon_external_link_black.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 16px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.ul_about_link li a img {
	min-width: 48px;
	max-width: 48px;
}

.about_img {
	margin-top: 24px;
}

/* =====================================
お知らせ
======================================== */
.news {
	background-image: url(../images/top/news_bg_wave_sp.png);
	background-repeat: repeat-x;
	background-size: 474px 80px;
	background-position: bottom left;
}
.news .btn {
	margin-top: 24px;
}

/* =====================================
しあわせの村公式アカウント
======================================== */
.sns .ttl_column {
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
}

/* インスタ */
.instagram_txt {
	width: 87.4666666667vw;
	margin: 16px auto 0;
	font-size: 20px;
	font-size: 2rem;
	font-weight: bold;
}

.ul_sns_link {
	width: 87.4666666667vw;
	margin: 10px auto 0;
}
.ul_sns_link li {
	margin-bottom: 32px;
}
.ul_sns_link li:last-child {
	margin-bottom: 0;
}
.ul_sns_link li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 16px;
	border: 2px solid #00853E;
	padding: 0 38px 0 24px;
	height: 80px;
	border-radius: 8px;
	font-weight: bold;
	font-size: 20x;
	font-size: 2rem;
	position: relative;
}
.ul_sns_link li a::before {
	content: "";
	display: block;
	min-width: 32px;
	max-width: 32px;
	height: 32px;
	background-repeat: no-repeat;
	background-size: contain;
}
.ul_sns_link li a::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(../images/icon_external_link_black.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 16px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.ul_sns_link li.link_instagram a::before {
	background-image: url(../images/icon_instagram.svg);
}
.ul_sns_link li.link_facebook a::before {
	background-image: url(../images/icon_facebook.svg);
}
.ul_sns_link li.link_x a::before {
	background-image: url(../images/icon_x.svg);
}

/* 施設のInstagramリンク */
.wrap_facility_instagram {
	width: 95.7333333333vw;
	margin: 24px auto 0;
	padding: 48px 0;
	background: #EBFAD9;
	border-radius: 24px;
}

.inner_facility_instagram {
	width: 87.4666666667vw;
	margin: 0 auto;
	position: relative;
}
.inner_facility_instagram::before {
	content: "";
	display: block;
	width: 48px;
	height: 56px;
	background: url(../images/top/icon_facility_instagram.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	right: -16px;
	-webkit-transform: translateY(-100%);
	transform: translateY(-100%);
}

.ul_facility_instagram li {
	margin-bottom: 16px;
}
.ul_facility_instagram li:last-child {
	margin-bottom: 0;
}
.ul_facility_instagram li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	padding: 16px;
	padding-right: 48px;
	border-bottom: 1px solid #00853E;
	color: #065A2D;
	font-weight: bold;
	font-size: 20px;
	font-size: 2rem;
	position: relative;
}
.ul_facility_instagram li a::after {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	background: url(../images/icon_external_link_green.svg) no-repeat;
	background-size: contain;
	position: absolute;
	top: 50%;
	right: 16px;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}

@media (min-width: 769px) {
	/* header */
	#header {
		position: fixed;
		background: url(../images/header_bg_pc.svg) no-repeat;
		background-size: contain;
		opacity: 0;
		transition: opacity .2s ease;
	}
	body:has(.wrap_emergency_news) #header {
		position: absolute;
	}
	#header.is-ready {
		opacity: 1;
	}
	.wrap_emergency_news + #header {
		position: absolute;
	}
	.wrap_emergency_news + #header.fixed {
		position: fixed;
	}
	.transform #header {
		background: #EBFAD9;
	}
	#header .wrap_ul_global_nav {
		display: none;
	}
	.wrap_header {
		height: 72px;
		padding: 0 24px;
	}
	/* =====================================
	緊急のお知らせ
	======================================== */
	.wrap_emergency_news a:hover {
		color: #fff;
		text-decoration: underline;
	}
	.wrap_emergency_news a:hover .inner_emergency_news {
		background: #DD0012;
	}
	.inner_emergency_news {
		align-items: center;
		gap: 24px;
		border-radius: 8px;
		padding: 8px min(calc(112 / 1360 * 100vw), 112px);
	}

	.inner_emergency_news::before {
		min-width: 48px;
		max-width: 48px;
		height: 48px;
	}

	.emergency_news_contents {
		display: flex;
		gap: 16px;
	}

	.emergency_news_contents time {
		margin-left: 0;
	}

	.emergency_news_contents span,
	.emergency_news_contents time {
		white-space: nowrap;
	}

	/* =====================================
	FV
	======================================== */
	.fv {
		margin-top: 0;
	}
	.fv::before {
		width: 100vw;
		height: 4.7058823529vw;
		background: url(../images/top/fv_bg_circle_pc.svg) no-repeat;
		background-size: 100vw 4.7058823529vw;
		bottom: 113px;
	}
	.fv_catch_copy {
		width: 648px;
		height: 221px;
		background-image: url(../images/top/fv_catch_copy_pc.svg);
		position: absolute;
		top: auto;
		bottom: 186px;
		left: 0;
	}
	.fv_catch_copy span {
		top: auto;
		bottom: 80px;
		left: 32px;
		font-size: 40px;
		font-size: 4rem;
		-webkit-transform: rotate(-5deg);
		transform: rotate(-5deg);
	}
	/* スライダー */
	#fv_slider .splide-controller {
		left: 3.5294117647vw;
		bottom: 150px;
	}
	/* イラスト関係 */
	.fv_icon {
		width: min(calc(346 / 1360 * 100vw), 346px);
		height: min(calc(294 / 1360 * 100vw), 294px);
		right: 24px;
		bottom: 154px;
	}
	/* =====================================
	トップナビゲーション
	======================================== */
	.wrap_ul_top_nav {
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		flex-wrap: wrap;
		margin-top: -114px;
		position: relative;
	}
	.ul_top_nav {
		flex-wrap: nowrap;
		padding: 12px 0;
	}
	.ul_top_nav li {
		width: 170px;
	}
	.ul_top_nav li a {
		gap: 8px;
		-webkit-box-orient: horizontal;
		-webkit-box-direction: normal;
		-ms-flex-direction: row;
		flex-direction: row;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		line-height: 1.2857142857;
	}
	.ul_top_nav li a::before {
		width: 24px;
		min-width: 24px;
		max-width: 24px;
		height: 24px;
		margin: 0;
	}
	.ul_top_nav:first-child li:nth-last-child(1),
	.ul_top_nav:first-child li:nth-last-child(2) {
		border-bottom: none;
	}
	.ul_top_nav:first-child li:nth-last-child(1)::before {
		border-right: none;
	}
	.ul_top_nav li:nth-child(4n+4)::before {
		content: "";
	}
	.ul_top_nav:last-child li:last-child::before {
		content: none;
	}
	.transform .wrap_ul_top_nav {
		width: 100%;
		position: fixed;
		top: 72px;
		left: 0;
		z-index: 10;
		margin-top: 0;
	}
	/* =====================================
	バナースライダー
	======================================== */
	.wrap_bnr_slider {
		padding: 80px 0;
		position: relative;
	}
	.splide-controller {
		bottom: -16px;
		left: calc(50% + 452px);
	}
	#bnr_slider .splide__slide img {
		height: 198px;
	}
	/* =====================================
	トピックス
	======================================== */
	.topics {
		background-image: url(../images/top/topics_bg_wave_pc.png);
		background-size: 1920px 324px;
	}
	.topics .inner_section {
		z-index: 1;
	}
	.topics .inner_section::before {
		width: 96px;
		height: 224px;
		background-image: url(../images/top/topics_icon01_pc.svg);
		top: -80px;
		right: -32px;
		z-index: -1;
	}
	.topics .inner_section::after {
		content: "";
		display: block;
		width: 96px;
		height: 280px;
		background: url(../images/top/topics_icon02_pc.svg) no-repeat;
		background-size: contain;
		position: absolute;
		top: -148px;
		left: -32px;
	}
	.topics .wrap_news_list_contents {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 16px 32px;
	}
	.topics .wrap_news_list_contents .news_list_contents {
		width: calc(50% - 16px);
	}
	/* =====================================
	イベント情報
	======================================== */
	.event {
		position: relative;
	}
	.event::before {
		width: 216px;
		height: 195px;
		top: 0;
		right: 40px;
	}
	.ttl_row {
		flex-direction: column;
		align-items: center;
		gap: 0;
	}
	#event_slider,
	#participation_slider,
	#recommend_course_slider {
		max-width: 1120px;
		margin: 0 auto;
		padding: 0;
		margin-bottom: 48px;
	}
	#event_slider .splide__track,
	#participation_slider .splide__track,
	#recommend_course_slider .splide__track {
		overflow: visible;
	}
	#event_slider .splide-controller,
	#participation_slider .splide-controller,
	#recommend_course_slider .splide-controller {
		left: 0;
		bottom: -56px;
		-webkit-transform: translate(0, 100%);
		transform: translate(0, 100%);
	}
	#event_slider .event_list_img img,
	#participation_slider .event_list_img img {
		height: 198px;
	}
	.wrap_slider_btn {
		width: min(95%, 1120px);
		margin: 0 auto;
	}
	.wrap_slider_btn .btn {
		margin-left: auto;
	}
	/* =====================================
	参加募集
	======================================== */
	.participation {
		background-image: url(../images/top/participation_bg_wave_pc.svg);
		background-size: 1920px 324px;
		position: relative;
	}
	.participation .ttl_heading01 {
		position: static;
	}
	.participation .ttl_heading01::after {
		width: 212px;
		height: 187px;
		bottom: auto;
		top: 0;
		right: 40px;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	/* =====================================
	しあわせの村おすすめコース
	======================================== */
	.recommend_course {
		background-image: url(../images/top/recommend_course_bg_wave_pc.png);
		background-size: 1920px 324px;
	}
	.recommend_course .ttl_heading01 {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	.recommend_course .ttl_heading01::before, .recommend_course .ttl_heading01::after {
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
	.recommend_course .ttl_heading01::before {
		width: 192px;
		height: 168px;
		top: -80px;
		left: 0;
	}
	.recommend_course .ttl_heading01::after {
		width: 176px;
		height: 176px;
		top: -56px;
		right: 0;
	}
	.recommend_course .btn {
		margin: 0 auto;
	}
	.recommend_course .btn::before {
		width: 160px;
		height: 220px;
		top: auto;
		bottom: -80px;
		left: -224px;
		-webkit-transform: translate(-100%, 0);
		transform: translate(-100%, 0);
	}
	.recommend_course .splide {
		visibility: visible;
	}
	.recommend_course .splide__list {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: min(2.3529411765vw, 32px);
	}
	.recommend_course .splide-controller {
		display: none;
	}
	.recommend_course_list_contents {
		width: min(25.8823529412vw, 352px);
	}
	.recommend_course_list_contents:nth-child(2) {
		margin-top: 64px;
	}
	#recommend_course_slider a {
		display: block;
	}

	.recommended_img {
		width: min(calc(320 / 1360 * 100vw), 320px);
	}

	.recommended_img::after {
		border-radius: min(calc(24 / 1360 * 100vw), 24px);
	}

	.ttl_recommend_course_list {
		font-size: 20px;
		font-size: 2rem;
	}
	/* =====================================
	しあわせの村とは
	======================================== */
	.about {
		padding: 0;
		background-image: url(../images/top/about_bg_wave_pc.png);
		background-size: 1920px 324px;
	}
	.inner_about {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		max-width: 1360px;
		margin: 0 auto;
		position: relative;
		z-index: 1;
	}

	.ul_about_img {
		width: 230px;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-direction: column;
		flex-direction: column;
		gap: 16px;
		position: absolute;
		top: 0;
		left: 0;
		z-index: -1;
	}
	.ul_about_img:first-child {
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
	.ul_about_img:last-child {
		-webkit-transform: translateX(0);
		transform: translateX(0);
		left: auto;
		right: 0;
	}
	.ul_about_img li {
		min-width: auto;
		width: 100%;
	}
	/* ========== メインコンテンツ ========== */
	.wrap_about_contents {
		width: 816px;
		padding: 120px 40px 100px;
		background: rgba(255, 255, 255, 0.8);
	}
	.wrap_about_contents .wrap_btn {
		margin: 80px 0 48px;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
	}
	.about_txt {
		font-size: 18px;
		font-size: 1.8rem;
		line-height: 2;
	}
	/* リンク集 */
	.ul_about_link {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 16px 32px;
	}
	.ul_about_link li {
		width: calc(50% - 16px);
		margin-bottom: 0;
	}
	.ul_about_link li a {
		gap: 16px;
		height: 80px;
		background: #fff;
	}
	.ul_about_link li a img {
		min-width: 64px;
		max-width: 64px;
	}
	.about_img {
		margin-top: 64px;
	}
	/* =====================================
	お知らせ
	======================================== */
	.news {
		background-image: url(../images/top/news_bg_wave_pc.png);
		background-size: 1920px 324px;
	}
	.news .btn {
		margin-top: 0;
	}
	.news .wrap_news_list_contents {
		max-width: 928px;
		margin: 0 auto;
	}
	.wrap_news_top {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: justify;
		-ms-flex-pack: justify;
		justify-content: space-between;
	}
	/* =====================================
	しあわせの村公式アカウント
	======================================== */
	.sns .ttl_column {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
	/* インスタ */
	.instagram_txt {
		width: auto;
		text-align: center;
	}
	.ul_sns_link {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		gap: 32px;
		width: 100%;
		margin: 40px auto 0;
	}
	.ul_sns_link li {
		width: 288px;
		margin-bottom: 32px;
	}
	/* 施設のInstagramリンク */
	.wrap_facility_instagram {
		width: calc(100% - 48px);
		margin: 48px auto 0;
		border-radius: 1.7647058824vw;
	}
	.inner_facility_instagram {
		width: min(95%, 1120px);
	}
	.inner_facility_instagram::before {
		width: 72px;
		height: 116px;
		-webkit-transform: translateY(-60%);
		transform: translateY(-60%);
	}
	.ul_facility_instagram {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 16px 32px;
	}
	.ul_facility_instagram li {
		width: calc(33.3333333333% - 21.3333333333px);
		margin-bottom: 0;
	}
	.btn a {
		height: 80px;
	}

	.fv {
		height: calc(100% - 160px);
	}
}

@media (min-width: 1375px) {
	/* =====================================
	トップナビゲーション
	======================================== */
	.ul_top_nav:first-child li:nth-last-child(1)::before {
		border-right: 1px dashed #00853E;
	}
}