@charset "UTF-8";
body{
    font-family: 'Noto Sans JP', sans-serif;
    border-top: solid 20px #83c157;
    color: #333;
    min-height: 100vh;
    position: relative;
    padding-bottom: 330px;
    box-sizing: border-box;
}
.serif{
    font-family: 'Noto Serif JP', serif;
}
a:hover{
    opacity: 0.7;
}
/* =============================================
ヘッダー
============================================= */
.header{
    box-shadow: 0 2px 2px rgba(124, 122, 122, 0.3);
}
.header_logo{
    max-width: 188px;
    width: 20%;
}
.header_logo img{
    width: 100%;
}
.header_top{
    display: flex;
    align-items: center;
    justify-content: space-between;
    max-width: 960px;
    margin: 15px auto 43px;
    width: 93%;
}
.header_subcopy{
    font-size: 17.6825px;
}
.header_inquirytitle{
    font-size: 20px;
    color: #fff;
    background-color: #e07676;
    text-align: center;
    min-height: 95px;
    width: 143px;
    border-radius: 5.7082px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.3em;
}
.header_inquirytitle span{
    display: none;
}
.header_inquiry_tel{
    font-weight: 700;
    font-size: 32.0762px;
    color: #e07676;
    text-align: right;    
}
.header_inquiry_tel p:nth-child(1){
    text-align: left;
}
.header_inquiry_tel p:nth-child(1) span{
    font-size: 19.8118px;
    color: #333;
}
.header_inquiry_tel p:nth-child(2){
    font-size: 29.246px;
    text-align: left;
    display: inline-block;
}
.header_inquiry_time{
    font-size: 17.1792px;
    font-weight: 500;
}
.header_inquiry_time span{
    font-size: 22.9056px;
    font-weight: 700;
}

.header_bottom{
    display: flex;
    max-width: 960px;
    margin: 0 auto;
    width: 93%;
}
.header_bottom a{
    width: 100%;
    text-align: center;
    padding-bottom: 14.5px;
}
.header_bottom a:hover,.header_bottom .active{
    border-bottom: solid 8px #f5bdc8;
    opacity: 1;
}
.header_bottom a p{
    border-left:solid 1px #b3b3b3;
    padding-top: 26px;
    padding-bottom: 23px;
}
.header_bottom a:last-child p{
    border-right:solid 1px #b3b3b3;
}
/* =============================================
フッター
============================================= */
.footer{
    width: 100%;
    height: 330px;
    background-color: #83c157;
    position: absolute;
    bottom: 0;
}
.footer_container{
    color: #fff;
    display: flex;
    padding-bottom: 10px;
    justify-content: space-between;
    max-width: 960px;
    width: 93%;
    margin: 50px auto 0;
}
.footer_left{
    max-width: 508px;
    width: 100%;
}
.footer_logo_container{
    display: flex;
    align-items: center;
    margin-bottom: 20px;
}
.footer_logo{
    margin-right: 27px;
}
.footer_subcopy{
    letter-spacing: 0.04em;
}
.footer_inquiry_container{
    display: flex;
    margin-bottom: 10px;
    justify-content: space-between;
}
.footer_inquirytitle{
    font-size: 20px;
    color: #83c157;
    background-color: #fff;
    text-align: center;
    min-height: 95px;
    width: 143px;
    border-radius: 5.7082px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.3em;
}
.footer_inquirytitle span{
    display: none;
}
.footer_inquiry_tel{
    font-weight: 700;
    font-size: 32.0762px;
    text-align: right;    
}
.footer_inquiry_tel p:nth-child(1){
    text-align: left;
}
.footer_inquiry_tel p:nth-child(1) span{
    font-size: 19.8118px;
}
.footer_inquiry_tel p:nth-child(2){
    font-size: 29.246px;
    text-align: left;
    display: inline-block;
}
.footer_inquiry_time{
    font-size: 17.1792px;
    font-weight: 500;
}
.footer_inquiry_time span{
    font-size: 22.9056px;
    font-weight: 700;
}
.footer_address{
    font-size: 19px;
    letter-spacing: 0.04em;
    margin-bottom: 30px;
}
.copyright{
    font-size: 14px;
}

.footer_right{
    display: flex;
}
.footer_right div{
    margin-right: 60px;
}
.footer_right div:last-child{
    margin-right: 0;
}
.footer_right div a{
    display: block;
    position: relative;
    padding-right: 34px;
    margin-bottom: 20px;
}
.footer_right div a p::after{
    content: url(../image/triangle.png);
    position: absolute;
    right: 0;
    bottom: 0;
}

/* =============================================
共通パーツ
============================================= */
/* タイトル */
.section_title{
    font-size: 32px;
    font-weight: 600;
    position:relative;
    margin-bottom: 25px;
    text-align: center;
}
.section_title::after{
    content:"";
    display:block;
    width:75px;
    height:5px;
    background-color:#f5bdc8;
    position:absolute;
    bottom:-25px;
    left:50%;
    transform: translate(-50%,0);
}

/* タイトル2 */
.sub_section_title{
    width: 100%;
    overflow: hidden
}
.sub_section_title h2{
    font-size: 32px;
    font-weight: 600;
    color: #fff;
    background-color: #eaa2a2;
    text-align: center;
    width: fit-content;
    margin: 0 auto;
    border-radius: 9999px;
    padding: 10px 55px;
    position: relative;

    max-width: 90%;
}
.sub_section_title h2::after{
    content:"";
    display:block;
    width: 100vw;
    height: 1px;
    background-color: #eaa2a2;
    position: absolute;
    bottom:50%;
    left:50%;
    transform: translate(-50%,-50%);
    z-index: -1;
}

/* ページ下 お問い合わせ */
.bottom_inquiry{
    max-width: 960px;
    width: 93%;
    margin: 0 auto;
}
.bottom_inquiry_catchcopy{
    font-size: 32px;
    font-weight: 600;
    border-bottom: solid 1px #b3b3b3;
    text-align: center;
    padding-bottom: 29px;
}
.bottom_inquiry_bottom{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 30px 0 54px;
}
.bottom_inquiry_logo{
    max-width: 210px;
    width: 22%;
}
.bottom_inquiry_logo img{
    width: 100%;
}
.bottom_inquirytitle{
    font-size: 20px;
    color: #fff;
    background-color: #e07676;
    text-align: center;
    min-height: 85px;
    width: 155px;
    border-radius: 5.7082px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1.3em;
}
.bottom_inquiry_tel p:first-child{
    font-weight: 700;
    font-size: 31.4126px;
    color: #e07676; 
}
.bottom_inquiry_tel p:first-child span:first-of-type{
    font-size: 19.4019px;
    color: #333;
}
.bottom_inquiry_tel p:first-child span:nth-of-type(2){
    color: #333;
    margin: 0 5px;
}
.bottom_inquiry_time{
    font-size: 15.6854px;
    font-weight: 500;
}
.bottom_inquiry_time span:nth-of-type(1){
    font-size: 20.9139px;
    font-weight: 700; 
}
.bottom_inquiry_time span:nth-of-type(2){
    font-size: 17px;
}
.sp_bottom_inquiry{
    display: none;
}
/* sp br */
.sp_br{
    display: none;
}
/* sp メインビジュアル */
.sp_mainvisual{
    display: none;
}
/* =============================================
トップページ
============================================= */
/* スライダー */
.slider img{
    width: 100%;
}
/* 対応エリア */
.area{
    max-width: 960px;
    margin: 0 auto 40px;
    width: 90%;
    padding-top: 119px;
}
.area_copy{
    text-align: center;
    margin-bottom: 120px;
}
.area_catchcopy{
    font-size: 45.9112px;
    font-weight: 500;
    margin:87px 0 41px;
}
.area_catchcopy span:nth-of-type(2){
    color: #eaa2a2;
    font-weight: 600;
    line-height: 1.2em;
    font-size: 195.8873px;
}
.area_catchcopy span:nth-of-type(3){
    color: #eaa2a2;
    font-weight: 600;
    font-size: 62.795px;
}
.area_bodycopy{
    font-size: 23px;
    font-weight: 600;
    line-height: 2em;
}

.area_map{
    display: flex;
    justify-content: space-between;
}
.area_map_image{
    margin-top: 15px;
}
.area_map_text{
    max-width: 433px;
}
.area_map_text li{
    border-bottom: solid 1px #b3b3b3;
    padding: 30px 9px 30px 12px;
}
.area_map_text li:first-child{
    padding-top: 0;
}
.area_map_text li:last-child{
    border-bottom: none;
}
.area_map_text li p{
    padding-left: 27px;
    word-break: keep-all;
}
.area_map_text li p:first-child{
    font-size: 26px;
    font-weight: 600;
    position: relative;
    margin-bottom: 25px;
}
.area_map_text li p:first-child::before{
    content:"";
    display:block;
    position: absolute;
    height: 22.8809px;
    width: 22.8809px;
    border-radius: 50%;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
}
.area_map_text li:nth-child(1) p:first-child::before{
    background-color: #83c157;
}
.area_map_text li:nth-child(2) p:first-child::before{
    background-color: #eaa2a2;
}
.area_map_text li:nth-child(3) p:first-child::before{
    background-color: #bac7e3;
}
.area_map_text li:not(:last-child) p:last-child{
    max-width: 300px;
}
.area_map_text li:not(:last-child) p:nth-child(2){
    line-height: 1.5em;
    margin-bottom: 8px;
}
.area_map_text li p:last-child{
    line-height: 2em;
}
/* 認定資格・許可証 */
.certification{
    background-color: #f3f9ee;
    padding: 60px 0;
}
.certification_container{
    margin: 0 auto;
    max-width: 745px;
    width: 90%;
}
.certification_content{
    display: flex;
    justify-content: space-between;
    margin-top: 77px;
}
.certification_content > div{
    text-align: center;
}
.certification_content_image{
    height: 361px;
    display: flex;
    align-items: center;
    margin-bottom: 40px;
}
.certification_content > div p{
    color: #7b684a;
    font-size: 20px;
    font-weight: 600;
    line-height: 2em;
}
.certification_content > div p span{
    font-size: 25px;
}

/* 会社概要 */
.profile{
    padding-top: 133px;
    margin-bottom: 135px;
}
.profile_container{
    max-width: 960px;
    width: 90%;
    margin: 0 auto 106px;
}
.profile table{
    font-size: 20px;
    width: 100%;
    margin-top: 94px;
}
.profile table tr{
    border-bottom: solid 1px #e6e6e6;
    height: 112px;
}
.profile table tr td{
    vertical-align:middle;
}
.profile table tr td:first-child{
    width: 27%;
}
.profile table tr:first-child td:nth-child(2){
    width: 26%;
}
.profile table tr td img{
    width: 140px;
}

/* ごあいさつ */
.greeting_container{
    max-width: 960px;
    width: 90%;
    margin: 97px auto 0;
}
.greeting_container_text{
    line-height: 2em;
    margin-bottom: 85px;
}
.greeting_container_name{
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
.greeting_container_name img{
    width: 136px;
    margin-right: 45px;
}
.greeting_container_name p{
    font-size: 31px;
    font-weight: 600;
}
.greeting_container_name p span{
    font-size: 70%;
}

/* =============================================
サービス・料金
============================================= */
.service{
    margin: 127px 0 150px;
}
/* サービス */
.service_container{
    margin: 55px 0 45px;
}
.service_container li{
    padding: 64px 0 55px;
}
.service_container li:nth-child(odd){
    background-color: #f3f9ee;
}
.service_content{
    display: flex;
    justify-content: space-between;
    max-width: 786px;
    width: 90%;
    margin: 0 auto;
    font-size: 19px;
    font-weight: 600;
}
.service_content_text{
    width: 44%;
}
.service_content_text p:first-child{
    font-size: 30px;
    position: relative;
    padding-left: 30px;
    margin-bottom: 26px;
}
.service_content_text p:first-child::before{
    background-color: #83c157;
    font-size: 30px;
    content:"";
    display:block;
    position: absolute;
    height: 26.3994px;
    width: 26.3994px;
    border-radius: 50%;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
}
.service_content_text p:not(:first-child){
    padding-left: 5px;
    line-height: 1.5em;
}
.service_content_text p:not(:first-child,:last-child){
    margin-bottom: 30px;
}
.service_content_text p:nth-child(3){
    font-size: 20px;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: 400;
    word-break: keep-all;
}

/* 料金の目安 */
.fee_container{
    max-width: 960px;
    width: 90%;
    margin: 55px auto 0;
}
.fee_firsttext{
    font-size: 21px;
    text-align: center;
    line-height: 2em;
    margin-bottom: 58px;
}
.fee_firsttext span:nth-of-type(1){
    font-size: 25px;
    font-weight: 700;
}

.fee table{
    width: 100%;
    margin-bottom: 40px;
}
.fee table th,.fee table td{
    border: solid 1px #333;
    text-align: center;
    height: 50px;
    vertical-align: middle;
    width: calc(100%/4);
}
.fee table th{
    background: #83c157;
    color: #fff;
    font-size: 22px;
    font-weight: 500;
    border-bottom: solid 1px #b3b3b3;
}
.fee table td{
    font-size: 17px;
}
.fee_annotation{
    line-height: 2em;
}

/* =============================================
お約束
============================================= */
.promise_container{
    max-width: 960px;
    width: 90%;
    margin: 96px auto 110px;
}
.promise_mainvisual img{
    width: 100%;
}
.promise_catchcopy{
    text-align: center;
    font-size: 36px;
    font-weight: 500;
    margin: 30px 0 82px;
}
.promise_catchcopy span{
    font-size: 114.9266px;
    font-weight: 600;
    color: #eaa2a2;
}
.promise_catchcopy span span{
    font-size: 60%;
}

.profile_contents{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 auto;
}
.profile_contents li{
    width: 237px;
    text-align: center;
    margin: 0 30px 30px;
}
.profile_content_title{
    font-size: 28px;
    font-weight: 500;
    margin: 30px 0;
}
.profile_content_text{
    text-align: left;
    display: inline-block;
    font-size: 16px;
    line-height: 1.5em;
}

/* =============================================
スマホ対応
============================================= */
@media screen and (max-width: 959px) {
	body{
        /* min-width: 320px; */
        border-top: solid 10px #83c157;
        padding-bottom: 0;
        position: static;
    }

    /* =============================================
    ヘッダー
    ============================================= */
    .header{
        position: relative;
        overflow: hidden;
        box-shadow: none;
    }
    .header_top{
        flex-flow: column;
        margin: 22px auto 18px;
        width: 90%;
    }
    .header_logo{
        order: -1;
        width: 52%;
        margin-bottom: 20px;
    }
    .header_subcopy{
        order: -2;
        margin-bottom: 17px;
    }
    .header_inquirytitle{
        width: 100%;
        min-height: 40px;
        margin-bottom: 7px;
    }
    .header_inquirytitle span{
        display: inline;
    }
    .header_inquirytitle br{
        display: none;
    }
    .header_mail_icon{
        display: none;
    }

    .header_bottom{
        flex-wrap: wrap;
        border-bottom: solid 1px #b3b3b3;
        width: 100%;
    }
    .header_bottom a{
        width: 50%;
        border-top: solid 1px #b3b3b3;
        padding-bottom: 0;
    }
    .header_bottom a p{
        padding: 15px 0;
    }
    .header_bottom a:nth-child(odd){
        width: 50%;
        border-right: solid 1px #b3b3b3;
    }
    .header_bottom a:hover,.header_bottom .active{
        border-bottom: none;
        opacity: 1;
    }
    .header_bottom a p{
        border: none;
    }
    .header_bottom a:last-child p{
        border: none;
    }
    .header_bottom a p:hover{
        opacity: 0.7;
    }

    /* =============================================
    フッター
    ============================================= */
    .footer{
        position: static;
        height: auto;
    }
    .footer_container{
        flex-flow: column-reverse;
        width: 100%;
        margin-top: 0;
    }
    .footer_left{
        max-width: 90%;
        margin: 0 auto;
        display: flex;
        flex-flow: column;
    }
    .footer_logo_container{
        flex-flow: column;
        order: -2;
    }
    .footer_logo{
        margin: 0 auto 19px;
    }
    .footer_mail_icon{
        display: none;
    }
    .footer_inquirytitle{
        width: 100%;
        min-height: 40px;
        margin-bottom: 7px;
    }
    .footer_inquirytitle br{
        display: none;
    }
    .footer_inquirytitle span{
        display: inline;
    }
    .footer_inquiry{
        max-width: 255.41px;
        margin: 0 auto;
    }
    .footer_inquiry_container{
        flex-flow: column;
        margin-bottom: 35px;
    }
    .footer_address{
        order: -1;
        line-height: 1.5em;
        margin: 0 auto 18px;
    }

    .footer_right{
        flex-flow: column;
        width: 100%;
        margin-bottom: 43px;
    }
    .footer_right div{
        margin-right: 0;
    }
    .footer_right div a{
        padding: 0;
        border-bottom: solid 1px #fff;
        text-align: center;
        position: static;
        margin-bottom: 0;
        padding: 12px 0;
    }
    .footer_right div a:hover{
        opacity: 1;
    }
    .footer_right div a:hover p{
        opacity: 0.7;
    }
    .footer_right div a p{
        width: 90%;
        position: relative;
        display: inline-block;
        text-align: left;
    }
    .copyright{
        font-size: 12px;
        margin: 0 auto;
    }
    
    /* =============================================
    共通パーツ
    ============================================= */
    /* sp br */
    .sp_br{
        display: inline;
    }
    /* sp メインビジュアル */
    .sp_mainvisual{
        display: block;
        margin: 0 calc(50% - 50vw) 13px;
        width: 100vw;
    }
    /* ページ下 お問い合わせ */
    .bottom_inquiry{
        width: 90%;
    }
    .bottom_inquiry_catchcopy{
        line-height: 1.5em;
	    word-break: keep-all;
        overflow-wrap: break-word;
    }
    .bottom_inquiry_bottom{
        display: none;
    }
    .sp_bottom_inquiry{
        display: flex;
        width: 100%;
        margin: 30px 0 54px;
    }
    .sp_bottom_inquiry_mail{
        font-size: 16px;
        font-weight: 500;
        line-height: 2em;
    }
    /* =============================================
    トップページ
    ============================================= */
    .pc_slider{
        display: none;
    }
    .area{
        padding-top: 50px;
    }
    /* 対応エリア */
    .area_copy{
        margin-bottom: 15px;
    }
    .area_catchcopy{
        font-size: 35px;
        margin: 65px 0 10px;
    }
    .area_catchcopy span:nth-of-type(1){
        font-size: 80%;
    }
    .area_catchcopy span:nth-of-type(2){
        line-height: 1em;
    }
    .area_bodycopy{
        font-size: 18px;
        text-align: left;
        display: inline-block;
    }
    .area_map{
        display: block;
    }
    .area_map_image{
        margin: 0 auto 39px;
        max-width: 520px;
    }
    .area_map_image img{
        width: 100%;
    }
    .area_map_text{
        max-width: 100%;
        margin: 0 auto;
    }
    .area_map_text li{
        padding-right: 0;
    }
    .area_map_text li:not(:last-child) p:last-child{
        max-width: 100%;
    }
    /* 認定資格・許可証 */
    .certification{
        padding: 40px 0 30px;
    }
    .certification_content{
        display: block;
        margin-top: 65px;
    }
    .certification_content_image{
        height: auto;
        margin: 0 auto 5px;
    }
    .certification_content > div{
        margin-bottom: 40px;
    }
    .certification_content div:nth-child(1) .certification_content_image{
        max-width: 266px;
    }
    .certification_content div:nth-child(2) .certification_content_image{
        max-width: 360px;
    }
    .certification_content_image img{
        width: 100%;
    }
    /* 会社概要 */
    .profile{
        padding-top: 50px;
        margin-bottom: 65px;
    }
    .profile_container{
        width: 100%;
        margin-bottom: 30px;
    }
    .profile table{
        margin-top: 90px;
    }
    .profile table tr{
        border-bottom: none;
    }
    .profile table tr td{
        width: 90%;
        display: block;
        margin: 0 auto 10px;
        line-height: 2em;
    }
    .profile table tr td:first-child{
        width: 100%;
        border-bottom: 1px solid #e6e6e6;
    }
    .profile table tr td:last-child{
        margin-bottom: 30px;
    }
    .profile table tr:first-child td:nth-child(2){
        width: 90%;
    }
    .profile table tr td p{
        width: 90%;
        margin: 0 auto;
    }
    /* ごあいさつ */
    .greeting_container{
        margin-top: 30px;
    }
    .greeting_container_text{
        margin-bottom: 45px;
    }
    .greeting_container_name{
        display: block;
        text-align: center;
    }
    .greeting_container_name img{
        margin: 0 0 20px;
    }

    /* =============================================
    サービス・料金
    ============================================= */
    .service{
        margin-top: 50px;
    }
    .service_content{
        display: block;
        max-width: 346px;
    }
    .service_content_text{
        width: 100%;
        overflow-wrap: anywhere;
        margin-bottom: 40px;
    }
    .service_content_image img{
        width: 100%;
    }
    /* 料金の目安 */
    .fee_firsttext{
        text-align: center;
        display: block;
        line-height: 1.5em;
    }
    .fee_firsttext span:nth-of-type(1){
        margin-bottom: 15px;
        text-align: left;
        display: inline-block;
    }
    .fee_firsttext span:nth-of-type(2){
        text-align: left;
        display: inline-block;
    }
    .fee table tr{
        margin-bottom: 20px;
        display: block;
    }
    .fee table tr:last-of-type{
        margin-bottom: 0;
    }
    .fee table tr:first-child{
        display: none;
    }
    .fee table th,.fee table td{
        display: block;
        width: 100%;
        height: auto;
        border-bottom: none;
    }
    .fee table td{
        width: 100%;
        display: flex;
        align-items: center;
    }
    .fee table td:last-child{
        border-bottom: solid 1px #333;
    }
    .fee table td::before{
        content: attr(data-label);
        background-color: #83c157;
        color: #fff;
        width: 30%;
        padding: 10px 0;
        display: block;
        margin-right: 10px;
        font-weight: 500;
        border-right: solid 1px #b3b3b3;
    }
    .fee table td p{
        text-align: left;
        width: 70%;
        padding-left: 10px;
    }
    /* =============================================
    お約束
    ============================================= */
    .pc_mainvisual{
        display: none;
    }
    .promise_container{
        margin-top: 50px;
    }
    .promise_catchcopy{
        word-break: keep-all;
        overflow-wrap: break-word;
        margin-top: 50px;
    }
    .promise_catchcopy span{
        line-height: 1em;
    }

    .profile_contents li{
        margin-bottom: 80px;
    }
    .profile_contents li:last-of-type{
        margin-bottom: 30px;
    }
}