
@media screen and (min-width: 751px) {
    a[href^="tel:"] {
        pointer-events: none;
    }

    .sp {
        display: none;
    }

    #menu-toggle {
        display: none;
    }
    .iHeader__frame {
        padding: 0 10px;
    }
    .iHeader__right--intro {
        padding-left: 0;
        line-height: 1em;
        white-space: nowrap;
        letter-spacing: 0;
        text-align: right;
    }
    .fixed header {
        position: fixed;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
    }
    .ft_fixed{ display: none;}
}

@media screen and (min-width: 751px) and (max-width: 1700px) {
    
    .insta {
        width: 40px;
    }
    .iHeader__frame {
        justify-content: space-between;
    }

    .iHeader__left {
        flex-shrink: 0;
        margin-right: 10px;
    }

    .iHeader__right--box a {
        padding: 5px 5px 4px;
    }

    .iHeader__right--btn .mail {
        font-size: 12px;
    }

    .iHeader__right--contact {
        margin-bottom: 8px;
    }

    .iHeader__right--intro {
        font-size: max(0.824vw, 11px);
    }
    .iHeader__right--intro span {
        font-size: 100%;
    }
    .iHeader__right--btn .mail::before {
        width: 60px;
        height: 61px;
    }

    .iHeader__right--frame {
        margin-right: 0;
    }
     .iHeader__center {
        margin: 0 10px 0 0;
    }

    .iHeader__right--btn .phone span {
        text-align: center;
    }

    .iHeader__left--logo {
        margin-right: 10px;
    }
}
@media screen and (min-width: 751px) and (max-width: 1500px) {}

@media screen and (min-width: 751px) and (max-width: 1440px) {
    h1 {
        font-size: 12px;
        padding-left: 58px;
        top: 4px;
    }
    .iHeader__frame {
        padding: 0 10px;
    }
    .iHeader__left--logo img {
        width: 280px;
    }
    .logo_txt {
        font-size: 11px;
    }
    .iHeader__center img {
        width: 80px;
    }

    .iHeader__right--btn {
        margin-bottom: 8px;
    }
    .iHeader__right--btn .phone span {
        font-size: min(0.85vw, 22px);
    }
    .iHeader__right--btn .mail > span::before {
        top: 0;
    }
    .iHeader__right--btn .mail .num {
        font-size: 150%;
    }
    .iHeader__right--btn .line {
        height: 60px;
    }
    .mvs-wrapper{
        gap: 40px;
    }
    .mvs-text{
        flex: 8;
        padding-left: 0;
    }
    .mvs-illus{
        flex: 4;
    }
    .mvs-illus img{ max-width: 630px;}
}
@media screen and (min-width: 751px) and (max-width: 1280px) {
    .inner {width: 1200px;}
    .s01_box {gap: 24px;}
}

/* screen-min:750px */
@media screen and (max-width: 750px) {
    img {
        max-width: 100%;
        height: auto;
    }

    #wrapper,
    header,
    main,
    footer,
    .inner {
        width: 100% !important;
        min-width: unset !important
    }

    .pc {
        display: none !important
    }

    /*=====================================================
                          C U S T O M
    ======================================================*/

    /*============ HEADER ============*/
    #menu-toggle {
        display: block;
    }

    .iHeader__left {
        flex-shrink: unset;
        margin-right: 5px;
    }

    .iMenu {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
        margin-bottom: 30px;
    }

    .iMenu>li {
        width: calc(50% - 1.5px);
        margin-right: 3px;
        margin-bottom: 3px;
        margin-bottom: 3px !important;
    }

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

    .iMenu>li:nth-child(2n+1):nth-last-child(1),
    .iMenu>li:nth-child(2n+1):nth-last-child(2),
    .iMenu>li:nth-child(2n+2):nth-last-child(1) {
        margin-bottom: 0;
    }

    .iMenu__frame {
        width: 100%;
        height: calc(100% - 70px);
        position: fixed;
        background-color: #fff;
        top: 70px;
        left: 0;
        z-index: 20;
    }

    .iMenu__frame {
        display: none;
        padding: 20px 15px 150px;
    }
    .iHeader__center {
        top: 0;
        margin: 0 0 30px !important;
        text-align: center;
        display: flex;
        gap: 7px;
        justify-content: center;
    }
    .iHeader__center img {
        width: min(28.125vw, 150px);
        height: min(16.875vw, 90px);
    }
    .hd-bnr {
        display: block;
        width: min(100%, 370px);
        margin: 0 auto 30px !important;
    }
    .iMenu__frame--bnr {
        padding: 0 15px;
        max-width: 400px;
        margin: 0 auto 30px !important;
    }
    .iMenu__frame--bnr a {
        display: block;
    }
    .iMenu__frame--bnr a:not(:last-child) {
        margin-bottom: 20px;
    }
    .iMenu__frame .iFooter__contact--address {
        margin-bottom: 30px;
        font-size: 14px;
    }

    .iMenu__frame .iFooter__menu--map {
        margin-bottom: 0;
    }

    .iMenu__frame .iMenu {
        width: calc(100% + 30px);
        margin: 0 -15px 30px;
    }

    .open-nav {
        overflow: hidden;
    }

    .open-nav .iMenu__frame {
        display: block;
        overflow: auto;
        z-index: 50;
    }

    .iMenu>li>a,
    .iMenu>li .toggle {
        font-size: 12px;
        padding: 5px;
    }

    .iHeader__right--box {
        display: none;
    }

    .iHeader__right--btn .mail {
        display: none;
    }

    .iHeader__right--intro {
        display: none;
    }

    .iHeader {
        margin-left: auto;
    }

    .iHeader__left {
        margin-right: 5px;
        width: 85%;
    }

    .iHeader__right {
        margin-right: auto;
    }

    .iHeader__right--btn .phone {
        display: none;
    }

    .iHeader__right--btn .instagram {
        align-self: center;
        height: auto;
        margin-top: 0;
    }

    .iHeader__right--contact {
        margin-bottom: 0;
    }

    .iMenu>li .toggle span::before {
        border-width: 8px 5px 0 5px;
        top: 2px;
    }
     .iHeader__frame {
        padding: 0;
        flex-grow: 1;
        margin-right: 0;
        align-items: center;
        position: relative;
        z-index: 1;
    }

    #menu-toggle {
        width: 46px;
        height: 46px;
        background: var(--color-black);
        position: relative;
        z-index: 100;
        cursor: pointer;
        display: none;
    }

    #menu-toggle>span {
        --height: 2px;
        position: absolute;
        width: 80%;
        height: var(--height);
        background: #fff;
        left: 10%;
        transition: 0.2s ease-in-out;
    }

    #menu-toggle>span:nth-child(1) {
        top: calc(50% - var(--height) / 2 - 9px);
    }

    #menu-toggle>span:nth-child(2),
    #menu-toggle>span:nth-child(3) {
        top: calc(50% - var(--height) / 2);
    }

    #menu-toggle>span:nth-child(4) {
        top: calc(50% - var(--height) / 2 + 9px);
    }

    #menu-toggle.open span:nth-child(1),
    #menu-toggle.open span:nth-child(4) {
        width: 0%;
        top: calc(50% - var(--height) / 2);
        left: 50%;
    }

    #menu-toggle.open span:nth-child(2) {
        transform: rotate(45deg);
    }

    #menu-toggle.open span:nth-child(3) {
        transform: rotate(-45deg);
    }

    h1 {
        font-size: 10px;
        padding-left: 42px;
        margin-bottom: -10px;
        margin-top: 5px;
        width: 100%;
        position: static;
        -webkit-line-clamp: unset;
    }

    .logo_txt {
        margin-top: -8px;
        padding-left: 42px;
        font-size: 9.65px;
    }

    .iHeader__left--logo img {
        width: 220px;
    }

    .iHeader__left--logo a {
        padding: 5px 0 0;
    }

    .iHeader__right--btn .line {
        font-size: 8px;
        margin-top: 0;
        padding: 5px 1.302vw;
        margin-right: 2vw;
    }

    #menu-toggle {
        display: block;
        width: 9.375vw;
        background-color: transparent;
    }

    #menu-toggle>span {
        --height: 4px;
        background-color: #333;
    }

    .iHeader__right--btn {
        margin-bottom: 0;
    }
    .iHeader__right--btn .instagram img {
        width: 25px;
        height: 25px;
    }

    header {
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 0 10px 5px;
        margin-bottom: 0;
        z-index: 100;
        position: fixed;
    }

    .iHeader__right--btn .line span {
        font-size: 110%;
    }

    .iMenu-wrap {
        display: none;
        width: 100vw;
        transform: translateX(calc(-50% - 2px));
        margin-top: 3px;
    }

    .iMenu__sub {
        position: static;
        transform: unset;
        flex-direction: row;
        flex-wrap: wrap;
        width: calc(100vw + 1px);
        display: flex;
        margin-top: 3px;
    }

    .iMenu__sub li {
        display: inline-block;
        width: calc(50% - 1.5px);
        margin-right: 3px;
        margin-bottom: 3px;
    }

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

    .iMenu__sub li:nth-child(2n+1):nth-last-child(1),
    .iMenu__sub li:nth-child(2n+1):nth-last-child(2),
    .iMenu__sub li:nth-child(2n+2):nth-last-child(1) {
        margin-bottom: 0;
    }

    .iMenu__sub li:nth-child(2n+1) {
        z-index: 2;
    }

    .iMenu__sub li:nth-child(2n+1)::before {
        width: calc(100% + 1px);
        bottom: -3px;
    }

    .iMenu__sub li:nth-child(2n+1)::after {
        content: "";
        position: absolute;
        width: 3px;
        height: calc(100% + 4px);
        bottom: 0;
        right: -3px;
        background-color: #fff;
    }

    .iMenu__sub li a {
        letter-spacing: -0.05em;
        font-size: 14px;
        padding: 15px 5px;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .iMenu>li .toggle.drop::before {
        background-color: transparent;
    }

    .iMenu>li .toggle.drop span::before {
        transform: rotate(-180deg);
    }

    .iMenu>li:nth-child(1) .toggle.drop {
        color: #c82648;
    }

    .iMenu>li:nth-child(1) .toggle.drop span::before {
        background: url("../images/arrow-down-red.png") center no-repeat;
        background-size: cover;
        transform: rotate(180deg);
    }

    .iMenu>li:nth-child(4) .iMenu__sub {
        transform: translateX(calc(-50% - 2px));
    }

    .iMenu>li:nth-child(4) .toggle.drop {
        color: #2c7309;
    }

    .iMenu>li:nth-child(4) .toggle.drop span::before {
        background: url("../images/arrow-down-green.png") center no-repeat;
        background-size: cover;
        transform: rotate(180deg);
    }

    .iMenu>li:nth-child(5) .toggle.drop {
        color: #0d6f87;
    }

    .iMenu>li:nth-child(5) .toggle.drop span::before {
        background: url("../images/arrow-down-blue.png") center no-repeat;
        background-size: cover;
        transform: rotate(180deg);
    }

    .iMenu__sub li:not(:last-child)::before {
        bottom: -3px;
    }
    .insta {
        width: 35px;
        margin-left: 0;
        margin-right: 10px;
        margin-bottom: 0;
    }

    /*============ Main ============*/
    main {
        padding-top: 70px;
    }
    .open-nav .iMenu__frame{ top: 70px; height: calc(100% - 70px);}

    #mainvisual{
        padding: 36px 0;
    }
    .mvs-wrapper{
        width: 100%;
        padding: 0 15px;
    }
    .mvs-text{
        flex: 12;
        padding-left: 0;
        padding-bottom: 0;
    }
    .mvs-illus{
        display: none;
    }
    #mainvisual h2{font-size: 30px;line-height: 1.4;}
    #mainvisual .mvs-txt01{ font-size: 18px;}
    .mvs-txt-frame p{ font-size: 14px;}
    .mvs-contact .tel >span{ 
        background: url(../images/ic-tel-w.png) no-repeat left center;
        padding-left: 30px;}
    .mvs-contact .line >span,
    .mvs-contact .tel >span{
        background-size: 20px auto;
    }

    /* sec01 */
    #sec06 h3 span,#sec07 h3 span,#sec08 h3 span,
    #sec03 h3 span,#sec04 h3 span,#sec05 h3 span,
    #sec01 h3 span,#sec02 h3 {
        display: block;
        font-size: 30px;
    }
    .s02_desc,.s03_desc,.s04_desc,.s04_desc02,.s05_desc,.s06_desc,
    .s01_desc{ font-size: 18px; margin-top: 32px;}
    .s01_box{ flex-direction: column; gap: 32px;}
    .s01_box >li{ max-width: 100%;}
    .s01_box .s01_ttl{ font-size: 20px;}
    .s01_box .s01_txt{ font-size: 16px; text-align: center;}

    /* sec02 */
    .s02_box{ flex-direction: column; gap: 32px;}
    .s02_box >li{ max-width: 100%; width: 100%; padding: 32px 24px;}
    .s02_box .s02_ttl{ font-size: 20px; margin-bottom: 12px;}
    .s02_box .s02_txt{ font-size: 16px;}


    /* sec03 */
    .s03_box{ flex-direction: column; gap: 32px;}
    .s03_box >li{ max-width: 100%; width: 100%; padding: 32px 24px;}
    .s03_box .s03_num { width: 50px; height: 50px; font-size: 24px; }
    .s03_box .s03_ttl{ font-size: 20px; margin-bottom: 12px;}
    .s03_box .s03_txt{ font-size: 16px;}

    /* sec04 */
    .s04_box{
        overflow-x: scroll;
    }
    .s04_box table{width: 720px; box-shadow: none;}
    .s04_box table th, .s04_box table td{ padding: 12px 12px;}
    .s04_box table th{ font-size: 20px;}
    .s04_box table td{ font-size: 16px;}
    .s04_box table td img{ width: 24px; height: auto;}

    /* sec05 */
    .s05_box dt{ font-size: 20px;}
    .s05_box dd{ font-size: 16px;}
    .s05_box dt:after{ right: 10px;}

    /* sec06 */
    .s06_box{ flex-direction: column;}
    .s06_box >li{ width: 100%; margin: 0 auto;}
    .s06_box >li:after{
        top: unset; 
        left: 50%; transform: translateX(-50%) rotate(90deg);
        bottom: -50px;
    }
    .s06_box >li:nth-child(3n)::after{content: "";}
    .s06_box >li:last-child::after{content: none;}


    /* sec07 */
    #sec07{ padding: 80px 15px 0; }
    .s07_box{ width: 100%; flex-direction: column;}
    #sec07 h3{ margin-bottom: 32px;}
    .s07_box-left{ padding-bottom: 32px;}
    .s07_box-right{ align-self: center;width: 300px;}
    

    /*==================== CONTACT 01 ===================*/
    #contact01 .inner{ position: relative; z-index: 10;}
    #contact01 h3{font-size: 26px;}
    #contact01 .contact-txt{ font-size: 18px;}
    /*==================== CONTACT 02 ===================*/
    #contact02 h3{ font-size: 26px;}
    #contact02 .contact_txt{ font-size: 18px;}
    #contact02 .contact-box > .tel,
    #contact02 .contact-box > .line{
        width: 50%;
        max-width: 250px;
    }
    #contact02 .contact-box > .tel img,
    #contact02 .contact-box > .line img{
        max-width: 35px;
    }

    /* sec08 */
    #sec08{ padding: 80px 0; }
    #sec08 h3{ margin-bottom: 32px;}
    #sec08 h3 span{ font-size: 30px;}

    .s08_form > form#fmail{padding: 30px 30px 0;}
    .s08_form > form#fmail table.mailform tr{ display: block; margin-bottom: 24px;}
    .s08_form > form#fmail table.mailform tr th{ font-size: 20px;}
    .s08_form > form#fmail table.mailform tr#r_en1240791078,
    .s08_form > form#fmail table.mailform tr#r_en1240790859{
        float: unset;
        display: block;
        width: 100% !important;
    }
    .s08_form > form#fmail table.mailform tr input{ width: 100% !important;}
    .s08_form .button{ margin-top: 24px;}
    .s08_form table.mailform{ margin-left: 0;}
    .s08_form table.mailform tr { display: flex;}
    .s08_form table.mailform tr th{ width: 200px; display: flex; align-items: center;}
    .s08_form table.mailform tr td{ flex: auto;}
    .s08_form  table.mailform tr th, 
    .s08_form  table.mailform tr td {
        font-size: 18px;
        border: solid 1px #eaeff4;
    }
    .s08_form div#fmail_thankspage{ font-size: 18PX;}
    .submit_cancel_button{ width: 140px !important;}
    /*============ FOOTER ============*/
    footer{
        padding: 0 0;
        margin-bottom: 100px;
    }

    .to-top{ bottom: 100px; }
    .to-top>a{width: 40px; height: 40px;}
    .ft_fixed {
        position: fixed;
        z-index: 99;
        bottom: 0;
        left: 0;
        width: 100%;
        background: #fff;
        padding: 10px 10px;
    }
    .ft_fixed ul{display: flex; gap: 12px; justify-content: center;}
    .ft_fixed ul li{ 
        width: 50%;
        max-width: 350px;
    }
    .ft_fixed ul li a{
        padding: 5px 10px;
        display: block; border-radius: 12px; display: flex;gap: 5px; justify-content: center; align-items: center; flex-direction: column; color: #fff; font-weight: bold;}
    .ft_fixed ul li a img{
        width: 20px;
    }
    .ft_fixed ul li a span{
        line-height: 1.2;
    }
    .ft_fixed ul li a.tel{
        background: #f97316;
        font-size: 14px;
    }
    .ft_fixed ul li a.line{
        background: #22c55e;
        font-size: 14px;
    }
}

@media screen and (max-width: 590px) {
    main {
        padding-top: 85px;
    }
    .open-nav .iMenu__frame{ top: 85px; height: calc(100% - 85px);}

    .s08_form table.mailform tr th{
        width: 150px;
    }
    .s08_form table.mailform tr th, 
    .s08_form table.mailform tr td{ font-size: 14px; padding: 14px 10px;}
    .s08_form table.mailform tr td{ word-break: break-word;}
    .s08_form > form#fmail {padding: 15px 15px 0;}
    .s08_form > form#fmail table.mailform tr input{ font-size: 18px !important;}
    .s08_form > form#fmail table.mailform tr th{ font-size: 20px;}
    .submit_send_button{
        width: 130px;
        font-size: 18px !important;
        padding: 10px 35px 10px 58px !important;
        border: 1px solid #00a49d !important;
    }
    .submit_cancel_button{
        width: 130px !important;
        font-size: 18px !important;
        padding: 10px 35px !important;
        border: 1px solid #00a49d !important;
    }
    .s08_form .button{ display: flex; justify-content: center;}
}

@media screen and (max-width: 440px) {
    .sp440 {
        display: block !important;
    }
    main {
        padding-top: 85px;
    }
    .open-nav .iMenu__frame{ top: 85px; height: calc(100% - 85px);}
    #mainvisual h2{letter-spacing: -0.05em;}
    .mvs-contact{ flex-direction: column; gap: 24px;}
    .mvs-contact .line,
    .mvs-contact .tel {
        width: 100%;
        padding: 15px 10px;
        border-radius: 10px;
    }
   

    #contact01 .contact-box{ flex-direction: column;}
    #contact01 .contact-box > .tel,
    #contact01 .contact-box > .line{
        width: 100%;
        max-width: 100%;
    }
    #contact01 .contact-txt{ font-size: 16px;}
    #contact02 .contact_txt{ font-size: 16px;}
    #contact02 .contact-box{ flex-direction: column;}
    #contact02 .contact-box > .tel,
    #contact02 .contact-box > .line{
        width: 100%;
        max-width: 100%;
    }
    
    #contact02 .contact-txt{ font-size: 16px;}
}

/* screen-max: 375px */
@media screen and (max-width: 375px) {
    main { padding-top: 85px; }
    .open-nav .iMenu__frame{ top: 85px; height: calc(100% - 85px);}
    h3{ line-height: 1.2;}
    #sec06 h3 span,#sec07 h3 span,#sec08 h3 span,
    #sec03 h3 span,#sec04 h3 span,#sec05 h3 span,
    #sec01 h3 span,#sec02 h3 {
        font-size: 24px;
    }
    #sec01{ padding: 45px 0;}
    #sec02{ padding: 45px 0;}
    #sec03{ padding: 45px 0;}
    #sec04{ padding: 45px 0;}
    #sec05{ padding: 45px 0;}
    #sec06{ padding: 45px 0;}
    #sec07{ padding: 45px 15px 0;}
    #sec08{ padding: 45px 0;}

    .s01_box{ margin-top: 45px;}
    .s02_box{ margin-top: 45px;}
    .s03_box{ margin-top: 45px;}
    .s04_box{ margin-top: 45px;}
    .s05_box{ margin-top: 45px;}
    .s06_box{ margin-top: 45px;}
    .s07_box{ margin-top: 0;}
    .s08_box{ margin-top: 45px;}

    #contact02 h3 ,
    #contact01 h3{ font-size: 24px;}
    .s05_box dt{ font-size: 20px;}
    .s06_box .s06_ttl{ font-size: 20px;margin-bottom: 12px;}
   
    .submit_confirm_button {
        width: 100%;
        max-width: 100%;
        padding: 15px 40px 15px 55px !important;
        font-size: 14px !important;
        background: url(../images/ic-send.png) no-repeat #00a49d center left 32px;
        background-size: 20px auto !important;
    }
}

@media screen and (max-width: 370px) {
    main { padding-top: 115px; }
    .open-nav .iMenu__frame{ top: 115px; height: calc(100% - 115px);}
}
