/* 鈴木建築 サイト共通スタイル */
:root{
  --ink:#2b2420;
  --ink-soft:#5a4f47;
  --paper:#f6f1e9;
  --paper-2:#ece3d5;
  --wood:#8a5a32;
  --wood-dark:#5b3a1e;
  --iron:#3a3d40;
  --line:#d8ccba;
  --accent:#b4572b;
  --maxw:1080px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  color:var(--ink);background:var(--paper);line-height:1.9;font-size:16px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--wood-dark)}
.serif{font-family:"Noto Serif JP","Hiragino Mincho ProN","Yu Mincho",serif}

/* ヘッダー */
.site-header{
  position:sticky;top:0;z-index:50;background:rgba(43,36,32,.94);
  backdrop-filter:blur(6px);color:#fff;
}
.header-inner{
  max-width:var(--maxw);margin:0 auto;padding:12px 20px;
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
.brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none}
.brand img{height:40px;width:auto}
.brand-name{font-family:"Noto Serif JP",serif;font-size:1.35rem;letter-spacing:.15em;font-weight:700}
.brand-sub{display:block;font-size:.65rem;letter-spacing:.2em;opacity:.7;font-family:"Noto Sans JP",sans-serif;font-weight:400}
.nav ul{display:flex;gap:4px;list-style:none}
.nav a{
  display:block;padding:8px 14px;color:#f1e7d8;text-decoration:none;
  font-size:.92rem;letter-spacing:.08em;border-bottom:2px solid transparent;
}
.nav a:hover,.nav a[aria-current="page"]{border-color:var(--accent);color:#fff}
.nav-toggle{display:none;background:none;border:1px solid #8b7f74;color:#fff;
  padding:6px 12px;font-size:.85rem;border-radius:3px;cursor:pointer}

/* ヒーロー */
.hero{
  position:relative;min-height:62vh;display:flex;align-items:center;justify-content:center;
  background:#222 center/cover no-repeat;color:#fff;text-align:center;
}
.hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.55))}
.hero-inner{position:relative;padding:40px 20px}
.hero h1{font-family:"Noto Serif JP",serif;font-size:clamp(1.8rem,5vw,3.2rem);letter-spacing:.2em;font-weight:700;text-shadow:0 2px 12px rgba(0,0,0,.5)}
.hero p{margin-top:14px;letter-spacing:.3em;font-size:.95rem;opacity:.9}
.page-hero{min-height:34vh}
.page-hero h1{font-size:clamp(1.6rem,4vw,2.4rem)}

/* セクション */
.section{max-width:var(--maxw);margin:0 auto;padding:72px 20px}
.section-title{
  font-family:"Noto Serif JP",serif;font-size:clamp(1.4rem,3vw,1.9rem);
  letter-spacing:.15em;text-align:center;margin-bottom:40px;
}
.section-title small{display:block;font-family:"Noto Sans JP",sans-serif;font-size:.72rem;letter-spacing:.35em;color:var(--accent);margin-bottom:6px}
.lead{max-width:760px;margin:0 auto;font-size:1.02rem}
.lead p+p{margin-top:1.1em}
.lead .catch{font-family:"Noto Serif JP",serif;font-size:1.25rem;line-height:1.8;margin-bottom:1.4em;color:var(--wood-dark)}

.split{display:grid;grid-template-columns:1fr 1.2fr;gap:48px;align-items:center}
.split img{border-radius:4px;box-shadow:0 10px 30px rgba(43,36,32,.18)}

/* こだわり */
.feature{display:grid;grid-template-columns:1fr 1.25fr;gap:44px;align-items:center;padding:44px 0;border-bottom:1px solid var(--line)}
.feature:last-child{border-bottom:none}
.feature:nth-child(even) .feature-img{order:2}
.feature-img img{border-radius:4px;box-shadow:0 10px 30px rgba(43,36,32,.18)}
.feature-num{font-family:"Noto Serif JP",serif;color:var(--accent);font-size:.85rem;letter-spacing:.3em}
.feature h3{font-family:"Noto Serif JP",serif;font-size:1.5rem;letter-spacing:.1em;margin:4px 0 2px}
.feature .note{font-size:.85rem;color:var(--ink-soft);margin-bottom:14px}

/* ギャラリー */
.band{background:var(--paper-2)}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.gallery a{display:block;aspect-ratio:1/1;overflow:hidden;border-radius:3px;background:#ddd}
.gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.gallery a:hover img{transform:scale(1.05)}

/* 概要表 */
.info-table{width:100%;max-width:760px;margin:0 auto;border-collapse:collapse;background:#fff}
.info-table th,.info-table td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.info-table th{width:28%;background:var(--paper-2);font-weight:500;letter-spacing:.1em}
.map{max-width:760px;margin:28px auto 0;aspect-ratio:16/9;background:var(--paper-2)}
.map iframe{width:100%;height:100%;border:0}

/* CTA・ボタン */
.cta{background:var(--iron);color:#fff;text-align:center}
.cta .section{padding:60px 20px}
.cta p{margin-bottom:22px}
.btn{
  display:inline-block;padding:14px 40px;background:var(--accent);color:#fff;
  text-decoration:none;letter-spacing:.15em;border-radius:2px;border:none;
  font-size:1rem;cursor:pointer;font-family:inherit;
}
.btn:hover{background:#9a4720}

/* フォーム */
.form{max-width:680px;margin:0 auto;background:#fff;padding:36px;border-radius:4px;box-shadow:0 6px 24px rgba(43,36,32,.08)}
.form label{display:block;font-weight:500;margin-bottom:6px;letter-spacing:.05em}
.form .req{color:var(--accent);font-size:.8rem;margin-left:6px}
.form input,.form textarea{
  width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:3px;
  font-size:1rem;font-family:inherit;background:#fcfaf6;margin-bottom:22px;
}
.form textarea{min-height:180px;resize:vertical}
.form .hp{position:absolute;left:-9999px}
.form .agree{font-size:.85rem;color:var(--ink-soft);margin-bottom:20px}
.form .actions{text-align:center}
.notice{max-width:680px;margin:0 auto 24px;padding:16px 20px;border-radius:3px}
.notice.ok{background:#e7f1e3;border:1px solid #9bc28b}
.notice.ng{background:#f8e6e1;border:1px solid #d89a87}

/* フッター */
.site-footer{background:var(--ink);color:#cfc3b4;font-size:.85rem}
.footer-inner{max-width:var(--maxw);margin:0 auto;padding:40px 20px;display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}
.footer-inner .brand-name{color:#fff;font-size:1.1rem}
.footer-nav{list-style:none;display:flex;gap:18px;flex-wrap:wrap}
.footer-nav a{color:#cfc3b4;text-decoration:none}
.footer-nav a:hover{color:#fff}
.copy{text-align:center;padding:14px;border-top:1px solid #3d342e;font-size:.75rem;letter-spacing:.1em}

/* スマホ */
@media (max-width:820px){
  .nav-toggle{display:block}
  .nav{position:absolute;top:100%;left:0;right:0;background:var(--ink);display:none}
  .nav.open{display:block}
  .nav ul{flex-direction:column;padding:8px 0}
  .nav a{padding:12px 24px;border-bottom:1px solid #3d342e}
  .split,.feature{grid-template-columns:1fr;gap:24px}
  .feature:nth-child(even) .feature-img{order:0}
  .gallery{grid-template-columns:repeat(2,1fr)}
  .section{padding:52px 16px}
  .form{padding:24px 18px}
  .info-table th{width:34%}
}
