:root{--ink:#0d1f24;--ink-soft:#3a555c;--mist:#eef6f5;--foam:#f7fbfa;--lagoon:#0a4f5c;--lagoon-deep:#043844;--aqua:#2aa8a0;--sun:#d4a017;--line:#0d1f241f;--white:#fff;--max:1120px;--header-h:68px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}html,body{margin:0;padding:0}body{font-family:var(--font-body), "Hiragino Sans", "Noto Sans JP", sans-serif;color:var(--ink);background:var(--foam);-webkit-font-smoothing:antialiased;line-height:1.75}a{color:inherit}img{max-width:100%;display:block}.site-header{z-index:40;height:var(--header-h);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f7fbfad1;border-bottom:1px solid #0000;justify-content:space-between;align-items:center;gap:24px;padding:0 clamp(20px,4vw,48px);transition:border-color .3s;display:flex;position:fixed;inset:0 0 auto}.brand{font-family:var(--font-display), Georgia, serif;letter-spacing:.04em;color:var(--lagoon-deep);white-space:nowrap;font-size:clamp(14px,1.6vw,18px);font-weight:600;text-decoration:none}.nav{gap:28px;display:flex}.nav a{letter-spacing:.06em;color:var(--ink-soft);font-size:13px;text-decoration:none;transition:color .2s}.nav a:hover,.nav a:focus-visible{color:var(--lagoon)}.header-cta{letter-spacing:.04em;color:var(--lagoon-deep);border-bottom:1px solid var(--aqua);padding-bottom:2px;font-size:13px;font-weight:700;text-decoration:none}.btn{letter-spacing:.04em;border:1px solid #0000;justify-content:center;align-items:center;min-height:48px;padding:0 28px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .2s,background .2s,color .2s,border-color .2s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn:focus-visible{outline:2px solid var(--aqua);outline-offset:3px}.btn-primary{background:var(--sun);color:var(--ink)}.btn-primary:hover{background:#e0b12a}.btn-ghost{color:var(--white);background:0 0;border-color:#ffffff8c}.btn-ghost:hover{background:#ffffff1a}.hero{min-height:100svh;color:var(--white);align-items:end;display:grid;position:relative;overflow:hidden}.hero-media{position:absolute;inset:0}.hero-photo{background:linear-gradient(#04384426 0%,#0000 35%),url(/images/hero.jpg) 50% 40%/cover no-repeat;animation:28s ease-in-out infinite alternate hero-drift;position:absolute;inset:0;transform:scale(1.06)}.hero-veil{background:linear-gradient(105deg,#043844c7 0%,#0438446b 48%,#04384433 100%),linear-gradient(#0000 58%,#043844b8 100%);position:absolute;inset:0}.hero-content{z-index:1;width:min(100%, var(--max));padding:calc(var(--header-h) + 48px) clamp(20px, 4vw, 48px) 72px;margin:0 auto;position:relative}.brand-mark{font-family:var(--font-display), Georgia, serif;letter-spacing:.04em;margin:0 0 20px;font-size:clamp(28px,5.5vw,52px);font-weight:500;line-height:1.15;animation:.9s both rise}.hero-title{max-width:14em;font-family:var(--font-ja-display), "Hiragino Mincho ProN", serif;letter-spacing:.04em;margin:0 0 20px;font-size:clamp(28px,5.2vw,48px);font-weight:600;line-height:1.35;animation:.9s .12s both rise}.hero-lead{color:#ffffffe0;max-width:36em;margin:0 0 36px;font-size:clamp(15px,1.7vw,17px);line-height:1.85;animation:.9s .24s both rise}.hero-actions{flex-wrap:wrap;gap:12px;animation:.9s .36s both rise;display:flex}@keyframes hero-drift{0%{transform:scale(1.06)translate(0,0)}to{transform:scale(1.12)translate(-1.5%,-1%)}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.intro{background:var(--mist);padding:0}.intro-layout{grid-template-columns:1.05fr .95fr;min-height:420px;display:grid}.intro-photo{margin:0;overflow:hidden}.intro-photo img{object-fit:cover;object-position:center top;width:100%;height:100%}.intro-text{font-family:var(--font-ja-display), serif;letter-spacing:.06em;color:var(--lagoon-deep);align-items:center;margin:0;padding:clamp(40px,6vw,72px) clamp(28px,5vw,64px);font-size:clamp(22px,3.2vw,34px);font-weight:500;line-height:1.65;display:flex}.section{padding:96px clamp(20px,4vw,48px)}.section-head{width:min(100%, var(--max));margin:0 auto 56px}.eyebrow{font-family:var(--font-display), Georgia, serif;letter-spacing:.08em;color:var(--aqua);margin:0 0 12px;font-size:14px;font-style:italic}.section-head h2,.pillars-inner>h2,.contact-inner h2{font-family:var(--font-ja-display), serif;letter-spacing:.04em;color:var(--lagoon-deep);margin:0;font-size:clamp(26px,4vw,40px);font-weight:600;line-height:1.35}.section-lead{max-width:40em;color:var(--ink-soft);margin:16px 0 0;font-size:16px}.programs{background:var(--foam)}.program{width:min(100%, var(--max));border-top:1px solid var(--line);margin:0 auto 72px;padding-top:48px}.program:last-child{margin-bottom:0}.program-photo{aspect-ratio:21/9;margin:0 0 36px;overflow:hidden}.program-photo img{object-fit:cover;width:100%;height:100%;transition:transform .8s}.program:hover .program-photo img{transform:scale(1.03)}.program-head{max-width:44em;margin-bottom:40px}.section-banner{width:min(100%, var(--max));margin:0 auto 48px;overflow:hidden}.section-banner img{aspect-ratio:21/9;object-fit:cover;width:100%}.section-banner figcaption{font-family:var(--font-display), Georgia, serif;letter-spacing:.04em;color:var(--ink-soft);margin-top:10px;font-size:13px;font-style:italic}.program-no{font-family:var(--font-display), Georgia, serif;letter-spacing:.14em;text-transform:uppercase;color:var(--aqua);margin:0 0 10px;font-size:13px}.program-head h3{flex-direction:column;gap:6px;margin:0 0 18px;display:flex}.program-en{font-family:var(--font-display), Georgia, serif;letter-spacing:.02em;color:var(--lagoon-deep);font-size:clamp(22px,3vw,30px);font-weight:500}.program-ja{font-family:var(--font-ja-display), serif;color:var(--ink);font-size:clamp(18px,2.4vw,22px);font-weight:500}.program-quote{font-family:var(--font-ja-display), serif;color:var(--lagoon);margin:0 0 14px;font-size:18px}.program-body{color:var(--ink-soft);margin:0}.include-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px;margin-bottom:40px;display:grid}.include-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.include-block h4,.recommend h4,.schedule h4,.price-block h4,.plan-list h4{letter-spacing:.12em;text-transform:uppercase;color:var(--lagoon);margin:0 0 14px;font-size:13px;font-weight:700}.include-block ul,.recommend-list,.why-item ul{margin:0;padding:0;list-style:none}.include-block li,.recommend-list li,.why-item li,.enterprise-services li{color:var(--ink-soft);margin-bottom:8px;padding-left:14px;font-size:14px;position:relative}.include-block li:before,.recommend-list li:before,.why-item li:before,.enterprise-services li:before{content:"";background:var(--aqua);width:5px;height:1px;position:absolute;top:.7em;left:0}.recommend,.schedule{margin-bottom:40px}.recommend-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px 24px;display:grid}.schedule-list{border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.schedule-list li{border-bottom:1px solid var(--line);grid-template-columns:140px 1fr;gap:16px;padding:14px 0;font-size:15px;display:grid}.schedule-list time{font-family:var(--font-display), Georgia, serif;font-variant-numeric:tabular-nums;color:var(--lagoon)}.price-block{padding-top:8px}.price-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;display:grid}.price-item{border-top:2px solid var(--lagoon);flex-direction:column;gap:6px;padding:16px 0;display:flex}.price-period{color:var(--ink-soft);font-size:13px}.price-value{font-family:var(--font-display), Georgia, serif;color:var(--lagoon-deep);font-size:22px;font-weight:500}.price-note{color:var(--ink-soft);margin:16px 0 0;font-size:13px}.enterprise{background:var(--mist)}.enterprise-body{width:min(100%, var(--max));grid-template-columns:1.1fr .9fr;align-items:start;gap:48px;margin:0 auto;display:grid}.enterprise-services{columns:2;column-gap:28px;margin:0;padding:0;list-style:none}.plan-list{flex-direction:column;gap:0;display:flex}.plan-row{border-bottom:1px solid var(--line);grid-template-rows:auto auto;grid-template-columns:1fr auto;gap:4px 16px;padding:18px 0;display:grid}.plan-row:first-of-type{border-top:1px solid var(--line)}.plan-name{font-family:var(--font-display), Georgia, serif;color:var(--lagoon-deep);font-size:20px}.plan-price{font-family:var(--font-display), Georgia, serif;text-align:right;font-size:20px;font-weight:500}.plan-note{color:var(--ink-soft);grid-column:1/-1;font-size:13px}.why{background:var(--foam)}.why-list{width:min(100%, var(--max));flex-direction:column;margin:0 auto;display:flex}.why-item{border-top:1px solid var(--line);grid-template-columns:72px 1fr;gap:20px;padding:28px 0;display:grid}.why-item:last-child{border-bottom:1px solid var(--line)}.why-index{font-family:var(--font-display), Georgia, serif;color:var(--aqua);font-size:28px;font-weight:500;line-height:1.2}.why-item h3{font-family:var(--font-ja-display), serif;letter-spacing:.03em;margin:0 0 10px;font-size:20px;font-weight:600}.why-item p{color:var(--ink-soft);margin:0 0 10px}.why-item ul{margin-top:8px}.benefits{background:var(--mist)}.benefits-layout{width:min(100%, var(--max));grid-template-columns:1.15fr .85fr;align-items:start;gap:48px;margin:0 auto;display:grid}.benefits .section-head{width:auto;margin:0 0 36px}.benefits-photo{top:calc(var(--header-h) + 24px);aspect-ratio:3/4;margin:0;position:sticky;overflow:hidden}.benefits-photo img{object-fit:cover;width:100%;height:100%}.benefit-list{flex-direction:column;display:flex}.benefit-item{border-top:1px solid var(--line);padding:24px 0}.benefit-item:last-child{border-bottom:1px solid var(--line)}.benefit-item h3{font-family:var(--font-ja-display), serif;color:var(--lagoon-deep);margin:0 0 10px;font-size:20px;font-weight:600}.benefit-item p{color:var(--ink-soft);margin:0;font-size:15px}.pillars{color:var(--white);background:linear-gradient(160deg,#043844e0,#0a4f5cc7),url(/images/pillars.jpg) 50%/cover no-repeat;padding:112px clamp(20px,4vw,48px);position:relative;overflow:hidden}.pillars:before{content:"";background:linear-gradient(90deg, transparent, var(--sun), var(--aqua), transparent);height:2px;animation:4.5s ease-in-out infinite horizon-glow;position:absolute;inset:auto 0 0}.pillars-inner{width:min(100%, var(--max));margin:0 auto;position:relative}.pillars .eyebrow{color:var(--sun)}.pillars-inner>h2{color:var(--white);margin-bottom:48px}.pillar-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px;margin-bottom:56px;display:grid}.pillar{border-top:1px solid #ffffff47;padding-top:18px}.pillar-en{font-family:var(--font-display), Georgia, serif;letter-spacing:.04em;margin:0 0 4px;font-size:28px;font-weight:500}.pillar-ja{letter-spacing:.16em;color:#ffffffb3;margin:0 0 14px;font-size:13px}.pillar-body{color:#ffffffdb;margin:0;font-size:14px;line-height:1.8}.pillars-tagline{border-top:1px solid #fff3;flex-direction:column;gap:10px;margin:0;padding-top:28px;display:flex}.pillars-en{font-family:var(--font-display), Georgia, serif;letter-spacing:.02em;font-size:clamp(24px,4vw,36px);font-style:italic}.pillars-ja{font-family:var(--font-ja-display), serif;letter-spacing:.08em;color:#ffffffd9;font-size:16px}@keyframes horizon-glow{0%,to{opacity:.45}50%{opacity:1}}.contact{background:var(--foam)}.contact-layout{width:min(100%, var(--max));grid-template-columns:.85fr 1.15fr;align-items:start;gap:48px;margin:0 auto;display:grid}.contact-copy .section-lead{margin-bottom:28px}.contact-photo{aspect-ratio:4/3;margin:0;overflow:hidden}.contact-photo img{object-fit:cover;width:100%;height:100%}.contact-form-panel{border-top:2px solid var(--lagoon);background:var(--white);padding:clamp(24px,3vw,36px)}.contact-form-heading{border-bottom:1px solid var(--line);margin-bottom:8px;padding-bottom:20px}.contact-form-heading h3{font-family:var(--font-ja-display), serif;letter-spacing:.03em;color:var(--lagoon-deep);margin:0;font-size:clamp(22px,3vw,28px);font-weight:600}.contact-form{grid-template-columns:1fr 1fr;gap:20px 18px;padding-top:8px;display:grid}.form-field{min-width:0}:is(.form-field:has(select),.form-field:has(textarea),.form-error-summary,.form-server-error,.form-consent,.form-submit,.form-submit-note){grid-column:1/-1}.form-field>label{align-items:center;gap:8px;margin-bottom:8px;font-size:13px;font-weight:700;display:flex}.field-required,.field-optional{letter-spacing:.04em;align-items:center;min-height:20px;padding:2px 7px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.field-required{background:var(--lagoon);color:var(--white)}.field-optional{border:1px solid var(--line);color:var(--ink-soft)}.form-field input,.form-field select,.form-field textarea{background:var(--white);width:100%;color:var(--ink);font:inherit;border:1px solid #0d1f2447;border-radius:0;outline:none;transition:border-color .15s,box-shadow .15s}.form-field input:hover,.form-field select:hover,.form-field textarea:hover{border-color:#0d1f2480}.form-field input::placeholder,.form-field textarea::placeholder{color:#7a9096;opacity:1}.form-field input,.form-field select{min-height:48px;padding:0 14px}.form-field textarea{resize:vertical;min-height:150px;padding:14px;line-height:1.75}.message-starters{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.message-starters-label{color:var(--ink-soft);flex-basis:100%;margin-bottom:2px;font-size:11px;font-weight:700}.message-starter{background:var(--white);color:var(--ink);font:inherit;text-align:left;cursor:pointer;border:1px solid #0d1f2447;padding:8px 12px;font-size:12.5px;line-height:1.5;transition:border-color .15s,background .15s}.message-starter:before{content:"＋";color:var(--aqua);margin-right:6px;font-weight:700}.message-starter:hover{border-color:var(--aqua);background:var(--mist)}.message-starter:focus-visible,.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--aqua);outline:none;box-shadow:0 0 0 3px #2aa8a038}.form-field [aria-invalid=true]{background:snow;border-color:#c83b36}.form-field [aria-invalid=true]:focus{border-color:#c83b36;box-shadow:0 0 0 3px #c83b3633}.field-note,.field-error{margin-top:8px;font-size:12px;line-height:1.65}.field-note{color:var(--ink-soft)}.field-error{color:#b82e2a;font-weight:700}.form-error-summary,.form-server-error{color:#8f211e;background:#fff1ef;border-left:4px solid #b82e2a;margin:0;padding:14px 16px;font-size:13px;font-weight:650;line-height:1.7}.form-server-error strong{display:block}.form-consent{padding:4px 0}.form-consent>label{cursor:pointer;align-items:flex-start;gap:12px;font-size:13px;font-weight:650;line-height:1.7;display:flex}.form-consent input{width:20px;height:20px;accent-color:var(--lagoon);flex:none;margin-top:2px}.form-consent label>span{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.form-consent a{color:var(--lagoon);text-underline-offset:3px;text-decoration:underline}.form-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.form-submit{cursor:pointer;border:0;width:100%;min-height:52px}.form-submit:disabled{cursor:wait;opacity:.7;transform:none}.form-submit-note{color:var(--ink-soft);text-align:center;margin:-4px 0 0;font-size:12px}.contact-success{padding:28px 0 8px}.contact-success h3{font-family:var(--font-ja-display), serif;color:var(--lagoon-deep);margin:8px 0 14px;font-size:clamp(24px,3vw,32px)}.contact-success>p{color:var(--ink-soft);margin:0 0 24px;line-height:1.85}.site-footer{border-top:1px solid var(--line);background:var(--foam);padding:40px clamp(20px,4vw,48px) 36px}.footer-top{width:min(100%, var(--max));grid-template-columns:1fr 1.4fr;align-items:start;gap:36px;margin:0 auto 28px;display:grid}.footer-brand{font-family:var(--font-display), Georgia, serif;letter-spacing:.04em;color:var(--lagoon-deep);margin:0 0 8px;font-size:18px}.footer-operator{color:var(--ink-soft);margin:0;font-size:13px}.footer-operator a{color:var(--lagoon);text-underline-offset:3px;text-decoration:underline}.footer-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;display:grid}.footer-heading{font-family:var(--font-display), Georgia, serif;letter-spacing:.06em;color:var(--aqua);margin-bottom:12px;font-size:12px;font-style:italic;display:block}.footer-links a{color:var(--ink-soft);margin-bottom:8px;font-size:13px;text-decoration:none;display:block}.footer-links a:hover,.footer-links a:focus-visible{color:var(--lagoon)}.footer-bottom{width:min(100%, var(--max));border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding-top:20px;display:flex}.footer-copy{color:var(--ink-soft);margin:0;font-size:12px}.footer-dptr{font-family:var(--font-display), Georgia, serif;letter-spacing:.06em;color:var(--lagoon-deep);font-size:13px;text-decoration:none}.footer-dptr:hover{color:var(--lagoon)}[data-reveal]{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(24px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}@media (max-width:960px){.nav{display:none}.intro-layout,.benefits-layout,.contact-layout,.footer-top{grid-template-columns:1fr}.intro-photo{min-height:280px}.benefits-photo{aspect-ratio:16/10;order:-1;position:static}.contact-photo{aspect-ratio:16/10}.footer-links,.include-grid,.include-grid-4,.enterprise-body,.pillar-grid{grid-template-columns:1fr 1fr}.enterprise-services{columns:1}.program-photo,.section-banner img{aspect-ratio:16/9}}@media (max-width:640px){.section{padding:72px 20px}.hero-content{padding-bottom:56px}.hero-actions{flex-direction:column;align-items:stretch}.include-grid,.include-grid-4,.enterprise-body,.pillar-grid,.contact-form,.footer-links{grid-template-columns:1fr}.schedule-list li{grid-template-columns:1fr;gap:4px}.why-item{grid-template-columns:48px 1fr;gap:12px}.plan-row{grid-template-columns:1fr}.plan-price{text-align:left}.pillars{padding:80px 20px}.program-photo,.section-banner img{aspect-ratio:4/3}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-photo,.brand-mark,.hero-title,.hero-lead,.hero-actions,.pillars:before{animation:none}.hero-photo{transform:none}[data-reveal]{opacity:1;transition:none;transform:none}}
