@charset "UTF-8";
/************************************

    The Common CSS Library
    for Responsive Site.
    author: NAMIMA Yosuke

************************************/

/* reset default style */
* {margin: 0;padding: 0;outline: 0;font: inherit;vertical-align: baseline;background: transparent}
*,*:before,*:after{box-sizing: border-box}
[hidden]{display: none!important}

/* font setting */
html{font-family:  'Noto Sans JP', Arial, "Hiragino Kaku Gothic Pro", Meiryo, "MS PGothic", sans-serif;font-size: 16px;color: #333;line-height: 1.8;font-weight: 400}

/* fix display height */
body{display: flex;flex-direction: column;min-height: 100vh}main{display: block;flex-grow: 1}

/* formatting init style */
a{color: var(--mainColor);text-decoration:none}
a:hover{text-decoration:underline}
ul,ol{list-style-type: none}
ul.disc,ol.disc{padding-left: 1.5em;list-style-type: disc}
ul.circle,ol.circle{padding-left: 1.5em;list-style-type: circle}
ul.square,ol.square{padding-left: 1.5em;list-style-type: square}
ul.decimal,ol.decimal{padding-left: 1.5em;list-style-type: decimal}
ul.decimal-lz,ol.decimal-lz{padding-left: 2.5em;list-style-type: decimal-leading-zero}
blockquote, q{quotes: none}
blockquote:before,blockquote:after,q:before,q:after{content: '';content: none}
sup{font-size: 0.5em;vertical-align: super}
sub{font-size: 0.5em;vertical-align: sub}
strong{font-weight: bolder}
em{font-weight: 700}
table{width: max-content;border-collapse: collapse;border-spacing: 0}
button,input{border: none;background: transparent}
button{cursor: pointer}
section{margin: var(--gap) 0}
p{text-align: justify;text-justify: inter-ideograph}
img{display: block;object-fit: cover;font-family: 'object-fit: cover;';max-width: 100%;flex-shrink: 0}
img.contain{object-fit: cover;font-family: 'object-fit: contain;'}

/* margin-bottom settings */
main p,main h1,main h2,main h3,main h4,main h5,main h6,.mb{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}

/* unique style */
.clearfix:after{content:" ";display:block;clear:both}
.centering{display: block;margin: auto;width: 100%;max-width: var(--contentWidth);position: relative}
.hide{visibility: hidden;opacity: 0}
.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}
.btn{display: inline-block;padding: .3rem 1rem;border-bottom: 4px solid var(--mainDarkColor);border-radius: 5px;background: var(--mainColor);text-align: center;color: #fff}
.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}

/* printing style */
@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;
    }
}

/* SVG animation */
.rdx-svg-humberger {
    width: 100%;
    height: 100%;
}
.rdx-svg-humberger .bar1,
.rdx-svg-humberger .bar2,
.rdx-svg-humberger .bar3 {
    stroke-linecap: butt;
    stroke-linejoin: miter;
    stroke-width: 4px;
    stroke: currentColor;
    transition: .2s all linear;
    transform: rotate(0);
    opacity: 1;
}
.rdx-svg-humberger .bar1.opened {
    transform: rotate(45deg) scale(1.2) translate(10%, -27%);
}
.rdx-svg-humberger .bar2.opened {
    opacity: 0;
}
.rdx-svg-humberger .bar3.opened {
    transform: rotate(-45deg) scale(1.2) translate(-50%, -15%);
}
/* scroll hint */
.rdx-scroll-hint {
    max-height: 100%;
    max-width: 100%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    padding: 2rem;
    border-radius: 1rem;
    background: rgba(0, 0, 0, 0.3);
    color: #fff;
    line-height: 1;
    font-size: 4rem;
    transition: .3s;
}
/* modal */
.rdx-modal-viewport {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    height: 100%;
    width: 100%;
    position: fixed;
    top: 0;
    z-index: 999;
    padding: 5rem 1rem 2rem;
    background: rgba(0, 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-toggles {
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    padding-left: 2rem;
    color: #fff;
}
.rdx-modal-enlarge,
.rdx-modal-shrink {
    margin-right: 1rem;
    cursor: pointer;
}
.rdx-svg-modal {
    height: 4.5rem;
    width: 4.5rem;
}
.rdx-svg-modal .bar {
    stroke-linecap: butt;
    stroke-linejoin: miter;
    stroke-width: 5px;
    stroke: currentColor;
    transition: .2s all linear;
    transform: rotate(0);
    opacity: 1;
}
.rdx-modal-wrapper {
    max-width: 100%;
    height: 100%;
    overflow: auto;
}
.rdx-modal-content {
    height: max-content;
    cursor: default;
    transform-origin: top left;
    transition: .3s;
}