*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#4d3b3d;background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif;line-height:1.85}a{text-decoration:none;color:inherit}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);border-bottom:1px solid #f1d9e1;box-shadow:0 3px 16px rgba(80,45,55,.06);backdrop-filter:blur(8px)}.header-inner{width:94%;max-width:1180px;min-height:74px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.logo{font-weight:700;white-space:nowrap}.logo b{color:#ed5a83}nav{display:flex;flex-wrap:wrap;align-items:center;gap:7px 17px;font-size:13px}.contact{color:#d94370;border:1px solid #ed5a83;border-radius:999px;padding:7px 14px}.breadcrumb{width:92%;max-width:1050px;margin:auto;padding:14px 0;color:#8b777c;font-size:12px}.breadcrumb span{margin:0 8px}.hero{padding:82px 20px 88px;text-align:center;background:radial-gradient(circle at 7% 30%,#ffd5e2,transparent 24%),radial-gradient(circle at 92% 25%,#fff0c7,transparent 20%),linear-gradient(135deg,#fff,#fff5f8)}.hero>p:first-child,.heading>p,.cta>p:first-child{margin:0 0 7px;color:#ed5a83;font-size:11px;font-weight:800;letter-spacing:.25em}.hero h1{margin:0 0 18px;font-size:clamp(31px,5vw,50px);line-height:1.4;letter-spacing:.05em}.lead{margin:0 0 25px;color:#77666a;font-size:15px}.hero-button,.main-button{display:inline-flex;justify-content:center;align-items:center;padding:13px 24px;border-radius:999px;background:#ed5a83;color:#fff;font-size:12px;font-weight:800;box-shadow:0 8px 18px rgba(217,67,112,.18)}.intro{padding:55px 4% 20px}.wrap{width:min(1050px,100%);margin:auto}.intro-box{display:grid;grid-template-columns:65px 1fr;gap:20px;align-items:center;padding:28px 32px;background:#fff9fb;border:1px solid #f2dce4;border-radius:22px}.intro-box>span{width:55px;height:55px;display:flex;align-items:center;justify-content:center;border:1px solid #f2dce4;border-radius:50%;color:#ed5a83;background:#fff;font-size:28px}.intro h2{margin:0 0 6px;font-size:21px}.intro p{margin:0;color:#77666a;font-size:13px}.price-section,.howto,.point-section{padding:70px 4%}.heading{text-align:center;margin-bottom:35px}.heading h2{margin:0 0 5px;font-size:clamp(27px,4vw,37px)}.heading>span{color:#77666a;font-size:14px}.price-card{display:grid;grid-template-columns:42% 58%;overflow:hidden;background:#fff;border:1px solid #f1dbe3;border-radius:22px;box-shadow:0 12px 30px rgba(99,54,68,.08)}.price-card>div:first-child{padding:42px;text-align:center;background:linear-gradient(145deg,#fff1f5,#fff)}.price-card span,.price-card small{display:block;font-size:12px}.price-card strong{display:block;margin:5px 0;color:#d94370;font-size:54px;line-height:1.3}.price-card small{color:#8b777c}.explain{padding:38px}.explain h3{margin:0 0 8px;font-size:20px}.explain p{font-size:13px;color:#66565a}.note{padding:12px 14px;background:#fff8e8;border:1px solid #f0e0b8;border-radius:10px!important;color:#745d27!important;font-size:11px!important}.area{padding:70px 4%;background:#fff9fb}.area-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.area-grid div{padding:25px 15px;text-align:center;background:#fff;border:1px solid #f1dbe3;border-radius:17px}.area-grid b{display:block;font-size:18px}.area-grid span{color:#ed5a83;font-size:9px;letter-spacing:.18em}.area-note{margin:18px auto 0;max-width:850px;color:#8b777c;text-align:center;font-size:10px}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:15px}.steps>div{padding:24px 20px;background:#fff;border:1px solid #f1dbe3;border-radius:17px;box-shadow:0 8px 22px rgba(99,54,68,.05)}.steps span,.points span{display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;border-radius:50%;background:#fff1f5;color:#d94370;font-size:10px;font-weight:800}.steps h3,.points h3{font-size:16px;line-height:1.55}.steps p,.points p{font-size:12px;color:#66565a}.steps strong{color:#d94370}.howto .main-button{display:flex;width:max-content;margin:28px auto 0}.point-section{background:#fff9fb}.points{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.points>div{padding:27px 22px;background:#fff;border:1px solid #f1dbe3;border-radius:18px}.important{padding:20px 4% 70px}.important-box{display:grid;grid-template-columns:55px 1fr;gap:18px;padding:27px 29px;background:#fffaf0;border:1px solid #efdfb9;border-radius:18px}.important-box>span{width:45px;height:45px;display:flex;align-items:center;justify-content:center;border:1px solid #f0dca8;border-radius:50%;color:#a87917;font-weight:900}.important h2{margin:0 0 8px;font-size:20px}.important li{font-size:12px;color:#66565a;margin:6px 0}.important a{color:#d94370;text-decoration:underline}.links{padding:70px 4%;text-align:center}.links h2{margin:0 0 8px;font-size:27px}.links p{font-size:13px;color:#77666a}.buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:25px}.buttons a{display:inline-flex;justify-content:center;min-width:230px;padding:13px 20px;border-radius:999px;background:#ed5a83;color:#fff;font-size:12px;font-weight:800}.buttons a+ a{background:#fff;color:#d94370;border:1px solid #ed5a83}.cta{padding:72px 20px;text-align:center;color:#fff;background:linear-gradient(135deg,#e9547e,#f18aaa)}.cta>p:first-child{color:#fff}.cta h2{margin:0 0 9px;font-size:clamp(25px,4vw,35px)}.cta>p:not(:first-child){margin:0 0 25px;font-size:13px}.cta a{display:inline-flex;min-width:220px;justify-content:center;padding:13px 24px;border-radius:999px;background:#fff;color:#d94370;font-weight:800}footer{padding:43px 20px 32px;text-align:center;background:#493b3e;color:#fff}footer b{display:block;margin-bottom:15px}footer nav{justify-content:center;margin-bottom:18px;font-size:11px}footer small{font-size:10px;opacity:.7}@media(max-width:900px){.header-inner{flex-direction:column;padding:9px 0}.logo{font-size:15px}nav{font-size:10px;gap:4px 8px}.area-grid{grid-template-columns:repeat(2,1fr)}.steps{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.hero{padding:55px 18px 60px}.lead{font-size:13px}.intro,.price-section,.howto,.point-section,.important,.links{padding-left:4%;padding-right:4%}.intro-box{grid-template-columns:1fr;gap:12px;padding:22px 20px}.intro h2{font-size:18px}.price-section,.howto,.point-section{padding-top:55px;padding-bottom:55px}.price-card{grid-template-columns:1fr}.price-card>div:first-child{padding:28px}.price-card strong{font-size:45px}.explain{padding:25px 20px}.area-grid{gap:10px}.area-grid div{padding:20px 8px}.area-grid b{font-size:15px}.steps,.points{grid-template-columns:1fr}.steps>div,.points>div{padding:22px 20px}.howto .main-button,.buttons a{width:100%}.important-box{grid-template-columns:1fr;padding:22px 20px}}
/* 訪問サービス料金：訪問基本料金＋対面相談料金 */
.visit-price-card > .visit-price-main{padding:42px;text-align:center;background:linear-gradient(145deg,#fff1f5,#fff);display:flex;flex-direction:column;justify-content:center;align-items:center;}
.visit-price-main > span{display:block;font-size:12px;font-weight:700;line-height:1.6;}
.visit-price-values{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;width:100%;margin:10px 0 2px;}
.visit-price-values strong{display:block;margin:0;color:#d94370;font-size:38px;line-height:1.25;white-space:nowrap;}
.visit-price-values b{color:#d94370;font-size:22px;}
.visit-price-captions{display:grid;grid-template-columns:1fr 1fr;width:100%;gap:12px;}
.visit-price-captions small{display:block;color:#8b777c;font-size:10px;line-height:1.5;}
.visit-price-total{margin-top:20px;padding:9px 18px;display:flex;align-items:baseline;justify-content:center;gap:12px;width:100%;max-width:270px;border-radius:10px;background:#fff8fb;border:1px solid #f1dbe3;}
.visit-price-total span{font-size:12px;font-weight:700;}
.visit-price-total strong{color:#d94370;font-size:25px;line-height:1.25;}
@media(max-width:600px){
 .visit-price-card > .visit-price-main{padding:28px 20px;}
 .visit-price-values{gap:7px;}
 .visit-price-values strong{font-size:32px;}
 .visit-price-values b{font-size:18px;}
 .visit-price-captions{gap:7px;}
 .visit-price-captions small{font-size:9px;}
 .visit-price-total{margin-top:16px;}
}



/* =========================================================
   訪問サービス料金：項目名・金額の位置を完全に対応させる
   ========================================================= */
.visit-price-card > .visit-price-main{
  padding:42px 38px;
}

.visit-price-head{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);
  align-items:center;
  text-align:center;
  margin:0 0 7px;
}

.visit-price-head span{
  display:block;
  font-size:16px;
  font-weight:700;
  line-height:1.45;
}

.visit-price-head b{
  color:#d94370;
  font-size:20px;
  line-height:1;
}

.visit-price-values{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);
  align-items:center;
  gap:0;
  margin:0;
}

.visit-price-values strong{
  margin:0;
  color:#d94370;
  font-size:34px;
  line-height:1.3;
  text-align:center;
  white-space:nowrap;
}

.visit-price-values b{
  color:#d94370;
  font-size:20px;
  text-align:center;
}

.visit-price-captions{
  width:100%;
  display:grid;
  grid-template-columns:minmax(0,1fr) 40px minmax(0,1fr);
  align-items:start;
  gap:0;
  margin-top:4px;
}

.visit-price-captions small{
  display:block;
  color:#8b777c;
  font-size:10px;
  line-height:1.5;
  text-align:center;
}

.visit-price-captions small:first-child{
  grid-column:1;
}

.visit-price-captions small:last-child{
  grid-column:3;
}

.visit-price-total{
  width:100%;
  max-width:270px;
  margin:20px auto 0;
  padding:9px 18px;
  display:flex;
  align-items:baseline;
  justify-content:center;
  gap:12px;
  border-radius:10px;
  background:#fff8fb;
  border:1px solid #f1dbe3;
}

.visit-price-total span{
  font-size:12px;
  font-weight:700;
}

.visit-price-total strong{
  color:#d94370;
  font-size:25px;
  line-height:1.25;
  white-space:nowrap;
}

@media(max-width:600px){
  .visit-price-card > .visit-price-main{
    padding:28px 18px;
  }

  .visit-price-head{
    grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);
  }

  .visit-price-head span{
    font-size:13px;
  }

  .visit-price-head b{
    font-size:17px;
  }

  .visit-price-values{
    grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);
  }

  .visit-price-values strong{
    font-size:25px;
  }

  .visit-price-values b{
    font-size:17px;
  }

  .visit-price-captions{
    grid-template-columns:minmax(0,1fr) 28px minmax(0,1fr);
  }

  .visit-price-captions small{
    font-size:9px;
  }

  .visit-price-total{
    margin-top:16px;
  }
}
