@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Old+Mincho:wght@400;500;600;700;900&display=swap');
@import url("default.css");

* {-webkit-text-size-adjust:100%;}
a:link {text-decoration:none; color:#000000;}
a:visited{text-decoration:none; color:#000000;}
a:hover{text-decoration:none; color:#000000;}
a:active{text-decoration:none; color:#000000;}

.grecaptcha-badge { opacity: 0; pointer-events: none; }
.full-width { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); }
.allWrapper { overflow: hidden; }
.container-fluid { max-width: 1040px; }

body { font-size: 15px; line-height: 1.8; color: #000000; background-color: #fff; font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif; font-weight: 400; }
header { position: fixed; inset: 0 auto auto 0; z-index: 100; width: 0; height: 0; }
header .wrap { position: relative; z-index: 2; display: flex; align-items: center; width: 557px; height: 99px; padding: 0 40px; background: #fff; border-radius: 0 0 36px 0; }
header .logo { line-height: 0; margin: 0; }
header .logo img { width: 468px; max-width: 100%; height: auto; }
header .gnav { position: fixed; top: 99px; left: 0; width: 227px; height: 801px; padding: 43px 0 40px; background: transparent; }
header .gnav ul { margin: 0; padding: 0 0 0 55px; list-style: none; }
header .gnav ul li { padding: 0; }
header .gnav ul a { display: block; padding: 0 0 35px; font-size: 18px; letter-spacing: .1em; line-height: 1; color: #000000; transition: color .25s; }
header .gnav ul a:hover { color: #8ec43e; }
.header-actions { position: absolute; bottom: 312px; left: 0; width: 100%; }
.action-button { display: flex; align-items: center; width: 100%; min-height: 68px; padding: 13px 30px; color: #fff !important; font-size: 15px; font-weight: 500; line-height: 1.4; letter-spacing: .05em; transition: background-color .25s, color .25s, box-shadow .25s; }
.action-button--pink { margin-bottom: 5px; background: #ed7e8b; border-radius: 0 35px 35px 0; }
.action-button--green { background: #8ec43e; border-radius: 0 35px 35px 0; }
.header-entry { position: fixed; top: 0; right: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 254px; height: 99px; background: #ed7e8b; border-radius: 0 0 0 29px; color: #fff !important; line-height: 1.2; transition: background-color .25s, color .25s, box-shadow .25s; }
.header-entry span { font-size: 20px; font-weight: 700; letter-spacing: .4em; text-indent: .4em; }
.header-entry small { margin-top: 8px; font-size: 12px; letter-spacing: .1em; }
@media (hover: hover) {
	.action-button:hover { filter: none; background: #fff; box-shadow: inset 0 0 0 2px currentColor; }
	.action-button--pink:hover { color: #ed7e8b !important; }
	.action-button--green:hover { color: #8ec43e !important; }
	.header-entry:hover { background: #fff; color: #ed7e8b !important; box-shadow: inset 0 0 0 2px #ed7e8b; }
}

header .menu-trg-area { position: fixed; top: 13px; right: 15px; z-index: 103; display: none; width: 42px; height: 42px; background: #ed7e8b; border-radius: 50%; cursor: pointer;}
header .menu-trigger,
header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
header .menu-trigger { position: absolute; top: 13px; width: 17px; height: 13px; z-index: 2; left: 0; right: 0; margin: auto;}
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 1px; background-color: #fff;}
header .menu-trigger span:nth-of-type(1) { top: 0;}
header .menu-trigger span:nth-of-type(2) { top: 6px;}
header .menu-trigger span:nth-of-type(3) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: -14px;}
header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -14px;}
.recruit-fv { position: relative; height: 900px; overflow: hidden; background: #f7eed8; }
.recruit-fv__image { position: absolute; inset: 0; background: url("../images/top_fv_img1.jpg") center center / cover no-repeat; }
.recruit-fv__image:after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(255,247,220,.14) 0%, transparent 37%, transparent 65%, rgba(255,247,220,.36) 100%); }
.recruit-fv__copy { position: absolute; top: 0; right: 60px; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: 10px; box-sizing: border-box; width: 185px; height: 900px; padding: 160px 0 0; background: transparent; writing-mode: vertical-rl; }
.recruit-fv__copy h1 { flex-shrink: 0; margin: 0; font-size: 40px; line-height: 1.75; letter-spacing: .1em; white-space: nowrap; }
.recruit-fv__copy h1 > span { display: block; }
.recruit-fv__copy p { margin: 0; font-size: 18px; letter-spacing: .1em; }
.recruit-fv__copy-number { text-combine-upright: all; text-orientation: mixed; }
.recruit-fv__copy h1 > span,
.recruit-fv__copy p { opacity: 0; clip-path: inset(0 0 100% 0); will-change: clip-path, opacity; animation: recruit-fv-text-unfold 1.15s cubic-bezier(.33, 1, .68, 1) forwards; }
.recruit-fv__copy h1 > span:nth-child(1) { animation-delay: .15s; }
.recruit-fv__copy h1 > span:nth-child(2) { animation-delay: 1.4s; }
.recruit-fv__copy p { animation-delay: 2.65s; }
@keyframes recruit-fv-text-unfold {
	from { opacity: 0; clip-path: inset(0 0 100% 0); }
	to { opacity: 1; clip-path: inset(0 0 0 0); }
}
.recruit-fv__brand { position: absolute; z-index: 2; bottom: 0; left: 0; color: #fff; line-height: .8; pointer-events: none; }
.recruit-fv__brand span { display: block; margin: 0 0 0 10px; font-size: 27px; letter-spacing: 1em; white-space: nowrap; }
.recruit-fv__brand-title { position: relative; display: block; width: max-content; }
.recruit-fv__brand strong { position: relative; z-index: 2; display: block; font-size: 210px; letter-spacing: .035em; }
.recruit-fv__mark { position: absolute; bottom: 0; left: calc(100% - 85px); z-index: 1; width: min(32vw, 470px); opacity: .62; }
.reveal-up { opacity: 0; transform: translate3d(0, 30px, 0); transition: opacity .8s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay, 0ms), transform .8s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay, 0ms); will-change: opacity, transform; }
.reveal-up.is-revealed { opacity: 1; transform: translate3d(0, 0, 0); }
footer { position: relative; color: #343434; }
.footer-pagetop { position: absolute; z-index: 2; top: -30px; left: 50%; display: flex; align-items: center; justify-content: center; width: 96px; height: 71px; transform: translateX(-50%); border-radius: 0 0 48px 48px; }
.footer-pagetop img { width: 48px; height: auto; }
.footer-contact { min-height: 340px; padding: 55px 0 87px; background: linear-gradient(90deg, #ffb3b3 0%, #f2f5b0 50.6479%, #caf9cf 99.9247%); }
.footer-contact__inner { max-width: 945px; margin: 0 auto; text-align: center; }
.footer-contact h2 { margin: 0; font-size: 26px; letter-spacing: .1em; color: #534741; }
.footer-contact p { margin: 10px 0 20px; font-size: 16px; letter-spacing: .1em; }
.footer-contact__links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 46px; }
.footer-contact__links a { display: flex; align-items: center; justify-content: center; min-height: 108px; padding: 20px; border: 2px solid #534741; border-radius: 53px; background: rgba(255,255,255,.9); font-size: 22px; font-weight: 600; letter-spacing: .1em; transition: background-color .25s, color .25s; }
.footer-contact__links a:first-child:hover { background: #ed7e8b; color: #fff; }
.footer-contact__links a:last-child:hover { background: #8ec43e; color: #fff; }
.footer-main { padding: 58px 0 110px; background: url("../images/footer_back.jpg") center / cover no-repeat; }
.footer-main__inner { max-width: 993px; margin: 0 auto; text-align: center; }
.footer-brand img { width: min(468px, 100%); height: auto; }
.footer-brand p { margin: 13px 0 46px; font-size: 16px; line-height: 1.625; letter-spacing: .1em; }
.footer-slider-wrap { position: relative; left: 50%; width: 1177px; max-width: none; margin: 0 0 43px; transform: translateX(-50%); }
.footer-slider-viewport { width: 1073px; max-width: calc(100% - 104px); margin: 0 auto; overflow: hidden; }
.footer-facilities { display: flex; align-items: stretch; transition: transform .6s cubic-bezier(.22, .61, .36, 1); will-change: transform; }
.footer-facility { display: block; flex: 0 0 calc((100% - 240px) / 3); margin: 0 40px; overflow: hidden; border-radius: 8px 8px 0 0; background: rgba(255,255,255,.9); text-align: left; box-shadow: 0 2px 14px rgba(57,112,145,.12); }
.footer-facility img { display: block; width: 100%; height: 160px; object-fit: cover; transition: transform .45s ease; }
.footer-facility:hover img { transform: scale(1.06); }
.footer-facility span { display: block; padding: 17px 25px 0; font-size: 14px; }
.footer-facility strong { display: block; padding: 0 25px 20px; font-size: 16px; }
.footer-slider-arrow { position: absolute; z-index: 1; top: calc(50% - 22px); display: flex; align-items: center; justify-content: center; width: 34px; height: 44px; padding: 0; border: 0; background: transparent; cursor: pointer; transform: translateY(-50%); }
.footer-slider-arrow--prev { left: 0; }
.footer-slider-arrow--next { right: 0; }
.footer-slider-arrow img { width: 11px; height: auto; }
.footer-slider-arrow:focus { outline: 0; box-shadow: none; }
.footer-slider-arrow:focus-visible { outline: 2px solid #8cc63f; outline-offset: 3px; }
.footer-slider-dots { display: flex; justify-content: center; gap: 24px; margin: 35px 0 0; line-height: 1; }
.footer-slider-dots button { width: 10px; height: 10px; padding: 0; border: 0; border-radius: 50%; background: #fff; cursor: pointer; transition: background-color .25s; }
.footer-slider-dots button.is-active { background: #8cc63f; }
.footer-slider-dots button:focus { outline: 0; box-shadow: none; }
.footer-slider-dots button:focus-visible { outline: 2px solid #8cc63f; outline-offset: 3px; }
.footer-nav { display: flex; justify-content: center; flex-wrap: wrap; margin: 0 0 25px; }
.footer-nav a { padding: 0 25px; border-right: 1px solid #606060; color: #606060; font-size: 16px; line-height: 1.1; letter-spacing: .1em; transition: color .25s ease; }
.footer-nav a:hover { color: #8cc63f; }
.footer-nav a:last-child { border-right: 0; }
.copyright { margin: 0; font-size: 14px; letter-spacing: .2em; }

.mincho { font-family: "Zen Old Mincho", serif; font-style: normal; }
.maru { font-family: "Zen Maru Gothic", sans-serif; font-style: normal; }
#about2 .maru { font-family: inherit; font-style: inherit; }
.u-mobile-break { display: none; }

@media (max-width: 768px) {
	:root {
		--top-mobile-gutter: clamp(20px, calc(3.05vw + 8.55px), 32px);
		--top-mobile-section-space: clamp(60px, calc(5.09vw + 40.91px), 80px);
		--top-mobile-title: clamp(30px, calc(1.78vw + 23.33px), 37px);
		--top-mobile-body: clamp(13px, calc(.763vw + 9.14px), 15px);
		--top-mobile-button-height: clamp(48px, calc(1.53vw + 42.27px), 54px);
	}
	header .menu-trg-area { display: block; }
	.recruit-fv { height: clamp(700px, 195vw, 760px); }
	.recruit-fv__image { background-position: 47% center; }
	.recruit-fv__image:after { background: none; }
	.recruit-fv__copy { top: 50%; right: auto; bottom: auto; left: var(--top-mobile-gutter); z-index: 3; display: flex; flex-direction: column; align-items: flex-start; gap: clamp(9px, 1.5vw, 12px); box-sizing: border-box; width: auto; height: auto; padding: 0; overflow: visible; border-radius: 0; background: transparent; color: #fff; writing-mode: vertical-rl; transform: translateY(-50%); }
	.recruit-fv__copy h1 { flex: 0 0 auto; margin: 0; font-size: clamp(27px, calc(1.78vw + 20.33px), 34px); line-height: 1.62; letter-spacing: .1em; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.72), 0 0 12px rgba(0,0,0,.46); }
	.recruit-fv__copy p { flex: 0 0 auto; height: clamp(350px, 52vw, 410px); margin: 0; font-size: clamp(12px, calc(.509vw + 10.09px), 14px); line-height: 1.8; letter-spacing: .08em; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.74), 0 0 10px rgba(0,0,0,.5); }
	.recruit-fv__brand { bottom: 0; left: 0; }
	.recruit-fv__brand span { margin-bottom: clamp(5px, .8vw, 6px); margin-left: 1px; font-size: clamp(9px, 1.56vw, 12px); letter-spacing: .35em; }
	.recruit-fv__brand strong { font-size: clamp(72px, 14vw, 108px); }
	.recruit-fv__mark { right: auto; bottom: 0; left: calc(100% - clamp(135px, 18vw, 165px)); width: clamp(180px, 29.5vw, 226px); }
	.footer-pagetop img { width: 39px; }
	.footer-contact { min-height: 0; }
	.footer-contact__links { grid-template-columns: 1fr; }
}

/* Voice page */
.subpage-header { width: 100%; height: 99px; }
.subpage-header .wrap { position: fixed; top: 0; left: 0; z-index: 2; display: block; width: 100%; height: 99px; padding: 0; border-radius: 0; background-color: initial !important; }
.subpage-header .logo { position: absolute; top: 0; left: 0; display: flex; align-items: center; width: 558px; height: 99px; padding: 0 44px; border-radius: 0 0 36px 0; background: #fff; }
.subpage-header .gnav { position: fixed; top: 0; left: max(558px, 43.5%); display: block; width: auto; height: 99px; padding: 0; background: transparent; }
.subpage-header .gnav ul { display: flex; align-items: center; height: 99px; padding: 0; }
.subpage-header .gnav ul li { white-space: nowrap; }
.subpage-header .gnav ul a { padding: 0 27px; font-size: 18px; letter-spacing: .1em; }
.subpage-header .header-entry { z-index: 3; }
.subpage-header .header-actions { position: fixed; top: 124px; right: 0; bottom: auto; left: auto; width: 228px; }
.subpage-header .action-button { justify-content: flex-start; min-height: 68px; padding: 13px 35px; font-size: 15px; font-weight: 500; line-height: 1.4; letter-spacing: .05em; }
.subpage-header .action-button--pink,
.subpage-header .action-button--green { border-radius: 35px 0 0 35px; }

.voice-page { position: relative; overflow: hidden; padding: 99px 30px 190px; background: linear-gradient(45deg, #80f5ff 0%, #f8ffa3 100%); }
.voice-page::before { content: "VOICE"; position: absolute; top: 127px; left: -10px; color: rgba(255,255,255,.45); font-size: clamp(155px, 15.625vw, 250px); font-weight: 400; letter-spacing: .1em; line-height: .8; white-space: nowrap; pointer-events: none; }
.voice-page__inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; }
.breadcrumb { display: flex; align-items: center; gap: 23px; margin-top: 0; margin-bottom: 0; margin-left: calc((1200px - 100vw) / 2 + 42px); padding: 27px 0 70px; border-radius: 0; background: transparent; font-size: 13px; letter-spacing: .08em; }
.breadcrumb a { position: relative; color: #000000; }
.breadcrumb a::after { content: ""; position: absolute; top: 50%; right: -25px; width: 8px; height: 8px; border: solid #333; border-width: 0 1px 1px 0; transform: translateY(-50%) rotate(-45deg); }
.voice-page__heading { display: flex; align-items: flex-start; gap: 14px; margin-left: -50px; }
.voice-page__heading h1 { margin: 0; color: #000000; font-size: 40px; font-weight: 400; line-height: 1.35; letter-spacing: .12em; }
.voice-page__heading h1 small { display: block; margin-top: 5px; color: #6bbec6; font-size: 11px; letter-spacing: .18em; }
.voice-page__heading p { margin: 9px 0 0; font-size: 17px; line-height: 2; letter-spacing: .12em; }
.voice-filter { position: absolute; top: 80px; right: 270px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; width: 566px; margin: 0; }
.voice-filter button { min-height: 43px; padding: 8px 12px; border: 1px solid #29abe2; border-radius: 24px; background: #fff; color: #29abe2; font: inherit; font-size: 14px; letter-spacing: .1em; cursor: pointer; transition: background-color .25s, color .25s, border-color .25s; }
.voice-filter button:hover,
.voice-filter button.is-active { border-color: #29abe2; background: #29abe2; color: #fff; }
.voice-filter button:focus { outline: 0; }
.voice-filter button:focus-visible { outline: 2px solid #4d9f9a; outline-offset: 3px; }
.voice-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 60px 30px; margin-top: 36px; }
.voice-card { position: relative; overflow: hidden; border-radius: 12px; background: rgba(255,255,255,.95); box-shadow: 0 8px 26px rgba(74,127,103,.12); transition: box-shadow .25s; cursor: pointer; z-index: 1; }
.voice-card.reveal-up { transition: opacity .8s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay, 0ms), transform .8s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay, 0ms), box-shadow .25s ease; }
.voice-card:nth-child(3n + 2) { margin-top: 80px; }
.voice-card:hover { box-shadow: 0 12px 34px rgba(74,127,103,.2); }
.voice-card__image { overflow: hidden; height: 306px; }
.voice-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.voice-card:hover .voice-card__image img { transform: scale(1.04); }
.voice-card__body { position: relative; display: flex; flex-direction: column; min-height: 268px; padding: 52px 53px 30px; }
.voice-card__body::before,
.voice-card__body::after { content: ""; position: absolute; width: 20px; height: 57px; border-color: #29abe2; pointer-events: none; }
.voice-card__body::before { top: 22px; left: 27px; border-top: 4px solid #29abe2;; border-left: 4px solid #29abe2; }
.voice-card__body::after { right: 27px; bottom: 22px; border-right: 4px solid #29abe2;; border-bottom: 4px solid #29abe2;; }
.voice-card h2 { order: 1; margin: 0; color: #29abe2; font-size: 19px; letter-spacing: .1em; }
.voice-card__meta { order: 2; margin: 0 0 18px; color: #29abe2; font-size: 19px; letter-spacing: .09em; }
.voice-card__body > p:last-child { display: -webkit-box; overflow: hidden; order: 3; margin: 0; font-size: 16px; line-height: 1.8567; letter-spacing: .1em; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; }

/* Reusable lower-page title */
.voice-page::before { content: none; }
.page-title { position: relative; }
.page-title__background { position: absolute; z-index: 0; bottom: -30px; left: -130px; margin: 0; color: #fff; font-size: clamp(155px, 15.625vw, 250px); font-weight: 400; letter-spacing: .1em; line-height: .8; white-space: nowrap; pointer-events: none;  }
.page-title__breadcrumb { position: relative; z-index: 1; display: flex; align-items: center; width: 100%; max-width: 1500px; gap: 45px; box-sizing: border-box; margin: 0 auto; padding: 20px 0 25px; border-radius: 0; background: transparent; font-size: 14px; letter-spacing: .1em; }
.page-title__content { position: relative; z-index: 1; display: flex; align-items: end; margin-bottom: 40px; gap: 15px; min-height: clamp(110px, 8.5vw, 136px); margin-left: -50px; isolation: isolate; }
.page-title__heading { margin: 0; color: #000000; font-size: 40px; line-height: 1.042; letter-spacing: .1em; }
.page-title__heading small { display: block; margin-top: 10px; color: #29abe2; font-size: 11px; letter-spacing: .2em; }
.page-title__lead { padding-left: 20px; font-size: 17px; line-height: 2; letter-spacing: .12em; }
.page-title__heading,
.page-title__lead,
.page-title__content .voice-filter { position: relative; z-index: 1; }
.page-title__content .voice-filter { position: static; flex: 0 0 566px; width: 566px; margin: 0; }
.voice-grid { margin-top: 0; }

@media (max-width: 768px) {
	.page-title__background { top: 135px; left: -20px; font-size: 125px; }
	.page-title__breadcrumb { margin-right: auto; margin-left: auto; padding: 18px 0 46px; font-size: 12px; }
	.page-title__content { align-items: start; flex-direction: column; gap: 18px; min-height: 100px;  margin-bottom: 10px; }
	.page-title__heading { font-size: 30px; }
	.page-title__heading small { font-size: 11px; }
	.page-title__lead { padding-left: 0; margin-top: 4px; font-size: 14px; }
	.page-title__content .voice-filter { flex-basis: 100%; grid-template-columns: repeat(2, 1fr); width: 100%; margin: 34px 0 38px; gap: 10px; }
	.voice-page .page-title__content { margin-left: 0; }
}

.voice-slider-viewport { width: 100%; }
.voice-slider-dots { display: none; }

@media (max-width: 768px) {
	.voice-slider-viewport { width: 100%; overflow: visible; }
	.voice-slider-viewport .voice-grid { display: grid; grid-template-columns: 1fr; width: 100%; gap: 30px; margin: 0; padding: 0; }
	.voice-slider-viewport .voice-card { margin: 0 !important; }
	.voice-slider-viewport .voice-card__image { height: calc((100vw - 40px) * .8053); }
	.voice-slider-viewport .voice-card__body { min-height: 0; padding: 41px 42px 24px; box-sizing: border-box; }
	.voice-slider-viewport .voice-card__body::before,
	.voice-slider-viewport .voice-card__body::after { width: 16px; height: 45px; border-width: 3px; }
	.voice-slider-viewport .voice-card__body::before { top: 17px; left: 21px; }
	.voice-slider-viewport .voice-card__body::after { right: 21px; bottom: 17px; }
	.voice-slider-viewport .voice-card h2 { font-size: 17px; letter-spacing: .08em; }
	.voice-slider-viewport .voice-card__meta { margin-bottom: 14px; font-size: 15px; letter-spacing: .03em; white-space: nowrap; }
	.voice-slider-viewport .voice-card__body > p:last-child { font-size: 14px; line-height: 1.85; letter-spacing: .06em; }
	.voice-slider-dots { display: none; }
}

@media (max-width: 768px) {
	.u-mobile-break { display: block; }
	.home-header,
	.subpage-header { width: 100%; height: 64px; }
	.home-header .wrap,
	.subpage-header .wrap { position: fixed; top: 0; left: 0; z-index: 2; display: block; width: 100%; height: 64px; padding: 0; border-radius: 0; background-color: #fff !important; }
	.home-header .logo,
	.subpage-header .logo { position: absolute; top: 0; left: 0; display: flex; align-items: center; box-sizing: border-box; width: min(clamp(326px, 60vw, 430px), calc(100vw - 56px)); height: 64px; padding: 0 0 0 20px; border-radius: 0 0 20px 0; background: #fff; }
	.home-header .logo img,
	.subpage-header .logo img { width: min(clamp(285px, 52vw, 370px), 100%); }
	.header-entry { inset: auto 0 0; z-index: 110; width: 100%; height: clamp(60px, 8.333vw, 64px); border-radius: 0; }
	.header-entry span { font-size: 15px; }
	.header-entry small { display: block; margin-top: 3px; font-size: 10px; }
	header:not(.subpage-header) .menu-trg-area { top: 9px; right: 0; width: 64px; height: 46px; }
	.subpage-header .menu-trg-area { top: 9px; right: 0; width: 64px; height: 46px; }
	header .menu-trg-area { background: transparent; border-radius: 0; }
	header .menu-trigger { top: 50%; right: 20px; left: auto; width: 22px; height: 19px; margin: 0; transform: translateY(-50%); }
	header .menu-trigger span { height: 3px; background-color: #8ec43e; }
	header .menu-trigger span:nth-of-type(1) { top: 0; }
	header .menu-trigger span:nth-of-type(2) { top: 8px; }
	header .menu-trigger span:nth-of-type(3) { top: 16px; bottom: auto; }
	header .menu-trigger.active span:nth-of-type(1) { top: 8px; transform: rotate(45deg); }
	header .menu-trigger.active span:nth-of-type(2) { left: 0; opacity: 0; animation: none; }
	header .menu-trigger.active span:nth-of-type(3) { top: 8px; bottom: auto; transform: rotate(-45deg); }
	header .gnav,
	.subpage-header .gnav { top: 64px; left: 0; width: 100%; height: calc(100dvh - 64px - clamp(60px, 8.333vw, 64px)); padding: clamp(24px, 4vw, 30px); box-sizing: border-box; overflow-y: auto; background: linear-gradient(135deg, rgba(255,255,255,.98), rgba(244,255,219,.98)); border-top: 1px solid rgba(140,198,63,.25); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
	header .gnav.active,
	.subpage-header .gnav.active { opacity: 1; visibility: visible; }
	html.is-menu-open,
	body.is-menu-open { overflow: hidden; overscroll-behavior: none; }
	body.is-menu-open { position: fixed; right: 0; left: 0; width: 100%; }
	header .gnav.active { overscroll-behavior: contain; }
	header .gnav ul,
	.subpage-header .gnav ul { display: block; height: auto; padding: 0; }
	header .gnav ul li,
	.subpage-header .gnav ul li { border-bottom: 1px solid rgba(91,91,91,.18); }
	header .gnav ul a,
	.subpage-header .gnav ul a { display: flex; align-items: center; min-height: 65px; padding: 0 6px; border: 0; font-size: 15px; line-height: 1; letter-spacing: .08em; }
	header .header-actions,
	.subpage-header .header-actions { position: static; width: 100%; margin: 35px 0 0; }
	header .action-button,
	.subpage-header .action-button { justify-content: center; min-height: 52px; padding: 12px 18px; border-radius: 26px; font-size: 14px; margin-bottom: 15px; }
	.action-button--pink { margin-bottom: 10px; }
	.voice-page { padding: 64px 20px 90px; }

	.footer-pagetop { top: -39px; width: 70px; height: 54px; }
	.footer-contact { padding: 54px 20px 50px; }
	.footer-contact h2 { font-size: 21px; letter-spacing: .08em; }
	.footer-contact p { margin: 8px 0 20px; font-size: 12px; line-height: 1.8; letter-spacing: .06em; }
	.footer-contact__links { gap: 10px; }
	.footer-contact__links a { min-height: 60px; padding: 15px; border-radius: 34px; font-size: 16px; letter-spacing: .08em; }
	.footer-main { padding: 50px 20px 90px; }
	.footer-brand img { width: min(320px, 100%); }
	.footer-brand p { margin: 17px 0 26px; font-size: 13px; line-height: 1.75; letter-spacing: .06em; }
	.footer-slider-wrap { left: 50%; width: 100vw; max-width: none; margin-bottom: 20px; transform: translateX(-50%); }
	.footer-slider-viewport { width: 100%; max-width: none; }
	.footer-slider-arrow { z-index: 3; top: 106px; width: 36px; height: 36px; border-radius: 50%;  }
	.footer-slider-arrow--prev { left: 12px; }
	.footer-slider-arrow--next { right: 12px; }
	.footer-slider-arrow img { width: 9px; }
	.footer-slider-dots { gap: 14px; margin-top: 28px; }
	.footer-slider-dots button { width: 8px; height: 8px; }
	.footer-facility { flex-basis: calc(100% - 96px); margin: 0 18px; }
	.footer-facility img { height: auto; aspect-ratio: 560 / 328; object-fit: cover; }
	.footer-facility span { padding: 12px 16px 0; font-size: 12px; }
	.footer-facility strong { padding: 2px 16px 15px; font-size: 15px; line-height: 1.2; }
	.footer-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; width: 100%; margin-bottom: 16px; }
	.footer-nav a { display: flex; align-items: center; justify-content: center; min-width: 0; padding: 9px 0; border-right: 0; border-bottom: 1px solid #606060; font-size: 12px; }
	.copyright { font-size: 9px; line-height: 1.7; letter-spacing: .06em; }
}

/* Job type page */
.jobtype-hero { position: relative; overflow: hidden; padding: 99px 30px 60px; background-color: #fff; background-image: linear-gradient(45deg, #80f5ff 0%, #f8ffa3 100%); background-repeat: no-repeat; background-position: top center; background-size: 100% 1130px; }
.jobtype-page__title-inner { position: relative; z-index: 1; width: min(1200px, calc(100% - 60px)); margin: 0 auto; }
.jobtype-page__inner,
.jobtype-related__inner { position: relative; z-index: 1; width: min(1296px, calc(100% - 60px)); margin: 0 auto; }
.jobtype-page__group > h2,
.jobtype-related h2 { display: flex; align-items: center; justify-content: center; width: 294px; min-height: 61px; margin: 0 auto 30px; border-radius: 31px; background: #ff7bac; color: #fff; font-size: 19px; font-weight: 500; letter-spacing: .1em; line-height: 1.2; }
.jobtype-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); width: 100%; gap: 40px 28px; }
.jobtype-card { display: grid; grid-template-columns: 288px minmax(0, 1fr); align-items: center; gap: 29px; min-height: 281px; padding: 0 20px; overflow: hidden; border-radius: 28px; background: #fff; color: #231815; box-shadow: 0 11px 40px rgba(0,0,0,.3); cursor: default; text-decoration: none; transition: box-shadow .3s ease, transform .3s ease; }
.jobtype-card.reveal-up { transition: opacity .8s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay, 0ms), transform .8s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay, 0ms), color .3s ease, box-shadow .3s ease; }
.jobtype-card__image { display: block; height: 234px; margin-top: 0; overflow: hidden; line-height: 0; }
.jobtype-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s cubic-bezier(.22,.61,.36,1); }
.jobtype-card__body { display: flex; flex-direction: column; align-items: flex-start; align-self: center; box-sizing: border-box; min-width: 0; padding: 8px 8px 8px 0; }
.jobtype-card__name { color: #231815; font-size: 24px; font-weight: 600; letter-spacing: .2em; line-height: 1.3; }
.jobtype-card__english { margin-top: 4px; color: #606060; font-size: 14px; letter-spacing: .1em; line-height: 1.35; }
.jobtype-card__copy { display: block; max-width: 100%; margin-top: 10px; color: #231815; font-size: 14px; letter-spacing: .1em; line-height: 1.785; }
.jobtype-card__more { display: none; }
.jobtype-card__more::after { content: ""; width: 7px; height: 7px; margin-left: 11px; border-top: 1px solid currentColor; border-right: 1px solid currentColor; transform: rotate(45deg); }
.jobtype-related { padding: 80px 30px 153px; background: #fff; }
.jobtype-related h2 { margin-bottom: 31px; background: #7fc31c; }
@media (hover: hover) {
	.jobtype-card:hover { color: #231815; box-shadow: 0 14px 44px rgba(0,0,0,.34); }
	.jobtype-card:hover .jobtype-card__more { color: #ff7bac; }
}

@media (max-width: 768px) {
	.jobtype-hero { padding: 64px 20px 30px; background-size: 100% 1120px; }
	.jobtype-page__title-inner { width: 100%; }
	.jobtype-page__title-inner .page-title__content { gap: 16px; min-height: 0; margin-bottom: 30px; margin-left: 0; }
	.jobtype-page__title-inner .page-title__background { top: -12px; left: -16px; font-size: 108px; opacity: .35; }
	.jobtype-page__inner,
	.jobtype-related__inner { width: 100%; }
	.jobtype-page__group > h2,
	.jobtype-related h2 { width: min(280px, 100%); min-height: 52px; margin: 0 auto 26px; border-radius: 26px; font-size: 15px; }
	.jobtype-grid { grid-template-columns: 1fr; gap: 24px; }
	.jobtype-card { display: grid; grid-template-columns: minmax(104px, 42%) minmax(0, 1fr); grid-template-areas: "image name" "image english" "copy copy"; column-gap: 12px; row-gap: 0; align-items: start; min-height: 0; padding: 16px; border-radius: 18px; box-shadow: 0 9px 20px rgba(0,0,0,.14); }
	.jobtype-card__image { grid-area: image; width: 100%; height: auto; margin-top: 0; border-radius: 12px; aspect-ratio: 288 / 234; align-self: start; }
	.jobtype-card__body { display: contents; }
	.jobtype-card__name { grid-area: name; align-self: end; font-size: 18px; line-height: 1.35; }
	.jobtype-card__english { grid-area: english; align-self: start; margin-top: 3px; font-size: 10px; }
	.jobtype-card__copy { grid-area: copy; width: 100%; margin-top: 12px; font-size: 12px; letter-spacing: .05em; line-height: 1.75; }
	.jobtype-card__more { margin-top: 14px; font-size: 12px; }
	.jobtype-related { padding: 50px 20px 88px; }
	.jobtype-related h2 { margin-bottom: 26px; }
}

/* Voice single page */
.voice-single-fv { position: relative; overflow: hidden; padding: 99px 0 103px; background: linear-gradient(90deg, rgba(128,245,255,.66) 0%, rgba(248,255,163,.66) 100%); }
.voice-single-fv__body { display: flex; align-items: flex-start; }
.voice-single-fv__photo { flex: 0 0 50.1%; overflow: hidden; border-radius: 0 0 36px 0; line-height: 0; }
.voice-single-fv__photo img { width: 100%; height: auto; }
.voice-single-fv__content { flex: 1; min-width: 0; padding: 150px 30px 0 4.5%; }
.voice-single-fv__heading { margin: 0; color: #333; font-size: clamp(30px, 2.5vw, 40px); font-weight: 400; letter-spacing: .1em; line-height: 1.2; }
.voice-single-fv__en { margin: 28px 0 0; color: #29abe2; line-height: 1; }
.voice-single-fv__en span { display: block; font-size: clamp(9px, .79vw, 13px); letter-spacing: 1.2em; white-space: nowrap; }
.voice-single-fv__en strong { display: block; margin-top: 12px; font-size: clamp(42px, 4.4vw, 70px); font-weight: 400; letter-spacing: .1em; white-space: nowrap; }
.voice-single-fv__copy { margin: 36px 0 0; color: #1a1a1a; font-size: clamp(17px, 1.44vw, 23px); letter-spacing: .1em; line-height: 1.74; }
.voice-single-fv__name { margin: 40px 0 0; color: #1a1a1a; font-size: clamp(24px, 2vw, 32px); letter-spacing: .1em; line-height: 1; }
.voice-single-fv__meta { margin: 12px 0 0; color: #1a1a1a; font-size: clamp(14px, 1.13vw, 18px); letter-spacing: .1em; line-height: 1.67; }
.voice-single-profile { position: relative; z-index: 1; display: flex; align-items: stretch; width: min(1200px, calc(100% - 60px)); min-height: 329px; margin: 69px auto 0; overflow: hidden; background: #fff; border-radius: 20px; box-shadow: 0 12px 32px rgba(74,127,103,.16); }
.voice-single-profile__title { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 0 0 342px; padding: 20px; }
.voice-single-profile__title::before { content: ""; position: absolute; top: 50%; left: 50%; width: 302px; height: 302px; transform: translate(-50%, -50%); background: radial-gradient(closest-side circle, rgba(245,179,152,.5) 0%, rgba(250,150,161,.42) 38%, rgba(253,133,167,.26) 60%, rgba(255,123,172,.12) 78%, rgba(255,123,172,0) 96%); pointer-events: none; }
.voice-single-profile__title strong { position: relative; color: #808080; font-size: 40px; font-weight: 400; letter-spacing: .1em; line-height: 1; }
.voice-single-profile__title span { position: relative; margin-top: 14px; color: #808080; font-size: 20px; letter-spacing: .1em; line-height: 1.25; text-align: center; }
.voice-single-profile__list { position: relative; flex: 1; min-width: 0; margin: 0; padding: 40px 40px 36px 44px; }
.voice-single-profile__list::before { content: ""; position: absolute; top: 40px; bottom: 40px; left: 0; width: 1px; background: #b3b3b3; }
.voice-single-profile__list > div { display: flex; align-items: flex-start; }
.voice-single-profile__list dt { flex: 0 0 71px; font-weight: 400; }
.voice-single-profile__list dt, .voice-single-profile__list dd { margin: 0; color: #1a1a1a; font-size: 18px; letter-spacing: .1em; line-height: 2.06; }
.voice-single-fv__background { position: absolute; right: 0; bottom: -.05em; left: auto; margin: 0; color: rgba(255,255,255,.55); font-size: clamp(150px, 15vw, 241px); font-weight: 400; letter-spacing: .1em; line-height: .8; white-space: nowrap; pointer-events: none; }
.voice-single-section { padding: 92px 30px 130px; }
.voice-single-section--tint { background: linear-gradient(45deg, rgba(128,245,255,.66) 0%, rgba(248,255,163,.66) 100%); }
.voice-single-section--work { padding-bottom: 180px; }
.voice-single-section--motivation { padding-top: 96px; padding-bottom: 86px; }
.voice-single-section--workplace { padding-top: 90px; padding-bottom: 78px; }
.voice-single-section--message { padding-top: 68px; padding-bottom: 128px; }
.voice-single-section h2 { margin: 0 0 46px; color: #29abe2; font-size: 28px; font-weight: 600; letter-spacing: .1em; line-height: 1; text-align: center; }
.voice-single-section h2 small { display: block; margin-top: 9px; font-size: 14px; font-weight: 400; letter-spacing: .1em; }
.voice-single-section__body { max-width: 990px; margin: 0 auto; }
.voice-single-section__body p { margin: 0; color: #231815; font-size: 16px; letter-spacing: .1em; line-height: 2.125; }
.voice-single-section__body p + p { margin-top: 34px; }
.voice-single-section__figure { max-width: 1000px; margin: 33px auto 0; overflow: hidden; border-radius: 24px; line-height: 0; }
.voice-single-section__figure img { width: 100%; height: auto; }
.voice-single-holiday { display: flex; align-items: center; gap: clamp(30px, 2.6vw, 42px); padding: 90px 30px 90px 0; background: #e9f0f2; }
.voice-single-holiday__photo { flex: 0 0 49.3%; overflow: hidden; border-radius: 0 24px 24px 0; line-height: 0; }
.voice-single-holiday__photo img { width: 100%; height: auto; }
.voice-single-holiday__body { max-width: 565px; }
.voice-single-holiday__body h2 { margin: 0 0 40px; color: #231815; font-size: 28px; font-weight: 600; letter-spacing: .1em; line-height: 1; }
.voice-single-holiday__body h2 small { display: block; margin-top: 9px; color: #333; font-size: 14px; font-weight: 400; letter-spacing: .1em; }
.voice-single-holiday__body p { margin: 0; color: #231815; font-size: 16px; letter-spacing: .08em; line-height: 2.125; }
.voice-single-holiday__body p + p { margin-top: 34px; }
.voice-single-return { padding: 53px 30px 51px; text-align: center; }
.voice-single-return a, .voice-single-related__more { display: inline-flex; align-items: center; justify-content: center; min-height: 61px; padding: 10px 24px; border-radius: 31px; background: #29abe2; color: #fff !important; font-size: 18px; font-weight: 600; letter-spacing: .1em; line-height: 1.3; transition: background-color .25s, color .25s, box-shadow .25s; }
.voice-single-return a::after, .voice-single-related__more::after { content: ""; flex: 0 0 auto; width: 9px; height: 9px; margin-left: 16px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: rotate(45deg); transition: border-color .25s; }
@media (hover: hover) {
	.voice-single-return a:hover, .voice-single-related__more:hover { background: #fff; color: #29abe2 !important; box-shadow: inset 0 0 0 2px #29abe2; }
	.voice-single-return a:hover::after, .voice-single-related__more:hover::after { border-color: #29abe2; }
}
.voice-single-return a { min-width: 267px; }
.voice-single-related__more { min-width: 223px; }
.voice-single-related { position: relative; overflow: hidden; padding: 156px 30px 140px; background: linear-gradient(45deg, rgba(128,245,255,.66) 0%, rgba(248,255,163,.66) 100%); }
.voice-single-related__inner { position: relative; z-index: 1; display: flex; align-items: flex-start; max-width: 1292px; margin: 0 auto; }
.voice-single-related__intro { flex: 0 0 250px; }
.voice-single-related__intro h2 { margin: 0; color: #333; font-size: 40px; font-weight: 400; letter-spacing: .1em; line-height: 1; }
.voice-single-related__intro h2 small { display: block; margin-top: 10px; color: #29abe2; font-size: 11px; letter-spacing: .2em; }
.voice-single-related__intro p { margin: 24px 0 0; color: #231815; font-size: 15px; letter-spacing: .1em; line-height: 1.63; }
.voice-single-related__intro .voice-single-related__more { margin-top: 76px; }
.voice-single-related__grid { display: grid; flex: 1; align-items: start; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.voice-single-related__grid .voice-card:nth-child(3n + 2) { margin-top: 71px; }
.voice-single-related__grid .voice-card__image { height: 255px; }
.voice-single-related__grid .voice-card__body { min-height: 0; padding: 42px 31px 30px 50px; }
.voice-single-related__grid .voice-card__body::before { top: 16px; left: 22px; width: 16px; height: 46px; border-width: 3px; }
.voice-single-related__grid .voice-card__body::after { right: 22px; bottom: 16px; width: 16px; height: 46px; border-width: 3px; }
.voice-single-related__grid .voice-card h2 { font-size: 17px; line-height: 1.4; }
.voice-single-related__grid .voice-card__meta { margin: 0 0 14px; font-size: 17px; line-height: 1.4; }
.voice-single-related__grid .voice-card__body > p:last-child { font-size: 14px; line-height: 1.86; }
.voice-single-related__background { position: absolute; bottom: -.05em; left: 0; margin: 0; color: rgba(255,255,255,1); font-size: clamp(150px, 15vw, 241px); font-weight: 400; letter-spacing: .1em; line-height: .8; white-space: nowrap; pointer-events: none; }

@media (max-width: 768px) {
	.voice-single-profile__title strong { font-size: 32px; }
	.voice-single-profile__title span { font-size: 16px; }
}

@media (max-width: 768px) {
	.voice-single-fv { padding: 64px 0 60px; }
	.voice-single-fv .page-title__breadcrumb { padding-right: 20px; padding-left: 20px; }
	.voice-single-fv__body { display: block; }
	.voice-single-fv__photo { margin-right: 20px; border-radius: 0 0 28px 0; }
	.voice-single-fv__content { padding: 32px 20px 0; }
	.voice-single-fv__heading { font-size: 28px; }
	.voice-single-fv__en span { font-size: 9px; letter-spacing: .7em; }
	.voice-single-fv__en { margin-top: 22px; }
	.voice-single-fv__en strong { margin-top: 10px; font-size: clamp(34px, 9vw, 42px); letter-spacing: .07em; }
	.voice-single-fv__copy { margin-top: 28px; font-size: 16px; line-height: 1.8; }
	.voice-single-fv__name { margin-top: 32px; font-size: 24px; }
	.voice-single-fv__meta { margin-top: 10px; font-size: 14px; }
	.voice-single-profile { display: block; width: calc(100% - 40px); margin-top: 40px; }
	.voice-single-profile__title { padding: 32px 20px 20px; }
	.voice-single-profile__title::before { width: 210px; height: 210px; }
	.voice-single-profile__list { padding: 24px 24px 30px; }
	.voice-single-profile__list::before { content: none; }
	.voice-single-profile__list dt { flex: 0 0 56px; }
	.voice-single-profile__list dt, .voice-single-profile__list dd { font-size: 14px; line-height: 1.9; }
	.voice-single-profile__list > div + div { margin-top: 10px; }
	.voice-single-fv__background { right: 0; bottom: -.05em; left: auto; font-size: 110px; }
	.voice-single-section, .voice-single-section--work, .voice-single-section--motivation, .voice-single-section--workplace, .voice-single-section--message { padding: 55px 20px 60px; }
	.voice-single-section h2 { margin-bottom: 34px; font-size: 22px; line-height: 1.3; }
	.voice-single-section h2 small { font-size: 12px; }
	.voice-single-section__body p { font-size: 14px; line-height: 1.95; }
	.voice-single-section__body p + p { margin-top: 26px; }
	.voice-single-section__figure { margin-top: 30px; border-radius: 14px; }
	.voice-single-holiday { display: block; padding: 45px 0; }
	.voice-single-holiday__photo { margin-right: 20px; border-radius: 0 16px 16px 0; }
	.voice-single-holiday__body { max-width: none; padding: 32px 20px 0; }
	.voice-single-holiday__body h2 { margin-bottom: 26px; font-size: 22px; }
	.voice-single-holiday__body p { font-size: 15px; line-height: 1.95; }
	.voice-single-holiday__body p + p { margin-top: 24px; }
	.voice-single-return { padding: 40px 20px; }
	.voice-single-return a { min-width: 240px; min-height: 54px; font-size: 16px; }
	.voice-single-related { padding: 60px 20px 130px; }
	.voice-single-related__inner { display: block; }
	.voice-single-related__intro { display: block; margin-bottom: 36px; }
	.voice-single-related__intro h2 { font-size: 32px; }
	.voice-single-related__intro p { margin: 18px 0 0; }
	.voice-single-related__intro .voice-single-related__more { margin: 24px 0 0; min-height: 54px; font-size: 16px; }
	.voice-single-related__grid { grid-template-columns: 1fr; gap: 24px; }
	.voice-single-related__grid .voice-card:nth-child(3n + 2) { margin-top: 0; }
	.voice-single-related__grid .voice-card__image { height: calc((100vw - 40px) * .8053); }
	.voice-single-related__grid .voice-card__body { min-height: 210px; padding: 41px 42px 24px; box-sizing: border-box; }
	.voice-single-related__grid .voice-card__body::before,
	.voice-single-related__grid .voice-card__body::after { width: 16px; height: 45px; border-width: 3px; }
	.voice-single-related__grid .voice-card__body::before { top: 17px; left: 21px; }
	.voice-single-related__grid .voice-card__body::after { right: 21px; bottom: 17px; }
	.voice-single-related__grid .voice-card h2 { font-size: 17px; line-height: normal; letter-spacing: .08em; }
	.voice-single-related__grid .voice-card__meta { margin-bottom: 14px; font-size: 15px; line-height: normal; letter-spacing: .03em; white-space: nowrap; }
	.voice-single-related__grid .voice-card__body > p:last-child { font-size: 14px; line-height: 1.85; letter-spacing: .06em; }
	.voice-single-related__background { bottom: -.05em; left: 0; font-size: 120px; }
}

@media (max-width: 768px) {
	.page-title__background { top: -14px; bottom: auto; left: -12px; font-size: 110px; opacity: .35; }
	.voice-single-fv__body { position: relative; z-index: 1; }
	.voice-single-fv__background { top: auto; right: 0; bottom: -.05em; left: auto; z-index: 0; font-size: 104px; color: rgba(255,255,255,.38); }
	.voice-single-related__background { bottom: -.05em; left: 0; font-size: 108px; color: rgba(255,255,255,.45); }
}

/* Top page */
.home-scroll-header { display: none; }
.home-section-intro { position: relative; z-index: 1; }
.home-section-intro h2 { margin: 0; font-size: 42px; font-weight: 400; line-height: 1.45; letter-spacing: .12em; }
.home-section-intro__en { margin: 9px 0 0; color: #8cc63f; font-size: 13px; letter-spacing: .2em; }
.home-section-intro > p:last-child { margin: 18px 0 0; font-size: 17px; line-height: 2; letter-spacing: .1em; }
.home-section-intro--center { text-align: center; }
.home-section-intro--center h2 { font-size: 46px; }
.home-section-intro--center > p:last-child { margin-top: 15px; }
.home-button { position: relative; z-index: 1; display: inline-flex; align-items: center; justify-content: center; min-width: 250px; min-height: 64px; padding: 14px 34px; overflow: hidden; border-radius: 35px; color: #fff !important; font-size: 16px; font-weight: 500; letter-spacing: .08em; line-height: 1.3; transition: color .25s, background-color .25s, box-shadow .25s; }
.home-button.reveal-up { transition: opacity .8s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay, 0ms), transform .8s cubic-bezier(.22, .61, .36, 1) var(--reveal-delay, 0ms), color .25s, background-color .25s, box-shadow .25s; }
.home-button::after { content: ""; position: absolute; top: 50%; right: 28px; width: 9px; height: 9px; border: solid currentColor; border-width: 0 1px 1px 0; transform: translateY(-50%) rotate(-45deg); }
.home-button--pink { background: #ed7e8b; }
.home-button--green { background: #8ec43e; }
.home-button--blue { background: #29abe2; }
@media (hover: hover) {
	.home-button--pink:hover { background: #fff; color: #ed7e8b !important; box-shadow: inset 0 0 0 2px #ed7e8b; }
	.home-button--green:hover { background: #fff; color: #8ec43e !important; box-shadow: inset 0 0 0 2px #8ec43e; }
	.home-button--blue:hover { background: #fff; color: #29abe2 !important; box-shadow: inset 0 0 0 2px #29abe2; }
}

.home-stats { position: relative; overflow: hidden; padding: 75px 30px 130px; background: radial-gradient(circle at 35% 61%, rgba(202,249,207,.62) 0, rgba(202,249,207,.2) 18%, transparent 38%), radial-gradient(circle at 85% 45%, rgba(255,179,179,.58) 0, rgba(255,179,179,.2) 20%, transparent 39%), #fff; }
.home-stats__inner { position: relative; max-width: 1305px; min-height: 455px; margin: 0 auto; }
.home-section-intro--stats { position: absolute; top: 0; left: 0; width: 350px; }
.home-section-intro--stats h2 { margin: 0; letter-spacing: 0; }
.home-stats__title-main, .home-stats__title-sub { display: block; letter-spacing: 0; }
.home-stats__title-main { font-size: 34.1px; line-height: 41.68px; }
.home-stats__title-sub { font-size: 25.25px; line-height: 41.68px; }
.home-section-intro--stats .home-section-intro__en { margin-top: 7px; color: #39b54a; font-size: 11px; line-height: 13px; letter-spacing: .2em; }
.home-section-intro--stats > p:last-child { max-width: none; margin-top: 7px; font-size: 16px; letter-spacing: .1em; }
.home-stats__list { position: absolute; top: 55px; right: 0; left: 0; display: flex; align-items: flex-start; justify-content: space-between; height: 399px; }
.home-stat { position: relative; display: flex; flex: 0 0 280px; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; width: 280px; height: 280px; border-radius: 50%; background: #fff; box-shadow: 0 7px 32px rgba(0,0,0,.16); text-align: center; }
.home-stat img { width: auto; height: auto; }
.home-stat__value { color: #8cc63f; font-size: 90px; font-weight: 900; letter-spacing: .02em; line-height: .88; }
.home-stat__label { margin-top: 8px; color: #8cc63f; font-size: 18px; line-height: 1.333; letter-spacing: .1em; }
.home-stat__en { margin-top: 1px; color: #8cc63f; font-size: 14px; letter-spacing: .1em; }
.home-stat--founding, .home-stat--beds { margin-top: 120px; }
.home-stat--staff .home-stat__value, .home-stat--staff .home-stat__label, .home-stat--staff .home-stat__en { color: #f7901e; }
.home-stat--beds .home-stat__value, .home-stat--beds .home-stat__label, .home-stat--beds .home-stat__en { color: #29abe2; }
.home-stat--return .home-stat__value, .home-stat--return .home-stat__label, .home-stat--return .home-stat__en { color: #f468a3; }
.home-stats__button { position: absolute; right: 0; bottom: 0; box-sizing: border-box; width: 267px; min-width: 0; height: 61px; min-height: 0; font-size: 18px; }

.home-jobs { position: relative; overflow: hidden; padding: 85px 30px 105px; background: linear-gradient(45deg, rgba(255,179,179,.55) 0%, rgba(242,245,176,.55) 51%, rgba(202,249,207,.55) 100%), #fff; }
.home-jobs__inner { position: relative; z-index: 1; max-width: 1295px; margin: 0 auto; }
.home-jobs .home-section-intro h2 { font-size: 42px; line-height: 1.25; }
.home-jobs .home-section-intro__en { margin-top: 5px; color: #ff7bac; font-size: 12px; line-height: 1.25; letter-spacing: .18em; }
.home-jobs .home-section-intro > p:last-child { margin-top: 7px; font-size: 16px; line-height: 1.6; }
.home-jobs__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 28px; margin-top: 30px; }
.home-job-card { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); box-sizing: border-box; min-height: 280px; padding: 20px; overflow: hidden; border-radius: 28px; background: #fff; filter: drop-shadow(0 11.08px 20.14px rgba(0, 0, 0, .3)); }
.home-job-card__image { display: block; height: 240px; overflow: hidden; }
.home-job-card__image img { display: block; width: 100%; height: 100%; min-height: 0; object-fit: cover; transition: transform .45s ease; }
.home-job-card__content { position: relative; display: flex; flex-direction: column; justify-content: center; min-width: 0; padding: 25px 35px; }
.home-job-card__content strong { font-size: 24px; font-weight: 600; letter-spacing: .2em; }
.home-job-card__content small { display: block; color: #606060; font-size: 14px; letter-spacing: .1em; line-height: 0.949; }
.home-job-card__content em { position: absolute; right: 35px; bottom: 8px; display: inline-flex; align-items: center; color: #8cc63f; font-size: 14px; font-style: normal; font-weight: 600; letter-spacing: .2em; white-space: nowrap; }
.home-job-card__content em::after { content: ""; display: block; width: 7px; height: 7px; margin: 0 0 1px; border: solid currentColor; border-width: 0 1px 1px 0; transform: rotate(-45deg); }
.home-jobs__buttons { display: flex; justify-content: center; gap: 31px; margin-top: 50px; }
.home-jobs__buttons .home-button { box-sizing: border-box; width: 294px; min-width: 0; min-height: 61px; font-size: 18px; letter-spacing: .1em; }
.home-jobs__buttons .home-button--pink { background: #ff7bac; }
.home-jobs__background { position: absolute; z-index: -1; bottom: -115px; left: calc((100% - 100vw) / 2 - 8px); margin: 0; color: #fff; font-size: 203.2px; font-weight: 400; letter-spacing: .1em; line-height: 193.01px; white-space: nowrap; pointer-events: none; }
@media (hover: hover) {
	.home-job-card:hover img { transform: scale(1.045); }
	.home-job-card:hover .home-job-card__content em { color: #5a5a5a; }
	.home-jobs__buttons .home-button--pink:hover { background: #fff !important; color: #ff7bac !important; box-shadow: inset 0 0 0 2px #ff7bac; }
}

.home-environment { position: relative; isolation: isolate; overflow: hidden; padding: 89px 0 130px; background: #fff; }
.home-environment::before,
.home-environment::after { content: ""; position: absolute; z-index: -1; width: 723px; aspect-ratio: 1; border-radius: 50%; pointer-events: none; opacity: .49; }
.home-environment::before { top: 53px; left: calc(50% - 46.5px); background: radial-gradient(circle closest-side, #f8c17e 0%, rgba(241,202,150,.78) 20%, rgba(229,222,198,.37) 59%, rgba(221,234,228,.1) 87%, rgba(219,239,240,0) 100%); }
.home-environment::after { top: 671px; left: calc(50% - 694px); background: radial-gradient(circle closest-side, #bcdeb6 0%, rgba(191,224,189,.88) 11%, rgba(206,232,216,.41) 55%, rgba(215,237,233,.11) 86%, rgba(219,239,240,0) 100%); }
.home-environment__inner { position: relative; z-index: 1; max-width: none; margin: 0; }
.home-environment__heading { display: flex; align-items: center; gap: 30px; width: min(1295px, calc(100% - 60px)); margin: 0 auto 50px; }
.home-environment__heading h2 { flex: 0 0 auto; margin: 0; color: #4b4b4b; font-size: 40px; font-weight: 400; letter-spacing: .12em; line-height: 1.25; }
.home-environment__heading h2 small { display: block; margin-top: 7px; color: #39b54a; font-size: 11px; letter-spacing: .2em; }
.home-environment__heading p { font-size: 17px; line-height: 1.63; letter-spacing: .1em; }
.home-environment__item { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; column-gap: 22px; }
.home-environment__item + .home-environment__item { margin-top: 56px; }
.home-environment__item figure { aspect-ratio: 1574 / 973; margin: 0; overflow: hidden; line-height: 0; }
.home-environment__item figure img { display: block; width: 100%; height: 100%; object-fit: cover; }
.home-environment__item--childcare figure { border-radius: 0 44px 44px 0; }
.home-environment__item--commute figure { border-radius: 44px 0 0 44px; }
.home-environment__item > div { box-sizing: border-box; }
.home-environment__item > div > * { max-width: 600px; }
.home-environment__item--childcare > div { padding-right: max(30px, calc((100vw - 1295px) / 2)); padding-left: 40px; }
.home-environment__item--commute > div { padding-right: 40px; padding-left: max(30px, calc((100vw - 1295px) / 2)); }
.home-environment__item h3 { margin: 0; color: #f7931e; font-size: 28px; font-weight: 600; letter-spacing: .1em; line-height: 1.25; }
.home-environment__item--commute h3 { color: #39b54a; }
.home-environment__item h3 small { display: block; margin-top: 3px; font-size: 14px; letter-spacing: .1em; }
.home-environment__lead { margin: 5px 0 60px; color: #f7931e; font-size: 16px; letter-spacing: .1em; line-height: 2.125; }
.home-environment__item--commute .home-environment__lead { color: #39b54a; }
.home-environment__item > div > p:not(.home-environment__lead) { margin: 0; font-size: 16px; line-height: 2.125; letter-spacing: .1em; }
.home-environment__item ul { margin: 30px 0 0; padding: 0; list-style: none; }
.home-environment__item li { position: relative; padding-left: 27px; font-size: 16px; line-height: 2.125; letter-spacing: .1em; }
.home-environment__item li::before { content: ""; position: absolute; top: calc(50% - 7.79px); left: 0; width: 18.19px; height: 15.58px; background: url("../images/icon_check_orange.svg") center / contain no-repeat; }
.home-environment__item--commute li::before { background-image: url("../images/icon_check_green.svg"); }
.home-environment__button { display: flex; box-sizing: border-box; width: 267px; min-width: 0; min-height: 61px; margin: 78px auto 0; background: #39b54a; }
@media (hover: hover) {
	.home-environment__button:hover { background: #fff; color: #39b54a !important; box-shadow: inset 0 0 0 2px #39b54a; }
}

.home-voices { position: relative; overflow: hidden; padding: 130px 30px 140px; background: linear-gradient(90deg, #80f5ff 0%, #f8ffa3 100%); }
.home-voices__inner { position: relative; z-index: 1; display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 56px; max-width: 1295px; margin: 0 auto; }
.home-voices__intro { padding-top: 35px; }
.home-voices__intro h2 { margin: 0; color: #424242; font-size: 43px; font-weight: 400; letter-spacing: .13em; line-height: 1.25; }
.home-voices__intro h2 small { display: block; margin-top: 12px; color: #29abe2; font-size: 12px; letter-spacing: .18em; }
.home-voices__intro > p { margin: 20px 0 70px; font-size: 17px; line-height: 1.63; letter-spacing: .1em; }
.home-voices__intro .home-button { min-width: 220px; }
.home-voices__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: start; gap: 26px; }
.home-voice-card { position: relative; overflow: hidden; border-radius: 18px; background: rgba(255,255,255,.96); box-shadow: 0 10px 28px rgba(65,136,142,.14); }
.home-voice-card:nth-child(2) { margin-top: 78px; }
.home-voice-card__image { overflow: hidden; height: 250px; }
.home-voice-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.home-voice-card__body { position: relative; min-height: 240px; padding: 42px 34px 28px; }
.home-voice-card__body::before,
.home-voice-card__body::after { content: ""; position: absolute; width: 16px; height: 44px; border-color: #29abe2; pointer-events: none; }
.home-voice-card__body::before { top: 20px; left: 20px; border-top: 3px solid #29abe2; border-left: 3px solid #29abe2; }
.home-voice-card__body::after { right: 20px; bottom: 20px; border-right: 3px solid #29abe2; border-bottom: 3px solid #29abe2; }
.home-voice-card h3 { margin: 0; color: #29abe2; font-size: 19px; font-weight: 400; letter-spacing: .1em; }
.home-voice-card__body p { margin: 3px 0 17px; color: #29abe2; font-size: 14px; line-height: 1.5; letter-spacing: .07em; }
.home-voice-card__body span { display: -webkit-box; overflow: hidden; font-size: 13px; line-height: 1.95; letter-spacing: .05em; -webkit-box-orient: vertical; -webkit-line-clamp: 4; line-clamp: 4; }
.home-voices__background { position: absolute; bottom: -146px; left: calc((100% - 100vw) / 2 - 8px); z-index: 0; margin: 0; color: rgba(255,255,255,.48); font-size: 203.2px; font-weight: 400; letter-spacing: .1em; line-height: 193.01px; pointer-events: none; }
@media (hover: hover) { .home-voice-card:hover .home-voice-card__image img { transform: scale(1.045); } }

@media (min-width: 769px) {
	.home-header .wrap { transition: opacity .32s ease, transform .42s cubic-bezier(.22, .61, .36, 1); }
	.home-header .header-entry { z-index: 3; }
	.home-header.is-scrolled .wrap { opacity: 0; pointer-events: none; transform: translateY(-14px); }
	.home-scroll-header { position: fixed; inset: 0; z-index: 1; display: block; pointer-events: none; }
	.home-scroll-header__bar { position: fixed; top: 0; left: 0; width: 100%; height: 99px; opacity: 0; pointer-events: none; transform: translateY(-16px); visibility: hidden; transition: opacity .32s ease, transform .42s cubic-bezier(.22, .61, .36, 1), visibility 0s linear .42s; }
	.home-scroll-header__logo { position: absolute; top: 0; left: 0; display: flex; align-items: center; width: 558px; height: 99px; padding: 0 44px; border-radius: 0 0 36px 0; background: #fff; line-height: 0; }
	.home-scroll-header__logo img { width: 468px; max-width: 100%; height: auto; }
	.home-scroll-header__nav { position: absolute; top: 0; left: max(558px, 43.5%); display: flex; align-items: center; height: 99px; }
	.home-scroll-header__nav a { padding: 0 27px; color: #000; font-size: 18px; line-height: 99px; letter-spacing: .1em; white-space: nowrap; transition: color .25s ease; }
	.home-scroll-header__nav a:hover { color: #8ec43e; }
	.home-scroll-header__actions { position: fixed; top: 124px; right: 0; z-index: 1; width: 228px; opacity: 0; pointer-events: none; transform: translateX(28px); visibility: hidden; transition: opacity .25s ease .1s, transform .42s cubic-bezier(.22, .61, .36, 1) .1s, visibility 0s linear .52s; }
	.home-scroll-header__actions .action-button { justify-content: flex-start; min-height: 68px; padding: 13px 35px; font-size: 15px; font-weight: 500; line-height: 1.4; letter-spacing: .05em; }
	.home-scroll-header__actions .action-button--pink,
	.home-scroll-header__actions .action-button--green { border-radius: 35px 0 0 35px; }
	.home-header.is-scrolled .home-scroll-header { pointer-events: none; }
	.home-header.is-scrolled .home-scroll-header__bar { opacity: 1; pointer-events: auto; transform: translateY(0); visibility: visible; transition-delay: 0s; }
	.home-header.is-scrolled .home-scroll-header__actions { opacity: 1; pointer-events: auto; transform: translateX(0); visibility: visible; transition-delay: .08s, .08s, 0s; }
}

@media (prefers-reduced-motion: reduce) {
	.home-header .wrap,
	.home-scroll-header__bar,
	.home-scroll-header__actions { transition-duration: 0s !important; }
	.reveal-up { opacity: 1 !important; transform: none !important; transition: none !important; }
	.recruit-fv__copy h1 > span,
	.recruit-fv__copy p { opacity: 1; clip-path: none; animation: none !important; }
}

@media (max-width: 768px) {
	#recruit-fv-title,
	#home-stats-title,
	#home-jobs-title,
	#home-environment-title,
	#home-voices-title { scroll-margin-top: 82px; }
	.home-section-intro h2, .home-section-intro--center h2 { font-size: var(--top-mobile-title); }
	.home-section-intro__en { margin-top: clamp(7px, 1.2vw, 9px); font-size: clamp(10px, 1.55vw, 12px); }
	.home-section-intro > p:last-child { margin-top: clamp(13px, 2vw, 16px); font-size: var(--top-mobile-body); line-height: 1.8; }
	.home-button { min-width: clamp(230px, 32vw, 250px); min-height: var(--top-mobile-button-height); padding: 10px clamp(28px, 4vw, 34px); font-size: clamp(14px, 1.95vw, 15px); }
	.home-button::after { right: clamp(23px, 3.4vw, 28px); width: 8px; height: 8px; }
	.home-stats { padding: var(--top-mobile-section-space) var(--top-mobile-gutter); }
	.home-stats__inner { min-height: 0; }
	.home-section-intro--stats { position: static; width: auto; max-width: 335px; margin: 0 auto; text-align: center; }
	.home-stats__title-main { font-size: clamp(25px, calc(1.78vw + 18.33px), 32px); line-height: 1.4; }
	.home-stats__title-sub { font-size: clamp(16px, calc(1.53vw + 10.27px), 22px); line-height: 1.5; }
	.home-section-intro--stats .home-section-intro__en { font-size: clamp(8px, calc(.763vw + 5.14px), 11px); margin-top: clamp(8px, calc(.509vw + 6.09px), 10px); line-height: 1.3; }
	.home-section-intro--stats > p:last-child { max-width: none; margin-top: clamp(7px, calc(1.018vw + 3.18px), 11px); font-size: clamp(12px, calc(.763vw + 9.14px), 14px); line-height: 1.85; letter-spacing: .07em; }
	.home-stats__list { position: static; display: grid; grid-template-columns: repeat(2, minmax(0, min(40vw, 240px))); justify-content: center; gap: clamp(20px, calc(2.04vw + 12.35px), 28px); height: auto; margin-top: clamp(35px, calc(2.29vw + 26.41px), 44px); }
	.home-stat { position: static; width: 100%; height: auto; min-height: 0; aspect-ratio: 1; box-shadow: 0 6px 18px rgba(0,0,0,.11); }
	.home-stat--founding, .home-stat--beds { margin-top: 0; }
	.home-stat img { width: auto; height: auto; max-width: clamp(29px, calc(1.27vw + 24.24px), 34px); max-height: clamp(24px, calc(1.02vw + 20.18px), 28px); margin-bottom: clamp(5px, calc(.509vw + 3.09px), 7px); }
	.home-stat strong { font-size: clamp(40px, calc(6.62vw + 15.18px), 66px); }
	.home-stat span { margin-top: 4px; font-size: clamp(11px, calc(.763vw + 8.14px), 14px); }
	.home-stat small { margin-top: 2px; font-size: clamp(7px, calc(.763vw + 4.14px), 10px); }
	.home-stats__button { position: relative; display: flex; width: max-content; min-height: var(--top-mobile-button-height); height: var(--top-mobile-button-height); margin: clamp(40px, calc(3.05vw + 28.55px), 52px) auto 0; }
	.home-jobs { padding: var(--top-mobile-section-space) var(--top-mobile-gutter); }
	.home-jobs .home-section-intro h2 { font-size: var(--top-mobile-title); }
	.home-jobs .home-section-intro__en { margin-top: clamp(7px, calc(.509vw + 5.09px), 9px); font-size: clamp(10px, calc(.509vw + 8.09px), 12px); }
	.home-jobs .home-section-intro > p:last-child { margin-top: clamp(10px, calc(.763vw + 7.14px), 13px); font-size: var(--top-mobile-body); line-height: 1.85; }
	.home-jobs__grid { grid-template-columns: 1fr; width: 100%; max-width: 640px; gap: clamp(18px, calc(1.53vw + 12.27px), 24px); margin: clamp(44px, calc(2.55vw + 34.45px), 54px) auto 0; }
	.home-job-card { grid-template-columns: 44% minmax(0, 1fr); min-height: clamp(172px, calc(8.14vw + 141.48px), 204px); padding: clamp(10px, calc(.509vw + 8.09px), 12px); border-radius: clamp(16px, calc(1.02vw + 12.18px), 20px); filter: drop-shadow(0 6px 14px rgba(0,0,0,.12)); }
	.home-job-card__image { height: clamp(152px, calc(6.11vw + 129.09px), 176px); }
	.home-job-card__content { padding: clamp(18px, calc(1.53vw + 12.27px), 24px) clamp(18px, calc(1.53vw + 12.27px), 24px) clamp(20px, calc(1.27vw + 15.24px), 25px); }
	.home-job-card__content strong { font-size: clamp(19px, calc(1.02vw + 15.18px), 23px); letter-spacing: .12em; line-height: 1.35; white-space: nowrap; }
	.home-job-card__content small { margin-top: clamp(5px, calc(.509vw + 3.09px), 7px); font-size: clamp(10px, calc(.509vw + 8.09px), 12px); line-height: 1.3; }
	.home-job-card__content em { right: clamp(18px, calc(1.53vw + 12.27px), 24px); bottom: clamp(2px, calc(.763vw - .86px), 5px); font-size: clamp(10px, calc(.509vw + 8.09px), 12px); }
	.home-jobs__buttons { flex-direction: column; align-items: center; gap: clamp(12px, calc(1.02vw + 8.18px), 16px); margin-top: clamp(44px, calc(2.55vw + 34.45px), 54px); }
	.home-jobs__buttons .home-button { width: 100%; max-width: clamp(296px, 44vw, 340px); min-height: var(--top-mobile-button-height); }
	.home-jobs__background { right: auto; bottom: calc(clamp(27px, 7.25vw, 55.5px) - 6.0315625vw - var(--top-mobile-section-space) - 3px); left: calc(-1 * var(--top-mobile-gutter) - .5vw); font-size: clamp(54px, 14.5vw, 111px); line-height: 12.063125vw; }
	.home-environment { padding: var(--top-mobile-section-space) 0; }
	.home-environment::before,
	.home-environment::after { width: clamp(430px, 60vw, 560px); }
	.home-environment::before { top: clamp(130px, 17vw, 170px); left: calc(100% - clamp(165px, 23vw, 205px)); }
	.home-environment::after { top: clamp(710px, 92vw, 820px); left: clamp(-260px, -29vw, -220px); }
	.home-environment__heading { display: block; width: auto; margin: 0 var(--top-mobile-gutter) clamp(48px, 7vw, 58px); text-align: center; }
	.home-environment__heading h2 { font-size: var(--top-mobile-title); }
	.home-environment__heading h2 small { margin-top: clamp(8px, 1.3vw, 10px); font-size: clamp(10px, 1.55vw, 12px); }
	.home-environment__heading p { margin-top: clamp(16px, 2.6vw, 20px); font-size: var(--top-mobile-body); line-height: 1.85; }
	.home-environment__item { grid-template-columns: 1fr; gap: clamp(34px, 5vw, 42px); }
	.home-environment__item + .home-environment__item { margin-top: clamp(72px, 10vw, 88px); }
	.home-environment__item > div,
	.home-environment__item--childcare > div,
	.home-environment__item--commute > div { padding: 0 clamp(24px, 5.333vw, 32px); }
	.home-environment__item figure { height: min(calc((100vw - var(--top-mobile-gutter)) * .6182), 360px); aspect-ratio: auto; }
	.home-environment__item--childcare figure { margin-right: var(--top-mobile-gutter); border-radius: 0 clamp(22px, 3.4vw, 28px) clamp(22px, 3.4vw, 28px) 0; }
	.home-environment__item--commute figure { margin-left: var(--top-mobile-gutter); border-radius: clamp(22px, 3.4vw, 28px) 0 0 clamp(22px, 3.4vw, 28px); }
	.home-environment__item--commute > div { order: 2; }
	.home-environment__item--commute figure { order: 1; }
	.home-environment__item h3 { font-size: clamp(21px, 3vw, 24px); }
	.home-environment__item h3 small { margin-top: clamp(5px, .9vw, 7px); font-size: clamp(10px, 1.55vw, 12px); }
	.home-environment__lead { margin: clamp(5px, .9vw, 7px) 0 clamp(26px, 4vw, 32px); font-size: var(--top-mobile-body); }
	.home-environment__item > div > p:not(.home-environment__lead), .home-environment__item li { font-size: var(--top-mobile-body); line-height: 1.9; }
	.home-environment__item ul { margin-top: clamp(18px, 3vw, 24px); }
	.home-environment__button { margin-top: clamp(52px, 8vw, 62px); }
	.home-voices { padding: var(--top-mobile-section-space) var(--top-mobile-gutter); }
	.home-voices__inner { display: block; }
	.home-voices__intro { padding: 0; text-align: center; }
	.home-voices__intro h2 { font-size: var(--top-mobile-title); }
	.home-voices__intro h2 small { margin-top: clamp(8px, 1.3vw, 10px); font-size: clamp(10px, 1.55vw, 12px); }
	.home-voices__intro > p { margin: clamp(16px, 2.6vw, 20px) 0 clamp(26px, 4vw, 32px); font-size: var(--top-mobile-body); line-height: 1.85; }
	.home-voices__intro .home-button { margin: 0 auto; }
	.home-voices__cards { grid-template-columns: 1fr; width: 100%; max-width: 420px; gap: clamp(20px, 3vw, 26px); margin: clamp(44px, 6.8vw, 54px) auto 0; }
	.home-voice-card { border-radius: clamp(14px, 2.2vw, 18px); }
	.home-voice-card:nth-child(2) { margin-top: 0; }
	.home-voice-card__image { height: min(calc((100vw - 40px) * .63), 265px); }
	.home-voice-card__body { min-height: clamp(188px, 27vw, 210px); padding: clamp(36px, 5vw, 42px) clamp(32px, 4.6vw, 38px) clamp(25px, 3.9vw, 30px); }
	.home-voice-card__body::before { top: clamp(15px, 2.2vw, 18px); left: clamp(17px, 2.5vw, 21px); }
	.home-voice-card__body::after { right: clamp(17px, 2.5vw, 21px); bottom: clamp(15px, 2.2vw, 18px); }
	.home-voice-card h3 { font-size: clamp(17px, 2.5vw, 19px); }
	.home-voice-card__body p { margin-bottom: clamp(12px, 1.8vw, 14px); font-size: clamp(13px, 1.9vw, 14px); }
	.home-voice-card__body span { font-size: var(--top-mobile-body); }
	.home-voices__background { right: auto; bottom: calc(clamp(27px, 7.25vw, 55.5px) - 6.0315625vw - var(--top-mobile-section-space) - 3px); left: calc(-1 * var(--top-mobile-gutter) - .5vw); font-size: clamp(54px, 14.5vw, 111px); line-height: 12.063125vw; }
}

/* 1600pxを基準に、タブレット幅まではデスクトップデザインを比例縮小する */
:root { --desktop-scale: 1; }
@media (min-width: 769px) and (max-width: 1599px) {
	html.is-desktop-scaled { zoom: var(--desktop-scale); }
	html.is-desktop-scaled body { min-width: 1600px; }

	/* viewport単位を使用している要素も、1600px時の値を基準に固定する */
	html.is-desktop-scaled .recruit-fv__mark { width: 470px; }
	html.is-desktop-scaled .page-title__background { font-size: 250px; }
	html.is-desktop-scaled .page-title__content { min-height: 136px; }
	html.is-desktop-scaled .about-hero__feature { width: 1400px; }
	html.is-desktop-scaled .voice-single-fv__heading { font-size: 40px; }
	html.is-desktop-scaled .voice-single-fv__en span { font-size: 12.64px; }
	html.is-desktop-scaled .voice-single-fv__en strong { font-size: 70px; }
	html.is-desktop-scaled .voice-single-fv__copy { font-size: 23px; }
	html.is-desktop-scaled .voice-single-fv__name { font-size: 32px; }
	html.is-desktop-scaled .voice-single-fv__meta { font-size: 18px; }
	html.is-desktop-scaled .voice-single-fv__background,
	html.is-desktop-scaled .voice-single-related__background { font-size: 240px; }
	html.is-desktop-scaled .voice-single-holiday { gap: 41.6px; }
	html.is-desktop-scaled .home-jobs__background,
	html.is-desktop-scaled .home-voices__background { left: -160.5px; }
	html.is-desktop-scaled .home-environment__item--childcare > div { padding-right: 152.5px; }
	html.is-desktop-scaled .home-environment__item--commute > div { padding-left: 152.5px; }
	html.is-desktop-scaled .subpage-header .gnav,
	html.is-desktop-scaled .home-scroll-header__nav { left: 696px; }
}

/* Work / About / About data pages */
.visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; clip-path: inset(50%); }
.lower-page-hero { position: relative; overflow: hidden; padding: 99px 30px 70px; background: linear-gradient(45deg, #80f5ff 0%, #f8ffa3 100%); }
.lower-page-hero__inner { position: relative; z-index: 1; width: min(1200px, calc(100% - 60px)); margin: 0 auto; }
.lower-page-hero .page-title__breadcrumb { max-width: 1500px; padding-top: 20px; }
.lower-page-hero .page-title__content { margin-bottom: 0; }
.lower-page-hero .page-title__heading small { color: #29abe2; }
.lower-page-hero .page-title__background { bottom: -21px; left: -135px; color: rgba(255,255,255,.58); }
.lower-page-hero .section-eyebrow { margin: 0; color: #39b54a; font-size: 24px; letter-spacing: .12em; line-height: 1.35; }
.lower-page-hero .section-eyebrow span { margin-left: 14px; font-size: 10px; letter-spacing: .18em; }
.section-heading { position: relative; display: flex; align-items: baseline; gap: 24px; margin: 0 0 50px; padding-bottom: 20px; border-bottom: 1px solid #8cc63f; }
.section-heading::after { content: ""; position: absolute; bottom: -10px; left: 0; width: 187px; height: 10px; background: #8cc63f; }
.section-heading h2 { margin: 0; font-size: 26px; font-weight: 400; letter-spacing: .15em; line-height: 1.2; }
.section-heading h2 small { margin-left: 17px; font-size: 10px; letter-spacing: .18em; vertical-align: middle; }
.section-heading--green { color: #8cc63f; }
.work-container, .about-container, .about2-container { width: min(1200px, calc(100% - 60px)); margin: 0 auto; }

/* Work */
.work-hero { box-sizing: border-box; height: 1060px; min-height: 0; }
.work-hero .page-title__heading small { color: #29abe2; }
.work-hero__feature { position: absolute; top: 270px; left: calc(50% - 600px); display: grid; grid-template-columns: 520px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 96px; row-gap: 0; align-items: start; width: 1400px; }
@media (min-width: 1600px) {
	.work-hero__feature { width: calc(50vw + 600px); }
}
.work-hero__copy { grid-column: 1; grid-row: 2; max-width: 520px; padding: 0; padding-left: 20px; }
.work-section-title { position: relative; display: flex; align-items: baseline; gap: 24px; box-sizing: border-box; width: 100%; height: 40px; padding: 0 0 15px; border-bottom: 1px solid #8cc63f; }
#work .section-heading { position: relative; display: block; box-sizing: border-box; width: 100%; height: 40px; padding: 0; border: 0; }
#work .section-heading::before { content: ""; position: absolute; top: 39px; right: 0; left: 0; height: 1px; background: #8cc63f; }
.work-hero__feature > .work-section-title { grid-column: 1 / -1; grid-row: 1; width: 1200px; }
.work-section-title::after,
#work .section-heading::after { content: ""; position: absolute; right: auto; bottom: -10px; left: 0; width: 187px; height: 10px; background: #8cc63f; }
.work-section-title__heading,
#work .section-heading h2 { margin: 0; font-weight: 700; color: #8cc63f; font-size: 30px; letter-spacing: .1em; line-height: 0.8; }
#work .section-heading h2 { position: relative; z-index: 1; display: inline-flex; align-items: baseline; min-height: 24px; }
.work-section-title__english,
#work .section-heading h2 small { display: inline; margin: 0; color: #8cc63f; font-size: 14px; letter-spacing: .1em; line-height: .949; vertical-align: baseline; }
#work .section-heading h2 small { margin-left: 24px; }
.work-hero__copy h2 { margin: 70px 0 26px; font-size: 30px; font-weight: 400; line-height: 1.75; letter-spacing: .1em; }
.work-hero__copy > p:not(.section-eyebrow) { margin: 0 0 40px; font-size: 16px; line-height: 2.125; letter-spacing: .1em; }
.work-hero__image { grid-column: 2; grid-row: 2; margin: 43px 0 0; overflow: hidden; border-radius: 0; }
.work-hero__image img { display: block; width: 100%; height: 495px; object-fit: cover; }
.work-strengths { box-sizing: border-box; min-height: 817px; padding: 80px 0 85px; background: #fff; }
.work-strengths .section-heading { margin-bottom: 90px; }
.work-strengths .section-heading::after { width: 187px; }
.work-strengths__grid { display: grid; grid-template-columns: repeat(3, 339px); column-gap: 73px; padding: 0 12px 0 25px; }
.work-strength { min-height: 480px; text-align: center; }
.work-strength__circle { display: flex; align-items: flex-start; justify-content: center; box-sizing: border-box; width: 338px; height: 338px; margin: 0 auto -130px; border-radius: 50%; background: #fff; box-shadow: 0 13.29px 48.34px rgba(0,0,0,.3); }
.work-strength__circle img { display: block; width: auto; height: auto; max-width: none; max-height: none; }
.work-strength:nth-child(1) .work-strength__circle img { margin-top: 85px; }
.work-strength:nth-child(2) .work-strength__circle img { margin-top: 75px; }
.work-strength:nth-child(3) .work-strength__circle img { margin-top: 69px; }
.work-strength h3 { position: relative; margin: 0 0 90px; color: #8cc63f; font-size: 32px; font-weight: 700; letter-spacing: .1em; line-height: 1.416; }
.work-strength p { margin: 0; font-size: 18px; line-height: 2.12; letter-spacing: .1em; text-align: left; }
.work-benefits { position: relative; box-sizing: border-box; min-height: 1250px; padding: 94px 0 91px; background: rgba(239,234,232,.66); }
.work-benefits .section-heading { margin-bottom: 30px; }
.work-benefits .work-container { position: relative; }
.work-benefits__intro { margin: 0 0 24px; padding-left: 10px; font-size: 16px; letter-spacing: .1em; }
.work-section-lead { margin: -25px 0 39px; font-size: 16px; letter-spacing: .08em; }
.work-section-lead p { margin: 0 0 13px; }
.work-benefits__grid { display: grid; grid-template-columns: repeat(3, 370px); gap: 25px 40px; box-sizing: border-box; width: 100%; padding-left: 6px; }
.work-benefits__grid article { position: relative; display: grid; grid-template-columns: 52px minmax(0, 1fr); grid-template-rows: auto 1fr; align-content: start; box-sizing: border-box; height: 285px; padding: 39px 28px 24px 30px; border: 1px solid #a2dbbc; border-radius: 22px; background: #fff; }
.work-benefits__grid article:nth-child(3n) { transform: translateX(-3px); }
.work-benefits__grid > article > img:not(.work-benefits__clock) { position: static; grid-column: 1; grid-row: 1; align-self: center; justify-self: start; display: block; width: auto; height: auto; max-width: none; max-height: none; }
.work-benefits__clock { position: absolute; top: 140px; left: 185px; display: block; width: auto; height: auto; max-width: none; max-height: none; }
.work-benefits__grid h3 { grid-column: 2; grid-row: 1; align-self: center; margin: 0; color: #00a094; font-size: 26px; font-weight: 700; letter-spacing: .1em; line-height: 1.15; }
.work-benefits__grid ul { grid-column: 1 / -1; grid-row: 2; align-self: start; position: static; margin: 10px 0 0; padding: 0; list-style: none; font-size: 16px; letter-spacing: .1em; line-height: 1.5; } 
.work-benefits__grid li { position: relative; padding-left: 22px; margin-bottom: 1px; }
.work-benefits__grid li::before { content: ""; position: absolute; top: 5px; left: 0; width: 14px; height: 14px; border-radius: 50%; background: #ed7e8b; }
.work-benefits__note { align-self: center; margin: 0; padding-left: 20px; color: #00a094; font-size: 26px; font-weight: 600; line-height: 1.8; letter-spacing: .12em; }
.work-scholarship { box-sizing: border-box; min-height: 634px; padding: 90px 0 100px; background: #fff; }
.work-scholarship .section-heading { margin-bottom: 41px; }
.work-scholarship .work-section-lead { margin: 0 0 35px; font-size: 18px; letter-spacing: .1em; line-height: 2.11; }
.work-scholarship__grid { display: grid; grid-template-columns: repeat(3, 370px); gap: 43px; box-sizing: border-box; width: 100%; padding-left: 3px; }
.work-scholarship__grid article { box-sizing: border-box; padding: 28px 33px; border-radius: 21px; background: #efeae8; text-align: center; }
.work-scholarship__grid article:nth-child(3n) { transform: translateX(-6px); }
.work-scholarship__grid h3 { margin: 0 0 15px; padding-bottom: 18px; border-bottom: 1px solid #00a094; color: #00a094; font-size: 30px; font-weight: 700; letter-spacing: .1em; line-height: .8; }
.work-scholarship__grant { color: #000; font-weight: 600; }
.work-scholarship__grant-label { margin: 0 0 5px; font-size: 24px; letter-spacing: 0; line-height: 1.416; }
.work-scholarship__grant-row { display: flex; align-items: baseline; justify-content: center; gap: 0; margin: 0; font-size: 21px; letter-spacing: 0; line-height: 1.619; white-space: nowrap; }
.work-scholarship__grant-row strong,
.work-scholarship__grant-list strong { color: #00a094; font-size: 36px; font-weight: 800; letter-spacing: 0; line-height: 1; }
.work-scholarship__grant-list { margin: 8px 0 0; padding: 0; }
.work-scholarship__grant-list > div { display: grid; grid-template-columns: 1fr auto; align-items: baseline; min-height: 40px; text-align: left; }
.work-scholarship__grant-list dt,
.work-scholarship__grant-list dd { margin: 0; font-size: 21px; letter-spacing: 0; line-height: 1.904; }
.work-scholarship__grant-list dd { display: flex; align-items: baseline; justify-content: flex-end; gap: 0; white-space: nowrap; }
.work-training { position: relative; box-sizing: border-box; min-height: 1015px; padding: 80px 0 0; background: rgba(239,234,232,.66); }
.work-training .section-heading { margin-bottom: 77px; }
.work-training .section-heading::before { top: 41px; }
.work-training .section-heading::after { bottom: -10px; width: 187px; height: 10px; }
.work-training .work-section-lead { margin: -25px 0 54px; }
.work-training__grid { display: grid; grid-template-columns: 560px 560px; gap: 32px 53px; box-sizing: border-box; width: 100%; padding-left: 7px; }
.work-training__grid article { display: flex; align-items: center; box-sizing: border-box; gap: 10px; height: 157px; padding: 22px 17px; font-weight: 700; border: 1px solid #ed7e8b; border-radius: 20px; background: #fff; }
.work-training__grid b { flex: 0 0 90px; color: #e8a7b1; font-size: 90px; font-weight: 500; line-height: 1; }
.work-training__grid h3 { margin: 0 0 5px; color: #ed7e8b; font-size: 26px; letter-spacing: .08em; }
.work-training__grid p { margin: 0; font-size: 15px; line-height: 1.5; letter-spacing: .08em; }
.work-training__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 0; width: 100%; margin: 60px 0 0; }
.work-training__photos img { display: block; width: 100%; height: 468px; object-fit: cover; }
.work-annual { box-sizing: border-box; padding: 90px 0 70px; background: #fff; }
.work-annual__body { display: flex; align-items: center; gap: 35px; margin: -28px 0 24px; }
.work-annual__calendar { display: block; width: 83px; height: auto; }
.work-annual__body p { margin: 0; font-size: 18px; letter-spacing: .08em; }
.work-annual__list { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 0; padding: 0; list-style: none; }
.work-annual__list li { text-align: center; }
.work-annual__list b { display: block; padding: 11px 6px; border-radius: 40px; background: #00a99d; color: #fff; font-size: 26px; letter-spacing: .09em; }
.work-annual__list span { display: block; margin-top: 15px; font-size: 16px; line-height: 1.5; letter-spacing: .1em; text-align: left; }

/* About */
.about-page .section-heading { position: relative; inset: auto; z-index: auto; width: auto; height: auto; padding-bottom: 27px; }
.about-page .section-heading h2 { margin: 0; font-size: 30px; font-weight: 700; letter-spacing: .1em; line-height: .8; }
.about-page .section-heading h2 small { display: inline; margin-left: 24px; font-size: 14px; letter-spacing: .1em; line-height: .949; vertical-align: baseline; }
.about-hero { min-height: 1066px; padding-bottom: 83px; }
.about-hero__section-title { position: relative; display: flex; align-items: baseline; box-sizing: border-box; width: 1200px; max-width: 100%; height: 40px; margin: 44px 0 0; padding: 0 0 15px; color: #8cc63f; border-bottom: 1px solid #8cc63f; }
.about-hero__section-title::after { position: absolute; bottom: -10px; left: 0; width: 187px; height: 10px; background: #8cc63f; content: ""; }
.about-hero__section-title h2 { margin: 0; font-size: 30px; font-weight: 700; letter-spacing: .1em; line-height: .8; }
.about-hero__section-title small { margin-left: 24px; font-size: 14px; letter-spacing: .1em; line-height: .949; vertical-align: baseline; }
.about-hero__feature { display: grid; grid-template-columns: 500px minmax(0,1fr); gap: 76px; align-items: center; width: calc(50vw + 600px); margin-top: 89px; }
.about-hero__copy { max-width: 500px; padding-left: 18px; }
.about-hero__copy h3 { margin: 0 0 36px; font-size: 30px; font-weight: 400; line-height: 1.55; letter-spacing: .15em; }
.about-hero__copy p { margin: 0 0 27px; font-size: 16px; line-height: 2.15; letter-spacing: .09em; }
.about-hero__image { margin: 0; overflow: hidden; }
.about-hero__image img { display: block; width: 100%; height: 492px; object-fit: cover; }
.about-message { padding: 112px 0 119px; background: #fff; }
.about-message__lead { display: grid; grid-template-columns: 530px 450px; gap: 125px; align-items: center; box-sizing: border-box; padding-left: 15px; }
.about-message__lead figure { margin: 0; overflow: hidden; border-radius: 36px; }
.about-message__lead figure img { display: block; width: 100%; aspect-ratio: 1 / .992; object-fit: cover; }
.about-message__lead > div { text-align: left; }
.about-message__quote { margin: 0 0 31px; font-size: 30px; line-height: 1.65; letter-spacing: .15em; }
.about-message__quote-line { white-space: nowrap; }
.about-message__name { margin: 0; font-size: 16px; line-height: 1.9; letter-spacing: .12em; }
.about-message__name strong { display: inline-block; margin-top: 9px; font-size: 30px; font-weight: 400; letter-spacing: .18em; }
.about-message__body { box-sizing: border-box; margin: 68px 20px 0; }
.about-message__body p { margin: 0 0 25px; font-size: 16px; line-height: 2.1; letter-spacing: .08em; }
.about-history-intro { padding: 104px 0 0; background: linear-gradient(45deg, #80f5ff 0%, #f8ffa3 100%); }
.about-history-intro__copy { box-sizing: border-box; width: 100%; padding: 7px 20px 88px; }
.about-history-intro__copy h3 { margin: 0 0 31px; font-size: 30px; font-weight: 400; line-height: 1.6; letter-spacing: .14em; }
.about-history-intro__copy p { margin: 0 0 20px; font-size: 16px; line-height: 2.1; letter-spacing: .08em; }
.about-history-intro__photos { display: grid; grid-template-columns: repeat(4, 1fr); }
.about-history-intro__photos img { display: block; width: 100%; height: 350px; object-fit: cover; }
.about-history { padding: 104px 0 130px; background: #fff; }
.about-history__list { box-sizing: border-box; width: 100%; max-width: 100%; margin: 0 auto 96px; padding: 0; }
.about-history__list div { display: grid; grid-template-columns: 136px minmax(0,1fr); gap: 0; min-height: 86px; padding: 12px 0; }
.about-history__list dt { display: flex; flex-direction: column; align-items: center; justify-content: center; color: #8cc63f; font-size: 18px; font-weight: 700; line-height: 1.4; letter-spacing: .1em; text-align: center; }
.about-history__list dt small { margin-top: 5px; font-weight: 700; }
.about-history__list dd { position: relative; display: flex; align-items: center; margin: 0; padding-left: 54px; font-size: 16px; line-height: 1.75; letter-spacing: .1em; }
.about-history__list dd::before { position: absolute; top: 50%; bottom: auto; left: 0; width: 1px; height: 100%; background: #999; content: ""; transform: translateY(-50%); }
.about-history__list dd::after { position: absolute; top: 50%; left: 0; width: 42px; height: 1px; background: #999; content: ""; transform: translateY(-50%); }
.about-history__list div:last-child dd::before { height: 54px; }
.about-access { max-width: 1200px; margin: 0 auto; padding: 54px 70px 68px; border-radius: 20px; background: #fff; box-shadow: 0 0 23px rgba(0,0,0,.24); }
.about-access__top { display: grid; grid-template-columns: 1fr 1fr; gap: 110px; margin-bottom: 36px; padding-bottom: 26px; border-bottom: 1px solid #8cc63f; }
.about-access h3 { margin: 0 0 20px; color: #8cc63f; font-size: 24px; font-weight: 700; letter-spacing: .1em; }
.about-access ul { margin: 0; padding: 0; list-style: none; }
.about-access li, .about-access__location p { font-size: 16px; line-height: 2; letter-spacing: .08em; }
.about-access li::before { margin-right: 5px; content: "・"; }
.about-access__info li:nth-child(2) { white-space: nowrap; }
.about-access__location { margin-bottom: 35px; }
.about-access__location p { margin: 0 0 15px; }
.about-access__map { min-height: 425px; overflow: hidden; }
.about-access__map iframe { display: block; width: 100%; height: 612px; border: 0; }
.about-vision { padding: 104px 0 111px; background: linear-gradient(45deg, #80f5ff 0%, #f8ffa3 100%); }
.about-vision__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 92px; }
.about-vision__grid h3 { margin: 0 0 21px; color: #111; font-size: 24px; font-weight: 700; letter-spacing: .15em; }
.about-vision__grid p { margin: 0; font-size: 16px; line-height: 2.1; letter-spacing: .09em; }
.about-vision__grid ul { margin: 0; padding: 0; list-style: none; }
.about-vision__grid li { margin: 0 0 9px; font-size: 13px; line-height: 1.8; letter-spacing: .08em; }
.about-vision__grid li::before { margin-right: 6px; content: "・"; }
.about-healthcare { padding: 108px 0 116px; background: #fff; }
.about-healthcare .section-heading { margin-bottom: 80px; }
.about-healthcare__grid { display: grid; grid-template-columns: repeat(4, 257px); justify-content: center; gap: 56px; }
.about-healthcare__grid article { text-align: center; }
.about-healthcare__icon { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 13px; width: 257px; height: 257px; margin: 0 auto 37px; border-radius: 50%; background: #fff; box-shadow: 0 10px 37px rgba(0,0,0,.30); }
.about-healthcare__icon img { display: block; width: auto; height: auto; max-width: 95px; max-height: 85px; }
.about-healthcare__icon h3 { margin: 0; color: #8cc63f; font-size: 22px; font-weight: 600; letter-spacing: 0; line-height: 1.25; }
.about-healthcare__grid p { margin: 0; font-size: 14px; line-height: 2; letter-spacing: .08em; text-align: left; }
.about-workplace { padding: 104px 0 0; background: linear-gradient(45deg, #80f5ff 0%, #f8ffa3 100%); }
.about-workplace .section-heading { margin-bottom: 80px; }
.about-workplace__lead { margin: 0 20px 60px; font-size: 28px; font-weight: 700; line-height: 1.8; letter-spacing: .1em; }
.about-workplace__grid { display: grid; grid-template-columns: repeat(2, 565px); justify-content: center; gap: 42px 33px; margin: 0 17px 0 20px; padding-bottom: 95px; }
.about-workplace__grid article { min-height: 264px; box-sizing: border-box; padding: 57px 53px; border-radius: 28px; background: #fff; }
.about-workplace__grid h3 { margin: 0 0 14px; color: #ed7e8b; font-size: 26px; font-weight: 700; letter-spacing: .1em; }
.about-workplace__grid p { margin: 0; font-size: 14px; line-height: 1.9; letter-spacing: .06em; }
.about-workplace__photos { display: grid; grid-template-columns: repeat(4, 1fr); grid-template-rows: 350px 120px 350px; width: 100%; }
.about-workplace__photos img { display: block; width: 100%; height: 100%; object-fit: cover; }
.about-workplace__photos img:nth-child(1) { grid-column: 1 / span 2; grid-row: 1 / span 2; }
.about-workplace__photos img:nth-child(2) { grid-column: 3; grid-row: 1; }
.about-workplace__photos img:nth-child(3) { grid-column: 4; grid-row: 1; }
.about-workplace__photos img:nth-child(4) { grid-column: 1; grid-row: 3; }
.about-workplace__photos img:nth-child(5) { grid-column: 2; grid-row: 3; }
.about-workplace__photos img:nth-child(6) { grid-column: 3 / span 2; grid-row: 2 / span 2; }

/* About data */
.about2-intro { background: linear-gradient(45deg, #80f5ff 0%, #f8ffa3 100%); }
.about2-hero { min-height: 0; padding-bottom: 61px; background: transparent; }
.about2-hero .page-title__breadcrumb { gap: 38px; }
.about2-hero__subhead { position: relative; display: flex; align-items: baseline; box-sizing: border-box; width: calc(100% - 160px); height: 40px; margin: 45px 0 0 80px; padding: 0; color: #8cc63f; border-bottom: 1px solid #8cc63f; }
.about2-hero__subhead::after { position: absolute; bottom: -10px; left: 0; width: 187px; height: 10px; background: #8cc63f; content: ""; }
.about2-hero__subhead h2 { position: relative; z-index: 1; display: inline-flex; align-items: baseline; min-height: 24px; margin: 0; color: #8cc63f; font-size: 30px; font-weight: 700; letter-spacing: .1em; line-height: .8; }
.about2-hero__subhead small { display: inline; margin-left: 24px; color: #8cc63f; font-size: 14px; letter-spacing: .1em; line-height: .949; vertical-align: baseline; }
.about2-section { padding: 108px 0; }
.about2-section__header { position: static; inset: auto; z-index: auto; display: flex; align-items: center; width: auto; height: auto; gap: 12px; margin: 0 0 62px; }
.about2-section__header > img { display: block; width: auto; height: auto; max-width: 100%; }
.about2-section__header h2 { margin: 0; color: #ed7e8b; font-size: 21px; font-weight: 500; letter-spacing: .1em; }
.about2-overall { padding: 0 0 133px; background: transparent; }
.about2-overall .about2-section__header { gap: 5px; margin-bottom: 0; padding-left: 80px; }
.about2-overall .about2-section__header h2 { font-size: 27px; }
.about2-overall__main { display: grid; grid-template-columns: 500px 440px; column-gap: 130px; align-items: center; width: 1040px; max-width: 100%; margin: 25px auto 40px 115px; }
.about2-overall__main article { display: flex; align-items: center; flex-wrap: nowrap; gap: 15px; }
.about2-overall__main img { display: block; width: auto; height: auto; }
.about2-overall__staff img { width: 207.42px; }
.about2-overall__doctors img { width: 247.79px; }
.about2-overall__main p { flex: 0 0 auto; margin: 0; font-size: 61px; font-weight: 700; white-space: nowrap; }
.about2-value { display: inline-block; font-weight: 700; line-height: .9; letter-spacing: .02em; }
.about2-overall .about2-value { color: #ed7e8b; font-size: 144px; letter-spacing: 0; }
.about2-overall__doctors .about2-value { font-size: 92px; }
.about2-overall__doctors p { transform: translateY(30px); }
.about2-overall__doctors p b { font-size: 40px; }
.about2-overall__details { display: grid; grid-template-columns: 430px minmax(0, 1fr); column-gap: 40px; width: 1040px; max-width: 100%; margin: 0 auto 0 115px; }
.about2-overall__details article { display: flex; align-items: baseline; gap: 16px; }
.about2-overall__details img { width: auto; max-width: none; max-height: none; object-fit: contain; }
.about2-overall__details p { display: flex; align-items: baseline; flex: 1; margin: 0; font-size: 36px; font-weight: 700; letter-spacing: 0; white-space: nowrap; }
.about2-overall__detail-label { margin-right: auto; }
.about2-overall__details .about2-value { margin: 0; font-size: 77px; font-weight: 600; line-height: 83px; letter-spacing: 0; }
.about2-overall__details b { margin-left: 4px; font-size: 28px; }
.about2-overall__details article:nth-child(2) p { flex: 0 0 470px; gap: 16px; }
.about2-overall__details article:nth-child(2) .about2-overall__detail-label { margin-right: 0; }
.about2-overall__details article:nth-child(2) b { margin-left: -12px; }
.about2-overall__details article:nth-child(4) p { flex: 1; }
.about2-staff { padding: 60px 0 90px; background: #fff; }
.about2-staff .about2-container, .about2-benefits .about2-container, .about2-outcomes .about2-container { width: 1040px; max-width: calc(100% - 60px); }
.about2-staff .about2-container { width: min(1200px, calc(100% - 60px)); }
.about2-benefits .about2-container { width: min(1200px, calc(100% - 60px)); }
.about2-outcomes .about2-container { width: min(1200px, calc(100% - 60px)); }
.about2-overall .about2-section__header > img { width: 384px; }
.about2-staff .about2-section__header h2 { color: #8cc63f; }
.about2-staff .about2-section__header > img { width: 476px; }
.about2-staff__header { min-height: 128px; gap: 10px; margin-bottom: 40px; padding-left: 80px; }
.about2-staff__header h2 { font-size: 30px; font-weight: 500; letter-spacing: .1em; white-space: nowrap; }
.about2-staff__grid { display: grid; grid-template-columns: repeat(3, 260px); justify-content: space-between; column-gap: 0; row-gap: 65px; width: 1040px; max-width: calc(100% - 115px); margin: 0 auto 0 115px; padding: 0; }
.about2-staff__grid article { text-align: center; }
.about2-staff__grid > article > img { display: block; width: auto; height: auto; max-width: none; margin: 0 auto; object-fit: contain; }
.about2-staff__grid > article > p { margin: 15px 0 13px; color: #8cc63f; font-size: 40px; font-weight: 600; line-height: 1; }
.about2-staff__grid > article > p b { color: #111; }
.about2-staff__grid .about2-value { font-size: 93px; }
.about2-staff__grid dl { margin: 0; font-size: 22px; font-weight: 600; line-height: 1.7; text-align: left; }
.about2-staff__grid dl div { display: flex; justify-content: space-between; }
.about2-staff__grid dd { margin: 0; color: #8cc63f; }
.about2-staff__grid dd .about2-value { font-size: 47px; }
.about2-staff__grid dd > b { color: #111; font-weight: 600; }
.about2-benefits { padding: 72px 0 95px; background: #f3eeee; }
.about2-benefits .about2-section__header { margin: 0 0 60px; padding-left: 80px; }
.about2-benefits .about2-section__header > img { width: 512px; }
.about2-benefits__grid { display: grid; grid-template-columns: repeat(2, 406.71px); column-gap: 120px; row-gap: 92px; width: 932px; max-width: calc(100% - 108px); margin: 0 auto; padding-left: 108px; }
.about2-benefits__grid article { position: relative; display: flex; align-items: center; box-sizing: border-box; width: 406.71px; min-height: 139.44px; padding: 20px 32px 20px 80px; background: url("../images/about2_benefits_bg.svg") left center / 100% 100% no-repeat; color: #fff; }
.about2-benefits__grid article::before { position: absolute; top: 50%; left: -104px; width: 210px; height: 210px; box-sizing: border-box; border: 13px solid #ffa277; border-radius: 50%; background: #fff; transform: translateY(-50%); content: ""; }
.about2-benefits__grid article:nth-child(5) { grid-column: 1 / 2; width: 580px; padding-right: 95.91px; background-color: transparent; background-image: url("../images/about2_benefits_bg.svg"), linear-gradient(#ffa277, #ffa277); background-position: right center, left center; background-size: 406.71px 139.44px, calc(100% - 63.91px) 100%; background-repeat: no-repeat, no-repeat; }
.about2-benefits__grid img { position: absolute; z-index: 1; top: 50%; left: 1px; width: auto; max-width: none; max-height: none; transform: translate(-50%, -50%); object-fit: contain; }
.about2-benefits__grid p { width: 100%; margin: 0; font-size: 22px; font-weight: 600; line-height: 1.25; letter-spacing: .08em; }
.about2-benefits__item--binary p { color: #fff; font-size: 24px; line-height: 1.15; text-align: center; }
.about2-benefits__item--binary p span { display: block; }
.about2-benefits__item--rate p { display: grid; grid-template-columns: max-content max-content; grid-template-rows: auto auto; align-items: center; justify-content: center; column-gap: 8px; line-height: 1; }
.about2-benefits__rate-label { grid-column: 1; grid-row: 1; font-size: 22px; white-space: nowrap; }
.about2-benefits__item--rate small { grid-column: 1; grid-row: 2; align-self: start; color: #fff; font-size: 17px; line-height: 1.1; text-align: center; white-space: nowrap; }
.about2-benefits__rate-number { grid-column: 2; grid-row: 1 / 3; align-self: center; white-space: nowrap; }
.about2-benefits__grid .about2-value { font-size: 52px; }
.about2-benefits__rate-number b { font-size: 24px; }
.about2-outcomes { padding: 108px 0 98px; background: #fff; }
.about2-outcomes .about2-section__header { align-items: center; margin-bottom: 22px; padding-left: 80px; }
.about2-outcomes .about2-section__header > img { width: 384px; }
.about2-outcomes .about2-section__header h2 { color: #00a99d; font-size: 30px; letter-spacing: .1em; line-height: 1.16; }
.about2-outcomes .about2-section__header p { margin: 8px 0 0; font-size: 16px; font-weight: 700; letter-spacing: .1em; }
.about2-outcomes > .about2-container > h3 { box-sizing: border-box; width: 1040px; max-width: 100%; margin: -15px auto 25px; padding-left: 58px; font-size: 26px; font-weight: 600; letter-spacing: .08em; margin-top: 15px; }
.about2-outcomes__rehab { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 28px; box-sizing: border-box; width: 1040px; max-width: 100%; margin: 0 auto; padding-right: 0; align-items: center; }
.about2-outcomes__rehab > div { padding-left: 32px; }
.about2-outcomes__rehab article { display: flex; align-items: center; gap: 18px; margin: 0 0 24px; }
.about2-outcomes__rehab article img { width: 116px; height: 91.59px; object-fit: contain; }
.about2-outcomes__rehab article p { width: 150px; margin: 0; font-size: 22px; font-weight: 600; line-height: 1.18; text-align: center; }
.about2-outcomes__rehab article p small { font-size: 22px; }
.about2-outcomes__rehab article b { color: #3bcac8; font-size: 72px; line-height: .9; white-space: nowrap; }
.about2-outcomes__rehab article em { font-size: 20px; font-style: normal; font-weight: 600; white-space: nowrap; }
.about2-outcomes__rehab aside { display: flex; flex-direction: column; align-items: center; justify-content: center; box-sizing: border-box; min-height: 300px; padding: 30px 22px; border: 2px solid #3bcac8; border-radius: 32px; text-align: center; }
.about2-outcomes__rehab aside p { margin: 0 0 20px; font-size: 24px; font-weight: 600; }
.about2-outcomes__rehab aside b { display: block; color: #3bcac8; font-size: 70px; line-height: .9; }
.about2-outcomes__rehab aside span { align-self: flex-end; padding-right: 20px; font-size: 20px; font-weight: 600; }
.about2-outcomes__bottom { display: grid; grid-template-columns: 380px minmax(0,1fr); gap: 60px; box-sizing: border-box; width: 1040px; max-width: 100%; margin: 38px auto 0; padding: 16px 0 0 32px; border-top: 2px solid #3bcac8; }
.about2-outcomes__bottom article { display: flex; align-items: center; gap: 18px; }
.about2-outcomes__bottom img { width: 116px; height: 91.59px; object-fit: contain; }
.about2-outcomes__bottom p { margin: 0; font-size: 22px; font-weight: 600; white-space: nowrap; }
.about2-outcomes__bottom .about2-value { margin: 0 9px; color: #3bcac8; font-size: 66px; }

@media (max-width: 768px) {
	.lower-page-hero { min-height: 0; padding: 82px 20px 58px; }
	.work-hero, .about-hero { height: auto; min-height: 0; }
	.lower-page-hero__inner, .work-container, .about-container, .about2-container { width: 100%; }
	.lower-page-hero .page-title__breadcrumb { width: 100%; padding: 18px 0 42px; }
	.lower-page-hero .page-title__content { min-height: 110px; margin-left: 0; }
	.lower-page-hero .page-title__background { top: -6px; bottom: auto; left: -12px; font-size: 112px; line-height: .76; }
	.lower-page-hero .section-eyebrow { font-size: 16px; }
	.lower-page-hero .section-eyebrow span { font-size: 8px; }
	.section-heading { gap: 13px; margin-bottom: 32px; }
	.section-heading h2 { font-size: 20px; }
	.section-heading h2 small { display: block; margin: 7px 0 0; font-size: 8px; }
	#work .work-section-title,
	#work .section-heading { gap: 12px; height: 42px; padding: 0; }
	#work .work-section-title__heading,
	#work .section-heading h2 { font-size: 20px; }
	#work .section-heading h2 { min-height: 24px; }
	#work .work-section-title__english,
	#work .section-heading h2 small { display: inline; font-size: 8px; }
	#work .section-heading h2 small { margin-left: 12px; }
	#work .section-heading::before { top: 41px; }
	.work-hero__feature, .about-hero__feature { position: static; grid-template-columns: 1fr; gap: 34px; width: auto; margin-top: 51px; }
	.work-hero__feature > .work-section-title,
	.work-hero__copy,
	.work-hero__image { grid-column: auto; grid-row: auto; width: auto; }
	.work-hero__copy, .about-hero__copy { max-width: none; padding: 0; }
	.work-hero__copy h2, .about-hero__copy h2 { margin: 24px 0 17px; font-size: 23px; }
	.work-hero__copy > p:not(.section-eyebrow) { margin-bottom: 18px; font-size: 13px; line-height: 2.1; }
	.work-hero__copy > p:not(.section-eyebrow), .about-hero__copy > p:not(.section-eyebrow) { margin-bottom: 13px; font-size: 12px; line-height: 1.95; }
	.work-hero__image { margin: 0; border-radius: 20px 0 0 0; }
	.work-hero__image img, .about-hero__image img { height: auto; aspect-ratio: 1.58 / 1; }
	.about-hero__image { border-radius: 0; }
	.work-strengths, .about-message, .about-history, .about-healthcare { min-height: 0; padding: 64px 20px; }
	.work-strengths__grid { grid-template-columns: 1fr; gap: 44px; padding: 0; }
	.work-strength { display: grid; grid-template-columns: 150px minmax(0,1fr); column-gap: 22px; min-height: 0; text-align: left; }
	.work-strength__circle { grid-row: span 2; align-items: center; width: 150px; height: 150px; margin: 0; box-shadow: 0 6px 22px rgba(0,0,0,.3); }
	.work-strength__circle img { max-width: 72px; max-height: 62px; margin: 0 !important; }
	.work-strength h3 { align-self: end; margin: 0 0 16px; font-size: 16px; }
	.work-strength p { font-size: 11px; line-height: 1.85; }
	.work-benefits, .work-scholarship, .work-training, .work-annual, .about-history-intro, .about-vision, .about2-section { min-height: 0; padding: 64px 20px; }
	.work-benefits__intro { margin: -7px 0 28px; font-size: 11px; line-height: 1.8; }
	.work-section-lead { margin: -18px 0 28px; font-size: 13px; line-height: 1.8; }
	.work-benefits__grid { grid-template-columns: 1fr; gap: 14px; width: 100%; padding-left: 0; }
	.work-benefits__grid article { display: block; height: auto; min-height: 0; padding: 22px 20px 18px 78px; border-radius: 15px; transform: none; }
	.work-benefits__grid > article > img:not(.work-benefits__clock) { position: absolute; top: 23px; left: 22px; width: auto; height: auto; max-width: 40px; max-height: 46px; }
	.work-benefits__clock { top: auto; right: 20px; bottom: 20px; left: auto; }
	.work-benefits__grid h3 { min-height: 0; margin: 0 0 10px; font-size: 13px; }
	.work-benefits__grid ul { position: static; margin: 0; font-size: 10px; line-height: 1.8; }
	.work-benefits__grid li { padding-left: 14px; }
	.work-benefits__grid li::before { top: .72em; width: 7px; height: 7px; }
	.work-benefits__note { align-self: auto; margin: 30px 0 0; padding-left: 0; font-size: 16px; }
	.work-scholarship .work-section-lead { margin: -18px 0 28px; }
	.work-scholarship__grid { grid-template-columns: 1fr; gap: 14px; width: 100%; padding-left: 0; }
	.work-scholarship__grid article { height: auto; min-height: 0; padding: 18px; transform: none; }
	.work-scholarship__grid h3 { margin-bottom: 18px; padding-bottom: 12px; font-size: 16px; }
	.work-scholarship__grant-label { margin-bottom: 8px; font-size: 14px; }
	.work-scholarship__grant-row { font-size: 13px; }
	.work-scholarship__grant-row strong,
	.work-scholarship__grant-list strong { font-size: 25px; }
	.work-scholarship__grant-list { max-width: 240px; margin: 7px auto 0; }
	.work-scholarship__grant-list > div { min-height: 30px; }
	.work-scholarship__grant-list dt,
	.work-scholarship__grant-list dd { font-size: 12px; }
	.work-training .section-heading::after { bottom: -10px; width: 187px; height: 10px; }
	.work-training .work-section-lead { margin: -18px 0 28px; }
	.work-training__grid { grid-template-columns: 1fr; gap: 12px; width: 100%; padding-left: 0; }
	.work-training__grid article { height: auto; min-height: 96px; padding: 15px; border-radius: 12px; }
	.work-training__grid b { flex-basis: 62px; font-size: 32px; }
	.work-training__grid h3 { font-size: 12px; }
	.work-training__grid p { font-size: 10px; }
	.work-training__photos { grid-template-columns: 1fr; margin-top: 60px; }
	.work-training__photos img { height: auto; aspect-ratio: 1.7 / 1; }
	.work-training__photos img + img { display: none; }
	.work-annual__body { gap: 13px; margin: -16px 0 18px; }
	.work-annual__calendar { width: 53px; height: auto; font-size: inherit; }
	.work-annual__body p { font-size: 10px; }
	.work-annual__list { grid-template-columns: 1fr; gap: 9px; }
	.work-annual__list li { display: grid; grid-template-columns: 90px 1fr; gap: 13px; align-items: center; }
	.work-annual__list b { padding: 9px; font-size: 12px; }
	.work-annual__list span { margin: 0; font-size: 10px; }

	/* Work page: mobile layout */
	.work-hero { padding-bottom: 50px; }
	.work-hero__feature { gap: 28px; margin-top: 38px; }
	.work-hero__feature > .work-section-title { width: 100%; }
	.work-hero__copy h2 { margin: 0 0 18px; font-size: 22px; line-height: 1.65; letter-spacing: .08em; }
	.work-hero__copy > p:not(.section-eyebrow) { margin-bottom: 14px; font-size: 12px; line-height: 1.95; letter-spacing: .06em; }
	.work-hero__image { width: calc(100% + 20px); margin: 3px -20px 0 0; }

	.work-strengths { padding: 60px 20px; }
	.work-strengths .section-heading { margin-bottom: 38px; }
	.work-strengths__grid { gap: 34px; }
	.work-strength { grid-template-columns: 128px minmax(0, 1fr); column-gap: 17px; }
	.work-strength__circle { width: 128px; height: 128px; box-shadow: 0 6px 20px rgba(0,0,0,.22); }
	.work-strength__circle img { max-width: 61px; max-height: 54px; }
	.work-strength h3 { margin-bottom: 5px; font-size: 16px; line-height: 1.5; white-space: nowrap; }
	.work-strength h3 br { display: none; }
	.work-strength p { font-size: 11px; line-height: 1.9; letter-spacing: .06em; }

	.work-benefits { padding-top: 60px; padding-bottom: 60px; }
	.work-benefits .section-heading { margin-bottom: 25px; }
	.work-benefits__intro { margin-bottom: 24px; padding-left: 0; font-size: 11px; line-height: 1.8; letter-spacing: .06em; }
	.work-benefits__grid { gap: 12px; }
	.work-benefits__grid article { padding: 18px 16px 17px 67px; border-radius: 13px; }
	.work-benefits__grid article:nth-child(3n) { transform: none; }
	.work-benefits__grid > article > img:not(.work-benefits__clock) { top: 18px; left: 17px; max-width: 34px; max-height: 40px; }
	.work-benefits__clock { right: 16px; bottom: 17px; }
	.work-benefits__grid h3 { margin-bottom: 8px; font-size: 14px; line-height: 1.35; letter-spacing: .06em; }
	.work-benefits__grid ul { font-size: 10px; line-height: 1.8; letter-spacing: .04em; }
	.work-benefits__grid li { padding-left: 13px; }
	.work-benefits__grid li::before { width: 7px; height: 7px; }
	.work-benefits__note { margin-top: 20px; font-size: 15px; line-height: 1.7; letter-spacing: .08em; }

	.work-scholarship { padding-top: 60px; padding-bottom: 60px; }
	.work-scholarship .section-heading { margin-bottom: 30px; }
	.work-scholarship .work-section-lead { margin: -13px 0 26px; font-size: 13px; line-height: 1.8; letter-spacing: .05em; }
	.work-scholarship__grid { gap: 14px; }
	.work-scholarship__grid article { padding: 22px 20px; border-radius: 16px; }
	.work-scholarship__grid article:nth-child(3n) { transform: none; }
	.work-scholarship__grid h3 { margin-bottom: 20px; padding-bottom: 14px; font-size: 19px; line-height: 1; }
	.work-scholarship__grant-label { margin-bottom: 8px; font-size: 16px; line-height: 1.35; }
	.work-scholarship__grant-row { font-size: 14px; line-height: 1.4; }
	.work-scholarship__grant-row strong,
	.work-scholarship__grant-list strong { font-size: 29px; }
	.work-scholarship__grant-list { max-width: 260px; margin-top: 5px; }
	.work-scholarship__grant-list > div { min-height: 34px; }
	.work-scholarship__grant-list dt,
	.work-scholarship__grant-list dd { font-size: 13px; line-height: 1.45; }

	.work-training { padding-top: 60px; padding-bottom: 0; }
	.work-training .section-heading { margin-bottom: 30px; }
	.work-training .work-section-lead { margin: -13px 0 28px; font-size: 13px; line-height: 1.8; letter-spacing: .05em; }
	.work-training__grid { gap: 14px; }
	.work-training__grid article { min-height: 120px; padding: 17px 16px; border-radius: 14px; }
	.work-training__grid b { flex-basis: 70px; font-size: 52px; }
	.work-training__grid h3 { margin-bottom: 6px; font-size: 15px; line-height: 1.35; letter-spacing: .05em; }
	.work-training__grid p { font-size: 10px; line-height: 1.75; letter-spacing: .04em; }
	.work-training__photos { grid-template-columns: 1fr 1fr; width: calc(100% + 40px); margin-top: 60px; margin-right: -20px; margin-left: -20px; }
	.work-training__photos img { height: auto; aspect-ratio: 1 / 1; object-fit: cover; }
	.work-training__photos img + img { display: block; }

	.work-annual { padding: 60px 20px 70px; }
	.work-annual .section-heading { margin-bottom: 30px; }
	.work-annual .section-heading h2 { gap: 8px; align-items: center; }
	.work-annual .section-heading h2 > span { flex: 0 0 auto; font-size: clamp(15px, 4.55vw, 17px); letter-spacing: .06em; white-space: nowrap; }
	.work-annual .section-heading h2 small { flex: 0 0 68px; margin-left: 0; line-height: 1.2; overflow-wrap: anywhere; }
	.work-annual__body { gap: 14px; margin: -12px 0 24px; }
	.work-annual__calendar { width: 48px; }
	.work-annual__body p { font-size: 11px; line-height: 1.8; letter-spacing: .05em; }
	.work-annual__list { gap: 10px; }
	.work-annual__list li { grid-template-columns: 82px minmax(0, 1fr); gap: 12px; }
	.work-annual__list b { padding: 8px 5px; font-size: 11px; }
	.work-annual__list span { font-size: 10px; line-height: 1.8; letter-spacing: .04em; }
	.about-message__body { grid-template-columns: 1fr; gap: 29px; }
	.about-message__body figure { width: min(270px, 75vw); border-radius: 20px; }
	.about-message__quote { margin: 0 0 18px; font-size: 20px; }
	.about-message__name { margin-bottom: 25px; font-size: 11px; }
	.about-message__body > div > p:not(.about-message__quote):not(.about-message__name) { margin-bottom: 15px; font-size: 11px; line-height: 2; }
	.about-history-intro__copy { padding-bottom: 51px; }
	.about-history-intro__copy h3 { margin-bottom: 18px; font-size: 20px; }
	.about-history-intro__copy p { font-size: 11px; line-height: 1.95; }
	.about-history-intro__photos { grid-template-columns: 1fr 1fr; }
	.about-history-intro__photos img { height: auto; aspect-ratio: 1.15 / 1; }
	.about-history__list { margin-bottom: 50px; }
	.about-history__list div { grid-template-columns: 82px minmax(0,1fr); gap: 14px; padding: 10px 0; }
	.about-history__list dt, .about-history__list dd { font-size: 11px; }
	.about-access { grid-template-columns: 1fr; gap: 23px; padding: 25px 20px; border-radius: 13px; }
	.about-access__info h3 { margin-bottom: 16px; font-size: 16px; }
	.about-access__info p { margin-bottom: 12px; font-size: 11px; }
	.about-access__map, .about-access__map iframe { min-height: 245px; }
	.about-vision__grid { grid-template-columns: 1fr; gap: 28px; }
	.about-vision__grid h3 { margin-bottom: 11px; font-size: 20px; }
	.about-vision__grid p { font-size: 12px; line-height: 1.95; }
	.about-healthcare__lead { margin: -18px 0 30px; font-size: 11px; }
	.about-healthcare__grid { grid-template-columns: 1fr 1fr; gap: 12px; }
	.about-healthcare__grid article { min-height: 210px; padding: 21px 15px; border-radius: 11px; }
	.about-healthcare__grid img { width: 52px; height: 52px; margin-bottom: 13px; }
	.about-healthcare__icon h3 { font-size: 13px; }
	.about-healthcare__grid p { font-size: 10px; line-height: 1.7; }
	.about-healthcare__photos { grid-template-columns: 1fr 1fr; margin: 52px -20px -64px; }
	.about-healthcare__photos img { height: auto; aspect-ratio: 1.15 / 1; }
	.about2-hero { min-height: 0; padding-bottom: 30px; }
	.about2-hero__subhead { width: 100%; height: 42px; margin: 43px 0 0; }
	.about2-hero__subhead::after { bottom: -6px; width: 100px; height: 6px; }
	.about2-hero__subhead h2 { font-size: 20px; }
	.about2-hero__subhead small { display: inline; margin-left: 12px; font-size: 8px; letter-spacing: .1em; }
	.about2-section { padding: 64px 0; }
	.about2-staff .about2-container, .about2-benefits .about2-container, .about2-outcomes .about2-container { width: 100%; max-width: none; }
	.about2-section__header { align-items: flex-start; flex-direction: column; gap: 10px; margin-bottom: 33px; }
	.about2-staff .about2-section__header, .about2-benefits .about2-section__header, .about2-outcomes .about2-section__header { padding-left: 0; }
	.about2-section__header > img, .about2-benefits .about2-section__header > img, .about2-outcomes .about2-section__header > img { width: min(238px, 80%); }
	.about2-overall .about2-section__header > img { width: min(238px, 80%); }
	.about2-staff .about2-section__header > img { width: min(294px, 92%); }
	.about2-staff__header { min-height: 0; gap: 10px; margin-bottom: 33px; }
	.about2-staff__header h2 { white-space: normal; }
	.about2-section__header h2 { font-size: 15px; }
	.about2-overall { padding: 55px 0 64px; }
	.about2-overall .about2-section__header { gap: 10px; margin-bottom: 33px; padding-left: 0; }
	.about2-overall .about2-section__header h2 { font-size: 15px; }
	.about2-overall__main { display: flex; width: auto; gap: 22px; margin: 0 0 27px; }
	.about2-overall__main article { flex-direction: column; gap: 5px; }
	.about2-overall__main img { width: min(125px, 38vw); }
	.about2-overall__main p { font-size: 15px; }
	.about2-overall__doctors p { transform: none; }
	.about2-overall .about2-value { font-size: 45px; }
	.about2-overall__details { grid-template-columns: repeat(2, minmax(0, 1fr)); width: auto; gap: 14px 12px; margin: 0; }
	.about2-overall__details article { gap: 8px; }
	.about2-overall__details img { width: 25px; max-height: 31px; }
	.about2-overall__details p { font-size: 11px; }
	.about2-overall__details .about2-value { margin-left: 4px; font-size: 23px; line-height: .9; letter-spacing: .02em; }
	.about2-overall__details b { margin-left: 2px; font-size: 11px; }
	.about2-overall__details article:nth-child(2) b { margin-left: 2px; }
	.about2-overall__details article:nth-child(2) p, .about2-overall__details article:nth-child(4) p { flex: 1; width: auto; }
	.about2-staff__grid { grid-template-columns: repeat(2, 1fr); gap: 43px 22px; width: auto; max-width: none; margin: 0; padding: 0; }
	.about2-staff__grid > article > img { width: 112px; height: 77px; }
	.about2-staff__grid > article > p { margin-bottom: 9px; font-size: 12px; }
	.about2-staff__grid .about2-value { font-size: 31px; }
	.about2-staff__grid dl { font-size: 10px; line-height: 1.7; }
	.about2-staff__grid dd .about2-value { font-size: 15px; }
	.about2-benefits__grid { grid-template-columns: minmax(0, 1fr); gap: 14px; width: calc(100% - 74px); max-width: none; margin: 0 auto; padding-left: 30px; }
	.about2-benefits__grid article, .about2-benefits__grid article:nth-child(5) { grid-column: auto; width: 100%; min-height: 104px; padding: 15px 18px 15px 104px; }
	.about2-benefits__grid article:nth-child(5) { background: url("../images/about2_benefits_bg.svg") left center / 100% 100% no-repeat; }
	.about2-benefits__grid article::before { left: -57px; width: 104px; height: 104px; border-width: 10px; }
	.about2-benefits__grid img { left: -5px; width: auto; max-width: 54px; max-height: 59px; }
	.about2-benefits__grid p, .about2-benefits__item--binary p { font-size: 13px; }
	.about2-benefits__item--rate p { justify-content: center; column-gap: 3px; }
	.about2-benefits__rate-label { font-size: 12px; }
	.about2-benefits__item--rate small { font-size: 10px; }
	.about2-benefits__grid .about2-value { font-size: 27px; }
	.about2-benefits__rate-number b { font-size: 13px; }
	.about2-outcomes > .about2-container > h3 { width: auto; max-width: none; margin: -10px 0 22px; padding-left: 0; font-size: 14px; }
	.about2-outcomes .about2-section__header { margin-bottom: 33px; }
	.about2-outcomes__rehab { grid-template-columns: 1fr; gap: 25px; width: auto; max-width: none; margin: 0; padding-right: 0; }
	.about2-outcomes__rehab > div { padding-left: 0; }
	.about2-outcomes__rehab article { gap: 9px; margin-bottom: 10px; }
	.about2-outcomes__rehab article img { width: 29px; height: 24px; }
	.about2-outcomes__rehab article p { width: 74px; font-size: 13px; }
	.about2-outcomes__rehab article p small { font-size: 9px; }
	.about2-outcomes__rehab article b { font-size: 30px; }
	.about2-outcomes__rehab article em { font-size: 10px; }
	.about2-outcomes__rehab aside { min-height: 0; padding: 24px; border-radius: 14px; }
	.about2-outcomes__rehab aside p { margin-bottom: 13px; font-size: 13px; }
	.about2-outcomes__rehab aside b { font-size: 35px; }
	.about2-outcomes__rehab aside span { align-self: center; padding-right: 0; font-size: 10px; }
	.about2-outcomes__bottom { display: flex; flex-direction: column; align-items: flex-start; gap: 15px; width: auto; max-width: none; margin: 29px 0 0; padding: 0; border-top: 0; }
	.about2-outcomes__bottom article { gap: 9px; }
	.about2-outcomes__bottom img { width: 32px; height: 25px; }
	.about2-outcomes__bottom p { font-size: 14px; }
	.about2-outcomes__bottom .about2-value { font-size: 29px; }
}

/* About2: mobile layout ---------------------------------------------------- */
@media (max-width: 768px) {
	#about2 { overflow-x: clip; }

	/* Keep the same minimum side gutter through every data section. */
	#about2 .about2-section { padding: 56px 20px; }
	#about2 .about2-container,
	#about2 .about2-staff .about2-container,
	#about2 .about2-benefits .about2-container,
	#about2 .about2-outcomes .about2-container { width: 100%; max-width: none; }

	#about2 .about2-hero { padding-right: 20px; padding-left: 20px; }
	#about2 .about2-hero__subhead { justify-content: center; margin-top: 36px; text-align: center; }
	#about2 .about2-hero__subhead h2 { font-size: 19px; }

	/* Image-based section headings remain centred independently of their width. */
	#about2 .about2-section__header,
	#about2 .about2-overall .about2-section__header {
		align-items: center;
		justify-content: center;
		padding-left: 0;
		text-align: center;
	}
	#about2 .about2-section__header > img,
	#about2 .about2-overall .about2-section__header > img,
	#about2 .about2-staff .about2-section__header > img,
	#about2 .about2-benefits .about2-section__header > img,
	#about2 .about2-outcomes .about2-section__header > img {
		width: min(250px, 82vw);
		margin-inline: auto;
	}
	#about2 .about2-staff .about2-section__header > img { width: min(280px, 88vw); }
	#about2 .about2-section__header h2,
	#about2 .about2-outcomes .about2-section__header > div { text-align: center; }
	#about2 .about2-outcomes .about2-section__header > div { width: 100%; }

	#about2 .about2-overall { padding-top: 30px; padding-bottom: 58px; }
	#about2 .about2-overall .about2-section__header { margin-bottom: 25px; }
	#about2 .about2-overall__main {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		gap: 24px;
		width: 100%;
		margin: 0 0 30px;
	}
	#about2 .about2-overall__main article { flex: 0 0 auto; min-width: 0; gap: 6px; }
	#about2 .about2-overall__main img { width: min(125px, 37vw); height: auto; }
	#about2 .about2-overall__main p { font-size: 14px; white-space: nowrap; }
	#about2 .about2-overall .about2-value { font-size: 45px; }
	#about2 .about2-overall__doctors .about2-value { font-size: 40px; }
	#about2 .about2-overall__doctors p { transform: none; }
	#about2 .about2-overall__details {
		grid-template-columns: minmax(0, 1fr);
		gap: 12px;
		width: 100%;
		margin: 0;
	}
	#about2 .about2-overall__details article { justify-content: center; gap: 9px; }
	#about2 .about2-overall__details img { flex: 0 0 auto; width: 25px; max-height: 31px; }
	#about2 .about2-overall__details p,
	#about2 .about2-overall__details article:nth-child(2) p,
	#about2 .about2-overall__details article:nth-child(4) p {
		flex: 0 1 auto;
		width: auto;
		justify-content: center;
		font-size: 13px;
		white-space: normal;
	}
	#about2 .about2-overall__detail-label { margin-right: 4px; }
	#about2 .about2-overall__details .about2-value { margin-left: 2px; font-size: 28px; line-height: 1; }
	#about2 .about2-overall__details b,
	#about2 .about2-overall__details article:nth-child(2) b { margin-left: 2px; font-size: 13px; }

	#about2 .about2-staff { padding-top: 56px; padding-bottom: 64px; }
	#about2 .about2-staff__header { margin-bottom: 30px; }
	#about2 .about2-staff__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px 16px;
		width: 100%;
		max-width: none;
		margin: 0;
	}
	#about2 .about2-staff__grid > article { min-width: 0; }
	#about2 .about2-staff__grid > article { display: flex; flex-direction: column; align-items: center; }
	#about2 .about2-staff__grid > article > img { width: min(124px, 100%); height: auto; }
	#about2 .about2-staff__grid > article > p { margin: 10px 0; font-size: 13px; }
	#about2 .about2-staff__grid .about2-value { font-size: 34px; }
	#about2 .about2-staff__grid dl { width: auto; font-size: 11px; line-height: 1.65; }
	#about2 .about2-staff__grid dl div { display: grid; grid-template-columns: max-content max-content; align-items: baseline; justify-content: center; column-gap: 6px; }
	#about2 .about2-staff__grid dt,
	#about2 .about2-staff__grid dd { white-space: nowrap; }
	#about2 .about2-staff__grid dd .about2-value { font-size: 16px; }

	#about2 .about2-benefits { padding-top: 56px; padding-bottom: 64px; }
	#about2 .about2-benefits .about2-section__header { margin-bottom: 30px; }
	/* Keep each benefit as one centred "badge + arrow" unit. */
	#about2 .about2-benefits__grid {
		display: flex;
		flex-direction: column;
		align-items: center;
		width: min(310px, calc(100vw - 40px));
		max-width: none;
		gap: 18px;
		margin: 0 auto;
		padding: 0;
	}
	#about2 .about2-benefits__grid article,
	#about2 .about2-benefits__grid article:nth-child(5) {
		flex: 0 0 104px;
		grid-column: auto;
		width: 260px;
		min-height: 104px;
		margin-left: 50px;
		padding: 12px 16px 12px 68px;
		background: url("../images/about2_benefits_bg.svg") left center / 100% 100% no-repeat;
	}
	#about2 .about2-benefits__grid article::before {
		left: -50px;
		width: 104px;
		height: 104px;
		border-width: 10px;
	}
	#about2 .about2-benefits__grid img {
		left: 2px;
		max-width: 54px;
		max-height: 59px;
	}
	#about2 .about2-benefits__grid p,
	#about2 .about2-benefits__item--binary p {
		width: 100%;
		text-align: center;
		transform: translateX(-24px);
	}
	#about2 .about2-benefits__item--rate p { justify-content: center; }

	#about2 .about2-outcomes { padding-top: 56px; padding-bottom: 64px; }
	#about2 .about2-outcomes .about2-section__header { margin-bottom: 28px; }
	#about2 .about2-outcomes > .about2-container > h3 { margin: 0 0 22px; padding-left: 0; text-align: center; }
	#about2 .about2-outcomes__rehab { width: 100%; }
	#about2 .about2-outcomes__rehab > div { display: flex; flex-direction: column; align-items: center; padding-left: 0; }
	#about2 .about2-outcomes__rehab article { width: max-content; }
	#about2 .about2-outcomes__rehab aside { width: 100%; }
	#about2 .about2-outcomes__bottom { width: 100%; align-items: stretch; }
	#about2 .about2-outcomes__bottom article { justify-content: center; }
}

@media (max-width: 768px) {
	#about { overflow-x: clip; }
	.about-page .section-heading { margin-bottom: 34px; padding-bottom: 14px; }
	.about-page .section-heading::after { bottom: -10px; width: 187px; height: 10px; background: #8cc63f; }
	.about-page .section-heading h2 { font-size: 20px; font-weight: 700; letter-spacing: .1em; line-height: 1.2; }
	.about-page .section-heading h2 small { display: block; margin: 7px 0 0; font-size: 8px; letter-spacing: .1em; line-height: 1.2; }
	.about-hero { min-height: 0; padding-bottom: 64px; }
	.about-hero .page-title__content { min-height: 118px; }
	.about-hero .page-title__lead { font-size: 13px; line-height: 1.8; letter-spacing: .08em; }
	.about-hero__section-title { width: 100%; height: auto; min-height: 47px; align-items: flex-start; margin-top: 37px; padding-bottom: 14px; }
	.about-hero__section-title::after { bottom: -10px; width: 187px; height: 10px; }
	.about-hero__section-title h2 { font-size: 18px; }
	.about-hero__section-title small { display: block; margin: 5px 0 0; font-size: 8px; letter-spacing: .1em; }
	.about-hero__feature { grid-template-columns: 1fr; gap: 32px; width: calc(100% + 20px); margin-top: 46px; }
	.about-hero__copy { width: calc(100% - 20px); max-width: none; padding: 0; }
	.about-hero__copy h3 { margin-bottom: 19px; font-size: 22px; line-height: 1.6; }
	.about-hero__copy p { margin-bottom: 15px; font-size: 13px; line-height: 1.95; }
	.about-hero__copy > p:not(.section-eyebrow) { margin-bottom: 15px; font-size: 12px; line-height: 1.95; }
	.about-hero__image { width: 100%; }
	.about-hero__image img { height: auto; aspect-ratio: 1.58 / 1; }

	.about-message { padding: 64px 20px 69px; }
	.about-message__lead { grid-template-columns: 1fr; gap: 29px; padding-left: 0; }
	.about-message__lead figure { width: min(270px, 75vw); margin: 0 auto; border-radius: 20px; }
	.about-message__quote { margin-bottom: 18px; font-size: 20px; }
	.about-message__name { margin-bottom: 0; font-size: 11px; }
	.about-message__name strong { margin-top: 5px; font-size: 17px; }
	.about-message__body { margin: 37px 0 0; }
	.about-message__body p { margin-bottom: 15px; font-size: 12px; line-height: 2; }

	.about-history-intro { padding: 64px 0 0; }
	.about-history-intro .about-container { box-sizing: border-box; padding: 0 20px; }
	.about-history-intro__copy { padding: 7px 0 51px; }
	.about-history-intro__copy h3 { margin-bottom: 18px; font-size: 20px; }
	.about-history-intro__copy p { font-size: 12px; line-height: 2; }
	.about-history-intro__photos { grid-template-columns: 1fr 1fr; }
	.about-history-intro__photos img { height: auto; aspect-ratio: 1.15 / 1; }
	.about-history { padding: 64px 20px 70px; }
	.about-history__list { margin-bottom: 50px; padding: 0; }
	.about-history__list div { grid-template-columns: 82px minmax(0,1fr); gap: 0; min-height: 0; padding: 10px 0; }
	.about-history__list dt, .about-history__list dd { font-size: 11px; }
	.about-history__list dt small { font-size: 8px; }
	.about-history__list dt { align-items: center; justify-content: center; text-align: center; }
	.about-history__list dd { padding-left: 54px; line-height: 1.8; overflow-wrap: anywhere; }
	.about-history__list dd::before { left: 0; }
	.about-history__list dd::after { top: 50%; left: 0; width: 42px; transform: translateY(-50%); }
	.about-access { padding: 25px 20px 28px; border-radius: 13px; }
	.about-access__top { grid-template-columns: 1fr; gap: 25px; margin-bottom: 24px; padding-bottom: 20px; }
	.about-access h3 { margin-bottom: 13px; font-size: 16px; }
	.about-access li, .about-access__location p { font-size: 12px; line-height: 2; overflow-wrap: anywhere; }
	.about-access__info li:nth-child(2) { white-space: normal; }
	.about-access__location { margin-bottom: 22px; }
	.about-access__map, .about-access__map iframe { min-height: 245px; height: 245px; }

	.about-vision { padding: 64px 20px; }
	.about-vision__grid { grid-template-columns: 1fr; gap: 28px; }
	.about-vision__grid h3 { margin-bottom: 11px; font-size: 20px; }
	.about-vision__grid p { font-size: 12px; line-height: 1.95; }
	.about-vision__grid li { font-size: 11px; }

	.about-healthcare { padding: 64px 20px 70px; }
	.about-healthcare__grid { grid-template-columns: 1fr 1fr; gap: 34px 20px; }
	.about-healthcare__grid article { min-height: 0; padding: 0; border-radius: 0; background: transparent; box-shadow: none; }
	.about-healthcare__icon { gap: 7px; width: min(148px, calc((100vw - 60px) / 2)); height: min(148px, calc((100vw - 60px) / 2)); margin-bottom: 20px; box-shadow: 0 10px 21px rgba(0,0,0,.19); }
	.about-healthcare__icon img { width: auto; height: auto; max-width: 59px; max-height: 54px; margin: 0; }
	.about-healthcare__icon h3 { margin: 0; font-size: 13px; }
	.about-healthcare__grid p { font-size: 11px; line-height: 1.85; letter-spacing: .04em; }

	.about-workplace { padding: 64px 20px 0; }
	.about-workplace__lead { margin: 0 0 27px; font-size: 17px; line-height: 1.7; }
	.about-workplace__lead br { display: none; }
	.about-workplace__grid { grid-template-columns: 1fr; gap: 16px; margin: 0; padding-bottom: 63px; }
	.about-workplace__grid article { min-height: 0; padding: 22px 20px; border-radius: 13px; }
	.about-workplace__grid h3 { margin-bottom: 9px; font-size: 15px; }
	.about-workplace__grid p { font-size: 12px; line-height: 2; }
	.about-workplace__photos { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); width: calc(100% + 40px); margin-left: -20px; }
	.about-workplace__photos img { height: auto; object-fit: cover; }
	.about-workplace__photos img:nth-child(1) { grid-column: 1 / -1; grid-row: 1; }
	.about-workplace__photos img:nth-child(2) { grid-column: 1; grid-row: 2; }
	.about-workplace__photos img:nth-child(3) { grid-column: 2; grid-row: 2; }
	.about-workplace__photos img:nth-child(4) { grid-column: 1; grid-row: 3; }
	.about-workplace__photos img:nth-child(5) { grid-column: 2; grid-row: 3; }
	.about-workplace__photos img:nth-child(6) { grid-column: 1 / -1; grid-row: 4; }
}

.voice-filter a { display: inline-flex; align-items: center; justify-content: center; min-height: 43px; padding: 8px 12px; border: 1px solid #29abe2; border-radius: 24px; background: #fff; color: #29abe2; font-size: 14px; letter-spacing: .1em; text-align: center; line-height: 1.3; transition: background-color .25s, color .25s, border-color .25s; }
.voice-filter a:hover,
.voice-filter a.is-active { border-color: #29abe2; background: #29abe2; color: #fff; }
.voice-card__body h2 { color: #29abe2; }
.jobtype-card, #hospital-jobs-title, #related-jobs-title { scroll-margin-top: 130px; }

.boshu-modal { position: fixed; inset: 0; z-index: 300; display: none; }
.boshu-modal.is-open { display: block; }
.boshu-modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.55); cursor: pointer; }
.boshu-modal__panel { position: absolute; top: 50%; left: 50%; width: min(520px, calc(100% - 40px)); padding: 52px 44px 44px; transform: translate(-50%, -50%); background: #fff; border-radius: 20px; box-shadow: 0 16px 48px rgba(0,0,0,.25); text-align: center; }
.boshu-modal__close { position: absolute; top: 16px; right: 16px; width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; transition: background-color .25s; }
.boshu-modal__close::before,
.boshu-modal__close::after { content: ""; position: absolute; top: 50%; left: 50%; width: 20px; height: 2px; background: #333; }
.boshu-modal__close::before { transform: translate(-50%, -50%) rotate(45deg); }
.boshu-modal__close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.boshu-modal__close:hover { background: #f0f0f0; }
.boshu-modal__title { margin: 0; color: #333; font-size: 26px; letter-spacing: .14em; line-height: 1.3; }
.boshu-modal__lead { margin: 14px 0 30px; font-size: 15px; letter-spacing: .06em; line-height: 1.8; }
.boshu-modal__buttons { display: grid; gap: 16px; }
.boshu-modal__button { display: inline-flex; align-items: center; justify-content: center; position: relative; min-height: 64px; padding: 12px 48px 12px 30px; border-radius: 32px; color: #fff !important; font-size: 17px; font-weight: 600; letter-spacing: .1em; transition: filter .25s; }
.boshu-modal__button::after { content: ""; position: absolute; top: 50%; right: 26px; width: 9px; height: 9px; border-top: 2px solid #fff; border-right: 2px solid #fff; transform: translateY(-50%) rotate(45deg); }
.boshu-modal__button:hover { filter: brightness(1.07); }
.boshu-modal__button--green { background: #8ec43e; }
.boshu-modal__button--pink { background: #ed7e8b; }
.boshu-modal__note { margin: 22px 0 0; color: #888; font-size: 12px; letter-spacing: .05em; }

@media (max-width: 767px) {
	.boshu-modal__panel { padding: 44px 24px 32px; }
	.boshu-modal__title { font-size: 21px; }
	.boshu-modal__lead { margin-bottom: 24px; font-size: 13px; }
	.boshu-modal__button { min-height: 56px; font-size: 15px; }
}

.mincho { font-family: "fot-tsukuaoldmin-pr6n", "Zen Old Mincho", serif; font-weight: 300; font-style: normal; }
.work-scholarship__grid article { display: flex; flex-direction: column; }
.work-scholarship__grid h3 { flex: 0 0 auto; }
.work-scholarship__grant { display: flex; flex: 1; flex-direction: column; justify-content: center; }
.work-training__grid h3 { font-weight: 700; }

.about2-overall__detail-note { display: block; margin-top: 4px; font-size: 13px; font-weight: 400; letter-spacing: .05em; line-height: 1.3; }
@media (max-width: 768px) {
	.about2-overall__detail-note { margin-top: 2px; font-size: 9px; }
}

.contact-page { position: relative; overflow: hidden; padding: 99px 0 130px; background: linear-gradient(90deg, rgba(255,179,179,.5) 0%, rgba(242,245,176,.5) 50%, rgba(202,249,207,.5) 100%); }
.contact-page__inner { position: relative; z-index: 1; max-width: 1200px; margin: 0 auto; padding: 0 30px; }
.contact-form { position: relative; max-width: 920px; margin: 24px auto 0; padding: 52px 60px 56px; background: rgba(255,255,255,.96); border-radius: 20px; box-shadow: 0 12px 32px rgba(74,127,103,.16); }
.contact-form__lead { margin: 0 0 36px; font-size: 15px; letter-spacing: .08em; line-height: 2; text-align: center; }
.contact-form__row { display: flex; align-items: flex-start; gap: 28px; padding: 24px 0; border-bottom: 1px solid #e6eef0; }
.contact-form__row:first-of-type { border-top: 1px solid #e6eef0; }
.contact-form__label { display: flex; flex: 0 0 230px; align-items: center; justify-content: space-between; gap: 10px; margin: 0; padding-top: 10px; font-size: 15px; font-weight: 600; letter-spacing: .08em; line-height: 1.5; }
.contact-form__badge { flex: 0 0 auto; padding: 3px 12px; border-radius: 13px; background: #ed7e8b; color: #fff; font-size: 11px; font-weight: 400; letter-spacing: .1em; line-height: 1.4; }
.contact-form__badge--optional { background: #b3b3b3; }
.contact-form__field { flex: 1; min-width: 0; }
.contact-form__field input[type="text"],
.contact-form__field input[type="tel"],
.contact-form__field input[type="email"],
.contact-form__field textarea { width: 100%; padding: 12px 18px; border: 1px solid #ccd6da; border-radius: 10px; background: #fff; color: #333; font: inherit; letter-spacing: .05em; transition: border-color .25s, box-shadow .25s; }
.contact-form__field textarea { min-height: 160px; resize: vertical; }
.contact-form__field input:focus,
.contact-form__field textarea:focus { outline: 0; border-color: #29abe2; box-shadow: 0 0 0 3px rgba(41,171,226,.15); }
.contact-form__field ::placeholder { color: #aab7bd; }
.contact-form__field--radios { display: flex; align-items: center; min-height: 51px; }
.contact-form__field--radios .wpcf7-radio { display: flex; flex-wrap: wrap; gap: 10px 28px; }
.contact-form__field--radios .wpcf7-list-item { margin: 0; }
.contact-form__field--radios .wpcf7-list-item label { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 15px; letter-spacing: .05em; cursor: pointer; }
.contact-form__field--radios input[type="radio"] { width: 18px; height: 18px; margin: 0; accent-color: #29abe2; cursor: pointer; }
.contact-form__consent { margin: 32px 0 0; font-size: 14px; letter-spacing: .05em; text-align: center; }
.contact-form__consent .wpcf7-list-item { margin: 0; }
.contact-form__consent label { display: inline-flex; align-items: flex-start; gap: 10px; margin: 0; text-align: left; cursor: pointer; }
.contact-form__consent input[type="checkbox"] { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 4px; accent-color: #29abe2; cursor: pointer; }
.contact-form__submit { margin: 36px 0 0; text-align: center; }
.contact-form__button { display: inline-flex; align-items: center; justify-content: center; min-width: 320px; min-height: 64px; padding: 12px 40px; border: 0; border-radius: 32px; background: #ed7e8b; color: #fff; font: inherit; font-size: 18px; font-weight: 600; letter-spacing: .1em; cursor: pointer; transition: filter .25s; }
.contact-form__button:hover { filter: brightness(1.07); }
.contact-form .wpcf7-spinner { display: block; margin: 12px auto 0; }
.contact-form .wpcf7-not-valid-tip { display: block; margin-top: 6px; color: #d64560; font-size: 12px; letter-spacing: .05em; }
.contact-form .wpcf7 form .wpcf7-response-output { margin: 28px 0 0; padding: 14px 20px; border: 1px solid #29abe2; border-radius: 10px; font-size: 14px; letter-spacing: .05em; text-align: center; }
.contact-form .wpcf7 form.invalid .wpcf7-response-output,
.contact-form .wpcf7 form.failed .wpcf7-response-output { border-color: #ed7e8b; color: #d64560; background: rgba(237,126,139,.08); }
.contact-form .wpcf7 form.sent .wpcf7-response-output { border-color: #8ec43e; color: #47862a; background: rgba(142,196,62,.1); }

@media (max-width: 991px) {
	.contact-page { padding-top: 78px; }
	.contact-form { padding: 40px 36px 44px; }
	.contact-form__label { flex-basis: 190px; }
}

@media (max-width: 768px) {
	.contact-page { padding: 64px 0 80px; }
	.contact-page__inner { padding: 0 20px; }
	.contact-form { margin-top: 10px; padding: 30px 20px 36px; }
	.contact-form__lead { margin-bottom: 26px; font-size: 13px; line-height: 1.9; text-align: left; }
	.contact-form__row { display: block; padding: 18px 0; }
	.contact-form__label { flex-basis: auto; justify-content: flex-start; margin-bottom: 10px; padding-top: 0; font-size: 14px; }
	.contact-form__field--radios { min-height: 0; }
	.contact-form__field--radios .wpcf7-radio { gap: 10px 20px; }
	.contact-form__consent { font-size: 13px; }
	.contact-form__button { width: 100%; min-width: 0; min-height: 58px; font-size: 16px; }
}

@media (max-width: 768px) {
	.contact-page .breadcrumb { padding-right: 20px; padding-left: 20px; }
	.contact-page .page-title__content { margin-left: 0; }
}

.contact-form__field input[type="file"] { width: 100%; padding: 12px 18px; border: 1px dashed #ccd6da; border-radius: 10px; background: #fff; color: #333; font-size: 14px; letter-spacing: .05em; cursor: pointer; }
.contact-form__field input[type="file"]::file-selector-button { margin-right: 14px; padding: 7px 18px; border: 1px solid #29abe2; border-radius: 17px; background: #fff; color: #29abe2; font: inherit; font-size: 13px; letter-spacing: .05em; cursor: pointer; transition: background-color .25s, color .25s; }
.contact-form__field input[type="file"]::file-selector-button:hover { background: #29abe2; color: #fff; }
.contact-form__note-small { display: block; margin-top: 6px; color: #888; font-size: 12px; letter-spacing: .05em; }

@media (min-width: 769px) {
	.voice-single-holiday { justify-content: center; padding: 90px 30px; }
	.voice-single-holiday__photo { flex: 0 0 auto; width: min(400px, 40%); border-radius: 24px; }
}

@media (min-width: 769px) {
	.about2-overall__details { width: 100%; max-width: 100%; margin: 0; grid-template-columns: auto minmax(0, 1fr); column-gap: 90px; }
	.about2-overall__details article { display: grid; grid-template-columns: 48px auto; align-items: baseline; column-gap: 12px; justify-content: start; }
	.about2-overall__details p, .about2-overall__details article:nth-child(2) p, .about2-overall__details article:nth-child(4) p { flex: none; width: auto; }
	.about2-overall__detail-label { margin-right: 28px; }
	.about2-overall__details article:nth-child(2) .about2-overall__detail-label, .about2-overall__details article:nth-child(4) .about2-overall__detail-label { margin-right: 28px; }
	.about2-overall__details article:nth-child(2) b { margin-left: 4px; }
}

@media (min-width: 769px) {
	.gnav-dropdown { position: relative; }
	.gnav ul .gnav-dropdown__menu { position: absolute; top: calc(100% + 14px); left: 50%; z-index: 30; display: block; height: auto; min-width: 184px; margin: 0; padding: 10px; list-style: none; background: #fff; border-radius: 16px; box-shadow: 0 8px 24px rgba(57,112,145,.2); opacity: 0; visibility: hidden; transform: translate(-50%, 6px); transition: opacity .25s, transform .25s, visibility .25s; }
	.gnav-dropdown__menu::before { content: ""; position: absolute; top: -16px; left: 0; width: 100%; height: 16px; }
	.gnav-dropdown:hover .gnav-dropdown__menu,
	.gnav-dropdown:focus-within .gnav-dropdown__menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
	.gnav-dropdown__menu li { padding: 0; white-space: nowrap; }
	.gnav ul .gnav-dropdown__menu a { display: block; padding: 11px 20px; border-radius: 10px; font-size: 14px; line-height: 1.4; letter-spacing: .08em; text-align: center; transition: background-color .25s, color .25s; }
	.gnav ul .gnav-dropdown__menu a:hover { background: #eef6e2; color: #6faa2a; }
	.home-scroll-dropdown { position: relative; display: inline-block; }
	.home-scroll-header__nav .home-scroll-dropdown__menu { position: absolute; top: calc(100% + 14px); left: 50%; z-index: 30; display: block; min-width: 184px; padding: 10px; background: #fff; border-radius: 16px; box-shadow: 0 8px 24px rgba(57,112,145,.2); opacity: 0; visibility: hidden; transform: translate(-50%, 6px); transition: opacity .25s, transform .25s, visibility .25s; }
	.home-scroll-dropdown__menu::before { content: ""; position: absolute; top: -16px; left: 0; width: 100%; height: 16px; }
	.home-scroll-dropdown:hover .home-scroll-dropdown__menu,
	.home-scroll-dropdown:focus-within .home-scroll-dropdown__menu { opacity: 1; visibility: visible; transform: translate(-50%, 0); }
	.home-scroll-header__nav .home-scroll-dropdown__menu a { display: block; margin: 0; padding: 11px 20px; border-radius: 10px; font-size: 14px; line-height: 1.4; letter-spacing: .08em; text-align: center; transition: background-color .25s, color .25s; }
	.home-scroll-header__nav .home-scroll-dropdown__menu a:hover { background: #eef6e2; color: #6faa2a; }
}

@media (max-width: 768px) {
	.gnav ul .gnav-dropdown__menu { position: static; display: block; width: auto; height: auto; min-width: 0; margin: 0; padding: 0; list-style: none; background: transparent; border-radius: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; transition: none; }
	.gnav-dropdown__menu::before { content: none; }
	.gnav ul .gnav-dropdown__menu li { margin: 0; padding: 0; border-bottom: 0; }
	.gnav-dropdown__menu li:first-child { display: none; }
	.gnav ul .gnav-dropdown__menu a { display: block; margin: 0; padding: 14px 0 14px 18px; border-radius: 0; background: transparent; font-size: 14px; line-height: 1; letter-spacing: .1em; text-align: left; }
}
