@media screen and (max-width: 1240px) {
    .gnav_dropdown_inner {
        padding: 0px 40px;
    }
    .gnav_link {
        padding-left: 10px;
        padding-right: 10px;
    }
    .gnav_txt {
        font-size: 12px;
    }
}
@media screen and (max-width: 1200px) {
    .gnav_list_main {
        display: none;
    }
    .gnav_dropdown_inner {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .gnav_ttl {
        margin-top: 0;
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 20px;
        text-align: center;
    }
    .gnav_ttl_en {
        padding-left: 0;
    }
    .gnav_ttl_en::before {
        content: none;
    }
    .gnav_dropdown_list {
        max-width: 100%;
        margin-right: auto;
    }
    .xl_inner {
        padding-right: 24px;
        padding-left: 24px;
    }
    .lg_inner, .md_inner, .sm_inner {
        padding-right: 40px;
        padding-left: 40px;
    }
    .sec-banner_left .sec-banner_header::before {
        left: 0;
    }
    .sec-banner_right .sec-banner_header::before {
        right: 0;
    }     
    .sec-cardlist_item {
        width: 23%;
    }
    .sec-cardlist_item:not(:nth-of-type(4n)) {
        margin-right: 2.5%;
    }
    .contact_menu_item {
        width: 49%;
        margin-top: 1%;
        margin-bottom: 1%;
    }
    .contact_menu_item:not(:nth-child(2n)) {
        margin-right: 2%;
    }
    .contact_menu_thumb {
        position: relative;
        width: 100%;
    }
    .contact_menu_thumb_inner::before {
        padding-top: 56.25%;
    }
    .contact_menu_ttl_ja {
        font-size: 24px;
    }
    .contact_menu_desc {
        width: 100%;
    }
    .pagemenu_header_ttl {
        width: 20%;
    }
    .pagemenu_left .pagemenu_header_ttl {
        margin-right: 5%;
    }
    .pagelist {
        width: 75%;
    }
    .pagelist_3col .pagelist_item {
        width: 28.333%;
    }
    .pagemenu_left .pagelist_item {
        margin-right: 5%;
    }
    .pagelist_2col .pagelist_item {
        width: 45%;
    }
    .pagemenu_right .pagelist_item {
        margin-left: 5%;
    }
    .contact_area_inner {
        max-width: 480px;
    }
    .contact_title {
        margin-bottom: 16px;
    }
    .contact_title_ja {
        font-size: 28px;
    }
    .contact_lead ._pc {
        display: none;
    }
    .contact_web {
        margin-top: 24px;
    }
    .sec-ranking_main_inner {
        margin-right: 0;
        margin-left: 0;
    }
}
@media screen and (max-width: 1120px) {
    .contact_area {
        padding: 80px 40px 120px;
    }
    .contact_lead {
        margin-bottom: 56px;
    }
}
@media screen and (max-width: 1080px) {
    .sec-banner {
        padding-bottom: 40px;
    }
    .sec-banner_inner {
        padding-bottom: 40px;
    }
    .sec-banner_header {
        padding-bottom: 40px;
    }
    .sec-banner_header::before {
        width: calc(100vw - 40px);
    }
    .sec-banner_body {
        position: relative;
        top: 0;
        max-width: 100%;
        margin-bottom: 0;
    }
    .sec-banner_left .sec-banner_body {
        margin-left: 0;
        border-radius: 8px 0 0 0;
    }
    .sec-banner_right .sec-banner_body {
        margin-right: 0;
        margin-left: auto;
        border-radius: 0 8px 0 0;
    }
    .sec-banner_footer {
        padding-bottom: 0;
    }
    .sec-banner_footer_inner {
        border-radius: 0 0 8px 0;
    }
    .slider_control_prev {
        left: 12px;
    }
    .slider_control_next {
        right: 12px;
    }
    .pagemenu_header_ttl {
        width: 100%;
        margin-bottom: 32px;
    }
    .pagemenu_right .pagemenu_header_ttl {
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 1;
        order: 1;
    }
    .pagelist {
        width: 100%;
    }
    .pagelist_2col.pagelist {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 2;
        order: 2;
    }
    .footer_main {
        margin-right: auto;
        margin-left: auto;
        margin-bottom: 0;
    }
    .footer_logo img {
        margin: auto;
    }
    .footer_name, .footer_address {
        text-align: center;
    }
    .footer_sns {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }
    .footer_sitemap {
        display: none;
    }
}

@media screen and (max-width: 1024px) {
    br._tb {
        display: block;
    }
    br._pc {
        display: none;
    }
    .sec-content {
        padding-top: 64px;
        padding-bottom: 64px;
    }
    .sec-banner_footer_inner {
        padding: 80px 48px;
      }
    
    .sec-ranking_main_img {
        width: 100%;
        margin-right: auto;
        margin-bottom: 40px;
    }
    .sec-ranking_main_img img {
        max-width: 100%;
        height: auto;
        margin: auto;
    }
    .sec-ranking_main_txt {
        margin-left: auto;
    }
    .contact_menu {
        padding-top: 64px;
        padding-bottom: 64px;
    }
    .contact_menu_btn {
        display: block;
        margin-left: auto;
    }
    .sec-pagemenu {
        margin-top: 40px;
        margin-bottom: 24px;
        padding-top: 64px;
    }
    .pagemenu_left .pagelist {
        margin-left: 0;
    }
    .pagemenu_right .pagelist {
        margin-right: 0;
        margin-left: auto;
    }
    .pagelist_3col .pagelist_item {
        width: 240px;
    }
    .pagemenu_left .pagelist_item {
        margin-right: 24px;
    }
    .pagelist_2col .pagelist_item {
        width: 360px;
    }
    .pagemenu_right .pagelist_item {
        margin-left: 24px;
    }
    .pagelist_2col.pagelist {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
    .footer_middle {
        padding-top: 64px;
    }
    .footer_middle_inner {
        padding-bottom: 64px;
    }

}

@media screen and (max-width: 960px) {
    .contact_img {
        width: calc(100vw * 0.4);
    }
    .contact_img img {
        width: 100%;
        height: auto;
    }
}

@media screen and (max-width: 768px) {
    .gnav {
        display: none;
    }
    .header_sitemap {
        overscroll-behavior-y: contain;
        overflow-y: scroll;
    }
    .sitemap {
        padding: 0;
    }
    .sitemap_cell {
        width: 100%;
    }
    .sitemap_ttl {
        margin-top: 24px;
        margin-bottom: 24px;
        margin-left: 24px;
    }
    .sitemap_item:not(:first-child), .sitemap_children_item {
        margin-top: 0;
    }
    .sitemap_parent_link, .sitemap_parent_nolink, .sitemap_children_link {
        display: block;
        position: relative;
        padding: 19px 24px 20px;
    }
    .sitemap_parent_link {
        border-bottom: 1px solid #F5F5F8;
    }
    .sitemap_children_link {
        background-color: #F5F5F8;
    }
    .sitemap_parent_link::after, .sitemap_children_link::after {
        position: absolute;
        top: 50%;
        right: 16px;
        transform: translate(-50%,-50%) rotate(45deg);
        width: 3px;
        height: 3px;
        border: 1px solid;
        border-color: #0F1070 #0F1070 transparent transparent;
        content: '';
    }
    .sitemap_close_btn {
        display: block;
        text-align: center;
    }
    .sec-banner_header::before {
        width: calc(100vw - 40px);
    }
    .sec-banner_footer_ttl {
        font-size: 36px;
    }
    .content_bglayer::before {
        content: none;
    }
    .sec-cardlist_item {
        width: 48%;
    }
    .sec-cardlist_item:not(:nth-of-type(4n)) {
        margin-right: auto;
    }
    .sec-cardlist_item:not(:nth-of-type(2n)) {
        margin-right: 4%;
    }
    .sec-pagemenu {
        margin-top: 40px;
        margin-bottom: 40px;
        padding-top: 80px;
    }
    .sec-pagemenu::before {
        width: calc(100vw - 40px);
    }
    .footer_top {
        padding: 64px 0 32px
    }
    .footer_banner_item {
        max-width: calc(50% - 32px);
    }
}
@media screen and (max-width: 640px) {
    br._sp {
        display: block;
    }
    br._tb {
        display: none;
    }
    br._pc {
        display: none;
    }
    br._tb_pc {
        display: none;
    }
    .fixed_card {
        max-width: 100%;
    }
    .fixed_card_thumbnail {
        display: none;
    }
    .sec-ranking_main_copy {
        font-size: 24px;
    }
    .contact_img {
        right: 0;
    }
}
@media screen and (max-width: 480px) {
    .header_top {
        display: none;
    }
    .header_global {
        padding: 0 16px;
    }
    .header_global_inner {
        height: 56px;
    }
    .header_global_bar {
        height: 56px;
        padding-left: 16px;
        padding-right: 16px;
    }
    .header_logo {
        width: 101px;
        height: 24px;
    }
    .header_btn {
        width: 40px;
        height: 40px;
        padding: 8px;
    }
    .toggle_btn {
        height: 18px;
    }
    .header_sitemap {
        top: 28px;
        right: 16px;
        left: 16px;
    }
    .sitemap {
        top: 28px;
    }
    .sitemap_ttl_ja {
        margin-bottom: 2.133vw;
        font-size: 6.4vw;
        text-align: center;
    }
    .sitemap_ttl_en {
        padding-left: 0;
        font-size: 3.2vw;
        text-align: center;
    }
    .sitemap_ttl_en::before {
        content: none;
    }
    .xl_inner, .lg_inner, .md_inner, .sm_inner {
        padding-right: 16px;
        padding-left: 16px;
    }
    .sec-banner_header {
        padding-top: 10.666vw;
    }
    .sec-banner_ttl {
        margin-top: -1.6vw;
    }
    .sec-banner_ttl_ja {
        font-size: 6.4vw;
        margin-bottom: 2.133vw;
    }
    .sec-banner_ttl_en {
        font-size: 3.2vw;
    }
    .sec-banner_left .sec-banner_ttl_en {
        padding-left: 6.4vw;
    }
    .sec-banner_right .sec-banner_ttl_en {
        padding-right: 6.4vw;
    }
    .sec-banner_ttl_en::before {
        width: 4.8vw;
    }
    .sec-banner_img img {
        width: 100%;
        height: auto;
    }
    .sec-banner_body {
        padding: 24px 16px 32px;
    }
    .sec-banner_copy {
        margin-bottom: 4.266vw;
        font-size: 4.8vw;
    }
    .sec-banner_txt {
        margin-bottom: 6.4vw;
        font-size: 3.733vw;
    }
    .sec-banner_footer_inner {
        padding: 64px 16px 32px;
    }
    .sec-banner_footer_ttl {
        margin-bottom: 3.733vw;
        font-size: 5.333vw;
    }
    .sec-banner_footer_lead {
        margin: 0 auto 8.533vw;
        font-size: 3.733vw;
        text-align: left;
    }
    .sec-banner_footer_lead br {
        display: none;
    }
    .sec-content {
        padding-top: 40px;
        padding-bottom: 40px;
    }
    .sec-header_ver_ttl .sec-header_ttl_ja, .sec-header_hor_ttl .sec-header_ttl_ja {
        margin-bottom: 2.133vw;
        font-size: 6.4vw;
        line-height: 1.25;
    }
    .sec-header_ver_ttl .sec-header_ttl_en, .sec-header_hor_ttl .sec-header_ttl_en {
        font-size: 3.2vw;
    }
    .sec-header_hor_ttl .sec-header_ttl_en {
        padding-left: 6.4vw;
    }
    .sec-header_hor_ttl .sec-header_ttl_en::before {
        width: 4.8vw;
    }
    .sec-header_horizontal {
        margin: 0 auto 10.666vw;
    }
    .sec-ranking_main_inner {
        padding-right: 32px;
        padding-left: 32px;
        padding-top: 56px;
        padding-bottom: 32px;      
    }
    .sec-ranking_main_img {
        max-width: 240px;
    }
    .sec-ranking_main_copy {
        margin-bottom: 3.2vw;
        font-size: 5.333vw;
    }
    .sec-ranking_main_note {
        margin-bottom: 5.333vw;
        font-size: 10px;
    }
    .sec-ranking_main_desc {
        font-size: 3.2vw;
    }
    .sec-header_hor_more_btn .more_link {
        height: 32px;
        padding-right: 32px;
        padding-left: 32px;
        border-radius: 32px;
    }
    .sec-header_hor_more_btn .more_link_txt {
        font-size: 10px;
        line-height: 32px;
    }
    .sec-header_hor_more_btn .more_link_txt.icon_arrow_right::after {
        width: 3px;
        height: 3px;
        border-width: 1px;
    }
    .slide_content {
        padding: 0 4.266vw 5.333vw;
    }
    .slide_ttl {
        font-size: 3.733vw;
    }
    .slide_info {
        font-size: 3.2vw;
    }
    .sec-cardlist_item {
        margin-bottom: 6.4vw;
    }
    .card_title {
        -webkit-line-clamp: 3;
        max-height: 14.4vw;
        font-size: 3.2vw;
    }
    .contact_menu {
        padding-top: 24px;
        padding-bottom: 24px;
    }
    .contact_menu_item {
        width: 100%;
    }
    .contact_menu_item:not(:nth-child(2n)) {
        margin-right: 0;
    }
    .contact_menu_item {
        margin-top: 0;
        margin-bottom: 0;
    }
    .contact_menu_item:not(:first-child) {
        margin-top: 4.266vw;
    }
    .contact_menu_link {
        padding: 8.533vw;
    }
    .contact_menu_ttl_ja {
        margin-bottom: 2.133vw;
        font-size: 5.333vw;
    }
    .contact_menu_ttl_en {
        padding-left: 6.4vw;
        font-size: 3.2vw;
    }
    .contact_menu_ttl_en::before {
        width: 4.8vw;
    }
    .contact_menu_desc {
        margin-top: 3.2vw;
        margin-bottom: 3.2vw;
        font-size: 3.2vw;
    }
    .pagemenu_left .pagemenu_header_ttl {
        margin-right: 0;
    }
    .pagemenu_right .pagemenu_header_ttl {
        margin-left: 0;
    }
    .pagemenu_header_ttl_ja {
        margin-bottom: 2.133vw;
        font-size: 6.4vw;
        line-height: 1;
    }
    .pagemenu_left .pagemenu_header_ttl_en {
        padding-left: 6.4vw;
        font-size: 3.2vw;
    }
    .pagemenu_right .pagemenu_header_ttl_en {
        padding-right: 6.4vw;
    }
    .pagemenu_header_ttl_en::before {
        width: 4.8vw;
    }
    .pagemenu_left .pagelist_item {
        margin-right: 0;
    }
    .pagemenu_right .pagelist_item {
        margin-left: 0;
    }
    .pagelist_3col .pagelist_item, .pagelist_2col .pagelist_item {
        width: 100%;
        margin-bottom: 8.533vw;
    }
    .pagelist_3col .pagelist_thumbnail_inner::before, .pagelist_2col .pagelist_thumbnail_inner::before {
        padding-top: 56.25%
    }
    .pagelist_ttl_ja {
        font-size: 4.266vw;
    }
    .pagelist_ttl_en {
        font-size: 10px;
    }
    .contact_area {
        padding: 48px 24px 32px;
    }
    .contact_area::before, .contact_area::after {
        border-width: 6.4vw;
    }
    .contact_title {
        margin-bottom: 3.2vw;
    }
    .contact_title_en {
        margin-bottom: 2.133vw;
        padding-left: 6.4vw;
        font-size: 3.2vw;
    }
    .contact_title_en::before {
        width: 4.8vw;
    }
    .contact_title_ja {
        font-size: 4.266vw;
    }
    .contact_lead {
        margin-bottom: 8.533vw;
        font-size: 3.2vw;
    }
    .contact_tel {
        margin: auto;
    }
    .contact_tel_num {
        margin-right: 0;
        margin-bottom: 3.2vw;
    }
    .icon_phone {
        width: 4.928vw;
        height: 5.333vw;
    }
    .contact_tel_txt {
        font-size: 6.933vw;
    }
    .contact_biz_hours {
        margin-left: 0;
        font-size: 3.2vw;
        text-align: center;
    }
    .contact_web_link {
        padding-left: 10.666vw;
        padding-right: 10.666vw;
    }
    .contact_web_txt {
        font-size: 3.733vw;
    }
    .contact_img {
        display: none;
    }
    .icon_send {
        width: 6.133vw;
        height: 5.866vw;
    }
    .footer_top {
        padding: 40px 0;
    }
    .footer_banner {
        width: 100%;
    }
    .footer_banner_item {
        max-width: 100%;
        margin-right: 0;
        margin-bottom: 0;
    }
    .footer_banner_item:not(:first-child) {
        margin-top: 6.4vw;
    }
    .footer_logo {
        margin-bottom: 3.2vw;
    }
    .footer_name {
        margin-bottom: 2.133vw;
        font-size: 10px;
    }
    .footer_address_item {
        margin-top: 2.133vw;
    }
    .footer_address_txt {
        font-size: 10px;
    }
}
