/**************** common ****************/

img {
    width: 100%;
}
body {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    margin: 0;
    padding: 0;
}
h1 {
    font-size: 210%;
    position: relative;
}
h1 .s_sm {
    font-size: 62%;
}
.lead {
    font-size: 110%;
}
.c_rd {
    color: #d12c3c;
}
.c_bl {
    color: #189baf;
}
.sp {
    display: block;
}
@media (min-width: 576px) {
    body {
        font-size: 20px;
    }
    .sp {
        display: none;
    }
}
.accordion-button {
    --bs-accordion-btn-focus-box-shadow: none;
}
h1 .ill1 {
    width: 16.8%;
    position: absolute;
    left: 5%;
}
h1 .ill2 {
    width: 15%;
    position: absolute;
    right: 5%;
}
h1 .ill3 {
    width: 19.5%;
    position: absolute;
    left: 5%;
    top: -38%;
}
h1 .ill4 {
    width: 9.8%;
    position: absolute;
    right: 12%;
    top: -38%;
}
h1 .ill5 {
    width: 18.2%;
    position: absolute;
    left: 0;
}
h1 .ill6 {
    width: 13.2%;
    position: absolute;
    right: 5%;
}
@media (min-width: 1400px) {
    h1 .ill1 {
        width: 14.4%;
        left: 10%;
    }
    h1 .ill2 {
        width: 13%;
        right: 10%;
    }
    h1 .ill3 {
        width: 16.8%;
        left: 10%;
        top: -38%;
    }
    h1 .ill4 {
        width: 8%;
        right: 10%;
        top: -38%;
    }
    h1 .ill5 {
        width: 15.6%;
        left: 7%;
    }
    h1 .ill6 {
        width: 11.2%;
        right: 10%;
    }
}


/**************** header ****************/

header .dl {
    width:80%;
    margin: auto;
}
header .comming {
    font-size: 80%;
}
@media (min-width: 768px) {
    header {
        background: linear-gradient(180deg, #f7f6f0 0%, #f7f6f0 72%, #fff 72%, #fff 100%);
    }
    header .hero {
        position: relative;
    }
    header .dl {
        width:15%;
        position: absolute;
        bottom: 10%;
        right: 2%;
    }
    .page header {
        background: none;
    }
    header .comming {
        font-size: 65%;
    }

}

.page .note {
    font-size: 80%;
    line-height: 2;
}
.page .note .hogo li {
    position: relative;
    list-style-type: none;
}
.page .note .hogo li:before {
    position: absolute;
    right: calc(100% + 0.5rem);
    content: "(" counter(list-item) ")";
}
.page .note .roman {
    list-style-type: upper-roman;
}
.page .attention {
    font-size: 90%;
    color:#d12c3c;
}
.page .note .disc {
    list-style-type: disc;
}

/**************** info ****************/

.info .infoWrap {
    background-color: #f7f6f0;
}
.info .infoBox {
    background-color: #ffffff;
    box-shadow: 0 0 1rem #eee;
}
.info .accordion time {
    font-size: 190%;
}
.info .accordion a {
    font-size: 120%;
    color:#333;
    text-decoration: none;
}
.info .accordion a:hover {
    color:#000;
}
.info .accordion .accordion-body {
    font-size: 80%;
}
.info .accordion .accordion-button:not(.collapsed){
    background-color: #fff;
}
.info .request {
    background-color: #ffffff;
    box-shadow: 0 0 1rem #eee;
}
.info .request ul {
    list-style-type: disc;
}

/**************** disclaimer ****************/

.disclaimer h2 {
    font-size: 130%;
    color: #000000;
}
.disclaimer ol {
    font-size: 90%;
    color: #000;
    padding-left: 1rem;

}
.disclaimer ol li {
    color: #666666;
}

/**************** contact ****************/

.contact .btnContact a {
    font-size: 120%;
    color: #fff;
    text-decoration: none;
    background-color: #d12c3c;
}
.contact article {
    font-size: 100%;
    color: #000000;
}
.contact article .s_lg {
    font-size: 130%;
}
.contact aside {
    font-size: 90%;
    color: #666666;
    line-height: 1.2;
}
.contact .attention {
    color: #d12c3c;
    text-decoration: underline;
}
/**************** footer ****************/

footer {
    background-color: #f7f6f0;
    font-size: 90%;
    color: #666666;
}
footer ul {
    list-style-type: none;
    padding: 0;
}
footer ul li .s_lg {
    font-size: 100%;
    color: #000000;
}
footer aside {
    font-size: 80%;
    color: #999999;
}
footer .copyRights {
    font-size: 80%;
}
footer a {
    color:#000;
}
footer .d-flex {
    font-size: 90%;
}
/**************** splide ****************/

.splideWrap {
    background-color: #f7f6f0;
}
.splide ul {
    height: auto;
}
.splide li img {
    box-shadow: 0 0 1rem #eee;
}
.splide__pagination__page.is-active {
    background: #189baf;
}
.splide__arrow {
    display: none;
}