*{
    margin: 0;
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 200;
}
html{
    scroll-behavior: smooth;
}
a{
    color: inherit;
    transition: 300ms;
    text-decoration: none;
}
a:hover{
    opacity: 0.7;
}
img{
    display: block;
    width: 100%;
}
.container{
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    container-type: inline-size;
}
.inner{
    width: 100%;
    margin: 0 auto;
}
.tac{
    text-align: center;
}
h2{
    font-size: calc(43.6cqw / 13);
    line-height: 1.2;
    font-weight: bold;
    color: #3E3933;
    text-align: center;
    padding-top: 2em;
    padding-bottom: 0.7em;
}
h2 span{
    color: #484B92;
    font-weight: bold;
}
h3{
    font-size: calc(27.25cqw / 13);
    line-height: calc(54.5cqw / 13);
    color: white;
    background-color: #E1AB00;
    display: inline-block;
    width: calc(681cqw / 13);
    margin-bottom: 2cqw;
}
.card_flex{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding-bottom: 6cqw;
}
.card{
    width: calc(764cqw / 26);
    position: relative;
}
.card h5{
    position: absolute;
    width: 100%;
    text-align: center;
    left: 0;
    transform: translateY(-50%);
    top: 20%;
    font-size: calc(26cqw / 13);
    line-height: 1.4;
    font-weight: bold;
    color: #484B92;
}
.card p{
    position: absolute;
    width: 100%;
    text-align: center;
    left: 0;
    top: 31%;
    font-size: calc(16cqw / 13);
    line-height: 1.4;
}
.card p a{
    color: #464B9A;
    text-decoration: underline;
}




header{
    background-color: #E8E8E8;
}
.header_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    padding: 0.7cqw 1em;
}
.header_flex > a{
    width: calc(399cqw / 26);
}
.header_right{
    display: flex;
    align-items: center;
}
.header_right > a:nth-of-type(1){
    font-size: calc(16cqw / 13);
    line-height: 1.2;
    padding: 0 1.5em;
    border-left: solid 1px black;
    border-right: solid 1px black;
}
.header_right > a:nth-of-type(2){
    font-size: calc(16cqw / 13);
    line-height: 1.2;
    padding: 0 1.5em;
    border-right: solid 1px black;
}
.header_right > a:nth-of-type(3){
    font-size: calc(17.66cqw / 13);
    line-height: calc(31cqw / 13);
    border-radius: calc(31cqw / 26);
    font-weight: bold;
    color: white;
    background-color: #31376C;
    padding: 0 0.7em;
    margin-left: 1.3em;
}



.catch_p{
    text-align: center;
    font-size: calc(37cqw / 13);
    line-height: 1.2;
    padding: 1.5cqw 0;
}
.catch_p span{
    font-size: 110%;
    font-weight: bold;
    color: #484B92;
}




.top_wrapper{
    background-color: #D4D2E0;
}
@media screen and (min-width:768px) {
.top_wrapper .container{
    width: 84%;
    max-width: calc(1300px * 0.84);
}
}
.top_wrapper .inner{
    position: relative;
}
.top_btn{
    position: absolute;
    transform: translateX(-50%);
    left: 50%;
    top: 70%;
    font-size: calc(42cqw / 13);
    line-height: calc(94cqw / 13);
    border-radius: calc(94cqw / 26);
    font-weight: bold;
    color: white;
    background-color: #31376C;
    padding: 0 0.8em;
}
.top_caution {
    position: absolute;
    width: 100%;
    top: 87%;
    left: 0;
    text-align: center;
    font-size: calc(23cqw / 13);
    line-height: 1.5;
}




.about_wrapper{
    background-color: #C5C6DC;
}
.about_wrapper .inner{
    padding-top: 4cqw;
    padding-bottom: 5cqw;
}
.about_btn{
    display: inline-block;
    font-size: calc(42cqw / 13);
    line-height: calc(94cqw / 13);
    border-radius: calc(94cqw / 26);
    font-weight: bold;
    color: white;
    background-color: #31376C;
    padding: 0 0.8em;
    margin-bottom: 4cqw;
}
.about_relative{
    width: calc(1569cqw / 26);
    margin: 0 auto;
    position: relative;
}
.about_relative h5 {
    position: absolute;
    font-size: calc(41cqw / 13);
    line-height: 1;
    font-weight: bold;
    color: white;
    left: 2cqw;
    top: 28%;
}
.about_relative h6{
    position: absolute;
    font-size: calc(20cqw / 13);
    line-height: 1.2;
    font-weight: bold;
    color: white;
    left: 2cqw;
    top: 49%;
}
.about_relative p {
    position: absolute;
    font-size: calc(12.7cqw / 13);
    line-height: 1.2;
    color: white;
    left: 2cqw;
    top: 67%;
}




.function_wrapper{
    background-color: #C5C6DC;
}
.function_wrapper .inner{
    padding-bottom: 3cqw;
}
.function_wrapper h3{
    background-color: #31376C;
}
.function_inner{
    width: calc(590cqw / 13);
    margin: 0 auto;
}
.function_inner h6{
    font-size: calc(26cqw / 14.3);
    line-height: 1.4;
    color: #484B92;
    font-weight: bold;
}
.function_inner h6 span{
    font-size: calc(15cqw / 14.3);
    line-height: calc(20cqw / 14.3);
    background-color: #31376C;
    color: white;
    padding: 0 0.2em;
    margin-left: 0.3em;
    vertical-align: middle;
    border-radius: 0.2em;
    display: inline-block;
}
.function_inner p{
    font-size: calc(16cqw / 14.3);
    line-height: 1.5;
    padding-left: 1.7em;
    padding-bottom: 1em;
}



.contact_p_area{
    width: 85%;
    margin: 0 auto;
}
.contact_p01{
    font-size: 1.3cqw;
    line-height: 1.5;
    text-align: center;
}
.contact_p02{
    font-size: 1cqw;
    line-height: 1.5;
    text-align: center;
    padding-bottom: 2em;
}




.extFooter{
    background-color: #2C3654;
    padding: 60px 0 15px;
}
.extFooter .container-fluid{
    width: 100%;
    margin: 0 auto;
    padding: 0 3rem;
    box-sizing: border-box;
}
.extFooter .row{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    margin: 0 -15px;
}
.extFooter .col-lg-2{
    width: 16.6667%;
    box-sizing: border-box;
    padding: 0 15px 16px;
}
.extFooter .logo-section img{
    width: 34%;
    margin: 0 auto;
}
.extFooter h3{
    background-color: transparent;
    display: block;
    width: auto;
    color: white;
    font-size: 17px;
    line-height: 1.3;
    font-weight: bold;
    text-align: left;
    margin-bottom: 32px;
}
.extFooter h3 a{
    color: white;
    font-weight: bold;
}
.extFooter ul{
    list-style: none;
    text-align: left;
    margin-bottom: 32px;
    padding: 0;
}
.extFooter li{
    font-size: 13px;
    line-height: 1;
    margin-bottom: 16px;
}
.extFooter a{
    color: white;
}
.extFooter a.text-white:hover{
    color: #B3B3B3;
}


.content9{
    background-color: #2C3654;
    padding: 30px 0 15px;
}
#content9-ap .container{
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
    position: static;
    z-index: auto;
    container-type: normal;
}
.content9 hr.line{
    height: 1px;
    box-sizing: content-box;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1);
    margin: 0 auto;
    background-color: white;
}
.content9 .section-text{
    color: white;
    font-size: 13px;
    line-height: 1.2;
    text-align: center;
    padding: 32px 0;
}
.content9 .section-text a{
    color: white;
}
.content9 .section-text a:hover{
    color: #B3B3B3;
}


.footer2{
    background-color: #2C3654;
    padding: 15px 0 45px;
    overflow: hidden;
}
#footer02-aq .container{
    width: 100%;
    margin: 0 auto;
    padding: 0 15px;
    box-sizing: border-box;
    position: static;
    z-index: auto;
    container-type: normal;
}
.footer2 p{
    color: white;
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
    margin: 0;
}


@media screen and (min-width: 576px){
    #content9-ap .container,
    #footer02-aq .container{
        max-width: 540px;
    }
}
@media screen and (min-width: 768px){
    #content9-ap .container,
    #footer02-aq .container{
        max-width: 720px;
    }
}
@media screen and (min-width: 992px){
    #content9-ap .container,
    #footer02-aq .container{
        max-width: 960px;
    }
}
@media screen and (min-width: 1200px){
    #content9-ap .container,
    #footer02-aq .container{
        max-width: 1140px;
    }
}
@media screen and (min-width: 768px) and (max-width: 991px){
    .extFooter .col-lg-2{
        width: 25%;
    }
}




@media screen and (max-width: 767px) {
h2{
    font-size: calc(87.2cqw / 13);
}
h3{
    font-size: calc(54.5cqw / 13);
    line-height: calc(109cqw / 13);
    width: 90cqw;
    margin-bottom: 4cqw;
}
.card_flex{
    padding-bottom: 12cqw;
}
.card{
    width: calc(1528cqw / 26 * 1.4);
}
.card h5{
    font-size: calc(52cqw / 13 * 1.4);
}
.card p{
    font-size: calc(32cqw / 13 * 1.4);
}
.header_flex{
    padding: 1.4cqw 1em;
}
.header_flex > a{
    width: calc(798cqw / 26);
}
.header_right > a:nth-of-type(1){
    font-size: calc(32cqw / 13);
}
.header_right > a:nth-of-type(2){
    font-size: calc(32cqw / 13);
}
.header_right > a:nth-of-type(3){
    font-size: calc(35.32cqw / 13);
    line-height: calc(62cqw / 13);
    border-radius: calc(62cqw / 26);
    display: none;
}
.catch_p{
    font-size: calc(74cqw / 13);
    padding: 3cqw 0;
}
.top_wrapper .inner {
    padding-bottom: 13cqw;
}
.top_btn{
    font-size: calc(84cqw / 13);
    line-height: calc(188cqw / 13);
    border-radius: calc(188cqw / 26);
    white-space: nowrap;
    top: 55%;
}
.top_caution {
    font-size: calc(46cqw / 13);
}
.about_wrapper .inner{
    padding-top: 8cqw;
    padding-bottom: 10cqw;
}
.about_btn{
    font-size: calc(84cqw / 13);
    line-height: calc(188cqw / 13);
    border-radius: calc(188cqw / 26);
    margin-bottom: 8cqw;
}
    .about_relative {
        width: 90cqw;
        overflow: hidden;
        border-radius: 4cqw;
        background-color: #464B9A;
        padding-top: 27cqw;
    }
.about_relative img {
    width: 240% !important;
    margin-left: -121.5cqw;
}
.about_relative h5 {
        font-size: calc(82cqw / 13);
        left: 4cqw;
        top: 6cqw;
    }
    .about_relative h6 {
        font-size: calc(40cqw / 13 * 1.3);
        left: 4cqw;
        top: 15cqw;
    }
    .about_relative p {
        font-size: calc(25.4cqw / 13 * 1.3);
        left: 4cqw;
        top: 28cqw;
    }
.function_wrapper .inner{
    padding-bottom: 6cqw;
}
.function_inner{
    width: 90cqw;
}
.function_inner h6{
    font-size: calc(52cqw / 14.3 * 1.3);
}
.function_inner h6 span{
    font-size: calc(30cqw / 14.3 * 1.3);
    line-height: calc(40cqw / 14.3 * 1.3);
}
.function_inner p{
    font-size: calc(32cqw / 14.3 * 1.4);
}
.contact_p01{
    font-size: 3.7cqw;
}
.contact_p02{
    font-size: 2.9cqw;
}
.extFooter .container-fluid{
    padding: 0 1rem;
}
.extFooter .col-lg-2{
    width: 100%;
}
.extFooter h3{
    margin-bottom: 16px;
}
.extFooter li{
    margin-bottom: 8px;
}
}