.sp440, .sp425, .sp360 {
    display: none
}


@media screen and (min-width: 1921px) {
    .h_inner, .mv {
        max-width: 1920px;
        margin-left: auto;
        margin-right: auto;
    }
    .mv .slick-list, .mv_bg {
        overflow: visible
    }
    .sec02 .inner, .sec03 .inner, .sec04 .inner {
        max-width: 1920px;
    }
    .sec02:before {
        width: calc(100% - 1600px);
    }
}
@media screen and (min-width: 769px) {
    .sp {
        display: none !important
    }
    /* NAV */
    .h_box {
        min-width: 1260px;
    }
    .hamburger {
        display: none;
    }
    nav .inner {
        width: 100%;
        padding: 0;
    }
    .is_scroll .nav_list {
        margin-top: 15px;
    }
    .is_scroll .h_right {
        padding-top: 0;
    }
    .is_scroll .h_inner {
        height: 90px;
    }
    .is_scroll #logo {
        padding-top: 13px;
    }
    .nav_list {
        display: flex;
        justify-content: space-between;
        margin-top: 31px;
        transition: all 0.3s;
    }
    .nav_list > li > a, .nav_list > li > .hook {
        display: flex;
        align-items: center;
        position: relative;
        font-weight: 500;
        padding: 5px 0px;
        height: 60px;
    }
    .nav_list > li {
        margin-right: 23px;
    }
    .nav_list > li > .hook {
        padding-right: 20px;
        position: relative;
    }
    .nav_list > li > .hook:before {
        position: absolute;
        content: "";
        background: url("../images/arrow_down.svg") no-repeat right top;
        width: 16px;
        height: 7px;
        right: 0;
        top: calc(50% - 1px);
        transition: all 0.3s;
    }
    .nav_list > li.parent {
        position: relative;
    }
    .nav_list > li.parent > .hook {
        cursor: default
    }
    .nav_list > li.parent:hover > .hook:before {
        transform: rotate(180deg);
    }
    .nav_list > li.parent:hover > .hook, .nav_list > li > a:hover, .sec06_load dl:hover .tt, .ft_link ul li a:hover, .menu_fix_list li a:hover, .sec04_list li a:hover {
        color: var(--mcolor);
    }
    .product_item > div:hover .wrap:after {
        opacity: 1;
    }
    .menu_fix_list li a:hover .arrow {
        background: url(../images/arrow_up_red.svg) no-repeat right center;
    }
    .product_item > div:hover .wrap:before {
        background: url("../images/arrow_down_right.svg") no-repeat;
        bottom: 2px;
    }
    .sub {
        position: absolute;
        z-index: 1;
        transition: all .3s;
        width: 300px;
        top: 100%;
        left: 0;
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    }
    .sub ul li a {
        font-size: 16px;
        display: flex;
        width: 100%;
        height: 60px;
        align-items: center;
        letter-spacing: .001em;
        padding: 5px 15px 7px 35px;
        margin: 0 auto;
        color: #fff;
        line-height: 1.5;
    }
    .sub ul li:not(:last-child) a {
        border-bottom: solid 1px #FFF;
    }
    /* CUSTOM */
    .find_a, .find_out {
        cursor: pointer;
    }
    /* HOVER */
    .parent:not(:hover) .sub {
        display: none;
    }
    .parent:hover .sub {
        transform: translate(0, 0);
    }
    .sub a:hover {
        background-color: var(--scolor);
        text-decoration: none;
    }
    .to_top img:hover, .btn a:hover, .find_a:hover, .sec03_item > div:hover, .sec06_bnr p a:hover, .menu_fix_list li .sub_menu ul li a:hover {
        opacity: .8
    }
    .product_item > div:hover .product_title {
        color: #fff;
    }
    .h_over a {
        position: relative;
        z-index: 1;
    }
    .h_over a:hover {
        background-color: var(--mcolor);
    }
    .contact_box > p > a:after {
        position: absolute;
        content: "";
        width: 0%;
        height: 100%;
        left: 0;
        top: 0;
        background-color: rgba(255, 255, 255, 0.2);
        z-index: -1;
        transition: all 0.3s;
    }
    .contact_box > p > a:hover:after {
        width: 100%;
    }
    .sec02_btn a:hover {
        background: none;
    }
    .product_tag li:hover {
        background-color: var(--scolor);
    }
    .product_tag li.active {
        pointer-events: none;
        background: var(--scolor);
    }
    .sec03 .ttl_h3 .ja {
        letter-spacing: 0em;
        padding-left: 20px;
    }
    .mv_slider_ite.item2 .mv_box .mv_ttl .en .sm {
        position: relative;
        right: -27px;
    }
    .mv_slider_ite.item4 .mv_box .mv_ttl .en .mid {
        position: relative;
        right: -20px;
        letter-spacing: 0.01em;
    }
    .sec01 .ttl_h3 {
        margin-bottom: 0;
    }
    .sec01 .ttl_h3 .ja {
        line-height: 1.25;
    }
    .sec01 .ttl_h3 .en {
        margin-bottom: 26px;
    }
    .product_item > div.item2 .product_type {
        letter-spacing: 0.1em;
    }
    .product_tag li.keep a {
        padding-left: 25px;
    }
    .mv_slider .slick-dots li button:hover {
        background: #000;
        border-color: #000;
    }

    .product_page address{
        padding-bottom: 33px;
    }
}
@media screen and (min-width: 769px) and (max-width: 1800px) {
    .contact_box.h_contact > p > a {
        width: 155px;
    }
    .h_left {
        margin-right: 10px;
    }
    .nav_list > li {
        margin-right: 15px;
    }
    .nav_list > li > a, .nav_list > li > .hook, .sub ul li a {
        font-size: 15px;
    }
    .mv_slider_ite.item1 .wrap .img {
        right: -150px;
        width: 960px;
    }
    .mv_slider_ite .wrap {
        padding: 80px 30px 0;
    }
    .mv_slider_ite.item5 .wrap {
        padding: 20px 30px 0;
    }
    .mv_slider_ite.item4 .wrap {
        padding-right: 30px;
    }
    .mv_box .mv_ttl .en {
        font-size: 125px;
    }
    .mv_slider_ite.item2 .wrap .img {
        top: 30px;
        width: 800px;
    }
    .mv_slider_ite.item2 .wrap {
        padding-top: 70px;
        padding-right: 30px;
    }
    .mv_slider_ite.item3 .wrap .img {
        top: 20px;
        width: 1000px;
    }
    .mv_slider_ite.item3 .wrap {
        padding-top: 45px;
        padding-left: 30px;
    }
    .mv_slider_ite.item4 .wrap .img {
        left: 20px;
        top: 40px;
        width: 750px;
    }
    .mv_slider_ite.item5 .wrap .img {
        right: -55px;
        top: 40px;
        width: 1000px;
    }
    .mv_slider_ite.item4 .mv_box .mv_ttl .en {
        padding-right: 0;
    }
    .mv_slider_ite.item2 .mv_box .mv_ttl .en {
        padding-right: 0px;
    }
    .mv_bg, .mv_slider_ite {
        height: 640px;
    }
    .mv_box .mv_ttl {
        margin-bottom: 20px;
    }
    .mv_slider_ite .wrap .mv_box {
        position: relative;
        z-index: 8;
        width: 100%;
        max-width: 1500px;
        margin: 0 auto;
        padding: 0;
    }
    .mv_slider_ite.item4 .mv_box .mv_txt, .mv_slider_ite.item4 .mv_box .mv_ttl .ja {
        padding-right: 0;
    }
    .ttl_h3 .ja {
        font-size: 50px;
    }
    .sec01_img {
        width: 750px;
    }
    .sec01_con .item2 {
        padding-top: 80px;
    }
    .ttl_h3 .ja .light.l_r {
        right: -11px;
    }
    .product_type {
        min-width: inherit;
    }
    .product_type {
        font-size: 16px;
    }
    .product_title {
        padding: 24px 6px;
        font-size: 15px;
        letter-spacing: -0.04em;
    }
    .product_thumb {
        height: 330px;
    }
    .sec02_en {
        bottom: -1.5vw;
        width: 94vw;
        line-height: 2vw;
    }
    .sec02_wrap {
        width: 100%;
        padding-left: 30px;
    }
    .sec02_btn {
        width: 240px;
        height: 240px;
    }
    .sec02 .inner, .sec01 .inner {
        padding: 0 30px;
    }
    .sec01_w {
        padding: 95px 30px 55px;
    }
    .product_item div .wrap {
        padding: 0 15px;
    }
    .sec01_con {
        padding: 0 0 0 20px;
    }
    .sec03 {
        padding: 120px 30px 120px;
    }
    .sec03 .inner {
        padding: 109px 30px 110px;
    }
    .item2 .sec03_tt > span {
        padding: 5px 10px 6px;
        font-size: 20px;
    }
    .sec03_tt .lg {
        font-size: 26px;
    }
    .sec03_tt .sm {
        font-size: 22px;
    }
    .sec03_tt .mid {
        font-size: 24px;
    }
    .sec03_item {
        left: 5px;
    }
    .sec03_wrap, .item2 .sec03_wrap {
        padding: 20px 0 15px 0;
    }
    .sec04_en_lg {
        left: 0;
    }
    .sec04_en_lg img {
        margin-left: 8px;
        max-width: 100%;
    }
    .sec04_img {
        width: 1120px;
    }
    .sec04_item .item1 {
        padding-top: 100px;
    }
    .sec04_list li {
        font-size: 18px;
        margin-bottom: 5px;
    }
    .sec04_item .ttl_h3 .ja {
        font-size: 48px;
    }
    .sec04_item .ttl_h3 {
        margin-bottom: 20px;
    }
    .sec04_en {
        width: 37px;
        top: 3px;
    }
    .sec04_list {
        padding-left: 55px;
    }
    .sec04 .inner {
        padding: 0px 0px 230px 50px;
    }
    .sec05 .inner, .sec06 .inner, .ft_bt .inner {
        padding: 0 30px;
    }
    .sec06_item .item1 {
        width: calc(100% - 620px);
    }
    .sec05_step ul > li .tt {
        font-size: 20px;
    }
    .sec05_step ul > li {
        padding-top: 25px;
    }
    .ft_link ul.item1 {
        width: 145px;
    }
    .ft_bnr {
        padding-right: 30px;
        margin-right: 30px;
        flex-shrink: 0;
    }
    .ft_link ul:not(:last-child) {
        margin-right: 0px;
    }
    .to_top {
        width: 50px;
        height: 50px;
        bottom: 90px;
    }
    .grecaptcha-badge {
        bottom: 150px !important;
    }
}
@media screen and (min-width: 769px) and (max-width: 1500px) {
    .inner {
        padding-left: 30px;
        padding-right: 30px;
    }
    .h_inner {
        padding: 0 20px;
    }
    .is_scroll .nav_list, .nav_list {
        margin-top: 14px;
    }
    .h_left {
        margin-right: 0px;
    }
    #logo {
        width: 180px;
        padding-top: 25px;
        padding-left: 0;
        margin-right: 20px;
        border-top: 6px var(--mcolor) solid;
    }
    .is_scroll #logo {
        padding-top: 25px;
    }
    .mv_bg, .mv_slider_ite {
        height: 520px;
    }
    .mv_slider_ite.item3 .wrap .img {
        width: 835px;
        right: -20px;
    }
    .mv_slider_ite.item2 .wrap .img {
        width: 640px;
        top: 10px;
    }
    .mv_slider_ite.item2 .mv_box .mv_ttl .en {
        margin-bottom: 30px;
    }
    .mv_slider_ite.item1 .wrap .img {
        width: 800px;
    }
    .mv_box .mv_ttl .en, .mv_slider_ite.item2 .mv_box .mv_ttl .en {
        font-size: 110px;
    }
    .mv_slider_ite.item2 .mv_box .mv_ttl .en .sm {
        right: -22px;
    }
    .mv_slider_ite .wrap {
        padding: 25px 30px 0;
        max-width: 1350px;
        margin: auto;
        right: 0;
    }
    .mv_slider_ite.item2 .wrap {
        padding-top: 55px;
    }
    .mv_slider_ite.item4 .wrap {
        padding-top: 45px;
    }
    .mv_slider_ite.item1 .mv_box .mv_ttl {
        margin-bottom: 20px;
    }
    .mv_slider_ite.item2 .mv_box .mv_ttl {
        margin-bottom: 20px;
    }
    .mv_slider_ite.item3 .mv_box .mv_ttl .en {
        margin-bottom: 35px;
    }
    .mv_slider_ite.item3 .mv_box .mv_ttl {
        margin-bottom: 10px;
    }
    .mv_slider_ite.item3 .wrap {
        padding-top: 15px;
    }
    .mv_slider_ite.item4 .wrap .img {
        width: 615px;
        top: 20px;
    }
    .mv_slider_ite.item5 .wrap .img {
        top: 20px;
        width: 810px;
    }
    .mv_slider_ite.item5 .mv_box .mv_ttl .en {
        line-height: 1.2;
    }
    .mv_slider_ite.item4 .mv_box .mv_ttl .en {
        font-size: 110px;
    }
    .mv_slider_ite.item4 .mv_ttl .ja {
        font-size: 48px;
    }
    .mv_slider_ite.item4 .mv_box .mv_ttl .en, .mv_slider_ite.item4 .mv_box .mv_ttl {
        margin-bottom: 40px;
    }
    .nav_list > li > a, .nav_list > li > .hook, .sub ul li a {
        font-size: 14px;
    }
    .contact_box > p > a {
        width: 150px;
        height: 70px;
    }
    .box_sns {
        margin-right: 15px;
    }
    .sec03_item > div:not(:last-child) {
        margin-right: 20px;
    }
    .sec03_tt .sm {
        font-size: 18px;
    }
    .sec03_tt .lg {
        font-size: 22px;
    }
    .sec03_tt .mid {
        font-size: 20px;
    }
    .sec01_img {
        width: 620px;
    }
    .sec01 .ttl_h3 .en {
        margin-bottom: 15px;
    }
    .ttl_h3 .ja .light.l_l {
        top: -22px;
    }
    .sec01 .ttl_h3:not(:last-child) {
        margin-bottom: 15px;
    }
    .sec01_w {
        margin-top: -45px;
    }
    .sec01_con .item2 {
        padding-top: 70px;
    }
    .product_item div .wrap {
        padding: 0 10px;
    }
    .product_tag li {
        height: 80px;
    }
    .product_type .sm {
        font-size: 72%;
    }
    .product_item > div {
        width: calc(20% - 10px);
    }
    .product_title {
        font-size: 14px;
    }
    .product_item > div:not(:last-child) {
        margin-right: 15px;
    }
    .sec04_item .ttl_h3 .en {
        margin-bottom: 15px;
    }
    .sec05 {
        background: #fff;
        position: relative;
    }
    .sec03_en {
        width: 120px;
        height: 32px;
        font-size: 17px;
    }
    .sec03_wrap, .item2 .sec03_wrap, .item4 .sec03_wrap {
        padding: 20px 0 15px 0;
    }
    .item2 .sec03_tt > span {
        padding: 3px 10px 4px;
    }
    .item2 .sec03_tt > span {
        font-size: 17px;
    }
    .item2 .sec03_tt > span.mid {
        padding: 2px 10px 2px;
    }
    .sec03_tt > span {
        padding: 2px 13px 2px 16px;
    }
    .sec04_txt {
        margin-bottom: 20px;
    }
    .sec04_img {
        width: 925px;
    }
    .sec04_item .item1 {
        padding-top: 60px;
    }
    .sec04_item .ttl_h3 .ja {
        font-size: 40px;
        /*font-size: 25px;*/
        padding-right: 70px;
    }
    .sec04_txt {
        margin-bottom: 15px;
    }
    .sec04_list li {
        font-size: 16px;
    }
    .sec01 .ttl_h3 .ja {
        font-size: 42px;
    }
    .sec05_step ul > li .txt {
        font-size: 14px;
    }
    .sec05_step ul > li .num {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }
    .sec05_step ul > li {
        padding-top: 30px;
        padding-bottom: 25px;
    }
    .sec06_bnr p a {
        width: 500px;
    }
    .sec06_item .item1 {
        width: calc(100% - 550px);
    }
    .ft_link ul li a {
        font-size: 14px;
    }
    .ft_link ul li.f_big {
        margin-bottom: 20px;
    }
    .ft_link ul li.f_big p {
        font-size: 16px;
    }
    .ft_link ul.item1, .ft_link ul.item2, .ft_link ul.item3 {
        width: auto;
    }
    .ft_link ul:not(:last-child) {
        margin-right: 25px;
    }
    .ft_link {
        margin-right: 30px;
    }
    .ft_bnr {
        padding-right: 25px;
        margin-right: 25px;
    }
    .ft_add dl dd, .ft_add dl dt {
        font-size: 14px;
    }
    .menu_fix_bottom {
        height: 70px;
    }
    .menu_fix_list li a {
        font-size: 16px;
    }
    .menu_fix_list li a .sm {
        font-size: 12px;
    }
    .menu_fix_tt .en {
        font-size: 22px;
    }
    .menu_fix_tt {
        width: 270px;
    }
    .menu_fix_list li .sub_menu {
        bottom: 70px;
    }
    .ft_bnr_group, .ft_add {
        padding-left: 0;
    }
    .ft_info {
        width: 285px;
        flex-shrink: 0;
    }
}
@media screen and (min-width: 769px) and (max-width: 1380px) {
    .product_title {
        font-size: 13px;
    }
    .product_type .sm {
        font-size: 67%;
    }
    .nav_list > li > a, .nav_list > li > .hook {
        font-size: 13px;
    }
}
@media screen and (min-width: 769px) and (max-width: 1280px) {
    .mv_box .mv_ttl .en, .mv_slider_ite.item4 .mv_box .mv_ttl .en {
        font-size: 90px;
    }
    .mv_slider_ite.item4 .mv_box .mv_ttl .en .mid {
        right: -11px;
    }
    .mv_box .mv_ttl .ja {
        font-size: 48px;
    }
    .mv_box .mv_ttl .ja .line.l_l {
        top: -13px;
    }
    .mv_box .mv_txt {
        font-size: 22px;
    }
    .mv_slider_ite.item4 .mv_ttl .ja {
        font-size: 40px;
    }
    .mv_slider_ite.item4 .mv_box .mv_ttl .en .mid {
        font-size: 48%;
    }
    .box_sns a:not(:last-child) {
        margin-right: 10px;
    }
    .contact_box.h_contact > p > a {
        width: 140px;
        height: 70px;
    }
    #logo, .is_scroll #logo {
        width: 180px;
        padding-top: 25px;
    }
    .sec01_img {
        width: 560px;
    }
    .sec01_con .item2 {
        padding-top: 60px;
    }
    .product_type .sm {
        font-size: 66%;
    }
    .sec02_btn {
        width: 200px;
        height: 200px;
        right: 15px;
    }
    .sec02_en {
        width: 1200px;
        line-height: 1.4;
    }
    .sec03_tt .sm {
        font-size: 17px;
    }
    .sec04 .inner {
        padding: 0px 0px 190px 50px;
    }
    .sec04 .inner {
        padding: 0px 0px 170px 30px;
    }
    .ft_link ul:not(:last-child) {
        margin-right: 30px;
    }
    .ft_link ul li.f_big p {
        font-size: 14px;
    }
    .ft_link ul li a {
        font-size: 13px;
    }
    .menu_fix_tt {
        width: 240px;
    }
    .menu_fix_tt .en {
        font-size: 20px;
        margin-bottom: 2px;
    }
    .menu_fix_tt .icon {
        padding-left: 40px;
    }
    .product_thumb {
        height: 280px;
    }
    .product_title {
        font-size: 13px;
        padding: 24px 0px;
    }
}
@media screen and (min-width: 769px) and (max-width: 1200px) {
    .sec03 {
        background-attachment: scroll;
    }
}
/* screen-min:768px */
@media screen and (max-width: 768px) {
    h1, h2, h3, h4, h5, h6, input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd, del {
        font-size: 14px;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    #wrapper, header, main, footer, .inner {
        width: 100% !important;
        min-width: unset !important
    }
    .pc {
        display: none !important
    }
    body.is_nav {
        overflow: hidden;
    }
    body.mac nav {
        padding-bottom: 160px;
    }
    /* NAV */
    nav {
        display: block;
        position: fixed;
        top: 60px;
        left: 0;
        width: 100%;
        height: calc(100vh - 60px);
        overflow: auto;
        z-index: 100;
        display: none;
        background: #fff;
        padding-bottom: 80px;
    }
    nav .inner {
        padding: 0;
    }
    .nav_list {
        flex-direction: column
    }
    .nav_list ul, .nav_list li {
        width: 100%
    }
    .nav_list .parent .sub ul li {}
    .nav_list .parent .sub ul li:not(:last-child) {
        border-bottom: 1px solid #fff;
    }
    .nav_list .hook, .nav_list a {
        display: block;
        padding: 13px 15px 12px;
        font-size: 16px;
        font-weight: 600;
        border-bottom: solid 1px #ddd;
    }
    .nav_list .hook {
        position: relative;
        padding-left: 15px
    }
    .nav_list .hook::before {
        content: "";
        position: absolute;
        width: 16px;
        height: 7px;
        background: url(../images/arrow_down.svg) no-repeat right top;
        top: calc(50% - 1px);
        right: 10px;
        transition: all 0.3s;
    }
    .nav_list .hook.open::before {
        transform: rotate(180deg);
    }
    .sub {
        display: none
    }
    .sub ul:not(:last-child) {
        margin-bottom: 15px
    }
    .sub a {
        color: #fff;
        border-bottom: none;
        background: var(--mcolor);
        font-size: 14px;
        line-height: 1.4;
    }
    .sub ul li a {
        background-size: 10px auto;
    }
    .hamburger {
        position: absolute;
        right: 8px;
        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;
        background: var(--scolor);
    }
    /*=====================================================
                          C U S T O M
    ======================================================*/
    /*============ HEADER ============*/
    h1 {}
    #logo {
        width: 220px;
        border-top: 4px var(--mcolor) solid;
        padding-top: 8px;
        padding-left: 0;
    }
    .h_inner {
        padding: 0 15px;
    }
    .h_box {
        height: 60px
    }
    /*============ Main ============*/
    main {
        padding-top: 60px;
    }
    /* MAIN VISUAL */
    .mv_bg, .mv_slider_ite, .mv_slider_ite .bg {
        height: 140vw;
    }
    .mv_slider_ite .wrap, .mv_slider_ite.item2 .wrap, .mv_slider_ite.item3 .wrap, .mv_slider_ite.item4 .wrap {
        padding: 4vw 3vw 0;
        flex-direction: column-reverse;
        height: auto;
    }
    .mv_slider_ite.item2 .wrap, .mv_slider_ite.item4 .wrap {
        padding-top: 6vw;
    }
    .mv_box .mv_ttl .en, .mv_slider_ite.item2 .mv_box .mv_ttl .en, .mv_slider_ite.item3 .mv_box .mv_ttl .en, .mv_slider_ite.item4 .mv_box .mv_ttl .en {
        font-size: 9vw;
        letter-spacing: 0em;
        margin-bottom: 2vw;
        line-height: 10vw;
        padding-right: 0;
    }
    .mv_slider_ite.item4 .mv_box .mv_ttl .en {
        line-height: 8vw;
    }
    .mv_slider_ite.item2 .mv_box .mv_ttl .en, .mv_slider_ite.item3 .mv_box .mv_ttl .en {
        line-height: 8vw;
    }
    .mv_box .mv_ttl .ja {
        font-size: 6vw;
        line-height: 8vw;
    }
    .mv_slider_ite.item4 .mv_box .mv_ttl .ja {
        padding-right: 0;
    }
    .mv_box .mv_txt {
        font-size: 4vw;
        padding-left: 0;
        line-height: 7vw;
        text-align: center;
    }
    .mv_slider_ite.item4 .mv_box .mv_txt {
        padding-right: 0;
    }
    .mv_slider_ite.item1 .wrap .img {
        right: 0;
        top: 0;
        width: 134vw;
        left: -18vw;
        margin: 0 auto;
        text-align: center;
    }
    .mv_box .mv_ttl, .mv_slider_ite.item2 .mv_box .mv_ttl, .mv_slider_ite.item3 .mv_box .mv_ttl, .mv_slider_ite.item4 .mv_box .mv_ttl {
        margin-bottom: 2vw;
    }
    .mv_slider_ite .wrap .mv_box {
        align-items: center;
        text-align: center;
        margin-bottom: 5vw;
    }
    .mv_slider_ite.item2 .wrap .mv_box {
        padding-left: 0;
    }
    .mv_slider_ite.item4 .wrap .mv_box {
        margin-bottom: 7vw;
    }
    .mv_slider_ite.item2 .wrap .mv_box {
        margin-bottom: 7vw;
    }
    .mv_slider_ite.item3 .wrap .mv_box {
        margin-bottom: 8vw;
    }
    .mv_box .mv_ttl .ja .line.l_l {
        top: -9px;
        left: 0;
    }
    .mv_box .mv_ttl .ja .line.l_r {
        bottom: -3px;
        right: 0;
    }
    .mv_box .mv_ttl .ja .line.l_r.r1 {
        right: 0;
    }
    .mv_slider_ite .wrap .img {
        position: relative;
    }
    .mv_slider_ite.item5 .wrap .img {
        top: 29vw;
        width: 110vw;
        left: -8vw;	
    }
    .mv_slider_ite.item2 .mv_box .mv_ttl .en {
        padding-right: 0;
        text-align: center;
    }
    .mv_slider_ite.item2 .wrap .img, .mv_slider_ite.item3 .wrap .img, .mv_slider_ite.item4 .wrap .img {
        left: 0;
        top: 0;
    }
    .mv_slider_ite.item3 .wrap .img {
        right: 18vw;
        width: 126vw;
        left: auto;
    }
    .mv_slider_ite.item4 .wrap .img {
        width: 94vw;
        left: 1vw;
    }
    .mv_slider .slick-dots {
        bottom: 10px;
    }
    .mv_slider .slick-dots li, .mv_slider .slick-dots li button {
        width: 15px;
        height: 15px;
    }
    /* sec01 */
    .sec01 {
        padding-top: 50px;
        padding-bottom: 55px;
    }
    .sec01:before {
        background-size: 960px auto;
    }
    .sec01_con {
        flex-direction: column-reverse;
        padding: 0;
    }
    .sec01_con .item2 {
        padding-top: 0px;
        padding-left: 0;
        margin-bottom: 20px;
    }
    .ttl_h3 .ja .light.l_l {
        top: -14px;
        left: 0;
    }
    .ttl_h3 .ja .light.l_r {
        bottom: -5px;
        right: -1px;
    }
    .sec01 .inner {
        padding: 0 15px;
    }
    .sec01_img {
        max-width: 370px;
        margin: 0 auto;
    }
    .sec01_con .item1 {
        margin-bottom: 25px;
        margin-top: 0;
    }
    .sec01_w {
        margin-top: -50px;
        padding: 50px 15px 10px;
    }
    .sec01_ttl1 {
        font-size: 18px;
    }
    .product_item .slick-slide {
        margin: 0 5px;
    }
    .sec01_ttl1, .sec01_ttl1.ttl2 {
        margin-bottom: 15px;
    }
    .sec01_ttl1.ttl2 {
        margin-top: 55px;
    }
    .product_item > div {
        width: auto;
    }
    .product_item > div {
        margin: 0 10px;
    }
    .product_thumb {
        height: 370px;
        display: flex;
        align-items: flex-start;
        justify-content: center;
    }
    .product_item div .wrap {
        border-bottom-width: 5px;
    }
    .product_thumb img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
    .product_item .slick-dots li {
        margin: 0 6px;
    }
    .product_item .slick-dots li {
        width: 8px;
        height: 8px;
        transition: all 0.3s;
        background: var(--scolor);
        border-radius: 50%;
    }
    .product_item .slick-dots li button {
        width: 100%;
        height: 100%;
    }
    .product_item .slick-dots li button::before {
        display: none;
    }
    .product_item .slick-dots {
        bottom: -70px;
        left: 0;
        margin: 0 auto;
        right: 0;
    }
    .product_item .slick-dots {
        bottom: -25px;
    }
    .product_item .slick-dots li.slick-active {
        background: var(--mcolor);
        pointer-events: none;
    }
    .product_item > div:not(:last-child) {
        margin-right: 0px;
    }
    .product_tag {
        flex-wrap: wrap;
        margin-bottom: 30px;
    }
    .product_tag li {
        width: calc(50% - 5px);
        margin-bottom: 10px;
        height: 80px;
        font-size: 20px;
    }
    .product_tag li:not(:last-child) {
        margin-right: 0px;
    }
    .product_tag li:not(:nth-child(2n)) {
        margin-right: 10px;
    }
    .product_type {
        font-size: 16px;
    }
    /* sec02 */
    .sec02 {
        padding: 50px 0;
    }
    .sec02:before {
        width: calc(100% - 100px);
    }
    .sec02 .inner {
        padding: 0 15px;
    }
    .sec02_wrap {
        width: 100%;
        height: auto;
        padding: 50px 20px 50px;
    }
    .sec02 .ttl_h3 .en {
        font-size: 20px;
    }
    .sec02_ttl {
        font-size: 20px;
        margin-bottom: 15px;
        line-height: 1.5;
    }
    .sec02_btn {
        right: 0px;
        left: 0;
        margin: 0 auto;
        bottom: 0px;
        width: 120px;
        height: 120px;
        border: 1px solid #fff;
        position: relative;
        font-size: 18px;
    }
    .sec02_btn span {
        padding-bottom: 10px;
        background-size: 14px auto;
    }
    .sec02_txt {
        margin-bottom: 25px;
    }
    .sec02_wrap:before {
        background: url(../images/idx_bg2_sp.png) no-repeat center top / cover;
    }
    .sec02_en {
        bottom: -5px;
    }
    /* sec03 */
    .sec03 {
        /* background: url(../images/idx_bg3_sp.jpg) no-repeat center top / cover;
        background-attachment: scroll; 
        padding: 50px 15px 10px;
        */
        background: #d1272d;
        padding: 50px 15px;
    }
    .sec03_item {
        flex-wrap: wrap;
    }
    .sec03_item > div:not(:last-child) {
        margin-right: 0;
    }
    .sec03_item > div {
        width: calc(50% - 10px);
        margin-bottom: 15px;
    }
    .sec03_item > div:not(:nth-child(2n)) {
        margin-right: 20px;
    }
    .sec03 .inner {
        padding: 50px 20px 10px 10px;
    }
    .sec03_txt {
        margin-bottom: 40px;
    }
    .sec03_wrap {
        position: relative;
        padding: 0;
    }
    .sec03_item > div:nth-child(2n) {
        margin-top: 0;
    }
    .item4 .sec03_wrap {
        padding-bottom: 0;
    }
    .sec03_tt > span {
        background: none;
        padding: 0;
        margin-bottom: 5px;
    }
    .sec03_tt .lg, .sec03_tt .lg {
        font-size: 22px;
        margin-bottom: 0px;
    }
    .item4 .sec03_tt .lg {
        padding-right: 0px;
        padding-top: 0px;
    }
    .sec03_tt .sm {
        font-size: 3vw;
    }
    .item2 .sec03_tt > span {
        padding: 0;
    }
    .sec03_tt .mid {
        font-size: 3.4vw;
        margin-bottom: 0;
    }
    .sec03_tt .lg {
        font-size: 4vw;
    }
    .sec03_img {
        margin-bottom: -16px;
    }
    .sec03_en {
        width: 100px;
        height: 30px;
        font-size: 15px;
        margin-bottom: 8px;
        margin-left: 0px;
    }
    .item2 .sec03_en {
        margin-bottom: 10px;
    }
    /* sec04 */
    .sec04 {
        padding-bottom: 30px;
    }
    .sec04_item {
        flex-direction: column;
    }
    .sec04_item .item1 {
        padding-top: 50px;
        width: 100%;
        margin-right: 0;
        margin-bottom: 30px;
    }
    .sec04 .inner {
        padding: 0px 15px 50px 15px;
    }
    .sec04:before {
        width: 1000px;
        left: 0;
        top: 33px;
        background-size: 994px auto;
        background-repeat: repeat-y;
    }
    .sec04_en_lg {
        left: 0;
        bottom: -30px;
    }
    .sec04_en_lg img {
        margin-left: 0;
        max-width: 100%;
    }
    .sec04_txt {
        margin-bottom: 20px;
    }
    .sec04_en {
        width: 32px;
        left: calc(50% - 175px);
        top: 5px;
    }
    .sec04_list li {
        font-size: 16px;
        margin-bottom: 7px;
    }
    .sec04_list {
        padding-left: 0px;
        display: table;
        margin: 0 auto;
    }
    /* sec05 */
    .sec05 {
        padding-bottom: 35px;
        padding-top: 50px;
        background: #fff;
        position: relative;
    }
    .sec05_step {
        margin-bottom: 35px;
    }
    .sec05_step ul {
        flex-direction: column;
        max-width: 450px;
        margin: 0 auto;
    }
    .sec05_step ul > li:not(:last-child) {
        margin-right: 0;
        margin-bottom: 25px;
    }
    .sec05_step ul > li {
        /* height: 135px;*/
        width: 100%;
        padding-top: 30px;
        padding-bottom: 30px;
    }
    .sec05_step ul:before {
        width: 20px;
        height: 100%;
        background: #6e6e6e;
        left: calc(50% - 5px);
        top: 0;
    }
    .sec04_item .ttl_h3 {
        align-items: center;
    }
    .sec04_item .ttl_h3 .en {
        padding-right: 0;
        padding-bottom: 13px;
        margin-bottom: 10px;
    }
    .sec04_item .ttl_h3 .en:before {
        left: 0;
        right: 0;
        margin: 0 auto;
        background-position: center bottom;
    }
    .sec04 .ttl_h3 .ja .light.l_l {
        top: -9px;
        left: -3px;
    }
    .red_txt {
        top: 0px;
    }
    .sec04 .ttl_h3 .ja .light.l_r {
        right: -3px;
        bottom: -2px;
    }
    .sec04_item .ttl_h3 .ja, .sec04_txt {
        text-align: center;
    }
    /* sec06 */
    .sec06 {
        padding-top: 50px;
        padding-bottom: 0px;
    }
    .sec06_item {
        flex-direction: column;
    }
    .sec06_item .item1 {
        width: 100%;
        margin-right: 0;
        margin-bottom: 60px;
    }
    .sec06_load dl dt {
        width: 115px;
        height: 70px;
        margin-right: 20px;
    }
    .sec06_load dl dd {
        width: calc(100% - 135px);
        padding-top: 0;
    }
    .sec06_load dl dd .cate {
        font-size: 12px;
        margin-bottom: 9px;
    }
    .sec06_load dl dd .date, .sec06_load dl dd .num {
        font-size: 16px;
        letter-spacing: 0em;
    }
    .sec06_bnr p a {
        width: 100%;
        height: 180px;
        padding-top: 9px;
    }
    .sec06_bnr p a .en {
        width: 110px;
        height: 30px;
        line-height: 30px;
        font-size: 15px;
        margin-bottom: 10px;
    }
    .sec06_bnr p a .ja {
        font-size: 24px;
    }
    .sec06_bnr, .ft_contact {
        max-width: 410px;
        margin-left: auto;
        margin-right: auto;
    }
    /* sec07 */
    .ft_contact, .ft_tel_box {
        flex-direction: column;
    }
    .contact_box > p {
        width: 100%;
    }
    .ft_contact.contact_box > p > a {
        width: 100%;
        height: 160px;
        padding-bottom: 20px;
    }
    .ft_contact {
        top: -90px;
        margin-bottom: -55px;
    }
    .ft_contact.contact_box > p > a .en {
        font-size: 25px;
    }
    .ft_contact.contact_box > p > a .ja {
        font-size: 14px;
    }
    .ft_contact.contact_box > p > a:before {
        width: 14px;
        height: 18px;
        bottom: 40px;
        background-size: 14px auto;
    }
    .ft_tel_box {
        align-items: center;
    }
    .ft_tel_num a {
        font-size: 22px;
    }
    .ft_tel_num {
        margin-right: 0;
        margin-bottom: 30px;
    }
    .ft_tel_box .ft_fax_r .ft_tel_fax .num {
        font-size: 28px;
    }
    .ft_tel_box .ft_fax_r .ft_hour {
        font-size: 18px;
        text-align: center;
    }
    .ft_t {
        padding-bottom: 40px;
    }
    .ft_tel_box .ft_fax_r .ft_tel_fax {
        margin-bottom: 10px;
    }
    .ft_bt .inner {
        flex-direction: column-reverse;
        padding: 0 15px;
    }
    .ft_bnr {
        padding-top: 50px;
        margin: 0 auto;
        width: 100%;
        text-align: center;
        padding-right: 0;
    }
    .ft_logo {
        margin-bottom: 15px;
        text-align: center;
    }
    .ft_info {
        padding-top: 40px;
        max-width: 350px;
        margin: 0 auto 15px;
        width: 100%;
    }
    .ft_bnr:before {
        width: 100%;
        height: 1px;
        top: 15px;
    }
    /*============ FOOTER ============*/
    .ttl_h3 .en:before, .ttl_h3_cen .en:before {
        background-size: auto 2px;
        width: 27px;
    }
    footer {
        margin-bottom: 50px;
        padding-top: 130px;
    }
    .btn a .ja {
        font-size: 14px;
    }
    .btn a .en {
        font-size: 18px;
    }
    .btn a {
        width: 260px;
        height: 60px;
        padding-left: 20px;
    }
    .btn a:before {
        width: 46px;
        height: 40px;
        top: 10px;
    }
    .ttl_h3 .ja, .sec04_item .ttl_h3 .ja {
        font-size: 28px;
        letter-spacing: 0em;
    }
    .sec04_item .ttl_h3 .ja {
        font-size: 26px;
    }
    .ttl_h3 .en {
        font-size: 18px;
        margin-bottom: 10px;
        padding-right: 35px;
    }
    .ttl_h3_cen .en {
        padding-right: 0;
    }
    .ttl_h3:not(:last-child) {
        margin-bottom: 25px;
    }
    address {
        font-size: 12px;
        line-height: 1.6;
        padding: 25px 0px;
    }
    /* SP CONTACT */
    .sp_contact {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 60px;
        position: fixed;
        left: 0;
        z-index: 99;
        bottom: -65px;
        transition: all 0.3s;
        background: #fff;
        box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.2);
    }
    .sp_contact.show {
        bottom: 0;
    }
    .sp_contact .contact_box {
        width: calc(100% - 100px);
    }
    .sp_contact .contact_box > p > a {
        height: 60px;
        width: 100%;
    }
    .sp_contact .box_sns {
        margin-right: 0;
        margin-left: 10px;
        flex-shrink: 0;
        padding-right: 10px;
    }
    .sp_contact .box_sns a:not(:last-child) {
        margin-right: 5px;
    }
    .sp_contact .contact_box > p:not(:last-child) {
        margin-right: 0px;
    }
    /* TO TOP */
    .to_top {
        width: 45px;
        height: 45px;
        right: 10px;
        bottom: 61px;
    }
    .to_top.show.active {
        bottom: 110px;
    }
    .grecaptcha-badge {
        bottom: 110px !important;
    }
    /*============ END 750 ============ */
}
/* screen-max:440px */
@media screen and (max-width: 440px) {
    .sp440 {
        display: block !important;
    }
    .pc440 {
        display: none !important
    }
    .sec03_tt .lg {
        font-size: 3.8vw;
        line-height: 6vw;
    }
    .sec03_tt .sm {
        font-size: 2.8vw;
        letter-spacing: -0.02em;
    }
    .sec03_tt .mid {
        font-size: 3.8vw;
    }
    .sec03_tt > span {
        margin-bottom: 0;
    }
    .item2 .sec03_wrap {
        padding-bottom: 15px;
    }
    .sec03_en {
        width: 90px;
        height: 28px;
        font-size: 14px;
    }
    .product_thumb {
        height: 390px;
    }
    .sec04 .inner {
        padding: 0px 15px 20px 15px;
    }
}
/* screen-max: 360px */
@media screen and (max-width: 425px) {
    .sp425 {
        display: block !important;
    }
    .sec05_step ul > li .num {
        width: 46px;
        height: 46px;
        font-size: 18px;
    }
    .sec05_step ul > li .tt {
        font-size: 20px;
        margin-bottom: 10px;
    }
    .sec05_step ul > li .txt {
        font-size: 14px;
    }
    .sec05_step ul > li {
        height: 125px;
    }
    .sec02_btn {
        width: 100px;
        height: 100px;
    }
    .product_type {
        min-width: inherit;
    }
    .product_item > div .wrap {
        padding: 0;
    }
    .product_item > div .wrap:before {
        right: 6px;
        bottom: 6px;
    }
    .sec06_bnr p a {
        height: 136px;
    }
    .product_type {
        margin-bottom: 25px !important;
    }
}
@media screen and (max-width: 360px) {
    .sp360 {
        display: block !important;
    }
    .mv_box .mv_ttl .ja {
        font-size: 6.3vw;
    }
    .mv_box .mv_txt {
        font-size: 4.3vw;
    }
    .sec01 .ttl_h3 .ja {
        font-size: 24px;
    }
    .product_title {
        padding: 18px 0px;
    }
    .product_tag li {
        height: 60px;
        font-size: 16px;
    }
    .product_thumb {
        height: 300px;
    }
    .sec02_txt p, .sec03_txt p {
        font-size: 13px;
    }
    .sec02_wrap {
        padding: 50px 15px 50px;
    }
    .sec03 .inner {
        padding: 50px 8px 30px;
    }
    .sec03_en {
        width: 80px;
        height: 26px;
        font-size: 12px;
    }
    .sec04_en {
        left: calc(50% - 155px);
    }
    .sec06_load dl dt {
        width: 100px;
        margin-right: 12px;
    }
    .sec06_load dl dd {
        width: calc(100% - 105px);
    }
    .ft_tel_num a {
        font-size: 20px;
    }
    address {
        font-size: 10px;
    }
    .sp_contact .contact_box > p > a .ja {
        font-size: 10px;
        letter-spacing: 0em;
    }
    .sp_contact .contact_box > p > a .en {
        font-size: 18px;
        margin-bottom: 3px;
    }
    .ft_add, .ft_bnr_group {
        padding-left: 0;
    }
}