@media only screen and (min-width: 751px) {
    .sub_menu li a:hover {
        background: #277AB4;
        transition: all 0.3s ease;
    }

    .menu_icon {
        display: none;
    }

    .gnavi_ctn>li>a:hover {
        opacity: 0.75
    }

    .under .anchor_list li a:hover {
        background: #fff;
        color: #00001A;
    }

    .under .anchor_list li a:hover:after {
        border-color: transparent transparent transparent #00001A;
    }

    .udr_btn a:hover,
    .under .question dt:hover,
    .udr_bnr li a:hover,
    .idx_list_btn li a:hover,
    .f_nav_fixed a:hover,
    .f_link_menu_item a:hover,
    .f_link_menu_ttl a:hover,
    .f_link_menu_item a:hover:before {
        opacity: 0.7;
    }

    .logo a:hover img {
        opacity: 1;
    }

    .idx_blog a:hover {
        text-decoration: underline
    }

    .idx_btn:hover {
        background: #fff;
        color: #00001A;
        border: 1px solid #00001A;
    }

    .idx_btn:hover:after {
        border-left: 6px solid #00001A;
    }

    .scroll_top a:hover {
        color: #00001A;
    }

    .topic_path li a:hover {
        text-decoration: underline
    }

    a:hover img {
        opacity: 0.8;
        transition: all 0.3s ease
    }

    .box05 .item_txt .grp_txt:hover {
        background: #070730;
    }

    /***news***/
    .pager a:hover,
    .pager li.active a:hover {
        background: #018995;
    }

    .list_news>li:hover img {
        transform: scale(1.02);
    }

    .list_news>li:hover {
        border: 1px solid #3a9ba0;
        background: #f6fbfb;
    }

    .code_btn:hover {
        background: #053753
    }

    .submit_btn:hover {
        background: #0C4E7B;
    }

    .navigation a:hover {
        opacity: 0.8;
    }

    .post-password-form input[type="submit"]:hover {
        opacity: 0.8;
    }

    a[target="_blank"]:hover,
    a[target="_blank"]:hover img {
        opacity: 1 !important;
    }

    .sub_menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        transition: all 0.3s;
    }

    .gnavi_ctn>li:hover .sub_menu {
        opacity: 1;
        visibility: visible;
    }
}

@media screen and (min-width: 751px) and (max-width: 1830px) {
    .logo {
        width: 440px;
    }

    .gnavi_ctn>li>a {
        font-size: 14px;
    }

    .idx_fx_btn_map {
        width: 59vw;
    }

    .box05 .idx_b01 .con_text {
        width: 23vw;
    }

    .box05 .idx_b01 .img_r {
        margin: -9vw -6vw -10vw 0
    }

    .box05 .idx_b01 .img_r img {
        max-width: 36vw;
    }

    .slider_main .visual-slide {
        height: calc(100vh - 210px);
    }
}

@media screen and (min-width: 751px) and (max-width: 1780px) {
    .item_txt .grp_txt {
        padding: 3vw 3vw 3.1vw 4vw;
        margin-top: 0;
    }

    .idx_h301 {
        font-size: 1.6vw;
        margin-bottom: 1.3vw;
        padding-bottom: 0.9vw;
    }

    .idx_b01 .img_r {
        margin: -7.5vw -2vw 0 0;
    }

    .idx_b01 .img_r img {
        max-width: 24vw
    }

    .idx_b01 .txt {
        margin-bottom: 2vw;
    }

    .idx_b01 .item_txt {
        margin: 0 0 0 -12vw;
    }

    .idx_b01 .con_text {
        width: 29vw;
    }
}

@media screen and (min-width:751px) and (max-width:1680px) {
    .logo {
        width: 380px;
    }

    #gnavi {
        margin-right: 30px;
    }

    .gnavi_ctn>li {
        margin-right: 25px;
    }

    .h_time .txt {
        font-size: 12px;
    }

    .idx_fx_btn_map {
        width: 61vw;
    }

    .idx_box1 .grp_txt {
        margin-right: 1vw;
        width: 41vw
    }

    .igrp_btn>li {
        width: 47.2%;
    }

    .bx03_01 {
        padding: 40px 70px 70px;
        margin: 0 -50px;
    }

    .bx03_01:after {
        width: 100%;
        left: 0
    }

    .grp_bx04 {
        position: relative
    }

    .grp_bx04 {
        position: relative;
        left: -9vw;
    }

    .box04:after {
        right: 0;
        width: 27vw;
        height: 50vw;
    }

    .box05 .item_txt .grp_txt {
        padding: 3vw 3vw 3vw 3.5vw
    }

    .box05 .idx_b01 .img_r {
        margin: -7vw -6vw -10vw 0;
    }

    .idx_b01 .txt p {
        font-size: 1vw
    }

    .footer_link:before {
        left: 0;
        margin-left: 0;
    }

    .slider_main .visual-slide {
        height: calc(100vh - 195px);
    }
}

@media only screen and (min-height: 360px) and (min-width: 641px) and (max-width: 1366px) {
    .f_nav_fixed {
        transform: translateY(-50%) scale(0.79);
        transform-origin: right;
        top: 54%
    }
}

@media screen and (min-width:751px) and (max-width:1440px) {
    .box1_bg {
        padding: 90px 0;
    }

    .box05 {
        padding: 90px 0 50px;
    }

    .box06 {
        padding: 20px 10px 80px;
    }

    .bx03_01 {
        width: 99%;
        margin: 0 -30px;
        padding: 50px 50px 50px
    }

    .idx_img .item {
        width: 48%;
    }

    /* index */
    .idx_f_top,
    .f_bg_txt,
    .idx_f_map {
        width: 100%;
    }

    .logo {
        width: 280px;
    }

    .h_tel .tel a {
        font-size: 20px;
    }

    .h_tel .tel:before {
        top: 10px;
    }


    .tel .fax {
        font-size: 14px;
        letter-spacing: 0.3px;
        margin-top: -3px;
    }

    .f_contact_t {
        width: calc(100% - 150px);
        left: 0;
        transform: none;
    }

    .idx_fx_btn_map {
        width: 61vw;
    }

    .idx_btn_map {
        right: 58px;
    }

    #gnavi {
        margin-right: 20px;
    }

    .gnavi_ctn>li>a {
        font-size: 13px;
    }

    .h_time .txt {
        font-size: 11px;
    }

    .idx_list_btn li a {
        font-size: 13px;
        padding: 10px 40px 10px 40px;
    }

    .idx_f_map_r {
        flex: 1;
    }

    .bx03_01 {
        margin: 0px -70px;
    }

    .bx03_01:before {
        left: -6vw;
        top: -6vw;
        width: 26vw;
        height: 11vw;
    }

    .idx_list02>li {
        width: 24%
    }

    .price_r .price {
        font-size: 30px;
    }

    .price_r .price .sml {
        font-size: 25px;
    }

    .idx_tbl .t01 {
        font-size: 14px;
    }

    .idx_tbl .t02 {
        font-size: 20px;
    }

    .idx_list02 p {
        font-size: 17px;
    }

    .f_link_menu_col:last-child {
        position: relative;
        left: -40px
    }

    .slider_main .visual-slide {
        height: calc(100vh - 165px);
    }
}

@media screen and (min-width:751px) and (max-width:1230px) {
    .idx_h301 {
        font-size: 18px;
        padding-bottom: 15px;
        margin-bottom: 16px;
    }

    .idx_h301 .en {
        font-size: 12px
    }

    .idx_b01 .img_r img {
        max-width: 260px;
    }

    .idx_b01 .con_text {
        width: 380px;
    }

    .idx_box1 .grp_txt {
        width: 520px;
    }

    .idx_box1 .img {
        margin-right: -66px;
    }

    .bx03_01 {
        margin: 0 -20px;
        width: 97%
    }

    .bx03_01:before {
        width: 300px;
        top: -50px;
        left: 0;
        height: 128px;
    }

    .grp_blog dd {
        padding-left: 60px
    }

    .box05 .idx_b01 .img_r {
        margin: -62px -20px -83px 0
    }

    .box05 .idx_b01 .img_r {
        width: 51%
    }

    .box05 .idx_b01 .img_r img {
        max-width: 100%
    }

    .idx_b01 .item_txt {
        width: 68%
    }

    .idx_b01 .img_r {
        margin: -5.5vw 0vw 0
    }

    .idx_b01 .txt {
        font-size: 12px;
    }

    .box05 .idx_b01 .con_text {
        width: 320px;
    }

    .idx_b01 .item_img {
        width: 44%
    }

    .f_link_menu {
        padding-right: 60px
    }

    .idx_f_map {
        padding-left: 10px
    }

    .idx_f_map_l .img img {
        max-width: 70%
    }

    .under #content {
        padding: 0 10px
    }

    .udr_bnr li {
        width: 47%
    }
}

@media only screen and (max-width: 1200px) {
    .logo {
        width: 250px;
    }

    .h_time .txt {
        font-size: 11px;
    }

    .h_tel .tel a {
        font-size: 20px;
    }

    .gnavi_ctn>li>a {
        font-size: 12px;
        letter-spacing: 0
    }

    #gnavi {
        margin-right: 25px;
    }

    .f_contact_t {
        width: calc(100% - 80px);
    }

    .idx_list_btn li a {
        font-size: 14px;
    }

    .idx_btn_map {
        right: 74px;
    }

    .idx_f_map_l {
        padding-left: 15px;
    }

    .footer_link {
        padding: 75px 10px 0;
    }

    .f_link_menu_col:last-child,
    .f_link_menu_col:first-child {
        margin-right: 20px;
    }

    .idx_f_map_r iframe {
        width: 100%;
    }

    .f_link_menu_col:last-child {
        position: relative;
        right: 75px;
    }

    .idx_fx_btn_map {
        width: 100%;
    }

    .grp_blog {
        width: calc(100% - 74px);
    }

    /* UNDER */
    .udr_bg_pickup,
    .udr_step {
        width: calc(100% + 20px);
        padding: 15px 10px
    }

    .udr_step .container {
        width: 100%
    }
}

@media only screen and (max-width: 750px) {

    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    input,
    button,
    textarea,
    select,
    p,
    blockquote,
    th,
    td,
    pre,
    address,
    li,
    dt,
    dd {
        font-size: 140%;
    }

    #wrapper {
        min-width: 100%;
    }

    .image_r,
    .image_l,
    .under .img {
        float: none;
        text-align: center;
        margin: 0 0 25px;
    }

    section,
    .section,
    .udr_step {
        margin-bottom: 35px;
        overflow: hidden;
    }

    .container {
        width: 100%;
    }

    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    .under #content {
        width: 100%;
        padding: 0 10px;
    }

    .ico_menu_click {
        display: inline-block;
        position: absolute;
        right: 5px;
        top: 0;
    }

    .icon_menu {
        display: inline-block;
        float: right;
        width: 54px;
        text-align: center;
        height: 55px;
        position: relative;
    }

    .icon_menu.open {
        position: absolute;
        right: 0;
        top: 0;
        opacity: 0
    }

    .icon_menu span {
        display: block;
        background: #00001A;
        width: 72%;
        height: 4px;
        position: relative;
        margin: 7px auto 0;
        border-radius: 10px;
    }

    .icon_menu span:after,
    .icon_menu span:before {
        content: "";
        position: absolute;
        height: 4px;
        width: 100%;
        background: #00001A;
        -webkit-transition: all ease 0.3s;
        -moz-transition: all ease 0.3s;
        transition: all ease 0.3s;
        left: 0;
        right: 0;
        margin: 0 auto;
        border-radius: 10px;
    }

    .icon_menu:after {
        content: "Menu";
        position: absolute;
        bottom: 4px;
        color: #00001A;
        font-size: 14px;
        left: 0;
        right: 0;
        margin: 0 auto;
    }

    .icon_menu.active:after {
        content: "Close";
    }

    .icon_menu.active span:after {
        -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
        transform: rotate(45deg);
        bottom: -10px
    }

    .icon_menu.active span:before {
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    .icon_menu.active span {
        background: transparent
    }

    .icon_menu span:after {
        bottom: -20px;
    }

    .icon_menu span:before {
        top: 10px;
    }

    #gnavi {
        position: fixed;
        left: 0;
        display: none;
        padding-bottom: 80px;
        width: 100%;
        z-index: 1000;
        background: #00001A;
        overflow: auto;
        z-index: 99;
    }

    .gnavi_ctn {
        display: none;
    }

    .gnavi_ctn>li {
        display: block;
        margin-right: 0;
        padding: 0;
        border-bottom: 1px solid #fff;
    }

    .gnavi_ctn>li.insta {
        display: none;
    }

    .gnavi_ctn>li>a {
        padding: 15px 20px 15px 34px;
        font-size: 16px;
        text-align: left;
        color: #fff;
    }

    #totop {
        bottom: 80px;
        right: 12px;
        height: 40px;
    }

    #totop a img {
        max-width: 50%
    }

    #totop a {
        line-height: 1.6em;
        font-size: 8px;
        padding-top: 7px;
    }

    .logo {
        width: 260px;
        position: relative;
        left: -15px;
    }

    .pc {
        display: none;
    }

    .gnavi_ctn.sp {
        display: block;
        padding-top: 10px
    }

    .gnavi_ctn>li.active .sub_menu li:last-child {
        border-bottom: 0;
    }

    .gnavi_ctn.sp .sub_menu a:after {
        border-top: 1px solid #fff;
        border-right: 1px solid #fff;
    }

    .gnavi_ctn.sp .sub_menu a:after {
        content: "";
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%) rotate(45deg);
        -moz-transform: translateY(-50%) rotate(45deg);
        -ms-transform: translateY(-50%) rotate(45deg);
        transform: translateY(-50%) rotate(45deg);
        width: 10px;
        height: 10px;
        background: none;
        left: auto;
        right: 15px;
    }

    .sub_menu {
        position: static;
        transform: none;
        width: 100%;
        background-color: #277AB4;
    }

    .sub_menu li a {
        padding: 15px 30px 12px;
        border-bottom: 1px solid #fff;
    }

    .sub_menu li:last-child a {
        border-bottom: 0
    }

    .gnavi_ctn>li.over>a::after,
    .gnavi_ctn>li.over>span::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 20px;
        transform: translateY(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 6px 6px 0 6px;
        border-color: #fff transparent transparent transparent;
        transition: all 0.3s ease;
    }

    .gnavi_ctn>li.over.active>a::after,
    .gnavi_ctn>li.over.active>span::after {
        transform: translateY(-50%) rotate(180deg);
    }

    .gnavi_ctn>li.h_tel,
    .gnavi_ctn>li.h_time {
        display: none;
    }

    .box1_bg {
        padding: 30px 10px 50px;
    }

    .idx_b01 {
        flex-wrap: wrap;
        margin: 0 -10px
    }

    .idx_b01 .item_img,
    .idx_b01 .item_txt,
    .idx_b01 .con_text {
        width: 100%;
        float: none;
    }

    .idx_b01 .img_r {
        margin: 25px auto 0;
        text-align: center;
        float: none
    }

    .idx_b01 .txt {
        margin-bottom: 20px;
    }

    .btn {
        text-align: center
    }

    .idx_b01 .item_txt {
        margin-left: 0;
    }

    .item_txt .grp_txt {
        margin: -25px auto 0;
        width: calc(100% - 30px);
        padding: 35px
    }

    .idx_h301 {
        font-size: 21px;
        padding-bottom: 16px;
        margin-bottom: 20px;
        text-align: center;
        display: flex;
        flex-direction: column;
    }

    .idx_h301 .en {
        display: inline-block;
        margin: 0 auto 4px;
        padding-left: 24px;
        font-size: 13px
    }

    .idx_h301 .br {
        display: none
    }

    .idx_h301:after {
        right: 0;
        margin: 0 auto;
        width: 12vw;
    }

    .idx_h301 .en:before {
        width: 18px
    }

    .idx_box1 .grp_txt .txt {
        font-size: 14px;
    }

    .idx_btn:hover {
        color: #fff
    }

    .idx_img {
        justify-content: center;
        padding: 0 12vw;
    }

    .img_sp {
        margin: 30px auto 20px;
        line-height: 0;
        display: block;
        text-align: center
    }

    ._fx {
        flex-wrap: wrap
    }

    .box02 {
        padding: 45px 10px 50px
    }

    .idx_box1 .img {
        display: none
    }

    .idx_box1 .item {
        width: 100%
    }

    .idx_box1 .grp_txt {
        width: 100%;
        float: none;
        margin-right: 0;
    }

    .igrp_btn li {
        width: 48%
    }

    .idx_btn::after {
        right: 15px
    }

    .idx_btn {
        padding: 20px 40px 20px 15px;
    }

    .box03 {
        padding: 50px 10px
    }

    .idx_img .item {
        width: 100%;
        margin: 0 0 30px 0;
        text-align: center
    }

    .idx_tbl {
        text-align: left;
        margin-bottom: 0
    }

    .price_r .price {
        font-size: 30px;
    }

    .price_r .price .sml {
        font-size: 25px;
    }

    .idx_tbl .t02 {
        font-size: 18px;
    }

    .price_r .price .txt_sml {
        margin-top: 5px
    }

    .idx_list02 {
        flex-wrap: wrap;
    }

    .idx_list02>li {
        width: 47.5%;
        margin: 0 0 25px 0;
        padding: 6vw 10px;
    }

    .idx_list02>li:not(:last-child) {
        margin-right: 0;
    }

    .idx_list02>li:nth-child(1) {
        margin-right: 5%;
    }

    .bx03_01 .mwitdh {
        margin-bottom: 35px
    }

    .bx03_01 {
        width: 100%;
        margin: 0 auto 20px;
        padding: 0
    }

    .bx03_01:after,
    .bx03_01::before {
        display: none
    }

    .box04 {
        padding: 45px 10px 50px
    }

    .box04 .grp_btn {
        justify-content: space-between;
    }

    .box04 .grp_btn li {
        width: 48%
    }

    .box04 .grp_btn li a {
        min-width: 100%
    }

    .box04 .grp_btn li:last-child {
        margin: 0
    }

    .box04:after {
        display: none
    }

    .grp_img_sp {
        display: flex;
        justify-content: space-between;
        margin-bottom: 30px
    }

    .grp_img_sp>li {
        width: 48%;
        line-height: 0
    }

    .box05 .idx_b01 .img_r {
        float: none;
        margin: 0 auto;
        width: 60%
    }

    .box05 .item_txt .grp_txt {
        margin-top: -25px;
        padding: 35px 20px
    }

    .box05 .idx_b01 .con_text {
        width: 100%;
        margin-bottom: 30px
    }

    .box05 {
        padding: 50px 10px 70px;
    }

    .box06 {
        padding: 45px 10px 50px;
    }

    .grp_blog {
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 35px;
    }

    .grp_blog dt,
    .grp_blog dd {
        width: 100%
    }

    .grp_blog dd {
        padding-left: 0;
    }

    /* FOOTER */
    .idx_f_top {
        min-height: 500px;
    }

    .idx_list_btn {
        flex-direction: column;
        align-items: center;
    }

    .idx_list_btn li {
        width: 80%;
    }

    .f_list_contact li {
        padding: 0 32px;
    }

    .f_contact_t {
        padding: 32px 0 20px;
        left: 0;
        transform: none;
        width: 96%
    }

    .f_tlt_contact {
        font-size: 21px;
    }

    .f_list_contact li:first-child {
        padding-top: 11px;
    }

    .f_tlt_contact span {
        font-size: 13px;
        margin-bottom: 3px;
        padding-left: 27px;
        line-height: 1.8em;
    }

    .f_tlt_contact span:before {
        top: 3px;
        width: 20px;
        height: 18px;
    }

    .f_tel_contact span {
        font-size: 13px;
    }

    .f_list_contact .f_tel_contact .f_tel:before {
        top: 9px
    }

    .idx_f_map .container {
        flex-direction: column;
    }

    .idx_f_map_r,
    .idx_f_map_l {
        width: 100%;
        min-height: auto;
    }

    .idx_f_map_l {
        padding: 0 20px;
    }

    .idx_f_map .f_tel_contact,
    .idx_f_map .f_address {
        width: 50%;
        float: left;
        text-align: left;
        margin-bottom: 20px;
    }

    .f-banner {
        margin-bottom: 30px;
    }

    .idx_f_map_l .img {
        padding: 25px 0;
        margin-bottom: 0;
        line-height: 0
    }

    .f_bg_txt {
        padding: 35px 10px;
    }

    .f_bg_txt .container {
        width: 100%;
    }

    .footer_link {
        padding: 20px 10px;
    }

    .copyright {
        padding: 0;
    }

    .copyright p {
        font-size: 11px;
    }

    .idx_btn_map {
        right: 0;
        left: 0;
        margin: 0 auto -1px;
        min-height: auto;
    }

    .f_nav_fixed {
        width: 100%;
        display: flex;
        top: auto;
        bottom: 0;
        right: auto;
        left: 0;
        transform: none;
        height: 70px;
    }

    .f_nav_fixed li {
        width: 25%;
    }

    .nav_mail {
        order: 1;
    }

    .nav_grill,
    .nav_down,
    .nav_tel {
        order: 2;
    }

    .f_nav_fixed a {
        height: 100%;
        padding: 30px 10px 20px 10px !important;
    }

    .f_nav_fixed span {
        writing-mode: horizontal-tb;
        word-break: keep-all;
        letter-spacing: 0.01em;
        font-size: 12px !important;
    }

    .nav_grill>a>span,
    .nav_mail>a>span,
    .nav_down>a>span,
    .nav_tel>a>span {
        padding-top: 20px;
    }

    .nav_tel {
        display: block;
    }

    .nav_tel a {
        background: #00001A;
    }

    .nav_tel>a>span:before {
        position: absolute;
        content: '';
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        background: url(../images/ico_tel02.png) no-repeat center;
        background-size: contain;
        width: 18px;
        height: 18px;
    }

    /* UNDER */
    .udr_bg_pickup .container {
        width: 100%;
    }

    .udr_cnt_top {
        width: 100%;
    }

    .under h2 {
        font-size: 23px;
    }

    .under h2 span {
        font-size: 12px;
        line-height: 1.3em;
        padding-top: 20px;
    }

    .under #mainvisual .container {
        min-height: 200px;
        padding: 0 15px;
    }

    .topic_path {
        padding: 6px 0;
    }

    .topic_path li {
        font-size: 12px;
    }

    .topic_path li a {
        font-size: 13px;
    }

    .topic_path {
        margin: 0 auto 25px;
    }

    .under .anchor_list li a {
        font-size: 13px;
        padding: 10px 55px 10px 55px;
    }

    .under h3 {
        font-size: 19px;
        padding-bottom: 13px;
        margin-bottom: 20px;
    }

    .under h4 {
        font-size: 18px;
    }

    .under h4:before {
        top: 7px
    }

    .under h5 {
        font-size: 17px;
        padding-bottom: 5px;
    }

    .udr_list_col02 {
        flex-direction: column;
        align-items: center;
    }

    .udr_list_col02 li {
        width: 100%;
        margin-bottom: 50px;
    }

    .udr_list_col02 li:last-child {
        margin-bottom: 0;
    }

    .under_list li {
        font-size: 14px;
        margin-bottom: 22px;
    }

    .under_list li:before {
        top: 7px;
        width: 7px;
        height: 7px;
    }

    .under_list li {
        padding-left: 15px;
    }

    .udr_bg_pickup {
        width: calc(100% + 20px);
        padding: 30px 10px;
    }

    .udr_tlt_pickup {
        font-size: 22px;
        padding-bottom: 16px;
        margin-bottom: 20px;
    }

    .udr_tlt_pickup span {
        font-size: 13px;
        margin-bottom: 5px;
    }

    .udr_tlt_pickup span:before {
        top: 4px;
        width: 20px;
        height: 16px;
    }

    .tbl_block th,
    .tbl_block td {
        width: 100%;
        display: block;
    }

    .under_tbl th,
    .under_tbl td {
        padding: 0.7em 1.5em;
    }

    .under_tbl th {
        font-size: 15px;
    }

    .under_tbl td {
        font-size: 14px;
    }

    .udr_step {
        width: calc(100% + 20px);
        padding: 45px 10px;
    }

    .udr_step .flow_contents li {
        padding: 30px 40px;
    }

    .udr_step .flow_contents dt {
        font-size: 18px;
        padding-left: 25px;
    }

    .udr_step .flow_contents dt span {
        font-size: 13px;
    }

    .udr_step .flow_contents dt:before {
        background-size: contain;
        width: 20px;
        top: 6px;
        height: 16px;
    }

    .udr_step .flow_contents dd {
        font-size: 14px;
    }

    .under .question dt {
        font-size: 16px;
    }

    .under .question {
        padding: 15px;
    }

    .udr_bnr li {
        width: 70%;
    }

    .udr_bnr li a {
        font-size: 20px;
        min-height: auto;
        line-height: 1.5em
    }

    .udr_bnr li a span {
        font-size: 13px;
    }

    .udr_bnr li a span:before {
        background-size: contain;
        width: 22px;
        height: 18px;
    }

    .udr_list_price {
        flex-direction: column;
        align-items: center;
    }

    .udr_list_price li {
        width: 70%;
    }

    .udr_price {
        font-size: 29px;
    }

    .udr_price .txt_price {
        font-size: 24px;
    }

    .udr_price span {
        padding-left: 45px;
        font-size: 11px;
    }

    .udr_date_price {
        font-size: 12px;
        width: 60px;
        height: 60px;
    }

    .udr_tlt_price {
        font-size: 18px;
    }

    .udr_tlt_price span {
        font-size: 13px;
    }

    .tbl_scroll {
        overflow-x: scroll;
        position: relative;
        z-index: 0
    }

    .tbl_scroll .under_tbl {
        width: 980px;
    }

    .note {
        color: red;
        margin-bottom: 10px;
    }

    .idx_fx_btn_map {
        height: 400px
    }

    .idx_f_map_r iframe {
        height: 100%
    }

    .footer_link:before {
        margin-left: 0;
        top: 50%;
        transform: translate(-50%, -50%);
        width: 40px;
        height: 40px;
        opacity: 0.4
    }

    .idx_blog p {
        width: calc(100% - 178px);
    }

    .idx_blog .cate:before {
        top: 10px
    }

    .idx_blog .cate {
        margin-right: 15px
    }

    .idx_blog .date {
        margin: 0 18px 0 0px;
    }

    .txt_cen {
        margin-bottom: 30px;
    }

    .f_link_mod {
        display: none
    }

    .idx_blog {
        max-height: 320px
    }

    /****news***/
    .list_news>li,
    .list_news>li:nth-child(3n) {
        width: 48.5%;
        margin: 0 3% 40px 0;
    }

    .list_news>li:nth-child(2n) {
        margin-right: 0;
    }

    .list_news .img {
        height: 32vw;
        margin-bottom: 0
    }

    .grp_cate {
        padding: 0 6vw;
        margin-top: 30px
    }

    .grp_cate>li {
        width: 100%;
        margin: 0 0 20px 0
    }

    .grp_cate>li:last-child {
        margin-bottom: 0
    }

    .under_img>li {
        width: 46%;
        margin: 0 2%;
        height: 28vw;
    }

    .contact_frm dt,
    .contact_frm dd {
        width: 100%;
        display: block;
        padding: 15px;
        border: 1px solid #00001A;
    }

    .contact_frm input[type="text"],
    .contact_frm input[type="email"],
    .contact_frm input[type="tel"],
    .contact_frm .personal_region {
        width: 100%;
    }

    .code_btn {
        margin: 10px 0 0;
        padding: 20px;
        text-align: center;
        display: block
    }

    .idx_h301 .en.en_price {
        padding-left: 0;
        padding-top: 35px;
    }

    .under_tbl th {
        border: 0;
    }

    .udr_bnr {
        padding-right: 5px;
    }

    .nav_grill>a>span:before,
    .nav_tel>a>span:before,
    .nav_down>a>span:before {
        width: 16px;
    }

    .nav_mail>a>span:before {
        width: 18px;
    }

    .f-banner {
        text-align: center;
    }
}

@media only screen and (max-width: 640px) {
    .udr_list_price li {
        width: 100%;
    }

    .udr_bnr li a {
        font-size: 15px;
        letter-spacing: 0;
    }

    .idx_img {
        padding: 0 6vw
    }

    .idx_tbl>li {
        width: 47%
    }

    .idx_tbl>.price_r {
        width: 51%
    }

    .idx_list02 p {
        font-size: 15px;
    }

    .f_list_contact {
        margin-bottom: 20px
    }

    .f_list_contact li {
        padding: 0 20px;
    }
}

@media only screen and (max-width: 480px) {
    .idx_img {
        padding: 0
    }

    .idx_img .img {
        margin-bottom: 10px
    }

    .price_r .price .txt_sml {
        font-size: 10px
    }

    .idx_tbl .t02 {
        font-size: 3.8vw;
    }

    .idx_tbl .t01 {
        font-size: 2.9vw
    }

    .price_r .price {
        font-size: 5.5vw;
        padding-right: 1vw;
        text-align: right;
    }

    .price_r .price .sml {
        font-size: 4.6vw;
    }

    .idx_tbl .txt_l {
        padding-left: 2vw;
    }

    .price_r .txt02 {
        width: 19vw;
        height: 18vw;
        font-size: 3vw;
        padding: 1vw 1.5vw
    }

    .grp_img_sp {
        display: block
    }

    .grp_img_sp>li,
    .box04 .grp_btn li {
        width: 100%;
    }

    .grp_img_sp>li:last-child,
    .box04 .grp_btn li:last-child {
        margin-top: 20px
    }

    .idx_h301 {
        font-size: 18px;
        line-height: 1.7em;
    }

    .item_txt .grp_txt {
        padding: 35px 20px 25px
    }

    .item_txt .idx_h301 {
        font-size: 4.3vw;
        padding-bottom: 3vw;
    }

    .idx_h301 {
        padding-bottom: 3vw;
        font-size: 6vw;
    }

    .idx_btn {
        min-width: 100%
    }

    .sp_375 {
        display: block
    }

    .box05 .idx_b01 .img_r {
        width: 90%
    }

    .idx_list_btn li {
        width: 86%;
    }

    /* footer */
    .under .anchor_list {
        flex-direction: column;
        margin-bottom: 20px;
    }

    .under .anchor_list li {
        width: 100%;
        margin: 0 auto 20px;
    }

    .under .anchor_list li:last-child {
        margin-bottom: 0;
    }

    .f_list_contact {
        flex-direction: column;
    }

    .f_list_contact li {
        width: 100%;
        margin-bottom: 15px;
        border-right: none;
        text-align: center;
    }

    .f_list_contact li:last-child {
        margin-bottom: 0;
    }

    .f_list_contact li:first-child {
        border-right: none;
        padding-bottom: 15px;
        border-bottom: 1px solid #fff;
    }

    .f_tlt_contact span:before {
        left: 38px;
    }

    .idx_btn_map a {
        font-size: 13px;
        padding: 12px 55px 12px 55px;
    }

    .idx_btn_map a span:before {
        top: 7px;
    }

    .idx_btn_map {
        bottom: 0;
        min-height: auto;
    }

    .f_link_menu_item:not(:last-child) {
        margin-right: 98px;
    }

    .f_nav_fixed span {
        font-size: 9px !important;
    }

    .f_tlt_contact {
        display: flex;
        flex-direction: column;
    }

    .f_tlt_contact span:before {
        left: 0;
    }

    .f_list_contact li:first-child:after {
        display: none
    }

    .f_tlt_contact span {
        display: inline-flex;
        margin: 0 auto
    }

    .idx_f_map .f_tel_contact,
    .idx_f_map .f_address {
        width: 100%;
    }

    /**news***/
    .list_news>li:nth-child(n) {
        margin: 0 0 30px 0;
        width: 100%;
    }

    .list_news .img {
        height: auto;
    }

    .list_news .img img {
        max-height: 400px;
    }

    .grp_cate {
        padding: 0;
    }

    .pager.btn>li {
        width: 100%;
        display: block;
        margin: 0 0 20px 0;
        padding: 0 20px
    }

    .pager.btn>li:last-child {
        margin-bottom: 0
    }

    .pager.btn>li a {
        display: block;
        padding: 20px 10px
    }

    /*under */
    .udr_price {
        font-size: 18px;
        text-align: right;
        margin-right: 8px;
    }

    .udr_price .txt_price {
        font-size: 18px;
    }

    .udr_price span {
        padding-left: 0px;
    }

    .udr_date_price {
        font-size: 10px;
        width: 50px;
        height: 50px;
    }

    .udr_tlt_price {
        font-size: 16px;
        padding: 5px 5px 5px 10px;
    }

    .udr_price span {
        font-size: 10px;
    }

    .udr_tlt_price:before {
        height: 60px;
    }

    .udr_btn a {
        font-size: 13px;
        padding: 12px 40px 12px 40px;
    }

    .udr_btn a:after {
        right: 20px;
    }

    .udr_btn a span:before {
        width: 16px;
        height: 14px;
    }

    .udr_bnr li {
        width: 100%;
        margin: 0 10px 20px 10px;
    }

    .idx_fx_btn_map {
        height: 320px;
    }

    .idx_f_map_l .img img {
        max-width: 70%
    }

    .idx_blog li {
        display: block;
        padding: 15px 0 15px 0px
    }

    .idx_blog p {
        width: 100%
    }

    .idx_blog .cate:before {
        top: 6px
    }

    .f_contact_t {
        width: 96%;
    }

    .nav_grill>a>span:before,
    .nav_tel>a>span:before,
    .nav_down>a>span:before {
        width: 14px;
        height: 16px;
    }

    .nav_mail>a>span:before {
        width: 16px;
        height: 18px;
    }

    .nav_grill>a>span,
    .nav_mail>a>span,
    .nav_down>a>span,
    .nav_tel>a>span {
        padding-top: 15px;
    }

    .input_price {
        width: 53%;
    }

    .submit_btn {
        padding: 12px 11px;
    }

    .under_tbl iframe {
        height: 320px
    }

    .pager li.hidden {
        display: none;
    }
}

@media only screen and (max-width: 375px) {

    /* header */
    .logo {
        left: -30px
    }

    .gnavi_ctn>li>a {
        padding-left: 20px;
        font-size: 14px;
    }

    /* footer */
    .idx_list_btn li a {
        font-size: 13px;
        padding: 14px 48px 14px 48px;
    }

    .idx_list_btn .btn_c a span:before {
        top: 0px;
    }

    .idx_list_btn .btn_r a span:before {
        top: 0px;
    }

    .nav_grill>a>span,
    .nav_mail>a>span,
    .nav_down>a>span,
    .nav_tel>a>span {
        padding-top: 15px;
    }

    .nav_tel>a>span {
        font-size: 9px !important;
    }

    /* under */
    .under .question dt {
        font-size: 14px;
        padding: 12px 52px 12px 52px;
    }

    .under .question dt:before {
        width: 35px;
        height: 35px;
    }

    .under .question dt:after {
        top: 46%;
        left: 9px;
        font-size: 21px;
    }

    .under .question:before,
    .under .question:after {
        height: 1px;
        width: 25px;
        top: 56px;
        right: 25px;
    }

    .udr_step .flow_contents dt {
        font-size: 16px;
    }

    .udr_list_col02 {
        padding: 18px 25px 30px 25px;
    }

    .under h3 {
        font-size: 20px;
    }

    .under h4 {
        font-size: 18px;
        padding-left: 28px;
    }

    .under h4:before {
        top: 6px;
    }

    .udr_tlt_pickup {
        font-size: 20px;
    }

    .udr_step .flow_contents li {
        padding: 25px 15px;
    }

    .flow_img .image_l {
        margin: 0 0 10px;
    }

    .udr_step .flow_contents dt span {
        margin-bottom: 3px;
    }

    .udr_step .flow_contents dt:before {
        top: 3px;
    }

    .udr_bnr li {
        margin: 0 5px 20px 5px;
    }

    .udr_bnr li a {
        font-size: 15px;
    }

    .udr_bnr li a span {
        font-size: 12px;
        padding-top: 15px;
    }

    .udr_bnr li a span:before {
        width: 18px;
        height: 14px;
    }

    .under .question dd {
        padding: 12px 45px 12px 50px;
    }

    .udr_btn a {
        font-size: 11px;
        padding: 12px 40px 12px 30px;
    }

    .udr_btn a:after {
        right: 15px;
    }

    .udr_btn a span:before {
        width: 14px;
        top: 8px;
        height: 12px;
    }

    .under h5 {
        font-size: 17px;
    }
}

@media only screen and (max-width: 374px) {
    .txt_cen {
        font-size: 13px
    }

    .price_r .price .txt_sml {
        font-size: 9px
    }

    .idx_list_btn li a {
        font-size: 11px;
        padding: 14px 38px 14px 38px;
    }

    .f_nav_fixed span {
        font-size: 8px !important;
    }

    /* under */
    .udr_tlt_price {
        font-size: 15px;
    }

    .udr_price {
        font-size: 14px;
    }

    .udr_tlt_price span {
        font-size: 11px;
    }

    .sp_320_n {
        display: none;
    }

    .udr_bnr li a {
        font-size: 13px;
    }

    .udr_bnr li a span {
        font-size: 11px;
    }

    .idx_btn_map {
        left: -40px;
        width: 250px;
    }

    .udr_lsp {
        letter-spacing: 0;
    }

    /****news***/
    .under_img>li {
        width: 100%;
        margin: 0 0 25px 0
    }

    .under_img>li:last-child {
        margin-bottom: 0
    }

    .under_img>li {
        height: auto;
    }

    .under_img img {
        max-height: 320px
    }
}