/* なついろアジュール 公式サイト共通スタイル */
* { margin:0; padding:0; box-sizing:border-box; }

:root {
  --foam:#f2fbff;
  --azure:#46c6e8;
  --azure-deep:#0d7fa6;
  --coral:#ff8a5c;
  --ink:#37536b;
  --card:#ffffff;
}

body {
  background:var(--foam);
  color:var(--ink);
  font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;
  line-height:1.9;
}

/* ===== ヘッダー・ナビ ===== */
header.site {
  text-align:center;
  padding:26px 16px 10px;
  background:linear-gradient(180deg,#cdeeff 0%, var(--foam) 100%);
}
header.site .logo {
  font-family:"Hachi Maru Pop",cursive;
  font-size:clamp(24px,5vw,40px);
  color:var(--azure-deep);
  text-shadow:0 2px 0 #fff, 0 4px 10px rgba(13,127,166,.25);
  letter-spacing:.04em;
}
header.site .tagline {
  font-size:clamp(12px,2vw,15px);
  color:#6f93a8;
  letter-spacing:.25em;
  margin-top:2px;
}

nav.site {
  display:flex; justify-content:center; flex-wrap:wrap; gap:10px;
  padding:14px 10px 22px;
  background:linear-gradient(180deg,var(--foam) 0%, #e6f6ff 100%);
}
nav.site a {
  font-family:"Hachi Maru Pop",cursive;
  font-size:clamp(13px,2vw,16px);
  color:#fff;
  background:linear-gradient(135deg,var(--azure),var(--coral));
  text-decoration:none;
  padding:9px 22px;
  border-radius:999px;
  border:2px solid #fff;
  box-shadow:0 3px 10px rgba(13,127,166,.25);
  transition:transform .15s;
}
nav.site a:hover { transform:scale(1.07); }
nav.site a.current {
  background:#fff;
  color:var(--azure-deep);
  border-color:var(--azure);
}

/* ===== 本文 ===== */
main { max-width:960px; margin:0 auto; padding:30px 18px 60px; }

h2.section {
  font-family:"Hachi Maru Pop",cursive;
  text-align:center;
  font-size:clamp(20px,3.6vw,28px);
  color:var(--azure-deep);
  margin:36px 0 22px;
}
h2.section::before { content:"🌊 "; }
h2.section::after  { content:" 🌊"; }

.card {
  background:var(--card);
  border:2px solid #cfeeff;
  border-radius:20px;
  padding:26px 28px;
  box-shadow:0 8px 24px rgba(13,127,166,.10);
  margin-bottom:26px;
}

.keyvisual {
  display:block; width:100%; border-radius:20px;
  border:3px solid #fff;
  box-shadow:0 10px 30px rgba(13,127,166,.25);
}

.catch {
  text-align:center;
  font-family:"Hachi Maru Pop",cursive;
  font-size:clamp(17px,3vw,24px);
  color:var(--ink);
  margin:26px 0 6px;
}

.btn-big {
  display:block;
  width:min(420px,90%);
  margin:26px auto;
  text-align:center;
  font-family:"Hachi Maru Pop",cursive;
  font-size:clamp(17px,2.6vw,21px);
  color:#fff;
  background:linear-gradient(135deg,#2fb6d9,#ff8a5c);
  text-decoration:none;
  padding:16px 10px;
  border-radius:999px;
  border:3px solid #fff;
  box-shadow:0 6px 20px rgba(13,127,166,.4);
  transition:transform .15s;
}
.btn-big:hover { transform:scale(1.05); }

/* トップのメニューカード */
.menu-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
  margin-top:24px;
}
.menu-grid a {
  display:block;
  background:var(--card);
  border:2px solid #cfeeff;
  border-radius:18px;
  padding:22px 18px;
  text-align:center;
  text-decoration:none;
  color:var(--ink);
  box-shadow:0 6px 18px rgba(13,127,166,.10);
  transition:transform .15s, box-shadow .15s;
}
.menu-grid a:hover { transform:translateY(-4px); box-shadow:0 10px 24px rgba(13,127,166,.22); }
.menu-grid .emoji { font-size:34px; }
.menu-grid .label {
  display:block;
  font-family:"Hachi Maru Pop",cursive;
  font-size:17px;
  color:var(--azure-deep);
  margin-top:8px;
}
.menu-grid .desc { font-size:13px; color:#6f93a8; margin-top:6px; }

/* キャラクター紹介 */
.char-card {
  display:flex; gap:24px; align-items:center;
  background:var(--card);
  border-radius:20px;
  padding:24px 26px;
  margin-bottom:26px;
  box-shadow:0 8px 24px rgba(13,127,166,.10);
}
.char-card:nth-child(odd) { flex-direction:row-reverse; }
.char-card img {
  width:min(220px,38%);
  border-radius:16px;
  background:linear-gradient(180deg,#dff3ff,#ffeade);
}
.char-card .info { flex:1; }
.char-card h3 {
  font-family:"Hachi Maru Pop",cursive;
  font-size:clamp(18px,3vw,24px);
  margin-bottom:4px;
}
.char-card .role { font-size:14px; color:#fff; display:inline-block; padding:2px 14px; border-radius:999px; margin-bottom:10px; }
.char-card .quote {
  background:#f0faff;
  border-left:4px solid var(--azure);
  border-radius:8px;
  padding:10px 14px;
  font-size:14px;
  margin-top:12px;
}
.char-minato h3 { color:#e8701f; } .char-minato .role { background:#ff9448; } .char-minato { border:2px solid #ffdcc2; }
.char-nagi   h3 { color:#2f5aa8; } .char-nagi .role   { background:#4a5f8c; } .char-nagi   { border:2px solid #ccd8f7; }
.char-touma  h3 { color:#b5762a; } .char-touma .role  { background:#c98f4a; } .char-touma  { border:2px solid #f0dcc0; }

/* ストーリー */
.story-visual { width:100%; border-radius:16px; margin-bottom:20px; }
.story-lead {
  font-family:"Hachi Maru Pop",cursive;
  text-align:center;
  font-size:clamp(16px,2.8vw,21px);
  color:var(--azure-deep);
  margin-bottom:18px;
}

/* あそびかた表 */
.howto { list-style:none; }
.howto li { padding:8px 0 8px 34px; position:relative; }
.howto li::before { content:"🐚"; position:absolute; left:0; }

/* フッター */
footer.site {
  text-align:center;
  padding:26px 12px 34px;
  font-size:12.5px;
  color:#8bb0c4;
  background:linear-gradient(180deg,var(--foam), #d9f1ff);
}
footer.site a { color:#8bb0c4; }

@media (max-width:640px){
  .char-card, .char-card:nth-child(odd) { flex-direction:column; }
  .char-card img { width:70%; }
}
