@charset "UTF-8";
/*----------------------------
	施設紹介
-----------------------------*/
.section--facility .section__title__outer {
	margin-bottom: 80px;
}
.section--facility .align--c {
	margin-bottom: 128px;
}
.list--3column {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: 128px;
	gap: 24px 2%;
}
.list--3column::after {
	content: "";
	width: 32%;
	display: block;
}
.list--3column__item {
	aspect-ratio: 358/293;
	width: 32%;
	order: 0;
}
.order .list--3column__item:nth-child(2),
.order .list--3column__item:nth-child(3) {
	order: -1;
}
.bg--dandelion {
	background: url(../../../../uploads/2024/12/bg_garden_dandelion.png) bottom 34% right / 67% no-repeat;
}
.bg--leaf-childern {
	background: url(../../../../uploads/2024/12/bg_common_leaf-children.png) bottom 34% right / 67% no-repeat;
}
.bg--butterfly {
	background: url(../../../../uploads/2024/12/bg_hall_butterfly.png) bottom 34% right / 67% no-repeat;
}
.bg--window {
	background: url(../../../../uploads/2024/12/bg_1f_window.png) bottom 34% right / 67% no-repeat;
}
.bg--soap-bubbles {
	background: url(../../../../uploads/2024/12/img_2f_soap-bubbles.png) bottom 34% right / 67% no-repeat;
}
.list--3column__item .title {
	margin-top: 11%;
	margin-left: 6%;
}
.list--3column__item figure {
	width: 100%;
}
.list--3column__item figure img {
	border-radius: 10px;
	width: 100%;
	height: auto;
	border-radius: 10px;
}
/*----------------------------
	1日の流れ
-----------------------------*/
.section--flow {
	margin-bottom: 95px;
}
.section--flow .section__title__outer {
	margin-bottom: 48px;
}
.list--tab {
	display: flex;
	justify-content: center;
	font-family: var(--irohamaru);
}
.list--tab__item {
	background-color: #fff;
	margin: 0 12px;
	padding: 8px 48px;
	box-sizing: border-box;
	border-radius: 4px 4px 0 0;
	font-weight: 500;
	cursor: pointer;
}
.list--tab__item.age3-5 {
	border-left: 3px solid var(--accent-color-green);
	border-top: 3px solid var(--accent-color-green);
	border-right: 3px solid var(--accent-color-green);
}
.list--tab__item.age3-5.is--current {
	background-color: var(--accent-color-green);
}
.list--tab__item.age0-2 {
	border-left: 3px solid var(--accent-color-orange);
	border-top: 3px solid var(--accent-color-orange);
	border-right: 3px solid var(--accent-color-orange);
}
.list--tab__item.age0-2.is--current {
	background-color: var(--accent-color-orange);
}
.contents {
	background-color: #fff;
	font-family: var(--irohamaru);
	padding: 68px 8% 46px;
	box-sizing: border-box;
	display: none;
}
.contents.is--current {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.contents--3-5 {
	border-top: 9px solid var(--accent-color-green);
}
.contents--0-2 {
	border-top: 9px solid var(--accent-color-orange);
}
.contents__title {
	text-align: center;
	line-height: 2;
	letter-spacing: .15em;
	margin-bottom: 61px;
	width: 100%;
}
.link { color: var(--font-color); }
.list--img {
	width: 29%;
}
.list--img__item + .list--img__item {
	margin-top: 40px;
}
.list--img .img {
	border-radius: 10px;
	width: 100%;
	height: auto;
}
.list--flow {
	max-width: 548px;
	width: 68%;
}
.list--flow__item {
	display: flex;
	font-weight: 500;
	margin-bottom: 32px;
	min-height: 84px;
}
.list--flow__item .text__outer {
	width: 79%;
	padding-left: 26px;
	position: relative;
}
.list--flow__item .text__outer::before {
	content: "";
	width: 37px;
	height: 1px;
	position: absolute;
	background-color: var(--font-color);
	transform: rotate(-45deg);
	left: -5px;
	top: 45px;
}
.list--flow__item .text__outer::after {
	content: "";
	width: 6px;
	height: 6px;
	border-radius: 50%;
	position: absolute;
	left: -3px;
	top: 56px;
	background-color: var(--font-color);
}
.time {
	width: 21%;
	text-align: right;
	box-sizing: border-box;
	padding-right: 29px;
	padding-left: calc(1.5625rem + 20px);
	line-height: 2;
	margin-top: 2.625rem;
	position: relative;
}
.am::before,
.pm::before {
	font-size: var(--fs-12);
	line-height: 2.666666666666667;
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	margin: auto;
}
.am::before {
	content: "a.m.";
}
.pm::before {
	content: "p.m.";
}
.list--flow__item .title {
	line-height: 2;
	display: flex;
	align-items: center;
	border-bottom: 1px solid var(--font-color);
	margin-bottom: 4px;
	width: 100%;
}
.list--flow__item .title::before {
	content: "";
	width: 1.25rem;
	height: 1.25rem;
	display: inline-block;
	margin-right: 8px;
}
.ico--sun::before {
	background: url(../../../../uploads/2024/12/icon_sun.png) center / 100% no-repeat;
}
.ico--school::before {
	background: url(../../../../uploads/2024/12/icon_school.png) center / 100% no-repeat;
}
.ico--bucket::before {
	background: url(../../../../uploads/2024/12/icon_bucket.png) center / 100% no-repeat;
}
.ico--shapes::before {
	background: url(../../../../uploads/2024/12/icon_shapes.png) center / 100% no-repeat;
}
.ico--bowl-rice::before {
	background: url(../../../../uploads/2024/12/icon_bowl-rice.png) center / 100% no-repeat;
}
.ico--book::before {
	background: url(../../../../uploads/2024/12/icon_book.png) center / 100% no-repeat;
}
.ico--bag::before {
	background: url(../../../../uploads/2024/12/icon_bag.png) center / 100% no-repeat;
}
.ico--bus::before {
	background: url(../../../../uploads/2024/12/icon_bus.png) center / 100% no-repeat;
}
.ico--apple::before {
	background: url(../../../../uploads/2024/12/icon_apple.png) center / 100% no-repeat;
}
.ico--bed::before {
	background: url(../../../../uploads/2024/12/icon_bed.png) center / 100% no-repeat;
}
.ico--cookie::before {
	background: url(../../../../uploads/2024/12/icon_cookie.png) center / 100% no-repeat;
}
.ico--family::before {
	background: url(../../../../uploads/2024/12/icon_family.png) center / 100% no-repeat;
}
.list--flow .align--r {
	font-weight: 500;
}
.list--flow__item .text {
	line-height: 1.5;
	font-size: var(--fs-14);
	font-family: var(--yugothic);
	font-weight: normal;
	padding-left: 30px;
	width: 100%;
	box-sizing: border-box;
}
/*----------------------------
	主な年間行事
-----------------------------*/
.section--event .section__title__outer {
	margin-bottom: 68px;
}
.list--event {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 80px 32px;
}
.list--event__item {
	width: 45%;
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
}
.list--event__item .text__outer {
	max-width: 219px;
	width: 43.8%;
}
.list--event__item .title {
	margin-bottom: 14px;
}
.list--event__item .title img {
	width: 100%;
	max-width: max-content;
	height: auto;
}
.section--event .img {
	border-radius: 10px;
	cursor: pointer;
}
.list--event__item .list__item {
	padding-left: 1em;
	position: relative;
	font-size: var(--fs-14);
}
.list--event__item .list__item::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}
.ico--photo {
	position: relative;
	width: 54%;
}
.ico--photo::before {
	content: "";
	width: 24px;
	height: 21px;
	background: url(../../../../uploads/2024/12/icon_photo.png) center / 100% no-repeat;
	position: absolute;
	top: 8px;
	right: 8px;
}
.ico--photo img {
	width: 100%;
	height: auto;
}
.modal {
	display: none;
}
.modal.is--active {
	position: fixed;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, .6);
	z-index: 1000;
}
.modal .pst--rel {
	aspect-ratio: 800/600;
	max-width: 800px;
	width: 55%;
}
.close {
	color: transparent;
	background-color: transparent;
	position: fixed;
	z-index: 1;
	cursor: pointer;
	right: 24px;
    top: 24px;
}
.close::before,.close::after {
	content: "";
	width: 32px;
	height: 4px;
	background-color: #fff;
	position: absolute;
	left: 0;
}
.close::before {
	transform: rotate(45deg);
}
.close::after {
	transform: rotate(-45deg);
}
.list--slider,.list--modal {
	width: 100%;
	aspect-ratio: 800/600;
}
.list--slider img,.list--modal img {
	width: 100%;
	height: auto;
}
.slick-prev,.slick-next {
	background: transparent;
	width: 40px;
	height: 40px;
	border-left: 4px solid #fff;
	border-bottom: 4px solid #fff;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	color: transparent;
	z-index: 1;
	cursor: pointer;
}
.slick-prev {
	left: 14px;
	transform: rotate(45deg);
}
.slick-next {
	right: 14px;
	transform: rotate(-135deg);
}
.slick-dots {
	display: flex;
	justify-content: center;
	margin-top: 16px;
}
.slick-dots li button {
	background: #d9d9d9;
	color: transparent;
	font-size: 0;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	display: block;
	padding: 0;
	margin: 0 8px;
	cursor: pointer;
}
.slick-dots li.slick-active button {
	background: var(--accent-color-orange);
}
/*----------------------------
	media query
-----------------------------*/
@media screen and (max-width: 960px){
	.time {
		padding-left: 0;
	}
	.am::before, .pm::before {
		position: static;
		display: block;
		line-height: 1;
	}
}
@media screen and (max-width: 768px){
	/* 施設紹介 */
	.list--3column::after,
	.list--3column__item {
		width: 49%;
	}
	.order .list--3column__item:nth-child(3) {
		order: 0;
	}
	.list--3column__item .mb--6 {
		font-size: var(--fs-14);
		margin-left: 0;
	}
	.list--3column__item .title picture img {
		width: 143px;
		height: auto;
	}
	/* 1日の流れ */
	.section--flow .inner {
		width: 100%;
	}
	.list--tab__item {
		padding: 8px 32px;
	}
	.contents {
		padding: 68px 15px 70px;
	}
	.contents__title {
		margin-bottom: 30px;
	}
	.list--img {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		gap: 10px 2%;
		margin-bottom: 77px;
	}
	.list--img__item {
		width: 49%;
	}
	.list--img__item img {
		width: 100%;
		height: auto;
	}
	.list--img__item + .list--img__item {
		margin-top: 0;
	}
	.list--flow {
		width: 100%;
	}
	.time {
		width: auto;
	}
	/* 主な年間行事 */
	.list--event {
		gap: 16px 2%;
	}
	.list--event__item {
		flex-direction: column-reverse;
		align-items: center;
		justify-content: flex-end;
		width: 49%;
	}
	.ico--photo {
		width: 100%;
		margin-bottom: 8px;
	}
	.list--event__item .text__outer {
		width: 100%;
	}
	.list--event__item .title {
		text-align: center;
	}
	.list--event__item .title img {
		width: 82%;
	}
	.modal .pst--rel {
		width: 100%;
	}
}