@media (min-width: 1201px) and (max-width: 1300px) {

    .sauce-bg-mask {
        opacity: .5;
    }


}


/* tablet */
@media (min-width: 768px) and (max-width: 1200px) {
    header {
        padding: 20px;
    }

    .pall-img {
        width: 400px;
        height: 300px;
    }

    .master-swiper .swiper {
        padding-left: 20px;
    }

    .insite {
        margin: 0 20px;
        width: calc(100% - 40px);
        padding-top: 100px;
    }

    .inner.insite-pallerex {
        margin-top: 100px;
    }

    footer {
        padding: 100px 40px 40px 40px;
        border-radius: 60px 60px 0 0;
    }

    .sauce-bg-mask ul {
        height: 90%;
    }

    .sauce-bg-mask {
        z-index: -1;
        opacity: .5;
    }

    .sauce-bg-mask ul:nth-child(1) li:nth-child(1) {
        width: 60px;
        bottom: 5%;
        left: 10%;
        border-radius: 10px;

    }

    .sauce-bg-mask ul:nth-child(1) li:nth-child(2) {
        width: 100px;
        bottom: 30%;
        left: 30%;
        border-radius: 20px;
    }

    .sauce-bg-mask ul:nth-child(1) li:nth-child(3) {
        width: 60px;
        bottom: 10%;
        right: 20%;
        border-radius: 10px;
    }

    .sauce-bg-mask ul:nth-child(2) li:nth-child(1) {
        width: 60px;
        bottom: 5%;
        right: 10%;
        border-radius: 10px;
    }

    .sauce-bg-mask ul:nth-child(2) li:nth-child(2) {
        width: 100px;
        bottom: 30%;
        right: 30%;
        border-radius: 20px;
    }

    .sauce-bg-mask ul:nth-child(2) li:nth-child(3) {
        width: 80px;
        bottom: 10%;
        left: 20%;
        border-radius: 16px;
    }

    .sauce-bg-mask ul {
        height: 90%;
    }

    .main-bg .main-bg-front {
        display: none;
    }

    .gr-bg,
    .gr-bg::before {
        height: 400px;
    }

    h1 {
        font-size: var(--title-display-04);
    }

    h2 {
        font-size: var(--title-display-03);
    }


    h5 {
        font-size: var(--title-subtitle-02);
    }

    .btn-outline {
        height: 60px;
    }

    .main {
        height: 100vh;
    }

    .business .inner .business-item p {
        max-width: 100%;
    }

    .inner.business-list {
        gap: 20px;
    }

    .business-item {
        width: calc(100% / 3 - 20px* 2 / 3);
    }

    .company h5 {
        max-width: 100%;
        margin: 0 auto;
    }

    .service01 {
        padding-bottom: 140px;
    }

    .bg-main {
        margin-top: auto;
    }

    .main-bg {
        display: flex;
        align-items: flex-end;
    }

    .service02 {
        padding: 120px 0 260px 0;
    }

    .btn-outline.btn-top {
        height: 40px;
    }

    .modal {
        width: 100vw;
        max-height: 100vh;
        height: 100vh;
    }

    .modal-con {
        height: calc(100vh - 140px);
    }

    .modal h1 {
        font-size: var(--title-subtitle-02);
    }

    .btn-close {
        background-size: 18px;
    }

}

/* phone */
@media all and (max-width: 767px) {
    body {
        overflow-x: hidden;
    }

    header {
        padding: 20px;
        height: 80px;
    }

    .header-nav {
        gap: 20px;
        overflow-x: auto;
    }

    .header-nav {
        position: fixed;
        right: -100vw;
        top: 0;
        bottom: 0;
        width: 100vw;
        height: 100vh;
        z-index: 999;
        background-color: rgba(0, 0, 0, .85);
        flex-direction: column;
        padding: 60px 0;
        gap: 20px;
        transition: right .3s cubic-bezier(0.215, 0.610, 0.355, 1);
    }

    .header-nav.active {
        right: 0;
    }

    .btn-ham {
        display: flex;
    }

    .header-nav a {
        padding: 20px 0;
        font-size: var(--title-subtitle-02);
        color: var(--white);
    }

    h1 {
        font-size: var(--title-display-02);
        line-height: 1.25;
    }

    h2 {
        font-size: var(--title-display-01);
    }

    h5 {
        font-size: var(--title-subtitle-01);
    }

    .btn-outline {
        height: 60px;
        font-size: var(--body-02);
    }

    .main {
        height: 100vh;
        position: relative;
    }

    .main .inner {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        align-content: center;
        padding-bottom: 120px;
    }

    .main-bg-wp {
        top: 50%;
        bottom: unset;
        left: 50%;
        right: unset;
        width: 100vh;
        height: 100vw;
        transform: translate(-50%, -50%) rotate(-90deg);
    }

    .main-bg {
        height: 100%;
        width: 100%;
        transform: scale(1) !important;
    }


    .main .inner h5,
    .business .inner h5,
    .business .inner .business-item p,
    .footer-info,
    .sauce .inner h5,
    .company .inner h5,
    .master .inner h5,
    .service01 .inner h5,
    .service02 .inner h5,
    .pall-txt p {
        max-width: 500px;
        width: 100%;
        margin: 0 auto;
    }

    .inner.business-list {
        gap: 20px;
        margin-top: 40px;
    }

    .business-item {
        width: calc(100% / 2 - 20px * 1 /2);
        padding: 20px 14px;
    }

    .master .inner,
    .service01 .inner,
    .service02 .inner,
    .footer-top,
    .footer-bottom {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .master-swiper {
        margin-top: 60px;
        padding-left: 20px;
    }

    .insite {
        width: 100%;
        margin: 0;
        padding: 60px 0;
    }

    .inner.insite-pallerex {
        flex-direction: column;
        margin-top: 60px;
    }

    .pall-img {
        width: 100%;
        height: 260px;
        border-radius: 40px !important;
    }

    .service02 {
        padding: 100px 0 250px 0;
        background-attachment: initial;
    }

    footer {
        padding: 60px 20px 140px 20px;
        border-radius: 40px 40px 0 0;
    }

    .footer-copy {
        margin-top: 20px;
        display: block;
        width: 100%;
    }

    .footer-info span,
    .footer-menu a {
        font-size: 14px;
    }

    .footer-top {
        padding-bottom: 20px;
        gap: 20px;
    }

    .btn-top {
        height: 40px;
    }

    .footer-logo {
        width: 160px;
    }

    .service01 {
        padding: 100px 0;
    }

    .master {
        padding-top: 100px;
    }

    .floating-wp {
        right: 0;
        left: 0;
        bottom: 40px;
        padding: 0 20px;
        transform: unset;
    }

    a.btn-floating {
        max-width: 90vw;
        width: 100%;
        height: 60px;
    }

    a.btn-floating span {
        display: block;
        width: 100%;
        height: 60px;
        line-height: 60px;
        animation: rollingText 8s infinite;
        font-weight: 700;
        font-size: var(--body-02);
    }

    a.btn-floating span.in-txt-01,
    a.btn-floating:hover span.in-txt-01 {
        top: 0;
        height: 60px;
        line-height: 60px;
    }

    a.btn-floating span.in-txt-02,
    a.btn-floating:hover span.in-txt-02 {
        bottom: 0;
        height: 100%;
        height: 60px;
        line-height: 60px;
    }

    @keyframes rollingText {

        0%,
        25% {
            transform: translateY(0%);
        }

        50%,
        75% {
            transform: translateY(-60px);
        }

        100% {
            transform: translateY(0%);
        }
    }

    a.btn-floating,
    a.btn-floating span {
        width: 100%;
    }

    a.btn-floating {
        background-size: 2rem;
        overflow: hidden;
        display: block;
    }

    .pall-txt {
        text-align: center;
        gap: 80px;
    }

    .company-bg {
        margin-top: 0;
    }

    .gr-bg {
        height: 200px;
        overflow: hidden;
    }

    .gr-bg::before {
        bottom: 1px;
        height: 200px;
    }

    .gr-bg::after {
        height: 200px;
        bottom: unset;
        top: 100px;
    }

    @keyframes bgGr {
        0% {
            background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(rgba(40, 170, 217, 1)) 100%);
        }

        20% {
            background: linear-gradient(0deg, rgba(0, 0, 0, 1) 30%, rgba(rgba(40, 170, 217, 1)) 100%);
        }

        40% {
            background: linear-gradient(0deg, rgba(0, 0, 0, 1) 60%, rgba(rgba(40, 170, 217, 1)) 100%);
        }

        80% {
            background: linear-gradient(0deg, rgba(0, 0, 0, 1) 40%, rgba(rgba(40, 170, 217, 1)) 100%);
        }

        100% {
            background: linear-gradient(0deg, rgba(0, 0, 0, 1) 0%, rgba(rgba(40, 170, 217, 1)) 100%);
        }
    }

    .service01::after {
        opacity: 1;
    }

    .main-bg .main-bg-front {
        display: none;
    }

    .main-bg-mask img {
        max-width: 38px;
    }

    .sauce-bg-mask ul:nth-child(1) li:nth-child(1) {
        width: 40px;
        bottom: 5%;
        left: 10%;
        border-radius: 10px;

    }

    .sauce-bg-mask ul:nth-child(1) li:nth-child(2) {
        width: 80px;
        bottom: 30%;
        left: 30%;
        border-radius: 20px;
    }

    .sauce-bg-mask ul:nth-child(1) li:nth-child(3) {
        width: 40px;
        bottom: 10%;
        right: 20%;
        border-radius: 10px;
    }

    .sauce-bg-mask ul:nth-child(2) li:nth-child(1) {
        width: 40px;
        bottom: 5%;
        right: 10%;
        border-radius: 10px;
    }

    .sauce-bg-mask ul:nth-child(2) li:nth-child(2) {
        width: 80px;
        bottom: 30%;
        right: 30%;
        border-radius: 20px;
    }

    .sauce-bg-mask ul:nth-child(2) li:nth-child(3) {
        width: 60px;
        bottom: 10%;
        left: 20%;
        border-radius: 16px;
    }

    .sauce-bg-mask ul {
        height: 90%;
    }

    .sauce-bg-mask {
        z-index: -1;
        opacity: .5;
    }

    .main-bg {
        display: flex;
        align-items: flex-end;
    }

    .main-bg .main-bg-back {
        display: none;
    }

    .main-bg-mask {
        opacity: .6;
    }

    .master-swiper .swiper-slide {
        width: 80%;
        max-width: 350px;
    }

    .master-swiper .swiper-slide p {
        padding-right: 0;
        font-size: var(--body-01);
    }

    .master-swiper h5 {
        font-size: var(--title-subtitle-02);
    }

    .inner h2 {
        margin-bottom: 20px;
    }

    .insite-tit-wp h5 {
        max-width: 100%;
    }

    /*  */
    .main-bg-mask {
        display: none;
    }

    .bg-main {
        transform: scale(1) !important;
    }

    .company-value {
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        height: fit-content
    }

    .val-box {
        order: unset !important;
        width: 100%;
        height: fit-content;
    }

    .company-value {
        margin-top: 40px;
        padding: 0 20px;
    }

    .img-insite-small {
        display: none;
    }

    .pall-txt h5 {
        width: fit-content;
        text-align: left;
        margin-bottom: 20px;
        font-size: var(--title-01);
        position: relative;
    }

    .pall-txt .last-order h5 {
        width: fit-content;
    }

    .pall-txt h5::after {
        content: '';
        position: absolute;
        top: 10px;
        right: -12px;
        width: 1.25rem;
        height: 1.25rem;
        background: url(../images/ic_expand_down.svg)no-repeat center center / contain;
    }

    .pall-txt h5:hover::after,
    .pall-txt:has(p:hover) h5::after {
        transform: rotate(180deg);
    }

    .pall-txt p {
        text-align: left;
        width: 100%;
        margin: 0;
        color: var(--white);
        height: 60px;
        overflow: hidden;
        position: relative;
        transition: height .5s cubic-bezier(0.075, 0.82, 0.165, 1);
    }

    .pall-txt p::after {
        content: '';
        position: absolute;
        left: 0;
        right: 0;
        bottom: -5px;
        width: 100%;
        height: 20px;
        background: linear-gradient(0deg, rgba(40, 40, 40, 1) 0%, rgba(40, 40, 40, 0) 100%);
    }

    .pall-txt h5:hover+p,
    .pall-txt h5+p:hover {
        height: fit-content;
    }

    .pall-txt h5 span {
        font-size: var(--title-02);
    }

    .val-box h5 {
        font-size: var(--title-subtitle-01);
    }

    .jmbr-type {
        flex-direction: column;
        gap: 0;
        margin-bottom: 80px;
    }

    .jmbr-type .business-item {
        max-width: 100%;
        aspect-ratio: inherit;
        width: 100%;
        padding: 0;
        gap: 8px;
        position: relative;
        text-align: left;
        border-radius: 0;
        border-bottom: 1px dashed var(--gray-700);
        padding: 20px 0;
        padding-left: 60px;
    }

    .jmbr-type .business-item .ic-b {
        position: absolute;
        top: 20px;
        left: 0;
    }

    .jmbr-type .business-item h5 {
        color: var(--white);
    }

    .jmbr-type .business-item p {
        font-size: var(--body-01);
    }

    .insite-tit-wp h5 {
        font-size: var(--title-01);
        text-align: left;
        width: 100%;
    }

    .insite-tit-wp h2 {
        font-size: var(--title-03);
        text-align: center;
    }

    .jmbr-type::after {
        transform: translate(-50%, -50%) rotate(90deg);
        display: none;
    }

    .pall-txt {
        gap: 40px;
    }

    .pall-txt li {
        width: 100%;
        padding: 0 5%;
        position: relative;
    }

    .pall-txt li::after,
    .pall-txt li.fst-order::after {
        left: -3px;
        content: '';
        position: absolute;
        top: 16px;
        background-color: var(--gray-700);
        width: 8px;
        height: 8px;
        border-radius: 50%;
        display: block;
    }

    .fst-order::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        background-color: #282828;
        width: 2px;
        height: 17px;
        border-radius: 50%;
        display: block;
    }

    .pall-txt li.four-order::after {
        top: 55px;
    }

    .pall-txt::after {
        top: 0;
        left: 0;
        right: unset;
        bottom: 0;
        width: 1px;
        height: 100%;
        border: none;
        border-right: 1px dashed var(--gray-700);
    }

    .inner.insite-pallerex {
        gap: 0;
        padding-left: 40px;
    }

    .pall-txt li.four-order {
        padding-top: 40px;
    }

    .pall-txt-2 {
        padding-left: 0;
    }

    .inner h2.insite-total-tit {
        margin-bottom: 80px;
    }

    .modal {
        width: 100vw;
        max-height: 100vh;
        height: 100vh;
    }

    .modal-con {
        height: calc(100vh - 140px);
        font-size: 14px;
    }

    .modal h1 {
        font-size: var(--title-subtitle-02);
    }

    .btn-close {
        background-size: 18px;
    }

}