  @charset "UTF-8";

/* ----------------------------------------

- reform

---------------------------------------- */

/* .p-reformIntro
---------------------------------------- */
.p-reformIntro {
    text-align: center;
    margin-bottom: 140px;
}
.p-reformIntro h1 {
    font-size: 6rem;
    line-height: 1.25;
    color: #0f5098;
    margin-bottom: 35px;
}
.p-reformIntro__txt01 {
    font-size: 2.2rem;
    line-height: 1.84;
    margin-bottom: 60px;
}
.p-reformIntro__txt02 {
    font-size: 2.8rem;
    line-height: 1.5;
    position: relative;
    margin-bottom: 60px;
}
.p-reformIntro__txt02:before {
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #b1c8e9;
    margin: 0 auto 25px;
}
.p-reformIntro__txt02:last-of-type:after {
    content: "";
    display: block;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    background: #b1c8e9;
    margin: 40px auto 0;
}
.p-reformIntro h2 {
    font-size: 4.4rem;
    line-height: 1.48;
}
.p-reformIntro h2 span {
    display: inline-block;
    border-bottom: 4px solid #0f5098;
    margin-bottom: 5px;
}
@media screen and (max-width:960px){
    .p-reformIntro {
        text-align: center;
        margin-bottom: 80px;
    }
    .p-reformIntro h1 {
        font-size: 4.8rem;
        line-height: 1.3;
        margin-bottom: 20px;
    }
    .p-reformIntro__txt01 {
        font-size: 1.9rem;
        margin-bottom: 40px;
    }
    .p-reformIntro__txt02 {
        font-size: 2.5rem;
        margin-bottom: 40px;
        line-height: 1.5;
    }
    .p-reformIntro__txt02:before {
        width: 20px;
        height: 20px;
        margin: 0 auto 15px;
    }
    .p-reformIntro__txt02:last-of-type:after {
        width: 20px;
        height: 20px;
        margin: 25px auto 0;
    }
    .p-reformIntro h2 {
        font-size: 3.4rem;
    }
}
@media screen and (max-width:600px){
    .p-reformIntro h1 {
        font-size: 3.5rem;
    }
    .p-reformIntro__txt01 {
        font-size: 1.8rem;
    }
    .p-reformIntro__txt02 {
        font-size: 2.2rem;
    }
    .p-reformIntro h2 {
        font-size: 2.8rem;
    }
}
@media screen and (max-width:374px){
    .p-reformIntro h1 {
        font-size: 3.0rem;
    }
    .p-reformIntro h2 {
        font-size: 2.4rem;
    }
}

/* .p-reform02
---------------------------------------- */
.p-reform02__map .c-ttl04 {
    margin-bottom: -120px;
}
.p-reform02__map figure {
    margin: 0 60px 45px 20px;
}
@media screen and (max-width:960px){
    .p-reform02__map .c-ttl04 {
        margin-bottom: 15px;
    }
    .p-reform02__map figure {
        margin: 0 0 40px 0;
    }
}

/* .p-reform03
---------------------------------------- */
.p-reform03__pic {
    display: flex;
    justify-content: space-between;
}
.p-reform03__pic picture {
    max-width: 590px;
    flex-shrink: 0;
}
@media screen and (max-width:960px){
    .p-reform03__pic picture {
        max-width: inherit;
        width: calc(50% - 10px);
    }
}
@media screen and (max-width:480px){
    .p-reform03__pic {
        display: block;
    }
    .p-reform03__pic picture {
        width: 100%;
    }
    .p-reform03__pic picture:first-of-type {
        margin-bottom: 20px;
    }
}

/* ----------------------------------------

- welfare

---------------------------------------- */

/* .p-welfare01
---------------------------------------- */
.p-welfare01__ttl {
    width: 230px;
    height: 50px;
    line-height: 50px;
    color: #fff;
    font-size: 1.8rem;
    background: #222;
    text-align: center;
    margin-bottom: 30px;
}
@media screen and (max-width:960px){
    .p-welfare01__ttl {
        width: 170px;
        height: 42px;
        line-height: 42px;
        font-size: 1.6rem;
        margin-bottom: 20px;
    }
}
