:root{--ink:#23262b;--ink-soft:#4d525a;--muted:#80858d;--line:#e4ded3;--bg:#fff;--paper:#faf7f1;--paper-deep:#f2ece1;--navy:#1f2d44;--navy-soft:#33445f;--sky:#5aa9d6;--green:#5f8f6e;--gold:#b48a4e;--radius:18px;--shadow:0 14px 40px #1f2d4417;--font:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif;--serif:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;--en:"Cormorant Garamond", var(--serif)}.lang-zh-hant{--font:"Noto Sans TC", "PingFang TC", "Microsoft JhengHei", "Noto Sans JP", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{font-family:var(--font);color:var(--ink);background:var(--bg);letter-spacing:.04em;-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.95;overflow-x:hidden}.lang-en{letter-spacing:.01em;line-height:1.75}img{max-width:100%;display:block}a{color:inherit}h1,h2,h3{letter-spacing:.06em;word-break:auto-phrase;text-wrap:balance;margin:0;line-height:1.5}.lang-en h1,.lang-en h2,.lang-en h3{letter-spacing:.01em;line-height:1.3}p{word-break:auto-phrase;margin:0 0 1em}.wrap{width:min(1160px,100% - 32px);margin-inline:auto}.narrow{width:min(820px,100% - 32px);margin-inline:auto}.draft-bar{z-index:60;color:#6b5212;text-align:center;background:#fff4d6;padding:6px 12px;font-size:12px;line-height:1.6;position:relative}.site-header{z-index:50;backdrop-filter:blur(10px);background:#ffffffeb;border-bottom:1px solid #0000;transition:border-color .3s,box-shadow .3s;position:sticky;top:0}.site-header.scrolled{border-color:var(--line);box-shadow:0 4px 20px #0000000a}.site-header .bar{align-items:center;gap:20px;height:72px;display:flex}.brand{color:var(--ink);flex-shrink:0;align-items:center;gap:12px;text-decoration:none;display:flex}.brand img{width:96px;height:auto}.brand span{letter-spacing:.12em;color:var(--ink-soft);border-left:1px solid var(--line);white-space:nowrap;padding-left:12px;font-size:13px;font-weight:500}.nav{align-items:center;gap:16px;margin-left:auto;font-size:13.5px;display:flex}.nav>a{color:var(--ink-soft);white-space:nowrap;text-decoration:none}.nav>a:hover{color:var(--navy)}.langs{order:9;align-items:center;gap:0;font-size:12px;display:flex}.langs a{color:var(--muted);border-left:1px solid var(--line);white-space:nowrap;padding:2px 8px;line-height:1.4;text-decoration:none}.langs a:first-child{border-left:0}.langs a[aria-current]{color:var(--ink);text-underline-offset:4px;font-weight:700;text-decoration:underline}.btn-contact{background:var(--navy);border-radius:999px;padding:9px 18px;font-weight:500;color:#fff!important}.btn-contact:hover{background:var(--navy-soft)}.menu-toggle{cursor:pointer;background:0 0;border:0;width:44px;height:44px;margin-left:auto;display:none;position:relative}.menu-toggle span{background:var(--ink);width:22px;height:2px;transition:all .3s;position:absolute;left:11px}.menu-toggle span:first-child{top:15px}.menu-toggle span:nth-child(2){top:21px}.menu-toggle span:nth-child(3){top:27px}.site-header.open .menu-toggle span:first-child{top:21px;transform:rotate(45deg)}.site-header.open .menu-toggle span:nth-child(2){opacity:0}.site-header.open .menu-toggle span:nth-child(3){top:21px;transform:rotate(-45deg)}@media (width<=1280px){.menu-toggle{display:block}.nav{background:#fff;flex-direction:column;align-items:stretch;gap:0;max-height:calc(100vh - 72px);padding:8px 20px 24px;display:none;position:fixed;inset:72px 0 auto;overflow-y:auto;box-shadow:0 20px 30px #00000014}.site-header.open .nav{display:flex}.nav>a{border-bottom:1px solid var(--line);padding:14px 4px;font-size:15px}.langs{border-bottom:1px solid var(--line);order:-1;padding:10px 0 12px;font-size:14px}.langs a:first-child{padding-left:4px}.btn-contact{text-align:center;margin-top:16px;border-bottom:0!important}}@media (width<=520px){.brand img{width:78px}.brand span{padding-left:10px;font-size:11px}}section{padding:110px 0}.sec-paper{background:var(--paper)}.sec-navy{background:var(--navy);color:#fff}.kicker{font-family:var(--en);letter-spacing:.25em;color:var(--gold);text-transform:uppercase;align-items:center;gap:12px;margin-bottom:14px;font-size:15px;font-weight:600;display:flex}.kicker:before{content:"";background:currentColor;width:28px;height:1px}.sec-title{font-family:var(--serif);margin-bottom:26px;font-size:clamp(25px,3.3vw,38px);font-weight:500}.lang-zh-hant .sec-title,.lang-zh-hant .hero h1{font-family:var(--font);font-weight:700}.lead{color:var(--ink-soft);max-width:760px;font-size:17px}.sec-navy .lead{color:#ffffffd1}.src{color:var(--muted);font-size:12px;line-height:1.6}.sec-navy .src{color:#ffffff8c}.badge{letter-spacing:.1em;color:#7a5a10;vertical-align:middle;background:#fff4d6;border:1px solid #ecd9a3;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:700;display:inline-block}.btn{letter-spacing:.08em;border-radius:999px;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:15px 30px;font-weight:500;text-decoration:none;transition:all .25s;display:inline-flex}.btn-primary{background:var(--navy);color:#fff}.btn-primary:hover{background:var(--navy-soft)}.btn-ghost{border:1px solid}.btn-ghost:hover{background:#ffffff1a}.btn[aria-disabled=true]{color:#8d8a84;cursor:not-allowed;background:#e9e6e0;border:1px dashed #c8c2b7}.reveal{opacity:0;transition:opacity .9s,transform .9s;transform:translateY(24px)}.reveal.in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}}.photo-ph{border-radius:var(--radius);color:#9b927f;text-align:center;background:repeating-linear-gradient(45deg,#efe9de,#efe9de 12px,#f6f2ea 12px 24px);place-items:center;min-height:220px;padding:20px;font-size:13px;display:grid;position:relative}.photo-ph:before{content:"PHOTO";font-family:var(--en);letter-spacing:.2em;font-size:12px;position:absolute;top:12px;left:16px}.hero{color:#fff;align-items:flex-end;min-height:min(88vh,820px);padding:0 0 80px;display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg img{object-fit:cover;width:100%;height:100%}.hero-bg:after{content:"";background:linear-gradient(#141c2a26 0%,#141c2a59 45%,#141c2ad1 100%);position:absolute;inset:0}.hero .wrap{position:relative}.hero .eyebrow{font-family:var(--en);letter-spacing:.3em;opacity:.9;margin-bottom:18px;font-size:15px}.hero h1{font-family:var(--serif);margin-bottom:26px;font-size:clamp(34px,6vw,68px);font-weight:500;line-height:1.35}.hero .hero-lead{opacity:.92;max-width:680px;font-size:clamp(15px,1.6vw,18px)}.hero .actions{flex-wrap:wrap;gap:14px;margin-top:34px;display:flex}.hero .btn-primary{color:var(--navy);background:#fff}.hero .btn-primary:hover{background:var(--paper)}.hero .btn-ghost{color:#fff}.purpose-grid{grid-template-columns:1.1fr .9fr;align-items:center;gap:70px;display:grid}.purpose-quote{font-family:var(--serif);border-left:3px solid var(--gold);margin:0 0 28px;padding-left:24px;font-size:clamp(21px,2.4vw,28px);line-height:1.8}.lang-zh-hant .purpose-quote{font-family:var(--font)}.purpose-photo{position:relative}.purpose-photo img{border-radius:var(--radius);aspect-ratio:4/5;object-fit:cover;width:100%}.purpose-photo figcaption{color:var(--muted);margin-top:12px;font-size:13px}.values{grid-template-columns:repeat(3,1fr);gap:20px;margin-top:70px;display:grid}.value{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:30px 28px}.value .n{font-family:var(--en);color:var(--gold);font-size:34px;line-height:1}.value h3{margin:12px 0 10px;font-size:18px}.value p{color:var(--ink-soft);margin:0;font-size:14.5px}.issue-stats{background:var(--line);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:repeat(3,1fr);gap:1px;margin:44px 0 20px;display:grid;overflow:hidden}.issue-stats>div{background:#fff;padding:34px 28px}.issue-stats .v{font-family:var(--en);color:var(--navy);font-size:clamp(40px,5vw,58px);font-weight:600;line-height:1}.issue-stats .v small{font-family:var(--font);margin-left:4px;font-size:16px;font-weight:500}.issue-stats .l{margin-top:12px;font-size:15px}.issue-stats .src{margin-top:10px}.voices{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;display:grid}.voice{background:var(--paper);border-radius:var(--radius);padding:24px;font-size:15px;position:relative}.voice:before{content:"“";font-family:var(--en);color:var(--gold);margin-right:4px;font-size:54px;line-height:0;position:relative;top:22px}.mm-head{flex-wrap:wrap;align-items:center;gap:22px;margin-bottom:18px;display:flex}.mm-head img{width:min(320px,70vw);height:auto}.mm-grid{grid-template-columns:repeat(2,1fr);gap:22px;margin-top:46px;display:grid}.mm-card{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;grid-template-columns:56px 1fr;gap:18px;padding:32px;display:grid}.mm-card .ic{background:var(--paper-deep);width:56px;height:56px;font-family:var(--en);color:var(--navy);border-radius:50%;place-items:center;font-size:22px;font-weight:600;display:grid}.mm-card h3{margin-bottom:8px;font-size:18px}.mm-card p{color:var(--ink-soft);margin:0;font-size:15px}.mm-for{flex-wrap:wrap;gap:10px;margin-top:46px;display:flex}.mm-for span{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 18px;font-size:14px}.model{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:26px;margin-top:50px;display:grid}.co-card{border-radius:var(--radius);background:#ffffff0f;border:1px solid #ffffff29;padding:36px 32px}.co-card .tag{font-family:var(--en);letter-spacing:.2em;color:#d8bf92;font-size:13px}.co-card h3{margin:6px 0 4px;font-size:22px}.co-card .role{opacity:.75;margin-bottom:18px;font-size:14px}.co-card ul{margin:0;padding:0;list-style:none}.co-card li{border-top:1px solid #ffffff1f;padding:10px 0 10px 22px;font-size:15px;position:relative}.co-card li:before{content:"";background:#d8bf92;border-radius:50%;width:8px;height:8px;position:absolute;top:21px;left:2px}.model-center{text-align:center;place-items:center;display:grid}.model-center .resident{width:150px;height:150px;color:var(--navy);background:#fff;border-radius:50%;place-items:center;padding:16px;font-size:16px;font-weight:700;line-height:1.5;display:grid;box-shadow:0 0 0 10px #ffffff14,0 0 0 22px #ffffff0a}.model-center .arrows{opacity:.7;max-width:170px;margin-top:30px;font-size:13px}.flow{counter-reset:f;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:60px;display:grid}.flow li{color:var(--ink);counter-increment:f;background:#fffffff2;border-radius:14px;padding:22px 18px;font-size:14px;list-style:none;position:relative}.flow li:before{content:counter(f, decimal-leading-zero);font-family:var(--en);color:var(--gold);font-size:22px;font-weight:600;display:block}.flow li strong{color:var(--navy);margin:4px 0 6px;font-size:15.5px;display:block}.flow{padding:0}.principle{border-radius:var(--radius);background:#d8bf921f;border:1px solid #d8bf9266;margin-top:50px;padding:32px 36px}.principle h3{color:#f0dcb5;margin-bottom:10px;font-size:19px}.principle p{opacity:.9;margin:0}.eco{border-radius:var(--radius);background:#fff;margin-top:50px;padding:18px}.eco img{width:100%;height:auto}.eco figcaption{color:var(--ink-soft);padding:10px 6px 0;font-size:13px}.stats{grid-template-columns:repeat(4,1fr);gap:20px;margin-top:44px;display:grid}.stat{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:30px 24px}.stat .v{font-family:var(--en);color:var(--navy);font-size:clamp(38px,4vw,52px);font-weight:600;line-height:1}.stat .v .pre,.issue-stats .v .pre{font-family:var(--font);margin-right:2px;font-size:.55em;font-weight:500}.stat .v small{font-family:var(--font);margin-left:4px;font-size:15px;font-weight:500}.stat .l{margin-top:12px;font-size:15px;font-weight:500}.stat .src{margin-top:10px}.photo-row{grid-template-columns:2fr 1fr 1fr;gap:16px;margin-top:50px;display:grid}.photo-row img{object-fit:cover;border-radius:var(--radius);width:100%;height:280px}.impact{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);gap:0;margin-top:40px;display:grid}.impact>div{border-bottom:1px solid var(--line);padding:30px 30px 30px 0}.impact>div:nth-child(odd){border-right:1px solid var(--line)}.impact>div:nth-child(2n){padding-left:30px}.impact .who{font-family:var(--en);color:var(--gold);letter-spacing:.15em;text-transform:uppercase;font-size:14px;font-weight:600}.impact h3{margin:6px 0 8px;font-size:19px}.impact p{color:var(--ink-soft);margin:0;font-size:15px}.timeline{margin-top:46px;padding-left:34px;position:relative}.timeline:before{content:"";background:linear-gradient(var(--gold), var(--line));width:2px;position:absolute;top:8px;bottom:8px;left:8px}.tl{padding-bottom:34px;position:relative}.tl:before{content:"";border:3px solid var(--gold);background:#fff;border-radius:50%;width:16px;height:16px;position:absolute;top:8px;left:-32px}.tl.done:before{background:var(--gold)}.tl .when{color:var(--gold);letter-spacing:.1em;font-size:13px;font-weight:700}.tl h3{margin:4px 0 6px;font-size:19px}.tl p{color:var(--ink-soft);margin:0;font-size:15px}.cf{grid-template-columns:1fr 1fr;align-items:center;gap:50px;display:grid}.cf-box{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:34px}.cf-box h3{margin:14px 0 6px;font-size:18px}.meter{background:var(--paper-deep);border-radius:999px;height:10px;margin:18px 0 8px;overflow:hidden}.meter i{background:linear-gradient(90deg, var(--gold), #d8bf92);width:0;height:100%;display:block}.cf-nums{color:var(--muted);justify-content:space-between;font-size:13px;display:flex}.cf-box .btn{width:100%;margin-top:22px}.cf-langs{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.cf-langs span{border:1px solid var(--line);color:var(--ink-soft);border-radius:999px;padding:3px 12px;font-size:12px}.contact-grid{grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px;display:grid}.contact-grid>div{border-radius:var(--radius);background:#ffffff0f;border:1px solid #ffffff29;padding:28px}.contact-grid h3{color:#f0dcb5;margin-bottom:8px;font-size:17px}.contact-grid p{opacity:.88;margin:0;font-size:14.5px}.contact-actions{flex-wrap:wrap;align-items:center;gap:14px;margin-top:40px;display:flex}.contact-actions .btn-primary{color:var(--navy);background:#fff}.contact-actions .tel{font-family:var(--en);letter-spacing:.05em;font-size:28px;text-decoration:none}.line-box{border-radius:var(--radius);background:#ffffff14;align-items:center;gap:22px;margin-top:26px;padding:20px 24px;display:flex}.line-box img{background:#fff;border-radius:8px;width:120px;padding:6px}.line-box p{opacity:.8;margin:10px 0 0;font-size:13px}.btn-line{color:#fff;background:#06c755;border-color:#06c755}@media (width<=700px){.line-box img{display:none}.line-box{padding:16px}.btn-line{width:100%}}.contact-actions .mail{letter-spacing:.03em;font-size:18px;text-decoration:none}.contact-actions .mail small{opacity:.7;margin-left:8px;font-size:13px}.contact-actions .tel small{font-family:var(--font);opacity:.7;letter-spacing:.04em;margin-left:8px;font-size:13px}.legal{opacity:.65;border-top:1px solid #ffffff24;margin-top:36px;padding-top:20px;font-size:12.5px;line-height:1.8}.cos{grid-template-columns:repeat(2,1fr);gap:24px;margin-top:40px;display:grid}.co{border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:32px}.co h3{margin-bottom:4px;font-size:20px}.co .sub{color:var(--muted);margin-bottom:14px;font-size:13px}.co dl{grid-template-columns:110px 1fr;margin:0;font-size:14.5px;display:grid}.lang-en .co dl{grid-template-columns:130px 1fr}.co dt,.co dd{border-top:1px solid var(--line);margin:0;padding:10px 0}.co dt{color:var(--muted)}.co a{color:var(--navy)}.ceo{grid-template-columns:220px 1fr;align-items:center;gap:36px;margin-top:50px;display:grid}.ceo img{border-radius:var(--radius);aspect-ratio:1;object-fit:cover;object-position:top;width:100%}.ceo .name{font-family:var(--serif);margin:6px 0 12px;font-size:22px}.ceo p{color:var(--ink-soft);font-size:15px}.site-footer{color:#ffffffd9;background:#15202f;padding:70px 0 30px;font-size:14px}.foot-grid{grid-template-columns:1fr 1.4fr;gap:50px;display:grid}.foot-logo{width:130px;height:auto;margin-bottom:18px}.foot-purpose{opacity:.8;max-width:380px}.foot-cos{grid-template-columns:1fr 1fr;gap:24px;display:grid}.foot-cos div{flex-direction:column;gap:4px;display:flex}.foot-cos strong{color:#fff;font-size:15px}.foot-cos span{opacity:.7;font-size:13px}.foot-cos a{color:#d8bf92;font-size:13px}.foot-bottom{border-top:1px solid #ffffff1f;justify-content:space-between;align-items:flex-end;gap:30px;margin-top:50px;padding-top:22px;display:flex}.foot-bottom p{opacity:.55;max-width:760px;margin:0;font-size:12px;line-height:1.8}.foot-bottom small{opacity:.55;white-space:nowrap}@media (width<=960px){section{padding:80px 0}.purpose-grid,.cf{grid-template-columns:1fr;gap:40px}.purpose-photo img{aspect-ratio:4/3}.values,.voices,.contact-grid,.issue-stats,.mm-grid,.cos,.impact{grid-template-columns:1fr}.impact>div,.impact>div:nth-child(2n){padding:24px 0;border-right:0!important}.model{grid-template-columns:1fr}.model-center .arrows{max-width:none;margin-top:18px}.flow,.stats,.photo-row{grid-template-columns:1fr 1fr}.photo-row>:first-child{grid-column:1/-1}.photo-row img{height:200px}.ceo{grid-template-columns:1fr}.ceo img{max-width:240px}.foot-grid,.foot-cos{grid-template-columns:1fr}.foot-bottom{flex-direction:column;align-items:flex-start}}@media (width<=520px){.hero{min-height:86vh;padding-bottom:56px}.hero .btn{width:100%}.flow,.stats{grid-template-columns:1fr}.mm-card{grid-template-columns:1fr;padding:26px}.co{padding:24px}.co dl{grid-template-columns:1fr}.co dt{border-top:1px solid var(--line);padding-bottom:0}.co dd{border-top:0;padding-top:2px}.cf-box{padding:26px}}.lang-note{opacity:.8;margin-top:18px;font-size:14px}.lang-zh-hans{--font:"Noto Sans SC", "PingFang SC", "Microsoft YaHei", "Noto Sans JP", sans-serif}.lang-zh-hans .sec-title,.lang-zh-hans .hero h1,.lang-zh-hans .purpose-quote{font-family:var(--font);font-weight:700}.mm.lang-zh-hans h1,.mm.lang-zh-hans h2,.mm.lang-zh-hans h3{font-family:var(--font)}.mm-hero-img,.mm-band,.bk-photo{position:relative}.img-note{z-index:2;color:#fff;letter-spacing:.05em;pointer-events:none;background:#0000008c;border-radius:4px;padding:2px 8px;font-size:11px;line-height:1.5;position:absolute;bottom:10px;right:10px}.hero-bg .img-note{bottom:16px;right:16px}.mm-hero-img .img-note{top:14px;bottom:auto;right:14px}.mm-band{margin:30px 0 0}.mm-band img{object-fit:cover;border-radius:24px;width:100%;height:300px}.bk-photo img.noimg{opacity:.55}@media (width<=600px){.mm-band img{height:200px}}
