@media only screen and (min-width: 600px) {

    .header-block {
        padding: 0 1.04vw;
    }

    .top-header {
        padding: 0.3125vw 0;
    }

    .text-logo {
        font-size: 1.04vw;
        line-height: 1.25vw;
    }

    .text-logo b {
        font-size: 1.875vw;
        line-height: 2.1875vw;
    }

    .main-logo {
        width: 4.6875vw;
        height: 4.6875vw;
    }

    .main-logo-label {
        font-size: 1.5625vw;
        line-height: 1.5625vw;
    }

    .header-button-list {
        gap: 1.3542vw;
        padding-left: 1.3542vw;
    }

    .header-button {
        width: 10.417vw;
        height: 2.6042vw;
        border-radius: 1.5625vw;
        line-height: 2.6042vw;
    }

    .button-recruit {
        gap: 1.146vw;
    }

    .header-button span {
        font-size: 0.8333vw;
        line-height: 0.8333vw;
    }

    .menu-header-content {
        gap: 2.0833vw;
    }

    .menu-text {
        font-size: 0.9375vw;
        display: flex;
    }

    /* footer */
    .title-page-footer {
        font-size: 0.9375vw;
        line-height: 0.8333vw;
        margin: 5.2083vw 1.04vw 0.2865vw;
        border-bottom: 0.2vw solid #E36F1C;
        padding-bottom: 0.78125vw;
    }

    .footer-block {
        margin-top: 5.2083vw;
    }

    .footer-item {
        padding-right: 1.5625vw;
    }

    .footer-copyright {
        height: 5.2083vw;
    }

    .footer-copyright-text {
        font-size: 0.8333vw;
    }

    .list-menu-footer .footer-menu {
        gap: 0 4vw;
    }

    .footer-menu-title a {
        font-size: 1.25vw;
        line-height: 2.0833vw;
        letter-spacing: 0.0875vw;
    }

    .footer-menu-text a {
        font-size: 0.9375vw;
        line-height: 1.875vw;
        margin-bottom: 0.2vw;
    }

    .main-logo-footer img {
        width: 5.7292vw;
        height: 5.7292vw;
    }

    .list-social {
        gap: 1.5625vw;
    }

    .policy-sitemap {
        gap: 2.6042vw;
        padding: 5.2083vw 0 1.5625vw;
    }

    /* modal sp */
    .modal-menu-sp {
        font-size: 1.25vw;
        line-height: 30.2vw;
    }

    .close-modal {
        height: 3.3854vw;
    }

    .close-modal-image {
        width: 1.302vw;
        height: 1.302vw;
        margin: 1.04vw 1.5625vw;
    }
    .menu-sp-title {
        padding: 0 1.5625vw 0 0.78125vw;
        font-size: 1.25vw;
        height: 3.3854vw;
    }

    .menu-sp-title img {
        width: 1.302vw;
        height: 1.302vw;
        margin: 1.04vw 0;
    }

    .menu-sp-title-text {
        line-height: 3.3854vw;
    }

    .menu-sp-content {
        line-height: 3.125vw;
        transform: translateY(-0.52083vw);
    }

    .menu-sp-content li {
        padding: 0 1.5625vw 0 0.78125vw;
        font-size: 1.25vw;
        height: 3.3854vw;
    }

    .menu-sp-content li::after {
        width: 1.302vw;
        height: 1.302vw;
        right: 3.90625vw;
        bottom: 1.04vw;
    }


    .link-menu-sp {
        width: calc(100% - 2.34375vw);
    }

    .modal-content-end {
        height: 5.2083vw;
    }

    .modal-content-end .main-logo {
        margin-top: 0.26042vw;
        width: 3.02083vw;
        height: 3.02083vw;
    }

    .policy-sitemap-header {
        gap: 1.5625vw;
    }

    .policy-sitemap-header .policy-sitemap-link {
        font-size: 10.2vw;
        line-height: 1.146vw;
    }

    .modal-copyright-text {
        font-size: 0.8333vw;
        line-height: 1.5625vw;
        padding: 1.09375vw 0;
    }


    #mainContents {
        margin-top: 5.2083vw;
    }

    /* menu modal */

    .modal-list-menu .menu-sp-title-text {
        font-size: 0.9375vw;
        line-height: 2.0833vw;
    }

    .modal-header-content {
        padding-left: 5.7292vw;
    }

    .modal-list-menu .menu-sp-item-link {
        width: 23.125vw;
        font-size: 0.9375vw;
        line-height: 3.125vw;
        padding-right: 2.0833vw;
    }

    .modal-list-menu .menu-sp-item-link::after {
        width: 0.78125vw;
        height: 3.125vw;
        left: -2.6042vw;
    }

    .modal-list-menu .menu-sus .menu-sp-item-link {
        width: 42.6042vw;
    }

    .modal-list-menu .menu-sp-item {
        padding-bottom: 1.5625vw;
        padding-top: 0.52083vw;
    }

    .close-menu-modal {
        height: 3.02083vw;
        padding: 1.09375vw 0;
    }

    .close-menu-modal .close-modal-text {
        font-size: 1.6667vw;
        line-height: 2.6042vw;
    }

    .close-menu-modal .close-modal-image {
        width: 2.34375vw;
        height: 2.34375vw;
        margin-right: 1.875vw;
    }

    .menu-button-text::after {
        bottom: -5.2083vw;
        height: 0.26042vw;
        border-left: 1.04vw solid transparent;
        border-right: 1.04vw solid transparent;
        border-bottom: 1.04vw solid #E36F1C;
    }

    .menu-button-text.active::after {
        bottom: -2vw;
    }

    .menu-text::before {
        height: 0.1042vw;
    }


    /* modal policy */
    .modal-policy-content {
        width: 110.417vw;
        max-width: 110.417vw;
        max-height: 80vh;
    }

    .policy-title {
        height: 5.2083vw;
        line-height: 5.2083vw;
    }

    .policy-content {
        padding: 3.125vw 12.6042vw;
        max-height: calc(80vh - 21.04vw);
    }

    .policy-item {
        margin-bottom: 3.125vw;
    }

    .policy-item-title {
        margin-bottom: 1.5625vw;
    }

    .policy-button-close {
        width: 41.5625vw;
        height: 3.125vw;
        border-radius: 1.5625vw;
    }

    .policy-button-close:hover {
        border: 0.2vw solid #0296B6;
    }

    /* contact section */

    .contact-list-image {
        gap: 1.04vw;
    }

    .contact-item-text {
        font-size: 1.45833vw;
        line-height: 1.5625vw;
        padding-left: 1.5625vw;
    }

    .contact-image-icon {
        margin-top: 0.26042vw;
        width: 1.25vw;
        height: 1.25vw;
    }

    .contact-phone-text {
        font-size: 1.25vw;
        margin: 1.04vw 0;
    }


    .link-more span.link-phone-text {
        border-radius: 5.2083vw;
        flex-direction: row-reverse;
        margin: auto;
        justify-content: center;
        gap: 0.5vw;
        height: fit-content;
        padding: 0;
    }

    .link-more span.link-phone-text::after {
        left: 1.04vw;
        width: 1.8229vw;
        height: 1.8229vw;
        position: unset;
        transform: unset;
        margin: auto 0;
    }

    .link-contact-phone.link-more {
        width: 20.8333vw;
        height: 5.2083vw;
    }

    .link-more .link-phone-text {
        font-size: 1.5vw;
        padding-left: 0.78125vw;
    }

    .contact-schedule {
        font-size: 0.9375vw;
        line-height: 1.25vw;
        margin: 1.04vw 0;
    }

    .policy-sitemap-link {
        font-size: 0.975vw;
    }

    #back-to-top {
        bottom: 1.5625vw;
        right: 1.04vw;
        padding: 0.52083vw 0.78125vw;
        font-size: 1.04vw;
        width: 3.9583vw;
        height: 3.9583vw;
    }

    .back-to-top img {
        width: 1.09375vw;
    }

    .footer-social-image {
        width: 2.6vw;
    }

    .list-social .footer-social:last-child .footer-social-image {
        width: 1.8vw;
        margin: auto;
        display: flex;
    }

    /* common section */
    .section-block {
        padding: 5.2083vw 0;
    }

    .block-container {
        width: 63vw;
    }

    .block-title {
        font-size: 1.6667vw;
        line-height: 1.6667vw;
        letter-spacing: 0.0333vw;
        margin-bottom: 1.146vw;
    }

    .block-content-text {
        width: 29.2vw;
    }

    .block-content-title {
        font-size: 1.6667vw;
        line-height: 1.6667vw;
        letter-spacing: 0.16667vw;
        margin-bottom: 2.865vw;
    }

    .block-content-desc {
        font-size: 0.9375vw;
        line-height: 1.875vw;
        letter-spacing: 0.075vw;
    }

    .block-content-link {
        width: 31.04vw;
        height: 4.1667vw;
        border-radius: 5.2083vw;
    }

    .block-content-link-text {
        font-size: 1.04vw;
        letter-spacing: 0.09375vw;
    }

    .header-button-image {
        width: 0.975vw;
    }

    .contact-item-link {
        width: 28.125vw;
    }

    .contact-content {
        margin: 1.5625vw;
    }
    
    /* home page */
    .about-image-bg {
        width: 14.21875vw;
    }

    .column-item-image {
        width: 100%;
    }
    /* slide section */

    .carousel-item-content {
        left: 3.34375vw;
        width: 47.03125vw;
        border-radius: 1.04vw;
        padding: 1.04vw 2.08333vw;
    }

    .carousel-item-title {
        font-size: 2.5vw;
        line-height: 4.1667vw;
    }

    .carousel-item-sub {
        font-size: 1.45833vw;
        line-height: 4.6875vw;
    }

    .carousel-item-text {
        font-size: 1.1458vw;
        line-height: 2.03125vw;
    }

    .carousel-item-link {
        font-size: 1.45833vw;
        line-height: 4.0625vw;
        height: 4.0625vw;
        width: 24.375vw;
        border-radius: 2.6042vw;
        margin-top: 1.5625vw;
    }

    .carousel-item-text span {
        background-size: 100% 0.625vw;
    }

    .carousel-item-image {
        height: 30.20833vw;
    }

    .block-content .content-left, .block-content .content-right {
        width: 30.729vw;
        height: 16.6667vw;
        border-radius: 1.04vw;
    }

    .content-right {
        margin-top: 13.125vw;
    }

    .services-image-title {
        font-size: 1.45833vw;
        line-height: 1.5625vw;
        letter-spacing: 0.145833vw;
        top: calc(50% - 0.78125vw);
        right: 2.6042vw;
    }

    .content-right .services-image-title {
        left: 2.6042vw;
    }

    /* product section */
    .product-item-sp {
        min-width: calc(100% - 2.6042vw);
        margin: 0 1.302vw;
        padding: 1.771vw 2.5vw;
    }

    .sus-slide-controls {
        height: 1.04vw;
        margin: 3.8542vw 0;
        gap: 2.08333vw;
    }

    .carousel-indicators {
        gap: 2.08333vw;
    }

    .button-slide-action {
        width: 1.04vw;
        height: 1.04vw;
        font-size: 0;
        display: block;
    }

    .product-list-item {
        gap: 0.520833vw;
    }

    .product-content {
        padding: 0 1.5625vw;
    }

    .block-content-sub {
        font-size: 1.45833vw;
        line-height: 1.5625vw;
        letter-spacing: 0.145833vw;
        margin-bottom: 2.6042vw;
    }

    .product-list-item {
        gap: 1.5vw;
    }

    .product-item {
        width: 20vw;
    }

    .product-item figure {
        border-radius: 1.04vw;
    }

    .product-item-title {
        bottom: 1.04vw;
        right: 4.6875vw;
        font-size: 1.25vw;
        line-height: 1.6667vw;
        letter-spacing: 0.0875vw;
    }

    .product-item-title::after {
        right: -2.6042vw;
        width: 1.04vw;
        height: 1.04vw;
    }

    .link-more {
        width: 16.6667vw;
        height: 4.1667vw;
        border-radius: 5.20833vw;
        padding: 3px;
        box-sizing: border-box;
    }

    .link-more span {
        font-size: 1.04vw;
        margin: auto 0;
        border-radius: 2.08333vw;
        width: 100%;
        height: 100%;
    }

    .link-more span::after {
        right: 1.04vw;
        width: 1.04vw;
        height: 1.04vw;
    }

    /* news section */
    .new-content {
        gap: 2.08333vw;
    }

    .new-form-item {
        width: 29.2vw;
    }

    .new-item {
        grid-template-columns: 7.292vw calc(100% - 8.073vw);
        border-bottom: 0.1042vw solid #D9D9D9;
        gap: 0.78125vw;
        padding: 1.45833vw 0;
    }

    .new-item-date {
        font-size: 0.6771vw;
        line-height: 0.8333vw;
        letter-spacing: 0.03385vw;
    }

    .new-item-status {
        width: 7.292vw;
        height: 1.71875vw;
        font-size: 0.6771vw;
        letter-spacing: 0.03385vw;
        line-height: 1.71875vw;
        border-radius: 0.26042vw;
    }

    .new-block .block-content-title {
        margin-bottom: 1.1458vw;
    }

    .new-block .section-link-more {
        margin-top: 1.5625vw;
    }

    .new-item-title {
        font-size: 0.9375vw;
    }

    /* column section */

    .column-block .block-title, .column-block .block-content-title,.column-block .block-content-desc {
        margin-bottom: 0.78125vw;
    }

    .column-block .block-title {
        margin-bottom: 0.520833vw;
    }

    .column-content {
        margin: 3.6458vw 0 3.125vw;
        gap: 1.04vw;
        padding-bottom: 0.520833vw;
    }

    .column-item {
        width: 14.5833vw;
        box-shadow: 0 0.20833vw 0.20833vw 0 #00000040;
        border-radius: 1.04vw;
    }

    .column-item-date {
        font-size: 0.8333vw;
        line-height: 1.5625vw;
    }

    .column-item-title {
        font-size: 1.04vw;
        line-height: 2.1354vw;
    }

    .column-item-more {
        font-size: 0.8333vw;
        line-height: 1.875vw;
    }

    .column-block .link-more span {
        font-size: 1.04vw;
    }


    .column-block .link-more span::after {
        bottom: 0.1042vw;
    }

    .column-item-more::before {
        bottom: 0.55vw;
        left: 0;
        width: 0.9vw;
        height: 0.9vw;
    }

    .block-content-image {
        width: 29.6875vw;
        border-radius: 1.04vw;
        box-shadow: -1.04vw 1.04vw 0 #F9AF39;
    }

    .product-block .link-more span::after {
        right: 0.520833vw;
    }

    .button-recruit figure {
        display: flex;
    }
}

@media only screen and (min-width: 600px) and (max-width: 820px)
{

    html {
        -webkit-text-size-adjust: 100%;
    }
    .main-logo {
        width: 6vw;
        height: 6vw;
    }

    #mainContents {
        margin-top: 7vw;
    }

    .main-logo-label {
        font-size: 2vw;
        line-height: 2vw;
    }

    .menu-text {
        font-size: 1.2vw;
    }

    .block-content-desc {
        font-size: 1.5vw;
        line-height: 2.5vw;
        letter-spacing: 0.096vw;
        margin-bottom: 2vw;
    }

    .block-container {
        width: 82vw;
    }

    .block-content-text {
        width: 40vw;
    }
    
    .block-content-image {
        width: 38vw;
        border-radius: 2vw;
    }
    .button-recruit {
        gap: 0.5vw;
    }

    .header-button span {
        font-size: 1.1vw;
        line-height: 1.5vw;
    }

    .header-block {
        padding: 0;
        width: 100%;
    }

    .section-header {
        display: flex;
    }

    .header-button-list {
        padding: 0 0.5vw;
        gap: 0.5vw;
    }

    .header-button-image {
        width: 1.4vw;
    }

    .menu-header-content {
        gap: 1.8vw;
    }

    .block-title {
        font-size: 2.5vw;
        line-height: 3vw;
    }

    .block-content-title {
        font-size: 2vw;
        line-height: 3.2vw;
    }

    .banner-sub {
        font-size: 1.8vw;
        line-height: 2.4vw;
    }

    .contact-content {
        margin: 2vw 0;
    }

    .link-more span {
        font-size: 1.5vw;
    }

    .link-more span::after {
        right: 1.5vw;
        width: 1.5vw;
        height: 1.5vw;
    }

    .header-button {
        height: 3vw;
    }

    .link-more {
        width: 24vw;
        height: 5vw;
    }

    .about-block .link-more {
        width: 20vw;
    }

    .about-image-bg {
        width: 20vw;
    }

    .figure-about-image-bg {
        bottom: -2vw;
    }

    .block-content .content-left, .block-content .content-right {
        width: 40vw;
        height: fit-content;
    }

    .services-image-title {
        font-size: 1.8vw;
        line-height: 2vw;
        top: calc(50% - 1vw);
    }

    .carousel-item-image {
        height: 38vw;
    }

    .carousel-item-content {
        width: 50vw;
        padding: 2vw;
    }

    .carousel-item-sub {
        font-size: 1.8vw;
        line-height: 6vw;
    }

    .carousel-item-text {
        font-size: 1.5vw;
    }

    .block-content-sub {
        font-size: 1.8vw;
    }

    .product-item {
        width: 26vw;
    }

    .product-list-item {
        gap: 2vw;
    }

    .button-slide-action {
        width: 1.5vw;
        height: 1.5vw;
        padding: 0;
    }

    .slide-control-image {
        width: 1.5vw;
        height: 1.5vw;
    }

    .new-form-item {
        width: 40vw;
    }

    .new-item-date {
        font-size: 1.5vw;
    }

    .new-item-title {
        font-size: 1.5vw
    }

    .new-item-status {
        height: 3vw;
        width: 10vw;
        font-size: 1.5vw;
        line-height: 3vw;
    }

    .new-item {
        grid-template-columns: 10vw calc(100% - 11vw);
        gap: 1vw;
    }

    .column-item {
        width: 20vw;
    }

    .column-item-text {
        height: 18vw;
    }

    .column-item-date {
        font-size: 1.5vw;
    }

    .column-item-title {
        font-size: 1.4vw;
    }

    .column-item-more {
        font-size: 1.5vw;
        margin-bottom: 1vw;
        padding-left: 2.5vw;
    }

    .column-item-more::before {
        bottom: 0.3vw;
        left: 0.5vw;
        width: 1.3vw;
        height: 1.3vw;
    }

    .column-block .link-more span {
        font-size: 1.5vw;
    }

    .contact-item-link {
        width: 40vw;
    }

    .contact-item-text {
        font-size: 1.8vw;
        line-height: 2.4vw;
    }

    .contact-image-icon {
        width: 2vw;
        height: 2vw;
    }

    .contact-phone-text {
        font-size: 1.8vw;
    }

    .link-contact-phone.link-more {
        width: 30vw;
    }

    .link-more .link-phone-text {
        font-size: 1.8vw;
        line-height: 3vw;
    }

    .link-more span.link-phone-text::after {
        width: 3vw;
        height: 3vw;
    }

    .link-more span.link-phone-text {
        gap: 1.2vw;
    }

    .link-contact-phone.link-more {
        width: 28vw;
        height: 6vw;
    }

    .contact-schedule {
        font-size: 1.5vw;
    }

    .title-page-footer {
        font-size: 1.5vw;
        line-height: 2vw;
    }

    .main-logo-footer {
        width: 9vw;
        height: 9vw;
    }

    .footer-menu-title {
        font-size: 1.8vw;
        line-height: 2.4vw;
    }

    .footer-menu-text {
        font-size: 1.5vw;
        line-height: 2vw;
    }

    .list-menu-footer .footer-menu {
        gap: 2vw 5vw;
    }

    .footer-social-image {
        width: 3.5vw;
    }

    .list-social .footer-social:last-child .footer-social-image {
        width: 2.4vw;
    }

    .policy-sitemap-link {
        font-size: 1.5vw;
    }

    .footer-copyright-text {
        font-size: 1.5vw;
    }

    .menu-button-text.active::after {
        bottom: -2.5vw;
    }

    .modal-list-menu .menu-sp-title-text {
        font-size: 1.5vw;
        line-height: 2.4vw;
    }

    .modal-list-menu .menu-sp-item-link {
        font-size: 1.5vw;
    }

    #back-to-top {
        width: 5vw;
        height: 5vw;
        bottom: 3vw;
    }

    .back-to-top img {
        width: 1.5vw;
    }
}
@media only screen and (max-width: 600px) {

    .link-more span::after {
        width: 3.6vw;
        height: 3.6vw;
        right: 4vw;
    }
    
    .about-block .link-more {
        width: 81vw;
    }

    .new-item-title {
        font-size: 3.3vw;
    }

    
    .close-modal-image {
        width: 6.361vw;
        height: 6.361vw;
        margin: 5.089vw 7.6336vw;
    }

    .close-modal {
        height: 16.54vw;
    }

    .menu-sp-title-text, .menu-sp-content li .menu-sp-item-link {
        font-size: 4.07125vw;
        width: 100%;
        display: block;
        margin: auto 0;
    }

    .menu-sp-title {
        height: 16.54vw;
    }

    .menu-sp-title img {
        width: 6.361vw;
        height: 6.361vw;
        margin: auto 0;
    }

    .menu-sp-content li {
        height: 16.54vw;
    }

    .modal-content-end .main-logo {
        width: 14.758vw;
        height: 14.758vw;
    }

    .policy-sitemap-header .policy-sitemap-link {
        font-size: 3.562vw;
    }


    footer .block-container {
        width: 100vw;
    }

    .section-header {
        height: 19vw;
    }
    
    .block-title {
        text-align: center;
        font-size: 6.1vw;
        line-height: 8.142vw;
        margin-bottom: 5.6vw;
    }

    .block-content-title {
        font-size: 6.1vw;
        line-height: 8.142vw;
        letter-spacing: 1.2px;
        margin-bottom: 6.616vw;
        text-align: center;
    }
    
    .section-block {
        padding: 15.2672vw 0;
    }
    
    .list-menu-footer .footer-menu {
        gap: 3.8168vw;
    }

    .menu-header {
        display: none;
    }

    .show-pc {
        display: none !important;
    }

    .show-sp {
        display: block !important;
    }

    .button-show-menu {
        border: none;
        background-color: #E36F1C;
        width: 11.45vw;
        height: 11.45vw;
        border-radius: 2.545vw;
        margin: auto 0;
        padding: 5px;
    }

    .button-show-menu-image {
        width: 8.91vw;
        height: 8.91vw;
        display: flex;
        margin: auto;
    }

    #mainContents {
        padding-top: 19vw;
        margin-top: 0;
    }

    .main-logo {
        width: 15.2672vw;
        height: 15.2672vw;
    }
    
    .main-logo-label {
        font-size: 3.8168vw;
        line-height: 4.58vw;
    }

    .header-block {
        padding: 0 2.545vw;
    }
    
    .contact-list-image {
        flex-direction: column;
        gap: 7.634vw;
    }

    .contact-block.section-block .block-container {
        width: 80.916vw;
    }

    .contact-image-bg {
        width: 100%;
        object-fit: cover;
        border-radius: 5.089vw;
    }

    .contact-item-text {
        width: 100%;
        font-size: 5.089vw;
        line-height: 7.634vw;
        letter-spacing: 2px;
    }

    .contact-phone-text {
        font-size: 4.07125vw;
        line-height: 7.634vw;
    }

    .contact-image-icon {
        width: 5vw;
        height: 5vw;
    }

    .link-more .link-phone-text {
        font-size: 4.58vw;
        line-height: 6.616vw;
        letter-spacing: 1.8px;
    }

    .link-contact-phone.link-more {
        width: 81.4vw;
        height: 20.356vw;
        max-width: 80vw;
        border-radius: 25.44vw;
    }

    .link-more span.link-phone-text::after {
        bottom: -7px;
        width: 8.9vw;
        height: 8.9vw;
        left: 5.1vw;
        position: unset;
        transform: unset;
        margin: auto 0;
    }

    .link-more span.link-phone-text {
        border-radius: 25.44vw;
        color: #ffffff;
        flex-direction: row-reverse;
        margin: auto;
        height: fit-content;
        padding: 0;
        line-height: 8.9vw;
        gap: 4vw;
    }

    .contact-schedule {
        font-size: 3.5623vw;
        line-height: 5.598vw;
    }

    .contact-item-link {
        height: 30vw;
        width: 80.916vw;
    }

    .title-page-footer {
        margin: 7.634vw 2.545vw;
        font-size: 4.07125vw;
        line-height: 6.361vw;
        padding-bottom: 0;
        padding-left: 5.598vw;
    }

    .main-footer.block-container {
        flex-direction: column;
    }

    .main-logo-footer {
        width: 20.356vw;
        height: 20.356vw;
        margin: auto;
        display: block;
    }

    .list-menu-footer .footer-menu {
        grid-template-columns: repeat(2, 1fr);
        gap: 11.7vw 3.8168vw;
    }

    .footer-item {
        text-align: center;
    }

    .list-social {
        justify-content: center;
        flex-direction: row;
        margin: 11.7vw 0 0;
    }

    .footer-social {
        display: flex;
    }

    .footer-social-image {
        margin: auto;
        width: 7.634vw;
    }

    .policy-sitemap {
        justify-content: center;
        padding-top: 20.356vw;
    }

    .footer-menu-title {
        font-size: 4.58vw;
        line-height: 6.616vw;
    }

    .footer-menu-text {
        font-size: 3.5623vw;
        line-height: 5.598vw;
    }

    .policy-sitemap-link {
        font-size: 3.5623vw;
        line-height: 5.598vw;
    }

    .footer-copyright {
        height: 15.2672vw;
    }

    .footer-copyright-text {
        font-size: 3.8168vw;
        line-height: 4.07125vw;
    }

    .list-social .footer-social:last-child .footer-social-image {
        width: 7.634vw;
    }

    #back-to-top {
        width: 11.45vw;
        height: 11.45vw;
        padding: 0;
        right: 4vw;
    }
    #back-to-top img {
        width: 4.5vw;
        height: 4.5vw;
    }
    

    .modal-content-end {
        height: 25.44vw;
    }

     .carousel-item-content {
        left: 2.8vw;
        height: max-content;
        gap: 12.723vw;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 78vw;
        padding: 11.2vw 8vw;
    }

    .carousel-item-image {
        height: 165.4vw;
    }

    .carousel-item-title {
        font-size: 7.125vw;
        line-height: 12.723vw;
        letter-spacing: 0.7125vw;
    }

    .carousel-item-sub {
        display: none;
    }

    .carousel-item-text {
        font-size: 4.07125vw;
        line-height: 7.634vw;
        letter-spacing: 1px;
        white-space: normal;
        padding-left: 5.089vw;
        text-align: justify;
    }

    .block-content {
        flex-direction: column-reverse;
    }

    .figure-about-image {
        margin-right: -2.5445vw;
    }

    .block-content-image {
        margin: auto;
        width: 75vw;
        box-shadow: -2.5445vw 2.5445vw 0px #F9AF39;
    }

    .block-content-text {
        padding-top: 10.178vw;
        width: 81vw;
        margin: auto;
    }

    .block-content-desc {
        font-size: 4.07125vw;
        line-height: 7.634vw;
        letter-spacing: 1.1px;
        margin-bottom: 13.486vw;
        text-align: left;
    }

    .block-content-link {
        width: 81vw;
        height: 15.267vw;
        max-width: 81.425vw;
        float: none;
        margin: auto;
    }

    .about-image-bg {
        width: 50.89vw;
    }

    .figure-about-image-bg {
        bottom: 22.9vw;
        left: 7.634vw;
    }

    .block-content-link-text {
        padding-right: 7.634vw;
        position: relative;
        font-size: 4.58vw;
    }


    .block-content-link-text::after {
        position: absolute;
        bottom: 1.0178vw;
        right: -7.634vw;
        content: "";
        width: 5.089vw;
        height: 5.089vw;
        display: block;
        background: url("../../images/icon_next_link.svg");
        background-repeat: no-repeat;
        background-size: contain;
    }

    .service-block .block-content {
        flex-direction: column;
    }

    .block-content .content-left, .block-content .content-right {
        width: 87.5vw;
        height: 38.2vw;
    }

    .services-image-title {
        font-size: 5.089vw;
        line-height: 7.634vw;
        text-align: end;
        text-shadow: 0px 3px 5px #141416;
        right: 5.089vw;
        top: calc(50% - 3.816vw);
    }

    .service-block .about-image {
        height: 38.2vw;
        border-radius: 5.089vw;
        object-fit: cover;
    }

    .content-right {
        margin-top: 10.178vw;
        padding-left: 6vw;
    }

    .block-content-sub {
        font-size: 5.089vw;
        line-height: 7.634vw;
    }

    .services-content {
        margin: 0 3.6vw;
    }

    .section-block .block-container {
        width: 100vw;
    }

    .product-block .services-content {
        margin: 0 auto;
        width: 81.4vw;
    }

    .sus-slide-controls {
        gap: 8.65vw;
    }

    .carousel-indicators {
        gap: 8.65vw;
    }

    .button-slide-action {
        width: 3.6vw;
        height: 3.6vw;
        margin: auto;
    }

    .slide-control-image {
        width: 3.6vw;
        height: 3.6vw;
    }

    .link-more {
        width: 81vw;
        max-width: 81.425vw;
        height: 15.267vw;
    }

    .link-more span {
        font-size: 4.58vw;
    }

    .new-content {
        flex-direction: column;
        width: calc(100vw - 5.089vw);
        margin: auto;
        gap: 22.9vw;
    }

    .new-form-item {
        width: 100%;
    }

    .new-item {
        grid-template-columns: none;
        grid-template-areas:
        "date status"
        "link link";
        padding: 3.816vw 6.8vw;
    }

    .new-item .new-item-date {
        margin: auto 0;
    }

    .content-right .services-image-title {
        padding-left: 5.089vw;
    }

    .column-block .block-container {
        width: 81.425vw;
        overflow: hidden;
        padding: 0;
    }

    #carousel-product-sp .product-item-image {
        height: 45.8vw;
        width: 81.4vw;
        border-radius: 5vw;
        object-fit: cover;
    }

    #carousel-product-sp .product-item {
        min-width: 100%;
        box-sizing: border-box;
        position: relative;
    }

    #carousel-product-sp .product-list-item {
        width: unset;
        gap: 0;
    }

    .column-slide-control {
        display: flex;
        justify-content: space-evenly;
    }

    .list-column-slide {
        margin-bottom: 7.6336vw;
    }

    .column-item-image {
        width: 100%;
    }

    .button-control-right {
        transform: rotate(180deg);
    }

    .column-item {
        min-width: 81.4vw;
        height: 109.67vw;
        border-radius: 5.09vw;
    }

    .column-content {
        gap: 2%;
        margin: 7.6336vw 0;
    }

    .column-item-date {
        font-size: 3.308vw;
        line-height: 4.07125vw;
        padding-left: 0;
        margin-bottom: 2.3vw;
    }

    .column-item-title {
        font-size: 4.3257vw;
        line-height: 7.634vw;
    }

    .column-item-image {
        object-fit: cover;
        height: 54.2vw;
        border-radius: 5vw 5vw 0 0;
        object-position: top;
    }

    .column-item-more {
        padding-left: 8.9056vw;
        font-size: 3.562vw;
        line-height: 4.8vw;
    }

    .column-item-more::before {
        width: 4vw;
        height: 4vw;
        background-size: contain;
        bottom: 0.5vw;
    }

    .column-item-text {
        height: 55.47vw;
        padding: 4.3257vw 8.9056vw;
    }

    .column-slide-control img {
        width: 11.45vw;
        height: 11.45vw;
    }

    .new-item-date {
        font-size: 3.3vw;
        line-height: 4.07125vw;
    }

    .new-item-link {
        font-size: 3.562vw;
        line-height: 5.598vw;
    }
    
    .new-item-status {
        font-size: 3.3vw;
        line-height: 4.07125vw;
        width: 25.445vw;
        height: 6.361vw;
        display: flex;
        justify-content: center;
        flex-direction: column;
    }

    .product-item-title::after {
        bottom: 2vw;
        right: -10vw;
        width: 3.5vw;
        height: 3.5vw;
    }

    .column-block .link-more span {
        font-size: 4.58vw;
    }

    .product-item-title {
        font-size: 4.58vw;
        right: 20vw;
    }
    /* single page */

    .section-banner {
        height: 45.8vw;
    }

    .banner-background {
        height: 100%;
    }

    .banner-content {
        width: 81.42vw;;
        height: 31.3vw;
        border-radius: 5.089vw;
    }

    .banner-sub {
        font-size: 6.1vw;
        margin-top: 6.87vw;
    }

    .banner-title {
        line-height: 10.2vw;
        font-size: 7.1vw;
    }

    .block-title {
        margin-bottom: 4vw;
    }

    .block-content-subtitle {
        font-size: 5vw;
        text-align: center;
        width: 100%;
        letter-spacing: 0.5089vw;
        padding-bottom: 2.6vw;
        margin-bottom: 7.634vw;
    }

    .block-content-desc {
        font-size: 4.07125vw;
        line-height: 7.634vw;
        letter-spacing: 0.285vw;
        margin-bottom: 12.723vw;
    }
}