@charset "UTF-8";

/* common
-------------------- */

.pc {
    display: block;
}

.sp {
    display: none;
}

.flex_pc {
    display: flex;
}  

.header_sp {
    display: none;
}

@media screen and (max-width: 750px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .flex_pc {
        display: block;
    }  
    .header_sp {
        display: block;
    }
}

@media screen and (min-width: 750px){
    #contents {
        max-width: 1400px;
        margin: 0 auto;
    }

    #top_page {
        padding-top: 118px;
    }

    .p_txt {
        font-size: 1.6rem;
        line-height: 2;
    }

    .mb_0 {
        margin-bottom: 0!important;
    }  
}

@media screen and (max-width: 1000px) {
    #top_page {
        padding-top: 12.2%;
    }
}

@media screen and (max-width: 750px) {
    #top_page {
        padding-top: 0;
    }
}

/* header
-------------------- */
.official_header_pc {
    max-width: 1400px;
    margin: 0 auto;
    left: 50%;
    transform: translateX(-50%);
}

.official_header_pc .header_wrap .flex {
    max-width: 1000px;
    margin: 0 auto;
}

.official_header_pc h1 {
    width: 24%;
}

.official_header_pc h1 a {
    width: 100%;
    padding: 1.5% 3% 3% 6%;
    transition: .5s;
}

.official_header_pc h1 a:hover {
    opacity: .6;
    transition: .5s;
}

.official_header_pc .header_web_btn {
    width: 24.5%;
    padding: 1% 1%;
    transition: .5s;
}

.official_header_pc .header_web_btn:hover {
    opacity: .6;
    transition: .5s;
}

.navigation_pc {
    background: #6abee6;
    /* border-bottom: 1px solid #fff; */
}

.navigation_pc .navigation_list {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 1%;
    max-width: 1000px;
    margin: 0 auto;
}

.navigation_pc .navigation_list-item {
    border-bottom: none;
    padding: 0 1%;
}

.navigation_pc .navigation_list-item::after {
    display: none;
}

.navigation_pc .navigation_link {
    color: #fff;
    font-weight: 400;
    font-size: 1.6rem;
    display: block;
    padding: 5% 0;
    transition: .5s;
}
@media screen and (max-width: 1000px) {
    .navigation_pc .navigation_link {
        font-size: 1.6vw;
    }
}

.navigation_pc .navigation_link:hover {
    opacity: .6;
    transition: .5s;
}

.official_header_pc .header_bar_pc {
    width: 42%;
}
@media screen and (max-width: 1000px) {
    .official_header_pc .header_bar_pc .p_txt {
        font-size: 2.5vw;
    }
}

.official_header_pc .header_bar_pc .p_txt span {
    color: #faf68a;
    margin-left: 2%;
}

/* fixed_footerBtn
-------------------- */

@media screen and (min-width: 750px) {
    .fixed_footerBtn {
        max-width: 100%;
    }

    .fixed_footerBtn a {
        width: 500px;
        margin: 0 auto;
    }
}


/* main
-------------------- */

/* top
---------------- */

@media screen and (min-width: 750px) {
    #top_page .campaign {
        background: url(../images/pc/top_img_bg_pc.jpg) no-repeat center center;
        background-size: cover;
    }

    #top_page .campaign_inner {
        max-width: 1000px;
        margin: 0 auto;
        position: relative;
    }

    #top_page .campaign .top_monitor_btn {
        position: absolute;
        bottom: 1.6%;
        left: 27%;
        width: 42%;
    }

    #top_page h2 {
        /* background: url(../images/pc/top_fv_bg_pc.jpg) no-repeat center center; */
        background: url(../images/pc/top_fv_bg_pc.jpg) no-repeat;
        background-size: cover;
        padding: 0 0 60px;
    }

    #top_page h2 .pc {
        margin: 0 auto;
    }
}


/* sec01
---------------- */

@media screen and (min-width: 750px) {
    #top_page .pc .heading_bg {
        background: url("../images/pc/heading_bg_top1-2_pc.png") center center;
        background-size: cover;
        padding: 40px 0 60px;
        height: 145px;
        aspect-ratio: auto;
        transform: translateY(-10px);
    }

    #top_page .sec01 {
        background: #ecfffd;
    }

    #top_page .pc .heading h3 img {
        max-width: 450px;
    }

    #top_page .heading p {
        position: absolute;
        font-size: 2.3rem;
        color: #fff;
        width: 100%;
        bottom: 19%;
    }

    #top_page .sec01 .p_txt {
        font-size: 1.9rem;
        line-height: 1.7;
    }

    #top_page .sec01 .p_txt .bg_txt_half {
        background: linear-gradient(transparent 60%, #e4f7ff 40%);
    }

    #top_page .sec01 .wrapper {
        max-width: 1000px;
        margin: -30px auto 0;
        padding: 0 60px 60px;
        background: #fbffff;
        box-shadow: 0px 5px 15px 0px rgba(0, 0, 0, 0.15);
    }

    #top_page .sec01 .wrapper .txt_area .flex figure {
        width: 30%;
        margin-right: 6%;
    }

    #top_page .sec01 .flex .sec1_txt_wrap {
        width: 70%;
    }

    #top_page .sec01 .flex .sec1_txt_wrap .txt2 {
        width: 100%;
        margin-top: 4%;
    }

    #top_page .sec01 .txt_area .flex {
        padding: 3% 0 4%;
    }
    
    #top_page .sec01 .txt_area .bg_txtarea h4 {
        font-size: 3.7rem;
    }

    #top_page .sec01 .txt_area .bg_txtarea p {
        font-size: 2.6rem;
        margin-bottom: 0.5%;
    }

    #top_page .sec01 .txt_area .bg_txtarea p::before {
        width: 2.5%;
    }

    #top_page .sec01 .txt_area .bg_txtarea p::after {
        width: 2.5%;
    }
    
    #top_page .sec01 .txt_area .bg_txtarea {
        padding: 3.5% 4% 4%;
        margin: 1% 0;
    }

    #top_page .sec01 .txt_area .bg_shadow::before {
        top: 6%;
        left: 1.2%;
    }

    #top_page .sec01 .txt_area .txt3 {
        padding: 6% 0 4%;
    }

    #top_page .sec01 .txt_area .txt4 {
        padding: 4% 7% 3%;
        width: 93%;
    }

    #top_page .sec01 .txt_area .txt4 h5 {
        font-size: 3rem;
        width: 90%;
    }

    #top_page .sec01 .txt_area .txt4 figure {
        right: -6%;
        bottom: -20%;
        z-index: 3;
        width: 17%;
    }
    
}

@media screen and (max-width: 1000px) {
    /* #top_page .sec01 .pc .heading_bg {
        aspect-ratio: 1400 / 210;
        height: auto;
        padding: 4% 0 3%;
    } */

    /* #top_page .sec01 .pc .heading h3 img {
        max-width: 45%;
    } */

    #top_page .pc .heading p {
        font-size: 2.3vw;
    }

    #top_page .sec01 .wrapper {
        background: #f6fdff;
    }

    #top_page .sec01 .wrapper .txt_area.pc .flex figure {
        width: 35%;
        margin-right: 4%;
    }
}


/* sec02
---------------- */

@media screen and (min-width: 750px) {
    #top_page .sec02 .heading_bg {
        background-image: url(../images/pc/heading_bg_top2-2_pc.png);
        margin-top: -9%;
        padding: 40px 0 4%;
    }

    #top_page .sec02 .heading h3 img {
        max-width: 550px;
    }

    .menu_cate {
        margin-bottom: 3%;
    }

    .menu_ttl {
        font-size: 2.1rem;
        height: 40px;
        line-height: 40px;
    }

    .menu_cate2 .menu_ttl2 {
        height: 68px;
        line-height: 1.4;
    }

    .menu_cate2 .menu_ttl_yag {
        font-size: 1.8rem;
        height: 60px;
        line-height: 1.3;
        width: 91%;
    }

    .menu_cate2 .menu_ttl_dp {
        width: 88%;
        line-height: 1.3;
    }

    .menu_cate2 .menu_ttl_mp {
        width: 88%;
        line-height: 1.3;
    }

    .menu_ttl .txt_s {
        font-size: 1.2rem;
    }

    .menu_ttl::after {
        border-width: 20px 15px 20px 0px;
        right: -14px;
    }

    .menu_ttl2::after {
        border-width: 34px 25px 34px 0px;
        right: -25px;
    }

    .menu_ttl_yag::after {
        border-width: 30px 25px 30px 0px;
    }

    .menu_cate_wrap {
        padding: 2% 0 4%;
    }

    .menu_cate_ttl {
        font-size: 3.2rem;
        margin-bottom: 25px;
    }

    .menu_list_wrap {
        padding: 50px 0;
    }

    .menu_cate2 .menu_list_wrap {
        padding-bottom: 20px;
    }

    .menu_cate4 .menu_list_wrap {
        padding-bottom: 20px;
    }

    .menu_list_wrap ul.flex {
        flex-wrap: wrap;
        max-width: 1000px;
        margin: 0 auto;
    }

    .menu_list {
        max-width: 450px;
        margin: 0 auto 30px;
        display: flex;
        flex-direction: column;
    }

    .menu_cate1 .menu_list {
        display: block;
    }

    .menu_cate1 .menu_list.sp {
        display: none;
    }

    .menu_cate2 .flex_pc::after {
        content: '';
        display: block;
        width: 500px;
        height: auto;
    }

    .menu_cate4 .flex_pc::after {
        content: '';
        display: block;
        width: 500px;
        height: auto;
    }

    .menu_cate h6 {
        font-size: 1.8rem;
        padding: 10px 15px;
        border-radius: 10px;
    }

    .menuList_left_mj h6 {
        margin-top: 15%;
    }

    .menu_cate2 .list_heading_lt {
        font-size: 1.8rem;
        font-feature-settings: "palt";
    }

    .menuList_bottom_mj .p_txt {
        font-size: 1.8rem;
        margin-top: 3%;
    }

    .list_p {
        font-size: 1.6rem;
    }

    .menu_list_botox .list_p {
        padding-bottom: 16%;
    }

    .menu_list_dp .list_p {
        padding-bottom: 5%;
    }

    .menu_list_co2 .list_p {
        padding-bottom: 22%;
    }

    #top_page .menu_feeArea {
        padding-top: 3%;
    }

    .menu_feeArea .txt_s {
        font-size: 2rem;
        font-feature-settings: "palt";
    }

    .menu_feeArea .txt_xs {
        font-size: 1.7rem;
        font-feature-settings: "palt";
    }

    .menu_cate4 .price_hvd .txt_s {
        font-size: 1.6rem;
    }

    .menu_cate1 .menu_list {
        max-width: 925px;
        margin: 0 auto;
    }

    .cate1_listTop .top_left {
        border-right: 2px solid #6abfe6;
        width: 50%;
    }

    .cate1_listTop .top_left .txt_wrap {
        width: 100%;
    }
    
    .cate1_listTop h6 {
        font-size: 2.6rem;
        padding: 0 0 1% 6%;
    }

    .cate1_listTop .top_right {
        width: 50%;
    }

    .cate1_listTop .top_right h6 {
        color: #222222;
        font-size: 2rem;
        padding: 0 0 1% 6%;
        border-radius: 10px;
        padding: 10px 20px;
        margin-bottom: 4%;
        background-color: #d8e9f1;
    }

    .cate1_listTop .top_right .txt_wrap {
        width: 71%;
        margin: 4% 0 0;
    }

    .cate1_listTop p {
        font-size: 1.6rem;
        padding: 0 3% 3% 6%;
    }

    .menu_list_wrap .btn_area {
        margin-top: auto;
    }

    #top_page .menu_cate1 .menu_feeArea {
        /* background-image: linear-gradient(180deg, rgba(247, 122, 128, 1), rgba(234, 77, 125, 1) 62%); */
        background: #6abfe6;
        position: relative;
        padding: 2% 0 1%;
    }

    .btn_area_left {
        width: 50%;
    }

    .btn_area_right {
        position: relative;
        width: 50%;
    }

    .menu_feeArea_2406 p {
        text-align: left;
        font-size: 2.2rem;
    }

    .menu_feeArea_2406 .price_txt .menu_fee {
        font-size: 3.8rem;
    }

    .menu_feeArea_2406 .price_txt .menu_fee span {
        font-size: 1.8rem;
    }

    .menu_feeArea_2406 .price_txt .tax {
        right: -1%;
        top: 2%;
        font-size: 1.3rem;
    }

    .menu_feeArea_2406 .price_txt .tax-b {
        right: -5%;
    }

    .menu_feeArea_2406 .price_txt {
        width: 88%;
        margin: 0 auto 1.5%;
    }

    .menu_list_yag .price_txt {
        margin-bottom: 13%;
    }

    /* .menu_list_cp .price_txt {
        margin-bottom: 14%;
    } */

    .menu_list_mp .price_txt {
        margin-bottom: 13.5%;
    }

    .menu_cate4 .menu_ttl.menu_ttl_jl {
        height: 65px;
        line-height: 1.3;
    }

    .menu_cate4 .menu_ttl.menu_ttl_jl::after {
        border-width: 32px 20px 33px 0px;
        right: -20px;
    }
}

@media screen and (max-width: 1000px) {
    .menu_ttl {
        font-size: 2.1vw;
    }

    .menu_cate2 .menu_ttl_yag {
        font-size: 1.8vw;
        height: 55px;
        width: 93%;
    }

    .menu_ttl_yag::after {
        right: -20px;
        border-width: 27px 20px 28px 0px;
    }

    .menu_cate2 .menu_ttl_dp {
        height: 65px;
    }

    .menu_ttl_dp::after {
        border-width: 32px 25px 33px 0px;
    }

    .menu_cate2 .menu_ttl_mp {
        height: 65px;
    }

    .menu_ttl_mp::after {
        border-width: 32px 25px 33px 0px;
    }

    .menu_ttl .txt_s {
        font-size: 1.1vw;
    }

    .menu_list {
        max-width: 45%;
    }

    .menu_cate1 .menu_list {
        max-width: 95%;
    }

    .menu_cate2 .flex_pc::after {
        max-width: 50%;
    }

    .menu_cate4 .flex_pc::after {
        max-width: 50%;
    }

    .menu_cate .list_heading {
        font-size: 1.8vw;
    }

    .menuList_bottom_mj .p_txt {
        font-size: 1.8vw;
        margin-top: 3%;
    }

    .menu_feeArea .txt_s {
        font-size: 2vw;
    }

    .menu_feeArea .txt_xs {
        font-size: 1.7vw;
    }

    .menu_feeArea_2406 p {
        font-size: 2.2vw;
    }

    .menu_cate4 .price_hvd .txt_s {
        font-size: 1.6vw;
    }

    .menu_feeArea_2406 .price_txt .menu_fee {
        font-size: 3.8vw;
    }

    .menu_feeArea_2406 .price_txt .menu_fee span {
        font-size: 1.5vw;
    }

    .menu_feeArea_2406 .price_txt .tax {
        right: -3%;
        font-size: 1.3vw;
    }
    
    .menu_feeArea_2406 .price_txt .tax-b {
        right: -6%;
    }
}
@media screen and (max-width: 850px) {
    .menu_cate2 .menu_ttl_dp {
        width: 90%;
        height: 55px;
    }

    .menu_ttl_dp::after {
        border-width: 28px 25px 27px 0px;
    }

    .menu_cate2 .menu_ttl_mp {
        width: 90%;
        height: 55px;
    }

    .menu_ttl_mp::after {
        border-width: 28px 25px 27px 0px;
    }
}
@media screen and (max-width: 750px) {
    .menu_ttl {
        font-size: 3rem;
    }

    .menu_ttl .txt_s {
        font-size: 1.7rem;
    }

    .menu_list {
        max-width: 100%;
    }

    .menu_cate1 .menu_list {
        max-width: 100%;
    }

    .menu_cate .list_heading {
        font-size: 2.7rem;
    }

    .menu_cate2 .menu_ttl_yag {
        font-size: 3.3vw;
        height: 68px;
        width: 82%;
        line-height: 1.2;
    }

    .menu_ttl_yag::after {
        right: -25px;
        border-width: 34px 25px 34px 0px;
    }

    .menu_cate2 .menu_ttl_dp {
        font-size: 3.6vw;
        height: 75px;
        width: 76%;
        line-height: 1.2;
    }

    .menu_ttl_dp::after {
        border-width: 38px 25px 37px 0px;
    }

    .menu_cate2 .menu_ttl_mp {
        font-size: 3.6vw;
        height: 75px;
        width: 76%;
        line-height: 1.2;
    }

    .menu_ttl_mp::after {
        border-width: 38px 25px 37px 0px;
    }

    .menuList_bottom_mj .p_txt {
        font-size: 2.6rem;
        margin-top: 4%;
    }

    .menu_feeArea .txt_s {
        font-size: 2.6rem;
    }

    .menu_feeArea .txt_xs {
        font-size: 2.4rem;
    }

    .menu_feeArea_2406 p {
        font-size: 3rem;
    }

    .menu_cate4 .price_hvd .txt_s {
        font-size: 2.2rem;
    }

    .menu_cate4 .menu_ttl_sk {
        font-size: 3.6vw;
        height: 75px;
        width: 66%;
        line-height: 1.2;
    }

    .menu_ttl_sk::after {
        border-width: 38px 25px 37px 0px;
    }

    .menu_feeArea_2406 .price_txt .menu_fee {
        font-size: 5.5rem;
    }

    .menu_feeArea_2406 .price_txt .menu_fee span {
        font-size: 2.6rem;
    }

    .menu_feeArea_2406 .price_txt .tax {
        right: -3%;
        font-size: 1.6rem;
    }
    
    .menu_feeArea_2406 .price_txt .tax-b {
        right: -4%;
    }
}

@media screen and (max-width: 580px) {
    .menu_cate2 .menu_ttl_yag {
        height: 58px;
        width: 85%;
    }

    .menu_ttl_yag::after {
        right: -20px;
        border-width: 29px 20px 29px 0px;
    }

    .menu_cate2 .menu_ttl_dp {
        font-size: 4.3vw;
        width: 90%;
    }

    .menu_ttl_dp::after {
        right: -25px;
    }

    .menu_cate2 .menu_ttl_mp {
        font-size: 4.3vw;
        width: 90%;
    }

    .menu_ttl_mp::after {
        right: -25px;
    }

    .menu_ttl_sk::after {
        right: -25px;
    }
}

@media screen and (max-width: 490px) {
    .menu_cate2 .menu_ttl_yag {
        font-size: 3.5vw;
    }

    .menu_ttl_yag::after {
        right: -20px;
        border-width: 29px 20px 29px 0px;
    }

    .menu_cate2 .menu_ttl_dp {
        height: 66px;
        width: 85%;
    }

    .menu_ttl_dp::after {
        right: -20px;
        border-width: 33px 20px 33px 0px;
    }

    .menu_cate2 .menu_ttl_mp {
        height: 66px;
        width: 89%;
    }

    .menu_ttl_mp::after {
        right: -20px;
        border-width: 33px 20px 33px 0px;
    }

    .menu_cate4 .menu_ttl_sk {
        height: 46px;
    }

    .menu_ttl_sk::after {
        right: -20px;
        /* border-width: 33px 20px 33px 0px; */
    }
}
@media screen and (max-width: 440px) {
    .menu_cate2 .menu_ttl_yag {
        height: 46px;
        width: 90%;
    }

    .menu_ttl_yag::after {
        border-width: 23px 20px 23px 0px;
    }

    .menu_cate2 .menu_ttl_dp {
        height: 56px;
    }

    .menu_ttl_dp::after {
        border-width: 28px 20px 28px 0px;
    }

    .Android .menu_cate2 .menu_ttl_dp {
        width: 88%;
        height: 50px;
    }

    .Android .menu_ttl_dp::after {
        border-width: 25px 20px 25px 0px;
        right: -20px;
    }

    .menu_cate2 .menu_ttl_mp {
        height: 56px;
    }

    .menu_ttl_mp::after {
        border-width: 28px 20px 28px 0px;
    }

    .menu_cate4 .menu_ttl_sk {
        height: 50px;
    }

    .menu_ttl_sk::after {
        border-width: 25px 20px 25px 0px;
    }

    .Android .menu_cate2 .menu_ttl_mp {
        height: 50px;
    }

    .Android .menu_ttl_mp::after {
        border-width: 25px 20px 25px 0px;
        right: -20px;
    }

    .Android .menu_ttl_sk::after {
        border-width: 25px 20px 25px 0px;
        right: -20px;
    }
}

/* dr_menu */
@media screen and (min-width: 750px) {
    .menu_list_mp .price_txt {
        margin-bottom: 1.5%;
    }

    #top_page .dr_menu {
        padding: 70px 0 0;
    }

    #top_page .dr_menu .dr_menu_ttl {
        transform: none;
        margin-bottom: 50px;
    }

    #top_page .dr_menu .menu_ttl.menu_ttl_jl {
        line-height: 1.3;
        height: 68px;
        font-size: 2.1rem;
        width: 190px;
    }

    #top_page .dr_menu .menu_ttl.menu_ttl_jl::after {
        border-width: 34px 20px 34px 0px;
        right: -20px;
    }

    #top_page .dr_menu .menu_ttl.menu_ttl_lift {
        line-height: 1.3;
        height: 68px;
        font-size: 1.8rem;
        width: 200px;
    }

    #top_page .dr_menu .menu_ttl.menu_ttl_lift::after {
        border-width: 34px 20px 34px 0px;
        right: -20px;
    }

    /* #top_page .menu_list_cp, #top_page .menu_list_mp {
        margin-bottom: 0;
    } */

     /* #top_page .menu_list_sk, #top_page .menu_list_mp {
        margin-bottom: 0;
    } */

    /* #top_page .menu_list_yag, #top_page .menu_list_hai {
        margin-bottom: 0;
    } */

    /* #top_page .menu_list_yag, #top_page .menu_list_co2 {
        margin-bottom: 0;
    } */

    .menu_list_botox .list_p {
        padding-bottom: 4%;
    }

    .menu_list_co2 .list_p {
        padding-bottom: 8%;
    }

    .menu_cate4 .menu_ttl_sk {
        height: 68px;
    }
}

/* お悩み別で探す
---------------- */
@media screen and (min-width: 750px) {
    .menu_cate_wrap {
        padding: 2% 0 20px;
    }

    #top_page .trouble .bg_area {
        padding: 50px 0 140px;
    }

    #top_page .trouble h3 {
        max-width: 460px;
    }

    #top_page .trouble ul {
        padding: 20px 0 0;
    }

    #top_page .trouble ul li {
        max-width: 500px;
        margin: 0 auto;
    }
}

/* sec03
---------------- */

@media screen and (min-width: 750px) {
    #top_page .sec03 .bg_area {
        /* background-color: #ff89ad; */
        padding: 20px 20px 60px;
        position: relative;
    }

    #top_page .sec03 .sec03_heading {
        margin-bottom: 30px;
        padding: 30px 0 0;
        max-width: 850px;
        margin: 0 auto 30px;
    }

    #top_page .sec03 .sec03_heading h3 {
        margin-bottom: 20px;
    }

    #top_page .sec03 .sec03_heading h3 img {
        max-width: 100%;
    }

    #top_page .sec03 .sec03_heading p {
        padding: 15px 0 0;
        font-size: 3.3rem;
        width: 100%;
    }

    #top_page .sec03 .bg_area::before {
        content: '';
        display: block;
        position: absolute;
        max-width: 1400px;
        height: 32px;
        background: url(../images/pc/sec3_bg_pc.png) no-repeat center center;
        background-size: cover;
        left: 0;
        top: -10px;
    }

    #top_page .sec03 .sec03_desc {
        padding-bottom: 20px;
        max-width: 860px;
        margin: 0 auto;
    }

    #top_page .sec03_desc>.flex_pc {
        padding: 30px 30px;
        align-items: center;
    }

    #top_page .sec03_desc>.flex_pc figure {
        width: 40%;
    }

    #top_page .sec03_desc>.flex_pc p {
        width: 60%;
        font-size: 1.6rem;
        padding: 0 0 0 4%;
    }

    #top_page .sec03 .btn_area>.flex_pc {
        justify-content: center;
        padding: 0 2%;
    }

    #top_page .sec03 .btn_area p {
        width: 98%;
    }
}

@media screen and (max-width: 1000px) {
    #top_page .sec03 .sec03_heading {
        padding: 40px 20px 0;
    }

    #top_page .sec03 .sec03_heading p {
        font-size: 3.8vw;
    }
}

@media screen and (max-width: 750px) {
    #top_page .sec03 .sec03_heading {
        padding: 1% 0 0;
    }

    #top_page .sec03 .sec03_heading p {
        font-size: 3.9rem;
    }
}


/* sec04
---------------- */

@media screen and (min-width: 750px) {
    #top_page .sec04 {
        padding: 180px 0 70px;
    }

    #top_page .sec04 .heading_bg {
        background: url(../images/pc/heading_bg_top_sec4_pc.png) center center;
        background-size: cover;
        padding: 40px 0 4%;
        height: 145px;
        aspect-ratio: auto;
        transform: translateY(-4%);
    }

    #top_page .sec04 .heading h3 img {
        max-width: 240px;
    }

    #top_page .sec04 .flex_pc {
        max-width: 1000px;
        margin: 0 auto;
    }

    #top_page .sec04 figure {
        width: 30%;
    }

    #top_page .sec04 .txt_area {
        width: 60%;
        display: flex;
        flex-direction: column;
        align-items: start;
    }

    #top_page .sec04 .txt_area h4 {
        text-align: left;
        font-size: 3.7rem;
        padding: 0 0 30px
    }

    #top_page .sec04 .txt_area h4 .txt_s {
        font-size: 2.6rem;
    }

    #top_page .sec04 .txt_area h4 .txt_s {
        font-size: 2.2rem;
        padding-left: 10px;
    }

    #top_page .sec04 .txt_area .wrap h5 {
        font-size: 2.4rem;
        display: flex;
        align-items: center;
    }

    #top_page .sec04 .txt_area .wrap h5::before {
        content: '';
        width: 15px;
        margin-right: 7px;
    }

    #top_page .sec04 .txt_area p {
        padding-right: 20px;
    }
}

/* sec05
---------------- */

@media screen and (min-width: 750px) {
    #top_page .sec05 {
        background: #e1f2fa;
        padding: 150px 20px 80px;
        position: relative;
    }

    #top_page .sec05 .heading_bg {
        background: url(../images/pc/heading_bg_or_pc.png) center center;
        background-size: cover;
        padding: 40px 0 4%;
        height: 145px;
        aspect-ratio: auto;
        transform: translateY(-4%);
    }

    #top_page .sec05 .heading_bg h3 img {
        width: 240px;
    }

    #top_page .sec05 .img_area .img_top img {
        margin: 0 auto;
    }

    #top_page .sec05 .img_area {
        max-width: 710px;
        margin: 0 auto;
    }

    #top_page .sec05 .img_area ul li {
        width: 31%;
        margin: 20px 0 0;
    }
}

/* bottom_access
---------------- */

@media screen and (min-width: 750px) {
    #top_page .bottom_access {
        padding: 30px 0 20px;
    }

    .bottom_access img {
        margin: 0 auto;
    }
}

/* news_area
---------------- */

@media screen and (min-width: 750px) {
    #top_page .news_area {
        max-width: 900px;
        margin: 0 auto;
        padding: 50px 20px 50px;
    }

    #top_page .news_area .top_news_heading {
        font-size: 2.4rem;
        border: 1px solid;
        padding: 15px 0;
        margin-bottom: 30px;
    }

    #top_page .news_area .top_news_list .p_txt {
        font-size: 2rem;
    }
}

/* footer
---------------- */
@media screen and (min-width: 750px){
    .footer {
        padding: 4% 0 3%!important;
    }
    
    .footer .flex_pc {
        max-width: 1000px;
        margin: 0 auto 40px;
        padding: 0 20px;
        justify-content: space-between;
    }

    .footer .flex_pc .footer_l {
        width: 30%;
    }

    .footer .flex_pc h4 a {
        width: 90%;
    }

    .footer .insta_follow img {
        width: 160px;
    }

    .footer .footer_nav {
        margin: 0;
    }

    .footer .footer_nav ul li a {
        background: none;
        color: #fff;
        font-weight: 400;
        text-align: left;
        width: 100%;
        font-size: 1.8rem;
        margin-bottom: 10px;
    }

    .footer .flex_pc .footer_r {
        width: 35%;
    }

    .footer .flex_pc .footer_r .txt_area {
        margin-bottom: 30px;
    }

    .footer .flex_pc .footer_r p {
        font-size: 1.6rem;
        text-align: left;
        margin-bottom: 10px;
    }

    .footer .flex_pc .footer_r p.mb_2 {
        margin-bottom: 25px;
    }

    footer .contact_btn figure img {
        width: 100%;
    }

    footer small {
        font-size: 1.4rem;
    }
}

@media screen and (max-width: 1000px) {
    .footer .insta_follow img {
        width: 55%;
    }

    footer .footer_nav {
        padding: 0 20px;
    }
}

@media screen and (max-width: 750px) {
    .footer .insta_follow img {
        width: 25%;
    }

    footer .footer_nav {
        padding: 0;
    }
}