@media (max-width: 767px) {
    .banner-home {
        padding-top: 100px;
    }

    .img-banner-left {
        position: relative;
        z-index: 1;
    }

    .img-banner-left {
        position: relative;
        z-index: 1;
    }

    .scroll-bar-block {
        height: 200px;
    }

    .scroll-item .text {
        font-size: 30px;
    }

    .scroll-item {
        gap: 20px;
    }

    .scroll-item .icon {
        width: 30px;
        height: 30px;
    }

    .scrollbar-track {
        height: 60px;
        gap: 20px;
    }

    .scrollbar-wrapper-2 {
        padding: 20px;
        height: 60px;
        top: 50px;
    }

    .scrollbar-wrapper-1 {
        top: 50px;
        padding: 20px;
    }

    .main-title-en {
        font-size: 40px;
    }

    h2.main-title-jp {
        font-size: 19px;
        border-width: 3px;
    }

    .box-link-about {
        flex-wrap: wrap;
        justify-content: center;
    }

    .about-item {
        padding: 20px;
    }

    .about-item-cont h3 {
        font-size: 20px;
    }

    .home-service {
        padding-top: 70px;
    }

    ul.list-service {
        gap: 15px;
    }

    .box-service {
        flex-direction: column;
        padding: 20px 20px 40px;
        gap: 20px;
        border-radius: 10px;
    }

    .service-img {
        width: 100%;
    }

    .service-cont {
        padding: 0;
        width: 100%;
    }

    .service-img {
        border-radius: 10px;
    }

    .title-service {
        font-size: 25px;
    }

    .num-service {
        font-size: 18px;
    }

    .box-service::after {
        width: 30px;
        height: 30px;
        right: 20px;
        bottom: 10px;
    }

    .service-cont p {
        font-size: 15px;
    }

    .home-proof {
        padding: 80px 0;
    }

    .title-proof {
        font-size: 25px;
    }

    .title-proof img {
        width: 80px;
    }

    .box-num-proof {
        width: 145px;
        padding: 15px;
        height: 145px;
    }

    .list-num-proof {
        gap: 10px;
    }

    .num-proof {
        font-size: 30px;
    }

    .num-proof span {
        font-size: 40px;
    }

    .box-num-proof p {
        font-size: 14px;
    }

    .box-num-proof:nth-child(2n) {
        top: 20px;
    }

    .box-logo {
        padding: 0px;
        width: calc(33.33% - 7px);
        height: auto;
    }

    .box-flex-logo {
        gap: 10px;
    }

    .box-flex-logo {
        gap: 10px;
    }

    .home-voices {
        padding-top: 50px;
    }

    .slide-voice-item-inner {
        flex-direction: column;
        padding: 15px;
        border-radius: 15px;
        gap: 20px;
    }

    .img-voice {
        width: 100%;
    }

    p.name-voice {
        font-size: 16px;
        padding-top: 20px;
    }

    .name-voice::after {
        width: 20px;
        height: 18px;
    }

    .text-voice {
        gap: 20px;
    }

    .text-info h3 {
        font-size: 16px;
    }

    .box-info-voice {
        gap: 10px;
    }

    .slide-voices .slide-arrow,
    #service-04 .slide-arrow,
    .slide-news-sm .slide-arrow {
        top: 50%;
        transform: translateY(-50%);
        bottom: auto;
        right: -20px;
        border-radius: 50%;
        background-color: #1B4446;
    }
    .slide-news-sm .slide-arrow{
        right: 5px;
    }
    .slide-voices .slide-arrow.prev-arrow,
    #service-04 .slide-arrow.prev-arrow,
    .slide-news-sm .slide-arrow.prev-arrow {
        right: auto;
        left: -20px;
    }
    .slide-news-sm .slide-arrow.prev-arrow{
        left: 5px;
    }
    .news-item {
        margin-bottom: 30px;
    }

    .box-except {
        font-size: 16px;
    }

    .box-flex-contact.mt-50 {
        flex-direction: column;
        align-items: center;
    }

    a.btn.btn-main>span img {
        width: 20px;
    }

    a.btn.btn-main>span::before {
        width: 18px;
        height: 18px;
        right: 10px;
    }

    a.btn.btn-main>span {
        font-size: 16px;
        padding-right: 40px;
        min-width: 266px;
    }

    .fixed-right-item {
        padding: 10px;
        gap: 15px;
        background: rgba(94, 144, 137, 0.45);
    }

    .fixed-right-item img {
        width: 30px;
    }

    .home-contact {
        padding-top: 50px;
    }

    .footer-left {
        flex-direction: column;
        width: 100%;
    }

    .footer-top {
        flex-direction: column;
    }

    .footer-wrap {
        padding: 30px 0;
        margin-top: 50px;
    }

    .box-link-social {
        max-width: 100%;
        width: 100%;
    }

    .box-link-social a {
        width: 20px;
    }

    .copyright-right {
        gap: 20px;
    }

    .footer-right {
        display: none;
    }

    .box-info-footer {
        width: 100%;
    }

    .page-header {
        padding-top: 110px;
    }

    body:not(.home) .header-inner {
        border-bottom: 1px solid rgba(27, 68, 70, 0.3);
        border-radius: 0;
        padding-bottom: 10px;
    }

    .page-anchor {
        padding-top: 0;
        border-top: none;
    }

    .main-title.main-title-right {
        text-align: left;
    }

    .main-title.main-title-right h2.main-title-jp {
        margin-left: 0;
    }

    .page-header-title {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .title-en {
        font-size: 50px;
    }

    .title-jp {
        font-size: 20px;
    }

    .box-text-about-1 {
        padding: 20px;
        border-radius: 15px;
        left: -15px;
    }

    .about-right {
        margin-top: 30px;
    }

    .name {
        font-size: 20px;
    }

    .sign {
        font-size: 15px;
    }

    .box-about-info {
        padding: 40px 15px 20px;
        margin-bottom: 30px;
    }

    .name-info {
        font-size: 30px;
    }

    .about-info-title p {
        font-size: 20px;
    }

    .item-about-info,
    .box-about-info {
        height: auto;
    }

    .img-about-info {
        width: 40px;
    }

    .company-right {
        margin-top: 15px;
    }

    .table-company td:first-child {
        width: 110px;
    }

    .box-map-about {
        height: 300px;
    }

    .box-name-map {
        padding: 10px;
        gap: 10px;
    }

    .box-name-map .name-map {
        width: 75px;
        flex-shrink: 0;
        display: none;
    }

    .list-logo-trusted {
        gap: 15px;
    }

    .logo-trusted {
        width: 47%;
    }

    .box-trusted {
        padding: 20px 0;
    }

    .card-about {
        margin: 0 auto 20px;
    }

    .box-info-recruit {
        flex-direction: column;
        align-items: flex-start;
        margin-bottom: 20px;
    }

    .img-info-left {
        width: 80px;
    }

    .btn-apply a.btn.btn-main {
        margin: 0 auto;
    }

    .single-recruit .title-en {
        font-size: 45px;
    }

    .overview-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .share-buttons {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }

    .job-overview {
        border-radius: 15px;
        padding: 20px;
    }

    .box-recruit-right {
        padding: 20px;
        border-radius: 15px;
    }

    .post-content #ez-toc-container {
        padding: 15px;
    }

    .post-content #ez-toc-container ul li:after {
        top: 8px;
    }

    .post-content div#ez-toc-container ul li a {
        font-size: 15px;
    }

    .page-navi {
        margin-top: 20px;
    }

    a.btn.btn-main.btn-main-2.btn-home-single {
        min-width: 180px;
    }

    a.btn.btn-main.btn-main-2.btn-home-single span {
        min-width: 200px;
    }

    .list-num-proof.list-service-num {
        flex-wrap: wrap;
        padding: 12px 20px;
        border-radius: 10px;
        gap: 20px;
    }

    .list-num-proof.list-service-num .box-num-proof {
        width: calc(50% - 10px);
        padding: 0;
    }

    .list-num-proof.list-service-num .num-proof {
        font-size: 30px;
        margin-bottom: 6px;
    }

    .list-num-proof.list-service-num .num-proof span {
        font-size: 40px;
    }

    .tex-service-2 {
        gap: 20px;
        justify-content: flex-start;
        margin-bottom: 20px;
    }

    .box-icon-service {
        width: 100%;
        margin-bottom: 20px;
    }

    .box-icon-service.flex {
        margin-top: 30px;
        gap: 20px;
    }

    .box-icon-service.flex .box-service-text h3 {
        font-size: 16px;
    }

    .box-service-text h3 {
        font-size: 20px;
    }

    .price-card {
        margin-bottom: 20px;
        padding: 20px;
        border-radius: 10px;
    }

    .toggle-qna .toggle-hd {
        font-size: 16px;
    }

    h2.price {
        font-size: 40px;
    }

    .item-partner {
        width: calc(33.33% - 7px);
    }

    .list-partner {
        gap: 10px;
    }

    .news-list .col-inner {
        margin-bottom: 15px;
    }
    body:not(.home) .news-list .col-inner {
        
        padding: 8px 8px;
        border-radius: 10px;
    }
    body:not(.home) .img-news{
        border-radius: 10px;
    }
    body:not(.home) .box-date-cat{
        flex-wrap: wrap;
        flex-direction: row-reverse;
    }
    section.policy {
        padding: 30px 15px;
    }

    .item {
        padding: 15px 0;
    }

    .item h2 {
        font-size: 18px;
    }

    ul.sub-list li::after {
        top: 9px;
        width: 4px;
        height: 4px;
    }

    ul.sub-list li {
        padding-left: 15px;
    }

    .item h3 {
        margin-top: 12px;
    }

    .fixed-right {
        top: unset;
        left: 50%;
        transform: translateX(-50%);
        bottom: 10px;
        width: 250px;
    }

    .fixed-right-item {
        flex-direction: row;
        align-items: center;
        gap: 30px;
        justify-content: center;
    }

    .title-service {
        font-size: 2.2rem;
    }

    .title-service-ja {
        letter-spacing: 0.1em;
        font-size: 2.5rem;
    }

    /* body.home #service .box-btn-main.mt-35 {
        margin-top: 505px;
        margin-bottom: 300px;
    } */

    .news-item {
        margin-bottom: 15px;
    }

    .slide-voices .slide-arrow,
    #service-04 .slide-arrow {
        transform: none;
        top: 100px;
    }

    .box-flex-contact a {
        width: 45%;
        min-width: unset;
    }

    .box-info-footer {
        max-width: 300px;
    }

    footer .box-link-social {
        display: none;
    }

    .footer-copyright {
        padding-bottom: 70px;
        padding-right: 0;
        flex-flow: column-reverse;
    }

    .copyright-right {
        margin-bottom: 30px;
    }

    .img-service-1 {
        margin-bottom: 20px;
    }

    .tile-cs {
        font-size: 16px;
    }

    ul.slick-dots {
        bottom: 25px;
    }
    .slide-news-sm .slick-dots {
        bottom: 0px;
    }
    .sub-title-en {
        font-size: 25px;
    }

    h2.sub-title-jp {
        font-size: 20px;
        letter-spacing: normal;
    }

    input.wpcf7-submit {
        margin: 0 auto 30px;
        display: block;
    }

    .intro p,
    .item p {
        font-size: 1.4rem;
    }
    .box-info-recruit h3.job-title{
        font-size: 25px;
    }
    .btn-apply a.btn.btn-main{
        margin-top: 20px;
    }
    .btn-apply-bottom a.btn.btn-main{
        margin-left: auto;
        margin-right: auto;
    }
    .slider-recruit-item img{
        border-radius: 10px;
    }
    .img-recruit-2{
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 20px;
        max-width: 320px;
    }
}