@import url("https://fonts.googleapis.com/css2?family=Inter:wght@600;700;800&display=swap");
@charset "UTF-8";
:root{--navy:#07162d;--navy2:#0f2d4c;--gold:#b8892c;--gold2:#e5c16d;--paper:#fbf8ef;--ink:#111827;--muted:#667085;--line:#e7dcc0;--white:#fff;--shadow:0 18px 48px rgba(7,22,45,.12)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Hiragino Sans","Yu Gothic",Meiryo,sans-serif;color:var(--ink);background:linear-gradient(180deg,#fff 0%,var(--paper) 100%);line-height:1.85}a{color:inherit;text-decoration:none}.container{width:min(1180px,92%);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid rgba(184,137,44,.25);box-shadow:0 8px 30px rgba(7,22,45,.06)}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:12px;min-width:310px}.logo-mark-img{height:56px;width:auto;display:block}.logo-text-img{height:42px;width:auto;display:block}.nav{display:flex;align-items:center;gap:28px;color:var(--navy);font-size:14px;font-weight:800}.nav a{position:relative}.nav a:not(.nav-cta)::after{content:"";position:absolute;left:0;right:0;bottom:-10px;height:2px;background:linear-gradient(90deg,var(--gold),var(--gold2));transform:scaleX(0);transition:.25s}.nav a:hover::after{transform:scaleX(1)}.nav-cta{padding:10px 18px;border-radius:999px;background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--navy);box-shadow:0 10px 22px rgba(184,137,44,.26)}.header-tel{display:flex;flex-direction:column;line-height:1.1;text-align:right;color:var(--navy);font-weight:900;letter-spacing:.04em}.header-tel span{font-size:11px;color:var(--gold);letter-spacing:.12em;margin-bottom:5px}.hero{position:relative;overflow:hidden;padding:96px 0 88px;background:radial-gradient(circle at 75% 20%,rgba(229,193,109,.24),transparent 26%),linear-gradient(115deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.88) 45%,rgba(7,22,45,.50) 100%),url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="1500" height="820"><defs><linearGradient id="g" x1="0" x2="1"><stop stop-color="%23f8f4e8"/><stop offset="1" stop-color="%23d9e1e9"/></linearGradient></defs><rect width="1500" height="820" fill="url(%23g)"/><g opacity=".36"><rect x="930" y="150" width="230" height="350" fill="%2307162d"/><rect x="988" y="80" width="14" height="470" fill="%2307162d"/><rect x="820" y="165" width="540" height="10" fill="%23b8892c"/><circle cx="1210" cy="465" r="130" fill="%23ffffff"/><rect x="1050" y="555" width="360" height="55" rx="10" fill="%2307162d"/><path d="M0 620 C280 470 480 730 780 575 C990 465 1160 405 1500 480 L1500 820 L0 820z" fill="%23b8892c" opacity=".26"/></g></svg>') center/cover}.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.92),rgba(255,255,255,.66) 50%,rgba(7,22,45,.1));pointer-events:none}.hero-grid{position:relative;display:grid;grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}.eyebrow,.section-kicker{color:var(--gold);font-weight:900;letter-spacing:.16em;font-size:13px;text-transform:uppercase}.hero h1{font-size:clamp(38px,5.4vw,72px);line-height:1.16;margin:14px 0 22px;color:var(--navy);letter-spacing:.06em;text-shadow:0 1px 0 #fff}.lead{font-size:18px;color:#27364b;max-width:720px;font-weight:600}.hero-actions{display:flex;gap:14px;margin-top:34px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:14px 28px;font-weight:900;letter-spacing:.04em;transition:.25s}.btn:hover{transform:translateY(-2px)}.primary{background:linear-gradient(135deg,var(--gold),var(--gold2));color:var(--navy);box-shadow:0 14px 30px rgba(184,137,44,.28)}.secondary{border:1px solid rgba(7,22,45,.3);color:var(--navy);background:rgba(255,255,255,.55)}.trust-list{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}.trust-list span{background:#fff;border:1px solid var(--line);padding:8px 14px;border-radius:999px;font-size:13px;font-weight:800;color:var(--navy);box-shadow:0 8px 20px rgba(7,22,45,.06)}.hero-card{background:rgba(255,255,255,.92);color:var(--navy);padding:34px;border-radius:26px;box-shadow:var(--shadow);border:1px solid rgba(184,137,44,.45);position:relative}.hero-card::before{content:"";position:absolute;inset:10px;border:1px solid rgba(184,137,44,.24);border-radius:20px;pointer-events:none}.badge{font-size:25px;line-height:1.45;font-weight:900;text-align:center;color:var(--navy);border-bottom:1px solid var(--line);padding:0 0 20px;margin-bottom:22px}.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:22px}.proof-grid div{background:linear-gradient(180deg,#fff,var(--paper));border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center}.proof-grid strong{display:block;font-size:42px;line-height:1;color:var(--gold);font-family:Georgia,serif}.proof-grid span{display:block;font-size:13px;font-weight:900;margin-top:8px}.hero-card li{margin-bottom:12px;font-weight:800}.section{padding:88px 0}.dark{background:linear-gradient(135deg,var(--navy),#0c2542);color:#fff}.section h2{font-size:clamp(28px,3.5vw,44px);line-height:1.35;margin:8px 0 34px;color:var(--navy);letter-spacing:.04em}.dark h2,.cta h2,.page-hero h1{color:#fff}.feature-grid,.service-grid,.price-grid,.process-grid{display:grid;gap:20px}.feature-grid{grid-template-columns:repeat(3,1fr)}.feature-grid article,.service-card,.price-card,.process-grid article{background:#fff;border:1px solid var(--line);border-radius:22px;padding:28px;box-shadow:var(--shadow)}.dark .feature-grid article{background:rgba(255,255,255,.08);border-color:rgba(229,193,109,.35);box-shadow:none}.feature-grid span,.service-card b,.process-grid span{color:var(--gold);font-size:30px;font-weight:900;font-family:Georgia,serif}.feature-grid h3,.service-card h3,.price-card h3,.process-grid h3{margin:8px 0 8px;font-size:21px;color:var(--navy)}.dark .feature-grid h3{color:#fff}.dark .feature-grid p{color:#d9e2ef}.service-grid{grid-template-columns:repeat(4,1fr)}.service-card{position:relative;overflow:hidden}.service-card::after{content:"";position:absolute;right:-30px;top:-30px;width:90px;height:90px;border-radius:999px;background:rgba(184,137,44,.12)}.service-card.wide{grid-column:span 4}.process-section{background:#fff}.process-grid{grid-template-columns:repeat(4,1fr)}.price-section{background:linear-gradient(180deg,#f7f0df,#fff)}.price-grid{grid-template-columns:1fr 1fr}.price-card{padding:0;overflow:hidden}.price-card h3{background:linear-gradient(135deg,var(--gold),#8d681d);color:#fff;margin:0 0 22px;padding:18px 26px}.price-card.accent h3{background:linear-gradient(135deg,var(--navy),var(--navy2))}.price-card .note,.price-card dl{margin-left:26px;margin-right:26px}.note{font-size:13px;color:var(--muted)}.price-card dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:26px}.price-card dl div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px;text-align:center}.price-card dt{font-size:13px;color:var(--muted);font-weight:800}.price-card dd{margin:8px 0 0;font-size:32px;font-weight:900;color:var(--navy);font-family:Georgia,"Yu Mincho",serif}.cta{padding:82px 0;background:linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}.cta-inner{display:grid;grid-template-columns:1.3fr .7fr;gap:32px;align-items:center}.contact-box{background:#fff;color:var(--navy);border-radius:24px;padding:30px;text-align:center;box-shadow:0 22px 48px rgba(0,0,0,.18);border:1px solid rgba(229,193,109,.4)}.tel{display:block;font-size:38px;font-weight:900;color:var(--gold);line-height:1.2;margin-bottom:8px;font-family:Georgia,serif}.contact-box .primary{width:100%;margin-top:14px}.company table{width:100%;border-collapse:collapse;background:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--line)}.company th,.company td{padding:20px;border-bottom:1px solid #eee;text-align:left}.company th{width:230px;background:linear-gradient(180deg,#f4ead1,#fbf8ef);color:var(--navy);font-weight:900}.business-list{margin:0;padding-left:1.2em;display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:8px 24px}.business-list li{font-weight:800}.business-list li::marker{color:var(--gold)}footer{background:#051121;color:#fff;padding:28px 0}.footer-inner{display:flex;justify-content:space-between;align-items:center}footer a{color:var(--gold)}.page-hero{padding:96px 0 78px;background:radial-gradient(circle at 80% 20%,rgba(229,193,109,.18),transparent 28%),linear-gradient(135deg,var(--navy),var(--navy2));color:#fff}.page-hero h1{font-size:clamp(36px,5vw,58px);line-height:1.25;margin:12px 0 16px}.page-hero p{max-width:760px}.form-wrap{display:grid;grid-template-columns:1fr 360px;gap:30px;align-items:start}.form-card,.side-contact,.company-message{background:#fff;border:1px solid var(--line);border-radius:24px;padding:32px;box-shadow:var(--shadow)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-grid label{font-weight:900;color:var(--navy)}.form-grid label span{font-size:12px;color:var(--gold);margin-left:6px}.form-grid .full{grid-column:span 2}.form-grid input,.form-grid select,.form-grid textarea{width:100%;margin-top:8px;border:1px solid #d9d2c0;border-radius:12px;padding:13px 14px;font:inherit;background:#fff}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:2px solid rgba(184,137,44,.35);border-color:var(--gold)}.form-grid textarea{resize:vertical}.form-note{font-size:13px;color:var(--muted)}.submit-btn{border:0;cursor:pointer;min-width:220px}.side-contact h2{margin-top:0;color:var(--navy)}.small{font-size:13px;color:var(--muted)}.company-message{margin-top:28px}.company-message h2{font-size:28px;margin:0 0 12px;color:var(--navy)}@media(max-width:980px){.header-inner{height:auto;padding:14px 0;align-items:flex-start}.nav{display:none}.header-tel{display:none}.hero-grid,.feature-grid,.price-grid,.cta-inner,.form-wrap{grid-template-columns:1fr}.service-grid{grid-template-columns:1fr 1fr}.service-card.wide{grid-column:span 2}.process-grid{grid-template-columns:1fr 1fr}.hero{padding-top:62px}.company th{width:140px}}@media(max-width:600px){.container{width:min(94%,1180px)}.logo{min-width:auto}.logo-mark-img{height:42px}.logo-text-img{height:32px}.hero h1{font-size:34px}.lead{font-size:15px}.hero-card{padding:24px}.badge{font-size:19px}.proof-grid,.service-grid,.price-card dl,.process-grid{grid-template-columns:1fr}.service-card.wide{grid-column:auto}.section{padding:62px 0}.tel{font-size:29px}.company table,.company tbody,.company tr,.company th,.company td{display:block;width:100%}.company th{padding-bottom:6px}.company td{padding-top:10px}.business-list{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}}


/* Logo / readability refinements */
.site-logo{
  display:block;
  width:auto;
  height:70px;
  max-width:360px;
  object-fit:contain;
}

.logo-wrap,
.brand,
.header-logo,
.site-brand{
  display:flex;
  align-items:center;
}

.num-readable,
.price,
.price-number,
.stat-number,
.tel,
.phone,
.phone-number,
.contact-tel{
  font-family:"Inter", "Helvetica Neue", Arial, sans-serif !important;
  font-weight:800;
  letter-spacing:.02em;
  font-variant-numeric: lining-nums tabular-nums;
}

@media (max-width: 768px){
  .site-logo{
    height:54px;
    max-width:280px;
  }
}


/* Final fixes: logo, number readability, price layout */
.logo .site-logo{
  display:block;
  height:72px;
  width:auto;
  max-width:420px;
  object-fit:contain;
}
.logo img.site-logo + img.site-logo{display:none!important;}
.proof-grid strong,
.price-card dd,
.tel,
.header-tel,
.price-card dd *,
.proof-grid strong *{
  font-family: Arial, "Helvetica Neue", "Noto Sans JP", sans-serif !important;
  font-weight: 800 !important;
  letter-spacing: .01em;
  font-variant-numeric: lining-nums tabular-nums;
}
.price-card dd{
  white-space: nowrap;
  line-height: 1.25;
}
.num-readable{
  font-family: inherit !important;
  font-weight: inherit !important;
  letter-spacing: inherit !important;
}
@media(max-width:600px){
  .logo .site-logo{height:54px;max-width:300px;}
}

.logo-wrap{display:flex;align-items:center;gap:12px}.logo-mark-img{height:56px;width:auto}.site-logo{height:56px;width:auto}
