@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+JP:wght@300;400;500;600;700&family=Noto+Sans+KR:wght@300;400;500;600;700&family=Noto+Serif+JP:wght@500;600;700&family=Noto+Serif+KR:wght@500;600;700&display=swap";:root{--bg: #faf8f3;--bg-alt: #f3ede2;--fg: #0a1628;--fg-soft: #1c2d44;--muted: #4a5d73;--muted-soft: #7388a0;--accent: #0f4c81;--accent-strong: #0a3a66;--accent-soft: #e6eff6;--accent-warm: #c87a3a;--border-color: #d8d2c4;--border-strong: #0a1628;--card-bg: #ffffff;--radius-sm: 2px;--radius-md: 6px;--shadow-card: 0 1px 2px rgba(10,22,40,.04), 0 4px 14px rgba(10,22,40,.05);--shadow-card-hover: 0 2px 6px rgba(10,22,40,.05), 0 16px 32px rgba(15,76,129,.1), 0 24px 48px rgba(15,76,129,.06);--ease-out: cubic-bezier(.22, 1, .36, 1);--font-heading: "Noto Serif JP", "Noto Serif KR", "Georgia", serif;--font-body: "Noto Sans JP", "Inter", "Noto Sans KR", system-ui, sans-serif;--space-section: 112px;--space-hero: 160px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--fg);background:var(--bg);line-height:1.75;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}.container{max-width:1180px;margin:0 auto;padding:0 32px}.top-bar{position:sticky;top:0;z-index:60;background:#faf8f3eb;border-bottom:1px solid var(--border-color);padding:20px 24px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.top-bar .inner{max-width:1180px;margin:0 auto;display:flex;justify-content:space-between;align-items:center}.top-bar .brand{font-family:var(--font-heading);font-weight:700;font-size:18px;letter-spacing:.05em;color:var(--accent)}.top-bar .brand .dot{color:var(--accent-warm)}.top-bar nav a{margin-left:30px;color:var(--muted);transition:color .2s;font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:600}.top-bar nav a:hover{color:var(--accent)}.top-bar nav a.is-active{color:var(--accent);position:relative}.top-bar nav a.is-active:after{content:"";position:absolute;left:0;right:0;bottom:-8px;height:2px;background:var(--accent-warm);border-radius:1px}.top-bar nav .nav-contact{margin-left:30px;padding:8px 14px;border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-size:12px;letter-spacing:.15em;text-transform:uppercase;font-weight:700;transition:background .2s,color .2s}.top-bar nav .nav-contact:hover{background:var(--accent);color:var(--bg)}.top-bar nav .nav-contact.is-active:after{display:none}.nav-toggle{display:none;background:transparent;border:0;padding:10px;cursor:pointer;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:space-between;z-index:70}.nav-toggle span{display:block;width:22px;height:2px;background:var(--accent);border-radius:1px;transition:transform .25s,opacity .2s;transform-origin:center}.top-bar.is-open .nav-toggle span:nth-child(1){transform:translateY(8px) rotate(45deg)}.top-bar.is-open .nav-toggle span:nth-child(2){opacity:0}.top-bar.is-open .nav-toggle span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.nav-backdrop{display:none;position:fixed;top:0;right:0;bottom:0;left:0;background:#0a162873;z-index:55;border:0;padding:0}.nav-backdrop.is-open{display:block}.page-hero{background:linear-gradient(180deg,var(--bg-alt) 0%,var(--bg) 100%);padding:calc(var(--space-hero) * .7) 0 calc(var(--space-section) * .6);border-bottom:1px solid var(--border-color)}.page-hero .eyebrow{font-size:11px;letter-spacing:.36em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:24px;display:inline-flex;align-items:center;gap:12px}.page-hero .eyebrow:before{content:"";width:32px;height:1px;background:var(--accent)}.page-hero h1{font-family:var(--font-heading);font-weight:700;font-size:clamp(30px,4.2vw,48px);line-height:1.25;letter-spacing:-.02em;margin-bottom:24px;max-width:880px;color:var(--fg)}.page-hero h1 .em{color:var(--accent)}.page-hero h1 .accent-warm{color:var(--accent-warm);font-style:italic}.page-hero .sub{font-size:clamp(14px,1.3vw,17px);line-height:1.85;color:var(--muted);max-width:720px}.route-card{display:flex;flex-direction:column;cursor:pointer;transition:transform .36s var(--ease-out),box-shadow .36s var(--ease-out),border-color .36s var(--ease-out)}.route-card:hover{transform:translateY(-3px);border-color:var(--accent)}.route-cta{margin-top:auto;padding-top:18px;color:var(--accent);font-weight:700;font-size:13px;letter-spacing:.08em}.route-card:hover .route-cta{color:var(--accent-warm)}.hero{background:linear-gradient(180deg,var(--bg-alt) 0%,var(--bg) 100%);padding:var(--space-hero) 0 var(--space-section);border-bottom:1px solid var(--border-color);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:-160px;width:480px;height:480px;background:radial-gradient(circle,rgba(200,122,58,.08) 0%,transparent 70%);pointer-events:none}.hero .eyebrow{font-size:11px;letter-spacing:.36em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:28px;display:inline-flex;align-items:center;gap:12px}.hero .eyebrow:before{content:"";width:32px;height:1px;background:var(--accent)}.hero h1{font-family:var(--font-heading);font-weight:700;font-size:clamp(36px,5.2vw,60px);line-height:1.22;letter-spacing:-.025em;margin-bottom:32px;max-width:920px;color:var(--fg)}.hero h1 .em{color:var(--accent)}.hero h1 .accent-warm{color:var(--accent-warm);font-style:italic}.hero .sub{font-size:clamp(15px,1.4vw,18px);line-height:1.85;color:var(--muted);max-width:720px;margin-bottom:24px}.hero .positioning{display:inline-flex;align-items:center;gap:10px;background:#0f4c810f;border-left:3px solid var(--accent);padding:14px 22px;font-size:14px;color:var(--accent-strong);font-weight:600;letter-spacing:.02em;margin-bottom:48px;max-width:720px}.hero .actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:10px;padding:17px 34px;font-size:14px;font-weight:600;letter-spacing:.04em;border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background .18s var(--ease-out),color .18s var(--ease-out),border-color .18s var(--ease-out),transform .18s var(--ease-out),box-shadow .18s var(--ease-out);font-family:inherit}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong);transform:translateY(-2px);box-shadow:0 2px 4px #0f4c8114,0 12px 24px #0f4c8129}.btn-ghost{color:var(--fg);border-color:var(--fg);background:transparent}.btn-ghost:hover{background:var(--fg);color:var(--bg);transform:translateY(-2px)}.sec{padding:var(--space-section) 0;border-bottom:1px solid var(--border-color)}.sec:last-of-type{border-bottom:none}.sec.alt{background:var(--bg-alt)}.sec-head{margin-bottom:72px;max-width:820px}.sec-head .eyebrow{font-size:11px;letter-spacing:.36em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:18px;display:inline-flex;align-items:center;gap:12px}.sec-head .eyebrow:before{content:"";width:24px;height:1px;background:var(--accent)}.sec-head h2{font-family:var(--font-heading);font-weight:700;font-size:clamp(28px,3.6vw,42px);line-height:1.3;letter-spacing:-.015em;margin-bottom:22px;color:var(--fg)}.sec-head h2 .em{color:var(--accent)}.sec-head h2 .accent-warm{color:var(--accent-warm);font-style:italic}.sec-head .lead{font-size:16px;line-height:1.85;color:var(--muted)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.cards.two{grid-template-columns:repeat(2,1fr);gap:36px}.card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:44px 38px;box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:18px;min-height:260px;transition:transform .36s var(--ease-out),box-shadow .36s var(--ease-out),border-color .36s var(--ease-out);position:relative}.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);border-color:var(--accent)}.card .num{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-weight:700}.card h3{font-family:var(--font-heading);font-weight:600;font-size:22px;line-height:1.4;color:var(--fg)}.card p{font-size:14.5px;line-height:1.85;color:var(--muted)}.card ul{font-size:14px;line-height:1.9;color:var(--muted);padding-left:18px}.card ul li{margin-bottom:8px}.card .icon{font-size:28px;width:56px;height:56px;display:inline-flex;align-items:center;justify-content:center;background:var(--accent-soft);border-radius:var(--radius-md);margin-bottom:4px}.process{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.process .step{background:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:48px 36px 40px;position:relative;box-shadow:var(--shadow-card);transition:transform .36s var(--ease-out),box-shadow .36s var(--ease-out),border-color .36s var(--ease-out)}.process .step:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover);border-color:var(--accent)}.process .step .big-num{position:absolute;top:24px;right:28px;font-family:var(--font-heading);font-size:64px;font-weight:700;color:var(--accent-soft);line-height:1}.process .step .num{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:14px;display:block}.process .step h3{font-family:var(--font-heading);font-weight:700;font-size:26px;line-height:1.3;color:var(--fg);margin-bottom:16px}.process .step p{font-size:14.5px;line-height:1.85;color:var(--muted);margin-bottom:20px}.process .step .deliverable{border-top:1px solid var(--border-color);padding-top:18px;font-size:13px;color:var(--fg-soft)}.process .step .deliverable strong{display:block;font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--accent-warm);margin-bottom:6px;font-weight:700}.dual-card{gap:14px}.dual-card h3{margin-bottom:8px}.tag{font-size:10px;font-weight:700;letter-spacing:.18em;color:#fff;background:var(--accent);padding:5px 11px;border-radius:var(--radius-sm);align-self:flex-start;text-transform:uppercase}.tag.sub{background:var(--muted)}.tag.warm{background:var(--accent-warm)}.pillar{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.pillar-left .eyebrow{font-size:11px;letter-spacing:.36em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:18px;display:inline-block}.pillar-left h2{font-family:var(--font-heading);font-weight:700;font-size:clamp(28px,3.6vw,40px);line-height:1.35;letter-spacing:-.015em;margin-bottom:24px}.pillar-left h2 .em{color:var(--accent-warm);font-style:italic}.pillar-left p{font-size:16px;line-height:1.85;color:var(--muted);margin-bottom:18px}.pillar-right{background:var(--card-bg);border-left:4px solid var(--accent);padding:36px 38px;border-radius:var(--radius-md);box-shadow:var(--shadow-card)}.pillar-right .label{font-size:11px;letter-spacing:.3em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:12px}.pillar-right .quote{font-family:var(--font-heading);font-weight:600;font-size:22px;line-height:1.55;color:var(--fg);margin-bottom:18px}.pillar-right .quote em{color:var(--accent);font-style:italic;font-weight:700}.pillar-right .meta{font-size:13px;color:var(--muted)}.cta-foot{padding:var(--space-section) 0;background:var(--fg);color:var(--bg);position:relative;overflow:hidden}.cta-foot:before{content:"";position:absolute;top:-200px;right:-100px;width:480px;height:480px;background:radial-gradient(circle,rgba(200,122,58,.1) 0%,transparent 70%);pointer-events:none}.cta-foot .box{display:flex;justify-content:space-between;align-items:center;gap:56px;flex-wrap:wrap;position:relative}.cta-foot .eyebrow{font-size:11px;letter-spacing:.36em;text-transform:uppercase;color:var(--accent-warm);font-weight:700;margin-bottom:18px}.cta-foot h3{font-family:var(--font-heading);font-weight:700;font-size:clamp(26px,3vw,36px);line-height:1.35;margin-bottom:18px;color:var(--bg)}.cta-foot h3 .em{color:var(--accent-warm);font-style:italic}.cta-foot p{font-size:15px;color:var(--muted-soft);max-width:540px;line-height:1.85}.cta-foot .actions{display:flex;flex-direction:column;align-items:flex-end;gap:14px}.btn-cta{background:var(--accent-warm);color:#fff;padding:18px 38px;font-size:14px;font-weight:700;letter-spacing:.04em;border-radius:var(--radius-sm);white-space:nowrap;border:none;cursor:pointer;transition:background .2s var(--ease-out),transform .2s var(--ease-out),box-shadow .2s var(--ease-out);display:inline-flex;align-items:center;gap:10px}.btn-cta:hover{background:#b56a2e;transform:translateY(-2px);box-shadow:0 2px 4px #c87a3a1a,0 12px 26px #c87a3a38}.link-cta{color:var(--bg);font-size:13px;letter-spacing:.04em;border-bottom:1px solid var(--muted-soft);padding-bottom:4px;font-weight:500;transition:all .2s}.link-cta:hover{color:var(--accent-warm);border-color:var(--accent-warm)}footer{padding:60px 0 48px;background:#060e1c;color:var(--muted-soft);font-size:13px;letter-spacing:.04em}footer .inner{display:flex;justify-content:space-between;flex-wrap:wrap;gap:24px;align-items:flex-end}footer .brand-f{font-family:var(--font-heading);font-weight:700;color:var(--bg);font-size:17px;margin-bottom:8px;letter-spacing:.05em}footer .brand-f .dot{color:var(--accent-warm)}@media(max-width:920px){:root{--space-section: 80px;--space-hero: 110px}.cards,.cards.two,.process{grid-template-columns:1fr;gap:22px}.pillar{grid-template-columns:1fr;gap:32px}.cta-foot .box{flex-direction:column;align-items:flex-start}.cta-foot .actions{align-items:flex-start;width:100%}.nav-toggle{display:inline-flex}.top-bar nav{display:flex;flex-direction:column;position:fixed;top:0;right:-100%;width:260px;height:100vh;background:var(--bg);border-left:1px solid var(--border-color);padding:96px 32px 40px;gap:22px;transition:right .3s ease;z-index:60;box-shadow:-16px 0 32px #0a162814}.top-bar nav.is-open{right:0}.top-bar nav a{margin-left:0;font-size:14px}.top-bar nav .nav-contact{margin-left:0;align-self:flex-start}}.cta-foot .box.with-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:56px}.cta-foot .form-wrap{background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-md);padding:32px;width:100%;box-shadow:0 1px 2px #0003,0 12px 32px #0000002e}.contact-form{display:grid;gap:14px}.contact-form .row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.contact-form label{display:block;font-size:12.5px;letter-spacing:.02em;color:#faf8f3c7;font-weight:600;margin-bottom:8px}.contact-form label .req{color:var(--accent-warm);margin-left:2px;font-weight:700}.contact-form input,.contact-form textarea{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius-sm);padding:13px 16px;color:var(--bg);font-family:inherit;font-size:14.5px;line-height:1.5;transition:border-color .2s var(--ease-out),background .2s var(--ease-out),box-shadow .2s var(--ease-out)}.contact-form input:hover:not(:focus):not(:disabled),.contact-form textarea:hover:not(:focus):not(:disabled){border-color:#ffffff42;background:#ffffff0f}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#ffffff59}.contact-form input:focus,.contact-form textarea:focus{outline:none;border-color:var(--accent-warm);background:#ffffff14;box-shadow:0 0 0 3px #c87a3a26}.contact-form textarea{min-height:110px;resize:vertical}.contact-form .agree{display:flex;align-items:flex-start;gap:10px;font-size:12.5px;color:var(--muted-soft);line-height:1.55;margin:4px 0 2px}.contact-form .agree input{width:16px;height:16px;margin-top:2px;flex:0 0 16px;accent-color:var(--accent-warm)}.contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}.contact-form button[type=submit]{background:var(--accent-warm);color:#fff;padding:14px 22px;font-size:14px;font-weight:700;letter-spacing:.04em;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background .18s var(--ease-out),transform .18s var(--ease-out)}.contact-form button[type=submit]:hover:not(:disabled){background:#b56a2e;transform:translateY(-1px)}.contact-form button[type=submit]:disabled{opacity:.55;cursor:not-allowed}.form-msg{font-size:13px;padding:10px 12px;border-radius:var(--radius-sm);line-height:1.5}.form-msg.ok{background:#50c88c1f;color:#b9f2d4;border:1px solid rgba(80,200,140,.35)}.form-msg.err{background:#dc5a5a24;color:#ffb8b8;border:1px solid rgba(220,90,90,.4)}@media(max-width:920px){.cta-foot .box.with-form{grid-template-columns:1fr;gap:28px}.cta-foot .form-wrap{padding:22px}.contact-form .row{grid-template-columns:1fr}}
