* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
    font-family: 'Noto Sans', Meiryo, sans-serif;
    background: #f5f5f5;
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    color: #000;
}
a { color: inherit; }

.bg-black { background: #000; }
.bg-white { background: #fff; }
.text-white { color: #fff; }
.text-black { color: #000; }
.text-center { text-align: center; }
.font-bold { font-weight: 700; }
.underline { text-decoration: underline; }
.block { display: block; }
.inline-block { display: inline-block; }
.w-full { width: 100%; }
.flex { display: flex; }
.flex-1 { flex: 1 1 0%; }
.flex-col { flex-direction: column; }
.items-center { align-items: center; }
.justify-center { justify-content: center; }
.gap-1 { gap: 0.25rem; }
.gap-2 { gap: 0.5rem; }
.gap-6 { gap: 1.5rem; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mt-0\.5 { margin-top: 0.125rem; }
.mt-1 { margin-top: 0.25rem; }
.mt-3 { margin-top: 0.75rem; }
.mb-1 { margin-bottom: 0.25rem; }
.mb-4 { margin-bottom: 1rem; }
.mb-5 { margin-bottom: 1.25rem; }
.px-2 { padding-left: 0.5rem; padding-right: 0.5rem; }
.px-3 { padding-left: 0.75rem; padding-right: 0.75rem; }
.px-4 { padding-left: 1rem; padding-right: 1rem; }
.px-6 { padding-left: 1.5rem; padding-right: 1.5rem; }
.py-1 { padding-top: 0.25rem; padding-bottom: 0.25rem; }
.py-2 { padding-top: 0.5rem; padding-bottom: 0.5rem; }
.py-3 { padding-top: 0.75rem; padding-bottom: 0.75rem; }
.py-4 { padding-top: 1rem; padding-bottom: 1rem; }
.py-6 { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.py-16 { padding-top: 4rem; padding-bottom: 4rem; }
.space-y-6 > * + * { margin-top: 1.5rem; }
.max-w-\[440px\] { max-width: 440px; }
.max-w-\[1280px\] { max-width: 1280px; }
.rounded-\[2px\] { border-radius: 2px; }
.rounded-\[3px\] { border-radius: 3px; }
.rounded-\[4px\] { border-radius: 4px; }
.border { border: 1px solid; }
.border-t { border-top: 1px solid; }
.border-\[\#e4e4e7\] { border-color: #e4e4e7; }
.border-\[\#e60012\] { border-color: #e60012; }
.border-\[\#e9bcb6\] { border-color: #e9bcb6; }
.border-green-500 { border-color: #22c55e; }
.text-\[\#e60012\] { color: #e60012; }
.text-\[\#52525b\] { color: #52525b; }
.text-\[\#a1a1aa\] { color: #a1a1aa; }
.text-green-700 { color: #15803d; }
.text-\[10px\] { font-size: 10px; }
.text-\[11px\] { font-size: 11px; }
.text-\[12px\] { font-size: 12px; }
.text-\[13px\] { font-size: 13px; }
.text-\[14px\] { font-size: 14px; }
.text-\[16px\] { font-size: 16px; }
.text-\[20px\] { font-size: 20px; }
.text-\[24px\] { font-size: 24px; }
.text-sm { font-size: 14px; }
.text-xs { font-size: 12px; }
.leading-\[14px\] { line-height: 14px; }
.leading-snug { line-height: 1.375; }
.p-\[49px\] { padding: 49px; }
.px-\[25px\] { padding-left: 25px; padding-right: 25px; }
.py-\[15px\] { padding-top: 15px; padding-bottom: 15px; }
.outline-none { outline: none; }
.transition-colors { transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.shadow-md { box-shadow: 0 4px 6px rgba(0, 0, 0, .08); }
.hover\:bg-zinc-800:hover { background: #27272a; }
.focus\:border-black:focus { border-color: #000; }

input, button {
    font: inherit;
}

input {
    background: #fff;
}

button {
    cursor: pointer;
    border: 0;
}

header img {
    display: block;
}

footer a {
    text-underline-offset: 2px;
}
