:root{--ink:#2b2b2b;--muted:#666;--cream:#f7f4ed;--pale:#dceff4;--teal:#4d8991;--dark:#295c63;--line:#d3d8d8;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif;line-height:1.8;background:#fff}body>main{min-height:50vh}img{max-width:100%;height:auto}a{color:inherit}.wrap{width:min(1180px,calc(100% - 48px));margin-inline:auto}.section{padding-block:88px}.site-header{background:#fff;position:relative;z-index:30}.header-main{height:96px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;width:168px;height:82px}.brand img{object-fit:contain}.header-address{text-align:right;font-size:12px;line-height:1.5;color:var(--muted)}.header-address span{font-size:14px;color:var(--dark);font-weight:700}.desktop-nav{background:var(--teal);color:#fff}.nav-inner{height:54px;max-width:1180px;margin:auto;display:flex;position:relative}.nav-inner>a{flex:1 1;display:grid;place-items:center;text-decoration:none;font-size:14px;letter-spacing:.04em;border-left:1px solid rgba(255,255,255,.2);position:relative}.nav-inner>a:last-of-type{border-right:1px solid rgba(255,255,255,.2)}.nav-inner>a.active,.nav-inner>a:hover{background:rgba(0,0,0,.1)}.nav-inner>a.active:after{content:"";position:absolute;bottom:0;left:20%;right:20%;height:3px;background:#fff}.menu-backdrop,.menu-button{display:none}.home-hero{height:590px;position:relative;overflow:hidden}.home-hero>img{object-fit:cover;object-position:center 47%}.home-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,56,58,.45),transparent 62%)}.hero-copy{position:absolute;z-index:1;left:max(24px,calc((100% - 1180px)/2));top:50%;transform:translateY(-50%);color:#fff;text-shadow:0 1px 5px rgba(0,0,0,.35)}.hero-copy p{font-family:var(--serif);font-size:clamp(32px,4vw,54px);letter-spacing:.08em;margin:0 0 20px}.hero-copy span{font-size:17px;line-height:2}.eyebrow{color:var(--teal);font-size:12px;letter-spacing:.18em;font-weight:700}.intro{max-width:850px;text-align:center}.intro h1,.page-hero h1,.section h2{font-family:var(--serif);font-weight:500;letter-spacing:.06em}.intro h1{font-size:34px;margin:10px}.intro p{max-width:760px;margin:20px auto 34px}.more-link{display:inline-flex;gap:32px;align-items:center;color:var(--dark);font-weight:700;text-decoration:none;border-bottom:1px solid var(--teal);padding:5px 2px}.activities-home{background:var(--cream)}.section-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:36px}.section-head h2{font-size:32px;margin:6px 0}.home-activity-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:30px;gap:30px}.home-activity-grid article{background:#fff}.home-activity-grid h3,.home-activity-grid p{margin-inline:20px}.home-activity-grid h3{font-family:var(--serif);font-size:22px;margin-bottom:8px}.home-activity-grid p{font-size:14px;color:var(--muted);margin-bottom:24px}.activity-image{height:250px;position:relative;overflow:hidden;background:#e8ecec}.activity-image img{object-fit:cover}.reports-home{max-width:1040px}.report-row{display:grid;grid-template-columns:140px 190px 1fr;grid-gap:20px;gap:20px;padding:20px 0;border-top:1px solid var(--line);align-items:start}.report-row time{color:var(--muted);font-size:14px}.report-row span{font-weight:700;color:var(--dark)}.report-row p{margin:0;font-size:14px;color:var(--muted)}.home-cta{background:var(--pale);padding:60px 0}.cta-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:0;gap:0}.cta-grid>div{padding:10px 60px}.cta-grid>div+div{border-left:1px solid #b8d1d4}.cta-grid h2{font-family:var(--serif);font-weight:500}.page-hero{background:var(--pale);padding:54px 0;border-bottom:1px solid #c7dcdf}.page-hero p{font-size:12px;color:var(--teal);letter-spacing:.15em;margin:0}.page-hero h1{font-size:36px;margin:4px 0 8px}.page-hero span{color:var(--muted)}.reading{max-width:900px}.reading>section+section{margin-top:85px}.reading h2{font-size:28px;border-left:4px solid var(--teal);padding-left:18px}.reading p{max-width:760px}.greeting{display:grid;grid-template-columns:360px 1fr;grid-gap:55px;gap:55px;align-items:center}.portrait{position:relative;height:420px;background:#eee}.portrait img{object-fit:cover;object-position:center}.signature{text-align:right;font-family:var(--serif);font-size:18px}.timeline{border-top:1px solid var(--line)}.timeline div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--line);padding:17px}.timeline dt{font-weight:700;color:var(--dark)}.timeline dd{margin:0}.profile{width:100%;border-collapse:collapse}.profile td,.profile th{padding:17px 20px;border:1px solid var(--line);text-align:left}.profile th{width:170px;background:var(--cream)}.activity-list article{display:grid;grid-template-columns:1fr 1fr;grid-gap:60px;gap:60px;align-items:center;padding:55px 0;border-bottom:1px solid var(--line)}.activity-list article.reverse .activity-image{order:2}.activity-list article .activity-image{height:360px}.activity-list article span{font-size:12px;color:var(--teal);letter-spacing:.15em}.activity-list h2{font-size:30px;margin:6px 0 16px}.report-list article{display:grid;grid-template-columns:1.15fr .85fr;grid-gap:50px;gap:50px;padding:42px 0;border-bottom:1px solid var(--line);align-items:center}.report-list article .activity-image{height:280px}.report-list time{font-size:14px;color:var(--teal)}.report-list h2{font-size:27px;margin:3px 0 12px}.branch-list{margin-top:45px;border-top:2px solid var(--dark)}.branch-list>div{display:grid;grid-template-columns:60px 200px 1fr;align-items:center;border-bottom:1px solid var(--line);padding:22px 18px}.branch-list span{font-size:12px;color:var(--teal)}.branch-list h2,.branch-list p{margin:0}.branch-list h2{font-size:20px}.contact-layout{display:grid;grid-template-columns:320px 1fr;grid-gap:70px;gap:70px;align-items:start}.contact-layout aside{background:var(--cream);border-top:4px solid var(--teal);padding:30px}.contact-layout aside h2{font-size:20px;margin-top:0}.contact-layout address{font-style:normal;margin:16px 0}.contact-layout aside strong{display:block;color:var(--dark);font-size:18px}.contact-layout aside small{display:block;margin-top:12px;color:var(--muted)}.contact-form>label{display:block;font-weight:700;margin-bottom:25px}.contact-form label b,.required-note span{font-size:11px;color:#8c4439;margin-left:8px}.contact-form input:not([type=checkbox]),.contact-form select,.contact-form textarea{display:block;width:100%;font:inherit;font-size:16px;border:1px solid #aeb9b9;padding:11px;margin-top:6px;background:#fff;border-radius:0}.agree{display:flex!important;align-items:center;gap:10px}.agree input{width:18px;height:18px}.contact-form button,.primary-button{font:inherit;border:1px solid var(--dark);padding:11px 28px;background:#fff;color:var(--dark);cursor:pointer}.primary-button{background:var(--dark)!important;color:#fff!important}.contact-complete{padding:45px;border:1px solid var(--line);background:var(--cream)}.db-modal,.modal-backdrop{position:fixed;inset:0;z-index:100;background:rgba(28,40,40,.62);display:grid;place-items:center;padding:20px}.code-modal,.confirm-modal{background:#fff;max-width:560px;width:100%;padding:40px;position:relative}.modal-close{position:absolute;right:12px;top:10px;border:0!important;background:transparent!important;color:var(--ink)!important;font-size:24px;padding:4px 10px!important}.modal-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:30px}.site-footer{background:#315f64;color:#fff;padding-top:54px}.footer-grid{display:flex;justify-content:space-between}.footer-grid strong{font-family:var(--serif);font-size:22px}.footer-grid nav{display:grid;grid-template-columns:repeat(3,auto);grid-gap:10px 25px;gap:10px 25px}.footer-grid a{text-decoration:none;font-size:13px}.copyright{text-align:center;background:#29545a;margin:42px 0 0;padding:13px;font-size:11px}.database-page{position:fixed;inset:0;z-index:80;overflow:auto;background:#eceeea;color:#252b2b;font-family:MS PGothic,Yu Gothic,sans-serif}.db-header{background:#3d5658;color:#fff;border-bottom:4px solid #758e8d}.db-header>div{width:min(1040px,calc(100% - 32px));margin:auto;padding:18px 22px}.db-header h1{font-family:inherit;font-size:22px;margin:0}.db-header p{margin:3px 0 0;font-size:12px}.db-main{max-width:1040px;min-height:calc(100vh - 91px);margin:auto;background:#fff;border-inline:1px solid #c4caca;padding:30px}.db-result h2,.db-search h2{font-family:inherit;font-size:17px;background:#dfe6e4;border:1px solid #aebcba;padding:7px 10px;margin:0}.db-search form{display:flex;align-items:center;gap:10px;padding:24px;border:1px solid #c5cecc;border-top:0}.code-modal input,.db-search input{height:36px;border:1px solid #7f8989;font-size:16px;padding:5px;width:240px}.code-modal>button:not(.modal-close),.db-search button,.document-result button{height:36px;border:1px solid #586c6c;background:#e3e8e7;padding:0 24px;font-weight:700}.db-result{margin-top:30px}.db-empty,.db-message{margin:0;border:1px solid #c5cecc;border-top:0;padding:24px;color:#555}.document-result{display:grid;grid-template-columns:130px 1fr 130px;grid-gap:25px;gap:25px;align-items:center;padding:22px;border:1px solid #c5cecc;border-top:0}.doc-thumb{width:110px;height:150px;position:relative;border:1px solid #999;background:#eee}.doc-thumb img{object-fit:cover;object-position:top}.document-result dl{margin:0}.document-result dl>div{display:grid;grid-template-columns:130px 1fr;border-bottom:1px dotted #aaa;padding:6px}.document-result dt{font-weight:700}.document-result dd{margin:0}.logo-puzzle{display:flex;justify-content:space-between;align-items:center;margin:78px 36px 20px;height:170px}.fixed-logo,.logo-slot{width:140px;height:108px;position:relative}.logo-slot:after{content:"";position:absolute;inset:0;border:1px dashed #c9cecc;background:#f1f2f0}.drag-logo{position:absolute;inset:0;z-index:2;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.drag-logo img,.fixed-logo img{object-fit:contain}.drag-logo.dragging{z-index:20;filter:drop-shadow(0 7px 5px rgba(0,0,0,.25))}.viewer{max-width:900px;max-height:90vh;overflow:auto;background:#d9ddda;padding:45px 14px 14px;position:relative}.viewer>button{position:absolute;right:9px;top:7px;border:1px solid #666;background:#fff;padding:5px 15px}.viewer img{width:auto;height:auto;display:block;max-width:100%;background:#fff}.code-modal{max-width:440px;border:2px solid #647775;padding:35px}.code-modal h2{font-family:inherit;font-size:18px}.code-modal input{width:100%;margin-bottom:15px}.code-modal p{color:#7c2929;margin-bottom:0;font-size:14px}@media(max-width:700px){.wrap{width:calc(100% - 32px)}.section{padding-block:58px}.header-main{height:78px}.brand{width:120px;height:66px}.desktop-nav,.header-address{display:none}.menu-button{display:flex;border:0;background:transparent;width:52px;height:56px;flex-direction:column;justify-content:center;align-items:center;gap:5px}.menu-button span{width:25px;border-top:2px solid var(--dark)}.menu-button b{font-size:10px;color:var(--dark);font-weight:500}.menu-backdrop{display:block;position:fixed;inset:0;z-index:60;background:rgba(20,30,30,.4);opacity:0;pointer-events:none;transition:opacity .2s}.menu-backdrop.open{opacity:1;pointer-events:auto}.mobile-nav{position:absolute;right:0;top:0;width:min(82vw,340px);height:100%;background:#fff;transform:translateX(100%);transition:transform .2s;display:flex;flex-direction:column;padding-bottom:50px}.open .mobile-nav{transform:none}.mobile-title{height:78px;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 20px}.mobile-title button{border:0;background:transparent;color:#fff;font-size:30px}.mobile-nav>a{padding:16px 22px;border-bottom:1px solid var(--line);text-decoration:none}.mobile-nav>a.active{color:var(--dark);background:var(--pale)}.mobile-nav .home-hero{height:470px}.home-hero>img{object-position:56% center}.home-hero:after{background:linear-gradient(0deg,rgba(23,56,58,.55),transparent 75%)}.hero-copy{left:16px;right:16px;top:auto;bottom:42px;transform:none}.hero-copy p{font-size:27px;letter-spacing:.04em}.hero-copy span{font-size:14px}.intro{text-align:left}.intro h1{font-size:28px;margin-left:0}.home-activity-grid{grid-template-columns:1fr;gap:22px}.section-head{align-items:start}.section-head .more-link{display:none}.report-row{grid-template-columns:100px 1fr;gap:5px 14px}.report-row p{grid-column:1/-1}.cta-grid{grid-template-columns:1fr}.cta-grid>div{padding:20px 10px}.cta-grid>div+div{border:0;border-top:1px solid #b8d1d4}.page-hero{padding:38px 0}.page-hero h1{font-size:29px}.greeting{grid-template-columns:1fr;gap:25px}.portrait{height:360px}.timeline div{grid-template-columns:1fr;gap:2px}.profile th{width:100px}.profile td,.profile th{padding:12px 10px}.activity-list article,.report-list article{grid-template-columns:1fr;gap:22px;padding:38px 0}.activity-list article.reverse .activity-image{order:0}.activity-list article .activity-image,.report-list article .activity-image{height:240px}.activity-list h2,.report-list h2{font-size:25px}.report-list article .activity-image{grid-row:1}.branch-list>div{grid-template-columns:35px 1fr;padding:18px 7px}.branch-list p{grid-column:2;font-size:14px}.contact-layout{grid-template-columns:1fr;gap:35px}.contact-layout aside{order:2}.confirm-modal{padding:35px 22px}.modal-actions{flex-direction:column}.footer-grid{display:block}.footer-grid nav{grid-template-columns:1fr 1fr;margin-top:30px}.db-header>div{padding:13px 0}.db-header h1{font-size:18px}.db-main{padding:18px 12px}.db-search form{display:grid;grid-template-columns:1fr auto;padding:17px 12px}.db-search label{grid-column:1/-1}.db-search input{width:100%;min-width:0}.db-search button{padding:0 18px}.document-result{grid-template-columns:90px 1fr;gap:15px;padding:14px 10px}.doc-thumb{width:80px;height:110px}.document-result dl>div{display:block}.document-result dl>div+div{margin-top:5px}.document-result button{grid-column:1/-1;width:100%}.logo-puzzle{margin:55px 8px 8px;height:135px}.fixed-logo,.logo-slot{width:96px;height:74px}.viewer{max-width:calc(100vw - 24px);padding-inline:8px}.code-modal{padding:34px 18px}.db-modal{padding:12px}}@media(prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}.fiction-notice{margin-top:36px;padding-top:24px;border-top:1px solid rgba(255,255,255,.25);font-size:12px;line-height:1.9;color:rgba(255,255,255,.88)}@media (max-width:700px){.hero-copy p{font-size:25px;word-break:keep-all;overflow-wrap:normal}.intro h1{font-size:26px;word-break:keep-all}}body,html{overflow-x:clip}.desktop-nav{position:relative}.secretNavSlot{position:absolute;top:0;right:-264px;width:300px;height:100%;z-index:20;box-sizing:border-box;background:var(--teal);border-left:1px solid rgba(255,255,255,.2);transition:right .22s ease-out}.secretNavSlotOpen{right:0}.secretNavReveal{position:absolute;inset-block:0;left:-12px;width:48px;padding:0;border:0;background:transparent;cursor:pointer;z-index:2}.secretNavSlotOpen .secretNavReveal{display:none}.secretNavContent{display:flex;align-items:center;gap:8px;height:100%;padding:7px 12px;opacity:0;pointer-events:none}.secretNavSlotOpen .secretNavContent{opacity:1;pointer-events:auto}.secretNavInput{flex:1 1;min-width:0;height:40px;padding:4px 7px;border:1px solid #9aabab;border-radius:0;background:#fff;font-size:16px;outline-offset:-2px}.secretNavInput.error{border-color:#c52c2c;animation:secretNavShake .16s ease-in-out 2}.secretNavSubmit{flex:0 0 58px;width:58px;border:1px solid rgba(255,255,255,.25);border-radius:0;background:var(--dark)}.secretNavClose,.secretNavSubmit{height:40px;padding:0;color:#fff;cursor:pointer}.secretNavClose{flex:0 0 32px;width:32px;border:0;background:transparent;font-size:22px}.secretNavAnnouncement{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mobileSecretRow{display:none}@keyframes secretNavShake{0%,to{transform:translateX(0)}33%{transform:translateX(-2px)}66%{transform:translateX(2px)}}@media (max-width:700px){.mobileSecretRow{display:block;position:relative;flex:0 0 56px}.mobileSecretNavSlot,.mobileSecretRow{height:56px;border-bottom:1px solid var(--line)}.mobileSecretNavSlot{top:0;right:calc(-100% + 60px);width:calc(100% - 24px);background:#fff;border-top:1px solid var(--line);border-left:1px solid var(--line)}.mobileSecretNavSlot.secretNavSlotOpen{right:12px}.mobileSecretNavSlot .secretNavContent{padding:7px 8px}.mobileSecretNavSlot .secretNavClose{color:var(--dark)}}@media (prefers-reduced-motion:reduce){.secretNavSlot{transition:none}.secretNavInput.error{animation:none}}