@font-face{font-family:ZenMaru;src:url('assets/fonts/zen-maru-regular.woff') format('woff');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:ZenMaru;src:url('assets/fonts/zen-maru-bold.woff') format('woff');font-weight:700;font-style:normal;font-display:swap}
:root{--navy:#083747;--blue:#17acd5;--blue-dark:#007da6;--pale:#eafaFF;--pale-strong:#d9f4ff;--coral:#ff766e;--coral-dark:#d74b45;--yellow:#ffdb57;--muted:#506d78;--line:#bde7f5;--shadow:0 8px 22px #08658a12;--radius:28px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:120px}body{margin:0;background:#fff;color:var(--navy);font-family:ZenMaru,'Hiragino Maru Gothic ProN','Yu Gothic',sans-serif;font-size:16px;line-height:1.9;font-weight:400;overflow-x:clip}h1,h2,h3,h4,p,figure,ul,ol,dl,dd{margin:0}.mobile-br{display:none}h1,h2,h3,h4{font-weight:700;line-height:1.55;letter-spacing:.015em}h2{font-size:clamp(25px,2.6vw,34px)}h3{font-size:23px}p+p{margin-top:1em}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img{display:block;max-width:100%;height:auto}svg{flex-shrink:0}.icon{width:24px;height:24px;display:inline-block;vertical-align:middle}.boat{width:70px;height:78px}.lighthouse{width:78px;height:125px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #0e7ca0;outline-offset:5px}.skip{position:fixed;z-index:1000;left:16px;top:-90px;padding:12px 20px;border-radius:12px;background:var(--navy);color:white}.skip:focus{top:14px}.container{width:min(var(--max),calc(100% - 72px));margin-inline:auto;position:relative}.narrow{max-width:1000px}.section{padding:78px 0;position:relative}.section-title{text-align:center;margin-bottom:42px;font-size:clamp(27px,3vw,38px);position:relative;z-index:1}.section-title:before,.section-title:after{content:'';display:inline-block;width:22px;height:24px;margin:0 20px;vertical-align:middle;background:linear-gradient(27deg,transparent 42%,var(--yellow) 43% 54%,transparent 55%) left top/100% 50% no-repeat,linear-gradient(0deg,var(--yellow),var(--yellow)) left bottom/80% 3px no-repeat}.section-lead{margin:-20px auto 40px;text-align:center;max-width:800px;font-size:17px;font-weight:700}.center{text-align:center}.keep{white-space:nowrap}.fine{font-size:13px;color:var(--muted);line-height:1.8}.eyebrow{display:inline-block;padding:3px 18px;border-radius:30px;background:var(--blue);color:#fff;font-size:14px;font-weight:700;letter-spacing:.08em;margin-bottom:14px}.section h2:not(.section-title)+p{margin-top:22px}.center-buttons{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:22px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:54px;padding:12px 29px;border-radius:50px;border:2px solid transparent;font-weight:700;font-size:16px;line-height:1.45;position:relative;transition:transform .2s,box-shadow .2s,background .2s;text-align:center;isolation:isolate}.btn>.icon:last-child{width:17px;height:19px;margin-left:9px}.btn:hover{transform:translateY(-2px);box-shadow:0 6px 14px #06384b17}.btn-blue{background:var(--blue);color:#fff}.btn-blue:hover{background:#0b9cc6}.btn-coral{background:var(--coral);color:#fff}.btn-coral:hover{background:#f2635c}.btn-outline{color:var(--blue-dark);border-color:var(--blue);background:#fff}.btn-outline:hover{background:#f2fcff}.line-mark{font-family:Arial,sans-serif;font-size:9px;line-height:26px;width:29px;height:27px;border-radius:50%;background:#06c755;color:#fff;position:relative;flex-shrink:0;font-weight:700}.line-mark:after{content:'';position:absolute;bottom:-3px;left:8px;border-top:6px solid #06c755;border-right:5px solid transparent}.text-link{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--blue-dark);margin-top:20px;border-bottom:1px solid transparent}.text-link:hover{border-bottom-color:currentColor}.text-link .icon{width:17px;height:17px}.photo{position:relative;overflow:hidden;border-radius:24px;background:#f2f9fb;width:100%;isolation:isolate}.photo>img{position:absolute;max-width:none;display:block}.wave-section{background:var(--pale);margin:20px 0}.wave-section:before,.wave-section:after{content:'';position:absolute;height:44px;left:0;right:0;pointer-events:none;background-repeat:no-repeat;background-size:100% 100%;z-index:0}.wave-section:before{top:-43px;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 60' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23eafaFF' d='M0 28C170-12 320 60 550 30S900 8 1110 30s240 0 330-14v44H0z'/%3E%3C/svg%3E")}.wave-section:after{bottom:-43px;transform:rotate(180deg);background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 60' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23eafaFF' d='M0 28C170-12 320 60 550 30S900 8 1110 30s240 0 330-14v44H0z'/%3E%3C/svg%3E")}.site-header{position:sticky;top:0;z-index:50;background:#fffffffa;backdrop-filter:blur(12px)}.header-inner{width:min(1320px,calc(100% - 48px));margin:auto;display:flex;align-items:center;gap:26px;min-height:88px}.brand{display:flex;align-items:center;gap:10px;white-space:nowrap;font-weight:700;font-size:25px;line-height:1.3}.brand img{width:63px;height:63px;object-fit:contain}.desktop-nav{display:flex;align-items:center;gap:10px;margin-left:auto;white-space:nowrap;font-size:15px;font-weight:700}.desktop-nav a{padding:9px 13px;border-radius:30px;transition:background .2s}.desktop-nav a:hover{background:var(--pale)}.desktop-nav a[aria-current=page]{color:#fff;background:var(--blue)}.header-cta{font-size:14px;min-height:43px;padding:9px 17px}.pennants{height:17px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='128' height='18' viewBox='0 0 128 18'%3E%3Cpath fill='%23ffdb57' d='M0 0h28L14 18z'/%3E%3Cpath fill='%2382d8ef' d='M32 0h28L46 18z'/%3E%3Cpath fill='%2317acd5' d='M64 0h28L78 18z'/%3E%3Cpath fill='%23d4f1f8' d='M96 0h28l-14 18z'/%3E%3C/svg%3E") repeat-x top center}.menu-toggle{display:none;background:none;border:0;padding:10px;width:48px;height:48px;flex-shrink:0}.menu-toggle span{display:block;height:4px;width:29px;background:var(--navy);border-radius:4px;margin:5px auto}.mobile-menu{border:0;padding:24px;border-radius:28px;width:min(430px,calc(100% - 32px));margin:100px auto auto;color:var(--navy);box-shadow:0 30px 100px #0737473a}.mobile-menu::backdrop{background:#08374765;backdrop-filter:blur(4px)}.menu-head{display:flex;align-items:center;justify-content:space-between;font-size:20px;font-weight:700}.menu-close{background:var(--pale);border:0;padding:10px;border-radius:50%;display:grid;place-items:center}.mobile-menu nav{margin:14px 0 24px}.mobile-menu nav a{padding:16px 7px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font-weight:700}.mobile-menu>.btn{width:100%}.menu-phone{display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;padding:20px 0 0}.hero{padding:24px 0 80px;position:relative;overflow:hidden;background:linear-gradient(#fff 80%,#f7fdff)}.hero:after{content:'';position:absolute;bottom:0;left:-2%;right:-2%;height:55px;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 60' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2396dff3' d='M0 40C150-5 300 55 550 30s320 35 550 5 250-5 340-15v40H0z'/%3E%3Cpath fill='%23eafaFF' d='M0 52c220-42 340 25 550-5s310 14 550 1 250-7 340-14v26H0z'/%3E%3C/svg%3E") 50% 100%/100% 100% no-repeat}.hero-scene{height:305px;position:relative;max-width:1160px;margin:auto}.hero-boy,.hero-girl{position:absolute;top:28px;width:33%;max-width:355px;z-index:0}.hero-boy{left:-6px}.hero-girl{right:-6px}.hero-boy .photo,.hero-girl .photo{border-radius:40px 40px 80px 80px;mask-image:linear-gradient(#000 85%,transparent 100%);background:white}.hero-identity{position:absolute;top:2px;left:50%;transform:translateX(-50%);z-index:2;text-align:center}.hero-kicker{font-size:17px;letter-spacing:.1em;font-weight:700;white-space:nowrap;transform:rotate(-3deg)}.hero-logo{width:240px;height:240px;object-fit:contain;mix-blend-mode:multiply;margin:8px auto 0;animation:boatFloat 6s ease-in-out infinite}.hero h1{text-align:center;font-size:clamp(33px,4.2vw,57px);line-height:1.6;letter-spacing:.025em;position:relative;z-index:3;margin-top:-5px}.hero h1 span{color:var(--blue)}.hero-buttons{display:flex;justify-content:center;gap:28px;margin-top:30px;position:relative;z-index:3}.hero-buttons .btn{min-width:250px;font-size:18px}.hero-boat{position:absolute;right:18px;bottom:-14px;transform:rotate(5deg);z-index:4;width:84px;height:92px}.strengths{padding-top:42px}.strength-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.photo-card{border:5px solid #fff;border-radius:var(--radius);background:#fff;box-shadow:var(--shadow);overflow:hidden;display:flex;flex-direction:column}.photo-card>.photo{border-radius:23px 23px 0 0}.card-body{padding:24px 28px 29px;flex:1}.card-body h3{font-size:25px;line-height:1.5;margin-bottom:16px}.card-body p{line-height:1.85}.card-body .text-link{margin-top:20px}.approach-summary{padding-top:75px;padding-bottom:44px}.flag-title:before{transform:rotate(-10deg)}.approach-cloud{background:var(--pale-strong);border-radius:40% 30% 36% 27% / 28% 35% 32% 29%;position:relative;text-align:center;padding:45px 70px;max-width:1080px;margin:auto}.approach-cloud h3{font-size:clamp(24px,2.5vw,32px);line-height:1.65}.approach-cloud p{margin-top:18px}.approach-cloud .btn{margin-top:24px}.small-parenthesis{font-size:.75em}.cloud-lighthouse{position:absolute;width:67px;height:115px;right:-34px;bottom:7px;transform:rotate(4deg)}.activities-summary{padding-top:45px}.activity-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.activity-strip figcaption{text-align:center;font-size:15px;font-weight:700;padding-top:12px}.activity-strip .photo{border-radius:20px}.split-panel{display:grid;grid-template-columns:.95fr 1.3fr;gap:42px;align-items:center;background:var(--pale);padding:24px;border-radius:var(--radius)}.split-panel>.photo{border-radius:22px}.split-panel>div:last-child{padding:10px 16px 10px 0}.split-panel h2{font-size:31px}.split-panel p{margin:16px 0 22px}.recruitment-teaser{padding-top:16px;padding-bottom:40px}.split-content{display:grid;grid-template-columns:1fr 1.05fr;align-items:center;gap:48px}.split-content h2{margin-bottom:22px}.split-content p+p{margin-top:18px}.split-content .btn{margin-top:25px}.split-content .fine{margin-top:16px}.facility-teaser{padding-top:30px;padding-bottom:35px}.contact-section{padding:60px 0 76px}.contact-panel{background:linear-gradient(115deg,#effbff,#dcf6ff);border-radius:34px;display:grid;grid-template-columns:1fr 230px;gap:30px;padding:48px;align-items:center}.contact-panel h2{font-size:32px}.contact-copy>p{margin-top:18px}.contact-buttons{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin:25px 0 18px}.phone-link{font-weight:700;font-size:23px;display:inline-flex;align-items:center;gap:10px;white-space:nowrap}.phone-link:hover,.footer-phone:hover{color:var(--blue-dark)}.qr-box{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;border-left:1px solid #92d9ef;padding-left:28px;font-size:12px;line-height:1.65}.qr-box img{background:white;border-radius:12px;padding:8px;box-shadow:0 3px 13px #08749a09}.site-footer{position:relative;padding:55px 0 25px;background:#f8fdff;border-top:1px solid #def3fa}.site-footer:before{content:'';position:absolute;left:0;right:0;top:-22px;height:25px;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 30' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%2384d9ef' d='M0 15C200-15 400 35 600 12s300 24 550 3 190-6 290-9v9c-120 2-190 23-290 8s-300 12-550-1S220 5 0 25z'/%3E%3C/svg%3E") 50%/100% 100%}.footer-grid{display:flex;align-items:center;justify-content:space-between;gap:26px}.footer-brand{font-size:22px}.footer-brand small{font-size:12px;display:block;font-weight:400;margin-top:6px}.footer-brand img{width:70px;height:70px}.site-footer nav{display:flex;flex-wrap:wrap;gap:20px;font-size:14px;font-weight:700}.site-footer nav a:hover{text-decoration:underline;text-underline-offset:5px}.footer-phone{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700}.footer-phone small{display:block;font-size:11px;font-weight:400}.footer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:30px;padding-top:20px;border-top:1px solid #d9edf3;gap:14px;color:var(--muted);font-size:12px}.mobile-actions{display:none}.page-banner{background:var(--pale);padding:20px 0 70px;position:relative}.page-banner:after{content:'';position:absolute;bottom:-1px;left:0;right:0;height:35px;background:url("data:image/svg+xml,%3Csvg viewBox='0 0 1440 50' preserveAspectRatio='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='white' d='M0 29c180-35 320 35 570 4s300-20 500 3 260-10 370-10v24H0z'/%3E%3C/svg%3E") 50%/100% 100%}.breadcrumb{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--muted);margin:0 0 23px}.breadcrumb a:hover{text-decoration:underline}.page-banner h1{font-size:48px;text-align:center;margin-bottom:16px}.page-banner>.container>p{text-align:center;font-size:23px;font-weight:700}.page-banner p span{color:var(--blue-dark)}.banner-boat{position:absolute;right:10px;top:66px;width:68px;transform:rotate(5deg)}.anchor-nav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap;margin:30px auto 0;position:relative;z-index:1}.anchor-nav a{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:8px 22px;min-height:45px;background:white;border:2px solid var(--blue);border-radius:30px;color:var(--blue-dark);font-weight:700;line-height:1.4}.anchor-nav a .icon{width:14px;height:14px}.anchor-nav a:hover{background:#f5fdff}.tags{list-style:none;display:flex;gap:9px;flex-wrap:wrap;padding:0;margin-top:24px}.tags li{background:#fff2ba;border-radius:40px;padding:5px 14px;font-size:13px;font-weight:700}.learning-content{align-items:start}.learning-content>.photo{margin-top:4px}.sports-content{grid-template-columns:1.05fr 1fr}.sport-tags{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}.sport-tags span{display:flex;flex-direction:column;align-items:center;gap:10px;background:white;border-radius:18px;box-shadow:var(--shadow);padding:16px 20px;flex:1;min-width:90px;font-size:13px;font-weight:700}.sport-tags .icon{width:38px;height:38px;color:var(--blue-dark)}.support-methods{padding-top:84px}.support-methods .approach-cloud{margin-bottom:35px}.support-methods .approach-cloud p{font-size:15px}.method-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.method-card{border:2px solid var(--line);box-shadow:var(--shadow);border-radius:24px;padding:30px;position:relative;background:white;display:grid;grid-template-columns:60px 1fr;column-gap:20px;align-content:start}.step-number{background:var(--yellow);font-family:ZenMaru,sans-serif;color:var(--navy);font-size:18px;font-weight:700;min-width:45px;height:30px;display:inline-grid;place-items:center;border-radius:20px;line-height:1;letter-spacing:.03em}.method-card>.step-number{position:absolute;top:25px;left:25px}.method-icon{grid-row:1/3;align-self:center;margin-top:24px;color:var(--blue-dark)}.method-icon>.icon{width:53px;height:53px}.method-card h3{font-size:21px}.method-card p{margin-top:13px;font-size:15px;line-height:1.9}.support-note{text-align:center;background:var(--pale-strong);border-radius:30px;padding:13px 25px;margin-top:28px;font-size:15px;font-weight:700}.domain-note{text-align:center;margin-top:15px;font-weight:700;font-size:15px}.day-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.day-grid+.fine{margin-top:25px}.image-label{position:relative}.image-label>.photo{border-radius:22px 22px 0 0}.image-label>span{position:absolute;top:16px;left:16px;color:white;background:var(--blue);font-weight:700;border:3px solid white;padding:3px 24px;border-radius:30px}.guide-intro h2{font-size:34px}.flow-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.flow-card{background:white;border-radius:26px;padding:24px 22px 28px;box-shadow:var(--shadow);position:relative}.flow-card>.step-number{background:var(--coral);color:white}.flow-icon{height:80px;display:flex;align-items:center;justify-content:center;margin:14px auto 17px}.flow-icon .icon{width:65px;height:65px;color:var(--blue-dark)}.flow-icon .boat{width:68px;height:76px}.flow-card h3{font-size:23px;text-align:center;margin-bottom:12px}.flow-card p{font-size:14px;line-height:1.8}.info-list{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:white}.info-list>div{display:grid;grid-template-columns:240px 1fr;border-bottom:1px solid var(--line)}.info-list>div:last-child{border-bottom:none}.info-list dt{padding:18px 24px;background:#d8f3fc;font-weight:700}.info-list dd{padding:18px 27px}.help-note{display:flex;align-items:center;gap:20px;padding:23px 27px;background:#fff9e6;border-radius:20px;margin-top:28px}.help-note .icon{width:30px;height:30px}.facility-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}.facility-grid figcaption{text-align:center;font-size:14px;margin-top:13px}.visit-note{display:flex;align-items:center;gap:22px;background:white;padding:28px;border-radius:24px;margin-top:35px}.visit-note>.btn{margin-left:auto;flex-shrink:0}.visit-note h3{font-size:23px}.visit-note p{font-size:15px;margin-top:7px}.visit-icon{width:60px;height:60px;border-radius:50%;background:var(--pale);display:grid;place-items:center;flex-shrink:0}.visit-icon .icon{width:30px;height:30px;color:var(--blue-dark)}.recruit-hero-section{padding-top:44px;padding-bottom:54px}.recruit-hero{position:relative;border-radius:32px;background:var(--pale);padding:48px;display:grid;grid-template-columns:1.05fr 1fr;gap:40px;align-items:center;box-shadow:var(--shadow)}.recruit-hero>.photo{grid-column:2;grid-row:1;border-radius:25px}.recruit-hero-copy{grid-column:1;grid-row:1}.recruit-hero-copy h2{font-size:36px;line-height:1.6}.recruit-hero-copy p{margin:20px 0 25px;font-size:16px}.recruit-hero-copy .btn{font-size:15px;padding-inline:20px}.recruit-anchors{margin-top:35px}.job-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.job-card{background:#fff;border:2px solid #c4ebf7;border-radius:28px;padding:28px;box-shadow:var(--shadow);display:flex;flex-direction:column}.job-card h3{font-size:30px;text-align:center;margin-bottom:22px}.qualifications{display:flex;align-items:start;gap:14px}.mini-label{background:#d4f2fc;border-radius:12px;padding:4px 12px;white-space:nowrap;font-weight:700;font-size:14px}.qualifications p{font-size:15px;line-height:1.9}.job-note{font-size:12px;margin-top:16px;margin-bottom:20px;color:var(--muted)}.salary-list{margin-top:auto;padding-top:20px}.salary-list>div{display:grid;grid-template-columns:89px 1fr;border:1px solid #b8e4f4;background:#f5fcff;overflow:hidden}.salary-list>div:first-child{border-radius:14px 14px 0 0}.salary-list>div:last-child{border-top:0;border-radius:0 0 14px 14px}.salary-list dt{padding:11px 13px;background:#d5f2fc;font-weight:700;text-align:center}.salary-list dd{padding:11px 12px;font-size:19px;font-weight:700;white-space:nowrap}.subsection-title{font-size:29px;margin:55px 0 24px;text-align:center}.conditions-list{font-size:15px}.conditions-list dt{font-size:15px}.conditions-list dd{line-height:1.9}.work-layout{display:grid;grid-template-columns:.65fr 1.8fr .65fr;gap:24px;align-items:center}.work-layout>.photo{border-radius:22px}.work-grid{list-style:none;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px}.work-grid>li{background:var(--pale);padding:20px;border-radius:20px}.work-grid h3{display:inline;margin-left:8px;font-size:19px}.work-grid p{font-size:14px;line-height:1.8;margin-top:12px}.work-layout+.fine{margin-top:25px}.work-grid .step-number{font-size:14px;min-width:34px;height:25px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.value-card{padding:28px 26px;background:#fff;border:2px solid #d0eef9;border-radius:26px;box-shadow:var(--shadow);position:relative}.value-card>.boat,.value-card>.lighthouse{height:70px;width:65px;display:block;margin:0 auto 17px}.value-card h3{font-size:23px;text-align:center;margin-bottom:15px}.value-card p{font-size:15px;line-height:1.9}.assertive-panel{display:grid;grid-template-columns:90px 1fr;gap:30px;border:2px solid var(--line);border-radius:32px;background:#fff;padding:42px;margin-top:32px;box-shadow:var(--shadow);position:relative}.assertive-decoration{display:flex;align-items:center;justify-content:center}.assertive-decoration>.lighthouse{width:85px;height:150px}.assertive-panel h3{font-size:30px;margin-bottom:22px}.assertive-panel p{font-size:16px}.assertive-panel strong{color:var(--blue-dark);background:#e4f8ff;box-decoration-break:clone;-webkit-box-decoration-break:clone;border-radius:6px;padding:1px 3px}.apply-panel{display:grid;grid-template-columns:1fr 1.05fr;gap:52px;background:linear-gradient(110deg,#ebfaff,#dbf5ff);border-radius:34px;padding:44px}.apply-intro h2{font-size:36px;line-height:1.7}.apply-intro>p{margin:23px 0}.apply-intro>.btn{margin-top:5px}.apply-qr{border:0;padding:0;align-items:start;flex-direction:row;text-align:left;gap:17px;margin-top:30px}.apply-qr p{align-self:center;font-size:12px}.application-form-wrap{padding-left:36px;border-left:1px solid #99d9ed}.application-form-wrap>h3{font-size:23px;margin-bottom:10px}.application-form-wrap>.fine{margin-bottom:24px}.field{margin-bottom:19px}.field label{display:flex;align-items:center;gap:10px;font-weight:700;font-size:15px;margin-bottom:6px}.required,.optional{font-size:10px;border-radius:4px;padding:1px 6px;line-height:1.6;font-weight:400}.required{background:#ffebea;color:#ac322e}.optional{background:#fff;color:var(--muted)}input,select,textarea{display:block;width:100%;min-height:47px;border:1px solid #acd7e8;border-radius:12px;background:white;color:var(--navy);padding:10px 13px;font-size:16px;line-height:1.7}textarea{resize:vertical;min-height:110px}input[type=date]{min-width:0;max-width:100%}.form-privacy{font-size:12px;line-height:1.9;color:var(--muted);margin:8px 0 20px}#application-form>.btn{width:100%}.message-result{padding-top:30px;margin-top:28px;border-top:1px solid #9bd8ec}.message-result[hidden]{display:none}.message-result h4{font-size:20px;margin-bottom:15px}.message-result textarea{font-size:14px;line-height:1.8}.message-result>.btn{width:100%;margin-top:16px}.message-result>.fine{margin-top:14px}.apply-note{margin-top:25px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);max-width:min(560px,calc(100% - 32px));width:max-content;padding:13px 22px;border-radius:18px;background:var(--navy);color:white;box-shadow:var(--shadow);z-index:90;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;font-size:14px}.toast.show{opacity:1;transform:translate(-50%,0)}.motion-ready .reveal{transition:opacity .55s ease,transform .55s ease}.motion-ready .reveal:not(.visible){opacity:0;transform:translateY(18px)}
@keyframes boatFloat{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-5px) rotate(1deg)}}
@media(min-width:1450px){.hero-boy{left:-20px;width:35%}.hero-girl{right:-20px;width:35%}.hero-scene{height:325px}}
@media(max-width:1130px){.header-inner{gap:15px;width:calc(100% - 32px)}.brand{font-size:22px}.desktop-nav{gap:1px;font-size:13px}.desktop-nav a{padding-inline:10px}.header-cta{font-size:12px;padding-inline:12px}.header-cta>.icon{display:none}.footer-grid{flex-wrap:wrap}.footer-phone{margin-left:auto}.work-layout{grid-template-columns:.7fr 2fr}.work-layout>.photo:last-child{display:none}.salary-list dd{font-size:16px}.contact-buttons{gap:20px}.contact-panel{padding:35px}.contact-panel h2{font-size:29px}.visit-note{flex-wrap:wrap}.visit-note>.btn{margin-left:82px}.split-content{gap:32px}.split-panel{gap:28px}.recruit-hero{padding:34px;gap:28px}.recruit-hero-copy h2{font-size:32px}}
@media(max-width:820px){html{scroll-padding-top:105px}.container{width:calc(100% - 36px)}.site-header .header-inner{min-height:72px;width:calc(100% - 24px);gap:8px}.brand{font-size:22px;gap:4px}.brand img{width:53px;height:53px}.desktop-nav,.header-cta{display:none}.menu-toggle{display:block;margin-left:auto}.pennants{height:12px;background-size:96px 14px}.hero{padding-top:23px;padding-bottom:56px}.hero-scene{height:250px}.hero-boy,.hero-girl{width:36%;top:44px;max-width:250px}.hero-boy{left:-18px}.hero-girl{right:-18px}.hero-identity{top:0}.hero-logo{width:190px;height:190px;margin-top:10px}.hero-kicker{font-size:14px}.hero h1{font-size:38px;line-height:1.65}.hero-buttons{gap:15px;margin-top:23px}.hero-buttons .btn{min-width:0;font-size:16px;padding-inline:24px}.hero-boat{right:4px;bottom:-16px;width:65px;height:73px}.strength-grid{gap:20px}.card-body{padding:22px}.card-body h3{font-size:22px}.approach-cloud{padding:35px 42px;border-radius:80px 70px 75px 60px}.cloud-lighthouse{right:-7px;width:44px;height:86px;bottom:-12px}.activity-strip{gap:14px}.activity-strip figcaption{font-size:13px}.section{padding:60px 0}.section-title{margin-bottom:30px;font-size:29px}.section-title:before,.section-title:after{width:15px;margin:0 10px}.split-panel{grid-template-columns:.9fr 1.2fr;padding:20px;gap:23px}.split-panel h2{font-size:26px}.split-panel p{font-size:14px}.split-panel .btn{font-size:14px}.split-content{grid-template-columns:1fr;gap:30px}.split-content>.photo{max-width:630px;margin-inline:auto}.sports-content>.photo{grid-row:1}.sport-tags{gap:13px}.tags{gap:8px}.contact-panel{grid-template-columns:1fr 180px;gap:20px;padding:28px}.contact-panel h2{font-size:27px}.qr-box{padding-left:20px}.qr-box img{width:150px;height:150px}.contact-buttons .btn{font-size:14px}.phone-link{font-size:21px}.footer-grid{gap:26px}.site-footer nav{font-size:13px;gap:18px}.page-banner{padding-bottom:58px}.page-banner h1{font-size:40px}.page-banner>.container>p{font-size:20px}.banner-boat{width:50px;top:54px;right:1px}.anchor-nav{gap:10px}.anchor-nav a{font-size:14px;padding:8px 18px}.method-card{padding:26px;grid-template-columns:1fr}.method-card>.step-number{top:20px;left:20px}.method-icon{grid-row:auto;margin:0 0 14px 55px;align-self:start}.method-icon>.icon{width:36px;height:36px}.method-card h3{font-size:21px}.method-card p{font-size:15px}.flow-grid{grid-template-columns:1fr 1fr}.info-list>div{grid-template-columns:190px 1fr}.info-list dt,.info-list dd{padding:16px 20px}.recruit-hero{grid-template-columns:1fr 1fr;padding:26px;gap:24px}.recruit-hero-copy h2{font-size:28px}.recruit-hero-copy p{font-size:14px}.recruit-hero-copy .btn{font-size:13px;padding:12px 15px}.job-card{padding:22px}.job-card h3{font-size:27px}.qualifications{display:block}.mini-label{display:inline-block;margin-bottom:10px}.qualifications p{font-size:14px}.salary-list>div{grid-template-columns:70px 1fr}.salary-list dt{padding:9px 6px;font-size:14px}.salary-list dd{font-size:14px;padding:10px 7px;white-space:normal}.conditions-list{font-size:14px}.conditions-list dt{font-size:14px}.value-grid{gap:16px}.value-card{padding:23px 18px}.value-card h3{font-size:20px}.value-card p{font-size:14px}.assertive-panel{grid-template-columns:55px 1fr;padding:29px;gap:22px}.assertive-panel h3{font-size:26px}.assertive-decoration>.lighthouse{width:55px;height:110px}.apply-panel{grid-template-columns:1fr 1.05fr;gap:28px;padding:28px}.apply-intro h2{font-size:29px}.apply-intro>p{font-size:15px}.apply-intro>.btn{font-size:14px;padding-inline:17px}.application-form-wrap{padding-left:23px}.application-form-wrap>h3{font-size:21px}.apply-qr{display:none}.support-note{font-size:14px}.footer-bottom{font-size:11px;flex-wrap:wrap}}
@media(max-width:600px){body{font-size:16px;line-height:1.9;padding-bottom:82px}html{scroll-padding-top:101px}.container{width:calc(100% - 36px)}.section{padding:49px 0}.site-header .header-inner{min-height:66px}.brand{font-size:20px;gap:2px}.brand img{width:49px;height:49px}.menu-toggle{width:44px;height:44px;padding:7px}.menu-toggle span{height:3.5px;width:27px;margin:5px auto}.mobile-menu{margin-top:87px}.hero{padding-top:21px;padding-bottom:53px}.hero>.container{width:100%}.hero-scene{height:211px}.hero-boy,.hero-girl{width:32%;max-width:none;top:57px}.hero-boy{left:0}.hero-girl{right:0}.hero-boy .photo,.hero-girl .photo{border-radius:25px;mask-image:linear-gradient(#000 72%,transparent 100%)}.hero-identity{top:0}.hero-kicker{font-size:12px;letter-spacing:.02em}.hero-logo{width:155px;height:155px;margin-top:5px}.mobile-br{display:block}.hero h1{font-size:clamp(25px,6.8vw,33px);line-height:1.7;letter-spacing:.01em;padding:0 14px;margin-top:-2px}.hero-buttons{flex-direction:column;gap:13px;max-width:290px;margin:23px auto 0}.hero-buttons .btn{font-size:18px;min-height:53px;width:100%}.hero-boat{width:52px;height:60px;right:17px;bottom:-21px}.strengths{padding-top:28px}.section-title{font-size:25px;line-height:1.6;margin-bottom:27px;letter-spacing:0}.section-title:before,.section-title:after{width:13px;height:19px;margin:0 7px}.strength-grid,.day-grid,.job-grid,.method-grid,.facility-grid,.value-grid{grid-template-columns:1fr;gap:24px}.photo-card{border-width:4px;border-radius:25px}.photo-card>.photo{border-radius:21px 21px 0 0}.photo{border-radius:21px}.card-body{padding:21px 19px 25px}.card-body h3{font-size:23px;margin-bottom:15px;letter-spacing:0}.card-body p{font-size:16px}.card-body .text-link{font-size:15px;margin-top:19px}.approach-summary{padding-top:48px;padding-bottom:32px}.approach-cloud{padding:30px 20px 31px;border-radius:45px 43px 50px 40px}.approach-cloud h3{font-size:23px;line-height:1.7}.approach-cloud p{font-size:15px;line-height:1.9}.approach-cloud .btn{font-size:14px;min-height:47px;padding:10px 20px}.small-parenthesis{font-size:.72em}.cloud-lighthouse{width:35px;height:75px;right:-8px;bottom:1px}.desktop-br{display:none}.activity-strip{grid-template-columns:1fr;gap:24px;max-width:450px;margin:auto}.activity-strip figcaption{font-size:15px;padding-top:9px}.activities-summary{padding-top:36px}.center-buttons{flex-direction:column;gap:13px;margin-top:27px}.center-buttons>.btn{width:100%;max-width:355px}.split-panel{grid-template-columns:1fr;gap:22px;padding:18px;border-radius:27px}.split-panel>div:last-child{padding:0 7px 11px}.split-panel h2{font-size:26px;line-height:1.6}.split-panel p{font-size:15px;line-height:1.9}.split-panel .btn{font-size:16px;width:100%}.eyebrow{font-size:12px;padding:3px 15px;margin-bottom:12px}.recruitment-teaser{padding-top:15px;padding-bottom:25px}.facility-teaser{padding-top:24px;padding-bottom:20px}.split-content{gap:25px}.split-content h2{font-size:26px;line-height:1.6;margin-bottom:18px}.split-content p+p{margin-top:18px}.split-content .btn{width:100%;margin-top:24px}.facility-teaser .fine{text-align:center}.contact-section{padding:35px 0 56px}.contact-panel{grid-template-columns:1fr;padding:28px 22px;border-radius:28px;gap:0}.contact-panel h2{font-size:26px;line-height:1.6}.contact-copy>p{font-size:15px}.contact-buttons{flex-direction:column;align-items:stretch;gap:22px;margin:24px 0 18px}.contact-buttons .btn{font-size:16px}.phone-link{font-size:24px;justify-content:center}.qr-box{display:none}.site-footer{padding:35px 0 24px}.footer-grid{flex-direction:column;align-items:center;gap:24px}.footer-brand{font-size:22px}.footer-brand img{width:65px;height:65px}.site-footer nav{justify-content:center;gap:16px 23px;font-size:14px}.footer-phone{margin-left:0;font-size:23px}.footer-phone small{text-align:center;font-size:11px}.footer-bottom{justify-content:center;text-align:center;gap:9px;margin-top:25px;padding-top:20px}.footer-bottom>a{display:block;flex-basis:100%;padding:8px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;z-index:45;display:flex;align-items:center;justify-content:center;padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px;background:#fffffffa;border-top:1px solid #a6ddeb;box-shadow:0 -5px 20px #08628410;backdrop-filter:blur(8px)}.mobile-actions>.btn{flex:1;font-size:15px;min-height:51px;padding:10px 9px;gap:5px;border-width:1px;white-space:nowrap}.mobile-actions .btn>.icon:last-child{width:13px;margin-left:2px}.mobile-actions .line-mark{width:23px;height:22px;font-size:7px;line-height:22px}.mobile-actions .line-mark:after{bottom:-2px;border-top-width:4px}.page-banner{padding:17px 0 51px}.breadcrumb{font-size:12px;gap:10px;margin-bottom:25px}.page-banner h1{font-size:35px;margin-bottom:15px}.page-banner>.container>p{font-size:20px;line-height:1.7;max-width:310px;margin:auto}.banner-boat{width:43px;top:53px;right:-7px}.anchor-nav{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:26px}.anchor-nav a{font-size:15px;min-height:45px;padding:8px 15px;gap:6px}.anchor-nav a .icon{width:13px;height:13px}.learning-content{gap:24px}.learning-content>.photo{margin-top:0}.tags{gap:8px;margin-top:22px}.tags li{font-size:12px;padding:4px 12px}.sports-content>.photo{grid-row:auto;order:-1}.sports-content{display:flex;flex-direction:column-reverse;gap:25px}.sports-content>.photo{order:0}.sport-tags{margin-top:24px;gap:10px;flex-wrap:nowrap}.sport-tags span{padding:14px 9px;min-width:0;font-size:12px;border-radius:16px;gap:8px}.sport-tags .icon{width:31px;height:31px}.support-methods .approach-cloud{margin-bottom:27px}.support-methods .approach-cloud p{font-size:15px}.support-methods .approach-cloud h3{font-size:23px}.method-card{padding:24px 22px 27px;border-radius:23px;display:block}.method-icon{margin:0 0 15px 52px;height:35px}.method-icon>.icon{width:35px;height:35px}.method-card>.step-number{left:22px;top:26px}.method-card h3{font-size:22px;line-height:1.65}.method-card p{font-size:16px;line-height:1.9;margin-top:13px}.support-note{padding:18px 20px;border-radius:22px;line-height:1.9;text-align:left;font-size:15px}.domain-note{font-size:14px;line-height:1.9}.image-label>span{font-size:16px;top:13px;left:13px;padding:2px 20px}.day-grid .card-body h3{font-size:23px}.guide-intro h2{font-size:26px}.guide-intro>div:first-child{display:contents}.guide-intro h2{order:0}.guide-intro>.photo{order:1}.guide-intro p{order:2}.guide-intro .btn{order:3}.guide-intro{display:flex;flex-direction:column;align-items:stretch;gap:22px}.guide-intro .btn{margin-top:0}.flow-grid{grid-template-columns:1fr;gap:16px}.flow-card{padding:22px 20px;display:grid;grid-template-columns:70px 1fr;gap:18px;align-items:center;border-radius:22px}.flow-card>.step-number{position:absolute;left:14px;top:12px;font-size:14px;height:25px;min-width:34px}.flow-icon{height:auto;margin:12px 0 0;grid-column:1}.flow-icon .icon{width:46px;height:46px}.flow-icon .boat{width:56px;height:62px}.flow-card>div:last-child{grid-column:2}.flow-card h3{text-align:left;font-size:23px;margin-bottom:8px}.flow-card p{font-size:15px}.info-list{border-radius:18px}.info-list>div{grid-template-columns:1fr}.info-list dt{padding:12px 19px;font-size:15px;background:#dbf3fc}.info-list dd{padding:15px 19px 19px;font-size:16px;line-height:1.9}.help-note{align-items:flex-start;gap:13px;padding:20px;font-size:15px}.help-note .icon{width:26px;height:26px;margin-top:5px}.facility-grid{gap:25px}.facility-grid figcaption{font-size:13px;margin-top:9px}.visit-note{display:grid;grid-template-columns:45px 1fr;gap:17px;padding:22px;margin-top:30px}.visit-icon{width:45px;height:45px}.visit-icon .icon{width:25px;height:25px}.visit-note h3{font-size:22px}.visit-note p{font-size:15px}.visit-note>.btn{grid-column:1/-1;margin:6px 0 0;width:100%}.recruit-hero-section{padding-top:28px;padding-bottom:36px}.recruit-hero{display:flex;flex-direction:column;padding:17px;border-radius:26px;gap:25px}.recruit-hero>.photo{width:100%;border-radius:20px}.recruit-hero-copy{padding:0 6px 11px}.recruit-hero-copy h2{font-size:29px;line-height:1.65}.recruit-hero-copy p{font-size:16px;margin:18px 0 23px}.recruit-hero-copy>.btn{font-size:16px;width:100%;padding:13px 15px}.recruit-anchors{margin-top:27px}.job-card{padding:23px 20px;border-radius:24px}.job-card h3{font-size:29px;margin-bottom:20px}.qualifications{display:block}.qualifications p{font-size:16px;line-height:1.85}.mini-label{font-size:13px;margin-bottom:10px}.job-note{font-size:13px;line-height:1.8;margin-top:13px;margin-bottom:14px}.salary-list{padding-top:19px;margin-top:0}.salary-list>div{grid-template-columns:75px minmax(0,1fr)}.salary-list dt{font-size:15px;display:grid;place-items:center;padding:12px 5px}.salary-list dd{font-size:clamp(14px,3.75vw,17px);line-height:1.6;padding:13px 9px;letter-spacing:-.025em;white-space:normal}.subsection-title{font-size:26px;margin:40px 0 23px}.conditions-list dt{font-size:15px}.conditions-list dd{font-size:16px}.section-lead{font-size:16px;margin:-8px auto 28px;line-height:1.9}.work-layout{display:flex;flex-direction:column;gap:25px}.work-layout>.photo:first-child{max-width:450px}.work-layout>.photo:last-child{display:none}.work-grid{grid-template-columns:1fr;width:100%;gap:15px}.work-grid>li{padding:22px;border-radius:20px}.work-grid h3{font-size:22px}.work-grid p{font-size:16px;margin-top:13px;line-height:1.9}.work-grid .step-number{font-size:16px;min-width:38px;height:27px}.value-grid{gap:18px}.value-card{padding:25px;display:grid;grid-template-columns:55px 1fr;gap:9px 18px;align-items:start}.value-card>.boat,.value-card>.lighthouse{grid-row:1/3;width:54px;height:74px;margin:auto}.value-card h3{font-size:23px;text-align:left;margin:0}.value-card p{font-size:16px;line-height:1.9}.assertive-panel{display:block;padding:27px 23px;border-radius:26px;margin-top:25px}.assertive-decoration{float:right;margin:0 -8px 10px 12px;display:block}.assertive-decoration>.lighthouse{width:40px;height:83px}.assertive-panel h3{font-size:25px;line-height:1.65;margin-bottom:23px}.assertive-panel p{font-size:16px;line-height:2}.assertive-panel p+p{margin-top:21px}.apply-panel{grid-template-columns:1fr;gap:35px;padding:27px 22px;border-radius:28px}.apply-intro h2{font-size:30px;line-height:1.65}.apply-intro>p{font-size:16px;margin:21px 0}.apply-intro>.btn{width:100%;font-size:17px}.application-form-wrap{padding:30px 0 0;border-left:0;border-top:1px solid #9ad5e8}.application-form-wrap>h3{font-size:24px;line-height:1.6}.application-form-wrap>.fine{font-size:13px;margin-top:14px}.field{margin-bottom:21px}.field label{font-size:16px;margin-bottom:7px}input,select,textarea{min-height:51px;font-size:16px;padding:12px}.form-privacy{font-size:13px}.message-result{padding-top:25px;margin-top:25px}.message-result textarea{font-size:14px}.message-result>.btn{font-size:15px}.apply-note{font-size:13px;text-align:left;padding:0 8px;margin-top:21px}.toast{bottom:95px;font-size:13px;line-height:1.8;padding:13px 18px;border-radius:17px}.environment-section .section-title{max-width:310px;margin-inline:auto}.environment-section .section-title:before,.environment-section .section-title:after{display:none}}
@media(max-width:360px){.brand{font-size:18px}.brand img{width:46px;height:46px}.container{width:calc(100% - 30px)}.hero h1{font-size:25px}.hero-logo{width:145px;height:145px}.hero-kicker{font-size:11px}.hero-scene{height:200px}.section-title{font-size:23px}.section-title:before,.section-title:after{margin-inline:5px;width:10px}.mobile-actions>.btn{font-size:13px}.salary-list>div{grid-template-columns:64px minmax(0,1fr)}.salary-list dd{font-size:14px;padding-inline:6px}.apply-panel{padding:25px 18px}.recruit-hero-copy h2{font-size:27px}.anchor-nav a{font-size:14px;padding-inline:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.motion-ready .reveal:not(.visible){opacity:1;transform:none}}

/* Combined home: one continuous introduction to learning and support. */
.home-intro{padding:42px 0 58px;text-align:center;background:#fff}.intro-kicker{font-weight:700;color:var(--blue-dark);font-size:14px;letter-spacing:.08em;margin-bottom:14px}.home-intro h2{font-size:clamp(28px,3vw,40px);letter-spacing:.03em}.home-intro h2 span{color:var(--blue)}.intro-text{margin-top:16px;font-size:17px}.home-jump{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:970px;margin:32px auto 0}.home-jump a{display:flex;align-items:center;justify-content:center;gap:12px;min-height:62px;border:1.5px solid #9cdaed;border-radius:20px;background:#f5fcff;font-weight:700;color:var(--navy);transition:background .2s,transform .2s}.home-jump a:hover{background:#e2f7ff;transform:translateY(-3px)}.home-jump a:nth-child(2){background:#fff5ef;border-color:#ffd0bb}.home-jump a:nth-child(3){background:#fffbed;border-color:#efdfa0}.home-jump a>.icon:first-child{color:var(--blue-dark);width:25px;height:25px}.home-jump a:nth-child(2)>.icon:first-child{color:#df6350}.home-jump a:nth-child(3)>.icon:first-child{color:#ad8623}.home-jump a>.icon:last-child{width:13px;height:13px;transform:rotate(90deg);margin-left:4px}.section-label{display:inline-block;background:#e5f8ff;color:#007da6;border-radius:24px;padding:5px 18px;font-size:14px;font-weight:700;letter-spacing:.05em;margin-bottom:16px}.coral-label{background:#ffebe3;color:#ad503d}.center-label{display:table;margin:0 auto 15px;background:#fff7d8;color:#856a18}.home-learning{padding-top:22px;padding-bottom:72px}.home-learning .learning-content{align-items:center}.home-learning h2,.sports-content h2{font-size:35px;line-height:1.55}.home-learning .learning-content>.photo{margin-top:0}.home-days .activity-strip{align-items:stretch;gap:24px}.home-days .activity-strip figure{background:white;border-radius:24px;overflow:hidden;box-shadow:var(--shadow);border:4px solid white}.home-days .activity-strip .photo{border-radius:20px 20px 0 0}.home-days .activity-strip figcaption{text-align:left;padding:20px 22px 26px}.day-label{display:inline-block;font-size:12px;background:#dff5ff;color:var(--blue-dark);padding:2px 15px;border-radius:20px;margin-bottom:12px;font-weight:700}.home-days h3{font-size:21px;line-height:1.6}.home-days figcaption p{font-size:15px;line-height:1.9;font-weight:400;margin-top:13px}.day-note{margin-top:26px}.support-methods .approach-cloud h3{font-size:30px}.support-methods .approach-cloud p:last-of-type{max-width:800px;margin-inline:auto}.support-methods .support-note{margin-top:28px}
@media(min-width:821px){body[data-page="トップ"] .hero-scene{height:280px}body[data-page="トップ"] .hero h1{font-size:clamp(33px,4vw,52px)}body[data-page="トップ"] .hero{padding-bottom:65px}.support-methods .method-card{min-height:0}}
@media(max-width:820px){.home-intro{padding:33px 0 42px}.home-jump{gap:12px}.home-jump a{font-size:14px;gap:8px;padding-inline:9px}.home-jump a>.icon:first-child{width:22px;height:22px}.home-jump a>.icon:last-child{margin-left:0}.home-learning h2,.sports-content h2{font-size:30px}.home-days .activity-strip{gap:17px}.home-days .activity-strip figcaption{padding:17px}.home-days h3{font-size:19px}.home-days figcaption p{font-size:14px}.support-methods .approach-cloud h3{font-size:26px}}
@media(max-width:600px){.home-intro{padding:24px 0 37px}.intro-kicker{font-size:12px;margin-bottom:12px}.home-intro h2{font-size:26px;line-height:1.6;letter-spacing:0}.intro-text{font-size:15px;line-height:1.9;margin-top:15px}.home-jump{grid-template-columns:1fr 1fr;gap:12px;margin-top:25px}.home-jump a{font-size:14px;min-height:56px;border-radius:16px;gap:9px}.home-jump a>.icon:first-child{width:23px;height:23px}.home-jump a>.icon:last-child{width:11px;margin-left:0}.section-label{font-size:12px;padding:4px 15px;margin-bottom:14px}.home-learning{padding-top:6px;padding-bottom:42px}.home-learning h2,.sports-content h2{font-size:28px}.home-learning .learning-content{gap:26px}.home-learning .section-label{margin-top:0}.home-days .activity-strip{gap:24px}.home-days .activity-strip figcaption{padding:20px}.home-days h3{font-size:23px}.home-days figcaption p{font-size:16px}.day-note{text-align:left;font-size:13px}.support-methods .approach-cloud h3{font-size:23px}.support-methods .center-label{margin-bottom:14px}.support-methods .section-title{margin-bottom:26px}.support-methods .method-grid{gap:19px}.home-days .section-title{font-size:25px}.home-days .section-title:before,.home-days .section-title:after{display:none}.home-intro .mobile-br{display:block}}
@media(max-width:360px){.home-intro h2{font-size:23px}.home-jump a{font-size:13px;gap:6px;padding:7px}.home-jump a>.icon:first-child{width:21px;height:21px}.home-learning h2,.sports-content h2{font-size:25px}.support-methods .approach-cloud h3{font-size:21px}}

.home-jump a span{white-space:nowrap}
@media(max-width:600px){body[data-page="トップ"] .hero-boat{right:7px;bottom:-48px;width:43px;height:50px}}
@media(max-width:360px){.home-jump a{font-size:12px;gap:5px;padding:7px 6px}}

/* Weekday and Saturday schedules on the home page. */
.daily-flow-section .section-title{margin-bottom:32px}
.daily-flow-grid,.home-contact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.daily-flow-card{padding:clamp(16px,2.7vw,30px);background:#fff;border:1px solid var(--line);border-radius:24px}
.daily-flow-card>h3{margin-bottom:18px}
.daily-timeline{list-style:none;padding:0;margin:0}
.daily-item{display:grid;grid-template-columns:75px minmax(0,1fr);gap:17px;align-items:start}
.saturday-flow .daily-item{grid-template-columns:112px minmax(0,1fr)}
.daily-time{display:block;background:#e5f8ff;color:var(--blue-dark);border-radius:12px;text-align:center;font-size:17px;font-weight:700;line-height:1.4;padding:9px 4px;font-variant-numeric:tabular-nums;white-space:nowrap}
.daily-time small{display:block;font-size:12px}
.daily-content{border-left:2px solid #a0dded;position:relative;padding:4px 0 20px 15px;min-height:56px}
.daily-content::before{content:'';width:10px;height:10px;background:var(--blue);border:3px solid white;box-sizing:content-box;border-radius:50%;position:absolute;left:-9px;top:12px}
.daily-content h4{font-size:18px;line-height:1.55}
.daily-content p{font-size:15px;line-height:1.8;margin-top:5px}
.daily-item:last-child .daily-content{border-color:transparent;padding-bottom:0}
.saturday-lunch{background:#e9f9ff;border-radius:12px;padding:10px 13px;margin-bottom:17px;font-weight:700;font-size:15px}
.saturday-flow>.fine{margin-top:12px}
.home-contact-section{padding-top:0}
.home-contact-card{display:flex;flex-direction:column;align-items:flex-start;min-width:0;padding:clamp(20px,3.4vw,38px);background:#eefaff;border:1px solid #bce5f1;border-radius:26px}
.home-contact-recruit{background:#fff5ef;border-color:#f3d6ca}
.home-contact-card h2{font-size:clamp(22px,2.4vw,29px);line-height:1.55;margin:10px 0 12px}
.home-contact-card>p{font-size:16px}
.home-contact-actions{display:grid;justify-items:start;gap:10px;margin-top:auto;padding-top:22px}
.availability-summary{background:#fff;border:1px solid #bce5f1;color:var(--blue-dark);border-radius:13px;padding:7px 12px;font-size:15px;font-weight:700}
@media(max-width:740px){
  .daily-flow-grid,.home-contact-grid{grid-template-columns:1fr;gap:18px}
  .daily-flow-section .section-title{margin-bottom:24px}
}
@media(max-width:600px){.home-jump a:last-child{grid-column:1/-1}}
@media(max-width:360px){
  .daily-item{grid-template-columns:66px minmax(0,1fr);gap:12px}
  .saturday-flow .daily-item{grid-template-columns:103px minmax(0,1fr)}
  .daily-time{font-size:15px}
  .daily-content{padding-left:12px}
  .daily-content h4{font-size:16px}
}

/* A guided message for a family visit, using the existing LINE flow. */
.visit-panel{align-items:start}.visit-steps{list-style:none;padding:0;display:grid;gap:14px;margin:26px 0 32px;font-weight:700}.visit-steps li{display:flex;align-items:center;gap:12px}.visit-steps li>span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:#fff;color:var(--blue-dark);font-size:16px;flex-shrink:0}.apply-intro>.visit-direct-label{font-size:14px;margin:0 0 14px}.visit-phone{margin-top:30px;align-items:flex-start}.visit-phone small{display:block;font-size:12px;font-weight:400;margin-top:4px}.visit-phone>.icon{margin-top:8px}.field-help{font-size:12px;line-height:1.8;margin-top:7px;color:var(--muted)}#visit-dates{min-height:85px}#visit-form>.btn{width:100%;font-size:17px;padding-inline:18px}.visit-panel .application-form-wrap{min-width:0}.visit-panel .field label{flex-wrap:wrap;gap:5px 9px}.visit-panel .message-result>.fine:first-of-type{margin:0 0 14px}.visit-panel .message-result{scroll-margin-top:125px}
@media(max-width:600px){.guide-anchors a:first-child{grid-column:auto}.visit-panel .apply-intro h2{font-size:29px}.visit-steps{gap:12px;margin:24px 0 28px;font-size:16px}.visit-phone{justify-content:center}.visit-phone small{text-align:center}.visit-panel .application-form-wrap>h3{font-size:23px}.visit-panel .field label{font-size:15px}.visit-panel .message-result{scroll-margin-top:100px}#visit-form>.btn{font-size:16px}}
@media(max-width:360px){.visit-panel .application-form-wrap>h3{font-size:21px}#visit-form>.btn{font-size:14px;padding-inline:10px}.visit-panel .message-result>.btn{font-size:14px;padding-inline:12px}}

#visit-request,#recruit-request{scroll-margin-top:130px}@media(max-width:600px){#visit-request,#recruit-request{scroll-margin-top:110px}}

/* One consistent place to start a visit or recruitment inquiry. */
@media(min-width:601px){body{padding-bottom:116px}.mobile-actions{position:fixed;z-index:45;display:flex;align-items:center;justify-content:center;gap:12px;right:24px;bottom:20px;left:auto;width:min(520px,calc(100% - 48px));padding:10px;background:#fffffffa;border:1px solid #b6dfeb;border-radius:999px;box-shadow:0 5px 26px #08628420;backdrop-filter:blur(8px)}.mobile-actions>.btn{flex:1;min-width:0;min-height:54px;padding:12px 19px;font-size:16px;white-space:nowrap}.mobile-actions .btn>.icon:last-child{width:14px;margin-left:4px}.toast{bottom:122px}}
@media(max-width:600px){body{padding-bottom:calc(82px + env(safe-area-inset-bottom))}.guide-anchors a:first-child{grid-column:1/-1}.recruit-anchors a:last-child{grid-column:1/-1}}

/* Shared availability and school/transport inquiry fields. */
.availability-section{padding-top:30px;padding-bottom:42px}.availability-section .section-title{margin-bottom:26px}.availability-panel{background:#f1fbff;border:1px solid #bce5f1;border-radius:28px;padding:30px 34px;max-width:1050px;margin:auto}.availability-intro{text-align:center;font-size:16px;margin-bottom:23px}.availability-grid{list-style:none;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px}.availability-card{border:1px solid #c7e1e9;border-radius:19px;background:#fff;display:flex;flex-direction:column;align-items:center;text-align:center;padding:17px 10px;gap:6px;min-width:0}.availability-day{font-size:17px;font-weight:700}.availability-symbol{font-size:25px;line-height:1.3;font-weight:700;color:#678791}.availability-status{font-size:15px;white-space:nowrap}.availability-card[data-status=open]{border-color:#48b2c8;background:#e8faff}.availability-card[data-status=open] .availability-symbol{color:#007e9c}.availability-card[data-status=limited]{border-color:#e0bd50;background:#fffae6}.availability-card[data-status=limited] .availability-symbol{color:#8d6918}.availability-card[data-status=full]{background:#fff0ed;border-color:#e1afa4}.availability-card[data-status=full] .availability-symbol{color:#ad5144}.availability-card[data-status=contact]{background:#f4effc;border-color:#c7b8de}.availability-card[data-status=contact] .availability-symbol{font-size:18px;color:#725294}.availability-card[data-status=closed]{background:#f0f3f5;color:#647780}.availability-card[data-status=closed] .availability-symbol{font-size:20px}.availability-note{margin-top:22px;background:white;padding:15px 19px;border-radius:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}.availability-updated{font-size:13px;text-align:center;color:var(--muted);margin-top:20px}.availability-error{font-size:14px;margin-top:17px;color:#934537}.availability-retry,.admin-reload{border:0;background:transparent;color:#087d9f;font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:4px;padding:8px;cursor:pointer}.availability-disclaimer{margin:18px auto 0;max-width:950px}.transport-section{padding-top:15px;padding-bottom:42px}.transport-section .section-title{margin-bottom:28px}.transport-area{border:1px solid #bce3ef;border-radius:22px;overflow:hidden}.transport-area>div{display:grid;grid-template-columns:230px minmax(0,1fr);border-bottom:1px solid #cde9f2}.transport-area>div:last-child{border-bottom:0}.transport-area dt{font-weight:700;background:#e8f8ff;padding:20px 22px}.transport-area dd{padding:20px 24px}.transport-fine{margin-top:15px}.field>legend{font-size:15px;font-weight:700;margin-bottom:8px;display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px}.field fieldset,.field.transport-choice,fieldset.field{min-inline-size:0}.field fieldset,fieldset.field{border:0;padding:0}.weekday-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.field .choice-label{display:flex;align-items:center;gap:8px;border:1px solid #a9d8e7;background:#fff;border-radius:12px;padding:11px 10px;margin:0;cursor:pointer;font-size:15px;line-height:1.6;min-width:0}.choice-label input[type=checkbox],.choice-label input[type=radio]{width:19px;height:19px;min-height:0;min-width:19px;margin:0;padding:0;display:inline-block;accent-color:#058db0;flex-shrink:0}.choice-label:has(input:checked){background:#e2f7ff;border-color:#008caf;box-shadow:inset 0 0 0 1px #008caf}.transport-options{display:grid;gap:17px}.transport-choice>legend{font-size:14px;font-weight:700;margin-bottom:8px}.radio-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.availability-admin{padding-bottom:30px;background:#f7fcff}.admin-shell{max-width:960px;padding-top:45px;padding-bottom:45px}.admin-shell>h1{font-size:36px;margin-bottom:13px}.admin-shell>p{max-width:780px}.admin-public-link{margin-left:auto;font-size:14px;font-weight:700}.admin-feedback{border-radius:16px;background:#e3f5fc;padding:17px 20px;margin:27px 0;color:#165a70}.admin-feedback[data-error=true]{background:#fff0eb;color:#983f34}.admin-days{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 20px}.admin-day label{font-size:18px}.admin-shell fieldset{border:0;min-width:0;padding:0}.admin-shell fieldset[disabled]{opacity:.65}.admin-shell .btn{margin-top:22px;min-width:260px}.admin-shell .admin-reload{margin:22px 0 0;padding-left:0}.admin-help{margin-top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:820px){.availability-panel{padding:26px 23px}.availability-grid{gap:9px}.availability-status{font-size:13px}.transport-area>div{grid-template-columns:190px minmax(0,1fr)}.transport-area dt,.transport-area dd{padding:18px}}
@media(max-width:600px){.availability-section{padding-top:20px;padding-bottom:29px}.availability-section .section-title{font-size:26px;margin-bottom:22px}.availability-panel{padding:23px 17px;border-radius:23px}.availability-intro{font-size:15px;margin-bottom:20px}.availability-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.availability-card{padding:13px 7px;gap:5px;border-radius:15px}.availability-day{font-size:15px}.availability-symbol{font-size:23px}.availability-status{font-size:13px}.availability-note{font-size:14px;padding:13px;margin-top:18px}.availability-updated{font-size:12px;line-height:1.8}.availability-disclaimer{font-size:12px;text-align:left;padding:0 7px}.transport-section{padding-top:10px;padding-bottom:29px}.transport-section .section-title{font-size:25px;margin-bottom:22px}.transport-area{border-radius:18px}.transport-area>div{grid-template-columns:1fr}.transport-area dt{font-size:15px;padding:10px 17px}.transport-area dd{font-size:16px;line-height:1.8;padding:13px 17px 17px}.transport-fine{font-size:12px;padding:0 5px}.field>legend{font-size:15px}.field .choice-label{font-size:14px;padding:11px 8px;gap:7px}.weekday-options{gap:9px}.availability-admin .header-inner{flex-wrap:wrap;padding:8px 0}.admin-public-link{font-size:12px}.admin-shell{padding-top:27px}.admin-shell>h1{font-size:29px}.admin-shell>p{font-size:15px}.admin-days{grid-template-columns:1fr 1fr;gap:0 14px}.admin-day label{font-size:16px}.admin-shell .btn{width:100%;min-width:0}.admin-feedback{padding:15px 17px;font-size:14px}}
@media(max-width:360px){.availability-status{font-size:12px}.availability-panel{padding-inline:12px}.field .choice-label{font-size:13px;padding-inline:7px;gap:5px}.choice-label input[type=checkbox],.choice-label input[type=radio]{width:17px;height:17px;min-width:17px}.admin-days{gap:0 10px}}

/* LINE action immediately below the generated visit message. */
.btn-line{background:#07883b;color:#fff}.btn-line:hover{background:#066f31}.btn-line .line-mark{background:#fff;color:#07883b}.btn-line .line-mark:after{border-top-color:#fff}

/* Follow the inquiry forward instead of sending the visitor back to availability. */
.inquiry-progress{list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:800px;margin:0 auto 30px}.inquiry-progress li{display:flex;align-items:center;justify-content:center;gap:9px;font-size:14px;font-weight:700;color:#57717b;background:#f1f7f9;border:1px solid #d3e4ea;border-radius:16px;padding:13px 11px;min-width:0}.inquiry-progress li>span{display:grid;place-items:center;border-radius:50%;background:#fff;width:25px;height:25px;flex-shrink:0;color:#4f7484}.inquiry-progress li[data-active=true]{background:#e4f8ff;color:#086c88;border-color:#34a7c6}.inquiry-progress li[data-active=true]>span{background:#078fb3;color:#fff}
#visit-request,#recruit-request,.visit-panel .message-result{scroll-margin-top:0}
@media(max-width:600px){.inquiry-progress{gap:7px;margin-bottom:24px}.inquiry-progress li{flex-direction:column;gap:7px;padding:11px 5px;font-size:12px;border-radius:13px;line-height:1.6}.inquiry-progress li>span{width:24px;height:24px}}
@media(max-width:360px){.inquiry-progress li{font-size:11px}}

/* The three LINE inquiry steps and the consolidated transport information. */
.visit-steps li{align-items:flex-start}
.visit-steps li p{font-size:15px;font-weight:400;line-height:1.65;margin-top:4px}
.transport-details{list-style:none;display:grid;gap:6px;margin:0 0 8px;padding:0}

/* Recruitment conditions and duties use the same labels and layout for both roles. */
.job-openings{display:grid;gap:24px}
.opening-card>h3{text-align:left;font-size:clamp(21px,2.6vw,29px);margin:0 0 18px}
.opening-layout{display:grid;grid-template-columns:minmax(0,1.22fr) minmax(0,.78fr);gap:24px}
.opening-subheading{background:#e7f7fc;border-radius:12px;padding:9px 14px;margin-bottom:12px;font-size:17px;line-height:1.5}
.opening-list{border-radius:13px}
.opening-list>div{grid-template-columns:100px minmax(0,1fr)}
.opening-list dt,.opening-list dd{padding:10px 13px;font-size:15px;line-height:1.7}
.opening-list dd p+p{margin-top:5px}
.opening-list dd .fine{font-size:14px}
.opening-list>.opening-qualifications{grid-template-columns:1fr}
.opening-qualifications ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 18px;padding-left:1.2em;margin:8px 0}
.opening-duties .photo{border-radius:13px}
.opening-duties ul{padding-left:1.3em;margin:12px 0 0;font-size:16px;line-height:1.8}
.opening-duties li+li{margin-top:8px}

/* Recruitment request steps and the conditional dates and hours. */
.recruit-apply-panel{grid-template-columns:minmax(0,.67fr) minmax(0,1.33fr);align-items:start}
.recruit-apply-panel .application-form-wrap{min-width:0}
.application-steps{list-style:none;display:grid;gap:13px;margin:0 0 20px;padding:0}
.application-step{background:#fff;border:1px solid #aadce9;border-radius:14px;min-width:0}
.application-step-heading{display:flex;align-items:center;gap:9px;background:#e7f7fc;border-radius:13px 13px 0 0;padding:9px 12px;font-size:16px;line-height:1.55}
.application-step-heading label{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.application-step-number{flex:0 0 27px;height:27px;display:grid;place-items:center;background:#fff;color:var(--blue-dark);border-radius:50%;font-size:15px}
.application-step-fields.field{margin:0;padding:12px;min-width:0}
.application-step-fields>.field-help:first-child{margin-top:0}
.application-step-fields :is(input,select,textarea){min-width:0;max-width:100%}
.application-step-fields fieldset{margin:12px 0 0;min-width:0}
.application-step-fields legend{font-size:15px;font-weight:700;margin-bottom:5px}
.application-step-fields .weekday-options{margin:8px 0 10px}
.application-step-fields .weekday-options .choice-label{justify-content:center}
.application-choices{display:flex;flex-wrap:wrap;gap:7px;margin-top:8px}
.application-choices:first-child{margin-top:0}
.application-field-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px}
.application-field-pair label{font-size:14px}
.application-preferences .application-preference{border-top:1px solid var(--line);padding-top:5px}
.trial-rates{margin:8px 0 0}
.trial-rates>div{padding:7px 10px;border-radius:9px;background:#f2faff;font-size:14px}
.trial-rates>div+div{margin-top:5px}
.trial-rates dt{font-weight:700}
.recruit-apply-panel [hidden]{display:none}
.recruit-apply-panel .message-result .btn{white-space:normal}
@media(max-width:820px){
  .opening-layout,.recruit-apply-panel{grid-template-columns:1fr}
  .recruit-apply-panel .application-form-wrap{padding:24px 0 0;border-left:0;border-top:1px solid #9ad5e8}
  .opening-duties .photo{max-width:480px}
}
@media(max-width:550px){
  .opening-list>div,.opening-qualifications ul,.application-field-pair{grid-template-columns:1fr}
}
