body{
  margin:0;
  font-family:"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#333;
  line-height:1.8;
  background:#fff;
}
h1,h2,h3{
  font-family:"Noto Serif JP",serif;
  color:#6b4f3f;
  letter-spacing:.02em;
}
h4{margin:0 0 .4rem 0;color:#6b4f3f;}
a{text-decoration:none;color:inherit;}
.center{text-align:center;}

.header{
  background:#6b4f3f;
  color:#fff;
  padding:10px 0;
  position:sticky;
  top:0;
  z-index:10;
}
.header-inner{
  width:min(1100px,90%);
  margin:0 auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.logo{
  margin:0;
  font-size:1.25rem;
  color:#fff;
  font-family:"Noto Serif JP",serif;
}
.header-tel{color:#fff;font-weight:700;}

.hero{position:relative;}
.hero img{
  width:100%;
  height:70vh;
  object-fit:cover;
  filter:brightness(.9);
}
.hero-text{
  position:absolute;
  top:14%;
  left:7%;
  background:rgba(255,255,255,.92);
  padding:28px;
  max-width:460px;
  border-radius:12px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);
}
.hero-text h2{margin:0 0 .6rem 0;font-size:1.8rem;}
.hero-text p{margin:.4rem 0;}

.section{padding:70px 10%;}
.section.bg{background:#f6f2ee;}
.section.bg-soft{background:#fbf8f4;}
.section>h3{
  text-align:center;
  font-size:1.8rem;
  margin:0 0 28px 0;
}

.worry-list{
  max-width:820px;
  margin:0 auto;
  padding-left:1.2rem;
}
.worry-list li{margin:.6rem 0;}

.card-wrap{
  width:min(1100px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
}
.card{
  background:#fff;
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  border:1px solid rgba(107,79,63,.12);
}
.card img{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
}
.card-body{padding:18px 18px 20px;}

.two-col{
  width:min(980px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.box{
  background:#fff;
  border-radius:12px;
  padding:20px;
  border-left:6px solid #6b4f3f;
  box-shadow:0 10px 24px rgba(0,0,0,.05);
}

.cta{
  background:#6b4f3f;
  color:#fff;
  text-align:center;
  padding:70px 10%;
}
.cta h3{color:#fff;margin:0 0 10px 0;}
.cta p{margin:.5rem 0;}

.btn-primary,.btn-secondary{
  display:inline-block;
  color:#fff;
  padding:14px 26px;
  border-radius:8px;
  font-weight:700;
}
.btn-primary{background:#c0392b;}
.btn-secondary{background:#e67e22;}

.note{font-size:.9rem;opacity:.9;margin-top:10px;}

.contact-form{
  max-width:520px;
  margin:26px auto 0;
  display:flex;
  flex-direction:column;
  gap:14px;
  text-align:left;
}
.contact-form label{font-weight:500;}
.contact-form input,.contact-form textarea{
  width:100%;
  padding:10px 12px;
  font-size:1rem;
  border:1px solid rgba(0,0,0,.18);
  border-radius:8px;
  background:#fff;
}
.contact-form button{border:none;cursor:pointer;}

.image-section{
  background:#f9f7f4;
  padding:60px 0;
}
.image-section img{
  width:100%;
  max-width:1100px;
  margin:0 auto;
  display:block;
  border-radius:12px;
}

.footer{
  background:#333;
  color:#fff;
  padding:30px 10%;
  font-size:.92rem;
}

/* Responsive */
@media (max-width: 900px){
  .card-wrap{grid-template-columns:1fr;}
  .two-col{grid-template-columns:1fr;}
  .hero-text{max-width:560px;}
}
@media (max-width: 768px){
  .hero img{height:52vh;}
  .hero-text{position:static;margin:16px;}
  .section{padding:54px 16px;}
  .image-section{padding:40px 15px;}
}


/* ===== 追加：ヘッダー誘導メッセージ ===== */
.header-call{display:flex;gap:10px;align-items:center;}
.header-msg{font-weight:700;font-size:.95rem;color:#fff;opacity:.95;}

/* ===== 追加：悩みリスト中央寄せ ===== */
.worry-center{max-width:820px;margin:0 auto;padding-left:0;list-style:none;text-align:center;}
.worry-center li{margin:.65rem 0;display:block;}
.worry-center li::before{content:"✓ ";color:#6b4f3f;font-weight:700;}

/* ===== 追加：カード内リンク ===== */
.card-link{margin-top:12px;}
.btn-link{display:inline-block;padding:10px 14px;border-radius:10px;background:#f6f2ee;border:1px solid rgba(107,79,63,.25);color:#6b4f3f;font-weight:700;}
.btn-link:hover{filter:brightness(.98);}

/* ===== 追加：専門家リンク ===== */
.text-link{color:#6b4f3f;text-decoration:underline;font-weight:700;}

/* ===== 追加：リード文 ===== */
.lead{max-width:900px;margin:0 auto 24px;}

/* ===== 追加：画像CTAオーバーレイ ===== */
.image-cta{position:relative;}
.image-cta img{filter:brightness(.92);}
.image-cta-text{
  position:absolute;
  inset:auto 0 0 0;
  padding:26px 18px 28px;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.55) 70%);
  color:#fff;
  text-align:center;
}
.image-cta-text h3{color:#fff;margin:0 0 8px 0;}
.image-cta-text p{margin:0 0 14px 0;opacity:.95;}
.image-cta-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.btn-outline{
  display:inline-block;
  padding:14px 22px;
  border-radius:8px;
  border:2px solid rgba(255,255,255,.9);
  color:#fff;
  font-weight:700;
}

/* ===== 追加：フッター地図 ===== */
.footer-map{
  margin-top:18px;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.15);
}
.footer-title{margin:0 0 10px 0;color:#fff;font-family:"Noto Serif JP",serif;}
.footer-map iframe{
  width:100%;
  height:260px;
  border:0;
  border-radius:12px;
}

@media (max-width: 768px){
  .header-call{gap:8px;}
  .header-msg{font-size:.85rem;}
  .image-cta-text{padding:18px 14px 20px;}
  .footer-map iframe{height:220px;}
}


/* ===== v3: スマホヘッダー最適化 ===== */
.header-inner{gap:10px;}
@media (max-width: 600px){
  .header-inner{
    flex-direction:column;
    align-items:flex-start;
  }
  .logo{font-size:1.1rem;}
  .header-call{
    width:100%;
    justify-content:space-between;
  }
  .header-msg{font-size:.82rem; opacity:.92;}
  .header-tel{font-size:1rem;}
}

/* ===== v3: フォーム送信メッセージ ===== */
.form-status{
  max-width:520px;
  margin:14px auto 0;
  padding:12px 14px;
  border-radius:10px;
  display:none;
}
.form-status.ok{display:block; background:rgba(46, 204, 113, .12); border:1px solid rgba(46, 204, 113, .35);}
.form-status.ng{display:block; background:rgba(231, 76, 60, .10); border:1px solid rgba(231, 76, 60, .30);}

/* ===== v3: 最下部画像CTAを強く・綺麗に ===== */
.image-cta-text{
  padding:34px 18px 36px;
}
.image-cta-text h3{
  font-size:2.0rem;
  line-height:1.25;
}
.image-cta-text p{
  font-size:1.05rem;
  max-width:860px;
  margin:0 auto 16px auto;
}
@media (max-width: 768px){
  .image-cta-text{padding:22px 14px 24px;}
  .image-cta-text h3{font-size:1.55rem;}
  .image-cta-text p{font-size:1rem;}
}

/* ===== v3: 運営事務所リンク（効果が出やすい配置） ===== */
.office-cta{
  width:min(980px,100%);
  margin:18px auto 0;
  padding:14px 14px 2px;
}
.office-lead{margin:0 0 10px 0; font-weight:700;}
.office-btn{background:#fff;}

/* ===== v3: フッター運営リンク ===== */
.footer-small{margin-top:10px; font-size:.9rem; opacity:.95;}
.footer-link{color:#fff; text-decoration:underline; font-weight:700;}


/* ===== v4: ロゴ配置（ヘッダー） ===== */
.logo-link{
  display:flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
}
.logo-mark{
  width:34px;
  height:34px;
  object-fit:contain;
  display:block;
}
.logo-text{display:block; font-weight:700;}

@media (max-width: 600px){
  .logo-link{gap:8px;}
  .logo-mark{width:30px;height:30px;}
}

/* ===== v4: 最下部CTAの文章余白 ===== */
.image-cta-text p{
  line-height:1.7;
}

/* ===== v4: コピーライト ===== */
.copyright{
  margin-top:14px;
  font-size:.85rem;
  opacity:.85;
}
