@charset "Shift_JIS";
h1, h2, h3, h4 {
    padding: 0;
    margin: 0;
    border: none;
    background: none;
    color: inherit;
}
h2 {
    height: auto;
}
a:hover img.Aover {
    opacity: 0.7;
    filter: alpha(opacity=70);
}
html, body {
    overflow-x: hidden;
}
body {
/*    min-width: 830px;*/
    margin: 0 auto;
    background: none;
}
html {
    scroll-behavior: smooth;
}
@media screen and (max-width: 767px) {
    body {
        min-width: 100%;
    }
}
/* ================================================

‹¤’ÊSTYLE

================================================ */
#contentWrap {
    display: block;
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    text-align: left;
    color: #000000;
    background: url(../images_new/main/images/bg.jpg) repeat center top / 3000px auto;
}
#contentWrap img {
    width: 100%;
    max-width: 100%;
    height: auto;
    vertical-align: bottom;
}
#contentWrap .c-inner {
    width: 100%;
    max-width: 830px;
    margin: 0 auto;
    padding: 0 10px;
    box-sizing: border-box;
}
#contentWrap_sp {
    display: none;
}
@media screen and (max-width: 767px) {
    #contentWrap {
        display: none;
    }
    #contentWrap_sp {
        display: block;
        background: url(../images_new/main/images_sp/bg.jpg) repeat center top / 100% auto;
        overflow: hidden;
    }
    #contentWrap_sp img {
        width: 100%;
        max-width: 100%;
        height: auto;
        vertical-align: bottom;
    }
    #contentWrap_sp .c-inner {
/*        width: 100%;*/
        max-width: 100%;
        padding: 0 6.7% 0;
    }
    #contentWrap_sp .c-ttl {
        position: relative;
        width: 100%;
        padding-bottom: 3.9vw;
        margin-bottom: 7.7vw;
    }
    #contentWrap_sp .c-ttl::before {
        content: "";
        width: 100vw;
        height: 2px;
        position: absolute;
        bottom: 0;
        left: 50%;
        margin-left: -50vw;
        background: #00469C;
    }
}
/* ================================================

FV

================================================ */
#contentWrap .fv {
    padding: 30px 0 80px;
}
#contentWrap .fv-ttl {
    width: 100%;
    max-width: 500px;
    margin: 0 auto 36px;
}
#contentWrap .fv-swiper {
    overflow: inherit !important;
}
#contentWrap .fv-swiper a {
    transition: opacity .4s ease;
    display: block;
    cursor: pointer;
}
#contentWrap .fv-swiper a :hover {
    opacity: .6;
    transition: opacity .4s ease;
}
#contentWrap .fv-swiper img {
    filter: drop-shadow(0 20px 10px rgba(0, 50, 100, .1));
    transform: translateZ(0);
}
#contentWrap .swiper-pagination {
    bottom: -45px !important;
    z-index: 5 !important;
    display: flex;
    display: -webkit-flex !important;
    justify-content: center;
    -webkit-justify-content: center !important;
    gap: .8em;
}
#contentWrap .swiper-pagination-bullet {
    width: 9px !important;
    height: 9px !important;
    background: #FFFFFF !important;
    border: 1px solid #32B9DC !important;
    opacity: 1 !important;
    margin: 0 !important;
}
#contentWrap .swiper-pagination-bullet-active {
    background: #32B9DC !important;
}
#contentWrap .swiper-button-prev, #contentWrap .swiper-button-next {
    width: 5vw !important;
    height: 5vw !important;
}
#contentWrap .swiper-button-prev {
    left: 50% !important;
    margin-left: -44vw !important;
}
#contentWrap .swiper-button-next {
    right: 50% !important;
    margin-right: -44vw !important;
}
#contentWrap .swiper-button-prev::after, #contentWrap .swiper-button-next:after {
    background-repeat: no-repeat !important;
    background-size: contain;
    content: "";
    height: 50px;
    margin: auto;
    width: 50px;
}
#contentWrap .swiper-button-prev::after {
    background: url("../images_new/main/images/btn_prev.svg");
}
#contentWrap .swiper-button-next::after {
    background: url("../images_new/main/images/btn_next.svg");
}
@media screen and (max-width: 767px) {
    #contentWrap_sp .fv {
        padding: 4.8vw 0 80px;
    }
    #contentWrap_sp .fv-ttl {
        width: 100%;
    }
    #contentWrap_sp .fv-swiper {
        margin-top: -10.1vw;
        overflow: inherit;
    }
    #contentWrap_sp .swiper-pagination {
        bottom: -40px !important;
        z-index: 5 !important;
        display: -webkit-flex !important;
        -webkit-justify-content: center !important;
        gap: .4em !important;
    }
    #contentWrap_sp .swiper-pagination-bullet {
        width: 11px !important;
        height: 11px !important;
        background: #FFFFFF !important;
        border: 1px solid #32B9DC !important;
        opacity: 1 !important;
    }
    #contentWrap_sp .swiper-pagination-bullet-active {
        background: #32B9DC !important;
    }
    #contentWrap_sp .swiper-button-prev, #contentWrap_sp .swiper-button-next {
        width: 40px;
        height: 40px;
    }
    #contentWrap_sp .swiper-button-prev {
        left: 50% !important;
        margin-left: -49vw !important;
    }
    #contentWrap_sp .swiper-button-next {
        right: 50% !important;
        margin-right: -49vw !important;
    }
    #contentWrap_sp .swiper-button-prev::after, #contentWrap_sp .swiper-button-next:after {
        background-repeat: no-repeat;
        background-size: contain;
        content: "";
        height: 40px;
        margin: auto;
        width: 40px;
    }
    #contentWrap_sp .swiper-button-prev::after {
        background: url("../images_new/main/images_sp/btn_prev.svg");
    }
    #contentWrap_sp .swiper-button-next::after {
        background: url("../images_new/main/images_sp/btn_next.svg");
    }
}
/* ================================================

TABLE OF CONTENTS

================================================ */
#contentWrap .toc {
    background: #D6F1F8;
}
#contentWrap .toc-inner {
    width: 100%;
    max-width: 818px;
    margin: 0 auto;
    padding: 32px 10px 45px;
    box-sizing: border-box;
}
#contentWrap .toc-ttl {
    width: 108px;
    margin: 0 auto 25px;
}
#contentWrap .toc-list {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: flex-start;
    -webkit-align-items: flex-start;
    gap: 13px;
}
#contentWrap .toc-list li {
    width: 100%;
    max-width: 120px;
}
#contentWrap .toc-list li .img {
    filter: drop-shadow(5px 5px 5px rgba(0, 50, 100, .1));
    transform: translateZ(0);
}
#contentWrap .toc-list li .letter {
    width: 108.3%;
    max-width: 108.3%;
}
#contentWrap .toc-list li > a {
    display: flex;
    display: -webkit-flex;
    justify-content: center;
    -webkit-justify-content: center;
    align-items: center;
    -webkit-align-items: center;
    flex-direction: column;
    -webkit-flex-direction: column;
    gap: 1em;
}
#contentWrap .toc-list li > a:hover {
    opacity: .7;
    transition: opacity .4s ease;
}
@media screen and (max-width: 767px) {
    #contentWrap_sp .toc {
        background: #D6F1F8;
        padding: 8.7vw 0 11.5vw;
    }
    #contentWrap_sp .toc-ttl {
        width: 28.7vw;
        margin: 0 auto 7.2vw;
    }
    #contentWrap_sp .toc-swiper-wrapper {
        transition-timing-function: linear;
    }
}
/* ================================================

CATEGORY

================================================ */
#contentWrap .category {
    padding: 94px 0 107px;
}
#contentWrap .category-inner {
    display: grid;
    grid-template-areas:
        "area1 area1 area1"
        "area2 area3 area4"
        "area5 area5 area5"
        "area6 area6 area7"
        "area8 area8 area8"
        "area8 area8 area8";
    gap: 73px 25px;
}
#contentWrap .category-inner > div {
    scroll-margin-top: 30px;
}
#contentWrap .category-list {
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
    align-items: stretch;
    -webkit-align-items: stretch;
    gap: 25px;
}
#contentWrap .category-list > li {
    width: 100%;
    min-width: 140px;
    max-width: 260px;
    filter: drop-shadow(0 10px 10px rgba(0, 50, 100, .1));
    transform: translateZ(0);
}
#contentWrap .category-list .txt-box {
    background: #FFFFFF;
    font-size: 14px;
    line-height: 1.4;
    min-height: 131px;
    padding: 15px 7%;
}
#contentWrap .category-list .txt-box .txt {
    color: #000000;
    margin: 0!important;
}
#contentWrap .category-list li a {
    display: block;
    cursor: pointer;
    text-decoration: none;
    transition: opacity .4s ease;
}
#contentWrap .category-list li a:hover .link {
    text-decoration: none;
    opacity: .7;
    transition: opacity .4s ease;
}
#contentWrap .category-list .txt-box .link {
    display: block;
    font-size: 16px;
    font-weight: bold;
    color: #00469C;
    margin-top: .5em;
    text-decoration: underline;
}
#contentWrap .category-head {
    width: 100%;
    padding-bottom: 6px;
    margin-bottom: 15px;
    border-bottom: 2px solid #00469C;
}
@media screen and (max-width: 767px) {
    #contentWrap_sp .category-inner {
        padding: 14.5vw 6.7% 20vw;
    }
    #contentWrap_sp .category-inner > div {
        margin-bottom: 13.6vw;
        scroll-margin-top: 4vw;
    }
    #contentWrap_sp .category-list {
        display: flex;
        display: -webkit-flex;
        justify-content: space-between;
        -webkit-justify-content: space-between;
        flex-direction: column;
        -webkit-flex-direction: column;
        align-items: stretch;
        -webkit-align-items: stretch;
        gap: 5.1vw;
    }
    #contentWrap_sp .category-list > li {
        width: 100%;
        filter: drop-shadow(0 10px 10px rgba(0, 50, 100, .1));
        transform: translateZ(0);
    }
    #contentWrap_sp .category-list .txt-box {
        background: #FFFFFF;
        font-size: 3.73vw;
        line-height: 1.4;
        padding: 5.1vw 5.1vw 12.3vw;
    }
    #contentWrap_sp .category-list .txt-box .txt {
        color: #000000;
        margin: 0!important;
    }
    #contentWrap_sp .category-list li a {
        display: block;
        cursor: pointer;
        text-decoration: none;
        transition: opacity .4s ease;
    }
    #contentWrap_sp .category-list .txt-box .link {
        display: block;
        font-size: 4.53vw;
        line-height: 1.5;
        font-weight: bold;
        color: #00469C;
        margin-top: .5em;
        margin-bottom: 0;
        text-decoration: underline;
    }
}
/* ================================================

ŒÂ•Ê

================================================ */
#contentWrap .category01 .category-ttl, #contentWrap .category07 .category-ttl {
    width: 116px;
    margin-right: auto;
}
#contentWrap .category02 .category-ttl {
    width: 123px;
    margin-right: auto;
}
#contentWrap .category02 .category-head, #contentWrap .category03 .category-head, #contentWrap .category04 .category-head, #contentWrap .category07 .category-head {
    width: 100%;
    max-width: 260px;
}
#contentWrap .category03 .category-ttl, #contentWrap .category04 .category-ttl {
    width: 138px;
    margin-right: auto;
}
#contentWrap .category05 .category-ttl {
    width: 145px;
    margin-right: auto;
}
#contentWrap .category06 .category-ttl {
    width: 180px;
    margin-right: auto;
}
#contentWrap .category08 .category-ttl {
    width: 212px;
    margin-right: auto;
}
#contentWrap .category01 {
    grid-area: area1;
    width: 100%;
}
#contentWrap .category02 {
    grid-area: area2;
    width: 100%;
    max-width: 260px;
}
#contentWrap .category03 {
    grid-area: area3;
    width: 100%;
    max-width: 260px;
}
#contentWrap .category04 {
    grid-area: area4;
    width: 100%;
    max-width: 260px;
}
#contentWrap .category05 {
    grid-area: area5;
    width: 100%;
}
#contentWrap .category06 {
    grid-area: area6;
    width: 100%;
    max-width: 545px;
}
#contentWrap .category07 {
    grid-area: area7;
    width: 100%;
    max-width: 260px;
}
#contentWrap .category08 {
    grid-area: area8;
    width: 100%;
}
#contentWrap .category08 ul + ul {
    margin-top: 30px;
}
#contentWrap .archive_block {
    background: #d6f1f8;
    padding: 35px 0 50px;
}
#contentWrap .archive_ttl {
    width: 232px;
    margin: 0 auto 35px;
}
#contentWrap .archive_list {
    width: 655px;
    margin: 0 auto;
    display: flex;
    display: -webkit-flex;
    justify-content: space-between;
    -webkit-justify-content: space-between;
}
@media screen and (max-width: 767px) {
    #contentWrap_sp .category08 {
        margin-bottom: 0 !important;
    }
}
/* ================================================

PC/SP FOOTER

================================================ */
#wrapFooter {
    text-align: left;
    width: 100%;
    max-width: 800px;
    margin: 0 auto 0;
}
#wrapFooter a {
    color: #218cce;
    padding-left: 10px;
    background: url(../../../common/images/mark_link2.gif) no-repeat 0 4px;
}
#wrapFooter a:hover {
    color: #eb5a7e;
    opacity: .7;
    transition: opacity .4s ease;
}
#wrapFooter #btnTop {
    font-size: 80%;
    text-align: right;
    margin-top: 30px;
    margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
    #wrapFooter {
        width: 84%;
        margin: 10.6vw auto 0;
    }
}
#footer.clfix {
    margin-bottom: 30px;
}