:root{--navy:#0a2f5c;--blue:#1678cc;--sky:#eaf7ff;--pale:#f5fbff;--line:#c9dfed;--ink:#193c68;--muted:#59718e;--white:#fff;--radius:18px;--shadow:0 14px 32px rgba(19,84,139,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:#fff;font:15px/1.8 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.container{width:min(1296px,calc(100% - 48px));margin:auto}.eyebrow{margin:0 0 10px;color:var(--blue);font-size:11px;font-weight:800;letter-spacing:.16em}.display{margin:0;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:var(--navy);font-size:clamp(31px,4.3vw,58px);line-height:1.35;letter-spacing:.06em}.section-title{margin:0;font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:var(--navy);font-size:clamp(27px,3.1vw,42px);line-height:1.45}.lead{color:var(--muted);max-width:48em}.button,.button-outline{display:inline-flex;align-items:center;justify-content:center;gap:.65em;min-height:48px;padding:11px 26px;border-radius:999px;font-weight:700;letter-spacing:.03em;transition:.2s}.button{color:#fff;background:linear-gradient(110deg,#1c91d9,#0c4e91);border:0;box-shadow:0 8px 18px rgba(8,95,166,.20)}.button:hover{transform:translateY(-1px);filter:brightness(1.05)}.button-outline{color:var(--blue);background:#fff;border:1px solid #63ace0}.link-arrow{color:var(--blue);font-weight:700}.link-arrow::after{content:" →"}button.link-arrow{padding:4px 0;border:0;border-bottom:1px solid currentColor;background:transparent;border-radius:0}.site-header{height:76px;display:flex;align-items:center;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(201,223,237,.75);position:sticky;top:0;z-index:20}.header-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.brand{display:flex;align-items:center;gap:10px;flex-shrink:0;font-family:Georgia,"Yu Mincho",serif;color:var(--navy);font-size:29px;font-weight:700;letter-spacing:.02em}.brand-mark{width:42px;height:22px;position:relative;background:linear-gradient(160deg,transparent 32%,#1288d2 33% 48%,transparent 49% 57%,#1288d2 58% 73%,transparent 74%);border-radius:60%}.brand small{font:700 10px/1 sans-serif;letter-spacing:0}.nav-wrap{display:flex;align-items:center;gap:28px}.main-nav{display:flex;gap:28px}.main-nav a{font-size:11px;font-weight:800;letter-spacing:.09em;padding:26px 0 21px;border-bottom:3px solid transparent}.main-nav a[aria-current="page"]{color:var(--blue);border-color:var(--blue)}.menu-toggle{display:none;border:0;background:transparent;color:var(--navy);font-weight:800}.hero{overflow:hidden;background:linear-gradient(115deg,#f9fdff 0%,#e9f8ff 54%,#d8efff 100%);position:relative}.hero-inner{min-height:530px;display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:42px}.hero-copy{padding:68px 0}.hero-copy .lead{margin:22px 0 28px}.hero-visual{align-self:stretch;display:flex;align-items:center}.placeholder{position:relative;overflow:hidden;background:linear-gradient(135deg,#d9effb,#b5ddf4);border:1px solid rgba(75,151,202,.26);border-radius:var(--radius);min-height:200px}.placeholder::before{content:"";position:absolute;inset:0;background:linear-gradient(145deg,transparent 46%,rgba(255,255,255,.5) 46.2% 46.8%,transparent 47%),radial-gradient(circle at 78% 22%,rgba(255,255,255,.62),transparent 28%)}.placeholder.has-image::before{display:none}.placeholder>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.placeholder span{position:absolute;z-index:1;bottom:17px;left:18px;color:#3475a3;background:rgba(255,255,255,.78);padding:4px 9px;border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.08em}.hero-visual .placeholder{width:100%;min-height:370px;border-radius:0}.hero-script{position:absolute;right:5vw;bottom:30px;color:#1688dc;font-size:clamp(18px,2vw,28px);font-family:cursive;transform:rotate(-7deg)}.section{padding:92px 0}.section-tint{background:var(--pale)}.section-wave{background:linear-gradient(162deg,#fff 0 70%,#e5f6ff 70% 100%)}.two-col{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}.cards{display:grid;gap:22px}.cards-3{grid-template-columns:repeat(3,minmax(0,1fr))}.cards-4{grid-template-columns:repeat(4,minmax(0,1fr))}.card{background:#fff;border:1px solid #d8eaf5;border-radius:12px;overflow:hidden;box-shadow:0 8px 22px rgba(18,85,140,.06)}.card-body{padding:20px}.card h3{font-family:"Hiragino Mincho ProN","Yu Mincho",serif;color:var(--navy);font-size:20px;line-height:1.5;margin:0 0 9px}.card p{font-size:13px;line-height:1.75;color:var(--muted);margin:0}.card .placeholder{min-height:150px;border:0;border-radius:0}.num{color:var(--blue);font:34px/1 Georgia,serif}.icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border-radius:50%;background:#ecf7ff;color:#1689dd;font-size:28px}.feature{text-align:center;padding:12px 22px;border-left:1px solid var(--line)}.feature:first-child{border-left:0}.feature h3{margin:0 0 7px;color:var(--navy);font-size:16px}.feature p{margin:0;color:var(--muted);font-size:13px}.news-bar{border-bottom:1px solid var(--line);padding:16px 0;background:#fff}.news-bar .container{display:flex;gap:28px;align-items:center}.news-bar strong{color:var(--blue);font-size:11px;letter-spacing:.13em}.works-list{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.works-list .card h3{font-size:17px}.contact-band{padding:70px 0;background:linear-gradient(110deg,#edfaff,#c6eaff);position:relative;overflow:hidden}.contact-band::after{content:"";position:absolute;inset:auto 0 0;height:30%;background:linear-gradient(175deg,transparent 15%,rgba(49,150,218,.13) 16% 40%,transparent 41%)}.contact-band .container{position:relative;z-index:1;display:flex;justify-content:space-between;gap:36px;align-items:end}.contact-band p{max-width:46em;color:#416885}.footer{background:#fff;border-top:1px solid var(--line);padding:36px 0}.footer-inner{display:flex;justify-content:space-between;gap:26px;align-items:center}.footer-nav{display:flex;gap:22px;flex-wrap:wrap;font-size:11px;font-weight:700}.footer small{color:#65809c}.page-title-hero .hero-inner{min-height:420px}.page-title-hero .hero-visual .placeholder{min-height:310px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:36px}.tag{display:inline-block;padding:3px 10px;border-radius:999px;background:#e4f5ff;color:#157dcc;font-size:10px;font-weight:800}.kpi{display:grid;grid-template-columns:repeat(3,1fr);background:#fff;border-radius:12px;border:1px solid #d9eaf4}.kpi>div{padding:17px;text-align:center;border-left:1px solid var(--line)}.kpi>div:first-child{border-left:0}.kpi b{display:block;font:30px/1 Georgia,serif;color:var(--blue)}.split-row{display:grid;grid-template-columns:260px 1fr;gap:22px;align-items:stretch;padding:22px 0;border-bottom:1px solid var(--line)}.split-row .placeholder{min-height:155px}.project-detail{display:grid;grid-template-columns:1.1fr 1.1fr .8fr;gap:22px;align-items:center;padding:24px 0;border-top:1px solid var(--line)}.project-detail .placeholder{min-height:185px}.project-detail h3{margin:7px 0;color:var(--navy);font-family:"Hiragino Mincho ProN","Yu Mincho",serif;font-size:23px}.voice{padding:26px}.voice strong{display:block;margin-top:16px;color:var(--navy)}.filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.filter-row button{border:1px solid #a9d5ef;color:#286a9c;background:#fff;border-radius:999px;padding:8px 18px;font-size:12px;font-weight:700}.filter-row button.is-active{color:#fff;background:#258dd0;border-color:#258dd0}.company-grid{display:grid;grid-template-columns:1fr 1.6fr;gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}.company-grid dt,.company-grid dd{padding:12px 16px;margin:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.company-grid dt{background:#f1f9fd;font-weight:700}.company-grid dd{color:var(--muted)}.map{min-height:300px;background:linear-gradient(135deg,#edf6fb,#dbeaf3);display:grid;place-items:center;color:#7294ac;border:1px solid var(--line);border-radius:var(--radius)}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:0}.timeline article{padding:22px;border:1px solid var(--line);background:#fff;position:relative}.timeline article:not(:last-child)::after{content:"›";position:absolute;right:-12px;top:38%;z-index:1;width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;color:#1689da;font-size:28px}.timeline strong{color:var(--blue);font:26px/1 Georgia,serif}.workstyle{padding:24px;text-align:center;background:#fff;border:1px solid var(--line)}.member .placeholder{min-height:145px}.news-controls{display:flex;justify-content:space-between;gap:20px;margin-bottom:20px}.news-controls input{width:min(280px,100%);border:1px solid var(--line);border-radius:999px;padding:10px 16px}.news-item[hidden],.project-card[hidden]{display:none}.empty-state{margin:24px 0;color:var(--muted);text-align:center}.newsletter{padding:48px;background:#effaff;border-radius:var(--radius);display:flex;justify-content:space-between;align-items:center;gap:30px}.newsletter p{margin:7px 0 0;color:var(--muted)}.notice{padding:16px 18px;border:1px solid #b9dff5;background:#f3fbff;color:#457393;border-radius:10px;font-size:13px}.text-center{text-align:center}.mt-20{margin-top:20px}.mt-32{margin-top:32px}.mt-48{margin-top:48px}:focus-visible{outline:3px solid #f59e0b;outline-offset:3px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}}
@media(max-width:820px){.container{width:min(100% - 32px,600px)}.site-header{height:65px}.brand{font-size:25px}.nav-wrap>.button{display:none}.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:65px;left:0;right:0;padding:14px 24px 20px;background:#fff;border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;gap:0}.main-nav.is-open{display:flex}.main-nav a{padding:10px 0;border:0}.hero-inner,.two-col{grid-template-columns:1fr}.hero-inner{gap:0}.two-col{gap:28px}.hero-copy{padding:58px 0 28px}.hero-visual .placeholder{min-height:260px;border-radius:0}.hero-script{display:none}.section{padding:62px 0}.cards-3,.cards-4,.works-list{grid-template-columns:1fr 1fr;gap:13px}.card-body{padding:15px}.card h3{font-size:17px}.feature{padding:16px 10px}.feature:nth-child(odd){border-left:0}.cards.features{grid-template-columns:1fr 1fr}.news-bar .container{gap:12px;align-items:flex-start;flex-direction:column}.contact-band .container,.footer-inner,.section-head,.newsletter{align-items:flex-start;flex-direction:column}.footer-inner{gap:18px}.page-title-hero .hero-inner{min-height:unset}.split-row,.project-detail{grid-template-columns:1fr;gap:14px}.split-row .placeholder{min-height:180px}.project-detail .placeholder{min-height:200px}.timeline{grid-template-columns:1fr 1fr;gap:10px}.timeline article{border-radius:10px}.timeline article:not(:last-child)::after{display:none}.company-grid{grid-template-columns:110px 1fr}.news-controls{align-items:stretch;flex-direction:column}.kpi b{font-size:25px}}
@media(max-width:460px){.cards-3,.cards-4,.works-list{grid-template-columns:1fr}.cards.features{grid-template-columns:1fr}.feature{border-left:0;border-top:1px solid var(--line)}.feature:first-child{border-top:0}.timeline{grid-template-columns:1fr}.display{font-size:33px}.section-title{font-size:28px}.hero-visual .placeholder{min-height:225px}.kpi{grid-template-columns:1fr}.kpi>div{border-left:0;border-top:1px solid var(--line)}.kpi>div:first-child{border-top:0}}

.display.works-hero-title{font-size:clamp(31px,3.3vw,46px)}

/* Corrected supplied assets: display crop only; original files are preserved. */
.placeholder.has-image { background:#eaf7ff; }
.placeholder.has-image > img { display:block; }
.placeholder.crop-edge > img { width:125%;max-width:none;left:-25%;object-position:center; }
.hero-visual .has-image > img { object-position:55% 38%; }
[data-asset-id="home-mission-collage"] { min-height:360px; }
[data-asset-id="home-strength-city"] { min-height:340px; }
.contact-band { background:#eaf7ff url('../images/19_wave_gradient_background_native.png') center/cover no-repeat; }
@media(max-width:820px) { [data-asset-id="home-mission-collage"],[data-asset-id="home-strength-city"] { min-height:290px; } }

/* Hide source-sheet separator remnants without modifying supplied PNGs. */
.placeholder.has-image:not([data-asset-id*="hero"]) > img { width:125%;max-width:none;left:-25%;object-position:center 30%; }
.contact-band { background-size:125% auto;background-position:right center; }
/* Preserve enough vertical room for portraits in service and case cards. */
.card .placeholder.has-image { min-height:0;aspect-ratio:16/10; }
.placeholder.has-image:not([data-asset-id*="hero"]) > img { object-position:center 50%; }
[data-asset-id="home-mission-collage"].has-image > img { object-position:center 75%; }
.contact-band { background-size:125% 125%;background-position:right center; }

.brand-logo{display:block;width:66px;height:62px;object-fit:contain}.footer .brand-logo{width:88px;height:83px}@media(max-width:820px){.brand-logo{width:54px;height:51px}}
