:root{--ink:#172433;--navy:#0d1b2c;--navy2:#13283d;--muted:#6c737d;--gold:#c4a475;--paper:#f8f7f3;--white:#fff;--border:#dedfdf;--font-en:'DM Sans',Arial,sans-serif;--font-ja:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:85px}body{margin:0;color:var(--ink);background:#fff;font-family:var(--font-ja);font-size:15px;line-height:1.85;overflow-x:clip}a{color:inherit;text-decoration:none}button{font:inherit}img{max-width:100%}.shell{width:min(100% - 80px,1280px);margin:0 auto}.skip{position:absolute;top:-100px;left:10px;z-index:999;background:#fff;padding:8px}.skip:focus{top:10px}.scroll-progress{position:fixed;top:0;left:0;height:2px;background:var(--gold);z-index:110;width:0;pointer-events:none}.site-header{position:fixed;inset:0 0 auto;z-index:100;height:90px;border-bottom:1px solid rgba(255,255,255,.14);transition:background .4s,height .4s,border-color .4s}.site-header.scrolled,.site-header.menu-open{height:76px;background:rgba(13,27,44,.97);border-color:rgba(255,255,255,.08);backdrop-filter:blur(18px)}.nav-shell{height:100%;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{color:#fff;display:flex;flex-direction:column;line-height:1;min-width:110px}.brand-main{font:700 30px/1 var(--font-en);letter-spacing:.07em}.brand-dot{color:var(--gold)}.brand-sub{font:500 9px/1 var(--font-en);letter-spacing:.25em;margin-top:7px;opacity:.72}.main-nav{display:flex;align-items:center;gap:35px;color:#fff;font-size:12px;font-weight:500;letter-spacing:.035em}.main-nav>a:not(.nav-cta){opacity:.78;transition:opacity .2s}.main-nav>a:hover{opacity:1}.nav-cta{border:1px solid rgba(255,255,255,.52);padding:12px 18px;transition:background .25s,color .25s}.nav-cta:hover{background:#fff;color:var(--navy)}.nav-cta span{margin-left:18px}.menu-button{display:none}.hero{min-height:760px;height:100svh;max-height:1100px;position:relative;background:#0b192a;color:#fff;isolation:isolate;overflow:hidden}.hero-photo{position:absolute;inset:0;background:url('assets/hero.webp') center 54%/cover no-repeat;z-index:-3;animation:heroZoom 12s both}.hero-shade{position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(8,23,40,.86) 0%,rgba(8,23,40,.75) 27%,rgba(8,23,40,.26) 71%,rgba(8,23,40,.14) 100%),linear-gradient(0deg,rgba(6,19,33,.64),transparent 36%)}.hero-inner{height:100%;display:flex;align-items:center}.hero-content{padding-top:52px;max-width:780px;animation:rise .95s ease both}.eyebrow,.kicker,.section-label,.label-num,.hero-bottom,.hero-index,.strength-count,.contact-small,.contact-hours,.footer-bottom,.back-top{font-family:var(--font-en);letter-spacing:.13em}.hero-eyebrow{display:flex;align-items:center;gap:17px;color:#e5d0ad;font-size:11px;font-weight:600}.line{width:28px;height:1px;background:var(--gold)}.hero h1{font-size:clamp(48px,5.4vw,88px);line-height:1.35;letter-spacing:-.08em;font-weight:500;margin:26px 0 25px}.hero h1 em{font-style:normal;color:#dfc8a3}.hero-lead{font-size:15px;letter-spacing:.055em;line-height:2.3;color:#e0e5e9}.hero-actions{display:flex;align-items:center;gap:33px;margin-top:47px}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:35px;min-width:205px;padding:18px 25px;font-size:13px;font-weight:600;transition:transform .2s,background .2s,color .2s}.button:hover{transform:translateY(-3px)}.button-gold{background:var(--gold);color:#152536}.button-gold:hover{background:#e4c79d}.text-link{display:inline-flex;align-items:center;gap:25px;font-size:13px;font-weight:600;letter-spacing:.035em;border-bottom:1px solid currentColor;padding:0 0 9px;transition:gap .25s}.text-link:hover{gap:35px}.text-link.light{color:#fff}.text-link.dark{color:var(--ink)}.hero-bottom{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;font-size:10px;color:rgba(255,255,255,.66)}.scroll-note{display:flex;align-items:center;gap:17px}.scroll-stem{width:42px;height:1px;background:var(--gold)}.hero-index{position:absolute;right:40px;top:50%;writing-mode:vertical-rl;font-size:10px;opacity:.66}.section-pad{padding:135px 0}.section-label{display:flex;align-items:center;gap:14px;font-size:11px;font-weight:700;color:#8f795b;white-space:nowrap}.label-rule{width:30px;height:1px;background:var(--gold)}.label-num{color:#adb1b7;font-weight:400;margin-left:6px}.headline{font-size:clamp(32px,3.25vw,52px);letter-spacing:-.055em;line-height:1.65;font-weight:500;margin:20px 0 34px}.intro{background:var(--paper)}.intro-grid{display:grid;grid-template-columns:225px minmax(0,1fr) 220px;gap:45px}.intro-grid>.section-label{align-self:start;margin-top:14px}.intro-content{max-width:680px}.kicker{color:var(--gold);font-size:10px;font-weight:700;margin:0}.intro-content .headline{margin:15px 0 32px}.body-copy{color:#636c74;max-width:590px;line-height:2.2;margin:0 0 17px}.intro-content .text-link{margin-top:25px}.intro-aside{border-left:1px solid #dbd9d2;padding:20px 0 0 28px;align-self:end}.stat-number{font:500 72px/1 var(--font-en);letter-spacing:-.08em;color:var(--ink)}.stat-number span{font-size:30px;color:var(--gold)}.intro-aside p{font:600 10px var(--font-en);letter-spacing:.14em;margin:15px 0}.intro-aside>span{font-size:11px;color:#6f757d}.section-top{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:55px}.section-top .headline{margin-bottom:0}.section-aside{font-size:13px;color:#6d7580;line-height:2.1;margin:0 0 7px}.service-list{border-top:1px solid #d7dce0}.service-item{display:grid;grid-template-columns:100px minmax(0,1fr) 60px;gap:25px;padding:34px 16px 34px 8px;border-bottom:1px solid #d7dce0;transition:background .3s,padding .3s}.service-item:hover{background:#f7f8f8;padding-left:18px}.service-num{font:500 13px var(--font-en);color:#a1845e;padding-top:12px}.service-body{display:grid;grid-template-columns:minmax(280px,.88fr) minmax(0,1.12fr);gap:15px 35px;align-items:center}.service-body h3{margin:0;font-size:clamp(18px,2vw,25px);font-weight:600;letter-spacing:-.035em}.service-body p{margin:0;font-size:13px;color:#66707a;line-height:2}.service-tags{grid-column:2;display:flex;flex-wrap:wrap;gap:9px}.service-tags span{padding:4px 9px;background:#f1f3f4;font-size:10px;color:#79828b}.service-arrow{justify-self:center;align-self:center;font:24px var(--font-en);color:#b4a58c}.strength-section{position:relative;background:#0e1e30;color:#fff;overflow:hidden;isolation:isolate}.strength-backdrop{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(10,24,39,.93),rgba(10,24,39,.83)),url('assets/texture.webp') center/cover no-repeat}.strength-section .section-label{color:#d6b684}.strength-section .label-num{color:#82909a}.light-headline{color:#f5f5f2;margin:25px 0 65px}.strength-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(255,255,255,.24)}.strength-card{padding:36px 34px 20px 0;min-height:290px}.strength-card+.strength-card{border-left:1px solid rgba(255,255,255,.24);padding-left:36px}.strength-count{color:#c6a777;font-size:11px}.strength-card h3{font-size:24px;line-height:1.6;font-weight:500;letter-spacing:-.035em;margin:32px 0 19px}.strength-card p{color:#bcc5cc;font-size:13px;line-height:2.2;margin:0}.company-section{background:#fff;overflow:hidden}.company-grid{display:grid;grid-template-columns:42% minmax(0,1fr);gap:60px}.company-intro{position:relative}.company-intro .headline{margin:26px 0 16px}.period{color:var(--gold)}.company-intro>p{font-size:14px;line-height:2.2;max-width:320px;color:#69727b}.company-watermark{position:absolute;top:310px;left:-10px;pointer-events:none;font:700 clamp(88px,12vw,185px)/1 var(--font-en);letter-spacing:-.09em;color:#f4f3ef}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:145px minmax(0,1fr);border-bottom:1px solid #e3e5e5;padding:21px 0;gap:20px}.company-table>div:first-child{border-top:1px solid #e3e5e5}.company-table dt{font-size:12px;color:#78828c}.company-table dd{margin:0;font-size:13px;font-weight:500;line-height:2}.en-inline{display:block;color:#89939b;font:12px var(--font-en);margin-top:4px}.table-link{font-size:11px;color:#94784f;border-bottom:1px solid #b7a98e}.contact-section{background:#eae6de;padding:105px 0}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:55px;align-items:center}.contact-section h2{font-size:clamp(30px,3.5vw,50px);line-height:1.5;font-weight:500;letter-spacing:-.05em;margin:25px 0}.contact-section p{color:#646d75;font-size:13px;line-height:2.2}.contact-panel{background:#fff;padding:45px 42px;display:flex;flex-direction:column;align-items:flex-start}.contact-small{color:#a18760;font-size:10px;font-weight:700}.contact-phone{font:600 clamp(27px,3.1vw,43px)/1.3 var(--font-en);letter-spacing:-.035em;white-space:nowrap;margin:18px 0 5px}.contact-phone span{color:var(--gold);font-size:22px}.contact-hours{font-size:11px;color:#79828a;letter-spacing:0}.button-outline{margin-top:34px;min-width:100%;border:1px solid #b7b6b2}.button-outline:hover{background:var(--navy);color:#fff}.footer{background:var(--navy);color:#fff;padding:55px 0 23px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:25px;padding-bottom:45px}.footer-top p{font-size:12px;color:#aeb8c0}.back-top{font-size:10px;color:#d0b184;border-bottom:1px solid #a18a6e;padding-bottom:7px}.footer-bottom{border-top:1px solid rgba(255,255,255,.17);padding-top:22px;display:flex;justify-content:space-between;font-size:10px;color:#8896a3}.reveal{opacity:0;transform:translateY(24px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.mobile-only{display:none}@keyframes rise{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}@keyframes heroZoom{from{transform:scale(1.035)}to{transform:scale(1)}}@media(max-width:1100px){.main-nav{gap:19px}.intro-grid{grid-template-columns:170px minmax(0,1fr);gap:28px}.intro-aside{grid-column:2;max-width:250px;margin-top:25px}.service-body{grid-template-columns:1fr}.service-tags{grid-column:1}.company-grid{gap:30px}.contact-grid{gap:30px}}@media(max-width:760px){html{scroll-padding-top:70px}.shell{width:calc(100% - 40px)}.site-header,.site-header.scrolled,.site-header.menu-open{height:70px}.brand-main{font-size:26px}.brand-sub{font-size:8px}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:7px;background:transparent;border:0;width:44px;height:44px;cursor:pointer;z-index:101}.menu-button span{height:1px;width:28px;background:#fff;transition:transform .25s}.menu-button[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-button[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.main-nav{display:none;position:absolute;left:0;right:0;top:70px;background:#0d1b2c;padding:16px 20px 30px;flex-direction:column;align-items:stretch;gap:0;box-shadow:0 20px 20px rgba(0,0,0,.2)}.main-nav.open{display:flex}.main-nav>a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.12)}.main-nav .nav-cta{margin-top:17px;padding:14px;border:1px solid rgba(255,255,255,.4);display:flex;justify-content:space-between}.hero{height:88svh;min-height:620px;max-height:900px}.hero-photo{background-position:57% center}.hero-shade{background:linear-gradient(90deg,rgba(8,23,40,.90),rgba(8,23,40,.50) 80%),linear-gradient(0deg,rgba(8,23,40,.55),transparent 50%)}.hero-content{padding-top:40px}.hero-eyebrow{font-size:9px}.hero h1{font-size:clamp(42px,9vw,66px);letter-spacing:-.085em;line-height:1.45;margin:20px 0}.hero-lead{font-size:12px;line-height:2.1}.hero-lead br{display:none}.hero-actions{margin-top:32px;gap:20px;flex-wrap:wrap}.button{min-width:180px;padding:14px 17px;font-size:12px}.hero-actions .text-link{font-size:12px}.hero-bottom{bottom:20px;font-size:8px}.hero-bottom>span:first-child{display:none}.hero-index{right:15px;top:40%;font-size:9px}.section-pad{padding:82px 0}.intro-grid,.company-grid,.contact-grid{grid-template-columns:1fr;gap:28px}.intro-grid>.section-label{margin:0}.headline{font-size:clamp(30px,7.4vw,44px);line-height:1.6;margin:20px 0}.intro-content .headline{margin:16px 0 24px}.body-copy{font-size:13px}.mobile-only{display:block}.intro-aside{grid-column:1;margin-top:12px;padding:0 0 0 20px}.stat-number{font-size:52px}.section-top{display:block;margin-bottom:35px}.section-aside{margin-top:15px;font-size:12px}.service-item{grid-template-columns:35px minmax(0,1fr) 20px;gap:10px;padding:25px 0}.service-body h3{font-size:19px}.service-body p{font-size:12px}.service-arrow{font-size:17px}.strength-section{padding:88px 0}.light-headline{margin-bottom:32px}.strength-grid{grid-template-columns:1fr}.strength-card,.strength-card+.strength-card{min-height:unset;padding:25px 0;border-left:0;border-bottom:1px solid rgba(255,255,255,.18)}.strength-card h3{font-size:22px;margin:17px 0 9px}.strength-card p{font-size:12px}.company-watermark{display:none}.company-table>div{grid-template-columns:100px minmax(0,1fr);gap:10px;padding:16px 0}.company-table dt,.company-table dd{font-size:12px}.contact-section{padding:80px 0}.contact-section h2{font-size:34px}.contact-panel{padding:28px 23px}.contact-phone{font-size:clamp(25px,7vw,36px)}.footer-top{flex-wrap:wrap;align-items:flex-start}.footer-top p{width:100%;order:3}.footer-bottom{gap:15px;font-size:9px}.footer-bottom span:last-child{display:none}}@media(max-width:360px){.shell{width:calc(100% - 32px)}.hero h1{font-size:39px}.hero-actions{align-items:flex-start;flex-direction:column}.contact-phone{font-size:25px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

.strength-section::after{content:'';position:absolute;right:-60px;top:-80px;width:420px;height:420px;background:url('assets/watermark.webp') center/contain no-repeat;opacity:.09;pointer-events:none;z-index:-1}


/* Responsive typography and section-rhythm refinement — 2026-11-03 */
.headline,
.strength-card h3,
.service-body h3,
.contact-section h2 { text-wrap: pretty; }
.strength-title-row { display: block; }
.strength-chunk { display: inline; }
.no-orphan { white-space: nowrap; }

/* Wide desktop: tighten excessively loose section gaps without losing editorial whitespace. */
@media (min-width: 1101px) {
  .section-pad { padding-top: 112px; padding-bottom: 112px; }
  .service-section { padding-bottom: 96px; }
  .strength-section { padding-top: 108px; padding-bottom: 112px; }
  .light-headline { line-height: 1.45; margin: 24px 0 50px; }
}

@media (min-width: 761px) and (max-width: 1100px) {
  .section-pad { padding-top: 88px; padding-bottom: 88px; }
  .service-section { padding-bottom: 72px; }
  .strength-section { padding-top: 90px; padding-bottom: 92px; }
  .light-headline { font-size: clamp(32px, 3.75vw, 42px); line-height: 1.46; margin-bottom: 45px; }
  .strength-card { padding-right: 18px; }
  .strength-card + .strength-card { padding-left: 22px; }
  .strength-card h3 { font-size: clamp(19px, 2.2vw, 23px); }
}

/* Mobile: intentional phrase-level line breaks; never leave a single particle on a line. */
@media (max-width: 760px) {
  .section-pad { padding-top: 68px; padding-bottom: 68px; }
  .intro { padding-bottom: 64px; }
  .service-section { padding-top: 70px; padding-bottom: 46px; }
  .strength-section { padding-top: 66px; padding-bottom: 70px; }
  .strength-content .section-label { margin-bottom: 15px; }
  .headline { font-size: clamp(27px, 7vw, 34px); line-height: 1.47; letter-spacing: -.046em; }
  .light-headline { font-size: clamp(26px, 6.7vw, 30px); line-height: 1.52; letter-spacing: -.045em; margin: 0 0 28px; }
  .strength-title-row, .strength-chunk { display: block; }
  .strength-title-row + .strength-title-row { margin-top: 8px; }
  .strength-grid { border-top-color: rgba(255,255,255,.24); }
  .strength-card, .strength-card + .strength-card { padding: 23px 0 24px; }
  .strength-card h3 { font-size: clamp(20px,5.3vw,22px); line-height: 1.55; margin: 12px 0 8px; }
  .strength-card p { font-size: 12.5px; line-height: 1.95; }
  .service-item { padding-top: 22px; padding-bottom: 22px; }
  .service-body h3 { font-size: clamp(17px, 4.8vw, 19px); line-height: 1.55; letter-spacing: -.04em; }
  .service-body p { line-height: 1.85; }
  .section-top { margin-bottom: 29px; }
  .company-section { padding-top: 76px; padding-bottom: 78px; }
  .company-grid { gap: 24px; }
  .contact-section { padding-top: 70px; padding-bottom: 70px; }
  .contact-section h2 { font-size: clamp(29px, 7.5vw, 33px); }
}

@media (max-width: 375px) {
  .light-headline { font-size: 25.5px; line-height: 1.52; }
  .strength-card h3 { font-size: 20px; }
}
/* Keep iOS Safari text autosizing from unexpectedly inflating headings and body copy. */
html { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
.hero-content { max-width: 100%; min-width: 0; }
.hero-lead { max-width: 100%; overflow-wrap: anywhere; }
@media (max-width: 760px) { .hero-lead br { display: inline; } }


/* 2026-11-03: Complete five-business presentation (19 statutory/service items) */
.business-card-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:22px;align-items:stretch}
.business-card{grid-column:span 2;min-width:0;position:relative;background:#fff;border:1px solid #e1e5e6;padding:30px 30px 34px;box-shadow:0 8px 32px rgba(20,39,55,.045);transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease}
.business-card:nth-child(n+4){grid-column:span 3}
.business-card::before{content:"";position:absolute;top:-1px;left:-1px;right:-1px;height:3px;background:linear-gradient(90deg,#bda177,#d6c09e);transform-origin:left center;transform:scaleX(.16);transition:transform .35s ease}
.business-card:hover{box-shadow:0 14px 44px rgba(20,39,55,.09);border-color:#c8d0d2;transform:translateY(-3px)}
.business-card:hover::before{transform:scaleX(1)}
.business-card-top{display:flex;align-items:center;gap:16px}
.business-number{font:600 11px/1.5 var(--font-en);letter-spacing:.16em;color:#9b805e;white-space:nowrap}
.business-card-rule{height:1px;background:#e5e7e6;flex:1}
.business-en{margin:27px 0 7px;font:600 10px/1.5 var(--font-en);letter-spacing:.11em;color:#8a949b}
.business-card h3{font-size:clamp(18px,1.65vw,23px);font-weight:600;line-height:1.55;letter-spacing:-.04em;color:#172c40;margin:0 0 24px;overflow-wrap:anywhere}
.business-points{margin:0;padding:23px 0 0;list-style:none;border-top:1px solid #e8ebea;display:grid;align-content:start;gap:15px}
.business-points li{position:relative;padding-left:22px;font-size:13px;line-height:1.85;letter-spacing:.015em;color:#4f5d67;overflow-wrap:anywhere;line-break:strict}
.business-points li::before{content:"";width:6px;height:9px;position:absolute;left:3px;top:.57em;border-right:1.5px solid #b3966c;border-bottom:1.5px solid #b3966c;transform:rotate(42deg)}
@media(max-width:1050px){.business-card-grid{gap:15px}.business-card{padding:25px 22px 28px}.business-card h3{font-size:19px}.business-points li{font-size:12px}}
@media(max-width:760px){.business-card-grid{display:grid;grid-template-columns:1fr;gap:15px}.business-card,.business-card:nth-child(n+4){grid-column:1;padding:24px 22px 27px}.business-card::before{transform:scaleX(1)}.business-en{margin:19px 0 5px;font-size:9px}.business-card h3{font-size:19px;margin-bottom:17px}.business-points{gap:12px;padding-top:18px}.business-points li{font-size:13px;line-height:1.8}.business-card:hover{transform:none}}
