/* 姓名月：お知らせ・問い合わせなどの小さなページ用 */
:root {
  --ai: #1f2f52; --tsuki: #c9a961; --ink: #1f1a16; --sub: #6b6055; --line: #e3e7ee; --soft: #f6f7fa; --bg: #ffffff;
  --mincho: "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", "Yu Mincho", serif;
  --gothic: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Meiryo", sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--bg); color: var(--ink); font-family: var(--gothic); font-weight: 400; line-height: 1.9; }
.wrap { max-width: 760px; margin: 0 auto; padding: 24px 16px 60px; }
.top { display: flex; align-items: center; gap: 12px; text-decoration: none; color: var(--ai); margin-bottom: 26px; }
.top img { width: 52px; height: 52px; border-radius: 50%; filter: drop-shadow(0 1px 4px rgba(31,47,82,.28)); }
.top span { font-family: var(--mincho); font-size: 1.5rem; letter-spacing: .3em; font-weight: 500; }
h1 { font-family: var(--mincho); font-weight: 500; font-size: 1.6rem; color: var(--ai); letter-spacing: .1em; margin: 0 0 18px; }
h2 { font-family: var(--mincho); font-weight: 500; font-size: 1.15rem; color: var(--ai); margin: 30px 0 8px; }
p, li { font-size: .98rem; }
table.list { width: 100%; border-collapse: collapse; }
table.list th, table.list td { border-bottom: 1px solid var(--line); padding: 12px 8px; text-align: left; vertical-align: top; font-size: .95rem; }
table.list th { width: 32%; color: var(--ai); font-weight: 500; white-space: nowrap; }
.note { color: var(--sub); font-size: .88rem; }
label { display: block; color: var(--sub); font-size: .9rem; margin: 16px 0 4px; }
input[type=text], input[type=email], textarea { width: 100%; font: inherit; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; background: var(--soft); }
textarea { min-height: 180px; }
button { margin-top: 20px; font: inherit; letter-spacing: .2em; padding: 12px 30px; border: 0; border-radius: 12px; color: #fff; background: linear-gradient(180deg, #33456e, #1f2f52); cursor: pointer; }
button:disabled { opacity: .55; cursor: default; }
.hp { position: absolute; left: -9999px; }
.msg { margin-top: 16px; padding: 12px 14px; border-radius: 10px; background: #f3eedf; }
.foot { margin-top: 48px; padding-top: 18px; border-top: 1px solid var(--line); font-size: .85rem; color: var(--sub); }
.foot a { color: var(--ai); margin-right: 14px; }
/* 読みもの */
.crumb { margin: -14px 0 14px; font-size: .82rem; color: var(--sub); }
.crumb a { color: var(--sub); }
.yomi .lead { font-size: 1.02rem; padding: 14px 0; border-top: 1px solid var(--tsuki); border-bottom: 1px solid var(--tsuki); }
.yomi h2 { padding-left: 12px; border-left: 3px solid var(--tsuki); }
table.kaku { border-collapse: collapse; margin: 6px 0 10px; }
table.kaku th { font-weight: 400; color: var(--sub); font-size: .82rem; padding: 4px 12px; text-align: left; }
table.kaku td { padding: 6px 12px; border-bottom: 1px solid var(--line); font-size: .98rem; white-space: nowrap; }
table.kaku td:last-child { color: var(--ai); }
table.kaku .ji { font-family: var(--mincho); font-size: 1.6rem; color: var(--ai); margin-right: 6px; vertical-align: -2px; }
.cta { margin: 40px 0 0; padding: 26px 18px; text-align: center; background: #fbf6e8; border-radius: 16px; }
.cta p { margin: 0 0 12px; font-family: var(--mincho); color: var(--ai); font-size: 1.05rem; }
.cta .note { margin: 12px 0 0; font-family: var(--gothic); font-size: .82rem; }
.cta-btn { display: inline-block; padding: 14px 26px; border-radius: 12px; color: #fff; background: linear-gradient(180deg, #33456e, #1f2f52); text-decoration: none; letter-spacing: .08em; }
table.kaku.gokaku td { white-space: normal; }
table.kaku.gokaku td:first-child { color: var(--sub); font-size: .88rem; }
table.kaku.gokaku td:not(:first-child) { color: var(--ink); white-space: nowrap; }
table.kaku.tsukai td { white-space: normal; vertical-align: top; }
table.kaku.tsukai td:first-child { color: var(--ai); white-space: nowrap; width: 9.5em; }
table.kaku.tsukai td:last-child { color: var(--ink); }
.toc { margin: 22px 0 6px; padding: 14px 18px; background: var(--soft); border-radius: 12px; }
.toc p { margin: 0 0 4px; font-size: .85rem; color: var(--sub); }
.toc ol { margin: 0; padding-left: 1.4em; }
.toc li { font-size: .92rem; }
.toc a { color: var(--ai); text-decoration: none; }
.qa .q { margin: 18px 0 4px; color: var(--ai); font-family: var(--mincho); font-size: 1.02rem; }
.qa .q::before { content: "問　"; color: var(--tsuki); }
@media (max-width: 560px) { table.kaku td, table.kaku th { padding: 6px 6px; } }
@media (max-width: 560px) { table.list th { width: auto; display: block; border: 0; padding-bottom: 0; } table.list td { display: block; padding-top: 4px; } }
