*, *::before, *::after {box-sizing:border-box;}
:root {--font-body: "Noto Sans JP", sans-serif;
--font-en: "Inter", sans-serif;
--color-text:#333;
}
html {font-size:18px;-webkit-text-size-adjust:100%;}
body,
h1, h2, h3, h4, h5, h6,
p, blockquote, figure, dl, dd {margin:0;}
body {min-height:100vh;line-height:1.5;text-rendering:optimizeLegibility;}
h1, h2, h3, h4, h5, h6 {font-weight: 200; line-height:1.2;}
p, h1, h2, h3, h4, h5, h6 {overflow-wrap:break-word;}
ul, ol {list-style:none;margin:0;padding:0;}
a {text-decoration:none;color:inherit;}
img,picture,video,canvas,svg {display:block;max-width:100%;height:auto;}
svg {max-height:100vh;}
picture img {height:auto;width:100%;}
input,button,textarea,select {font:inherit;}
button {background:none;border:none;padding:0;cursor:pointer;}
table {border-collapse:collapse;border-spacing:0;}
blockquote,q {quotes:none;}
blockquote::before,blockquote::after,q::before,q::after {content:'';}
article,aside,footer,header,nav,section,main {display:block;}
:target {scroll-margin-block:5ex;}
:focus-visible {outline:2px solid currentColor;outline-offset:2px;}
@media (prefers-reduced-motion:reduce) {*{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;}}