*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{--ink:#F7F4EE;--panel:#fff;--line:#E4DED0;--amber:#F6AB00;--amber-dim:#F3D999;--moss:#870011;--moss-deep:#5A0912;--text:#1A1A1A}
body{font-family:'Noto Sans JP',sans-serif;background:var(--ink);color:var(--text);line-height:1.9;padding-bottom:80px;-webkit-font-smoothing:antialiased}
.page-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);padding:14px 24px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.site-title{font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-size:20px;font-weight:800;color:var(--moss)}
.site-title .a{color:var(--amber)}
.site-publisher{font-size:11px;color:#aaa;margin-top:3px}
.back-btn{display:inline-flex;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:#fff;color:var(--text);font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap}
.back-btn:hover{background:var(--ink)}
.hero{background:linear-gradient(160deg,var(--moss) 0%,var(--moss-deep) 100%);color:#fff;text-align:center;padding:44px 24px 36px}
.hero h1{font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-size:clamp(22px,4vw,30px);font-weight:800;letter-spacing:.06em}
.hero p{font-size:13px;color:var(--amber-dim);margin-top:10px}
.container{max-width:760px;margin:0 auto;padding:32px 20px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:32px}
h2{font-family:'M PLUS Rounded 1c','Noto Sans JP',sans-serif;font-size:17px;font-weight:800;color:var(--moss);margin:30px 0 12px;padding-bottom:8px;border-bottom:1px solid var(--line)}
h2:first-of-type{margin-top:0}
.card > p:first-child + h2{margin-top:30px}
h3{font-size:14px;font-weight:700;margin:16px 0 6px}
p{font-size:14px;color:#333;margin-bottom:10px}
ol,ul{padding-left:22px;margin-bottom:10px}
li{font-size:14px;color:#333;margin-bottom:4px}
a{color:var(--moss)}
.highlight-box{background:#fbf3dc;border:1px solid var(--amber-dim);border-radius:8px;padding:14px 18px;font-size:13px;margin:24px 0 4px}
.highlight-box strong{display:block;margin-bottom:6px}
.company-table{width:100%;border-collapse:collapse;margin:12px 0}
.company-table th,.company-table td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top;font-size:14px}
.company-table th{background:var(--moss);color:#fff;width:28%;white-space:nowrap}
.field{margin-bottom:16px}
.field label{display:block;font-size:13px;font-weight:700;margin-bottom:5px}
.req{color:#D51414;margin-left:3px}
.field input,.field select,.field textarea{width:100%;padding:10px 13px;border:1px solid #ccc;border-radius:8px;font-size:14px;font-family:inherit;background:#fff;outline:none}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--moss)}
.field textarea{resize:vertical;min-height:140px;line-height:1.7}
.field-error{display:none;font-size:12px;color:#D51414;margin-top:5px}
.field-error.show{display:block}
.checkbox-row{display:flex;align-items:flex-start;gap:8px}
.checkbox-row input{width:auto;margin-top:6px}
.checkbox-row label{margin:0;font-weight:400}
.submit-btn{display:block;width:100%;padding:13px;margin-top:22px;background:var(--moss);color:#fff;border:0;border-radius:999px;font-size:15px;font-weight:700;font-family:inherit;cursor:pointer}
.submit-btn:hover{background:var(--moss-deep)}
.mail-note{font-size:12px;color:#999;margin-top:10px;text-align:center}
.footer{margin-top:24px;text-align:center;font-size:11px;color:#aaa}
@media(max-width:540px){.card{padding:22px 18px}.page-header{padding:12px 16px}.company-table th,.company-table td{display:block;width:100%}}
