@charset "utf-8";
/* CSS Document */


.title p {
    position: relative;
    display: inline-block;
    font-family: 'Noto Sans JP', sans-serif;
    /*font-size: calc(100vw/50);*/
}
.title p:before {
    content: '';
    position: absolute;
    bottom: -5px;
    display: inline-block;
    width: 30px;
    height: 1px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: black;
    border-radius: 2px;
}

.title_small p {
    position: relative;
    display: inline-block;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw/70);
}
.title_small p:before {
    content: '';
    position: absolute;
    bottom: -5px;
    display: inline-block;
    width: 30px;
    height: 1px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: black;
    border-radius: 2px;
}

.mgb1{
    margin-bottom:1em;
}
.mgb2{
    margin-bottom:2em;
}
.mgb_small{
    margin-bottom:.3em;
}
h3 {
    font-size: 23px;
    font-family: 'Noto Sans JP', sans-serif;
    margin-bottom: 4%;
}
h4{
    font-weight: 200;
    font-size: calc(100vw / 80);
}


p.big2 {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 3%;
}

main img{

    vertical-align: middle;
    width: 100%;
    max-width: 100%;
}
main .top_text {
    background-color: #479996;
    color: #fff;
    text-align: center;
    padding: 15px;
    font-weight: bold;
}


section .border {
    border-top: 2px solid #eeeeee;
    padding-top: 2em;
}

section.reason p.line {
    display: inline-block;
    border-left: 2px solid #479996;
    padding-left: 1%;
}

section.reason a.bg_green {
    background-color: #479996;
    color: #fff;
    text-align: left;
    position: relative;
    padding: .5% 18% .5% 3%;
    border-radius: 2px;
}

section.reason a.bg_green i{
    position: absolute;
    top: 42%;
    left: 90%;
    font-weight: 600;
    /* border-radius: initial; */
}
@media screen and (max-width: 890px){
section.reason .flex_box{
    display: block;
}
section.reason .flex_box a{
display: block;
padding:1%;
}
section.reason .flex_box a:first-child{
    margin-bottom: 5%;
}
}
@media screen and (max-width: 720px){
section.model_plan p.mgb1{
    text-align: left;
}
section.reason{
    padding-top: 60px;
}
}

