.sp440, .sp375, .sp390, .sp425 {
    display: none
}
@media screen and (min-width: 1921px) {
    .sec_contact:before, .ft_con.sec_contact::before {
        background-size: cover;
        width: 100%;
    }
    .mv_txt {
        max-width: 1920px;
        margin: 0 auto;
        right: 0;
    }
    nav.nav_link_com .inner {
        height: 100%;
        display: flex;
        align-items: center;
    }
    nav .nav_left {
        padding-top: 0px;
    }
    nav .nav_list {
        margin-top: 0;
        position: static;
    }
    nav .nav_list::before {
        top: 0px;
        left: 550px;
    }
}
@media screen and (min-width: 1801px) {
    footer .nav_link_com {
        padding-right: 52px;
    }
    .ft_bnr {
        padding-left: 15px;
    }
    footer .nav_list > ul:nth-child(1) {
        width: 163px;
    }
    footer .nav_list > ul:nth-child(2) {
        width: 270px;
    }
    footer .nav_list > ul:nth-child(3) {
        width: 163px;
    }
}
@media screen and (min-width: 751px) {
    a[href^="tel:"] {
        pointer-events: none;
    }
    .sp,.parent_main .sub_t > ul > li.sp {
        display: none
    }
	.menu  {
		display: flex !important;
	}
    .menu:before {
        position: absolute;
        content: "";
        height: 100%;
        background: #f7f7f7;
        width: calc(100% - 365px);
        left: 365px;
        top: 0;
        z-index: -1;
    }
    .menu_list > li.parent:before, .menu_list > li.parent:after {
        position: absolute;
        content: "";
        background: #f26221;
        right: 23px;
        top: calc(50% - 6px);
    }
    .menu_list > li.parent:before {
        width: 1px;
        height: 12px;
        transition: all 0.3s;
    }
    .menu_list > li.parent:after {
        width: 13px;
        height: 1px;
        top: calc(50% + -1px);
        right: 17px;
    }
    .menu_list > li.parent:hover:before {
        transform: rotate(90deg);
        opacity: 0;
    }
    .menu_list > li.parent:hover .sub_t .sub {
        position: absolute;
        z-index: 1;
        transition: all .3s;
        opacity: 0;
        visibility: hidden;
        width: 300px;
        top: 100%;
        left: 0;
        background: #000000;
    }
    .parent_main .sub_t > ul > li.child_link > a:hover, .parent_main .sub_t .sub_btn02:hover, .normal .sub_t li a:hover {
        color: #fac0a6;
    }
    .parent_main .sub_t > ul > li.child_link:hover, .normal .sub_t li:hover {
        background: url("../images/icon_arrow_o.svg") no-repeat right 0px center/19px;
    }
    .parent_main .sub_t .sub_btn02:hover {
        background: url("../images/icon_arrow_o.svg") no-repeat right 0px center/19px;
    }
    .parent:hover .sub_t {
        opacity: 1;
        transform: translate(0, 0);
        visibility: visible
    }
    .parent_main .sub_t .sub02 ul li a:hover {
        background: url("../images/icon_poly_o_w.svg")#666666 no-repeat left 7px center/6px;
    }
    .parent_main .sub_t .child:hover .sub02 {
        opacity: 1;
    }
    .menu_list > li.parent:hover > .sub_btn {
        color: var(--mcolor);
    }
    .parent_main .sub_t .child.active .sub_btn02 {
        color: #fac0a6;
    }
    .parent_main .sub_t .child.active .sub_btn02 {
        background: url("../images/icon_arrow_o.svg") no-repeat right 0px center/19px;
    }
    .sec01_item dd a:hover {
        color: var(--mcolor);
    }
    /*  FOOTER */
    .ft_bnn li:not(:last-child) {
        margin-right: 30px;
    }
    /* hover */
    .nav_link_com a:hover, .nav_list > li:hover > a, .menu_list > li > a:hover {
        color: var(--mcolor);
        text-decoration: none;
    }
    .nav_link_com .sub a:hover {
        text-decoration: none;
    }
    .ft_bnn li a:hover, .to_top img:hover, .sec02_slider .slick-prev:hover, .sec02_slider .slick-next:hover, .sec02_slider_sub:hover, .btn_fixed a:hover, .contact_mail a:hover, .contact_line a:hover, .ft_bnr_list a:hover, .nav_ins a:hover, .h_gg_view a:hover, .btn_fixed_close:hover {
        opacity: .8
    }
    .sec04item_g dl:hover {
        background: #fffed8;
    }
    .sec02_slider .slick-dots li button:hover {
        background: #f57a7a;
    }
    .hamburger-box:hover {
        background: #999;
    }
    .sec02 .ttl .mid .let01 {
        margin-right: 9px;
    }
    .sec02 .ttl .lg .let02 {
        margin-left: 7px;
    }
    .sec02 .ttl .lg {
        letter-spacing: -0.02em;
    }
    .sec04item_g dl .tt.let01 {
        letter-spacing: -0.07em;
    }
    .sec04item_g dl .tt.let03 {
        letter-spacing: -0.07em;
    }
    .sec04item_g dl .tt.let04 {
        letter-spacing: -0.02em
    }
    .sec04item_g dl .tt.let05 {
        letter-spacing: -0.08em;
    }
    .sec04item_g dl .tt.let06 {
        letter-spacing: -0.06em;
    }
    .sec04item_g dl .tt.let07, .sec04item_g dl .tt.let02 {
        letter-spacing: -0.06em;
    }
    .sec04item_g dl dt {
        position: relative;
        top: 5px;
    }
    .sec06_item > .item4 .tt {
        letter-spacing: -0.07em;
    }
    .sec06_item > .item5 .tt {
        letter-spacing: -0.07em;
    }
    .sec06_item > .item6 .tt {
        letter-spacing: -0.07em;
    }
    .ft_con.sec_contact {
        height: 680px;
        padding-top: 92px;
    }
    .nav_link.mb01 {
        margin-bottom: 23px;
    }
    .nav_link.mb02 {
        margin-bottom: 23px;
    }
    .nav_link.mb03 {
        margin-bottom: 2px;
    }
    .zoom_img img {
        transform: scale3d(1, 1, 1);
        transition: all .5s;
    }
    .zoom_img:hover img {
        transform: scale3d(1.07, 1.07, 1.07);
    }
    .btn a:hover:before {
        border-color: transparent transparent transparent var(--mcolor);
    }
    .btn a:hover {
        background: #fff;
        color: var(--mcolor);
        border-color: var(--mcolor);
    }
    .sec07 .btn_w a:hover {
        background: #000;
        color: #fff;
    }
    .sec07 .btn_w a:hover:before {
        border-color: transparent transparent transparent #fff;
    }
    .nav_btn a:hover {
        background: url("../images/arrow_up_ft.png")#000 no-repeat right 25px center/16px
    }
    .nav_btn a.no-icon:hover{background: #000}
    .btn_sm a:hover {
        background: var(--mcolor);
        color: #fff;
    }
    .btn_sm a:hover:before {
        border-color: transparent transparent transparent #fff;
    }
    .basic_contact {
        zoom: 0.65
    }
    .ft_bnr_list .sub.item3 {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
    }
    .sec02 .btn.lg a {
        padding-bottom: 4px;
        letter-spacing: -0.075em;
    }
}
@media screen and (min-width: 751px) and (max-width: 1800px) {
    .mv {
        height: 690px;
    }
    .mv_txt h2 .pt {
        margin-right: 0;
        bottom: -17px;
    }
    .mv_txt h2 .line {
        letter-spacing: 0em;
    }
    .contact_com > p:not(.contact_tel) > a {
        width: 220px;
    }
    .contact_tel a {
        font-size: 26px;
    }
    .contact_tel .time {
        font-size: 12px;
    }
    .time_txt.ttl2 {
        margin: 0 4px 0 4px;
    }
    .contact_line {
        margin-left: 10px;
    }
    .contact_line a {
        padding-left: 50px;
        background-position: left 12px top 26px;
    }
    .contact_mail a {
        padding-left: 55px;
        background-position: left 15px center;
    }
    .mv_txt {
        padding-left: 60px;
    }
    .mv_ttl01 {
        font-size: 26px;
    }
    .mv_ttl01 .sm {
        font-size: 20px;
    }
    .mv_txt h2 {
        font-size: 50px;
    }
    .mv_ttl02 {
        font-size: 34px;
    }
    .mv_ttl3 {
        font-size: 16px;
        margin-bottom: 20px;
    }
    .mv_list {
        width: 590px;
    }
    .mv_img {
        text-align: center;
        margin-bottom: 5px;
    }
    .mv_img img {
        width: 150px;
    }
    .mv_txt_mid {
        font-size: 12px;
        white-space: nowrap;
    }
    .btn_sm a {
        font-size: 13px;
        width: 135px;
        height: 40px;
    }
    .mv_list:before {
        bottom: -5px;
        height: 130px;
        width: calc(100% + 10px);
    }
    .sec_contact_group.contact_com > p:not(:last-child) {
        margin-right: 25px;
    }
    .btn_fixed {
        bottom: 85px;
    }
    nav .nav_list {
        margin-top: 0;
        padding-left: 50px;
        width: calc(100% - 590px);
    }
    nav .nav_left {
        padding-top: 0;
        width: 480px;
    }
    nav.nav_link_com .inner {
        width: 1400px;
        height: 100%;
        align-items: center;
        justify-content: center;
    }
    nav .nav_list:before {
        height: 100%;
        top: 0;
    }
    nav .nav_addr p {
        font-size: 13px;
        line-height: 1.7;
    }
    nav .nav_addr p:not(:last-child), nav .nav_addr, nav .nav_btn.mb02 {
        margin-bottom: 15px;
    }
    nav .nav_list li {
        font-size: 13px;
    }
    nav .nav_list > ul:nth-child(1) {
        width: 150px;
        margin-right: 50px;
        min-height: 610px;
    }
    nav .nav_list > ul:nth-child(2) {
        width: 250px;
        margin-right: 50px;
        min-height: 610px;
    }
    nav .nav_list > ul:nth-child(2) > li, .nav_list ul:nth-child(2) > li.mb02 {
        margin-bottom: 10px;
    }
    nav .nav_list ul:nth-child(2) li .sub_btn.sub_list01 {
        margin-top: 0px;
    }
    nav .nav_link.mb01, .nav_link.mb02, .nav_link.mb03 {
        margin-bottom: 15px;
    }
    nav .nav_list li.parent {
        margin-bottom: 10px;
    }
    .mv::before {
        left: calc(50% - 960px);
    }
}
@media screen and (min-width: 751px) and (max-width: 1555px) {
    .ft_logo {
        margin-bottom: 15px;
    }
    h1 {
        width: 230px;
    }
    .h_gg_view a {
        width: 190px;
    }
    .h_tt01 .black {
        width: 120px;
        letter-spacing: 0em;
        font-size: 10px;
    }
    .h_tt01 .num {
        font-size: 26px;
        margin-right: 2px;
    }
    /*  .menu {
        margin-top: -21px;
    }*/
    .mv_ttl01 {
        font-size: 17px;
        margin-bottom: 0px;
    }
    .mv_txt h2 {
        font-size: 40px;
    }
    .menu:before {
        left: 0;
    }
    .mv_txt {
        padding-top: 30px;
    }
    .mv_ttl02 {
        font-size: 27px;
    }
    .mv_ttl3 {
        font-size: 15px;
        margin-bottom: 15px;
        padding-bottom: 0px;
    }
    .mv_list::before {
        height: 130px;
    }
    .mv {
        height: 535px;
    }
    .mv_img img {
        width: 110px;
    }
    .mv:before {
        left: calc(50% - 940px);
        background-size: 1600px auto;
    }
    .ft_bnr03 a, .ft_bnr04 a, .ft_bnr05 a {
        height: 82px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1450px) {
    .mv {
        height: 490px;
    }
    .mv_txt h2 {
        font-size: 36px;
    }
    .mv_ttl01 {
        font-size: 15px;
    }
    .mv_ttl02 {
        font-size: 25px;
    }
    .mv_ttl3 {
        font-size: 14px;
        margin-bottom: 10px;
    }
    .mv_img img {
        width: 100px;
    }
    .mv_txt {
        padding-top: 25px;
    }
    .mv::before {
        background-size: 1400px auto;
    }
}
@media screen and (min-width: 751px) and (max-width: 1435px) {
    .contact_com > p > a .sm {
        font-size: 13px;
    }
    .contact_com > p > a .lg {
        font-size: 15px;
        letter-spacing: 0em;
    }
    .contact_com > p:not(.contact_tel) > a {
        width: 180px;
    }
    .contact_mail a {
        padding-left: 35px;
        background-position: left 8px center;
        background-size: 22px auto;
    }
    .contact_line a {
        padding-left: 42px;
        background-size: 26px auto;
    }
    .h_gg_view a {
        width: 150px;
        height: 60px;
        padding: 5px;
    }
    .h_left_w {
        padding-top: 15px;
    }
    .h_tt01 .num {
        font-size: 22px;
    }
    .h_tt01 .org {
        font-size: 12px;
    }
    /*    .menu {
        margin-top: -11px;
    }*/
    .sec_com_txt p {
        width: calc(100% + 50px);
    }
    .sec_contact_group.contact_com > p:not(.contact_tel) > a, .sec_contact_group.contact_com .contact_tel {
        width: 372px;
        height: 120px;
        background-size: 40px auto;
        background-position: left 25px center;
    }
    .sec_contact_group.contact_com .contact_line a, .sec_contact_group.contact_com .contact_mail a {
        padding-left: 80px;
    }
    .sec_contact_group.contact_com > p > a .lg {
        font-size: 30px;
    }
    .sec_contact_group.contact_com > p > a .sm {
        font-size: 22px;
    }
    .sec_contact_group.contact_com .contact_tel .time {
        font-size: 17px;
    }
    .sec_contact_group.contact_com .contact_tel .time_txt {
        height: 28px;
        line-height: 27px;
        font-size: 16px;
    }
    .sec_contact_group.contact_com .time_txt.ttl2 {
        margin: 0 6px 0 6px;
    }
    .sec_contact_group.contact_com .time_txt.ttl1 {
        margin-right: 6px;
    }
    .sec04_ttl span {
        font-size: 42px;
    }
    .sec04_ttl {
        font-size: 28px;
    }
    .sec04item_g dl {
        padding: 16px 20px 26px 20px;
    }
    .sec04item_g dl dt {
        margin-right: 20px;
    }
    .sec04_item01 > div, .sec04_item02 > div {
        padding: 37px 30px 50px;
    }
    .sec04item_g dl .tt {
        font-size: 20px;
    }
    .sec06_item > div {
        width: 375px;
    }
    .sec06_item > div .tt {
        font-size: 28px;
    }
    footer .nav_left {
        width: 465px;
    }
    footer .nav_list {
        padding-left: 50px;
        justify-content: space-between;
        flex-grow: 1;
        padding-right: 10px;
    }
    .ft_bnr_list > div:nth-child(2), .ft_bnr_list > div:nth-child(1), .ft_bnr_t p:not(:last-child) {
        margin-right: 15px;
    }
    .ft_bnr_t {
        margin-bottom: 3px;
    }
    .ft_bnr_list {
        justify-content: center;
    }
    nav .nav_btn a {
        width: 345px;
    }
    nav .nav_left {
        width: 390px;
    }
    nav .nav_list {
        width: calc(100% - 570px);
        height: 100%;
        align-items: center;
        padding-top: 10px;
    }
    nav .nav_ins {
        margin-top: 40px;
    }
    .ft_bnr {
        padding: 0 30px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1280px) {
    .sec04item_g dl .txt {
        font-size: 15px;
    }
    nav.nav_link_com .inner {
        left: -40px;
    }
    nav .nav_list {
        width: calc(100% - 500px);
    }
    .mv::before {
        background-size: 1300px auto;
    }
    .time_txt.ttl1 {
        width: 60px;
    }
    .time_txt.ttl2 {
        width: 50px;
    }
    .contact_tel a {
        font-size: 22px;
    }
    .contact_tel .time {
        margin-top: 5px;
        font-size: 10px;
    }
    .contact_com {
        padding-left: 10px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1200px) {
    .btn_fixed {
        bottom: auto;
        top: calc(50% - 90px);
    }
}
/* screen-min:750px */
@media 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: 14px;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    .swap img {
        width: auto;
    }
    #wrapper, header, main, footer, .inner {
        width: 100% !important;
        min-width: unset !important
    }
    .inner {
        padding: 0 15px;
    }
    .pc {
        display: none !important
    }
    /* NAV */
    nav {
        display: block;
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        height: calc(100vh - 60px);
        overflow: auto;
        padding-bottom: 100px;
        z-index: 100;
        display: none;
        background: #333;
    }
    nav .inner {
        padding: 0;
    }
    nav.nav_link_com .inner {
        flex-direction: column-reverse;
        padding: 0 15px;
    }
    nav .nav_list {
        margin-top: 0;
        padding-left: 0;
    }
    nav .nav_list > ul:nth-child(1), .nav_list > ul:nth-child(2), .nav_list, .nav_list ul, .nav_list li, .nav_list > ul:nth-child(3) {
        width: 100%;
    }
    .nav_link {
        padding-left: 10px;
    }
    .nav_link.sub_out {
        padding-left: 0;
    }
    .nav_list li.mb01, .nav_list ul:nth-child(2) > li, .nav_list li.parent, .nav_list ul:nth-child(2) > li.mb02 {
        margin-bottom: 0;
    }
    .nav_list ul:nth-child(2) li .sub_btn.sub_list01 {
        margin: 0;
    }
    nav .nav_list:before {
        display: none;
    }
    .nav_list {
        flex-direction: column;
    }
    .nav_list .parent .sub ul li {
        border-bottom: 1px solid #fff;
    }
    .nav_list > ul:nth-child(2) li.parent .sub ul li a::before {
        top: calc(50% - 2px);
    }
    .nav_list .sub_btn, .nav_list a {
        display: block;
        padding: 13px 0px;
        color: #fff;
        font-size: 16px;
        font-weight: 500;
        border-bottom: solid 1px #fff
    }
    .nav_list li .sub_btn.sub_list02, .nav_list ul:nth-child(2) li .sub_btn.sub_list01 {
        padding: 13px 15px;
    }
    .nav_list .sub_btn_sp {
        position: relative;
        padding-left: 0 !important;
    }
    .sub_btn.sub_list03::before, .nav_link_round a::before, .nav_link_round.nav_link_out a::before {
        top: 27px;
    }
    .nav_list li .sub .nav_link li.nav_link_out a {
        background-position: right 20px center;
        padding-left: 0;
        left: 10px;
    }
    .nav_list .sub_btn.sub_list03 {
        padding-left: 15px;
    }
    .nav_list li .nav_link li:not(.nav_link_out) a::before {
        top: 22px;
    }
    .nav_list ul:nth-child(2) li .sub_btn.sub_list01.sub_btn_sp {
        padding-left: 0;
    }
    .nav_list .sub_father::before, .nav_list .sub_father::after {
        content: "";
        position: absolute;
        width: 16px;
        height: 1px;
        background-color: #FFF;
        top: calc(50% - 1px);
        right: 10px;
        transition: all 0.3s;
    }
    .nav_list .sub_father::after {
        transform: rotate(-90deg);
    }
    .nav_list .sub_father.open::after {
        transform: rotate(0);
    }
    .nav_list .sub_father {
        position: relative;
    }
    .nav_list .parent_lv2 {
        position: relative;
    }
    .nav_list .parent_lv2::before {
        background: #fff;
        width: 10px;
        height: 10px;
        position: absolute;
        top: 23px;
        left: 0;
        content: '';
    }
    .nav_list .parent_lv2 .sub_btn {
        padding-left: 20px !important;
    }
    .nav_left, nav .nav_left {
        padding-top: 30px;
        width: 100%;
    }
    .nav_btn a {
        width: 345px;
        margin: 0 auto;
    }
    .nav_addr p:not(:last-child) {
        margin-bottom: 15px;
    }
    .nav_addr {
        margin-bottom: 25px;
        text-align: center;
    }
    nav .sub {
        display: none
    }
    /* nav .sub ul:not(:last-child) {
        margin-bottom: 15px
    }*/
    nav .sub a {
        border-bottom: none;
    }
    .nav_list li .sub .nav_link li a {
        padding-left: 10px;
    }
    .hamburger {
        position: absolute;
        right: 0;
        bottom: 8px;
        font: inherit;
        display: block;
        overflow: visible;
        margin: 0;
        cursor: pointer;
        transition-timing-function: linear;
        transition-duration: .15s;
        transition-property: opacity, filter;
        text-transform: none;
        color: inherit;
        border: 0;
        z-index: 101
    }
    .hamburger-box {
        width: 60px;
        height: 60px;
    }
    .hamburger-inner, .hamburger-inner::after, .hamburger-inner::before {
        width: 41px;
        height: 1px;
    }
    .hamburger-inner::before {
        top: -10px;
    }
    .hamburger-inner::after {
        bottom: -10px;
    }
    .hamburger-inner {
        margin-top: -4px;
        transform: translate(9px, 0);
    }
    .hamburger-box:before {
        content: "MENU";
        bottom: 5px;
        font-size: 12px;
    }
    .is_active .hamburger-inner {
        margin-left: 9px;
    }
    .is_active .hamburger-inner::after {
        bottom: -20px;
    }
    /*MENU*/
    .menu {
        display: block;
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        height: calc(100vh - 60px);
        overflow: auto;
        z-index: 100;
        display: none;
        background: #333;
        margin-top: 0;
        padding: 0 15px 100px;
    }
    .menu_list {
        width: 100%;
    }
    .menu_list {
        flex-direction: column;
        background: none;
    }
    .menu_list > li {
        border-bottom: 1px #fff solid;
    }
    .sub_t {
        position: relative;
        transition: none;
        opacity: 1;
        visibility: visible;
        top: 0;
        background: none;
        width: 100%;
        padding: 10px 4px 10px 17px;
        display: none;
        border-top: 1px #fff solid;
    }
    .menu_list > li.parent > .sub_btn {
        position: relative;
    }
    .menu_list > li.parent > .sub_btn:before, .menu_list > li.parent > .sub_btn:after {
        position: absolute;
        content: "";
        background: #fff;
    }
    .menu_list > li.parent > .sub_btn:before {
        width: 1px;
        height: 12px;
        transition: all 0.3s;
        right: 23px;
        top: calc(50% - 6px);
    }
    .menu_list > li.parent > .sub_btn:after {
        width: 13px;
        height: 1px;
        top: calc(50% + -1px);
        right: 17px;
    }
    .menu_list > li.parent > .sub_btn.open:before {
        transform: rotate(90deg);
        opacity: 0;
    }
    .menu_list li a, .menu_list > li.parent.normal > .sub_btn, .menu_list > li > a, .menu_list > li > .sub_btn {
        color: #fff;
    }
    .menu_list > li > a, .menu_list > li > .sub_btn {
        padding: 5px 10px 7px;
    }
    .parent_main .sub_t, .parent_main .sub_t .sub02 {
        width: 100%;
        visibility: visible;
        opacity: 1;
        padding: 17px 4px 10px 15px;
        box-sizing: border-box;
        background: none;
    }
    .menu_list > li.parent.normal:nth-child(4) > .sub_btn {
        margin-right: 0;
    }
    .menu_list > li.parent.normal > .sub_btn {
        padding-right: 20px;
    }
    .parent_main .sub_t > ul:before {
        display: none;
    }
    .parent_main .sub_t > ul > li {
        width: 100%;
        transition: none;
    }
    .parent_main .sub_t > ul > li {
        flex-direction: column;
    }
    .parent_main .sub_t .sub02 {
        position: static;
        padding-left: 0px;
        display: none;
    }
    .normal .sub_t li a {
        height: 40px;
        display: flex;
        align-items: center;
    }
    .menu_list > li:nth-child(1) {
        order: 1
    }
    .menu_list > li:nth-child(2) {
        order: 2
    }
    .menu_list > li:nth-child(3) {
        order: 4;
    }
    .menu_list > li:nth-child(4) {
        order: 6;
    }
    .menu_list > li:nth-child(5) {
        order: 3;
    }
    .menu_list > li:nth-child(6) {
        order: 5;
    }
    /*=====================================================
                      C U S T O M
======================================================*/
    /*============ HEADER ============*/
    h1 {
        width: 154px;
        margin-right: -1px;
    }
    .h_box {
        height: 60px
    }
    .h_inner {
        padding: 0px;
        background: var(--mcolor);
    }
    .h_left {
        background: #fff;
        padding-left: 8px;
    }
    /*============ Main ============*/
    main {
        padding-top: 60px;
    }
    /* MAIN VISUAL */
    .mv {
        height: auto;
        min-height: 160vw;
    }
    .mv_txt h2 {
        font-size: 7vw;
        line-height: 10vw;
        padding: 0 2vw;
        text-align: center;
    }
    .mv_txt h2 .line {
        letter-spacing: 0em;
    }
    .mv:before {
        background: url("../images/main_sp.jpg") no-repeat center top/cover;
        width: 100%;
        left: 0;
        height: 150vw;
    }
    .mv_txt {
        padding-left: 0;
        padding-top: 4vw;
        align-items: center;
        position: relative;
    }
    .mv_ttl01 {
        font-size: 4vw;
        font-weight: 700;
        margin-bottom: 1vw;
        line-height: 5vw;
        padding: 1vw;
        text-align: center;
    }
    .mv_ttl01 .sm {
        font-size: 3.5vw;
        letter-spacing: 0em;
    }
    .mv_ttl02 {
        font-size: 5.5vw;
        letter-spacing: 0em;
        margin-bottom: 1vw;
        text-shadow: 0 0 5px #fff, 0 0 5px #fff;
    }
    .mv_ttl3 {
        font-size: 3.5vw;
        padding: 1vw 5vw;
        line-height: 5vw;
        text-align: center;
        margin-top: 60vw;
        margin-bottom: 20vw;
    }
    .mv_list {
        width: 100%;
        align-items: center;
        flex-wrap: wrap;
        max-width: 470px;
        margin-top: 25px;
        padding: 0 15px;
    }
    .mv_list_sub03 {
        display: flex;
        align-items: center;
        margin-top: 20px;
    }
    .h_left_w {
        margin-left: 0;
        padding-top: 0;
        position: relative;
        top: -50px;
        background: #fff;
        padding: 10px;
        border-radius: 10px;
        margin-bottom: -75px;
    }
    .btn_sm a {
        border: 1px var(--mcolor) solid;
    }
    .mv_list li, .mv_list li.mv_list_sub03 .mv_img {
        width: calc(50% - 6px);
    }
    .mv_list li.mv_list_sub01 {
        order: 1;
    }
    .mv_list li.mv_list_sub02 {
        order: 2;
    }
    .mv_list li.mv_list_sub03 {
        width: 100%;
        order: 0;
    }
    /* sec01 */
    .sec01 {
        padding-top: 30px;
        padding-bottom: 50px;
    }
    .sec01_item dl {
        flex-direction: column;
    }
    .sec01_ttl {
        font-size: 24px;
        letter-spacing: 0em;
        margin-bottom: 14px;
    }
    /* sec02 */
    .sec02 {
        padding-top: 40px;
        padding-bottom: 50px;
    }
    .ttl .lg .num {
        top: 2px;
    }
    .sec02 .ttl {
        max-width: 410px;
        background-size: 30px auto;
        background-position: left bottom, right bottom;
        margin-bottom: 30px;
        padding: 0;
    }
    .sec02_slider_sub {
        width: 320px;
        height: 270px;
        margin: 0 10px;
        padding: 16px 20px 13px 20px;
        background-position: right 15px bottom 15px;
    }
    .sec02_txt {
        margin-bottom: 7px;
    }
    /* sec03 */
    .sec03 {
        padding-top: 45px;
    }
    .sec03_img {
        max-width: 300px;
        margin: 0 auto 25px;
    }
    .sec03 .ttl .mid {
        font-size: 25px;
    }
    .sec03_item_l {
        margin-right: 0px;
        top: 0px;
        width: 100%;
    }
    .sec03 .ttl .sm {
        display: block;
    }
    .sec03 .ttl {
        align-items: center;
        text-align: center;
    }
    /* sec04 */
    .sec04_item01, .sec04_item02 {
        flex-direction: column;
    }
    .sec04_item01 > div:not(:nth-child(2n)), .sec04_item02 > div:not(:nth-child(2n)) {
        margin-right: 0;
    }
    .sec04_item01 > div, .sec04_item02 > div {
        width: 100%;
        padding: 20px 15px;
    }
    .sec04 {
        padding-top: 40px;
        padding-bottom: 48px;
    }
    .sec04_txt {
        margin-bottom: 40px;
    }
    .sec04_ttl {
        font-size: 20px;
        margin-bottom: 25px;
        letter-spacing: 0em;
    }
    .sec04_ttl span {
        font-size: 26px;
        letter-spacing: 0em;
    }
    .sec04_ttl span:before {
        bottom: 2px;
        height: 8px;
    }
    .sec04item_g dl dt {
        margin-right: 20px;
        width: 70px;
        position: absolute;
        left: 15px;
        top: 15px;
    }
    .sec04item_g dl .tt {
        font-size: 18px;
        padding-bottom: 7px;
        margin-bottom: 5px;
        margin-left: 85px;
        min-height: 70px;
        border-bottom: none;
        display: flex;
        align-items: center;
        line-height: 1.5;
    }
    .item2 .sec04item_g dl .tt, .item_left .sec04item_g dl .tt, .item_right .sec04item_g dl .tt {
        border: none;
    }
    .sec04item_g dl .txt {
        padding-top: 10px !important;
    }
    .item1 .sec04item_g dl .txt {
        border-top: 1px var(--mcolor) solid;
    }
    .item2 .sec04item_g dl .txt {
        border-top: 1px var(--mcolor) solid;
    }
    .item_left .sec04item_g dl .txt {
        border-top: 1px #c13200 solid;
    }
    .item_right .sec04item_g dl .txt {
        border-top: 1px #7c5e52 solid;
    }
    .sec04item_g dl {
        padding: 20px 15px;
        position: relative;
    }
    .sec04item_g dl:before {
        background-size: 8px auto !important;
        width: 22px;
        height: 22px;
        background-position: left 8px center !important;
    }
    .sec04_item01 > div, .sec04_item02 > div {
        margin-bottom: 20px;
    }
    .sec04item_g dl:not(:last-child), .sec04_item02 {
        margin-bottom: 20px;
    }
    /* sec05 */
    .sec05_item {
        flex-direction: column;
    }
    .sec05_item > div .sm a, .sec05_item > div .sm .link {
        font-size: 16px;
        padding: 4px 12px 4px 12px;
    }
    .sec05 .ttl .sm {
        font-size: 20px;
    }
    .sec05_item > div .sm {
        margin-bottom: 10px;
    }
    .sec05 .ttl .lg {
        font-size: 28px;
        padding-right: 35px;
        letter-spacing: 0em;
        background-size: 22px auto;
        padding-bottom: 2px;
    }
    .sec05_item > div {
        flex: auto;
        height: 210px;
    }
    .sec05_btn {
        width: 200px;
        height: 40px;
        line-height: 42px;
        font-size: 16px;
        background-position: right 12px center;
    }
    .sec05_item .item2:before, .sec05_item .item1:before {
        background-size: cover;
        width: 750px;
    }
    /* sec06 */
    .sec06 {
        padding-top: 0;
        padding-bottom: 5px;
    }
    .sec06_item > div {
        width: 100%;
        margin-bottom: 40px;
    }
    .sec06_item > div .icon {
        width: 120px;
        margin: 0 auto 12px;
    }
    .sec06_item > div .icon .num {
        font-size: 60px;
        left: -16px;
        top: calc(50% - 10px);
    }
    .sec06_item > div .tt {
        font-size: 24px;
        letter-spacing: 0em;
        margin-bottom: 5px;
    }
    .sec06 .ttl {
        margin-bottom: 0;
    }
    /* sec07 */
    .sec07_item > div {
        height: 280px;
        flex: auto;
    }
    .sec07_item {
        flex-direction: column;
    }
    .sec07_item > div .txt {
        margin-bottom: 20px;
        letter-spacing: 0em;
    }
    .sec07_item > div .tt {
        font-size: 24px;
        margin-bottom: 10px;
    }
    /* sec08 */
    .sec_contact {
        height: auto;
        padding-top: 40px;
        padding-bottom: 50px;
    }
    .sec_contact .ttl .lg {
        font-size: 26px;
        letter-spacing: 0em;
        margin-bottom: 15px;
    }
    .sec_contact_group.contact_com {
        flex-direction: column;
        max-width: 360px;
        margin: 0 auto;
    }
    .menu .sec_contact_group.contact_com {
        margin-top: 25px;
    }
    .sec_contact .ttl {
        margin-bottom: 0;
    }
    .sec_contact_group.contact_com > p:not(:last-child) {
        margin-right: 0px;
    }
    .sec_contact_group.contact_com .contact_tel a {
        font-size: 31px;
        padding-left: 30px;
        letter-spacing: 0em;
        background-size: 24px auto;
        background-position: left top 12px;
        margin-bottom: 5px;
    }
    .sec_contact_group.contact_com .contact_tel .time {
        font-size: 14px;
        letter-spacing: 0em;
    }
    .sec_contact_group.contact_com .contact_tel .time_txt {
        width: 85px;
        height: 27px;
        line-height: 25px;
        font-size: 17px;
        font-size: 13px;
    }
    .sec_contact_group.contact_com .time_txt.ttl1 {
        margin-right: 5px;
    }
    .sec_contact_group.contact_com .contact_tel, .sec_contact_group.contact_com p, .sec_contact_group.contact_com > p:not(.contact_tel) > a, .sec_contact_group.contact_com .contact_tel {
        width: 100%;
        height: 90px;
    }
    .sec_contact_group.contact_com > p > a .sm {
        font-size: 18px;
        letter-spacing: 0em;
        margin-bottom: 0;
    }
    .sec_contact_group.contact_com > p > a .lg {
        font-size: 24px;
    }
    .sec_contact_group.contact_com .contact_line a, .sec_contact_group.contact_com .contact_mail a {
        background-size: 36px auto;
        background-position: left 50px center;
        padding-left: 104px;
    }
    .sec_contact_group.contact_com .contact_tel .time_txt.ttl2 {
        width: 70px;
    }
    .sec_contact_txt {
        margin-bottom: 25px;
    }
    .sec_contact:before {
        background: url("../images/idx_bg_01_sp.jpg") no-repeat center top/cover;
        height: 100%;
        width: 100%;
        left: 0;
    }
    .ft_con.sec_contact:before {
        background: url(../images/idx_bg_02_sp.jpg) no-repeat left calc(100% + 520px) top / cover
    }
    .sec_contact_group.contact_com .contact_tel {
        padding-top: 5px;
    }
    .sec_contact .ttl .mid {
        margin-bottom: 7px;
    }
    .sec_contact_group.contact_com p:not(:last-child) {
        margin-bottom: 20px;
    }
    .sec_contact .ttl .mid .point:before {
        width: 4px;
        height: 4px;
        top: 0px;
    }
    .sec_contact.ft_con .ttl .sm {
        margin-bottom: 10px;
    }
    /*============ FOOTER ============*/
    .ttl .sm {
        font-size: 16px;
    }
    .ttl .lg, .sec04 .ttl .lg, .sec06 .ttl .lg {
        font-size: 28px;
        margin-bottom: 25px;
        letter-spacing: 0;
    }
    .sec06 .ttl .lg {
        white-space: nowrap;
    }
    .ttl .mid, .sec_contact .ttl .mid {
        font-size: 22px;
        letter-spacing: 0em;
        line-height: 1.5em;
    }
    .btn.lg a {
        width: 290px;
        line-height: 1.3;
    }
    .btn.x_lg a {
        width: 330px;
        font-size: 18px;
    }
    .btn.x_lg a:before {
        border-width: 5px 0 5px 10px;
        top: calc(50% - 4px);
    }
    footer {
        margin-bottom: 165px;
        z-index: unset;
    }
    footer.active {
        margin-bottom: 50px;
    }
    .ft_top .inner {
        flex-wrap: wrap;
        justify-content: center;
    }
    .ft_info {
        width: 290px;
        padding-right: 0;
    }
    .ft_map {
        width: 100%;
        height: 299px;
    }
    .ft_map_iframe {
        height: 199px;
    }
    .ft_area {
        height: auto;
        border-radius: 999px;
        margin-top: 20px;
        width: 100%;
        padding: 15px 10px;
        justify-content: center;
        max-width: 410px;
    }
    nav .ft_area, .nav_btn.mb02 {
        margin-bottom: 20px;
    }
    .nav_ins, .nav_txt_l {
        text-align: center;
    }
    .ft_logo {
        text-align: center;
        margin-bottom: 20px;
    }
    .ft_logo img {
        width: 80px;
    }

    .ft_area dt, .ft_area dd {
        font-size: 14px;
        line-height: 1.4;
    }
    .ft_area dt {
        width: 112px;
        margin-right: 7px;
        letter-spacing: 0em;
    }
    .ft_area dt:before {
        height: 100%;
        right: -2px;
        top: 0;
    }
    .ft_bnr_list {
        max-width: 100%;
        position: relative;
    }
    .ft_bnr_list .sub.item1 {
        margin-bottom: 20px;
    }
    .ft_bnr_list, .ft_bnr_t {
        flex-direction: column;
    }
    .ft_bnr01 {
        width: 54%;
    }
    .ft_bnr02 {
        width: 43%;
    }
    .ft_bnr02 {
        position: absolute;
        right: 0;
        top: 0;
    }
    .ft_bnr02 a, .ft_bnr03 a, .ft_bnr05 a, .ft_bnr04 a, .ft_bnr02 a img {
        width: 100%;
        display: flex;
    }
    .ft_bnr {
        max-width: 290px;
        margin: 40px auto 20px;
        padding: 0 15px;
    }
    .ft_bnr_t {
        margin-bottom: 20px;
    }
    .ft_bnr_list > div:nth-child(2) {
        margin-right: 0;
    }
    .ft_bnr_t p:not(:last-child) {
        margin-right: 0;
        margin-bottom: 20px;
    }
    .ft_bnr_list > div:nth-child(1) {
        margin-right: 0px;
    }
    .ft_bnr05 a {
        font-size: 24px;
    }
    .btn a::before {
        top: calc(50% - 3px);
    }

    .menu .nav_addr,
    .menu .nav_txt_l{color: #fff;}

    /* sp contact */
    .sp_contact {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 50px;
        position: fixed;
        left: 0;
        z-index: 9;
        bottom: -55px;
        transition: all 0.3s;
    }
    .sp_contact.show {
        bottom: 0;
    }
    .sp_contact li {
        height: 100%;
    }
    .sp_contact li a {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        font-size: 14px;
    }
    .sp_contact li a span {
        position: relative;
        line-height: 1.3;
        font-weight: 500;
    }
    .sp_contact_tel {
        background: url("../images/icon_tel_og.svg")#fff no-repeat center center/26px;
        width: 60px;
    }
    .sp_contact_line, .sp_contact_mail {
        width: calc(50% - 30px);
    }
    .sp_contact_line {
        background: #00b900;
    }
    .sp_contact_line span {
        background: url("../images/icon_line.svg") no-repeat left center/20px;
        padding-left: 25px;
    }
    .sp_contact_mail {
        background: #e54100;
    }
    .sp_contact_mail a span {
        background: url("../images/icon_contact.svg")no-repeat left center/20px;
        padding-left: 25px;
    }
    .btn_fixed {
        width: 100%;
        height: auto;
        bottom: 50px;
        padding: 8px 15px 5px;
        background: #feefe9;
        left: 0;
        opacity: 0;
        pointer-events: none;
    }
    .btn_fixed.show {
        opacity: 1;
        pointer-events: inherit;
    }
    .bnr_fixed_img {
        max-width: 280px;
        margin: 0 auto;
    }
    .btn_fixed_close {
        width: 20px;
        height: 20px;
        left: 5px;
        top: -10px;
        background-size: 8px auto;
    }
    .btn_fixed.hide {
        right: auto;
        left: 0;
        bottom: -67px;
        z-index: 2;
    }
    .btn_fixed.hide .btn_fixed_close {
        top: -20px;
    }
    /* to top */
    .to_top {
        width: 42px;
        height: 42px;
        right: 5px;
        bottom: 186px;
    }
    .to_top.active {
        bottom: 60px;
    }
    .to_top a img {
        bottom: 0;
        position: absolute
    }
    .to_top::before {
        width: 10px;
        height: 10px;
        left: 10px;
        top: 10px
    }
    .to_top::after {
        width: 10px;
        height: 10px;
        left: 10px;
        top: 20px
    }
    address {
        padding: 12px 15px 14px;
        margin-top: 20px;
        font-size: 12px;
        border-top: 1px #666 solid;
    }
    /*============ END 750 ============ */
    .btn_fixed.hide .btn_fixed_close {
        transform: rotate(90deg);
    }
}
/* screen-max:460px */
@media screen and (max-width: 440px) {
    .sp440 {
        display: block !important;
    }
    .pc440 {
        display: none !important
    }
    .sec_contact:before {
        background-position: left -185px top;
    }
    .sec02 .ttl {
        background-position: left 53px bottom 12px, right 53px bottom 12px;
    }
    .sec03 .ttl .mid {
        font-size: 23px;
    }
    .sec04_ttl span {
        font-size: 24px;
    }
    .ft_con.sec_contact:before {
        background: url(../images/idx_bg_02_sp.jpg) no-repeat left calc(100% + 700px) top / cover;
    }
}
@media screen and (max-width: 425px) {
    .sp425 {
        display: block !important;
    }
    .ttl .lg, .sec04 .ttl .lg, .sec06 .ttl .lg {
        font-size: 24px;
    }
    .sec02 .ttl {
        max-width: 420px;
        background-size: 20px auto;
        background-position: left 15px bottom, right 15px bottom;
    }
    .sec02 .ttl .lg {
        font-size: 6.5vw;
        margin-bottom: 5vw;
    }
    .sec02 .ttl .mid {
        font-size: 6vw;
    }
    .sec02 .ttl {
        background-position: left 10vw bottom 25px, right 10vw bottom 25px;
    }
    .sec02 .ttl .sm {
        margin-bottom: 2vw;
    }
    .sec04item_g dl .tt {
        font-size: 17px;
        margin-left: 78px;
        min-height: 65px;
    }
    .sec04item_g dl dt {
        width: 65px;
    }
    .sec_contact_group.contact_com {
        max-width: 345px;
    }
    .sec_contact_group.contact_com .contact_line a, .sec_contact_group.contact_com .contact_mail a {
        background-size: 36px auto;
        background-position: left 44px center;
        padding-left: 100px;
    }
    .sec_contact_group.contact_com .contact_mail a {
        background-position: left 40px center;
    }
    .btn.x_lg a {
        width: 290px;
        font-size: 17px;
    }
    .ft_area {
        flex-direction: column;
    }
    .ft_area dt {
        margin-right: 0;
        margin-bottom: 7px;
        padding-bottom: 5px;
    }
    .ft_area dt:before {
        height: 1px;
        right: 0;
        top: auto;
        width: 100%;
        bottom: 0;
    }
    address {
        font-size: 10px;
        padding-bottom: 25px;
    }
    .h_gg_view a {
        width: 130px;
        height: 66px;
        padding: 5px;
    }
}
/* screen-max: 390px */
@media screen and (max-width: 390px) {
    .sp390 {
        display: block !important;
    }
    .mv_list li, .mv_list li.mv_list_sub03 .mv_img {
        width: 100%;
    }
    .mv_list {
        max-width: 240px;
    }
    .mv_list li.mv_list_sub03 {
        flex-direction: column;
    }
    .mv_list_sub03, .mv_list li.mv_list_sub02 {
        margin-top: 20px;
    }
    nav .sub a {
        font-size: 15px;
    }
}
/* screen-max: 360px */
@media screen and (max-width: 374px) {
    .sp375 {
        display: block !important;
    }
    .h_tt01 {
        margin-left: 10px;
    }
    .parent_main .sub_t .sub02 ul li a {
        padding-left: 17px;
        font-size: 12px;
    }
    .nav_btn a {
        width: 290px;
        font-size: 14px;
        background-position: right 15px center;
    }
	.parent_main .sub_t {
		padding-left: 10px;
	}
    nav .sub a {
        font-size: 13px;
    }
    .nav_link {
        padding-left: 0px;
    }
    .nav_link_out {
        margin-left: 13px;
    }
    .sub_out .nav_link_out {
        margin-left: 0;
    }
    .nav_list li .sub .nav_link li.nav_link_out a {
        background-position: right 22px center;
    }
    .sub_btn.sub_list03:before, .nav_link_round a:before, .nav_link_round.nav_link_out a:before {
        top: 25px;
    }
    .nav_list .sub ul.sub01 li a::before, .nav_list > ul:nth-child(2) li.parent .sub ul li a::before {
        top: calc(50% - 4px);
    }
    .sec_contact .ttl .sm {
        font-size: 15px;
    }
    .sec_contact .ttl .mid {
        font-size: 20px;
    }
    .sec_contact .ttl .lg, .ttl .lg, .sec04 .ttl .lg {
        font-size: 22px;
    }
    .sec_contact_group.contact_com .time_txt.ttl2 {
        margin: 0 5px;
    }
    .sec_contact_group.contact_com .contact_tel .time_txt.ttl2 {
        width: 60px;
    }
    .sec_contact_group.contact_com .contact_tel .time_txt {
        width: 70px;
        font-size: 13px;
    }
    .sec_contact_group.contact_com {
        max-width: 290px;
    }
    .sec_contact_group.contact_com .contact_line a, .sec_contact_group.contact_com .contact_mail a {
        background-size: 36px auto;
        background-position: left 21px center;
        padding-left: 60px;
    }
    .sec_contact_group.contact_com .contact_line a {
        padding-left: 70px;
    }
    .sec_contact_group.contact_com .contact_mail a {
        background-position: left 15px center;
        padding-left: 65px;
    }
    .sec02_slider_sub {
        width: 260px;
    }
    .sec03 .ttl .mid {
        font-size: 20px;
    }
    .sec03 .ttl .mid .point:before {
        width: 4px;
        height: 4px;
        top: -1px;
    }
    .sec04_ttl span {
        font-size: 6.5vw;
    }
    .sec04_ttl {
        font-size: 5.3vw;
    }
    .sec04item_g dl dt {
        width: 60px;
    }
    .sec04item_g dl .tt {
        font-size: 4.5vw;
        margin-left: 56px;
        min-height: 50px;
        padding-bottom: 5px;
    }
    .sec04item_g dl dt {
        width: 50px;
    }
    .sec04item_g dl .txt {
        font-size: 14px;
    }
    .sec04item_g dl .txt {
        font-size: 13px;
    }
    .sec05_item > div .sm .link {
        font-size: 17px;
    }
    .sec05 .ttl .sm {
        font-size: 18px;
    }
    .sec05 .ttl .lg {
        font-size: 26px;
        padding-right: 30px;
        background-size: 20px auto;
        padding-bottom: 3px;
    }
    .sec06_item > div .tt {
        font-size: 20px;
    }
    .sec04 .sec_com_txt p {
        font-size: 13px;
    }
    .sec_contact .ttl .mid {
        font-size: 19px;
    }
    address {
        padding: 12px 40px 12px 0;
    }
    .nav_txt_l {
        font-size: 12px;
    }
    .btn a {
        width: 280px;
    }
}