:root{
  --bg:#fffaf7;
  --text:#2b2b2b;
  --muted:#6b6b6b;
  --primary:#db6b72;
  --primary-dark:#b34c55;
  --soft:#ffe9e5;
  --card:#ffffff;
  --line:#f0d8d2;
  --green:#557c70;
}
*{box-sizing:border-box}
body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;color:var(--text);background:var(--bg);line-height:1.8}
a{color:var(--primary-dark);text-decoration:none}a:hover{text-decoration:underline}
header{background:rgba(255,250,247,.92);backdrop-filter:blur(12px);position:sticky;top:0;z-index:10;border-bottom:1px solid var(--line)}
.nav{max-width:1100px;margin:auto;display:flex;justify-content:space-between;align-items:center;padding:14px 20px;gap:20px}
.logo{font-weight:800;color:var(--primary-dark);letter-spacing:.04em;font-size:1.15rem}.logo span{color:var(--green)}
nav ul{list-style:none;margin:0;padding:0;display:flex;gap:16px;flex-wrap:wrap}nav a{font-weight:700;color:#4a4a4a;font-size:.95rem}
.hero{background:linear-gradient(135deg,#fff7f2 0%,#ffe3df 55%,#f6fff9 100%);padding:68px 20px}.hero-inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.2fr .8fr;gap:36px;align-items:center}.eyebrow{color:var(--primary-dark);font-weight:800;letter-spacing:.08em}.hero h1{font-size:clamp(2rem,4vw,3.4rem);line-height:1.25;margin:10px 0}.hero p{font-size:1.08rem;color:#555}.hero-card{background:var(--card);border:1px solid var(--line);border-radius:28px;padding:28px;box-shadow:0 18px 40px rgba(179,76,85,.12)}.hero-card strong{display:block;font-size:1.25rem;color:var(--primary-dark);margin-bottom:12px}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-block;padding:12px 18px;border-radius:999px;background:var(--primary);color:white;font-weight:800}.btn.secondary{background:white;color:var(--primary-dark);border:1px solid var(--line)}
main{max-width:1100px;margin:auto;padding:44px 20px}.section{margin:44px 0}.section h2{font-size:clamp(1.55rem,3vw,2.2rem);line-height:1.35;margin:0 0 18px}.lead{font-size:1.08rem;color:#555}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.grid.two{grid-template-columns:repeat(2,1fr)}.card{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:24px;box-shadow:0 10px 25px rgba(80,50,40,.05)}.card h3{margin-top:0;color:var(--primary-dark)}.tag{display:inline-block;background:var(--soft);color:var(--primary-dark);border-radius:999px;padding:4px 10px;font-size:.82rem;font-weight:800;margin-bottom:10px}
.checklist{padding-left:0;list-style:none}.checklist li{position:relative;padding-left:30px;margin:10px 0}.checklist li:before{content:"✓";position:absolute;left:0;top:0;color:var(--green);font-weight:900}.note{background:#f8fffb;border-left:5px solid var(--green);padding:18px;border-radius:16px;color:#40554f}.warning{background:#fff2f2;border-left:5px solid var(--primary);padding:18px;border-radius:16px;color:#5c3b3b}.table{width:100%;border-collapse:collapse;background:white;border-radius:18px;overflow:hidden;border:1px solid var(--line)}.table th,.table td{padding:14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{background:var(--soft);color:var(--primary-dark)}
.page-title{padding:46px 20px;background:linear-gradient(135deg,#fff2ec,#f4fff7);border-bottom:1px solid var(--line)}.page-title .inner{max-width:1100px;margin:auto}.page-title h1{font-size:clamp(2rem,4vw,3rem);margin:0 0 8px}.breadcrumb{color:var(--muted);font-size:.9rem}
.cta{background:linear-gradient(135deg,var(--primary),#ed9a83);color:white;border-radius:28px;padding:32px;margin:40px 0}.cta h2{margin-top:0}.cta .btn{background:white;color:var(--primary-dark)}
footer{background:#3b3331;color:#f7eeee;padding:34px 20px;margin-top:40px}footer .inner{max-width:1100px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:20px}footer a{color:#ffd9d4}.small{font-size:.88rem;color:#7a7a7a}.footer-small{font-size:.86rem;color:#ddceca}
@media(max-width:780px){.hero-inner,.grid,.grid.two,footer .inner{grid-template-columns:1fr}.nav{align-items:flex-start;flex-direction:column}nav ul{gap:10px}.hero{padding:42px 20px}.table{font-size:.9rem}}
