@charset "UTF-8";
:root{--ink:#24241f;--muted:#6e6b64;--ivory:#f5f1e9;--paper:#fffdfa;--gold:#b48b4d;--gold2:#dfc08a;--line:#dcd5c9;--dark:#1b201e;--blue:#21313b}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:"Noto Sans JP","Yu Gothic",YuGothic,sans-serif;line-height:1.9;letter-spacing:.035em}img{max-width:100%;height:auto}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.7rem 1rem}.wrap{width:min(1160px,calc(100% - 48px));margin-inline:auto}.site-head{position:sticky;top:0;z-index:40;background:rgba(255,253,250,.95);border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:blur(12px)}.head-in{width:min(1240px,calc(100% - 40px));height:80px;margin:auto;display:flex;align-items:center;gap:26px}.brand img,.site-foot img{width:142px;filter:invert(1)}.global{display:flex;gap:26px;margin-left:auto}.global a{color:var(--ink);text-decoration:none;font-size:13px}.global a[aria-current=page],.global a:hover{color:var(--gold)}.head-cta{padding:12px 18px;color:#fff!important;background:var(--dark);font-weight:700}.crumb{width:min(1160px,calc(100% - 48px));margin:auto}.crumb ol{display:flex;gap:9px;margin:0;padding:11px 0;list-style:none;color:var(--muted);font-size:11px}.crumb li+li:before{content:"/";margin-right:9px}.crumb a{color:inherit}.hero{position:relative;min-height:690px;display:grid;align-items:center;overflow:hidden}.hero>img,.hero:after{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.hero:after{content:"";background:linear-gradient(90deg,rgba(20,22,20,.9),rgba(20,22,20,.55) 48%,rgba(20,22,20,.07) 75%)}.hero--business:after{background:linear-gradient(90deg,rgba(17,22,24,.12),rgba(17,22,24,.4) 52%,rgba(17,22,24,.94) 78%)}.hero-content{position:relative;z-index:2;width:min(1160px,calc(100% - 48px));color:#fff}.hero--business .hero-content{margin-left:auto;text-align:left;padding-left:56%}.eyebrow{margin:0 0 14px;color:var(--gold2);font:700 12px/1.2 Georgia,serif;letter-spacing:.26em}.hero h1{margin:0 0 24px;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(40px,5.7vw,74px);font-weight:500;line-height:1.35;letter-spacing:.06em}.hero p{max-width:680px;font-size:16px}.actions{display:flex;gap:13px;margin-top:30px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:57px;padding:12px 25px;text-decoration:none;font-weight:700;letter-spacing:.08em}.btn-gold{color:#171714;background:linear-gradient(135deg,var(--gold2),#c59751)}.btn-line{color:#fff!important;background:transparent!important;border:1px solid rgba(255,255,255,.7)!important}.trustbar{background:var(--dark);color:#fff}.trustbar ul{display:grid;grid-template-columns:repeat(4,1fr);margin:0;padding:22px 0;list-style:none}.trustbar li{text-align:center;border-right:1px solid #454944;font-size:13px}.trustbar li:last-child{border:0}.trustbar b{display:block;color:var(--gold2);font:22px Georgia,serif}.section{padding:105px 0}.section-ivory{background:var(--ivory)}.section-dark{color:#f5f4ef;background:var(--dark)}.heading{max-width:800px;margin-bottom:55px}.heading h2,.split-copy h2,.faq-grid h2{margin:0;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(31px,4vw,48px);font-weight:500;line-height:1.5}.heading>p:last-child{color:var(--muted)}.section-dark .heading>p:last-child{color:#c9c6be}.lead-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:90px}.lead-grid p{margin-top:0}.choice-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.choice{position:relative;min-height:530px;overflow:hidden;color:#fff}.choice img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.choice:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,17,15,.92),rgba(14,17,15,.05) 72%)}.choice-content{position:absolute;z-index:2;left:38px;right:38px;bottom:34px}.choice h2{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:34px;margin:0}.choice p{font-size:14px}.choice a{color:#fff;text-underline-offset:6px;font-weight:700}.service-list{display:grid;gap:70px}.service-row{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}.service-row:nth-child(even) .service-photo{order:2}.service-photo{position:relative}.service-photo img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.service-photo .tag{position:absolute;left:0;bottom:0;padding:8px 14px;background:rgba(25,27,24,.88);color:#fff;font-size:11px;letter-spacing:.14em}.service-copy .num{color:var(--gold);font:16px Georgia,serif}.service-copy h3{margin:10px 0 18px;font-family:"Noto Serif JP","Yu Mincho",serif;font-size:29px;line-height:1.5}.service-copy p{color:var(--muted)}.point-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;padding:0;list-style:none;font-size:13px}.point-list li:before{content:"✓";margin-right:8px;color:var(--gold)}.ba{display:flex;gap:7px;margin-top:15px}.ba span{padding:4px 10px;background:var(--ivory);font-size:11px}.price-box{margin-top:18px;padding:18px 20px;border:1px solid var(--line);font-size:13px}.price-box b{font-size:18px;color:var(--gold)}.price-box small{display:block;color:var(--muted)}.detail-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.detail-card{padding:27px;background:#fff;border-top:2px solid var(--gold)}.detail-card h3{font-family:"Noto Serif JP","Yu Mincho",serif}.detail-card p,.detail-card li{font-size:13px;color:var(--muted)}.detail-card ul{padding-left:1.2em}.process{display:grid;grid-template-columns:repeat(5,1fr);list-style:none;padding:0}.process li{padding:22px;border-left:1px solid var(--line)}.process li:last-child{border-right:1px solid var(--line)}.process b{display:block;color:var(--gold);font:28px Georgia,serif}.process h3{font-size:16px}.process p{font-size:12px;color:var(--muted)}.table-wrap{overflow:auto;background:#fff}.price-table{width:100%;min-width:760px;border-collapse:collapse;color:var(--ink);font-size:13px}.price-table th,.price-table td{padding:13px 15px;border:1px solid #ddd7ce;text-align:left}.price-table thead th{background:#e9e2d6}.price-table tbody th{background:#f6f2eb}.price-table td:last-child{font-weight:700;white-space:nowrap}.notice{padding:20px;background:#292e2b;color:#cfcbc3;font-size:12px}.capability{display:grid;grid-template-columns:repeat(4,1fr);gap:13px}.capability article{padding:27px;background:#272d2a;border:1px solid #454b47}.capability h3{font-family:"Noto Serif JP","Yu Mincho",serif}.capability p{font-size:13px;color:#c8c6bf}.spec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.spec{padding:30px;background:#fff;border:1px solid var(--line)}.spec h3{font-family:"Noto Serif JP","Yu Mincho",serif}.spec dl{display:grid;grid-template-columns:115px 1fr;margin:0;font-size:13px}.spec dt,.spec dd{padding:9px 0;border-bottom:1px solid var(--line)}.spec dd{margin:0;color:var(--muted)}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.case{padding:30px;background:var(--paper)}.case .label{font-size:11px;color:var(--gold);letter-spacing:.14em}.case h3{font-family:"Noto Serif JP","Yu Mincho",serif}.case p{font-size:13px;color:var(--muted)}.faq-grid{display:grid;grid-template-columns:.58fr 1.42fr;gap:75px}.faqs details{border-top:1px solid var(--line)}.faqs details:last-child{border-bottom:1px solid var(--line)}.faqs summary{cursor:pointer;padding:21px 8px;font-weight:700}.faqs p{margin:0;padding:0 30px 24px;color:var(--muted);font-size:14px}.cta-band{text-align:center;padding:100px 0;color:#fff;background:#202521}.cta-band h2{font-family:"Noto Serif JP","Yu Mincho",serif;font-size:clamp(32px,5vw,54px);font-weight:500}.cta-band .btn{margin-top:22px}.site-foot{padding:48px 0 32px;background:#eee9e0}.foot-in{display:grid;grid-template-columns:170px 1fr;align-items:center;gap:30px}.foot-links{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px 22px}.foot-links a{color:var(--ink);text-decoration:none;font-size:12px}.copyright{grid-column:1/-1;padding-top:18px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.float{display:none}
@media(max-width:900px){.global a:not(.head-cta){display:none}.hero--business .hero-content{padding-left:40%}.lead-grid,.service-row,.faq-grid{grid-template-columns:1fr;gap:38px}.service-row:nth-child(even) .service-photo{order:0}.detail-cards,.case-grid{grid-template-columns:repeat(2,1fr)}.capability{grid-template-columns:repeat(2,1fr)}.process{grid-template-columns:repeat(3,1fr)}.process li{border-bottom:1px solid var(--line)}.choice-grid{grid-template-columns:1fr}}
@media(max-width:600px){body{padding-bottom:64px}.wrap,.crumb,.hero-content{width:calc(100% - 32px)}.head-in{height:68px;width:calc(100% - 28px)}.brand img{width:110px}.head-cta{margin-left:auto;padding:9px 12px;font-size:11px}.hero{min-height:660px}.hero>img{object-position:66% center}.hero:after{background:linear-gradient(90deg,rgba(18,20,18,.93),rgba(18,20,18,.62))}.hero--business>img{object-position:40% center}.hero--business:after{background:rgba(15,20,22,.72)}.hero--business .hero-content{padding-left:0}.hero h1{font-size:38px}.hero p{font-size:14px}.actions{flex-direction:column;max-width:340px}.btn{width:100%}.trustbar ul{grid-template-columns:1fr 1fr;gap:18px}.trustbar li:nth-child(2){border:0}.section{padding:74px 0}.lead-grid{gap:22px}.choice{min-height:460px}.choice-content{left:24px;right:24px}.service-list{gap:55px}.service-row{gap:25px}.service-copy h3{font-size:24px}.point-list,.detail-cards,.spec-grid,.case-grid,.capability{grid-template-columns:1fr}.process{grid-template-columns:1fr}.process li{border-right:1px solid var(--line)}.faq-grid{gap:25px}.foot-in{grid-template-columns:1fr}.foot-links{justify-content:flex-start}.float{position:fixed;z-index:50;display:flex;justify-content:space-between;align-items:center;left:0;right:0;bottom:0;height:64px;padding:0 23px;color:#171714;background:linear-gradient(135deg,var(--gold2),#c59751);text-decoration:none;font-weight:700}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* ORDER BRAND LOGO: readable display size and stable intrinsic ratio */
.head-in {
  min-height: 96px;
  height: auto;
  padding-block: 9px;
}
.brand {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
}
.brand img {
  display: block;
  width: clamp(220px, 21vw, 280px);
  max-width: none;
  height: auto;
  filter: none;
}
.site-foot img {
  display: block;
  width: min(280px, 100%);
  height: auto;
  filter: none;
}
.foot-in {
  grid-template-columns: minmax(240px, 280px) 1fr;
}
.hero-content {
  margin-inline: auto;
}
.hero h1 {
  font-size: clamp(36px, 4.4vw, 60px);
  overflow-wrap: anywhere;
}
@media(min-width:901px) {
  .hero--business .hero-content { padding-left: 48%; }
  .hero--business h1 { font-size: clamp(34px, 3.2vw, 46px); }
}
@media(max-width:900px) {
  .brand img { width: clamp(190px, 28vw, 230px); }
}
@media(max-width:600px) {
  .head-in {
    min-height: 78px;
    padding-block: 8px;
    gap: 12px;
  }
  .brand img { width: clamp(170px, 48vw, 210px); }
  .hero h1 {
    font-size: clamp(29px, 8.2vw, 34px);
    line-height: 1.45;
    letter-spacing: .035em;
  }
  .hero--business h1 { font-size: clamp(27px, 7.7vw, 32px); }
  .foot-in { grid-template-columns: 1fr; }
  .site-foot img { width: min(240px, 75vw); }
}


/* NAV ICONS START */
.global a {
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.global .nav-svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: var(--gold);
}

.global .head-cta .nav-svg {
  fill: #fff;
}

@media (max-width: 900px) {
  .global .head-cta {
    display: inline-flex;
  }
}
/* NAV ICONS END */


/* CAPABILITY ICONS START */
.capability article {
  position: relative;
  overflow: hidden;
  transition: transform .25s ease, border-color .25s ease, background-color .25s ease;
}
.capability article:hover {
  transform: translateY(-4px);
  border-color: rgba(223, 192, 138, .72);
  background: #2c332f;
}
.capability h3 {
  display: flex;
  align-items: center;
  gap: 13px;
  margin-top: 0;
}
.capability .cap-icon {
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  padding: 7px;
  border: 1px solid rgba(223, 192, 138, .55);
  border-radius: 50%;
  fill: var(--gold2);
  background: rgba(223, 192, 138, .06);
}
.capability h3 span {
  display: block;
  line-height: 1.55;
}
@media (max-width: 600px) {
  .capability .cap-icon {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    padding: 6px;
  }
}
/* CAPABILITY ICONS END */
