@charset "UTF-8";
* a:hover{
    opacity: 0.7;
    transition-duration: 0.3s;
}
*{
    font-family: "Noto Sans JP", serif;
    font-optical-sizing: auto;
    font-weight: 300;
    font-style: normal;
}
* .eng{
    font-family: "Jost", serif;
    font-optical-sizing: auto;
    font-weight:normal;
    font-style: normal;
}
.wrap{
    width: 100%;
}
.inner{
    width: 100%;
    padding: 0 5%;
}

header{
    position: relative;
    z-index: 10;
}
header .header{}
header .header .flex-row{
    position: fixed;
    top: 0;
    left: 0;
    background-color: #0962aa;
    width: 300px;
    height: 100%;
    box-shadow: 0 0 150px #0962aabd;
    display: flex;
    flex-wrap: wrap;
    align-content: space-between;
}
header .header .flex-row figure{
    width: 80%;
    margin: 40px auto;
}
header .header .flex-row figure img{}
header .header .flex-row .menu{
    width: 100%;
}
header .header .flex-row .menu ul.g-menu{}
header .header .flex-row .menu ul.g-menu > li{
    border-top: solid 1px #0f75b9;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    position: relative;
}
header .header .flex-row .menu ul.g-menu > li:last-of-type{
    border-bottom: solid 1px #0f75b9;
}
header .header .flex-row .menu ul.g-menu > li a{
    color: #fff;
    font-weight: 500;
    padding: 14px 10% 10px;
    background-color: #0962aa;
    display: inline-block;
    width: 100%;
    transition-duration: 0.5s;
    line-height: 1;
    position: relative;
}

header .header .flex-row .menu ul.g-menu > li:nth-of-type(1) > a:after{
    content: url(../img/icon-plus-white.svg);
    width: 1em;
    display: inline-block;
    position: absolute;
    right: 10%;
    top: 21px;
}
header .header .flex-row .menu ul.g-menu > li:nth-of-type(1) > a.is-active:after{
    transform: rotateZ(45deg);
}

header .header .flex-row .menu ul.g-menu > li a:hover{
    background-color: #0f75b9;
}
header .header .flex-row .menu ul.g-menu > li span{
    font-size: 12px;
    font-weight: 200;
    width: 100%;
    display: inline-block;
    color: #000;
    line-height: 1em;
}
header .header .flex-row .menu ul.g-menu > li > ul{
    display: none;
    transition-duration: 0.5s;
}

header .header .flex-row .menu ul.g-menu > li > ul.is-active{
    display: block;
    position: absolute;
    left: 300px;
    top: 0;
    width: 350px;
    transition-duration: 0.5s;
}

header .header .flex-row .menu ul.g-menu > li > ul li{}
header .header .flex-row .menu ul.g-menu > li > ul li a{
    background-color: #f4f6ff;
    z-index: 0;
    color: #0962aa;
    border-bottom: dashed 1px #0962aa;
    padding: 13px 20px;
    font-size: 14px;
}
header .header .flex-row .menu ul.g-menu > li > ul li a:hover{background-color: #e1e5f7;}
header .header .flex-row .menu ul.g-menu > li > ul li a::after{
    content: url(../img/icon-arrow-blue.svg);
    display: inline-block;
    width: 20px;
    position: absolute;
    right: 20px;
}
header .header .flex-row .menu .cta_btn_area{
    width: 80%;
    margin: 30px auto 0;
}
header .header .flex-row .menu .cta_btn_area li{
    background-color: #999;
    margin-bottom: 10px;
}
header .header .flex-row .menu .cta_btn_area li a{
    padding: 10px 15px;
    display: inline-block;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}
header .header .flex-row .menu .cta_btn_area li a.reserve{
    background-color: #fff;
    color: #0962aa;
    font-weight: 700;
}
header .header .flex-row .menu .cta_btn_area li a.reserve::before{
    content: url(../img/icon-cal-blue.svg);
    display: inline-block;
    margin-right: 0.7em;
    width: 1.7em;
    position: relative;
}
header .header .flex-row .menu .cta_btn_area li a.contact{
    background-color: #fff;
    color: #0962aa;
    font-weight: 700;
}
header .header .flex-row .menu .cta_btn_area li a.contact::before{
    content: url(../img/icon-mail-blue.svg);
    display: inline-block;
    margin-right: 0.7em;
    width: 1.7em;
    position: relative;
    top: 3px;
}
header .header .flex-row .menu .cta_btn_area li a.ec{
    background-color: #ffff00;
    color: #000;
    font-weight: 700;
}
header .header .flex-row .menu .cta_btn_area li a.ec::before{
    content: url(../img/icon-ec-black.svg);
    display: inline-block;
    margin-right: 0.7em;
    width: 1.7em;
    position: relative;
    top: 3px;
}
header .header .flex-row .menu .cta_btn_area li a.ec::after{
    content: url(../img/icon-tab-black.svg);
    display: inline-block;
    margin-left: auto;
    width: 1.7em;
    position: relative;
    top: 3px;
}
header .header .flex-row .menu .sns_area{
    width: 80%;
    margin: 30px auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
header .header .flex-row .menu .sns_area li{
    width: 40px;
    margin-right: 10px;
}
header .header .flex-row .menu .sns_area li a{}
header .header .flex-row .menu .sns_area li a img{}
header .header .flex-row .menu-btn{}
header .header .flex-row .menu-btn span{}
header .header .flex-row .menu-btn span:nth-of-type(1){}
header .header .flex-row .menu-btn span:nth-of-type(2){}
header .header .flex-row .menu-btn span:nth-of-type(3){}
header .header .flex-row .tel{}
header .header .flex-row .tel{
    display: none;
}
header .header .flex-row .tel p{
}
header .header .flex-row .tel h2{
}


main{
    margin-left: 300px;
    position: relative;
    z-index: 0;
}
main .fv{
    background-image: url(../img/fv-back.png);
    background-size: cover;
    background-position: center center;
    padding: 500px 0 100px;
    position: relative;
}
main .fv .inner{
}
main .fv .inner .tel{
    position: absolute;
    top: 30px;
    right: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    text-shadow: 0 0 10px #000000aa;
}
main .fv .inner .tel p{
    text-align: right;
    color: #fff;
    font-size: 14px;
    font-weight: 300;
}
main .fv .inner .tel h2{
    font-size: 35px;
    font-weight: 600;
    color: #fff;
    margin-left: 10px;
}
main .fv .inner .text{}
main .fv .inner .text h2{
    font-size: 64px;
    font-weight: 700;
    color: #fff;
    text-shadow: 0px 0px 10px rgba(0, 0, 0, 1);
}
main .fv .inner .text h3{
    margin-top: 20px;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: 0.03em;
    color: #dddddd;
    text-shadow: 0 0 5px rgba(0,0,0,1);
}

main .container{
    padding: 100px 0 100px;
}
main .container .ttl{
    margin-bottom: 70px;
    position: relative;
}
main .container .ttl h2{
    font-size: 50px;
    font-weight: 700;
    color: #0962aa;
}
main .container .ttl h3{
    font-size: 14px;
}
main .container .ttl::after{
    content: "";
    width: 50%;
    height: 1px;
    display: block;
    background-color: #000;
    position: absolute;
    top: 9px;
    left: calc(-50% - 10px);
}

main .index_content01{}
main .index_content01 .all_menu_area{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
main .index_content01 .all_menu_area .all_menu_box{
    width: 30%;
    margin-bottom: 60px;
    text-align: right;
    margin-right: 5%;
}
main .index_content01 .all_menu_area .all_menu_box:nth-of-type(3n){
    margin-right: 0;
}
main .index_content01 .all_menu_area .all_menu_box figure{
    position: relative;
    width: 100%;/*　トリミングしたい枠の幅（固定にしたい場合はサイズを入力）　*/
    padding-top: 70%;/*　トリミングしたい枠の高さを比率で指定。（固定にしたい場合はサイズを入力）　*/
    margin: 0 auto;
}
main .index_content01 .all_menu_area .all_menu_box figure img{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
}
main .index_content01 .all_menu_area .all_menu_box figure h2{
    display: inline-block;
    background-color: #fff;
    position: absolute;
    bottom: 20px;
    left: 0;
    padding: 7px;
    font-size: 16px;
    font-weight: 700;
    color: #0962aa;
    text-align: left;
    margin-right: 2em;
}
main .index_content01 .all_menu_area .all_menu_box p{
    line-height: 1.7em;
    font-size: 16px;
    margin: 20px 0;
    color: #333;
    text-align: left;
}
main .index_content01 .all_menu_area .all_menu_box a{
    color: #0962aa;
    font-weight: 500;
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
}
main .index_content01 .all_menu_area .all_menu_box a::after{
    content: url(../img/icon-c-arrow-blue.svg);
    display: inline-block;
    width: 2em;
    height: 2em;
    margin-left: 0.7em;
}

main .index_content02{
    background-color: #f4f6ff;
}
main .index_content02 .voice_area{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
main .index_content02 .voice_area .voice_box{
    width: 30%;
    margin-bottom: 60px;
    text-align: left;
    margin-right: 5%;
}
main .index_content02 .voice_area .voice_box:nth-of-type(3n){
    margin-right: 0;
}
main .index_content02 .voice_area .voice_box h3.name{
}
main .index_content02 .voice_area .voice_box h3.name span{
    display: inline-block;
    background-color: #ddd;
    padding: 5px 10px;
    font-size: 12px;
    margin-bottom: 10px;
}
main .index_content02 .voice_area .voice_box span.star5_rating{}
main .index_content02 .voice_area .voice_box span.star_score{}
main .index_content02 .voice_area .voice_box .star5_rating{
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC; /* グレーカラー 自由に設定化 */
    /*font-size: 30px; フォントサイズ 自由に設定化 */
}
main .index_content02 .voice_area .voice_box .star5_rating:before, .star5_rating:after{
    content: '★★★★★';
}
main .index_content02 .voice_area .voice_box .star5_rating:after{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffcf32; /* イエローカラー 自由に設定化 */
}
main .index_content02 .voice_area .voice_box .star5_rating[data-rate="5.0"]:after{ width: 100%; } /* 星5 */
main .index_content02 .voice_area .voice_box .star5_rating[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
main .index_content02 .voice_area .voice_box .star5_rating[data-rate="4.0"]:after{ width: 80%; } /* 星4 */
main .index_content02 .voice_area .voice_box .star5_rating[data-rate="3.5"]:after{ width: 70%; } /* 星3.5 */
main .index_content02 .voice_area .voice_box .star5_rating[data-rate="3.0"]:after{ width: 60%; } /* 星3 */
main .index_content02 .voice_area .voice_box .star5_rating[data-rate="2.5"]:after{ width: 50%; } /* 星2.5 */
main .index_content02 .voice_area .voice_box .star5_rating[data-rate="2.0"]:after{ width: 40%; } /* 星2 */
main .index_content02 .voice_area .voice_box .star5_rating[data-rate="1.5"]:after{ width: 30%; } /* 星1.5 */
main .index_content02 .voice_area .voice_box .star5_rating[data-rate="1.0"]:after{ width: 20%; } /* 星1 */
main .index_content02 .voice_area .voice_box .star5_rating[data-rate="0.5"]:after{ width: 10%; } /* 星0.5 */
main .index_content02 .voice_area .voice_box .star5_rating[data-rate="0"]:after{ width: 0%; } /* 星0 */
main .index_content02 .voice_area .voice_box h2{
    font-size: 24px;
    font-weight: 700;
    color: #0962aa;
    margin-top: 10px;
}
main .index_content02 .voice_area .voice_box p{
    margin-top: 5px;
    font-size: 16px;
    line-height: 1.8em;
}

main .index_content03{}
main .index_content03 .point-box{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 100px;
}
main .index_content03 .point-box figure{
    width: 55%;
}
main .index_content03 .point-box:nth-of-type(even) figure{
    order: 2;
    text-align: right;
}
main .index_content03 .point-box figure img{
    width: 90%;
    box-shadow: 25px 25px 0 #f4f6ff;
}
main .index_content03 .point-box .text{
    width: 45%;
    display: flex;
    flex-wrap: wrap;
    align-content: center;
}
main .index_content03 .point-box:nth-of-type(even) .text{
    order: 1;
}
main .index_content03 .point-box .text span{
    font-size: 14px;
    background-color: #ff0;
    padding: 3px 15px;
    border-radius: 50px;
}
main .index_content03 .point-box .text h2{
    font-size: 26px;
    font-weight: 700;
    color: #0962aa;
    margin-top: 10px;
    width: 100%;
}
main .index_content03 .point-box .text p{
    margin-top: 20px;
    line-height: 1.8em;
    font-size: 16px;
}

main .index_content04{
    background-color: #f4f6ff;
}
main .index_content04 .insta{}

main .index_content05{}
main .index_content05 .recommend_clean_area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
main .index_content05 .recommend_clean_area .recommend_clean_box{
    width: 47.5%;
    margin-bottom: 70px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
main .index_content05 .recommend_clean_area .recommend_clean_box figure{
    width: 35%;
    position: relative;
    padding-top: 40%;
}
main .index_content05 .recommend_clean_area .recommend_clean_box figure img{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
}
main .index_content05 .recommend_clean_area .recommend_clean_box .text{
    width: 60%;
}
main .index_content05 .recommend_clean_area .recommend_clean_box .text h2{
    font-size: 24px;
    font-weight: 700;
    color: #0962aa;
}
main .index_content05 .recommend_clean_area .recommend_clean_box .text p{
    font-size: 16px;
    line-height: 1.8em;
    margin-top: 10px;
}
main .index_content05 .recommend_clean_area .recommend_clean_box .text a{
    color: #0962aa;
    font-weight: 500;
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    margin-top: 30px;
}
main .index_content05 .recommend_clean_area .recommend_clean_box .text a::after{
    content: url(../img/icon-c-arrow-blue.svg);
    display: inline-block;
    width: 2em;
    height: 2em;
    margin-left: 0.7em;
}

main .index_content06{
    background-color: #f4f6ff;
}
main .index_content06 .google_map{
    margin-bottom: 50px;
    position: relative;
    z-index: 0;
}
main .index_content06 .google_map iframe{
    width: 100%;
    height: 25vw;
    filter: grayscale(.7);
}
main .index_content06 .access_info{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
main .index_content06 .access_info dl{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
main .index_content06 .access_info dl:nth-of-type(1){
    width: 240px;
}
main .index_content06 .access_info dl:nth-of-type(2){
    width: 450px;
}

main .index_content06 .access_info dl dt{
    width: 100px;
    background-color: #0962aa;
    color: #fff;
    padding: 3px 5px;
    font-size: 14px;
    margin-bottom: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
}
main .index_content06 .access_info dl dd{
    margin-bottom: 10px;
    padding: 3px 20px;
}

main .index_content07{}
main .index_content07 .reccomend_item_area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
main .index_content07 .reccomend_item_area .reccomend_item_box{
    width: 47.5%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-bottom: 70px;
}
main .index_content07 .reccomend_item_area .reccomend_item_box figure{
    position: relative;
    width: 100%;
    padding-top: 60%;
    margin: 0 auto;
}
main .index_content07 .reccomend_item_area .reccomend_item_box figure img{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
}
main .index_content07 .reccomend_item_area .reccomend_item_box h2{
    font-size: 24px;
    font-weight: 700;
    color: #0962aa;
    width: 100%;
    margin-top: 20px;
}
main .index_content07 .reccomend_item_area .reccomend_item_box p{
    font-size: 16px;
    line-height: 1.8em;
    margin-top: 10px;
    margin-bottom: 15px;
}
main .index_content07 .reccomend_item_area .reccomend_item_box h3{
    width: auto;
    text-align: left;
    font-size: 20px;
    font-weight: 500;
    background-color: #ff0;
    padding: 8px 15px;
}
main .index_content07 .reccomend_item_area .reccomend_item_box a{
    color: #0962aa;
    font-weight: 500;
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
}
main .index_content07 .reccomend_item_area .reccomend_item_box a::after{
    content: url(../img/icon-c-arrow-blue.svg);
    display: inline-block;
    width: 2em;
    height: 2em;
    margin-left: 0.7em;
}

main .cta_content{
    background-color: #0962aa;
    padding: 70px 0;
}
main .cta_content h2{
    text-align: center;
    color: #ff0;
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 0.1em;
}
main .cta_content .tel-box{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 20px;
}
main .cta_content .tel-box .text{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    margin-right: 20px;
    line-ge: ;
}
main .cta_content .tel-box .text p{
    font-size: 16px;
    font-weight: 300;
    color: #fff;
    line-height: 1.6em;
}
main .cta_content .tel-box .num{}
main .cta_content .tel-box .num p{
    font-size: 48px;
    font-weight: 700;
    color: #fff;
}
main .cta_content .btn-box{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin-top: 20px;
}
main .cta_content .btn-box a.form{
    background-color: #ff0;
    color: #000;
    padding: 20px 30px;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.1em;
    margin-right: 30px;
    display: flex;
    align-items: center;
}
main .cta_content .btn-box a.form::before{
    content: url(../img/icon-cal-black.svg);
    display: inline-block;
    margin-right: 0.7em;
    width: 1.4em;
    position: relative;
    top: 3px;
}
main .cta_content .btn-box a.reserve{
    background-color: #000;
    color: #fff;
    padding: 20px 30px;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 0.1em;
    display: flex;
    align-items: center;
}
main .cta_content .btn-box a.reserve::before{
    content: url(../img/icon-mail-white.svg);
    display: inline-block;
    margin-right: 0.7em;
    width: 1.4em;
    position: relative;
    top: 2px;
}
footer{
    margin-left: 300px;
    background-color: #0962aa;
    padding: 50px 0;
}
footer .foot_area{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
footer .foot_area .sitemap{}
footer .foot_area .sitemap > ul{}
footer .foot_area .sitemap > ul > li{
}
footer .foot_area .sitemap > ul > li::before{
}
footer .foot_area .sitemap > ul > li > a{
    color: #fff;
    border-bottom: solid 1px #fff;
    width: 100%;
    font-size: 14px;
    padding-bottom: 5px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
footer .foot_area .sitemap > ul > li:nth-of-type(n+2) > a{
    padding-top: 25px;
}
footer .foot_area .sitemap > ul > li > a:after{
    content: url(../img/icon-arrow-white.svg);
    width: 26px;
    display: inline-block;
}
footer .foot_area .sitemap > ul > li > ul{}
footer .foot_area .sitemap > ul > li > ul > li{
}
footer .foot_area .sitemap > ul > li > ul > li > a{
    font-size: 12px;
    color: #fff;
}

footer .foot_area .foot_area_01{
    width: 26%;
}
footer .foot_area .foot_area_01 figure{}
footer .foot_area .foot_area_01 figure img{}
footer .foot_area .foot_area_01 p{
    font-size: 14px;
    line-height: 1.8em;
    margin-top: 30px;
    color: #fff;
}
footer .foot_area .foot_area_02{
    width: 26%;
}
footer .foot_area .foot_area_02 > ul > li > ul > li > a{
    margin: 10px 0 0;
    display: inline-block;
}
footer .foot_area .foot_area_02 > ul > li > ul > li > a::before{
    content: "・";
}
footer .foot_area .foot_area_03{
    width: 16%;
}
footer .foot_area .foot_area_04{
    width: 16%;
}


/*sub page*/
main .fv-sub{padding: 150px 0 150px;}
main .fv-sub .inner{
}
main .fv-sub .inner .tel{
}
main .fv-sub .inner .tel p{
}
main .fv-sub .inner .tel h2{
}
main .fv-sub .inner .text{}
main .fv-sub .inner .text h2{font-size: 40px;}
main .fv-sub .inner .text h3{
}

main .sub_service_content01{
    padding-bottom: 30px;
}
main .sub_service_content01 .worrie_area{
    position: relative;
}
main .sub_service_content01 .worrie_area .point{
    background-color: #ff0;
    padding: 5px 15px;
    position: relative;
    left: 20px;
    top: 0.7em;
    font-size: 20px;
}
main .sub_service_content01 .worrie_area ul{
    background-color: #f4f6ff;
    padding: 40px 30px 30px;
}
main .sub_service_content01 .worrie_area ul li{
    font-size: 24px;
    margin-bottom: 20px;
    text-indent: -1em;
    margin-left: 1em;
    line-height: 1.5em;
    font-weight: 600;
}
main .sub_service_content01 .worrie_area ul li:last-of-type{
    margin-bottom: 0;
}
main .sub_service_content01 .worrie_area ul li strong{
    font-weight: 600;
    color: #0962aa;
}

main .sub_service_content_post{
    padding-top: 0;
}
main .sub_service_content_post h1 span,
main .sub_service_content_post h2 span,
main .sub_service_content_post h3 span,
main .sub_content_page h1 span,
main .sub_content_page h2 span,
main .sub_content_page h3 span{
    font-weight: 700;
}
main .sub_service_content_post h4 span,
main .sub_service_content_post h5 span,
main .sub_content_page h4 span,
main .sub_content_page h5 span{
    font-weight: 500;
}
main .sub_service_content_post h1,
main .sub_service_content_post h2,
main .sub_service_content_post h3,
main .sub_service_content_post h4,
main .sub_service_content_post h5,
main .sub_content_page h1,
main .sub_content_page h2,
main .sub_content_page h3,
main .sub_content_page h4,
main .sub_content_page h5{
    margin: 2em 0 0.5em;
}
main .sub_service_content_post p,
main .sub_content_page p{
    margin: 0.5em 0 0.5em;
}

main .sub_service_content_post *:first-child,
main .sub_content_page *:first-child{
    margin-top: 0;
}

main .sub_service_content_post h1,
main .sub_content_page h1{
    color: #0962aa;
    font-size: 42px;
    font-weight: 700;
}
main .sub_service_content_post h2,
main .sub_content_page h2{
    border-left: solid 0.3em #0962aa;
    padding-left: 0.3em;
    line-height: 1.8em;
    font-size: 32px;
    font-weight: 600;
    background-color: #f4f6ff;
}
main .sub_service_content_post h3,
main .sub_content_page h3{
    font-size: 26px;
    font-weight: 600;
    color: #0962aa;
    padding-bottom: 0.4em;
    background-image: linear-gradient(90deg, #0962aa 0 10%, #f4f6ff 10%);
    background-repeat: no-repeat;
    background-size: 100% 10%;
    background-position: bottom;
}
main .sub_service_content_post h4,
main .sub_content_page h4{
    font-size: 22px;
    font-weight: 600;
    color: #0962aa;
}
main .sub_service_content_post h5,
main .sub_content_page h5{
    font-size: 20px;
    font-weight: 600;
}
main .sub_service_content_post p,
main .sub_content_page p{
    font-size: 16px;
    line-height: 1.7em;
}

main .breadcrumb-area{
    background-color: #f1f1f1;
    font-size: 14px;
    padding: 10px 0;
}
main .breadcrumb-area span{
    margin: 0 4px;
}
main .breadcrumb-area span a{
    color: #0962aa;
}

main .content_faq{}
main .content_faq h2{
    border-left: solid 0.3em #0962aa;
    padding-left: 0.3em;
    line-height: 1.8em;
    font-size: 32px;
    font-weight: 600;
    background-color: #f4f6ff;
    margin-bottom: 50px;
}
main .content_faq dl{}
main .content_faq dl dt{
    font-size: 16px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border-bottom: dashed 1px #ccc;
    padding-bottom: 0.8em;
    padding-right: 3em;
    margin-top: 0.8em;
    padding-left: 1.5em;
    position: relative;
}
main .content_faq dl dt::before{
    content: "Q";
    position: absolute;
    left: 0;
    color: #0962aa;
    font-size: 1.5em;
    font-weight: 500;
    top: 0;
}
main .content_faq dl dt::after{
    content:"";
    width: 0;
    height: 0;
    display: inline-block;
    border: solid 0.5em transparent;
    border-top: solid 0.7em #0962aa;
    position: absolute;
    top: 0.3em;
    right: 1em;
}
main .content_faq dl dd{
    background-color: #f4f6ff;
    padding: 1.5em 1.5em 1.5em 4em;
    line-height: 1.7em;
    font-weight: 500;
    position: relative;
    display: none;
    border-bottom: solid 1px #ccc;
}
main .content_faq dl dd::before{
    content: "A";
    position: absolute;
    left: 1.5em;
    background-color: #ff0;
    border-radius: 5em;
    width: 2em;
    height: 2em;
    display: flex;
    align-items: center;
    justify-content: center;
}
main .content_faq dl dd::after{
    content:"";
}

main .content_voice {}
main .content_voice .inner > h2{
    border-left: solid 0.3em #0962aa;
    padding-left: 0.3em;
    line-height: 1.8em;
    font-size: 32px;
    font-weight: 600;
    background-color: #f4f6ff;
    margin-bottom: 10px;
}
main .content_voice .inner > p{
    margin-bottom: 50px;
}
main .content_voice .voice_area{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
main .content_voice .voice_area .voice_box{
    width: 30%;
    margin-bottom: 60px;
    text-align: left;
    margin-right: 5%;
}
main .content_voice .voice_area .voice_box:nth-of-type(3n){
    margin-right: 0;
}
main .content_voice .voice_area .voice_box h3.name{
}
main .content_voice .voice_area .voice_box h3.name span{
    display: inline-block;
    background-color: #ddd;
    padding: 5px 10px;
    font-size: 12px;
    margin-bottom: 10px;
}
main .content_voice .voice_area .voice_box span.star5_rating{}
main .content_voice .voice_area .voice_box span.star_score{}
main .content_voice .voice_area .voice_box .star5_rating{
    position: relative;
    z-index: 0;
    display: inline-block;
    white-space: nowrap;
    color: #CCCCCC; /* グレーカラー 自由に設定化 */
    /*font-size: 30px; フォントサイズ 自由に設定化 */
}
main .content_voice .voice_area .voice_box .star5_rating:before, .star5_rating:after{
    content: '★★★★★';
}
main .content_voice .voice_area .voice_box .star5_rating:after{
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    overflow: hidden;
    white-space: nowrap;
    color: #ffcf32; /* イエローカラー 自由に設定化 */
}
main .content_voice .voice_area .voice_box .star5_rating[data-rate="5.0"]:after{ width: 100%; } /* 星5 */
main .content_voice .voice_area .voice_box .star5_rating[data-rate="4.5"]:after{ width: 90%; } /* 星4.5 */
main .content_voice .voice_area .voice_box .star5_rating[data-rate="4.0"]:after{ width: 80%; } /* 星4 */
main .content_voice .voice_area .voice_box .star5_rating[data-rate="3.5"]:after{ width: 70%; } /* 星3.5 */
main .content_voice .voice_area .voice_box .star5_rating[data-rate="3.0"]:after{ width: 60%; } /* 星3 */
main .content_voice .voice_area .voice_box .star5_rating[data-rate="2.5"]:after{ width: 50%; } /* 星2.5 */
main .content_voice .voice_area .voice_box .star5_rating[data-rate="2.0"]:after{ width: 40%; } /* 星2 */
main .content_voice .voice_area .voice_box .star5_rating[data-rate="1.5"]:after{ width: 30%; } /* 星1.5 */
main .content_voice .voice_area .voice_box .star5_rating[data-rate="1.0"]:after{ width: 20%; } /* 星1 */
main .content_voice .voice_area .voice_box .star5_rating[data-rate="0.5"]:after{ width: 10%; } /* 星0.5 */
main .content_voice .voice_area .voice_box .star5_rating[data-rate="0"]:after{ width: 0%; } /* 星0 */
main .content_voice .voice_area .voice_box h2{
    font-size: 24px;
    font-weight: 700;
    color: #0962aa;
    margin-top: 10px;
}
main .content_voice .voice_area .voice_box p{
    margin-top: 5px;
    font-size: 16px;
    line-height: 1.8em;
}


main .content_case_archive{}
main .content_case_archive .inner > h2{
    border-left: solid 0.3em #0962aa;
    padding-left: 0.3em;
    line-height: 1.8em;
    font-size: 32px;
    font-weight: 600;
    background-color: #f4f6ff;
    margin-bottom: 10px;
}
main .content_case_archive .inner > p{
    margin-bottom: 50px;
}
main .content_case_archive .case_area{
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
}
main .content_case_archive .case_area .case_box{
    width: 47.5%;
    margin-right: 5%;
    margin-bottom: 50px;
}
main .content_case_archive .case_area .case_box:nth-of-type(2n){
    margin-right: 0;
}
main .content_case_archive .case_area .case_box figure{
    position: relative;
    width: 100%;
    padding-top: 50%;
    margin: 0 auto;
}
main .content_case_archive .case_area .case_box figure img{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    object-fit: cover;
}
main .content_case_archive .case_area .case_box figure h2{
    display: inline-block;
    background-color: #fff;
    position: absolute;
    bottom: 20px;
    left: 0;
    padding: 7px;
    font-size: 16px;
    color: #000;
    text-align: left;
    margin-right: 2em;
}
main .content_case_archive .case_area .case_box figure h2 span{
    color: #0962aa;
    font-weight: 600;
    font-size: 1.1em;
}

main .content_case_archive .case_area .case_box h3{
    margin-top: 10px;
    font-size: 14px;
}
main .content_case_archive .case_area .case_box h3 span{}
main .content_case_archive .case_area .case_box h4{
    margin-top: 5px;
    font-size: 24px;
    font-weight: 700;
    color: #0962aa;
}
main .content_case_archive .case_area .case_box p{
    margin-top: 10px;
    line-height: 1.7em;
}
main .content_case_archive .case_area .case_box a{
    color: #0962aa;
    font-weight: 500;
    font-size: 14px;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    margin-top: 20px;
}
main .content_case_archive .case_area .case_box a:after{
    content: url(../img/icon-c-arrow-blue.svg);
    display: inline-block;
    width: 2em;
    height: 2em;
    margin-left: 0.7em;
}


main .content_case{
    margin-top: 50px;
}
main .content_case h1 span,
main .content_case h2 span,
main .content_case h3 span{
    font-weight: 700;
}
main .content_case h4 span,
main .content_case h5 span{
    font-weight: 500;
}
main .content_case h1,
main .content_case h2,
main .content_case h3,
main .content_case h4,
main .content_case h5{
    margin: 2em 0 0.5em;
}
main .content_case p{
    margin: 0.5em 0 0.5em;
}

main .content_case *:first-child{
    margin-top: 0;
}

main .content_case h1{
    color: #0962aa;
    font-size: 42px;
    font-weight: 700;
}
main .content_case h2{
    border-left: solid 0.3em #0962aa;
    padding-left: 0.3em;
    line-height: 1.8em;
    font-size: 32px;
    font-weight: 600;
    background-color: #f4f6ff;
}
main .content_case h3{
    font-size: 26px;
    font-weight: 600;
    color: #0962aa;
    padding-bottom: 0.4em;
    background-image: linear-gradient(90deg, #0962aa 0 10%, #f4f6ff 10%);
    background-repeat: no-repeat;
    background-size: 100% 10%;
    background-position: bottom;
}
main .content_case h4{
    font-size: 22px;
    font-weight: 600;
    color: #0962aa;
}
main .content_case h5{
    font-size: 20px;
    font-weight: 600;
}
main .content_case p{
    font-size: 16px;
    line-height: 1.7em;
}

main .content_case_container .inner > h2{
    border-left: solid 0.3em #0962aa;
    padding-left: 0.3em;
    line-height: 1.8em;
    font-size: 32px;
    font-weight: 600;
    background-color: #f4f6ff;
    margin-bottom: 10px;
}
main .content_case_container .inner > h3{
    font-size: 18px;
    margin-bottom: 5px;
}
main .content_case_container .inner > h3 span{
    font-size: 1.1em;
    color: #0962aa;
    font-weight: 600;
}
main .content_case_container .inner > p{
    font-size: 14px;
}

/*contact form*/
/*
Theme Name:TAKUMI
*/

.cf-area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding: 2em 0;
	border-bottom: 1px dashed #ccc;
	transition: all .3s;
}

.cf-area:last-child {
	border-bottom: none;
}

.cf-area dt {
  width: 200px;
  padding-right: 30px;
  text-align: right;
	line-height:1.5em;
}

.cf-area dd {
    flex: 1;
}

.cf-area input, .cf-area textarea {
  width: 100%;
  padding: 0.8em;
  border: none;
  background-color: #e6e6e6;
  font-size: 16px;
	resize: vertical;
	transition: all .3s;
}

.cf-area input:focus,.cf-area textarea:focus {
	outline: none;
	background: #dde2e9;
}

.cf-required {
	background: #b91e23;
	color: #fff;
	font-size: 0.8em;
	padding: 0 5px 2px;
	border-radius: 2px
}

.cf-send input {
	display: block;
	background: linear-gradient(135deg, #6b7a8e 0%, #3b4a5e 100%);
	width: 300px;
	height: 60px;
	margin: 30px auto 0;
	border: none;
	border-radius: 10px;
	color: #fff;
	box-shadow: 2px 5px 15px 0 rgba(0, 0, 0, .2);
	font-size: 1.3em;
	font-weight: bold;
	transition: all .3s;
}

.cf-send input:hover {
	filter: brightness(1.25);
}

.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
	background-color: #fce3e3;
	border: none;
	text-align: center;
}

@media screen and (max-width:768px){
	.cf-area {
		display: block;
	}

	.cf-area dt {
    width: 100%;
		margin-bottom: 5px;
    padding-right: 0;
    text-align: left;
		line-height:1.5em;
	}
}