:root{
  --ink:#2e4650; --teal:#0a8d85; --teal2:#1eb2c7; --pink:#f39aaa; --green:#93d0a0;
  --bg:#d8d8d8; --paper:rgba(255,255,255,.88); --line:#d7e3df; --muted:#64777b;
  --shadow:0 20px 50px rgba(36,65,70,.14); --radius:18px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth;width:100%;overflow-x:hidden} body{margin:0;width:100%;overflow-x:hidden;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;line-height:1.85;background:var(--bg);background-image:radial-gradient(circle at 6% 16%,rgba(35,178,199,.45),transparent 22%),radial-gradient(circle at 93% 10%,rgba(243,154,170,.32),transparent 24%),radial-gradient(circle at 84% 78%,rgba(35,178,199,.28),transparent 26%),radial-gradient(circle at 18% 84%,rgba(147,208,160,.24),transparent 24%);background-attachment:fixed}a{color:inherit}.page-wrap{width:min(1180px,calc(100% - 48px));margin:auto}.narrow{width:min(920px,calc(100% - 48px))}.center{text-align:center}.section-panel{padding:64px 0;width:100%;max-width:100%;overflow:hidden}.global-header{position:sticky;top:0;z-index:20;display:flex;gap:20px;align-items:center;justify-content:space-between;padding:12px clamp(18px,4vw,54px);background:rgba(240,240,240,.85);backdrop-filter:blur(14px);border-bottom:1px solid rgba(255,255,255,.55)}.header-logo img{width:280px;max-width:48vw;display:block}.global-nav{display:flex;gap:14px;align-items:center;font-size:11px;font-weight:800;letter-spacing:.08em}.global-nav a{text-decoration:none;color:#52656a;white-space:nowrap}.global-nav a:hover{color:var(--teal)}.menu-button{display:none;border:1px solid var(--teal);background:white;color:var(--teal);border-radius:999px;padding:7px 14px;font-weight:800}.hero{padding-top:46px}.hero-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}.hero-main{position:relative}.hero-logo{width:min(650px,100%);margin:0 0 36px;display:block}.label,.section-en{font-size:12px;font-weight:900;letter-spacing:.16em;color:var(--teal);margin:0 0 10px}.hero h1{font-size:clamp(40px,6.2vw,78px);line-height:1.18;letter-spacing:.04em;margin:0 0 26px;font-weight:800}.hero-line{display:block;white-space:nowrap}.lead{font-size:17px;max-width:680px}.pill-link,.more-button,.submit-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border:0;border-radius:999px;background:var(--teal);color:white;font-weight:800;padding:12px 28px;box-shadow:0 12px 26px rgba(10,141,133,.22);cursor:pointer}.overview-box{background:var(--paper);border-radius:var(--radius);box-shadow:var(--shadow);padding:28px;border:1px solid rgba(255,255,255,.75)}.overview-row{border-top:1px solid var(--line);padding:18px 0}.overview-row h2{margin:0 0 5px;font-size:22px}.overview-row p{margin:0;color:#53686b}.section-title{margin-bottom:30px}.section-title h2,.intention-layout h2,.contact-layout h2,.narrow h2{font-size:clamp(30px,4vw,50px);line-height:1.25;margin:0 0 12px}.row-title{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}.edit-note{font-size:12px;color:var(--muted);margin:0}.news-list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.news-card{background:var(--paper);border-radius:16px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.8);padding:20px;min-height:210px;text-decoration:none;display:flex;flex-direction:column}.news-card time{color:var(--teal);font-weight:900;font-size:14px}.news-card h3{font-size:18px;line-height:1.55;margin:10px 0}.news-card p{font-size:13px;color:var(--muted);margin:auto 0 0}.tag{display:inline-block;align-self:flex-start;font-size:11px;color:var(--teal);border:1px solid rgba(10,141,133,.25);border-radius:999px;padding:2px 9px;margin-top:8px;background:#eef8f5}.more-button{margin:24px auto 0;display:flex;background:#253f45}.thought-copy,.closing-copy{max-width:980px;margin:0 auto 26px;text-align:center}.fudo-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:16px;align-items:center}.fudo-flow article{background:var(--paper);border-radius:14px;border:1px solid rgba(255,255,255,.78);box-shadow:var(--shadow);padding:22px;text-align:center}.fudo-flow span{display:block;font-size:42px;font-weight:900}.fudo-flow article:nth-child(1) span{color:var(--pink)}.fudo-flow article:nth-child(3) span{color:var(--teal2)}.fudo-flow article:nth-child(5) span{color:var(--green)}.fudo-flow strong{font-size:32px}.intention-layout,.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:start}.intention-cards{display:grid;gap:14px}.intention-cards article,.mini-box,.process-box,.plan-grid>div,.points>div,.message-card,.contact-form,.office{background:var(--paper);border-radius:16px;border:1px solid rgba(255,255,255,.8);box-shadow:var(--shadow)}.intention-cards article{padding:20px}.intention-cards h3{margin:0 0 8px;color:var(--teal)}.themes-bg{background:rgba(255,255,255,.18)}.theme-stack{display:grid;gap:22px}.theme-card{background:rgba(255,255,255,.9);border-radius:20px;padding:28px;box-shadow:var(--shadow);border:1px solid rgba(255,255,255,.8)}.theme-head{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:end;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.theme-head span{font-size:48px;line-height:1;font-weight:900;color:var(--teal)}.theme-head p{margin:0;color:var(--teal);font-size:11px;letter-spacing:.16em;font-weight:900}.theme-head h3{margin:0;font-size:clamp(24px,3vw,36px);line-height:1.25}.theme-lead{font-weight:700;margin-bottom:18px}.theme-columns{display:grid;grid-template-columns:1fr 1fr;gap:16px}.with-center{grid-template-columns:1fr 260px 1fr}.mini-box{padding:18px}.mini-box h4{margin:0 0 10px}.mini-box ul,.plan-grid ul,.process-box ol{margin:0;padding-left:1.3em}.mini-box li,.plan-grid li,.process-box li{margin:.25em 0}.pink{background:rgba(252,232,236,.92)}.blue{background:rgba(230,248,250,.92)}.green{background:rgba(234,248,238,.92)}.remote-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.process-box{padding:18px;background:rgba(255,255,255,.75)}.process-box ol{counter-reset:step;list-style:none;padding-left:0}.process-box li{background:white;border:1px solid var(--line);border-radius:999px;margin:8px 0;padding:6px 12px}.center-phrase{border-radius:18px;background:linear-gradient(135deg,rgba(243,154,170,.28),rgba(30,178,199,.24));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:18px;min-height:200px}.center-phrase strong{font-size:24px;line-height:1.5}.center-phrase em{font-style:normal;margin-top:10px;color:var(--teal);font-weight:800}.education-grid{display:grid;grid-template-columns:1fr 1.2fr 1fr;gap:14px}.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}.plan-grid>div{padding:14px;background:rgba(255,255,255,.74);font-size:13px}.plan-grid b{display:inline-block;color:var(--teal);margin-bottom:4px}.points{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:26px 0}.points>div{padding:20px}.points b{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--teal);color:white}.catch-copy{font-size:28px;font-weight:900;color:var(--teal);margin-top:18px}.message-list{display:grid;grid-template-columns:1fr 1fr;gap:20px}.message-card{padding:24px}.message-name{display:flex;gap:18px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:18px}.founder-photo{flex:0 0 104px;width:104px;height:104px;border-radius:50%;padding:4px;background:linear-gradient(135deg,var(--pink),var(--teal2) 52%,var(--green));box-shadow:0 10px 24px rgba(34,60,68,.18)}.founder-photo img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;background:#fff}.founder-photo.placeholder{display:grid;place-items:center;color:white;font-weight:900;font-size:20px}.message-name p{margin:0}.contact-bg{background:linear-gradient(135deg,rgba(10,141,133,.12),rgba(243,154,170,.18))}.contact-only{display:block;max-width:920px}.office{padding:18px;border-left:7px solid var(--teal);margin-top:22px}.contact-office{font-size:18px;line-height:2}.contact-form{padding:24px}.contact-form label{display:block;font-weight:800;margin-bottom:14px}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:6px;border:1px solid #c9d8d4;border-radius:3px;background:white;padding:10px 12px;font:inherit}.contact-form input:focus,.contact-form textarea:focus{outline:3px solid rgba(10,141,133,.18);border-color:var(--teal)}.honeypot{position:absolute;left:-9999px}.form-status{font-weight:800;color:var(--teal)}.submit-button{width:100%;border-radius:3px;background:#20383d}.form-note{font-size:12px;color:var(--muted)}.footer{padding:30px 0;background:rgba(255,255,255,.75)}.footer .page-wrap{display:flex;justify-content:space-between;align-items:center}.footer img{width:300px;max-width:62vw}.footer a{font-weight:900;text-decoration:none;color:var(--teal)}
@media(max-width:980px){.menu-button{display:inline-flex}.global-nav{display:none;position:absolute;top:66px;left:0;right:0;background:rgba(255,255,255,.96);padding:18px 28px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.global-nav.open{display:flex}.hero-layout,.intention-layout,.contact-layout,.message-list{grid-template-columns:1fr}.news-list{grid-template-columns:repeat(2,1fr)}.remote-grid,.education-grid,.plan-grid,.points{grid-template-columns:1fr 1fr}.with-center{grid-template-columns:1fr}.center-phrase{min-height:auto}.hero-logo{width:520px}.header-logo img{width:230px}.row-title{display:block}.fudo-flow{grid-template-columns:1fr}.fudo-flow strong{display:none}}
@media(max-width:640px){.page-wrap,.narrow{width:calc(100% - 32px)}.section-panel{padding:48px 0}.theme-card{padding:20px}.theme-head{grid-template-columns:1fr}.theme-columns,.remote-grid,.education-grid,.plan-grid,.points,.news-list{grid-template-columns:1fr}.hero h1{font-size:38px}.global-header{padding:10px 16px}.header-logo img{width:210px}.pill-link{width:100%}.footer .page-wrap{display:grid;gap:12px}.theme-head span{font-size:42px}}

/* 2026-05 mobile width fix: prevent the hero/overview area from creating a wider layout than later sections */
img,svg,video,canvas{max-width:100%;height:auto}
.page-wrap,.narrow,.global-header,.section-panel{min-width:0}
.hero-layout,.hero-main,.overview-box{min-width:0;max-width:100%}
.hero-main > *{max-width:100%}
.hero-logo{height:auto;max-width:100%;object-fit:contain}

@media(max-width:980px){
  .hero-layout{display:flex;flex-direction:column;gap:24px;align-items:stretch;width:100%;max-width:100%}
  .hero-main,.overview-box{width:100%;max-width:100%}
}

@media(max-width:640px){
  html,body{max-width:100%;overflow-x:hidden}
  .page-wrap,.narrow{width:calc(100vw - 32px);max-width:calc(100vw - 32px);margin-left:auto;margin-right:auto}
  .hero{padding-top:26px}
  .hero-logo{width:100%;max-width:100%;margin-bottom:22px}
  .hero h1{font-size:clamp(30px,8.8vw,38px);line-height:1.22;word-break:keep-all;overflow-wrap:normal}.hero-line{white-space:nowrap}
  .lead{font-size:14px;line-height:1.85;overflow-wrap:anywhere}
  .overview-box{padding:20px}
  .overview-row h2{font-size:18px}
  .overview-row p{font-size:13px}
}


/* 2026-05 hero copy fix: keep the main headline from overlapping the overview card */
.hero-main{overflow:visible}
.hero h1{max-width:100%;}
@media(min-width:981px){
  .hero h1{font-size:clamp(46px,5.2vw,70px);}
}
@media(min-width:1180px){
  .hero h1{font-size:70px;}
}
