@font-face{font-family:'Sofia Pro';src:url("/assets/fonts/SofiaPro-Light.woff2") format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:'Sofia Pro';src:url("/assets/fonts/SofiaPro-Regular.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:'Sofia Pro';src:url("/assets/fonts/SofiaPro-Bold.woff2") format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:'Sofia Pro';src:url("/assets/fonts/SofiaPro-Black.woff2") format("woff2");font-weight:900;font-display:swap}
:root{--cream:#F5EFE3;--red:#BC3D2C;--brown:#492323;--ink:#111;--mute:#5E5A52;--line:#DDD2BD}
*,*::before,*::after{box-sizing:border-box}
html{font-size:16px;-webkit-text-size-adjust:100%}
@media (min-width:1440px){html{font-size:calc(16px + (100vw - 1440px) * .0105)}}
body{margin:0;background:#fff;color:var(--ink);font-family:'Sofia Pro',system-ui,sans-serif;line-height:1.55;font-weight:400}
a{color:var(--ink)}a:hover{color:var(--red)}
a:focus-visible,button:focus-visible{outline:.1875rem solid var(--red);outline-offset:.1875rem}
.top{background:var(--cream);border-bottom:1px solid #E8DFCF}
.w{width:100%;max-width:46rem;margin:0 auto;padding:0 max(1.25rem,env(safe-area-inset-left))}
.top .w{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.125rem;padding-bottom:1.125rem;max-width:72.5rem}
.logo{font-size:1.875rem;font-weight:900;letter-spacing:-.033em;line-height:1;text-decoration:none}
.logo i{color:var(--red);font-style:normal}
.back{font-size:.9375rem;font-weight:700;text-decoration:none}
main{padding:clamp(2rem,6vw,4rem) 0 clamp(3rem,8vw,5rem)}
h1{margin:0 0 .5rem;font-size:clamp(2rem,7vw,3rem);line-height:1.04;font-weight:900;letter-spacing:-.035em}
h2{margin:2.25rem 0 .5rem;font-size:1.5rem;line-height:1.15;font-weight:900;letter-spacing:-.025em}
p,li{font-size:1.0625rem;font-weight:300}
p{margin:.5rem 0 1rem}
ul{padding-left:1.25rem}
li{margin:.375rem 0}
.upd{color:var(--mute);font-size:.9375rem}
.ph{background:#FFE600;padding:1px .375rem;border-radius:.25rem;font-weight:700}
.concept{background:#FFF3B0;border:1px solid #E5CF4D;border-radius:.75rem;padding:.875rem 1rem;font-size:.9375rem;font-weight:400;margin:1rem 0 1.5rem}
.tbl{overflow-x:auto;margin:1rem 0 1.5rem;border:1px solid var(--line);border-radius:.75rem}
table{border-collapse:collapse;width:100%;min-width:38rem;font-size:.9375rem}
th,td{text-align:left;vertical-align:top;padding:.625rem .75rem;border-bottom:1px solid var(--line);font-weight:400}
th{background:var(--cream);font-weight:700;white-space:nowrap}
tr:last-child td{border-bottom:0}
.btn{display:inline-flex;align-items:center;min-height:3rem;padding:0 1.5rem;border:0;border-radius:999px;background:var(--brown);color:#fff;font:inherit;font-weight:700;cursor:pointer}
.btn:hover{color:#fff;background:var(--red)}
footer{background:var(--brown);color:#CDBFAE;padding:1.25rem 0;font-size:.875rem}
footer a{color:#CDBFAE}
