:root{--green:#176b2c;--deep:#0f4d22;--light:#f3f8f1;--orange:#f57c00;--text:#1d241e;--line:#d9e4d7}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--text);line-height:1.7;background:#fff}img{max-width:100%;display:block}.container{width:min(1120px,92%);margin:auto}.hero{position:relative;min-height:720px;background:url('images/img-00-hero.jpg') center/cover no-repeat;color:#122014}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.88) 45%,rgba(255,255,255,.12) 75%)}.hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:1.2fr .8fr;gap:40px;align-items:end;padding:48px 0 54px}.eyebrow{display:inline-block;background:var(--green);color:#fff;font-weight:700;border-radius:999px;padding:7px 18px}.hero h1{font-size:clamp(44px,6vw,78px);line-height:1.18;margin:24px 0 10px;letter-spacing:-.04em}.hero h1 span{color:var(--green)}.lead{font-size:clamp(20px,2.2vw,28px);font-weight:700}.badges{display:flex;gap:14px;flex-wrap:wrap;margin:28px 0}.badges div{width:145px;height:145px;border:2px solid #bcd0bd;border-radius:50%;display:grid;place-items:center;text-align:center;font-weight:700;background:rgba(255,255,255,.9)}.cta{display:inline-flex;align-items:center;justify-content:center;min-height:68px;padding:0 34px;border-radius:12px;color:#fff;text-decoration:none;font-size:22px;font-weight:800;box-shadow:0 8px 20px rgba(0,0,0,.14)}.cta-line{background:linear-gradient(135deg,#08a735,#008b28)}.cta-note{font-weight:700;margin:8px 0 0}.profile-card{background:rgba(255,255,255,.95);border-radius:18px;padding:20px;display:flex;gap:18px;align-items:center;box-shadow:0 12px 32px rgba(0,0,0,.16)}.profile-card img{width:110px;height:110px;border-radius:50%;object-fit:cover;border:5px solid #e7f2e5}.profile-card h2{color:var(--green);margin:0 0 6px;font-size:21px}.profile-card p{margin:0}.section{padding:72px 0}.pale{background:var(--light)}.section-title{text-align:center;color:var(--deep);font-size:clamp(28px,4vw,42px);margin:0 0 34px}.section-title span{font-size:.55em}.section-note{text-align:center;margin:-24px 0 28px;color:#5b675d}.trouble-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.trouble-grid div{background:#fff;border:1px solid var(--line);padding:28px 12px;border-radius:12px;text-align:center;font-weight:700;box-shadow:0 5px 16px rgba(20,80,30,.06)}.info-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}.card{border:1px solid var(--line);border-radius:16px;padding:28px;background:#fff;box-shadow:0 7px 24px rgba(20,80,30,.07)}.card h2{color:var(--green);margin-top:0}.card h3{font-size:23px}.card ul{padding-left:1.3em}.notice{background:#f3f3ef;border-radius:8px;padding:12px;font-size:14px}.price-card{text-align:center}.price{color:var(--orange);margin:12px 0}.price strong{font-size:78px;line-height:1}.price span{font-size:24px;font-weight:800}.works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.work-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 7px 22px rgba(20,80,30,.08)}.work-number{position:absolute;top:14px;left:14px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff;font-weight:800}.work-card h3{margin:0 0 12px 38px;color:var(--deep)}.before-after{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;align-items:center}.before-after figure{margin:0}.before-after figcaption{text-align:center;font-weight:800;margin-bottom:5px}.before-after img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:9px;border:1px solid #ddd}.before-after>span{font-size:28px;color:var(--green);font-weight:900}.work-card dl{display:grid;grid-template-columns:76px 1fr;margin-bottom:0}.work-card dt{font-weight:800}.work-card dd{margin:0}.flow{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.flow li{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 10px;text-align:center;font-weight:700}.flow strong{display:grid;place-items:center;width:38px;height:38px;margin:0 auto 12px;border-radius:50%;background:var(--green);color:#fff}.final-cta{padding:64px 0;text-align:center;background:linear-gradient(180deg,#fff8e7,#f5f0d9)}.final-cta h2{font-size:clamp(28px,4vw,44px);margin:0 0 8px}.final-cta p{font-size:20px;font-weight:700}footer{background:var(--deep);color:#fff;text-align:center;padding:22px 12px;font-size:14px}
@media(max-width:900px){.hero{min-height:auto}.hero-overlay{background:linear-gradient(180deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.85) 60%,rgba(255,255,255,.45) 100%)}.hero-grid{grid-template-columns:1fr;padding-top:26px}.profile-card{max-width:560px}.trouble-grid{grid-template-columns:repeat(2,1fr)}.info-grid,.works-grid{grid-template-columns:1fr}.flow{grid-template-columns:1fr 1fr}.badges div{width:118px;height:118px;font-size:14px}}
@media(max-width:540px){.hero h1{font-size:46px}.badges{gap:8px}.badges div{width:104px;height:104px}.profile-card{align-items:flex-start}.profile-card img{width:84px;height:84px}.section{padding:52px 0}.trouble-grid{grid-template-columns:1fr}.flow{grid-template-columns:1fr}.cta{width:100%;font-size:20px}.price strong{font-size:64px}}

/* SVGアイコン */
.badges div{grid-template-rows:auto auto;align-content:center;gap:5px;padding:16px}.badge-icon{width:42px;height:42px;margin:auto}.badges span{display:block}.cta-icon{width:34px;height:34px;margin-right:12px;filter:brightness(0) invert(1)}.trouble-grid div{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;min-height:170px}.trouble-icon{width:58px;height:58px}.card{position:relative}.card-icon{width:54px;height:54px;margin:0 auto 8px}.info-grid .card h2{text-align:center}.flow li{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start}.flow-icon{width:58px;height:58px;margin:0 auto 12px}.flow strong{position:absolute;top:10px;left:10px;width:30px;height:30px;margin:0;font-size:14px}
@media(max-width:540px){.trouble-grid div{min-height:145px}.trouble-icon{width:50px;height:50px}.flow-icon{width:52px;height:52px}}

/* ========================================
   追加セクション共通
======================================== */

.lp-section {
  padding: 72px 20px;
}

.lp-section:nth-of-type(even) {
  background: #f5f8f3;
}

.lp-container {
  width: min(100%, 1080px);
  margin: 0 auto;
}

.lp-section-heading {
  margin-bottom: 40px;
  text-align: center;
}

.lp-section-label {
  display: inline-block;
  margin-bottom: 10px;
  color: #4c7a45;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.lp-section-title {
  margin: 0;
  color: #263626;
  font-size: clamp(26px, 4vw, 38px);
  line-height: 1.4;
}

.lp-section-description {
  max-width: 700px;
  margin: 16px auto 0;
  color: #5f695f;
  font-size: 16px;
  line-height: 1.9;
}

.lp-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.lp-card {
  padding: 30px 24px;
  background: #ffffff;
  border: 1px solid #e0e9dc;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(39, 70, 37, 0.07);
}

.lp-card-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 58px;
  height: 58px;
  margin-bottom: 20px;
  background: #edf5e9;
  border-radius: 50%;
  color: #4c7a45;
  font-size: 26px;
}

.lp-card-title {
  margin: 0 0 12px;
  color: #263626;
  font-size: 20px;
}

.lp-card-text {
  margin: 0;
  color: #5f695f;
  font-size: 15px;
  line-height: 1.8;
}

.lp-highlight {
  color: #39713a;
  font-weight: 700;
}

@media (max-width: 768px) {
  .lp-section {
    padding: 56px 18px;
  }

  .lp-card-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .lp-card {
    padding: 24px 20px;
  }
}

/* 放置リスク */

.risk-section {
  background: #fffaf0;
}

.risk-section .lp-card {
  border-color: #eee3c8;
}

.risk-section .lp-card-icon {
  background: #fff3d7;
}

.risk-message {
  margin-top: 32px;
  padding: 22px;
  background: #ffffff;
  border-left: 5px solid #5f8d55;
  border-radius: 10px;
  text-align: center;
  box-shadow: 0 6px 18px rgba(39, 70, 37, 0.06);
}

.risk-message p {
  margin: 0;
  color: #374537;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.8;
}

.sp-only {
  display: none;
}

@media (max-width: 768px) {
  .sp-only {
    display: block;
  }
}

/* 選ばれる理由 */

.reason-section {
  background: #f4f8f2;
}

.reason-card {
  position: relative;
  overflow: hidden;
}

.reason-number {
  position: absolute;
  top: 10px;
  right: 18px;
  color: rgba(76, 122, 69, 0.1);
  font-size: 58px;
  font-weight: 800;
  line-height: 1;
}

/* よくある質問 */

.faq-section {
  background: #f5f8f3;
}

.faq-container {
  max-width: 850px;
}

.faq-list {
  display: grid;
  gap: 14px;
}

.faq-item {
  background: #ffffff;
  border: 1px solid #dfe9dc;
  border-radius: 14px;
  overflow: hidden;
  box-shadow: 0 5px 16px rgba(39, 70, 37, 0.05);
}

.faq-question {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 22px 56px 22px 22px;
  color: #263626;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.6;
  cursor: pointer;
  list-style: none;
}

.faq-question::-webkit-details-marker {
  display: none;
}

.faq-question::after {
  content: "＋";
  position: absolute;
  top: 50%;
  right: 22px;
  color: #4c7a45;
  font-size: 24px;
  transform: translateY(-50%);
}

.faq-item[open] .faq-question::after {
  content: "−";
}

.faq-mark,
.faq-answer-mark {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  font-weight: 800;
}

.faq-mark {
  background: #4c7a45;
  color: #ffffff;
}

.faq-answer {
  display: flex;
  gap: 14px;
  padding: 0 22px 24px;
  color: #5f695f;
}

.faq-answer-mark {
  background: #edf5e9;
  color: #39713a;
}

.faq-answer p {
  margin: 3px 0 0;
  line-height: 1.9;
}

@media (max-width: 768px) {
  .faq-question {
    padding: 18px 48px 18px 16px;
    font-size: 16px;
  }

  .faq-answer {
    padding: 0 16px 20px;
  }
}

/* 自己紹介 */

.profile-section {
  background: #ffffff;
}

.profile-box {
  display: grid;
  grid-template-columns: minmax(260px, 380px) 1fr;
  gap: 48px;
  align-items: center;
  padding: 40px;
  background: #f4f8f2;
  border: 1px solid #dfe9dc;
  border-radius: 24px;
}

.profile-image-wrap {
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: #e7eee4;
  border-radius: 18px;
}

.profile-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.profile-subtitle {
  margin: 0 0 8px;
  color: #4c7a45;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.profile-name {
  margin: 0 0 22px;
  color: #263626;
  font-size: clamp(23px, 3vw, 32px);
  line-height: 1.5;
}

.profile-text {
  margin: 0 0 14px;
  color: #5f695f;
  line-height: 1.9;
}

.profile-list {
  display: grid;
  gap: 10px;
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
}

.profile-list li {
  position: relative;
  padding-left: 28px;
  color: #374537;
  font-weight: 600;
  line-height: 1.7;
}

.profile-list li::before {
  content: "✓";
  position: absolute;
  top: 0;
  left: 0;
  color: #4c7a45;
  font-weight: 800;
}

@media (max-width: 768px) {
  .profile-box {
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 22px;
  }

  .profile-image-wrap {
    width: min(100%, 320px);
    margin: 0 auto;
  }
}