@charset "utf-8";
/* CSS Document -----------------------------

 2024.08.30

--------------------------------------------*/
/* New Farm */
@import url("https://use.typekit.net/huz5xkc.css");
/* Lato */
@import url("https://use.typekit.net/oze3cck.css");
/* ----------------------------------------------

 * タグの設定

---------------------------------------------- */
a {
	display: inline-block;
	outline:none;
	color: #707070;
	cursor: pointer;
	text-decoration: none;
	-webkit-tap-highlight-color: transparent;
    transition: all .5s ease;
	user-select: none;
}
input,
input[type="submit"],
input[type="button"],
button {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	box-sizing: border-box;
	outline: none;
	font-style: normal;
	font-weight: 400;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="button"],
input[type="text"],
input[type="submit"],
input[type="image"],
textarea {
   -webkit-appearance: none;
   appearance: none;
   border-radius: 0;
}
select {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
    -webkit-appearance: none;
	 -moz-appearance: none;
    appearance: none;
}
select::-ms-expand{
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
}
/*------------------------------------------------*/
html {
	margin: 0;
	padding: 0;
	background: #FFFAF2;
	color: #707070;
	font-style: normal;
	font-weight: 400;
	font-size: 62.5%;
	line-height: 1.7;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", Meiryo, sans-serif;
	-webkit-font-smoodting: antialiased;
	-moz-osx-font-smoodting: grayscale;
	word-break: break-all;
}
body {font-size: calc(14px + 2 * ((100vw - 375px) / 1545));line-height: 1.7;}
main.white_bg {background: #fff;}
main.yellow_bg {background: #FFF9EA;}
main.orange_bg {background: #FEF6EB;}
section {position: relative;}
h2,h3,h4,h5 {line-height: 1.4;}
p {font-size: calc(14px + 2 * ((100vw - 375px) / 1545));line-height: 1.7;}
ul,li,th,td,dt,dd,figcaption {line-height: 1.7;}
a img {-webkit-backface-visibility: hidden;backface-visibility: hidden;}
.FOTTsukuARdGothicStdBD {font-family: "fot-tsukuardgothic-std", sans-serif;font-weight: 700;font-style: normal;}
.NewFarmBD {font-family: "new-farm", sans-serif;font-weight: 700;font-style: normal;}
.NewFarmM {font-family: "new-farm", sans-serif;font-weight: 500;font-style: normal;}
.LatoR {font-family: "lato", sans-serif;font-weight: 400;font-style: normal;}
.LatoBD {font-family: "lato", sans-serif;font-weight: 700;font-style: normal;}
.inner {width: 90%;max-width: 1680px;margin: 0 auto;}
.inner-s {width: 80%;max-width: 1400px;margin: 0 auto;}
.blank {padding-top: calc(130px + 90 * ((100vw - 375px) / 1545));padding-bottom: calc(40px + 60 * ((100vw - 375px) / 1545));}
.blank2 {padding-top: calc(40px + 60 * ((100vw - 375px) / 1545));padding-bottom: calc(40px + 60 * ((100vw - 375px) / 1545));}
.blank3 {padding-top: calc(40px + 60 * ((100vw - 375px) / 1545));padding-bottom: calc(120px + 80 * ((100vw - 375px) / 1545));}
.blank4 {padding-bottom: calc(80px + 50 * ((100vw - 375px) / 1545));}
.flexbox {display: flex;flex-wrap: wrap;justify-content: space-between;align-items: flex-start;}
/* title_common */
.title_common {
	position: relative;
	z-index: 1;
	margin-bottom: calc(70px + 50 * ((100vw - 375px) / 1545));
}
.title_common img {
	position: absolute;
	top: 0;
	left: 50%;
	z-index: -1;
	transform: translate(-50%, -50%);
	width: calc(280px + 180 * ((100vw - 375px) / 1545));
}
.title_common h2 {
	color: #7B6A64;
	font-size: calc(30px + 12 * ((100vw - 375px) / 1545));
	line-height: 1;
	letter-spacing: .02em;
	text-align: center;
}
.title_common p {
	color: #7B6A64;
	font-size: calc(18px + 6 * ((100vw - 375px) / 1545));
	line-height: 1;
	letter-spacing: .06em;
	text-align: center;
}
.title_common2 {margin-bottom: calc(50px + 50 * ((100vw - 375px) / 1545));}
.title_common2 h2 {
	margin-bottom: calc(40px + 50 * ((100vw - 375px) / 1545));
	color: #7B6A64;
	font-size: calc(24px + 10 * ((100vw - 375px) / 1545));
	text-align: center;
}
.title_common2 h2 span {color: #F66C02;}
.title_common2 h3 {
	margin-bottom: calc(40px + 10 * ((100vw - 375px) / 1545));
	color: #7B6A64;
	font-size: calc(16px + 8 * ((100vw - 375px) / 1545));
	text-align: center;
}
/* button */
.read {text-align: center;}
.slidebtn {
	display: inline-block;
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 240px;
	padding: 10px 0;
	border: 1px solid #F66C02;
	border-radius: 5em;
	overflow: hidden;
	background: #F66C02;
	color: #fff;
	font-weight: bold;
	letter-spacing: .03em;
	text-align: center;
}
.slidebtn:hover {color: #F66C02;}
.slidebtn::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	transform-origin: left top;
	transform: scale(0, 1);
	height: 110%;
	background: #fff;
	transition: transform .3s;
}
.slidebtn:hover::before {transform-origin: left top;transform: scale(1, 1);}
.orange {background: #F8AC53;}
.skyblue {background: #7DD0EA;}
.green {background: #BFD751;}
.gray {background: #C4C4C4;}
.yellow {background: #FAC936;}
/* 社会福祉法人なないろ */
.ichikawa-nanairo,
.koganei-nanairo,
.chofu-sorairo,
.fuda-sorairo {background: #F66C02;}
/* 株式会社EDU */
.atsugi-hanairo,
.tsujido-hanairo,
.sakuragaoka-hanairo,
.yamato-hanairo,
.kemigawa-hanairo,
.noborito-hanairo {background: #7DD0EA;}
/* 社会福祉法人芽ぶき */
.mebuki-narita {background: #B2CB40;}
.pc {display: block;}
.sp {display: none;}
@media only screen and ( max-width : 767px ) {
	.inner {width: 100%;}
	.title_common h2 span.txt,
	.title_common2 h2 span.txt {display: block;margin-left: 0;}
	.pc {display: none;}
	.sp {display: block;}
	.inner-s {width: 92%}
}
/*------------------------------------------------

    header

------------------------------------------------*/
header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: sticky;
	top: 0;
	left: 0;
	z-index: 30;
	width: 100%;
	padding: 28px 3vw 25px;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);
	background: #FFFAF2;
	transition: .3s;
}
header .header_btn {display: none;}
header .logo {position: relative;z-index: 5;}
header .logo img {width: calc(170px + 200 * ((100vw - 375px) / 1545));}
header .logo span {
	display: block;
	margin-top: 5px;
	margin-right: calc(20px + 16 * ((100vw - 375px) / 1545));
	margin-left: auto;
	font-size: calc(14px + 10 * ((100vw - 375px) / 1545));
	letter-spacing: -.02em;
	text-align: right;
}
/* nav */
header nav {width: 100%;}
header nav ul.list {display: flex;justify-content: flex-end;gap: calc(20px + 50 * ((100vw - 375px) / 1545));}
header nav ul.list {
	gap: calc(20px + 40 * ((100vw - 375px) / 1545));
	position: absolute;
	top: 50%;
	right: 3vw;
	transform: translateY(-50%);
	width: 100%;
	height: 100%;
}
header nav ul.list li {display: flex;justify-content: center;align-items: center;}
header nav ul.list li a {
	position: relative;
	color: #444;
	font-size: calc(10px + 8 * ((100vw - 375px) / 1545));
	letter-spacing: -.05em;
	text-align: center;
}
header nav ul.list li a span {display: block;margin: 0 auto;}
header nav ul.list li:nth-child(1) a span {width: calc(30px + 10 * ((100vw - 375px) / 1545));margin-bottom: 6px;}
header nav ul.list li:nth-child(2) a span {width: calc(22px + 10 * ((100vw - 375px) / 1545));margin-bottom: 8px;}
header nav ul.list li:nth-child(3) a span {width: calc(16px + 10 * ((100vw - 375px) / 1545));margin-bottom: 7px;}
header nav ul.list li:nth-child(4) a span {width: calc(28px + 10 * ((100vw - 375px) / 1545));margin-bottom: 6px;}
header nav ul.list li:nth-child(5) a span {width: calc(28px + 10 * ((100vw - 375px) / 1545));margin-bottom: 6px;}
header nav ul.list li:nth-child(6) a span {width: calc(28px + 10 * ((100vw - 375px) / 1545));margin-bottom: 6px;}
/* dropdown menu */
header nav ul.list li.has-child {position: relative;}
header nav ul.list li.has-child a.tab_title {padding-right: 20px;}
header nav ul.list li.has-child a.tab_title::before {
    content: '';
    position: absolute;
	top: 85%;
	right: 0;
    z-index: 1;
    transform: translateY(-50%) rotate(-180deg);
    width: 1vw;
    height: 1vw;
	background: url(img/common/Icon_arrowD.svg) no-repeat center / 100%;
    transition: .3s;
}
header nav ul.list li.has-child:hover a.tab_title::before {transform: translateY(-50%) rotate(0deg);}
header nav ul.list li.has-child ul {
	display: grid;
	justify-content: flex-start;
	gap: 20px !important;
	visibility: hidden;
	opacity: 0;
    position: absolute;
    top: 100%;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
	width: 250px;
	margin-right: 0 !important;
	padding: 20px 30px 30px;
	box-shadow: 0 5px 6px rgba(0, 0, 0, 16%);
    background: #FEFAF2;
	transition: all .3s;
}
header nav ul.list li.has-child:hover ul {visibility: visible;opacity: 1;}
header nav ul.list li.has-child ul li {justify-content: flex-start;position: relative;margin: 0;}
header nav ul.list li.has-child ul li a {
	position: relative;
	padding: 0;
	border-bottom: 1px solid #707070;
	color: #767676;
	font-size: calc(14px + 4 * ((100vw - 375px) / 1545));
	line-height: 1.4;
}
header nav ul.list li.has-child ul li a::before {display: none;}
header nav ul.list li.has-child ul li a::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
	width: 0;
    height: 1px;
    background-color: #707070;
    transition: all .3s ease-in-out;
}
header nav ul.list li.has-child ul li a:hover::after {width: 100%;}
header p.entry {position: absolute;top: 0;right: 0;}
header p.entry a {
	width: calc(150px + 145 * ((100vw - 375px) / 1545));
	padding: 1.6em 0 1.4em;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 16%);
	border-bottom-left-radius: 40px;
	background: #F66C02;
	color: #fff;
	font-size: calc(20px + 24 * ((100vw - 375px) / 1545));
	text-align: center;
	transition: .3s;
}
header p.entry a:hover {padding: 2.2em 0 1.4em;}
#sp-menu {display: none;}
@media only screen and ( max-width : 1024px ) {
	header {position: -webkit-sticky;position: sticky;top: 0;padding: 10px 20px;}
	header .header_btn {
		display: flex;
		align-items: center;
		position: absolute;
		top: 50%;
		right: 5%;
		transform: translate(0%, -50%);
		z-index: 200;
		cursor: pointer;
	}
	header .header_btn p {
		position: relative;
		margin: 5px 10px 0 0;
		color: #707070;
		font-size: calc(16px + 4 * ((100vw - 375px) / 649));
		letter-spacing: .04em;
		line-height: 1;
		user-select: none;
	}
	header .header_btn:hover p {cursor: pointer;}
	header .header_btn p::after {	
		content: '';
		position: absolute;
		left: 0;
		bottom: -2px;
		width: 0;
		height: 2px;
		background: #707070;
		transition: all .6s cubic-bezier(.77, 0 ,.175, 1);
	}
	header .header_btn:hover p::after {width: 100%;}
	header .header_btn p span {color: #F67C02;}
	#sp-menu {
		display: block;
		position: relative;
		z-index: 10;
		width: 24px;
		height: 18px;
		cursor: pointer;
	}
	#sp-menu span {
		position: absolute;
		left: 0;
		width: 100%;
		height: 2px;
		border-radius: 4px;
		background-color: #707070;
		transition: all .5s;
	}
	#sp-menu span:nth-of-type(1) {top: 0;}
	#sp-menu span:nth-of-type(2) {top: 8px;}
	#sp-menu span:nth-of-type(3) {bottom: 0;}
	#sp-menu.clicked span:nth-of-type(1) {transform: translateY(8px) rotate(-45deg);}
	#sp-menu.clicked span:nth-of-type(2) {left: 50%;opacity: 0;animation: bar02 .8s forwards;}
	@keyframes bar02 {
		100% {height: 0;}
	}
	#sp-menu.clicked span:nth-of-type(3) {transform: translateY(-8px) rotate(45deg);}
	header nav {
		position: fixed;
		top: 0;
		right: -100%;
		width: 100%;
		height: 100vh;
		padding: 30vw 10px;
		overflow-y: scroll;
		background: #FFFAF2;
		transition: all .3s linear;
		visibility: visible;
	}
	header nav.clicked {display: block;right: 0%;overflow: auto;}
	header nav ul.list {
		flex-direction: column-reverse;
		right: 50%;
		transform: translate(50%, -50%);
		max-width: 500px;
		height: auto;
		margin: 0 auto 20px;
	}
	header nav ul.list li {display: block;text-align: center;}
	header nav ul.list li.has-child.active::before {transform: rotate(-135deg);}
	header nav ul.list li a {display: inline-block;font-size: 1.6rem;}
	header nav ul.list li.has-child a.tab_title {justify-content: center;height: auto;padding: 0 20px;}
	header nav ul.list li.has-child a.tab_title::before {width: 15px;height: 15px;}
	header nav ul.list li.has-child:hover a.tab_title::before {transform: translateY(-50%) rotate(-180deg);}
	header nav ul.list li.has-child.active a.tab_title::before {transform: translateY(-50%) rotate(0deg);}
	header nav ul.list li.has-child ul {
		display: none;
		opacity: 1;
		visibility: visible;
		position: relative;
		left: 0;
		top: 0;
		transform: none;
		width: 100%;
		max-width: 100%;
		margin-top: 20px;
		background: #fff;
		transition: none;
	}
	header nav ul.list li.has-child ul li {border-bottom: none;}
	header nav ul.list li.has-child ul li::before {display: none;}
	header nav ul.list li.has-child ul li a {
		display: block;
		width: 100%;
		padding: 10px 0;
		font-size: 1.4rem;
		text-align: center;
	}
	header p.entry {position: initial;text-align: center;}
	header p.entry a {
		margin: 0 auto;
		padding: 20px 0;
		border-radius: 30px;
		font-size: calc(18px + 8 * ((100vw - 375px) / 1545));
	}
	header p.entry a:hover {padding: 20px 0;box-shadow: 0 0 1px rgba(0, 0, 0, 16%);}
}
@media only screen and ( max-width : 500px ) {
	header .header_btn p {display: none;}
}
/*------------------------------------------------

    footer

------------------------------------------------*/
footer {background: #FFFAF2;}
footer .container {
	padding-top: calc(60px + 20 * ((100vw - 375px) / 1545));
	padding-bottom: calc(30px + 20 * ((100vw - 375px) / 1545));
}
footer .container .logo {max-width: calc(200px + 73 * ((100vw - 375px) / 1545));}
footer .container .wrap {
	display: flex;
	flex: 1;
	justify-content: flex-end;
	gap: calc(30px + 30 * ((100vw - 375px) / 1545));
	margin-left: calc(20px + 40 * ((100vw - 375px) / 1545));
}
footer .container .wrap {margin-bottom: calc(40px + 20 * ((100vw - 375px) / 1545));}
footer .nanairo-list {margin-bottom: clamp(20px,45px,60px);}
footer .edu-list {margin-bottom: clamp(10px,23px,30px);}
footer .container .wrap .content ul:last-child {margin-bottom: 0;}
footer .container .wrap .content ul li:nth-child(1) {font-weight: bold;font-size: calc(14px + 4 * ((100vw - 375px) / 1545));}
footer .container .wrap .content ul li a {
	position: relative;
	padding-left: 15px;
	font-size: calc(12px + 4 * ((100vw - 375px) / 1545));
	line-height: 2;
}
footer .container .wrap .content ul li a::before {
    content: '';
    position: absolute;
	top: 13px;
    left: 0;
    transform: rotate(45deg);
    width: 7px;
    height: 7px;
    border-top: 1px solid #707070;
    border-right: 1px solid #707070;
}
footer .container .wrap .content ul li a::after {
    content: '';
    width: 0;
    height: 1px;
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #707070;
    transition: all .3s ease-in-out;
}
footer .container .wrap .content ul li a:hover::after {width: 100%;}
footer small {display: block;padding: 10px 0;background: #fff;text-align: center;letter-spacing: .075em;}
@media only screen and (max-width: 767px) {
	footer .container .logo {margin-bottom: 30px;}
	footer .container .wrap {flex: inherit;}
}
@media only screen and (max-width: 500px) {
	footer .container .wrap {flex-wrap: wrap;margin-left: 0;}
	footer .container .wrap .content {width: 100%;}
}
/*-----------------------------------------------

	404 Not Found

------------------------------------------------*/
#notfound {
	padding-top: calc(130px + 70 * ((100vw - 375px) / 1545));
	padding-bottom: calc(70px + 30 * ((100vw - 375px) / 1545));
}
#notfound h2 {margin-bottom: 50px;text-align: center;}
#notfound h2 span {display: block;font-size: 2.3em;text-align: center;}
#notfound p {margin-bottom: 40px;text-align: center;}
#notfound a {
	display: block;
	position: relative;
	z-index: 1;
	width: 70%;
	max-width: 300px;
	margin: 0 auto;
	padding: 15px;
	border: 1px solid #222;
	background: #222;
	color: #fff;
	text-align: center;
}
#notfound a:hover {color: #222;}
#notfound a::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	transform-origin: right top;
	transform: scale(0, 1);
	transition: transform .3s;
	z-index: -5;
	background: #fff;
	color: #222;
}
#notfound a:hover::after {transform-origin: left top;transform: scale(1, 1);}
#notfound a span {display: block;position: relative;text-align: center;}