@charset "utf-8";



/*
    Foundation
*/

.section_fullwidth:nth-child(2) {
    margin-top: 1em;
    margin-bottom: calc(5em - 15px);
}

.section_fullwidth:nth-child(3) {
    margin-top: calc(5em - 15px);
}

.section_fullwidth--bg_gray {
    padding: 3em 2%;
}



/*
    Modules Slides
*/

.slide .flexslider {
    padding-bottom: 40px;
}

.slide .flex-direction-nav a {
    width: 30px;
    height: 30px;
    bottom: 5px;
}



/*  Modules corona measures
*/

.corona_measures_title {
    letter-spacing: 1px;
    font-size: 1.2em;
    margin-bottom: 1em;
}

.corona_measures_body .corona_measures_description {
    font-size: 0.9em;
}

.corona_measures_body .corona_measures_list {
    margin: 1em 0;
}

.corona_measures_body .corona_measures_value_k,
.corona_measures_body .corona_measures_value_v {
    color: #666;
    font-size: 1em;
}



/*
    Modules ButtonLink / MenuLink
*/

.button_link,
.menu_link {
    margin: 1em;
    width: calc(100% - 2em);
}



/*
    Modules News
*/

/*
.news .news_one .list_one {
    min-height: 60px;
    line-height: 60px;
}
*/

.news .section_title {
    font-size: 1.5em;
}

.news .news_one {
    width: 46%;
    margin: 2%;
}

.news .news_one .datetime {
    width: 100%;
    height: 20px;
    line-height: 20px;
    text-align: left;
    padding: 0 1em;
}

.news .news_one .body {
    width: 80%;
    /*
    min-height: 60px;
    line-height: 60px;
    */
    padding: 0 0.5em;
}

.news .news_one .image {
    width: 20%;
}

.news .news_one .body.fullwidth {
    width: 100%;
}


/*  Modules Movie
*/

.movie {
    margin: auto;
    padding: 5em 0;
    overflow: hidden;
}

.movie .image1 {
    top: -30px;
    right: 0;
}

.movie .image2 {
    left: 0;
    bottom: -70px;
}



/*
    Modules Feature
*/

.feature .section_title {
    font-size: 1.5em;
}

.feature .section_body span {
    color: #666;
    font-size: 1.1em;
}



/*  Modules reason
*/

.reason .section_title {
    font-size: 1.5em;
}


.reason .reason_list_key {
    margin-top: 1em;
}

.reason .reason_list_key_number {
    font-size: 1.1em;
}

.reason .reason_list_key_body {
    font-size: 1.1em;
}

.reason .reason_list_value {
    margin-top: 0.1em;
    margin-bottom: 1em;
    margin-left: 1.5em;
}

.reason .reason_list_value .right_arrow {
    max-height: 30px;
}

.reason .reason_list_value .right_arrow.first {
    height: 29px;
}

.reason .reason_list_value span {
    font-size: 1.1em;
}

.reason .reason_list_value span.big {
    font-size: 2em;
}

.reason .reason_list_value span.big + span {
    vertical-align: -0.2em
}



/*  Modules reason satisfaction
*/

.reason_level_of_satisfaction {
    justify-content: center;
}

.reason_level_of_satisfaction_key {
    font-size: 1.1em;
}

.reason_level_of_satisfaction_value {
    font-size: 3em;
}


/*  Modules reason enquete
*/

.reason_decorate_down_arrow {
    width: 50%;
}

.reason_enquete_answer_key {
    width: 100%;
    font-size: 1.5em;
}

.reason_enquete_answer_value {
    margin: 0.2em 17%;    /* 17% : (737px - 219px) / 2 / 2 / 737px : 余白が大きすぎて2列になってしまう、左右の余白の半分をmarginで埋めれば自動改行されるはず */
    padding: 0.1em 1.2em;
    font-size: 2em;
}




/*
    Modules Checkpoint
*/

.checkpoint .section_body {
    padding: 0.5em 2%;
}

.checkpoint_key {
    margin: 0.5em 0 0.5em 2%;
}

.checkpoint_val {
    margin: 0.5em 2% 0.5em 0;
    width: 90%;
    font-size: 1.1em;
}

.checkpoint_inspection_link_box {
    position: relative;
    margin: 1em auto;
    text-align: center;
    right: auto;
    bottom: auto;
}



/*
    Modules Flow
*/

.flow .step_number {
    position: relative;
    width: 100%;
    padding: 0;
    height: auto;
    margin-bottom: 10px;
}

.step_number::after {
    top: auto;
    bottom: -20px;
    left: 0;
    right: 0;
    margin: auto;
}

.step1 .step_number::after {
    border-left: 10px transparent solid;
    border-top: 10px #ffba00 solid;
}

.step2 .step_number::after {
    border-left: 10px transparent solid;
    border-top: 10px #ff8400 solid;
}

.step3 .step_number::after {
    border-left: 10px transparent solid;
    border-top: 10px #ff7000 solid;
}

.step4 .step_number::after {
    border-left: 10px transparent solid;
    border-top: 10px #ff5e00 solid;
}

.step5 .step_number::after {
    border-left: 10px transparent solid;
    border-top: 10px #ff3800 solid;
}



.step_inner_1 {
    padding: 1em;
    padding-bottom: 2em;
}



.step_inner_text1 {
    height: 144px;
    padding-right: 100px;

    display: flex;
    justify-content: left;
    align-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.step_inner_freedial_box {
    margin-top: 0.5em;
    width: 100%;
}

.step_inner_freedial_text {
    font-size: 1.2em;
}

.step_inner_contact_box {
    width: 100%;
}

.step_inner_img_box {
    width: 120px;
    top: 0;
    bottom: auto;
}



.step_box {
    width: 48%;
}

.step_inner {
    padding: 0 0.2em 55px;
}

.step_icon {
    top: auto;
    left: 0;
    right: 0;
    bottom: 45px;
    margin: auto;
    width: 60px;
    height: 42px;
}



/*  Modules Buttons
*/

.buttons {
    margin: 3em 1em;
}

.buttons_one.estimate,
.buttons_one.contact {
    margin: 0.5em 0;
}



/*  Modules Buttons
*/

.menus .menus_one {
    width: 46%;
    margin: 2%;
}



/*  Modules Area
*/

.area {
    margin: auto;
    padding: 5em 0;
    overflow: hidden;
}

.area .area_title_box {
    width: 100%;
    text-align: center;
}

.area .area_list_box {
    margin-top: 0.5em;
    width: 100%;
}

.area .area_box {
    display: block;
    margin-left: 1em;
}

.area .area_box.etc {
    width: 100%;
}

.area .area_one {
    width: 29.334%;
}



.area .image1 {
    top: 0;
    right: 0;
}

.area .image2 {
    left: 110px;
    bottom: -50px;
}



/*  Modules Contact
*/

.contact .contact_inner {
    width: 96%;
    position: relative;
}



.contact_information_box {
    width: 100%;
}

.contact_img {
    width: 100px;
}



.contact_tel_text1 {
    width: 100%;
    max-width: 100%;
    font-size: 1.2em;
    margin-top: 0.5em;
}



.contact_txt1 {
    width: calc(96% - 120px);
}

.contact_txt2 {
    width: calc(96% - 120px);
}

.contact_tel_box {
    width: 100%;
    justify-content: center;
    text-align: center;
}

.contact_freedial_icon {
    height: 30px;
}

.contact_tel_number {
    margin: 0 1%;
    letter-spacing: -2px;
    line-height: 30px;
    font-size: 30px;
    font-weight: bold;
}



.contact_txt3 {
    width: 100%;
    text-align: center;
}



.contact_buttons {
    width: 100%;
    margin: 1em 0;
    padding: 0;
    border: none;
    text-align: center;
}



/*  iPhone 12 pro Max : iPad portrate ((428px + 768px) / 2)
*/

@media screen and (max-width: 598px) {
    /*  news
    */
    .news .section_title {
        line-height: 48px;
    }

    /*  Modules Movie
    */
    .movie {
        padding: 5em 0 7em;
    }

    .movie .image1 {
        top: 80px;
        right: -80px;
    }

    .movie .image2 {
        left: 0;
        bottom: -100px;
    }

    /*  reason
    */
    .reason_level_of_satisfaction {
        justify-content: left;
    }

    .reason_enquete_answer_value {
        margin: 0.2em;
    }

    .reason .section_title {
        font-size: 1.4em;
    }

    /*  flow
    */
    .step_inner_text1 {
        /* font-size: 1.4em; */
        line-height: 1.4em;
    }

    /*  menus
    */
    .menus .menus_one {
        width: 96%;
        margin: 2%;
    }

    /*  area
    */
    .area {
        padding: 5em 0 10em;
    }

    .area .image1 {
        top: -45px;
        right: -30px;
    }

    .area .image2 {
        left: 2%;
        bottom: -140px;
    }

    /*  contact
    */
    .contact {
        margin-top: 3em;
    }

    .contact_txt1 {
        margin-top: 0;
    }
}



/*  iPhone 6/7/8 Plus : iPhone 12 pro Max ((414px + 428px) / 2)
*/

@media screen and (max-width: 421px) {
    /*  flow
    */
    .step_inner_text1 {
        font-size: 2em;
    }
}



/*  iPhone 12/12 pro : iPhone 6/7/8 Plus ((390px + 414px) / 2)
*/

@media screen and (max-width: 402px) {
    /*  flow
    */
    .step_inner_text1 {
        font-size: 1.8em;
    }
}



/*  iPhone 6/7/8 : iPhone 12/12 pro ((375px + 390px) / 2)
*/

@media screen and (max-width: 382px) {
}



/*  iPhone SE : iPhone 6/7/8 ((320px + 375px) / 2)
*/

@media screen and (max-width: 347px) {
    /*  news
    */
    .news .section_title {
        font-size: 1.3em;
    }

    .news .section_title {
        line-height: 52px;
    }

    /*  feature
    */
    .feature .section_title {
        font-size: 1.3em;
    }

    .feature .section_body {
        line-height: 2em;
    }

    /*  reason
    */
    .reason .section_title {
        font-size: 1.3em;
    }

    .reason_level_of_satisfaction_value {
        padding: 0.2em 0 0;
    }

    .reason_enquete_answer_key {
        font-size: 1.3em;
    }

    .reason_enquete_answer_value {
        font-size: 1.6em;
    }

    /*  flow
    */
    .step_inner_text1 {
        font-size: 1.4em;
    }

    /*  area
    */
    .area .image1 {
        top: -45px;
        right: -50px;
    }

}