@charset "UTF-8";



/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}








:root{
	--text_color: #484544;
	--color1: #dce751;
	--color2: #acd059;
	--color3: #f9f6ef;
	--color4: #d6c293;
	--color5: #f9f5f4;
	--color6: #f08752;
}

html{
	font-size: 10px;
	scroll-behavior: smooth;
}

html[lang]{
	margin: 0 !important;
}
#wpadminbar{
	display: none;
}

body{
	padding: 0;
	margin: 0;
	font-family: "zen-maru-gothic", sans-serif;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 1.8;
	word-break: break-all;
	overflow-wrap: anywhere;
	overflow-x: hidden;
	color: var(--text_color);
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: 100%; /* iPhoneだけ文字が大きくなる現象を防ぐ */
	/*font-feature-settings: "palt";*/ /* 文字詰め（フォントにカーニング情報が含まれる場合） */

	/* iPhoneで上下のバーを抜いた高さ */
	height: -webkit-fill-available;
	height: -moz-available;
}

::-webkit-input-placeholder{ color: #bbb; }
:-moz-placeholder          { color: #bbb; }
:-ms-input-placeholder     { color: #bbb; }

html.pc .sp{ display: none !important; }
html.sp .pc{ display: none !important; }

.zen_maru_gothic{
	font-family: "zen-maru-gothic", sans-serif;
}
.zen_maru_gothic_medium{
	font-family: "zen-maru-gothic", sans-serif;
	font-weight: 500;
}
.zen_maru_gothic_bold{
	font-family: "zen-maru-gothic", sans-serif;
	font-weight: 700;
}

img{
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
iframe{
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

:is(h1, h2, h3).type1{
	text-align: center;
	font-size: 3.6rem;
	font-weight: 700;
	padding: 1px 0 0;
}
h1.type1{
	margin: 30px 0 100px;
}
:is(h1, h2, h3).type1 small{
	display: block;
	font-family: "maru-maru-gothic-asr-stdn", sans-serif;
	font-size: 1.8rem;
	font-weight: 300;
}
:is(h1, h2, h3).type1:before{
	content: "";
	display: block;
	height: 35px;
	width: 350px;
	border-radius: 50px;
	margin: 33px auto -68px;
	background-color: var(--color1);
}

:is(h1, h2, h3).type2{
	text-align: center;
	font-size: 4.2rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.6;
	margin: 0.6em 0;
}
:is(h1, h2, h3).type2 small {
	font-size: 0.52em;
	letter-spacing: 0.05em;
}

:is(h1, h2).type3{
	text-align: center;
	font-size: 3.8rem;
	letter-spacing: 0.1em;
	padding: 70px 0 0;
	background-image: url(img/common/h2_3.webp);
	background-size: 170px;
	background-position: 50% 0;
	background-repeat: no-repeat;
	margin: 80px 0 40px;
}
:is(h1, h2).type3 small{
	display: block;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0;
}

:is(h1, h2).type4{
	font-size: 5rem;
}

h4{
	text-align: center;
	font-size: 3.5rem;
	margin: 90px 0 20px;
}
h4 small{
	display: block;
	font-size: 2.5rem;
}

h3.type3{
	text-align: center;
	font-size: 3.1rem;
	font-weight: 500;
	letter-spacing: 0.3em;
	padding: 0 0 0 0.3em;
	margin: 50px 0 10px;
}


hr{
	border: 0;
	border-top: 1px solid #c9c9c9;
	margin: 30px 0;
}

p{
	text-align: justify;
}
p.type1{
	text-align: center;
	line-height: 2;
	letter-spacing: 0.07em;
	margin: 10px 0 30px;
}
.ls01{
	letter-spacing: 0.1em;
}
.ta_center{
	text-align: center;
}

b{
	display: inline-block;
	font-size: inherit;
	font-weight: inherit;
	font-style: inherit;
	font-family: inherit;
}

a,
a:link,
a:visited{
	color: var(--text_color);
	transition: color 0.15s linear;
	text-decoration-color: #cdcdcd;
}
a:hover{
	color: color(from var(--color1) xyz calc(x * 0.75) calc(y * 0.75) calc(z * 0.75));
}
a:hover img{
	filter: drop-shadow(0px 0px 5px var(--color1));
}

body :is(.button1, .button2, .button3, .button4, .button5),
body :is(.wpcf7cp-cfm-edit-btn, .wpcf7cp-cfm-submit-btn){
	background-color: transparent;
	border: none;
	border-radius: 0;
	cursor: pointer;
	outline: none;
	padding: 0;
	-webkit-appearance: none;
	appearance: none;
	text-decoration: none;

	user-select: none;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	font-family: "zen-maru-gothic", sans-serif;
	box-sizing: border-box;
	height: 50px;
	padding: 4px 70px 5px 40px;
	border-radius: 100px;
	color: #000;
	background-color: var(--color1);
	background-image: url(img/common/button_arrow1.webp);
	background-size: 20px;
	background-position: 90% 50%;
	background-repeat: no-repeat;
	transition: filter 0.15s linear, background-color 0.15s linear;
}
body :is(.button1, .button3, .button4):hover{
	filter: brightness(1.07);
}
body .button2:hover{
	background-color: var(--color1);
}
body .button2{
	background-color: #fff;
	border: 1px solid var(--text_color);
}
body .button3{
	color: #fff;
	background-color: var(--color2);
	background-image: url(img/common/button_arrow2.webp);
}
body .button4{
	color: #fff;
	background-color: var(--color4);
	background-image: none;
	height: 60px;
	padding: 4px 40px 5px 40px;
}
body :is(.button5, .wpcf7cp-cfm-edit-btn, .wpcf7cp-cfm-submit-btn){
	font-size: 2rem;
	font-weight: 700;
	color: var(--color6);
	background-color: #fff;
	border: 2px solid var(--color6);
	background-image: url(img/common/button_arrow3.webp);
	padding: 4px 70px 5px 70px;
}
body .wpcf7cp-cfm-edit-btn{
	background-color: #f7f7f7;
	filter: grayscale(100%);
}
body :is(.button5, .wpcf7cp-cfm-edit-btn, .wpcf7cp-cfm-submit-btn):hover{
	background-color: #fef2eb;
}
body .wpcf7cp-cfm-edit-btn:hover{
	filter: grayscale(100%) brightness(0.95);
}

@keyframes kara_a {
	0%   { opacity: 1; }
	50%  { opacity: 0; }
	100% { opacity: 1; }
}
a[href=""]{
/*	animation: kara_a 0.5s linear 0s infinite;*/
}

.page_width{
/*	max-width: 90%;*/
	width: 1150px;
	margin: 0 auto;
/*	box-shadow: 0px 0 0px 1px rgba(0,0,0,0.1);*/
}
.page_width .page_width{
/*	max-width: 100%;*/
}

.site-header{
	position: relative;
	z-index: 500;
}
.site-header .site-branding{
	display: flex;
	justify-content: space-between;
	padding: 15px 3vw 20px;
}
.site-header .site-branding img[src*="/header/2."]{
	margin: 8px 0 0 35px;
}
.site-header .site-branding .right{
	display: flex;
	align-items: flex-start;
	font-size: 1.3rem;
	color: #666;
	padding: 5px 0 0;
}
.site-header .site-branding .right .frame{
	line-height: 11px;
	border: 1px solid #666;
	padding: 5px 10px;
	margin-right: 20px;
}
.site-header .site-branding .right img[src*="/header/4."]{
	margin-bottom: 10px;
}

#site-navigation,
#site-navigation :is(.left, .right, .sns){
	display: flex;
	justify-content: space-between;
	align-items: center;
}
#site-navigation :is(.left, .right){
	box-sizing: border-box;
	width: 400px;
}
#site-navigation .right{
	padding: 0 20px 0 0;
}
#site-navigation .left{
	justify-content: space-evenly;
}
#site-navigation a{
	text-decoration: none;
	text-align: center;
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1;
	padding: 18px 0;
}
#site-navigation a small{
	display: block;
	font-size: 1rem;
	color: #acd059;
	margin: 5px 0 0;
}

.site-footer{
	margin: 100px 0 0;
}
.site-footer .footer1{
	display: flex;
	justify-content: center;
	text-align: center;
	gap: 70px;
	font-size: 2rem;
	margin: 50px 0;
}
.site-footer .footer1 .tel{
	text-decoration: none;
	font-family: "maru-maru-gothic-asr-stdn", sans-serif;
	font-size: 4.2rem;
}
.site-footer .footer1 small{
	font-size: 1.6rem;
}
.site-footer .footer1 .footer_img_2{
	margin: 0 0 10px;
}
.site-footer .footer1 .contact{
	display: inline-block;
	border: 1px solid #000;
	border-radius: 50px;
	padding: 8px 30px;
	text-decoration: none;
	font-size: 1.8rem;
	font-weight: 700;
	transition: 0.15s linear;
}
.site-footer .footer1 .contact:hover{
	border-color: color(from var(--color1) xyz calc(x * 0.75) calc(y * 0.75) calc(z * 0.75));
}
.site-footer .footer1 .border{
	border-left: 1px solid #000;
}
.site-footer .footer_access{
	display: none;
}
.site-footer .footer_access .h2_bg{
	height: 577px;
	background-image: url(img/common/footer/3.webp);
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
}
.site-footer .footer_access .map iframe{
	width: 100%;
	height: 530px;
	filter: grayscale(100%);
}
.site-footer .footer2{
	display: flex;
	justify-content: center;
	gap: 40px;
	margin: 50px 0;
}
.site-footer .footer2 > div{
	display: flex;
	align-items: flex-end;
	gap: 20px;
}
.site-footer .footer2 .footer2_2{
	font-size: 1.8rem;
	margin: 0 30px 0 0;
}
.site-footer .footer2 .footer2_2 .tel{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	font-family: "maru-maru-gothic-asr-stdn", sans-serif;
	font-weight: 400;
	font-size: 3.1rem;
}
.site-footer .footer2 .footer2_2 .tel_img{
	width: 30px;
}
.site-footer .footer2 .footer2_2 .insta_img{
	width: 20px;
}
.site-footer .footer2 .footer2_2 .map{
	display: inline-flex;
	align-items: center;
	gap: 5px;
	text-decoration: none;
}
.site-footer .footer2 .link{
	display: flex;
	flex-direction: column;
	gap: 13px;
}
.site-footer .footer2 .link a{
	text-decoration: none;
	font-size: 1.4rem;
	line-height: 1;
	border-left: 1px solid var(--text_color);
	padding-left: 10px;
}

.site-footer .footer3{
	padding: 20px 0 13px;
	background-color: #f4f4f4;
	margin: 15px 0 0;

	a:hover img{
		filter: none;
	}
	a.yukinko{
		margin: 0px 0 10px;
	}
}
.site-footer .footer3_1{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 20px;
	margin: 0 0 45px;
}
.site-footer .footer3_1 .border{
	border-left: 0.6px solid #676564;
	height: 25px;
}
.site-footer .footer3_2{
	display: none;
}
.site-footer .copyright{
	text-align: center;
	font-size: 1rem;
	margin: 50px 0 0;
}

.side_tab{
	position: fixed;
	right: 0;
	top: 200px;
	z-index: 1000;
}
.side_tab a{
	display: inline-block;
	writing-mode: vertical-rl;
	text-decoration: none;
	font-weight: 700;
	line-height: 1;
	background-color: var(--color3);
	border: 2px solid #fff;
	border-right: 0;
	border-radius: 10px 0 0 10px;
	padding: 10px;
	width: 20px;
}

.gototop{
	position: fixed;
	right: 30px;
	bottom: 110px;
	z-index: 1000;
}
a:hover .gototop{
	filter: none;
}

.anchor_target{
	position: relative;
	top: 0px;
}

.main_image{
	border-radius: 50px;
	overflow: hidden;
	margin: -60px 0 0;
}
.main_image div#n2-ss-2 .n2-bullet{
	background-color: #fff;
}
.main_image div#n2-ss-2 .n2-bullet:hover,
.main_image div#n2-ss-2 .n2-bullet.n2-active{
	background-color: #dce751;
}

input[type="radio"]{
	width: 1.5em;
	height: 1.5em;
	border: 1px solid rgba(0,0,0, 0.8);
	border-radius: 100px;
	background-color: #fff;
	vertical-align: -0.3em;
	-webkit-appearance: none;
	   -moz-appearance: none;
	        appearance: none;
}
input[type="radio"]:checked{
	border: 1px solid var(--color1);
	background-color: var(--color1);
}




/* トップ *************************************************************************** */

.page-template-top{
}

.page-template-top .news .h2_row{
	display: flex;
	justify-content: space-around;
	align-items: flex-end;
	text-align: center;
	margin: -20px 0 0;
}
.page-template-top .news .h2_row :is(.voice, .book){
	flex-basis: 25%;
	position: relative;
	top: -45px;
	font-size: 1.6rem;
}
.page-template-top .news .h2_row .book{
	top: -30px;
}

.post_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 60px 0;
}
.post_list .article{
	flex-basis: 30%;
	text-decoration: none;
}
.post_list .article .image{
	background-color: #eee;
	width: 258px;
	aspect-ratio: 258 / 229;
	border-radius: 17px;
	overflow: hidden;
	margin: 0 0 -16px;
	transition: opacity 0.15s linear;
}
.post_list .article:hover .image{
	opacity: 0.8;
}
.post_list .article .text{
	position: relative;
	margin: 0 15px 0;
}
.post_list .article .category{
	display: inline-block;
	font-size: 1.5rem;
	line-height: 1.5;
	color: #000;
	background-color: var(--color1);
	border-radius: 17px;
	padding: 3px 15px;
}
.post_list .article .title{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	font-size: 2.4rem;
	line-height: 1.3;
	margin: 10px 0;
}
.post_list .article .content{
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	overflow: hidden;
}

.page-template-top .bg3{
	text-align: center;
	background-image: url(img/top/3bg.webp);
	background-position: 50% 0;
	background-repeat: no-repeat;
	padding: 100px 0 0;
	margin: 100px 0;
}
.page-template-top .bg3 p{
	text-align: center;
}
.page-template-top .bg3 .spacer1{
	height: 240px;
}

.page-template-top .bg4{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	background-image: url(img/top/4bg.webp);
	background-size: cover;
	background-position: 50% 0;
	background-repeat: no-repeat;
	box-sizing: border-box;
	aspect-ratio: 1224 / 717;
	padding: 0 0 50px;
	margin: 50px 0;
}

.page-template-top .bg5{
	background-image: url(img/top/5bg.webp);
	background-position: calc(50% + 60px) 0;
	background-repeat: no-repeat;
	box-sizing: border-box;
	padding: 160px 0 0px;
	margin: 50px 0;
}

.round20{ border-radius: 20px; }
.round30{ border-radius: 30px; }
.round40{ border-radius: 40px; }
.round50{ border-radius: 50px; }

.page-template-top .area6{
	text-align: center;
}
.page-template-top .area6 .img6{
	margin: 0 0 -20px;
}

.page-template-top .row7{
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	gap: 50px;
}
.page-template-top .row7 .text{
	width: 470px;
}
.page-template-top .row7 .text h3{
	text-align: left;
	white-space: nowrap;
	font-size: 4.1rem;
}

.page-template-top .area8{
	background-color: var(--color2);
	background-image: url(img/top/8bg.svg);
	background-size: 100%;
	background-position: 50% 0;
	background-repeat: no-repeat;
	padding: 100px 0;
	overflow: hidden;
}
.page-template-top .area8 h2{
	color: #fff;
}
.page-template-top .area8 .area8_1{
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	margin: 0 0 90px;
	gap: 30px;
}
.page-template-top .area8 .area8_1 .left{
	width: 600px;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 16px 0;
	z-index: 100;
}
.page-template-top .area8 .area8_1 .left .box{
	box-sizing: border-box;
	flex-basis: calc(50% - 8px);
	text-align: center;
	background-color: #fff;
	border-radius: 30px;
	padding: 30px 10px;
}
.page-template-top .area8 .area8_1 .left .box2{
	background-color: transparent;
}
.page-template-top .area8 .area8_1 .left .img8_2{
	max-width: none;
	margin: 0 -130px -100px 0;
}
.page-template-top .area8 .area8_1 .left .box p{
	text-align: center;
	margin: 10px 0 0;
}
.page-template-top .area8 .area8_1 .right{
	background-image: url(img/top/8_1.webp);
	background-size: cover;
	background-position: 0% 50%;
	background-repeat: no-repeat;
	border-radius: 30px 0 0 30px;
	width: max(calc(50vw - 500px + 370px), 470px);
	height: 650px;
}
.page-template-top .area8 h4{
	display: flex;
	justify-content: center;
	align-items: center;
	color: var(--color2);
	font-size: 2.9rem;
	line-height: 1.4;
	margin: 0;
	min-height: 2.8em;
}
.page-template-top .area8 .area8_2{
	color: #fff;
	text-align: center;
	background-image: url(img/top/9.webp);
	background-size: 803px;
	background-position: calc(50% - 120px) 20px;
	background-repeat: no-repeat;
	padding: 10px 0 0;
	margin: 50px 0 0;
}
.page-template-top .area8 .area8_2 p{
	text-align: center;
}
.page-template-top .area8 .area8_2 h3{
	font-size: 4.1rem;
	letter-spacing: 0.05em;
}
.page-template-top .area8 .area8_2 .movie_junbichu{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 2.9rem;
	color: #fff;
	background-color: #b6cf63;
	border: 1px solid #fff;
	height: 550px;
}
.page-template-top .area8 .area8_2 .movie{
	border-radius: 50px;
	border: 20px solid #fff;
	overflow: hidden;
}
.page-template-top .area8 .area8_2 .movie iframe{
	width: 100%;
	height: 500px;
}

.page-template-top .area9{
	font-size: 2rem;
	background-color: var(--color3);
	background-image: url(img/top/10_2.webp);
	background-size: 115px;
	background-position: calc(50% + 350px) 310px;
	background-repeat: no-repeat;
	padding: 50px 0 50px;
}
.page-template-top .area9_1{
	display: flex;
	margin: 0 0 20px;
	gap: 40px;
}
.page-template-top .area9_1 .left{
	background-image: url(img/top/10_1.webp);
	background-size: cover;
	background-position: 0% 50%;
	background-repeat: no-repeat;
	border-radius: 0 30px 30px 0;
	width: max(calc(50vw - 425px + 200px), 375px);
}
.page-template-top .area9_1 .right{
	font-size: 2.2rem;
}
.page-template-top .area9_1 .right p{
	margin-top: 0;
}
.page-template-top .area9_1 .right dl{
	margin-bottom: 0;
}
.page-template-top .area9_2{
	text-align: center;
	margin: 30px 0;
}

.page-template-top .area11{
	text-align: center;
	padding: 50px 0;
}
.page-template-top .area11 h2{
	line-height: 1.3;
}
.page-template-top .area11 .button3{
	margin-top: 30px;
}

dl.type1{
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: 10px;
}
dl.type1 dt{
	text-align: center;
	line-height: 1.4;
	border: 0.5px solid var(--text_color);
	border-radius: 5px;
	padding: 2px 10px;
}
dl.type1 dd{
	margin: 0;
}

.page-template-top .site-footer .footer_access{
	display: block;
}




/* 保育の特徴 *************************************************************************** */

.page-template-features{

}

.page-template-features h3{
	margin: 80px 0 12px;
}

/*.page-template-features .p1{
	text-align: center;
	line-height: 2;
	letter-spacing: 0.07em;
	margin: 10px 0 30px;
}*/

.page-template-features .boxes1{
	display: flex;
	justify-content: center;
	gap: 26px;
	flex-wrap: wrap;

	span{
		display: block;
		margin: 5px 10px 0;
	}
}
.page-template-features .img13_4{
	position: absolute;
	margin: 70px 0 0 110px;
}
.page-template-features .img6{
	position: absolute;
	margin: -30px 0 0 900px;
}

.page-template-features .img3_1{
	position: absolute;
	margin: -90px 0 0 -150px;
}
.page-template-features .img3_2{
	margin: 0 0 20px;
}

.row_type1{
	display: flex;
	height: 493px;
	gap: 30px;
}
.row_type1 :is(.col1, .col2, .col3){
	flex-grow: 1;
	background-image: url(img/features/5_1.webp);
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	border-radius: 0 50px 50px 0;
}
.row_type1 .col2{
	background-image: url(img/features/5_2.webp);
	border-radius: 50px;
}
.row_type1 .col3{
	background-image: url(img/features/5_3.webp);
	border-radius: 50px 0 0 50px;
}
.page-template-features .row_b .col1{
	background-image: url(img/features/12.webp);
}
.page-template-features .row_b .col3{
	background-image: url(img/features/12_2.webp);
}

.page-template-features .img4{
	position: absolute;
	margin: -120px 0 0 550px;
}

.page-template-features .spacer1{
	height: 100px;
}

.page-template-features .img7_1{
	position: absolute;
	margin: -30px 0 0 260px;
}

.page-template-features .row2{
	display: flex;
	align-items: center;
	gap: 30px;
	margin: 25px 0;
}
.page-template-features .row2 .col2{
	font-size: 2.5rem;
	line-height: 2;
	letter-spacing: 0.1em;
}

.page-template-features .row_kondate{
	display: flex;
	justify-content: space-between;
}
.page-template-features .row_kondate .col{
	flex-basis: 17%;
	text-align: center;
}
.page-template-features .row_kondate .col .image{
	display: inline-block;
	border-radius: 30px;
	overflow: hidden;
}
.page-template-features .row_kondate .col .weekday{
	font-size: 2.3rem;
	line-height: 1.3;
	background-color: var(--color1);
	border-radius: 100px;
	padding: 0 0 2px;
}
.page-template-features .row_kondate .col p{
	font-size: 1.5rem;
	margin: 10px -20px 0 0;
}

.page-template-features #recipe{
	background-color: var(--color3);
	padding: 60px 0 35px;
	margin: 60px 0;
}
.page-template-features #recipe h4{
	margin: 0 0 40px;
}
.page-template-features #recipe .list{
	display: flex;
	justify-content: space-between;
	gap: 20px 0;
	flex-wrap: wrap;
	margin: 0 0 25px;
}
.page-template-features #recipe .list .box{
	aspect-ratio: 1;
	flex-basis: 32%;
	background-color: #eee;
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	border-radius: 30px;
}





/* 園の紹介 *************************************************************************** */

.page-template-introduction .img2{
	margin: -50px 0 50px;
}

.page-template-introduction p.type1{
	margin: 20px 0 80px;
}

.page-template-introduction .row_a{
	margin: 0 0 50px;
}
.page-template-introduction .row_a .col1{
	background-image: url(img/introduction/13_1.webp);
}
.page-template-introduction .row_a .col3{
	background-image: url(img/introduction/13_2.webp);
}

.nafuda1{
	display: inline-block;
	font-size: 2rem;
	line-height: 1.4;
	color: #000;
	background-color: var(--color1);
	padding: 2px 50px;
	border-radius: 100px;
}

.page-template-introduction .bg6{
	display: flex;
	justify-content: center;
	align-items: flex-end;
	background-image: url(img/introduction/6.webp);
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	box-sizing: border-box;
	height: 945px;
	padding: 0 0 30px;
}
.page-template-introduction .bg6 div{
	margin: 0 700px 0 0;
}

.page-template-introduction .img7{
	margin: -170px 0 0;
}

.page-template-introduction .area1{
	margin: 60px auto;
}
.page-template-introduction .nafuda_outer1{
	text-align: right;
	padding: 0 30px;
	margin: -60px 0 60px;
}
.page-template-introduction .nafuda_outer2{
	text-align: center;
	margin: -15px 0 30px;
}
.page-template-introduction .nafuda_outer3{
	padding: 0 30px;
	margin: -15px 0 30px;
}

.page-template-introduction .row1{
	display: flex;
	justify-content: space-between;
	gap: 35px;
}





/* ゆきんこの生活 *************************************************************************** */

.page-template-day_event{
	.itiniti_container {
		text-align: center;
		max-width: 980px;
		margin: 0 auto;
		
		p{
			font-size: 1.8rem;
			text-align: center;
		}

		img{
			border-radius: 20px;
		}

		/* ヘッダー部分 */
		.header-grid {
			display: grid;
			grid-template-columns: 1fr 1fr;
			gap: 20px;
			margin-bottom: 30px;
		}

		.header-box {
			text-align: center;
			padding: 15px 0;
			border-radius: 10px;
		}

		.header-box h2 {
			font-size: 2.4rem;
			font-weight: bold;
			width: 300px;
			margin: 0 auto 10px;
			border-radius: 100px;
			background-color: var(--color1);
		}

		.header-box p {
			margin: 0;
			line-height: 2;
			white-space: nowrap;
			min-height: 220px;
		}
		
		/* タイムライン本体 (Gridレイアウトに変更) */
		.timeline {
			display: grid;
			grid-template-columns: 1fr 120px 1fr; /* 左、中央、右の3カラム構成 */
			gap: 20px;
			align-items: start; /* 各行の高さをコンテンツに合わせる */
			padding-bottom: 70px;
		}

		/* タイムラインの真ん中の縦線 */
		.timeline::before {
		}

		.timeline-column.center-column {
			position: relative;
			margin: 220px 0 0;
		}
		.timeline-column.center-column:before {
			content: '';
			position: absolute;
			top: 70px;
			left: 50%;
			width: 5px;
			background-color: var(--color1);
			transform: translateX(-50%);
			z-index: -1; /* マーカーより後ろに配置 */
			bottom: 70px;
		}

		/* 各カラム内の要素のスタイル */
		.timeline-column > div {
			/* min-height: 140px; */ /* マーカーの高さに合わせるための最小の高さ */
			display: flex;
			flex-direction: column;
			justify-content: center;
			align-items: center;
		}

		/* 最後の要素の下マージンをなくす */
		.timeline-column > div:last-child {
			margin-bottom: 0;
		}
		
		/* 円形のマーカー */
		.timeline-marker {
			z-index: 2; /* 縦線より手前に配置 */
			width: 100%;
			margin-bottom: 40px;
		}
		.timeline-marker:nth-of-type(2) {margin-bottom: 90px;}
		.timeline-marker:nth-of-type(3) {margin-bottom: 890px;}
		.timeline-marker:nth-of-type(4) {margin-bottom: 300px;}
		.timeline-marker:nth-of-type(5) {margin-bottom: 470px;}
		.timeline-marker:nth-of-type(6) {margin-bottom: 190px;}

		.marker-circle {
			box-sizing: border-box;
			width: 140px;
			height: 140px;
			background-color: #fff;
			border: 5px solid var(--color1);
			border-radius: 50%;
			display: flex;
			justify-content: center;
			align-items: center;
			color: #333;
			font-weight: bold;
			font-size: 2.8rem;
			line-height: 1.2;
		}
		.timeline-marker:nth-of-type(2) .marker-circle {
			padding: 0 0 5px 5px;
		}
		
		.timeline-column:is(.left-column, .right-column) {
			/*padding: 50px 0 0;*/
		}

		.timeline-column.right-column .header-box p {
			display: inline-block;
			margin: 0 -100px;
		}

		/* 左右のコンテンツボックス */
		.timeline-content {
			padding: 0;
			margin-bottom: 20px;
		}
		
		.timeline-content img {
			max-width: 100%;
			border-radius: 20px;
		}
		.timeline-content p {
			margin: 0;
			line-height: 1.6;
		}
		.timeline-content :is(img ~ p, p ~ img) {
			margin-top: 10px;
		}

		.timeline-column.left-column .timeline-content:nth-of-type(2){ margin-bottom: 100px; }
		.timeline-column.left-column .timeline-content:nth-of-type(5){ margin-bottom: 50px; }
		.timeline-column.left-column .timeline-content:nth-of-type(6){ margin-bottom: 350px; }
		.timeline-column.left-column .timeline-content:nth-of-type(7){margin-bottom: 60px;}
		.timeline-column.left-column .timeline-content:nth-of-type(9){margin-bottom: 110px;}
		.timeline-column.right-column .timeline-content:nth-of-type(2){ margin-bottom: 70px; }

		/* 最後の挨拶 */
		.final-greeting {
			margin-top: -130px;
		}

		.final-greeting img {
			max-width: 120px;
		}
		.final-greeting p {
			font-weight: bold;
			font-size: 2.8rem;
			margin-top: 10px;
			line-height: 1.5;
		}
	}
}

.page-template-day_event .area1{
	padding: 0 0 100px;
}
.page-template-day_event .area1_1{
	font-size: 2.8rem;
	margin: 50px 0 0;
}

.page-template-day_event .area2{
	background-color: var(--color5);
	padding: 70px 0 80px;
}

.page-template-day_event .area2 h2{
	margin-bottom: 100px;
}

.page-template-day_event .area2 .row1{
	display: flex;
	gap: 0 20px;
	margin: 30px 0;
}
.page-template-day_event .area2 .row1 .right{
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
	gap: 0 20px;
	font-size: 2.4rem;
	line-height: 1.6;
	height: 170px;
}

.page-template-day_event .row2{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	font-size: 2.2rem;
}
.page-template-day_event .row2 .box{
	min-width: 275px;
}
.page-template-day_event .row2 .box span{
	white-space: nowrap;
	margin-right: -30px;
}
.page-template-day_event .row2 .col2{
	display: block;
	text-align: center;
	margin-right: -300px;
}

.page-template-day_event .area3{
	font-size: 2.3rem;
}
.page-template-day_event .area3 .row2{
	margin: 30px 0 0;
}
.page-template-day_event .area3 .row2 .box{
	min-width: 419px;
}
.page-template-day_event .button1_1{
	zoom: 0.5;
	vertical-align: 7px;
}





/* 入園のご案内 *************************************************************************** */

.page-template-information .area1{
	display: inline-block;
	writing-mode: vertical-rl;
	text-align: left;
}
.page-template-information .area1 h2{
	letter-spacing: 0.1em;
}
.page-template-information .area1 p{
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 2.2;
	letter-spacing: 0.07em;
}

.page-template-information .area2{
	display: inline-block;
}
.page-template-information .row1{
	display: flex;
	align-items: center;
	gap: 30px;
}
.page-template-information .row1:nth-of-type(2n){
	padding: 0 0 0 150px;
}
.page-template-information .row1 .maru{
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
	width: 168px;
	aspect-ratio: 1;
	color: #000;
	background-color: var(--color1);
	border-radius: 100px;
}
.page-template-information .row1 .maru.fs30{
	font-size: 3rem;
}
.page-template-information .row1 .text{
	text-align: left;
}

/*.page-template-information .area3 h3{
	text-align: center;
	font-size: 3.1rem;
	font-weight: 500;
	letter-spacing: 0.3em;
	padding: 0 0 0 0.3em;
	margin: 50px 0 10px;
}*/

table.type1{
	border-collapse: collapse;
	border: 1px solid #332d2b;
	border-bottom: 0;
	width: 100%;
}
table.type1 :is(th, td){
	text-align: left;
	font-size: 2.2rem;
	font-weight: 500;
	border-bottom: 1px solid #332d2b;
	padding: 10px 25px;
	background-clip: padding-box; /* Firefox対策。border が表示されるようにする。 */
}
table.type1 th{
	white-space: nowrap;
	background-color: var(--color1);
	text-align-last: justify;
}
table.type1 td{
	background-color: #fff;
	width: 750px;
}

.fukidasi1,
.fukidasi2{
	position: relative;
	display: inline-block;
	letter-spacing: 0.08em;
	border-radius: 30px;
	border: 3px solid #000;
	padding: 25px 50px;
	margin: 20px 10px;
}
.fukidasi1:after,
.fukidasi2:after{
	content: "";
	display: block;
	position: absolute;
	left: 60px;
	bottom: -26px;
	width: 27px;
	height: 28px;
	background-image: url(img/common/fukidasi1.png);
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
}
.fukidasi2{
	background-color: var(--color1);
	border: 0;
}
.fukidasi2:after{
	bottom: -23px;
	width: 23px;
	height: 24px;
	background-image: url(img/common/fukidasi2.png);
}
.fs20{
	font-size: 2rem;
}

.page-template-information .area4{
	margin: 90px 0;
}
.page-template-information .area4 .fuki3{
	/* margin-left: 300px; */
}
.page-template-information .area4 .fuki6{
	margin-right: 100px;
	padding: 25px 80px;
	vertical-align: top;
}
.page-template-information .area4 .fuki7{
	width: 620px;
	text-align: left;
}
.page-template-information .area4 .fuki8{
	margin-left: 180px;
	vertical-align: 80px;
}
.page-template-information .area4 .fuki10{
	margin: -50px 450px 30px 0;
	vertical-align: text-bottom;
}
.page-template-information .area4 .fuki11{
	margin-top: 0;
}
.page-template-information .area4 .fuki12{
}
.page-template-information .area4 .fuki13{
	margin-right: 50px;
}
.page-template-information .area4 .fuki14{
	margin-left: 140px;
}
.page-template-information .area4 .fuki15{
	margin-left: 40px;
}
.page-template-information .area4 .img_2{
	vertical-align: -60px;
}
.page-template-information .area4 .img_3{
	vertical-align: -60px;
}
.page-template-information .area4 .img_4{
	vertical-align: top;
}

.page-template-information .area_q_a{
	margin: 90px 0;
}
.page-template-information .area_q_a .list .q_a{
	font-size: 1.9rem;
	margin: 15px 0;
}
.page-template-information .area_q_a h3{
	font-size: 3.6rem;
}
.page-template-information .area_q_a .list .q{
	line-height: 1.5;
	color: #000;
	background-color: var(--color1);
	background-image: url(img/common/q_arrow.png);
	background-size: 20px;
	background-position: calc(100% - 30px) 50%;
	background-repeat: no-repeat;
	border-radius: 15px;
	padding: 15px 50px;
	text-indent: -1.3em;
}
.page-template-information .area_q_a .list .q:hover{
/*	cursor: pointer;*/
/*	opacity: 0.8;*/
}
.page-template-information .area_q_a .list .q:before{
	content: "Q.";
}
.page-template-information .area_q_a .list .a{
	padding: 15px 50px;
	text-indent: -1.2em;
}
.page-template-information .area_q_a .list .a:before{
	content: "A.";
}

.page-template-information .gaiyou_footer a{
	text-decoration: none;
}





/* blog *************************************************************************** */

.blog_page .filter-buttons {
	display: flex;
	gap: 2rem;
}
.blog_page dl.filter-list {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: 20px 20px;
	margin: 70px 0;
}
.blog_page dl.filter-list dt {
	text-align: center;
	color: #000;
	background-color: var(--color1);
	padding: 0 30px;
	border-radius: 50px;
}
.blog_page dl.filter-list dd {
	margin: 0;
}
.blog_page dl.filter-list label {
	cursor: pointer;
	display: inline-block;
	margin: 0 0.5rem;
}
.blog_page input[type="radio"]:checked + span {
	background-color: #dce047;
	border-radius: 1rem;
	padding: 0.3rem 1rem;
}


.blog_page .pagination{
	display: flex;
	justify-content: center;
	gap: 10px;
	text-align: center;
	margin: 50px 0 200px;
}
.blog_page .pagination .page-numbers{
	user-select: none;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	text-decoration: none;
	font-family: "maru-maru-gothic-asr-stdn", sans-serif;
	border: 1px solid #d5d8d8;
	border-radius: 12px;
	min-width: 40px;
	min-height: 40px;
}
.blog_page .pagination .page-numbers:hover,
.blog_page .pagination .page-numbers.current{
	color: #000;
	background-color: var(--color1);
}
.blog_page .pagination .page-numbers:is(.prev, .next){
	border: 0;
	background-image: url(img/blog/arrow_l.png);
	background-size: 16px;
	background-position: 50%;
	background-repeat: no-repeat;
}
.blog_page .pagination .page-numbers.next{
	background-image: url(img/blog/arrow_r.png);
}
.blog_page .pagination .page-numbers:is(.prev, .next, .dots):hover{
	background-color: transparent;
}
.blog_page .pagination .page-numbers:is(.prev, .next):hover{
	opacity: 0.7;
}
.blog_page .pagination .page-numbers.dots{
	border: 0;
}



/*.blog_page article{
	padding: 70px 0 100px;
	border-bottom: 1px solid #000;
}
.blog_page article .date{
	font-size: 1.4rem;
}
.blog_page article .title{
	font-size: 2rem;
	margin: 20px 0;
}
.blog_page article .content{
	font-size: 1.4rem;
	line-height: 2.1;
}*/

.single-post h1.type3{
	font-size: 4.2rem;
	padding-top: 40px;
}
.single-post h1.type3 small{
	font-family: "maru-maru-gothic-asr-stdn", sans-serif;
	margin: 0 0 50px;
}
.single-post .content{
	font-size: 3.2rem;
}
.single-post figure img{
	border-radius: 20px;
}





/* お問合せ *************************************************************************** */

.page-template-contact h1,
.page-template-thanks h1{
	display: flex;
	align-items: center;
	gap: 15px;
	font-size: 3.2rem;
	letter-spacing: 0.1em;
	margin: 80px 0 40px;
}

.page-template-contact .p_sousin{
	display: none;
}
.page-template-contact #primary:has(#wpcf7cpcnf) .p_kakunin{
	display: none;
}
.page-template-contact #primary:has(#wpcf7cpcnf) .p_sousin{
	display: block;
}

.page-template-contact .steps{
	display: flex;
}
.page-template-contact .steps .step{
	flex-basis: calc(33.33% + 30px);
	text-align: center;
	padding: 5px;
	margin: 0 -25px;
	border: 2px solid var(--color6);
	border-radius: 50px;
	color: var(--color6);
	background-color: #fff;
}
.page-template-contact .steps .step.current{
	color: #fff;
	background-color: var(--color6);
}
.page-template-contact .steps .step1{
	z-index: 3;
	color: #fff;
	background-color: var(--color6);
}
.page-template-contact .steps .step2{
	z-index: 2;
}
.page-template-contact .steps .step3{
	z-index: 1;
}

.page-template-contact #primary:has(#wpcf7cpcnf) .steps .step1{
	color: var(--color6);
	background-color: #fff;
}
.page-template-contact #primary:has(#wpcf7cpcnf) .steps .step2{
	color: #fff;
	background-color: var(--color6);
}

div.wpcf7 .wpcf7-form .ajax-loader{
	display: none;
}

.page-template-contact #privacy_policy_check{
	text-align: center;
	margin: 60px 0 40px;
	scroll-margin: 300px;
}
.page-template-contact :is(.submit_area, .wpcf7cp-btns){
	position: relative;
	text-align: center;
	margin: 50px 0 50px;
}

.wpcf7-spinner{
	position: absolute;
	top: calc(50% - 12px);
}

.thanks_url{
	display: none;
}


input[type="text"],
input[type="email"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="search"],
textarea,
select{
	font-family: "zen-maru-gothic", sans-serif;
	font-size: 2rem;
	font-weight: 400;
	box-sizing: border-box;
	border: 0.5px solid #b7b7b7;
	border-radius: 10px;
	background-color: #fbfbf9;
	outline: 0;
	padding: 10px;
	margin: 0;
	width: 100%;
	-webkit-appearance: none; /* iPhone の入力欄へのエフェクトを消す */
}

select{
	padding: 10px 50px 10px 10px;
	width: auto;
	background: #fbfbf9 url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20width%3D%2220%22%20height%3D%2220%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M5%206l5%205%205-5%202%201-7%207-7-7%202-1z%22%20fill%3D%22%23555%22%2F%3E%3C%2Fsvg%3E) no-repeat right 5px top 55%;
}


table.type_cf7,
#wpcf7cpcnf table{
	border-collapse: collapse;
	width: 100%;
}
table.type_cf7 :is(th, td),
#wpcf7cpcnf table :is(th, td){
	text-align: left;
	font-weight: 500;
	padding: 30px 30px;
	border-bottom: 0.75px solid #b7b7b7;
	background-clip: padding-box; /* Firefox対策。border が表示されるようにする。 */
}
#wpcf7cpcnf table :is(th, td){
	padding: 20px 30px;
}
table.type_cf7 tr:last-child :is(th, td),
#wpcf7cpcnf table tr:last-child :is(th, td){
	border-bottom: 0;
}
table.type_cf7 th,
#wpcf7cpcnf table th{
	position: relative;
	text-align: right;
	white-space: nowrap;
	padding-right: 70px;
}
table.type_cf7 th.hissu:after{
	content: "必須";
	position: absolute;
	right: 0;
	top: calc(50% - 12px);
	color: #fff;
	background-color: var(--color6);
	border-radius: 50px;
	font-size: 1.5rem;
	line-height: 1;
	padding: 3px 12px 4px;
}
table.type_cf7 td,
#wpcf7cpcnf table td{
	background-color: #fff;
	width: 750px;
}
table.type_cf7 p,
#wpcf7cpcnf table p{
	margin: 0;
}





/* 404 *************************************************************************** */

.error-404{
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	padding: 100px 0 0;
	height: calc(100vh - 800px);
}
