@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800&family=Zen+Kaku+Gothic+New:wght@500;700;900&display=swap');
:root{--blue:#004aad;--green:#08783f;--leaf:#00af1d;--ink:#253b38;--muted:#697975;--pale:#f0f7f3;--line:#dce7df;--yellow:#f5b301;--font:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font-family:var(--font);font-size:16px;line-height:1.95;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--blue);outline-offset:5px}img{max-width:100%;display:block}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Zen Kaku Gothic New',var(--font);font-weight:700;line-height:1.6}button{color:inherit}.skip{position:fixed;top:-70px;left:16px;z-index:100;background:#fff;padding:10px}.skip:focus{top:10px}.header{height:112px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:30;background:#fff}.brand{display:flex;flex-direction:column;line-height:1.2}.brand strong{font-family:Arial,sans-serif;font-size:30px;font-weight:700;letter-spacing:-1.2px;color:var(--blue)}.brand strong span{color:var(--green)}.brand small{font-size:11px;letter-spacing:.22em;margin-top:8px;color:var(--green)}.desktop-nav{display:flex;align-items:center;gap:28px;font-size:14px;font-weight:500}.desktop-nav>a:not(.contact-nav){padding:10px 0;position:relative}.desktop-nav>a:not(.contact-nav):after{content:'';position:absolute;bottom:4px;left:0;width:0;height:2px;background:var(--leaf);transition:width .25s}.desktop-nav>a:hover:after{width:100%}.contact-nav{background:var(--green);color:#fff;padding:12px 22px;border-radius:50px;font-size:14px}.menu-toggle{height:52px;width:52px;border:0;background:var(--blue);border-radius:50%;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;margin-left:8px}.menu-toggle span{width:19px;height:1px;background:white;transition:transform .25s}.header-actions{display:flex;align-items:center;gap:18px}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.menu-panel{position:fixed;inset:0;z-index:25;background:var(--pale);padding:140px 10% 60px;overflow:auto}.menu-panel[hidden]{display:none}.menu-inner{max-width:1050px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:10px 70px}.menu-inner>a{padding:14px 0;border-bottom:1px solid #cbdccd;font-size:23px}.menu-inner>a small{display:block;font-size:12px;color:var(--green);letter-spacing:.08em}.menu-open{overflow:hidden}.menu-open .header{position:sticky;top:0;background:var(--pale)}.wrap{max-width:1140px;margin:auto;width:calc(100% - 100px)}.hero{position:relative;padding-top:22px;overflow:hidden}.hero-heading{display:flex;justify-content:space-between;align-items:center;position:relative;z-index:2}.eyebrow{font-size:12px;letter-spacing:.19em;text-transform:uppercase;color:var(--green);font-weight:600;line-height:1.7}.hero h1{font-size:clamp(34px,3.8vw,57px);letter-spacing:.12em;line-height:1.6;margin-top:16px;color:var(--blue)}.hero-aside{width:240px;line-height:2.2;font-size:14px;margin-right:35px}.hero-aside strong{font-weight:500;border-bottom:1px solid var(--green);padding-bottom:4px}.hero-art{max-width:1320px;width:100%;margin:-8px auto 0;position:relative}.hero-art img{width:100%;aspect-ratio:16/9;object-fit:contain}.hero-bottom{position:relative;margin:-20px auto 0;display:flex;align-items:center;justify-content:space-between;padding-bottom:42px;border-bottom:1px solid var(--line)}.hero-bottom p{font-size:14px;letter-spacing:.05em}.scroll-hint{font-size:11px;letter-spacing:.14em;color:var(--green);display:flex;gap:16px;align-items:center}.scroll-hint:before{content:'';height:36px;width:1px;background:var(--green);animation:scrollline 2s ease-in-out infinite}.text-link{font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:24px;padding:10px 0}.arrow{display:inline-flex;align-items:center;justify-content:center;background:var(--green);border-radius:50%;width:34px;height:34px;color:white;font-family:Arial;font-size:17px;transition:transform .25s}.text-link:hover .arrow{transform:translateX(5px)}.section{padding:115px 0}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:55px}.section-heading h2{font-size:34px;letter-spacing:.08em;margin-top:10px}.section-heading .en{font-family:Arial,sans-serif;font-size:65px;color:var(--green);line-height:1.1;letter-spacing:-2px;font-weight:400}.intro{text-align:center;padding:120px 0 100px;max-width:750px;margin:auto}.intro h2{font-size:36px;letter-spacing:.15em;line-height:1.9;margin:20px 0 32px}.intro p{font-size:16px;line-height:2.5}.intro p+p{margin-top:20px}.intro .text-link{margin-top:25px}.green{color:var(--green)}.blue{color:var(--blue)}.gap-section{background:var(--pale);border-radius:100px 0 0 0}.gap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:45px}.gap-item{position:relative;padding:0 0 25px}.number{color:var(--green);font-family:Georgia,serif;font-size:18px;display:block;margin-bottom:18px}.gap-item h3{font-size:23px;margin-bottom:18px;line-height:1.75}.gap-item p{font-size:15px;color:#52635d}.gap-note{margin-top:45px;padding-top:26px;border-top:1px solid #c7dacf;font-size:17px;text-align:center}.services-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:start}.service-art{position:sticky;top:60px}.service-art img{width:100%;aspect-ratio:3/2;object-fit:contain}.service-art p{font-size:14px;line-height:2.2;max-width:300px;margin:20px auto 0}.service-list{border-top:1px solid var(--line)}.service-row{display:block;border-bottom:1px solid var(--line);padding:30px 0;position:relative;transition:padding .2s}.service-row:hover{padding-left:12px}.service-row .eyebrow{font-size:11px}.service-row h3{font-size:24px;margin:7px 0 9px;padding-right:40px}.service-row p{font-size:14px;color:var(--muted);padding-right:42px}.service-row .arrow{position:absolute;right:0;top:50%;background:#edf6ef;color:var(--green)}.workshop{background:#edf6ff;border-radius:0 100px 0 0;padding:90px 0}.workshop-inner{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.workshop h2{font-size:35px;line-height:1.8;margin:18px 0 23px;color:var(--blue)}.workshop p{font-size:15px;line-height:2.2}.workshop img{mix-blend-mode:multiply;width:100%;aspect-ratio:3/2;object-fit:contain}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:25px 0}.tag{font-size:12px;border:1px solid #b5cbe1;border-radius:30px;padding:4px 14px;background:#fff}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;background:var(--blue);color:white;padding:17px 25px;border-radius:40px;font-size:14px;font-weight:500;border:none;transition:background .2s,transform .2s}.button:hover{background:#00357e;transform:translateY(-2px)}.button.green-button{background:var(--green)}.button .arrow{background:transparent;width:auto;height:auto}.works-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:50px}.case{border-top:1px solid var(--green);padding-top:26px}.case-stat{font-size:78px;font-family:Arial,sans-serif;font-weight:500;color:var(--blue);line-height:1.2;margin:14px 0}.case-stat small{font-size:29px}.case h3{font-size:22px;margin:18px 0 15px}.case p{font-size:14px;color:var(--muted)}.case .case-name{font-size:12px;margin-top:20px;color:var(--green)}.about-band{border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-top:70px;margin-top:85px}.about-band h2{font-size:30px;margin:14px 0 20px;line-height:1.9}.about-band p{font-size:15px;line-height:2.2}.credentials{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}.credentials span{font-size:12px;border-bottom:1px solid var(--line);padding:4px 0}.closing{text-align:center;background:var(--pale);padding:85px 0 0}.closing>h2,.closing>p{padding-inline:24px}.closing h2{font-size:32px;letter-spacing:.09em;line-height:1.9;margin:15px 0 30px}.closing p{font-size:14px;margin-bottom:30px}.closing-art{position:relative;width:100%;aspect-ratio:2120/452;margin:64px 0 0;overflow:hidden}/* 2172×724 PNG の透明な外周を表示枠から除く。描画範囲 x:24–2143 / y:145–596。 */
.closing-art img{position:absolute;display:block;width:102.452831%;max-width:none;height:auto;left:-1.132075%;top:-32.079646%}.footer{background:#fff;color:var(--ink);padding:64px 0 28px;border-top:1px solid var(--line)}.footer-top{display:grid;grid-template-columns:1fr 1fr;gap:60px}.footer .brand strong,.footer .brand strong span,.footer .brand small{color:var(--ink)}.footer-address{font-size:13px;line-height:2.2;margin-top:24px}.footer-links{display:grid;grid-template-columns:1fr 1fr;align-content:start;gap:15px 28px;font-size:13px}.footer-links a{padding:5px 0;text-underline-offset:5px}.footer a:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.footer-links a:hover{text-decoration:underline}.footer-bottom{display:flex;justify-content:space-between;gap:20px;font-size:11px;border-top:1px solid var(--line);padding-top:24px;margin-top:40px}.page-title{padding:58px 0 60px;border-bottom:1px solid var(--line)}.breadcrumb{font-size:12px;color:var(--muted);margin-bottom:45px}.breadcrumb a{text-decoration:underline;text-underline-offset:5px}.page-title h1{font-size:45px;letter-spacing:.07em;margin-top:18px;color:var(--blue)}.page-title .lead{font-size:18px;max-width:760px;line-height:2.1;margin-top:24px}.article{max-width:820px;margin:auto;padding:70px 0 100px}.article h2{font-size:28px;color:var(--green);margin:60px 0 24px}.article h2:first-child{margin-top:0}.article h3{font-size:21px;margin:28px 0 12px}.article p{margin:0 0 20px;line-height:2.2}.article ul{padding-left:1.4em}.article li{margin:8px 0}.article-image{max-width:660px;margin:0 auto 35px}.fact-table{margin:30px 0}.fact-table>div{display:grid;grid-template-columns:160px 1fr;border-top:1px solid var(--line);padding:20px 0;gap:20px}.fact-table>div:last-child{border-bottom:1px solid var(--line)}.fact-table dt{font-weight:600;color:var(--green)}.fact-table dd{margin:0}.steps{list-style:none;padding:0!important;counter-reset:step}.steps li{counter-increment:step;position:relative;padding:16px 0 26px 62px;border-bottom:1px solid var(--line)}.steps li:before{content:'0' counter(step);position:absolute;left:0;top:18px;color:var(--green);font-family:Georgia,serif;font-size:24px}.steps h3{margin:0 0 10px}.steps p{font-size:15px;margin:0}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{font-weight:500;cursor:pointer;padding-right:10px}.faq details p{margin:18px 0 0;font-size:15px;color:#52635d}.note{padding:20px 25px;border-left:3px solid var(--leaf);background:var(--pale);font-size:14px}.contact-form{margin-top:32px}.field{margin-bottom:25px}.field label{display:block;font-weight:600;font-size:14px;margin-bottom:9px}.required{font-size:11px;color:var(--green);font-weight:400;margin-left:10px}.field input,.field textarea,.field select{width:100%;background:#f8faf8;border:1px solid #cbd9d0;border-radius:5px;padding:13px 15px;min-height:48px;color:var(--ink)}.field textarea{min-height:170px;resize:vertical}.form-status{font-size:14px;margin:20px 0!important;color:var(--green)}.form-help{font-size:13px;color:var(--muted)}.mail-fallback{display:inline-block;margin-top:15px;border-bottom:1px solid var(--green);font-size:14px}.reveal{opacity:1}.js-motion .reveal{opacity:0;transform:translateY(20px);transition:opacity .7s,transform .7s}.js-motion .reveal.visible{opacity:1;transform:none}@keyframes scrollline{0%,100%{transform:scaleY(.65);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}}@media(min-width:1600px){.hero-art{max-width:1350px}.hero-art img{max-height:650px}}@media(max-width:1050px){.desktop-nav{gap:18px}.desktop-nav>a{font-size:12px}.header{padding:0 30px}.header-actions{gap:8px}.hero-aside{margin-right:0;width:210px}.wrap{width:calc(100% - 70px)}.gap-grid{gap:28px}.services-layout{gap:35px}.section-heading .en{font-size:54px}}@media(max-width:800px){.desktop-nav{display:none}.header{height:94px;padding:0 25px}.brand strong{font-size:27px}.brand small{font-size:9px}.menu-toggle{width:48px;height:48px}.header-actions>.contact-nav{padding:10px 16px;font-size:12px}.wrap{width:calc(100% - 48px)}.hero{padding-top:26px}.hero-heading{display:block}.hero h1{font-size:clamp(31px,6vw,44px);margin-top:17px}.hero-aside{width:auto;margin:23px 0 0;font-size:13px;line-height:2}.hero-aside br{display:none}.hero-aside strong{display:none}.hero-art{width:115%;max-width:none;margin:18px -7.5% 0}.hero-bottom{margin:8px auto 0;gap:20px;align-items:flex-start;padding-bottom:28px}.hero-bottom p{font-size:12px;max-width:180px}.scroll-hint{display:none}.hero-bottom .text-link{font-size:12px;padding:0;gap:12px}.hero-bottom .arrow{width:28px;height:28px;flex-shrink:0}.intro{padding:80px 24px}.intro h2{font-size:27px;letter-spacing:.09em}.intro p{font-size:14px;line-height:2.4}.section{padding:75px 0}.section-heading{margin-bottom:35px;gap:20px}.section-heading .en{font-size:43px}.section-heading h2{font-size:25px}.section-heading>.text-link{font-size:12px}.gap-section{border-radius:60px 0 0 0}.gap-grid{grid-template-columns:1fr;gap:25px}.gap-item{padding:0 0 20px 50px;border-bottom:1px solid var(--line)}.gap-item .number{position:absolute;left:0;top:4px}.gap-item h3{font-size:21px;margin-bottom:12px}.gap-item h3 br{display:none}.gap-item p{font-size:14px}.gap-note{margin-top:20px;border:0;padding-top:5px;font-size:15px;text-align:left}.services-layout{grid-template-columns:1fr;gap:25px}.service-art{position:static;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.service-art p{font-size:12px;margin:0}.service-row{padding:25px 0}.service-row h3{font-size:22px}.workshop{border-radius:0 60px 0 0;padding:65px 0}.workshop-inner{grid-template-columns:1fr;gap:25px}.workshop h2{font-size:29px}.workshop img{max-width:500px;margin:auto}.works-grid{gap:30px}.case-stat{font-size:61px}.case h3{font-size:19px}.about-band{gap:35px;margin-top:55px;padding-top:45px}.about-band h2{font-size:25px}.about-band p{font-size:14px}.closing h2{font-size:26px}.closing-art{margin-top:48px}.footer-top{gap:35px}.footer-links{font-size:12px;gap:10px 18px}.footer-bottom{font-size:10px}.page-title{padding:30px 0 45px}.breadcrumb{margin-bottom:25px}.page-title h1{font-size:33px}.page-title .lead{font-size:16px}.article{padding:50px 0 70px}.article h2{font-size:25px}.article p{font-size:15px}.menu-inner{gap:0 35px}.menu-inner>a{font-size:19px}.menu-panel{padding:115px 8% 40px}}@media(max-width:520px){.header{padding:0 20px}.header-actions>.contact-nav{display:none}.hero h1{font-size:32px}.hero-art{width:135%;margin-left:-17.5%;margin-right:-17.5%}.section-heading{align-items:flex-start}.section-heading .en{font-size:39px}.section-heading>.text-link{margin-top:6px;gap:8px}.service-art{display:block}.service-art img{max-width:340px;margin:auto}.service-art p{max-width:none;font-size:14px;margin:15px 0}.works-grid{grid-template-columns:1fr;gap:40px}.case-stat{font-size:72px}.case h3{font-size:22px}.about-band{grid-template-columns:1fr;gap:28px}.closing{padding-top:65px}.closing h2{font-size:clamp(18px,5.2vw,24px);letter-spacing:.04em}.closing-art{margin-top:40px}.footer-top{grid-template-columns:1fr;gap:35px}.footer-bottom{flex-direction:column;gap:10px}.fact-table>div{grid-template-columns:1fr;gap:8px}.page-title h1{font-size:29px}.page-title .lead{font-size:15px}.menu-inner{grid-template-columns:1fr}.menu-inner>a{font-size:20px;display:flex;justify-content:space-between;align-items:center}.menu-inner>a small{font-size:10px}.intro p br{display:none}.gap-note br{display:none}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-motion .reveal{opacity:1;transform:none}}

.brand img{width:235px;height:auto}.footer .brand{display:inline-flex;padding:0;background:none;border-radius:0}.footer .brand small{color:var(--green)}.partner-portrait{width:145px;height:145px;object-fit:cover;border-radius:50%;float:right;margin:0 0 20px 20px}.profile-intro{display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:center;margin-bottom:60px}.profile-intro img{width:220px;height:250px;object-fit:cover;border-radius:100px 100px 8px 8px}.profile-intro h2{margin:12px 0 15px}.profile-intro p{font-size:15px}@media(max-width:1050px){.brand img{width:200px}}@media(max-width:520px){.brand img{width:190px}.profile-intro{grid-template-columns:1fr;gap:25px}.profile-intro img{width:190px;height:210px;margin:auto}.partner-portrait{width:105px;height:105px}}
[hidden]{display:none!important}.hero-art{margin:-28px auto 0;max-width:1200px}.hero-art img{height:auto;max-height:490px;aspect-ratio:3/2;object-fit:contain}.service-art img,.workshop img,.article-image,.closing-art img{height:auto}.hero-bottom{margin:8px auto 0}.article a:not(.button):not(.text-link):not(.service-row){text-decoration:underline;text-underline-offset:4px}@media(max-width:800px){.hero-art{margin:12px auto 0;width:100%}.hero-art img{max-height:none}.hero h1{letter-spacing:.06em}.hero-bottom{margin-top:20px}}@media(max-width:520px){.hero-art{width:120%;margin:10px -10% 0}.hero-art img{max-width:100%}.intro h2{font-size:25px}}

.purpose-chain{list-style:none;padding:0;counter-reset:purpose;margin:35px 0}.purpose-chain li{counter-increment:purpose;padding:22px 20px 22px 65px;position:relative;border-top:1px solid var(--line)}.purpose-chain li:before{content:"0" counter(purpose);position:absolute;left:12px;top:20px;font-family:Georgia,serif;color:var(--green);font-size:22px}.purpose-chain strong{font-weight:600;font-size:18px}.purpose-chain p{font-size:14px;margin:10px 0 0}
@media(max-width:520px){.hero h1{font-size:26px;letter-spacing:.035em;line-height:1.8}.eyebrow{letter-spacing:.12em}.hero .eyebrow{font-size:10px}.hero-bottom p{max-width:165px}.hero-bottom .text-link{max-width:155px;line-height:1.8}}
.article-image{width:100%;height:auto}
.profile-illustration img{height:auto;aspect-ratio:1;object-fit:contain;border-radius:48% 52% 46% 54% / 44% 46% 54% 56%}

/* Contact: existing brand palette, calm inline feedback. */
.contact-promise{border-left:4px solid var(--green);padding:22px 26px;background:var(--pale);margin:24px 0 32px}.contact-promise strong{color:var(--green)}.article .contact-promise p{margin:12px 0 0}.field-error{display:block;min-height:1.5em;font-size:13px;color:#a52b2b}.contact-form [aria-invalid=true]{border-color:#a52b2b}.contact-form textarea{resize:none;min-height:180px}.meeting-fields{border:1px solid var(--line);padding:24px;margin:0 0 28px;min-width:0}.meeting-fields[hidden]{display:none}.meeting-fields legend{font-weight:700;color:var(--green);padding:0 10px}.slots-retry{background:white;border:1px solid var(--green);border-radius:5px;padding:10px 14px;margin-bottom:20px}.contact-form button:disabled{cursor:wait;opacity:.65}.contact-form select{max-width:100%}.contact-form .form-status{min-height:3em}.contact-form [aria-busy=true]{cursor:progress}@media(max-width:520px){.contact-promise{padding:18px}.meeting-fields{padding:18px}}

.left-hand-lead{margin:0 0 56px;padding:30px 32px;background:var(--pale);border-radius:22px}.left-hand-lead h2{margin:6px 0 10px;font-size:24px;line-height:1.7}.left-hand-lead p:not(.eyebrow){margin:0 0 6px}
@media(max-width:640px){.left-hand-lead{padding:24px 20px}.left-hand-lead h2{font-size:20px}}
