@charset "UTF-8";

@media (max-width: 750px) {
    .pc {
        display: none;
    }

    .sp {
        display: block;
    }

    /*********************************************
     * SP固定ページ 共通設定
     *********************************************/
    .common-page_wrap {
        padding: 20vw 0;
    }

    .common-page_title h2 {
        font-size: 5vw;
    }

    .common-page_title p.sub_title {
        font-size: 3vw;
    }

    p.reserve_text {
        font-size: 6vw;
    }

    a.common-btn {
        width: 80%;
        line-height: 12vw;
    }

    a.common-btn:hover {
        opacity: 1;
    }

    /* パンくず */
    .breadcrumb {
        font-size: 2.5vw;
        /* margin-top: 7vw; */
    }

    /*********************************************
     * SPヘッダー
     *********************************************/
    header#sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
        z-index: 200000;
        height: 80px;
    }

    header#sp_header .logo {
        position: absolute;
        left: 10px;
        top: 24px;
        line-height: 0;
        width: 180px;
    }

    header#sp_header a.icon {
        color: #000;
        position: absolute;
    }

    header#sp_header a.mail {
        right: 70px;
        top: 13px;
        font-size: 25px;
    }

    header#sp_header a.tel {
        right: 110px;
        top: 15px;
        font-size: 20px;
    }

    /*********************************************
     * SP固定ページ 会社概要
     *********************************************/
    section.company_profile {
        margin-bottom: 20vw;
    }

    section.company_profile table th, section.company_profile table td {
        font-size: 3.2vw;
        width: 100%;
        display: block;
    }

    section.company_profile table {
        border-top: 1px solid;
    }

    section.company_profile table th {
        width: 100%;
        background-color: #f2f2f2;
    }

    section.company_profile table td {
        width: 100%;
    }

    section.company_profile table td ul.shop_list .image {
        height: 30vw;
        width: 30%;
    }

    section.company_profile table td ul.shop_list .text_area {
        width: 70%;
        padding-left: 4vw;
    }

    section.company_profile table td ul.shop_list .text_area p.locate {
        font-size: 4.5vw;
    }

    section.company_access .map {
        height: 50vw;
    }

    /*********************************************
     * SP固定ページ お問い合わせ
     *********************************************/
    section#page-contact table {
        margin-bottom: 10vw;
    }

    section#page-contact table th, section#page-contact table td {
        font-size: 4vw;
        display: block;
    }

    section#page-contact table th {
        width: 100%;
        text-align: left;
    }

    section#page-contact table td {
        width: 100%;
    }

    section#page-contact input[type="text"], section#page-contact input[type="email"], section#page-contact #zip {
        width: 100%;
        height: 12vw;
    }

    section#page-contact input.tel {
        width: 23vw;
    }

    section#page-contact select {
        width: 100%;
    }

    section#page-contact textarea {
        width: 100%;
        height: 60vw;
    }

    section#page-contact div#btn_wrap button {
        width: 80%;
        line-height: 12vw;
        border-radius: 12vw;
        font-size: 4vw;
    }

    section#page-contact div#btn_wrap button[name="submitBack"] {
        margin-right: 0;
        margin-bottom: 4vw;
    }

    span.mwform-checkbox-field.horizontal-item {
        display: block;
    }

    .mw_wp_form .horizontal-item+.horizontal-item {
        margin-left: 0;
        margin-top: 2vw;
    }

    section#page-contact p.attention {
        font-size: 3vw;
    }

    /* サンクスページ */
    section#page-contact .thanks_textArea p {
        font-size: 4vw;
    }

    section#page-contact .thanks_textArea p.contact_text {
        margin-bottom: 2em;
    }

    section#page-contact .thanks_textArea a.ichiran_link {
        width: 80%;
        line-height: 12vw;
        border-radius: 12vw;
        font-size: 4vw;
    }

    /* ステップバー デザイン */
    section#page-contact .progressbar .item {
        font-size: 11px;
        line-height: 1.4;
        padding: 10px 0;
    }

    section#page-contact .progressbar .item:not(:last-child)::before, section#page-contact .progressbar .item:not(:last-child)::after {
        border-width: 25px;
        border-left-width: 12px;
    }

    /*********************************************
     * SP固定ページ 個人情報保護方針
     *********************************************/
    section.privacy_page p.main_text {
        font-size: 3.5vw;
    }

    section.privacy_page dl {
        margin-bottom: 10vw;
    }

    section.privacy_page dl dt {
        font-size: 4vw;
    }

    section.privacy_page dl dd {
        font-size: 3.5vw;
        margin-left: 5vw;
    }

    /*********************************************
     * SP固定ページ 404ページ
     *********************************************/
    section#page-404 p.num {
        font-size: 20vw;
        line-height: 1.5;
    }

    section#page-404 p.text {
        font-size: 3.5vw;
    }

    /*********************************************
     * SP投稿ページ アーカイブページ
     *********************************************/
    .archive_page_list>article {
        padding-right: 20px;
    }

    .archive_page_list>article .date {
        width: 80px;
    }

    .archive_page_list>article .content_area {
        width: calc(100% - 80px);
    }

    .archive_page_list>article:after {
        width: 7px;
        height: 7px;
    }

    /*********************************************
     * SP投稿ページ シングルページ
     *********************************************/
    .singleContent h1 {
        font-size: 4.5vw;
        padding: 2vw;
    }

    .singleContent .single_title {
        margin-bottom: 10vw;
    }

    .singleContent .single_title time {
        font-size: 3vw;
    }

    .singleContent .category_list {
        margin-bottom: 2vw;
    }

    .singleContent .category_list ul li {
        font-size: 2.5vw;
    }

    .singleContent h2 {
        font-size: 4.2vw;
        padding: 2vw;
    }

    .singleContent h3 {
        font-size: 4vw;
        padding: 2vw;
        margin: 1.5em 0 1em;
    }

    .singleContent h4 {
        font-size: 4vw;
        padding: 2vw;
        margin: 1.5em 0 1em;
    }

    .singleContent h5 {
        font-size: 4vw;
    }

    .singleContent h6 {
        font-size: 3.8vw;
    }

    .singleContent p {
        font-size: 3.5vw;
    }

    div#single_page .singleContent {
        width: 100%;
    }

    div#single_page .singleContent a.ichiran_link {
        width: 80%;
        line-height: 12vw;
        margin: 10vw auto 0 auto;
        font-size: 4vw;
    }

    div#single_page .singleContent a.ichiran_link:hover {
        opacity: 1;
    }

    div#single_page .singleSidebar {
        display: none;
    }

    /*********************************************
     * SP固定ページ サイトマップ
     *********************************************/
    ul#sitemap_list li {
        margin: 0;
    }

    body {
        font-size: 3.6vw;
        line-height: 1.6;
        overflow: hidden;
        min-width: 100%;
    }

    .wrap, .wrap_01,
    .wrap_02,
    footer .wrap {
        max-width: 90%;
        margin: auto;
    }

    /* メインビジュアル　SP */
    section.top_mv {
        padding: 0;
        margin-top: 80px;
    }

    section.top_mv p.ttl {
        font-size: 6.5vw;
    }

    section.top_mv p.ttl+p.ttl {
        margin-left: 0vw;
    }

    section.top_mv .text_box {
        padding: 60.2vw 0 83.7vw;
    }

    .top_mv_area {
        height: 122vw;
        width: 80.1vw;
    }

    .top_mv_area::before {
        background-size: cover;
        background-position: left -210px center;
    }

    section.top_mv::after {
        top: auto;
        bottom: 10vw;
        width: 100%;
        height: 68vw;
    }

    .recruit_banner {
        top: auto;
        bottom: 23.5vw;
        right: 0;
    }

    .recruit_banner a {
        width: 35.1vw;
        height: 35.1vw;
        right: 0;
        font-size: 4vw;
    }

    .top_business_box.flex {
        width: 88%;
        display: block;
        margin: auto;
    }

    .top_business_box .text_box {
        padding: 8vw 5vw;
        display: block;
    }

    .top_business_box h2 {
        transform: inherit;
        font-size: 4vw;
        display: inline-block;
        width: auto;
        margin: 0;
        top: auto;
    }

    .top_business_box .inner_text {
        width: 100%;
    }

    .top_business_box h3 {
        font-size: 5.5vw;
        margin-top: 7vw;
        letter-spacing: .02em;
    }

    section.top_business {
        padding-top: 27vw;
        margin-top: 21vw;
    }

    section.top_business::after {
        color: #383838;
        font-size: 10vw;
        left: 0;
        top: -9vw;
    }

    .top_business_box p.text {
        line-height: 1.8;
        font-size: 4vw;
        margin-top: 6vw;
        letter-spacing: .05em;
        text-align: justify;
    }

    .top_business_box h2::before {
        left: auto;
        right: -11vw;
        width: 8vw;
    }

    section.top_business::before {
        width: 100%;
    }

    .business_btn_box a::before {
        opacity: 0;
    }

    .business_btn_box {
        margin-top: 8vw;
    }

    .business_btn_box a {
        writing-mode: horizontal-tb;
        width: 100%;
        padding: 5vw 0;
        justify-content: center;
        font-size: 4.5vw;
        letter-spacing: .05em;
        font-weight: 600;
    }

    .business_btn_box a.bs {
        margin-top: 5vw;
    }

    /* 施工実績　SP */
    section.top_achievement .ttl_box {
        padding: 3vw 0;
        margin: 0 auto;
        text-align: center;
    }

    section.top_achievement {
        padding: 15vw 0;
    }

    section.top_achievement .ttl_box p.eng {
        font-size: 3.8vw;
        letter-spacing: .03em;
    }

    section.top_achievement .ttl_box h2 {
        font-size: 6vw;
        letter-spacing: .08em;
    }

    .site_achievement_box {
        margin-top: 10vw;
        display: block;
    }

    section.top_achievement .ttl_box::after {
        left: auto;
        right: 0;
        width: 20vw;
    }

    .site_achievement_box.flex {
    }

    .site_achievement_box .tab-area {
        width: 100%;
        margin: 0;
        display: flex;
        flex-wrap: wrap;
        display: -webkit-box;
        display: -moz-box;
        display: -webkit-flexbox;
        display: -moz-flexbox;
        display: -ms-flexbox;
        display: -webkit-flex;
        display: -moz-flex;
    }

    .site_achievement_box .tab {
        flex: 1 0 auto;
        margin: 1vw;
        font-size: 4.5vw;
        letter-spacing: .03em;
    }

    .site_achievement_box .tab+.tab {
        margin: 1vw;
    }

    .site_achievement_box .tab {
        border: solid 1px #ccc;
        padding: 1vw 3vw;
        text-align: center;
        color: #383838;
    }

    .site_achievement_box .tab.active::before {
        opacity: 0;
    }

    .site_achievement_box .tab:hover::before {
        opacity: 0;
    }

    .site_achievement_box .content-area {
        margin-top: 10vw;
    }

    /* 採用情報　TOP SP */
    .top_recruit_box {
        display: block;
        width: 100%;
        padding-top: 10vw;
    }

    section.top_recruit {
        height: auto;
        margin-bottom: 10vw;
    }

    .top_recruit_box p.eng {
        text-align: center;
        font-size: 3.8vw;
    }

    .top_recruit_box h2 {
        text-align: center;
        font-size: 6vw;
    }

    .top_recruit_box .text_box {
        width: 100%;
        padding: 0 5vw;
    }

    .top_recruit_box p.text {
        font-size: 4vw;
        letter-spacing: .05em;
        line-height: 1.8;
        margin-top: 6vw;
    }

    section.top_recruit a.site_cmn_btn {
        margin-top: 6vw;
        background: #4CA7C6;
        color: #fff;
    }

    a.site_cmn_btn {
        width: 85%;
        margin: auto;
        font-size: 4.5vw;
        line-height: 15vw;
    }

    .top_recruit_box p.catch {
        writing-mode: horizontal-tb;
        margin: 6vw auto 0;
        font-size: 5vw;
        text-align: center;
        line-height: 1.6;
        letter-spacing: .1em;
    }

    .top_recruit_box p.catch span.br {
        margin: 0;
    }

    .top_sec_box {
        display: block;
    }

    .top_sec_box .box {
        width: 100%;
        height: 50vw;
    }

    .top_sec_box.pc {
        display: none;
    }

    .top_sec_box h2 {
        font-size: 6vw;
    }

    .top_sec_box p.eng {
        font-size: 4vw;
    }

    .top_sec_box .text_box::before {
        height: 10vw;
        top: auto;
        bottom: -3vw;
        width: 15vw;
        height: 1px;
    }

    section.top_sec {
        margin-bottom: 10vw;
    }

    .ft_info {
        padding-left: 0;
        text-align: center;
    }

    .footer_box {
        display: block;
    }

    footer .logo a {
        width: 85%;
        margin: auto;
    }

    .ft_info p.address {
        font-size: 4vw;
        margin-top: 5vw;
    }

    .ft_tel_box {
        font-size: 4vw;
        margin-top: 4vw;
    }

    footer {
        padding: 15vw 0 6vw;
    }

    p.copy_right.sp {
        position: relative;
        transform: inherit;
        left: auto;
        top: auto;
        text-align: center;
        margin-top: 8vw;
        font-size: 3vw;
    }

    a.page_top {
        top: auto;
        bottom: 0;
        font-size: 3.2vw;
        padding-top: 10vw;
    }

    section.top_recruit::after, section.top_recruit::before {
        opacity: 0;
    }

    section.top_achievement .content {
        overflow-x: scroll;
    }

    section.top_achievement .content ul {
        width: 1080px;
    }

    section.top_achievement .text_box {
        padding: 15px 0;
    }

    section.top_achievement li .img {
        width: 100%;
        height: 150px;
        margin: auto;
    }

    section.top_achievement li p.ttl {
        font-size: 15px;
        color: #383838;
        /* overflow: hidden; */
    }

    .site_achievement_box p.works {
        font-size: 13px;
    }

    .site_achievement_box li {
        width: 270px;
    }

    section.top_achievement li a {
        padding: 15px;
        display: block;
    }

    section.top_achievement p.num {
        font-size: 14px;
    }

    section.top_achievement p.bar {
        width: 50px;
        height: 25px;
        background-color: #4CA7C6;
    }

    section.top_achievement .bar_box {
        margin-top: 5px;
    }

    .site_achievement_box p.bar::before {
        background: #fff;
        width: 30px;
        height: 1px;
    }

    .site_achievement_box p.bar::after {
        right: -13px;
        background: #fff;
        width: 6px;
        height: 6px;
    }

    @keyframes moveLine {
        0% {
            top: 0;
        }

        100% {
            top: 50px;
        }
    }

    a.mv_scroll {
        bottom: 30vw;
        font-size: 4vw;
    }

    a.mv_scroll::before {
        height: 21vw;
    }

    .recruit_banner a::before {
        bottom: -10vw;
        width: 10vw;
    }

    .recruit_banner a::after {
        bottom: -10vw;
        width: 2vw;
        height: 2vw;
        right: -5vw;
    }

    .recruit_banner a:hover::after {
        right: -5vw;
    }

    .top_sec_box .box:hover {
        width: 100%;
    }

    .site_achievement_box li a:hover .img::before {
        width: 0;
    }

    section.top_achievement a.post_cmn_btn {
        padding-bottom: 3vw;
    }

    a.post_cmn_btn.sp {
        display: block;
        font-size: 4.5vw;
    }

    a.post_cmn_btn.pc {
        display: none;
    }

    .top_sec_box.sp {
        display: block;
    }

    section.top_achievement .ttl_box::before {
        width: 20vw;
    }

    .hamburger::before {
        background: url(/wp-content/uploads/2022/08/sp_menu.png) center no-repeat;
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
    }

    a.post_cmn_btn::before {
        right: -31vw;
        width: 5vw;
        height: 5vw;
        top: -2.5vw;
    }

    /* 内部ページ　SP */
    .page-id-200 .common-page_main .title_box {
        position: absolute;
        bottom: -6vw;
        padding: 0;
        right: 6vw;
    }

    .common-page_main {
        margin-top: 80px;
        padding: 0;
        height: 121vw;
    }

    .common-page_main .wrap_01 {
        width: 100%;
        height: 100%;
    }

    .common-page_main::before {
        background-image: url(/wp-content/uploads/2022/08/page_mv_sp_sn.jpg);
        background-position: top center;
    }

    .common-page_main .sub_title {
        font-size: 4vw;
    }

    .common-page_main h1 {
        font-size: 5.5vw;
        letter-spacing: .08em;
    }

    .common-page_main::after {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
    }

    .common-page_main .wrap {
        position: static;
    }

    /* サイトマップ　SP */
    body #sitemap_list li a {
        padding: 3vw;
        line-height: 5vw;
        font-size: 4vw;
    }

    body #sitemap_list li.home-item {
        border-bottom: solid 1px;
        padding-bottom: 2vw;
    }

    /* 事業内容　SP */
    .page_catch_copy {
        padding-bottom: 10vw;
    }

    .page_catch_copy h2 {
        font-size: 5vw;
    }

    .page_catch_copy p.text {
        width: 100%;
        line-height: 1.8;
        text-align: left;
        letter-spacing: .05em;
        margin: 5vw 0 0;
    }

    .page_catch_copy h2::before {
        width: 100vw;
        height: 100vw;
        right: -33vw;
        left: auto;
        top: -17vw;
    }

    section.page_service_achievement {
        padding: 39vw 0 10vw;
        margin: 10vw 0 5vw;
    }

    section.page_service_achievement::before {
        width: 60%;
        height: 35vw;
    }

    .page_service_achievement_box {
        width: 100%;
    }

    .page_service_achievement_box .ttl_box p.eng {
        font-size: 3.5vw;
    }

    .page_service_achievement_box .ttl_box h2 {
        font-size: 6vw;
        letter-spacing: .08em;
    }

    .page_service_links {
        padding-left: 13vw;
    }

    .page_service_links a {
        padding: 3vw 0;
        font-size: 5vw;
    }

    .page_service_links a::before {
        width: 8vw;
        height: 8vw;
        left: -12vw;
    }

    .page_service_links a::after {
        width: 2vw;
        height: 2vw;
        left: -9vw;
    }

    .page_service_achievement_box .ttl_box {
        margin-bottom: 5vw;
    }

    .page_service_links a:hover {
        color: #383838;
    }

    .page_service_links a:hover::before {
        border: solid 1px #6db7d0;
    }

    .page_service_links a:hover::after {
        transform: scale(1);
    }

    section.page_recruit_message {
        padding-bottom: 10vw;
        display: block;
    }

    section.page_recruit_message .ttl_box {
        width: 100%;
        margin-right: 0;
    }

    section.page_recruit_message .ttl_box p.eng {
        font-size: 6vw;
        margin-bottom: 3vw;
    }

    section.page_recruit_message .ttl_box p.message {
        padding: 0;
        font-size: 6vw;
        letter-spacing: .05em;
    }

    section.page_recruit_message .ttl_box p.message+p.message {
        margin-top: 0;
    }

    section.page_recruit_message .text_box {
        background: #4ca7c7;
        padding: 5vw;
        font-size: 4vw;
        line-height: 1.8;
        margin-top: 6vw;
        letter-spacing: .01em;
    }

    section.page_recruit_message .text_box::before {
        display: none;
    }

    section.page_movie {
        margin-top: 10vw;
        padding: 15vw 0;
    }

    section.page_movie .text_box {
        display: block;
    }

    section.page_movie .text_box div {
        width: 100%;
    }

    section.page_movie p.ttl {
        font-size: 6vw;
    }

    section.page_movie p.text {
        font-size: 4vw;
        line-height: 1.8;
    }

    section.page_movie .text_inner_box {
        margin-top: 52vw;
    }

    section.page_movie .playBtn {
        width: 26%;
        height: 26%;
    }

    /* section.page_movie::before {
        width: 26%;
        height: 26%;
    } */

    section.page_appeal {
        padding: 10vw 0 0;
    }

    section.page_appeal .page_ttl_box {
        text-align: center;
    }

    .page_ttl_box p.eng {
        font-size: 3.8vw;
    }

    .page_ttl_box h2 {
        font-size: 7vw;
        letter-spacing: .05em;
    }

    .page_appeal_flame {
        display: block;
        margin-top: 8vw;
        padding-bottom: 10vw;
    }

    .page_appeal_flame .ttl_box {
        width: 100%;
        flex-direction: column;
        padding: 2vw 3vw;
    }

    .page_appeal_flame h3 {
        writing-mode: horizontal-tb;
        text-align: center;
    }

    .page_appeal_flame .left {
        order: 1;
        display: flex;
        margin-top: 1vw;
        justify-content: center;
    }

    .page_appeal_flame .ttl_box::before {
        height: 13vw;
        left: auto;
        right: 8vw;
        top: 0;
        bottom: 0;
    }

    .page_appeal_box {
        width: 100%;
        margin: 3vw 0;
    }

    .page_appeal_box h4 {
        font-size: 4.5vw;
        line-height: 10vw;
    }

    .page_appeal_box p.text {
        padding: 4vw;
        font-size: 3.8vw;
        line-height: 1.6;
        letter-spacing: .03em;
    }

    .page_appeal_flame .img_box {
        display: none;
    }

    .page_appeal_box .img {
        height: 32vw;
        overflow: hidden;
        position: relative;
    }

    .page_appeal_box .img img {
        position: absolute;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    .page_appeal_flame .let_img {
        width: 15vw;
        margin-left: 2vw;
    }

    .page_appeal_flame p.num {
        font-size: 5vw;
        margin: 0;
    }

    section.page_numbering {
        padding: 10vw 0;
    }

    .page_numbering_box {
        margin-top: 7vw;
    }

    .page_numbering_box ul {
        display: block;
    }

    .page_numbering_box li {
        width: 100%;
        padding: 7vw;
    }

    .page_numbering_box .img {
        width: 78%;
        margin: 3vw auto;
    }

    .page_numbering_box h3 {
        font-size: 5vw;
        letter-spacing: .05em;
    }

    .page_numbering_box p.text {
        line-height: 1.7;
    }

    .page_numbering_box li.gender .img {
        width: 62%;
    }

    .page_appeal_flame:nth-child(odd) .let_img {
        width: 18vw;
    }

    .page_appeal_flame:nth-child(odd) .ttl_box::before {
        bottom: 0;
    }

    section.page_person .rep_img {
        width: 100%;
    }

    section.page_person h2 {
        font-size: 5vw;
        width: 80%;
        line-height: 12vw;
        padding-right: 10vw;
        position: absolute;
        left: 0;
        bottom: -9vw;
        right: 0;
        margin: auto;
    }

    section.page_person h2::before {
        width: 8vw;
        height: 10vw;
        right: -37vw;
        top: 0;
    }

    .page_person_flame {
        margin-top: 18vw;
    }

    .page_person_flame li:nth-child(2), .page_person_flame li:nth-child(3) {
        margin-left: 0;
    }

    .page_person_flame .num_box {
        width: 15vw;
        height: 15vw;
        flex-shrink: 0;
        margin-right: 3vw;
    }

    .page_person_flame .num {
        font-size: 7vw;
    }

    .page_person_flame .type {
        font-size: 3vw;
    }

    .page_person_flame li .ttl {
        font-size: 5vw;
        margin: 0;
    }

    .page_person_flame li {
        flex-wrap: nowrap;
    }

    .page_person_flame li:nth-child(2) .ttl {
        text-indent: -14vw;
        margin-left: 14vw;
    }

    .page_person_flame p.text {
        padding: 0 0vw;
        margin-top: 6vw;
        line-height: 1.8;
        font-size: 4vw;
        letter-spacing: .03em;
        text-align: justify;
    }

    section.page_person {
        padding-bottom: 10vw;
    }

    section.page_requirements .ttl_box p.eng {
        font-size: 7vw;
    }

    section.page_requirements .ttl_box {
        display: block;
    }

    section.page_requirements .ttl_box h2 {
        font-size: 6vw;
    }

    .page_requirements_box {
        padding: 5vw 3vw;
        margin-top: 6vw;
    }

    .page_requirements_box li {
        display: block;
    }

    .page_requirements_box .ttl {
        width: 100%;
        font-size: 4vw;
        padding: 1vw 0;
    }

    .page_requirements_box .detail {
        width: 100%;
        padding: 3vw;
        display: block;
    }

    .page_requirements_box p.text {
        font-size: 4vw;
        letter-spacing: .03em;
    }

    .page_requirements_box p.text+p.text {
        margin-top: 1vw;
    }

    section.page_entry p.eng {
        font-size: 5vw;
    }

    section.page_entry p.entry {
        font-size: 10vw;
        padding-bottom: 4vw;
        margin-top: 2vw;
    }

    section.page_entry a {
        padding: 10vw 0;
    }

    section.page_entry a::before {
        width: 25%;
        height: 22vw;
        left: 5vw;
    }

    section.page_entry p.entry::after {
        width: 3vw;
        height: 3vw;
        bottom: -1.5vw;
    }

    section.page_entry:hover::before {
        transform: scale(1);
    }

    section.page_entry:hover p.entry::after {
        right: 0;
    }

    .page-id-200 .common-page_main::before {
        background: url(/wp-content/uploads/2022/08/page_mv_sp.jpg) center no-repeat;
        background-size: cover;
    }

    .common-page_main.recruit::before {
        background-image: url(/wp-content/uploads/2022/09/page_mv_recruit_sp.jpg);
    }

    .common-page_main.service::before {
        background-image: url(/wp-content/uploads/2022/09/page_mv_service_sp.jpg);
    }

    .common-page_main.works::before {
        background-image: url(/wp-content/uploads/2022/09/page_mv_works_sp.jpg);
    }

    .common-page_main.company::before {
        background-image: url(/wp-content/uploads/2022/09/page_mv_company_sp.jpg);
    }

    .page-id-200 .common-page_main {
        padding: 0;
        height: 123vw;
        margin-bottom: 30vw;
    }

    .page-id-200 .common-page_main .wrap_01 {
        position: static;
    }

    .page-id-200 .common-page_main p.catch {
        font-size: 9vw;
        line-height: 1.3;
    }

    a.hd_contact.recruit {
        bottom: 0;
        top: auto;
        width: 24vw;
        height: 16vw;
        font-size: 4vw;
        padding: 0 4vw 2vw 0;
        box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    }

    a.hd_contact.recruit::before {
        width: 9vw;
        bottom: -6vw;
        height: 0.3vw;
        left: -4vw;
    }

    a.hd_contact.recruit::after {
        width: 1.5vw;
        height: 1.5vw;
        bottom: 4.2vw;
        left: -4vw;
    }

    a.hd_contact.recruit:hover::after {
        right: 0;
    }

    a.hd_contact:hover {
        opacity: 1;
    }

    .page_single_achievement {
        display: block;
    }

    .achievement_img_box {
        margin: 5vw 0 0;
        width: 100%;
    }

    .achievement_img_big .img {
        height: 65vw;
    }

    .achievement_img_small {
        margin-top: 3vw;
    }

    .achievement_img_small div {
        width: 30%;
        height: 19vw;
        margin: 1vw;
    }

    .page_single_achievement .text_box {
        margin-top: 7vw;
    }

    .page_single_achievement .ttl {
        font-size: 4.5vw;
        letter-spacing: .05em;
        padding-left: 4vw;
        border-left: solid 3px #4ca7c6;
    }

    .page_single_achievement .text_box p {
        margin-top: 4vw;
        font-size: 4vw;
    }

    .page_single_achievement .text_box span.eng {
        margin-bottom: 1vw;
        font-size: 3.2vw;
    }

    a.achievement_btn {
        line-height: 14vw;
        font-size: 4vw;
        width: 85%;
        background: #4ca7c6;
        color: #fff;
    }

    .common-page_main .title_box {
        padding: 0;
        position: absolute;
        bottom: 5vw;
        right: 0;
    }

    .archive_tabs {
        margin-bottom: 0;
    }

    .archive_page_list .site_achievement_box {
        margin-top: 10vw;
    }

    .archive_tabs li {
        flex: 1 0 auto;
        /* width: 30%; */
    }

    .archive_tabs a {
        padding: 2vw 4vw;
        font-size: 4vw;
        text-align: center;
        /* width: 30%; */
    }

    .archive_tabs li:first-child a {
        padding-left: 0;
    }

    .archive_tabs a::before {
        height: 14px;
    }

    p.archive_tabs_text {
        font-size: 4vw;
        margin-bottom: 2vw;
    }

    .archive_page_list .site_achievement_box li:nth-child(even) {
        margin: 7vw 0 0;
    }

    .archive_page_list .site_achievement_box li+li {
        margin-top: 7vw;
    }

    .archive_page_list .site_achievement_box li a {
        border-top: none;
        padding: 0 2vw 4vw;
    }

    .archive_page_list .site_achievement_box li .img {
        width: 35%;
        height: 20vw;
        margin-right: 5vw;
    }

    .archive_page_list .site_achievement_box li {
        width: 100%;
    }

    .archive_page_list .site_achievement_box li p.ttl {
        font-size: 3.8vw;
        line-height: 1.5;
    }

    .site_achievement_box p.num {
        font-size: 3vw;
    }

    .site_achievement_box p.bar {
        width: 13vw;
        height: 7vw;
        background: #4CA7C6;
    }

    .archive_page_list .site_achievement_box .bar_box {
        margin-top: 4vw;
    }

    .archive_page_list .site_achievement_box li p.ttl {
        color: #383838;
    }

    .archive_tabs a:hover {
        color: #aeaeaf;
    }

    a.page_top.din.pc {
        display: none;
    }

    a.page_top.sp {
        display: block;
        top: 0;
        bottom: auto;
    }

    a.page_top.sp:hover {
        top: 0;
    }

    body nav.globalMenuSp {
        background: linear-gradient(to bottom, #54C1BF, #4CA7C6);
        /* z-index: 100000; */
    }

    body .hamburger {
        z-index: 300000;
    }

    body nav.globalMenuSp ul li a, body nav.globalMenuSp ul li {
        font-size: 14px;
        letter-spacing: .08em;
        padding: 3px 0;
    }

    body nav.globalMenuSp ul li.switchHat {
        position: relative;
        padding: 8px 0;
    }

    body nav.globalMenuSp ul li.switchHat a {
        padding: 1vw 0;
    }

    body nav.globalMenuSp ul .detail a {
        padding: 3px 0;
        font-size: 13px;
    }

    body nav.globalMenuSp ul li.switchHat::before {
        content: "";
        position: absolute;
        right: 80px;
        top: 10px;
        border-top: solid 1px #fff;
        border-right: solid 1px #fff;
        transform: rotate(135deg);
        width: 10px;
        height: 10px;
    }

    body nav.globalMenuSp ul {
        padding-top: 0;
    }

    body nav.globalMenuSp.active {
        z-index: 100000;
    }

    /* 会社概要　SP */
    section.company_profile table li+li {
        margin-top: 6vw;
    }

    section.company_profile a.link {
        font-size: 2vw;
        padding: 0 4vw;
    }

    .page_numbering_box .img.data01 {
        width: 78%;

    }

    /* SDGs SP */
    .sdgs_poster {
        width: 100%;
        border-bottom: solid 1px;
        margin-bottom: 16vw;
    }

    .page_sdgs_box {
        width: 100%;
        margin: 5vw 0;
    }

    .page_sdgs_box ul li {
        display: block;
        padding-bottom: 7vw;
    }

    .page_sdgs_box ul li .img {
        width: 32%;
        margin: auto;
    }

    .page_sdgs_box ul li .ttl {
        text-align: center;
        font-size: 5vw;
        margin: 3vw 0 1vw;
        letter-spacing: .02em;
    }

    .page_sdgs_box ul li .text {
        font-size: 4vw;
        line-height: 1.6;
        letter-spacing: .03em;
    }

    .page_sdgs_box ul li + li {
        margin-top: 8vw;
    }

    /* 各パーツを作成 */
    .radio-btns .radio-btns__item+span::after, .radio-btns .radio-btns__item+span::before {
        width: 20px;
        height: 20px;
    }

    /* after上書き */
    .radio-btns .radio-btns__item+span::after {
        width: 10px;
        height: 10px;
        top: 5px;
        left: 5px;
    }

    /* チェックボックス デザイン */

    .mwform-checkbox-field-text {
        display: inline-block;
        position: relative;
        padding: 0 0 0 30px;
    }

    .mwform-checkbox-field-text::before {
        width: 20px;
        height: 20px;
    }

    .mwform-checkbox-field-text::after {
        border-width: 4px;
        width: 23px;
        height: 14px;
        top: 9px;
    }

}