@charset "UTF-8";
/* 共通 */
html {
	font-size: 100%;
}
body {
	position: relative;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
	color: #7a6b68;
	font-size: 16px;
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	letter-spacing: 0.1em;
	line-height: 1.9;
	overflow: auto;
}
.hamopen {
	overflow: hidden;
	width: 100vw;
	height: 100vh;
}
a {
	text-decoration: none;
	transition: .4s;
}
/*=====ウェブアクセシビリティ=====*/
a:focus-visible {
	outline: 4px solid blue !important;
	outline-offset: -1px;
	box-shadow: 0 0 0 4px white;
}
button:focus-visible {
	outline: 4px solid blue !important;
	outline-offset: -1px;
	box-shadow: 0 0 0 4px white;
}
ul, ol {
	list-style: none;
	padding: 0;
}
main {
	display: block;
	position: relative;
	overflow: hidden;
}
main section {
	padding: 70px 0 110px;
	position: relative;
}
main section.stb {
	padding: 100px 0;
}
@media (max-width: 550px) {
	main section {
		padding: 40px 0 70px;
	}
	main section.stb {
		padding: 65px 0;
	}
}
/* 画像 */
img {
	line-height: 1;
	vertical-align: top;
	max-width: 100%;
	transition: .4s;
}
.round img {
	border-radius: 10px;
}
/* テキスト */
p {
	margin-bottom: 10px;
}
.marker {
	text-decoration: underline;
	text-decoration-thickness: 0.45em;
	text-decoration-color: rgba(255, 239, 135, 0.55);
	text-underline-offset: -0.05em;
	text-decoration-skip-ink: none;
}
/* 見出し01 */
.maintitle {
	margin-bottom: 75px;
	display: block;
	text-align: center;
	line-height: 1.45;
	position: relative;
	font-size: clamp(1.6rem, 0.725rem + 2.8vw, 2.3rem);
	font-weight: 700;
}
.smile::before {
	content: '';
	display: block;
	width: 70px;
	height: 70px;
	background-image: url(../img/smile.svg);
	background-size: contain;
	vertical-align: middle;
	margin: 0 auto -10px;
}
.maintitle .mf {
	text-transform: uppercase;
	white-space: nowrap;
	letter-spacing: 0.025em;
	position: relative;
	font-size: 45%;
	color: #97b856;
}
.maintitle.mtleft {
	text-align: left;
}
.maintitle.mtleft .mf {
	padding-left: 43px;
}
.maintitle.mtleft .mf::before {
	background: #97b856;
	position: absolute;
	content: "";
	top: 0.7em;
	left: 0;
	width: 33px;
	height: 1px;
}
.txtmgb {
	margin-bottom: 50px;
}
@media (max-width: 550px) {
	.maintitle {
		margin-bottom: 45px;
	}
	.smile::before {
		width: 50px;
		height: 50px;
	}
	.txtmgb {
		margin-bottom: 35px;
	}
}
/* 色 */
.mf span:nth-child(5n+1) {
	color: #ff9999;
}
.mf span:nth-child(5n+2) {
	color: #f7ad68;
}
.mf span:nth-child(5n+3) {
	color: #92d450;
}
.mf span:nth-child(5n+4) {
	color: #87c3ff;
}
.mf span:nth-child(5n) {
	color: #ce9eff;
}
/* 見出し02 */
.mtitle {
	font-weight: 700;
	font-size: clamp(1.2rem, 0.825rem + 1.2vw, 1.5rem);
	margin-bottom: 15px;
	padding: 0 7px 13px;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.mtitle:first-letter {
	font-size: 120%;
}
.mtitle::before {
	content: '';
	width: 100%;
	height: 9px;
	position: absolute;
	bottom: 0;
	left: 0;
	background: linear-gradient(to left, #f24141, #ff9736, #f8df00, #00c457, #0068b7, #3657ff, #920783);
	opacity: 0.35;
	z-index: -1;
	border-radius: 0 0 5px 5px;
}
/* 見出し03 */
.stitle {
	font-weight: 700;
	position: relative;
	font-size: clamp(1.2rem, 0.825rem + 1.2vw, 1.5rem);
	padding-bottom: 13px;
	margin-bottom: 17px;
	line-height: 1.75;
}
.stitle::after {
	content: '';
	display: block;
	height: 3px;
	background: linear-gradient(to right, #f24141, #ff9736, #f8df00, #00c457, #0068b7, #3657ff, #920783);
	position: absolute;
	bottom: 5px;
	opacity: 0.6;
	width: 100%;
	border-radius: 3px;
}
@media (max-width: 750px) {
	.stitle {
		margin-bottom: 13px;
	}
}
/* ボタン */
.mainbtn a {
	position: relative;
	vertical-align: middle;
	margin: 0 auto;
	padding: 20px;
	transition: .4s;
	display: inline-block;
	width: 90%;
	max-width: 250px;
	z-index: 1;
	overflow: hidden;
	line-height: 1.6;
	border: 2px solid #7a6b68;
	text-align: center;
	border-radius: 50px;
	color: #fff;
	background: #7a6b68;
}
.mainbtn a:hover::after {
	opacity: 0;
}
.mainbtn a:hover {
	background: #fff;
	color: #7a6b68;
	transition: .4s;
}
/**/
.tbtn {
	margin-top: 40px;
}
@media (max-width: 550px) {
	.tbtn {
		margin-top: 27px;
	}
}
@media (max-width:550px) {
	.mainbtn a {
		max-width: 210px;
		padding: 15px;
	}
}
/*flex要素*/
.flexbox {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
@media (max-width: 750px) {
	.flexbox {
		display: block;
	}
	.flexbox img {
		width: 100%;
	}
	.flexbox div {
		width: 100%;
	}
	.spmgb {
		margin-bottom: 17px;
	}
}
.reverse {
	flex-direction: row-reverse;
}
/*幅*/
.inner {
	width: 88%;
	max-width: 1200px;
	margin: 0 auto;
}
.w65 {
	width: 65%;
}
.w52 {
	width: 52%;
}
.w49 {
	width: 49%;
}
.w48 {
	width: 48%;
}
.w43 {
	width: 43%;
}
.w32 {
	width: 32%;
}
/*background*/
.bg_cream {
	position: relative;
}
.bg_cream::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #fff7f0;
	z-index: -100;
}
.rainbow_s::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	background-image: url(../img/rainbow.png);
	background-size: 30%;
	background-position: bottom left;
	background-repeat: no-repeat;
	opacity: 0.5;
}
@media (max-width: 550px) {
	.rainbow_s::after {
		background-size: 70%;
	}
}
/* 反転 */
.bgx::before, .bgx::after {
	transform: scaleX(-1);
}
.bgy::before, .bgy::after {
	transform: scaleY(-1);
}
.bgxy::before, .bgxy::after {
	transform: scaleX(-1) scaleY(-1);
}
/*illust*/
.psr {
	position: relative;
}
/**/
.tl, .tr, .bl, .br {
	position: absolute;
	z-index: 1;
	pointer-events: none;
}
.tl img, .tr img, .bl img, .br img {
	border-radius: 0 !important;
	mask-image: none !important;
	-webkit-mask-image: none !important;
}
/**/
section .tl, section .tr, section .bl, section .br {
	width: fit-content !important;
}
section .tl img, section .tr img, section .bl img, section .br img {
	width: auto !important;
	height: 160px !important;
}
/**/
.psr .tl, .psr .tr, .psr .bl, .psr .br {
	width: 27% !important;
	max-width: 190px;
}
.psr .tl img, .psr .tr img, .psr .bl img, .psr .br img {
	width: 100% !important;
	height: auto !important;
	mask-image: none !important;
}
/*位置*/
section .tl {
	top: -90px;
	left: 1%;
}
section .tr {
	top: -90px;
	right: 1%;
}
section .bl {
	bottom: -90px;
	left: 1%;
}
section .br {
	bottom: -90px;
	right: 1%;
}
.psr .tl {
	top: 0;
	left: 0;
}
.psr .tr {
	top: 0;
	right: 0;
}
.psr .bl {
	bottom: 0;
	left: 0;
}
.psr .br {
	bottom: 0;
	right: 0;
}
@media (max-width: 1180px) {
	section .tl img, section .tr img, section .bl img, section .br img {
		height: 120px !important;
	}
	section .tl {
		top: -30px;
	}
	section .tr {
		top: -30px;
	}
	section .bl {
		bottom: -30px;
	}
	section .br {
		bottom: -30px;
	}
}
@media (max-width: 550px) {
	section .tl img, section .tr img, section .bl img, section .br img {
		height: 80px !important;
	}
}
/* 横に揺れる */
.moving {
	display: block;
	width: 100%;
	animation: movinganime 2.05s cubic-bezier(0.7, 0.02, 0, 0.97) infinite;
}
.moving.rev {
	animation-direction: reverse;
	animation-delay: 1.14s !important;
}
@keyframes movinganime {
	0% {
		transform: rotate(0deg)
	}
	20% {
		transform: rotate(0deg)
	}
	30% {
		transform: rotate(-7deg)
	}
	80% {
		transform: rotate(-7deg)
	}
	83% {
		transform: rotate(0deg)
	}
}
/*=== 共通部分ここまで ===*/
/* header ================================= */
.header {
	position: sticky;
	top: 0;
	left: 0;
	right: 0;
	z-index: 100;
	background: #fff;
	padding: 13px 5px 16px;
	transition: all .5s;
	box-shadow: none;
}
.topPage .header {
	position: fixed;
}
.topPage .header {
	opacity: 0;
	pointer-events: none;
}
.topPage .header.change {
	opacity: 1;
	pointer-events: auto;
}
.header.change {
	box-shadow: 0px 4px 4px -5px rgba(0, 0, 0, 0.25);
}
.header_inner {
	width: 97%;
	margin: 0 auto;
	max-width: 1500px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
/* logo */
.header h1 {
	line-height: 1;
}
.header_title h1 a:hover {
	opacity: 0.6;
}
.header_title {
	width: fit-content;
}
.header_title img {
	width: 282px;
}
.header_title h1 a {
	display: flex;
	align-items: center;
}
/* menu */
.header_nav {
	width: fit-content;
	margin-left: auto;
}
.header_nav ul {
	display: flex;
	text-align: center;
}
.header_nav ul li {
	padding: 2px 20px;
	position: relative;
	line-height: 1.6;
}
.header_nav ul li:last-child {
	margin-right: 0;
	padding-right: 0;
}
.header_nav ul li a {
	display: block;
	width: 100%;
	transition: all .3s;
	position: relative;
	top: 0;
	line-height: 1.4;
	font-size: 1.15rem;
	color: #7a6b68;
	white-space: nowrap;
	font-weight: 700;
}
.header_nav ul li a span {
	display: block;
	font-size: 80%;
	text-transform: uppercase;
	transition: .3s;
	color: #0067b7;
	letter-spacing: 0.015em;
}
/* 色 */
.header_nav ul li:nth-child(5n+1) span {
	color: #ff9999;
}
.header_nav ul li:nth-child(5n+2) span {
	color: #f7ad68;
}
.header_nav ul li:nth-child(5n+3) span {
	color: #92d450;
}
.header_nav ul li:nth-child(5n+4) span {
	color: #87c3ff;
}
.header_nav ul li:nth-child(5n) span {
	color: #ce9eff;
}
.header_nav ul li a:hover {
	opacity: 0.6;
	transition: .3s;
}
/**/
.header_item {
	display: flex;
	align-items: center;
	margin-left: auto;
	width: fit-content;
	margin-bottom: 12px;
}
.header_item > div {
	margin: 0 3px;
}
.header_item .mainbtn a {
	width: 205px;
	line-height: 1;
	padding: 12px 0;
	font-size: 0.8rem;
}
/*tel*/
.tel {
	font-weight: 700;
	font-size: 1.65rem;
	line-height: 1.45;
	margin-right: 10px !important;
	padding-bottom: 5px;
}
.tel a {
	color: #7a6b68;
	display: flex;
	align-items: center;
	position: relative;
}
.tel a i {
	padding-top: 3px;
	margin-right: 4px;
	color: #7a6b68;
	font-size: 80%;
}
.tel a .telnote {
	display: block;
	font-size: 0.9rem;
	text-align: center;
	padding-top: 1px;
	margin-right: 6px;
}
.tel a:hover {
	opacity: 0.6;
	transition: .3s;
}
/*icon*/
.iconbtn a {
	font-size: 120%;
	padding: 7px 8px 8px 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
	background: #7a6b68;
	color: #fff;
}
.iconbtn a .fa-instagram {
	font-size: 115%;
}
.iconbtn a:hover {
	opacity: 0.6;
}
/* hamburger ================================= */
.header__inner {
	display: none;
}
.hamburger {
	position: fixed;
	display: block;
	height: 33px;
	top: 25px;
	right: 12px;
	z-index: 9999;
	width: 60px;
	border: none;
	background-color: transparent;
}
.hamburger.-active .hamburger__line {
	background-color: transparent;
}
.hamburger.-active .hamburger__line::before {
	top: 0;
	transform: rotate(45deg);
}
.hamburger.-active .hamburger__line::after {
	top: 0;
	transform: rotate(-45deg);
}
.hamburger__line {
	display: block;
	height: 2px;
	position: absolute;
	top: 15px;
	left: 50%;
	transform: translateX(-50%);
	width: 50px;
	transition: 0.4s;
}
.hamburger__line:before, .hamburger__line:after {
	content: "";
	display: block;
	height: 100%;
	position: absolute;
	width: 100%;
	transition: inherit;
}
.hamburger__line, .hamburger__line:before, .hamburger__line:after {
	background: #7a6b68;
}
.hamburger__line:before {
	top: -9px;
}
.hamburger__line:after {
	top: 9px;
}
/**/
.hamburger__text {
	position: absolute;
	bottom: -19px;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	letter-spacing: 0.01em;
	color: #7a6b68;
	font-size: 0.95rem;
	text-align: center;
	font-weight: 700;
}
.hamburger__text::before {
	content: "menu";
	text-transform: uppercase;
}
.hamburger.-active .hamburger__text::before {
	content: 'close';
	position: relative;
	bottom: -9px;
}
.header__nav-area {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 999;
	height: 100vh; /* fallback */
	height: calc(var(--vh, 1vh) * 100);
	width: 100%;
	visibility: hidden;
	opacity: 0;
	transition: 0.4s;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #fff;
	background-size: cover;
	background-position: right;
}
.header__nav-area::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #f0f9ff;
	z-index: -100;
}
.header__nav-area::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	bottom: 0;
	left: 0;
	background: url(../img/hamburger.png);
	background-position: bottom center;
	background-repeat: no-repeat;
	background-size: 110%;
	z-index: -1;
	opacity: 0.4;
}
.header__nav-area.-active {
	opacity: 1;
	visibility: visible;
}
.global-navigation {
	margin: auto;
	height: fit-content;
	width: 85%;
	max-width: 620px;
}
.global-navigation__list {
	margin-bottom: 17px;
}
.global-navigation__list li a {
	text-align: center;
	margin: 3px 0;
	font-size: 1.2rem;
	transition: .35s;
	line-height: 1.6;
	display: block;
	padding: 12px 0;
	color: #7a6b68;
	font-weight: 700;
	text-shadow: 1px 1px 0 #f7fcff, -1px -1px 0 #f7fcff, -1px 1px 0 #f7fcff, 1px -1px 0 #f7fcff, 0px 1px 0 #f7fcff, 0 -1px 0 #f7fcff, -1px 0 0 #f7fcff, 1px 0 0 #f7fcff;
}
.global-navigation__list li a span {
	display: block;
	font-size: 80%;
	transition: all .3s;
	text-transform: uppercase;
	white-space: nowrap;
	color: #0067b7;
	letter-spacing: 0.015em;
}
/* 色 */
.global-navigation__list li:nth-child(5n+1) span {
	color: #ff9999;
}
.global-navigation__list li:nth-child(5n+2) span {
	color: #f7ad68;
}
.global-navigation__list li:nth-child(5n+3) span {
	color: #92d450;
}
.global-navigation__list li:nth-child(5n+4) span {
	color: #87c3ff;
}
.global-navigation__list li:nth-child(5n) span {
	color: #ce9eff;
}
.global-navigation__list a:hover {
	opacity: 0.6;
}
/*btn*/
.global-navigation .mainbtn {
	margin-bottom: 4px;
}
.telbtn a {
	font-size: 110%;
	background: #fff;
	color: #7a6b68;
	border: 2px solid #7a6b68;
}
.telbtn a:hover {
	background: #7a6b68;
	color: #fff;
}
@media (max-width: 1135px) {
	.header_nav, .header_item {
		display: none;
	}
	.header__inner {
		display: block;
	}
	.header {
		padding: 13px 16px 16px;
	}
	.header_inner {
		width: 100%;
		display: block;
	}
	.header_title img {
		width: 220px;
	}
}
@media (max-width: 550px) {
	.header {
		padding: 10px 10px 13px;
	}
	.hamburger {
		top: 12px;
		right: 5px;
	}
	.header_title img {
		width: 160px;
	}
	.header__nav-area::before {
		background-size: 170%;
	}
	.global-navigation__list li a {
		text-align: center;
		font-size: 0.97rem;
		padding: 8px 0;
	}
	.global-navigation .mainbtn a {
		font-size: 0.93rem;
		max-width: 200px;
		padding: 13px;
	}
}
/* footer =======================================*/
.footer_bottom {
	padding: 60px 0 210px;
	position: relative;
}
/* 空 */
.rainbowsky {
	position: relative;
}
.rainbowsky::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #f7fcff;
	z-index: -100;
}
.rainbowsky::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	background-image: url(../img/_illust/bg_bottom.png), url(../img/_illust/bg_top.png);
	background-size: 100%;
	background-position: bottom -1px center, top center;
	background-repeat: no-repeat;
}
.footer_bottom .inner {
	position: relative;
	z-index: 5;
}
/* ロゴとアドレス */
/*logo*/
.fflex {
	display: flex;
	align-items: center;
	justify-content: center;
}
.flogo {
	width: 260px;
	margin-right: 40px;
}
/*info*/
.f_info p {
	font-weight: 700;
	text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
}
.f_info p span {
	display: block;
}
.fiflex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
/*links*/
.fbtn a {
	border-radius: 50px;
	display: block;
	border: 2px solid #7a6b68;
	padding: 5px 17px 8px;
	background: #7a6b68;
	color: #fff;
}
.fbtn a:hover {
	background: #fff;
	color: #7a6b68;
}
.ficons {
	display: flex;
}
.ficons .iconbtn {
	margin-right: 8px;
}
/*illust*/
.ofh {
	width: 100%;
	position: relative;
	overflow: hidden !important;
}
.f01 {
	position: absolute;
	bottom: 2%;
	left: 3%;
	width: 23%;
	max-width: 170px;
	z-index: 2;
}
.f02 {
	position: absolute;
	bottom: 2%;
	right: 3%;
	width: 23%;
	max-width: 170px;
	z-index: 2;
}
.f01 img, .f02 img {
	width: 100%;
}
/*鳥*/
.fbird01 {
	position: absolute;
	top: 33%;
	right: 15%;
	width: 15%;
	max-width: 130px;
	z-index: 1;
}
.fbird02 {
	position: absolute;
	top: 33%;
	left: 15%;
	width: 10%;
	max-width: 80px;
	z-index: 1;
}
@media(max-width:750px) {
	.fbird01 {
		top: 30%;
		right: 3%;
		opacity: 0.6;
	}
	.fbird02 {
		top: 23%;
		left: 3%;
		opacity: 0.6;
	}
}
/*雲
.footer_bottom::before {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	z-index: -1;opacity: 0.4;
	background: url(../img/_illust/footer/fcloud.svg);
	background-position: center bottom 70%;
	animation: fcloud 15s 0s linear infinite;
}
*/
@keyframes fcloud {
	0% {
		filter: brightness(100%);
	}
	50% {
		filter: brightness(120%);
	}
	100% {
		filter: brightness(100%);
	}
}
/*葉*/
.leafs {
	position: absolute;
	z-index: 1;
	top: 35%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}
@media(max-width:800px) {
	.leafs {
		width: 190%;
	}
}
/*山*/
.fillust {
	width: 105%;
	position: relative;
	bottom: -2px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1;
}
/*子供*/
.fkids {
	position: absolute;
	bottom: 2%;
	left: 50%;
	transform: translateX(-50%);
	max-width: 400px;
	width: 100%;
	z-index: 2;
}
/*copyright*/
.copyright {
	position: relative;
	text-align: center;
	padding: 17px 0 15px;
	white-space: nowrap;
	color: #fff;
	background: #b7d86d;
}
@media (max-width: 1700px) {
	.fillust {
		width: 170vw;
	}
}
@media (max-width: 950px) {
	.flogo {
		max-width: 320px;
	}
	.fillust {
		width: 220vw;
	}
}
@media (max-width: 750px) {
	.fflex {
		display: block;
	}
	.f_info {
		max-width: 395px;
		margin: auto;
	}
	.f_info p span {
		display: block;
	}
	.flogo {
		width: 80%;
		max-width: 200px;
		margin-right: 0;
		margin-bottom: 15px;
	}
}
@media (max-width: 550px) {
	.footer_bottom {
		padding: 50px 0 140px;
	}
	.fillust {
		width: 250vw;
	}
	.fkids {
		max-width: 250px;
	}
	.copyright {
		padding: 10px 0 15px;
		font-size: 3.4vw;
	}
}
/* ページ上に戻るボタン */
.tfade {
	position: relative;
	z-index: 9;
}
.page_top {
	position: fixed;
	right: 30px;
	bottom: 15px;
	width: 130px;
	z-index: 50;
	transition: all .4s;
	color: #ffdd00;
}
.page_top a {
	display: block;
	position: relative;
	z-index: 10;
	width: 100%;
}
.page_top a:hover {
	padding-bottom: 10px;
}
@media (max-width: 750px) {
	.page_top {
		right: 10px;
		bottom: 7px;
		width: 85px;
	}
}
/*============*/
.pdb {
	padding-bottom: 55px !important;
}
.pdb0 {
	padding-bottom: 1px !important;
}
@media (max-width: 550px) {
	.pdb {
		padding-bottom: 20px !important;
	}
}
.center {
	text-align: center;
}
@media (max-width:750px) {
	.spcenter {
		text-align: center !important;
	}
}
.fitc {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}
.tbtn {
	margin-top: 45px;
}
@media (max-width: 550px) {
	.tbtn {
		margin-top: 33px;
	}
}
.aic {
	align-items: center;
}
/* アニメーション ============*/
/* flowup */
.flowup {
	opacity: 0;
	transform: translateY(5px);
	transition: opacity 0.8s, transform 1.2s;
	transition-delay: 0.25s;
}
.flowup.inview {
	opacity: 1;
	transform: translateY(0);
}
/*delay*/
.delay01 {
	transition-delay: 0.45s;
}
.delay02 {
	transition-delay: 0.6s;
}
/* TOP ファーストビュー =====================*/
.mainvisualwrap {
	clip-path: ellipse(100% 100% at top);
	height: 100vh;
	min-height: 770px;
}
@media(max-width:1450px) {
	.mainvisualwrap {
		height: 65vw;
		min-height: auto;
	}
}
@media(max-width:550px) {
	.mainvisualwrap {
		height: 340px;
		clip-path: ellipse(150% 100% at top);
	}
}
.mainvisual {
	position: relative;
	overflow: hidden;
	height: 100%;
}
/* 空 */
.mainvisual::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: url(../img/mainvisual/sky.jpg) no-repeat;
	background-size: cover;
	z-index: -10;
}
/**/
.mvillust {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.mvillust div {
	max-width: fit-content;
}
/* 雲 */
.cloud {
	position: absolute;
	z-index: 1;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
}
/* 葉 */
.mleafs {
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	width: 100%;
}
/* 虹 */
.rainbow {
	position: absolute;
	z-index: 1;
	top: 30%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 120%;
}
.cloud img, .mleafs img, .rainbow img {
	width: 100%;
}
@media(max-width:1450px) {
	.cloud {
		width: 150%;
	}
}
@media(max-width:800px) {
	.mleafs {
		width: 190%;
	}
}
@media(max-width:550px) {
	.rainbow {
		width: 150%;
	}
}
/* 木 */
.garland_l {
	position: absolute;
	top: -0.5%;
	left: -0.5%;
	width: 35%;
}
.garland_r {
	position: absolute;
	top: -0.5%;
	right: -0.5%;
	width: 35%;
}
/* 星と葉っぱ */
.mvbg_l {
	position: absolute;
	top: 32%;
	left: 11%;
	width: 25%;
}
.mvbg_r {
	position: absolute;
	top: 42%;
	right: 6%;
	width: 25%;
}
@media (max-width: 550px) {
	.mvbg_l {
		top: 47%;
		left: 5%;
	}
	.mvbg_r {
		top: 58%;
	}
}
/* 風船 */
.balloon_l {
	position: absolute;
	top: 21%;
	left: 5%;
	width: 15%;
	z-index: 10;
}
.balloon_r {
	position: absolute;
	top: 30%;
	right: 4%;
	width: 12%;
	z-index: 10;
}
/* 鳥 */
.redbird {
	position: absolute;
	top: 28%;
	left: 21%;
	width: 7%;
	z-index: 10;
}
.yellowbird {
	position: absolute;
	top: 22%;
	right: 13%;
	width: 7%;
	z-index: 10;
}
.bluebird {
	position: absolute;
	top: 30%;
	right: 21%;
	width: 7%;
	z-index: 10;
}
/* 一番下 */
.bottom_l {
	position: absolute;
	bottom: -5.5%;
	left: -5%;
	width: 55%;
	z-index: 2;
}
.bottom_c {
	position: absolute;
	bottom: -5.5%;
	left: 50%;
	transform: translateX(-50%);
	width: 55%;
	z-index: 1;
}
.bottom_r {
	position: absolute;
	bottom: -5.5%;
	right: -7%;
	width: 60%;
	z-index: 2;
}
@media(max-width:550px) {
	.bottom_l, .bottom_r {
		bottom: -1%;
	}
	.bottom_c {
		max-width: 80% !important;
		width: 100%;
	}
}
/* 女の子 */
.girl {
	position: absolute;
	bottom: 15%;
	left: 50%;
	transform: translateX(-50%);
	max-width: 450px !important;
	width: 40%;
	z-index: 2;
}
/* アニメーション ============*/
.fadein {
	animation: fadeIn 1s ease 0.95s 1 normal backwards;
}
@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateY(15px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
.slidein_up {
	animation: slidein_up 1.8s ease 0.3s 1 normal backwards;
}
@keyframes slidein_up {
	from {
		transform: translateY(100%);
	}
	to {
		transform: translateY(0);
	}
}
.slidein_down {
	animation: slidein_down 1.8s ease 0.3s 1 normal backwards;
}
@keyframes slidein_down {
	from {
		transform: translateY(-100%);
	}
	to {
		transform: translateY(0);
	}
}
/* キャッチコピー ====================*/
.catch {
	z-index: 1;
	width: 98%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	font-size: clamp(0.9rem, -0.85rem + 5.6vw, 2.3rem);
	line-height: 1.7;
	font-weight: 700;
	text-shadow: 2px 2px 0 #fff, -2px -2px 0 #fff, -2px 2px 0 #fff, 2px -2px 0 #fff, 0px 2px 0 #fff, 0 -2px 0 #fff, -2px 0 0 #fff, 2px 0 0 #fff;
}
.catch .dreamsky {
	font-size: 200%;
	line-height: 1.2;
	display: inline-block;
}
@media(max-width:800px) {
	.catch {
		text-shadow: 1.5px 1.5px 0 #fff, -1.5px -1.5px 0 #fff, -1.5px 1.5px 0 #fff, 1.5px -1.5px 0 #fff, 0px 1.5px 0 #fff, 0 -1.5px 0 #fff, -1.5px 0 0 #fff, 1.5px 0 0 #fff;
	}
}
@media(max-width:550px) {
	.catch {
		text-shadow: 1px 1px 0 #fff, -1px -1px 0 #fff, -1px 1px 0 #fff, 1px -1px 0 #fff, 0px 1px 0 #fff, 0 -1px 0 #fff, -1px 0 0 #fff, 1px 0 0 #fff;
	}
}
/* について　===================================================*/
.welcome::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -2;
	background-image: url(../img/welcome.png);
	background-size: 100%;
	background-position: bottom center;
	background-repeat: no-repeat;
	opacity: 0.75;
}
/*text*/
.wtext {
	max-width: 955px;
	margin: auto;
	margin-bottom: 110px;
}
/*img*/
.welcomeimg {
	position: relative;
	flex-wrap: nowrap;
}
.welcomeimg .psr {
	width: 55%;
}
.welcomeimg .psr:first-child {
	margin-top: -30px;
	margin-right: -25px;
	transform: rotate(-4deg)
}
.welcomeimg .psr:last-child {
	margin-bottom: -30px;
	margin-left: -25px;
	transform: rotate(4deg)
}
@media(max-width:750px) {
	.wtext {
		margin-bottom: 50px;
	}
	.welcomeimg .psr:first-child, .welcomeimg .psr:last-child {
		margin: 0;
		width: 75%;
	}
	.welcomeimg .psr:last-child {
		margin-left: auto;
		margin-top: -15px;
	}
}
@media (max-width: 550px) {
	.welcomeimg {
		position: relative;
	}
}
/* 初めての方へ・スタッフ募集中！　===================================================*/
.feature {
	max-width: 1100px;
	margin: auto;
}
.feaimg {
	display: flex;
	padding-bottom: 30px;
	margin-bottom: 20px;
	border-bottom: 1px dashed #ddd;
}
.featitle {
	font-size: 1.5rem;
	font-weight: 700;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	margin-right: 15px;
	line-height: 1.55;
}
.featitle .fea {
	font-size: 53%;
	margin-left: 5px;
	display: block;
	text-transform: uppercase;
}
.num {
	font-size: 107%;
}
.fbold {
	font-weight: 700;
}
.fea_img {
	margin-top: 23px;
}
@media (max-width:1190px) {
	.featitle {
		font-size: 2vw;
	}
}
@media (max-width:750px) {
	.featitle {
		font-size: 1.5rem;
	}
	.feaimg {
		padding-bottom: 15px;
		margin-bottom: 13px;
	}
	.feabox {
		margin-bottom: 55px;
	}
	.feabox:last-child {
		margin-bottom: 0 !important;
	}
	.feabox:nth-child(2n) .feaimg {
		flex-direction: row-reverse;
	}
	.feabox:nth-child(2n) .featitle {
		margin-right: 0;
		margin-left: 15px;
	}
}
@media (max-width:565px) {
	.feaimg .round img {
		object-fit: cover;
		width: 100%;
		height: 170px;
	}
	.featitle {
		line-height: 1.45;
		font-size: 1.1rem;
	}
	.feabox {
		margin-bottom: 40px;
	}
}
/**/
.abfea .feabox {
	position: relative;
	padding: 20px 21px 20px 25px;
	background: #fff;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
}
.abfea .feabox .mainbtn {
	margin-top: auto;
}
.abfea .feabox .mainbtn a {
	margin-top: 25px;
}
.abfea .feabox::after {
	content: '';
	width: 10px;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(to top, #f24141, #ff9736, #f8df00, #00c457, #0068b7, #3657ff, #920783);
	opacity: 0.35;
	z-index: -1;
	border-radius: 10px 0 0 10px;
}
.abfea .feaimg {
	border-bottom: 1px dashed #ddd;
}
@media(max-width:750px) {
	.abfea .feabox {
		margin-bottom: 25px;
	}
}
@media(max-width:550px) {
	.abfea .feabox {
		padding: 20px 15px 20px 22px;
	}
}
/* 情報公開 ================================================== */
/*title*/
.dtitle {
	position: relative;
	font-weight: 700;
	font-size: clamp(1.2rem, 0.825rem + 1.2vw, 1.5rem);
	margin-bottom: 13px;
	padding: 5px 7px 7px 10px;
	background: #fff7f0;
	border-radius: 5px;
	border-left: 8px solid #7a6b68;
}
/*色*/
.dtitle:nth-child(5n+1) {
	border-left: 8px solid #ff9999;
}
.dtitle:nth-child(5n+2) {
	border-left: 8px solid #f7ad68;
}
.dtitle:nth-child(5n+3) {
	border-left: 8px solid #92d450;
}
.dtitle:nth-child(5n+4) {
	border-left: 8px solid #87c3ff;
}
.dtitle:nth-child(5n) {
	border-left: 8px solid #ce9eff;
}
/**/
.data .inner {
	max-width: 1155px;
}
.datalist {
	margin-bottom: 30px;
}
.datalist:last-child {
	margin-bottom: 0;
}
.data .cotitle::before {
	margin-right: 5px;
	font-family: "Font Awesome 6 Free";
	content: "\f105";
	font-weight: bold;
	color: #6dc7e8;
}
.datalist div {
	margin-bottom: 10px;
}
/**/
.datalist a {
	background: #fff;
	color: #595757;
	border: 2px solid #ddd;
	border-radius: 5px;
	padding: 15px 10px;
	display: flex;
	align-items: center;
	height: 100%;
}
.datalist a:hover {
	background: #f7f7f7;
}
.datalist a span {
	position: relative;
	padding-left: 20px;
	display: inline-block;
}
.datalist a span::before {
	font-family: "Font Awesome 6 Free";
	content: "\f1c1";
	font-weight: bold;
	display: inline-block;
	color: #eb441e;
	font-size: .9em;
	position: absolute;
	top: 0.15em;
	left: 0;
}
@media(max-width:750px) {
	.datalist div {
		margin-bottom: 5px;
	}
	.datalist a {
		padding: 10px 8px;
	}
}
/* 放課後等デイサービスドリームSKYにおける「支援プログラム」 ================================================== */
.pr_right {
	text-align: right;
	font-size: 117%;
	margin-bottom: 20px;
}
.probox {
	padding: 33px;
	background: #fff;
	border-radius: 15px;
	margin-bottom: 15px;
}
@media(max-width:550px) {
	.pr_right {
		font-size: 107%;
	}
	.probox {
		padding: 15px;
	}
}
/* PDF UP CMS ================================================== */
ul#pdfup .catName, ul#pdfup .up_ymd {
	display: none;
}
ul#pdfup {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	max-height: 188px;
	overflow-y: scroll;
	padding-left: 10px;
	padding-right: 10px;
}
ul#pdfup li {
	width: 100%;
	margin-bottom: 5px;
	border-bottom: none;
}
ul#pdfup a {
	display: inline-block;
	width: 100%;
	color: #fff;
	background-color: #7a6b68;
	border: 2px solid transparent;
	border-radius: 50px;
	text-align: center;
	padding: 15px 5px;
	line-height: 1.7;
	list-style-type: none;
}
ul#pdfup a:hover {
	text-decoration: none;
	background: #fff;
	color: #7a6b68;
	border: 2px solid #7a6b68;
}
@media (max-width: 1370px) {
	ul#pdfup a {
		font-size: 0.85rem;
	}
}
@media (max-width: 950px) {
	ul#pdfup a {
		text-align: left;
		padding-left: 10px;
		padding-right: 10px;
	}
}
@media (max-width: 665px) {
	ul#pdfup li {
		width: 93%;
		margin: 0 auto 7px;
	}
}
/* scrollbar */
.newsWrap ul#pdfup::-webkit-scrollbar {
	width: 5px;
}
.newsWrap ul#pdfup::-webkit-scrollbar-track {
	border-radius: 10px;
	box-shadow: inset 0 0 6px rgba(0, 0, 0, .1);
}
.newsWrap ul#pdfup::-webkit-scrollbar-thumb {
	background-color: rgba(0, 0, 0, .5);
	border-radius: 10px;
	box-shadow: 0 0 0 1px rgba(255, 255, 255, .3);
}
.newsletter .maintitle {
	margin-bottom: 40px;
}
.newsletter .inner {
	max-width: 1000px;
}
.newsletter ul#pdfup li {
	width: 32%;
	margin: 0 0.6% 7px;
}
.newsletter ul#pdfup li a {
	text-align: center;
}
@media(max-width:550px) {
	.newsletter ul#pdfup li {
		width: 100%;
		margin: 0 0 7px;
	}
	.newsletter .maintitle {
		margin-bottom: 30px;
	}
}
/**/
.topnews .inner {
	max-width: 1235px;
}
.topnews ul#newsList li {
	background: #fff7f0;
}
/* 下層ページトップ ================================================================================================================*/
.fv {
	padding: 120px 0;
	width: 94%;
	max-width: 1600px;
	margin: auto;
	display: flex;
	align-items: center;
	background: url(../img/fv.png);
	background-size: cover;
	background-repeat: no-repeat;
	background-position: 50% 5%;
	position: relative;
	border-radius: 30px;
	overflow: hidden;
}
.fv::before {
	position: absolute;
	display: block;
	content: "";
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: #7a6b68;
	opacity: 0.2;
}
.fv .inner {
	max-width: 95%;
}
.fv h2 {
	margin: 0 !important;
	z-index: 1;
	text-shadow: 0px 2.5px 3px rgb(0 0 0 / 10%), 0px -2.5px 3px rgb(0 0 0 / 5%);
}
.fv h2 span {
	color: #fff !important;
}
@media(max-width:1095px) {
	.fv {
		padding: 90px 0;
	}
}
@media(max-width:700px) {
	.fv {
		padding: 70px 0;
	}
}
@media(max-width:550px) {
	.fv {
		padding: 40px 0;
		border-radius: 20px;
	}
	.fv::before {
		opacity: 0.35;
	}
	.fv h2 {
		font-size: 1.5rem;
	}
}
/* breadcrumb */
.binner {
	width: 94%;
	max-width: 1600px;
	font-size: 0.95rem;
	position: relative;
	margin-bottom: 20px;
}
.breadcrumb {
	z-index: 1;
	background: transparent;
	position: absolute;
	top: 4px;
	right: 0;
}
.breadcrumb li {
	display: inline;
	list-style: none;
}
.breadcrumb li:after {
	content: '>';
	padding: 0 0.2em;
	position: relative;
	top: -0.1em;
}
.breadcrumb li:last-child:after {
	content: '';
}
.breadcrumb li a {
	text-decoration: none;
	color: #7a6b68;
}
.breadcrumb li:first-child a::before {
	font-family: "Font Awesome 6 Free";
	content: '\f015';
	font-weight: bold;
	font-size: 90%;
	position: relative;
	top: -0.05em;
}
@media(max-width:550px) {
	.breadcrumb {
		font-size: 0.8rem;
	}
}
/* ドリームSKYについてページ ========================================================================================================*/
/* 志布志市志布志町の放課後等デイサービス「ドリームSKY」 */
.dayservice {
	padding-bottom: 0;
}
.dayservice::after {
	position: absolute;
	display: block;
	content: "";
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: linear-gradient(0deg, rgba(16, 19, 21, 0) 1%, #fff);
	z-index: -30;
}
.dayservice::before {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #e0f4ff;
	z-index: -100;
}
.dayservice .inner {
	max-width: 1004px;
}
.r_dreamsky {
	margin-top: -155px;
	position: relative;
	z-index: -1;
	opacity: 0.75;
}
.drs h2 {
	font-weight: 700;
	text-align: center;
	margin-bottom: 30px;
	line-height: 1.6;
	font-size: clamp(0.8rem, -0.0125rem + 2.6vw, 1.45rem);
}
.drs h2 .bi {
	display: block;
	font-size: 190%;
}
@media(max-width:550px) {
	.r_dreamsky {
		margin-top: 25px;
	}
	.drs h2 .bi {
		font-size: 220%;
	}
}
/*モットー*/
.motto {
	margin-top: 55px;
}
.motto h2 {
	text-align: center;
	margin-bottom: 20px;
	font-size: clamp(1.2rem, 0.6375rem + 1.8vw, 1.65rem);
}
.dc {
	position: relative;
	right: -2px;
	display: block;
	margin: 0 auto -13px;
	width: 25%;
	max-width: 100px;
}
/**/
.sibox {
	margin: 0 20px;
	position: relative;
	aspect-ratio: 1 / 1;
	background: #fff7f0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}
.sibox p {
	line-height: 1.7;
	width: 100%;
	font-weight: 700;
	text-align: center;
	font-size: 107%;
}
.sibox p .mnum {
	display: block;
	font-size: 190%;
}
.sibox img {
	width: auto !important;
	height: 95px !important;
	margin-bottom: 0;
}
@media(max-width:1115px) {
	.sibox {
		margin: 0 12px;
	}
	.sibox p {
		font-size: 1.7vw;
	}
	.sibox img {
		height: 8vw !important;
	}
	.r_dreamsky {
		margin-top: 5px;
	}
}
@media(max-width:750px) {
	.sibox p {
		font-size: 100%;
	}
	.sibox img {
		height: 90px !important;
	}
	.sibox {
		max-width: 270px;
		margin: auto;
	}
	.motto .flexbox .w32 {
		margin-bottom: 30px;
	}
	.motto .flexbox .w32:last-child {
		margin-bottom: 0 !important;
	}
}
@media(max-width:550px) {
	.motto {
		margin-top: 35px;
	}
	.motto .flexbox .w32 {
		margin-bottom: 15px;
	}
	.sibox {
		max-width: 215px;
	}
	.sibox img {
		height: 75px !important;
	}
	.sibox p {
		font-size: 0.9rem;
	}
}
/* 療育活動について */
.education .maintitle {
	margin-bottom: 30px;
}
.education .fitc {
	margin-bottom: 55px;
}
.exambox {
	max-width: 1200px;
	margin: auto;
	padding: 45px 65px 65px;
	background: #fff;
	border-radius: 10px;
}
.exambox h3 {
	font-size: clamp(1.05rem, 0.7375rem + 1vw, 1.3rem);
	font-weight: 700;
	border-bottom: 1px dashed #ddd;
	padding-bottom: 5px;
	margin-bottom: 15px;
}
.num {
	font-size: 158%;
	margin-left: 2px;
}
.exambox .flexbox {
	position: relative;
	margin-bottom: 70px;
}
/* 色 */
.exambox .flexbox:nth-child(5n+1) .num {
	color: #ff9999;
}
.exambox .flexbox:nth-child(5n+2) .num {
	color: #f7ad68;
}
.exambox .flexbox:nth-child(5n+3) .num {
	color: #92d450;
}
.exambox .flexbox:nth-child(5n+4) .num {
	color: #87c3ff;
}
.exambox .flexbox:nth-child(5n) .num {
	color: #ce9eff;
}
.exambox .flexbox:last-child {
	margin-bottom: 0 !important;
}
@media (max-width: 1050px) {
	.exambox {
		padding: 30px 30px 35px;
	}
	.exambox .flexbox {
		margin-bottom: 50px;
	}
}
@media(max-width:550px) {
	.education .fitc {
		margin-bottom: 35px;
	}
	.exambox {
		padding: 20px 15px 25px;
	}
}
/* 1日の過ごし方 */
.flow {
	position: relative;
}
.flow::before {
	content: "";
	width: 10px;
	height: 100%;
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: #f5f5f5;
}
.flow .fwrap {
	padding: 10px;
	background: #fff7f0;
	border-radius: 5px;
}
.flow .flowd {
	position: relative;
	margin-bottom: 10px;
}
.flow .flowd::after, .flow .flowd::before {
	top: 28px;
}
.flow .flowd {
	padding-left: 35px;
}
.flow .flowd p {
	padding-left: 0;
	position: relative;
	margin-bottom: 0;
}
.flow .flowd::after, .flow .flowd::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.flow .flowd::before {
	z-index: 1;
	width: 10px;
	height: 10px;
	background: #7a6b68;
	border-radius: 50%;
	left: 0;
}
.flow .flowd::after {
	width: 63px;
	border-bottom: 1px dashed #7a6b68;
	position: absolute;
	left: 13px;
	z-index: -1;
}
/**/
.time p {
	padding-left: 55px !important;
}
.time p span {
	position: absolute;
	top: 0;
	left: 0;
	color: #7a6b68;
	font-weight: 700;
}
@media(max-width:750px) {
	.dailylife .flexbox .w48 {
		margin-bottom: 45px;
	}
	.dailylife .flexbox .w48:last-child {
		margin-bottom: 0;
	}
}
/* 年間スケジュール */
.schedules .inner {
	max-width: 1050px;
}
.schedule .flexbox {
	position: relative;
	padding: 35px;
	background: #fff;
	border-radius: 10px;
	margin-bottom: 20px;
}
.schedule .flexbox.round {
	padding: 0 !important;
	margin-bottom: 0 !important;
}
.schedule h3 {
	font-size: 1.3rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	margin-bottom: 15px;
}
.schedule h3 span {
	font-size: 120%;
	width: 50px;
	height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 50%;
	color: #fff;
	margin-right: 12px;
}
/* 色 */
.schedule .flexbox:nth-child(5n+1) h3 span {
	background: #ff9999;
}
.schedule .flexbox:nth-child(5n+2) h3 span {
	background: #f7ad68;
}
.schedule .flexbox:nth-child(5n+3) h3 span {
	background: #ce9eff;
}
.schedule .flexbox:nth-child(5n+4) h3 span {
	background: #87c3ff;
}
.schedule .flexbox:nth-child(5n) h3 span {
	background: #92d450;
}
/*list*/
.schedule ul {
	margin-bottom: 30px;
}
.schedule ul li {
	border-bottom: 1px dashed #ddd;
	padding-bottom: 3px;
	margin-bottom: 3px;
}
.schedule ul li::before {
	content: "・";
}
/* 色 */
.schedule .flexbox:nth-child(5n+1) ul li::before {
	color: #ff9999;
}
.schedule .flexbox:nth-child(5n+2) ul li::before {
	color: #f7ad68;
}
.schedule .flexbox:nth-child(5n+3) ul li::before {
	color: #ce9eff;
}
.schedule .flexbox:nth-child(5n+4) ul li::before {
	color: #87c3ff;
}
.schedule .flexbox:nth-child(5n) ul li::before {
	color: #92d450;
}
/**/
.schedule .sillust {
	width: 60%;
	margin: auto;
}
@media(max-width:750px) {
	.schedule ul {
		margin-bottom: 23px;
	}
	.schedule .sillust {
		margin-bottom: 30px;
	}
	.schedule .flexbox {
		margin-bottom: 30px;
	}
	.schedule .flexbox.round div {
		margin-bottom: 10px;
	}
	.schedule .flexbox:last-child, .schedule .flexbox.round div:last-child {
		margin-bottom: 0;
	}
}
@media(max-width:550px) {
	.schedule .flexbox {
		padding: 17px 15px 23px;
	}
}
/* 事業所概要 */
.ib {
	display: inline-block;
}
/*map*/
.map p {
	margin-bottom: 20px;
}
.map iframe {
	width: 100%;
	height: 350px;
	margin-bottom: 20px;
}
@media(max-width:550px) {
	.map iframe {
		height: 280px;
	}
}
/* ご利用案内ページ ================================================================================================================*/
/* サービス利用について */
/*table*/
.info_table {
	width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	font-weight: normal;
}
.info_table tr {
	border-bottom: 1px dashed #ddd;
}
.info_table th {
	background: transparent;
	width: 35%;
}
.info_table th, .info_table td {
	font-weight: 500;
	padding: 23px 0;
}
.info_table td {
	padding-left: 10px;
	padding-right: 10px;
	width: 65%;
	background: transparent;
}
@media(max-width: 550px) {
	.info_table {
		border-collapse: collapse;
	}
	.info_table tr {
		border-bottom: none;
	}
	.info_table td {
		border-bottom: 1px dashed #ddd;
		margin-bottom: 0;
	}
	.info_table td, .info_table th {
		width: 100%;
		padding: 8px 0 18px;
		display: block;
	}
	.info_table th {
		font-weight: 700;
		text-align: left;
		padding-bottom: 0;
		padding-top: 13px;
	}
	.info_table tr:first-child th {
		padding-top: 0;
	}
}
/* 利用開始までの流れ */
.miniflow {
	max-width: 940px;
	margin: auto;
	margin-bottom: 60px;
	counter-reset: mfeanumber 0;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.miniflow div {
	width: 16%;
	margin: 0 2% 0;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	color: #fff;
	aspect-ratio: 1 / 1;
	font-size: 110%;
	line-height: 1.55;
	text-align: center;
	font-weight: 700;
	position: relative;
	white-space: nowrap;
}
.miniflow div::after {
	font-family: "Font Awesome 6 Free";
	content: "\f105";
	font-weight: bold;
	color: #7a6b68;
	font-size: 1.3rem;
	line-height: 1;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -17%;
}
.miniflow div:last-child::after {
	content: none;
}
.miniflow div p::before {
	display: block;
	counter-increment: mfeanumber 1;
	content: "0"counter(mfeanumber);
}
/* 色 */
.miniflow div:nth-child(5n+1) {
	background: #92d450;
}
.miniflow div:nth-child(5n+2) {
	background: #87c3ff;
}
.miniflow div:nth-child(5n+3) {
	background: #ce9eff;
}
.miniflow div:nth-child(5n+4) {
	background: #ff9999;
}
.miniflow div:nth-child(5n) {
	background: #f7ad68;
}
@media (max-width:1015px) {
	.miniflow div {
		font-size: 1.6vw;
	}
	.miniflow div::after {
		font-size: 2vw;
	}
}
@media (max-width:750px) {
	.miniflow div {
		width: 28.5%;
		margin: 0 2.3% 3px;
		font-size: 2.8vw;
	}
	.miniflow div:nth-child(3)::after {
		content: none;
	}
	.miniflow div::after {
		font-size: 2.5vw;
		right: -13%;
	}
}
/**/
.fee {
	counter-reset: feenumber 0;
}
.feebox .mainbtn {
	margin-top: 20px;
	margin-bottom: 15px;
}
.feebox .stitle {
	padding-bottom: 0 !important;
}
.feebox .stitle::after {
	content: none;
}
/* 色 */
.feebox:nth-child(5n+1) .stitle {
	color: #ff9999;
}
.feebox:nth-child(5n+2) .stitle {
	color: #f7ad68;
}
.feebox:nth-child(5n+3) .stitle {
	color: #92d450;
}
.feebox:nth-child(5n+4) .stitle {
	color: #87c3ff;
}
.feebox:nth-child(5n) .stitle {
	color: #ce9eff;
}
.feebox {
	padding: 33px;
	position: relative;
	background: #fff;
	border-radius: 15px;
	margin-bottom: 45px;
}
.feebox:last-child {
	margin-bottom: 0 !important;
}
.feebox::before {
	font-size: 1.65rem;
	counter-increment: feenumber 1;
	content: "0"counter(feenumber);
	position: absolute;
	top: -25px;
	left: -4%;
	width: 23% !important;
	max-width: 70px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	background: #2cb474;
	color: #fff;
	font-weight: 700;
}
/* 色 */
.feebox:nth-child(5n+1)::before {
	background: #ff9999;
}
.feebox:nth-child(5n+2)::before {
	background: #f7ad68;
}
.feebox:nth-child(5n+3)::before {
	background: #92d450;
}
.feebox:nth-child(5n+4)::before {
	background: #87c3ff;
}
.feebox:nth-child(5n)::before {
	background: #ce9eff;
}
@media (max-width:750px) {
	.feebox::before {
		font-size: 1.3rem;
		max-width: 50px;
		left: 50%;
		transform: translateX(-50%);
	}
	.feebox img {
		margin-top: 13px;
	}
	.feebox .stitle {
		text-align: center;
	}
}
@media (max-width:550px) {
	.feebox {
		padding: 17px;
		padding-top: 35px;
		margin-bottom: 33px;
	}
}
/* よくあるご質問 */
.faq {
	margin-bottom: 37px;
}
.faq:last-child {
	margin-bottom: 0 !important;
}
.faq h3 {
	margin-bottom: 10px;
	padding-bottom: 10px;
	font-weight: 700;
	position: relative;
	border-bottom: 1px dashed #ddd;
	font-size: clamp(1.05rem, 0.6125rem + 1.4vw, 1.4rem);
	line-height: 1.7;
	padding-left: 46px;
}
.faq h3::before {
	content: "Q";
	padding-bottom: 3px;
	height: 35px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	background: #2cb474;
	color: #fff;
	font-weight: 700;
	position: absolute;
	top: 0;
	left: 0;
}
/* 色 */
.faq:nth-child(5n+1) h3::before {
	background: #ff9999;
}
.faq:nth-child(5n+2) h3::before {
	background: #f7ad68;
}
.faq:nth-child(5n+3) h3::before {
	background: #92d450;
}
.faq:nth-child(5n+4) h3::before {
	background: #87c3ff;
}
.faq:nth-child(5n) h3::before {
	background: #ce9eff;
}
@media (max-width:550px) {
	.faq h3::before {
		font-size: 120%;
	}
}
/* 保護者様専用ページ ================================================================================================================*/
/* フォトギャラリー 見出し */
.ititle {
	font-weight: 700;
	position: relative;
	margin-bottom: 23px;
	letter-spacing: 0.1em;
	font-size: clamp(1.2rem, 0.825rem + 1.2vw, 1.5rem);
	line-height: 1.7;
	background: #fdfdfa;
	padding: 8px 9px 10px;
	border-radius: 3px;
}
.category:nth-child(5n+1) .ititle {
	border-left: 8px solid #ce9eff;
}
.category:nth-child(5n+2) .ititle {
	border-left: 8px solid #f7ad68;
}
.category:nth-child(5n+3) .ititle {
	border-left: 8px solid #87c3ff;
}
.category:nth-child(5n+4) .ititle {
	border-left: 8px solid #92d450;
}
.category:nth-child(5n) .ititle {
	border-left: 8px solid #ff9999;
}
@media (max-width: 550px) {
	.ititle {
		margin-bottom: 15px;
	}
}
/* 求人案内ページ ================================================================================================================*/
.recruitment .inner {
	max-width: 1217px;
}
.recinfo {
	margin-bottom: 45px;
	padding: 30px 30px 40px;
	background: #fff;
	border-radius: 10px;
}
.recinfo:last-child {
	margin-bottom: 0 !important;
}
@media(max-width:550px) {
	.recinfo {
		padding: 20px 12px 30px;
		margin-bottom: 30px;
	}
	.recinfo .mtitle {
		font-size: 1.1rem;
	}
}
/* お問い合わせページ ================================================================================================================*/
.contact_sec section .inner {
	max-width: 1050px;
}
/**/
.contop {
	margin-bottom: 60px;
}
.contop::before {
	margin-bottom: 10px;
	width: 95px;
	height: 95px;
}
@media (max-width: 550px) {
	.contop {
		margin-bottom: 40px;
	}
	.contop::before {
		width: 65px;
		height: 65px;
	}
	.contop, .mailform input[type="checkbox"] + label, .mnote p {
		font-size: 93%;
	}
}
/* 電話・FAX */
/*title*/
.cotitle {
	font-weight: 700;
	position: relative;
	margin-bottom: 20px;
	letter-spacing: 0.1em;
	font-size: clamp(1.1rem, 0.725rem + 1.2vw, 1.4rem);
	line-height: 1.55;
	border-bottom: 1px dashed #ddd;
	padding-bottom: 13px;
}
.cotitle:first-letter {
	font-size: 120%;
}
@media (max-width: 550px) {
	.cotitle {
		margin-bottom: 17px;
	}
}
/*box*/
.telbox {
	padding: 30px;
	border-radius: 10px;
	position: relative;
}
.telbox::after {
	content: '';
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background: #fff7f0;
	z-index: -100;
}
.telbox::before {
	position: absolute;
	content: "";
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: url(../img/_illust/garland_r.svg);
	background-repeat: no-repeat;
	background-position: top right;
	background-size: 120px;
	z-index: -1;
}
.telbox h3 {
	font-size: 100%;
	padding-left: 39px;
	font-weight: 700;
	position: relative;
	margin-bottom: 3px;
}
.telbox h3::before {
	background-color: #7a6b68;
	position: absolute;
	content: "";
	top: 0.95em;
	left: 0;
	width: 30px;
	height: 1px;
}
@media (max-width:750px) {
	.telbox {
		margin-bottom: 10px;
	}
	.telbox:last-child {
		margin-bottom: 0;
	}
}
@media (max-width:550px) {
	.telbox::before {
		background-size: 70px;
	}
	.telbox {
		padding: 17px;
	}
	.telbox h3 {
		font-size: 90%;
	}
}
/* 番号 */
.telbox a {
	font-size: 1.9rem;
	color: #7a6b68;
	font-weight: 700;
	white-space: nowrap;
}
.telbox a i {
	color: #7a6b68;
}
.telbox a:hover {
	opacity: 0.6;
}
.telwrap {
	margin-top: 0 !important;
}
.telwrap p {
	margin-top: 5px;
	margin-bottom: 0;
}
@media (max-width:550px) {
	.telbox a {
		font-size: 1.65rem;
	}
}
/*fax*/
.telboxwrap {
	margin-top: 50px;
}
.telboxwrap .telbox a {
	margin-right: 40px;
}
.telboxwrap .telbox p {
	margin-bottom: 4px;
}
.telboxwrap .telbox {
	display: flex;
	align-items: center;
}
.fcheck {
	display: flex;
}
.fcheck li {
	padding-left: 18px;
	margin-right: 20px;
	position: relative;
}
.fcheck li:last-child {
	margin-right: 0;
}
.fcheck li::before {
	font-family: "Font Awesome 6 Free";
	content: "\f14a";
	font-weight: bold;
	display: inline-block;
	color: #7a6b68;
	font-size: .9em;
	position: absolute;
	top: 0.15em;
	left: 0;
}
@media (max-width: 1005px) {
	.telboxwrap .telbox {
		display: block;
	}
	.telboxwrap .telbox a {
		margin-right: 0;
	}
	.telboxwrap .telbox p {
		margin-top: 7px;
	}
}
@media (max-width:550px) {
	.telboxwrap .telbox p, .fcheck li {
		font-size: 87%;
	}
}
@media (max-width: 500px) {
	.telboxwrap .telbox {
		display: block;
	}
	.telboxwrap .telbox p {
		margin-bottom: 7px;
	}
	.fcheck {
		display: block;
	}
	.fcheck li {
		margin-right: 0;
	}
}
/* メール */
.mnote {
	max-width: 905px;
	margin: auto;
	margin-top: 50px;
}
@media(max-width:550px) {
	.mnote {
		margin-top: 40px;
	}
}
.mailform {
	max-width: 1100px;
	margin: 40px auto 0;
}
@media (max-width: 850px) {
	.mailform {
		margin: 50px auto 0;
	}
}
@media (max-width: 450px) {
	.mailform {
		margin-top: 0;
	}
}
.mailform .row {
	padding: 20px 0;
	display: flex;
	justify-content: space-between;
}
.mailform .row:not(.last) {
	border-bottom: 0.9px dotted #7a6b68;
}
.mailform .row div {
	text-align: left;
}
.mailform .row div:nth-child(1) {
	width: 28%;
	font-size: 97%;
}
.mailform .row div:nth-child(2) {
	width: 70%;
	line-height: 1.5;
}
.mailform .row span {
	color: #fff;
	background: #7a6b68;
	padding: 6px 5px 5px;
	margin-right: 5px;
	font-size: 12px;
	border-radius: 3px;
}
.mailsp {
	background: #fff !important;
	border: 1px solid #7a6b68;
	color: #7a6b68 !important;
}
.mailform .row small {
	display: block;
	margin-top: 3px;
}
.mailform label {
	color: #7a6b68;
}
.mailform .box, .mailform textarea {
	border: 1px solid #ddd;
	padding: 5px;
	width: 100% !important;
	border-radius: 0;
	-webkit-appearance: none;
	margin-bottom: 5px;
	background: #fff;
}
.mailform button {
	display: block;
	text-align: center;
	margin: 0 auto;
	white-space: nowrap;
	color: #fff;
	background: #7a6b68;
	border: 1px solid #7a6b68;
	width: 270px;
	padding: 20px 0;
	transition: .4s;
	border-radius: 50px;
}
.mailform button:hover {
	background: #fff;
	color: #7a6b68;
}
.mailform button::before {
	font-family: "Font Awesome 6 Free";
	content: "\f0e0";
	font-weight: bold;
	margin-right: 10px;
}
.mails {
	padding-bottom: 60px;
}
/*チェックボックス*/
.mailform input[type=checkbox] {
	display: none;
}
.mailform input[type=checkbox] + label {
	display: inline-block;
	padding-left: 20px;
	position: relative;
	margin-right: 20px;
	margin-bottom: 10px;
	cursor: pointer;
}
.mailform input[type=checkbox] + label::before {
	background: #fff;
	border: 1px solid #b5b5b5;
	content: '';
	display: block;
	position: absolute;
	top: 55%;
	transform: translate(0, -50%);
	left: 0;
	width: 15px;
	height: 15px;
	border-radius: 3px;
}
.mailform input[type=checkbox] + label::after {
	border-right: 3px solid #7a6b68;
	border-bottom: 3px solid #7a6b68;
	content: '';
	display: block;
	height: 13px;
	width: 7px;
	opacity: 0;
	position: absolute;
	top: 25%;
	left: 4px;
	transform: rotate(45deg);
	transition: .1s;
}
.mailform input[type=checkbox]:checked + label::after {
	opacity: 1;
}
@media (max-width: 550px) {
	.mailform input[type=checkbox] + label {
		display: block;
	}
}
@media (max-width: 800px) {
	.mailform .row {
		padding: 20px 0;
		flex-direction: column;
	}
	.mailform .row div:nth-child(1) {
		width: 100%;
		margin-bottom: 20px;
	}
	.mailform .row div:nth-child(2) {
		width: 100%;
	}
}
@media (max-width: 550px) {
	.mails {
		padding-bottom: 35px;
	}
	.mailform button {
		width: 210px;
		padding: 14px 0;
	}
	.selection small {
		font-size: 0.8rem;
	}
}
/* 個人情報の取り扱いについて */
.privacy {
	padding-top: 0;
}
/*アコーディオン全体*/
.accordion-area {
	list-style: none;
	width: 96%;
	max-width: 900px;
	margin: 0 auto;
}
.accordion-area li {
	margin: 10px 0;
}
.accordion-area section {
	border: 1px solid #ccc;
}
/*アコーディオンタイトル*/
.accordion-title {
	position: relative; /*+マークの位置基準とするためrelative指定*/
	cursor: pointer;
	font-size: clamp(1rem, 0.5rem + 1.6vw, 1.4rem);
	padding: 15px 35px 15px 15px;
	transition: all .5s ease;
	background: #7a6b68;
	color: #fff;
	line-height: 1.5;
	border-radius: 10px;
	font-weight: 500;
}
.privacy .accordion-title {
	font-size: clamp(0.9rem, 0.275rem + 2vw, 1.4rem);
}
.privacy .accordion-title span {
	position: relative;
	padding-left: 27px;
	display: inline-block;
}
.privacy .accordion-title span::before {
	font-family: "Font Awesome 6 Free";
	content: "\f023";
	font-weight: bold;
	margin-right: 10px;
	font-size: 80%;
	position: absolute;
	top: 0.15em;
	left: 0;
}
/*アイコンの＋と×*/
.privacy .accordion-title::before, .privacy .accordion-title::after {
	position: absolute;
	content: '';
	width: 15px;
	height: 2px;
	background: #fff;
	top: 50%;
	right: 3%;
	transform: translateY(-50%);
}
.privacy .accordion-title::before {
	transform: rotate(0deg);
}
.privacy .accordion-title::after {
	transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
.privacy .accordion-title.close::before {
	transform: rotate(45deg);
}
.privacy .accordion-title.close::after {
	transform: rotate(-45deg);
}
/*アコーディオンで現れるエリア*/
.accordion-text {
	display: none; /*はじめは非表示*/
	background: #fff;
	padding: 13px 25px;
	font-size: 95%;
}
.accordion-text span {
	font-size: 103%;
	font-weight: 700;
}
@media (max-width: 550px) {
	.privacy .accordion-title::before, .privacy .accordion-title::after {
		width: 11px;
	}
	.privacy .accordion-title span {
		padding-left: 20px;
	}
	.accordion-text {
		padding: 13px;
		font-size: 93%;
	}
}