@charset "utf-8";

/* Reset Styles */
* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body,
h1,
h2,
h3,
p,
ul,
ol,
dl,
dd,
figure {
    margin: 0;
}

ul,
ol {
    padding: 0;
}

img {
    max-width: 100%;
    height: auto;
    vertical-align: middle;
}

a {
    color: inherit;
}

button,
input,
textarea,
select {
    font: inherit;
}

table {
    border-collapse: collapse;
    border-spacing: 0;
}

/* Base Styles */
body {
    min-width: 320px;
    font-family: "BIZ UDPGothic", "Yu Gothic Medium", "Yu Gothic", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    color: #17212b;
    line-height: 1.75;
    letter-spacing: .01em;
    font-kerning: normal;
    background: #fff;
    font-weight: 400;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

body.menu-open {
    overflow: hidden;
}

/* Layout */
.container {
    width: min(1120px, calc(100% - 40px));
    margin-inline: auto;
}

.narrow {
    width: min(820px, calc(100% - 40px));
}

/* Accessibility */
.skip-link {
    position: fixed;
    left: 12px;
    top: -80px;
    z-index: 9999;
    padding: 10px 16px;
    background: #fff;
    color: #005f9e;
    border-radius: 0 0 8px 8px;
}

.skip-link:focus {
    top: 0;
}

/* Utility Classes */
.red {
    color: #d52b2b;
}

.center {
    text-align: center;
}

.note {
    font-size: .82rem;
    line-height: 1.65;
    color: #536273;
}

/* Table Scroll */
.table-scroll {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table-scroll table {
    min-width: 760px;
}