/*
Theme Name: たなごころ整骨院ひで
Theme URI: https://fukodo-hp.pages.dev
Author: IU Consulting
Description: たなごころ整骨院ひで（福岡県太宰府市）のオリジナルWordPressテーマ
Version: 1.0.0
Text Domain: tanagokoro
*/

/* ===== Reset & Base ===== */
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Helvetica Neue','Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif;color:#4a4040;line-height:1.9;background:#fffbf7}
a{text-decoration:none;color:inherit}
img{max-width:100%;height:auto}

/* ===== Header ===== */
.site-header{background:rgba(255,251,247,.95);backdrop-filter:blur(8px);border-bottom:1px solid #f0e0d0;position:sticky;top:0;z-index:100}
.header-inner{max-width:1060px;margin:0 auto;padding:14px 24px;display:flex;justify-content:space-between;align-items:center}
.site-logo{font-size:1.4rem;font-weight:700;color:#c4703f}
.site-logo small{font-size:.65rem;display:block;color:#b8a090;font-weight:400}
.main-nav{display:flex;align-items:center;gap:0}
.main-nav a{margin-left:20px;font-size:.85rem;color:#8a7060;transition:color .2s}
.main-nav a:hover{color:#c4703f}
.nav-tel{background:#c4703f;color:#fff!important;padding:8px 16px;border-radius:30px;font-weight:600;font-size:.82rem}

/* ===== Hero ===== */
.hero{position:relative;min-height:520px;display:flex;align-items:center;overflow:hidden}
.hero-bg{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}
.hero-overlay{position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(to right,rgba(255,251,247,.95) 35%,rgba(255,251,247,.4) 70%,rgba(255,251,247,.2) 100%)}
.hero-content{position:relative;z-index:2;max-width:1060px;margin:0 auto;padding:80px 24px}
.hero h1{font-size:2.2rem;color:#6b4226;margin-bottom:14px}
.hero .sub{color:#c4703f;font-size:.9rem;margin-bottom:12px;font-weight:600}
.hero p{font-size:.92rem;color:#7a5540;max-width:480px;margin-bottom:24px}
.hero-pills{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:24px}
.pill{background:rgba(196,112,63,.1);color:#c4703f;padding:6px 14px;border-radius:20px;font-size:.78rem;font-weight:600}
.btn{display:inline-block;padding:14px 32px;border-radius:40px;font-size:.92rem;font-weight:600;transition:all .3s}
.btn-warm{background:#c4703f;color:#fff}
.btn-warm:hover{background:#b0612f;transform:translateY(-2px);box-shadow:0 6px 20px rgba(196,112,63,.3)}

/* ===== Sections ===== */
section{padding:80px 24px}
.section-title{text-align:center;margin-bottom:48px}
.section-title h2{font-size:1.6rem;color:#6b4226;margin-bottom:8px}
.section-title .dots{color:#c4703f;font-size:1.2rem;letter-spacing:8px}
.section-title p{color:#a08878;font-size:.88rem;margin-top:6px}
.container{max-width:1060px;margin:0 auto}
.bg-peach{background:#fef5ed}

/* ===== Features ===== */
.features{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.feature-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 2px 16px rgba(196,112,63,.06);transition:transform .3s,box-shadow .3s}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px rgba(196,112,63,.12)}
.feature-card img{width:100%;height:180px;object-fit:cover}
.feature-card .body{padding:24px}
.feature-card h3{font-size:1rem;color:#6b4226;margin-bottom:8px}
.feature-card p{color:#7a6860;font-size:.85rem}

/* ===== Menu ===== */
.menu-list{max-width:680px;margin:0 auto;display:flex;flex-direction:column;gap:10px}
.menu-item{background:#fff;border-radius:14px;padding:18px 22px;display:flex;justify-content:space-between;align-items:center;box-shadow:0 1px 8px rgba(196,112,63,.05)}
.menu-item .name{font-size:.92rem;color:#4a4040}
.menu-item .name small{display:block;color:#a08878;font-size:.78rem;margin-top:2px}
.menu-item .price{font-size:1.05rem;font-weight:700;color:#c4703f;white-space:nowrap;text-align:right}
.menu-item .price small{display:block;font-size:.75rem;font-weight:400;color:#a08878}
.menu-note{text-align:center;margin-top:16px;font-size:.82rem;color:#a08878}

/* ===== About ===== */
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.about-img{border-radius:20px;overflow:hidden;height:420px}
.about-img img{width:100%;height:100%;object-fit:cover}
.about-text h3{font-size:1.2rem;color:#6b4226;margin-bottom:12px}
.about-text p{color:#6b5d50;margin-bottom:12px;font-size:.9rem}
.about-text .note{background:#fef5ed;border-radius:10px;padding:16px;margin-top:16px;font-size:.85rem;color:#7a5540}
.about-qual{color:#a08878;font-size:.85rem;margin-bottom:16px}

/* ===== Gallery ===== */
.gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px}
.gallery img{width:100%;height:180px;object-fit:cover;border-radius:14px}

/* ===== Voice ===== */
.voice{background:#fff;border-radius:16px;padding:24px;box-shadow:0 2px 12px rgba(196,112,63,.06);margin-bottom:16px}
.voice .stars{color:#f0a050;margin-bottom:6px}
.voice p{color:#5a4a40;font-size:.88rem;font-style:italic}
.voice .attr{color:#a08878;font-size:.78rem;margin-top:6px;font-style:normal}

/* ===== Access ===== */
.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.access-info dt{font-weight:600;color:#6b4226;margin-top:12px;font-size:.88rem}
.access-info dd{color:#6b5d50;font-size:.88rem}
.access-map{border-radius:16px;overflow:hidden;height:320px}
.access-map iframe{width:100%;height:100%;border:0}

/* ===== CTA ===== */
.cta{background:linear-gradient(135deg,#c4703f,#d4884f);color:#fff;text-align:center;padding:60px 24px}
.cta h2{font-size:1.6rem;margin-bottom:8px}
.cta p{opacity:.85;margin-bottom:20px}
.cta .tel{font-size:2rem;font-weight:700;color:#fff;display:block;margin-bottom:8px}
.cta .tel-note{font-size:.85rem;opacity:.8}

/* ===== Footer ===== */
.site-footer{background:#4a3a30;color:#b8a898;text-align:center;padding:24px;font-size:.8rem}

/* ===== WordPress-specific ===== */
.wp-block-image img{border-radius:14px}
.entry-content{max-width:800px;margin:0 auto;padding:40px 24px}
.entry-content h1,.entry-content h2,.entry-content h3{color:#6b4226;margin:24px 0 12px}
.entry-content p{margin-bottom:16px}

/* ===== Responsive ===== */
@media(max-width:768px){
  .hero h1{font-size:1.6rem}
  .hero-overlay{background:linear-gradient(to bottom,rgba(255,251,247,.92) 50%,rgba(255,251,247,.7) 100%)}
  .about-grid,.access-grid{grid-template-columns:1fr}
  .gallery{grid-template-columns:1fr 1fr}
  .main-nav .nav-link{display:none}
  .cta .tel{font-size:1.6rem}
  section{padding:60px 16px}
}
