.sp440 {
    display: none
}
@media screen and (min-width: 751px) {
    .sp {
        display: none !important
    }
    .image_r {
        float: right;
        margin-left: 40px;
    }
    .image_l {
        float: left;
        margin-right: 50px;
    }
    /* NAV */
    .h_box {
        min-width: calc(var(--container) + 30px);
        padding: 27px 0;
    }
    .hamburger {
        display: none;
    }
    nav {
        margin-right: 40px;
        padding-top: 2px;
    }
    .nav_list {
        display: flex;
        justify-content: space-between;
    }
    .nav_list > li:not(:last-child) {
        margin-right: 29px;
    }
    .nav_list > li > a {
        display: flex;
        align-items: center;
        position: relative;
        font-size: 15px;
        color: #FFF;
        font-weight: bold;
        white-space: nowrap;
    }
    .nav_list > li > a:hover {
        text-decoration: underline;
        text-underline-offset: 2px;
    }
    .find_a, .find_out {
        cursor: pointer;
    }
    /* HOVER */
    .to_top img:hover,
    .find_a:hover {
        opacity: .8
    }
    .btn a span {
        position: relative;
        z-index: 2;
    }
    .btn:not(.btn_anchor) a::after {
        content: "";
        position: absolute;
        width: calc(100% + 50px);
        height: calc(100% + 8px);
        top: 0;
        left: 0;
        transform-origin: right;
        background-color: var(--mcolor);
        z-index: 0;
        transition: scale .4s ease-out;
        scale: 0 1;
        clip-path: polygon(0 0, 100% 0, 100% 0, calc(100% - 50px) 100%, 0 100%);
        z-index: 0;
    }
    .btn:not(.btn_anchor) a:hover::after {
        scale: 0 1;
        transform-origin: left;
        scale: 1 1;
    }
    .btn:not(.btn_anchor).bg01 a::after {
        background-color: var(--txt);
    }
    .btn:not(.btn_anchor).bg02 a::after {
        background-color: #E5EDF6;
    }
    .btn_anchor a:hover {
        background-color: #626262;
    }
    .sec01_list dl dt a:hover .arrow {
        transform: translateY(10px);
        background-color: var(--scolor);
    }
    .sec04_list dl dd .more:hover {
        background-color: var(--scolor);
        color: #FFF;
    }
    .sec04_list dl dd .more:hover span::before, .sec04_list dl dd .more:hover span::after {
        background-color: #FFF;
    }
    .sec08_form .mktoForm button.mktoButton:hover {
        opacity: 1 !important;
        background-color: #4CA0DC;
    }
    .tabs li:hover {
        background-color: #fff;
        color: var(--mcolor);
    }
    .sec07_faq dt:hover {
        color: var(--mcolor);
    }
    .sec07_faq dt:hover::before, .sec07_faq dt:hover::after {
        background-color: var(--txt);
    }
    .sec08_form .mktoFormRow a:hover {
        opacity: 0.7;
    }
}
@media screen and (min-width: 751px) and (max-width: 1640px) {
    nav {
        margin-right: 30px;
    }
    .nav_list > li:not(:last-child) {
        margin-right: 15px;
    }
    .h_contact .btn a {
        font-size: 14px;
        width: 200px;
    }
    .btn a {
        width: 230px;
        font-size: 16px;
        height: 60px;
    }
    .btn_anchor a {
        width: 250px;
    }
    .mv {
        height: 800px;
    }
    .mv_slick_ite {
        width: 400px;
    }
    .mv_box {
        max-width: 1240px;
        margin: 0 auto;
    }
    .mv_tt {
        font-size: 45px;
    }
    .mv_tt .big {
        font-size: 60px;
        margin-left: 0;
    }
    .sec04_list dl dd .des {
        -webkit-line-clamp: 3 !important
    }
    .sec04_list dl dd .tt {
        min-height: 87px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1440px) {
    .h_box {
        padding: 20px 0;
    }
    .nav_list > li {
        cursor: pointer;
    }
    .nav_list > li > a {
        font-size: 12px;
    }
    .mv {
        height: 620px;
    }
    .mv::before, .mv::after {
        height: 140px;
    }
    .painting .mv::before, .painting .mv::after {
        height: 160px;
        bottom: -15px;
    }
    .mv::after {
        bottom: -17px;
    }
    .mv_tt {
        font-size: 40px;
    }
    .mv_tt .big {
        font-size: 50px;
    }
    .mv_des {
        font-size: 20px;
        margin-bottom: 30px;
    }
    .mv_r {
        margin-right: 0;
    }
    .mv_r ul li {
        font-size: 16px;
        height: 135px;
    }
    .mv_r ul li span span {
        font-size: 20px;
    }
    .mv_slick {
        margin-top: 40px;
        margin-bottom: -15px;
    }
    .mv_slick::after {
        height: 15px;
    }
    .mv_slick_ite {
        width: 300px;
    }
    .sec01_list::before, .sec01_list::after {
        width: 150px;
        bottom: 80px;
    }
    .sec01_list::before {
        left: -80px;
    }
    .sec01_list::after {
        right: -80px;
    }
    .sec02_list dl dd img {
        max-width: 620px;
    }
    .sec02_tt {
        font-size: 27px;
    }
    .sec02_des {
        font-size: 15px;
    }
    .sec02_list dl dd {
        width: 480px;
    }
    .sec02_str {
        font-size: 12px;
        margin-top: -50px;
        width: 70px;
    }
    .sec02_str::after {
        width: 25px;
        left: 35px;
    }
    .sec02_str .num {
        font-size: 60px;
        margin-top: 15px;
    }
    .sec02_list dl:nth-of-type(odd) .sec02_str {
        margin-left: -70px;
    }
    .sec02_list dl:nth-of-type(even) .sec02_str::after {
        right: 35px;
    }
    .sec04_list dl:not(:nth-of-type(3n)) {
        margin-right: 40px;
    }
    .sec04_list dl dd .tt {
        font-size: 16px;
    }
}
/* screen-min:750px */
@media screen and (max-width: 750px) {
    input, button, textarea, select, p, blockquote, th, td, pre, address, li, dt, dd {
        font-size: 14px;
    }
    img {
        max-width: 100%;
        height: auto;
    }
    .inner {
        padding: 0 15px;
    }
    #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 {
        margin-bottom: 20px;
    }
    .nav_list ul,
    .nav_list li {
        width: 100%;
    }
    .nav_list .parent .sub ul li {
        background: var(--mcolor);
    }
    .nav_list .parent .sub ul li:not(:last-child) {
        border-bottom: 1px solid var(--mcolor)
    }
    .nav_list .hook, .nav_list a {
        display: block;
        padding: 13px 15px 12px;
        color: var(--mcolor);
        font-size: 15px;
        font-weight: 600;
        border-bottom: solid 1px var(--mcolor);
        text-align: center;
    }
    .nav_list .hook {
        position: relative;
        padding-left: 15px
    }
    .nav_list .hook::before,
    .nav_list .hook::after {
        content: "";
        position: absolute;
        width: 16px;
        height: 2px;
        background-color: var(--mcolor);
        top: calc(50% - 1px);
        right: 10px;
        transition: all 0.3s;
    }
    .nav_list .hook::after {
        transform: rotate(-90deg);
    }
    .nav_list .hook.open::after {
        transform: rotate(0);
    }
    .sub {
        display: none
    }
    .sub ul:not(:last-child) {
        margin-bottom: 15px
    }
    .sub a {
        color: var(--mcolor);
        border-bottom: none;
    }
    .hamburger {
        position: absolute;
        right: 8px;
        bottom: 9px;
        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
    }
    /*=====================================================
                          C U S T O M
    ======================================================*/
    .box_heading {
        margin-bottom: 30px;
    }
    .ttl_h3 {
        margin-bottom: 25px;
    }
    .ttl_h3 .ja {
        font-size: 23px;
    }
    .ttl_h3 .en {
        font-size: 15px;
        margin-bottom: 10px;
    }
    .ttl_h3 .en span {
        padding: 0 15px;
    }
    .ttl_h3 .en span::before, .ttl_h3 .en span::after {
        width: 40px;
    }
    .ttl_h3 .slg {
        font-size: 14px;
    }
    .ttl_h3 .slg span {
        padding: 5px 15px;
    }
    .btn a {
        width: 260px;
        height: 55px;
        font-size: 16px;
    }
    .btn_box .btn {
        margin: 5px;
    }
    .btn_anchor a::after {
        width: 22px;
        height: 22px;
        top: calc(50% - 11px);
    }
    .list01 li::before {
        width: 10px;
        height: 10px;
        top: 8px;
    }
    .image_l img, .image_r img {
        margin: 0 auto;
        display: block;
    }
    /*============ HEADER ============*/
    #logo {
        width: 240px;
    }
    .h_box {
        height: 60px
    }
    /*============ Main ============*/
    .mv {
        padding-top: 80px;
    }
    .mv_box {
        max-width: 345px;
        margin-left: auto;
        margin-right: auto;
    }
    .mv_tt {
        font-size: 24px;
        text-align: center;
        letter-spacing: 0;
        white-space: nowrap;
    }
    .mv_tt .big {
        font-size: 30px;
        padding: 5px 5px 2px;
        border-width: 2px;
        margin-right: 5px;
    }
    .mv_des {
        font-size: 13px;
        text-align: center;
        white-space: nowrap;
    }
    .mv_r {
        margin-bottom: 30px;
    }
    .mv_r ul {
        grid-gap: 6px;
    }
    .mv_r ul li {
        padding: 10px 8px;
        font-size: 14px;
    }
    .painting .mv_r ul li:nth-child(1) {
        font-size: 12px;
    }
    .mv_r ul li span span {
        font-size: 15px;
    }
    .mv_btn {
        flex-direction: column;
        align-items: center;
    }
    .mv_btn p:not(:last-child) {
        margin-bottom: 10px;
    }
    .mv_slick {
        margin-top: 30px;
    }
    .mv_slick_ite {
        width: 240px;
        margin: 0 5px;
    }
    .mv::before, .mv::after {
        height: 120px;
        bottom: 14px;
    }
    .mv::before {
        width: 50px;
        left: 10px;
    }
    .mv::after {
        width: 200px;
        right: -50px;
    }
    .painting .mv::before, .painting .mv::after {
        bottom: 20px;
    }
    .painting .mv::before {
        left: 0;
        width: 130px;
    }
    .painting .mv::after {
        width: 150px;
        right: -50px;
    }
    .tag_list li {
        font-size: 11px;
    }
    /* sec01 */
    .sec01 {
        padding: 20px 0 60px;
    }
    .sec01_head {
        margin-bottom: 30px;
    }
    .sec01_tt1 {
        font-size: 19px;
    }
    .sec01_tt2 span {
        font-size: 22px;
        padding: 12px 15px 9px;
    }
    .sec01_tt3 {
        font-size: 20px;
    }
    .sec01_list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 10px;
        max-width: 440px;
        margin: 0 auto;
    }
    .sec01_list dl dt a {
        padding: 20px 5px;
    }
    .sec01_list dl dt a .txt {
        font-size: 12px;
        letter-spacing: 0;
        min-height: 60px;
    }
    .sec01_list dl dd img {
        width: 56px;
    }
    .painting .sec01_list {
        grid-gap: 30px 10px;
    }
    .painting .sec01_list dl dd img {
        width: 100px;
    }
    .sec01_list::before, .sec01_list::after {
        width: 100px;
        height: 105px;
    }
    .painting .sec01_list dl dd {
        display: flex;
        justify-content: center;
        top: 15px;
    }
    .painting .sec01_list dl dd {
        top: 0;
    }
    .painting .sec01_list dl:nth-of-type(1) dd {
        justify-content: end;
        left: 10px;
    }
    .painting .sec01_list dl:nth-of-type(4) dd {
        justify-content: start;
    }
    .painting .sec01_list dl:nth-of-type(4) dd {
        left: -10px;
        top: -10px;
    }
    .sec01_list::before {
        left: -5px;
        top: 170px;
    }
    .sec01_list::after {
        right: 0;
        bottom: 0;
    }
    .sec01_list dl dt a .arrow {
        width: 22px;
        height: 22px;
    }
    .sec01_list dl dt a .arrow::after {
        width: 6px;
        height: 6px;
    }
    .sec01_list dl dt a::after {
        top: calc(100% - 8px);
    }
    /* sec02 */
    .sec02 {
        padding-bottom: 50px;
    }
    .sec02_head {
        padding: 40px 0;
        margin-bottom: 100px;
    }
    .sec02 .ttl_h3 .ja img {
        height: 35px;
        margin-top: -7px;
        width: auto;
    }
    .sec02_head .ttl_h3::before {
        height: 60px;
        bottom: -30px;
    }
    .sec02_head .ttl_h3::after {
        bottom: -30px;
    }
    .sec02_str {
        font-size: 12px;
        margin-bottom: 30px;
        transform: translateY(-50px);
    }
    .sec02_str::after {
        width: 1px;
        left: calc(50% - 1px);
        height: 40px;
        top: calc(100% + 25px);
    }
    .sec02_str .num {
        font-size: 60px;
        margin-top: 10px;
    }
    .sec02_tt {
        font-size: 17px;
        text-align: center;
        margin-bottom: 20px;
        letter-spacing: 0;
    }
    .sec02_tt .bg_pc {
        background: none;
        padding: 0;
    }
    .sec02_tt .bg_pc span:not(:last-child) {
        margin-bottom: 12px;
        display: inline-block;
    }
    .sec02_tt .bg_sp, .sec02_tt > span {
        background: var(--yel);
        padding: 5px 10px 4px;
    }
    .sec02_list dl {
        padding: 0 15px 30px;
    }
    .sec02_list dl:not(:last-child) {
        margin-bottom: 90px;
    }
    .sec02_list dl::after {
        width: 100%;
        left: 0;
        height: 100%;
    }
    .sec02_list dl img {
        border-radius: 8px;
    }
    .sec02_key {
        top: -40px;
    }
    .sec_bnn {
        padding: 40px 0;
    }
    /* sec03 */
    .sec03 {
        padding: 45px 0 50px;
    }
    .sec03_ite {
        padding: 30px 15px;
    }
    .sec03_ite_tt {
        font-size: 20px;
        margin-bottom: 15px;
    }
    .sec03_ite_tt .icon {
        width: 50px;
        height: 50px;
        margin-right: 10px;
    }
    .sec03_ite_tt .icon img {
        width: 24px;
    }
    .sec03_ite_img {
        width: 200px;
        margin: 0 auto 20px;
    }
    .sec03_ite_list:not(:last-child), .sec03_ite:not(:last-child) {
        margin-bottom: 30px;
    }
    .sec03_ite_list dl:not(:last-child) {
        margin-bottom: 30px;
    }
    .sec03_ite_list dl dt {
        width: calc(100% - 30px);
        margin: 0 auto -20px;
    }
    .sec03_ite_list dl dt span {
        padding: 5px 10px;
        font-size: 16px;
    }
    .sec03_ite_list > dl dd, .sec03_box .sec03_ite_list > dl dd {
        padding: 40px 15px 30px;
    }
    /* sec04 */
    .sec04 {
        padding: 60px 0 45px;
    }
    .sec04::before {
        top: 20px;
    }
    .sec04_head::before, .sec04_head::after {
        width: 50px;
        height: 128px;
        bottom: -60px;
    }
    .sec04_head::before {
        left: -5px;
    }
    .sec04_head::after {
        right: -5px
    }
    .painting .sec04_head::before, .painting .sec04_head::after {
        width: 60px;
        height: 116px;
        bottom: -50px;
    }
    .painting .sec04_head::before {
        left: -5px;
        bottom: -60px;
    }
    .painting .sec04_head::after {
        right: -5px;
    }
    .sec04_list dl:not(:last-child) {
        margin-bottom: 30px;
    }
    .sec04_list dl dd .tt {
        font-size: 16px;
        margin-bottom: 10px;
    }
    .sec04_list dl dd .box {
        padding: 25px 15px 0;
    }
    .sec04_list dl dd .more {
        margin-top: 20px;
        padding: 15px 15px 12px;
    }
    /* sec05 */
    .sec05 {
        padding: 40px 0 45px;
    }
    .sec05::before {
        height: 340px;
    }
    .sec05_head {
        margin-bottom: 50px;
    }
    .sec05_chart {
        position: relative;
        max-width: 440px;
        margin: 0 auto 40px;
    }
    .sec05_month {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        border: 1px solid #CCCCCC;
        border-top: 0;
        height: 50px;
        width: 50%;
        bottom: 230px;
        left: calc(25% - 5px);
        font-size: 12px;
        line-height: 1;
        padding-top: 15px;
    }
    .sec05_month::after {
        width: 1px;
        height: 30px;
        background-color: #CCCCCC;
        top: 100%;
        left: calc(50% - 1px);
    }
    .sec05_step {
        justify-content: center;
        display: flex;
        flex-wrap: wrap
    }
    .sec05_step li {
        width: calc(50% - 5px);
    }
    .sec05_step li:not(:nth-of-type(-n + 2)) {
        margin-top: 40px;
    }
    .sec05_step li:nth-of-type(odd) {
        margin-right: 10px;
    }
    .sec05_step li:last-child {
        margin-top: 80px;
    }
    .sec05_step li .img {
        width: 100px;
        height: 100px;
    }
    .sec05_step li .img img {
        width: 40px;
    }
    .sec05_step li .tt {
        font-size: 16px;
        min-height: 40px;
    }
    .sec05_step li .num {
        margin-top: -20px;
    }
    .sec05_step li .num span {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }
    .sec05_box {
        margin-bottom: 40px;
    }
    .sec05_box_frame {
        padding: 40px 0 20px;
    }
    .sec05_box .sec05_head {
        margin-bottom: 30px;
    }
    .sec05_list dl dd {
        width: calc(100% - 40px);
        padding: 20px 15px;
    }
    .sec05_list dl dd .auth .key {
        font-size: 18px;
    }
    .sec05_list dl:not(:last-child) {
        margin-bottom: 10px;
    }
    .sec05_slogan1 {
        font-size: 18px;
        letter-spacing: 0;
        margin-bottom: 40px;
    }
    .sec05_slogan1 .lg {
        font-size: 20px;
    }
    .sec05_slogan2 {
        font-size: 19px;
        margin-bottom: 35px;
    }
    .sec05_slogan2 span {
        padding: 5px 10px 1px;
        margin-bottom: 4px;
    }
    .sec05_pickup {
        padding: 50px 0;
        margin-bottom: 40px;
    }
    .sec05_pickup::before {
        top: -10px;
    }
    .sec05_pickup .tt {
        font-size: 18px;
        text-align: center;
    }
    .sec05_pickup dd {
        text-align: center;
    }
    .sec05_frame0 .sec05_slogan2 {
        margin-bottom: 20px;
    }
    .sec05_frame1 {
        padding: 0 15px 30px;
        margin-bottom: 60px;
    }
    .sec05_frame1 .tt {
        font-size: 18px;
        line-height: 1.6;
        margin-top: -25px;
        margin-bottom: 20px;
    }
    .sec05_frame2 {
        padding: 0 15px 30px;
    }
    .sec05_frame2 .tt {
        font-size: 16px;
        transform: translateY(-20px);
        margin-bottom: 10px;
    }
    .sec05_frame2 .tt span {
        padding: 8px 20px 5px;
    }
    /* sec06 */
    .sec06 {
        padding: 45px 0;
    }
    .sec06_price, .sec06_option, .sec05_frame1, .sec05_frame2, .sec05_list, .sec04_list, .sec04_head, .sec03_ite {
        max-width: 520px;
        margin-left: auto;
        margin-right: auto;
    }
    .sec06_price dl:not(:first-child) {
        margin-top: 30px;
    }
    .sec06_price dl dt {
        min-height: 45px;
        font-size: 16px;
        padding-top: 4px;
    }
    .sec06_price dl.current dt {
        font-size: 18px;
        min-height: 60px;
    }
    .sec06_price dl dd .box01, .sec06_price dl dd .box02 {
        padding: 25px 15px;
    }
    .sec06_price dl dd .tt2 {
        font-size: 18px;
        margin-bottom: 10px;
    }
    .sec06_price dl dd .tt3 {
        font-size: 26px;
    }
    .sec06_price dl.current {
        margin-top: 100px;
    }
    .sec06_price dl dt .stick {
        font-size: 15px;
        padding: 5px 20px;
        top: -70px;
    }
    .sec06_option {
        margin-top: 60px;
    }
    .sec06_option::after {
        height: 30px;
        width: 2px;
        left: calc(50% - 1px);
        top: -45px;
    }
    .sec06_option::before {
        width: 30px;
        height: 2px;
        left: calc(50% - 15px);
        top: -31px;
    }
    .sec06_option dd ul {
        margin-bottom: 15px;
    }
    .sec06_option dd ul li {
        font-size: 15px;
        margin-bottom: 10px;
        line-height: 1.4;
    }
    .sec06_option dd ul li:not(:last-child) {
        width: calc(50% - 5px);
    }
    .sec06_option dd ul li:nth-of-type(odd) {
        margin-right: 10px;
    }
    /* sec07 */
    .sec07 {
        padding: 45px 0;
    }
    .sec07_faq dt {
        padding: 20px 40px 20px 15px;
    }
    .sec07_faq dt::before, .sec07_faq dt::after {
        right: 15px;
    }
    .sec07_faq dt span {
        height: 25px;
        margin-right: 12px;
        padding-right: 12px;
        margin-top: 0;
    }
    .sec07_faq dt span::after {
        content: "";
        position: absolute;
        width: 1px;
        height: calc(100% - 40px);
        background-color: #DBDBDB;
        left: 40px;
        top: 20px;
    }
    .sec07_faq dl dd {
        padding: 0 15px 20px;
    }
    /* sec08 */
    .sec08 {
        padding-bottom: 45px;
    }
    .sec08_head {
        padding: 45px 0 60px;
    }
    .sec08_form {
        margin-top: -60px;
    }
    .sec08_form .mktoFormRow:not(:nth-of-type(2)) .mktoFormCol {
        width: 100%;
    }
    .sec08_form .mktoFormRow:nth-of-type(2) .mktoFieldDescriptor.mktoFormCol:nth-of-type(2) {
        margin-left: 15px;
    }
    .sec08_form .mktoForm .mktoFormRow {
        margin-bottom: 15px !important;
    }
    .sec08_form .mktoForm .mktoFormRow:not(:first-child) {
        padding-top: 15px;
    }
    /* .sec08_form #form_1 .mktoForm .mktoFormRow:nth-child(10),
    .sec08_form #form_2 .mktoForm .mktoFormRow:nth-child(9)  */
    .sec08_form .mktoForm .mktoFormRow:has(#Lblmarketoform_PrivacyPolicyOptInflag) {
        display: flex !important;
        justify-content: center !important;
    }
    /* .sec08_form #form_1 .mktoForm .mktoFormRow:nth-child(10) .mktoFormCol,
    .sec08_form #form_2 .mktoForm .mktoFormRow:nth-child(9) .mktoFormCol */
    .sec08_form .mktoForm .mktoFormRow:has(#Lblmarketoform_PrivacyPolicyOptInflag) .mktoFormCol {
        width: 140px !important;
    }
    /* .sec08_form #form_1 .mktoForm .mktoFormRow:nth-child(10) .mktoFieldDescriptor.mktoFormCol,
    .sec08_form #form_2 .mktoForm .mktoFormRow:nth-child(9) .mktoFieldDescriptor.mktoFormCol */
    .sec08_form .mktoForm .mktoFormRow:has(#Lblmarketoform_PrivacyPolicyOptInflag) .mktoFieldDescriptor.mktoFormCol {
        width: 40px !important;
    }
    /* .sec08_form #form_1 .mktoForm .mktoFormRow:nth-child(10) .mktoForm .mktoOffset,
    .sec08_form #form_2 .mktoForm .mktoFormRow:nth-child(9) .mktoForm .mktoOffset */
    .sec08_form .mktoForm .mktoFormRow:has(#Lblmarketoform_PrivacyPolicyOptInflag) .mktoForm .mktoOffset {
        display: none !important;
    }
    .sec08_form .mktoForm input[type=text], .sec08_form .mktoForm input[type=url], .sec08_form .mktoForm input[type=email], .sec08_form .mktoForm input[type=tel], .sec08_form .mktoForm input[type=number], .sec08_form .mktoForm input[type=date], .sec08_form .mktoForm textarea.mktoField, .sec08_form .mktoForm select.mktoField {
        font-size: 15px !important;
        height: 50px !important;
        width: calc(100vw - 30px) !important;
    }
    .sec08_form .mktoForm #MA_Last_Nm__c, .sec08_form .mktoForm #MA_First_Nm__c {
        width: calc(50vw - 25px) !important;
    }
    .sec08_form .mktoForm .mktoFormRow .mktoRequiredField .mktoAsterix {
        margin-left: 5px;
    }
    .sec08_form #LblMA_First_Nm__c {
        opacity: 0;
    }
    .sec08_form .mktoForm {
        padding: 0 !important
    }
    .sec08_form .mktoForm button.mktoButton {
        width: 260px;
        height: 55px;
        margin-top: 10px;
    }
    .tabs {
        margin-bottom: 0;
    }
    .tabs li {
        font-size: 15px;
        line-height: 1.4;
        padding: 6px 10px 4px;
        height: 60px;
    }
    /*============ FOOTER ============*/
    footer {
        margin-bottom: 50px;
        z-index: 3;
    }
    .ft_box {
        padding: 40px 0 30px;
    }
    .ft_box img {
        width: 300px;
        margin: 0 auto;
        display: block;
    }
    .ft_box dd {
        text-align: center;
    }
    address {
        font-size: 14px;
        padding: 15px;
    }
    /* SP CONTACT */
    .sp_contact {
        display: flex;
        justify-content: center;
        align-items: center;
        width: calc(100% - 45px);
        height: 50px;
        position: fixed;
        left: 0;
        z-index: 99;
        bottom: 0;
        transition: all 0.3s;
        opacity: 0;
        visibility: hidden;
        background-color: #F7F7F7
    }
    .sp_contact.show {
        transform: scale(1);
        opacity: 1;
        visibility: visible;
    }
    .sp_contact li, .nav_contact li {
        width: 50%;
        height: 100%;
        padding: 3px;
    }
    .sp_contact li:not(:first-child) {
        padding-left: 0;
    }
    .sp_contact li a, .nav_contact li a {
        width: 100%;
        height: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        font-size: 12px;
        font-weight: bold;
        padding-top: 2px;
        border-radius: 6px;
        white-space: nowrap;
    }
    .sp_contact01 a {
        background-color: var(--red);
    }
    .sp_contact02 a {
        background-color: var(--scolor);
    }
    .nav_contact {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 50px;
        transition: all 0.3s;
        padding: 0 10px;
    }
    /* TO TOP */
    .to_top {
        width: 50px;
        height: 50px;
        right: 0;
        bottom: 0;
        background-color: #F7F7F7;
        padding: 5px;
    }
    .to_top img {
        width: 40px;
    }
    .sec_bnn .des{font-size: 13px;}

    /*============ END 750 ============ */
}
/* screen-max:440px */
@media screen and (max-width: 440px) {
    .sp440 {
        display: block !important;
    }
    .pc440 {
        display: none !important
    }
    /* .sec08_form #form_1 .mktoForm .mktoFormRow:nth-child(10) .mktoFieldDescriptor.mktoFormCol,
    .sec08_form #form_2 .mktoForm .mktoFormRow:nth-child(9) .mktoFieldDescriptor.mktoFormCol */
    .sec08_form .mktoForm .mktoFormRow:has(#Lblmarketoform_PrivacyPolicyOptInflag) .mktoFieldDescriptor.mktoFormCol {
        width: 20px !important;
    }
}
/* screen-max: 374px */
@media screen and (max-width: 374px) {
    .ttl_h3 .ja {
        font-size: 6vw;
    }
    .mv_tt {
        font-size: 6vw;
    }
    .mv_tt .big {
        font-size: 8vw;
    }
    .mv_des {
        font-size: 3.5vw;
    }
    .mv_r ul li {
        font-size: 3.2vw !important;
        padding: 10px 5px;
    }
    .mv_r ul li span span, .ttl_h3 .slg, .sec06_option dd ul li, .tabs li, .sec03_ite_list dl dt span {
        font-size: 3.8vw;
    }
    .sp_contact li a, .nav_contact li a {
        font-size: 3.1vw;
    }
    .sec01_list dl dt a .txt {
        font-size: 3vw;
    }
    .sec02_tt {
        font-size: 4.5vw;
    }
    .sec03_ite_tt, .sec05_slogan1 .lg, .sec05_slogan1 {
        font-size: 5vw;
    }
    .sec04_list dl dd .tt, .sec05_slogan2, .sec05_frame2 .tt {
        font-size: 4.5vw;
    }
    .tag_list li {
        font-size: 10px;
    }
    .sec05_list dl dd .auth .key {
        font-size: 16px;
    }
}