@charset "UTF-8";
/* stylelint-disable */
/* Document
 * ========================================================================== */
/**
 * 1. Add border box sizing in all browsers (opinionated).
 * 2. Backgrounds do not repeat by default (opinionated).
 */
@import url("https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@400;700&display=swap");
*,
::before,
::after {
    box-sizing: border-box; /* 1 */
    background-repeat: no-repeat; /* 2 */
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */
::before,
::after {
    vertical-align: inherit; /* 2 */
    text-decoration: inherit; /* 1 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Change the line height in all browsers (opinionated).
 * 3. Breaks words to prevent overflow in all browsers (opinionated).
 * 4. Use a 4-space tab width in all browsers (opinionated).
 * 5. Remove the grey highlight on links in iOS (opinionated).
 * 6. Prevent adjustments of font size after orientation changes in iOS.
 */
:where(:root) {
    cursor: default; /* 1 */
    line-height: 1.5; /* 2 */
    overflow-wrap: break-word; /* 4 */ /* 3 */
    tab-size: 4; /* 4 */
    -webkit-tap-highlight-color: transparent; /* 5 */
    -webkit-text-size-adjust: 100%; /* 6 */
}

/* Sections
 * ========================================================================== */
/**
 * Remove the margin in all browsers (opinionated).
 */
:where(body) {
    margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Edge, Firefox, and Safari.
 */
:where(h1) {
    margin: 0.67em 0;
    font-size: 2em;
}

/* Grouping content
 * ========================================================================== */
/**
 * Remove the margin on nested lists in Chrome, Edge, and Safari.
 */
:where(dl, ol, ul) :where(dl, ol, ul) {
    margin: 0;
}

/**
 * 1. Correct the inheritance of border color in Firefox.
 * 2. Add the correct box sizing in Firefox.
 */
:where(hr) {
    height: 0; /* 2 */
    color: inherit; /* 1 */
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */
:where(nav) :where(ol, ul) {
    padding: 0;
    list-style-type: none;
}

/**
 * Prevent VoiceOver from ignoring list semantics in Safari (opinionated).
 */
:where(nav li)::before {
    float: left;
    content: "​";
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 * 3. Prevent overflow of the container in all browsers (opinionated).
 */
:where(pre) {
    overflow: auto; /* 3 */
    font-size: 1em; /* 2 */
    font-family: monospace, monospace; /* 1 */
}

/* Text-level semantics
 * ========================================================================== */
/**
 * Add the correct text decoration in Safari.
 */
:where(abbr[title]) {
    text-decoration: underline;
    -webkit-text-decoration: underline dotted;
            text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
:where(b, strong) {
    font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
:where(code, kbd, samp) {
    font-size: 1em; /* 2 */
    font-family: monospace, monospace; /* 1 */
}

/**
 * Add the correct font size in all browsers.
 */
:where(small) {
    font-size: 80%;
}

/* Embedded content
 * ========================================================================== */
/*
 * Change the alignment on media elements in all browsers (opinionated).
 */
:where(audio, canvas, iframe, img, svg, video) {
    vertical-align: middle;
}

/**
 * Remove the border on iframes in all browsers (opinionated).
 */
:where(iframe) {
    border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */
:where(svg:not([fill])) {
    fill: currentColor;
}

/* Tabular data
 * ========================================================================== */
/**
 * 1. Collapse border spacing in all browsers (opinionated).
 * 2. Correct table border color inheritance in all Chrome, Edge, and Safari.
 * 3. Remove text indentation from table contents in Chrome, Edge, and Safari.
 */
:where(table) {
    border-color: inherit; /* 2 */
    border-collapse: collapse; /* 1 */
    text-indent: 0; /* 3 */
}

/* Forms
 * ========================================================================== */
/**
 * Remove the margin on controls in Safari.
 */
:where(button, input, select) {
    margin: 0;
}

/**
 * Correct the inability to style buttons in iOS and Safari.
 */
:where(button, [type="button" i], [type="reset" i], [type="submit" i]) {
    -webkit-appearance: button;
}

/**
 * Change the inconsistent appearance in all browsers (opinionated).
 */
:where(fieldset) {
    border: 1px solid #a0a0a0;
}

/**
 * Add the correct vertical alignment in Chrome, Edge, and Firefox.
 */
:where(progress) {
    vertical-align: baseline;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 3. Change the resize direction in all browsers (opinionated).
 */
:where(textarea) {
    margin: 0; /* 1 */
    resize: vertical; /* 3 */
}

/**
 * 1. Correct the odd appearance in Chrome, Edge, and Safari.
 * 2. Correct the outline style in Safari.
 */
:where([type="search" i]) {
    -webkit-appearance: textfield; /* 1 */
    outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
    height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */
::-webkit-input-placeholder {
    opacity: 0.54;
    color: inherit;
}

/**
 * Remove the inner padding in Chrome, Edge, and Safari on macOS.
 */
::-webkit-search-decoration {
    -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style upload buttons in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
    -webkit-appearance: button; /* 1 */
    font: inherit; /* 2 */
}

/* Interactive
 * ========================================================================== */
/*
 * Add the correct styles in Safari.
 */
:where(dialog) {
    position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    border: solid;
    background-color: white;
    padding: 1em;
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
    color: black;
}

:where(dialog:not([open])) {
    display: none;
}

/*
 * Add the correct display in Safari.
 */
:where(details > summary:first-of-type) {
    display: list-item;
}

/* Accessibility
 * ========================================================================== */
/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */
:where([aria-busy="true" i]) {
    cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */
:where([aria-controls]) {
    cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */
:where([aria-disabled="true" i], [disabled]) {
    cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */
:where([aria-hidden="false" i][hidden]) {
    display: initial;
}

:where([aria-hidden="false" i][hidden]:not(:focus)) {
    clip: rect(0, 0, 0, 0);
    position: absolute;
}

/* stylelint-enable */
html {
    scroll-behavior: smooth;
}
body {
    height: 100%;
    font-style: normal;
    font-weight: 400;
    font-family: "M PLUS Rounded 1c", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6,
p,
dl,
dt,
dd {
    margin: 0;
    padding: 0;
    font-size: 1rem;
}

figure {
    margin: 0;
    text-align: center;
}

button {
    font-family: "M PLUS Rounded 1c", sans-serif;
}

img {
    max-width: 100%;
    height: auto;
}

address {
    font-style: normal;
}

[data-view=">sm"],
[data-view="sm"] {
    display: none;
}

[data-view="<sm"] {
    display: none;
}

[data-view=">md"],
[data-view="md"] {
    display: none;
}

[data-view="<md"] {
    display: none;
}

[data-view=">lg"],
[data-view="lg"] {
    display: none;
}

[data-view="<lg"] {
    display: none;
}

[data-view=">xl"],
[data-view="xl"] {
    display: none;
}

[data-view="<xl"] {
    display: none;
}

[data-view=">xxl"],
[data-view="xxl"] {
    display: none;
}

[data-view="<xxl"] {
    display: none;
}

.c-modal {
    display: none;
}
.c-modal[aria-hidden="true"] {
    display: none;
}
.c-modal[aria-hidden="false"],
.c-modal.is-open {
    display: block;
}
.c-modal .c-modal__backdrop {
    display: grid;
    position: fixed;
    place-items: center;
    z-index: 1040;
    -webkit-backdrop-filter: blur(6px);
            backdrop-filter: blur(6px);
    inset: 0;
    background: rgba(0, 0, 0, 0.67);
}
.c-modal .c-modal__container {
    border-radius: 0.25rem;
    background-color: #ffffff;
    padding: 0;
    width: 100%;
    max-width: 90vw;
    max-height: 86vh;
    overflow-y: auto;
}
.c-modal .c-modal__container > div:only-child,
.c-modal .c-modal__container > main:only-child {
    padding: 4.2667vw;
}
.c-modal .c-modal__close-outside {
    display: grid;
    position: absolute;
    top: calc(50% + 8rem);
    left: 50%;
    place-items: center;
    transform: translateX(-50%);
    -webkit-appearance: none;
            appearance: none;
    z-index: 1050;
    transition: border-color 320ms ease;
    cursor: pointer;
    border-width: 0 0 0.23rem;
    border-style: solid;
    border-color: #ffffff;
    background-color: transparent;
    width: -moz-fit-content;
    width: fit-content;
    height: 1.75em;
    color: #ffffff;
    font-size: 1.25rem;
}
.c-modal .c-modal__header {
    padding: 4.2667vw 4.2667vw 2.1333vw;
    line-height: 1.5;
}
.c-modal .c-modal__footer {
    padding: 2.1333vw 4.2667vw 4.2667vw;
}
.c-modal .c-modal__content {
    padding: 2.1333vw 4.2667vw;
}

.c-modal-effect[aria-hidden="false"] .c-modal__backdrop {
    animation: modalFadeIn 220ms cubic-bezier(0.34, 0.07, 0.095, 0.995);
}
.c-modal-effect[aria-hidden="false"] .c-modal__container {
    animation: modalSlideIn 220ms cubic-bezier(0.34, 0.07, 0.095, 0.995);
}
.c-modal-effect[aria-hidden="true"] .c-modal__backdrop {
    animation: modalFadeOut 340ms cubic-bezier(0.34, 0.07, 0.095, 0.995);
}
.c-modal-effect[aria-hidden="true"] .c-modal__container {
    animation: modalSlideOut 340ms cubic-bezier(0.34, 0.07, 0.095, 0.995);
}
.c-modal-effect .c-modal__container,
.c-modal-effect .c-modal-slide .modal__backdrop {
    will-change: transform;
}

@keyframes modalFadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
@keyframes modalSlideIn {
    from {
        transform: translateY(10%);
    }
    to {
        transform: translateY(0);
    }
}
@keyframes modalFadeOut {
    from {
        opacity: 1;
    }
    to {
        opacity: 0;
    }
}
@keyframes modalSlideOut {
    from {
        transform: translateY(0);
    }
    to {
        transform: translateY(7.5%);
    }
}
[class^="s-"] {
    display: flex;
    flex-flow: column nowrap;
}

.header-container {
    margin: 0 auto;
    background-image: url("/assets/images/hero_bg.png");
    background-position: top center;
    background-size: 100% auto;
    width: 100%;
}
.header-container > .header-content {
    display: grid;
    place-items: center;
    margin: 0 auto;
    min-height: 16vw;
}
.header-container .site-logo {
    max-width: 48vw;
}

.topicpath-container {
    margin: 0 auto;
    background-color: #ffffff;
}
.topicpath-container > .topicpath {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    align-items: center;
    gap: 1rem;
    margin: 0 auto;
    padding: 0 4.2667vw;
}
.topicpath-container > .topicpath > .item {
    display: flex;
    flex-flow: row nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 3.2vw;
}
.topicpath-container > .topicpath > .item:nth-child(n + 2)::before {
    content: ">";
}
.topicpath-container .label {
    font-size: 3.2vw;
}

.contents-body {
    flex-grow: 1;
    background-image: url("/assets/images/hero_bg.png");
    background-position: top -16vw center;
    background-size: 100% auto;
}
.contents-body > .page-title {
    display: grid;
    position: sticky;
    top: 0;
    place-items: center start;
    border-width: 1px 0;
    border-style: solid;
    border-color: #bfbfbf;
    background-image: linear-gradient(0deg, white, rgba(255, 255, 255, 0.67));
    min-height: 12.8vw;
}
.contents-body > .page-title > .text {
    margin: 0 auto;
    padding: 0 4.2667vw;
    width: 100%;
    font-weight: 700;
    font-size: 5.0667vw;
}
.contents-body > .article-body {
    margin: 0 auto;
    background-color: #ffffff;
    padding: 9.8667vw 4.2667vw;
}

.footer-content {
    background-color: #edf8fe;
    padding: 4.2667vw 1.875rem;
}
.footer-content .navigation {
    padding: 0 0 6.4vw;
    font-size: 3.7333vw;
    text-align: center;
}
.footer-content .inform {
    padding: 0 0 6.4vw;
}
.footer-content .inform .name {
    display: block;
    font-size: 4vw;
    line-height: 1.5;
    text-align: center;
}
.footer-content .inform .text:not(.name) {
    display: block;
    margin-top: 2.1333vw;
    font-size: 2.6667vw;
    line-height: 1.6;
    text-align: center;
}
.footer-content .copyright {
    font-size: 2.6667vw;
    line-height: 1;
    text-align: center;
}

.page-top {
    display: grid;
    position: fixed;
    right: 0.75em;
    bottom: 0.75em;
    place-items: center;
    transition: opacity 320ms ease;
    box-shadow: 0 0.34rem 0.67rem rgba(0, 0, 0, 0.34);
    border-radius: 9999px;
    background-color: #ffffff;
    padding: 2.9333vw;
}
.page-top.is-visible {
    opacity: 1;
    cursor: pointer;
    pointer-events: auto;
}
.page-top.is-hidden {
    opacity: 0;
    pointer-events: none;
}
.page-top > .button-link {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22100%25%22%20height%3D%22100%25%22%20viewBox%3D%220%200%20256%20256%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20fill-rule%3D%22evenodd%22%20clip-rule%3D%22evenodd%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%222%22%3E%3Cpath%20d%3D%22m128%20106.909-89.336%2089.336c-3.72%203.72-9.76%203.719-13.48%200l-13.48-13.48c-3.72-3.72-3.72-9.762%200-13.481l109.528-109.53a9.502%209.502%200%200%201%206.767-2.79%209.5%209.5%200%200%201%206.768%202.79l109.528%20109.53c3.72%203.72%203.72%209.76%200%2013.48l-13.48%2013.48c-3.72%203.72-9.76%203.72-13.48%200L128%20106.909Z%22%20fill%3D%22%2361c7f2%22%2F%3E%3C%2Fsvg%3E");
    width: 8.5333vw;
    height: 8.5333vw;
}

.table-container {
    margin-top: 4.2667vw;
    width: 100%;
}
.table-container.theme01 thead tr th {
    background-color: #11b5c9;
}
.table-container.theme01 tbody tr th {
    background-color: #c6f0f5;
    width: 50%;
}
.table-container.theme01 tbody tr td {
    background-color: #eaeaea;
    width: 50%;
}
.table-container.theme02 thead tr th {
    background-color: #fc8786;
}
.table-container.theme02 tbody tr th {
    background-color: #ffd6d6;
    width: 50%;
}
.table-container.theme02 tbody tr td {
    background-color: #eaeaea;
    width: 50%;
}
.table-container table {
    border-collapse: separate;
    width: 100%;
}
.table-container table thead tr th {
    padding: 1.0667vw 3.2vw;
    color: #ffffff;
    font-weight: 700;
    font-size: 3.2vw;
    text-align: center;
}
.table-container table tbody tr th,
.table-container table tbody tr td {
    padding: 2.1333vw;
    color: #656565;
    font-weight: 700;
    font-size: 3.2vw;
    letter-spacing: 0.1em;
    text-align: center;
}
.table-container table tbody tr th .value,
.table-container table tbody tr td .value {
    font-size: 4vw;
}
.table-container table tbody tr th .suffix,
.table-container table tbody tr td .suffix {
    font-size: 3.2vw;
}
@media (min-width: 36em){
    [data-view=">sm"],
    [data-view="sm"] {
        display: revert;
    }
}
@media not all and (min-width: 36em){
    [data-view="<sm"] {
        display: revert;
    }
}
@media (min-width: 48em){
    [data-view=">md"],
    [data-view="md"] {
        display: revert;
    }
    .c-modal .c-modal__container > div:only-child,
    .c-modal .c-modal__container > main:only-child {
        padding: 2rem;
    }
    .c-modal .c-modal__close-outside {
        top: calc(50% + 10.34rem);
        font-size: 2.25rem;
    }
    .c-modal .c-modal__header {
        padding: 2rem 2rem 1rem;
    }
    .c-modal .c-modal__footer {
        padding: 1rem 2rem 2rem;
    }
    .c-modal .c-modal__content {
        padding: 1rem 2rem;
    }
    .header-container > .header-content {
        padding: 1rem 5rem;
        max-width: 75rem;
        min-height: 6.25rem;
    }
    .header-container .site-logo {
        max-width: 13.375rem;
    }
    .topicpath-container > .topicpath {
        padding: 0.875rem 5rem;
        max-width: 75rem;
    }
    .topicpath-container > .topicpath > .item {
        gap: 1rem;
    }
    .topicpath-container .label {
        font-size: 0.875rem;
    }
    .contents-body {
        background-position: top -6.25rem center;
        width: 100%;
    }
    .contents-body > .page-title {
        min-height: 4.625rem;
    }
    .contents-body > .page-title > .text {
        padding: 0 5rem;
        max-width: 75rem;
        font-size: 1.75rem;
    }
    .contents-body > .article-body {
        padding: 2.875rem 2rem;
    }
    .footer-content .navigation {
        padding: 0 0 2rem;
        font-size: 0.875rem;
    }
    .footer-content .inform {
        display: flex;
        flex-flow: row wrap;
        justify-content: center;
        gap: 2.875rem 4.625rem;
        padding-bottom: 0;
        width: auto;
    }
    .footer-content .inform .name {
        display: inline;
        font-size: 0.875rem;
        text-align: left;
    }
    .footer-content .inform .text:not(.name) {
        display: inline;
        margin-top: 0;
        font-size: 0.75rem;
        text-align: left;
    }
    .footer-content .copyright {
        margin-top: 2rem;
        font-size: 0.875rem;
    }
    .page-top {
        right: 1.75em;
        bottom: 1.75em;
        padding: 1.125rem;
    }
    .page-top > .button-link {
        width: 2.375rem;
        height: 2.375rem;
    }
    .table-container {
        margin-top: 1.75rem;
    }
    .table-container table thead tr th {
        padding: 0.5rem 1.125rem;
        font-size: 1.125rem;
    }
    .table-container table tbody tr th,
    .table-container table tbody tr td {
        padding: 0.3125rem 0.5625rem;
        font-size: 1.125rem;
    }
    .table-container table tbody tr th .value,
    .table-container table tbody tr td .value {
        font-size: 1.5rem;
    }
    .table-container table tbody tr th .suffix,
    .table-container table tbody tr td .suffix {
        font-size: 1.125rem;
    }
}
@media not all and (min-width: 48em){
    [data-view="<md"] {
        display: revert;
    }
}
@media (min-width: 62em){
    [data-view=">lg"],
    [data-view="lg"] {
        display: revert;
    }
}
@media not all and (min-width: 62em){
    [data-view="<lg"] {
        display: revert;
    }
}
@media (min-width: 75em){
    [data-view=">xl"],
    [data-view="xl"] {
        display: revert;
    }
}
@media not all and (min-width: 75em){
    [data-view="<xl"] {
        display: revert;
    }
}
@media (min-width: 90em){
    [data-view=">xxl"],
    [data-view="xxl"] {
        display: revert;
    }
}
@media not all and (min-width: 90em){
    [data-view="<xxl"] {
        display: revert;
    }
}
@media screen and (prefers-reduced-motion: reduce){
    html {
        scroll-behavior: auto;
    }
}
