/*----------------------------------
下層ページ共通
----------------------------------*/

.page-mainvisual {
	position: relative;
	width: calc(100% - 80px);
	margin: 127px auto 0;
}

.page-mainvisual__img {
	position: relative;
}

.page-mainvisual__img::after {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 20px;
	background-color: rgba(0, 0, 0, 0.3);
	content: "";
}

.page-mainvisual__img img {
	width: 100%;
	border-radius: 20px;
}

.page-mainvisual__title {
	position: absolute;
	top: 51%;
	left: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
}

.page-mainvisual__title span {
	display: block;
	color: #fff;
}

.page-mainvisual__title span.en {
	font-size: 2.1rem;
	line-height: 1.428;
	font-family: "Zen Old Mincho", serif;
}

.page-mainvisual__title span.ja {
	font-weight: 500;
	font-size: 3.8rem;
	line-height: 1.447;
}

.pagination {
	display: flex;
	justify-content: center;
	margin-top: 72px;
}

.pagination-link {
	display: inline-block;
	margin-right: 12px;
}

.pagination-link:last-child {
	margin-right: 0;
}

.pagination-link:last-child .page-numbers {
	border: none;
}

.page-numbers {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid #04A0D0;
	border-radius: 50%;
	color: #04A0D0;
	font-weight: 700;
	font-size: 16px;
	font-family: "Montserrat", sans-serif;
	letter-spacing: 0;
}

.page-numbers.current {
	background-color: #04A0D0;
	color: #fff;
}

.page-404 {
	margin-top: 200px;
	padding-bottom: 100px;
	text-align: center;
}

.page-404 h1 {
	font-size: 5rem;
}

.page-404 p {
	margin-top: 50px;
}

.page-404 .top-link {
	margin-top: 50px;
}

.page-404 .top-link a {
	color: blue;
}

/*----------------------------------
保育園事業ページ
----------------------------------*/

.page-sec01 {
	position: relative;
	margin-top: 100px;
	padding: 62px 0 90px;
	overflow: hidden;
}

.page-sec01::before {
	z-index: -1;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 343px;
	background-color: #D4F5FF;
	content: "";
}

.page-sec01::after {
	z-index: -1;
	position: absolute;
	top: 622px;
	left: 0;
	width: 147px;
	height: 218px;
	background: url(../img/illust08.svg) no-repeat center left/contain;
	content: "";
}

.page-sec01__wrap {
	display: flex;
}

.page-sec01__wrap + .page-sec__texts {
	margin-top: -43px;
	padding-left: 63px;
}

.page-sec01__wrap + .page-sec__texts .page-sec__text {
	width: 550px;
	max-width: 100%;
}

.page-sec01__content {
	flex: 0 0 60%;
	margin-right: 29px;
}

.page-sec__lead {
	margin-top: 40px;
	font-size: 2.1rem;
	font-family: "Zen Old Mincho", serif;
}

.page-sec01__img {
	position: relative;
	width: 100vw;
	margin: 42px calc(50% - 50vw) 0 0;
}

.page-sec01__img img {
	border-radius: 20px 0 0 20px;
}

.page-sec01__img::after {
	z-index: -1;
	position: absolute;
	right: 112px;
	bottom: -113px;
	width: 124px;
	height: 131px;
	background: url(../img/illust07.svg) no-repeat center left/contain;
	content: "";
}

.page-sec__text {
	font-size: 1.8rem;
}

.page-sec__text + .page-sec__text {
	margin-top: 30px;
}

.page-sec01__images {
	display: flex;
	margin-top: 40px;
	padding: 0 137px 0 87px;
}

.page-sec01__images + .page-sec01__texts {
	position: relative;
	width: 451px;
	max-width: 100%;
	margin: -52px 63px 0 auto;
}

.page-sec01__images + .page-sec01__texts::after {
	z-index: -1;
	position: absolute;
	top: -141px;
	right: -10px;
	width: 121px;
	height: 121px;
	background: url(../img/illust09.svg) no-repeat center left/contain;
	content: "";
}

.page-sec01__image:first-of-type {
	margin-top: 54px;
}

.page-sec01__image + .page-sec01__image {
	margin-left: 76px;
}

.page-sec01__image img {
	border-radius: 20px;
}

.page-sec02 {
	padding: 62px 0 80px;
	background-color: #F3F7F9;
}

.page-sec02__wrap {
	display: flex;
	margin-top: 40px;
}

.page-sec02__wrap .page-sec__lead {
	margin-top: 0;
}

.page-sec02__wrap .page-sec__texts {
	margin-top: 50px;
	padding-left: 63px;
}

.page-sec02__content {
	flex: 0 0 calc(58.182% - 52px);
}

.page-sec02__img {
	flex: 0 0 41.818%;
	margin-left: 54px;
}

.page-sec02__img img {
	border-radius: 20px;
}

.nursery-bottom {
	margin-top: 102px;
	padding-bottom: 148px;
}

.nursery-link {
	display: block;
	position: relative;
	width: 783px;
	max-width: 100%;
	margin: auto;
}

.nursery-link:hover {
	opacity: 1;
}

.nursery-link:hover .nursery-bottom__img img {
	transform: scale(1.05);
}

.nursery-bottom__img {
	overflow: hidden;
	border-radius: 20px;
}

.nursery-bottom__img img {
	border-radius: 20px;
	transition: all 0.5s ease 0s, opacity 0.9s cubic-bezier(0.5, 0, 0, 1) 0s;
}

.nursery-bottom__wrap {
	position: absolute;
	top: 50%;
	left: 60px;
	width: 330px;
	transform: translateY(-50%);
	text-align: center;
}

.nursery-bottom__title span {
	display: block;
	color: #fff;
}

.nursery-bottom__title span.ja {
	font-weight: 500;
	font-size: 3rem;
	line-height: 1.433;
}

.nursery-bottom__title span.en {
	font-size: 2rem;
	line-height: 1.45;
	font-family: "Zen Old Mincho", serif;
}

.nursery-bottom-button {
	margin-top: 25px;
}

.nursery-bottom-button img {
	width: 32px;
	height: 32px;
}

/*----------------------------------
不登校支援事業
----------------------------------*/

.page-id-12 .page-sec01::before {
	background-color: #F0F3FF;
}

.page-id-12 .page-sec02 {
	background-color: #F7F8FB;
}

/*----------------------------------
サイトマップページ
----------------------------------*/

.sitemap-mainvisual {
	margin-top: 193px;
}

.sitemap__title {
	text-align: center;
}

.sitemap__title span {
	display: block;
}

.sitemap__title span.en {
	font-size: 2.1rem;
	line-height: 1.428;
	font-family: "Zen Old Mincho", serif;
}

.sitemap__title span.ja {
	margin-top: 5px;
	font-weight: 500;
	font-size: 3.8rem;
	line-height: 1.447;
}

.sitemap {
	margin-top: 120px;
	padding-bottom: 148px;
}

.sitemap__inner {
	width: min(100% - 100px, 800px);
	height: inherit;
	margin: auto;
}

.sitemap__list {
	padding-bottom: 40px;
	border-bottom: 1px solid #A0B1B6;
}

.sitemap__list + .sitemap__list {
	margin: 40px 0 0 60px;
}

.sitemap__list a {
	position: relative;
}

.sitemap__list a::before {
	position: absolute;
	bottom: -8px;
	left: 0;
	width: calc(100% - 33px);
	height: 1px;
	background-color: #04A0D0;
	content: "";
	opacity: 0;
	transition: all 0.3s ease 0s;
}

.sitemap__list a::after {
	display: inline-block;
	width: 17px;
	height: 16px;
	margin-left: 20px;
	background: url(../img/arrow_sitemap.png) no-repeat center left/contain;
	content: "";
}

.sitemap__list a:hover {
	opacity: 1;
}

.sitemap__list a:hover::before {
	opacity: 1;
}

.sitemap__list ul {
	margin-top: 20px;
	padding-left: 60px;
}

.sitemap__list ul li a {
	color: #182C32;
	font-size: 2rem;
}

.sitemap-link {
	color: #182C32;
	font-weight: 500;
	font-size: 2.5rem;
	line-height: 1.44;
}

/*----------------------------------
初期化
----------------------------------*/

*,
*::before,
*::after {
	box-sizing: border-box;
}

html,
body {
	position: relative;
	margin: 0;
	padding: 0;
}

html {
	height: 100%;
	font-size: 62.5%;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	background: #fff;
	color: #182C32;
	font-weight: 400;
	font-size: 1.6rem;
	line-height: 2;
	font-family: "Zen Maru Gothic", serif;
	letter-spacing: 0;
	overflow-wrap: break-word;
}

body.open {
	overflow: auto;
}

.content {
	flex: 1;
}

img {
	max-width: 100%;
	height: auto;
	border: none;
}

a {
	text-decoration: none;
	transition: all 0.3s ease 0s;
}

a:hover {
	opacity: 0.7;
}

.d-iblock {
	display: inline-block;
}

/*----------------------------------
補完クラス
----------------------------------*/

.color-active {
	color: #1A837B;
}

.font-size-small {
	font-size: 0.9em;
}

.font-em {
	font-weight: 700;
}

/*----------------------------------
共通パーツ
----------------------------------*/

.inner {
	width: min(100% - 100px, 1100px);
	height: inherit;
	margin: auto;
}

.inner2 {
	width: min(100% - 100px, 1200px);
	height: inherit;
	margin: auto;
}

.section__title span {
	display: block;
}

.section__title span.ja {
	position: relative;
	font-weight: 500;
	font-size: 3rem;
	line-height: 1.433;
}

.section__title span.ja::before {
	position: absolute;
	top: 50%;
	left: -26px;
	width: 6px;
	height: 6px;
	transform: translateY(-50%);
	border-radius: 50%;
	background-color: #C0CAF1;
	content: "";
	line-height: 1.433;
}

.section__title span.en {
	margin-top: 5px;
	color: #04A0D0;
	font-size: 2rem;
	line-height: 1.45;
	font-family: "Zen Old Mincho", serif;
}

/*----------------------------------
スクロールでふわっと
----------------------------------*/

.view {
	transform: translate(0, 50px);
	opacity: 0;
	transition: all 2000ms;
}

.view.scrollin {
	transform: translate(0, 0);
	opacity: 1;
}

/*----------------------------------
ヘッダー
----------------------------------*/

.header {
	z-index: 20;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	padding: 28px 39px 20px 40px;
	background: rgba(255, 255, 255, 0.41);
}

.header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	height: 100%;
}

.header-logo {
	flex: 0 0 251px;
}

.header__wrap {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: flex-end;
	height: 100%;
}

.header__nav-items {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	margin: 0;
	padding: 0;
}

.header__nav-items > li {
	margin-right: 50px;
}

.header__nav-items > li:nth-child(-n+3) a {
	position: relative;
}

.header__nav-items > li:nth-child(-n+3) a::before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	transform: scale(0, 1);
	transform-origin: center top;
	background: #182C32;
	content: "";
	transition: transform 0.3s;
}

.header__nav-items > li:nth-child(-n+3) a:hover {
	opacity: 1;
}

.header__nav-items > li:nth-child(-n+3) a:hover::before {
	transform: scale(1, 1);
	transform-origin: center top;
}

.header__nav-items > li:nth-child(3) {
	margin-right: 40px;
}

.header__nav-items > li:nth-child(4) a,
.header__nav-items > li:nth-child(5) a {
	height: 35px;
	padding: 0 19px;
	border: 1px solid #182C32;
	border-radius: 50px;
}

.header__nav-items > li:nth-child(4) {
	margin-right: 30px;
}

.header__nav-items > li:nth-child(5) {
	margin-right: 0;
}

.header__nav-items > li a {
	display: block;
	color: #182C32;
	font-weight: 500;
	white-space: nowrap;
}

/*----------------------------------
ドロワー
----------------------------------*/

.drawer__toggle {
	display: none;
	z-index: 41;
	position: fixed;
	top: 26px;
	right: 22px;
	cursor: pointer;
}

.drawer__line {
	display: block;
	position: absolute;
	background: #000;
	transition: transform 0.3s;
}

.drawer__line--top.active {
	right: 0;
	transform: rotate(30deg);
	background: #182C32;
}

.drawer__line--center.active {
	transform: scaleX(0);
}

.drawer__line--bottom.active {
	right: 0;
	bottom: 9px;
	width: 34px;
	transform: rotate(150deg);
	background: #182C32;
}

/*gnav*/

.drawer__nav {
	z-index: 40;
	position: fixed;
	top: 0;
	right: -120%;
	width: 96.153%;
	max-width: 375px;
	height: auto;
	max-height: 97%;
	overflow: scroll;
	overflow: scroll;
	border-radius: 0 0 0 20px;
	transition: all 1s;
}

.drawer__nav.active {
	right: 0;
	transition: all 0.6s;
}

.drawer__menu {
	width: 100%;
}

.drawer__menu > li {
	display: block;
	position: relative;
	padding: 13px 0 13px 20px;
	font-weight: 500;
	font-size: 1.6rem;
	text-decoration: none;
	transition: 0.5s;
}

.drawer__menu > li > a {
	display: inline-block;
	width: 100%;
	color: #182C32;
}

.drawer__menu > li ul {
	margin-top: 12px;
}

.drawer__menu > li ul li {
	padding-left: 24px;
	line-height: 2.625;
}

.drawer__menu > li ul li a {
	position: relative;
	color: #182C32;
	font-weight: 400;
}

.drawer__menu > li ul li a::before {
	position: absolute;
	top: 52%;
	left: -17px;
	width: 9px;
	height: 8px;
	transform: translateY(-50%);
	background: url(../img/arrow_drawer.png) no-repeat center left/contain;
	content: "";
}

.drawer-overlay {
	box-sizing: border-box;
	display: none;
	z-index: 39;
	position: fixed;
	top: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.5);
}

.drawer-overlay.open {
	display: block;
}

/*----------------------------------
トップページ：MV
----------------------------------*/

.mainvisual {
	z-index: 1;
	position: relative;
	padding-top: 142px;
	padding-bottom: 152px;
	overflow: hidden;
}

.mainvisual::before {
	z-index: -1;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 288px;
	height: 22.5vw;
	background: url(../img/mv_illust.png) no-repeat bottom center/cover;
	content: "";
}

.mainvisual::after {
	z-index: -1;
	position: absolute;
	top: 94px;
	right: -7px;
	width: 170px;
	height: 150px;
	background: url(../img/illust01.png) no-repeat center left/contain;
	content: "";
}

.mainvisual__content {
	display: flex;
	flex-direction: row-reverse;
}

.mainvisual__content > .mainvisual__img {
	position: relative;
	flex: 0 0 48.9%;
	margin-left: -24px;
}

.mainvisual__content > .mainvisual__img img {
	border-radius: 20px;
}

.mainvisual__content > .mainvisual__img::after {
	z-index: -1;
	position: absolute;
	right: -60px;
	bottom: 165px;
	width: 102px;
	height: 98px;
	background: url(../img/illust03.svg) no-repeat center left/contain;
	content: "";
}

.mainvisual__wrap {
	flex: 0 0 502px;
	margin-left: 84px;
	padding-top: 25px;
}

.mainvisual__wrap .mainvisual__img {
	position: relative;
	width: 78%;
	margin: 70px 0 0 auto;
}

.mainvisual__wrap .mainvisual__img img {
	border-radius: 20px;
}

.mainvisual__wrap .mainvisual__img::before {
	position: absolute;
	top: -13px;
	left: -62px;
	width: 35px;
	height: 35px;
	background: url(../img/illust04.svg) no-repeat center left/contain;
	content: "";
}

.mainvisual__wrap .mainvisual__img::after {
	z-index: -1;
	position: absolute;
	top: -92px;
	right: 12px;
	width: 31px;
	height: 31px;
	background: url(../img/illust02.svg) no-repeat center left/contain;
	content: "";
}

.mainvisual-copy {
	font-size: 2.5rem;
	line-height: 2.5;
	font-family: "Zen Old Mincho", serif;
}

.mainvisual-copy .line {
	position: relative;
}

.mainvisual-copy .line:nth-of-type(2)::before {
	bottom: -18px;
}

.mainvisual-copy .line::before {
	position: absolute;
	bottom: -11px;
	left: 0;
	width: 100%;
	height: 3px;
	background: url(../img/line.png) repeat bottom center/contain;
	content: "";
}

.mainvisual-copy .line .mb {
	margin-bottom: -17px;
}

.mainvisual-copy .curtain {
	display: inline-block;
	position: relative;
	height: 50px;
	margin: 12px 0 -12px;
	overflow: hidden;
	line-height: 50px;
}

.mainvisual-copy .bg-color.first {
	z-index: 1;
	position: relative;
}

.mainvisual-copy .curtain::before {
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	transform: translateX(0%);
	background: #fff;
	content: "";
	transition: transform 1s ease;
}

.mainvisual-copy .curtain.js-animated::before {
	transform: translateX(100%);
}

.mainvisual-copy .bg-color {
	height: 50px;
	margin-right: 8px;
	padding: 2px 10px;
	background: linear-gradient(to right, #04D0A0, #04A0D0);
	color: #fff;
	font-weight: 500;
	font-size: 3.2rem;
	line-height: 50px;
	font-family: "Zen Maru Gothic", serif;
}

.mainvisual-copy .bg-color.second {
	margin-left: 8px;
}

.block {
	display: inline-block;
}

.mv-scroll {
	display: none;
}

.mv-scroll::after {
	z-index: -1;
	position: absolute;
	top: -49px;
	top: -12.5641025641vw;
	right: -4px;
	right: -1.0256410256vw;
	width: 1px;
	height: 99px;
	height: 25.3846153846vw;
	background-color: #fff;
	content: "";
}

/*----------------------------------
トップページ：理念
----------------------------------*/

.philosophy {
	position: relative;
	padding-top: 150px;
}

.philosophy::after {
	z-index: -2;
	position: absolute;
	top: -162px;
	right: 0;
	width: 265px;
	height: 431px;
	background: url(../img/illust05.svg) no-repeat center left/contain;
	content: "";
}

.philosophy__wrap {
	display: flex;
	flex-direction: row-reverse;
}

.philosophy__content {
	flex: 0 0 50.8%;
	margin-left: 105px;
	padding-top: 53px;
}

.philosophy__wrapper {
	margin-top: 53px;
}

.philosophy__lead {
	margin-top: 28px;
	font-size: 1.8rem;
}

.philosophy__img {
	width: 100vw;
	margin-left: calc(50% - 50vw);
}

.philosophy__img img {
	border-radius: 0 20px 20px 0;
}

/*----------------------------------
トップページ：活動内容
----------------------------------*/

.activity {
	z-index: 1;
	position: relative;
	margin-top: 160px;
	padding: 93px 0 90px;
	background-color: #04A0D0;
}

.activity .section__title {
	padding: 0 36px;
}

.activity .section__title span {
	color: #fff;
}

.activity__lead {
	margin-top: 33px;
	padding: 0 36px;
	color: #fff;
	font-size: 1.8rem;
}

.activity__items {
	margin-top: 50px;
	padding: 0 36px;
}

.activity__item:first-of-type .activity__wrap {
	border-radius: 0 20px 20px 0;
}

.activity__item:nth-of-type(2) {
	margin-top: 40px;
}

.activity__item:nth-of-type(2) .activity__wrap {
	border-radius: 20px;
}

.activity-link {
	display: flex;
	position: relative;
}

.activity-link::after {
	z-index: 1;
	position: absolute;
	right: 30px;
	bottom: 20px;
	width: 32px;
	height: 32px;
	background: url(../img/arrow.png) no-repeat center left/contain;
	content: "";
}

.activity-link:hover {
	opacity: 1;
}

.activity-link:hover img {
	transform: scale(1.05);
}

.activity-link:hover .activity__title::after {
	opacity: 1;
}

.activity__img {
	flex: 0 0 50%;
	overflow: hidden;
	border-radius: 20px 0 0 20px;
}

.activity__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	border-radius: 20px 0 0 20px;
	transition: all 0.5s ease 0s, opacity 0.9s cubic-bezier(0.5, 0, 0, 1) 0s;
}

.activity__wrap {
	padding: 30px 40px 80px;
	background-color: #fff;
}

.activity__title {
	display: inline-block;
	position: relative;
	color: #04A0D0;
	font-weight: 500;
	font-size: 2.2rem;
	line-height: 1.454;
}

.activity__title::after {
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100%;
	height: 1px;
	background-color: #04A0D0;
	content: "";
	opacity: 0;
	transition: all 0.3s ease 0s;
}

.activity__text {
	margin-top: 20px;
	color: #182C32;
	line-height: 1.75;
}

/*----------------------------------
トップページ：法人概要・所在地
----------------------------------*/

.profile {
	position: relative;
	padding: 154px 0 148px;
}

.profile::after {
	z-index: -1;
	position: absolute;
	top: -102px;
	right: 0;
	width: 243px;
	height: 326px;
	background: url(../img/illust06.svg) no-repeat center left/contain;
	content: "";
}

.profile .section__title {
	flex: 0 0 240px;
}

.profile__wrap {
	display: flex;
}

.profile__content {
	margin-left: 224px;
	padding-top: 35px;
}

.table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.table tr {
	display: block;
	border-bottom: 1px solid #A0B1B6;
}

.table tr:first-child {
	border-top: 1px solid #A0B1B6;
}

.table tr:nth-child(2) th,
.table tr:nth-child(2) td {
	padding-top: 25px;
	padding-bottom: 25px;
}

.table tr:nth-child(2) .profile__text {
	line-height: 1.5;
}

.table tr:nth-child(2) .profile__text + .profile__text {
	margin-top: 20px;
}

.table tr:nth-child(3) .profile__text {
	font-weight: 500;
	line-height: 1.8;
}

.table tr:nth-child(3) .profile__text + .profile__text {
	margin-top: 20px;
}

.table tr:nth-child(3) .phone-number {
	color: #04A0D0;
}

.table th,
.table td {
	padding: 22px 0;
}

.table th {
	width: 64px;
	font-weight: 500;
	text-align: left;
}

.table td {
	padding-left: 90px;
	vertical-align: middle;
}

.google-map {
	margin-top: 110px;
}

.google-map iframe {
	width: 100%;
	max-width: 100%;
}

/*----------------------------------
フッター
----------------------------------*/

.footer {
	padding: 60px 0 28px;
	border-radius: 20px 20px 0 0;
	background-color: #F4F4F4;
}

.footer-logo {
	width: 251px;
}

.footer__contents {
	display: flex;
	justify-content: space-between;
}

.footer__right {
	padding-top: 24px;
}

.footer__nav ul {
	display: flex;
	justify-content: flex-end;
}

.footer__nav ul:first-of-type li + li {
	margin-left: 30px;
}

.footer__nav ul:first-of-type li a {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 35px;
	padding: 0 19px;
	border: 1px solid #182C32;
	border-radius: 50px;
	background-color: #fff;
}

.footer__nav ul:nth-of-type(2) {
	margin-top: 34px;
}

.footer__nav ul:nth-of-type(2) li + li {
	margin-left: 50px;
}

.footer__nav ul:nth-of-type(2) li a {
	position: relative;
}

.footer__nav ul:nth-of-type(2) li a::before {
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 100%;
	height: 1px;
	transform: scale(0, 1);
	transform-origin: center top;
	background: #182C32;
	content: "";
	transition: transform 0.3s;
}

.footer__nav ul:nth-of-type(2) li a:hover {
	opacity: 1;
}

.footer__nav ul:nth-of-type(2) li a:hover::before {
	transform: scale(1, 1);
	transform-origin: center top;
}

.footer__nav ul li a {
	color: #182C32;
	font-weight: 500;
}

.footer-sitemap {
	margin-top: 102px;
	text-align: right;
}

.footer-sitemap-link {
	color: #182C32;
	font-size: 1.4rem;
	text-decoration: underline;
	text-underline-offset: 3px;
}

.footer__copy {
	margin-top: 38px;
	font-size: 1rem;
	text-align: right;
}

.disable-auto-tel a[href^="tel:"] {
	color: inherit;
	text-decoration: none;
	pointer-events: none;
}

@media (min-width: 768px) {

.hidden-pc {
	display: none;
}

a[href^="tel:"] {
	pointer-events: none;
}

}

@media (min-width: 768px) and (max-width: 1023px) {

.hidden-tab {
	display: none;
}

.block-tab {
	display: block;
}

a[href^="tel:"] {
	pointer-events: none;
}

}

@media (min-width: 1366px) {

.hidden-xl {
	display: none;
}

a[href^="tel:"] {
	pointer-events: none;
}

}

@media (max-width: 1199px) {

.page-sec01__wrap + .page-sec__texts {
	margin-top: -66px;
	margin-top: -5.5vw;
	padding-left: 63px;
	padding-left: 5.25vw;
}

.page-sec01__wrap + .page-sec__texts .page-sec__text {
	width: 551px;
	width: 45.9166666667vw;
}

.page-sec01__images + .page-sec01__texts {
	width: 451px;
	width: 37.5833333333vw;
}

.hidden-w1200 {
	display: none;
}

.mainvisual::after {
	width: 130px;
	height: 115px;
}

.mainvisual__wrap {
	flex: 0 0 444px;
	margin-left: 40px;
}

.mainvisual-copy {
	font-size: 2.2rem;
}

.mainvisual-copy .bg-color {
	font-size: 2.8rem;
}

}

@media (max-width: 1149px) {

.hidden-w1150 {
	display: none;
}

}

@media (max-width: 1099px) {

.hidden-w1100 {
	display: none;
}

.display-w1100 {
	display: block;
}

}

@media (max-width: 1023px) {

.page-mainvisual {
	width: calc(100% - 60px);
}

.page-mainvisual__title span.en {
	font-size: 1.7rem;
}

.page-mainvisual__title span.ja {
	font-size: 3.1rem;
}

.page-sec01::before {
	height: 32vw;
}

.page-sec01__wrap + .page-sec__texts {
	margin-top: 20px;
}

.page-sec01__images {
	padding: 0 80px 0 30px;
}

.page-sec01__images + .page-sec01__texts {
	width: 45vw;
	margin-right: 0;
}

.page-sec01__image + .page-sec01__image {
	margin-left: 30px;
}

.page-sec02__wrap .page-sec__texts {
	padding-left: 30px;
}

.sitemap__inner {
	width: min(100% - 60px, 800px);
}

.inner {
	width: min(100% - 60px, 1100px);
}

.inner2 {
	width: min(100% - 60px, 1200px);
}

.section__title span.ja::before {
	left: -20px;
}

.header {
	padding: 28px 20px 10px;
}

.header-logo {
	flex: 0 0 190px;
}

.header__nav-items > li {
	margin-right: 20px;
}

.header__nav-items > li:nth-child(3) {
	margin-right: 10px;
}

.header__nav-items > li:nth-child(4) a,
.header__nav-items > li:nth-child(5) a {
	padding: 0 10px;
}

.header__nav-items > li:nth-child(4) {
	margin-right: 10px;
}

.mainvisual__content > .mainvisual__img::after {
	right: -38px;
	width: 80px;
	height: 77px;
}

.mainvisual__wrap {
	flex: 0 0 388px;
	margin-left: 25px;
}

.mainvisual__wrap .mainvisual__img::before {
	left: -50px;
	width: 28px;
	height: 28px;
}

.mainvisual__wrap .mainvisual__img::after {
	top: -80px;
	width: 25px;
	height: 25px;
}

.mainvisual-copy {
	font-size: 1.9rem;
}

.mainvisual-copy .curtain {
	height: 45px;
	line-height: 45px;
}

.mainvisual-copy .bg-color {
	height: 45px;
	margin-right: 6px;
	font-size: 2.432rem;
	line-height: 45px;
}

.mainvisual-copy .bg-color.second {
	margin-left: 6px;
}

.philosophy__content {
	margin-left: 40px;
	padding-top: 0;
}

.profile__content {
	margin-left: 40px;
}

.table td {
	padding-left: 30px !important;
}

}

@media (max-width: 999px) {

.hidden-w1000 {
	display: none;
}

}

@media (max-width: 980px) {

.hidden-w980 {
	display: none;
}

}

@media (max-width: 899px) {

.page-sec01::before {
	height: 37vw;
}

.block-w900 {
	display: block;
}

}

@media (max-width: 839px) {

.hidden-w840 {
	display: none;
}

}

@media (max-width: 809px) {

.mainvisual__content > .mainvisual__img {
	flex: 0 0 45%;
}

}

@media (max-width: 767px) {

.page-mainvisual {
	width: calc(100% - 30px);
	margin-top: 76px;
}

.page-mainvisual__title {
	top: 47%;
}

.page-mainvisual__title span.en {
	font-size: 15px;
	font-size: 3.8461538462vw;
}

.page-mainvisual__title span.ja {
	font-size: 23px;
	font-size: 5.8974358974vw;
}

.pagination {
	margin-top: 45px;
}

.page-404 {
	margin-top: 100px;
	padding-bottom: 50px;
}

.page-404 h1 {
	font-size: 3rem;
}

.page-sec01 .inner,
.page-sec02 .inner {
	width: min(100% - 60px, 1200px);
}

.page-sec01 {
	margin-top: 50px;
	padding: 50px 0;
}

.page-sec01::before {
	height: 341px;
	height: 87.4358974359vw;
	max-height: 450px;
}

.page-sec01::after {
	top: 695px;
	width: 97px;
	height: 129px;
}

.page-sec01__wrap {
	display: block;
}

.page-sec01__wrap + .page-sec__texts {
	margin-top: 40px;
	padding-left: 0;
}

.page-sec01__wrap + .page-sec__texts .page-sec__text {
	width: 100%;
}

.page-sec01__content {
	margin-right: 0;
}

.page-sec__lead {
	margin-top: 30px;
	padding-right: 6px;
	font-size: 1.6rem;
}

.page-sec01__img {
	margin: 40px 0 0 calc(50% - 50vw);
}

.page-sec01__img img {
	width: 84.615%;
	border-radius: 0 20px 20px 0;
}

.page-sec01__img::after {
	content: none;
}

.page-sec__text {
	font-size: 1.6rem;
}

.page-sec__text + .page-sec__text {
	margin-top: 20px;
}

.page-sec01__images {
	position: relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	margin-top: 30px;
	padding: 0;
}

.page-sec01__images::after {
	position: absolute;
	right: 44px;
	bottom: -16px;
	width: 52px;
	height: 55px;
	background: url(../img/illust07.svg) no-repeat center left/contain;
	content: "";
}

.page-sec01__images + .page-sec01__texts {
	width: 100%;
	margin-top: 42px;
}

.page-sec01__images + .page-sec01__texts::after {
	top: initial;
	right: -61px;
	bottom: -65px;
}

.page-sec01__image:first-of-type img {
	border-radius: 0 20px 20px 0;
}

.page-sec01__image + .page-sec01__image {
	margin-left: 12px;
}

.page-sec01__image + .page-sec01__image img {
	border-radius: 20px 0 0 20px;
}

.page-sec02 {
	padding: 50px 0;
}

.page-sec02__wrap {
	flex-direction: column;
	margin-top: 30px;
}

.page-sec02__wrap .page-sec__texts {
	order: 3;
	margin-top: 40px;
	padding-left: 0;
}

.page-sec02__content {
	display: contents;
}

.page-sec02__img {
	order: 2;
	margin: 40px 0 0 0;
}

.nursery-bottom {
	margin-top: 60px;
	padding-bottom: 80px;
}

.nursery-bottom__wrap {
	display: flex;
	top: initial;
	bottom: 36px;
	left: 30px;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 60px);
	transform: none;
	text-align: left;
}

.nursery-bottom__title span.ja {
	font-size: 20px;
	font-size: 5.1282051282vw;
	line-height: 1.45;
}

.nursery-bottom__title span.en {
	margin-top: 4px;
	font-size: 15px;
	font-size: 3.8461538462vw;
	line-height: 1.466;
}

.nursery-bottom-button {
	margin-top: 0;
}

.page-id-12 .page-sec01::after {
	top: 632px;
}

.sitemap-mainvisual {
	margin-top: 122px;
}

.sitemap__title span.en {
	font-size: 1.5rem;
}

.sitemap__title span.ja {
	font-size: 2.3rem;
}

.sitemap {
	margin-top: 60px;
	padding-bottom: 80px;
}

.sitemap__inner {
	width: min(100% - 30px, 800px);
}

.sitemap__list {
	padding: 0 0 20px 15px;
}

.sitemap__list + .sitemap__list {
	margin: 20px 0 0;
}

.sitemap__list:first-child {
	padding-top: 20px;
	border-top: 1px solid #A0B1B6;
}

.sitemap__list a::before {
	bottom: -5px;
	width: calc(100% - 20px);
}

.sitemap__list a::after {
	width: 12px;
	height: 12px;
	margin-left: 10px;
}

.sitemap__list ul {
	margin-top: 13px;
	padding-left: 0;
}

.sitemap__list ul li a {
	font-size: 1.6rem;
}

.sitemap-link {
	font-size: 1.8rem;
}

body {
	font-size: 1.4rem;
}

.hidden-sp {
	display: none;
}

.inner {
	width: min(100% - 30px, 1100px);
}

.inner2 {
	width: min(100% - 30px, 1200px);
}

.home .section__title {
	padding: 0 15px;
}

.section__title span.ja {
	font-size: 2rem;
}

.section__title span.ja::before {
	left: -15px;
}

.section__title span.en {
	font-size: 1.5rem;
}

.header {
	padding: 17px 0 17px 20px;
	background: none;
}

.header__inner {
	justify-content: initial;
}

.header-logo {
	flex: 0 0 163px;
}

.header__nav {
	display: none;
}

.drawer__toggle {
	display: block;
	width: 31px;
	height: 19px;
}

.drawer__wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 31px;
	height: 19px;
}

.drawer__line {
	width: 31px;
	height: 1px;
}

.drawer__line--center {
	top: 9px;
}

.drawer__line--bottom {
	bottom: 0;
}

.drawer__line--top.active {
	top: 9.5px;
	width: 34px;
}

.drawer__wrap {
	width: 100%;
	padding: 60px 15px 55px;
	border-radius: 0 0 0 20px;
	background: #F3F7F9;
}

.drawer__menu > li::before {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 2px;
	background: url(../img/line.png) repeat bottom center/contain;
	content: "";
}

.mainvisual {
	padding-top: 24.692308vw;
	padding-bottom: 151px;
	padding-bottom: 38.7179487179vw;
}

.mainvisual::before {
	height: 262px;
	height: 67.1794871795vw;
	background-image: url(../img/mv_illust_sp.png);
}

.mainvisual::after {
	top: 26px;
	top: 6.6666666667vw;
	right: 22px;
	right: 5.641025641vw;
	width: 100px;
	width: 25.641025641vw;
	height: 86px;
	height: 22.0512820513vw;
}

.mainvisual__content {
	display: block;
	position: relative;
}

.mainvisual__content > .mainvisual__img {
	margin: 100px 46.39% 0 -15px;
}

.mainvisual__content > .mainvisual__img img {
	border-radius: 0 20px 20px 0;
}

.mainvisual__content > .mainvisual__img::after {
	top: -33px;
	top: -8.4615384615vw;
	left: -7px;
	left: -1.7948717949vw;
	width: 70px;
	width: 17.9487179487vw;
	height: 67px;
	height: 17.1794871795vw;
}

.mainvisual__wrap {
	margin-left: 0;
	padding-top: 0;
}

.mainvisual__wrap .mainvisual__img {
	position: absolute;
	right: -15px;
	bottom: 69px;
	width: 45.556%;
	margin: 0;
}

.mainvisual__wrap .mainvisual__img img {
	border-radius: 20px 0 0 20px;
}

.mainvisual__wrap .mainvisual__img::before {
	content: none;
}

.mainvisual__wrap .mainvisual__img::after {
	top: -17px;
	top: -4.358974359vw;
	right: -19px;
	right: -4.8717948718vw;
	width: 49px;
	width: 12.5641025641vw;
	height: 49px;
	height: 12.5641025641vw;
}

.mainvisual-copy {
	font-size: 17px;
	font-size: 4.358974359vw;
	line-height: initial;
}

.mainvisual-copy .line:first-of-type {
	line-height: 2.5;
}

.mainvisual-copy .line:nth-of-type(2) {
	display: flex;
	align-items: center;
	margin-top: 3px;
	line-height: 3.5;
}

.mainvisual-copy .line:nth-of-type(2)::before {
	bottom: -1.8vw;
}

.mainvisual-copy .line:nth-of-type(3) {
	line-height: 1;
}

.mainvisual-copy .line:nth-of-type(4) {
	line-height: 4;
}

.mainvisual-copy .line::before {
	bottom: -8px;
	bottom: -2.0512820513vw;
	height: 2px;
}

.mainvisual-copy .curtain {
	height: 34px;
	height: 8.7179487179vw;
	margin-top: 0;
	line-height: 34px;
	line-height: 8.7179487179vw;
}

.mainvisual-copy .bg-color {
	height: 34px;
	height: 8.7179487179vw;
	margin-right: 5px;
	margin-right: 1.2820512821vw;
	padding-top: 5px;
	padding-top: 1.2820512821vw;
	padding-right: 10px;
	padding-right: 2.5641025641vw;
	padding-bottom: 5px;
	padding-bottom: 1.2820512821vw;
	padding-left: 10px;
	padding-left: 2.5641025641vw;
	font-size: 22px;
	font-size: 5.641025641vw;
	line-height: 34px;
	line-height: 8.7179487179vw;
}

.mainvisual-copy .bg-color.second {
	margin-left: 5px;
	margin-left: 1.2820512821vw;
}

.mv-scroll {
	display: block;
	position: absolute;
	right: 50px;
	right: 12.8205128205vw;
	bottom: 115px;
	bottom: 29.4871794872vw;
	color: #fff;
	font-size: 12px;
	font-size: 3.0769230769vw;
	line-height: 1.416;
	font-family: "Zen Old Mincho", serif;
	writing-mode: vertical-rl;
}

.philosophy {
	padding-top: 60px;
	overflow: hidden;
}

.philosophy::after {
	top: -46px;
	right: -7px;
	width: 117px;
	height: 179px;
}

.philosophy__wrap {
	flex-direction: column;
}

.philosophy__wrap .section__title {
	order: 0;
}

.philosophy__content {
	display: contents;
}

.philosophy__wrapper {
	display: contents;
}

.philosophy__lead {
	padding: 0 15px;
	font-size: 1.6rem;
}

.philosophy__lead:first-of-type {
	order: 1;
	margin: 30px 0;
}

.philosophy__lead:nth-of-type(2) {
	order: 3;
	margin-top: 40px;
}

.philosophy__lead:nth-of-type(3) {
	order: 4;
	margin-top: 20px;
}

.philosophy__img {
	order: 2;
	width: auto;
	margin: 0 -15px 0 15px;
}

.philosophy__img img {
	border-radius: 20px 0 0 20px;
}

.activity {
	margin-top: 50px;
	padding: 60px 0 50px;
}

.activity .section__title {
	padding: 0 15px;
}

.activity__lead {
	margin-top: 30px;
	padding: 0 15px;
	font-size: 1.6rem;
}

.activity__items {
	margin-top: 30px;
	padding: 0;
}

.activity__item:first-of-type .activity-link {
	flex-direction: column;
}

.activity__item:first-of-type .activity__wrap {
	border-radius: 0 0 20px 0;
}

.activity__item:first-of-type .activity__wrap::before {
	left: -15px;
}

.activity__item:nth-of-type(2) {
	margin-top: 25px;
}

.activity__item:nth-of-type(2) .activity__wrap {
	border-radius: 20px 0 0 20px;
}

.activity__item:nth-of-type(2) .activity__wrap::before {
	right: -15px;
	height: 100%;
}

.activity-link::after {
	right: 15px;
	bottom: 32px;
}

.activity__img {
	border-radius: 20px 20px 0 0;
}

.activity__img img {
	border-radius: 20px 20px 0 0;
}

.activity__wrap {
	z-index: 1;
	position: relative;
	padding: 25px 56px 30px 30px;
}

.activity__wrap::before {
	z-index: -1;
	position: absolute;
	bottom: 0;
	width: 15px;
	height: calc(100% + 60px);
	background-color: #fff;
	content: "";
}

.activity__title {
	font-size: 1.7rem;
}

.activity__text {
	margin-top: 10px;
	line-height: 2;
}

.profile {
	padding: 100px 0 80px;
}

.profile::after {
	top: -60px;
	width: 120px;
	height: 168px;
}

.profile__wrap {
	display: block;
}

.profile__content {
	margin: 32px 0 0 0;
	padding-top: 0;
}

.table tr:first-child {
	border-top: none;
}

.table tr:nth-child(2) th,
.table tr:nth-child(2) td {
	padding: 20px 0;
}

.table tr:nth-child(3) {
	border-bottom: none;
}

.table tr:nth-child(3) .phone-number {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 164px;
	height: 33px;
	margin-top: 7px;
	border-radius: 40px;
	background-color: #04A0D0;
	color: #fff;
}

.table th,
.table td {
	padding: 16px 0;
}

.table th {
	width: 58px;
}

.google-map {
	margin-top: 60px;
}

.google-map iframe {
	height: 301px;
}

.footer {
	padding: 42px 0 15px;
}

.footer-logo {
	width: 163px;
	margin: auto;
}

.footer__contents {
	display: block;
}

.footer__right {
	padding-top: 0;
}

.footer__nav ul {
	flex-direction: column;
}

.footer__nav ul:first-of-type {
	margin-top: 30px;
}

.footer__nav ul:first-of-type li {
	display: flex;
	justify-content: center;
}

.footer__nav ul:first-of-type li + li {
	margin: 15px 0 0 0;
}

.footer__nav ul:nth-of-type(2) {
	display: none;
}

.footer__nav ul li a {
	font-size: 1.4rem;
}

.footer-sitemap {
	margin-top: 30px;
	text-align: center;
}

.footer-sitemap-link {
	font-size: 1.2rem;
}

.footer__copy {
	margin-top: 20px;
	text-align: center;
}

}

@media (max-width: 433px) {

.hidden-w433 {
	display: none;
}

}

@media (max-width: 400px) {

.mainvisual-copy .line:nth-of-type(2)::before {
	bottom: -2.8vw;
}

}

@media (max-width: 389px) {

.hidden-w390 {
	display: none;
}

}

@media (max-width: 380px) {

.hidden-w380 {
	display: none;
}

}

@media (max-width: 374px) {

.hidden-w375 {
	display: none;
}

}

@media (max-width: 359px) {

.page-sec01::before {
	height: 420px;
	height: 107.6923076923vw;
}

.page-sec__lead {
	padding-right: 0;
}

.sitemap__list ul li a {
	font-size: 1.5rem;
}

.hidden-sm {
	display: none;
}

.mainvisual-copy .line:nth-of-type(2) {
	margin-top: 0;
}

.mainvisual-copy .line:nth-of-type(2)::before {
	bottom: -3.5vw;
}

.table td {
	padding-left: 23px !important;
}

}

