/* v3.1.6 */
@charset "UTF-8";

:root {
    --fontSize: 16px;
    --linkColor: #3562a0;
    --textColor: #333;
    --gutter: 1.3rem;
    --gap: 3rem;
    --spacing: 1rem;
    --contentWidth: 1000px
}

:where(:not(iframe, canvas, img, svg, video):not(svg *)) {
    all: unset;
    display: revert
}

*,
:after,
:before {
    box-sizing: border-box
}

[hidden] {
    display: none !important
}

html {
    color: var(--textColor);
    font-family: 'Noto Sans JP', Arial, "Hiragino Kaku Gothic Pro", Meiryo, "MS PGothic", sans-serif;
    font-size: var(--fontSize);
    font-weight: 400;
    line-height: 1.4
}

p {
    line-height: 1.8
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    -moz-text-size-adjust: 100%;
    text-size-adjust: 100%
}

main {
    display: block;
    flex-grow: 1
}

a {
    color: var(--linkColor);
    text-decoration: none;
    cursor: pointer
}

a:hover {
    text-decoration: underline
}

ol,
ul {
    list-style-type: none
}

ol.disc,
ul.disc {
    padding-left: 1.5em;
    list-style-type: disc
}

ol.circle,
ul.circle {
    padding-left: 1.5em;
    list-style-type: circle
}

ol.square,
ul.square {
    padding-left: 1.5em;
    list-style-type: square
}

ol.decimal,
ul.decimal {
    padding-left: 1.5em;
    list-style-type: decimal
}

ol.decimal-lz,
ul.decimal-lz {
    padding-left: 2.5em;
    list-style-type: decimal-leading-zero
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: '';
    content: none
}

sup {
    font-size: .5em;
    vertical-align: super
}

sub {
    font-size: .5em;
    vertical-align: sub
}

strong {
    font-weight: bolder
}

em {
    font-weight: 700
}

table {
    width: max-content;
    border-collapse: collapse;
    border-spacing: 0
}

button {
    cursor: pointer
}

section {
    margin-bottom: var(--gap)
}

img {
    display: inline-block;
    object-fit: cover;
    max-width: 100%;
    flex-shrink: 0
}

img.contain {
    object-fit: contain
}

main h1 {
    margin-bottom: var(--gutter)
}

main h2 {
    margin-bottom: calc(var(--gutter) - .3rem)
}

main h3 {
    margin-bottom: calc(var(--gutter) - .5rem)
}

main h4 {
    margin-bottom: calc(var(--gutter) - .7rem)
}

main h5 {
    margin-bottom: calc(var(--gutter) - .7rem)
}

main h6 {
    margin-bottom: calc(var(--gutter) - .7rem)
}

main ul {
    padding-left: 1.5em;
    margin-bottom: var(--gutter);
    list-style-type: disc
}

main ol {
    padding-left: 1.5em;
    margin-bottom: var(--gutter);
    list-style-type: decimal
}

main dl,
main table {
    margin-bottom: var(--gutter)
}

.mb,
main p {
    margin-bottom: var(--gutter)
}

.mb0 {
    margin-bottom: 0
}

.mb_ {
    margin-bottom: .5rem
}

.mb1 {
    margin-bottom: 1rem
}

.mb1_ {
    margin-bottom: 1.5rem
}

.mb2 {
    margin-bottom: 2rem
}

.mb2_ {
    margin-bottom: 2.5rem
}

.mb3 {
    margin-bottom: 3rem
}

.clearfix:after {
    content: " ";
    display: block;
    clear: both
}

.centering {
    display: block;
    margin: auto;
    width: 100%;
    max-width: var(--contentWidth);
    position: relative
}

.fb-brackets {
    display: grid;
    grid-template-columns: var(--spacing) 1fr min(calc(100% - 2 * var(--spacing)), var(--contentWidth)) 1fr var(--spacing);
    grid-auto-rows: max-content;
    width: 100%
}

.fb-brackets>:not(.full-bleed) {
    grid-column: 3;
    width: 100%
}

.fb-brackets>.full-bleed {
    grid-column: 1/6;
    width: 100%
}

.hide {
    visibility: hidden;
    opacity: 0
}

.visible {
    visibility: visible;
    opacity: 1
}

.modal-visible:not(.rdx-modal-target) {
    display: none !important
}

.none {
    display: none !important
}

.fill-parent {
    display: block;
    width: 100%;
    height: 100%
}

.text-center {
    text-align: center
}

.text-right {
    text-align: right
}

.text-left {
    text-align: left
}

.text-unit {
    display: inline-block;
    vertical-align: top
}

.text-clear {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    white-space: nowrap
}

.rdx-btn {
    display: inline-block;
    padding: .3rem 1rem;
    border-bottom: 4px solid var(--mainDarkColor);
    border-radius: 5px;
    background: var(--mainColor);
    text-align: center;
    color: #fff
}

.rdx-btn:active {
    transform: translateY(4px);
    border-bottom-color: transparent
}

.rdx-dummy-item {
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    opacity: 0 !important;
    visibility: hidden !important;
    overflow: hidden !important
}

@media print {
    @page {
        size: A4 portrait;
        margin: 12.7mm 9.7mm
    }

    * {
        -webkit-print-color-adjust: exact;
        font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif
    }

    body {
        overflow-x: visible !important;
        overflow-y: visible !important;
        width: calc(var(--contentWidth) + 200px) !important
    }

    .centering {
        width: var(--contentWidth)
    }

    iframe {
        background: #ccc
    }
}

.rdx-scroll-appear {
    transition: .5s ease-out
}

.rdx-scroll-appear:not(.active) {
    opacity: 0;
    transform: scale(.9) translateY(-5.56%)
}

.rdx-svg-hamburger {
    width: 100%;
    height: 100%
}

.rdx-svg-hamburger .bar1,
.rdx-svg-hamburger .bar2,
.rdx-svg-hamburger .bar3 {
    stroke-linecap: butt;
    stroke-linejoin: miter;
    stroke-width: 4px;
    stroke: currentColor;
    transition: .2s all linear;
    transform: rotate(0);
    opacity: 1
}

.opened .rdx-svg-hamburger .bar1 {
    transform: rotate(45deg) scale(1.2) translate(10%, -27%)
}

.opened .rdx-svg-hamburger .bar2 {
    opacity: 0
}

.opened .rdx-svg-hamburger .bar3 {
    transform: rotate(-45deg) scale(1.2) translate(-50%, -15%)
}

.rdx-scroll-hint {
    display: grid;
    width: 100%;
    height: 100%;
    place-items: center;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: rgba(0, 0, 0, .3);
    color: #fff;
    line-height: 1;
    font-size: 4rem;
    transition: .3s
}

.rdx-scroll-hint svg {
    max-width: calc(100% - 2rem);
    max-height: calc(100% - 2rem)
}

.rdx-modal-viewport {
    height: 100%;
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 2147483647;
    padding: 5rem 1rem 2rem;
    background: rgba(0, 0, 0, .85);
    opacity: 0;
    visibility: hidden;
    transition: .2s ease-in-out;
    cursor: pointer
}

.rdx-modal-viewport.active {
    opacity: 1;
    visibility: visible
}

.rdx-modal-area {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%
}

.rdx-modal-toggles {
    display: flex;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    padding-left: 2rem;
    color: #fff
}

.rdx-modal-magnifier {
    display: flex;
    align-items: center
}

.rdx-modal-enlarge,
.rdx-modal-shrink {
    padding: .3rem .7rem;
    margin-right: 1rem;
    border: 2px solid #fff;
    border-radius: .8rem;
    line-height: 1.4;
    cursor: pointer
}

.rdx-modal-enlarge:hover,
.rdx-modal-shrink:hover {
    background: #fff;
    color: #000
}

.rdx-modal-scale {
    margin-right: 1rem;
    line-height: 1
}

.rdx-modal-close {
    height: 3rem;
    width: 3rem;
    margin: 1rem
}

.rdx-modal-wrapper {
    display: grid;
    max-width: 100%;
    max-height: 100%;
    overflow: auto
}

.rdx-modal-wrapper::-webkit-scrollbar {
    width: 7px
}

.rdx-modal-wrapper::-webkit-scrollbar:horizontal {
    height: 7px
}

.rdx-modal-wrapper::-webkit-scrollbar-track {
    border-radius: 5px;
    box-shadow: inset 0 0 6px rgba(0, 0, 0, .2)
}

.rdx-modal-wrapper::-webkit-scrollbar-thumb {
    background-color: #777;
    border-radius: 5px
}

.rdx-modal-wrapper::-webkit-scrollbar-corner {
    background: 0 0
}

.rdx-modal-content {
    width: max-content;
    max-width: 1400px;
    height: max-content;
    max-height: 2200px;
    cursor: default;
    transform-origin: top left
}

.rdx-modal-source {
    cursor: pointer
}