﻿:root{--ink:#1a1a1a;--ink-light:#4a4a4a;--ink-muted:#888;--surface:#fafaf8;--white:#ffffff;--accent:#d35400;--accent-light:#e8730a;--accent-bg:#fdf5ef;--accent-border:#f5dcc8;--border:#e8e6e2;--border-light:#f0eeea;--blue:#2c5f8a;--blue-bg:#eef4f9;--blue-border:#c8dae8;--green:#2d7a4f;--green-bg:#edf7f1;--font-ja:"Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;--font-en:"DM Sans",var(--font-ja)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:var(--font-ja);color:var(--ink);background:var(--white);line-height:1.85;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
.hero{background:var(--surface);border-bottom:1px solid var(--border);padding:80px 24px 72px;text-align:center}
.hero__inner{max-width:720px;margin:0 auto}
.hero__badge{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--border);border-radius:100px;padding:6px 18px 6px 8px;font-size:13px;font-weight:500;color:var(--ink-light);margin-bottom:28px}
.hero__badge-dot{width:8px;height:8px;background:var(--green);border-radius:50%;flex-shrink:0}
.hero__title{font-size:32px;font-weight:700;line-height:1.45;letter-spacing:-.01em;color:var(--ink);margin-bottom:20px}
.hero__subtitle{font-size:16px;color:var(--ink-light);line-height:1.8;max-width:600px;margin:0 auto}
.container{max-width:880px;margin:0 auto;padding:0 24px}
.gov-section{padding:64px 24px;border-bottom:1px solid var(--border)}
.gov-card{max-width:880px;margin:0 auto;background:var(--white);border:1px solid var(--accent-border);border-radius:16px;overflow:hidden}
.gov-card__header{background:var(--accent-bg);padding:20px 28px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--accent-border)}
.gov-card__icon{width:40px;height:40px;background:var(--accent);border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.gov-card__icon svg{width:20px;height:20px;fill:#fff}
.gov-card__header-text{flex:1}
.gov-card__header-title{font-size:15px;font-weight:700;color:var(--ink)}
.gov-card__header-sub{font-size:13px;color:var(--ink-muted);margin-top:2px}
.gov-card__body{padding:28px}
.gov-card__items{display:flex;flex-direction:column;gap:16px}
.gov-card__item{display:flex;align-items:flex-start;gap:12px}
.gov-card__check{flex-shrink:0;width:22px;height:22px;background:var(--green-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-top:2px}
.gov-card__check svg{width:12px;height:12px;fill:var(--green)}
.gov-card__item-text{font-size:14px;color:var(--ink-light);line-height:1.75}
.gov-card__download{margin-top:24px;padding-top:20px;border-top:1px solid var(--border-light)}
.gov-card__download a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--accent);text-decoration:none;transition:color .2s}
.gov-card__download a:hover{color:var(--accent-light)}
.gov-card__download a svg{width:16px;height:16px;fill:currentColor}
.design-section{padding:72px 24px;border-bottom:1px solid var(--border)}
.section-label{font-family:var(--font-en);font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:12px}
.section-title{font-size:22px;font-weight:700;color:var(--ink);margin-bottom:12px}
.section-desc{font-size:15px;color:var(--ink-light);margin-bottom:44px;max-width:640px}
.design-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;max-width:880px;margin:0 auto}
.design-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:28px 24px;transition:border-color .2s}
.design-card:hover{border-color:#ccc}
.design-card__number{font-family:var(--font-en);font-size:12px;font-weight:700;color:var(--accent);letter-spacing:.05em;margin-bottom:12px}
.design-card__title{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:8px;line-height:1.5}
.design-card__body{font-size:13.5px;color:var(--ink-light);line-height:1.8}
.audience-section{padding:72px 24px;border-bottom:1px solid var(--border)}
.audience-cards{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:880px;margin:0 auto}
.audience-card{border-radius:16px;padding:36px 32px;position:relative;overflow:hidden}
.audience-card--user{background:var(--blue-bg);border:1px solid var(--blue-border)}
.audience-card--gyosei{background:var(--accent-bg);border:1px solid var(--accent-border)}
.audience-card__for{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;margin-bottom:16px}
.audience-card--user .audience-card__for{color:var(--blue)}
.audience-card--gyosei .audience-card__for{color:var(--accent)}
.audience-card__title{font-size:18px;font-weight:700;color:var(--ink);margin-bottom:12px;line-height:1.5}
.audience-card__desc{font-size:14px;color:var(--ink-light);line-height:1.8;margin-bottom:24px}
.audience-card__topics{list-style:none;display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
.audience-card__topics li{font-size:13px;color:var(--ink-light);padding-left:20px;position:relative;line-height:1.6}
.audience-card__topics li::before{content:"";position:absolute;left:0;top:7px;width:6px;height:6px;border-radius:50%}
.audience-card--user .audience-card__topics li::before{background:var(--blue)}
.audience-card--gyosei .audience-card__topics li::before{background:var(--accent)}
.audience-card__btn{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s}
.audience-card__btn svg{width:16px;height:16px;fill:currentColor;transition:transform .2s}
.audience-card__btn:hover svg{transform:translateY(2px)}
.audience-card--user .audience-card__btn{background:var(--blue);color:#fff}
.audience-card--user .audience-card__btn:hover{background:#245278}
.audience-card--gyosei .audience-card__btn{background:var(--accent);color:#fff}
.audience-card--gyosei .audience-card__btn:hover{background:#b84800}
.legal-note{padding:56px 24px;background:var(--surface)}
.legal-note__inner{max-width:880px;margin:0 auto}
.legal-note__title{font-size:14px;font-weight:700;color:var(--ink);margin-bottom:16px}
.legal-note__list{display:flex;flex-direction:column;gap:8px}
.legal-note__list p{font-size:13px;color:var(--ink-muted);line-height:1.75;padding-left:16px;position:relative}
.legal-note__list p::before{content:"※";position:absolute;left:0}
.legal-note__refs{margin-top:28px;padding-top:20px;border-top:1px solid var(--border)}
.legal-note__refs-title{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:10px}
.legal-note__refs a{display:block;font-size:13px;color:var(--accent);text-decoration:none;line-height:2}
.legal-note__refs a:hover{text-decoration:underline}
.legal-note__contact{margin-top:28px;padding-top:20px;border-top:1px solid var(--border);font-size:13px;color:var(--ink-muted);line-height:1.8}
.legal-note__contact a{color:var(--accent);text-decoration:none}
@media (max-width: 680px) {
.hero{padding:56px 20px 48px}
.hero__title{font-size:24px}
.hero__subtitle{font-size:15px}
.design-grid{grid-template-columns:1fr}
.audience-cards{grid-template-columns:1fr}
.gov-card__header{flex-direction:column;align-items:flex-start;gap:10px}
.gov-card__body{padding:20px}
.design-section,.audience-section{padding:48px 20px}
}