
:root{
  --bg:#f8f7f4;
  --bg-2:#ffffff;
  --bg-3:#f2f8fa;
  --ink:#171717;
  --muted:#666b73;
  --line:#e6e4dd;
  --line-strong:#d6c39c;
  --gold:#c9a660;
  --gold-deep:#b58d3a;
  --aqua:#64c8d3;
  --aqua-soft:#eaf8fb;
  --shadow:0 18px 48px rgba(17,17,17,.08);
  --shadow-soft:0 12px 32px rgba(17,17,17,.05);
  --radius:24px;
  --radius-sm:16px;
  --serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP","Times New Roman",serif;
  --sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --shell:min(1240px, calc(100% - 48px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:linear-gradient(180deg,#ffffff 0%, #fbfaf7 80%, #f7fafb 100%);color:var(--ink);font-family:var(--sans);line-height:1.9;-webkit-font-smoothing:antialiased}
img{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
.shell{width:var(--shell);margin-inline:auto}
.narrow{max-width:820px}
.sr-only,.skip-link{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link:focus{position:fixed;z-index:9999;top:10px;left:10px;width:auto;height:auto;clip:auto;background:#fff;padding:10px 14px;border:1px solid var(--line)}
.site-header{position:sticky;top:0;z-index:100;background:rgba(255,255,255,.9);backdrop-filter:blur(14px);border-bottom:1px solid rgba(0,0,0,.06)}
.header-inner{min-height:92px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:inline-flex;flex-direction:column;line-height:1}
.brand-ja{font-family:var(--serif);font-size:25px;letter-spacing:.08em}
.brand-en{margin-top:10px;font-size:11px;letter-spacing:.34em;color:var(--gold)}
.primary-nav .menu,.footer-menu{list-style:none;display:flex;gap:34px;padding:0;margin:0;align-items:center}
.primary-nav a{font-size:14px;letter-spacing:.04em;position:relative}
.primary-nav a::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--gold);transition:.25s}
.primary-nav a:hover::after{width:100%}
.menu-toggle{display:none;background:none;border:0;width:46px;height:46px;padding:8px}
.menu-toggle span:not(.sr-only){display:block;height:2px;background:#111;margin:7px 0;border-radius:1px}
.eyebrow{margin:0 0 18px;font-size:12px;letter-spacing:.3em;text-transform:uppercase}
.eyebrow.gold{color:var(--gold)}
.eyebrow.aqua{color:#43afbc}
.hero-rule{display:block;width:66px;height:2px;background:linear-gradient(90deg,var(--gold),rgba(201,166,96,.1));margin:24px 0 30px}
.section{padding:100px 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:36px}
.section-head.small{margin-bottom:22px}
.section h2,.page-hero h1,.single-hero h1,.contact-aside h2,.info-card h2,.article-cta h2,.cta-banner h2{font-family:var(--serif);font-weight:400;letter-spacing:.06em;line-height:1.55;margin:0}
.section h2{font-size:clamp(30px,3vw,42px)}
.text-link{display:inline-flex;align-items:center;gap:10px;font-size:13px;letter-spacing:.06em;color:#2b2b2b}
.text-link span{color:var(--gold)}
.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:56px;padding:0 28px;border-radius:0;border:1px solid transparent;font-size:14px;letter-spacing:.08em;transition:.25s}
.button-gold{background:linear-gradient(90deg,var(--gold-deep),var(--gold));color:#fff;box-shadow:var(--shadow-soft)}
.button-gold:hover{transform:translateY(-1px);filter:brightness(1.02)}
.button-outline{border-color:var(--line-strong);background:#fff;color:var(--ink)}
.button-outline:hover{border-color:var(--gold);color:var(--gold)}
.button-aqua{background:linear-gradient(90deg,#46bcc8,#6fd3dd);color:#fff;box-shadow:var(--shadow-soft)}
.button-aqua:hover{transform:translateY(-1px);filter:brightness(1.02)}
.button-dark{background:#111;color:#fff}
.button-dark:hover{background:#333}
.home-hero{position:relative;overflow:hidden;padding:48px 0 84px}
.home-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 18%, rgba(201,166,96,.1), transparent 28%), radial-gradient(circle at 80% 35%, rgba(100,200,211,.12), transparent 24%), linear-gradient(180deg,#ffffff 0%, #fbfaf7 70%, transparent 100%);pointer-events:none}
.home-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(420px,1.15fr);gap:52px;align-items:center}
.home-hero-copy{padding:34px 0 20px}
.home-hero h1{font-family:var(--serif);font-size:clamp(52px,6vw,88px);font-weight:400;line-height:1.35;letter-spacing:.06em;margin:0}
.home-hero h1 span{display:block}
.home-hero-lead{max-width:560px;font-size:16px;color:#4f545b;margin:0 0 34px}
.home-hero-actions{display:flex;flex-wrap:wrap;gap:18px}
.home-hero-visual{position:relative}
.hero-visual-card{position:relative;background:linear-gradient(145deg,#fbfaf7 0%, #ffffff 45%, #f2eee7 100%);border-radius:30px;overflow:hidden;box-shadow:0 28px 60px rgba(17,17,17,.09);border:1px solid rgba(201,166,96,.28)}
.hero-visual-card::before{content:"";position:absolute;inset:12px;border-radius:24px;border:1px solid rgba(201,166,96,.16);pointer-events:none}
.hero-visual-card img{width:100%;height:100%;object-fit:cover}
.home-cards-section{padding-top:10px}
.section-panel{background:rgba(255,255,255,.88);border:1px solid rgba(201,166,96,.18);box-shadow:var(--shadow);border-radius:32px;padding:34px}
.cards-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.cards-grid-5{grid-template-columns:repeat(5,minmax(0,1fr))}
.interview-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #ebe8e0;border-radius:18px;overflow:hidden;box-shadow:var(--shadow-soft);transition:.28s}
.interview-card:hover{transform:translateY(-4px);box-shadow:0 20px 40px rgba(17,17,17,.1)}
.card-image{display:block;aspect-ratio:1.42/1;background:linear-gradient(135deg,#f3f3f3,#eceae6);overflow:hidden}
.card-image img{width:100%;height:100%;object-fit:cover;transition:.4s}
.interview-card:hover .card-image img{transform:scale(1.04)}
.image-placeholder{display:grid;place-items:center;width:100%;height:100%;font-family:var(--serif);letter-spacing:.22em;color:var(--gold);background:linear-gradient(135deg,#f8f7f4,#f0eee7)}
.card-body{padding:18px 18px 20px}
.card-meta{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;color:#7b8087;margin-bottom:10px}
.card-pill{display:inline-flex;align-items:center;min-height:28px;padding:0 10px;border-radius:999px;background:rgba(201,166,96,.16);color:#8c6b2c;font-size:11px;letter-spacing:.08em}
.card-body h3{font-family:var(--serif);font-size:24px;line-height:1.6;font-weight:400;margin:0 0 10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.card-body h3 a:hover{color:var(--gold-deep)}
.card-excerpt{margin:0 0 14px;font-size:13px;line-height:1.8;color:#596069;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.8em}
.card-company,.card-person{margin:0;font-size:12px;color:#444a51}
.card-person{color:#7b8087}
.empty-state{padding:36px 0;color:#666}
.latest-section{padding-top:48px}
.home-discovery{padding-top:50px}
.discovery-grid{display:grid;grid-template-columns:minmax(0,320px) minmax(0,1fr);gap:24px}
.discovery-box{background:#fff;border:1px solid rgba(100,200,211,.4);border-radius:24px;padding:28px;box-shadow:var(--shadow-soft)}
.term-list{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.term-list a,.term-list span{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #edf1f2;padding:10px 0;color:#30353b}
.term-list a:hover{color:#43afbc}
.tag-clouds{display:flex;flex-wrap:wrap;gap:10px}
.tag-clouds a{display:inline-flex;align-items:center;min-height:38px;padding:0 16px;border:1px solid #c9e9ec;border-radius:999px;background:#fff;color:#4d5963;font-size:13px;transition:.22s}
.tag-clouds a:hover{background:var(--aqua-soft);border-color:#8cd6dd;color:#1f7f8b}
.stats-section{padding-top:28px}
.stats-wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.stats-wrap > div{padding:30px 20px;border-radius:20px;background:#fff;border:1px solid rgba(201,166,96,.18);text-align:center;box-shadow:var(--shadow-soft)}
.stats-wrap strong{display:block;font-family:var(--serif);font-size:52px;font-weight:400;line-height:1.1;margin-bottom:8px}
.stats-wrap span{font-size:13px;letter-spacing:.14em;color:#717781}
.home-cta-section{padding-top:54px;padding-bottom:110px}
.cta-banner{display:grid;grid-template-columns:1.1fr .8fr;align-items:center;gap:24px;padding:40px 42px;border-radius:28px;background:linear-gradient(135deg,#f8fbfc 0%, #f9f8f4 56%, #eef9fb 100%);border:1px solid rgba(100,200,211,.28);box-shadow:var(--shadow-soft);position:relative;overflow:hidden}
.cta-banner::after{content:"";position:absolute;right:-30px;bottom:-18px;width:280px;height:140px;background:radial-gradient(circle at center, rgba(100,200,211,.15), transparent 65%)}
.cta-banner h2{font-size:clamp(26px,3.2vw,40px);margin-bottom:10px}
.cta-banner p:not(.eyebrow){margin:0;color:#56606b}
.cta-banner-actions{display:flex;justify-content:flex-end}
.page-hero{padding:80px 0 54px;background:linear-gradient(180deg,#fcfbf8 0%, #ffffff 100%);border-bottom:1px solid rgba(0,0,0,.04)}
.page-hero h1{font-size:clamp(36px,4vw,62px);margin-bottom:10px}
.page-hero p:not(.eyebrow){color:#5d636b;max-width:720px}
.archive-hero,.contact-hero,.single-hero{position:relative}
.archive-tools{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:22px;align-items:start;margin-bottom:42px}
.search-form{display:flex;border:1px solid #d7ddd9;border-radius:999px;overflow:hidden;background:#fff;box-shadow:var(--shadow-soft)}
.search-form label{flex:1}
.search-form input{width:100%;height:52px;border:0;padding:0 18px;background:transparent}
.search-form button{border:0;background:#111;color:#fff;min-width:90px}
.term-links{display:flex;flex-wrap:wrap;gap:10px}
.term-links a{display:inline-flex;align-items:center;min-height:38px;padding:0 14px;background:#fff;border:1px solid #e5ecee;border-radius:999px;font-size:13px;color:#4f5964}
.term-links a:hover{background:var(--aqua-soft);border-color:#9ddde3;color:#1f7f8b}
.navigation.pagination{margin-top:42px}
.nav-links{display:flex;gap:10px;flex-wrap:wrap}
.page-numbers{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid #ddd;border-radius:999px;background:#fff}
.page-numbers.current{background:#111;color:#fff;border-color:#111}
.single-hero-inner{display:flex;justify-content:space-between;gap:26px;align-items:flex-end}
.single-person-card{min-width:240px;max-width:320px;padding:24px;border-radius:24px;background:#fff;border:1px solid rgba(201,166,96,.16);box-shadow:var(--shadow-soft)}
.single-person-card strong{display:block;font-family:var(--serif);font-size:28px;font-weight:400;line-height:1.4}
.single-person-card span,.single-person-card time{display:block;color:#636972;font-size:13px}
.single-person-card time{margin-top:8px}
.interview-portrait{margin-top:36px;margin-bottom:10px}
.interview-portrait img{width:100%;border-radius:28px;box-shadow:var(--shadow)}
.article-layout{display:grid;grid-template-columns:80px minmax(0,820px);justify-content:center;gap:44px;padding-top:54px;padding-bottom:100px}
.share-rail{display:flex;flex-direction:column;align-items:center;gap:16px;font-size:12px;position:sticky;top:120px;height:max-content}
.share-rail span{writing-mode:vertical-rl;color:#8d929b;letter-spacing:.16em}
.share-rail a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:999px;border:1px solid #dde3e5;background:#fff;box-shadow:var(--shadow-soft)}
.article-main{min-width:0}
.article-lead{font-family:var(--serif);font-size:28px;line-height:2;color:#20242a;margin:0 0 48px}
.entry-content{font-size:16px;color:#24282f}
.entry-content > *{margin-top:0;margin-bottom:26px}
.entry-content h2{font-family:var(--serif);font-weight:400;font-size:36px;line-height:1.55;margin-top:74px;margin-bottom:26px}
.entry-content h3{font-family:var(--serif);font-weight:400;font-size:26px;line-height:1.6;margin-top:52px;margin-bottom:20px}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content blockquote{margin:40px 0;padding:28px 32px;border-left:3px solid var(--gold);background:linear-gradient(135deg,#faf8f2 0%, #f7fbfc 100%);border-radius:0 18px 18px 0;font-family:var(--serif);font-size:21px;line-height:1.9;color:#23272e}
.entry-content img{border-radius:22px;box-shadow:var(--shadow-soft)}
.profile-box{margin-top:72px;padding:34px;border-radius:28px;background:#fff;border:1px solid rgba(100,200,211,.24);box-shadow:var(--shadow-soft)}
.profile-box h2{font-size:32px}
.profile-box dl{margin:24px 0 0}
.profile-box dl > div{display:grid;grid-template-columns:140px 1fr;gap:18px;padding:14px 0;border-top:1px solid #e8edf0}
.profile-box dt{font-size:13px;color:#76808b}
.profile-box dd{margin:0}
.article-cta{margin-top:48px;padding:32px 34px;border-radius:28px;background:linear-gradient(135deg,#f8fbfc 0%, #fefdf9 100%);border:1px solid rgba(100,200,211,.26);display:flex;align-items:center;justify-content:space-between;gap:24px}
.article-cta h2{font-size:30px;margin-bottom:8px}
.article-cta p{margin:0;color:#58616b}
.contact-layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:28px;align-items:start}
.contact-form,.form-grid{display:grid;gap:20px}
.form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-form label{display:grid;gap:8px;font-size:14px}
.contact-form label > span{font-size:11px;color:#8d6f33}
.contact-form input,.contact-form select,.contact-form textarea{width:100%;padding:14px 16px;border:1px solid #d7dede;border-radius:14px;background:#fff}
.contact-form textarea{resize:vertical;min-height:180px}
.privacy-check{display:flex!important;align-items:center;gap:10px}
.privacy-check input{width:auto}
.hp-field{position:absolute;left:-9999px}
.contact-aside{display:grid;gap:18px}
.aside-card{padding:28px;border-radius:24px;background:#fff;border:1px solid rgba(201,166,96,.16);box-shadow:var(--shadow-soft)}
.aside-card.tint{background:linear-gradient(135deg,#f6fbfc 0%, #fffefb 100%);border-color:rgba(100,200,211,.3)}
.aside-card h2{font-size:30px;margin-bottom:14px}
.aside-card ul{margin:0;padding-left:1.2em}
.aside-card p,.aside-card li{color:#55606c}
.notice{padding:16px 18px;margin-bottom:22px;border-radius:14px}
.notice.success{background:#eef8f0;border:1px solid #a6d3ae}
.notice.error{background:#fff0f0;border:1px solid #e0aaaa}
.static-page-content .article-lead{margin-bottom:34px}
.info-cards{display:grid;gap:20px;margin:34px 0}
.info-cards.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.info-cards.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.info-card{padding:28px;border-radius:24px;background:#fff;border:1px solid rgba(201,166,96,.16);box-shadow:var(--shadow-soft)}
.info-card.tint{background:linear-gradient(135deg,#f5fbfc 0%, #fffdf9 100%);border-color:rgba(100,200,211,.3)}
.info-card h2{font-size:28px;margin-bottom:10px}
.info-card p{margin:0;color:#56606a}
.company-box{padding:32px;border-radius:24px;background:#fff;border:1px solid rgba(201,166,96,.16);box-shadow:var(--shadow-soft)}
.company-box dl{margin:0}
.company-box dl > div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:14px 0;border-top:1px solid #ececec}
.company-box dl > div:first-child{border-top:0}
.company-box dt{font-size:13px;color:#76808b}
.company-box dd{margin:0}
.site-footer{background:radial-gradient(circle at 0% 0%, rgba(201,166,96,.15), transparent 30%), linear-gradient(180deg,#101112 0%, #0b0c0d 100%);color:#fff;padding:64px 0 24px}
.footer-grid{display:grid;grid-template-columns:1.1fr .9fr .7fr;gap:54px}
.brand-footer .brand-ja{color:#fff}
.footer-message{font-family:var(--serif);color:#b9bdc4;margin-top:24px;font-size:19px;line-height:1.8}
.footer-menu{display:grid;grid-template-columns:1fr;gap:12px}
.footer-menu a,.footer-company a,.footer-company span{font-size:13px;color:#d0d3d8}
.footer-menu a:hover,.footer-company a:hover{color:#fff}
.footer-company{display:flex;flex-direction:column;gap:10px}
.footer-bottom{margin-top:42px;padding-top:18px;border-top:1px solid rgba(255,255,255,.1);color:#8e929a}
.error-page{min-height:70vh;display:grid;place-items:center;text-align:center}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .75s ease,transform .75s ease}
.reveal.is-visible{opacity:1;transform:none}
@media (max-width: 1140px){
  .cards-grid-5{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-hero-grid{grid-template-columns:1fr;gap:30px}
  .home-hero-copy{padding-top:10px}
  .hero-visual-card{max-width:900px;margin-inline:auto}
  .single-hero-inner{flex-direction:column;align-items:flex-start}
  .article-layout{grid-template-columns:1fr}
  .share-rail{display:none}
  .contact-layout{grid-template-columns:1fr}
}
@media (max-width: 980px){
  .primary-nav{position:fixed;inset:92px 0 auto 0;background:rgba(255,255,255,.98);backdrop-filter:blur(12px);padding:16px 24px 24px;border-bottom:1px solid rgba(0,0,0,.08);transform:translateY(-120%);transition:.3s;visibility:hidden}
  .primary-nav.is-open{transform:none;visibility:visible}
  .primary-nav .menu{flex-direction:column;align-items:flex-start;gap:18px}
  .menu-toggle{display:block}
  .discovery-grid,.stats-wrap,.footer-grid,.cta-banner{grid-template-columns:1fr}
  .cards-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .archive-tools{grid-template-columns:1fr}
  .info-cards.two,.info-cards.three,.form-grid.two{grid-template-columns:1fr}
}
@media (max-width: 680px){
  :root{--shell:min(100% - 32px, 100% - 32px)}
  .header-inner{min-height:82px}
  .brand-ja{font-size:22px}
  .brand-en{font-size:10px}
  .section{padding:78px 0}
  .home-hero{padding-top:30px;padding-bottom:60px}
  .home-hero h1{font-size:clamp(38px,11vw,60px)}
  .home-hero-lead{font-size:15px}
  .home-hero-actions,.section-head{gap:14px}
  .button{width:100%;min-height:54px}
  .section-panel{padding:24px}
  .cards-grid,.cards-grid-5{grid-template-columns:1fr}
  .section-head{flex-direction:column;align-items:flex-start}
  .article-lead{font-size:22px}
  .entry-content h2{font-size:30px}
  .entry-content blockquote{padding:20px 22px;font-size:19px}
  .profile-box dl > div,.company-box dl > div{grid-template-columns:1fr;gap:8px}
  .footer-grid{gap:34px}
}


/* =========================================================
   Hero v2.1 — approved premium + pop direction
   The headline is always exactly two lines.
========================================================= */
:root{
  --hero-navy:#101a2e;
  --hero-gold:#d5a947;
  --hero-aqua:#72cedb;
}
.site-header{background:rgba(255,255,255,.94);border-bottom:1px solid rgba(196,158,79,.2)}
.header-inner{min-height:116px}
.brand{display:flex;flex-direction:row;align-items:center;gap:16px}
.brand-mark{width:62px;height:62px;object-fit:contain;flex:0 0 auto}
.brand-copy{display:flex;flex-direction:column;line-height:1}
.brand-ja{font-size:27px;color:#b8872d;letter-spacing:.12em}
.brand-en{margin-top:11px;color:#b8872d}
.primary-nav .menu{gap:44px}
.primary-nav a{color:#222831}

.home-hero{
  position:relative;
  min-height:calc(100vh - 116px);
  max-height:880px;
  overflow:hidden;
  padding:0;
  isolation:isolate;
  background:
    radial-gradient(circle at 16% 22%,rgba(213,169,71,.09),transparent 24%),
    radial-gradient(circle at 86% 18%,rgba(114,206,219,.12),transparent 26%),
    linear-gradient(180deg,#fff 0%,#fcfdfe 63%,#f5fbfd 100%);
}
.home-hero::before{
  content:"";
  position:absolute;
  z-index:-1;
  left:-7%;
  right:28%;
  bottom:-18%;
  height:44%;
  border-radius:50%;
  background:linear-gradient(180deg,rgba(103,202,216,.09),rgba(103,202,216,0));
  transform:rotate(-5deg);
  pointer-events:none;
}
.home-hero::after{
  content:"";
  position:absolute;
  z-index:2;
  inset:auto 0 0 0;
  height:130px;
  background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.93));
  pointer-events:none;
}
.home-hero-grid{
  position:relative;
  z-index:4;
  display:grid;
  grid-template-columns:minmax(0,730px) 1fr;
  align-items:center;
  min-height:calc(100vh - 116px);
  max-height:880px;
  gap:20px;
}
.home-hero-copy{padding:54px 0 80px;max-width:730px}
.home-hero-copy .eyebrow{margin-bottom:38px}
.home-hero h1{
  margin:0;
  color:var(--hero-navy);
  font-family:var(--serif);
  font-size:clamp(34px,4.65vw,80px);
  font-weight:400;
  line-height:1.46;
  letter-spacing:.035em;
}
.home-hero h1 span{display:block;white-space:nowrap}
.hero-swoosh{
  display:block;
  width:86%;
  max-width:590px;
  height:18px;
  margin:2px 0 24px;
  background:
    linear-gradient(174deg,transparent 43%,rgba(114,206,219,.7) 46%,rgba(114,206,219,.7) 50%,transparent 53%) left center/52% 100% no-repeat,
    linear-gradient(184deg,transparent 43%,rgba(114,206,219,.55) 46%,rgba(114,206,219,.55) 50%,transparent 53%) right center/58% 100% no-repeat;
  transform:rotate(-1deg);
}
.home-hero-lead{margin:0 0 34px;color:#424b58;font-size:16px;line-height:2.15;letter-spacing:.03em}
.home-hero-actions{display:flex;gap:20px;flex-wrap:wrap}
.home-hero-actions .button{min-width:235px;height:68px;font-size:15px}
.button-gold{background:linear-gradient(105deg,#ca9330 0%,#e4bd64 58%,#d5a947 100%);color:#17130c;box-shadow:0 18px 38px rgba(190,143,45,.22)}
.button-outline{background:rgba(255,255,255,.83);border-color:#d3a649;color:#946b1e}

.home-hero-city{
  position:absolute;
  z-index:1;
  top:0;
  right:-1.5%;
  bottom:0;
  width:min(59vw,1030px);
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 13%,#000 29%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.4) 13%,#000 29%);
}
.home-hero-city::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.2),transparent 24%),linear-gradient(180deg,rgba(255,255,255,.1),transparent 50%);
  pointer-events:none;
}
.home-hero-city img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  filter:saturate(.91) contrast(.98) brightness(1.02);
}
.hero-dot-grid{
  position:absolute;
  z-index:3;
  left:4.5%;
  bottom:7%;
  width:145px;
  height:54px;
  opacity:.85;
  background-image:radial-gradient(circle,#d6ad57 1.7px,transparent 2px);
  background-size:14px 14px;
}

@media (max-width:1180px){
  .header-inner{min-height:98px}
  .home-hero{min-height:auto;max-height:none}
  .home-hero-grid{min-height:700px;max-height:none;grid-template-columns:minmax(0,620px) 1fr}
  .home-hero-copy{max-width:620px}
  .home-hero-city{width:62vw;opacity:.92}
  .home-hero h1{font-size:clamp(42px,5.25vw,64px)}
}
@media (max-width:980px){
  .header-inner{min-height:88px}
  .brand-mark{width:52px;height:52px}
  .brand-ja{font-size:22px}
  .primary-nav{inset:88px 0 auto 0}
  .home-hero-grid{min-height:760px;display:block}
  .home-hero-copy{position:relative;z-index:4;width:min(100%,650px);padding:68px 0 320px}
  .home-hero-city{top:auto;right:-8%;bottom:0;width:105%;height:420px;opacity:.82;-webkit-mask-image:linear-gradient(180deg,transparent 0%,#000 22%);mask-image:linear-gradient(180deg,transparent 0%,#000 22%)}
  .home-hero-city img{object-position:center 35%}
  .hero-dot-grid{bottom:3%}
}
@media (max-width:680px){
  .brand{gap:10px}
  .brand-mark{width:43px;height:43px}
  .brand-ja{font-size:18px;letter-spacing:.08em}
  .brand-en{font-size:8px;margin-top:7px}
  .home-hero-grid{min-height:700px}
  .home-hero-copy{width:100%;padding:54px 0 300px}
  .home-hero-copy .eyebrow{margin-bottom:24px}
  .home-hero h1{font-size:clamp(30px,9vw,38px);line-height:1.55;letter-spacing:.02em}
  .hero-swoosh{width:92%;height:12px;margin:0 0 18px}
  .home-hero-lead{font-size:14px;line-height:2}
  .home-hero-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .home-hero-actions .button{min-width:0;width:100%;height:56px;padding:0 12px;font-size:11px}
  .home-hero-city{right:-18%;width:126%;height:360px;opacity:.8}
  .hero-dot-grid{width:100px;height:38px;background-size:11px 11px;left:6%;bottom:2%}
}


/* Subtle banner strip v2.3 */
.hero-banners{position:relative;z-index:8;margin-top:-18px;padding:0 0 10px}
.banner-strip{display:flex;align-items:stretch;gap:14px;overflow-x:auto;padding:6px 0 12px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(201,166,96,.35) transparent}
.media-banner{flex:0 0 calc((100% - 56px)/5);min-width:0;aspect-ratio:3/1;display:block;overflow:hidden;background:#fff;border:1px solid rgba(27,38,52,.12);box-shadow:0 7px 20px rgba(27,38,52,.06);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;scroll-snap-align:start}
a.media-banner:hover{transform:translateY(-2px);border-color:rgba(201,166,96,.45);box-shadow:0 12px 25px rgba(27,38,52,.1)}
.media-banner img{width:100%;height:100%;object-fit:contain;background:#fff}
.hero-banners + .home-cards-section{padding-top:44px}
@media(max-width:1100px){
  .media-banner{flex-basis:calc((100% - 42px)/4)}
}
@media(max-width:820px){
  .hero-banners{margin-top:-10px}
  .media-banner{flex-basis:220px;min-width:220px}
}
@media(max-width:680px){
  .hero-banners{margin-top:0;padding-top:4px}
  .banner-strip{width:calc(100% - 16px);margin-left:16px;padding-right:16px}
  .media-banner{flex-basis:190px;min-width:190px}
  .hero-banners + .home-cards-section{padding-top:38px}
}

