/*画面設定*/

html {
    scroll-behavior: smooth;
}

.p-sub_pc_on {
    display: block;
}

table .p-sub_pc_on {
    display: table-cell;
}

.p-sub_sp_on {
    display: none;
}

table .p-sub_sp_on {
    display: none;
}

#page_no_side {
    width: 100%;
    margin: 0;
}


/* アニメーション設定 */

.animate-slide_up {
    opacity: 0;
    transform: translateY(50px);
    -webkit-transform: translateY(50px);
    transition: 1.5s;
    -webkit-transition: 1.5s;
}

.animate-slide_up.showed {
    opacity: 1;
    transform: translateY(0);
    -webkit-transform: translateY(0);
}


/* font設定 */

/* font-family */

html,
body,
p,
h1,
h2,
h3,
h4,
h5,
th,
td,
time,
a {
    font-family: "Oswald", serif;
    font-family: "Noto Sans JP",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic Medium",
    "Yu Gothic",Meiryo,
    system-ui, -apple-system,
    "Segoe UI", Arial, sans-serif;
}


/* font-color */

.c-font-c_1E376C {
    color: #1E376C !important;
}

.c-font-c_133288 {
    color: #133288 !important;
}

.c-font-c_0A2C58 {
    color: #0A2C58 !important;
}

.c-font-c_fff {
    color: #fff !important;
}

.c-font-c_333333 {
    color: #333333 !important;
}

.c-font-c_6c451e30 {
    color: #6c451e30 !important;
}


/* font-weight */

.c-font-w_bold {
    font-weight: bold;
}


/* font-family */

.c-font-t_en {}

/* ヘッダーコンテンツ */

/* ハンバーガーメニュー */

body.hidden {
    overflow: hidden;
}

#menu {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 100000;
    will-change: transform;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

#menu.active {
    background: #E5EEFA;
    border-radius: 28px 28px 0 0;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}

.menu_container {
    width: 100%;
    height: 100%;
    will-change: transform, opacity;
}

.menu_inner {
    width: 90%;
    height: calc(100% - 24vw);
    margin: 0 auto;
    padding: 16vw 0 8vw;
}

.menu_list_wrapper {
    margin-bottom: 24vw;
}

.active .menu_list {
    -webkit-animation: fadeIn .8s cubic-bezier(.215, .61, .355, 1) .4s forwards;
    animation: fadeIn .8s cubic-bezier(.215, .61, .355, 1) .4s forwards;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.menu_list {
    display: flex;
}

.menu_list_item_info {
    width: 45%;
}

.menu_list_item_menu {
    width: 55%;
}

.menu_logo_wrapper {
    margin-bottom: 2vw;
    width: 50%;
}

.menu_logo {
    margin: 0;
}

.menu_body_text {
    font-size: 13px;
    font-weight: normal;
    margin-bottom: 2vw;
}

.menu_contents {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(3, 1fr);
    grid-column-gap: 3vw;
    grid-row-gap: 3vw;

}

.menu_contents a {
    display: block;
}

.menu_contents a:hover .menu_contents_title,
.menu_contents a:hover .menu_contents_ruby {
    color: #fff !important;
    transition: all 0.4s ease-in-out;
}

.menu_contents_title {
    font-size: 32px;
    font-weight: bold;
    letter-spacing: 2px;
    margin-bottom: 1vw;
    white-space: nowrap;
}

.menu_contents_ruby {
    font-size: 15px;
    font-weight: bold;
    letter-spacing: -1px;
    white-space: nowrap;
}

.menu_info_text_wrapper {
    display: flex;
    justify-content: space-between;
    border-top: 0.5px solid #133288;
    padding-top: 2vw;
}

.menu_info_text_privacy {
    font-size: 15px;
    text-decoration: underline;
}

.menu_info_text_privacy:hover {
    opacity: 0.6;
    transition: all 0.4s ease-in-out;
}

.menu_info_text_copy-right {
    font-size: 13px;
}


/* 画面設定 */

.image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* ヘッダー */

.header_wrapper {
    position: fixed;
    top: 2vh;
    width: 100%;
    z-index: 9999 !important;
}

.l__header {
    width: 90%;
    padding: 1vw;
    margin: 0 auto;
    background: #fff;
    border-radius: 40px;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.16);
}

.l__header_list {
    width: 100%;
    height: 60px;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.header_list_item a {
    display: block;
}

.header_list_item.logo {
    margin-left: 5vw;
    margin-bottom: 0;
    width: 160px;
}

.header_menu_nav_list {
    display: flex;
    gap: 32px;
}

.header_menu_nav_list_item a {
    font-size: 14px;
    font-weight: bold;
}

.header_menu_nav_list_item {
    font-size: 14px;
}

.header_menu_nav_list_item:hover a {
    color: #E5EEFA !important;
}

.header_list_item.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    margin-right: 5vw;
}

.c-btn.estimate {
    width: 118px;
    text-align: center;
    background: #F5891C;
    border-radius: 28px;
}

.c-btn.estimate a {
    font-size: 14px;
    font-weight: bold;
    padding: 1vw 0;
}

.c-btn.line {
    width: 118px;
    text-align: center;
    background: #2CAB35;
    border-radius: 28px;
}

.c-btn.line a {
    font-size: 14px;
    font-weight: bold;
    padding: 1vw 0;
}

.c-btn_menu {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 5%;
    cursor: pointer;
    width: 43px;
    height: 43px;
}

.c-btn_menu.in {
    top: calc((2vh + 1vw) + ((60px - 43px) / 2));
    right: calc(5% + 1vw);
    transform: none;
}

.c-btn.estimate:hover,
.c-btn.line:hover,
.c-btn_menu:hover {
    opacity: 0.6;
    transition: all 0.4s ease-in-out;
}


/* ヘッダーコンテンツ */

.header-contents_bg {
    background: #EFEBE2;
}

.header-contents_inner {
    width: 100%;
    padding: 180px 0 80px;
}

.header-content_wrapper {
    position: relative;
}

.slick-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#header-contents_slider-list_main .slick-slide img {
    border-radius: 10px 0 0 10px;
}

#header-contents_slider-list_sub .slick-slide img {
    border-radius: 0 10px 10px 0;
}

.header-contents_header {
    width: 63%;
    height: calc((100vh - 180px) - 80px);
    margin: 0 0 0 auto;
}

.header-contents_slider-list {
    height: 100%;
    margin: 0;
}

.slick-list {
    height: 100%;
}

.slick-track {
    height: 100%;
}

.header-contents_spin_wrapper {
    position: absolute;
    bottom: 4vh;
    right: 5vw;
    transform: translateY(50%);
    width: 216px;
    height: 216px;
    animation: spinZ 20s linear infinite;
    transition: all .5s cubic-bezier(0, 0, 0, 1);
}

@keyframes spinZ {
    0% {
        transform: translateY(50%) rotateZ(360deg);
    }

    100% {
        transform: translateY(50%) rotateZ(0deg);
    }
}

.header-contents_catch_wrapper {
    position: absolute;
    width: 90%;
    top: 40%;
    left: 50%;
    transform: translateX(-50%);
    z-index: 1;
}

.header-contents_cathe_header {
    display: inline-block;
    font-size: 56px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 3vw;
    padding: 0 0 0 5vw;
}

.header-contents_cathe_text {
    font-size: 13px;
    font-weight: bold;
    padding: 0 0 0 5vw;
}

.header-contents_side_slider_wrapper {
    position: absolute;
    bottom: 65px;
    left: 0;
    width: 15vw;
    border-radius: 10px 10px 0 0;
}

.header-contents_scroll_item {
    position: absolute;
    bottom: calc(11vw / 2);
    left: 23vw;
    display: flex;
    justify-content: center;
}

.header-contents_scroll_text {
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 1px;
    text-align: center;
    writing-mode: sideways-lr;
    margin: 0 0.5vw 0 0;
}

.header-contents_scroll_field {
    display: flex;
    justify-content: space-around;
    align-items: center;
}

.header-contents_scroll_mouse {
    position: relative;
    width: 53px;
    height: 113px;
    border: 2px solid #0A2C58;
    border-radius: 28px;
}

.header-contents_scroll_mouse::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    width: 12px;
    height: 12px;
    background-color: #333;
    border-radius: 50%;
    opacity: 1;
    animation: wheel 2s infinite;
    -webkit-animation: wheel 2s infinite;
}

@keyframes wheel {
    to {
        opacity: 0;
        top: 60px;
    }
}

@-webkit-keyframes wheel {
    to {
        opacity: 0;
        top: 60px;
    }
}


/* トップページ---共通 */

.c-sec_title {
    font-size: 30px;
    font-weight: bold;
    margin: 0 0 3vw 0;
}

.c-sec_sub-text {
    font-size: 14px;
    line-height: 2;
    font-weight: bold;
    margin: 0 0 4vw 0;
}

/* トップページ---about */

.p-top_about_bg {
    background: #EFEBE2;
    position: relative;
}

.p-top_about_bg::before {
    content: "";
    background: url(../../assets/images/top_about.jpg) center center / cover no-repeat;
    width: 45%;
    height: 64vh;
    position: absolute;
    top: 10vh;
    left: 0;
    border-radius: 0 10px 10px 0
}


.p-top_about_inner {
    width: calc(100% + 6%);
    max-width: 100%;
    margin: 0;
    padding: 0 0 240px;
}

.p-top_about_list_wrapper {
    width: 100%;
}

.p-top_about_list {
    width: calc(90% - 10vw);
    margin: 0 auto;
}

.p-top_about_list_item {
    position: relative;
    width: 48%;
    margin-left: auto;
    padding: 18vh 0 36vh 0;
}

.p-top_about_list_item.image img {
    border-radius: 0 10px 10px 0;
}

.p-top_about_list_item.text::before {
    content: "About";
    font-size: 160px;
    font-weight: bold;
    color: #1E376C;
    opacity: 0.05;
    position: absolute;
    top: 0vh;
    left: -2vw;
}

.p-top_about_list_item_inner {
    display: inline-block;
    letter-spacing: -1px;
    margin: 8vw 4vw 0 7vw;
}

.p-top_about_list_item_inner .c-sec_sub-text {
    letter-spacing: 3px;
}

.p-top_about_body_text {
    font-size: 16px;
    line-height: 2;
}

.c-btn_view-more_wrapper {
    position: absolute;
    bottom: 16vh;
    right: 0;
}

.c-btn_view-more_wrapper a {
    display: block;
}

.c-btn_view-more {
    display: flex;
    align-items: center;
    gap: 50px;
}

.c-btn_view-more_text {
    font-size: 23px;
    font-weight: bold;
}

.c-btn_view-more_arrow {
    position: relative;
    width: 72px;
    height: 72px;
    background: #1E376C;
    border-radius: 100px;
}

.c-btn_view-more_arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.c-btn_view-more:hover .c-btn_view-more_arrow {
    background: #E5EEFA;
    transition: all 0.4s ease-in-out;
}

.c-btn_view-more:hover line {
    stroke: #1E376C;
    transition: all 0.4s ease-in-out;
}

/* トップページ---selection */

.p-top_selection_bg {
    background: #fff;
}

.p-top_selection_list {
    width: calc(90% - 10vw);
    margin: 0 auto;
}
.p-top_selection_list_item {
    position: relative;
    width: 48%;
    margin-right: auto;
    padding: 18vh 0 36vh 0;
}

.p-top_selection_list::before {
    content: "";
    background: url(../../assets/images/top_reason.jpg) center center / cover no-repeat;
    width: 36%;
    height: 64vh;
    position: absolute;
    top: 212vh;
    right: 10vw;
    border-radius: 10px;
    z-index: 30;
}

.p-top_selection_list_item.image {
    width: 40%;
}

.p-top_selection_list_item.image img {
    border-radius: 16px;
}

.p-top_selection_list_item::before {
    position: absolute;
    bottom: 100px;
    left: 0;
    content: "Reason";
    font-size: 200px;
    font-weight: bold;
    letter-spacing: 5px;
    color: #1E376C;
    opacity: 0.05;
}

.p-top_selection_list_item.text {
    width: 50%;
    position: relative;
}

.p-top_selection_body_text {
    font-size: 16px;
    line-height: 2;
}


/* トップページ---制作実績 */

.p-top_achievements_bg {
    position: relative;
    background: #1E376C;
    z-index: 2;
}

.p-top_achievements_bg::before {
    content: "Works";
    font-size: 200px;
    font-weight: bold;
    letter-spacing: 5px;
    color: #fff;
    opacity: 0.05;
    position: absolute;
    top: 3vw;
    left: 0;
}

.p-top_achievements_inner {
    position: relative;
    width: calc(90% - 10vw);
    max-width: 100%;
    margin: 0 auto;
    padding: 144px 0 200px;
}

.p-top_achievements_list {
    flex-wrap: wrap;
    display: flex;
    justify-content: space-between;
    gap: 3vw 2vw;
}

.p-top_achievements_list_item {
    width: calc((100% / 3) - (4vw / 2));
    margin: 0;
    list-style: none;
}

.p-top_achievements_list_item_image_wrapper {
    width: 100%;
    height: 147px;
}

.p-top_achievements_list_item_image_wrapper a {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.p-top_achievements_list_item_image_wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
}

.p-top_achievements_list_item_info_wrapper {
    width: 116px;
    margin: 1.5vw 0 0;
}

.p-top_achievements_list_item_info {
    background: #fff;
    border-radius: 16px;
}

.p-top_achievements_list_item_info a {
    display: block;
    font-size: 16px;
    font-weight: bold;
    text-align: center;
    padding: 0.5vw;
}

.p-top_achievements_list_item_title_wrapper {
    margin: 1.5vw 0 0;
}

.p-top_achievements_list_item_title {
    font-size: 16px;
    font-weight: bold;
}

.p-top_achievements_list_item_word_wrapper {
    margin: 1.5vw 0 0;
}

.p-top_achievements_list_item_word {
    font-size: 14px;
}

.p-top_achievements_list_item:first-child {
    width: 100%;
}

.p-top_achievements_list_item:first-child .p-top_achievements_list_item_image_wrapper {
    height: 320px;
}

.p-top_achievements_list_item:first-child .p-top_achievements_list_item_info_wrapper {
    float: left;
    margin: 1.5vw 0;
}

.p-top_achievements_list_item:first-child .p-top_achievements_list_item_title_wrapper {
    float: left;
    margin: 1.5vw 0;
}

.p-top_achievements_list_item:first-child .p-top_achievements_list_item_title {
    padding: 0.5vw 1vw;
}

.p-top_achievements_list_item:first-child .p-top_achievements_list_item_word_wrapper {
    clear: both;
}

.achievements .c-btn_view-more_wrapper {
    bottom: 5vw;
    right: 50%;
    transform: translateX(50%);
}

.achievements .c-btn_view-more_arrow {
    background: #fff;
    border: 1px solid #1E376C;
}

.c-btn_view-more:hover .c-btn_view-more_arrow.white {
    background: none;
    border: 1px solid #fff;
}

.c-btn_view-more:hover .c-btn_view-more_arrow.white line {
    stroke: #fff;
}

.p-top_achievements_text_wrapper {
    position: relative;
}

.p-top_achievements_text_wrapper::before {
    content: "";
    background: url(../../assets/images/top_works-bgtext.svg) center center / cover no-repeat;
    width: 1150px;
    height: 300px;
    position: absolute;
    bottom: -30px;
    right: 0;
    opacity: 0.33;
    z-index: -1;
}


.p-top_achievements_sub_text {
    font-size: 50px;
}


/* その他 */

.p-top_others_bg {
    background: #fff;
}

.p-top_others_inner {
    width: calc(90% - 10vw);
    max-width: 100%;
    margin: 0 auto;
    padding: 80px 0;
}

.p-top_others_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 2vw;
    grid-row-gap: 2vw;
}

.p-top_others_list_item {
    position: relative;
    border-radius: 16px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: bottom left;
}

.p-top_others_list_item:hover {
    opacity: 0.6;
    transition: all 0.4s ease-in-out;
}

.p-top_others_list_item.business {
    grid-area: 1 / 1 / 3 / 2;
    height: 390px;
    background-image: url(../images/top_business.jpg);
}

.p-top_others_list_item.flow {
    grid-area: 1 / 2 / 2 / 3;
    background-image: url(../images/top_flow.jpg);
}

.p-top_others_list_item.faq {
    grid-area: 2 / 2 / 3 / 3;
    background-image: url(../images/top_faq.jpg);
}

.p-top_others_list_item_inner {
    width: 100%;
    height: 100%;
    border-radius: 16px;
}

.others .c-btn_view-more_wrapper {
    top: 50%;
    left: 5vw;
    right: auto;
    bottom: auto;
    transform: translateY(-50%);
}

.others .c-btn_view-more {
    gap: 20px;
}

.others .c-btn_view-more_text {
    font-size: 20px;
}

.others .c-btn_view-more_arrow {
    width: 17px;
    height: 17px;
    background: #fff;
}


/* footer */
.l-footer__logo{
    justify-content: flex-start;
    width: 100%;
}

.l-footer__logo a{
    width: 100%;
}


.l-footer_privacy-copy {
    display: flex;
    justify-content: space-between;
    border-top: 1px solid #133288;
    line-height: 48px;
    margin-top: 1vw;
}

.l-footer {
    padding-bottom: 0;
}

.l-footer-area {
    background: linear-gradient(0deg, #fff, #EBE2CD, #EBE2CD);
    margin: 0;
}

.l-footer_contact {
    width: 1000px;
    margin: 0 auto;
    padding: 4vw 0;

}

.l-footer_contact_title {
    position: relative;
    text-align: center;
}

.l-footer_contact_title_text {
    display: inline-block;
    font-size: 160px;
    color: #6c451e30;
    margin-bottom: -1.3vw;
    text-box: cap alphabetic;
    font-weight: bold;
}

.l-footer_contact_box {
    background: #fff;
    padding: 4vw;
    border-radius: 30px;
}

.l-footer_contact_text {
    text-align: center;
    margin-bottom: 2vw;
    font-size: 26px;
    font-weight: bold;
    position: relative;
}

.l-footer_contact_text::before {
    content: "";
    position: absolute;
    top: 3.5vw;
    left: 50%;
    height: 10vw;
    transform-origin: left top;
    border-left: 4px dotted #133288;
}

.l-footer_contact_tel-estimate {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.l-footer_contact_tel_wrapper {
    width: 40%;
    text-align: center;
    line-height: 31px;
}

.l-footer_contact_tel_text {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 2rem;
}

.l-footer_contact_tel_num {
    font-size: 45px;
    font-weight: bold;
    margin-bottom: 2rem;
}

.l-footer_contact_tel_time-fax {
    display: flex;
    justify-content: center;
    gap: 1vw;
}

.l-footer_contact_tel_time_text {
    font-size: 16px;
}

.l-footer_contact_tel_fax_text {
    font-size: 16px;
}

.l-footer_privacy_text {
    font-weight: bold;
    font-size: 13px;
    text-decoration: underline !important;
}

.l-footer_privacy_text:hover {
    opacity: 0.6;
    transition: all 0.4s ease-in-out;
}

.l-footer_contact_estimate_wrapper {
    width: 40%;
}

.l-footer_estimate {
    background: #F5891C;
    width: 280px;
    border-radius: 30px;
    position: relative;
}

.l-footer_estimate a {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 1rem 2rem;
    transition: transform .3s;
    -webkit-transition: transform .3s;
}

.l-footer_estimate .image {
    width: 30px;
    height: 29px;
}

.l-footer_estimate:hover {
    opacity: 0.6;
    transition: all 0.4s ease-in-out;
}

.l-footer_estimate_text {
    font-size: 16px;
    font-weight: bold;
    text-align: center;
}

.l-footer_estimate svg {
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
}

/* フッターメニュー */

.l-footer_under {
    background: #fff;
}

.l-footer_under_bg {
    background: #E5EEFA;
    border-radius: 30px 30px 0 0;
}

.l-footer_under_inner {
    width: 1100px;
    margin: 0 auto;
    padding: 8vw 0 1vw;
}

.l-footer_under_second_inner {
    display: flex;
    justify-content: space-between;
}

.c-logo {
    height: auto;
}

.l-footer_address {
    font-size: 13px;
    line-height: 24px;
}

.l-footer_content {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 2vw;
    grid-row-gap: 2vw;
}

.l-footer_contennt-list_eg {
    font-size: 32px;
    font-weight: bold;
    color: #133288;
    margin-bottom: 0.5vw;
}

.l-footer_contennt-list_jp {
    font-size: 15px;
    font-weight: bold;
    color: #133288;
}

.l-footer_contennt-list_item:hover .l-footer_contennt-list_eg,
.l-footer_contennt-list_item:hover .l-footer_contennt-list_jp {
    color: #fff;
    transition: all 0.4s ease-in-out;
}

.c-btn_footer_arrow {
    position: relative;
    width: 72px;
    margin: 0 0 0 auto;
}

.c-btn_footer_arrow a {
    display: block;
    width: 72px;
    height: 72px;
}

.c-btn_footer_arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.c-btn_footer_arrow:hover circle {
    fill: #133288;
}

.c-btn_footer_arrow:hover line {
    stroke: #E5EEFA;
}

/* サブページ */

.p-sub_inner {
    width: calc(100% - 10vw);
    margin: 0 auto;
}

.p-sub_inner-short {
    width: 900px;
    margin: 0 auto;
}


/* サブページ---ヘッダー */

.p-sub_header_contents_bg {
    background: #EFEBE2;
}

.p-sub_header_contents_inner {
    width: calc(90% - 10vw);
    margin: 0 auto;
    padding: 16vw 0 4vw;
}

.p-sub_header_contents_title_wrapper {
    position: relative;
    display: flex;
    margin-bottom: 3vw;
}

.p-sub_header_contents_title {
    display: inline-block;
    font-size: 82px;
    text-box: cap alphabetic;
    margin: 0;
}

.p-sub_header_contents_sub_title {
    font-size: 16px;
    font-weight: bold;
    line-height: 82px;
    padding-left: 2vw;
}

.p-sub_header_contents_catchphrase {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.8;
}

.breadcrumbsWrap {
    position: absolute;
    top: 16vw;
    right: 10vw;
}

.breadcrumbs,
.breadcrumbs span {
    font-size: 16px;
    font-weight: bold;
    color: #333333;
}

.breadcrumbs span:hover {
    opacity: 0.6;
    transition: all 0.4s ease-in-out;
}


/* greeting */

/* .p-sub_message_bg {
    background-image: url(../images/company_message_bg01.png);
    background-repeat: no-repeat;
    background-size: cover;
} */

.p-sub_message_inner {
    position: relative;
    padding: 170px 0 160px;
}

.p-sub_message_inner::before {
    content: "Message";
    font-size: 163px;
    letter-spacing: 5px;
    text-box: cap alphabetic;
    color: #1E376C;
    font-weight: bold;
    position: absolute;
    top: 5vw;
    left: 0;
    opacity: 5%;
}

.p-sub_message_inner::after {
    content: "";
    background-image: url(../images/company_message_bg01.png);
    background-repeat: no-repeat;
    background-size: cover;
    width: 60%;
    height: 21vh;
    position: absolute;
    bottom: 0;
    left: 0;
}

.p-sub_message_contents {
    position: relative;
    width: 900px;
    margin: 0 auto;
}

.p-sub_message_title {
    font-size: 40px;
    line-height: 1.5;
    font-weight: bold;
    text-align: left;
}

.p-sub_message_text {
    font-size: 16px;
    letter-spacing: -1px;
    width: 60%;
    margin: 0 2vw 2vw auto;
    line-height: 2;
}

.p-sub_message_owner_title {
    font-size: 30px;
    text-align: right;
}

.p-sub_message_owner_sub_title {
    font-size: 21px;
    padding-right: 2vw;
}


/* 理念 */

.p-sub_philosophy_bg {
    background-image: url(../images/company_philosophy_bg01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.p-sub_philosophy_inner {
    padding: 160px 0;
    text-align: center;
}

.p-sub_philosophy_text_wrapper {
    display: inline-block;
}

.p-sub_philosophy_text_list {
    margin: 0;
    padding-left: 0;
}

.p-sub_philosophy_text {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 1vw;
    list-style: none;
}

.p-sub_company-profile_bg {
    background: #fff;
}

.p-sub_company-profile_inner {
    padding: 64px 0 80px;
}

.p-sub_company-profile_title_wrapper {
    text-align: center;
}

.p-sub_company-profile_table_wrapper {
    margin-bottom: 5vw;
}

.p-sub_company-profile_table {
    width: 100%;
}

.p-sub_company-profile_table {
    border-collapse: collapse;
}

.p-sub_company-profile_header_text {
    font-size: 16px;
    font-weight: bold;
    background: #EFEBE2;
    border: 2px solid #707070;
    padding: 1em 2em;
}

.p-sub_company-profile_body_text {
    font-size: 16px;
    font-weight: normal;
    background: #fff;
    border: 2px solid #707070;
    padding: 1em 1em;
    line-height: 2;
}

.p-sub_company-access_inner {
    padding: 64px 0 80px;
}


.p-sub_access_title_wrapper {
    text-align: center;
    margin-bottom: 5vw;
}

.p-sub_access_text {
    font-size: 16px;
    text-align: left;
}

.p-sub_accrss_map_wrapper {
    width: 100%;
    height: 569px;
}

.p-sub_accrss_map_wrapper iframe {
    width: 100%;
    height: 100%;
}


/* business */

.p-sub_buisiness_bg {
    background-image: url(../images/business_reform_bg01.jpg);
    background-repeat: no-repeat;
    background-size: cover;
}

.p-sub_buisiness_inner {
    padding: 120px 0;
}

.p-sub_buisiness_contents {
    width: 900px;
    margin: 0 auto;
}

.p-sub_buisiness_text_wrapper {
    width: 55%;
    margin: 0 0 0 auto;
}

.p-sub_buisiness_text_wrapper .c-sec_title {
    line-height: 1.5;
}

.p-sub_buisiness_text {
    font-size: 16px;
    letter-spacing: -1px;
    line-height: 2;
}

/* deteil */

.p-sub_detail_bg {
    background: #fff;
}

.p-sub_detail_inner {
    padding: 160px 0 80px;
}

.p-sub_detail_list_wrapper:first-child {
    margin-bottom: 80px;
}

.p-sub_detail_list {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

.p-sub_detail_list_item_image {
    width: 40%;
    border-radius: 16px;
}

.p-sub_detail_list_item_image img{
    border-radius: 16px;
}

.p-sub_detail_list_item_text {
    width: 50%;
}

.p-sub_detail_list_item_text.right,
.p-sub_detail_list_item_image.right {
    padding-left: 10%;
}

.p-sub_detail_list_text {
    font-size: 16px;
    line-height: 2;
}

.p-sub_detail_list_item_text{
    position: relative;
}

.p-sub_detail_list_text_wrapper-naiso::before{
    position: absolute;
    bottom: 0;
    right: 0;
    content: "Interior";
    font-size: 170px;
    font-weight: bold;
    color: #1E376C;
    opacity: 0.05;
}

.p-sub_detail_list_text_wrapper-mokkouzi::before{
    position: absolute;
    bottom: 0;
    right: 0;
    content: "Wood";
    font-size: 170px;
    font-weight: bold;
    color: #1E376C;
    opacity: 0.05;
}


/* other */

.p-sub_other_bg {
    background: #fff;
}

.p-sub_other_inner {
    padding: 80px 0;
}

.p-sub_other_text_wrapper {
    margin-bottom: 3vw;
}

.p-sub_other_text_wrapper .c-sec_title {
    text-align: center;
}

.p-sub_other_text {
    font-size: 16px;
    line-height: 2;
}

.p-sub_other_icon_list {
    display: flex;
    justify-content: space-between;
}

.p-sub_other_icon_item {
    position: relative;
    width: 23%;
    height: 270px;
    background: #EFEBE2;
    border-radius: 16px;
}

.p-sub_other_icon_item_inner {
    position: absolute;
    top: calc(50% - 2vw);
    left: 50%;
    transform: translate(-50%, -50%);
}

.p-sub_other_icon_image_wrapper {
    width: 120px;
    height: 120px;
}

.p-sub_other_icon_image_wrapper img {
    width: 100%;
    height: 100%;
}

.p-sub_other_icon_text {
    position: absolute;
    top: calc(50% + 7vw);
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 19px;
    font-weight: bold;
    white-space: nowrap;
}


/* faq */

.p-sub_faq_bg {
    background: #fff;
}

.p-sub_faq_inner {
    padding: 80px 0;
}

.p-sub_faq_list {
    margin: 0 0 2rem 0;
    background: #fff;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
    border-radius: 16px;
    padding: 2vw;
}

.p-sub_faq_list_upper_text {
    position: relative;
    font-size: 20px;
    font-weight: bold;
    padding-bottom: 0;
    cursor: pointer;
}

.p-sub_faq_list_lower_text {
    display: none;
    font-size: 16px;
    line-height: 2;
    border-top: none;
    padding: 2vw 0 0;
}

.p-sub_faq_list_upper_text.active{
    padding-bottom: 1vw;
}

.p-sub_faq_list_upper_text.active + .p-sub_faq_list_lower_text {
    border-top: 1px solid #707070;
}


/* 施工実績 */

.p-sub_work_bg {
    background: #fff;
}

.p-sub_work_inner {
    padding: 80px 0 240px;
}

.p-sub_work_text_wrapper .c-sec_title {
    text-align: center;
}

.p-sub_work_list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 2vw;
    grid-row-gap: 2vw;
}

.p-sub_work_list_item {
    background: #E5EEFA;
    border-radius: 16px;
}

.p-sub_work_list_item a {
    display: block;
}

.p-sub_work_list_item_inner {
    padding: 2vw 2vw 4vw;
}

.p-sub_work_list_item:hover {
    opacity: 0.6;
    transition: all 0.4s ease-in-out;
}

.p-sub_work_image_wrapper {
    height: 160px;
}

.p-sub_work_image_wrapper a {
    display: block;
    width: 100%;
    height: 100%;
}

.p-sub_work_image_wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 9px;
}

.p-sub_work_category {
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    background: #EFEBE2;
    border-radius: 16px;
    margin: 1vw 0 1.5vw;
    padding: 0.5vw 1.5vw;
}

.p-sub_work_category a {
    display: block;
    padding: 0.5vw 1.5vw;
}

.p-sub_work_title {
    font-size: 20px;
    font-weight: bold;
    margin: 0 0 1vw 0;
    padding: 0 0 1vw 0;
    border-bottom: 1px solid #707070;
}

.p-sub_work_text {
    font-size: 18px;
    font-weight: bold;
}

.p-sub_work_view-more_wrapper {
    position: relative;
}

.p-sub_work_view-more_wrapper .c-btn_view-more_wrapper {
    bottom: -120px;
    right: 50%;
    transform: translateX(50%);
}

.p-entry__thumbnail{
    width: 100%;
    height: 556px;
    margin-bottom: 0 !important;
}

.p-entry__thumbnail img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}


/* Flow */

.p-sub_flow_inner {
    padding: 64px 0 120px;
}

.p-flow_box_item {
    background: #E5EEFA;
    border-radius: 10px;
    padding: 3vw 2.5vw;
}

.p-flow_box_item .c-sec_title {
    margin: 0 0 1.5vw 0;
    padding: 0 0 1.5vw 0;
    border-bottom: 1px solid #707070;
}

.p-flow_text {
    line-height: 1.5;
    font-size: 16px;
}

.p-flow_triangle-arrow_item {
    background: #526791;
    height: calc(tan(35deg)* 48px / 2);
    width: 32px;
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    margin: 32px auto;
}


/* reason */

.p-sub_reason_inner {
    padding: 80px 0;
}

.p-sub_reason_list_wrapper {
    position: relative;
    margin: 0 0 3vw 0;
    background: #fff;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
    border-radius: 16px;
}

.p-sub_reason_list {
    width: 900px;
    display: flex;
    align-items: start;
    margin: 0 auto;
    padding: 4vw 0;
    background: #fff;
}

.p-sub_reason_list_item_image_wrapper {
    width: 45%;
    position: relative;
}

.p-sub_reason_list_item_text_wrapper {
    width: 45%;
    margin: 0 0 0 auto;
}

.p-sub_reason_text_num {
    font-size: 70px;
    margin-bottom: 2vw;
    -webkit-text-stroke-width: 2px;
    -webkit-text-stroke-color: #133288;
    color: #fff;
    font-weight: bold;
}

.p-sub_reason_list_item_text_wrapper .c-sec_title {
    margin-bottom: 2vw;
    font-size: 24px;
    line-height: 2;
}

.p-sub_reason_text_body {
    font-size: 16px;
    line-height: 2;

}

.p-sub_reason_list_item_image_wrapper img {
    border-radius: 15px;
}


/* Privacy Policy */

.p-sub_inner.p-privacy_inner {
    margin: 6vw auto;
}

.p-privacy-policy_title {
    font-size: 30px;
    margin-bottom: 1.7vw;
}

.p-privacy-policy_text {
    margin-bottom: 4vw;
    font-size: 16px;
    line-height: 1.7;
}


/* contact */

.l-sub_inner_contact {
    margin: 8vw auto 32vw;
    width: 900px;
}

.p-contact_header {
    text-align: center;
}

.p-contact_header_text {
    font-size: 16px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 8vw;
}

.p-contact_inside {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 2.5vw 0;
}

.p-contact_inside:last-child {
    align-items: flex-start;
}

.p-contact_text {
    font-size: 20px !important;
    font-weight: bold;
    width: 50%;
}

.p-contact_sub_text {
    background: #F84F6E;
    font-size: 14px;
    padding: 8px;
    border-radius: 4px;
    margin-left: 2vw;
}

.p-contact_input {
    width: 60%;
}

.wpcf7 select,
.wpcf7 .wpcf7-list-item-label {
    font-size: 16px !important;
    color: #333333 !important;
    font-weight: bold;
    border-radius: 4px;
}

.wpcf7-form-control-wrap .wpcf7 select {
    font-size: 15px !important;
    border-radius: 4px;
    font-weight: bold;
    border-radius: 4px;
}

.wpcf7-list-item.first.last .wpcf7-list-item-label {
    font-size: 15px !important;
    font-weight: bold;
    border-radius: 4px;
}

.wpcf7 input,
.wpcf7 textarea {
    border: 1px solid #E1E1E1;
    padding: 16px;
    border-radius: 5px;
    font-size: 16px;
    width: 100%;       /* 横幅を親要素に合わせて固定 */
    max-width: 100%;   /* これで横スクロールしないように */
    resize: vertical;  /* ← 高さだけ変更可能にする */
}

::placeholder {
    font-size: 16px;
    font-weight: bold;
    color: #B8B9BA;
    font-family: "Noto Sans JP",
    "Hiragino Sans",
    "Hiragino Kaku Gothic ProN",
    "Yu Gothic Medium",
    "Yu Gothic",Meiryo,
    system-ui, -apple-system,
    "Segoe UI", Arial, sans-serif;
}

.wpcf7 p {
    margin-bottom: 0;
}

.p-contact_footer {
    text-align: center;
    line-height: 1.5;
    position: absolute;
    bottom: -26vw;
    right: 50%;
    transform: translateX(50%);
    width: 100%;
}

.p-contact_text_sub {
    font-size: 16px !important;
    font-weight: bold;
    margin-bottom: 2vw !important;
}

.p-contact_text_sub a {
    text-decoration: underline !important;
}

.p-contact_text_sub a:hover {
    opacity: 0.6;
    transition: all 0.4s ease-in-out;
}

.wpcf7 {
    width: auto;
    padding: 4vw 5vw;
    border-radius: 30px;
    background: #fff;
    border: none;
    box-shadow: 0px 1px 10px 1px #8080806b;
    position: relative;
}

.wpcf7-not-valid-tip {
    font-size: 16px;
    margin-top: 1vw;
}

.wpcf7-form-control.contact_submit {
    background-color: #133288;
    width: 300px;
    height: 85px;
    border-radius: 45px;
    font-size: 16px;
}


.p-contact_submit:hover .wpcf7-form-control.contact_submit {
    background: #E5EEFA;
    color: #133288;
}

.p-contact_submit:hover svg line {
    stroke: #133288;
}

.p-contact_submit {
    position: relative;
    width: 300px;
    height: 85px;
    margin: 0 auto;
}

.p-contact_submit svg {
    position: absolute;
    top: 50%;
    right: 8%;
    transform: translateY(-50%);
    transition: 0.6s;
    -webkit-transition: 0.6s;
}


/* お問い合わせ完了 */

.p-contact_inner {
    margin: 6vw auto 12vw;
    text-align: center;
    position: relative;
}

.p-contact_content_header_title {
    font-size: 30px;
    margin-bottom: 2.5vw;
}

.p-contact_complete_body_text {
    line-height: 1.5;
    font-size: 16px;
    margin-bottom: 2vw;
}

.c-btn_top-page {
    display: flex;
    align-items: center;
    gap: 50px;
    position: absolute;
    bottom: -32%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.c-btn_top-page_arrow {
    position: relative;
}

.c-btn_top-page_arrow svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}


/* 実績紹介---archive */

.page-nation {
    margin-top: 4vw;
}

.page-nation ul {
    display: flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    gap: 1vw;
}

a.page-numbers,
span.page-numbers {
    display: block;
    font-size: 14px;
    text-align: center;
    line-height: 40px;
    color: #333333;
    background-color: #E5EEFA;
    width: 40px;
    height: 40px;
    border-radius: 50%;
}

a.page-numbers.current,
span.page-numbers.current {
    color: #fff;
    background-color: #1E376C;
}

a:has(.page_nation_pre_text),
a:has(.page_nation_next_text) {
    font-size: 16px;
    color: #133288;
    background: none;
}


/* 実績紹介---single */

.p-single-work_bg {
    background: #fff;
}

.p-single-work_inner {
    position: relative;
    padding: 80px 0 160px;
}

.p-single-work_post_header {
    margin-bottom: 2rem;
}

.p-single-work_post_category {
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    background: #EFEBE2;
    border-radius: 16px;
    margin: 0 0 1.5vw;
    padding: 0.5vw 1.5vw;
}

.p-single-work_post_header_inner {
    display: flex;
    align-items: center;
}

.p-single-work_post_title {
    font-size: 30px;
    margin: 0;
}

.p-single-work_post_header_inner p {
    font-size: 18px;
    padding-left: 2vw;
}

.p-single-work_inner .c-btn_view-more_wrapper {
    bottom: 60px;
    right: 50%;
    transform: translateX(50%);
    height: 66px;
    margin-top: 4rem;
}


/* お知らせ---archive */

.p-sub_news_bg {
    background: #fff;
}

.p-sub_news_inner {
    display: flex;
    justify-content: space-between;
    padding: 80px 0 160px;
}

.p-sub_news_main_contents {
    width: 65%;
}

.p-sub_news_list {
    position: relative;
    margin: 0 0 2vw 0;
    background: #fff;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
    border-radius: 16px;
}

.p-sub_news_list a {
    display: block;
    padding: 2vw;
}

.p-sub_news_date {
    display: inline-block;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 1vw;
}

.p-sub_news_title {
    font-size: 20px;
    font-weight: bold;
    line-height: 2;
}

.p-sub_news_side_contents {
    width: 30%;
}

.p-sub_news_side_contents_item {
    position: relative;
    margin: 0 0 3vw 0;
    background: #fff;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
    border-radius: 16px;
}

.p-sub_news_side_contents_item_inner {
    padding: 2rem;
}

.p-sub_news_side_title {
    font-size: 20px;
    font-weight: bold;
}

.p-sub_news_side_contents_list {
    list-style: none;
    margin: 0 0 1.8rem 0;
}

.p-sub_news_side_contents_list a {
    font-size: 15px;
    font-weight: bold;
    color: #333;
}

.p-sub_news_side_date {
    display: block;
    font-size: 13px;
    font-weight: bold;
    margin-bottom: 1vw;
}

.p-sub_news_side_post_title {
    font-size: 15px;
    font-weight: bold;
    line-height: 2;
}

.p-sub_news_list:hover {
    background: #1E376C;
    transition: all .5s cubic-bezier(0, 0, 0, 1);
}

.p-sub_news_list:hover .p-sub_news_date,
.p-sub_news_list:hover .p-sub_news_title {
    color: #fff !important;
}

.p-sub_news_side_contents_list:hover .p-sub_news_side_date,
.p-sub_news_side_contents_list:hover .p-sub_news_side_post_title {
    color: #1E376C !important;
}

.p-sub_news_side_contents_list:hover a {
    color: #1E376C;
}


/* お知らせ---single */

.p-single-news_post_wrapper {
    position: relative;
    background: #fff;
    box-shadow: 0px 3px 6px 0px rgba(0, 0, 0, 0.35);
    border-radius: 16px;
    padding: 4rem;
}

.p-single-news_date {
    display: block;
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 1vw;
}

.p-single-news_post_title {
    font-size: 20px;
    font-weight: bold;
    border-bottom: 1px solid #707070;
    margin: 0;
    padding-bottom: 1vw;
    line-height: 2;
}

.p-single-news_post p {
    font-size: 16px;
    padding: 2vw 0;
    line-height: 2;
}

.p-sub_news_main_contents .c-btn_view-more_wrapper {
    position: static;
    margin: 4vw 0;
    text-align: center;
}

.p-sub_news_main_contents .c-btn_view-more_wrapper a {
    display: inline-block;
}

.c-btn_view-more:hover .c-btn_view-more_arrow.news circle {
    fill: #E5EEFA;
}


@media screen and (max-width: 1151px) {

    .p-top_inner {
        width: 90%;
    }

    .p-sub_pc_on {
        display: none;
    }

    table .p-sub_pc_on {
        display: none;
    }

    .p-sub_sp_on {
        display: block;
        z-index: 1;
    }

    table .p-sub_sp_on {
        display: table-cell;
    }

    .l-footer_under_inner {
        width: 90%;
    }
}


@media screen and (max-width: 950px) {

    /* font設定 */
    .c-sec_title {
        font-size: 23px;
        margin: 0 0 6vh 0;
    }

    .c-sec_sub-text {
        font-size: 14px;
        line-height: 2;
        margin: 0 0 3vh 0;
    }


    /* 共通 */
    .l-inner {
        overflow: hidden;
    }

    .c-btn_view-more_arrow {
        width: 60px;
        height: 60px;
    }

    .c-btn_view-more {
        gap: 25px;
    }


    /* ヘッダー */
    .header_list_item.logo {
        margin-left: 8vw;
    }

    .c-btn_menu {
        right: 10vw;
        width: 43px;
        height: 43px;
    }

    /* menu */

    .menu_inner {
        padding: 30vw 0 8vw;
    }

    .menu_list {
        display: grid;
        gap: 4vw;
    }

    .menu_list_item_info {
        width: 100%;
    }

    .menu_list_item_menu {
        width: 100%;
    }

    .menu_info_text_wrapper {
        display: block;
        text-align: center;
        line-height: 1.5;
    }

    .menu_contents_title {
        font-size: 24px;
    }

    .menu_contents_ruby{
        font-size: 13px;
    }


    .menu_contents {
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 8vw;
    }


    /* ヘッダーコンテンツ */

    .header-contents_inner {
        position: relative;
        width: 100%;
        padding: 16vh 0 24vh;
    }

    .header-contents_header {
        width: 95%;
        height: 40vh;
    }

    .header-contents_catch_wrapper {
        position: static;
        transform: none;
        margin: 3vh auto 0;
    }

    .header-contents_cathe_header {
        font-size: 34px;
        padding: 0;
        margin: 0 0 1vh 0;
    }

    .header-contents_cathe_text {
        font-size: 12px;
        padding: 0;
    }

    .header-contents_side_slider_wrapper {
        width: 40vw;
        bottom: 0;
    }

    .header-contents_scroll_item {
        width: 95%;
        left: 0;
        justify-content: end;
        bottom: 0;
    }

    .header-contents_spin_wrapper {
        width: 140px;
        height: 140px;
        right: 5%;
    }


    /* TOPページ---about */
    .p-top_about_bg {
        width: 100%;
    }

    .p-top_about_inner {
        width: 100%;
        padding: 80px 0;
    }

    .p-top_about_list {
        width: 90%;
        margin: 0 auto;
        padding-bottom: 6rem;
    }

    .p-top_about_body_text {
        margin-bottom: 2rem;
    }

    .p-top_about_list_item {
        width: 100%;
        padding: 0;
    }

    .p-top_about_bg::before {
        display: none;
    }

    .p-top_about_list_item-img{
        width: 100%;
        margin-left: calc(50% - 50vw);
    }

    .p-top_about_list_item-img img{
        width: 100%;
        border-radius: 0 10px 10px 0;
    }

    .p-top_about_list_item.text {
        padding: 13vh 0 6vh 0;
    }

    .p-top_about_list_item.text::before {
        font-size: 100px;
        top: 4%;
        transform: translateX(0);
    }

    .p-top_about_list_item_inner {
        margin: 10vh 0 5vh;
    }

    .p-top_about_list_item_inner .c-sec_sub-text {
        line-height: 2;
        margin-bottom: 3vh;
    }

    .c-btn_view-more_wrapper {
        position: static;
    }

    .c-btn_view-more {
        justify-content: end;
    }


    /* TOPページ---selection */
    .p-top_selection_inner {
        width: 90%;
        padding: 80px 0;
    }

    .p-top_selection_list {
        display: block;
        width: 90%;
        margin: 0 auto;
        padding-bottom: 6rem;
    }

    .p-top_selection_list_item-img{
        width: 100%;
    }

    .p-top_selection_list_item-img img{
        width: 100%;
        border-radius: 10px;
    }

    .p-top_selection_list_item{
        width: 100%;
        padding: 13vh 0 6vh 0;
    }

    .p-top_selection_list_item.text {
        width: 100%;
        margin-bottom: 8vh;
    }

    .p-top_selection_body_text{
        padding-bottom: 2rem;
    }

    .p-top_selection_list_item::before {
        font-size: 89px;
        left: 0;
        top: 3%;
        bottom: 0;
    }

    .p-top_selection_list_item.text::before {
        font-size: 87px;
        left: 50%;
        transform: translateX(-50%);
        bottom: -16%;
    }

    .p-top_selection_list::before{
        display: none;
    }

    .p-top_selection_list_item_inner {
        margin-bottom: 3vh;
    }


    /* TOPページ---works */
    .p-top_achievements_bg {
        overflow: hidden;
    }

    .p-top_achievements_bg::before {
        font-size: 106px;
        left: 5%;
    }

    .p-top_achievements_inner {
        width: 90%;
        padding: 96px 0 0;
    }

    .p-top_achievements_list {
        display: block;
    }

    .p-top_achievements_list_item {
        width: 100%;
        margin-bottom: 5vh;
    }

    .p-top_achievements_list_item_image_wrapper {
        height: 196px !important;
    }

    .p-top_achievements_list_item_info_wrapper {
        float: none !important;
        margin: 3vh 0 !important;
    }

    .p-top_achievements_list_item_info a {
        padding: 1vh 0 !important;
    }

    .p-top_achievements_list_item_title_wrapper {
        float: none !important;
        margin: 3vh 0 !important;
    }

    .p-top_achievements_list_item_title {
        padding: 0 !important;
    }

    .p-top_achievements_list_item_word_wrapper {
        margin: 0 !important;
    }

    .achievements .c-btn_view-more_wrapper {
        transform: none;
    }

    .achievements .c-btn_view-more {
        justify-content: center;
    }

    .p-top_achievements_text_wrapper {
        left: 0;
    }

    .p-top_achievements_sub_text {
        font-size: 30px;
    }

    .p-top_achievements_text_wrapper::before {
        width: 350px;
        height: 80px;
        bottom: -11px;
    }


    /* others */
    .p-top_others_inner {
        width: 90%;
    }

    .p-top_others_list {
        display: flex;
        flex-wrap: wrap;
        row-gap: 3vh;
    }

    .p-top_others_list_item {
        width: 100%;
    }

    .p-top_others_list_item.business {
        height: 296px;
    }

    .p-top_others_list_item.flow,
    .p-top_others_list_item.faq {
        height: 137px;
    }

    .others .c-btn_view-more_wrapper {
        position: absolute;
    }

    .others .c-btn_view-more_text {
        font-size: 14px;
    }

    /* sub */

    .p-sub_header_contents_sub_title {
        font-size: 24px;
        line-height: 72px;
        padding-left: 0;
        margin-bottom: 16vw;
    }

    .breadcrumbsWrap {
        position: absolute;
        top: 254px;
        width: 80%;
        height: 20px;
        overflow-x: auto;
        word-break: keep-all;
        white-space: nowrap;
    }

    /* company */

    .p-sub_message_inner {
        padding: 80px 0 100px;
    }

    .p-sub_message_inner::after{
        width: 100%;
        height: 10vh;
        left: -11px;
    }

    .p-sub_message_inner::before {
        font-size: 67px;
        top: 14vw;
    }

    .p-sub_message_contents {
        width: 90%;
    }

    .p-sub_message_title {
        font-size: 30px;
        margin-bottom: 8vh;
    }

    .p-sub_message_text {
        width: 100%;
        margin: 0 auto 8vh;
    }

    .p-sub_message_owner_title {
        white-space: nowrap;
    }

    .p-sub_message_owner_sub_title {
        font-size: 19px;
        padding-right: 10vw;
    }

    .p-sub_company-profile_header_text {
        padding: 1em 0em;
        width: 25%;
    }

    .p-sub_company-profile_body_text {
        font-size: 16px;
        line-height: 1.5;
    }

    .p-sub_philosophy_text {
        font-size: 20px;
        margin-bottom: 4vw;
        text-align: left;
        line-height: 2;
    }

    .p-sub_philosophy_bg{
        background-position: -710px;
    }

    /* business */

    .p-sub_header_contents_inner {
        padding: 130px 0 8vw;
    }

    .p-sub_header_contents_title {
        font-size: 64px;
    }

    .p-sub_header_contents_title.privacy {
        font-size: 40px;
    }

    .p-sub_header_contents_title_wrapper {
        position: relative;
        display: block;
    }

    .p-sub_buisiness_contents {
        width: 90%;
    }

    .p-sub_buisiness_text_wrapper {
        width: 100%;
        margin: 0 auto;
    }

    .p-sub_detail_list {
        display: grid;
    }

    .p-sub_detail_list_item_image {
        width: 100%;
        order: 2;
    }

    .p-sub_detail_list_item_text {
        width: 100%;
        order: 1;
        margin-bottom: 4rem;
    }
    
    .p-sub_detail_list_text_wrapper-naiso::before{
        font-size: 80px;
    }

    .p-sub_detail_list_text_wrapper-mokkouzi::before{
        font-size: 80px;
    }

    .p-sub_detail_list_item_text.right,
    .p-sub_detail_list_item_image.right {
        padding-left: 0;
    }

    .p-sub_detail_list_wrapper:first-child{
        margin-bottom: 16vw;
    }

    .p-sub_work_view-more_wrapper .c-btn_view-more_wrapper {
        transform: translateX(0);
    }

    /* footer */
    .l-footer_contact {
        width: 90%;
        padding: 40px 0;
    }

    .l-footer_contact_title_text {
        font-size: 80px;
    }

    .l-footer_contact_box {
        padding: 5vh 5vw;
    }

    .l-footer_contact_text {
        font-size: 20px;
        margin-bottom: 3vh;
    }

    .l-footer_contact_text::before {
        content: none;
    }

    .l-footer_contact_tel-estimate {
        display: block;
    }

    .l-footer_contact_tel_wrapper {
        width: 100%;
        margin-bottom: 3vh;
    }

    .l-footer_contact_tel_num {
        font-size: 40px;
    }

    .l-footer_contact_tel_text{
        margin-bottom: 1rem;
        font-size: 24px;
    }

    .l-footer_contact_tel_time-fax {
        display: block;
    }

    .l-footer_contact_estimate_wrapper {
        width: 100%;
    }

    .l-footer_estimate {
        width: 100%;
    }

    .l-footer_estimate a{
        padding: 1rem 4rem;
    }

    .l-footer_estimate_text {
        font-size: 13px;
    }

    .l-footer_contact_tel_time_text{
        font-size: 20px;
    }

    .l-footer_under_second_inner {
        display: block;
    }

    .l-footer_content {
        grid-template-columns: repeat(2, 1fr);
        grid-row-gap: 8vw;
        margin-bottom: 4rem;
    }

    .c-btn_footer_arrow circle {
        scale: 0.8;
        transform: translate(9px, 9px);
    }

    .c-btn_footer_arrow {
        width: 58px;
    }

    .c-btn_footer_arrow a {
        width: 58px;
        height: 58px;
    }

    .l-footer__logo{
        width: 60%;
    }

    .l-footer_contact_tel_num a {
        color: #1E376C;
        font-weight: bold;
    }

    .l-footer_contact_tel_num a:hover {
        opacity: 0.6;
        transition: all 0.4s ease-in-out;
    }
    .l-footer_address{
        font-size: 16px;
    }


    /* 仮 */
    .p-sub_inner-short {
        width: 90%;
    }

    .p-sub_inner{
        width: 90%;
    }

    /* business */

    /* business-その他工事 */

    .p-sub_buisiness_bg{
        background-position: -570px;
    }

    .p-sub_detail_list_text_wrapper.c-sec_title {
        font-size: 30px;
    }

    .p-sub_other_text {
        margin-bottom: 4rem;
    }

    .p-sub_other_icon_list {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 1rem;
        grid-row-gap: 1rem;
    }

    .p-sub_other_icon_item_inner {
        top: calc(50% - 3vw);
    }

    .p-sub_other_icon_item {
        width: 100%;
        height: 148px;
    }

    .p-sub_other_icon_image_wrapper {
        width: 95px;
        height: 70px;
    }

    .p-sub_other_icon_text {
        top: calc(50% + 14vw);
        font-size: 16px;
    }

    .p-sub_work_list {
        grid-template-columns: repeat(1, 1fr);
        grid-row-gap: 8vw;
    }

    /* business-施行実績 */

    .p-sub_work_list_wrapper {
        margin-bottom: 10vw;
    }

    .p-sub_work_inner {
        padding: 80px 0;
    }

    .p-sub_work_list_item_inner {
        padding: 4vw 8vw 16vw;
    }

    .p-sub_work_category {
        margin: 4vw 0 4.5vw;
        padding: 2vw 4vw;
    }

    .c-btn_view-more_wrapper .c-btn_view-more {
        justify-content: right;
    }

    /* reason */

    .p-sub_reason_list {
        width: 90%;
        display: grid;
        padding: 5vw 0 10vw;
    }

    .p-sub_reason_list_wrapper {
        margin: 4px 0 10vw 0;
    }

    .p-sub_reason_text_num{
        margin-top: 1.5rem;
    }

    .p-sub_reason_list_item_image_wrapper {
        width: 100%;
        left: 0;
    }

    .p-sub_reason_list_item_text_wrapper {
        width: 100%;
        margin: 0 auto;
    }

    .p-sub_reason_list_item_text_wrapper .c-sec_title {
        margin-bottom: 8vw;
    }

       /* buisiness */
    .p-sub_detail_inner{
        padding-top: 80px;
        padding-bottom: 0;
    }

    .p-sub_other_inner{
        padding-top: 80px;
        padding-bottom: 0;
    }

    /* flow */
    .p-flow_box_item {
        padding: 6vw 8vw;
    }

    .p-flow_text {
        font-size: 16px;
    }

    .p-flow_triangle-arrow_item {
        height: calc(tan(30deg)* 48px / 2);
        width: 24px;
        margin: 20px auto;
    }

    .p-flow_box_item .c-sec_title {
        margin: 0 0 4vw 0;
    }

    /* faq */

    .p-sub_faq_list {
        padding: 1rem;
        margin: 0 0 2rem;
    }

    .p-sub_faq_list_upper_text {
        font-size: 16px;
        line-height: 2;
    }

    .p-sub_faq_list_lower_text {
        font-size: 14px;
        padding: 1rem 0 0;
    }

    .p-sub_faq_list_upper_text.active{
        padding-bottom: 1rem;
    }
    
    /* single-work */

    .p-single-work_inner {
        padding: 80px 0;
    }

    .p-single-work_post_category {
        margin: 0 0 5vw;
    }

    .p-single-work_post_header_inner {
        display: block;
    }

    .p-single-work_post_title {
        margin-bottom: 5vw;
    }

    .p-single-work_post_header_inner p {
        padding: 0;
    }

    .p-single-work_inner .c-btn_view-more_wrapper {
        transform: none;
    }

    .p-entry__thumbnail{
        width: 100%;
        height: 230px;
        margin: 0 auto;
    }

    /* contact */

    .l-sub_inner_contact {
        margin: 8vw auto 100vw;
    }

    .p-contact_inside {
        display: block;
    }

    .p-contact_text {
        font-size: 16px !important;
        width: 100%;
        margin-bottom: 24px !important;
    }

    .p-contact_sub_text {
        font-size: 14px;
        padding: 5px;
    }

    .p-contact_text_sub {
        margin-bottom: 4vw !important;
    }

    .wpcf7 input,
    .wpcf7 textarea {
        padding: 10px;
        font-size: 14px;
    }

    ::placeholder {
        font-size: 14px;
    }

    .wpcf7-not-valid-tip {
        font-size: 14px;
    }

    .wpcf7 select,
    .wpcf7 .wpcf7-list-item-label {
        font-size: 16px !important;
        width: 100%;
    }

    .wpcf7-list-item.first.last .wpcf7-list-item-label {
        font-size: 12px !important;
    }

    .p-contact_inside {
        margin: 2.5vw 0 6vw;
    }

    .p-contact_input {
        width: 100%;
    }

    .p-contact_footer {
        bottom: -88vw;
    }

    .wpcf7-form-control.contact_submit {
        width: 250px;
        height: 64px;
    }

    .p-contact_submit {
        width: 250px;
        height: 64px;
    }

    /* contact-complete */
    .p-contact_inner {
        margin: 12vw auto 32vw;
    }

    .p-contact_content_header_title {
        font-size: 18px;
        margin-bottom: 8vw;
    }

    .p-contact_complete_body_text {
        font-size: 16px;
        margin-bottom: 6vw;
    }

    .c-btn_top-page_text {
        width: 110px;
        font-size: 16px;
    }

    .c-btn_top-page {
        bottom: -22%;
    }

    .c-btn_top-page_arrow circle {
        scale: 0.7;
        transform: translate(17px, 17px);
    }

    .c-btn_top-page {
        gap: 30px;
    }

    .c-btn_menu.in {
        right: calc(9% + 1vw);
    }

    /* privacy-policy */
    .p-sub_inner.p-privacy_inner {
        margin: 16vw auto;
    }

    .p-privacy-policy_title {
        font-size: 20px;
        margin-bottom: 5vw;
    }

    .p-privacy-policy_text {
        font-size: 16px;
        margin-bottom: 8vw;
    }

    /* footer  */
    .l-footer_logo-address {
        margin-bottom: 8vh;
    }

    .l-footer_privacy-copy {
        display: block;
    }

    .l-footer_privacy_text {
        text-align: center;
    }

    .l-footer_contennt-list_eg{
        font-size: 24px;
    }

    .l-footer_contennt-list_jp{
        font-size: 13px;
    }


    /* news */

    .p-sub_news_inner {
        display: block;
        padding: 80px 0;
    }

    .p-sub_news_main_contents {
        width: 100%;
        margin-bottom: 5rem;
    }

    .p-sub_news_side_contents {
        width: 100%;
    }

    .p-sub_news_list {
        margin: 0 0 3rem 0;
    }

    .p-sub_news_list a {
        padding: 2rem;
    }

    .p-sub_news_date {
        margin-bottom: 1rem;
    }

    .p-sub_news_side_contents_item {
        margin: 0 0 2rem 0;
    }

    .p-sub_news_side_contents_item_inner {
        padding: 2rem;
    }

    .p-sub_news_side_contents_list:not(:last-child) {
        margin: 0 0 2rem;
    }

    .p-sub_news_side_date {
        margin-bottom: 0.5rem;
    }


    /* news-single */

    .p-single-news_post_wrapper {
        padding: 2rem;
    }

    .p-single-news_date {
        margin-bottom: 1rem;
    }

    .p-single-news_post_title {
        padding-bottom: 1rem;
    }

    .p-single-news_post p {
        padding: 2rem 0;
    }

    .p-sub_news_main_contents .c-btn_view-more_wrapper {
        margin: 5rem 0;
    }
}

@media screen and (max-width: 375px) {
    .p-top_about_bg::before {
        height: 29vh;
        top: 100vh;
    }
    .p-top_selection_list::before {
        height: 29vh;
        top: 360vh;
    }
    .p-top_about_list_item {
        padding: 18vh 0 42vh 0;
    }
    .p-top_about_list_item.text::before {
        top: 4%;
    }
}

@media only screen and (max-width: 767px) {
    .l-main {
        padding: 0;
    }
}

/* reCAPTCHA のバッジを完全に非表示 */
.grecaptcha-badge {
    visibility: hidden !important;
}