@charset "utf-8";
/*
Theme Name: tanpopoen
Theme URI: https://tanpopoen.net/
Version: 1.0
*/

/* common
---------------------------------------------------------------------------*/
@import url("css/easing.css");

:root {
	--color-text: #3F2E1A;
	--color-bg: #F9F9F4;
	--color-white: #FEFFF8;
	--color-gray: #D0CDC5;
	--color-green: #1A6D1D;
	--color-green-light: #8EAB8D;
	--color-green-dark: #205A21;
	--color-yellow-btn: #F4D946;
	--color-yellow-text: #EABC3C;
	--color-yellow-marker: #FFE45E;
	--color-brown: #71665B;
	--color-border: #DBDBDB;
	--color-border-light: #EAEAEA;
	--color-border-dark: #888888;
	--color-box-shadow: #EFF2E2;

	--font-gothic-jp: 'dnp-shuei-gothic-gin-std', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	--font-mgothic-jp: 'dnp-shuei-mgothic-std', '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック体', YuGothic, 'Hiragino Sans', 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, sans-serif;
	
	--font-gothic-en: 'mundial-narrow-variable', sans-serif;
	/*font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;*/

	--width-min: 1240px;
	/*--width-min: 0px;*/
	--width-mid: 1440;
	--width-max: 1800px;
	/*--width-max: 9999px;*/
	--size-max-over: max(calc(100vw/var(--width-mid)), calc(var(--width-min)/var(--width-mid)));
}

html {
	font-size: clamp(calc(var(--width-min)/var(--width-mid)), calc(100vw/var(--width-mid)), calc(var(--width-max)/var(--width-mid)));
}

body {
	overflow-y: scroll;
	background: var(--color-bg) url(img/share/bg-pattern@2x.jpg) repeat left top / 120rem auto;
	color: var(--color-text);
	font-size: 16rem;
	font-family: var(--font-gothic-jp);
	line-height: 1;
	font-feature-settings: 'palt' 1;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-text-size-adjust: none !important;
}

body.noscroll { position: fixed; width: 100%; }

::-moz-selection { background: #FAF2D2; color: var(--color-text); }
::selection { background: #FAF2D2; color: var(--color-text); }

p { font-size: 16rem; line-height: 2; letter-spacing: 0.1em; margin-bottom: 1em; }
p:last-child { margin-bottom: 0 !important; }
address,i { font-style: normal; }
img { max-width: none; }
figure img { width: 100%; }
picture { display: block; }

h2,h3 { color: var(--color-green); }

.block { display: inline-block !important; }
.wide { display: inline-block !important; }
.narrow { display: none !important; }
.nav-sp, .btn-nav { display: none !important; }

/* txt
------------------------------------*/
.stretch {
	display: inline-block;
	transform-origin: left top;
	transform: scaleY(0.96);
}

.stretch-l {
	display: inline-block;
	transform-origin: left top;
	/* transform: scale(1.15,1); */
	transform: scale(1.06,1);
}

/* #loading
------------------------------------*/
body:has( .service-title) #loading {
	display: none;
	opacity: 0;
}

#loading {
	display: block;
	opacity: 1;
	position: fixed;
	top: 50vh;
	left: 50vw;
	border: 2px solid var(--color-green);
	border-top-color: transparent;
	border-radius: 50%;
	width: 20rem;
	height: 20rem;
	margin: -10rem 0 0 -10rem;
	z-index: 99999;
	animation: spin .4s infinite linear;
}
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

.fade { opacity: 0; }

/* link
------------------------------------*/
a { color: var(--color-text); text-decoration: none; transition: .15s ease-out; -webkit-transform: translateZ(0); }
.hover, button { cursor: pointer; transition: .15s ease-out; }
a:hover,.hover:hover,button:hover { text-decoration: none; opacity: 0.7; }

p a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

a.blank {
	display: inline-block;
	background: url(img/share/ico-blank.svg) no-repeat left 1px center / 16rem auto;
	padding-left: 27rem !important;
}

.footer-inner a.blank {
	display: inline-block;
	background-image: url(img/share/ico-blank-footer.svg);
}

.line { display: inline-block; position: relative; padding-bottom: 1rem; line-height: 1; }
.line:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-text);
	width: 100%;
	height: 1rem;
}

.dash {
	padding: 0 6rem 0 2rem;
	letter-spacing: -0.15em;
}

.link-list li a,
.link-list li > span {
	display: inline-block;
	background: url(img/share/ico-arrow-yellow.svg) no-repeat left top 2rem / 26rem auto;
	min-height: 26rem;
	padding: 6rem 0 6rem 36rem;
	color: var(--color-green);
	font-weight: 600;
	font-size: 16rem;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.link-list li a span,
.link-list li > span span {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

.link-list.size-l li {
	display: inline-block;
	margin-right: 18rem;
}

.link-list.size-l li a {
	background-position: left top 2rem;
	background-size: 28rem;
	font-size: 18rem;
}

.anchor-list li a {
	position: relative;
	display: inline-block;
	min-height: 26rem;
	padding: 3rem 0 6rem 28rem;
	color: var(--color-green);
	font-weight: 600;
	font-size: max(14rem, 14px);
	line-height: 1.7;
	letter-spacing: 0.06em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
	white-space: nowrap;
}

.anchor-list li a:before {
	display: block;
	content: '';
	background: url(img/share/ico-arrow-yellow.svg) no-repeat left top / 20rem auto;
	position: absolute;
	top: 5rem;
	left: 0;
	width: 20rem;
	height: 20rem;
	transform: rotate(90deg);
}

/* .btn
------------------------------------*/
.btn-link a,
.btn-link button {
	display: inline-block;
	background: var(--color-green) url(img/share/ico-arrow-yellow.svg) no-repeat left 30rem center / 26rem auto;
	border-radius: 8rem;
	padding: 22rem 30rem 22rem 70rem;
	color: #FFFFFF;
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 17rem;
	letter-spacing: 0.1em;
	text-align: center;
}

.btn-link.size-s a,
.btn-link.size-s button {
	background-size: 18rem auto;
	background-position: left 15rem center;
	padding: 12rem 14rem 12rem 40rem;
	font-size: max(14rem, 13px);
	letter-spacing: 0.08em;
}

.btn-link.round a {
	background-image: none;
	border-radius: 100rem;
	padding: 14rem 20rem 14rem 20rem;
}

.btn-link.round a span {
	display: inline-block;
	background: url(img/share/ico-arrow-yellow.svg) no-repeat left center / 18rem auto;
	min-height: 18rem;
	padding-left: 26rem;
}

.btn-link-round a {
	display: inline-block;
	background: var(--color-green) url(img/share/ico-arrow-yellow-green.svg) no-repeat left 19rem top 14rem / 26rem auto;
	border-radius: 100rem;
	padding: 18rem 24rem 19rem 60rem;
	color: #FFFFFF;
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 18rem;
	letter-spacing: 0.12em;
	text-align: center;
	white-space: nowrap;
}


/* #wrap
---------------------------------------------------------------------------*/
#wrap { min-width: var(--width-min); }

.header-wrap { position: relative; transition: .3s ease-out; z-index: 10; }
.header-wrap.off { transition: .2s ease-out; pointer-events: none; opacity: 0; }
header.off,
footer.off { display: none !important; }


/* header
---------------------------------------------------------------------------*/
header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	margin: 0;
	padding: 0;
	opacity: 0;
}

header .logo { position: absolute; top: 34rem; left: 45rem; width: 165rem; min-width: 165rem; padding-top: 132rem; }
header .logo a { display: block; }
header .logo img { display: block; }

header .logo .mark {
	position: fixed;
	top: 35rem;
	left: 53rem;
	width: 147rem;
	transform-origin: center center;
	z-index: 10;
	transition: .4s var(--easeOutQuart);
}

header .logo.active .mark { transform: scale(1.22); transition: .8s var(--easeOutQuart); }
header .logo .mark img { width: 148rem; }
header .logo .type img { width: 166rem; }
header .logo .type { transition: .1s ease-out; }
header .logo.active .type { opacity: 0 !important; }

/* .gnav
------------------------------------*/
.gnav { display: flex; white-space: nowrap; }

header .gnav {
	position: fixed;
	top: 29rem;
	right: 26rem;
	background-color: #FFFFFF;
	border-radius: 40rem;
	padding: 0 30rem 0 0;
	z-index: 10;
	transition: .15s var(--easeOutCubic);
}

header .gnav:has( .dnav-wrap.active) {
	border-radius: 40rem 40rem 40rem 0rem;
	transition: .15s var(--easeOutCubic);
}

.gnav > ul { display: flex; }

.gnav > ul > li > a,
.gnav > ul > li > button {
	display: block;
	position: relative;
	padding: 25rem 13rem 26rem;
}

.gnav > ul > li > button { cursor: default; }
.gnav > ul > li > button:hover { opacity: 1; }

.gnav > ul > li:first-of-type > button { padding-left: 43rem; }

.gnav > ul > li.dnav,
.gnav > ul > li.mnav { position: relative; margin-right: 14rem; }

.gnav > ul > li.mnav:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -3rem;
	left: calc(50% - 6rem);
	background-color: #FFFFFF;
	border-radius: 20rem;
	width: 13rem;
	height: 20rem;
	opacity: 0;
	transition: .15s ease-out;
}

.gnav > ul > li.mnav.current:after { bottom: -13rem; opacity: 1; }

.gnav > ul > li.dnav > button,
.gnav > ul > li.mnav > button { padding-right: 26rem; }

.gnav > ul > li.dnav > button:before,
.gnav > ul > li.mnav > button:before {
	display: block;
	content: '';
	position: absolute;
	top: 24rem;
	right: 0;
	background: url(img/share/ico-plus-yellow-white.svg) no-repeat left top / 100% auto;
	width: 19rem;
	height: 19rem;
	transform-origin: center center;
	transition: .15s ease-out;
}

.gnav > ul > li.dnav.current > button:before,
.gnav > ul > li.mnav.current > button:before { transform: rotate(-225deg); }

.gnav > ul > li.dnav > button:after,
.gnav > ul > li.mnav > button:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 18rem;
	left: 12rem;
	background: url(img/share/line-dot-green.svg) repeat-x left bottom / 6rem auto;
	width: calc(100% - 12rem);
	height: 2rem;
	transition: .15s ease-out;
	opacity: 0;
}

.gnav > ul > li.dnav:first-of-type > button:after { left: 42rem; width: calc(100% - 42rem); }

.gnav > ul > li.dnav.current > button:after,
.gnav > ul > li.mnav.current > button:after { opacity: 1; }

.gnav > ul > li > a img,
.gnav > ul > li > button img { display: block; width: auto; height: 17rem; }

.gnav > ul > li > a img.black,
.gnav > ul > li > button img.black { position: absolute; top: 25rem; left: 12rem; opacity: 0; }

/* .dnav
------------------------------------*/
.dnav-wrap {
	display: none;
	position: absolute;
	top: 67rem;
	left: 0;
	background-color: #FFFFFF;
	border-radius: 0 0 32rem 32rem;
	margin-top: -20rem;
	padding: 30rem 40rem 22rem;
	opacity: 0;
}

.dnav-wrap li { margin-bottom: 20rem; }

.dnav-wrap li a {
	display: block;
	background: url(img/share/ico-arrow-yellow.svg) no-repeat left top 9rem / 25rem auto;
	padding: 10rem 10rem 10rem 38rem;
	white-space: nowrap;
	will-change: transform;
}

.dnav-wrap li strong {
	display: block;
	margin-bottom: 13rem;
	font-size: 20rem;
	letter-spacing: 0.18em;
}

.dnav-wrap li em {
	display: block;
	margin-left: 1rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 600;
	font-size: 13rem;
	letter-spacing: 0.15em;
}

.dnav-wrap li a:hover,
.mnav-wrap .child dd li .link a:hover {
	background-image: url(img/share/ico-arrow-green.svg);
	color: var(--color-green);
	opacity: 1;
}

/* .mnav
------------------------------------*/
.mnav-wrap {
	display: none;
	overflow-y: scroll;
	position: fixed;
	top: 0;
	right: 0;
	background-color: #FFEE93;
	width: calc(884rem + 52rem);
	height: 100%;
	z-index: 9;
	opacity: 0;
}

.mnav-wrap::-webkit-scrollbar { width: 0; }
.mnav-wrap::-webkit-scrollbar-track { border-radius: 0; background: none; }
.mnav-wrap::-webkit-scrollbar-thumb { border-radius: 0; background: none; }

.mnav-inner {
	display: flex;
	align-items: flex-start;
	padding: 115rem 64rem 80rem;
}

.mnav-wrap .parent {
	position: sticky;
	top: 125rem;
	left: 0;
	width: 205rem;
	min-width: 205rem;
	padding-top: 100rem;
}

.mnav-wrap .parent li { margin-bottom: 12rem; }

.mnav-wrap .parent button {
	display: inline-block;
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 15rem;
	line-height: 1.9;
	letter-spacing: 0.08em;
	text-align: left;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.mnav-wrap .parent button:hover { color: var(--color-green); opacity: 1; }

.mnav-wrap .child { width: 100%; }

.mnav-wrap .child dt {
	border-bottom: 3rem solid #FFFFFF;
	margin: 0 0 28rem;
	padding: 68rem 0 4rem 4rem;
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 17rem;
	line-height: 2;
	letter-spacing: 0.16em;
}

.mnav-wrap .child dt a {
	display: inline-block;
	background: url(img/share/ico-arrow-green-yellow.svg) no-repeat right center / 22rem auto;
	padding: 5rem 32rem 5rem 0;
}

.mnav-wrap .child dd { padding: 0 0rem 0 5rem; }

.mnav-wrap .child dd li {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20rem;
}

.mnav-wrap .child dd li .link a {
	display: inline-block;
	background: url(img/share/ico-arrow-yellow.svg) no-repeat left top / 20rem auto;
	padding: 2rem 0 10rem 31rem;
	font-size: 16rem;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.mnav-wrap .child dd li address {
	padding: 1rem 8rem 0 25rem;
	font-size: 14rem;
	letter-spacing: 0.08em;
	text-align: right;
}

.mnav-wrap .child dd .btn-link {
	margin: 30rem 0 0;
}

.mnav-wrap .child dd .btn-link a,
.office-list .inner .btn-link a {
	display: block;
	padding-top: 18rem;
	padding-bottom: 18rem;
	letter-spacing: 0.22em;
}


/* footer
---------------------------------------------------------------------------*/
footer {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0;
	padding: 0;
	opacity: 0;
}

footer .pic { position: relative; }
footer .pic img { display: block; width: 100%; }
footer .pic .pic1,
footer .pic .pic2 { width: calc(100% + 1px); margin-left: -1px; }
footer .pic .pic2 { position: absolute; bottom: 0; left: 0; }

footer .pic .bird {
	font-size: var(--size-max-over);
	position: absolute;
	top: 403em;
	right: 0;
	width: 610em;
	z-index: 1;
}

footer .pic .airplane {
	font-size: var(--size-max-over);
	position: absolute;
	top: 538em;
	left: 554em;
	width: 112em;
	z-index: 1;
	opacity: 0;
}

footer .pic .train {
	font-size: var(--size-max-over);
	position: absolute;
	bottom: 133em;
	right: 0;
	width: 238em;
	z-index: 1;
	opacity: 0;
}

.footer-inner {
	font-size: var(--size-max-over);
	position: absolute;
	top: 368em;
	left: 78em;
	z-index: 3;
}

.footer-inner h2 {
	margin: 0 0 23rem -2rem;
	color: var(--color-text);
}

.footer-inner h2 img { width: 266rem; }

.footer-inner address {
	margin-bottom: 16rem;
	font-size: 16rem;
	letter-spacing: 0.06em;
}

.footer-inner .tel {
	margin-bottom: 17rem;
	font-size: 16rem;
	letter-spacing: 0;
}

.footer-inner h3 {
	margin-bottom: 30rem;
	color: var(--color-text);
	font-size: max(12rem, 12px);
	letter-spacing: 0.14em;
}

.footer-inner .link li a {
	display: inline-block;
	font-size: 14rem;
	letter-spacing: 0.16em;
	padding: 2rem 0 2rem;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.copyright {
	position: absolute;
	bottom: 42rem;
	left: 43rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 16rem;
	letter-spacing: 0.09em;
	white-space: nowrap;
	z-index: 2;
}


/* contents
---------------------------------------------------------------------------*/
#mainContents {
	display: block;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	text-align: left;
}

.contents { opacity: 0; }
.img-fadein { opacity: 0; }

#newsContents,
#admissionContents,
#contactContents,
#privacyContents { padding-top: 200rem; }
#errorContents { padding-top: 300rem; }

.contents:has( .service-title) { padding-top: 140rem; }
body:has(.service-title) .contents { opacity: 1; }

/* .box-white-shadow
------------------------------------*/
.box-white-shadow {
	/*background-color: var(--color-white);*/
	background-color: #FFFFFF;
	box-shadow: 0 0 14rem var(--color-box-shadow);
	border-radius: 12rem;
}

/* .title-page
------------------------------------*/
.title-page { text-align: center; }

.title-page.justify {
	width: 675rem;
	margin: 0 auto;
}

.title-page h1 {
	margin-bottom: 42rem;
	color: var(--color-green);
	font-size: 30rem;
	letter-spacing: 0.14em;
}

.title-page p {
	font-size: 17rem;
	line-height: 2.2;
	letter-spacing: 0.1em;
}

.title-page.justify p { letter-spacing: 0.08em; text-align: justify; }
.title-page p.attention { font-size: max(14rem, 13px); }

/* .title-sec-en-jp
------------------------------------*/
.title-sec-en-jp { white-space: nowrap; }

.title-sec-en-jp em {
	display: block;
	margin: 0 0 26rem 2rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 19rem;
	letter-spacing: 0.1em;
}

.title-sec-en-jp strong {
	display: inline-block;
	margin-left: -1rem;
	padding: 0 0 2rem 1rem;
	box-shadow: inset 0 -8rem 0 0 var(--color-yellow-marker);
	font-size: 31rem;
	letter-spacing: 0.2em;
}

/* .title-arch
------------------------------------*/
.title-arch {
	display: inline-block;
	position: relative;
	margin-bottom: 45rem;
	padding: 0 19rem 0 24rem;
	font-weight: 600;
	font-size: 17rem;
	letter-spacing: 0.17em;
}

.title-arch:before,
.title-arch:after {
	display: block;
	content: '';
	position: absolute;
	top: -1rem;
	background: url(img/share/pic-arch.svg) no-repeat left top / 100% auto;
	width: 9rem;
	height: 17rem;
}

.title-arch:before { left: 0; transform: scaleX(-1); }
.title-arch:after { right: 0; }

.title-arch.size-m {
	padding: 0 24rem 0 29rem;
	font-size: 19rem;
	letter-spacing: 0.15em;
}

.title-arch.size-m:before,
.title-arch.size-m:after {
	width: 11rem;
	height: 21rem;
}

.title-arch.size-l {
	padding: 0 24rem 0 30rem;
	font-size: 24rem;
	letter-spacing: 0.2em;
}

.title-arch.size-l:before,
.title-arch.size-l:after {
	top: 1rem;
	width: 11rem;
	height: 22rem;
}

.title-arch.en { letter-spacing: 0.05em; }

/* .title-circle
------------------------------------*/
.title-circle {
	position: relative;
	padding-left: 28rem;
	color: var(--color-green);
	font-weight: 600;
	font-size: 18rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.title-circle:before {
	display: block;
	content: '';
	position: absolute;
	top: 7rem;
	left: 0;
	border: 5rem solid var(--color-yellow-btn);
	border-radius: 50%;
	width: 18rem;
	height: 18rem;
}

/* .dot-list
------------------------------------*/
.dot-list li {
	position: relative;
	margin: 0 0 8rem 3rem;
	padding-left: 13rem;
	font-size: 15rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-align: left;
}

.dot-list li:last-of-type { margin-bottom: 0; }

.dot-list li:before {
	display: block;
	content: '';
	position: absolute;
	top: 12.5rem;
	left: 0;
	background-color: var(--color-text);
	border-radius: 50%;
	/*width: 4rem;
	height: 4rem;*/
	width: 4px;
	height: 4px;
	transform: translateY(-50%);
}

/* .circle-list
------------------------------------*/
.circle-list li {
	position: relative;
	margin: 0 0 9rem 3rem;
	padding-left: 25rem;
	font-size: 17rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
	text-align: left;
}

.circle-list li:last-of-type { margin-bottom: 0; }

.circle-list li:before {
	display: block;
	content: '';
	position: absolute;
	top: 8.5rem;
	left: 0;
	border: max(3rem, 3px) solid var(--color-yellow-btn);
	border-radius: 50%;
	width: 12rem;
	height: 12rem;
}

/* .attention-list
------------------------------------*/
.attention-list li {
	position: relative;
	margin: 0 0 4rem;
	padding-left: 16rem;
	font-size: max(14rem, 12px);
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.attention-list li:last-of-type { margin-bottom: 0; }
.attention-list li:before { display: block; content: '※'; position: absolute; top: 0; left: 0; }

/* .tab-list
------------------------------------*/
.tab-list {
	background: #FEFFF8;
	overflow: hidden;
	box-shadow: 0 0 14rem var(--color-box-shadow);
	border-radius: 8rem;
}

.tab-list nav ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 0 3rem;
	background-color: #F7F9EF;
}

.tab-list nav li {
	position: relative;
	/*background: url(img/share/bg-pattern-white@2x.jpg) repeat left top / 120rem auto;*/
	background: #FFFFFF;
	padding: 42rem 26rem 32rem 28rem;
	color: var(--color-brown);
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 18rem;
	line-height: 1.6;
	letter-spacing: 0.16em;
	text-align: center;
	cursor: pointer;
	transition: .15s ease-out;
}

.tab-list nav li:hover { opacity: 0.7; }
.tab-list nav li.current { color: var(--color-green) !important; }

.tab-list nav li:before {
	display: block;
	content: '';
	position: absolute;
	top: 8rem;
	left: 10rem;
	background-color: var(--color-gray);
	border-radius: 5rem;
	width: calc(100% - 20rem);
	height: 5rem;
}

.tab-list nav li.current:before { background-color: var(--color-yellow-text); }

.tab-list nav li:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #F9F9F4;
	width: 100%;
	height: 3rem;
	z-index: 1;
}

.tab-list nav li.current:after { opacity: 0; }

.tab-list .list {
	/*background: url(img/share/bg-pattern-white@2x.jpg) repeat left top / 120rem auto;*/
	background: #FFFFFF;
	padding: 35rem 55rem 60rem;
}

.tab-list .list > div { position: relative; }
.tab-list .list .inner:not(:first-of-type) { display: none; position: absolute; top: 0; left: 0; width: 100%; opacity: 0; }

/* .box-grid
------------------------------------*/
.box-grid {
	position: relative;
	background: #FFFFFF url(img/share/bg-pattern-grid.svg) repeat left top / 30rem auto;
	padding: 34rem 32rem 32rem;
	text-align: center;
	box-shadow: 0rem 2rem 10rem 2rem rgba(0,0,0,0.03);
}

.box-grid:before, .box-grid:after {
  z-index: -1;
  position: absolute;
  content: "";
  bottom: 14rem;
  left: 5rem;
  width: 30%;
  top: 80%;
  background: rgba(0,0,0,0.05);
  box-shadow: 0 15rem 10rem rgba(0,0,0,0.05);
  transform: rotate(-3deg);
}

.box-grid:after { transform: rotate(3deg); right: 5rem; left: auto; }

.box-grid h3 {
	display: inline-block;
	/*border-bottom: 2rem solid var(--color-green);*/
	background: url(img/share/line-green.svg) no-repeat center bottom / 190rem auto;
	margin-bottom: 25rem;
	padding: 0 14rem 10rem 16rem;
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 19rem;
	letter-spacing: 0.16em;
}


/* news archive
---------------------------------------------------------------------------*/

/* .news-list-head
------------------------------------*/
.news-list-head {
	max-width: 1140rem;
	margin: 0 auto 60rem;
	text-align: center;
}

.news-list-head h1,
.news-list-head h2 {
	margin-bottom: 46rem;
	font-size: 30rem;
	letter-spacing: 0.16em;
}

.news-list-head h1 a,
.news-list-head h2 a {
	color: var(--color-green);
}

.news-list-head .category li {
	display: inline-block;
	margin: 0 4rem 10rem;
}

.news-list-head .category li a {
	display: inline-block;
	background-color: #FFFFFF;
	border-radius: 20rem;
	padding: 21rem 19rem 20rem 21rem;
	color: var(--color-green);
	font-family: var(--font-mgothic-jp);
	font-size: 15rem;
	font-weight: 600;
	line-height: 0;
	letter-spacing: 0.1em;
}

.news-list-head .category li.all a {
	background-color: var(--color-yellow-btn);
	color: #FFFFFF;
}

/* .news-list
------------------------------------*/
.news-list-wrap {
	width: 1034rem;
	margin: 0 auto;
}

.news-list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 70rem 67rem;
}

.news-list article a { display: block; }

.news-list figure {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	margin-bottom: 25rem;
	padding-bottom: 71.6%;
}

.news-list figure img {
	border-radius: 5rem;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.news-list h3 {
	margin-bottom: 8rem;
	color: var(--color-green);
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 16.5rem;
	line-height: 1.7;
	letter-spacing: 0.12em;
}

.news-list time {
	display: block;
	margin: 0 0 22rem 2rem;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 1４.5rem;
	letter-spacing: 0.18em;
	white-space: nowrap;
}

.news-list .category,
.news-list-relation .category {
	display: flex;
	flex-wrap: wrap;
	margin-left: -2rem;
}

.news-list .category span,
.news-title .category a,
.news-list-relation .category span {
	display: inline-block;
	background-color: #FFFFFF;
	border-radius: 20rem;
	margin: 0 5rem 7rem 0;
	padding: 9rem 15rem 9rem 16rem;
	color: var(--color-green);
	font-family: var(--font-mgothic-jp);
	font-size: 14rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-decoration: none !important;
}

.news-list .category .child { display: none; }
.news-list-relation .category .child { display: none; }

/* .news-list-relation
------------------------------------*/
.news-list-relation {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 40rem;
}

.news-list-relation article a { display: block; }

.news-list-relation figure {
	position: relative;
	overflow: hidden;
	margin-bottom: 18rem;
}

.news-list-relation figure:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background: url(img/share/mask-news@2x.png) no-repeat left top / 100% 100%;
	width: calc(100% + 1px);
	height: calc(100% + 1px);
	z-index: 1;
}

.news-list-relation .txt {
	position: relative;
	padding-top: 19rem;
}

.news-list-relation time {
	display: block;
	position: absolute;
	top: 0;
	left: 1rem;
	color: var(--color-yellow-text);
	font-size: 12rem;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.news-list-relation h3 {
	color: var(--color-text);
	margin-bottom: 17rem;
	font-size: 17rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.news-list-relation .category { margin-left: -2rem; }


/* news single
---------------------------------------------------------------------------*/
.news-area { width: 700rem; margin: 0 auto; }

/* .news-title
------------------------------------*/
.news-title {
	position: relative;
	margin-bottom: 35rem;
}

.news-title time {
	display: block;
	margin-bottom: 13rem;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 600;
	font-size: 13rem;
	letter-spacing: 0.28em;
}

.news-title .category { margin: 16rem 0 0 -2rem; }
.news-title .category li { display: inline-block; white-space: nowrap; }

.news-title h1 {
	color: var(--color-green);
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 23rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

/* .news-main
------------------------------------*/
.news-main > * { font-family: var(--font-gothic-jp) !important; }

.news-main, .news-main h2, .news-main p {
	font-size: 17rem;
	line-height: 2.2;
	letter-spacing: 0.1em;
}

.news-main h2,
.news-table h3 {
	margin: 60rem 0 24rem;
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 19rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

.news-main > h2:first-child { margin-top: 0; }

.news-main p {
	margin-bottom: 24rem;
	text-align: justify;
	word-break: break-all;
}

.news-main p:last-child { margin-bottom: 0; }
.news-main a { color: var(--color-green); text-decoration: underline; word-break: break-all; }
.news-main strong { font-weight: bold; }
.news-main em { font-style: italic; }
.news-main del { text-decoration: line-through; }

.news-main img {
	display: block;
	max-width: calc(100% + 0rem);
	height: auto;
	margin: 50rem 0 35rem !important;
}

.news-main > img:first-child,
.news-main > p:first-child img { margin-top: 35rem !important; }

.news-main img + img { margin-top: 35rem !important; }
.news-main .wp-caption { max-width: 100%; margin-bottom: 40rem; }
.news-main .wp-caption-text { margin: -30rem 0 0; font-size: 12rem; }

.news-main .gallery > dl { width: 49.5% !important; margin-right: 1% !important; }
.news-main .gallery > dl:nth-child(even) { margin-right: 0 !important; }
.news-main .gallery a { pointer-events: none; }
.news-main .gallery img { border: none !important; width: 100% !important; margin: 0 !important; }

.news-main ul, .news-main ol { margin: 30rem 0 30rem; }
.news-main ul li { list-style: disc; margin: 0 0 6rem 18rem; }
.news-main ol li { list-style: decimal; margin: 0 0 6rem 24rem; }
.news-main ul li:last-of-type,
.news-main ol li:last-of-type { margin-bottom: 0; }

.news-main blockquote { background: #F5F5F5; margin: 40rem 0; padding: 28rem 36rem; text-align: justify; }
.news-main blockquote p { font-size: 14rem; line-height: 1.9; }

.post-main iframe { width: 840rem; height: 476rem; }
/*.post-main iframe { width: 100%; height: calc(85vw * 0.5625); }*/

/* .news-table
------------------------------------*/
.news-table { margin-top: 80rem; }
.news-table h3 { margin-top: 80rem; }
.news-table h3:first-child { margin-top: 0; }

.news-table table {
	width: calc(100% + 10rem);
	margin: 0 -5rem 40rem;
	font-size: 17rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

.news-table tr { background: url(img/share/line-dot-gray.svg) repeat-x left top / 7rem auto; }

.news-table th, .news-table td {
	padding-top: 12rem;
	padding-bottom: 24rem;
}

.news-table th {
	position: relative;
	min-width: 160rem;
	padding-right: 30rem;
	padding-left: 5rem;
	text-align: left;
	vertical-align: top;
}

.news-table td { width: 100%; padding-right: 5rem; }
.news-table table.right td { text-align: right; }

.news-table-attention {
	margin-top: -30rem;
	padding-bottom: 10rem;
	font-size: 15rem;
	line-height: 1.9;
	letter-spacing: 0.1em;
}

/* .news-link
------------------------------------*/
.news-link { margin-top: 40rem; }
.news-link li { display: inline-block; margin: 0 10rem 14rem 0; }

/* .nav-page
------------------------------------*/
.nav-page {
	overflow: hidden;
	width: 1034rem;
	margin: 145rem auto 0;
}

.nav-page ul { display: flex; justify-content: space-between; }
.nav-page li { max-width: 40%; }
.nav-page .prev { text-align: right; }

.nav-page li a {
	display: inline-block;
	position: relative;
	min-height: 48rem;
	padding: 0 0 0 0;
	color: var(--color-green);
}

.nav-page li.next a { padding-left: 69rem; }
.nav-page li.prev a { padding-right: 67rem; background-position: right top 4rem; }

.nav-page li a:before {
	display: block;
	content: '';
	position: absolute;
	top: 4rem;
	right: 0;
	background: url(img/share/ico-arrow-green-yellow.svg) no-repeat left top / 100% auto;
	width: 49rem;
	height: 49rem;
}

.nav-page li.next a:before { left: 0; transform: scaleX(-1); }

.nav-page li p {
	margin-bottom: 2rem;
	font-weight: 600;
	font-size: 12rem;
	letter-spacing: 0.13em;
}

.nav-page li h2 {
	font-weight: 600;
	font-size: 16rem;
	line-height: 1.7;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

/* .news-other
------------------------------------*/
.news-other { margin-top: 160rem; }

.news-other > h2 {
	margin-bottom: 30rem;
	font-size: 23rem;
	line-height: 1.8;
	letter-spacing: 0.15em;
}


/* .wp-pagenavi
---------------------------------------------------------------------------*/
.wp-pagenavi {
	overflow: hidden;
	margin: 140rem 0 0;
	color: var(--color-green);
	font-size: 16rem;
	font-weight: 600;
	text-align: center;
	white-space: nowrap;
}

.wp-pagenavi .extend { margin: 0 12rem; }

.wp-pagenavi a,
.wp-pagenavi .current { height: 38rem; }

.wp-pagenavi a {
	margin: 0 5rem;
	padding: 7rem;
	color: var(--color-green);
}

.wp-pagenavi .current {
	display: inline-block;
	position: relative;
	margin: 0 23rem;
	padding: 11rem 0 2rem;
	color: #FFFFFF;
	z-index: 1;
}

.wp-pagenavi .current:after {
	display: block;
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	background-color: var(--color-yellow-btn);
	border-radius: 50%;
	width: 38rem;
	height: 38rem;
	z-index: -1;
}

.wp-pagenavi a.previouspostslink,
.wp-pagenavi a.nextpostslink {
	display: inline-block;
	background: url(img/share/ico-arrow-green-s.svg) no-repeat center center / 8rem auto;
	padding: 11rem 7rem;
	text-indent: -9999px;
}

.wp-pagenavi a.previouspostslink { margin-right: 35rem; transform: scaleX(-1); }
.wp-pagenavi a.nextpostslink { margin-left: 32rem; }


/* page top
---------------------------------------------------------------------------*/
#topContents {
	overflow: hidden;
}

/* .top-main
------------------------------------*/
.top-main {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 100vh;
	margin-bottom: 170rem;
}

.top-main h2 {
	position: absolute;
	top: calc(84vh - 270rem);
	left: 160rem;
	line-height: 0;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
	z-index: 2;
}

.top-main h2 span {
	display: inline-block;
	overflow: hidden;
	height: 0;
	margin-right: 24rem;
}

.top-main h2 span b {
	display: inline-block;
	position: relative;
	background-color: #FFFFFF;
	padding: 18rem 12rem 16rem;
}

.top-main h2 span:nth-of-type(2) b {
	padding-top: 16rem;
}

.top-main h2 span .mask {
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 100%;
}

.top-main h2 span img {
	width: 27rem;
}

.top-main .img {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.top-main .img-first {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%) !important;
	width: 470rem;
	height: 580rem;
	z-index: 0 !important;
}

.top-main .img-first figure picture,
.top-main .img-last .inner {
	display: block;
	border: 15rem solid #FFFFFF;
}

.top-main .img-first > div {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
}

.top-main .img-first figure {
	position: absolute;
	width: 100%;
	opacity: 0;
}

.top-main .img-first figure picture {
	display: block;
}

.top-main .img-first figure,
.top-main .img-last {
	box-shadow: 0 4rem 8rem 0 rgba(0, 0, 0, 0.2);
}

.top-main .img-first .img1 figure { top: 0; left: 0; transform: rotate(0deg); }
.top-main .img-first .img2 figure { top: 15rem; left: 10rem; transform: rotate(8deg); }
.top-main .img-first .img3 figure { top: 0; left: 15rem; transform: rotate(0deg); }
.top-main .img-first .img4 figure { top: -5rem; left: -20rem; transform: rotate(6.5deg); }
.top-main .img-first .img5 figure { top: 0; left: -5rem; transform: rotate(-9deg); }
.top-main .img-first .img6 figure { top: 18rem; left: 0; transform: rotate(1deg); }
.top-main .img-first .img7 figure { top: 30rem; left: 0; transform: rotate(-5deg); }
.top-main .img-first .img8 figure { top: 20rem; left: -10rem; transform: rotate(-2deg); }
.top-main .img-first .img9 figure { top: 15rem; left: -25rem; transform: rotate(3deg); }

.top-main .img-first figure:before,
.top-main .img-first figure:after,
.top-main .img-last:before,
.top-main .img-last:after {
  z-index: -1;
  position: absolute;
  content: "";
	bottom: 15rem;
	left: 7rem;
	width: 70%;
	top: 80%;
	background: rgba(0, 0, 0, 0.1);
	box-shadow: 0 15rem 12rem rgba(0, 0, 0, 0.1);
  transform: rotate(-3deg);
}

.top-main .img-first figure:after,
.top-main .img-last:after { transform: rotate(3deg); right: 7rem; left: auto; }

.top-main .img-last:before,
.top-main .img-last:after {
	display: none !important;
}

.top-main .img-last {
	position: absolute !important;
	top: initial !important;
	left: initial !important;
	bottom: 50% !important;
	right: 50% !important;
	transform: translate(50%,50%) !important;
	width: calc(440rem + 30rem);
	height: calc(550rem + 30rem);
	z-index: 20 !important;
	opacity: 0;
}

.top-main .img-last.active:before,
.top-main .img-last.active:after {
	/*opacity: 0;*/
	transition: 1s var(--easeOutQuart);
}

.top-main .img-last.active {
	/*animation: top_main_last_mask 1s var(--easeOutQuart) forwards;*/
	animation: top_main_last_mask .8s var(--easeOutQuart) forwards;
}

.top-main .img-last.active img {
	/*animation: top_main_last_mask_img 1.2s var(--easeOutQuart) forwards;*/
	animation: top_main_last_mask_img .6s var(--easeOutQuart) forwards;
}

@keyframes top_main_last_mask {
	0% {
		width: calc(440rem + 30rem);
		height: calc(550rem + 30rem);
		box-shadow: 0 4rem 8rem 0 rgba(0, 0, 0, 0.2);
	}
	100% {
		width: calc(100% + 0rem);
		height: calc(100% + 0rem);
		box-shadow: 0 0rem 0rem 0 rgba(0, 0, 0, 0);
	}
}

.top-main .img-last .inner {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 100%;
}

.top-main .img-last.active .inner {
	border-width: 0;
	transition: .2s var(--easeOutQuart);
}

.top-main .img-last img {
	display: block;
	position: absolute;
	bottom: -4%;
	right: 0;
	object-fit: cover;
	width: 135%;
	height: 110%;
}

@keyframes top_main_last_mask_img {
	0% {
		bottom: -4%;
		right: 0;
		width: 135%;
		height: 110%;
	}
	100% {
		bottom: -10%;
		right: -15%;
		width: 115%;
		height: 132.5%;
	}
}

/* .img-top-slide
------------------------------------*/
.img-top-slide {
	position: relative;
	width: 100%;
	height: 100%;
	z-index: 1 !important;
}

.img-top-slide .slick-list,
.img-top-slide .slick-track {
	width: 100% !important;
	height: 100% !important;
}

.img-top-slide-inner.slide {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	opacity: 0;
}

.img-top-slide-inner.slide picture {
	display: block;
	position: relative;
	width: 100%;
	height: 100%;
}

.img-top-slide-inner.slide img {
	display: block;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

/* .top-common
------------------------------------*/
.top-common {
	position: relative;
	width: 1140rem;
	margin: 0 auto;
	padding-left: 10rem;
	z-index: 1;
}

.top-common .pic,
.top-common .img {
	display: block;
	position: absolute;
	z-index: -1;
}

.top-common .pic,
.top-common .img,
.top-common .txt {
	opacity: 0;
}

.top-common h2 {
	margin-bottom: 24rem;
	font-size: 32rem;
	line-height: 1.8;
	letter-spacing: 0.2em;
}

.top-common p {
	margin-bottom: 12rem;
	font-size: 19rem;
	line-height: 2.3;
	letter-spacing: 0.14em;
}

.top-title-sec strong {
	display: block;
	margin: 0 0 16rem 1rem;
	font-size: 16rem;
	font-weight: 600;
	letter-spacing: 0.18em;
}

.top-title-sec em {
	display: block;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 49rem;
	letter-spacing: 0.1em;
}

#topContents .link-list.size-l {
	margin: 35rem 0 0 -2rem;
}

#topContents .top-common .link-list.size-l {
	margin-top: 45rem;
}

#topContents .link-list.size-l li {
	margin-right: 24rem;
}

#topContents .link-list.size-l li a {
	background-size: 31rem;
	min-height: 31rem;
	padding-top: 7rem;
	padding-left: 44rem;
	font-size: 19rem;
	font-weight: 400;
	letter-spacing: 0.1em;
}

/* .top-about
------------------------------------*/
.top-about {
	margin-bottom: 100rem;
}

.top-about .pic-fluff {
	top: -137rem;
	right: 9rem;
	width: 105rem;
	z-index: 2;
}

.top-about .pic1 { top: -65rem; left: 638rem; width: 512rem; }
.top-about .pic2 { top: 394rem; right: -199rem; width: 310rem; }

/* .top-policy
------------------------------------*/
.top-policy .pic-fluff {
	top: 40rem;
	left: 450rem;
	width: 110rem;
	transform: rotate(15deg);
	z-index: 2;
}

.top-policy .img1 {
	top: -45rem;
	left: 530rem;
	width: 297rem;
}

.top-policy .img-set {
	position: relative;
	width: 100%;
	height: 1400rem;
}

.top-policy .img-set picture { display: block; }
.top-policy .img-set picture img { width: 100%; }
.top-policy .img2 { top: -75rem; right: -10rem; width: 528rem; }
.top-policy .img3 { top: 275rem; left: -65rem; width: 525rem; }
.top-policy .img4 { top: 515rem; right: 20rem; width: 440rem; }
.top-policy .img5 { bottom: 180rem; left: 60rem; width: 501rem; }
.top-policy .img6 { bottom: -17rem; right: 100rem; width: 310rem; }

/* .top-support
------------------------------------*/
.top-support {
	width: 1160rem;
	margin: 0 auto 200rem;
}

.top-support > h2 {
	margin: 0 0 80rem 10rem;
}

.top-support .top-title-sec strong {
	font-size: 21rem;
	font-weight: 400;
}

.service-lsit {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 0 16rem;
	margin: 0 auto 100rem;
}

.service-lsit .inner {
	background-color: #FFFFFF;
	border-radius: 12rem;
	text-align: center;
	white-space: nowrap;
}

.service-lsit .inner a {
	display: block;
	padding: 20rem 20rem 35rem;
	color: var(--color-green);
	font-weight: 600;
}

.service-lsit .inner figure {
	margin-bottom: 32rem;
}

.service-lsit .inner h3 {
	margin-bottom: 18rem;
	font-size: 19rem;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.service-lsit .inner h3 span {
	display: inline-block;
	border-bottom: max(2.5rem, 2px) solid var(--color-yellow-marker);
	padding-bottom: 6rem;
}

.service-lsit .inner h4 {
	margin-bottom: 22rem;
	padding-left: 5rem;
	font-size: 15rem;
	font-weight: 600;
	letter-spacing: 0.16em;
}

.service-lsit .inner .label {
	display: inline-block;
	border: max(1.5rem, 1px) solid var(--color-green);
	border-radius: 100rem;
	padding: 14rem 18rem 14rem 21rem;
	font-size: 14rem;
	letter-spacing: 0.2em;
	line-height: 0;
}

/* .top-recruit
------------------------------------*/
.top-recruit {
	overflow: hidden;
	margin: 0 auto 140rem;
}

.top-recruit-slide {
	display: flex;
	width: 100%;
	margin-bottom: 60rem;
}

.top-recruit-slide figure {
	margin-right: 77rem;
}

.top-recruit-slide .img1 { width: 628rem; min-width: 628rem; margin-top: 48rem; }
.top-recruit-slide .img2 { width: 332rem; min-width: 332rem; margin-top: 140rem; }
.top-recruit-slide .img3 { width: 514rem; min-width: 514rem; margin-top: 86rem; }
.top-recruit-slide .img4 { width: 743rem; min-width: 743rem; margin-top: 40rem; }
.top-recruit-slide .img5 { width: 407rem; min-width: 407rem; margin-top: 0rem; }
.top-recruit-slide .img6 { width: 628rem; min-width: 628rem; margin-top: 96rem; }
.top-recruit-slide .img7 { width: 743rem; min-width: 743rem; margin-top: 40rem; }

.top-recruit-inner {
	position: relative;
	width: 1140rem;
	margin: 40px auto 0;
	padding: 127rem 0 0 482rem;
}

.top-recruit-inner h2 {
	position: absolute;
	top: 0;
	left: 0;
}

.top-recruit-inner h3 {
	position: absolute;
	top: 128rem;
	left: 0;
	font-size: 25rem;
	line-height: 2;
	letter-spacing: 0.15em;
}

.top-recruit-inner p {
	margin-bottom: 14rem;
	font-size: 18rem;
	line-height: 2.4;
	letter-spacing: 0.17em;
	white-space: nowrap;
}

.top-recruit-inner .pic {
	display: block;
	position: absolute;
	top: 4rem;
	right: 28rem;
	width: 162rem;
}

/* .top-news
------------------------------------*/
.top-news {
	width: 1140rem;
	margin: 0 auto;
}

.top-news-head {
	margin-bottom: 45rem;
}

.top-news-head h2 {
	display: inline-block;
	margin-right: 30rem;
}

.top-news-head .btn {
	display: inline-block;
	transform: translateY(-9rem);
}

.top-news-head .btn a {
	background-color: var(--color-green);
	border-radius: 100rem;
	padding: 12rem 18rem 12rem 21rem;
	color: #FFFFFF;
	font-size: 14rem;
	font-weight: 600;
	line-height: 0;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.top-news .news-list {
	gap: 70rem 44rem;
}


/* page about
---------------------------------------------------------------------------*/
#aboutContents { overflow: hidden; }

/* .about-title
------------------------------------*/
.about-title {
	position: relative;
	width: 100%;
	max-width: var(--width-max);
	margin: 0 auto 120rem;
	padding: 94rem 0 0 16rem;
}

.about-title .title {
	position: absolute;
	bottom: 22rem;
	right: 52rem;
	background: url(img/share/pic-house.png) no-repeat left top / 100% auto;
	width: 335rem;
	height: 300rem;
	padding: 190rem 0 0 54rem;
	transform-origin: center bottom;
	z-index: 1;
	opacity: 0;
}

.about-title .title em {
	display: block;
	margin-bottom: 24rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 25rem;
	letter-spacing: 0.09em;
}

.about-title .title h1 {
	font-size: 17rem;
	letter-spacing: 0.12em;
	opacity: 0.8;
}

.about-title h2 {
	position: absolute;
	bottom: 28rem;
	left: 60rem;
	font-size: 30rem;
	line-height: 1;
	letter-spacing: 0.22em;
	white-space: nowrap;
	z-index: 1;
}

.about-title h2 span {
	display: inline-block;
	overflow: hidden;
	width: 0;
	margin-top: 10rem;
}

.about-title h2 span b {
	background: url(img/share/bg-pattern-white@2x.jpg) repeat left top / 120rem auto;
	padding: 6rem 4rem 5rem 9rem;
}

.about-title .img1 {
	position: relative;
	mask-image: url(img/about/img-main1-mask.png);
	mask-size: 0 0;
	mask-position: center center;
	mask-repeat: no-repeat;
	width: 996rem;
	z-index: 0;
}

.about-title .img2 {
	position: absolute;
	top: 126rem;
	right: 12rem;
	mask-image: url(img/about/img-main2-mask.png);
	mask-size: 0 0;
	mask-position: center center;
	mask-repeat: no-repeat;
	width: 468rem;
	z-index: 0;
}

.about-title .img figure { position: absolute !important; top: 0 !important; left: 0 !important; }
.about-title .img figure:first-child { position: relative !important; }
.about-title .img1 img,
.about-title .img2 img { transform: scale(0.65); }

.about-title.anime .img1 { animation: about-title-mask .8s var(--easeInOutQuart) .45s forwards; }
@keyframes about-title-mask { to { mask-size: 100% 100%; } }
.about-title.anime .img1 img { animation: about-title-mask-img 1.7s var(--easeOutQuart) forwards; }
@keyframes about-title-mask-img { to { transform: scale(1); } }

.about-title.anime .img2 { animation: about-title-mask .8s var(--easeInOutQuart) .2s forwards; }
@keyframes about-title-mask { to { mask-size: 100% 100%; } }
.about-title.anime .img2 img { animation: about-title-mask-img 1.7s var(--easeOutQuart) forwards; }
@keyframes about-title-mask-img { to { transform: scale(1); } }

.about-title .pic {
	position: absolute;
	bottom: -60rem;
	left: 870rem;
	width: 110rem;
	transform: rotate(5deg);
	z-index: 2;
	opacity: 0;
}

/* .about-philosophy
------------------------------------*/
.about-philosophy {
	width: 1240rem;
	max-width: calc(100% - 80rem);
	margin: 0 auto 170rem;
}

.about-philosophy .inner {
	position: relative;
	width: 1130rem;
	margin: 0 auto;
}

.about-philosophy .inner1 { margin-bottom: 46rem; }
.about-philosophy .inner img { border-radius: 12rem; }

.about-philosophy .inner1 figure {
	position: absolute;
	top: 38rem;
	right: 10rem;
	width: 404rem;
}

.about-philosophy .inner2 figure {
	position: absolute;
	top: 102rem;
	right: 21rem;
	width: 325rem;
}

.about-philosophy .inner .title-sec-en-jp { margin-bottom: 30rem; }

.about-philosophy .inner h3 {
	margin-bottom: 30rem;
	font-size: 27rem;
	line-height: 2.1;
	letter-spacing: 0.14em;
}

.about-philosophy .inner2 h3 {
	margin: 0 0 18rem -2rem;
	font-size: 26rem;
}

.about-philosophy .inner p {
	font-size: 17rem;
	line-height: 2.3;
	margin-bottom: 12rem;
	letter-spacing: 0.12em;
}

.about-philosophy .img-wide { margin: 150rem -30rem 120rem; }
.about-philosophy .img-wide img { border-radius: 17rem; }

.about-philosophy .inner3 {
	position: relative;
	width: 1080rem;
	margin: 0 auto;
	padding-left: 480rem;
}

.about-philosophy .inner3 h3 {
	position: absolute;
	top: -3rem;
	left: 0;
	font-size: 32rem;
	line-height: 1.9;
	letter-spacing: 0.14em;
}

.about-philosophy .inner3 figure {
	position: absolute;
	bottom: 10rem;
	left: 4rem;
	width: 346rem;
}

.about-philosophy .inner3 figure img { border-radius: 6rem; }

.about-philosophy .inner3 p {
	margin-bottom: 13rem;
	font-size: 17rem;
	line-height: 2.3;
	letter-spacing: 0.14em;
}

/* .about-philosophy .pic-wide
------------------------------------*/
.about-philosophy .pic-wide {
	position: relative;
	width: calc(100% + 100rem);
	height: 783rem;
	margin: 0 -50rem 130rem;
}

.about-philosophy .pic-wide img { position: absolute; width: 100%; transform-origin: center center; opacity: 0; }

.about-philosophy .pic-wide .pic1-1 { top: 4.8%; left: 23%; width: 61.3%; z-index: 0; }
.about-philosophy .pic-wide .pic1-2 { top: 0.5%; left: 13.3%; width: 73%; z-index: 1; }
.about-philosophy .pic-wide .pic2-1 { top: 63%; left: 6%; width: 21.6%; z-index: 0; }
.about-philosophy .pic-wide .pic2-2 { top: 58.8%; left: 4.8%; width: 21.8%; z-index: 1; }
.about-philosophy .pic-wide .pic3-1 { top: 77%; left: 80.2%; width: 16.6%; z-index: 0; }
.about-philosophy .pic-wide .pic3-2 { top: 78.8%; left: 83.6%; width: 10.4%; z-index: 1; }

.about-philosophy .pic-wide .pic-fluff1 { top: 0.2%; right: 19.5%; width: 75.5%; z-index: 2; transform-origin: center center; }
.about-philosophy .pic-wide .pic-fluff2 { top: 1.3%; right: 1.5%; width: 98%; z-index: 2; transform-origin: center center; }

.about-philosophy .pic-wide .pic-fluff3 {
	position: absolute;
	top: 71.8%;
	right: 25%;
	width: 16.4%;
	z-index: 2;
	transform-origin: left bottom;
	opacity: 0;
}

.about-philosophy .pic-wide .pic-fluff3 img { position: relative; opacity: 1; }

/* .about-childcare
------------------------------------*/
#about-childcare {
	margin-top: -200rem;
	padding-top: 200rem;
}

.about-childcare {
	width: 1130rem;
	margin: 0 auto 140rem;
}

.about-childcare .title {
	position: relative;
	margin-bottom: 95rem;
	padding: 38rem 0 0 384rem;
}

.about-childcare .title-sec-en-jp {
	position: absolute;
	top: 2rem;
	left: 16rem;
}

.about-childcare .title p {
	margin-bottom: 11rem;
	font-size: 17rem;
	line-height: 2.2;
	letter-spacing: 0.12em;
}

.about-childcare .list {
	position: relative;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 74rem;
}

.about-childcare .list .copy {
	position: absolute;
	top: -200rem;
	left: 53rem;
	width: 84rem;
}

.about-childcare .list .inner { text-align: center; }
.about-childcare .list .inner figure { margin-bottom: 34rem; }

.about-childcare .list .inner h3 {
	margin-bottom: 18rem;
	font-size: 24rem;
	letter-spacing: 0.2em;
}

.about-childcare .list .inner p {
	font-size: 17rem;
	letter-spacing: 0.12em;
}

/* .about-origins
------------------------------------*/
.about-origins {
	position: relative;
	width: 1180rem;
	margin: 0 auto 140rem;
}

.about-origins .title-sec-en-jp {
	position: absolute;
	top: 380rem;
	left: 10rem;
}

.about-origins .title-sec-en-jp .pic {
	display: block;
	position: absolute;
	top: -170rem;
	left: -6rem;
	width: 162rem;
}

.about-origins .title-sec-en-jp em {
	margin: 0 0 21rem 1rem;
	font-family: var(--font-gothic-jp);
	font-weight: normal;
	font-size: 17rem;
	letter-spacing: 0.12em;
}

.about-origins .title-sec-en-jp strong {
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 27rem;
	letter-spacing: 0.1em;
}

.about-origins h3 { position: absolute; top: 0; right: 59rem; }
.about-origins h3 img { width: 166rem; }

.about-origins .txt {
	margin: 0 0 0 199rem;
	padding-top: 48rem;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.about-origins .txt p {
	margin-left: 27rem;
	font-size: 17rem;
	line-height: 2.15;
	letter-spacing: 0.16em;
}

.about-origins .txt p i.mt {
	display: inline-block;
	margin-top: -9rem;
}

.about-origins .box {
	position: absolute;
	top: 295rem;
	right: 37rem;
	width: 197rem;
}

.about-origins .box p {
	font-size: max(13rem, 13px);
	line-height: 1.9;
	text-align: justify;
}

.about-origins .list { display: flex; margin: 110rem auto 0; }
.about-origins .list > div { position: relative; padding: 0 55rem; }
.about-origins .list > div:first-of-type { padding-left: 45rem; }
.about-origins .list > div:last-of-type { padding-right: 0; padding-left: 65rem; }

.about-origins .list > div:after {
	display: block;
	content: '';
	position: absolute;
	top: 45rem;
	right: -60rem;
	background: url(img/share/line-dot-gray.svg) repeat-x left top / 7rem auto;
	width: 127rem;
	height: 1px;
}

.about-origins .list > div:nth-of-type(1):after { transform: rotate(-72deg); }
.about-origins .list > div:nth-of-type(2):after { transform: rotate(72deg); }
.about-origins .list > div:nth-of-type(3):after { display: none; }

.about-origins .list h4 { margin-bottom: 17rem; }
.about-origins .list h4 img { height: 22rem; }
.about-origins .list p { letter-spacing: 0.12em; }

/* .about-outline
------------------------------------*/
.about-outline {
	width: 1180rem;
	margin: 0 auto 140rem;
}

.about-outline .img-wide { margin-bottom: 105rem; }

.about-outline .inner {
	display: flex;
	align-items: flex-end;
	width: 1100rem;
	margin: 0 auto;
	transform: translateX(10rem);
}

.about-outline .inner figure {
	order: 1;
	display: flex;
	justify-content: space-between;
	width: 755rem;
	min-width: 755rem;
}

.about-outline .inner figure > img:nth-child(1) { width: 281rem; }
.about-outline .inner figure picture:nth-child(2) { width: 471rem; }

.about-outline .inner .txt {
	order: 2;
	padding: 20rem 0 0 60rem;
}

.about-outline .inner .txt h2 {
	margin: 0 0 34rem;
	color: var(--color-text);
}

.about-outline .inner .txt h2 strong {
	display: block;
	margin-bottom: 17rem;
	font-size: max(12rem, 12px);
	letter-spacing: 0.14em;
}

.about-outline .inner .txt h2 em {
	display: block;
	margin-left: -3rem;
}

.about-outline .inner .txt h2 em img { width: 290rem; }

.about-outline .inner .txt address {
	margin-bottom: 19rem;
	font-size: 16rem;
	letter-spacing: 0.06em;
}

.about-outline .inner .txt address span {
	display: block;
	margin-bottom: 14rem;
	font-size: 14rem;
}

.about-outline .inner .txt .tel {
	margin-bottom: 26rem;
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.06em;
}

.about-outline .inner .txt .link-list li { margin-bottom: 13rem; }
.about-outline .inner .txt .link-list li:last-of-type { margin-bottom: 0; }

/* .office-list-wrap
------------------------------------*/
.office-list-wrap {
	width: 1160rem;
	margin: 0 auto;
}

.office-list-wrap h2 {
	margin: 0 0 26rem 12rem;
	font-size: 21rem;
	letter-spacing: 0.14em;
}

/* .office-list
------------------------------------*/
.office-list .list li {
	position: relative;
	display: flex;
	justify-content: space-between;
	background: url(img/share/line-dot-gray.svg) repeat-x left bottom / 7rem auto;
	padding: 26rem 16rem 5rem 9rem;
	line-height: 1.8;
	text-align: left;
}

.office-list .list li h3 {
	width: 320rem;
	font-size: max(15.5rem, 14px);
	letter-spacing: 0.04em;
	font-weight: 600;
}

.office-list .list li h3 span { font-size: 12rem; }

.office-list .list li h3 a {
	color: var(--color-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.office-list .list li address {
	width: 350rem;
	font-size: max(14rem, 13px);
	letter-spacing: 0.04em;
}

.office-list .list li .tel {
	width: 350rem;
	font-size: max(14rem, 13px);
	letter-spacing: 0.04em;
}

.office-list .list li:has(.sns) .sns {
	position: absolute;
	bottom: 11rem;
	right: 14rem;
}

.office-list .list .inner:nth-child(2) li h3,
.office-list .list .inner:nth-child(3) li h3,
.office-list .list .inner:nth-child(4) li h3 { width: 340rem; }
.office-list .list .inner:nth-child(2) li address,
.office-list .list .inner:nth-child(3) li address,
.office-list .list .inner:nth-child(4) li address { width: 370rem; }
.office-list .list .inner:nth-child(2) li .tel,
.office-list .list .inner:nth-child(3) li .tel,
.office-list .list .inner:nth-child(4) li .tel { width: 315rem; }

.office-list .inner .btn-link {
	margin: 40rem -2rem 0;
}


/* page story
---------------------------------------------------------------------------*/
#storyContents { overflow: hidden; }

/* .story-main
------------------------------------*/
.story-main {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 100vh;
	margin-bottom: 65rem;
}

.story-main .mask {
	position: absolute;
	background: var(--color-bg) url(img/share/bg-pattern@2x.jpg) repeat left top / 120rem auto;
	z-index: 1;
}

.story-main .mask-top { top: 0; left: 0; width: 100%; height: 200rem; opacity: 0; }
.story-main .mask-right { top: 0; right: 0; width: 35rem; height: 100%; opacity: 0; }
.story-main .mask-left { top: 0; left: 0; width: 35rem; height: 100%; opacity: 0; }
.story-main .mask-bottom { bottom: 0; left: 0; width: 100%; height: 35rem; opacity: 0; }

.story-main figure,
.story-main figure picture { width: 100%; height: 100%; }

.story-main figure img {
	object-fit: cover;
	object-position: 50% 60%;
	width: 100%;
	height: 100%;
	/*padding-top: 80rem;*/
	padding-top: 0;
}

.story-main .title {
	position: absolute;
	top: 68rem;
	right: 82rem;
	text-align: right;
	white-space: nowrap;
	z-index: 2;
	opacity: 0;
}

.story-main .title em {
	display: block;
	margin-bottom: 32rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 28rem;
	letter-spacing: 0.14em;
}

.story-main .title h1 {
	margin: 0 22rem 22rem 0;
	font-size: 22rem;
	letter-spacing: 0.26em;
}

.story-main h2 { position: absolute; top: 118rem; left: 120rem; z-index: 2; opacity: 0; }
.story-main h2 img { width: 440rem; }

.story-main .pic { position: absolute; top: 145rem; right: 335rem; z-index: 2; opacity: 0; }
.story-main .pic img { width: 120rem; }

/* .story-history
------------------------------------*/
.story-history { margin-bottom: 130rem; }

.story-history .lead {
	width: 1050rem;
	margin: 0 auto 180rem;
	opacity: 0;
}

.story-history .lead p {
	font-size: 18rem;
	line-height: 2.7;
	letter-spacing: 0.19em;
}

/* .story-history .inner
------------------------------------*/
.story-history .inner {
	position: relative;
	width: 1170rem;
	margin: 0 auto;
}

.story-history .inner .pic img { width: 100%; }

.story-history .inner h2 {
	margin-bottom: 16rem;
	color: var(--color-yellow-text);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 500;
	font-size: 18rem;
	letter-spacing: 0.2em;
}

.story-history .inner h3 {
	margin-bottom: 21rem;
	font-size: 25rem;
	line-height: 1.9;
	letter-spacing: 0.15em;
	white-space: nowrap;
}

.story-history .inner p {
	font-size: 17rem;
	line-height: 2.15;
	letter-spacing: 0.12em;
	text-align: justify;
}

/* .story-history .year1990
------------------------------------*/
.story-history .year1990 {
	margin-bottom: 130rem;
	padding: 0 0 0 687rem;
}

.story-history .year1990 .img { position: absolute; top: 0; left: 0; opacity: 0; }
.story-history .year1990 .img picture { position: absolute; width: 630rem; }
.story-history .year1990 .img1 { top: -32rem; left: -40rem; z-index: 2; }
.story-history .year1990 .img1 img { transform: rotate(-3.8deg); }
.story-history .year1990 .img2 { top: -8rem; left: -40rem; z-index: 1; }
.story-history .year1990 .img2 img { transform: rotate(3.5deg); }
.story-history .year1990 .img3 { top: 22rem; left: -158rem; z-index: 0; }
.story-history .year1990 .img3 img { transform: rotate(7.7deg); }

/* .story-history .year2000
------------------------------------*/
.story-history .year2000 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 120rem;
	padding-right: 26rem;
}

.story-history .year2000 .pic {
	position: absolute;
	top: 90rem;
	left: -55rem;
	width: 127rem;
	opacity: 0;
}

.story-history .year2000 .img { padding: 249rem 0 0; }
.story-history .year2000 .img picture { position: relative; }
.story-history .year2000 .img2 { width: 300rem; margin: 0 0 0 124rem; z-index: 1; }
.story-history .year2000 .img3 { width: 378rem; margin: -11rem 0 169rem -42rem; z-index: 0; }
.story-history .year2000 .img4 { width: 344rem; margin: 0 0 60rem; }
.story-history .year2000 .img5 { width: 390rem; margin: 0 0 0 73rem; }

.story-history .year2000 .txt { width: 560rem; min-width: 560rem; }
.story-history .year2000 .txt figure { margin-bottom: 85rem; }
.story-history .year2000 .txt .inner-s { padding: 0 38rem; }

.story-history .year2000 .txt .box {
	background-color: #FFFFFF;
	margin-top: 80rem;
	padding: 55rem 58rem 55rem;
	text-align: center;
}

.story-history .year2000 .txt .box h4 {
	display: inline-block;
	border-bottom: 2rem solid var(--color-yellow-btn);
	margin-bottom: 33rem;
	padding-bottom: 5rem;
	color: var(--color-green);
	font-size: 21rem;
	font-weight: 600;
	letter-spacing: 0.16em;
}

.story-history .year2000 .txt .box p {
	font-size: 15rem;
	line-height: 2.1;
	letter-spacing: 0.08em;
}

.story-history .year2000 .txt .box dl {
	display: flex;
	margin-bottom: 20rem;
	text-align: left;
}

.story-history .year2000 .txt .box dl:first-of-type { margin-top: 40rem; }
.story-history .year2000 .txt .box dl:last-of-type { margin-bottom: 0; }

.story-history .year2000 .txt .box dt {
	width: 124rem;
	min-width: 124rem;
	padding-top: 6rem;
	color: var(--color-green);
	font-size: 18rem;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.story-history .year2000 .txt .box dd {
	font-size: max(14rem, 13px);
	line-height: 2;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

/* .story-history .year2010
------------------------------------*/
.story-history .year2010 {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	margin-bottom: 160rem;
}

.story-history .year2010 .pic {
	position: absolute;
	top: 600rem;
	right: 345rem;
	width: 127rem;
	z-index: 2;
	opacity: 0;
}

.story-history .year2010 .img { width: 463rem; min-width: 463rem; }
.story-history .year2010 .img1 { width: 420rem; margin-bottom: 57rem; }
.story-history .year2010 .img2 { width: 252rem; margin: 0 0 0 206rem; }
.story-history .year2010 .img3 { width: 300rem; margin: -27rem 0 0 36rem; }

.story-history .year2010 .txt { padding: 11rem 85rem 0 7rem; }
.story-history .year2010 .txt h3 { margin-bottom: 28rem; }
.story-history .year2010 .txt p { line-height: 2.3; }

.story-history .year2010 .txt .box {
	background-color: #FFFFFF;
	margin: 55rem 25rem 0 -7rem;
	padding: 52rem 58rem 50rem;
}

.story-history .year2010 .txt .box h4 {
	margin-bottom: 14rem;
	letter-spacing: 0.16em;
}

.story-history .year2010 .txt .box h4:not(:first-of-type) { margin-top: 45rem; }
.story-history .year2010 .txt .box p { font-size: 15rem; line-height: 2.15; }

/* .story-history .year2020
------------------------------------*/
.story-history .year2020 {
	width: 1238rem;
	margin: 0 auto;
}

.story-history .year2020 .img.wide {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 0 6rem;
	margin-bottom: 85rem;
}

.story-history .year2020 .txt {
	width: 1080rem;
	margin: 0 auto;
}

/* .story-childcare
------------------------------------*/
.story-childcare {
	position: relative;
	width: 1140rem;
	margin: 0 auto 130rem;
	padding: 85rem 75rem 75rem;
	z-index: 1;
	opacity: 0;
}

.story-childcare:after {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	background-color: #FEF8CE;
	box-shadow: 0rem 0rem 14rem #EFF2E2;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0.6;
}

.story-childcare h2 {
	margin-bottom: 30rem;
	font-size: 29rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-align: center;
}

.story-childcare > p {
	line-height: 2.2;
	letter-spacing: 0.18em;
	text-align: center;
}

.story-childcare .list {
	display: flex;
	justify-content: space-between;
	margin: 55rem 40rem 44rem;
}

.story-childcare .list > div {
	padding: 15rem 36rem 5rem;
	text-align: center;
}

.story-childcare .list > div:not(:last-of-type) { background: url(img/share/line-dot-gray-v.svg) repeat-y right top; }

.story-childcare .list > div:first-of-type { padding-left: 20rem; }
.story-childcare .list > div:last-of-type { padding-right: 20rem; }

.story-childcare .list h3 {
	position: relative;
	display: inline-block;
	border-bottom: 2rem solid var(--color-green);
	margin-bottom: 55rem;
	padding-bottom: 4rem;
	font-size: 18rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-align: center;
}

.story-childcare .list h3:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -28rem;
	left: 50%;
	transform: translateX(-50%);
	background: var(--color-yellow-text);
	width: 20rem;
	height: calc(tan(60deg) * 14rem / 2);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.story-childcare .list h4 {
	margin-bottom: 30rem;
	color: var(--color-green);
	font-size: 24rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-align: center;
}

.story-childcare .list h4 strong {
	display: inline-block;
	background-color: #FFFFFF;
	border: 2rem solid var(--color-green);
	margin-right: 13rem;
	padding: 7rem 6rem 6rem 10rem;
	font-weight: 600;
}

.story-childcare .list p {
	width: 244rem;
	font-size: max(15rem, 13px);
	letter-spacing: 0.08em;
	text-align: justify;
}

.story-childcare .box {
	position: relative;
	background-color: var(--color-white);
	padding: 44rem 50rem 42rem 355rem;
}

.story-childcare .box h3 {
	position: absolute;
	top: 42rem;
	left: 52rem;
	font-size: 22rem;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.story-childcare .box p {
	font-size: max(15rem, 13px);
	line-height: 2.1;
	text-align: justify;
}

.story-childcare .pic {
	display: block;
	position: absolute;
	top: 153rem;
	right: -170rem;
	opacity: 0;
}

.story-childcare .pic img { width: 102rem; transform: rotate(-3deg); }

/* .story-message
------------------------------------*/
.story-message {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	width: 1000rem;
	margin: 0 auto -60rem;
	padding: 90rem 0 60rem;
}

.story-message h2 {
	position: absolute;
	top: 0;
	right: 20rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 29rem;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-color: var(--color-yellow-btn);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.15em;
	opacity: 0;
}

.story-message .img { width: 423rem; min-width: 423rem; opacity: 0; }
.story-message .img img:not(:last-of-type) { display: block; margin-bottom: 14rem; }

.story-message .txt {
	position: relative;
	padding: 260rem 83rem 0 0;
	opacity: 0;
}

.story-message .txt .pic {
	position: absolute;
	top: 40rem;
	right: 108rem;
	width: 205rem;
}

.story-message .txt h3 {
	position: absolute;
	top: -82rem;
	left: 30rem;
	color: var(--color-text);
	font-size: 29rem;
	line-height: 1.85;
	letter-spacing: 0.08em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.story-message .txt h3 span { display: block; }
.story-message .txt h3 span i:first-of-type { margin-top: -15rem; }
.story-message .txt h3 span i:not(:first-of-type) { margin-bottom: -10rem; }

.story-message .txt h4 {
	margin: 50rem 0 25rem;
	color: var(--color-green);
	font-size: 25rem;
	letter-spacing: 0.15em;
}

.story-message .txt p {
	line-height: 2.15;
	letter-spacing: 0.12em;
	text-align: justify;
}


/* page food
---------------------------------------------------------------------------*/
.food-wrap { opacity: 0; }

/* .food-main
------------------------------------*/
.food-main {
	position: relative;
	overflow: hidden;
	background: url(img/share/bg-pattern-beige@2x.jpg) repeat left top / 690rem auto;
	width: 100%;
	padding: 277rem 0 120rem;
}

.food-main .bg {
	position: absolute;
	/*bottom: 0;*/
	bottom: -80rem;
	left: 0;
	background: var(--color-bg) url(img/share/bg-pattern@2x.jpg) repeat left top / 120rem auto;
	width: 100%;
	height: calc(100% - 530rem);
	z-index: 0;
}

.food-main .bg picture { position: absolute; top: -118rem; left: 0; width: 100%; }
.food-main .bg img { width: 100%; }

.food-main .title {
	position: absolute;
	top: 270rem;
	right: 165rem;
	z-index: 2;
	white-space: nowrap;
}

.food-main .title i {
	display: block;
	position: absolute;
	top: -70rem;
	right: 50rem;
	border: 5rem solid #FFFFFF;
	border-radius: 50%;
	width: 210rem;
	height: 210rem;
	z-index: -1;
	opacity: 0;
}

.food-main .title h1 {
	margin-bottom: 30rem;
	opacity: 0;
}

.food-main .title h1 img { width: 293rem; }

.food-main .title em {
	display: inline-block;
	background-color: #FFFFFF;
	margin-left: -5rem;
	padding: 6rem 14rem 10rem 17rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 22rem;
	letter-spacing: 0.16em;
	transform: rotate(-2deg);
	opacity: 0;
}

.food-main-inner {
	position: relative;
	width: 1040rem;
	margin: 0 auto;
	z-index: 1;
}

.food-main-slide1 {
	width: 507rem;
	margin-bottom: 110rem;
	opacity: 0;
}

.food-main-slide2 {
	position: absolute !important;
	top: 355rem;
	right: -30rem;
	width: 420rem;
	opacity: 0;
}

.food-main .txt {
	margin-left: 24rem;
	opacity: 0;
}

.food-main .txt p {
	font-size: 17rem;
	line-height: 2.3;
	letter-spacing: 0.14em;
}

/* .food-img
------------------------------------*/
.food-img { display: flex; align-items: flex-start !important; width: 100%; margin-bottom: 95rem; }
.food-img .img1 { width: 211rem; margin: 102rem 36rem 0 0; }
.food-img .img2 { width: 351rem; margin: 0 35rem 0 0; }
.food-img .img3 { width: 314rem; margin: 115rem 36rem 0 0; }
.food-img .img4 { width: 218rem; margin: 43rem 35rem 0 0; }
.food-img .img5 { width: 211rem; margin: 103rem 41rem 0 0; }
.food-img .img6 { width: 341rem; margin: 0 40rem 0 0; }
.food-img .img7 { width: 314rem; margin: 116rem 36rem 0 0; }
.food-img .img8 { width: 218rem; margin: 44rem 35rem 0 0; }

/* .food-lead
------------------------------------*/
.food-lead {
	width: 1090rem;
	margin: 0 auto 145rem;
}

.food-lead .lead {
	width: 805rem;
	margin: 0 auto 120rem;
}

.food-lead .lead h2 {
	margin-bottom: 43rem;
	text-align: center;
}

.food-lead .lead .txt {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 45rem;
}

.food-lead .lead .txt p {
	line-height: 2.25;
	letter-spacing: 0.07em;
	text-align: justify;
}

.food-lead .lead .txt p .dash {
	padding-left: 0;
}

/* .food-lead .pillar
------------------------------------*/
.food-lead .pillar .title-arch {
	margin: 0;
	transform: translateY(10rem);
}

.food-lead .pillar .inner { display: flex; justify-content: space-between; }

.food-lead .pillar .inner h4 {
	margin-bottom: 15rem;
	color: var(--color-green);
	font-size: 25rem;
	line-height: 1.85;
	letter-spacing: 0.2em;
}

.food-lead .pillar .inner h4 span:not(:last-of-type) { display: block; margin-bottom: 8rem; }
.food-lead .pillar .inner p { text-align: justify; }

.food-lead .pillar .inner1 { flex-direction: row-reverse; margin-bottom: 60rem; }
.food-lead .pillar .inner1 figure { width: 646rem; min-width: 646rem; }
.food-lead .pillar .inner1 .txt { padding: 50rem 86rem 0 6rem; }
.food-lead .pillar .inner1 .txt h4 { margin-bottom: 26rem; }
.food-lead .pillar .inner1 .txt p { line-height: 2.15; letter-spacing: 0.07em; }

.food-lead .pillar .inner2 { align-items: center; margin-bottom: 40rem; }
.food-lead .pillar .inner2 figure { width: 268rem; min-width: 268rem; }
.food-lead .pillar .inner2 .txt { width: 100%; padding: 0 0 18rem 66rem; }

.food-lead .pillar .inner3 { align-items: flex-end; flex-direction: row-reverse; }
.food-lead .pillar .inner3 figure { display: flex; justify-content: space-between; width: 549rem; min-width: 549rem; }
.food-lead .pillar .inner3 figure picture:nth-of-type(1) { width: 176rem; }
.food-lead .pillar .inner3 figure picture:nth-of-type(2) { width: 347rem; }
.food-lead .pillar .inner3 .txt { padding: 0 76rem 10rem 6rem; }
.food-lead .pillar .inner3 .txt p { letter-spacing: 0.08em; }

/* .food-point
------------------------------------*/
.food-point-wrap {
	border-top: 1px solid var(--color-border);
	padding: 110rem 0 0;
}

.food-point {
	display: flex;
	justify-content: space-between;
	width: 1080rem;
	margin: 0 auto 180rem;
	padding-right: 42rem;
}

.food-point nav {
	align-self: flex-start;
	position: sticky;
	top: 210rem;
	margin-top: 50rem;
}

.food-point nav li { margin-bottom: 18rem; }

.food-point nav li a {
	display: inline-block;
	padding: 0 10rem 10rem 0;
	color: var(--color-green);
	font-size: 16rem;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.food-point nav li a:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 9rem;
	left: 0;
	background-color: var(--color-green);
	width: 0;
	height: 1px;
	transition: .15s ease-out;
}

.food-point nav li.current a:after { width: calc(100% - 10rem); }

.food-point-inner { width: 680rem; min-width: 680rem; }
.food-point-inner > section { margin-top: -160rem; padding-top: 160rem; }
.food-point-inner > section:not(:last-of-type) { margin-bottom: 100rem; }

.food-point-inner h3 {
	margin-bottom: 28rem;
	font-size: 23rem;
	letter-spacing: 0.2em;
}

.food-point-inner h3 i {
	display: block;
	margin-bottom: 25rem;
	color: var(--color-yellow-text);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 500;
	font-size: 23rem;
	letter-spacing: 0.2em;
}

.food-point-inner h4 {
	margin: 52rem 0 25rem;
	color: var(--color-green);
	font-size: 18rem;
	font-weight: 600;
	letter-spacing: 0.24em;
}

.food-point-inner p {
	margin-bottom: 12rem;
	line-height: 2.15;
	text-align: justify;
}

.food-point-inner p.let { letter-spacing: 0.08em; }

#food-point1 figure { margin: 40rem 0 38rem; }

#food-point2 figure {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 4rem;
	margin: 65rem 0 45rem;
}

#food-point3 .heart { display: flex; justify-content: space-between; margin-top: 45rem; }
#food-point3 .heart figure { width: 249rem; min-width: 249rem; }
#food-point3 .heart > div { position: relative; padding: 3rem 0 0 58rem; }

#food-point3 .heart > div .pic {
	position: absolute;
	top: -26rem;
	right: -5rem;
	width: 123rem;
	transform: rotate(18deg);
}

#food-point3 .heart h4 {
	margin: 0 0 19rem;
	font-size: 19rem;
	font-weight: 600;
	line-height: 1.9;
	letter-spacing: 0.14em;
}

#food-point3 .heart p { font-size: 15rem; }

#food-point4 > figure { margin: 40rem 0 0; }

#food-point4 .box {
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	justify-content: space-between;
	background-color: #FFFFFF;
	margin-top: 50rem;
	padding: 32rem 40rem 32rem 32rem;
}

#food-point4 .box figure { align-self: flex-start; width: 167rem; min-width: 167rem; }
#food-point4 .box > div { padding: 4rem 0 0 34rem; }
#food-point4 .box h4 { margin: 0 0 16rem; font-weight: 400; }
#food-point4 .box p { font-size: max(14rem, 13px); line-height: 2; letter-spacing: 0.08em; }

#food-point5 figure { display: flex; justify-content: space-between; margin-top: 40rem; }
#food-point5 figure img:nth-of-type(1) { width: 433rem; }
#food-point5 figure img:nth-of-type(2) { width: 244rem; }

/* .food-message
------------------------------------*/
.food-message {
	position: relative;
	background-color: #FFFFFF;
	width: 1140rem;
	margin: 0 auto;
	padding: 175rem 0 65rem 395rem;
}

.food-message h2 {
	position: absolute;
	top: 36rem;
	left: 34rem;
	font-size: 21rem;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.food-message h3 {
	position: absolute;
	top: 64rem;
	right: 40rem;
	font-size: 30rem;
	line-height: 1.6;
	letter-spacing: 0em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.food-message figure {
	position: absolute;
	left: 65rem;
	width: 277rem;
}

.food-message .img1 { top: 165rem; }
.food-message .img2 { bottom: 70rem; }

.food-message p {
	margin-bottom: 14rem;
	line-height: 2.2;
}


/* page service
---------------------------------------------------------------------------*/

/* .service-loading
------------------------------------*/
/*.service-loading {
	position: fixed;
	top: 0;
	left: 0;
	background: var(--color-bg) url(img/share/bg-pattern@2x.jpg) repeat left top / 120rem auto;
	width: 100%;
	height: 100%;
	z-index: 99999;
}

.service-loading .inner {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	text-align: center;
}

.service-loading .pic {
	width: 285rem;
	margin: 0 auto 25rem;
	opacity: 0;
}

.service-loading h1 {
	color: var(--color-green);
	font-size: 22rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	white-space: nowrap;
	opacity: 0;
}*/

/* .service-title
------------------------------------*/
.service-title {
	position: relative;
	overflow: hidden;
	margin: 0 auto;
	padding: 368rem 0 210rem;
	text-align: center;
	z-index: 1;
}

.service-title .txt {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 335rem;
}

.service-title .txt2 { opacity: 0; }

.service-title .pic {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	opacity: 0;
}

.service-title .pic img {
	display: block;
	width: 253rem;
	margin: 0 auto;
}

.service-title .h1,
.service-title .h2 { position: absolute; left: 0; width: 100%; opacity: 0; }
.service-title .h1 { top: 222rem; }
.service-title .h2 { top: 272rem; }

.service-title h1 {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-green);
	border-radius: 40rem;
	padding: 7rem 18rem 6rem 22rem;
	color: var(--color-green);
	font-weight: 600;
	font-size: 17rem;
	letter-spacing: 0.12em;
	will-change: transform;
}

.service-title h1 span { will-change: transform; }

.service-title h2 {
	display: block;
	font-size: 36rem;
	line-height: 1.8;
	letter-spacing: 0.18em;
	will-change: transform;
}

.service-title p {
	margin-bottom: 15rem;
	font-size: 17rem;
	line-height: 2.2;
	letter-spacing: 0.12em;
	will-change: transform;
}

.service-title .btn-link { margin-top: 45rem; }

.service-title .img { position: absolute; top: 150rem; left: 0; width: 100%; z-index: -1; }
.service-title .img .left { position: absolute; top: 0; left: 0; }
.service-title .img .right { position: absolute; top: 0; right: 0; }
.service-title .img img { position: absolute; opacity: 0; }

.service-title .left img:nth-of-type(1) { top: 15rem; left: 65rem; width: 240rem; }
.service-title .left img:nth-of-type(2) { top: 227rem; left: -36rem; width: 172rem; }
.service-title .left img:nth-of-type(3) { top: 237rem; left: 189rem; width: 180rem; }
.service-title .left img:nth-of-type(4) { top: 411rem; left: -108rem; width: 204rem; }
.service-title .left img:nth-of-type(5) { top: 468rem; left: 132rem; width: 212rem; }

.service-title .right img:nth-of-type(1) { top: 0rem; right: -20rem; width: 224rem; }
.service-title .right img:nth-of-type(2) { top: 167rem; right: 168rem; width: 172rem; }
.service-title .right img:nth-of-type(3) { top: 251rem; right: -109rem; width: 240rem; }
.service-title .right img:nth-of-type(4) { top: 324rem; right: 192rem; width: 188rem; }
.service-title .right img:nth-of-type(5) { top: 504rem; right: 29rem; width: 236rem; }

/* .service-wrap
------------------------------------*/
.service-wrap {
	display: flex;
	align-items: flex-start;
	padding: 0 140rem 0 40rem;
	opacity: 0;
}

/* .service-nav
------------------------------------*/
.service-nav {
	position: sticky;
	top: 200rem;
	left: 0;
	border-radius: 8rem;
	width: 235rem;
	min-width: 220px;
	margin-right: 100rem;
	padding: 34rem 27rem 28rem;
}

.service-nav h1 {
	margin-bottom: 12rem;
	color: var(--color-green);
	font-weight: 600;
	font-size: 17rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.service-nav .anchor-list li { margin-bottom: 2rem; }

/* .service-inner
------------------------------------*/
.service-inner {
	width: 920rem;
	min-width: 790px;
	margin-right: auto;
	margin-left: auto;
}

/* .service-news
------------------------------------*/
.service-news {
	width: 1140rem;
	margin: 160rem auto 0;
}

/* .modal-office
------------------------------------*/
.modal-office {
	display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
	min-width: var(--width-min);
  height: 100%;
  padding: 0 0 0 max(15%, 215rem);
  z-index: 10100;
  opacity: 0;
}

.modal-office-bg {
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(249,255,224,0.94);
  width: 100%;
  height: 100%;
  z-index: 0;
}

.btn-modal-close {
  position: absolute;
  top: 0;
  right: 0;
  padding: 40rem;
  z-index: 3;
}

.btn-modal-close img { width: 75rem; }

.modal-office nav {
  position: absolute;
  bottom: 40rem;
  left: 30rem;
	white-space: nowrap;
  z-index: 2;
}

.modal-office nav dt {
	margin: 36rem 0 0 -2rem;
	line-height: 1.7;
}

.modal-office nav dt span {
	display: inline-block;
	background-color: var(--color-green);
	padding: 5rem 4rem 4rem 5rem;
	color: #FFFFFF;
	font-size: 14rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.1em;
}

.modal-office nav li {
  position: relative;
  margin-top: 15rem;
  padding: 5rem 5rem 5rem 0;
	color: var(--color-green);
  transition: .15s ease-out;
  cursor: pointer;
}

.modal-office nav li.current { color: var(--color-yellow-text); }
.modal-office nav li:hover { opacity: 0.6; }

.modal-office nav li em {
	display: block;
	margin-bottom: 11rem;
	font-weight: 600;
	font-size: 13rem;
	letter-spacing: 0.08em;
}

.modal-office nav li strong {
	display: block;
	font-size: 15rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.modal-office-inner {
  position: relative;
  background-color: #FFFFFF;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
}

.modal-office-inner .office { display: none; opacity: 0; }

.modal-office-inner-s {
  display: flex;
  height: 100vh;
	box-shadow: -5rem 0 26rem rgba(0, 0, 0, 0.04);
}

.modal-office .office-img {
  overflow: hidden;
	border-right: 1px solid var(--color-border-light);
  width: 610rem;
  min-width: 610rem;
  height: 100%;
  padding: 45rem 45rem 0;
}

.modal-office .office-img .infiniteslide_wrap { height: 100% !important; }
.modal-office .office-img figure { float: none; border: none; margin-bottom: 24rem; }

.modal-office .office-txt {
  overflow-y: scroll;
	width: 100%;
  padding: 130rem 42rem 42rem;
}

.modal-office .office-txt::-webkit-scrollbar,
.modal-nursery-inner::-webkit-scrollbar,
.modal-recruit .job::-webkit-scrollbar { width: 2px; }
.modal-office .office-txt::-webkit-scrollbar-track,
.modal-nursery-inner::-webkit-scrollbar-track,
.modal-recruit .job::-webkit-scrollbar-track { border-radius: 0; background: none; }
.modal-office .office-txt::-webkit-scrollbar-thumb,
.modal-nursery-inner::-webkit-scrollbar-thumb,
.modal-recruit .job::-webkit-scrollbar-thumb { border-radius: 0; background: var(--color-green); }

.modal-office .office-txt .sns {
	position: absolute;
	top: 72rem;
	left: 39rem;
}

.modal-office .office-txt h3 {
	margin-bottom: 15rem;
	font-size: 27rem;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.modal-office .office-txt > p {
	font-size: 15rem;
	line-height: 2.1;
	text-align: justify;
}

.modal-office .office-txt .box {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin: 34rem 0 56rem;
}

.modal-office .office-txt .box figure {
	width: 230rem;
	min-width: 230rem;
	margin-right: 28rem;
}

.modal-office .office-txt .box h4 {
	margin-bottom: 6rem;
	color: var(--color-green);
	font-size: 16rem;
	font-weight: 600;
	line-height: 1.9;
	letter-spacing: 0.12em;
}

.modal-office .office-txt .box p {
	font-size: 14rem;
	line-height: 1.85;
	letter-spacing: 0.08em;
	text-align: justify;
}

.modal-office .office-txt .dl { margin: 34rem -5rem 0; }

.modal-office .office-txt dl {
	display: flex;
	background: url(img/share/line-dot-gray.svg) repeat-x left top / 7rem auto;
	padding: 18rem 5rem 26rem;
}

.modal-office .office-txt dt {
	width: 110rem;
	min-width: 110rem;
	color: var(--color-green);
	font-size: 16rem;
	font-weight: 600;
	line-height: 1.7;
	letter-spacing: 0.12em;
	font-feature-settings: 'palt' 0;
}

#disabilityContents .modal-office .office-txt dt {
	width: 120rem;
	min-width: 120rem;
}

.modal-office .office-txt:has(.dl table) dt {
	width: 145rem;
	min-width: 145rem;
}

.modal-office .office-txt dd,
.modal-office .office-txt dd p,
.modal-office .office-txt dd table {
	font-size: 16rem;
	line-height: 1.7;
	letter-spacing: 0.07em;
	font-feature-settings: 'palt' 0;
}

.modal-office .office-txt dd .tel {
	text-decoration: none;
	pointer-events: none;
}

.modal-office .office-txt dd table tr { margin-bottom: 10rem; }
.modal-office .office-txt dd table th { width: 70rem; font-weight: normal; }
.modal-office .office-txt dd table tr:not(:last-of-type) td { padding-bottom: 6rem; }
.modal-office .office-txt dd table td p { margin-bottom: 5rem; }

.modal-office .office-txt dd .attention-list { margin: -8rem 0 0 1rem; }
.modal-office .office-txt dd .attention-list.mt { margin-top: -4rem; }

.modal-office .office-txt dd .attention-list li {
	margin-bottom: 2rem;
	font-size: 13rem;
	letter-spacing: 0.06em;
}

.modal-office .office-txt .attention-list { margin: 0 0 0 5rem; }
.modal-office .office-txt .link { margin-top: 70rem; }

.modal-office .office-txt .link h4 {
	margin-bottom: 26rem;
	color: var(--color-green);
	font-size: 16rem;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.modal-office .office-txt .link li { margin-bottom: 13rem; }

.modal-office .office-txt .link li a {
	background-position: left max(2rem, 2px) top max(1rem, 1px);
	background-size: 15rem auto;
	font-size: 14rem;
	letter-spacing: 0.08em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.modal-office .office-txt .map {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 0;
	margin-top: 60rem;
	padding-bottom: 100%;
}


/* page nursery
---------------------------------------------------------------------------*/
#nursery-important { margin-top: -160rem; padding-top: 160rem; }
#nursery-heart { margin-top: -240rem; padding-top: 240rem; }
#nursery-home { margin-top: -140rem; padding-top: 140rem; }
#nursery-office { margin-top: -130rem; padding-top: 130rem; }

/* .service-lead
------------------------------------*/
.service-lead {
	display: flex;
	margin-bottom: 205rem;
	padding: 0 30rem 0 15rem;
}

.service-lead figure {
	width: 345rem;
	min-width: 345rem;
}

.service-lead .txt { padding: 0 0 0 56rem; }

.service-lead h2 {
	margin-bottom: 14rem;
	color: var(--color-green);
	font-weight: 600;
	font-size: 26rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.service-lead p {
	margin-bottom: 14rem;
	line-height: 2.1;
	text-align: justify;
}

/* .nursery-heart
------------------------------------*/
.nursery-heart {
	position: relative;
	margin-bottom: 150rem;
	padding: 0 75rem 35rem;
	z-index: 1;
}

.nursery-heart .bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; opacity: 0; }

.nursery-heart .pic {
	position: relative;
	width: 467rem;
	height: 203rem;
	margin: 0 auto -40rem;
	transform: translateY(-85rem);
}

.nursery-heart .pic1 { position: absolute; top: 0; left: 0; width: 248rem; transform-origin: center bottom; z-index: 1; opacity: 0; }
.nursery-heart .pic2 { position: absolute; top: 0; right: 0; width: 247rem; transform-origin: center bottom; z-index: 0; opacity: 0; }

.nursery-heart .pic img { width: 100%; }

.nursery-heart .lead {
	width: 700rem;
	margin: 0 auto 55rem;
	text-align: center;
}

.nursery-heart .lead h2 {
	margin-bottom: 25rem;
	color: var(--color-green);
	font-weight: 600;
	font-size: 23rem;
	letter-spacing: 0.16em;
}

.nursery-heart .lead p {
	font-size: 18rem;
	line-height: 2.15;
	letter-spacing: 0.08em;
	text-align: justify;
}

.nursery-heart .list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 0;
	margin: 0 0 60rem;
	text-align: center;
	transform: translateX(10rem);
}

.nursery-heart .list .inner { padding: 10rem 0; }
.nursery-heart .list .inner:nth-child(odd) { background: url(img/share/line-dot-gray-v.svg) repeat-y right top; }

.nursery-heart .list h3 {
	margin-bottom: 26rem;
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 24rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.nursery-heart .list .inner:nth-child(1) h3 { color: #DE3D34; transform: translateX(-10rem); }
.nursery-heart .list .inner:nth-child(2) h3 { color: #F3AA93; }

.nursery-heart .list h3 span { display: inline-block; position: relative; }
.nursery-heart .list h3 span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 6rem;
	left: 0;
	border-radius: 3rem;
	width: calc(100%);
	height: 3rem;
}

.nursery-heart .list .inner:nth-child(1) h3 span:after { background-color: #DE3D34; }
.nursery-heart .list .inner:nth-child(2) h3 span:after { background-color: #F3AA93; }

.nursery-heart .list .inner:nth-child(odd) ul { padding-left: 10rem; }
.nursery-heart .list .inner:nth-child(even) ul { padding-left: 40rem; }

.nursery-heart .list .inner ul li {
	font-size: max(15rem, 13.5px);
}

.nursery-heart .attention {
	font-size: max(13rem, 12px);
	line-height: 2.1;
	letter-spacing: 0.11em;
}

/* .nursery-home
------------------------------------*/
.nursery-home { margin-bottom: 140rem; }

.nursery-home .home-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 825rem;
	margin: 0 auto;
}

.nursery-home .home-inner1 { margin-top: 60rem; margin-bottom: 65rem; }

.nursery-home .home-inner2 { margin-bottom: 70rem; }
.nursery-home .home-inner2 figure { order: 1; }
.nursery-home .home-inner2 .txt { order: 2; }

.nursery-home .home-inner1 figure { width: 252rem; min-width: 252rem; margin-right: 15rem; transform: translateY(25rem); }
.nursery-home .home-inner2 figure { width: 320rem; min-width: 320rem; margin-left: -8rem; }
.nursery-home .home-inner3 figure { width: 418rem; min-width: 418rem; transform: translateY(-5rem); }

.nursery-home .home-inner2 .txt { padding: 0 0 0 40rem; }

.nursery-home .home-inner h2 {
	margin-bottom: 14rem;
	font-size: 26rem;
	line-height: 1.9;
	letter-spacing: 0.16em;
}

.nursery-home .home-inner p {
	margin-bottom: 14rem;
	font-size: 16rem;
	line-height: 2.05;
	letter-spacing: 0.14em;
	white-space: nowrap;
}

.nursery-home .home-inner2 p { line-height: 1.9; }

.nursery-home .box {
	margin: 140rem 0 140rem;
	padding: 86rem 80rem;
}

.nursery-home .box .inner1 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 44rem;
}

.nursery-home .box .inner1 .inner { text-align: center; }
.nursery-home .box .inner1 figure { margin-bottom: 30rem; }

.nursery-home .box h3 {
	margin-bottom: 10rem;
	color: var(--color-green);
	font-weight: 600;
	font-size: 19rem;
	line-height: 1.8;
	letter-spacing: 0.18em;
}

.nursery-home .box p { font-size: 15rem; white-space: nowrap; }
.nursery-home .box .inner1 p { text-align: center; }
.nursery-home .box .inner2 p { line-height: 2.1; }

.nursery-home .box .inner2 {
	display: flex;
	align-items: center;
	background: url(img/share/line-dot-gray.svg) repeat-x left top / 7rem auto;
	margin: 50rem -15rem 0;
	padding: 50rem 15rem 0;
}

.nursery-home .box .inner2 figure {
	width: 231rem;
	min-width: 231rem;
	margin-right: 44rem;
}

.nursery-home .box .inner2 h3 {
	margin-bottom: 14rem;
	font-size: 21rem;
	text-align: left;
}

/* .office-list2clumn-wrap
------------------------------------*/
.office-list2clumn-wrap {
	padding: 66rem 52rem 62rem;
}

.office-list2clumn {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 0;
}

.office-list2clumn-wrap .list .inner {
	position: relative;
	display: flex;
	justify-content: space-between;
}

.office-list2clumn-wrap .list .inner:nth-child(odd) {
	background: url(img/share/line-dot-gray-v.svg) repeat-y right top;
}

.office-list2clumn-wrap .list .inner:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -5rem;
	left: 0;
	background: url(img/share/line-dot-gray.svg) repeat-x left bottom;
	width: 100%;
	height: 1px;
}

.office-list2clumn-wrap .list .inner:last-of-type:after,
.office-list2clumn-wrap .list .inner:nth-last-child(2):after { display: none; }

.office-list2clumn-wrap .list .inner:nth-of-type(1),
.office-list2clumn-wrap .list .inner:nth-of-type(2) { padding-top: 8rem; margin-bottom: 5rem; }
.office-list2clumn-wrap .list .inner:nth-of-type(n+3) { margin-top: 10rem; padding-top: 30rem; }

.office-list2clumn-wrap .list .inner { padding-bottom: 33rem; }
.office-list2clumn-wrap .list .inner:last-of-type,
.office-list2clumn-wrap .list .inner:nth-last-child(2) { padding-bottom: 0; }

.office-list2clumn-wrap .list .inner:nth-child(odd) { padding-right: 40rem; }
.office-list2clumn-wrap .list .inner:nth-child(even) { padding-left: 36rem; }

.office-list2clumn-wrap .list figure { order: 2; width: 147rem; min-width: 147rem; }
.office-list2clumn-wrap .list .txt { order: 1; }

.office-list2clumn-wrap .list h3 { margin-bottom: 12rem; }
.office-list2clumn-wrap .list h3 button { text-align: left; }
.office-list2clumn-wrap .list h3 a { color: var(--color-green); }

.office-list2clumn-wrap .list h3 em {
	display: block;
	min-height: 11rem;
	margin-bottom: 9rem;
	font-weight: 600;
	font-size: max(11rem, 11px);
	letter-spacing: 0.13em;
}

.office-list2clumn-wrap .list h3 strong {
	margin-left: -1rem;
	font-weight: 600;
	font-size: 17rem;
	letter-spacing: 0.12em;
}

.office-list2clumn-wrap .list h3 strong span {
	font-size: max(14rem, 12px);
	letter-spacing: 0.1em;
}

.office-list2clumn-wrap .list h3 strong b {
	font-size: 18rem;
	letter-spacing: 0.1em;
}

.office-list2clumn-wrap .list address {
	margin-bottom: 15rem;
	font-size: max(14rem, 13px);
	line-height: 1.7;
	letter-spacing: 0.06em;
}

.office-list2clumn-wrap .list address span {
	display: block;
	font-size: max(12rem, 12px);
	letter-spacing: 0.06em;
}

/* .modal-nursery
------------------------------------*/
.modal-nursery {
	display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
	min-width: var(--width-min);
  height: 100%;
  z-index: 10100;
  opacity: 0;
}

.modal-nursery-bg {
  position: absolute;
  top: 0;
  left: 0;
  background-color: #EBEEDF;
  width: 100%;
  height: 100%;
  z-index: 0;
}

.modal-nursery .btn-modal-close img { width: 90rem; }

.modal-nursery > nav {
	position: fixed;
	top: 19rem;
	left: 19rem;
	border-top: 1px solid #51534A;
	width: calc(100% - 38rem);
	padding: 15rem 0 0 2rem;
	z-index: 2;
	opacity: 0;
}

.modal-nursery > nav li {
	display: inline-block;
	margin-right: 14rem;
}

.modal-nursery > nav button {
	display: inline-block;
	background: url(img/share/ico-arrow-yellow.svg) no-repeat left top 1rem / 26rem auto;
	min-height: 26rem;
	padding-left: 34rem;
	color: var(--color-green);
	font-size: max(15rem, 14px);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.4em;
}

.modal-nursery-inner {
	display: none;
	overflow-y: scroll;
	height: 100%;
	padding: 90rem 0 0;
	opacity: 0;
}

.modal-nursery-inner .title {
	position: fixed;
	bottom: 45rem;
	right: 42rem;
	text-align: right;
	z-index: 2;
	white-space: nowrap;
}

.modal-nursery-inner .title em img { width: auto; height: 29rem; }

.modal-nursery-inner .title strong {
	display: block;
	margin-bottom: 22rem;
	color: var(--color-yellow-text);
	font-size: 19rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	margin-right: -3rem;
}

.modal-nursery-inner figure {
	position: relative;
	background-color: #FFFFFF;
	padding: 9rem;
}

.modal-nursery-inner figcaption {
	position: absolute;
	bottom: 9rem;
	left: 9rem;
	background-color: #FFFFFF;
	padding: 9rem 9rem 2rem 4rem;
	font-size: 16rem;
	letter-spacing: 0.1em;
}

/* .modal-nursery .daily
------------------------------------*/
.nursery-daily-nav {
	position: fixed;
	top: 50%;
	left: 57rem;
	width: 250rem;
	transform: translateY(-50%);
	background-color: var(--color-white);
	border-radius: 25rem;
	padding: 36rem 25rem 40rem;
	text-align: center;
	z-index: 1;
}

.nursery-daily-nav .detail { position: relative; }

.nursery-daily-nav .clock {
	position: relative;
	border: 6rem solid var(--color-green);
	border-radius: 50%;
	width: 78rem;
	height: 78rem;
	margin: 0 auto 20rem;
}

.nursery-daily-nav .clock > div > div {
	position: absolute;
	bottom: 33rem;
	left: 31rem;
	background-color: #222222;
	border-radius: 4rem 4rem 0 0;
	width: 5rem;
	transform-origin: center bottom;
}

.nursery-daily-nav .clock > div > div:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -2rem;
	left: 0;
	background-color: #222222;
	border-radius: 0 0 4rem 4rem;
	width: 100%;
	height: 2rem;
}

.nursery-daily-nav .clock .hour { height: 20rem; transition: .6s var(--easeOutQuart); }
.nursery-daily-nav .clock .minutes { height: 27rem; transition: .6s var(--easeOutQuart); }

.nursery-daily-nav .clock .hour,
.nursery-daily-nav .clock .time0700 .hour { transform: rotate(210deg); }
.nursery-daily-nav .clock .minutes,
.nursery-daily-nav .clock .time0700 .minutes { transform: rotate(0deg); }
.nursery-daily-nav .clock .time0930 .hour { transform: rotate(285deg); }
.nursery-daily-nav .clock .time0930 .minutes { transform: rotate(900deg); }
/*.nursery-daily-nav .clock .time1000 .hour { transform: rotate(300deg); }
.nursery-daily-nav .clock .time1000 .minutes { transform: rotate(1080deg); }*/
.nursery-daily-nav .clock .time1130 .hour { transform: rotate(345deg); }
.nursery-daily-nav .clock .time1130 .minutes { transform: rotate(1620deg); }
.nursery-daily-nav .clock .time1300 .hour { transform: rotate(390deg); }
.nursery-daily-nav .clock .time1300 .minutes { transform: rotate(2160deg); }
.nursery-daily-nav .clock .time1500 .hour { transform: rotate(450deg); }
.nursery-daily-nav .clock .time1500 .minutes { transform: rotate(2880deg); }
.nursery-daily-nav .clock .time1600 .hour { transform: rotate(480deg); }
.nursery-daily-nav .clock .time1600 .minutes { transform: rotate(3240deg); }

.nursery-daily-nav .clock:after {
	display: block;
	content: '';
	position: absolute;
	top: 178rem;
	left: 50%;
	transform: translateX(-50%);
	background: url(img/nursery/modal-nursery/pic-arch.svg) no-repeat left top / 100% auto;
	width: 200rem;
	height: 22rem;
}

.nursery-daily-nav .txt {
	position: relative;
	min-height: 240rem;
}

.nursery-daily-nav .txt > div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transform: translateX(0);
	transition: .4s var(--easeOutQuart);
	opacity: 0;
	pointer-events: none;
}

.nursery-daily-nav .txt > div.active,
.nursery-event-nav .inner > div.active {
  transform: translateX(0);
	transition: .5s var(--easeOutCubic);
  opacity: 1;
  pointer-events: auto;
	z-index: 2;
}

.nursery-event-nav .inner > div.next-left,
.nursery-daily-nav .txt > div.next-left { transform: translateX(-13rem); opacity: 0; z-index: 1; }
.nursery-event-nav .inner > div.next-right,
.nursery-daily-nav .txt > div.next-right { transform: translateX(13rem); opacity: 0; z-index: 1; }

.nursery-daily-nav .txt time {
	display: block;
	margin-bottom: 15rem;
	text-align: center;
}

.nursery-daily-nav .txt time img {
	width: auto;
	height: 25rem;
}

.nursery-daily-nav .txt h3 {
	margin-bottom: 75rem;
	color: var(--color-green);
	font-family: var(--font-mgothic-jp);
	font-size: 17rem;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-align: center;
}

.nursery-daily-nav .txt p {
	padding: 0 9rem;
	font-size: max(14rem, 13px);
	line-height: 1.9;
	letter-spacing: 0.05em;
	text-align: justify;	
}

.nursery-daily-nav .dl { margin: 60rem 0 0 12rem; }

.nursery-daily-nav dl {
	display: flex;
	color: var(--color-green);
	font-family: var(--font-mgothic-jp);
	font-size: max(15rem, 14px);
	font-weight: 600;
	white-space: nowrap;
}

.nursery-daily-nav dl:not(:last-of-type) { margin-bottom: 9rem; }
.nursery-daily-nav dd button:hover { opacity: 1; }
.nursery-daily-nav dl.hover { color: var(--color-yellow-text); opacity: 1; }

.nursery-daily-nav dt {
	width: 45rem;
	min-width: 45rem;
	margin-right: 14rem;
	letter-spacing: 0.06em;
	text-align: right;
}

.nursery-daily-nav dd button {
	padding: 0 10rem 10rem 0;
	letter-spacing: 0.1em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.3em;
}

@media (max-height: 900px) {
	.nursery-daily-nav { min-width: 240px; margin-top: 33px; padding-top: 30px; padding-bottom: 28px; }
	.nursery-daily-nav .clock { margin-bottom: 14px; transform: scale(0.9); }
	.nursery-daily-nav .clock:after { top: 174px; width: 210px; }
	.nursery-daily-nav .txt { min-height: 210px; }
	.nursery-daily-nav .txt time { margin-bottom: 14px; }
	.nursery-daily-nav .txt time img { height: 21px; }
	.nursery-daily-nav .txt h3 { margin-bottom: 60px; font-size: 15px; }
	.nursery-daily-nav .txt p { font-size: 13px; }
	.nursery-daily-nav .dl { margin-top: 37px; }
	.nursery-daily-nav dl { font-size: 13px; }
	.nursery-daily-nav dl:not(:last-of-type) { margin-bottom: 6px; }
}

.nursery-daily-img,
.nursery-event-img { position: relative; min-height: 100%; padding: 0; }
.nursery-daily-img { padding: 0 95rem 0 425rem; }
.nursery-event-img { padding: 0 90rem 60rem 415rem; }

.nursery-daily-img > div,
.nursery-event-img > div {
	position: relative;
	max-width: 1150px;
	margin-right: auto;
	margin-left: auto;
}

.nursery-daily-img > div { margin-bottom: 205rem; }

.nursery-daily-img > div .txt { display: none; }

.nursery-daily-img .time0700 { padding-bottom: 113rem; }
.nursery-daily-img .time0700 figure:nth-of-type(1) { margin-bottom: 85rem; }
.nursery-daily-img .time0700 figure:nth-of-type(2) { width: 286rem; margin-left: 31rem; }
.nursery-daily-img .time0700 figure:nth-of-type(3) { position: absolute; bottom: 0; right: 32rem; width: 495rem; }

.nursery-daily-img .time0930 { padding-top: 66rem; }
.nursery-daily-img .time0930 figure:nth-of-type(1) { margin-bottom: 160rem; }
.nursery-daily-img .time0930 figure:nth-of-type(2) { width: 349rem; margin: 0 0 160rem 48rem; }
.nursery-daily-img .time0930 figure:nth-of-type(3) { position: absolute; top: 758rem; right: 49rem; width: 406rem; }

.nursery-daily-img .time1130 figure:nth-of-type(1) { width: 349rem; margin-bottom: 216rem; }
.nursery-daily-img .time1130 figure:nth-of-type(2) { position: absolute; top: 66rem; right: 0; width: 499rem; }

.nursery-daily-img .time1300 { padding: 50rem 0 !important; }

.nursery-daily-img .time1500 { padding-top: 55rem; }
.nursery-daily-img .time1500 figure:nth-of-type(1) { width: 451rem; margin: 0 0 58rem 20rem; }
.nursery-daily-img .time1500 figure:nth-of-type(2) { position: absolute; top: 0; right: 56rem; width: 326rem; }

.nursery-daily-img .time1600 figure:nth-of-type(1) { width: 477rem; margin: 0 0 160rem; }
.nursery-daily-img .time1600 figure:nth-of-type(2) { position: absolute; top: 91rem; right: 0; width: 373rem; }

/* .modal-nursery .event
------------------------------------*/
.modal-nursery-event-bg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
.modal-nursery-event-bg > div { position: absolute; top: 0; left: 0; width: 100%; height: 100%; transition: .8s ease-out; opacity: 0; }

.modal-nursery-event-bg .current { opacity: 1; }
.modal-nursery-event-bg .spring { background-color: #F6E8E7; }
.modal-nursery-event-bg .summer { background-color: #DFF2DF; }
.modal-nursery-event-bg .autumn { background-color: #F9F3DD; }
.modal-nursery-event-bg .winter { background-color: #E6F5F5; }

.nursery-event-nav {
	position: fixed;
	top: 50%;
	left: 57rem;
	width: 250rem;
	transform: translateY(-50%);
	background-color: var(--color-white);
	border-radius: 25rem;
	padding: 50rem 25rem 35rem;
	text-align: center;
	z-index: 2;
}

.nursery-event-nav .inner { position: relative; min-height: 333rem; }

.nursery-event-nav .inner > div {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	transform: translateX(0);
	transition: .4s var(--easeOutQuart);
	opacity: 0;
	pointer-events: none;
}

.nursery-event-nav .inner h3 {
	position: relative;
	margin: 0 auto 32rem;
	padding-bottom: 33rem;
}

.nursery-event-nav .inner h3:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-yellow-marker);
	border-radius: 4rem;
	width: 100%;
	height: 4rem;
}

.nursery-event-nav .inner h3 em { display: block; margin: 0 0 16rem -4rem; }
.nursery-event-nav .inner h3 em img { height: 32rem; }

.nursery-event-nav .inner h3 strong {
	display: block;
	font-family: var(--font-mgothic-jp);
	font-size: 17rem;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.nursery-event-nav dl {
	display: flex;
	background: url(img/share/line-dot-gray.svg) repeat-x left bottom / 6rem auto;
	margin: 0 15rem 14rem;
	padding: 0 0 13rem;
	font-size: max(15rem, 14px);
	line-height: 1.65;
	letter-spacing: 0.1em;
	text-align: left;
}

.nursery-event-nav dl:last-of-type { background: none; margin-bottom: 0; padding-bottom: 0; }

.nursery-event-nav dt {
	width: 55rem;	
	min-width: 55rem;
	padding-right: 15rem;
	text-align: right;
	white-space: nowrap;
}

.nursery-event-nav dd span {
	display: inline-block;
	font-size: 12rem;
	transform: translateY(-3rem);
}

.nursery-event-nav nav { margin-top: 40rem; }
.nursery-event-nav nav li { display: inline-block; position: relative; }

.nursery-event-nav nav li:after {
	display: block;
	content: '/';
	position: absolute;
	top: 7rem;
	right: -8rem;
	font-size: 18rem;
}

.nursery-event-nav nav li:last-of-type:after { display: none; }

.nursery-event-nav nav button {
	padding: 5rem 13rem;
	color: var(--color-border-dark);
	font-family: var(--font-mgothic-jp);
	font-size: 20rem;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.nursery-event-nav nav .current button:hover { opacity: 1; }

.nursery-event-nav nav .spring.current button { color: #FF9992; }
.nursery-event-nav nav .summer.current button { color: #5BD88D; }
.nursery-event-nav nav .autumn.current button { color: #F0A020; }
.nursery-event-nav nav .winter.current button { color: #37518C; }

.nursery-event-img .spring { padding-bottom: 340rem; }
.nursery-event-img .spring figure:nth-of-type(1) { width: 505rem; margin: 0 0 190rem; }
.nursery-event-img .spring figure:nth-of-type(2) { position: absolute; top: 25rem; right: 25rem; width: 309rem; }
.nursery-event-img .spring figure:nth-of-type(3) { width: 722rem; margin: 0 0 80rem 95rem; }
.nursery-event-img .spring figure:nth-of-type(4) { width: 307rem; margin: 0 0 0 27rem; }
.nursery-event-img .spring figure:nth-of-type(5) { position: absolute; bottom: 230rem; right: 10rem; width: 481rem; }

.nursery-event-img .summer { padding-bottom: 380rem; }
.nursery-event-img .summer figure:nth-of-type(1) { width: 507rem; margin-bottom: 120rem; margin-left: -20rem; }
.nursery-event-img .summer figure:nth-of-type(2) { position: absolute; top: 193rem; right: 16rem; width: 339rem; }
.nursery-event-img .summer figure:nth-of-type(3) { width: 300rem; margin-left: -15rem; }
.nursery-event-img .summer figure:nth-of-type(4) { position: absolute; bottom: 230rem; right: 15rem; width: 549rem; }

.nursery-event-img .autumn { padding-bottom: 220rem; }
.nursery-event-img .autumn figure:nth-of-type(1) { width: 571rem; margin: 0 0 165rem -15rem; }
.nursery-event-img .autumn figure:nth-of-type(2) { position: absolute; top: 139rem; right: 5rem; width: 290rem; }
.nursery-event-img .autumn figure:nth-of-type(3) { width: 723rem; margin-left: 90rem; }

.nursery-event-img .winter { padding-bottom: 180rem; }
.nursery-event-img .winter figure:nth-of-type(1) { width: 502rem; margin: 0 0 186rem; }
.nursery-event-img .winter figure:nth-of-type(2) { position: absolute; top: 200rem; right: 10rem; width: 340rem; }
.nursery-event-img .winter figure:nth-of-type(3) { width: 719rem; margin-left: 112rem; }


/* page childcare
---------------------------------------------------------------------------*/
#childcare-lead { margin-top: -150rem; padding-top: 150rem; }
#childcare-activity { margin-top: -115rem; padding-top: 115rem; }
#childcare-office { margin-top: -130rem; padding-top: 130rem; }

/* .service-title
------------------------------------*/
#childcareContents .service-title .left img:nth-of-type(1) { top: 20rem; left: 88rem; width: 242rem; }
#childcareContents .service-title .left img:nth-of-type(2) { top: 236rem; left: -37rem; width: 169rem; }
#childcareContents .service-title .left img:nth-of-type(3) { top: 257rem; left: 189rem; width: 178rem; }
#childcareContents .service-title .left img:nth-of-type(4) { top: 417rem; left: -132rem; width: 205rem; }
#childcareContents .service-title .left img:nth-of-type(5) { top: 487rem; left: 107rem; width: 219rem; }

#childcareContents .service-title .right img:nth-of-type(1) { top: -3rem; right: 0rem; width: 205rem; }
#childcareContents .service-title .right img:nth-of-type(2) { top: 168rem; right: 180rem; width: 169rem; }
#childcareContents .service-title .right img:nth-of-type(3) { top: 251rem; right: -89rem; width: 242rem; }
#childcareContents .service-title .right img:nth-of-type(4) { top: 323rem; right: 192rem; width: 191rem; }
#childcareContents .service-title .right img:nth-of-type(5) { top: 496rem; right: 31rem; width: 250rem; }

/* .service-lead
------------------------------------*/
#childcareContents .service-lead { margin-bottom: 110rem; }
#childcareContents .service-lead p { letter-spacing: 0.08em; }

/* .childcare-activity
------------------------------------*/
.childcare-activity { margin: 0 auto 140rem; }
.childcare-activity .img { position: relative; margin-bottom: 80rem; }
.childcare-activity .img .even { display: grid; grid-template-columns: 1fr 1fr; gap: 0 15rem; }
.childcare-activity .img > picture:nth-of-type(1) { margin-bottom: 15rem; }

.childcare-activity .inner {
	display: flex;
	justify-content: space-between;
	width: 846rem;
	margin: 0 auto;
}

.childcare-activity .inner .txt h2 { margin-top: 15rem; margin-bottom: 34rem; }
.childcare-activity .inner .txt p { line-height: 2.25; }
.childcare-activity .inner .box-grid { width: 255rem; }

/* .office-list1clumn-wrap
------------------------------------*/
#childcareContents .office-list1clumn-wrap {
	margin-right: -15rem;
	margin-left: -15rem;
	padding-right: 60rem;
	padding-left: 60rem;
}

.office-list1clumn .inner address {
	margin-top: 10rem;
}

.office-list1clumn .inner address a {
	color: var(--color-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}


/* page after-school
---------------------------------------------------------------------------*/
#after-school-lead,
#after-school-activity,
#after-school-message { margin-top: -120rem; padding-top: 120rem; }
#after-school-office { margin-top: -125rem; padding-top: 125rem; }

/* .service-title
------------------------------------*/
#after-schoolContents .service-title .left img:nth-of-type(1) { top: 29rem; left: 78rem; width: 242rem; }
#after-schoolContents .service-title .left img:nth-of-type(2) { top: 240rem; left: -31rem; width: 172rem; }
#after-schoolContents .service-title .left img:nth-of-type(3) { top: 272rem; left: 192rem; width: 180rem; }
#after-schoolContents .service-title .left img:nth-of-type(4) { top: 422rem; left: -123rem; width: 204rem; }
#after-schoolContents .service-title .left img:nth-of-type(5) { top: 506rem; left: 122rem; width: 216rem; }

#after-schoolContents .service-title .right img:nth-of-type(1) { top: -3rem; right: 6rem; width: 204rem; }
#after-schoolContents .service-title .right img:nth-of-type(2) { top: 176rem; right: 186rem; width: 172rem; }
#after-schoolContents .service-title .right img:nth-of-type(3) { top: 282rem; right: -89rem; width: 244rem; }
#after-schoolContents .service-title .right img:nth-of-type(4) { top: 344rem; right: 202rem; width: 188rem; }
#after-schoolContents .service-title .right img:nth-of-type(5) { top: 524rem; right: 42rem; width: 252rem; }

/* .after-school-lead
------------------------------------*/
.after-school-lead { margin: 0 auto 140rem; }
.after-school-lead .img { margin-bottom: 70rem; }

.after-school-lead .txt {
	position: relative;
	width: calc(100% - 48rem);
	margin: 0 auto;
	padding: 35rem 16rem 0 458rem;
	text-align: center;
}

.after-school-lead .txt h2 { margin-bottom: 38rem; }
.after-school-lead .txt p { text-align: justify; }

.after-school-lead .txt .img2 { position: absolute; top: 0; left: 0; width: 385rem; }
.after-school-lead .txt .img2 picture:first-of-type { margin-bottom: 20rem; }

.after-school-lead .box-grid {
	margin-top: 60rem;
	padding: 36rem 44rem 38rem;
}

/* .after-school-activity
------------------------------------*/
.after-school-activity { margin-bottom: 75rem; padding: 0 15rem; }
.after-school-activity .img { margin: 0 -15rem 70rem; }
.after-school-activity .lead { width: 720rem; margin: 0 auto 75rem; text-align: center; }
.after-school-activity .lead .title-arch { margin-bottom: 24rem; }

.after-school-activity .lead h3 {
	margin-bottom: 38rem;
	font-size: 27rem;
	font-weight: 600;
	letter-spacing: 0.2em;
}

.after-school-activity .lead h3 span {
	display: inline-block;
	text-decoration: underline;
	text-decoration-thickness: 2rem;
	text-underline-offset: 0.3em;
}

.after-school-activity .lead p {
	line-height: 2.2;
	text-align: justify;
}

.after-school-activity .activity1 { margin-bottom: 60rem; }

.after-school-activity .activity1 figure {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1px;
	margin-bottom: 30rem;
}

.after-school-activity .activity1 .txt,
.after-school-activity .activity4 { position: relative; }
.after-school-activity .activity1 .txt { padding-left: 230rem; }
.after-school-activity .activity4 { padding-left: 244rem; }

.after-school-activity .activity1 .txt h3,
.after-school-activity .activity4 h3 { position: absolute; left: 0; }

.after-school-activity .activity1 .txt h3 { top: -2rem; }
.after-school-activity .activity4 h3 { top: 41rem; }

.after-school-activity .activity1 .txt p,
.after-school-activity .activity4 .txt p { text-align: justify; }

.after-school-activity .activity1 .txt p {
	font-size: 15rem;
	letter-spacing: 0.09em;
}

.after-school-activity .activity2 {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 46rem;
	margin-bottom: 45rem;
}

.after-school-activity .activity2 figure { margin-bottom: 28rem; }
.after-school-activity .activity2 h3 { margin-bottom: 10rem; }

.after-school-activity .activity2 p {
	font-size: 15rem;
	letter-spacing: 0.07em;
	text-align: justify;
}

.after-school-activity .activity3,
.after-school-activity .activity4 {
	background: url(img/share/line-dot-gray.svg) repeat-x left top / 7rem auto;
	padding-top: 50rem;
	padding-bottom: 50rem;
	padding-right: 10rem;
}

.after-school-activity .activity4 { padding-top: 40rem; padding-bottom: 40rem; }

.after-school-activity .activity3 { display: flex; }
.after-school-activity .activity3 figure { width: 290rem; min-width: 290rem; }
.after-school-activity .activity3 .txt { padding: 5rem 0 0 50rem; }
.after-school-activity .activity3 h3 { margin-bottom: 18rem; }
.after-school-activity .activity3 p { text-align: justify; }

/* .after-school-message
------------------------------------*/
.after-school-message { margin: 0 auto 120rem; }
.after-school-message figure { margin-bottom: 70rem; }

.after-school-message .inner {
	position: relative;
	padding: 42rem 16rem 0 375rem;
}

.after-school-message .inner h2 {
	position: absolute;
	top: 0;
	left: 8rem;
}

.after-school-message .inner h3 {
	position: absolute;
	top: 41rem;
	left: 8rem;
	font-size: 21rem;
	font-weight: 600;
	line-height: 1.85;
	letter-spacing: 0.14em;
}

.after-school-message .inner p {
	letter-spacing: 0.12em;
	text-align: justify;
}


/* page disability
---------------------------------------------------------------------------*/
#disability-important,
#disability-support,
#disability-dayservice { margin-top: -130rem; padding-top: 130rem; }
#disability-initiative { margin-top: -170rem; padding-top: 170rem; }

/* .service-title
------------------------------------*/
#disabilityContents .service-title .left img:nth-of-type(1) { top: 10rem; left: 78rem; width: 240rem; }
#disabilityContents .service-title .left img:nth-of-type(2) { top: 232rem; left: -48rem; width: 172rem; }
#disabilityContents .service-title .left img:nth-of-type(3) { top: 226rem; left: 187rem; width: 181rem; }
#disabilityContents .service-title .left img:nth-of-type(4) { top: 404rem; left: -150rem; width: 206rem; }
#disabilityContents .service-title .left img:nth-of-type(5) { top: 464rem; left: 86rem; width: 216rem; }

#disabilityContents .service-title .right img:nth-of-type(1) { top: -8rem; right: 0rem; width: 208rem; }
#disabilityContents .service-title .right img:nth-of-type(2) { top: 161rem; right: 162rem; width: 172rem; }
#disabilityContents .service-title .right img:nth-of-type(3) { top: 246rem; right: 0; width: 139rem; }
#disabilityContents .service-title .right img:nth-of-type(4) { top: 317rem; right: 195rem; width: 168rem; }
#disabilityContents .service-title .right img:nth-of-type(5) { top: 478rem; right: 29rem; width: 252rem; }

/* .disability-important
------------------------------------*/
.disability-important {
	margin-bottom: 120rem;
	padding: 72rem 57rem 65rem;
}

.disability-important h2 {
	margin-bottom: 18rem;
	padding-left: 9rem;
	font-size: 25rem;
	font-weight: 600;
	letter-spacing: 0.16em;
}

.disability-important > p {
	padding-left: 9rem;
	font-size: 17rem;
	letter-spacing: 0.12em;
}

.disability-important .dl {
	background: url(img/share/line-dot-gray.svg) repeat-x left bottom / 7rem auto;
	margin-top: 48rem;
}

.disability-important dl {
	display: flex;
	background: url(img/share/line-dot-gray.svg) repeat-x left top / 7rem auto;
	padding: 35rem 35rem 33rem 24rem;
}

.disability-important dt {
	position: relative;
	width: 260rem;
	min-width: 260rem;
	padding: 5rem 0 0 35rem;
	color: var(--color-green);
	font-size: 18rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.14em;
}

.disability-important dt i {
	display: block;
	position: absolute;
	top: -8rem;
	left: 0;
	color: var(--color-yellow-text);
	font-family: var(--font-gothic-en);
	font-size: 30rem;
}

.disability-important dd p {
	font-size: 17rem;
	letter-spacing: 0.12em;
	text-align: justify;
}

/* .disability-initiative
------------------------------------*/
.disability-initiative { margin: 0 auto 160rem; }
.disability-initiative h2 { margin-left: 16rem; }

.disability-initiative > .inner {
	display: flex;
	align-items: center;
	margin: 0 22rem 40rem;
}

.disability-initiative > .inner figure {
	width: 225rem;
	min-width: 225rem;
	margin-right: 51rem;
}

.disability-initiative > .inner h3 {
	margin-bottom: 25rem;
	font-size: 23rem;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.disability-initiative > .inner p {
	line-height: 2.1;
	letter-spacing: 0.04em;
	text-align: justify;
}

.disability-initiative > .inner .box {
	display: inline-block;
	background-color: #FFFFFF;
	margin-top: 8rem;
	padding: 16rem 26rem 14rem;
}

.disability-initiative > .inner .box ul { display: inline-block; }
.disability-initiative > .inner .box ul:not(:last-of-type) { margin-right: 30rem; }
.disability-initiative > .inner .box li { margin-bottom: 2rem; letter-spacing: 0.12em; }

/* .disability-initiative-other
------------------------------------*/
.disability-initiative-other {
	margin-top: 160rem;
	padding: 55rem 48rem 55rem;
}

.disability-initiative-other h3 {
	margin-bottom: 70rem;
	font-size: 23rem;
	font-weight: 600;
	letter-spacing: 0.16em;
}

.disability-initiative-other .list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 50rem 45rem;
	width: 765rem;
	margin: 0 auto 60rem;
	text-align: center;
	transform: translateX(12rem);
}

.disability-initiative-other .list figure { margin-bottom: 24rem; }

.disability-initiative-other .list h4 {
	margin-bottom: 10rem;
	color: var(--color-green);
	font-size: 19rem;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.disability-initiative-other .list p { font-size: 15rem; }
.disability-initiative-other > p.attention { margin-left: 10rem; font-size: 15rem; }

/* .disability-office
------------------------------------*/
#disability-support .disability-office {
	margin-bottom: 160rem;
}

.disability-office > figure {
	margin-bottom: 48rem;
}

.disability-office .lead {
	display: flex;
	margin-bottom: 80rem;
	padding: 0 18rem;
}

.disability-office .lead .title {
	width: 330rem;
	min-width: 330rem;
}

.disability-office .lead .title h4 {
	margin-bottom: 7rem;
	color: var(--color-green);
	font-size: 21rem;
	font-weight: 600;
	line-height: 1.95;
	letter-spacing: 0.16em;
}

.disability-office .lead .title h3 {
	margin-bottom: 38rem;
	font-size: max(14rem, 13px);
	letter-spacing: 0.12em;
}

.disability-office .lead .title h2 {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-green);
	border-radius: 30rem;
	margin-left: -2rem;
	padding: 6rem 12rem 6rem 16rem;
	font-size: 15rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	margin-left: -4rem;
}

.disability-office .lead p {
	margin-bottom: 12rem;
	letter-spacing: 0.11em;
	text-align: justify;
}

/* .office-list1clumn-wrap
------------------------------------*/
.office-list1clumn-wrap { padding: 75rem 45rem 70rem; }
.office-list1clumn-wrap:has(.title-arch) { padding-top: 65rem; }
.office-list1clumn-wrap .title-arch { margin-left: 10rem; }

.office-list1clumn .inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 45rem 10rem;
	background: url(img/share/line-dot-gray.svg) repeat-x left bottom / 7rem auto;
}

.office-list1clumn .inner:first-of-type { padding-top: 0; }
.office-list1clumn .inner:last-of-type { background: none; padding-bottom: 0; }

.office-list1clumn .inner figure {
	align-self: flex-start;
	width: 200rem;
	min-width: 200rem;
	height: 200rem;
	margin-left: 60rem;
}

.disability-office .office-list1clumn .inner figure { margin-left: 35rem; }

.office-list1clumn .inner .txt { padding-top: 10rem; }
.office-list1clumn .inner h3 { margin-bottom: 8rem; }
.office-list1clumn .inner h3 a { color: var(--color-green); }
.office-list1clumn .inner h3 > div { display: inline-block; }

.office-list1clumn .inner h3 > span {
	display: inline-block;
	border: 1px solid var(--color-green);
	padding: 5rem 5rem 5rem 7rem;
	font-size: max(13rem, 13px);
	font-weight: 600;
	letter-spacing: 0.12em;
	transform: translateY(-5rem);
}

.office-list1clumn .inner h3 strong {
	display: inline-block;
	margin-right: 20rem;
	font-size: 17rem;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.office-list1clumn .inner h3 strong b { font-size: 22rem; }

.office-list1clumn .inner address {
	margin: 0 0 24rem 1rem;
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.office-list1clumn .inner h4 {
	margin-bottom: 9rem;
	color: var(--color-green);
	font-size: 16rem;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.office-list1clumn .inner p {
	font-size: 15rem;
	line-height: 2.1;
	text-align: justify;
}

.office-list1clumn .inner li {
	position: relative;
	padding: 0 0 0 20rem;
	margin-bottom: 4rem;
	font-size: 15rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

.office-list1clumn .inner li:before { display: block; content: '○'; position: absolute; top: 0; left: 0; }

.office-list1clumn .inner .btn-link { margin-top: 18rem; }
.office-list1clumn .inner ul + .btn-link { margin-top: 22rem; }
.office-list1clumn .inner .btn-link.size-s a { font-size: max(14rem, 14px) !important; }


/* page office
---------------------------------------------------------------------------*/

/* .office-main
------------------------------------*/
.office-main {
	overflow: hidden;
	position: relative;
	height: 100vh;
	max-height: 63vw;
	margin-bottom: 35rem;
}

.office-main .img {
	mask-image: url(img/share/mask-office-main.png);
	mask-size: 100% 0;
	mask-position: right top;
  mask-repeat: no-repeat;
	width: 130vw;
	min-width: var(--width-min);
	height: calc(100% - 60rem) !important;
}

.office-main.anime .img { animation: office-main-mask .7s var(--easeInOutQuint) .6s forwards; }
@keyframes office-main-mask { to { mask-size: 100% 100%; } }

.slide-office-main { width: 100vw !important; height: 100% !important; }
.slide-office-main .slick-list,
.slide-office-main .slick-track { width: 100% !important; height: 100% !important; }

.slide-office-main figure {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
}

.slide-office-main figure:first-child { position: relative !important; }
.slide-office-main figure img { object-fit: cover; object-position: 50% 50%; width: 100%; height: 100%; }

/* .office-title
------------------------------------*/
.office-wrap { display: flex; align-items: flex-start; }

.office-inner {
	order: 1;
	position: relative;
	width: calc(100% - 110rem);
	padding-left: 110rem;
}

.office-title {
	order: 2;
	position: sticky;
	top: 90rem;
	right: 0;
	width: 110rem;
	min-width: 110rem;
	padding: 50rem 0 0 38rem;
	z-index: 2;
	opacity: 0;
}

.office-title h1 {
	color: var(--color-green);
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.office-title h1 em {
	display: block;
	margin-left: 11rem;
	font-size: max(13rem, 13px);
	font-weight: 600;
	letter-spacing: 0.18em;
}

.office-title h1 em i {
	display: inline-block;
	line-height: 0;
	transform: rotate(90deg);
}

.office-title h1 strong {
	display: block;
	font-size: max(19rem, 19px);
	font-weight: 600;
	letter-spacing: 0.08em;
}

/* .office-sub-title
------------------------------------*/
.office-sub-title {
	position: absolute;
	top: -185rem;
	left: 135rem;
	line-height: 2;
}

.office-sub-title.line3 { top: -250rem; }
.office-sub-title span { display: inline-block; overflow: hidden; width: 0; }

.office-sub-title b {
	background-color: #FFFFFF;
	padding: 0 0 1rem 4rem;
	font-size: 40rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.14em;
	white-space: nowrap;
}

.office-sub-title .mask {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background-color: #FFFFFF;
	width: 100%;
	height: 100%;
}

/* .office-lead
------------------------------------*/
.office-lead {
	position: relative;
	width: 1090rem;
	margin: 0 auto 240rem;
}

#poppoContents .office-lead { margin-bottom: 210rem; }

.office-lead .txt {
	margin-bottom: 105rem;
}

.office-lead .txt p {
	margin-bottom: 16rem;
	font-size: 18rem;
	line-height: 2.2;
	letter-spacing: 0.14em;
}

.office-lead > picture { display: block; }
.office-lead > picture img { width: 100%; }
.office-lead .img1 { position: absolute; top: 50rem; right: 0; width: 356rem; }
.office-lead .img2 { width: 556rem; margin: 0 0 0 -32rem; }
.office-lead .img3 { position: absolute; bottom: -75rem; right: 80rem; width: 336rem; }

/* .office-important
------------------------------------*/
.office-important {
	width: 100%;
	margin-bottom: 120rem;
}

.office-important .lead {
	position: relative;
	width: 1180rem;
	margin: 0 auto 60rem;
	padding: 0 0 0 522rem;
}

#kopanContents .office-important .lead,
#takenokoContents .office-important .lead { padding-left: 580rem; }

.office-important .lead .title-arch {
	position: absolute;
	top: 9rem;
	left: 42rem;
}

.office-important .lead .title-arch i {
	display: block;
	position: absolute;
	top: -32rem;
	left: -76rem;
	background: url(img/share/pic-leaf.svg) no-repeat left top / 100% auto;
	width: 53rem;
	height: 36rem;
}

.office-important .lead p {
	font-size: 18rem;
	line-height: 2.3;
	letter-spacing: 0.11em;
}

.office-important .sec-inner {
	position: relative;
	margin: 0 -110rem;
	padding: 0 0 120rem;
	z-index: 1;
}

.office-important .sec-inner:after {
	display: block;
	content: '';
	position: absolute;
	top: 155rem;
	left: 0;
	background: url(img/share/bg-pattern-green@2x.jpg) repeat left top / 120rem auto;
	width: 100%;
	height: calc(100% - 155rem);
	z-index: -1;
}

/* .office-important .inner1
------------------------------------*/
.office-important .inner1 { width: 1180rem; margin: 0 auto 85rem; }
.office-important .inner1 figure { display: flex; justify-content: space-between; margin-bottom: 32rem; }
.office-important .inner1 figure picture:nth-of-type(1) img { width: 697rem; }
.office-important .inner1 figure picture:nth-of-type(2) img { width: 462.5rem; }
.office-important .inner1 figure.reverse picture:nth-of-type(1) img { width: 399rem; }
.office-important .inner1 figure.reverse picture:nth-of-type(2) img { width: 761rem; }

#takematsu-kodomoContents .office-important .inner1 figure picture:nth-of-type(1) img { width: 763rem; }
#takematsu-kodomoContents .office-important .inner1 figure picture:nth-of-type(2) img { width: 399rem; }
#takematsu-kodomoContents .office-important .inner2 + .inner1 figure picture:nth-of-type(1) img { width: 399rem; }
#takematsu-kodomoContents .office-important .inner2 + .inner1 figure picture:nth-of-type(2) img { width: 762rem; }

#takematsu-tittiContents .office-important .inner1 figure picture:nth-of-type(1) img { width: 465rem; }
#takematsu-tittiContents .office-important .inner1 figure picture:nth-of-type(2) img { width: 695.5rem; }
#takematsu-tittiContents .office-important .inner2 + .inner1 figure picture:nth-of-type(1) img { width: 682rem; }
#takematsu-tittiContents .office-important .inner2 + .inner1 figure picture:nth-of-type(2) img { width: 480rem; }

#takenokoContents .office-important .inner1 figure picture:nth-of-type(1) img { width: 462.5rem; }
#takenokoContents .office-important .inner1 figure picture:nth-of-type(2) img { width: 697rem; }

.office-important .inner1 .txt {
	position: relative;
	padding: 0 20rem 0 460rem;
}

#kopanContents .office-important .inner1 .txt,
#takenokoContents .office-important .inner1 .txt { padding-left: 415rem; }

.office-important .inner1 .txt h3 {
	position: absolute;
	top: -1rem;
	left: 18rem;
}

.office-important .inner1 .txt h3,
.office-important .inner2 .txt h3 {
	font-size: 21rem;
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.18em;
}

.office-important .inner1 .txt p,
.office-important .inner2 .txt p {
	line-height: 2.05;
	letter-spacing: 0.15em;
	text-align: justify;
}

.office-important .inner1 .txt p.attention,
.office-important .inner2 .txt p.attention {
	margin-top: -7rem;
	font-size: 15rem;
}

/* .office-important .inner2
------------------------------------*/
.office-important .inner2 {
	display: flex;
	justify-content: space-between;
	width: 1180rem;
	margin: 0 auto 85rem;
}

.office-important .inner2:last-child { margin-bottom: -20rem; }
.office-important .inner2 .inner { width: 555rem; }
.office-important .inner2 figure { margin-bottom: 24rem; }
.office-important .inner2 .txt { padding: 0 7rem; }

.office-important .inner2 .txt h3 {
	margin-bottom: 14rem;
	font-size: 22rem;
	text-align: center;
}

.office-important .inner2 .txt p { letter-spacing: 0.1em; }
#tanpopoContents .office-important .inner2 .txt p { letter-spacing: 0.08em; }

/* .office-activity
------------------------------------*/
.office-activity {
	display: flex;
	justify-content: space-between;
	width: 1180rem;
	margin: 0 auto;
	padding: 50rem 65rem 45rem 55rem;
}

.office-activity figure {
	order: 2;
	display: flex;
	justify-content: space-between;
	width: 492rem;
	min-width: 492rem;
}

.office-activity figure img { align-self: flex-start; }
.office-activity figure img:nth-of-type(1) { width: 212rem; }
.office-activity figure img:nth-of-type(2) { width: 265rem; }

.office-activity .txt { order: 1; padding: 10rem 0 10rem 10rem; }

.office-activity h3 {
	margin-bottom: 30rem;
	font-weight: 600;
	font-size: 21rem;
	letter-spacing: 0.12em;
}

.office-activity .dot-list {
	display: inline-block;
	vertical-align: top;
	margin-right: 45rem;
}

.office-activity .dot-list li {
	margin-bottom: 3rem !important;
	font-size: max(15rem, 14px);
}

/* .office-important .class
------------------------------------*/
.office-important .class {
	width: 1180rem;
	margin: 0 auto 85rem;
	padding: 62rem 65rem 65rem;
}

.office-important .class h3 {
	margin-bottom: 26rem;
	font-size: 21rem;
	font-weight: 600;
	letter-spacing: 0.2em;
}

.office-important .class > p {
	line-height: 2.1;
	letter-spacing: 0.14em;
}

.office-important .class .inner {
	display: flex;
	justify-content: space-between;
	margin-top: 46rem;
}

.office-important .class .inner figure {
	width: 176rem;
	min-width: 176rem;
	margin-right: 80rem;
}

.office-important .class .inner figure img:not(:last-of-type) {
	display: block;
	margin-bottom: 45rem;
}

.office-important .class .inner .txt {
	width: 100%;
	padding-top: 2rem;
}

.office-important .class .inner h4 {
	margin-bottom: 11rem;
	color: var(--color-green);
	font-size: 15rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.16em;
}

.office-important .class .inner h4:not(:first-of-type) { margin-top: 27rem; }

.office-important .class .inner h4 span {
	background-color: #FAF0B3;
	padding: 4rem 3rem 3rem 5rem;
}

.office-important .class .inner p { font-size: max(14rem, 13.5px) !important; line-height: 1.9; }
.office-important .class .inner dd p { font-size: max(14rem, 13px) !important;; }
.office-important .class .dl-dt-box { margin-bottom: 36rem; }

.office-important .btn-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20rem;
	width: calc(1180rem + 26rem);
	margin: 0 auto;
}

.office-important .btn-set button {
	background-color: var(--color-green);
	border-radius: 40rem;
	padding: 28rem 40rem 27rem;
	font-family: var(--font-mgothic-jp);
	color: #FFFFFF;
	font-size: 19rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-align: center;
}

.office-important .btn-set button i {
	display: inline-block;
	margin: -8rem 22rem -4rem 0;
	vertical-align: middle;
}

.office-important .btn-set button i.clock img { width: 31rem; }
.office-important .btn-set button i.calendar img { width: 31rem; }

/* .dl-dt-box
------------------------------------*/
.dl-dt-box { display: flex; }

.dl-dt-box dt {
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--color-green);
	width: 112rem;
	min-width: 112rem;
	margin-right: 24rem;
	padding-top: 2rem;
	color: #FFFFFF;
	font-family: var(--font-mgothic-jp);
	font-size: 15rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.1em;
	text-align: center;
	font-feature-settings: 'palt' 0;
}

.dl-dt-box dd {
	padding: 3rem 0;
	align-self: center;
}

.dl-dt-box dd p {
	font-size: max(13rem, 13px) !important;
	letter-spacing: 0.12em;
}

/* .office-school
------------------------------------*/
.office-school {
	position: relative;
	overflow: hidden;
	width: 1200rem;
	margin: 0 auto 60rem;
	padding: 60rem 0 50rem 205rem;
	z-index: 1;
}

/*.office-school:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 38rem;
	right: -55rem;
	background: url(img/share/pic-fukidashi@2x.png) no-repeat left top / 100% auto;
	width: 295rem;
	height: 230rem;
	z-index: 0;
}*/

.office-school h2 {
	position: absolute;
	top: -40rem;
	left: -168rem;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.office-school h2 em {
	display: block;
	margin: 18rem 0 0 22rem;
	font-size: 16rem;
	font-weight: 600;
	letter-spacing: 0.2em;
}

.office-school h2 strong {
	font-family: var(--font-mgothic-jp);
	font-size: 29rem;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.office-school h3 { position: absolute; top: 45rem; right: 38rem; }
.office-school h3 img { width: 440rem; }

.office-school .inner {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	z-index: 1;
}

.office-school .inner figure {
	width: 273rem;
	min-width: 273rem;
	margin-right: 52rem;
}

.office-school .inner figure picture:not(:last-of-type) { display: block; margin-bottom: 10rem; }

.office-school .inner .txt {
	width: 100%;
}

.office-school .inner h4 {
	display: inline-block;
	position: relative;
	margin-bottom: 14rem;
	font-size: 17rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.office-school .inner h4:not(:first-child) { margin-top: 20rem; }

.office-school .inner h4 span {
	display: inline-block;
	position: relative;
}

.office-school .inner h4 span:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	background-color: var(--color-yellow-marker);
	width: calc(100%);
	height: 3rem;
}

.office-school .inner .dl-dt-box {
	margin: 40rem 0 10rem;
}

.office-school .inner .dl-dt-box dt {
	width: 132rem;
	min-width: 132rem;
	margin-right: 28rem;
	font-size: 14rem;
}

.office-school .inner .dl-dt-box dt em {
	padding-top: 3rem;
	font-size: 12rem;
	letter-spacing: 0.06em;
}

.office-school .inner .dl-dt-box h5 {
	margin-bottom: 10rem;
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
}

.office-school .inner .dl-dt-box ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 20rem;
	padding-right: 10rem;
}

.office-school .inner .dl-dt-box li {
	margin-bottom: 3rem;
	font-size: 13rem;
}

.office-school .inner .dl-dt-box .dot-list li:before { top: 8.5rem; }

.office-school .inner p {
	margin-bottom: 10rem;
	font-size: 16rem;
	line-height: 2.2;
	letter-spacing: 0.1em;
}

/*.office-school .inner h4 + p {
	font-size: 15rem;
	line-height: 2.2;
}*/

.office-school .inner p.attention {
	font-size: 13rem;
	letter-spacing: 0.12em;
}

/* .office-kodomoen
------------------------------------*/
.office-kodomoen {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 1160rem;
	margin: 0 auto 120rem;
}

.office-kodomoen figure {
	display: flex;
	justify-content: space-between;
	gap: 0 5rem;
	width: 639rem;
	min-width: 639rem;
	margin-right: 54rem;
}

.office-kodomoen figure img { align-self: flex-start; }
.office-kodomoen figure img:nth-of-type(1) { width: 396rem; }
.office-kodomoen figure img:nth-of-type(2) { width: 238rem; }

.office-kodomoen .txt { width: 100%; }

.office-kodomoen .txt h2 {
	margin-bottom: 25rem;
	font-weight: 600;
	font-size: 25rem;
	letter-spacing: 0.16em;
}

.office-kodomoen .txt p {
	margin-bottom: 5rem;
	line-height: 2.2;
}

.office-kodomoen .txt p.size-s {
	position: absolute;
	top: 332rem;
	left: 0;
	font-size: max(14rem, 13px);
	line-height: 2;
}

.office-kodomoen .txt .link-list { margin: 28rem 0 0 -5rem; }

/* .office-img-scroll
------------------------------------*/
.office-img-scroll-wrap {
	overflow: hidden;
	width: calc(100% + 220rem);
	margin: 0 -110rem -10rem;
}

.office-img-scroll {
	width: 100%;
	white-space: nowrap;
	padding: 150rem 0 250rem;
}

.office-img-scroll figure { display: inline-block; }
.office-img-scroll figure span { display: block; }
.office-img-scroll figure picture { mask-size: 100% 100%; mask-position: center center; mask-repeat: no-repeat; }

.office-img-scroll .img1 { width: 458rem; margin: 0 0 0 -70rem; }
.office-img-scroll .img1 picture { mask-image: url(img/share/img-scroll1-mask.svg); }
.office-img-scroll .img2 { width: 270rem; margin: 0 0 0 -68rem; }
.office-img-scroll .img2 picture { mask-image: url(img/share/img-scroll2-mask.svg); transform: translateY(200rem); }
.office-img-scroll .img3 { width: 387rem; margin: 0 0 0 -155rem; }
.office-img-scroll .img3 picture { mask-image: url(img/share/img-scroll3-mask.svg); transform: translateY(-60rem); }
.office-img-scroll .img4 { width: 298rem; margin: 0 0 0 -90rem; }
.office-img-scroll .img4 picture { mask-image: url(img/share/img-scroll4-mask.svg); transform: translateY(208rem); }
.office-img-scroll .img5 { width: 471rem; margin: 0 0 0 -145rem; }
.office-img-scroll .img5 picture { mask-image: url(img/share/img-scroll5-mask.svg); transform: translateY(-45rem); }
.office-img-scroll .img6 { width: 456rem; margin: 0 0 0 -60rem; }
.office-img-scroll .img6 picture { mask-image: url(img/share/img-scroll6-mask.svg); transform: translateY(200rem); }

.office-img-scroll .img7 { width: 458rem; margin: 0 0 0 -195rem; }
.office-img-scroll .img7 picture { mask-image: url(img/share/img-scroll1-mask.svg); transform: translateY(-100rem); }
.office-img-scroll .img8 { width: 270rem; margin: 0 0 0 -90rem; }
.office-img-scroll .img8 picture { mask-image: url(img/share/img-scroll2-mask.svg); transform: translateY(200rem); }
.office-img-scroll .img9 { width: 387rem; margin: 0 0 0 -155rem; }
.office-img-scroll .img9 picture { mask-image: url(img/share/img-scroll3-mask.svg); transform: translateY(-45rem); }
.office-img-scroll .img10 { width: 298rem; margin: 0 0 0 -90rem; }
.office-img-scroll .img10 picture { mask-image: url(img/share/img-scroll4-mask.svg); transform: translateY(208rem); }
.office-img-scroll .img11 { width: 471rem; margin: 0 0 0 -145rem; }
.office-img-scroll .img11 picture { mask-image: url(img/share/img-scroll5-mask.svg); transform: translateY(-55rem); }
.office-img-scroll .img12 { width: 456rem; margin: 0 0 0 -60rem; }
.office-img-scroll .img12 picture { mask-image: url(img/share/img-scroll6-mask.svg); transform: translateY(200rem); }

.office-img-scroll .img1 { animation: office-scroll1 3.6s var(--easeInOutQuad) infinite; }
.office-img-scroll .img2 { animation: office-scroll2 3.6s var(--easeInOutQuad) infinite; }
.office-img-scroll .img3 { animation: office-scroll3 3.3s var(--easeInOutQuad) infinite; }
.office-img-scroll .img4 { animation: office-scroll4 3s var(--easeInOutQuad) infinite; }
.office-img-scroll .img5 { animation: office-scroll5 3.6s var(--easeInOutQuad) infinite; }
.office-img-scroll .img6 { animation: office-scroll6 3.3s var(--easeInOutQuad) infinite; }
.office-img-scroll .img7 { animation: office-scroll7 3s var(--easeInOutQuad) infinite; }
.office-img-scroll .img8 { animation: office-scroll8 3.6s var(--easeInOutQuad) infinite; }
.office-img-scroll .img9 { animation: office-scroll9 3.3s var(--easeInOutQuad) infinite; }
.office-img-scroll .img10 { animation: office-scroll0 3.3s var(--easeInOutQuad) infinite; }
.office-img-scroll .img11 { animation: office-scroll1 3s var(--easeInOutQuad) infinite; }
.office-img-scroll .img12 { animation: office-scroll2 3.3s var(--easeInOutQuad) infinite; }

@keyframes office-scroll1 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,-8rem) } 100%{ transform: translate(0,0); }}
@keyframes office-scroll2 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,6rem) } 100%{ transform: translate(0,0); }}
@keyframes office-scroll3 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,-8rem) } 100%{ transform: translate(0,0); }}
@keyframes office-scroll4 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,8rem) } 100%{ transform: translate(0,0); }}
@keyframes office-scroll5 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,-8rem) } 100%{ transform: translate(0,0); }}
@keyframes office-scroll6 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,10rem) } 100%{ transform: translate(0,0); }}
@keyframes office-scroll7 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,-8rem) } 100%{ transform: translate(0,0); }}
@keyframes office-scroll8 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,8rem) } 100%{ transform: translate(0,0); }}
@keyframes office-scroll9 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,-6rem) } 100%{ transform: translate(0,0); }}
@keyframes office-scroll10 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,8rem) } 100%{ transform: translate(0,0); }}
@keyframes office-scroll11 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,-8rem) } 100%{ transform: translate(0,0); }}
@keyframes office-scroll12 { 0%{ transform: translate(0,0) } 50%{ transform: translate(0rem,6rem) } 100%{ transform: translate(0,0); }}

/* .office-message
------------------------------------*/
.office-message {
	position: relative;
	width: 1140rem;
	margin: 0 auto 160rem;
	padding: 50rem 0 0 530rem;
}

.office-message h2 {
	position: absolute;
	top: 0;
	left: 0;
	font-family: var(--font-gothic-en);
	letter-spacing: 0.14em;
}

.office-message h2 span {
	display: inline-block;
	transform: translateY(-3rem);
}

.office-message h3 {
	position: absolute;
	top: 45rem;
	left: 0;
	font-size: 27rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.18em;
}

.office-message p {
	margin-bottom: 14rem;
	font-size: 17rem;
	line-height: 2.2;
}

/* .office-letter
------------------------------------*/
.office-letter {
	width: 950rem;
	margin: 0 auto 140rem;
	padding: 72rem 72rem 65rem;
	text-align: center;
}

.office-letter h2 {
	margin-bottom: 32rem;
	font-size: 25rem;
	font-weight: 600;
	letter-spacing: 0.17em;
}

.office-letter .inner {
	background: url(img/share/line-dot-gray-multiple.svg) repeat left top 40rem / 5rem auto;
	padding: 0 10rem;
}

.office-letter p {
	font-size: 17rem;
	line-height: 2.95;
	letter-spacing: 0.12em;
	text-align: justify;
}

/* .office-relation
------------------------------------*/
.office-relation {
	width: 1140rem;
	margin: 0 auto 150rem;
}

.office-relation .sec-inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 70rem;
}

.office-relation figure { margin-bottom: 34rem; }

.office-relation h3 {
	margin-bottom: 22rem;
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 21rem;
	letter-spacing: 0.16em;
	text-align: center;
}

.office-relation p { text-align: justify; }
.office-relation .btn-link { margin-top: 30rem; }
.office-relation .btn-link a { display: block; }

/* .office-news
------------------------------------*/
.office-news {
	position: relative;
	width: 1140rem;
	margin: 0 auto 120rem;
}

.office-news .sns { position: absolute; top: -2rem; right: 0; }

.office-news .sns li a {
	display: inline-block;
	padding: 0 0 10rem;
	color: var(--color-green);
	font-size: 17rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.office-news .sns li a img {
	display: inline-block;
	width: 20rem;
	margin-right: 12rem;
	transform: translateY(2rem);
}

/* .office-guide
------------------------------------*/
.office-guide {
	width: 1140rem;
	margin: 0 auto 120rem;
}

.office-guide h2 { margin-bottom: 45rem; }
.office-guide .inner { padding: 45rem 70rem 50rem; }

.office-guide dl {
	display: flex;
	background: url(img/share/line-dot-gray.svg) repeat-x left bottom / 7rem auto;
	padding: 16rem 0 15rem 8rem;
}

.office-guide dl:last-of-type  { background: none; padding-bottom: 4rem; }
.office-guide dd dl:last-of-type { background: none; padding-bottom: 0; }
.office-guide .dd-dl { margin-left: -8rem; }

.office-guide .dd-dl:not(:first-child) {
	background: url(img/share/line-dot-gray.svg) repeat-x left top / 7rem auto;
	margin-top: 20rem;
}

.office-guide .dd-dl:has(dl:first-of-type:last-of-type) { background: none; margin: 0; padding: 0; }
.office-guide .dd-dl:first-child dl:first-of-type { padding-top: 0; }
.office-guide dl dl:first-of-type:last-of-type { background: none; padding: 0; }
.office-guide dl:not(:last-of-type) .dd-dl dl:last-of-type { background: none; padding-bottom: 0; }

.office-guide dl,
.office-guide dl p {
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.office-guide dt {
	width: 140rem;
	min-width: 140rem;
	color: var(--color-green);
	font-weight: 600;
	letter-spacing: 0.14em;
	white-space: nowrap;
}

.office-guide dt.pr-s { width: 125rem; min-width: 125rem; color: var(--color-text); font-weight: 400; }
.office-guide dt.pr-l { width: 230rem; min-width: 230rem; }

.office-guide dd { width: 100%; }

.office-guide dd h3 {
	margin-bottom: 6rem;
	color: var(--color-text);
	font-size: 16rem;
	letter-spacing: 0.1em;
}

.office-guide dd p:has(+ p.attention) { display: inline-block; margin-right: 10rem; margin-bottom: 0; }
.office-guide dd p.attention { display: inline-block; font-size: 14rem; }
.office-guide dd .attention-list { margin-top: 8rem; margin-bottom: 4rem; }
.office-guide dd p + .attention-list { margin-top: -10rem; }
.office-guide dd .dot-list li { margin-bottom: 4rem; }

/* .office-outline
------------------------------------*/
.office-outline {
	display: flex;
	align-items: flex-end;
	width: 1140rem;
	margin: 0 auto 80rem;
}

.office-outline .map {
	overflow: hidden;
	position: relative;
	width: 684rem;
	height: 494rem;
	margin-right: 47rem;
}

#tanpopoContents .office-outline .map {
	height: 540rem;
}

#kopanContents .office-outline .map,
#takenokoContents .office-outline .map,
#poppoContents .office-outline .map {
	height: 430rem;
}

.office-outline .map:has(.map-inner) {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 12rem;
}

.office-outline .map-inner {
	position: relative;
	overflow: hidden;
	height: 100%;
}

.map iframe {
	position: absolute;
	top: -200rem;
	left: 0;
	width: 100%;
	height: calc(100% + 400rem);
}

.office-outline .txt {
	position: relative;
	padding: 0 0 5rem;
}

.office-outline h1 {
	margin-bottom: 35rem;
	color: var(--color-green);
}

.office-outline h1 em {
	display: block;
	margin: 0 0 10rem 2rem;
	font-size: max(15rem, 14px);
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.12em;
}

.office-outline h1 strong {
	display: block;
	font-size: 22rem;
	font-weight: 600;
	letter-spacing: 0.12em;
}

/*.office-outline .txt .sns { position: absolute; top: 0; right: 0; text-align: center; }*/
.office-outline .txt .sns { position: absolute; top: -60rem; left: 0; text-align: center; }
.office-outline .txt .sns li { display: inline-block; margin-right: 8rem; }
.office-outline .txt .sns li:last-of-type { margin-right: 14rem; }
.office-outline .txt .sns li:first-of-type:last-of-type { margin-right: 0; }
.office-outline .txt .sns img { width: 36rem; }

/*.office-outline .txt .sns span {
	display: block;
	margin-top: 9rem;
	padding-left: 2rem;
	color: var(--color-green);
	font-size: 13rem;
	letter-spacing: 0.13em;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
	white-space: nowrap;
}*/

.office-outline dl {
	display: flex;
	background: url(img/share/line-dot-green.svg) repeat-x left top / 6rem auto;
	padding: 9rem 0 20rem;
}

.office-outline dl,
.office-outline dl p {
	font-size: 15rem;
	line-height: 1.8;
	letter-spacing: 0.07em;
}

.office-outline dt {
	width: 87rem;
	min-width: 87rem;
	color: var(--color-green);
	font-weight: 600;
	letter-spacing: 0.06em;
}

.office-outline dd p { margin-bottom: 8rem; }
.office-outline dd p.attention { margin-top: -8rem; font-size: max(13rem, 12px); }

.office-outline .address {
	margin-top: 30rem;
}

.office-outline .dl + .address { margin-top: 18rem; }

.office-outline address {
	margin: 0 0 7rem;
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.1em;
}

.office-outline address span {
	display: block;
	font-size: max(13rem, 12px);
	letter-spacing: 0.07em;
}

.office-outline address a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.office-outline h2 {
	margin: 32rem 0 10rem;
	font-size: 16rem;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.office-outline h2 + address {
	margin-top: 0;
	font-size: 15rem;
	letter-spacing: 0.08em;
}

.office-outline h2 + address span {
	display: inline-block;
	margin-right: 6rem;
	font-size: 15rem;
}

.office-outline .tel {
	font-size: 16rem;
	letter-spacing: 0.02em;
}

.office-outline .tel a { pointer-events: none; }

.office-outline .address p.attention,
.office-outline .address .attention-list {
	margin-top: 20rem;
	margin-bottom: -10rem !important;
	font-size: 13rem;
}

/* .sec-contact
------------------------------------*/
.sec-contact {
	display: flex;
	justify-content: space-between;
	width: 1140rem;
	margin: 0 auto;
	padding: 34rem 60rem 34rem 55rem;
}

.sec-contact p {
	font-size: 17rem;
	line-height: 2;
	letter-spacing: 0.14em;
}

.sec-contact .btn-set { display: flex; margin: 6rem 0 0 40rem; }
.sec-contact .btn-set .btn-link-round { margin-left: 25rem; }
.sec-contact .btn-set a { display: block; }


/* page recruit
---------------------------------------------------------------------------*/
#recruit-interview { margin-top: -195rem; padding-top: 195rem; }
#recruit-job { margin-top: -190rem; padding-top: 190rem; }

/* .recruit-main
------------------------------------*/
.recruit-main {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	margin-bottom: 120rem;
	padding-bottom: min(63.2%, 100vh);
}

.btn-recruit-job {
	position: absolute;
	top: 120rem;
	right: 56rem;
	background-color: #005F26;
	border-radius: 4rem;
	z-index: 9;
}

.btn-recruit-job a {
	display: block;
	padding: 22rem 41rem 22rem 44rem;
	color: #FFFFFF;
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 20rem;
	line-height: 1.8;
	letter-spacing: 0.2em;
}

.recruit-main-slide { position: absolute !important; z-index: 0; }

.recruit-main-slide,
.recruit-main-slide .slick-list,
.recruit-main-slide .slick-track { width: 100% !important; height: 100% !important; }

.recruit-main-slide figure {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100%;
	height: 100%;
	font-family: var(--font-mgothic-jp);
}

.recruit-main-slide figure:first-of-type { position: relative !important; }

.recruit-main-slide figure img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	object-fit: cover;
	width: 100%;
	height: 100%;
}

.recruit-main h6 {
	position: absolute;
	bottom: 35rem;
	right: 50rem;
	color: #FFFFFF;
	font-weight: 600;
	font-size: 28rem;
	line-height: 1.95;
	letter-spacing: 0.18em;
	text-align: right;
	z-index: 2;
}

.recruit-main .interview {
	position: absolute;
	bottom: 40rem;
	left: 45rem;
	background-color: #FFFFFF;
	border-radius: 20rem;
	width: 394rem;
	white-space: nowrap;
	z-index: 2;
	opacity: 0;
}

.recruit-main .interview h2 {
	display: inline-block;
	position: absolute;
	top: -13rem;
	left: 26rem;
	background-color: var(--color-green);
	padding: 6rem 8rem 6rem 10rem;
	color: #FFFFFF;
	font-size: 15rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	z-index: 1;
}

.recruit-main .interview a:hover {
	opacity: 1 !important;
}

.recruit-main .interview .inner {
	position: relative;
	z-index: 0;
}

.recruit-main .interview .inner a {
	display: block;
	position: relative;
	padding: 35rem 0 20rem 27rem;
}

.recruit-main .interview h3 {
	background: url(img/share/ico-arrow-yellow.svg) no-repeat left top 1rem / 19rem auto;
	min-height: 22rem;
	margin-bottom: 13rem;
	padding-left: 26rem;
}

.recruit-main .interview h3 strong {
	padding-right: 7rem;
	font-size: 21rem;
	font-weight: 600;
	letter-spacing: 0.09em;
}

.recruit-main .interview h3 em {
	font-size: 12rem;
	font-weight: 600;
	letter-spacing: 0.07em;
}

.recruit-main .interview h4 {
	margin: 0 0 14rem 1rem;
	font-family: var(--font-gothic-jp);
	font-size: max(12rem, 12px);
	letter-spacing: 0.14em;
}

.recruit-main .interview h5 {
	display: inline-block;
	border: 1px solid var(--color-green);
	border-radius: 30rem;
	margin-left: -1rem;
	padding: max(12rem, 12px) 14rem max(12rem, 12px) 16rem;
	color: var(--color-green);
	font-size: max(13rem, 12px);
	font-weight: 600;
	line-height: 0;
	letter-spacing: 0.1em;
}

.interview-slide {
	padding-right: 127rem;
}

.interview-slide:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 127rem;
	background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,1) 100%);
	width: 20rem;
	height: 100%;
	z-index: 1;
}

.interview-slide-img {
	position: absolute;
	top: 0;
	right: 0;
	width: 124rem;
	height: 100%;
}

.interview-slide-img figure {
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	z-index: 0;
	opacity: 0;
	will-change: transform;
}

.interview-slide-img figure.current {
	z-index: 1;
}

.interview-slide-img figure a {
	display: block;
	position: relative;
	padding: 20rem 20rem 20rem 0;
}

.interview-slide-img figure span {
	display: block;
	position: relative;
	overflow: hidden;
	border-radius: 50%;
	width: 104rem !important;
	height: 104rem !important;
}

.interview-slide-img figure img {
	display: block;
	object-fit: cover;
	object-position: 50% 10%;
	width: 140%;
	height: 100%;
	margin-left: -20%;
}

/* .recruit-lead
------------------------------------*/
.recruit-lead {
	position: relative;
	width: 1180rem;
	margin: 0 auto 125rem;
	transform: translateX(10rem);
}

.recruit-lead .inner1 {
	display: flex;
	justify-content: space-between;
	margin-bottom: 75rem;
	padding: 0 74rem 0 78rem;
}

.recruit-lead .inner1 .txt h2 {
	margin-bottom: 15rem;
	font-size: 16rem;
	font-weight: 600;
	letter-spacing: 0.2em;
}

.recruit-lead .inner1 .txt h3 {
	margin: 0 0 40rem -2rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 49rem;
	letter-spacing: 0.09em;
}

.recruit-lead .inner1 .txt h4 {
	margin-bottom: 26rem;
	color: var(--color-green);
	font-size: 23rem;
	font-weight: 600;
	line-height: 1.95;
	letter-spacing: 0.15em;
}

.recruit-lead .inner1 .txt p,
.recruit-lead .inner2 .txt p {
	margin: 0 0 12rem 2rem;
	font-size: 17rem;
	line-height: 2.2;
	letter-spacing: 0.14em;
}

.recruit-lead .inner1 figure {
	width: 332rem;
	min-width: 332rem;
	margin-top: 10rem;
}

.recruit-lead .inner2 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 0 0 56rem;
}

.recruit-lead .inner2 figure {
	order: 1;
	width: 393px;
	min-width: 393px;
	margin-right: 72rem;
}

.recruit-lead .inner2 .txt { order: 2; width: 100%; }

.recruit-lead .inner2 .link-list { margin: 40rem 0 0 -4rem; white-space: nowrap; }
.recruit-lead .inner2 .link-list li a { font-size: 19rem; }

/* .recruit-img
------------------------------------*/
.recruit-img {
	position: relative;
	overflow: hidden;
	width: 100%;
	max-width: var(--width-max);
	height: 330rem;
	margin: 0 auto 120rem;
}

.recruit-img figure { position: absolute; }

.recruit-img .img1 { top: 44rem; left: 24rem; width: 176rem; }
.recruit-img .img2 { top: 81rem; left: 304rem; width: 364rem; }
.recruit-img .img3 { top: 0; right: 430rem; width: 204rem; }
.recruit-img .img4 { top: 76rem; right: -6rem; width: 342rem; }

/* .recruit-childcare
------------------------------------*/
.recruit-childcare {
	position: relative;
	width: 1100rem;
	margin: 0 auto 180rem;
	padding: 65rem 0 0 125rem;
}

.recruit-childcare h2 {
	position: absolute;
	top: 24rem;
	left: 0;
	font-size: 17rem;
	letter-spacing: 0.24em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.recruit-childcare h3 { position: absolute; top: 6rem; right: 0; }
.recruit-childcare h3 img { width: 168rem; }

.recruit-childcare p {
	font-size: 17rem;
	line-height: 2.35;
	letter-spacing: 0.16em;
}

.recruit-childcare dl { display: flex; }
.recruit-childcare p + dl { margin-top: 42rem; }
.recruit-childcare dl:not(:last-of-type) { margin-bottom: 32rem; }

.recruit-childcare dt {
	width: 174rem;
	min-width: 174rem;
	padding-top: 17rem;
}

.recruit-childcare dt img {
	display: inline-block;
	border-bottom: max(2rem, 2px) solid var(--color-green);
}

.recruit-childcare dt img {
	width: 132rem;
	padding-bottom: 4rem;
}

.recruit-childcare dd p {
	line-height: 1.95;
}

.recruit-childcare .pic {
	display: block;
	position: absolute;
	bottom: -15rem;
	right: -100rem;
	width: 162rem;
}

/* .recruit-img-slide
------------------------------------*/
.recruit-img-slide {
	width: 1395rem;
	margin: 0 auto 185rem;
}

/* .interview-list
------------------------------------*/
.interview-list {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	width: 1190rem;
	margin: 0 auto;
}

.interview-list .title {
	position: relative;
	margin-right: 50rem;
	padding-top: 7rem;
	z-index: 1;
}

.interview-list .title .pic {
	display: block;
	position: absolute;
	bottom: -88rem;
	left: 162rem;
	width: 154rem;
}

.interview-list .title h2 {
	margin-bottom: 26rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 54rem;
	letter-spacing: 0.07em;
	text-decoration: underline;
	text-decoration-thickness: 2px;
	text-underline-offset: 0.1em;
}

.interview-list .title h3 {
	margin-bottom: 30rem;
	color: #FFFFFF;
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 23rem;
	line-height: 1.8;
	letter-spacing: 0.14em;
	white-space: nowrap;
}

.interview-list .title h3 span {
	display: inline-block;
	padding: 4rem 2rem 2rem 5rem;
	background-color: var(--color-green);
	line-height: 1;
}

.interview-list .title p {
	padding-right: 10rem;
	font-size: 15rem;
	text-align: justify;
}

.interview-list ul {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 22rem;
}

.interview-list li {
	background-color: #FFFFFF;
	border-radius: 9rem;
	width: 280rem;
	white-space: nowrap;
}

.interview-list li a {
	display: block;
	position: relative;
	padding: 40rem 35rem 25rem;
	color: var(--color-green);
	font-weight: 600;
	font-family: var(--font-mgothic-jp);
	opacity: 1 !important;
}

.interview-list li a:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	left: 20rem;
	background-color: var(--color-yellow-btn);
	border-radius: 7rem;
	width: calc(100% - 40rem);
	height: 7rem;
}

.interview-list li figure {
	overflow: hidden;
	position: relative;
	width: 100%;
	height: 0;
	margin-bottom: 45rem;
	padding-bottom: 100%;
}

.interview-list li figure img {
	display: block;
	position: absolute;
	top: -10rem;
	left: -10rem;
	width: calc(100% + 20rem);
	height: calc(100% + 20rem);
	transform-origin: center bottom;
}

.interview-list li figure img.off {
	z-index: 1;
}

.interview-list li figure img.on {
	z-index: 2;
	opacity: 0;
}

.interview-list li h3 {
	text-align: center;
	white-space: nowrap;
}

.interview-list li h3 strong {
	padding-right: 12rem;
	font-size: 20rem;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.interview-list li h3 em {
	display: inline-block;
	font-size: max(13rem, 12px);
	font-weight: 600;
	letter-spacing: 0.14em;
	transform: translateY(-2rem);
}

.interview-list li a > div {
	background: url(img/share/line-dot-gray.svg) repeat-x left top / 7rem auto;
	margin: 22rem -7rem 0;
	padding-top: 12rem;
}

.interview-list li h4 {
	margin-bottom: 17rem;
	font-size: max(12rem, 12px);
	font-weight: 600;
	line-height: 1.8;
	letter-spacing: 0.14em;
	text-decoration: underline;
	text-decoration-thickness: max(1rem, 1px);
	text-underline-offset: 0.3em;
}

.interview-list li p {
	margin-left: 1rem;
	font-size: 18rem;
	line-height: 1.6;
	letter-spacing: 0.16em;
}

.interview-list li:nth-of-type(1) p { padding-top: 10rem; font-size: 23rem; letter-spacing: 0.23em; }
.interview-list li:nth-of-type(3) p { font-size: 19rem; line-height: 1.5; }

.interview-list li p span {
	font-size: 14rem;
	letter-spacing: 0.14em;
}

/* .recruit-teacher
------------------------------------*/
.recruit-teacher {
	border-top: 1px solid var(--color-border);
	width: 1186rem;
	margin: 140rem auto 195rem;
	padding: 90rem 43rem 0;
}

.recruit-teacher .sec-head {
	display: flex;
	margin-bottom: 60rem;
}

.recruit-teacher .sec-head .title {
	margin-right: 80rem;
	white-space: nowrap;
	transform: translateY(-5rem);
}

.recruit-teacher .sec-head h2 {
	margin-bottom: 28rem;
}

.recruit-teacher .sec-head h3 {
	font-weight: 600;
	font-size: 22rem;
	letter-spacing: 0.18em;
}

.recruit-teacher .sec-head p {
	line-height: 2.2;
	letter-spacing: 0.14em;
}

.recruit-teacher .sec-inner { display: flex; justify-content: space-between; }

.recruit-teacher .sec-inner figure {
	width: 300rem;
	min-width: 300rem;
	margin-right: 105rem;
}

.recruit-teacher .sec-inner figure img:not(:last-of-type) { display: block; margin-bottom: 25rem; }

.recruit-teacher dl:not(:last-of-type) { margin-bottom: 36rem; }

.recruit-teacher dt {
	position: relative;
	margin-bottom: 16rem;
	color: var(--color-green);
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
	font-size: 21rem;
	line-height: 1.8;
	letter-spacing: 0.16em;
}

.recruit-teacher dt i {
	display: block;
	position: absolute;
	top: 5rem;
	left: -42rem;
	font-size: max(13rem, 13px);
}

.recruit-teacher dd p {
	margin-bottom: 12rem;
	line-height: 2.1;
	letter-spacing: 0.12em;
	text-align: justify;
}

/* .recruit-job
------------------------------------*/
.recruit-job {
	position: relative;
	width: 1100rem;
	margin: 0 auto;
	padding: 0 0 0 240rem;
}

.recruit-job h2 {
	position: absolute;
	top: 10rem;
	left: 0;
}

.recruit-job > p {
	line-height: 2.2;
	letter-spacing: 0.14em;
}

.job-list { width: 630rem; }
.job-list > div:not(:last-of-type) { margin-bottom: 32rem; }

.job-list > div > div {
	position: relative;
	background-color: #FFFFFF;
	padding: 46rem 180rem 46rem 57rem;
	cursor: pointer;
	backface-visibility: hidden;
	overflow: hidden;
}

.job-list h3 {
	margin-bottom: 4rem;
	color: var(--color-text);
	font-weight: 600;
	font-size: 20rem;
	line-height: 1.7;
	letter-spacing: 0.16em;
}

.job-list h3:has(+h4) { margin-bottom: 14rem; }

.job-list h4 {
	color: var(--color-green);
	font-size: 15rem;
	line-height: 1.7;
	letter-spacing: 0.17em;
}

.job-list .btn {
	position: absolute;
	top: 48rem;
	right: 38rem;
	min-height: 26rem;
	padding: 5rem 25rem 25rem 35rem;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 600;
	font-size: 17rem;
	letter-spacing: 0.17em;
	white-space: nowrap;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.job-list .btn i {
	display: block;
	position: absolute;
	top: 3rem;
	left: 0;
	background: url(img/share/ico-arrow-yellow.svg) no-repeat left top / 26rem;
	width: 26rem;
	height: 26rem;
	transform-origin: right center;
}

/* .modal-recruit
------------------------------------*/
.modal-recruit {
	display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
	min-width: var(--width-min);
  height: 100%;
  padding: 0 0 0 calc(100% - 950rem);
  z-index: 10100;
  opacity: 0;
}

.modal-recruit-bg {
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(144,144,144,0.7);
  width: 100%;
  height: 100%;
  z-index: 0;
}

.modal-recruit .pic {
	position: absolute;
	top: 55vh;
	right: 905rem;
	z-index: 2;
	pointer-events: none;
	opacity: 0;
}

.modal-recruit .pic img { display: block; width: 220rem; }

.modal-recruit-inner {
  position: relative;
  background-color: #FFFFFF;
  width: 950rem;
  height: 100%;
  margin: 0;
  padding: 0;
	z-index: 1;
}

.modal-recruit .job {
	display: none;
	overflow-y: scroll;
	height: 100%;
	opacity: 0;
}

.modal-recruit .job-title {
	position: relative;
	background-color: var(--color-yellow-btn);
	padding: 100rem 400rem 80rem 90rem;
}

.modal-recruit .job-title:after {
	display: block;
	content: '';
	position: absolute;
	bottom: -67rem;
	right: 90rem;
	background: url(img/share/pic-job@2x.png?251210) no-repeat left top / 100% auto;
	width: 315rem;
	height: 205rem;
	z-index: 1;
	pointer-events: none;
}

.modal-recruit .job-title h3 {
	margin: 0 0 14rem -1rem;
	color: var(--color-text);
	/*font-weight: 600;*/
	font-size: 26rem;
	line-height: 1.7;
	letter-spacing: 0.14em;
}

.modal-recruit .job-title h4 {
	color: var(--color-green);
	font-size: 18rem;
	line-height: 1.7;
	letter-spacing: 0.17em;
}

.modal-recruit .job-detail {
	padding: 120rem 90rem 100rem;
}

.modal-recruit .job-detail .dl {
	background: url(img/share/line-dot-gray.svg) repeat-x left top / 7rem auto;
}

.modal-recruit .job-detail dl {
	display: flex;
	background: url(img/share/line-dot-gray.svg) repeat-x left bottom / 7rem auto;
	padding: 21rem 11rem 22rem;
}

.modal-recruit .job-detail .dl,
.modal-recruit .job-detail .dl p {
	font-size: 16rem;
	line-height: 1.95;
	letter-spacing: 0.11em;
}

.modal-recruit .job-detail .dl p { margin-bottom: 12rem; }
.modal-recruit .job-detail .dl p:last-of-type { margin-bottom: 0; }

.modal-recruit .job-detail dt {
	width: 220rem;
	min-width: 220rem;
	padding-right: 40rem;
	color: var(--color-green);
	font-weight: 600;
}

.modal-recruit .job-detail dd { width: 100%; }

.modal-recruit .job-detail dd a {
	color: var(--color-green);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

.modal-recruit .job-detail dd .attention {
	margin-top: 2rem;
}

.modal-recruit .job-detail dd .attention,
.modal-recruit .job-detail dd .attention p {
	font-size: 14rem;
}

.modal-recruit .btn-link-round {
	margin: 65rem -8rem 0;
}

.modal-recruit .btn-link-round a {
	display: block;
	background-image: none;
	padding: 23rem 24rem 24rem;
	font-size: 19rem;
	letter-spacing: 0.16em;
}


/* page interview
---------------------------------------------------------------------------*/
#interviewContents { padding-bottom: 160rem; }
#interviewContents .interview-list .pic,
#interviewContents .interview-list .title p { display: none; }

#interviewContents .btn-link.round {
	width: 1220rem;
	margin: 85rem auto 0;
}

#interviewContents .btn-link.round a {
	display: block;
	padding-top: 20rem;
	padding-bottom: 20rem;
	font-size: 19rem;
}

/* .interview-main
------------------------------------*/
.interview-main {
	position: relative;
	overflow: hidden;
	width: 100%;
	height: 0;
	padding-bottom: min(61.8%, 100vh);
}

.interview-main figure { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 0; }
.interview-main figure img { object-fit: cover; width: 100%; height: 100%; }

.interview-main .btn-close { position: fixed; top: 0; right: 0; z-index: 2; opacity: 0; }
.interview-main .btn-close a { display: block; padding: 40rem; }
.interview-main .btn-close img { width: 90rem; }

.interview-main h2 {
	position: absolute;
	top: 40rem;
	left: 40rem;
	z-index: 1;
}

.interview-main h2 span {
	display: inline-block;
	position: relative;
	margin-bottom: 12rem;
	color: #FFFFFF;
	font-family: var(--font-mgothic-jp);
	font-size: 23rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	white-space: nowrap;
}

.interview-main h2 span i {
	background-color: var(--color-green);
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 100%;
}

.interview-main h2 span.right i { left: inherit; right: 0; }

.interview-main h2 span b {
	display: inline-block;
	background-color: var(--color-green);
	padding: 3rem 3rem 2rem 5rem;
	opacity: 0;
}

/* .interview-title
------------------------------------*/
.interview-title {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	border-bottom: 6rem solid #FFFFFF;
	width: 1280rem;
	margin: -45rem auto 100rem;
	padding: 0 65rem 100rem 52rem;
	font-family: var(--font-mgothic-jp);
}

.interview-title .name {
	order: 1;
	position: relative;
	background-color: #FFFFFF;
	border-radius: 200rem 200rem 0 0;
	width: 235rem;
	min-width: 235rem;
	padding: 72rem 21rem 40rem;
	color: var(--color-green);
	text-align: center;
	white-space: nowrap;
	transform: translateY(10rem);
}

.interview-title .name:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 0;
	left: -7rem;
	background-color: var(--color-yellow-btn);
	width: calc(100% + 14rem);
	height: 7rem;
}

.interview-title .name * { font-weight: 600; }
.interview-title .name h1 { margin-bottom: 14rem; }

.interview-title .name h1 em {
	display: block;
	margin-bottom: 10rem;
	font-size: max(12rem, 12px);
	letter-spacing: 0.45em;
}

.interview-title .name h1 strong {
	display: block;
	font-size: 27rem;
	letter-spacing: 0.12em;
}

.interview-title .name h2 {
	background: url(img/share/line-dot-gray-light.svg) repeat-x left bottom / 21rem auto;
	margin-bottom: 32rem;
	padding-bottom: 40rem;
}

.interview-title .name h2 span {
	display: block;
	margin-bottom: 14rem;
	font-size: 16rem;
	letter-spacing: 0.14em;
}

.interview-title .name h2 span.size-l {
	margin-bottom: 12rem;
}

.interview-title .name h2 span.size-l,
.interview-title .name h2 strong {
	display: block;
	font-size: 23rem;
	letter-spacing: 0.1em;
}

.interview-title .name h2 strong em {
	font-size: max(14rem, 13px);
}

.interview-title .name h3 {
	margin-bottom: 26rem;
	font-size: max(13rem, 13px);
	line-height: 1.8;
	letter-spacing: 0.13em;
}

.interview-title .name h4 {
	border: 1px solid var(--color-green);
	border-radius: 30rem;
	margin: 0 4rem;
	padding: max(15rem, 15px) 14rem max(15rem, 15px) 16rem;
	color: var(--color-green);
	font-size: 15rem;
	line-height: 0;
	letter-spacing: 0.1em;
}

.interview-title .name h4 span {
	padding: 0 5rem;
}

.interview-title .txt {
	order: 2;
	width: 100%;
	margin: 0 55rem 0 60rem;
}

.interview-title .txt h2 {
	display: inline-block;
	border-bottom: 1px solid var(--color-green);
	margin-bottom: 12rem;
	padding: 0 0 4rem 2rem;
	font-size: max(14rem, 13px);
	font-weight: 600;
	letter-spacing: 0.16em;
}

.interview-title .txt h3 {
	margin-bottom: 22rem;
	font-size: 28rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.22em;
}

.interview-title .txt h3.size-s {
	padding-top: 2rem;
	font-size: 24rem;
	letter-spacing: 0.18em;
}

.interview-title .txt p {
	font-size: 17rem;
	line-height: 2.1;
	text-align: justify;
}

.interview-title .img {
	order: 3;
	position: relative;
	width: 240rem;
	min-width: 240rem;
	z-index: 0;
}

.interview-title .img:after {
	display: block;
	content: '';
	position: absolute;
	top: 7rem;
	left: 7rem;
	background-color: #AFB2AE;
	border-radius: 2rem;
	width: 100%;
	height: 100%;
	z-index: 0;
}

.interview-title .img figure {
	position: relative;
	border: max(2rem, 2px) solid var(--color-green-dark);
	border-radius: 2rem;
	z-index: 1;
}

.interview-title .book {
	position: absolute;
	top: -16rem;
	left: -240rem;
	background: url(img/share/pic-book.png) no-repeat left top / 100% auto;
	width: 157rem;
	height: 115rem;
	padding: 25rem 0 0;
	color: var(--color-green);
	text-align: center;
	white-space: nowrap;
}

.interview-title .book:before {
	display: block;
	content: '';
	position: absolute;
	top: 9rem;
	left: -16rem;
	background-color: #FFFFFF;
	width: max(1rem, 1px);
	height: calc(100% - 16rem);
}

.interview-title .book h2 {
	display: inline-block;
	border-bottom: 1px solid var(--color-green);
	margin-bottom: 11rem;
	padding: 0 0 4rem 2rem;
	font-size: 13rem;
	font-weight: 600;
	letter-spacing: 0.16em;
}

.interview-title .book h3 {
	padding-left: 1rem;
	font-size: 20rem;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.interview-title .book h3.size-s {
	font-size: 17rem;
}

/* .interview-common
------------------------------------*/
.interview-common {
	width: 1216rem;
	margin: 0 auto 100rem;
	font-family: var(--font-mgothic-jp);
}

.interview-common figure {
	margin-bottom: 95rem;
}

.interview-common .inner {
	position: relative;
	padding: 0 55rem 0 560rem;
}

.interview-common h3 {
	position: absolute;
	top: -3rem;
	left: 35rem;
	font-size: 23rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.12em;
}

.interview-common dl:not(:last-of-type) { margin-bottom: 55rem; }

.interview-common dt {
	position: relative;
	margin-bottom: 17rem;
	padding-left: 75rem;
	color: var(--color-green);
	font-size: 17rem;
	font-weight: 600;
	line-height: 2;
	letter-spacing: 0.12em;
}

.interview-common dt.nowrap {
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.interview-common dt:before {
	display: block;
	content: '';
	position: absolute;
	top: 16rem;
	left: 0;
	background-color: var(--color-green);
	width: 56rem;
	height: 1px;
}

.interview-common p {
	font-size: 17rem;
	line-height: 2.25;
	letter-spacing: 0.14em;
	text-align: justify;
}

/* .interview-message
------------------------------------*/
.interview-message {
	overflow: hidden;
	margin: 120rem auto 100rem;
	font-family: var(--font-mgothic-jp);
}

.interview-message-inner {
	position: relative;
	width: 1140rem;
	margin: 0 auto;
	padding: 140rem 205rem 110rem 285rem;
}

.interview-message-inner:after {
	display: block;
	content: '';
	position: absolute;
	bottom: 42rem;
	right: -232rem;
	background: url(img/share/pic-fukidashi2@2x.png) no-repeat right bottom / 100% auto;
	width: 375rem;
	height: 292rem;
	z-index: -1;
}

.interview-message figure { position: absolute; top: 195rem; left: 0; width: 200rem; }
.interview-message h2 { position: absolute; top: 0; left: 0; }

.interview-message h2 em {
	display: block;
	margin-bottom: 25rem;
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 54rem;
	letter-spacing: 0.1em;
}

.interview-message h2 strong {
	display: block;
	margin-left: 2rem;
	font-size: max(14rem, 14px);
	font-weight: 600;
	letter-spacing: 0.16em;
}

.interview-message h3 {
	position: absolute;
	top: 20rem;
	right: 0;
	font-weight: 600;
	font-size: 26rem;
	line-height: 1.9;
	letter-spacing: 0.18em;
	font-feature-settings: 'palt' 0;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.interview-message h3 span { display: inline-block; position: relative; }
.interview-message h3 span.line3 { margin-top: -15rem; }

.interview-message h3 span:before {
	display: block;
	content: '';
	position: absolute;
	top: 0;
	right: 4px;
	background-color: var(--color-green);
	width: 2px;
	height: 100%;
}

.interview-message h3 span.line1:before { top: 0rem; height: calc(100% - 20rem); }
.interview-message h3 span.line2:before { top: 0rem; height: calc(100% - 20rem); }
.interview-message h3 span.line3:before { top: 15rem; height: calc(100% - 33rem); right: 2px; }

.interview-message p {
	font-size: 17rem;
	line-height: 2.2;
	letter-spacing: 0.12em;
	text-align: justify;
}


/* page admission
---------------------------------------------------------------------------*/
#admissionContents .title-page {
	margin-bottom: 100rem;
}

#admissionContents .sec-contact {
	width: 940rem;
	margin: 120rem auto 0;
}

/* .sec-admission
------------------------------------*/
.sec-admission {
	position: relative;
	width: 840rem;
	margin: 0 auto 140rem;
}

.sec-admission .title-circle {
	font-size: 23rem;
	letter-spacing: 0.12em;
}

.sec-admission .title-circle:before { top: 11rem; }

.sec-admission > p .attention {
	padding-left: 4rem;
	font-size: 13rem;
	letter-spacing: 0.08em;
}

/* .admission-flow
------------------------------------*/
.admission-flow .title-circle {
	margin-bottom: 25rem;
}

.admission-flow h3 {
	position: absolute;
	top: 15rem;
	right: 0;
	color: var(--color-text);
	font-size: 15rem;
	letter-spacing: 0.12em;
}

.admission-flow h3 span {
	padding-right: 10rem;
	color: var(--color-green);
	font-weight: 600;
	letter-spacing: 0.14em;
}

.admission-flow .list {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 33rem;
}

.admission-flow .list .inner {
	background-color: #FFFFFF;
	padding: 28rem 30rem 38rem 50rem;
}

.admission-flow .list h4 {
	display: inline-block;
	border-bottom: 2rem solid var(--color-green);
	margin: 0 0 30rem -22rem;
	padding-bottom: 4rem;
	color: var(--color-green);
	font-size: 19rem;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.admission-flow .list h4 span span {
	padding-left: 5rem;
	font-size: 14rem;
	letter-spacing: 0.1em;
}

.admission-flow h5 {
	margin-top: 24rem;
	margin-bottom: 10rem;
	color: var(--color-green);
	font-size: 14rem;
	font-weight: 600;
	letter-spacing: 0.1em;
}

.admission-flow h4 + h5 {
	margin-top: 5rem;
}

.admission-flow .list p {
	font-size: max(14rem, 13px);
	line-height: 2.1;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.admission-flow .list h5 + p {
	line-height: 1.8;
}

.admission-flow .list .box {
	background-color: #F6F7F3;
	margin: 20rem 8rem 0 -8rem;
	padding: 28rem 22rem 22rem 26rem;
}

.admission-flow .list .box li {
	margin-bottom: 5rem;
	font-size: max(14rem, 13px);
	line-height: 1.8;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

.admission-flow .list a.tel {
	text-decoration: none;
	pointer-events: none;
}

.admission-flow .list .box li strong {
	padding-right: 9rem;
	color: var(--color-green);
	font-weight: 600;
}

.admission-flow .list .link-list li a {
	font-size: 15rem;
}

/* .admission-category
------------------------------------*/
.admission-category .title-circle,
.admission-facility .title-circle {
	margin-bottom: 12rem;
}

/* .admission-category-list
------------------------------------*/
.admission-category-list {
	margin: 35rem auto 60rem;
}

.admission-category-list .list {
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0 20rem;
}

.admission-category-list .list .inner {
	position: relative;
	background-color: #EDEFE5;
	padding: 38rem 28rem 34rem;
	text-align: center;
}

.admission-category-list .list h3 { margin-bottom: 5rem; }

.admission-category-list .list h3 span {
	display: inline-block;
	box-shadow: inset 0 -8rem 0 0 var(--color-yellow-marker);
	margin-bottom: 20rem;
	padding: 0 0 2rem 1rem;
	font-size: 22rem;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.admission-category-list .list h4 {
	margin-bottom: 12rem;
	color: var(--color-green);
	font-size: 18rem;
	font-weight: 600;
	line-height: 1.75;
	letter-spacing: 0.12em;
}

.admission-category-list .list p {
	padding: 0 5rem;
	font-size: max(14rem, 13px);
	line-height: 1.9;
	letter-spacing: 0.08em;
	text-align: justify;
}

.admission-category-list .list p.attention {
	margin-top: -10rem;
	font-size: max(14rem, 12px);
	line-height: 1.75;
	letter-spacing: 0.06em;
}

.admission-category-list .attention-list {
	margin-top: 26rem;
}

.admission-category-list .attention-list li {
	margin-bottom: 6rem;
	font-size: max(13rem, 12px);
	line-height: 1.85;
	letter-spacing: 0.08em;
}

/* .admission-category-necessity
------------------------------------*/
#admission-category-necessity {
	margin-top: -135rem;
	padding-top: 135rem;
}

.admission-category-necessity {
	position: relative;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	background-color: #FFFFFF;
	margin: 0 auto 140rem;
	padding: 45rem 76rem 45rem 56rem;
}

.admission-category-necessity .txt {
	width: 263rem;
}

.admission-category-necessity .txt h3 {
	margin: 0 0 28rem -2rem;
	font-size: 19rem;
	font-weight: 600;
	letter-spacing: 0.15em;
}

.admission-category-necessity .txt h3 i:first-of-type { padding-right: 5rem; }
.admission-category-necessity .txt h3 i:last-of-type { padding-left: 4rem; }

.admission-category-necessity .txt p {
	font-size: 15rem;
	letter-spacing: 0.06em;
	text-align: justify;
}

.admission-category-necessity .dot-list {
	display: inline-block;
	position: relative;
	padding: 0 0 0 13rem;
}

.admission-category-necessity .dot-list:before {
	display: block;
	content: '';
	position: absolute;
	top: 4rem;
	left: 0;
	background-color: #C5C0BB;
	width: 1px;
	height: calc(100% - 8rem);
}

.admission-category-necessity .dot-list:not(:last-of-type) {
	margin-right: 20rem;
}

.admission-category-necessity .dot-list li {
	margin-bottom: 2rem;
	letter-spacing: 0.12em;
}

.admission-category-necessity .list p {
	margin-top: 10rem;
	margin-bottom: 0;
	font-size: max(14rem, 13px);
}

.admission-category-necessity p.attention {
	position: absolute;
	top: 40rem;
	right: 52rem;
	margin: 0;
	font-size: max(14rem, 13px);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.35em;
}

/* .admission-category-chart
------------------------------------*/
.admission-category-chart {
	text-align: center;
}

.admission-category-chart h3 {
	display: inline-block;
	border-bottom: 3rem solid var(--color-yellow-btn);
	margin-bottom: 24rem;
	padding-bottom: 4rem;
	font-size: 20rem;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.admission-category-chart > p { line-height: 2.1; }
.admission-category-chart > p strong { font-weight: 600; }

.admission-category-chart .chart {
	position: relative;
	margin: 55rem auto 0;
}

.admission-category-chart .chart img { width: 100%; }

.admission-category-chart .chart a {
	display: block;
	position: absolute;
	bottom: 0;
	right: 287rem;
	background-color: var(--color-green);
	width: 125rem;
	height: 125rem;
	padding: 14rem 16rem 14rem 18rem;
	color: #FFFFFF;
	font-size: 12rem;
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.03em;
	text-align: justify;
	z-index: 1;
}

.admission-category-chart .chart a span {
	text-decoration: underline;
	text-decoration-color: rgba(255,255,255,0.5);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.1em;
}

/* .admission-facility
------------------------------------*/
.admission-facility {
	margin-bottom: 120rem;
}

.admission-facility table {
	background-color: #FFFFFF;
	width: 100%;
	margin-top: 35rem;
}

.admission-facility table,
.admission-facility table p {
	line-height: 1.6;
	letter-spacing: 0.08em;
}

.admission-facility th,
.admission-facility td {
	padding-right: 30rem;
	padding-left: 32rem;
	vertical-align: middle;
}

.admission-facility th {
	padding-top: 11rem;
	padding-bottom: 10rem;
	font-size: 16rem;
	letter-spacing: 0.1em;
	text-align: center;
	white-space: nowrap;
}

.admission-facility td {
	padding-top: 26rem;
	padding-bottom: 24rem;
}

.admission-facility thead th {
	background-color: var(--color-green);
	color: #FFFFFF;
}

.admission-facility thead th:first-of-type {
	width: 135rem;
}

.admission-facility thead th:not(:last-of-type) {
	border-right: max(2rem, 2px) solid #F0F2E9;
}

.admission-facility tbody th {
	background-color: #EDEFE5;
	color: var(--color-green);
	text-align: center;
	line-height: 1.3;
}

.admission-facility tbody tr:not(:last-of-type) th {
	border-bottom: max(2rem, 2px) solid #FFFFFF;
}

.admission-facility tbody th em {
	font-weight: 600;
}

.admission-facility tbody th span {
	font-size: max(12rem, 12px);
}

.admission-facility table td:not(:last-of-type) {
	border-right: max(2rem, 2px) solid #F0F2E9;
}

.admission-facility tbody tr:not(:last-of-type) td {
	border-bottom: max(2rem, 2px) solid #F0F2E9;
}

.admission-facility tbody td.not-border {
	border-bottom: none !important;
}

.admission-facility tbody td:not(:last-of-type) {
	padding-right: 38rem;
	padding-left: 40rem;
	padding-top: 36rem;
	padding-bottom: 36rem;
}

.admission-facility table h3 {
	margin-bottom: 6rem;
	color: var(--color-text);
	font-size: 16rem;
	font-weight: 600;
}

.admission-facility table h3:not(:first-of-type) {
	margin-top: 26rem;
}

.admission-facility table p {
	font-size: 15rem;
}

.admission-facility table li {
	margin-bottom: 2rem;
	font-size: max(14rem, 13px);
}


/* page contact
---------------------------------------------------------------------------*/
#contactContents .title-page { margin-bottom: 90rem; }

.tel-list {
	display: flex;
	background-color: #FFFFFF;
	width: 670rem;
	margin: 35rem auto 22rem;
	padding: 32rem 52rem 32rem;
	text-align: left;
}

.tel-list dl:not(:last-of-type) { margin-right: 58rem; }
.tel-list dl:last-of-type { width: 335rem; }

.tel-list dl {
	font-size: 16rem;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

.tel-list dt {
	margin-bottom: 2rem;
	color: var(--color-green);
	font-weight: 600;
}

.tel-list dd:not(:last-of-type) { margin-bottom: 20rem; }
.tel-list dd a,
.tel-list p a { pointer-events: none; }
.tel-list p a { text-decoration: none; }

.tel-list dd p {
	margin-top: 10rem;
	font-size: max(12rem, 12px);
	line-height: 1.9;
	letter-spacing: 0.05em;
	text-align: justify;
}

.bnr-recruit {
	background-color: #FFFFFF;
	width: 833rem;
	margin: 0 auto 90rem;
}

.bnr-recruit a {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	padding: 29rem 70rem 23rem 34rem;
}

.bnr-recruit .img { position: relative; }
.bnr-recruit .img figure { display: flex; justify-content: space-between; width: 471rem; }
.bnr-recruit .img figure picture:nth-of-type(1) { width: 286rem; }
.bnr-recruit .img figure picture:nth-of-type(2) { width: 183rem; }

.bnr-recruit .img span {
	display: block;
	position: absolute;
	color: var(--color-green);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 300;
	font-size: 38rem;
	letter-spacing: 0.1em;
	white-space: nowrap;
}

.bnr-recruit .img span.en1 { top: -19rem; left: -30rem; }
.bnr-recruit .img span.en2 { top: -2rem; right: -188rem; transform: rotate(90deg); transform-origin: left top; }
.bnr-recruit .img span.en3 { bottom: -11rem; right: -44rem; }

.bnr-recruit .txt { padding: 25rem 0 0; }
.bnr-recruit h2 { margin-bottom: 12rem; }

.bnr-recruit h2 em {
	display: block;
	margin: 0 0 15rem 2rem;
	color: var(--color-text);
	font-family: var(--font-gothic-en);
	font-variation-settings: "wght" 400;
	font-size: 12rem;
	letter-spacing: 0.18em;
}

.bnr-recruit h2 strong {
	display: block;
	font-size: 19rem;
	line-height: 1.7;
	letter-spacing: 0.18em;
}

.bnr-recruit p {
	font-size: max(13rem, 12px);
	line-height: 1.9;
	letter-spacing: 0.17em;
}

.bnr-recruit .link-list { margin: 18rem 0 0 -2rem; }

/* .form-wrap
------------------------------------*/
.form-wrap {
	width: 760rem;
	margin: 0 auto;
	transform: translateX(10rem);
}

.form-wrap dl, .form-wrap dl p { line-height: 1.6; }
.form-wrap dl div { display: flex; margin-bottom: 16rem; }
.form-wrap dl div:last-of-type { margin-bottom: 0; }

.form-wrap dt,
.form-wrap dt p {
	position: relative;
	font-size: 16rem;
	letter-spacing: 0.12em;
}

.form-wrap dt {
	width: 200rem;
	min-width: 200rem;
	padding-top: 16rem;
	color: var(--color-green);
	font-family: var(--font-mgothic-jp);
	font-weight: 600;
}

.form-wrap dt.pt { padding-top: 6rem; }

.form-wrap dt.must p:before {
	display: block;
	content: '';
	position: absolute;
	top: -6rem;
	left: -8rem;
	background-color: var(--color-yellow-text);
	border-radius: 50%;
	width: 5rem;
	height: 5rem;
}

.form-wrap dt span {
	display: block;
	font-size: 13rem;
}

.form-wrap dd {
	width: 100%;
	min-height: 56rem;
}

.form-wrap dd p {
	font-size: 12rem;
	line-height: 1.7;
	text-align: justify;
}

/* input
------------------------------------*/
.wpcf7-form-control-wrap { display: inline-block; position: relative; width: 100%; }

.form-wrap input[type="text"],
.form-wrap input[type="email"],
.form-wrap input[type="tel"],
.form-wrap select,
.form-wrap textarea,
.form-wrap .btn-select .customSelect {
	display: inline-block;
	background-color: #FFFFFF;
	border: 1px solid var(--color-green-light);
	border-radius: 4rem;
	width: 100%;
	height: 56rem;
	padding: 16rem 24rem;
	font-size: 16rem;
	letter-spacing: 0.1em;
}

.form-wrap select {
	appearance: none;
	position: relative;
	padding: 12rem 60rem 12rem 24rem;
	z-index: 0;
}

.btn-select .wpcf7-form-control-wrap:before {
	display: block;
	content: '';
	position: absolute;
	top: 25rem;
	right: 25rem;
	background-color: var(--color-green);
	width: 9rem;
	height: 8rem;
	clip-path: polygon(0 0, 100% 0%, 50% 100%);
	z-index: 1;
	pointer-events: none;
}

.form-wrap textarea {
	height: 400rem;
	padding: 20rem 24rem;
	line-height: 1.8;
}

::-webkit-input-placeholder { display: none; font-size: 0; }
:-moz-placeholder { display: none; font-size: 0; }
::-moz-placeholder { display: none; font-size: 0; }
:placeholder-shown { display: none; font-size: 0; }

/* .privacy-check
------------------------------------*/
.privacy-check { margin: 10rem 0 0 200rem; }
.privacy-check .wpcf7-form-control-wrap { width: auto; margin-right: 16rem; transform-origin: left center; }

@supports (-webkit-appearance: none) and (not (-webkit-touch-callout: none)) {
	.privacy-check .wpcf7-form-control-wrap {
		transform: scale(1.3) translateY(1rem);
	}
}

_::-webkit-full-page-media, _:future, :root .privacy-check .wpcf7-form-control-wrap {
	transform: scale(1.3) translateY(-1rem);
}

.privacy-check p { font-size: 15rem; }

/* .btn-submit
------------------------------------*/
.btn-submit {
	position: relative;
	display: inline-block;
	margin: 32rem 0 0 200rem;
}

.btn-submit input {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	display: block;
	background: var(--color-green) url(img/share/ico-arrow-yellow.svg) no-repeat left 30rem top 18rem / 27rem auto;
	border-radius: 8rem;
	border: none;
	margin: 0;
	padding: 20rem 30rem 20rem 72rem;
	color: #FFFFFF;
	font-family: var(--font-mgothic-jp);
	font-size: 17rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.12em;
	text-align: left;
	white-space: nowrap;
	transition: .15s ease-out;
}

.btn-submit input:hover { opacity: 0.7; }

/* error
------------------------------------*/
.wpcf7 { margin-top: -140rem; padding-top: 140rem; }

.form-wrap .txt-error,
.wpcf7-not-valid-tip,
.txt-response,
.wpcf7-response-output { display: block; }

.form-wrap .txt-error,
.wpcf7-not-valid-tip {
	margin: 10rem 0 0;
	padding: 0;
	font-size: 14rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.screen-reader-response { display: none; }

.txt-response,
.wpcf7-response-output {
	margin: 30rem 0 0 200rem;
	color: var(--color-green);
	font-weight: 600;
	font-size: 16rem;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.wpcf7-response-output:first-child { margin: -45rem 0 45rem; padding-top: 45rem; }
.wpcf7-response-output:empty { margin: 0; padding-top: 0; }

/* recaptcha
------------------------------------*/
.grecaptcha-badge { pointer-events: none; z-index: -999; opacity: 0; transition: .15s ease-out; }
body.contact .grecaptcha-badge { pointer-events: auto; z-index: 0; opacity: 1; }

.contact-btm { margin: 55rem 0 0 200rem; }

.contact-btm p,
.contact-btm p a {
	color: var(--color-brown);
	font-size: 15rem;
	line-height: 2.1;
	letter-spacing: 0.12em;
}


/* page privacy
---------------------------------------------------------------------------*/
#privacyContents .title-page { margin-bottom: 70rem; }

.privacy-list {
	width: 775rem;
	margin: 0 auto;
}

.privacy-list dt {
	color: var(--color-green);
	margin-bottom: 32rem;
	font-size: 20rem;
	letter-spacing: 0.12em;
}

.privacy-list dd {
	margin-bottom: 60rem;
	padding-left: 35rem;
	text-align: justify;
}

.privacy-list dd:last-of-type { margin-bottom: 0; }

.privacy-list dd,
.privacy-list dd h2,
.privacy-list dd p,
.privacy-list dd address {
	font-size: 17rem;
	line-height: 2.1;
	letter-spacing: 0.07em;
}

.privacy-list dd ul { margin-left: 2rem; }
.privacy-list dd ul:not(:last-child) { margin: 20rem 0 20rem 10rem; }
.privacy-list .dot-list li { padding-left: 20rem; font-size: 17rem; }
.privacy-list .dot-list li:before { top: 14rem; width: 5px; height: 5px; }
.privacy-list dd h2 { margin-bottom: 2rem; color: var(--color-text); }


/* page error
---------------------------------------------------------------------------*/


/* print
---------------------------------------------------------------------------*/
@media print {

}