@charset "utf-8";

@media screen and (max-width: 1024px) {
    /* ---------------------------------------------------------------------------------------------------*/
    #sec_overview h2{
        margin-bottom: 40px;
        padding-bottom: 24px;
        font-size: 26px;
        line-height: 1.4em;
    }
    .overview_content{
        padding-top: 48px;
        width: 100%;
        order: 2;
    }
    .overview_image{
        margin-left: 0;
        width: 100%;
        order: 1;
    }
    #sec_overview h3{
        font-size: 22px;
        text-align: center;
    }
    #sec_overview ol{
        padding: 12px 16px;
    }
    #sec_overview p.notice{
        margin-top: 16px;
    }
    .overview_data{
        margin: 40px auto 0;
        max-width: 100%;
        order: 3;
    }
    .overview_data h4{
        font-size: 20px;
    }
    .overview_data img{
        width: 100%;
    }

    /* ---------------------------------------------------------------------------------------------------*/
    #sec_map::after{
        width: calc(100% - 48px);
        height: 60vw;
        bottom: -16px;
        left: 40px;
    }
    #sec_map h2{
        margin-bottom: 40px;
        padding-bottom: 24px;
        font-size: 26px;
        line-height: 1.4em;
    }
    #sec_map h2::after{
        content: "";
        display: block;
        width: 80px;
        height: 4px;
        position: absolute;
        bottom: 0;
        left: calc(50% - 40px);
        background: #8bd140;
    }

    /* ---------------------------------------------------------------------------------------------------*/
    #sec_egc{
        margin-top: 64px;
    }
    #sec_egc .inner{
        background-size: 100%;
    }
    #sec_egc .wrap_egc{
        margin-bottom: 40px;
        padding: 32px 6%;
        width: 80%;
    }
    #sec_egc h2{
        font-size: 24px;
    }
    #sec_egc .obj_light{
        width: 24%;
        flex-shrink: 0;
    }
    #sec_egc .obj_light img{
        width: 100%;
    }
    .wrap_value{
        margin-left: auto;
        width: 70%;
    }
    #sec_egc .frame_pg{
        margin-top: 8px;
        width: auto;
        flex-wrap: wrap;
        justify-content: space-between;
    }
    #sec_egc .frame_pg_value{
        margin-top: 8px;
        height: 64px;
    }
    #sec_egc .frame_pg h3{
        width: 100%;
        font-size: 20px;
        line-height: 1.6em;
    }
    #sec_egc .frame_pg h3.subhead_second{
        margin-top: 16px;
    }
    #sec_egc #pg_day_value,
    #sec_egc #pg_week_value{
        font-size: 32px;
        line-height: 64px;
    }
    #sec_egc .pg_unit{
        font-size: 16px;
    }

    /* ---------------------------------------------------------------------------------------------------*/
    #sec_wanted{
        padding-bottom: 80px;
    }
    #sec_wanted h2{
        margin-bottom: 40px;
        padding-bottom: 24px;
        font-size: 26px;
        line-height: 1.4em;
    }
    #sec_wanted h2 + p{
        font-size: 16px;
    }
    #sec_wanted a.linkbtn_inquiry{
        width: 64%;
        font-size: 18px;
    }
}

@media screen and (max-width: 768px) {
    #sec_overview{
        margin-top: 48px;
    }
    #sec_overview h2{
        padding: 0 24px 24px;
        font-size: 22px;
    }
    #sec_overview h3{
        font-size: 20px;
        text-align: left;
    }
    #sec_overview h3 + p{
        padding: 24px 0;
    }
    .overview_data h4{
        font-size: 18px;
        text-align: left;
    }
    .overview_data p{
        margin-top: 8px;
    }

    /* ---------------------------------------------------------------------------------------------------*/
    #sec_map{
        margin-top: 48px;
    }
    #sec_map h2{
        padding: 0 24px 24px;
        font-size: 22px;
    }
    #map{
        height: 90vw;
    }
    #sec_map .map_wrap{
        margin: 40px -12px 0;
    }
    #sec_map .map_content{
        margin: 0;
    }
    #sec_map .text_center {
        font-size: 16px;
    }
    #sec_map .map_power > div{
        flex-direction: column;
        align-items: center;
    }
    .modal {
        padding: 24px;
        width: calc(100% - 48px);
    }
    .modal table {
        margin-top: 12px;
    }
    .modal table th,
    .modal table td{
        font-size: 13px;
    }
    .modal-close__wrap {
        right: 0;
        top: 0;
    }
    .modal table th.th_type{
        width: 5em;
    }
    /* --------------------------------------------------------------------------------------------------- */
    #sec_egc {
        margin-top: 40px;
    }
    #sec_egc .inner {
        background-size: 110% auto;
    }
    #sec_egc .wrap_egc{
        padding: 24px;
        width: 100%;
        display: block;
        position: relative;
    }
    #sec_egc h2{
        text-align: center;
        font-size: 22px;
    }
    #sec_egc .obj_light{
        font-size: 22px;
        position: absolute;
        width: 56px;
        top: -0.5em;
        left: calc(50% - 7.5em);
        transform: rotate(-20deg);
    }
    .wrap_value {
        width: 100%;
    }
    #sec_egc .frame_pg{
        width: 100%;
    }
    #sec_egc .frame_pg:nth-of-type(1){
        margin-top: 16px;
    }
    #sec_egc .frame_pg h3{
        font-size:  18px;
    }
    #sec_egc #pg_day_value.soon,
    #sec_egc #pg_week_value.soon{
        padding: 0;
        font-size: 20px;
        width: 100%;
    }

    /* ---------------------------------------------------------------------------------------------------*/
    #sec_wanted {
        margin-top: 48px;
    }
    #sec_wanted h2{
        padding: 0 24px 24px;
        font-size: 22px;
    }
    #sec_wanted h2 + p{
        text-align: justify;
    }
    #sec_wanted a.linkbtn_inquiry{
        margin: 16px auto 0;
        width: 100%;
        line-height: 68px;
    }
}