@media screen and (max-width:768px) {
    html.no_scroll {
        overflow: hidden;
    }

    .pc {
        display: none !important;
    }

    .sp {
        display: block;
    }

    .mouse_stalker {
        display: none !important;
    }

    /******************************
ヘッダー 
******************************/
    .header_inner {
        width: 90%;
        font-size: min(6.4vw, 24px);
    }

    .nav_btn {
        width: min(10.67vw, 40px);
        height: min(5.87vw, 22px);
        margin-right: 6vw;
        position: relative;
        z-index: 999;
    }

    .nav_btn .nav_btn_line {
        content: "";
        display: inline-block;
        width: 100%;
        height: 1px;
        background: #000;
        position: absolute;
        top: 0;
        left: 0;
        translate: 0 -50%;
        transition: all .3s;
    }

    .nav_btn .nav_btn_line:nth-of-type(2) {
        top: 50%;
    }

    .nav_btn .nav_btn_line:nth-of-type(3) {
        top: auto;
        bottom: 0;
    }

    .nav_btn.is_active .nav_btn_line:nth-of-type(1) {
        transform: rotate(30deg);
        background: #B2B2B2;
        top: 50%;
    }

    .nav_btn.is_active .nav_btn_line:nth-of-type(2) {
        display: none;
    }

    .nav_btn.is_active .nav_btn_line:nth-of-type(3) {
        transform: rotate(-30deg);
        background: #B2B2B2;
        bottom: 50%;
    }


    #header nav {
        padding: 0;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        background: #000;
        color: #FF0000;
        translate: 0 -100%;
        transition: all .3s;
        padding: var(--header-height) 5vw min(12.27vw, 46px);
    }

    #header nav.is_active {
        translate: 0;
    }

    #header nav ul {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        gap: 4vw;
        margin-left: 6px;
    }

    #header nav ul a.nav_s {
        font-size: min(2.13vw, 8px);
    }

    #header h1 {
        max-width: 50px;
        padding: min(4.27vw, 16px) 0;
        z-index: 999;
    }

    .modal-cookie {
        padding: 20px;
    }

    .modal-flex {
        justify-content: space-between;
        align-items: flex-end;
        flex-direction: column;
        font-size: 14px;
    }

    .modal-flex p {
        font-size: min(3.2vw, 12px);
    }

    a.cookie-close-btn {
        padding: 5px 30px;
        font-size: min(3.2vw, 12px);
    }

    /******************************
キービジュアル
******************************/
    .kv_text_area {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        margin-left: 5%;
        margin-top: min(12.27vw, 46px);
    }

    .l_text_Area {
        display: flex;
        flex-direction: row-reverse;
        width: fit-content;
        gap: 0.2em;
    }

    .l_text_Area .l_text_wrap {
        font-size: min(8.53vw, 32px);
        width: calc(0.4em + min(8.53vw, 32px));
    }

    .l_text_Area .l_text_wrap::before {
        width: 100%;
        height: 0;
    }

    .l_text_Area.move .l_text_wrap::before {
        animation: barAnimeKvSP forwards 0.8s 1 ease 2s normal;
    }

    .l_text_Area.move .l_text_wrap:nth-of-type(2)::before {
        animation: barAnimeKvSP forwards 0.8s 1 ease 2.3s normal;
    }

    .l_text_Area.move .l_text_wrap:nth-of-type(3)::before {
        animation: barAnimeKvSP forwards 0.8s 1 ease 2.6s normal;
    }

    @keyframes barAnimeKvSP {
        0% {
            top: 0;
            height: 0;
        }

        50% {
            top: 0;
            height: 100%;
        }

        51% {
            top: 0;
            height: 100%;
        }

        68% {
            top: 0;
            height: 100%;
        }

        100% {
            top: 100%;
            height: 0;
        }
    }

    .l_text_Area .l_text_wrap .l_text {
        writing-mode: vertical-rl;
        padding: 0.2em;
        letter-spacing: 0.2em;
    }

    .l_text_Area.move .l_text_wrap .l_text {
        animation: photoAnime forwards 0.1s 1 ease 2.5s normal;
    }

    .l_text_Area.move .l_text_wrap:nth-of-type(2) .l_text {
        animation: photoAnime forwards 0.1s 1 ease 2.8s normal;
    }

    .l_text_Area.move .l_text_wrap:nth-of-type(3) .l_text {
        animation: photoAnime forwards 0.1s 1 ease 3.1s normal;
    }

    #Ttext {
        margin-bottom: 0;
        padding-top: 0;
        height: auto;
        font-size: min(3.73vw, 14px);
    }

    /******************************
リード文
******************************/
    .lead_text_wrap {
        font-size: min(5.87vw, 22px);
    }

    /******************************
サービス
******************************/
    .service_content .service_sticky {
        position: relative !important;
        top: auto !important;
        height: auto !important;
    }

    .service_content .service_sticky .service_sticky_inner .content {
        padding: 0 5% min(13.33vw, 50px);
        height: auto !important;
    }

    .service_content h3 {
        font-size: min(8.53vw, 32px);
        gap: min(2.67vw, 20px);
    }

    .service_num {
        font-size: min(8vw, 30px);
        margin-top: 0;
    }

    .service_content h3 .text_s {
        font-size: min(2.13vw, 8px);
    }

    .view_circle {
        height: min(9.07vw, 34px);
        width: min(9.07vw, 34px);
        right: 0;
    }

    .view_circle p {
        font-size: min(2.13vw, 12px);
    }

    .service_item_wrap {
        flex-direction: column;
        margin-left: 0;
    }

    .service_img {
        width: 100%;
        max-width: 350px;
    }

    .service_item {
        width: 100%;
        font-size: min(3.2vw, 12px);
    }

    .service_item p.catch {
        margin-bottom: 0.2em;
    }

    .view_service_page {
        font-size: min(4.27vw, 18px);
    }

    /******************************
WORKS
******************************/
    .works_content .works_content_title {
        width: 48vw;
        height: 35.2vw;
    }

    .works_content .works_content_title h2 {
        font-size: min(26.04vw, 200px);
    }

    .works_flex_wrap {
        flex-direction: column;
    }

    .w_left_wrap {
        width: 100%;
    }

    .w_right_wrap {
        width: 100%;
        flex-direction: row;
    }

    .w_right_01 {
        flex-direction: column-reverse;
    }

    .w_right_01,
    .w_right_02 {
        height: auto;
    }

    .w_right_01 {
        width: 52%;
    }

    .w_right_02 {
        width: 48%;
    }

    /******************************
ブログ
******************************/
    .blog_content {
        padding: min(16vw, 60px) 0 0;
    }

    .blog_content_inner {
        padding: 0px 3vw 20px;
    }

    .blog_content h2 {
        font-size: min(34.67vw, 130px);
    }

    .active_slide_screen {
        translate: -12.5% -19.5%;
        width: 34%;
        aspect-ratio: 2 / 3;
    }

    .active_slide_screen {
        display: none;
    }

    .splide__slide.is-active {
        margin-left: 0;
    }

    .focus_blog_content {
        width: 100%;
        left: 0;
        top: 0;
        position: relative;
        margin-top: 10px;
    }

    .focus_blog_title {
        font-size: min(6.4vw, 24px);
    }

    .focus_blog_text {
        font-size: min(4.27vw, 16px);
    }

    .blog_content .pagination {
        display: none;
    }

    .splide__arrows {
        display: none;
    }

    /******************************
ニュース
******************************/
    .news_content {
        padding: min(10.67vw, 80px) 0 min(23.47vw, 180px);
    }

    .news_content h2 {
        font-size: min(34.67vw, 130px);
    }

    .news_page_view {
        font-size: min(5.87vw, 22px);
        margin-bottom: 1em;
        padding-right: 0.5em;
    }

    .news_content_inner {
        width: 90%;
        flex-direction: column;
    }

    .news_content_title_wrap {
        display: flex;
        gap: min(2.67vw, 10px);
        align-items: flex-end;
    }

    .news_list_wrap {
        width: 100%;
    }

    .news_list a {
        flex-direction: column;
        align-items: flex-start;
        padding: min(8vw, 30px) min(3.73vw, 14px);
        gap: min(4.27vw, 16px);
    }

    .news_list_top_wrap {
        gap: min(4.27vw, 16px);
    }

    .news_date_month {
        font-size: min(2.67vw, 10px);
    }

    .news_date_day {
        font-size: min(10.13vw, 38px);
    }

    .news_category {
        font-size: min(3.73vw, 14px);
        padding: 0.5em 1.8em;
    }

    .news_title {
        font-size: min(4.27vw, 18px);
    }

    /******************************
フッター
******************************/
    span.footer_line.vertical,
    span.footer_line.beside {
        display: none;
    }

    .footer_wrap {
        width: 90%;
        margin: 0 auto;
        padding-bottom: 10px;
        align-items: flex-end;
        padding-top: min(10.67vw, 86px);
    }

    .footer_main_content {
        padding: 0;
        width: 76%;
    }

    .footer_main_flex {
        gap: 1em;
        padding-bottom: 0;
    }

    .footer_main_left {
        width: 56%;
    }

    .footer_logo {
        width: min(32.53vw, 122px);
    }

    .footer_main_content .footer_nav {
        font-size: min(4.8vw, 18px);
    }

    address {
        font-size: min(1.6vw, 14px);
    }

    address p:not(:first-of-type) {
        margin-top: 0.5em;
    }

    .footer_right_content {
        font-size: min(2.67vw, 14px);
        width: 24%;
        padding-bottom: 1.5em;
    }

    .copy_right {
        font-size: min(2.67vw, 14px);
    }

    /******************************
下層共通
******************************/
    .single_content {
        width: 90%;
        margin: min(5.33vw, 50px) auto 0;
    }

    .single_content_top {
        margin-bottom: 3em;
        font-size: min(3.2vw, 16px);
    }

    .single_content_area {
        padding: min(5.33vw, 30px);
    }

    .lower_page .single_content .news_date,
    .lower_page .single_content .blog_date {
        font-size: min(3.73vw, 16px);
    }

    .lower_page .single_content h2 {
        font-size: min(5.33vw, 24px);
    }

    .single_page_content {
        font-size: min(3.73vw, 16px);
    }

    .lower_page .nav_btn {
        margin-right: 0;
    }

    .lower_page .nav_btn .nav_btn_line {
        background: #B2B2B2;
    }

    .lower_title {
        width: 100%;
        position: relative;
        top: 0;
    }

    .lower_page h2,
    .lower_page .lower_title h2 {
        font-size: min(31.47vw, 300px);
        position: absolute;
        padding-left: 5vw;
    }

    .lower_page .lower_title h2 {
        padding-left: 0;
    }

    .lower_page footer {
        margin-top: min(18.67vw, 170px);
    }

    .title_sticky_area {
        flex-direction: column;
        width: 90%;
        margin: 0 auto;
    }

    .lower_page .lower_content {
        width: 100%;
        padding: 0;
        margin: 36vw 0 0;
    }

    .custum_pagenation {
        gap: min(8vw, 40px);
    }

    .custum_pagenation a::before {
        border: none;
    }

    /******************************
404
******************************/
    .page_404 {
        padding-top: min(10.67vw, 100px);
    }

    .page_404 h2 {
        font-size: min(5.33vw, 30px);
        padding-left: 0;
        position: relative;
        line-height: 1.2;
    }
}