@charset "UTF-8";
/*
	Theme Name: ayame51
	Description: 社会福祉法人若菜のオリジナルテーマ
	Theme URI: https://amedrop.com/
	Author: テーマ作成者 Urakami Naoki
	Author URI: https://amedrop.com/
	Version: 1.0
*/
/*******************************
destyle.css v1.0.13 | MIT License | https:/*github.com/nicolas-cusan/destyle.css
*******************************/
*{box-sizing:border-box}:after,:before{box-sizing:inherit}html{line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight:transparent}body{margin:0}main{display:block}address,blockquote,dl,figure,form,iframe,p,pre,table{margin:0}h1,h2,h3,h4,h5,h6{font-size:inherit;line-height:inherit;font-weight:inherit;margin:0}ol,ul{margin:0;padding:0;list-style:none}dt{font-weight:bold}dd{margin-left:0}hr{box-sizing:content-box;height:0;overflow:visible;border:0;border-top:1px solid;margin:0;clear:both;color:inherit}pre{font-family:monospace,monospace;font-size:inherit}address{font-style:inherit}a{background:transparent;text-decoration:none;color:inherit}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace,monospace;font-size:inherit}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none;vertical-align:bottom}embed,iframe,object{border:0;vertical-align:bottom}button,input,optgroup,textarea{appearance:none;vertical-align:middle;color:inherit;font:inherit;border:0;background:transparent;padding:0;margin:0;outline:0;border-radius:0;text-align:inherit}[type=checkbox]{appearance:checkbox}[type=radio]{appearance:radio}button,input{overflow:visible}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{cursor:pointer;appearance:none}[type=button][disabled],[type=reset][disabled],[type=submit][disabled],button[disabled]{cursor:default}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{border-style:none;padding:0}[type=button]:-moz-focusring,[type=reset]:-moz-focusring,[type=submit]:-moz-focusring,button:-moz-focusring{outline:1px dotted ButtonText}fieldset{margin:0;padding:0;border:0;min-width:0}legend{color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress{vertical-align:baseline}textarea{overflow:auto}[type=checkbox],[type=radio]{padding:0}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}label[for]{cursor:pointer}details{display:block}summary{display:list-item}table{border-collapse:collapse;border-spacing:0}caption{text-align:left}td,th{vertical-align:top;padding:0}th{text-align:left;font-weight:bold}template{display:none}[hidden]{display:none}


/*******************************
css変数
*******************************/
:root{
  /* カラー */
  --black:#0A0A0A;
  --green:#6EAA46;
  --y-green:#AAD778;
  --d-green:#5A9B32;
  --d-green-95:90,155,50,0.95;
  --d-green-90:90,155,50,0.9;
  --d-green-20:90,155,50,0.2;
  --pink:#EBAAB4;
  --pink-90:235, 170, 180,0.9;
  --orange:#E6A028;
  --yellow:#fbf065;
  --orange-90:230, 160, 40,0.9;
  --l-blue:#5F9BC3;
  --l-blue-90:95, 155, 195,0.9;
  --blue:#005AA0;
  --red:#BE3A3A;
  --gray:#C8C8C8;
  --beige:#FAEDD2;
  --ivory:#FDFAF0;
  /* フォント */
  --f-noto: "Noto Sans", sans-serif; /* r400 b600 */
  --f-daruma: "Darumadrop One", sans-serif; /* r400 b500 */
  --f-zenmaru:  "Zen Maru Gothic", sans-serif;
  /* メディアクエリサイズのメモ※変数としては使用不可 */
  --iphoneSE:375px;
  --mobile:767px;
  --tablet:768px;
  --tablet-l:820px;
  --desktop:1025px;
  --desktop-l:1200px;
  /* コンテンツサイズ */
  --content-width: 1200px;
}
/*******************************
基本設定
*******************************/
html,body{height: 100%}
html{scroll-behavior: smooth;}
body{
	font-family: var(--f-noto);
	color:  var(--black);
	font-size: 16px;
	/* line-height: 2; */
	line-height: 1.414;
	word-break: break-all;
}
.f-noto{font-family: var(--f-noto)!important;}
.f-zenmaru{font-family: var(--f-zenmaru);}
.f-zenmaru-b{font-family: var(--f-zenmaru);font-weight: 500;}
.f-daruma{font-family: var(--f-daruma);}
img {max-width: 100%;height: auto;}

::selection{background: var(--green);color: #fff;}
mark { background-color: transparent; color: inherit; }

/*******************************
レイアウト
*******************************/
.wrapper{
	background-color: var(--ivory);
	padding-top: 83px;
	padding-bottom: 83px;
	@media (min-width: 1200px ){
		padding-top: 72px;
	}
}

.inner{
	max-width:  var(--content-width);
	margin-inline: auto;
	padding-left: 16px;
	padding-right: 16px;
	@media (min-width:1025px){
		padding-left: 40px;
		padding-right: 40px;
	}
}

.grid2column{
	display: grid;
	grid-template-columns: 1fr;
	gap: 80px;
	@media (min-width: 1024px){
		gap: 40px;
		grid-template-columns: 1fr 320px;

	}
}

/* iframを横いっぱいに */
.wp-block-embed__wrapper iframe, iframe[src*="embed"]{
	aspect-ratio: 16 / 9;
	width: 100%;
	height: 100%;
}

/*******************************
ヘッダー
*******************************/
.header-wrap{
	position: fixed;
	top:0;
	width: 100%;
	z-index: 999;
	@media (min-width: 1200px){
		background-color: #fff;
	}
	.h-inner{
		@media (min-width: 1200px){
			max-width:  var(--content-width);
			margin-inline: auto;
			/* padding-left: 40px; */
			/* padding-right: 40px; */
			background-color: #fff;
			display: grid;
			align-items: center;
			/* grid-template-columns:300px 1fr; */
			grid-template-columns:340px 1fr;
		}
	}
	.h-logo{
		position: relative;
		align-self: start;
		z-index: 1;
		background-color: #fff;
		padding: 16px;
		& > * {
			margin: 0;
			@media (min-width: 1200px){
				width: 100%;
				background-color:#fff;
				position: absolute;
				top: 0; left: 0;
				border-bottom-right-radius: 48px;
				a{
					transition: height .3s ease;
					height: 120px;
					display: grid;
					align-items: center;
				}
				&::before{
					transition: height .3s ease;
					content: '';
					height: 120px;
					width: calc( (100vw - 1120px) / 2);
					background-color: #fff;
					display: inline-block;
					position: absolute;
					top: 0;
					left: calc( (100vw - 1120px) / -2);
				}
			}
		}
		img {
			width: 260px;
			width: 225px;
			@media (min-width: 1200px){
				width: 290px;
			}
		}
	}
	&.move{
		transition: box-shadow .6s ease;
		box-shadow: 0 0 10px -5px var(--black);
		.h-logo{
			@media (min-width: 1200px){
				a,& > *::before{height: 72px;}
			}
		}
	}
	.searchform-wrap{
		position: relative;
		border-radius: 32px;
		max-width: 300px;
		margin-inline: auto;
		margin-top: 24px;
		background-color: #fff;
		.search-inner{
			display: flex;
		}
		input{
			font-size: 16px;
			line-height: 40px;
			width: 100%;
			border: none;
			padding: 0 48px 0 16px;
		}
		button {position: absolute;right: 0;bottom: 0;}
		img{width: 40px;}
		@media (min-width: 1200px){
			border: 1px solid #646464;
			margin-top: 0;
			input{
				width: 176px;
				line-height: 32px;
			}
			img{width: 32px;}
		}
	}
}
body.btn-on {overflow: hidden;}
body.btn-on .nav-wrap {
	right: 0;
	.menu-header-container,.searchform-wrap{
		top:0;
		transform: translateY(0);
		opacity: 1;
	}
}
.menu-btn{
	position: fixed;
	right: 16px;
	top: 12px;
	z-index: 1000;
	img {width: 50px;}
	@media (min-width: 1200px){
		display: none;
	}
}
.nav-wrap{
	@media (max-width: 1199px){
		padding-top: 64px;
		padding-bottom: 90px;
		background-color: rgba( var(--d-green-95));
		position: fixed;
		top: 0;
		right: -100%;
		z-index: 999;
		height: 100vh;
		width: 100%;
		overflow-y: scroll;
		-webkit-overflow-scrolling: touch;
		.menu-header-container{
			font-size: 20px;
			line-height: 2;
			color: #fff;
			max-width: 300px;
			margin-inline: auto;
			li{
				margin-top: 16px;
				/* a{display: block;} */
			}
			li.menu-item-has-children{
				.sub-menu {
					max-height: 0;
					overflow-y: hidden;
					opacity: 0;
					transition: opacity .8s;
				}
				&.click .sub-menu {
					max-height: 1000px;
					opacity: 1;
				}
			}
		}
		.menu-header-container,.searchform-wrap{
			position: relative;
			/* top:-16px; */
			transform: translateY(16px);
			opacity: 0;
			transition: all .4s;
		}
	}
	@media (min-width: 1200px){
		align-items: center;
		display: grid;
		grid-template-columns: 1fr 176px;
		.menu-header-container{
			line-height: 2;
		}
	}
}
.header-navi{
	font-weight:500;
	margin-top: 0;
	list-style: none;
	padding-left: 0;
	.sub-menu{
		margin-top: 0;
	}
	@media (max-width: 1199px){
		li.menu-item-has-children{
			ul{
				margin-top: 8px;
				padding-left: 0;
			}
			ul li:first-child{padding-top: 0;}
			ul li{
				padding-top: 8px;
				border-left: 1px solid #fff;
				list-style: none;
				padding-left: 24px;
				margin-top: 0;
			}
			& > a {
				padding-right: 32px;
				background-image:  url('images/icon_triangle_b_wh.svg.svg');
				background-size: 16px;
				background-position: right 0 top 12px;
				background-repeat: no-repeat;
			}
		}
	}
	@media (min-width: 1200px){
		display: flex;
		justify-content: center;
		/* gap: 40px; */
		gap: 8px;
		& > li a {
			padding: 20px 18px;
			display: block;
			cursor: pointer;
			transition-duration: .4s;
			&:hover{
				color: var(--d-green);
			}
		}
		li.menu-item-has-children{
			a { padding: 20px 36px 20px 18px;}
			& + li a { padding-left: 0;}
			/* メニューがちらつかないように力技で右padding増やしてる。下の三角もcenter→45pxに調整 */
		}
		li{
			&.menu-item-has-children{
				background-image:  url('images/icon_triangle_b.svg');
				background-size: 8px;
				background-position: left 45px bottom 12px;
				background-repeat: no-repeat;
				position: relative;
				&:hover > .sub-menu, &:focus-within > .sub-menu {
					opacity: 1;
					visibility: visible;
					&:before{
						content: '';
						display: inline-block;
						width: 100vw;
						height: 48px;
						background-color: var(--d-green);
						position: fixed;
						left: 0;
						top: 72px;
						z-index: -1;
					}
				}
			}
			.sub-menu a {
				display: inline-block;
				padding: 20px 0;
			}

		}
		.sub-menu{
			color: #fff;
			list-style: none;
			width: max-content;
			padding-left: 0;
			display: flex;
			opacity: 0;
			visibility: hidden;
			position: absolute;
			top: 100%;
			left: 0;
			transition: opacity 0.2s ease;
			li{
				&:not(:first-child){
					&::before{
						padding: 0 16px;
						content: '｜';
					}
				}
				a{
					padding: 8px 0;
					transition: color .4s;
					&:hover{
						color: var(--yellow);
						/* opacity: .8; */
					}
				}
			}
		}
	}
}
/*******************************
メイン
*******************************/
.main-vis + .content-wrap main{
	margin-top: 24px;
}
/*******************************
サイドバー
*******************************/
.side{
	background-color: #fff;
	padding: 40px 16px;
	.side-inner{
		max-width: 320px;
		margin-inline: auto;
	}
	@media (min-width: 1024px){
		.side-inner{
			max-width: 100%;
		}
	}
	.blog-cat-list,.tag-cloud{
		margin-top: 16px;
		@media (min-width:1025px){
			a:hover{
				transition: color .4s;
				color: var(--d-green);
			}
		}
	}
	.blog-cat-list{
		list-style: none;
		padding-left: 0;
		li{
			margin-top: 8px;
			padding-left: 40px;
			background-image:  url('images/icon_list.svg');
			background-size: 24px;
			background-position: top 9px left;
			background-repeat: no-repeat;
		}
	}
	.tag-cloud{
		a {
			padding-right: 12px;
			&::before{
				content: '#';
			}
		}
	}
	.monthly-list{
		margin-top: 16px;
		select{
			font-size: 16px;
			width: 100%;
			padding: 12px 8px;
			border: 1px solid var(--gray);
			background-color: #fff;
			border-radius: 5px;
		}
	}
	.bnrs{
		margin-top: 40px;
		figure + figure {margin-top: 16px;}
	}
	.side-links{
		margin-top: 40px;
		a[target="_blank"]::after{
			content:url('images/icon_blank.svg');
			padding-left: 5px;
			position: relative;
			top: 2px;
		}
		div + div a {margin-top: 8px;}
	}
	.side-links + .blue-bubble{
		margin-top: 40px;
	}
	.sns{
		.sns-icon-links{
			justify-content: center;
		}
	}
}
/*******************************
フッター
*******************************/
.totop{
	position: fixed;
	z-index: 10;
	bottom: 16px;
	transform: translateY(120px); /* 元の位置に */
	/* opacity: 0; */
	right: 16px;
	transition: transform 0.5s ease;
	&.show{
		transform: translateY(0); /* 元の位置に */
	}
	@media (min-width: 1200px ){
		img:hover{
			filter: brightness(1.05);
		}
	}
	bottom: 16px;
	img {
		width:64px;
		@media (min-width: 768px){
			width: calc(189px / 2);
		}
	}
}

.setouchi-wrap{
	background-color: var(--ivory);
	position: relative;
	.setouchi{
		height: 127px;
		width: 100%;
		background-image:  url('images/bg_setouchi_non@2x.webp');
		background-size: 1380px;
		background-repeat: no-repeat;
		background-position: center bottom -1px;
		z-index: 2;
		position: relative;
		@media (min-width: 768px ){
			background-size: 1967px;
		}

	}
	.setouchi-grass{
		background-image: url('images/bg_grass.webp');
		background-size: 80px;
		height: 19px;
		width: 100%;
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 1;
		@media (min-width: 768px ){
			height: 27px;
		}
	}
	.move-ayame{
		z-index: 0;
		position: absolute;
		top: 54px;
		left: calc(50% - 180px);
		width: 35px;
		animation: kakurenbo 13s ease-in-out infinite;
		transform-origin: left bottom;
		@media (min-width: 768px ){
			width: 50px;
			top: 22px;
			left: calc(50% - 257px);
		}
	}
	.move-wakanan{
		z-index: 2;
		position: absolute;
		top: 94px;
		left: calc(50% + 150px);
		width: 28px;
		animation: osanpoX 10s linear infinite;
		img{animation: osanpoYs .32s linear infinite;}
		@media (min-width: 768px ){
			top: 80px;
			width: 40px;
			left: calc(50% + 214px);
			animation: osanpoX 8s linear infinite;
			img{animation: osanpoY .32s linear infinite;}
		}
	}
	.routine-2{
		@media (min-width: 1700px ){
			.move-ayame{
				left: calc(50% + 645px);
				top: 40px;
			}
		}
	}
	.routine-3{
		@media (min-width: 1700px ){
			.move-wakanan{
				left: calc(50% + 810px);
				top: 80px;
				z-index: 1;
				animation: osanpoX 16s linear infinite;
				img{animation: osanpoYs .8s linear infinite;}
			}
		}
	}
}
@keyframes kakurenbo {
  0%   { transform: translateY(90px) rotate(0deg); }
  5%   { transform: translateY(-10px) rotate(0deg); }
  10%  { transform: translateY(0) rotate(0deg); }
  20%, 40%, 60% { transform: translateY(0) rotate(10deg); }
  30%, 50%, 70%, 72% { transform: translateY(0) rotate(0deg); }
  73%  { transform: translateY(-10px) rotate(0deg); }
  80%, 100% { transform: translateY(90px) rotate(0deg); }
}
@keyframes osanpoX {
  0% {transform: translateX(0) scaleX(1);}
  49.999% {transform: translateX(-200px)  scaleX(1);}
  50% {transform: translateX(-200px)  scaleX(-1);}
  100% {transform: translateX(0)  scaleX(-1);}
}
@keyframes osanpoY {
  0% {transform: translateY(0);}
  50% {transform: translateY(-8px);}
  100% {transform: translateY(0);}
}
@keyframes osanpoYs {
  0% {transform: translateY(0);}
  50% {transform: translateY(-4px);}
  100% {transform: translateY(0);}
}

.footer-warp{
	position: relative;
	z-index: 1;
	color: #fff;
	background-image:  url('images/bg_grass.webp');
	background-size: 80px;
	padding-top: 40px;
	padding-bottom: 16px;
	@media (min-width: 1200px ){
		a{transition: color .4s;}
		a:hover{
			/* opacity: .8; */
			color: var(--yellow);
		}
	}
	.f-inner{
		max-width:  var(--content-width);
		margin-inline: auto;
		padding-left: 16px;
		padding-right: 16px;
		@media (min-width: 1025px ){
			display: flex;
			gap: 88px;
		}
		@media (min-width: 1200px ){
			padding: 0;
		}
	}
	.f-contact{
		font-size: 17px;
		@media (min-width: 1025px ){
			flex-shrink: 0;
			/* max-width: 370px; */
			max-width: 384px;
			font-size: 16px;
		}
		.f-logo{
			img{filter: brightness(0) invert(1);}
		}
		.f-address{
			margin-top: 40px;
		}
		.f-map-link{
			padding-left: 8px;
			&[target="_blank"]::after{
				content:url('images/icon_blank.svg');
				padding-left: 5px;
				position: relative;
				top: 2px;
				filter: invert(100);
			}
		}
	}
	.sns-icon-links{
		margin-top: 16px;
	}
	.msg-sns{display: none;}
	.f-form{
		margin-top: 24px;
		a {
			line-height: 2;
			text-align: center;
			border: 1px solid #fff;
			border-radius: 32px;
			background-color: var(--d-green);
			display: inline-block;
			width: 320px;
			max-width: 100%;
			padding: 4px 0;
			&::before{
				margin-right: 12px;
				content: '';
				display: inline-block;
				width: 23px;
				height: 16px;
				background-image:  url('images/icon_mail.svg');
				background-size: 22px;
				background-position: center bottom;
				background-repeat: no-repeat;
			}
		}
	}
	.f-navi{
		font-size: 17px;
		line-height: 2;
		@media (min-width: 1025px ){
			font-size: 14px;
			display: flex;
			gap: 40px;
		}
		ul {
			padding-left: 0;
			list-style: none;
			margin-top: 24px;
			li {
				margin-top: 8px;
				padding-left: 20px;
				background-image:  url('images/icon_triangle_wh.svg');
				background-size: 6px;
				background-position: left 8px top 13px;
				background-repeat: no-repeat;
			}
			@media (min-width: 1025px ){
				margin-top: 0;
				li{
					margin-top: 0;
					background-position: left 8px top 9px;
				}
			}
		}
		.footer-navi1{
			@media (min-width: 1025px ){
				flex-shrink: 0;
			}
		}
		.sub-menu {
			margin-top: 8px;
			margin-bottom: 16px;
			display: flex;
			flex-wrap: wrap;
			li {
				padding-left: 0;
				background-image: none;
				margin-top: 0;
				& a {padding: 0 16px;}
			}
			li::before {
				content: '｜';
			}
		}
	}
	.f-copy{
		margin-top: 64px;
		text-align: center;
		font-size: 12px;
	}
}
/*******************************
未分類パーツ
*******************************/
.te-center .alink{margin-left: -16px;}
.f-daruma-opa20{
	line-height: 1!important;
	margin-top: 0;
	font-family: var(--f-daruma);
	font-size: 64px;
	@media (min-width:1025px){
		font-size: 72px;
	}
	color: rgba(var(--d-green-20));
}
.alink,.doc1block a {
	font-family: var(--f-zenmaru);
	font-weight: 500;
	padding-left: 16px;
	line-height: 2;
	display: inline-block;
	background-image:  url('images/bg_dots.svg'),url('images/icon_triangle.svg');
	background-size: 158px,5px;
	background-position: bottom center,left 3px top 13px;
	background-repeat: repeat-x,no-repeat;
	&.no-icon{
		background-image:  url('images/bg_dots.svg');
		background-size: 158px;
		background-position: bottom center;
		margin-left: 0;
		padding-left: 0;
	}
	@media (min-width:1025px){
		&:hover{
			transition: color .4s;
			color: var(--d-green);
		}
	}
}
.w100wh,.w100be{
	position: relative;
	z-index: 1;
	&::before{
		background-color:  #fff;
		content: "";
		position: absolute;
		top: 0;
		left: calc(-50vw + 50%);
		height: 100%;
		width: 100vw;
		z-index: -1;
	}
}
.w100be:before{
	background-color:var(--beige);
}
.w100-pd{
	padding: 80px 16px;
	@media (min-width: 768px){
		padding: 80px 36px;
	}
	@media (min-width: 1025px){
		padding: 80px 56px;
	}
}
.bgwh-r{
	background-color: #fff;
	border-radius: 64px;
	padding: 56px 16px;
	@media (min-width: 768px){
		padding: 56px 36px;
	}
	@media (min-width: 1025px){
		border-radius: 80px;
		padding: 80px 56px;
	}
}
.page-cover{
	font-size: 24px;
	margin: 0 calc(50% - 50vw);
	display: grid;
	align-items: center;
	text-align: center;
	min-height: 180px;
	background-color: var(--beige);
	background-repeat: no-repeat;
	background-image:
		url('images/bg_cover.svg'),
		url('images/bg_seed7.svg'),
		url('images/oc_ayame_op5.webp'),
		url('images/oc_wakanan_op5.webp');
	background-size: contain,160px,60px,95px;
	background-position: bottom center,center top 30px,center left 16px,center right 0px;
	@media (min-width: 768px ){
		min-height: 240px;
		font-size: 32px;
		background-size: contain,183px,93px,147px;
		background-position: bottom -1px center,center top 50px,center left calc(50% - 185px ),center left calc(50% + 202px );
	}
	@media (min-width: 2800px ){
		background-position: bottom -50px center ,center top 50px,center left calc(50% - 185px ),center left calc(50% + 202px );
	}
	@media (min-width: 3200px ){
		background-position: bottom -100% center ,center top 50px,center left calc(50% - 185px ),center left calc(50% + 202px );
	}

}
.breadcrumbs{
	margin-top: 16px;
	margin-bottom: 40px;
	font-size: 14px;
	@media (min-width: 1025px){
		margin-bottom: 64px;
	}
	a {
		color: var(--black);
		text-decoration: none;
	}
}
.blue-bubble{
	margin-bottom: 24px;
	font-size: 32px;
	font-family: var(--f-daruma);
	line-height: 32px;
	padding-bottom:10px;
	color: var(--l-blue);
	position: relative;
	text-align: center;
	&::before,&::after{
		display: inline-block;
		content: '';
		width: calc(50% - 8px);
		height: 2px;
		background-color: var(--l-blue);
		position: absolute;
		bottom: 0;
	}
	&::before{
		left: 0;
	}
	&::after{
		right: 0;
	}
	span {
		padding: 0 40px 8px;
		display: inline-block;
		background-image:  url('images/oc_ayame_face@2x.webp');
		background-size: 26px;
		background-position: left 0 top 4px;
		background-repeat: no-repeat;
		&::before,&::after{
			display: inline-block;
			content: '';
			width: 12px;
			height: 2px;
			background-color: var(--l-blue);
			position: absolute;
			bottom: -4px;
		}
		&::before{
			rotate: 45deg;
			left: calc(50% - 10px);
		}
		&::after{
			rotate: -45deg;
			right: calc(50% - 10px);
		}
	}
	&.wakanan span{
		background-image:  url('images/oc_wakanan_face@2x.webp');
		background-size: 30px;
		background-position: left 0 top 7px;
	}
}
.sns-icon-links{
	list-style: none;
	padding: 0;
	gap: 8px 16px;
	display: flex;
	flex-wrap: wrap;
	li {
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}
	a {
		background-image:  url('images/sns_link.svg');
		display: block;
		background-position: center;
		background-repeat: no-repeat;
		background-size: contain;
		height: 28px;
		width: 28px;
	}
	a[href*="x.com"] {
		background-image:  url('images/sns_x.svg');
		width: 24px;
	}
	a[href*="instagram.com"] {
		background-image:  url('images/sns_ig.svg');
		width: 25px;
	}
	a[href*="facebook.com"] {
		background-image:  url('images/sns_fb.svg');
		width: 28px;
	}
	a[href*="youtube.com"] {
		background-image:  url('images/sns_yt.svg');
		width: 34px;
	}
	a[href*="line.me"],a[href*="lin.ee"] {
		background-image:  url('images/sns_line.svg');
		width: 160px;
	}
	a[href*="minne.com"] {
		background-image:  url('images/sns_shop.svg');
		width: 28px;
	}
}
.msg-sns{margin-top:16px;}
.f-sns .sns-icon-links a {filter: invert(100%);}
.list-icon{
	padding-left: 40px;
	background-image:  url('images/icon_list.svg');
	background-size: 24px;
	background-position: top 10px left;
	background-repeat: no-repeat;
}
.btn,.btn-p a {
	font-family: var(--f-zenmaru);
	font-weight: 500;
	display: inline-block;
	padding: 16px 56px;
	border: 1px solid var(--y-green);
	color: var(--black);
	line-height: 1;
	border-radius: 24px;
	background-image:  url('images/arrow_gr_mini.svg');
	background-size: 16px;
	background-position: center right 24px;
	background-repeat: no-repeat;
	@media (min-width: 1025px){
		transition: all .4s;
		&:hover{
			background-color: var(--green);
			color: #fff;
		}
	}
}
.under-sp-none{@media (max-width: 767px){display: none!important;}}
.over-tb-none{@media (min-width: 768px){display: none!important;}}
.under-dt-none{@media (max-width: 1024px){display: none!important;}}
.te-center{text-align: center;}
.te-right{text-align: right;}
.upcase{text-transform: uppercase;}
.spbr{@media (min-width:768px){display: none;}}
.mt0{ margin-top: 0px!important;}
.mt24{ margin-top: 24px;}
.mt64{ margin-top: 64px !important;}
/*******************************
フロントページ
*******************************/
.main-vis{
	margin-inline: auto;
	@media (min-width: 1025px){
		max-width: 1600px;
	}
	.front-slider{
		padding-left: 0;
		margin-top: 0;
		.slick-dots{
			bottom: 0;
			right: 0;
			display: flex;
			gap: 8px;
			justify-content: right;
			margin-right: 16px;
			@media (min-width: 768px){
				margin-top: -24px;
				margin-right: 0;
				justify-content: center;
			}
			li{
				font-size: 0;
				width: 8px;
				height: 8px;
				background-color: var(--gray);
				border-radius: 8px;
				&.slick-active{
					background-color: var(--green);
				}
			}
		}
	}
}
.t-scroll{
	color: var(--l-blue);
	text-align: center;
	position: relative;
	line-height: 16px;
	&::after,&::before{
		content: '';
		display: inline-block;
		position: absolute;
		top: 24px;
	}
	&::before{
		width: 1px;
		height: 80px;
		left: 50%;
		background-color: var(--l-blue);
	}
	&::after{
		width: 8px;
		height: 12px;
		background-color: #fff;
		border: 1px solid var(--l-blue);
		border-radius: 4px;
		left: calc(50% - 3px);
		animation: ellipse ease infinite 4s;
	}
}
@keyframes ellipse{
	0%{
		top:25px;
	}
	100%{
		top:93px;
	}
}
.t-about,.t-future{
	position: relative;
	.f-daruma-opa20{
		position: absolute;
		top: -43px;
		@media (min-width: 1025px){	top: -50px;}
	}
	h2{
		color: var(--blue);
		font-size: 28px;
		padding-top: 56px;
		& + p {
			margin-top: 24px;
			line-height: 1.6;
		}
	}
	.btn-p{
		margin-top: 32px;
	}
}
.t-about-inner,.t-future-inner{
	position: relative;
	padding-bottom: 64px;
	& > .wp-block-group__inner-container{
		display: grid;
		grid-template-columns: 1fr;
		gap: 40px;
		figure{max-width: 528px;position: relative;}
		@media (min-width: 768px){
			grid-template-columns: 1fr 1fr;
			figure img{
				position: absolute;
				top: -105px;
			}
		}
		@media (min-width: 1025px){
			figure img{
				top: -197px;
			}
		}
	}
}
.t-about{
	margin-top: 160px;
	@media (min-width: 768px){margin-top: 210px;}
	@media (min-width: 1025px){margin-top: 277px;}
	.t-about-inner{
		&::after,&:before{
			position: absolute;
		}
		&::before{
			top: -72px;
			right: 8%;
			@media (min-width: 768px){
				right: auto;
				left: 180px;
				top: -126px;
			}
			@media (min-width: 1025px){
				left: 250px;
				top: -116px;
			}
		}
		&::after{
			transform: rotate(-135deg);
			bottom: -64px;
		}
		figure{
			position: relative;
			@media (min-width: 1200px){
				img{right: -30px;}
			}
			&::before{
				position: absolute;
				z-index: 1;
				bottom: -32px;
				left: 0;
				display: inline-block;
				content: '';
				width: 162px;
				height: 162px;
				background-image:  url('images/nanakusa@2x.webp');
				background-size: cover;
				background-position: center center;
				background-repeat: no-repeat;
				@media (min-width: 768px){
					bottom: -56px;
					left: -64px;
				}
				@media (min-width: 1024px){
					left: -170px;
				}
				@media (min-width: 1200px){
					left: -130px;
				}
			}
		}
	}
}
.t-future{
	margin-top: 170px;
	@media (min-width: 768px){argin-top: 197px;}
	.t-future-inner{
		&::after,&:before{
			position: absolute;
		}
		&::before{
			/* transform: rotate(-45deg); */
			transform: scaleX(-1) rotate(-145deg);
			right: 8%;
			top: -30px;
			@media (min-width: 768px){
				right: 0;
				top: -120px;
			}
			@media (min-width: 1024px){
				right: 8%;
				top: -30px;
			}
		}
		&::after{
			transform: scaleX(-1) rotate(-10deg);
				left: 8%;
				bottom: 0;
			@media (min-width: 768px){
				bottom: -80px;
				left: 10%;
			}
			@media (min-width: 930px){
				bottom: -10px;
				left: 30%;
			}
			@media (min-width: 900px){
				left:240px;
				bottom: -160px;
			}
			@media (min-width: 1024px){
				left:330px;
				bottom: -180px;
			}
			@media (min-width: 1200px){
				left: 45%;
				bottom: -130px;
			}
		}
		figure{
			@media (min-width: 768px){
				order: -1;
				img {top: -115px;}
			}
			@media (min-width: 1200px){
				img{right: 30px;}
			}
			position: relative;
			&::before{
				position: absolute;
				z-index: 1;
				bottom: 20px;
				right: 8%;
				display: inline-block;
				content: '';
				width: 120px;
				height: 119px;
				background-image:  url('images/oc_flag@2x.webp');
				background-size: cover;
				background-position: center center;
				background-repeat: no-repeat;
				@media (min-width: 768px){
					width: 160px;
					height: 158px;
					right: auto;
					bottom: -40px;
					left: 200px;
				}
				@media (min-width: 900px){
					left: 300px;
				}
				@media (min-width: 1024px){
					left: 320px;
					bottom: -100px;
				}
				@media (min-width: 1200px){
					left: 360px;
					bottom: -80px;
				}
			}
		}
	}
}
.has-flag-oc::before,.has-flag-oc img[src$="oc_flag@2x.webp"] {
	animation: batabata 5s infinite;
}
@keyframes batabata{
    0% {
        transform: translateY(0%) ;
    }
    2% {
        transform: translateY(-7px) ;
    }
    4% {
        transform: translateY(0%) ;
    }
    6% {
        transform: translateY(-7px) ;
    }
    8% {
        transform: translateY(0%) ;
    }
    100% {
        transform: translateY(0%) ;
    }
}
.t-facilities,.t-news,.t-blog{
	h2 {
		font-size: 22px;
	}
	.f-daruma-opa20 span{display: inline-block;}
}
.facilities-slider,.blog-slider{
	position: relative;
	.slick-slide {
		padding: 0 8px; /* 左右に余白 */
	}
	.slick-prev,.slick-next {
		z-index: 1;
		width: 32px;
		position: absolute;
		top: 72px;
		img {width: 32px;}
	}
	.slick-prev{
		left: -36px;
	}
	.slick-next {
		right:-36px;
	}
}
.t-facilities{
	@media (min-width: 1025px){
		margin-top: -100px;
	}
	.t-hedding-wrap{
		display: grid;
		gap: 40px;
		grid-template-columns: 1fr;
		@media (min-width: 768px){
			align-items: center;
			grid-template-columns: 380px 1fr;
			h2{
				position: relative;
				top: 10px;
			}
		}
		@media (min-width: 1025px){
			grid-template-columns: 420px 1fr;
		}
	}
	.facilities-slider{
		margin-top: 40px;
		.slick-prev {left: -6px;top: 33%;}
		.slick-next {right:-6px;top: 33%;}
		@media (min-width: 1025px){
			margin-top: 80px;
			.slick-prev{left: -36px;top: 72px;}
			.slick-next {right:-36px;top: 72px;}
		}
	}
}
.t-pickup{
	margin-top: 80px;
	.bg-oc2{
		padding: 80px 0;
		@media (min-width: 768px){
			background-repeat: no-repeat;
			background-image:  url('images/oc_ayame_op5.webp'), url('images/oc_wakanan_op5.webp');
			background-size: 200px,220px;
			background-position: top 130px left calc(50% - 260px),top 380px right calc(50% - 255px);
		}
		@media (min-width: 1024px){ /*ipad pro 対応 */
			background-size: 220px,270px;
			background-position: top 100px left calc(50% - 300px),top 350px right calc(50% - 300px);
		}
	}
	.blue-bubble{
		max-width: 288px;
		margin-inline:auto;
	}
	.t-bnrs{
		max-width: 912px;
		margin-inline: auto;
		& + .blue-bubble{margin-top: 40px;}
		.flyer{
			margin-inline: auto;
			max-width: 288px;
		}
		.bnr-list > *{
			margin-top: 24px;
			display: grid;
			gap: 24px;
			grid-template-columns: 1fr;
			margin-inline: auto;
			max-width: 288px;
			@media (min-width: 768px){
				max-width: 100%;
				grid-template-columns: repeat(3,1fr);
			}
		}
	}
	.sns{
		margin-top: 24px;
		max-width: 288px;
		margin-inline:auto;
		.sns-icon-links{
			justify-content: center;
		}
	}
}
.has-vr ~ .bnrs figure:has(a[href*="cyzy.io"]) {
  display: none;
}

.t-news,.t-blog{
	.t-hedding-wrap{
		display: grid;
		gap: 16px;
		grid-template-columns: 1fr;
		@media (min-width: 768px){
			gap: 24px;
			align-items: center;
			grid-template-columns: 168px 96px 1fr;
			h2{
				position: relative;
				top:10px
			}
		}
		img{
			width: 335px;
			@media (min-width: 768px){width: 360px;}
			@media (min-width: 1025px){width: 440px;}
		}
	}
}
.t-blog .t-hedding-wrap{@media (min-width: 768px){gap: 0px;}}
.t-news{
	padding: 80px 0;
	.news-list{
		margin-top: 40px;
		@media (min-width:1025px){margin-top: 64px;}
	}
}
.t-blog{
	padding: 80px 0 0;
	.blog-list{
		margin-top: 40px;
		@media (min-width:1025px){margin-top: 80px;}
	}
	.blog-1fr{
		display: grid;
		grid-template-columns: 1fr;
		gap: 32px;
		@media (min-width:768px){
			grid-template-columns: repeat(3,1fr);
			gap: 16px;
		}
	}
}
.namipic-wrap{background-color: var(--ivory);}
.home .bg-namipic-loop {
  width: 100vw;
  height: 153px;
  background: url("images/bg_namipic.webp") repeat-x;
  background-size: 2500px 100%; /* スマホ用に縮小 */
  animation: namiLoopSp 40s linear infinite;
}

@media (min-width: 768px) {
  .home .bg-namipic-loop {
    height: 307px;
    background-size: 5000px 100%; /* PCは原寸 */
    animation: namiLoopPc 60s linear infinite;
  }
}

@keyframes namiLoopSp {
  0%   { background-position: 0 0; }
  100% { background-position: -2500px 0; } /* background-size に揃える */
}

@keyframes namiLoopPc {
  0%   { background-position: 0 0; }
  100% { background-position: -5000px 0; } /* background-size に揃える */
}

/*******************************
固定ページ＆投稿ページ
*******************************/
main > *:first-child {margin-top: 0}
.page-inner,.single-facility-inner,.post-type-archive-facilities{
	h2{
		/* 2行は想定していない */
		display: flex;
		font-size: 24px;
		font-family: var(--f-zenmaru);
		font-weight: 500;
		align-items: center;
		&::after{
			content: "";
			flex: 1; /* 残り幅いっぱい */
			border-bottom: 2px dotted var(--gray);
			margin-left: 24px;
		}
	}
}
.single-facility-inner,.post-type-archive-facilities{
	h2{
		margin-top: 80px;
	}
}
.singular-inner{
	 h3{
		margin-top: 40px;
		background-image:  url('images/icon_leaf.svg');
		background-size: 18px;
		background-position: left top 5px;
		background-repeat: no-repeat;
		font-family: var(--f-zenmaru);
		font-weight: 500;
		font-size: 18px;
		padding-left: 32px;
		@media (min-width: 768px){
			background-size: 18px;
			padding-left: 32px;
		}
	}
	a:not(.btn,.alink){
		color: var(--d-green);
		text-decoration: none;
		@media (min-width:1025px){
			&:hover{
				transition: color .4s;
				color: var(--y-green);
			}
		}
		&[target="_blank"]::after{
			content:url('images/icon_blank.svg');
			padding-left: 5px;
			position: relative;
			top: 2px;
			padding-right: 4px;
		}
	}
	a:has(img)::after{content: ''!important;}
	p {margin-top: 16px;}
}
.single-inner,.common-inner{
	padding: 24px 0;
	h2{
		font-size: 24px;
		margin-top: 40px;
		font-weight: 600;
		border: none;
		border-left:solid 8px var(--y-green);
		padding-left: 16px;
		&::after{display: none;}
	}
	p{line-height: 1.8;}
	figure {margin-top: 16px;}
	figcaption {font-size: 14px;color: var(--light-gray);text-align: center;}
	ul{list-style: disc;padding-left: 24px;margin-top: 16px;}
	ol{list-style: decimal;padding-left: 24px;margin-top: 16px;}
	li{margin-top: 8px;}
}
.h3-like{
	margin-top: 40px;
	background-image:  url('images/icon_leaf.svg');
	background-size: 18px;
	background-position: left top 5px;
	background-repeat: no-repeat;
	font-family: var(--f-zenmaru);
	font-weight: 500;
	font-size: 18px;
	padding-left: 32px;
	@media (min-width: 768px){
		background-size: 18px;
		padding-left: 32px;
	}
}
.post-navigation{
	margin-top: 80px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	.nav-prev,.nav-next{
		min-width: 88px;
		a{
			color: var(--green);
			background-size: 16px;
			background-repeat: no-repeat;
		}
	}
	.nav-prev a{
		padding-left: 18px;
		@media (min-width: 376px){padding-left: 24px;}
		background-position: left center;
		background-image:  url('images/arrow_gr_mini_l.svg');
	}
	.nav-next{
		text-align: right;
		a{
			padding-right: 18px;
			@media (min-width: 376px){padding-right: 24px;}
			background-position: right;
			background-image:  url('images/arrow_gr_mini.svg');
		}
	}
}
/* ブログ */
.blog-single-title,.news-single-title{
	background-color: #fff;
	font-size: 22px;
	padding: 24px 24px 24px 48px;
	border-radius: 16px;
	background-image:url('images/bg_title.svg'), url('images/bg_grass.webp');
	background-size: 32px,80px;
	background-position: top 8px left 8px ,left bottom -72px;
	background-repeat: no-repeat,repeat-x;
	@media (min-width: 768px){font-size: 24px;}
	@media (min-width: 1024px){
		padding: 40px 40px 40px 80px;
		background-size: 48px,80px;
		background-position: top 16px left 16px ,left bottom -64px;
	}
}
.news-single-title{
	background-position: top 16px left 16px ,left bottom -80px;
}
.blog-single-meta,.news-single-meta{
	margin-top: 24px;
	display: flex;
	gap:8px;
	font-weight: 400;
	font-size: 14px;
	.post-categories{
		color: var(--green);
	}
}

.single-content{
	padding-bottom: 40px;
}
.post-tags{
	margin-bottom: 16px;
	li{
		display: inline-block;
		padding-right: 8px;
		font-size: 14px;
		color: var(--green);
	}
}
.author-box{
	background-color: #fff;
	padding: 40px;
	border-radius: 32px;
	.blue-bubble{
		padding-bottom: 4px;
		width: 144px;
		font-size: 16px;
		span{
			padding: 0;
			background: none;
		}
	}
	.author-detail{
		display: grid;
		grid-template-columns: 1fr;
		gap: 16px;
		@media (min-width:1025px){
			gap: 32px;
			grid-template-columns: 144px 1fr;
		}
	}
	.author-img{
		width: 144px;
		text-align: center;
		img {
			border-radius: 50%;
		}
	}
	.author-prof{
		.author-name{
			font-weight: 600;
		}
	}
	.author-text{
		margin-top: 8px;
		line-height: 1.6;
	}
}
.share-box{
	margin-top: 80px;
	padding: 40px;
	border: 1px solid var(--black);
	position: relative;
	.share-text{
		min-width: 240px;
		padding: 0 16px;
		display: inline-block;
		background-color: var(--ivory);
		position: absolute;
		top: -18px;
		left: 50%;
		transform: translateX(-50%);
		&::before{
			margin-right: 8px;
			display: inline-block;
			content: '';
			width: 24px;
			height: 24px;
			background-image:  url('images/icon_like.svg');
			background-size: cover;
			background-position: center ;
			background-repeat: no-repeat;
			position: relative;
			top: 3px;
		}
	}
	.icon-share{
		display: flex;
		justify-content: center;
		/* align-items: center; */
		gap: 24px;
		flex-direction: column;
		@media (min-width:768px){
			flex-direction: row;
			gap: 40px;
		}
		a{
			display: inline-block;
			line-height: 32px;
			padding-left: 40px;
			background-size: cover;
			background-position: left center;
			background-repeat: no-repeat;
			span{
				background-image: url('images/bg_dots.svg');
				background-size: 158px;
				background-repeat: repeat-x;
				background-position: bottom center;
			}
		}
		a[href*="facebook.com"] {
		background-image:  url('images/sns_fb.svg');
		background-size: 28px;
	}
		a[href*="twitter.com"] {
		background-image:  url('images/sns_x.svg');
		background-size: 24px;
	}
		a[href*="line.me"],a[href*="lin.ee"] {
		background-image:  url('images/sns_line_rgb.svg');
		background-size: 28px;
	}
	}
}
.related-wrap{
	.related-title{
		font-size: 18px;
		margin-top: 80px;
	}
	.blog-list{
		margin-top: 40px;
		display: grid;
		gap: 40px 20px;
		grid-template-columns: 1fr;
		@media (min-width:1024px){
			grid-template-columns: 1fr 1fr;
		}
	}
}
/* 施設 single*/
.facility-meta{
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	align-items: center;
	.fac-type{
		display: grid;
		align-items: center;
		min-height: 48px;
		font-size: 20px;
		padding-left: 48px;
		background-size: 40px;
		background-position: left center;
		background-repeat: no-repeat;
		@media (min-width:1025px){
			background-size: 56px;
			padding-left: 60px;
		}
	}
	.fac-tag{
		margin-top: 0;
	}
}
.single-dayservice-wrap{
	.fac-type{
		color:var(--green) ;
		background-image:  url('images/icon_facility_gr@2x.webp');
	}
	.fac-tag span{background-color: var(--green);}

}
.single-residence-wrap{
	.fac-type{
		color:var(--pink) ;
		background-image:  url('images/icon_facility_pk@2x.webp');
	}
	.fac-tag span{background-color: var(--pink);}
	/* .wp-element-caption{
		background: rgba( var(--pink-90))!important;
	} */

}
.single-store-wrap{
	.fac-type{
		color: var(--orange);
		background-image:  url('images/icon_facility_or@2x.webp');
	}
	.fac-tag span{background-color: var(--orange);}
	/* .wp-element-caption{
		background: rgba( var(--orange-90))!important;
	} */

}
.single-support-wrap{
	.fac-type{
		color: var(--l-blue);
		background-image:  url('images/icon_facility_bl@2x.webp');
	}
	.fac-tag span{background-color: var(--l-blue);}
	/* .wp-element-caption{
		background: rgba( var(--l-blue-90))!important;
	} */
}
.single-facility-inner{
	margin-top: 16px;
	/* .post-thumbnail{
		max-width: 800px;
		margin-inline: auto;
	} */
	.fac-lead{
		font-family: var(--f-zenmaru);
		font-weight: 500;
		margin-top: 16px;
		p{
			margin-top: 0;
			line-height: 2.5;
		}
		span{
			padding-bottom: 4px;
			border-bottom: 2px dotted var(--green);
			box-decoration-break: clone;
			-webkit-box-decoration-break: clone; /* Safari対策 */
		}
	}
	h2{
		margin: 60px 0 24px;
		@media (min-width:1025px){
			margin: 80px 0 40px;
		}
	}
	.fac-text-img{
		margin-top: 40px;
		.wp-block-group__inner-container{
			display: flex;
			flex-direction: column;
			gap: 16px;
			@media (min-width:768px){
				gap: 24px;
				flex-direction: row;
				justify-content: space-between;
				figure{
					width: 400px;
					flex-shrink: 0;
				}
			}
		}
		&:nth-child(odd) .wp-block-group__inner-container{
			@media (min-width:768px){
				flex-direction:row-reverse
			}
		}
		p{
			margin-top: 0;
			line-height: 1.8;
		}
		ul {
			list-style: disc;
			padding-left: 40px;
			margin-top: 24px;
			@media (min-width:768px){
				padding-left: 20px;
				margin-top: 0;
			}
			li{
				margin-top: 16px;
				line-height: 1.6;
			}
		}
	}
	.fac-schedule-wrap,.fac-review-wrap{
		margin-top: 64px;
		background-image:  url('images/bg_stem_l.svg');
		background-size: 200px;
		background-position: top 40px center;
		background-repeat: no-repeat;
		@media (min-width:768px){
			background-size: 360px;
			background-position: top 72px center;
		}
		@media (min-width:1025px){
			background-size: 440px;
			margin-top: 120px;
		}
		.f-daruma-opa20{
			font-size: 28px;
			text-align: center;
			@media (min-width:768px){
				margin-top: 64px;
				font-size: 56px;
			}
			@media (min-width:1025px){
				font-size: 72px;
				margin-top: 64px;
			}
		}
		.h3-like{
			font-size: 18px;
			margin-top: 16px;
			padding-left: 24px;
			display: block;
			margin-inline: auto;
			width: 176px;
		}
		.fac-schedule{
			font-family: var(--f-zenmaru);
			font-weight: 500;
			margin-inline: auto;
			margin-top: 32px;
			max-width: 555px;
			@media (min-width:1025px){
				margin-top: 60px;
			}
			& + & {margin-top: 120px;}
			thead{
				border: none;
				tr {
					grid-template-columns: 1fr;
					th{
						padding: 0 0 8px 0;
						border: none;
					}
				}
			}
			tr{
				display: grid;
				grid-template-columns: 80px 1fr;
				& + tr{
					position: relative;
					margin-top: 64px;
					&::before{
						content: '';
						width: 32px;
						height: 28px;
						display: block;
						background-image:  url('images/arrow_b.svg');
						background-size: 24px;
						background-position: center center;
						background-repeat: no-repeat;
						position: absolute;
						left:0;
						top: -42px;
						@media (min-width:768px){
							background-size: 32px;
						}
					}
				}
			}
			th,td{
				padding: 0 0 8px 0;
				padding-bottom: 8px;
				border: none;
				display: inline;
				border-bottom: 1px solid var(--d-green);
				font-size: 18px;
			}
			& + .wp-block-image{
				img{margin-top: 40px;}
				img[src$="sample400.png"] {
					display: none;
				}
			}
		}
	}
	.fac-menu{
		max-width: 1040px;
		margin-inline: auto;
		& > .wp-block-group__inner-container{
			display: grid;
			grid-template-columns: 1fr;
			gap: 24px;
			@media (min-width:768px){
				grid-template-columns: 1fr 1fr;
			}
		}
		.menu-text{
			tr{
				display: grid;
				grid-template-columns: 1fr 140px;
			}
			.wp-block-table{margin-top: 0;}
			tr,td{
				border: none;
			}
			td:first-child{
				padding-left: 16px;
				text-indent: -1em;
				&::before{
					content: '・';
				}
			}
		}
		.menu-img{
			& > .wp-block-group__inner-container{
				display: grid;
				gap: 24px;
				grid-template-columns: 1fr;
				@media (min-width:768px){
				grid-template-columns: 1fr 1fr;
				grid-template-rows: auto auto;
					.menu-cation{
						grid-column: 1 / -1;
						grid-row: 2;
					}
				}
			}
			p{
				margin-top: 8px;
				text-align: center;
				font-size: 14px;
				&.menu-cation{
					margin-top: 0;
					font-size: 12px;
					@media (min-width:768px){
						text-align: right;
					}
				}
			}
		}
	}
	.fac-review-wrap{
		.fac-review .wp-block-group__inner-container {
			display: grid;
			grid-template-columns: 80px 1fr;
			gap: 24px;
			/* align-items: center; */
			max-width: 750px;
			margin-inline: auto;
			margin-top: 40px;
			@media (min-width:768px){
				grid-template-columns: 160px 1fr;
				align-items: center;
				gap: 36px;
			}
			p{
				margin-top: 0;
				line-height: 1.6;
			}
			strong{margin-top: 8px;display: inline-block;}
		}
		.h3-like{width: 115px;}
	}
	.fac-gallery-thumbnail{
		figure.wp-block-image:has(figcaption):before,figcaption{display: none;}
		gap: 8px;
		figure{
			flex-grow: 0 !important;
			width: calc(100% / 3 - 16px / 3)!important;
			@media (min-width: 768px){
				width: calc(100% / 4 - 24px / 4)!important;
			}
			@media (min-width: 1024px){
				width: calc(100% / 5 - 32px / 5)!important;
			}
		}
	}
	.fac-info-wrap{
		.fac-data-wrap{
			max-width: 960px;
			margin-inline: auto;
			display: grid;
			grid-template-columns: 1fr;
			gap: 40px;
			@media (min-width: 768px){
				grid-template-columns: 1fr 1fr;
			}
		}
		.fac-data-main{
			dl{
				display: grid;
				grid-template-columns: 124px 1fr;
				gap: 8px;
				dt{
					background-position: top 9px left;
				}
				dt,dd{
					margin-top: 16px;
				}
				dt:first-child,dt:first-child + dd{
					margin-top: 0;
				}
			}
			.btn{
				margin-top: 40px;
			}
		}
		.fac-data-sub{
			.h3-like{margin-top: 0;}
			.h3-like:not(:first-child){
				margin-top: 56px;
			}
			ul{
				padding-left: 0;
				margin-top: 24px;
				list-style: none;
				li a {color:inherit;}
			}
		}
	}
	.w100wh{
		margin-top: 40px;
		padding: 80px 0;
		@media (min-width: 1025px) {
			margin-top: 80px;
		}
		h2 {margin-top: 0;}
	}
}
#baguetteBox-overlay #baguetteBox-slider{
	div {
		figure {
		/* position: relative; */
		figcaption{
			color: #fff;
			background-color: rgba( var(--d-green-95));
			font-family: var(--f-zenmaru)
		}
		}
	}
}
/* つながりの木の調整 */
.postid-462{
	.page-cover{
		@media (max-width: 767px) {
			font-size: 18px;
		}
	}
}
/* 共通 */
.seed3{
	&::after{
		position: absolute;
		content: '';
		width: 100px;
		height: 55px;
		display: block;
		background-image:  url('images/bg_seed3.svg');
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
		animation: fuwafuwa 6s ease-in-out infinite alternate;
		animation-delay: 1s;
		@media (min-width: 768px) {
			width: 160px;
			height: 88px;
		}
	}
}
.seed3-2{
	&::before{
		position: absolute;
		content: '';
		width: 100px;
		height: 55px;
		display: block;
		background-image:  url('images/bg_seed3.svg');
		background-size: cover;
		background-position: center center;
		background-repeat: no-repeat;
		animation: fuwafuwa 6s ease-in-out infinite alternate;
		@media (min-width: 768px) {
			width: 160px;
			height: 88px;
		}
	}
}
@keyframes fuwafuwa {
  0%, 100% {
	  filter: brightness(1) blur(0px);
}
  50% {
    filter: brightness(1.19) blur(1px);
  }
}
.oc-name{
	width: 226px;
	position: absolute;
	right: calc(50% - 113px );
	top: -72px;
}
/* 若菜について */
.about-lead{
	margin-top: 100px;
	position: relative;
	&.seed3::after{
		transform: rotate(-15deg);
		top: -80px;
		left: 5%;
		@media (min-width: 768px) {
			top: -64px;
			left: 10%;
		}
		@media (min-width: 1025px) {
			top: -64px;
			left: 15%;
		}
	}
	&.seed3::before{
		transform: rotate(-195deg);
		bottom: -220px;
		right: 5%;
		@media (min-width: 768px) {
			bottom: -64px;
			right: 10%;
		}
		@media (min-width: 1025px) {
			bottom: -64px;
			right: 15%;
		}
	}
	span{
		line-height: 2.5;
		padding-bottom: 4px;
		border-bottom: 2px dotted var(--green);
		box-decoration-break: clone;
		-webkit-box-decoration-break: clone; /* Safari対策 */
	}
	& + figure{
		z-index: 1;
		position: relative;
		max-width: 260px;
		margin-inline: auto;
		margin-top: -32px;
		@media (min-width: 768px) {
			max-width: 400px;
		}
	}
	.about-logo{
		width: 358px;
		max-width: 100%;
		margin-inline:auto;
	}
	.f-zenmaru-b{
		margin-top: 40px;
	}
}
.f-daruma-opa20.about-p{
	margin-top: 40px;
}
.origin-wrap{
	h2{
		margin-top: 24px;
	}
	p{line-height: 2;margin-top: 0;}
	.wp-block-group .wp-block-group__inner-container{
		margin-top: 24px;
		display: grid;
		grid-template-columns: 1fr;
		gap: 24px;
		/* align-items: center; */
		@media (min-width: 768px) {
			grid-template-columns: 1fr 162px;
		}
		figure{
			max-width: 162px;
		}
	}
}
.wakana20map{
	z-index: 1;
	position: relative;
	max-width: 448px;
	margin-top: -56px;
	margin-left: auto;
}
.features-wrap{
	.features-inner{
		p{
			line-height: 1.9;
		}
		& > .wp-block-group__inner-container{
			margin-top: 16px;
			display: grid;
			grid-template-columns: 1fr;
			gap: 24px;
			@media (min-width: 768px) {
				grid-template-columns: 1fr 1fr;
			}
		}
	}
}
.overview-wrap{
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
	padding-bottom: 56px;
	.wp-block-table{
		margin-top: 36px;
	}
	.wp-block-table{
		tr{
			margin-top: 24px;
			display: grid;
			grid-template-columns: 136px 1fr;
		}
		td{
			border: none;
			padding: 0px;
			&:first-child{
				font-family: var(--f-zenmaru);
				font-weight: 500;
				padding-left:40px ;
				background-image:  url('images/icon_list.svg');
				background-size: 24px;
				background-position: left top 10px;
				background-repeat: no-repeat;
			}
			a {padding-left: 8px;}
		}
	}
	.alink{
		margin-top: 40px;
		display: block;
		width: 148px;
		margin-inline:auto;
	}
	& + figure img{
		border-bottom-left-radius: 64px;
		border-bottom-right-radius: 64px;
		@media (min-width: 1025px) {
			border-bottom-left-radius: 80px;
			border-bottom-right-radius: 80px;
		}
	}
}
.history-wrap{
	margin-top: 80px;
	position: relative;
	@media (min-width: 1025px) {
		margin-top: 120px;
	}
	.oc-flag{
		width: 100px;
		position: absolute;
		top: -30px;
		right:36px;
		@media (min-width: 1025px) {
			width: 163px;
			top: -66px;
			right: 56px;
		}
	}
	.wp-block-table{
		tr{
			margin-top: 16px;
			display: grid;
			grid-template-columns: 70px 1fr;
			gap: 16px;
		}
		td{
			border: none;
			padding: 0;
		}
	}
	.history-inner{
		margin-top: 40px;
		max-height: 560px;
		overflow-y: scroll;
		padding-right: 8px;
	}
}
/* おもい */
.greeting-wrap{
	padding-top: 0;
	padding-bottom: 0;
}
.rijityou-greeting{
	margin-top: 24px;
	@media (min-width: 1025px) {
		& + .f-daruma-opa20{
			text-align: right;
			padding-right: 80px;
		}
	}
	& > .wp-block-group__inner-container{
		display: grid;
		gap:40px 24px;
		@media (min-width: 768px) {
			gap:16px 24px;
			grid-template-columns: 1fr 300px;
			align-items: start;
			.rijityou-text,
			.rijityou-sign {
				grid-column: 1; /* 左カラムにまとめる */
			}
			.rijityou-img {
				grid-column: 2; /* 右カラム */
				grid-row: 1 / span 2; /* 縦にまたがせる */
			}
		}
		@media (min-width: 1025px) {
			grid-template-columns: 1fr 400px;
		}
		.rijityou-text{
			line-height: 1.9;
		}
		.rijityou-sign{
			gap: 16px;
			justify-content: flex-end;
			p{flex-shrink: 0;white-space: nowrap;}
		}
	}
}
.philosophy-wrap{
	z-index: 2;
	position: relative;
	background-color: #fff;
	margin-top: 160px;
	.philosophy-copy{
		margin-top: 36px;
		font-size: 18px;
		text-align: center;
		line-height: 1.6;
	}
	.philosophy-text{
		margin-top: 32px;
		line-height: 1.9;
	}
	&.seed3::after{
		transform: rotate(-15deg);
		top: -80px;
		left: 5%;
		@media (min-width: 768px) {
			top: -64px;
			left: 10%;
		}
		@media (min-width: 1025px) {
			top: -64px;
			left: 15%;
		}
	}
}
.guidelines-wrap{
	z-index: 0;
	margin-top: -70px;
	@media (min-width: 1025px) {
		margin-top: -72px;
	}
	h2{margin-top: 64px;}
	.h3-like{
		margin-top: 36px;
	}
}
.img-yg{
	position: relative;
	max-width: 468px;
	margin-left: auto;
	margin-top: -50px;
	&.seed3::after{
		bottom:0;
		right: 30px;
		@media (min-width: 768px) {
			transform: rotate(-127deg);
			top: 25%;
			left: -140px;
		}
	}
}
.logo-intro{
	background-color: #fff;
	margin-top: 64px;
	h2,figure{
		max-width: 880px;
		margin-inline:auto;
	}
	figure{
		text-align: center;
		margin-top: 64px;
		img{
			width: 518px;
		}
	}
	p{
		margin-top: 64px;
		font-size: 17px;
		max-width: 720px;
		margin-inline:auto;
		line-height: 1.6;
		@media (min-width: 768px) {
			font-size: 18px;
		}
	}
}
/* 採用 */
.rec-copy{
	color: var(--blue);
	font-family: var(--f-zenmaru);
	font-weight: 500;
	font-size: 28px;
	background-image:  url('images/bg_stem_l.svg');
	background-size: 335px;
	background-position: bottom left;
	background-repeat: no-repeat;
	padding-bottom: 64px;
	@media (min-width: 768px) {
		background-size: 360px;
		background-position: left 300px center;
		padding-bottom: 0;
	}
	@media (min-width: 1025px) {background-size: 440px;}
}
.rec-lead{
	& > .wp-block-group__inner-container{
		margin-top: 24px;
		display: grid;
		grid-template-columns: 1fr;
		gap: 40px;
		@media (min-width: 768px) {
			grid-template-columns: 400px 1fr;
			gap: 16px;
		}
		@media (min-width: 1025px) {
			grid-template-columns: 1fr 600px;
			gap: 72px;
		}
		p{
			margin-top: 0;
			line-height: 2;
		}
	}
}
.rec-bnrs{
	margin-top: 40px;
	padding: 80px 0;
	@media (min-width: 768px) {
		margin-top: 80px;
	}
	@media (min-width: 1025px) {
		img{
			transition: filter .4s;
			&:hover{
				filter: brightness(1.05);
			}
		}
	}
	a[target="_blank"]::after{
		display: none;
	}
	p{margin-top: 0;}
	figure{
		position: relative;
		& > img {
			filter: grayscale(100);
			pointer-events: none;
		}
		&::after{
			color: var(--red);
			position: absolute;
			bottom: -24px;
			left: 50%;
			transform: translateX(-50%);
			display: block;
			width: 114px;
			content: 'ただいま準備中';
		}
		&:has(a)::after{
			display: none;
		}
	}
	.rec-link-bnr{
		margin-top: 32px;
		.wp-block-group__inner-container{
			display: grid;
			grid-template-columns: 1fr;
			gap: 40px 24px;
			@media (min-width: 768px) {
				grid-template-columns: repeat(3,1fr);
			}
		}
	}
	.rec-cation{
		margin-top: 40px;
		font-size: 14px;
	}
}
.rec-bnrs-sub .wp-block-group__inner-container{
		margin-top: 32px;
		display: flex;
		gap: 8px;
		flex-wrap: wrap;
	}

/* 情報公開 */
.doc1block{
	& + & {margin-top: 24px;}
	.h3-like{
		margin-top: 0;
	}
	.wp-block-file{
		margin-bottom: 0;
		margin-left: 24px;
		a{font-size: 0;
			&::before{
				content: "PDFで見る";
				font-size: 16px;
			}
		}
	}
	.wp-block-group__inner-container{
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: 8px 0 ;
	}
}
p.update{margin-top: 56px;}
.subsidy-bnrs .wp-block-group__inner-container{
	margin-top: 24px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
/* お問い合わせ */
.contact-lead{
	font-family: var(--f-zenmaru);
	font-weight: 500;
	font-size: 18px;
	@media (min-width: 768px) {
		text-align: center;
		fon-size:20px;
	}
}
/*******************************
一覧ページ
*******************************/
/* ページネーション */
.pagination{
	padding-left: 0;
	margin-top: 64px;
	list-style: none;
	display: flex;
	gap: 16px;
	justify-content: center;
	li{
		color: var(--gray);
		&.current{color: var(--d-green);}
		&.prev a,&.next a{
			display: block;
			width: 64px;
			background-image:  url('images/arrow_gr_mini.svg');
			background-size: 16px;
			background-position: right center;
			background-repeat: no-repeat;
		}
		&.prev a{
			text-align: right;
			background-position: left center;
			background-image:  url('images/arrow_gr_mini_l.svg');
		}
		a{
			transition: color .4s;
			@media (min-width: 768px){
				&:hover{
					color: var(--y-green);
				}
			}
		}
	}
}
/* ブログ archive */
.blog-list{
	font-family: var(--f-zenmaru);
	margin-top: 0;
	padding-left: 0;
	list-style: none;
	article{
		display: grid;
		grid-template-columns: 1fr;
		.blog-text{
			margin-top: 8px;
		}
		.blog-title{
			margin-top: 4px;
			font-weight: 500;
			@media (min-width:1025px){
				a:hover{
					transition: color .4s;
					color: var(--d-green);
				}
			}
		}
	}
	&.slim {
		li{margin-top: 16px;}
		article{
			grid-template-columns: 80px 1fr;
			gap: 8px;
		}
	}
	.blog-meta{
		display: flex;
		align-items: center;
		gap: 8px;
		time{
			font-size: 14px;
			min-width: 64px;
		}
		.blog-cat{
			font-size: 14px;
			color: var(--green);
			font-weight: 500;
		}
	}
}
.archive,.blog {
	main{
		.blog-list{
			margin-top: 40px;
			display: grid;
			grid-template-columns: 1fr;
			gap:40px;
			@media (min-width: 768px){
				gap:40px 20px;
				grid-template-columns: 1fr 1fr;
			}
			@media (min-width: 1024px){
				margin-top: 72px;
				grid-template-columns: 1fr 1fr 1fr;
			}
		}
	}
}
/* お知らせ archive */
.news-list{
	margin-top: 0;
	padding-left: 0;
	list-style: none;
	li{
		margin-top: 24px;
		@media (min-width: 768px){
			margin-top: 16px;
		}
	}
	article{
		display: grid;
		gap: 0 16px;
		grid-template-columns: 1fr;
		@media (min-width: 768px){
			grid-template-columns: auto 1fr;
		}
	}
	.news-meta{
		/* height: 20px; */
		display: flex;
		align-items: center;
		gap: 8px;
		time{
			min-width: 72px;
		}
		.news-cat{
			font-weight: 500;
			text-align: center;
			min-width: 80px;
			padding: 0 8px;
			line-height: 17px;
			font-size: 14px;
			border-radius: 8px;
			color: #fff;
			background-color: var(--green);
		}
	}
	.news-title{
		margin-top: 8px;
		@media (min-width: 768px){margin-top: 0;}
			@media (min-width:1025px){
			a:hover{
				transition: color .4s;
				color: var(--d-green);
			}
		}
	}
}
/* 施設 archive */
.fac-selector{
	margin-top: 24px;
	max-width: 615px;
    margin-inline: auto;
	@media (min-width: 1024px){
		/* display: none; */
	}
	.fac-jamp-title{
		display: block;
		font-size: 18px;
	}
	#fac-jump{
		margin-top: 8px;
		width: 100%;
		font-size: 16px;
		padding: 12px 8px;
		border: 1px solid var(--gray);
        background-color: #fff;
        border-radius: 5px;
	}
}
.facilities-list{
	.fac-img{
		position: relative;
		&::after{
			content: '';
			background-image:  url('images/icon_facility_gr@2x.webp');
			background-size: cover;
			background-position: center center;
			background-repeat: no-repeat;
			width: 56px;
			height: 48px;
			display: inline-block;
			position: absolute;
			bottom: -25px;
			left: 8px;
		}
	}
	.fac-meta,.fac-name{
		text-align: center;
		color: var(--green);
	}
	.fac-meta{
		margin-top: 16px;
	}
	.fac-name{
		font-size: 19px;
		margin-top: 3px;
	}
	.fac-address{
		margin-top: 16px;
		a {
			padding-left: 10px;
			color: var(--green);
			&::after{
			content:url('images/icon_blank.svg');
			padding-left: 5px;
			position: relative;
			top: 2px;
			}
		}
	}
	.fac-sns.sns-icon-links{
		margin-top: 16px;
		li{
			padding: 0;
		}
	}
	.alink{margin-top: 16px;}
	.residence{
		.fac-img{
			&::after{background-image:  url('images/icon_facility_pk@2x.webp');}
		}
		.fac-meta,.fac-name{
			color: var(--pink);
		}
	}
	.store{
		.fac-img{
			&::after{background-image:  url('images/icon_facility_or@2x.webp');}
		}
		.fac-meta,.fac-name{
			color: var(--orange);
		}
	}
	.support{
		.fac-img{
			&::after{background-image:  url('images/icon_facility_bl@2x.webp');}
		}
		.fac-meta,.fac-name{
			color: var(--l-blue);
		}
	}
}
.fac-tag {
	margin-top: 16px;
	span{
		border-radius: 16px;
		padding: 1px 8px 2px;
		display: inline-block;
		margin-right: 4px;
		font-size: 14px;
		background-color: var(--green);
		color: #fff;
		line-height: 1;
	}
}
.residence .fac-tag span{background-color: var(--pink);}
.store .fac-tag span{background-color: var(--orange);}
.support .fac-tag span{background-color: var(--l-blue);}
.post-type-archive-facilities{
	.fac-area-map{
		text-align: center;
		img{
			width: 375px;
			@media (min-width: 768px){
				width: 944px;
			}
		}
	}
	.facilities-list{
		max-width: 912px;
		margin-top: 24px;
		margin-inline: auto;
		display: grid;
		grid-template-columns: 1fr;
		gap: 24px;
		@media (min-width:768px){
			margin-top: 40px;
			grid-template-columns: repeat(2,1fr);
		}
		@media (min-width:1024px){
			grid-template-columns: repeat(3,1fr);
		}
		li{
			padding: 24px;
			background-color: #fff;
			img{
				width: 100%;
			}
		}
	}
}
.fac-oc-msg{
	margin-top: 80px;
	text-align: center;
	img{width: 320px;}
}
/* 検索結果 */
.search-results-list{
	margin-top: 24px;
	list-style:disc;
	padding-left: 40px;
	li{
		margin-top: 32px;
		p{
			margin-top: 8px;
		}

	}
}
/*******************************
コンタクトフォーム
*******************************/
.wpcf7{
	margin-top: 64px;
	max-width: 676px;
	margin-inline: auto;
	@media (min-width: 768px){
		label br {display: none;}
		label {
			line-height: 16px;
			display: grid;
			grid-template-columns: minmax(130px,auto) 36px 	1fr;
			gap: 16px;
			align-items: start;
		}
		p:has(.wpcf7-submit){
			display: inline-block;
			margin-left: 198px;
		}
	}
	.acceptance-wrap{
			border: 1px solid var(--gray);
			padding: 8px;
			br{display: none;}
			label{
				margin-top: 8px;
				display: grid;
				grid-template-columns: 1fr;
				label{
					gap: 16px;
					justify-content: center;
					align-items: center;
					grid-template-columns: 10px 1fr;
					input{margin-top: 0;}
				}
				span{margin: 0;}
		}
	}
	.wpcf7-form > p {margin-top: 40px;}
	.req,.any{
		display: inline-block;
		background-color: var(--red);
		color: #fff;
		font-size: 14px;
		line-height: 14px;
		padding: 3px 3px 3px 4px;
		border-radius: 3px;
		margin-left: 8px;
		@media (min-width: 768px){
			margin-left: 0;
		}
	}
	.any{background-color: var(--l-blue);}
	input,textarea,select{
		font-size: 16px;
		padding: 8px;
		width:100%;
		border: 1px solid var(--gray);
		background-color: #fff;
		border-radius: 5px;
		margin-top: 8px;
		@media (min-width: 768px){
			margin-top: 0;
			padding: 12px 8px;
		}
	}
	select{
		min-height: 41px;
	}
	.wpcf7-submit{
		font-family: var(--f-zenmaru);
		font-weight: bold;
		background-color: var(--green);
		color: #fff;
		letter-spacing: 1em;
		cursor: pointer;
		appearance: none;
		width: 300px;
		background-image: none;
		text-align: center;
		border: none;
	}
}
/* アラート */
span.wpcf7-not-valid-tip{color: #a94442;}
.wpcf7 form .wpcf7-response-output{
	border:none!important;
	border-radius: 2px!important;
	padding: 0.8em 1em!important;
	margin: 2em 0 1em!important;
}
/* エラー */
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output{
	background: #f2dede;
	color: #a94442;
}
/* 送信完了 */
.wpcf7 form.sent .wpcf7-response-output{
	background: #dff0d8;
	color: #3c763d;
}

/* .wpcf7-turnstile{
	margin-top: 16px;
	@media (min-width: 768px){
		margin-inline:auto ;
		width: 280px;
	}
} */

/* .singular-inner .gr-caution{
	margin-top: 24px;
	text-align: center;
	font-size: 12px;
} */

/*******************************
アニメーションの設定
*******************************/

body:not(.no-js) .animation-fade {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 1s, transform 1s;
}

body:not(.no-js) .animation-fade.active {
  opacity: 1;
  transform: translateY(0);
}