/* Akiko’s Simple Life | Minimal & Elegant Aesthetic */
:root{
  --ink:#0C0F14;
  --moss:#2B5D5A;      /* Moss Green */
  --sage:#CFE6DE;
  --sand:#F2EDE6;
  --gold:#C8A55A;      /* Accent Gold */
  --bg:#FFFFFF;
  --radius:16px;
  --shadow:0 6px 20px rgba(12,15,20,.08);
}
*{box-sizing:border-box}
html,body{
  margin:0;
  padding:0;
  background:var(--bg);
  color:var(--ink);
  font:16px/1.7 -apple-system,BlinkMacSystemFont,'Hiragino Kaku Gothic ProN','Noto Sans JP','Yu Gothic',Meiryo,sans-serif;
}
img{max-width:100%;height:auto}
a{color:var(--moss);text-decoration:none}
a:hover{text-decoration:underline}
.container{width:92%;max-width:860px;margin:0 auto}

/* === HERO: 青空と木々の背景画像 === */
.hero{
  position:relative;
  min-height:60vh;
  color:#fff;
  padding:56px 16px;
  display:grid;
  place-items:center;
  text-align:center;
  overflow:hidden;
  background-color:#5c7882; /* 万が一画像ロード前のバックアップ色 */
}

/* <img>タグで直接背景画像を読み込む仕様にして読み込み漏れを解消 */
.hero__bg {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
}

/* 読みやすさを高める暗めグラデーション */
.hero__overlay{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:linear-gradient(180deg, rgba(12,15,20,.25), rgba(12,15,20,.45));
  z-index:1;
}

.hero__content{
  position:relative;
  z-index:2;
  max-width:800px;
  margin:0 auto;
}

.hero__title{
  font-family: 'Playfair Display', serif;
  font-size:56px;
  font-weight: 600;
  letter-spacing:.03em;
  margin:.1em 0 .2em;
  text-shadow:0 2px 12px rgba(0,0,0,.35);
}

.hero__subtitle{
  font-size:19px;
  font-weight:500;
  margin:0 0 28px;
  line-height:1.6;
  text-shadow:0 2px 8px rgba(0,0,0,.3);
}

/* BUTTONS */
.btn{
  display:inline-block;border-radius:999px;
  padding:14px 28px;font-weight:700;letter-spacing:.02em;
  border:2px solid transparent;transition:.2s;box-shadow:var(--shadow);
  text-align:center
}
.btn--primary{background:var(--gold);color:#fff}
.btn--primary:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(200,165,90,.35)}
.btn--secondary{background:var(--moss);color:#fff;border-color:var(--moss)}
.btn--secondary:hover{transform:translateY(-1px);box-shadow:0 10px 28px rgba(43,93,90,.28);text-decoration:none}

/* SECTIONS */
.section{padding:56px 0}
.section--main{background:var(--sand)}
h2{
  font-family: 'Playfair Display', 'Hiragino Kaku Gothic ProN', sans-serif;
  font-size:28px;
  color:var(--moss);
  letter-spacing:.02em;
  margin:0 0 16px;
  text-align:center;
}

/* CARDS */
.card{
  background:#fff;
  border-radius:var(--radius);
  padding:36px 24px;
  box-shadow:var(--shadow);
  text-align:center;
}
.card p{margin:0 0 24px;color:#2b2f36;line-height:1.8}

/* FOOTER */
.footer{padding:28px 0;background:#fff;border-top:1px solid #ececec}
.footer .container{text-align:center}
.footer small{color:#60646c; font-family: 'Playfair Display', sans-serif;}

/* RESPONSIVE */
@media (min-width:680px){
  .hero__title{font-size:68px}
  .hero__subtitle{font-size:21px}
  .card{padding:40px 36px;}
}
