@charset "utf-8";
/* Do not change --------------------------------------------------------- */
:root {
    --main-color: #04447c;
    --sub1-color: #2f2f2f;
    --sub2-color: #fffefa;
    --sub3-color: #eb421f;
    --sub4-color: #666666;
    --sub5-color: #ffffff;
    --sub6-color: #888888;
    --sub7-color: #eeeeee;
    --sub8-color: #f67a00; 
    --yellow-gold: #f6ad00;
    --sub10-color: #b8d8e0;
    --sub11-color: #4b4b4b;
    --sub12-color: #545455;
    --ttl_mod_h2_span: #878787;
    --mesage-bg:#f3f9fe;
    --main-gap: 60px;
    --sub-gap: calc(var(--main-gap) / 2);
}

@media (min-width: 751px) {
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }

}

.main {
    border: 8px solid var(--main-color);
    border-bottom: 0;
    color: var(--sub4-color);
    background: var(--sub5-color);
    padding: 0 30px 50px;
}

section{
    margin-bottom: 75px;
}

section.sec_mv {
    margin-top: 120px;
}

.inner {
    width: 94.93%;
    max-width: 1200px;
    margin: 0 auto;
}

.sec_contact .inner,
.sec_sns .inner{
    width: 90%;
    max-width: 890px;
    margin: 0 auto;
}

/*mv_img_mod*/
.mv_img_mod{
    width: 100%;    
    position: relative;
}

.mv_img_mod img{
    -webkit-border-radius: 10px;
            border-radius: 10px;
    width: 100%;
    height: auto;
}

.mv_img_mod .top_mv_nurse {
    position: absolute;
    font-family: RyoGothicPlusN-Regular;
    width: 118px;
    font-size: 60px;
    right: 10px;
    top: 10px;
    color: var(--sub5-color);
    text-shadow: -1px 1px 10px rgb(0 0 0 / 50%);
    writing-mode: vertical-rl;
}

#staff04 .mv_img_mod .top_mv_nurse{
    font-size: 70px;
}

#staff04 .mv_img_mod .top_mv_nurse.txt_mv02{
    color: var(--sub5-color);
    right: 100px;
}

.mv_img_mod p.txt_mv_mod {
    font-size: 66.75px;
    font-weight: 400;
    font-family: "futura-pt", sans-serif;
    text-transform: uppercase;
    color: var(--sub5-color);
    bottom: -44px;
    left: 5px;
    position: absolute;
}

/*ttl_common*/
h2.ttl_mod {
    width: 428px;
    position: relative;
    font-size: 20px;
    line-height: 1;
    text-align: center;
    margin: 0 auto 50px;
    color: var(--main-color);
    font-weight: 500;
}

.sec_sns .inner h2.ttl_mod {
    width:  660px;
}

h2.ttl_mod:before,
h2.ttl_mod:after {
    content: "";
    position: absolute;
    height: 2px;
    border-bottom: 2px solid var(--main-color);
    top: 50%;
    left: auto;
    right: 0;
    width: 110px;
    margin: 0 auto;
}

h2.ttl_mod:after {
    right: auto;
    left: 0;
}

h2.ttl_mod span {
    display: block;
    font-size: 14px;
    padding-top: 10px;
    letter-spacing: 2px;
    color: var(--ttl_mod_h2_span);
    font-family: "futura-pt", sans-serif;
    font-weight: 400;
    text-transform: uppercase;
}

h2.ttl_mv_mod{
    width: 12%;
    min-width: 200px;
    min-height: 200px;
    height: auto;
    border: 4px solid var(--main-color);
    margin: -55px auto 22px;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    position: relative;
    text-align: center;
}

h2.ttl_mv_mod span{
    display: inline-block;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    color: var(--sub4-color);
    position: absolute;
    top: 50%;
    left: 50%;
    margin: 0;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    -ms-transform: translate(-50%,-50%);
    -o-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}

h3.ttl_mod {
    color: var(--sub4-color);
    text-align: center;
    font-size: 16px;
    font-weight: normal;
    line-height: 1.5;
    margin-bottom: var(--sub-gap);
}

h3.ttl_mod02{
    font-size: 26px;
    color: var(--sub4-color);
    font-weight: 500;
    text-align: center;
    margin-bottom: var(--sub-gap);
}


a.btn_link,
.txt_link_mod{
    font-size: 18px;
    color: var(--sub4-color);
}

a,
a.txt_link_mod{
    font-size: 14px;
    color: var(--main-color);
    font-weight: 500;
    display: inline-block;
}

a:hover {
    opacity: .8;
}

p,
.txt_usual{
    font-size: 14px;
    line-height: 2;
    color: var(--sub1-color);
    font-family: RyoGothicPlusN-Regular, sans-serif;
    font-weight: 400;
}

.txt_usual{
    margin-bottom: var(--sub-gap);
}

/*ttl_common*/
.btn_group {
    width: 1000px;
    justify-content: space-between;
    margin: 0 auto;
}

.btn_link {
    width: 50%;
    max-width: 430px;
    display: inline-block;
    padding: 18px 30px;
    border-radius: 50px;
    border: 2px solid var(--main-color);
    text-align: center;
    -webkit-transition: all .3s;
    transition: all .3s;
}

.sec_contact .btn_link.btn_appform,
.sec_contact .btn_link.btn_tour{
    max-width: 282px;
    padding: 10px 30px;
}

.sec_contact .btn_link.btn_appform span,
.sec_contact .btn_link.btn_tour span{
    color: var(--sub5-color);
}

.sec_contact .btn_link.btn_appform{
    margin: 0 25px 0 0;
    text-align: center;
}

.sec_contact .btn_link.btn_tour{
    border: 2px solid var(--yellow-gold);
    text-align: center;
}

.btn_link.btn_sns{
    text-align: center;
    margin-right: 25px;
}

.list_sns .btn_link.btn_sns:last-child{
    margin-right: 0;
}

.btn_link span {
    font-size: 18px;
    color: var(--sub4-color);
    position: relative;
    left: 15px;
}

.btn_link span:before {
    content: "";
    position: absolute;
    width: 18px;
    height: 18px;
    background: url('../images/common/icon_arrow.png') center no-repeat;
    background-size: cover;
    left: -30px;
    top: 50%;
    transform: translateY(-50%);
}

.btn_link.btn_sns span:before {
    content: "";
    position: absolute;
    width: 42px;
    height: 42px;
    left: -50px;
    top: 50%;
    transform: translateY(-50%);
}

.btn_link.btn_sns.fb span:before{
    background: url('../images/common/icon_facebook.png') center no-repeat;
    background-size: cover;
}

.btn_link.btn_sns.insta span:before{
    background: url('../images/common/icon_instagram.png') center no-repeat;
    background-size: cover;
}

.btn_link:hover,
.btn_link.btn_sns:hover{
    background: var(--main-color);
}

.sec_contact .btn_link.btn_appform:hover{
    background: var(--sub5-color);
    border: 2px solid var(--main-color);
}

.sec_contact .btn_link.btn_appform:hover span{
    color: var(--main-color);
}

.sec_contact .btn_link.btn_tour:hover{
    background: var(--sub5-color);
    border: 2px solid var(--yellow-gold);
}

.sec_contact .btn_link.btn_tour:hover span{
    color: var(--yellow-gold);
}

.sec_contact .btn_link.btn_tour{
    max-width: 282px;
    padding: 10px 30px;
}

.btn_link:hover span,
.btn_link.btn_sns:hover span {
    color: var(--sub5-color);
}

.btn_link:hover span:before {
    background: url('../images/common/icon_arrow_on.png') center no-repeat;
    background-size: cover;
}

.btn_link.btn_sns.fb:hover span:before {
    background: url('../images/common/icon_facebook.png') center no-repeat ;
    background-size: cover;    
}

.btn_link.btn_sns.insta:hover span:before {
    background: url('../images/common/icon_instagram.png') center no-repeat ;
    background-size: cover;    
}

.sec_contact .btn_link.btn_appform span:before{
    background: url('../images/common/icon_arrow_blue.png') center no-repeat;
    background-size: cover;
}

.sec_contact .btn_link.btn_tour span:before{
    background: url('../images/common/icon_arrow_on.png') center no-repeat;
    background-size: cover;
}

.sec_contact .btn_link.btn_appform:hover span:before{
    background: url('../images/common/icon_arrow_blue_on.png') center no-repeat;
    background-size: cover;
}

.sec_contact .btn_link.btn_tour:hover span:before{
    background: url('../images/common/icon_arrow.png') center no-repeat;
    background-size: cover;
}
/*button*/

/*voice_list*/
.sec_voice .ttl_mod {
    margin-bottom: 25px;
}

.voice_list {
    justify-content: center;
}

.voice_list a {
    display: inline-block;
    width: 23.8%;
    margin: 0 1.124% 1.124% 0;
}

.voice_list a:nth-child(3n+4) {
    margin-right: 0;
}
/*voice_list*/

/*sec_contact*/
.sec_contact {
    width: 100%;
    text-align: center;
}

.ttl_contact {
    font-size: 52px;
    color: var(--sub4-color);
    margin-bottom: 20px;
    letter-spacing: 4px;
    font-family: "futura-pt", sans-serif;
}

.txt_contact {
    color: var(--sub4-color);
    margin-bottom: 40px;
    font-size: 18px;
    letter-spacing: 0;
    line-height: 1.8;
    font-weight: 500;
}

.contact_list li {
    width: 32.584%;
    position: relative;
    margin-right: 1.124%;
}

.contact_list li:last-child {
    margin-right: 0;
}

.contact_list .btn_link {
    position: absolute;
    z-index: 2;
    left: 50%;
    background: var(--sub5-color);
    transform: translateX(-50%);
    bottom: 60px;
    width: 214px;
    padding: 14px;
    border: 2px solid var(--main-color);
}

.contact_list .btn_link:hover {
    background: var(--main-color);
    opacity: 1;
}

.contact_list .btn_link:hover span {
    color: var(--sub5-color);
}

.contact_list .btn_link span {
    font-size: 18px;
    color: var(--sub4-color);
}

.contact_list .txt_note {
    width: max-content;
    position: absolute;
    font-size: 14px;
    color: var(--sub5-color);
    z-index: 2;
    bottom: 35px;
    left: 50%;
    transform: translateX(-50%);
    text-shadow: 0 0 20px rgba(0, 0, 0, .8), 0 0 15px rgba(0, 0, 0, .8), 0 0 15px rgba(0, 0, 0, .8), 0 0 20px rgba(0, 0, 0, .8), 0 0 35px rgba(0, 0, 0, .8), 3px 2px 10px rgba(0, 0, 0, .5);
}
/*sec_contact*/
.list_sns,
.list_contact {
    -webkit-justify-content: center;
            justify-content: center;
}

.mod_wrap{
    margin-bottom: 130px;
    border: 13px solid var(--sub10-color);
    position: relative;
    min-height: 550px;
}

.mod_wrap:last-child{
    margin-bottom: 0;
}

.mod_wrap.rgt_box{
    text-align: right;
}

.mod_wrap.lft_box{
    text-align: left;
}

.mod_wrap label.txt_type{
    position: absolute;
    font-size: 108px;
    color: var(--sub10-color);
    -webkit-transform: rotate(-90deg);
    -moz-transform: rotate(-90deg);
    -ms-transform: rotate(-90deg);
    -o-transform: rotate(-90deg);   
    width: 100%;
    top: 0; 
    font-family: "futura-pt-light", sans-serif;
}

.mod_wrap.rgt_box label.txt_type{
    text-align: right;
    right: 90px;
    transform-origin: 100% 0;
}

.mod_wrap.lft_box label.txt_type,
.mod_wrap.full_box label.txt_type{
    top: 32%;
    left: 90px;
    text-align: left;   
    transform-origin: 0 100%;
}

.mod_wrap .img_box{
    width: 53.38%;
    max-width: 624px;
    display: inline-block;
    position: absolute;
    top: 42%;
    margin: 0;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
}

.mod_wrap.full_box .img_box{
    width: 93%;
    max-width: 100%;
    position: relative;
    text-align: center;
    top: auto;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    transform: translateX(-50%);
    margin-bottom: 50px;
}

.mod_wrap .img_box.center{
    top: 50%;
}

.mod_wrap.rgt_box .img_box{
    left: -40px;
}

.mod_wrap.lft_box .img_box{
    right: -40px;
}

.detail_box{
    width: 56%;
    height: auto;
    position: relative;
    z-index: 2;
    display: inline-block;
    text-align: center;
}

.detail_box .ttl_mod_detail{
    width: 31.2%;   
    min-height: 190px;
    height: auto;
    border: 3px solid var(--main-color);
    margin: -40px auto 22px;
    -webkit-align-items: center;
            align-items: center;
    -webkit-justify-content: center;
            justify-content: center;
}

.detail_box .ttl_mod_detail span{
    font-size: 20px;
    line-height: 1.2;
    font-weight: 500;
}

.mod_wrap.lft_box .detail_box{
    padding-left: 45px;
}

.mod_wrap.full_box .detail_box{
    padding: 50px 50px 0;
    width: 100%;
}

.mod_wrap h4.ttl_mod{
    font-size: 22px;
    font-weight: 500;
    margin-bottom: 40px;
    text-align: left;
}

.mod_wrap .img_box h4.ttl_mod{
    margin-bottom: 20px;
}

.mod_wrap h5.ttl_mod{
    font-size: 16px;
    font-weight: 500;
    text-align: left;
    margin-bottom: 12px;
}

.mod_wrap.full_box .detail_box h5.ttl_mod + p{
    font-size:  14px;
    font-weight: 400;
    margin-bottom: 20px;
}

.mod_wrap p.txt_list,
.mod_wrap p.txt_notes_mod{
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 0;
    text-align: left;
}

.mod_wrap p.txt_notes_mod{
    font-size: 14px;
}


.mod_wrap .list_mod{
    font-size: 16px;
    font-weight: 400;
    text-align: left;
    margin-bottom: var(--sub-gap);
}

.mod_wrap .list_mod li{
    line-height: 1.8;
}

.detail_box p,
.mod_wrap .detail_box dl{
    text-align: left;   
    font-size: 16px;
    margin-bottom: var(--main-gap);
}

.mod_wrap.rgt_box .detail_box p,
.mod_wrap.rgt_box .detail_box dl{
    padding: 0 15px 0 100px;
}

.mod_wrap.lft_box .detail_box p,
.mod_wrap.lft_box .detail_box dl{
    padding: 0 100px 0 0;
}

.mod_wrap.full_box .detail_box p,
.mod_wrap.full_box .detail_box dl{
    padding: 0;
}

.detail_box dl dt.ttl_detail_list{
    font-size: 16px;
    color: var(--sub12-color);
    margin-bottom: 15px;
    font-weight: 500;
}

.detail_box dl dd.txt_detail_list{
    font-size: 16px;
    color: var(--sub12-color);
    margin: 0 0 30px 25px;
    line-height: 1.7;
}

@media only screen and (min-width: 768px) and (max-width: 1199px) {
    /* Do not change ---------------------------------------------------------*/
    :root {
        --main-gap: 5.004vw;
        --sub-gap: calc(var(--main-gap) / 2);
    }

    .main {
        border: 0.667vw solid var(--main-color);
        border-bottom: 0;
        padding: 0 2.34vw 4.170vw;
    }

    section{
        margin-bottom: 6.255vw;
    }

    section.sec_mv {
        margin-top: 11.008vw;
    }

    .inner {
        width: 94.93%;
        max-width: 100%;
        margin: 0 auto;
    }

    .sec_contact .inner,
    .sec_sns .inner{
        width: 74.167%;
        max-width: 890px;
        margin: 0 auto;
    }

    .sec_sns .inner{
        width: 90%;
    }

    /*mv_img_mod*/
    .mv_img_mod{
        -webkit-border-radius: 0.834vw;
                border-radius: 0.834vw;
    }

    .mv_img_mod .top_mv_nurse {
        width: 7.567vw;
        font-size: 4.8vw;
        right: 0.417vw;
        top: 0.417vw;
    }

    #staff04 .mv_img_mod .top_mv_nurse{
         font-size: 5.2vw;
    }

    #staff04 .mv_img_mod .top_mv_nurse.txt_mv02{
           right: 6vw;
    }

    .mv_img_mod p.txt_mv_mod {
        font-size: 5.567vw;
        bottom: -3.670vw;
        left: 0.417vw;
    }

    /*ttl_common*/
    h2.ttl_mod {
        width: 34.917vw;
        font-size: 1.667vw;
        margin: 0 auto 3vw;
    }

    h2.ttl_mod:before,
    h2.ttl_mod:after {
        width: 9.167vw;
    }

    h2.ttl_mod:after {
        right: auto;
        left: 0;
    }

    h2.ttl_mod span {
        font-size: 1.167vw;
        padding-top: 0.833vw;
        letter-spacing: 0.167vw;
    }

    h2.ttl_mv_mod{
        min-width: 16.681vw;
        min-height: 16.681vw;
        border: 0.334vw solid var(--main-color);
        margin: -4.587vw auto 1.835vw;
    }

    h2.ttl_mv_mod span{
        font-size: 1.668vw;
    }

    .sec_sns .inner h2.ttl_mod {
        width: 54.56vw;
    }


    h3.ttl_mod {
        margin-bottom: 2.917vw;
        font-size: 1.500vw;
    }

    h3.ttl_mod02 {
        font-size: 2.168vw;
    }

    a.btn_link,
    .txt_link_mod{
        font-size: 1.500vw;
    }

    a,
    a.txt_link_mod{
        font-size: 1.168vw;
    }

    a:hover {
        opacity: .8;
    }

    p,
    .txt_usual{
        font-size: 1.168vw;
    }

    /*ttl_common*/
    .btn_group {
        width: 83.333vw;
    }

    .btn_link {
        width: 50%;
        max-width: 40vw;
        padding: 1.917vw 5.667vw;
        border-radius: 4.167vw;
    }

    .btn_link.btn_sns{
        width: 48.2%;
        padding: 1.917vw 1.917vw 1.917vw 4.667vw;
        margin-right: 2.085vw;
    }

    .btn_link span {
        font-size: 1.668vw;
        left: 1.251vw;
    }

    .btn_link span:before {
        width: 1.500vw;
        height: 1.500vw;
        left: -2.500vw;
    }

    .btn_link.btn_sns span:before {
        width: 3.503vw;
        height: 3.503vw;
        left: -4.170vw;
    }

    .sec_contact .btn_link.btn_appform,
    .sec_contact .btn_link.btn_tour{
        max-width: 22.03vw;
        padding: 0.78vw 2.34vw;
    }

    /*button*/

    /*voice_list*/
    .sec_voice .ttl_mod {
        margin-bottom: 2.085vw;
    }
    /*voice_list*/

    /*sec_contact*/

    .ttl_contact {
        font-size: 4.337vw;
        margin-bottom: 1.668vw;
        letter-spacing: 0.334vw;
    }

    .txt_contact {
        margin-bottom: 5.004vw;
        font-size: 1.501vw;
    }

    .contact_list li {
        width: 32.584%;
        margin-right: 1.124%;
    }

    .contact_list .btn_link {
        bottom: 5.004vw;
        width: 17.500vw;
        padding: 1.168vw;
    }

    .contact_list .btn_link span {
        font-size: 1.501vw;
    }
    /*sec_contact*/
    .mod_wrap{
        margin-bottom: 10.842vw;
        border:1.084vw solid var(--sub10-color);
        min-height: 45.872vw;
    }

    .mod_wrap label.txt_type{
        font-size: 9.008vw;
        top: 0; 
    }

    .mod_wrap.rgt_box label.txt_type{
        right: 6.923vw;
        transform-origin: 100% 0;
    }

    .mod_wrap.lft_box label.txt_type,
    .mod_wrap.full_box label.txt_type{
        top: 31%;
        left: 6.840vw;
        transform-origin: 0 100%;
    }

    .mod_wrap .img_box{
        width: 55.38%;
        max-width: 52.043vw;
    }

    .mod_wrap.full_box .img_box{
        margin-bottom: 4.170vw;
    }

    .mod_wrap.rgt_box .img_box{
        left: -3.336vw;
    }

    .mod_wrap.lft_box .img_box{
        right: -3.336vw;
    }

    .detail_box{
        width: 56%;
    }

    .mod_wrap.lft_box .detail_box {
        padding-left: 3.753vw;
    }

    .mod_wrap.full_box .detail_box{
        padding: 3.753vw 3.753vw 0;
    }

    .detail_box .ttl_mod_detail{
        width: 31.2%;   
        min-height: 15.847vw;
        border: 0.250vw solid var(--main-color);
        margin: -3.336vw auto 1.835vw;
    }

    .detail_box .ttl_mod_detail span{
        font-size: 1.668vw;
    }

    .detail_box p,
    .mod_wrap .detail_box dl{   
        font-size: 1.334vw;
    }

    .mod_wrap h4.ttl_mod{
        font-size: 1.835vw;
        margin-bottom: 2.336vw;
        text-align: left;
    }

    .mod_wrap .img_box h4.ttl_mod{
        margin-bottom: 1.336vw;
    }

    .mod_wrap h5.ttl_mod {
        font-size: 1.334vw;
        margin-bottom: 1.001vw;
    }

    .mod_wrap.full_box .detail_box h5.ttl_mod + p {
        font-size: 1.168vw;
        margin-bottom: 1.668vw;
    }

    .mod_wrap p.txt_list,
    .mod_wrap p.txt_notes_mod{
        font-size: 1.334vw;
    }

    .mod_wrap p.txt_notes_mod{
        font-size: 1.168vw;
    }

    .mod_wrap .list_mod{
        font-size: 1.334vw;
        margin-bottom: var(--sub-gap);
    }

    .mod_wrap.rgt_box .detail_box p,
    .mod_wrap.rgt_box .detail_box dl{
        padding: 0 1.251vw 0 8.340vw;
    }

    .mod_wrap.lft_box .detail_box p,
    .mod_wrap.lft_box .detail_box dl{
        padding: 0 8.340vw 0 0;
    }

    .mod_wrap.full_box .detail_box p,
    .mod_wrap.full_box .detail_box dl{
        padding: 0;
    }

    .detail_box dl dt.ttl_detail_list{
        font-size: 1.334vw;
        margin-bottom: 1.251vw;
    }

    .detail_box dl dd.txt_detail_list{
        font-size: 1.334vw;
        margin: 0 0 2.502vw 2.085vw;
    }
}

@media only screen and (max-width: 767px) {
    :root {
        --main-gap: .6rem;
        --sub-gap: calc(var(--main-gap) / 2);
    }

    .main {
      border: .12rem solid var(--main-color);
      padding: 0 .1rem .5rem;
      overflow: hidden;
      border-bottom: none;
    }

    section{
        margin-bottom: 1rem;
    }

    section.sec_mv {
        margin-top: 1.90rem;
    }

    .inner {
        width: 7.08rem;
        max-width: 100%;
    }

    .sec_voice .inner,
    #top .sec_eduction .inner,
    .sec_contact .inner,
    .sec_sns .inner{
        width: 100%;
        max-width: 7.08rem;
        margin: 0 auto;
    }

    /*mv_img_mod*/
    .mv_img_mod img{
        object-fit: cover;
        height: 5.3rem;
        -webkit-border-radius: .15rem;
                border-radius: .15rem;
    }

    .mv_img_mod .top_mv_nurse {
        width: .8rem;
        font-size: .58rem;
        left: .1rem;
        top: .1rem;
    }

    .mv_img_mod p.txt_mv_mod {
        font-size: .66rem;
        position: absolute;
        -webkit-transform: rotate(-90deg);
        -moz-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
        -o-transform: rotate(-90deg);
        transform-origin: 0 0;
        width: 100%;
        left: -0.4rem;
        bottom: -1.2rem;
        margin-top: 100%;
        text-align: left;
        padding-right: 0;
        word-wrap: initial;
    }

    /*ttl_common*/
    h2.ttl_mod {
        width: 71%;
        font-size: 0.36rem;
        margin: 0 auto .5rem;
    }

    h2.ttl_mod:before,
    h2.ttl_mod:after {
        height: .04rem;
        border-bottom: .04rem solid var(--main-color);
        top: 50%;
        left: auto;
        right: 0;
        width: 1rem;
        margin: 0 auto;
    }

    h2.ttl_mod:after {
        right: auto;
        left: 0;
    }

    h2.ttl_mod span {
        font-size: .28rem;
        padding-top: 0.15rem;
        letter-spacing: 2px;

    }

    h2.ttl_mv_mod{
        width: 2.8rem;
        min-width: 2.8rem;
        min-height: 2.8rem;
        border: 0.04rem solid var(--main-color);
        margin: -0.8rem auto 0.3rem;
    }

    h2.ttl_mv_mod span{
        font-size: .32rem;
    }

    h3.ttl_mod {
        font-size: 0.26rem;
        line-height: 1.7;
        margin-bottom: 0.3rem;
    }

    h3.ttl_mod02 {
        font-size: .32rem;
        color: var(--sub4-color);
        font-weight: 500;
        text-align: center;
        margin-bottom: var(--main-gap);
    }

    a.btn_link,
    .txt_link_mod{
        font-size: .22rem;
    }

    a,
    a.txt_link_mod{
        font-size: 0.26rem;
        color: var(--main-color);
        font-weight: 500;
        display: inline-block;
    }

    a:hover {
        opacity: .8;
    }

    p,
    .txt_usual{
        font-size: 0.26rem;
    }

    /*ttl_common*/

    .btn_group {
        width: 100%;
        justify-content: center;
    }

    .btn_link {
        width: 6.3rem;
        max-width: 100%;
        display: block;
        padding: 0.28rem 0.68rem;
        border-radius: 0.5rem;
    }

    .btn_link.btn_sns{
        margin-right: 0;
    }

    .btn_link span {
        font-size: .3rem;
        left: 0.2rem;
    }

    .btn_link.btn_sns span{
        left: 0.5rem;
    }

    .btn_link span:before {
        width: 0.3rem;
        height: 0.3rem;
        left: -0.4rem;
        top: 50%;
        transform: translateY(-50%);
    }

    .btn_link span:before {
        width: 0.3rem;
        height: 0.3rem;
        left: -0.4rem;
        top: 50%;
        transform: translateY(-50%);
    }

    .btn_link.btn_sns span:before{
        width: .42rem;
        height: .42rem;
        left: -.5rem;
    }

    .sec_contact .list_contact{
        max-width: 5rem;
        margin: 0 auto;
    }

    .sec_contact .btn_link.btn_appform,
    .sec_contact .btn_link.btn_tour{
        width: 100%;
        max-width: 100%;
    }

    .sec_contact .btn_link.btn_appform {
        margin: 0 0 .5rem;
    }

    /*voice_list*/
    .sec_voice .ttl_mod {
        margin-bottom: .25rem;
    }

    .voice_list a {
        width: 48%;
        margin: 0 2% 2% 0;
    }

    .voice_list a:nth-child(3n+3) {
        margin: 0 2% 2% 0;
    }
    .voice_list a:nth-child(2n+2) {
        margin-right: 0;
    }   

    /*voice_list*/
    /*sec_contact*/
    .ttl_contact {
        font-size: .62rem;
        margin-bottom: .2rem;
    }

    .txt_contact {
        margin-bottom: .35rem;
        font-size: .28rem;
    }
    
    /*sec_contact*/
    .contact_list {
        max-width: 6.5rem;
        margin: 0 auto;
    }

    .contact_list li {
        width: 100%;
        position: relative;
        margin-right: 0;
        margin: 0 0 0.25rem;
    }

    .contact_list li:last-child {
        margin: 0;
    }

    .contact_list .btn_link {
        left: 50%;
        transform: translateX(-50%);
        bottom: .25rem;
        width: 3.75rem;
        padding: 0.24rem 0.48rem;
        border: 2px solid var(--main-color);
    }

    .contact_list .btn_link span {
        font-size: .30rem;
    }

    .sec_sns .inner h2.ttl_mod {
        width: 88%;
        line-height: 1.4;
    }

    .list_sns {
        -webkit-justify-content: center;
                justify-content: center;    
    }

    .list_sns a:first-child{
        margin-bottom:  .5rem;
    }

    .mod_wrap{
        margin-bottom: .85rem;
        border: .13rem solid var(--sub10-color);
        position: relative;
        min-height: 5.50rem;
    }

    .mod_wrap.rgt_box{
        text-align: right;
    }

    .mod_wrap.lft_box{
        text-align: left;
    }

    .mod_wrap label.txt_type{
        top: -0.17rem;      
        left: 0;
        font-size: 1.00rem;
        text-align: left;
        -webkit-transform: rotate(0deg);
        -moz-transform: rotate(0deg);
        -ms-transform: rotate(0deg);
        -o-transform: rotate(0deg);
        z-index: 2;
    }

    .mod_wrap.rgt_box label.txt_type{
        text-align: left;
        right: auto;
        transform-origin: 100% 0;
    }

    .mod_wrap.lft_box label.txt_type,
    .mod_wrap.full_box label.txt_type{
        top: -0.17rem;  
        left: 0;
        text-align: left;   
        transform-origin: 100% 0;
    }

    .mod_wrap.rgt_box label.txt_type.rotate_sp,
    .mod_wrap.lft_box label.txt_type.rotate_sp,
    .mod_wrap.full_box label.txt_type.rotate_sp{
        text-transform: uppercase;
        position: absolute;
        -webkit-transform: rotate(-90deg);
        -moz-transform: rotate(-90deg);
        -ms-transform: rotate(-90deg);
        -o-transform: rotate(-90deg);
        transform-origin: 100% 0;
        font-size: 1rem;
        top: 0rem;
        left: -7rem;
        bottom: auto;
        margin-top: 0;
        text-align: right;
        padding-right: 0;
    }

    .mod_wrap .img_box{
        display: block;
        width: 5.68rem;
        margin: 0 auto;
        padding: 0.42rem 0 0;
        position: relative;
        top: 0;
        left: 0;
        -webkit-transform: translate(0);
        -moz-transform: translate(0);
        -ms-transform: translate(0);
        -o-transform: translate(0);
        transform: translate(0);
    }

    .mod_wrap.full_box .img_box,
    .mod_wrap.pattern02 .img_box{
        top: auto;
        left: auto;
        margin-bottom: .65rem;
        -webkit-transform: translate(0);
        -moz-transform: translate(0);
        -ms-transform: translate(0);
        -o-transform: translate(0);
        transform: translateX(0%);
        padding: 0;
    }

    .mod_wrap .img_box.center{
        top: 50%;
    }

    .mod_wrap.rgt_box .img_box{
        left: auto;
    }

    .mod_wrap.lft_box .img_box{
        right: auto;
    }

    .detail_box{
        width: 100%;
        height: auto;
        position: relative;
        z-index: 2;
        display: inline-block;
        text-align: center;
    }

    .mod_wrap.lft_box .detail_box{
        padding: .6rem .3rem 0;
    }

    .mod_wrap.full_box .detail_box{
        padding: .6rem .6rem 0;
    }

    .detail_box .ttl_mod_detail{
        width: 3.3rem;
        min-height: 2.4rem;
        margin: -0.5rem auto 0.3rem;
    }

    .detail_box .ttl_mod_detail span{
        font-size: .32rem;
    }

    .detail_box p,
    .mod_wrap .detail_box dl{
        font-size: .26rem;
    }

    .mod_wrap h4.ttl_mod{
        font-size: .36rem;
        margin-bottom: .2rem;
    }

    .mod_wrap .img_box h4.ttl_mod{
        margin-bottom: .2rem;
    }

    .mod_wrap h5.ttl_mod {
        font-size: .3rem;
        margin-bottom: .2rem;
    }

    .mod_wrap.full_box .detail_box h5.ttl_mod + p {
        font-size: .26rem;
        margin-bottom: .24rem;
    }

    .mod_wrap p.txt_list,
    .mod_wrap p.txt_notes_mod{
        font-size: .30rem;
    }

    .mod_wrap p.txt_notes_mod{
        font-size: .22rem;
        margin-bottom: var(--sub-gap);
        padding-left: .2rem;
        text-indent: -0.2rem;
    }


    .mod_wrap .list_mod li{
        font-size: .24rem;
    }

    .mod_wrap.rgt_box .detail_box p,
    .mod_wrap.rgt_box .detail_box dl{
        padding: 0 .3rem 0;
    }

    .mod_wrap.lft_box .detail_box p,
    .mod_wrap.lft_box .detail_box dl,
    .mod_wrap.full_box .detail_box p,
    .mod_wrap.full_box .detail_box dl{
        padding: 0;
    }

    .detail_box dl dt.ttl_detail_list{
        font-size: .26rem;
        margin-bottom: .3rem;
    }

    .detail_box dl dd.txt_detail_list{
        font-size: .26rem;
        margin: 0 0 .3rem .25rem;
    }
}