
.nd-service-document { display:block; width:100%; max-width:none; padding:0; margin:0; font-size:16px; }
.nd-service-document :where(h1,h2,h3,h4) { border:0; border-radius:0; padding:0; background:none; box-shadow:none; }
.nd-service-document :where(h1,h2,h3,h4)::before,
.nd-service-document :where(h1,h2,h3,h4)::after { content:none; }
.nd-service-document :where(p) { margin:0 0 1em; }

.nd-service-document {
    --brown:#6F4F2F;
    --dark:#1F2524;
    --body:#4B4A44;
    --bg:#F4EFE6;
    --card:#FFFDF7;
    --line:#D8CDBB;
    --green:#7E9065;
    --green-deep:#5C6F49;
    --terracotta:#C17B52;
    --gold:#BD9A5C;
    --blush:#EAD2C5;
    --mint:#DCE6D0;
    --sand:#F0E1C4;
  }
.nd-service-document * {box-sizing:border-box;}
.nd-service-document {
    margin:0;
    color:var(--body);
    line-height:1.9;
    font-family:'Noto Sans JP',sans-serif;
    background-color:var(--bg);
    background-repeat:no-repeat;
    background-image:
      radial-gradient(760px 620px at 18% 5%,  rgba(193,123,82,.14), transparent 70%),
      radial-gradient(820px 680px at 86% 13%, rgba(126,144,101,.17), transparent 70%),
      radial-gradient(820px 680px at 14% 32%, rgba(126,144,101,.13), transparent 70%),
      radial-gradient(760px 620px at 88% 45%, rgba(193,123,82,.12), transparent 70%),
      radial-gradient(820px 680px at 16% 59%, rgba(234,210,197,.32), transparent 70%),
      radial-gradient(760px 620px at 86% 71%, rgba(126,144,101,.15), transparent 70%),
      radial-gradient(760px 620px at 20% 86%, rgba(189,154,92,.14), transparent 70%),
      radial-gradient(820px 680px at 90% 97%, rgba(126,144,101,.13), transparent 70%);
  }
.nd-service-document .note {
    max-width:760px;
    margin:0 auto;
    padding:22px 20px 0;
    font-size:13px;
    color:#8a8372;
    text-align:center;
    line-height:1.9;
  }
.nd-service-document .note b { color:var(--brown); }
.nd-service-document h1,
.nd-service-document h2,
.nd-service-document h3,
.nd-service-document h4 {
    font-family:'Noto Serif JP',serif;
    color:var(--dark);
    margin:0;
    font-weight:700;
  }
.nd-service-document .eyebrow {
    font-size:14.5px;
    letter-spacing:.16em;
    color:var(--brown);
  }
.nd-service-document .eyebrow.c-green { color:var(--green-deep); }
.nd-service-document .eyebrow.c-terracotta { color:var(--terracotta); }
.nd-service-document .accent-red { color:#7D3430; }
.nd-service-document .br-sp { display:none; }
  @media (max-width:800px){
.nd-service-document .br-sp { display:inline; }
  }
.nd-service-document .br-pc { display:inline; }
  @media (max-width:800px){
.nd-service-document .br-pc { display:none; }
  }
.nd-service-document .ph {
    display:flex;
    align-items:center;
    justify-content:center;
    color:#9c9280;
    font-size:13px;
    letter-spacing:.05em;
    border-radius:3px;
  }
.nd-service-document .ph.ph-outline {
    background:#E7E0D2;
    border:1px dashed #C9BCA2;
  }
.nd-service-document .ph.tint-a { background:var(--blush); color:#8a6a56; }
.nd-service-document .ph.tint-b { background:var(--mint); color:#56664a; }
.nd-service-document .ph.tint-c { background:var(--sand); color:#8a7446; }
.nd-service-document .ph.circle { border-radius:50%; font-size:11px; }
.nd-service-document .ph.rounded { border-radius:10px; }
.nd-service-document .service-image {
    display:block;
    width:100%;
    max-width:100%;
    height:auto;
    object-fit:cover;
}
.nd-service-document .inner { max-width:1040px; margin:0 auto; padding:0 24px; position:relative; }
.nd-service-document .inner--read { max-width:620px; margin:0 auto; padding:0 24px; position:relative; }
.nd-service-document .reveal {
    opacity:0;
    transform:translateY(28px);
    filter:blur(6px);
    transition:opacity 1s cubic-bezier(.16,1,.3,1), transform 1s cubic-bezier(.16,1,.3,1), filter 1s cubic-bezier(.16,1,.3,1);
  }
.nd-service-document .reveal.in-view { opacity:1; transform:translateY(0); filter:blur(0); }
  @media (prefers-reduced-motion:reduce){
.nd-service-document .reveal { transition:none; opacity:1; transform:none; filter:none; }
  }
.nd-service-document .section-head .rule {
    width:40px; height:1px; background:var(--line);
    margin:18px auto 0; transform:scaleX(0); transform-origin:center;
    transition:transform 1s cubic-bezier(.16,1,.3,1); transition-delay:.3s;
  }
.nd-service-document .section-head.in-view .rule { transform:scaleX(1); }
.nd-service-document .section-head h2 { font-size:30px; margin-top:12px; line-height:1.6; }
.nd-service-document .ph-wrap { overflow:hidden; border-radius:3px; }
.nd-service-document .ph-wrap .ph { transition:transform .6s cubic-bezier(.16,1,.3,1); }
.nd-service-document .ph-wrap:hover .ph { transform:scale(1.035); }
.nd-service-document .ph-wrap .service-image { transition:transform .6s cubic-bezier(.16,1,.3,1); }
.nd-service-document .ph-wrap:hover .service-image { transform:scale(1.035); }
.nd-service-document .tier-badge {
    display:inline-block;
    font-family:'Noto Serif JP',serif;
    font-size:12px;
    letter-spacing:.12em;
    font-weight:700;
    color:#fff;
    padding:6px 15px;
    margin-bottom:14px;
    border-radius:2px;
  }
.nd-service-document .tier-badge.gold { background:var(--gold); }
.nd-service-document .tier-badge.sage { background:var(--green); }
.nd-service-document .tier-badge.terracotta { background:var(--terracotta); }
.nd-service-document .tier-label {
    font-family:'Noto Serif JP',serif;
    font-size:21px;
    font-weight:700;
    letter-spacing:.06em;
    margin-bottom:18px;
  }
.nd-service-document .tier-label.gold { color:var(--gold); }
.nd-service-document .tier-label.terracotta { color:var(--terracotta); }
.nd-service-document .hero-banner { width:100%; position:relative; }
.nd-service-document .hero-banner .ph {
    width:100%;
    height:min(78vh,620px);
    border-radius:0;
  }
.nd-service-document .hero-banner .service-image {
    width:100%;
    height:min(78vh,620px);
    object-position:center;
}
.nd-service-document .hero-banner::after {
    content:'';
    position:absolute;
    left:0; right:0; bottom:0;
    height:140px;
    background:linear-gradient(to bottom, rgba(244,239,230,0), var(--bg));
    pointer-events:none;
  }
.nd-service-document .hero { padding:56px 0 0; position:relative; }
.nd-service-document .hero .eyebrow { text-align:center; margin-bottom:18px; }
.nd-service-document .hero h1 {
    font-size:44px;
    line-height:1.55;
    text-align:center;
    max-width:760px;
    margin:0 auto;
  }
.nd-service-document .hero p {
    max-width:580px;
    margin:28px auto 0;
    text-align:center;
    font-size:16px;
  }
.nd-service-document .lede { padding:92px 0 0; }
.nd-service-document .lede .inner--read { max-width:860px; text-align:center; }
.nd-service-document .lede p { font-size:16.5px; line-height:2; }
.nd-service-document .lede .nowrap { white-space:nowrap; }
.nd-service-document .lede p + p { margin-top:22px; }
.nd-service-document .intro { padding:120px 0 0; }
.nd-service-document .intro > .inner > .section-head { text-align:center; margin-bottom:56px; }
.nd-service-document .intro-grid {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    max-width:860px;
    margin:0 auto;
  }
.nd-service-document .intro-card .ph { aspect-ratio:4/3; width:100%; margin-bottom:20px; }
.nd-service-document .intro-card .service-image { height:auto; aspect-ratio:4/3; margin-bottom:20px; }
.nd-service-document .intro-card h3 { font-size:18px; text-align:center; margin-bottom:12px; }
.nd-service-document .intro-card p { font-size:14.5px; line-height:1.9; margin:0; }
.nd-service-document .intro-note { text-align:center; max-width:580px; margin:44px auto 0; font-size:15px; }
.nd-service-document .why { padding:112px 0 0; position:relative; overflow:hidden; }
.nd-service-document .why::before {
    content:'';
    position:absolute;
    top:-130px; right:-170px;
    width:440px; height:440px;
    border:1px solid rgba(126,144,101,.18);
    border-radius:50%;
    pointer-events:none;
  }
.nd-service-document .why > .inner > .section-head { text-align:center; margin-bottom:70px; }
.nd-service-document .why-row {
    display:grid;
    grid-template-columns:0.95fr 1.05fr;
    gap:48px;
    align-items:center;
    margin-bottom:80px;
  }
.nd-service-document .why-row:last-child { margin-bottom:0; }
.nd-service-document .why-row.rev .ph-wrap { order:2; }
.nd-service-document .why-row.rev .why-text { order:1; }
.nd-service-document .why-row .ph { aspect-ratio:4/3; width:100%; }
.nd-service-document .why-row .service-image { height:auto; aspect-ratio:4/3; }
.nd-service-document .why-text .idx {
    font-family:'Noto Serif JP',serif;
    font-size:13.5px;
    color:var(--green-deep);
    letter-spacing:.1em;
    margin-bottom:14px;
    display:flex;
    align-items:center;
    gap:12px;
  }
.nd-service-document .why-text .idx::after {
    content:'';
    flex:0 0 auto;
    width:26px; height:1px;
    background:var(--green-deep);
    opacity:.5;
  }
.nd-service-document .why-text h3 { font-size:21px; line-height:1.6; margin-bottom:14px; }
.nd-service-document .why-text p { font-size:16px; margin:0; }
.nd-service-document .lineup { padding:124px 0 64px; }
.nd-service-document .lineup .section-head { text-align:center; margin-bottom:56px; }
.nd-service-document .lineup .lead { text-align:center; max-width:540px; margin:0 auto 60px; font-size:15.5px; }
.nd-service-document .lineup-row {
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:32px;
  }
.nd-service-document .lineup-item {
    flex:0 1 300px;
    background:var(--sand);
    padding:28px 24px 30px;
    border-radius:4px;
  }
.nd-service-document .lineup-item .ph { aspect-ratio:4/3; width:100%; margin-bottom:18px; }
.nd-service-document .lineup-item .service-image {
    height:220px;
    aspect-ratio:auto;
    margin-bottom:18px;
    object-fit:contain;
    object-position:center;
    background:#fff;
}
.nd-service-document .lineup-item h3 { font-size:17px; text-align:center; margin-bottom:18px; line-height:1.6; }
.nd-service-document .lineup-item p { font-size:14px; margin:0; color:var(--body); text-align:left; }
.nd-service-document .lineup-item .price-block { border-top:1px solid rgba(111,79,47,.18); padding-top:14px; }
.nd-service-document .lineup-item .price-block .size { font-size:13px; color:var(--body); margin-bottom:4px; }
.nd-service-document .lineup-item .price-block .price { font-size:15.5px; color:var(--brown); font-weight:700; letter-spacing:.01em; }
.nd-service-document .lineup-row .lineup-item:nth-child(1) { transition-delay:0s; }
.nd-service-document .lineup-row .lineup-item:nth-child(2) { transition-delay:.08s; }
.nd-service-document .lineup-row .lineup-item:nth-child(3) { transition-delay:.16s; }
.nd-service-document .lineup-row .lineup-item:nth-child(4) { transition-delay:.08s; }
.nd-service-document .lineup-row .lineup-item:nth-child(5) { transition-delay:.16s; }
.nd-service-document .lineup-group-label {
    flex:0 0 100%;
    text-align:center;
    font-family:'Noto Serif JP',serif;
    font-size:14px;
    letter-spacing:.14em;
    color:#8a8372;
    margin:8px 0 -6px;
  }
.nd-service-document .lineup-group-label:first-child { margin-top:0; }
.nd-service-document .specs {
    max-width:760px;
    margin:80px auto 0;
    padding-top:48px;
    border-top:1px solid var(--line);
  }
.nd-service-document .sub-block + .sub-block {
    margin-top:64px;
    padding-top:48px;
    border-top:1px dashed var(--line);
  }
.nd-service-document .sub-block > h3 { font-size:18px; text-align:center; margin-bottom:8px; }
.nd-service-document .sub-block > .sub { text-align:center; font-size:13px; color:#8a8372; margin-bottom:36px; }
.nd-service-document .material-row {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
  }
.nd-service-document .material-item { text-align:center; }
.nd-service-document .material-item .ph { width:104px; height:104px; margin:0 auto 14px; }
.nd-service-document .material-item .m-level { font-size:13px; color:var(--brown); letter-spacing:.03em; margin-bottom:4px; }
.nd-service-document .material-item .m-name { font-size:14.5px; font-weight:700; color:var(--dark); margin-bottom:7px; }
.nd-service-document .material-item .m-sub { font-size:13px; color:#8a8372; line-height:1.65; }
.nd-service-document .material-row .material-item:nth-child(1) { transition-delay:0s; }
.nd-service-document .material-row .material-item:nth-child(2) { transition-delay:.08s; }
.nd-service-document .material-row .material-item:nth-child(3) { transition-delay:.16s; }
.nd-service-document .material-row .material-item:nth-child(4) { transition-delay:.24s; }
.nd-service-document .adjust-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.nd-service-document .adjust-card .ph { width:100%; aspect-ratio:4/3; margin-bottom:16px; }
.nd-service-document .adjust-card h4 { font-size:16px; margin:0 0 10px; }
.nd-service-document .adjust-card p { font-size:13.5px; margin:0; }
.nd-service-document .compare-block { max-width:720px; margin:0 auto; text-align:center; }
.nd-service-document .compare-block > h3 { font-size:18px; margin-bottom:36px; }
.nd-service-document .compare-grid { display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.nd-service-document .compare-card { overflow:hidden; border-radius:4px; }
.nd-service-document .compare-label {
    font-size:12.5px;
    font-weight:700;
    letter-spacing:.04em;
    color:#fff;
    background:#9c9280;
    padding:10px 0;
  }
.nd-service-document .compare-label.gold { background:var(--gold); }
.nd-service-document .compare-card .ph { aspect-ratio:7/3; width:100%; border-radius:0; }
.nd-service-document .compare-card .service-image {
    height:auto;
    aspect-ratio:7/3;
    object-fit:contain;
    object-position:center;
    background:#fff;
}
.nd-service-document .compare-legend {
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    margin:28px 0 20px;
    font-size:12.5px;
    color:#8a8372;
  }
.nd-service-document .legend-bar {
    width:200px; height:9px; border-radius:999px;
    background:linear-gradient(to right,#3b6ea5,#6fa888,#e8d873,#e0923c,#c0392b);
  }
.nd-service-document .compare-note { font-size:14px; max-width:520px; margin:0 auto; }
.nd-service-document .flow { padding:64px 0 124px; }
.nd-service-document .flow .section-head { text-align:center; margin-bottom:64px; }
.nd-service-document .flow-grid {
    display:grid;
    grid-template-columns:1fr auto 1fr auto 1fr;
    align-items:start;
    column-gap:10px;
    row-gap:48px;
    max-width:860px;
    margin:0 auto;
  }
.nd-service-document .flow-card { position:relative; }
.nd-service-document .flow-card .ph-box { position:relative; margin-bottom:16px; }
.nd-service-document .flow-card .ph { width:100%; aspect-ratio:4/3; }
.nd-service-document .flow-card .service-image { width:100%; height:auto; aspect-ratio:4/3; }
.nd-service-document .flow-card .step-badge {
    position:absolute;
    top:10px; left:10px;
    background:rgba(255,253,247,.94);
    padding:5px 13px;
    font-family:'Noto Serif JP',serif;
    font-size:13px;
    letter-spacing:.08em;
    color:var(--dark);
    border-radius:3px;
    z-index:2;
  }
.nd-service-document .flow-card h3 { font-size:17px; margin-bottom:8px; }
.nd-service-document .flow-card p { font-size:13.5px; margin:0; line-height:1.75; }
.nd-service-document .flow-grid .flow-card:nth-child(1) { transition-delay:0s; }
.nd-service-document .flow-grid .flow-card:nth-child(3) { transition-delay:.1s; }
.nd-service-document .flow-grid .flow-card:nth-child(5) { transition-delay:.2s; }
.nd-service-document .flow-arrow {
    display:flex;
    align-items:center;
    justify-content:center;
    padding-top:100px;
    color:var(--green);
    font-size:26px;
    opacity:.8;
  }
.nd-service-document .flow-arrow .arrow-down { display:none; }
.nd-service-document .policy {
    padding:104px 0;
    background:linear-gradient(135deg,#55402A,#6F4F2F 55%,#8C6B45);
    position:relative;
    overflow:hidden;
  }
.nd-service-document .policy::before {
    content:'';
    position:absolute;
    top:-110px; left:-110px;
    width:340px; height:340px;
    border:1px solid rgba(243,230,205,.14);
    border-radius:50%;
    pointer-events:none;
  }
.nd-service-document .policy-grid {
    display:grid;
    grid-template-columns:0.9fr 1.1fr;
    gap:56px;
    align-items:center;
    max-width:920px;
    margin:0 auto;
    position:relative;
  }
.nd-service-document .policy-photo .ph { width:100%; aspect-ratio:4/3; }
.nd-service-document .policy-photo .service-image { width:100%; height:auto; aspect-ratio:4/3; }
.nd-service-document .policy-text { text-align:left; }
.nd-service-document .policy-text .eyebrow { color:#E0C8A3; margin-bottom:22px; display:block; }
.nd-service-document .policy-text .num-badge { margin-bottom:12px; }
.nd-service-document .policy-text .num-badge .big-num {
    font-family:'Noto Serif JP',serif;
    font-size:92px;
    line-height:1;
    color:#E7C495;
    display:inline-block;
  }
.nd-service-document .policy-text .num-badge .big-num-label {
    font-family:'Noto Serif JP',serif;
    font-size:17px;
    color:#F3E6CD;
    margin-left:10px;
    letter-spacing:.1em;
  }
.nd-service-document .policy-text h2 { color:#FBF4E8; font-size:24px; line-height:1.7; margin:6px 0 20px; }
.nd-service-document .policy-text p { color:#E6D9C3; font-size:15px; max-width:420px; margin:0 0 14px; }
.nd-service-document .policy-text p.note-sm { font-size:12.5px; color:#CBB796; line-height:1.8; margin-bottom:0; }
.nd-service-document .cta { padding:114px 0 124px; text-align:center; position:relative; overflow:hidden; }
.nd-service-document .cta::before {
    content:'';
    position:absolute;
    bottom:-150px; left:50%;
    transform:translateX(-50%);
    width:560px; height:560px;
    border:1px solid rgba(111,79,47,.12);
    border-radius:50%;
    pointer-events:none;
  }
.nd-service-document .cta h2 { font-size:28px; margin:14px 0 18px; }
.nd-service-document .cta p { font-size:15.5px; max-width:460px; margin:0 auto 34px; }
.nd-service-document .cta a.btn {
    display:inline-block;
    background:var(--brown);
    color:#fff;
    font-size:16px;
    font-weight:500;
    text-decoration:none;
    padding:17px 46px;
    border-radius:999px;
    letter-spacing:.04em;
    box-shadow:0 14px 30px -16px rgba(111,79,47,.55);
    transition:transform .4s cubic-bezier(.16,1,.3,1), box-shadow .4s cubic-bezier(.16,1,.3,1);
  }
.nd-service-document .cta a.btn:hover { transform:translateY(-2px); box-shadow:0 18px 34px -14px rgba(111,79,47,.6); }

  @media (max-width:800px){
.nd-service-document .hero-banner .ph { height:52vh; }
.nd-service-document .hero-banner .service-image { height:52vh; }
.nd-service-document .hero h1 { font-size:30px; }
.nd-service-document .intro { padding:88px 0 0; }
.nd-service-document .intro-grid { grid-template-columns:1fr; gap:40px; max-width:360px; }
.nd-service-document .why-row { grid-template-columns:1fr; gap:22px; margin-bottom:56px; }
.nd-service-document .why-row.rev .ph-wrap { order:0; }
.nd-service-document .why-row.rev .why-text { order:0; }
.nd-service-document .lineup-row { gap:28px; }
.nd-service-document .lineup-item { flex-basis:100%; max-width:400px; }
.nd-service-document .lineup-item .service-image { height:240px; }
.nd-service-document .lineup-group-label { margin:4px 0 -2px; }
.nd-service-document .material-row { display:flex; flex-wrap:wrap; justify-content:center; gap:30px 20px; }
.nd-service-document .material-item { width:108px; }
.nd-service-document .adjust-grid { grid-template-columns:1fr; gap:36px; }
.nd-service-document .compare-grid { grid-template-columns:1fr; gap:20px; }
.nd-service-document .legend-bar { width:160px; }
.nd-service-document .flow-grid { grid-template-columns:1fr; row-gap:40px; }
.nd-service-document .flow-arrow { padding-top:0; margin:-6px 0; }
.nd-service-document .flow-arrow .arrow-right { display:none; }
.nd-service-document .flow-arrow .arrow-down { display:inline; }
.nd-service-document .flow-card .ph-box {
      margin-left:calc(50% - 50vw);
      margin-right:calc(50% - 50vw);
      margin-bottom:14px;
    }
.nd-service-document .flow-card .ph { aspect-ratio:4/3; border-radius:0; }
.nd-service-document .flow-card .service-image { aspect-ratio:4/3; border-radius:0; }
.nd-service-document .flow-card .step-badge {
      top:14px; left:14px;
      font-size:15px;
      padding:7px 18px;
    }
.nd-service-document .flow-card h3,
.nd-service-document .flow-card p { padding:0 6px; }
.nd-service-document .policy-grid { grid-template-columns:1fr; gap:28px; text-align:center; }
.nd-service-document .policy-text { text-align:center; }
.nd-service-document .policy-text p { margin:0 auto 14px; }
.nd-service-document .policy-text .num-badge .big-num { font-size:72px; }
  }
