@charset "utf-8";
/* ==================================== 
header ここから
==================================== */
.header{
    width: 100%;
    height: auto;
}
.header__inner{
    height: 80px;
    background: linear-gradient(90deg, #004797 0%, #87CBFF 100%);
    display: flex;
    justify-content: space-between;
    align-items: center;
}
@media only screen and (max-width: 767px) {
    .header__inner{
        height: 60px;
    }
}
.header__heading{
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.3;
    font-weight: 700;
    margin-left: 32px;
}
@media only screen and (max-width: 920px) {
    .header__heading{
        margin-left: 16px;
    }
}
@media only screen and (max-width: 767px) {
    .header__heading{
        margin-left: 20px;
    }
}
@media only screen and (max-width: 1280px) {
    .header__heading span{
        display: none;
    }
}
.header__heading img{
    width: 166px;
    height: auto;
    margin-right: 32px;
}
@media only screen and (max-width: 1400px) {
    .header__heading img{
        margin-right: 16px;
    }
}
@media only screen and (max-width: 375px) {
    .header__heading img{
        width: 146px;
        margin-right: 10px;
    }
}
.header__list{
    display: flex;
    align-items: center;
}
.header__item{
    font-size: 1.4rem;
    color: #fff;
    font-weight: 700;
    position: relative;
}
@media only screen and (max-width: 920px) {
    .header__item{
        font-size: 1.2rem;
    }
}
.header__item-text{
    margin-right: 11px;
}
@media only screen and (max-width: 920px) {
    .header__item-text{
        margin-right: 6px;
    }
}
@media only screen and (max-width: 767px) {
    .header__item-text{
        display: none;
    }
}
.header__item-tel{
    position: relative;
    padding-left: 69px;
    border-left: 1px solid #fff;
    font-family: 'Outfit', sans-serif;
    font-size: 3rem;
    margin-right: 8px;
}
@media only screen and (max-width: 1400px) {
    .header__item-tel{
        padding-left: 59px;
        font-size: 2.6rem;
    }
}
@media only screen and (max-width: 920px) {
    .header__item-tel{
        padding-left: 54px;
        font-size: 2rem;
    }
}
@media only screen and (max-width: 767px) {
    .header__item-tel{
        display: none;
    }
}
.header__item-tel:before{
    content: "";
    position: absolute;
    background: url(../img/tel_icon-white.svg) no-repeat center / cover;
    height: 26.83px;
    width: 36.52px;
    left: 21px;
    top: 2px;
}
@media only screen and (max-width: 1400px) {
    .header__item-tel:before{
        height: 20.83px;
        width: 30.52px;
        left: 16px;
    }
}
@media only screen and (max-width: 920px) {
    .header__item-tel:before{
        left: 11px;
    }
}
.header__item-tel span{
    display: block;
    font-size: 1.4rem;
    margin-top: 5px;
    font-family :  "游ゴシック体" ,  "Yu Gothic" , YuGothic , "ヒラギノ角ゴ Pro  " ,  "ヒラギノ角ゴ Pro" ,  "メイリオ" , Meiryo ,  "MS Pゴシック" ,  "MS PGothic" , sans-セリフ;
    padding-right: 10px;
    text-align: right;
}
@media only screen and (max-width: 920px) {
    .header__item-tel span{
        margin-top: 5px;
        padding-right: 5px;
    }
}
.header__item-btn{
    height: 80px;
    display: grid;
    place-items: center;
    background: #004797;
    padding: 0 24px 0 40px;
    margin-left: 20px;
}
@media only screen and (max-width: 1400px) {
    .header__item-btn{
        padding: 0 24px 0 10px;
    }
}
@media only screen and (max-width: 920px) {
    .header__item-btn{
        padding: 0 10px;
    }
}
@media only screen and (max-width: 767px) {
    .header__item-btn{
        height: 100%;
        padding: 0;
        margin-right: 20px;
        margin-left: 0;
    }
}
.header__item-btn:before{
    position: absolute;
    content: "";
    background: #004797;
    width: 20px;
    height: 80px;
    left: -19.8px;
    top: 0;
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
}
@media only screen and (max-width: 920px) {
    .header__item-btn:before{
        width: 10px;
        height: 80px;
        left: -9.8px;
    }
}
@media only screen and (max-width: 767px) {
    .header__item-btn:before{
        display: none;
    }
}
.header__item-btn a{
    color: #004797;
    background: #fff;
    display: grid;
    position: relative;
    width: 315px;
    height: 50px;
    place-items: center;
    padding-left: 10.5px;
}
@media only screen and (max-width: 1400px) {
    .header__item-btn a{
        width: 310px;
        padding-left: 20.5px;
    }
}
@media only screen and (max-width: 920px) {
    .header__item-btn a{
        width: 260px;
    }
}
@media only screen and (max-width: 767px) {
    .header__item-btn a{
        width: 136px;
        height: 40px;
        border: 2px solid #004797;
        font-size: 1.2rem;
        line-height: 1.2;
        padding-left: 0;
        padding-right: 16px;
    }
}
@media only screen and (max-width: 375px) {
    .header__item-btn a{
        width: 126px;
    }
}
.header__item-btn a:hover{
    opacity: 0.7;
}
.header__item-btn a:before{
    position: absolute;
    content: "";
    background: url(../img/hospital_icon.svg) no-repeat center / cover;
    left: 11px;
    width: 34px;
    height: 34px;
    top: 50%;
    transform: translateY(-50%)
}
@media only screen and (max-width: 920px) {
    .header__item-btn a:before{
        left: 6px;
    }
}
@media only screen and (max-width: 767px) {
    .header__item-btn a:before{
        display: none;
    }
}
.header__item-btn a:after{
    position: absolute;
    content: "";
    background: url(../img/arrow_icon-blue.svg) no-repeat center / cover;
    right: 11px;
    width: 9.5px;
    height: 16px;
    top: 50%;
    transform: translateY(-50%)
}
@media only screen and (max-width: 920px) {
    .header__item-btn a:after{
        right: 6px;
    }
}
@media only screen and (min-width: 768px) {
    .header__item-btn a br{
        display: none;
    }
}
/* ==================================== 
header ここまで
==================================== */

/* ==================================== 
mv ここから
==================================== */
.mv{
    overflow: hidden;
}
.mv__inner{
    width: 100%;
    position: relative;
}
.mv__text{
    max-width: 1200px;
    width: 95%;
    margin: 0 auto;
    padding: 71px 0 155px;
    position: relative;
    z-index: 2;
}
@media only screen and (max-width: 767px) {
    .mv__text{
        width: 100%;
        padding: 0 5.2vw;
        margin-top: 6.4vw;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__text{
        max-width: 82.5vw;
        padding: 3.6979vw 0 8.0729vw;
    }
} */
/* @media only screen and (min-width: 1000px){
    .mv__text{
        max-width: 62.5vw;
    }
} */
.mv__subtitle{
    font-size: 2.4rem;
    font-weight: 700;
    color: #004797;
    margin-bottom: 24px;
}
@media only screen and (max-width: 1250px) {
    .mv__subtitle{
        font-size: 2rem;
        margin-bottom: 20px;
    }
}
@media only screen and (max-width: 1040px) {
    .mv__subtitle{
        font-size: 1.8rem;
        margin-bottom: 10px;
    }
}
@media only screen and (max-width: 767px) {
    .mv__subtitle{
        font-size: 3.8vw;
        font-weight: bold;
        margin-bottom: 2.1333vw;
        letter-spacing: -0.05em;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__subtitle{
        font-size: 1.25vw;
        margin-bottom: 1.25vw;
    }
} */
.mv__subtitle span{
    margin-top: 12px;
    display: block;
    font-size: 1.4rem;
    color: #333;
    font-weight: 500;
}
@media only screen and (max-width: 1040px) {
    .mv__subtitle span{
        margin-top: 6px;
        font-size: 1.2rem;
    }
}
@media only screen and (max-width: 767px) {
    .mv__subtitle span{
        margin-top: 1.25vw;
        font-size: 3.4666vw;
        font-weight: 700;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__subtitle span{
        margin-top: 0.625vw;
        font-size: 0.7291vw;
    }
} */
.mv__title{
    font-family :  "游明朝体" ,  "ゆう明朝" ,ゆう明朝, "ヒラギノ明朝 Pro " , "ヒラギノ明朝 Pro" , "MS P明朝" ,  "MS PMincho " , serif;
    color: #004797;
    font-weight: 800;
    font-size: 4.8rem;
}
@media only screen and (max-width: 1250px) {
    .mv__title{
        font-size: 4rem;
    }
}
@media only screen and (max-width: 1040px) {
    .mv__title{
        font-size: 2.6rem;
    }
}
@media only screen and (max-width: 767px){
    .mv__title{
        font-family :  "ヒラギノ明朝 Pro" ,  "ヒラギノ明朝 Pro" ,  "MS P明朝" ,  "MS PMincho" , serif;
        font-weight: bold;
        font-size: 5.6vw
    }
}
/* @media only screen and (min-width: 768px){
    .mv__title{
        font-size: 2.5vw;
    }
} */
.mv__title--border{
    display: inline-block;
    position: relative;
    margin-bottom: 25px;
}
@media only screen and (max-width: 1250px) {
    .mv__title--border{
        margin-bottom: 20px;
    }
}
@media only screen and (max-width: 1040px) {
    .mv__title--border{
        margin-bottom: 10px;
    }
}
@media only screen and (max-width: 767px){
    .mv__title--border{
        margin-bottom: 4vw;
        letter-spacing: -0.05em;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__title--border{
        font-size: 2.5vw;
    }
} */
.mv__title--border:before{
    width: 100%;
    content: "";
    position: absolute;
    background: linear-gradient(90deg, #F63D68 0%, rgba(246, 61, 104, 0) 100%);
    height: 9px;
    bottom: -15px;
    left: 0;
}
@media only screen and (max-width: 1040px) {
    .mv__title--border:before{
        bottom: -10px;
    }
}
@media only screen and (max-width: 767px){
    .mv__title--border:before{
        height: 1.6vw;
        bottom: -2.5vw;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__title--border:before{
        height: 0.4687vw;
        bottom: -0.7812vw;
    }
} */
.mv__title--noborder{
    display: inline-block;
    margin-top: 16px;
}
@media only screen and (max-width: 1040px) {
    .mv__title--noborder{
        margin-top: 10px;
    }
}
@media only screen and (max-width: 767px){
    .mv__title--noborder{
        font-size: 6.4vw;
        margin-top: 1.8666vw;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__title--noborder{
        margin-top: 0.8333vw;
    }
} */
.mv__title--font{
    font-size: 6rem;
    font-family: 'Outfit', sans-serif;
}
@media only screen and (max-width: 1250px) {
    .mv__title--font{
        font-size: 5rem;
    }
}
@media only screen and (max-width: 1040px) {
    .mv__title--font{
        font-size: 4rem;
    }
}
@media only screen and (max-width: 767px){
    .mv__title--font{
        font-size: 7.8vw;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__title--font{
        font-size: 4.1666vw;
    }
} */
.mv__title--small{
    font-size: 3.2rem;
}
@media only screen and (max-width: 1250px) {
    .mv__title--small{
        font-size: 2.8rem;
    }
}
@media only screen and (max-width: 1040px) {
    .mv__title--small{
        font-size: 2.2rem;
    }
}
@media only screen and (max-width: 767px){
    .mv__title--small{
        font-size: unset;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__title--small{
        font-size: 1.6666vw;
    }
} */
.mv_title_catch{
    font-size: 14px;
    padding-top: 45px;
    line-height: 1.7;
    font-weight: 575;
}
@media only screen and (max-width: 1250px){
    .break-point{
        display: block;
    }
}
@media only screen and (max-width: 767px){
    .mv_title_catch{
        font-size: 12px;
        padding-top: 25px;
        margin-left: 15px;
        line-height: 1.7;
    }
}
.mv__btn{
    margin-top: 30px;
    background: #F63D68;
    display: inline-block;
    box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.25);
    border-radius: 100px;
}
@media only screen and (max-width: 1250px) {
    .mv__btn{
        margin-top: 30px;
    }
}
@media only screen and (max-width: 1040px) {
    .mv__btn{
        margin-top: 20px;
    }
}
@media only screen and (max-width: 767px){
    .mv__btn{
        margin-top: 5.3333vw;
        display: block;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__btn{
        margin-top: 2.6041vw;
    }
} */
.mv__btn a{
    width: 540px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: 700;
    font-size: 1.9rem;
    position: relative;
}
@media only screen and (max-width: 1250px) {
    .mv__btn a{
        width: 480px;
    }
}
@media only screen and (max-width: 1040px) {
    .mv__btn a{
        width: 340px;
        height: 60px;
        font-size: 1.4rem;
    }
}
@media only screen and (max-width: 767px){
    .mv__btn a{
        width: 100%;
        height: 16vw;
        border-radius: 26.6666vw;
        font-weight: bold;
        font-size: 3.6vw;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__btn a{
        width: 28.125vw;
        height: 4.1666vw;
        border-radius: 5.2083vw;
        font-size: 1.25vw;
    }
} */
.mv__btn a:hover{
    opacity: 0.7;
}
.mv__btn a:before{
    position: absolute;
    content: "";
    background: url(../img/arrow_icon-white.svg) no-repeat center / cover;
    width: 19px;
    height: 32px;
    top: 50%;
    transform: translateY(-50%);
    right: 26px;
}
@media only screen and (max-width: 1040px) {
    .mv__btn a:before{
        width: 14px;
        height: 23px;
        right: 16px;
    }
}
@media only screen and (max-width: 767px){
    .mv__btn a:before{
        width: 2.5333vw;
        height: 4.2666vw;
        right: 5.0666vw;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__btn a:before{
        width: 0.9895vw;
        height: 1.6666vw;
        right: 1.3541vw;
    }
} */
.mv__btn a span{
    color: #F63D68;
    background: #fff;
    width: 57px;
    height: 57px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    margin-right: 16px;
    margin-left: -27px;
}
@media only screen and (max-width: 1040px) {
    .mv__btn a span{
        width: 44px;
        height: 44px;
    }
}
@media only screen and (max-width: 767px){
    .mv__btn a span{
        width: 11.7333vw;
        height: 11.7333vw;
        margin-right: 4.2666vw;
        margin-left: -4.5333vw;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__btn a span{
        width: 2.9687vw;
        height: 2.9687vw;
        margin-right: 0.8333vw;
        margin-left: -1.40625vw;
    }
} */
.mv__img{
    position: absolute;
    top: 23px;
    width: 993px;
    height: auto;
    left: 48.2291vw;
}
@media only screen and (max-width: 1250px) {
    .mv__img{
        width: 840px;
    }
}
@media only screen and (max-width: 1040px) {
    .mv__img{
        width: 620px;
    }
}
@media only screen and (max-width: 767px){
    .mv__img{
        position: unset;
        width: 100%;
        margin-top: 4.2666vw;
    }
}
@media only screen and (min-width: 1920px) {
    .mv__img{
        width: auto;
    }
}
/* @media only screen and (min-width: 768px){
    .mv__img{
        top: 1.1979vw;
        width: 61.7187vw;
    }
} */
/* @media only screen and (min-width: 1000px){
    .mv__img{
        width: 51.7187vw;
    }
} */
/* ==================================== 
mv ここまで
==================================== */

/* ==================================== 
reason ここまで
==================================== */
.reason__inner{
    max-width: 1200px;
    width: 95%;
    margin: 0px auto;
}
@media only screen and (max-width: 767px) {
    .reason__inner{
        width: 100%;
        margin: 40px auto 0;
    }
}
.reason__title{
    font-size: 4rem;
    font-weight: 700;
    text-align: center;
    color: #004797;
    position: relative;
    margin-bottom: 87px;
}
@media only screen and (max-width: 767px) {
    .reason__title{
        font-size: 2.4rem;
        font-weight: bold;
        margin-bottom: 78px;
    }
}
.reason__title:before{
    position: absolute;
    content: "";
    width: 84px;
    height: 8px;
    left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(90deg, #004797 0%, #87CBFF 100%);
    border-radius: 10px;
    bottom: -39px;
}
@media only screen and (max-width: 767px) {
    .reason__title:before{
        width: 64px;
        height: 8px;
        bottom: -38px;
    }
}
.reason__title--font{
    font-family: 'Outfit', sans-serif;
    font-size: 9.217rem;
    display: inline-block;
    margin: 0 4px;
}
@media only screen and (max-width: 767px) {
    .reason__title--font{
        font-size: 5.6rem;
        position: relative;
        top: 9px;
    }
}
.reason__item{
    position: relative;
    margin-bottom: 75px;
}
@media only screen and (max-width: 767px) {
    .reason__item{
        margin-bottom: 40px;
    }
}
.reason__item:last-child{
    margin-bottom: 0;
}
.reason__item-img{
    width: 790px;
    height: auto;
}
@media only screen and (max-width: 1000px) {
    .reason__item-img{
        padding-bottom: 150px;
    }
}
@media only screen and (max-width: 832px) {
    .reason__item-img{
        width: 100%;
    }
}
@media only screen and (max-width: 767px) {
    .reason__item-img{
        padding-bottom: 0;
    }
}
.reason__item-left .reason__item-img{
    margin: 0 auto 0 0;
}
.reason__item-right .reason__item-img{
    right: 0;
    margin: 0 0 0 auto;
}
.reason__item-textarea{
    background: #FFFFFF;
    box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    width: 560px;
    padding: 100px 40px 60px;
    margin: 0 0 0 auto;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}
@media only screen and (max-width: 1000px) {
    .reason__item-textarea{
        top: unset;
        transform: none;
        bottom: 0;
    }
}
@media only screen and (max-width: 767px) {
    .reason__item-textarea{
        width: calc(100% - 40px);
        margin: 0 auto;
        margin-top: -80px;
        position: relative;
        padding: 73px 24px 24px;
    }
}
.reason__item-left .reason__item-textarea{
    right: 0;
}
.reason__item-right .reason__item-textarea{
    left: 0;
}
.reason__item-number{
    font-size: 3.2rem;
    font-family: 'Outfit', sans-serif;
    color: #004797;
    font-weight: 400;
    position: absolute;
    left: 40px;
    top: -36px;
}
@media only screen and (max-width: 767px) {
    .reason__item-number{
        font-size: 2.6rem;
        position: absolute;
        left: 24px;
        top: -31px;
    }
}
.reason__item-number span{
    background: -webkit-linear-gradient(0deg, #004797, #87CBFF);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    font-size: 9.6rem;
    display: inline-block;
    margin-left: 8px;
}
@media only screen and (max-width: 767px) {
    .reason__item-number span{
        font-size: 8rem;
    }
}
.reason__item-title{
    font-weight: 700;
    font-size: 4rem;
    line-height: 1.5;
    color: #004797;
}
@media only screen and (max-width: 767px) {
    .reason__item-title{
        font-weight: bold;
        font-size: 2.4rem;
    }
}
@media only screen and (max-width: 375px) {
    .reason__item-title{
        font-size: 2rem;
    }
}
.reason__item-text{
    font-size: 18px;
    line-height: 1.7;
    font-weight: 500;
}
@media only screen and (max-width: 767px) {
    .reason__item-text{
        font-size: 16px;
        font-weight: 300;
    }
}
.reason__item-text--short{
    margin-top: 40px;
}
@media only screen and (max-width: 767px) {
    .reason__item-text--short{
        margin-top: 24px;
    }
}
.reason__item-text--middle{
    margin-top: 24px;
}
.reason__item-text--long{
    margin-top: 16px;
}
@media only screen and (max-width: 767px) {
    .reason__item-text--long{
        margin-top: 24px;
    }
}
/* ==================================== 
reason ここまで
==================================== */

/* ==================================== 
contact ここから
==================================== */
.contact{
    background: linear-gradient(93.58deg, #AED4FF 2.08%, rgba(233, 243, 255, 0.21) 98.54%);
    width: 100%;
    position: relative;
    padding: 161px 0 64px;
}
@media only screen and (max-width: 767px) {
    .contact{
        padding: 23.7333vw 0 40px;
    }
}
.contact__title{
    position: absolute;
    width: 677px;
    height: auto;
    left: 50%;
    transform: translateX(-50%);
    top: 60px;
}
@media only screen and (max-width: 767px) {
    .contact__title{
        width: calc(100% - 40px);
        top: 10vw;
    }
}
.contact__inner{
    background: #fff;
    padding: 40px 32px 31px;
    margin: 0 auto;
    position: relative;
    max-width: 882px;
    width: 95%;
    border-radius: 8px;
}
@media only screen and (max-width: 767px) {
    .contact__inner{
        padding: 24px 16px;
        width: calc(100% - 40px);
    }
}
.contact__subtitle{
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
    margin-bottom: 24px;
}
@media only screen and (max-width: 767px) {
    .contact__subtitle{
        font-size: 1.4rem;
        font-weight: bold;
        margin-bottom: 16px;
    }
}
.contact__list-btn{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    width: 736px;
    margin: 0 auto;
    border-bottom: 1px solid #ECECEC;
    padding-bottom: 24px;
}
@media only screen and (max-width: 870px) {
    .contact__list-btn{
        width: 100%;
    }
}
@media only screen and (max-width: 767px) {
    .contact__list-btn{
        padding-bottom: 16px;
    }
}
@media only screen and (max-width: 375px) {
    .contact__list-btn{
        flex-direction: column;
        justify-content: unset;
        align-items: center;
    }
}
.cotnact__item-btn a:hover{
    opacity: 0.7;
}
.contact__item-btn--red{
    width: 677px;
    margin: 0 auto;
    background: #F63D68;
    box-shadow: 0px 3px 15px rgba(0, 0, 0, 0.25);
    border-radius: 100px;
}
@media only screen and (max-width: 810px) {
    .contact__item-btn--red{
        width: 100%;
    }
}
.contact__item-btn--red a{
    width: 677px;
    height: 80px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-weight: 700;
    font-size: 2.8rem;
    position: relative;
    margin: 0 auto;
}
@media only screen and (max-width: 810px) {
    .contact__item-btn--red a{
        width: 100%;
    }
}
@media only screen and (max-width: 767px) {
    .contact__item-btn--red a{
        height: 60px;
        font-weight: bold;
        font-size: 1.2rem;
    }
}
@media only screen and (max-width: 375px) {
    .contact__item-btn--red a{
        font-size: 1.2rem;
        padding-right: 15px;
    }
}
.contact__item-btn--red a:before{
    position: absolute;
    content: "";
    background: url(../img/arrow_icon-white.svg) no-repeat center / cover;
    width: 19px;
    height: 32px;
    top: 50%;
    transform: translateY(-50%);
    right: 26px;
}
@media only screen and (max-width: 767px) {
    .contact__item-btn--red a:before{
        width: 9.5px;
        height: 16px;
        right: 10px;
    }
}
.contact__item-btn--red a span{
    color: #F63D68;
    background: #fff;
    width: 57px;
    height: 57px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    margin-right: 16px;
    margin-left: 0;
    font-size: 2.1rem;
}
@media only screen and (max-width: 767px) {
    .contact__item-btn--red a span{
        width: 44px;
        height: 44px;
        margin-right: 8px;
        font-size: 1.8rem;
    }
}
@media only screen and (max-width: 375px) {
    .contact__item-btn--red a span{
        font-size: 1.4rem;
    }
}
.contact__item-btn--blue{
    margin-top: 24px;
}
@media only screen and (max-width: 767px) {
    .contact__item-btn--blue{
        margin-top: 16px;
    }
}
.contact__item-btn--blue a{
    display: flex;
    align-items: center;
    font-size: 1.6rem;
    font-weight: 500;
    position: relative;
    padding-right: 20px;
    color: #004797;
}
@media only screen and (max-width: 767px) {
    .contact__item-btn--blue a{
        font-size: 1.4rem;
        font-weight: 400;
    }
}
.contact__item-btn--blue a:before{
    position: absolute;
    content: "";
    background: url(../img/arrow_icon-blue.svg) no-repeat center / cover;
    width: 9.5px;
    height: 16px;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}
.cotnact__item-btn a img{
    width: 34px;
    height: 34px;
    margin-right: 8px;
}
@media only screen and (max-width: 767px) {
    .cotnact__item-btn a img{
        margin-right: 4px;
    }
}
.contact__list-btn .cotnact__item-btn:last-child{
    margin-left: 55px;
}
@media only screen and (max-width: 767px) {
    .contact__list-btn .cotnact__item-btn:last-child{
        margin-left: 10px;
    }
}
@media only screen and (max-width: 375px) {
    .contact__list-btn .cotnact__item-btn:last-child{
        margin-left: 0;
    }
}
.contact__list-text{
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 17px;
    flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
    .contact__list-text{
        margin-top: 24px;
    }
}
.contact__item-text{
    font-size: 1.6rem;
    line-height: 1.5;
}
@media only screen and (max-width: 767px) {
    .contact__item-text{
        line-height: 1;
    }
}
.contact__item-text--tel{
    font-size: 3rem;
    font-family: 'Outfit', sans-serif;
    position: relative;
    padding-left: 48px;
    margin-left: 12px;
    font-weight: 700;
    line-height: 1;
}
@media only screen and (max-width: 866px) {
    .contact__item-text--tel{
        margin: 0 0 12px 12px;
    }
}
@media only screen and (max-width: 472px) {
    .contact__item-text--tel{
        margin: 16px 0 12px 0;
    }
}
.contact__item-text--tel a{
    color: #333;
}
@media only screen and (min-width: 768px) {
    .contact__item-text--tel a[href^="tel:"] {
        pointer-events: none;
        cursor: default;
    }
}
.contact__item-text--tel:before{
    position: absolute;
    content: "";
    background: url(../img/tel_icon-black.svg) no-repeat center / cover;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 36px;
    height: 23px;
}
.contact__item-text span{
    display: inline-block;
    margin: 0 8px;
    font-weight: 700;
    font-size: 1.4rem;
}
@media only screen and (max-width: 767px) {
    .contact__item-text span{
        font-weight: bold;
        margin-bottom: 12px;
    }
}
@media only screen and (max-width: 500px) {
    .contact__item-text span{
        display: block;
        text-align: center;
    }
}
/* ==================================== 
contact ここまで
==================================== */

/* ==================================== 
other ここから
==================================== */
.other__inner{
    width: 100%;
    background: url(../img/other_bg.png) no-repeat center / cover;
    padding-top: 82px;
    margin-top: 120px;
}
.other__title{
    font-size: 4rem;
    text-align: center;
    position: relative;
    color: #004797;
    font-weight: 700;
}
@media only screen and (max-width: 767px) {
    .other__title{
        font-size: 2.4rem;
        font-weight: bold;
    }
}
.other__title:before{
    content: "";
    position: absolute;
    background: linear-gradient(90deg, #004797 0%, #87CBFF 100%);
    border-radius: 10px;
    width: 84px;
    height: 8px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -40px;
}
@media only screen and (max-width: 767px) {
    .other__title:before{
        width: 64px;
        bottom: -32px;
    }
}
.other__body-outer{
    overflow: scroll;
    scrollbar-width: none;
    margin-top: -38px;
}
@media only screen and (max-width: 860px) {
    .other__body-outer{
        margin-top: 0;
    }
}
.other__body-outer::-webkit-scrollbar{
    display: none;
}
.other__body{
    display: flex;
    padding: 38px 30px 0;
    width: 1465px;
    margin: 0 auto;
    position: relative;
}
@media only screen and (max-width: 860px) {
    .other__body{
        padding: 0 20px;
        width: 948px;
    }
}
.other__body-img{
    width: 544px;
    height: auto;
    position: absolute;
    bottom: 0;
}
@media only screen and (max-width: 860px) {
    .other__body-img{
        display: none;
    }
}
.other__table{
    margin: 80px 0 80px 513px;
    background: rgb(255 255 255 / 75%);
    border-radius: 8px;
    box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.1);
    display: flex;
    padding: 40px 32px;
    width: 892px;
}
@media only screen and (max-width: 860px) {
    .other__table{
        padding: 40px;
        width: 908px;
        margin: 72px 0 40px;
    }
}
.other__table-column01{
    margin-right: 5px;
    width: 118px;
    margin-bottom: 16px;
}
.other__table-column02{
    background: linear-gradient(170.37deg, #004797 4.84%, #87CBFF 94.83%);
    border-radius: 8px;
    width: 198px;
    text-align: center;
    color: #fff;
    font-weight: 700;
}
.other__table-column02,
.other__table-column03,
.other__table-column04{
    margin-right: 16px;
}
.other__table-column03,
.other__table-column04,
.other__table-column05{
    background: #fff;
    border-radius: 8px;
    width: 153px;
    text-align: center;
}
.other__table-column02,
.other__table-column03,
.other__table-column04,
.other__table-column05{
    padding: 24px 0 16px;
}
.other__table .other__table-column .other__table-row02{
    height: 58px;
}
.other__table-column01 .other__table-title{
    font-weight: 700;
    height: 66px;
    padding-bottom: 16px;
    position: relative;
    display: flex;
    align-items: flex-end;
    font-size: 1.4rem;
    line-height: 1.3;
}
.other__table-column01 .other__table-notitle{
    height: 72px;
}
.other__table-column01 .other__table-title:before{
    position: absolute;
    width: 100%;
    background: linear-gradient(90deg, #004797 0%, rgb(135 203 255 / 0%) 100%);
    height: 1px;
    content: "";
    bottom: 0;
    left: 0;
}
.other__table-column01 .other__table-notitle:before{
    display: none;
}
.other__table-column02 .other__table-title,
.other__table-column03 .other__table-title,
.other__table-column04 .other__table-title, 
.other__table-column05 .other__table-title{
    font-size: 2.4rem;
    font-weight: 700;
    padding-bottom: 23px;
    border-bottom: 1px solid #fff;
    margin: 0 16px;
}
.other__table-column03 .other__table-title,
.other__table-column04 .other__table-title, 
.other__table-column05 .other__table-title{
    border-bottom: 1px solid #333;
}
.other__table-column02 .other__table-text,
.other__table-column03 .other__table-text,
.other__table-column04 .other__table-text, 
.other__table-column05 .other__table-text{
    font-size: 1.8rem;
    height: 66px;
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding-bottom: 16px;
}
.other__table-text--circle{
    position: relative;
}
.other__table-text--circle:before{
    position: absolute;
    content: "";
    border: 4px solid rgb(255 255 255 / 20%);
    border-radius: 50%;
    width: 41px;
    height: 41px;
    bottom: 2px;
    left: 50%;
    transform: translateX(-50%);
}
/* ==================================== 
other ここまで
==================================== */

/* ==================================== 
flow ここから
==================================== */
.flow__inner{
    max-width: 1260px;
    width: 100%;
    margin: 0 auto;
    padding: 120px 0;
}
@media only screen and (max-width: 767px) {
    .flow__inner{
        width: 100%;
        padding: 80px 0;
    }
}
.flow__title{
    font-size: 4rem;
    text-align: center;
    position: relative;
    color: #004797;
    font-weight: 700;
}
@media only screen and (max-width: 767px) {
    .flow__title{
        font-size: 2.4rem;
        font-weight: bold;
    }
}
.flow__title:before{
    content: "";
    position: absolute;
    background: linear-gradient(90deg, #004797 0%, #87CBFF 100%);
    border-radius: 10px;
    width: 84px;
    height: 8px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -40px;
}
@media only screen and (max-width: 767px) {
    .flow__title:before{
        width: 64px;
        bottom: -32px;
    }
}
.flow__list-outer{
    position: relative;
    padding-bottom: 60px;
    padding-top: 30px;
    margin-top: 86px;
    overflow: scroll;
    scrollbar-width: none;
}
.flow__list-outer::-webkit-scrollbar{
    display: none;
}
/* @media only screen and (max-width: 767px) {
    .flow__list-outer{
        padding-bottom: 138px;
        margin-top: 68px;
    }
} */
.flow__list{
    display: flex;
    padding: 0 30px;
    width: 1260px;
}
.flow__item{
    min-width: 220px;
    height: 507px;
    margin-right: 25px;
    background: #FFFFFF;
    box-shadow: 0px 4px 30px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
    position: relative;
    padding: 0 24px;
}
/* @media only screen and (max-width: 767px) {
    .flow__item{
        height: 414px;
    }
} */
.flow__list .flow__item:last-child{
    margin-right: 0;
}
.flow__item-step{
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
    font-size: 3.2rem;
    top: -24px;
    color: #004797;
}
.flow__item-step span{
    font-size: 4.8rem;
}
.flow__item-icon{
    height: 214px;
    padding-bottom: 40px;
    width: 120px;
    display: flex;
    align-items: flex-end;
    margin: 0 auto;
}
/* @media only screen and (max-width: 767px) {
    .flow__item-icon{
        padding-bottom: 24px;
        width: 84px;
        height: 140px;
    }
} */
.flow__item-icon img{
    width: 120px;
    height: 108px;
}
/* @media only screen and (max-width: 767px) {
    .flow__item-icon img{
        width: 84px;
        height: 74px;
    }
} */
.flow__item-title{
    border-top: 1px solid #004797;
    font-size: 2rem;
    font-weight: 700;
    line-height: 1.5;
    text-align: center;
}
/* @media only screen and (max-width: 767px) {
    .flow__item-title{
        font-weight: bold;
        color: #004797;
    }
} */
.flow__item-title--single{
    padding: 35px 0;
}
.flow__item-title--double{
    padding: 20px 0;
}
/* @media only screen and (max-width: 767px) {
    .flow__item-title--single{
        padding: 25px 0;
    }
    .flow__item-title--double{
        padding: 10px 0;
    }
} */
.flow__item-text{
    font-size: 1.4rem;
    line-height: 1.5;
    font-weight: 500;
}
/* @media only screen and (max-width: 767px) {
    .flow__item-text{
        line-height: 1.7;
        font-weight: 300;
    }
} */
.flow__item-text--bluebg{
    margin-top: 10px;
    color: #fff;
    background: #004797;
    padding: 8px 0;
    font-size: 1.3rem;
    line-height: 1.3;
    font-weight: 700;
    text-align: center;
}
/* @media only screen and (max-width: 767px) {
    .flow__item-text--bluebg{
        margin-top: 5px;
    }
} */
.flow__item-text--bluebg span{
    font-size: 1.6rem;
}
.flow__list-left{
    position: absolute;
    color: #fff;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.3;
    bottom: 0;
    left: 0;
    width: 950px;
    text-align: center;
    margin-left: 30px;
}
/* @media only screen and (max-width: 768px) {
    .flow__list-left{
        font-weight: bold;
        bottom: 77px;
    }
} */
.flow__list-left:before{
    content: "";
    position: absolute;
    border-top: 2px dashed #F63D68;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 100%;
    height: 2px;
    z-index: 1;
}
.flow__list-left--edge{
    position: absolute;
    display: block;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
}
.flow__list-left--edge:before, .flow__list-left--edge:after{
    position: absolute;
    content: "";
    top: 50%;
    transform: translateY(-50%);
    width: 2px;
    height: 30px;
    background: #F63D68;
}
.flow__list-left--edge:before{
    left: 0;
}
.flow__list-left--edge:after{
    right: 0;
}
.flow__list-left--text{
    display: inline-block;
    background: #F63D68;
    padding: 8px;
    position: relative;
    z-index: 2;
}
/* .flow__list-left--left{
    width: 504px;
    position: absolute;
    left: 7px;
    bottom: -75px;
    z-index: 2;
}
.flow__list-left--top{
    background: #F63D68;
    color: #fff;
    width: 352px;
    height: 40px;
    display: grid;
    place-items: center;
    font-size: 1.871rem;
    line-height: 1.3;
    margin: 0 auto;
}
.flow__list-left--bottom{
    font-size: 1.4rem;
    line-height: 1.7;
    color: #333;
    display: inline-block;
    margin-top: 8px;
    letter-spacing: -0.05em;
}
.flow__list-left--bottom span{
    color: #F63D68;
}
.flow__list-left--right{
    width: 480px;
    position: absolute;
    right: 2px;
    bottom: -75px;
    z-index: 2;
} */
.flow__list-right{
    position: absolute;
    color: #fff;
    font-weight: 700;
    font-size: 1.8rem;
    line-height: 1.3;
    padding: 8px;
    background: #F63D68;
    display: inline-block;
    bottom: -60px;
    right: 48px;
}
/* @media only screen and (max-width: 767px) {
    .flow__list-right{
        bottom: -80px;
    }
} */
.flow__list-right:before{
    content: "";
    background: url(../img/polygon_icon.svg) no-repeat center / cover;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 28px;
    height: 23px;
    top: -14px;
}
/* ==================================== 
flow ここまで
==================================== */

/* ==================================== 
faq ここから
==================================== */
.faq{
    position: relative;
    padding-bottom: 124px;
}
@media only screen and (max-width: 767px) {
    .faq{
        padding-bottom: 0;
    }
}
.faq__bg{
    position: absolute;
    height: calc(100% - 162px);
    width: 100%;
    background: #F7F7F7;
    bottom: 0;
    left: 0;
}
@media only screen and (max-width: 767px) {
    .faq__bg{
        display: none;
    }
}
.faq__inner{
    max-width: 1000px;
    margin: 215px auto 0;
    width: 95%;
    position: relative;
}
@media only screen and (max-width: 767px) {
    .faq__inner{
        margin: 80px auto 0;
        width: calc(100% - 40px);
    }
}
.faq__title{
    font-size: 4rem;
    text-align: center;
    position: relative;
    color: #004797;
    font-weight: 700;
}
@media only screen and (max-width: 767px) {
    .faq__title{
        font-size: 2.4rem;
        font-weight: bold;
    }
}
.faq__title:before{
    content: "";
    position: absolute;
    background: linear-gradient(90deg, #004797 0%, #87CBFF 100%);
    border-radius: 10px;
    width: 84px;
    height: 8px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -40px;
}
@media only screen and (max-width: 767px) {
    .faq__title:before{
        width: 64px;
        bottom: -32px;
    }
}
.faq__list{
    margin-top: 88px;
}
@media only screen and (max-width: 767px) {
    .faq__list{
        margin-top: 72px;
    }
}
.faq__item{
    background: linear-gradient(45deg,#004797,#87CBFF);
    border-radius: 8px;
    margin-bottom: 24px;
    padding: 3px;
}
@media only screen and (max-width: 767px) {
    .faq__item{
        margin-bottom: 16px;
        padding: 4px;
    }
}
.faq__list .faq__item:last-child{
    margin-bottom: 0;
}
.faq__item-inner{
    background: #fff;
    padding: 24px 64px 24px 24px;
    border-radius: 4px;
    cursor: pointer;
}
@media only screen and (max-width: 767px) {
    .faq__item-inner{
        padding: 16px 56px 16px 16px;
    }
}
.faq__item-question{
    position: relative;
    transition: all .5s ease;
    font-size: 2.4rem;
    font-weight: 700;
    position: relative;
    padding-left: 64px;
}
@media only screen and (max-width: 767px) {
    .faq__item-question{
        font-size: 1.6rem;
        font-weight: bold;
        padding-left: 48px;
        line-height: 1.3;
    }
}
.faq__item-question:before, .faq__item-question:after{
    position: absolute;
    content: "";
    width: 18.67px;
    height: 2px;
    background: #004797;
    top: 50%;
}
.faq__item-question:before{
    right: -41.33px;
    transform: translateY(-50%);
}
.faq__item-question:after{  
    right: -41.33px;
    transform: translateY(-50%) rotate(90deg);
    transform-origin: center;
}
.faq__item-question.close:after{
	display: none;
}
.faq__item-question img{
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
}
@media only screen and (max-width: 767px) {
    .faq__item-question img{
        width: 32px;
        height: 32px;
    }
}
.faq__item-answer{
    display: none;
    font-size: 1.6rem;
    margin-top: 24px;
    line-height: 1.7;
    font-weight: 500;
    padding-left: 64px;
}
@media only screen and (max-width: 767px) {
    .faq__item-answer{
        margin-top: 16px;
        font-weight: 300;
        padding-left: 48px;
    }
}
/* ==================================== 
faq ここまで
==================================== */

/* ==================================== 
about ここから
==================================== */
.about__inner{
    padding-top: 120px;
}
@media only screen and (max-width: 767px) {
    .about__inner{
        padding-top: 80;
    }
}
.about__title{
    font-size: 4rem;
    text-align: center;
    position: relative;
    color: #004797;
    font-weight: 700;
}
@media only screen and (max-width: 767px) {
    .about__title{
        font-size: 2.4rem;
        font-weight: bold;
    }
}
.about__title:before{
    content: "";
    position: absolute;
    background: linear-gradient(90deg, #004797 0%, #87CBFF 100%);
    border-radius: 10px;
    width: 84px;
    height: 8px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -40px;
}
@media only screen and (max-width: 767px) {
    .about__title:before{
        width: 64px;
        bottom: -32px;
    }
}
.about__body-outer{
    margin-top: 88px;
    background: url(../img/about_bg.png) no-repeat center / cover;
    width: 100%;
    padding: 80px 0;
}
@media only screen and (max-width: 767px) {
    .about__body-outer{
        margin-top: 72px;
        background: url(../img/about_bg-sp.png) no-repeat center / cover;
        padding: 40px 0;
    }
}
.about__body{
    max-width: 1000px;
    margin: 0 auto;
    width: 95%;
}
@media only screen and (max-width: 767px) {
    .about__body{
        width: calc(100% - 40px);
    }
}
.about__heading{
    font-size: 7rem;
    font-family :  "游明朝体" ,  "ゆう明朝" ,ゆう明朝, "ヒラギノ明朝 Pro " , "ヒラギノ明朝 Pro" , "MS P明朝" ,  "MS PMincho " , serif;
    font-weight: 800;
    color: #fff;
    margin-bottom: 42px;
}
@media only screen and (max-width: 767px) {
    .about__heading{
        font-size: 4rem;
        font-family :  "ヒラギノ明朝 Pro" ,  "ヒラギノ明朝 Pro" ,  "MS P明朝" ,  "MS PMincho" , serif;
        margin-bottom: 40px;
    }
}
.about__heading span{
    font-size: 6rem;
}
@media only screen and (max-width: 767px) {
    .about__heading span{
        font-size: 3.5rem;
    }
}
.about__text{
    font-size: 1.8rem;
    line-height: 1.7;
    font-weight: 700;
    color: #fff;
}
.about__text + .about__text{
    margin-top: 1em;
}
/* ==================================== 
about ここまで
==================================== */

/* ==================================== 
company ここから
==================================== */
.company__inner{
    padding-top: 80px;
    margin: 0 auto 77px;
    max-width: 700px;
    width: 95%;
}
@media only screen and (max-width: 767px) {
    .company__inner{
        padding-top: 46px;
        margin: 0 auto 72px;
        width: calc(100% - 40px);
    }
}
.company__title{
    max-width: 500px;
    margin: 0 auto 40px;
    height: auto;
}
@media only screen and (max-width: 500px) {
    .company__title{
        max-width: 303px;
    }
}
.company__text{
    color: #004797;
    font-size: 1.6rem;
    line-height: 1.7;
    text-align: center;
    font-weight: 700;
}
@media only screen and (max-width: 767px) {
    .company__text{
        display: none;
    }
}
.company__list-profile{
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
    font-size: 1.4rem;
    line-height: 1.7;
}
.company__profile--left{
    width: 144px;
    padding-left: 24px;
    border-bottom: 1px solid #ECECEC;
    font-weight: 700;
    padding-bottom: 16px;
    padding-top: 16px;
}
@media only screen and (max-width: 767px) {
    .company__profile--left{
        width: 28.6567%;
        padding-left: 24px;
        border-bottom: 1px solid #ECECEC;
        font-weight: 700;
        padding-bottom: 16px;
        padding-top: 16px;
        color: #004797;
    }
}
.company__profile--right{
    width: 556px;
    border-bottom: 1px solid #ECECEC;
    padding-bottom: 16px;
    padding-top: 16px;
    font-weight: 500;
}
@media only screen and (max-width: 767px) {
    .company__profile--right{
        width: 71.3433%;
    }
}
.company__profile--left-last, .company__profile--right-last{
    border-bottom: none;
}
.company__bg-position{
    margin-top: 40px;
    background: #F7F7F7;
    width: 100%;
    padding: 40px;
}
@media only screen and (max-width: 767px) {
    .company__bg-position{
        margin-top: 8px;
        padding: 24px 16px;
    }
}
.company__title-position{
    font-size: 1.6rem;
    font-weight: 700;
    text-align: center;
    padding-bottom: 40px;
    border-bottom: 1px solid #ECECEC;
}
@media only screen and (max-width: 767px) {
    .company__title-position{
        font-weight: bold;
        padding-bottom: 24px;
        line-height: 1.7;
    }
}
@media only screen and (max-width: 375px) {
    .company__title-position .sp{
        display: none;
    }
}
.company__list-position{
    margin-top: 40px;
    display: flex;
    flex-wrap: wrap;
}
@media only screen and (max-width: 767px) {
    .company__list-position{
        margin-top: 24px;
    }
}
.company__item-position{
    display: flex;
    margin-bottom: 24px;
}
.company__list-position .company__item-position:nth-of-type(odd){
    margin-right: 24px;
}
.company__list-position .company__item-position:last-child{
    margin-bottom: 0;
}
.company__item-position--left{
    min-width: 76px;
    width: 76px;
    height: auto;
    margin-right: 24px;
}
.company__item-position--right{
    width: 198px;
}
@media only screen and (max-width: 767px) {
    .company__item-position--right{
        width: 100%;
    }
}
@media only screen and (max-width: 375px) {
    .company__item-position--right{
        width: 150px;
    }
}
.company__item-position--right-title{
    font-size: 1.6rem;
    font-weight: 700;
    margin-bottom: 24px;
}
.company__item-position--right-text{
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.3;
}
@media only screen and (max-width: 767px) {
    .company__item-position--right-text{
        font-size: 1.2rem;
        font-weight: 300;
    }
}
@media only screen and (max-width: 375px) {
    .company__item-position--right-text{
        font-size: 1rem;
    }
}
.company__list-position .company__item-position:nth-of-type(3) .company__item-position--right-text{
    letter-spacing: -0.11em;
}
/* ==================================== 
company ここまで
==================================== */

/* ==================================== 
contact-bottom ここから
==================================== */
.contact-bottom .contact__subtitle{
    margin-bottom: 16px;
}
.contact-bottom__img{
    margin-bottom: 24px;
    width: 100%;
    height: auto;
}
.contact-bottom__list{
    margin: 24px 0;
}
.contact-bottom__item{
    font-weight: 400;
    font-size: 1.6rem;
    color: #004797;
    padding-left: 24px;
    position: relative;
    padding-bottom: 12px;
    border-bottom: 1px solid #ECECEC;
    margin-top: 16px;
    line-height: 1.3;
}
.contact-bottom__list .contact-bottom__item:first-child{
    margin-top: 0;
}
.contact-bottom__item:before{
    content: "";
    position: absolute;
    background: linear-gradient(90deg, #004797 0%, #87CBFF 100%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    left: 0;
    top: 4px;
}
/* ==================================== 
contact-bottom ここまで
==================================== */

/* ==================================== 
footer ここから
==================================== */
.footer__inner{
    width: 100%;
}
.footer__pagetop{
    width: 100%;
    height: 56px;
    background: #fff;
    display: grid;
    place-items: center;
}
.footer__pagetop-arrow{
    width: 21.33px;
    height: 12.66px;
}
.footer__copyright{
    background: linear-gradient(90deg, #004797 0%, #87CBFF 100%);
    height: 46px;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 1.4rem;
    font-family: 'Outfit', sans-serif;
    font-weight: 400;
}
/* ==================================== 
footer ここまで
==================================== */