@charset "UTF-8";

/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author:
Author URI:
Version: 1.0.0
*/


a[href^=http]:after {
    display: none;
}

html {
    font-size: 100%;
    overflow-y: scroll;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
}

html, button, input, select, textarea {
    /* 不要な指定は消す */
    font-family: "游ゴシック体", YuGothic, sans-serif;
}

body {
    color: #383838;
    font-size: 1.404vw;
    line-height: 1.7;
    margin: 0px;
    background-color: #FFFFFF;
    overflow: hidden;
    position: relative;
    -webkit-print-color-adjust: exact;
}

h1, h2, h3, h4, h5, h6, p {
    margin: 0px;
}

a:link {
    color: #004CCA;
    text-decoration: none;
}

a:visited {
    color: #6219DB;
}

a:hover {
    color: #048ADE;
    text-decoration: none;
}

a:active {
    color: #048ADE;
    text-decoration: none;
}

img {
    max-width: 100%;
    vertical-align: bottom;
}

ul {
    padding: 0px;
    list-style: none;
    margin: 0;
}

.oh {
    overflow: hidden;
}

.sp {
    display: none;
}

.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;
    display: flex;
}

.flex-sb {
    flex-wrap: wrap;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
    display: flex;
    justify-content: space-between;
}

.pr {
    position: relative;
}

.pa {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

.wrap {
    position: relative;
    margin: 0 10.41vw;
}

.wrap_01 {
    position: relative;
    margin: 0 auto;
    margin: 0 3.47vw;
}

.wrap_02 {
    position: relative;
    margin: 0 auto;
    margin: 0 6.94vw;
}

.page .wrap,
footer .wrap {
    position: relative;
    margin: 0 auto;
    width: 87.692vw;
}

.page .wrap_02 {
    position: relative;
    margin: 0 auto;
    width: 95.385vw;
}

@font-face {
    font-family: 'DIN Alternate';
    src: url('/wp-content/themes/child/fonts/DINalternate-Bold.ttf') format('truetype'), url('/wp-content/themes/child/fonts/DINalternate-Bold.woff') format('woff');
}

.a_otf {
    font-family: "a-otf-ud-shin-go-pr6n", sans-serif;
    font-weight: 300;
    font-style: normal;
}

.din {
    font-family: 'DIN Alternate', 'Impact', sans-serif;
}

.ta {
    font-family: ta-kobe, sans-serif;
    font-weight: 600;
    font-style: normal;
}

.gen {
    font-family: source-han-serif-japanese, serif;
    font-weight: 600;
    font-style: normal;
}

.flood {
    font-family: flood-std, sans-serif;
    font-weight: 400;
    font-style: normal;
}

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

.common-page_title {
    text-align: center;
    margin-bottom: 2em;
}

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

.common-page_title p.sub_title {
    font-size: 1.077vw;
    letter-spacing: .1em;
}

p.reserve_text {
    text-align: center;
    font-size: 2.308vw;
}

a.common-btn {
    display: block;
    width: 23.077vw;
    line-height: 3.846vw;
    background-color: #333;
    color: #fff;
    margin: 0 auto;
    transition: .3s;
}

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

/* パンくず */
.breadcrumb {
    font-size: .83vw;
}

.breadcrumb a {
    text-decoration: none;
    color: initial;
}

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

section.company_profile table {
    width: 100%;
    border-collapse: collapse;
}

section.company_profile table th, section.company_profile table td {
    padding: 1em;
    border-bottom: 1px solid;
    font-size: 1.077vw;
}

section.company_profile table th {
    width: 20%;
}

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

section.company_profile table td ul.shop_list li {
    align-items: center;
}

section.company_profile table td ul.shop_list li+li {
    margin-top: 1.538vw;
}

section.company_profile table td ul.shop_list .image {
    height: 13.846vw;
    width: 20%;
    background-size: cover !important;
    background-position: center !important;
}

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

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

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

section.company_access .map iframe {
    width: 100%;
    height: 100%;
}

/*********************************************
 * PC固定ページ お問い合わせ
 *********************************************/
section#page-contact table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 3.846vw;
}

section#page-contact table th, section#page-contact table td {
    padding: 1em;
    font-size: 1.077vw;
}

section#page-contact table th {
    width: 25%;
}

section#page-contact table th span.hissu {
    color: #c70000;
    margin-right: .3em;
}

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

section#page-contact input[type="text"], section#page-contact input[type="email"], section#page-contact #zip {
    width: 60%;
    height: 3.846vw;
    border: 1px solid #ccc;
    padding: 1em;
}

section#page-contact input.tel {
    border: 1px solid #ccc;
    padding: 1em;
    width: 18.8%;
}

section#page-contact select {
    outline: none;
    background: transparent;
    padding: 1em;
    width: 50%;
    border: 1px solid #ccc;
}

section#page-contact textarea {
    width: 60%;
    border: 1px solid #ccc;
    padding: 1em;
    height: 15.385vw;
}

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

section#page-contact div#btn_wrap {
    justify-content: center;
}

section#page-contact div#btn_wrap button {
    background-color: #4ca7c6;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 23.077vw;
    line-height: 3.846vw;
    border-radius: 3.846vw;
    font-size: 1.154vw;
    transition: .3s;
    text-align: center;
}

section#page-contact div#btn_wrap button[name="submitBack"] {
    background-color: #333;
    margin-right: 1.538vw;
}

section#page-contact div#btn_wrap button:hover {
    opacity: .8;
}

/* ラジオボタン デザイン */
/* ラジオボタンを隠す */
.radio-btns input[type=radio].radio-btns__item {
    display: none;
}

.radio-btns label {
    display: inline-block;
}

/* spanの左側にボタンを配置するスペースを作る */
.radio-btns .radio-btns__item+span {
    padding-left: 2em;
    display: inline-block;
    position: relative;
}

/* 各パーツを作成 */
.radio-btns .radio-btns__item+span::after, .radio-btns .radio-btns__item+span::before {
    content: '';
    display: block;
    position: absolute;
    border: 1px solid #AAAAAA;
    border-radius: 50%;
    width: 1.538vw;
    height: 1.538vw;
    top: 0;
    left: 0;
}

/* after上書き */
.radio-btns .radio-btns__item+span::after {
    width: 1.077vw;
    height: 1.077vw;
    top: 0.231vw;
    left: 0.231vw;
    border: none;
    background: #f18800;
    -webkit-transform: scale(0);
    /*--ここを0にすることで下線は非表示となる--*/
    -ms-transform: scale(0);
    /*--ここを0にすることで下線は非表示となる--*/
    transform: scale(0);
    transition: all .3s;
    /*--0.3秒かけて下線が表示される--*/
}

/*
  checked状態
  文字のcolorとボタンのopacityを変更
*/
.radio-btns .radio-btns__item:checked+span {
    color: #f18800;
}

.radio-btns .radio-btns__item:checked+span::after {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
}

/* チェックボックス デザイン */
section#page-contact input[type="checkbox"] {
    /* デフォルトcheckボックス非表示*/
    display: none;
}

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

.mwform-checkbox-field-text::before, .mwform-checkbox-field-text::after {
    content: "";
    position: absolute;
    display: block;
}

.mwform-checkbox-field-text::before {
    background: #fff;
    border: 2px solid #ccc;
    border-radius: 0.154vw;
    width: 1.538vw;
    height: 1.538vw;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
    border-width: 0.231vw;
    border-color: transparent transparent #f18800 #f18800;
    border-style: solid;
    width: 1.538vw;
    height: 0.769vw;
    margin-top: -0.2em;
    top: 50%;
    left: 0;
    transform: translateY(-50%) rotate(-45deg);
    opacity: 0;
}

input[type="checkbox"]:checked+.mwform-checkbox-field-text::after {
    opacity: 1;
}

.mw_wp_form .horizontal-item {
    margin-right: 0.769vw;
    margin-bottom: 0.769vw;
    display: inline-block;
}

/* サンクスページ */
section#page-contact .thanks_textArea {
    text-align: center;
}

section#page-contact .thanks_textArea p {
    font-size: 1.231vw;
    line-height: 2;
}

section#page-contact .thanks_textArea p.contact_text {
    margin-bottom: 1.538vw;
}

section#page-contact .thanks_textArea a.ichiran_link {
    background-color: #4ca7c6;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 23.077vw;
    line-height: 3.846vw;
    border-radius: 3.846vw;
    font-size: 1.154vw;
    transition: .3s;
    margin: 0 auto;
    text-decoration: none;
}

/* ステップバー デザイン */
section#page-contact .progressbar {
    margin-bottom: 2.308vw;
}

section#page-contact .progressbar .item {
    position: relative;
    width: 33%;
    text-align: center;
    position: relative;
    align-items: center;
    justify-content: center;
    padding: 1vw 0;
    line-height: 1.5;
    background: #F5F5F5;
    color: #999999;
}

section#page-contact .progressbar .item:not(:last-child)::before, section#page-contact .progressbar .item:not(:last-child)::after {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 100%;
    content: '';
    border: 37px solid transparent;
    border-left: 20px solid #F5F5F5;
    margin: auto;
}

section#page-contact .progressbar .item:not(:last-child)::before {
    margin-left: 0.077vw;
    border-left-color: #FFF;
}

/* active */
section#page-contact .progressbar .item.active {
    z-index: 1;
    background: #4ca7c6;
    color: #FFF;
}

section#page-contact .progressbar .item.active:not(:last-child)::after {
    border-left-color: #4ca7c6;
}

section#page-contact .progressbar .item.active:not(:last-child)::before {
    border-left: none;
}

/*********************************************
 * PC固定ページ 個人情報保護方針
 *********************************************/
section.privacy_page p.main_text {
    font-size: 1.231vw;
    line-height: 2;
    margin-bottom: 3em;
}

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

section.privacy_page dl:last-child {
    margin-bottom: 0;
}

section.privacy_page dl dt {
    font-weight: 600;
    font-size: 1.231vw;
    margin-bottom: .5em;
    border-left: 5px solid;
    padding-left: 1em;
}

section.privacy_page dl dd {
    font-size: 1.077vw;
    line-height: 2;
}

/*********************************************
 * PC固定ページ 404ページ
 *********************************************/
section#page-404 {
    text-align: center;
}

section#page-404 p.num {
    font-size: 7.692vw;
    font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

section#page-404 p.text {
    margin-bottom: 1em;
    font-size: 1.231vw;
}

/*********************************************
 * PC固定ページ アーカイブページ
 *********************************************/
/* 投稿リスト表示 */
.archive_page_list>article {
    padding-bottom: 1.154vw;
    padding-top: 1.154vw;
    border-bottom: 1px dashed #eee;
    padding-right: 2.308vw;
}

.archive_page_list>article:after {
    content: "";
    position: absolute;
    width: 0.769vw;
    height: 0.769vw;
    top: 0;
    right: 0.385vw;
    bottom: 0;
    margin: auto;
    border: solid #ccc;
    border-width: 0.154vw 0.154vw 0 0;
    transform: rotate(45deg);
}

.archive_page_list>article .date {
    font-weight: bold;
    font-size: 80%;
    width: 7.692vw;
}

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

.archive_page_list>article .content_area .ttl {
    font-weight: bold;
}

.archive_page_list>article .content_area .content {
    font-size: 80%;
}

/* wp-pagenavi base */
.wp-pagenavi {
    clear: both;
    text-align: center;
    margin-top: 3.846vw;
}

.wp-pagenavi a, .wp-pagenavi span {
    color: #999;
    background-color: #FFF;
    border: solid 1px #e0e0d2;
    padding: 1.154vw 1.154vw;
    margin: 0 0.154vw;
    white-space: nowrap;
    -moz-border-radius: 0.231vw;
    -webkit-border-radius: 0.231vw;
    border-radius: 0.231vw;
    -webkit-transition: 0.2s ease-in-out;
    -moz-transition: 0.2s ease-in-out;
    -o-transition: 0.2s ease-in-out;
    transition: 0.2s ease-in-out;
    text-align: center;
    text-decoration: none;
}

.wp-pagenavi a:hover {
    color: #FFF;
    background-color: #4ca7c6;
    border-color: #4ca7c6;
}

.wp-pagenavi span.current {
    color: #FFF;
    background-color: #4ca7c6;
    border-color: #4ca7c6;
    font-weight: bold;
    padding: 1.154vw;
}

/*********************************************
 * PC投稿ページ シングルページ
 *********************************************/
div#single_page .fl_wrap {
    align-items: flex-start;
}

.singleContent h1 {
    font-size: 1.692vw;
    padding: 0.769vw 3.077vw;
    border-top: 1px solid;
    border-bottom: 1px solid;
    letter-spacing: 0.077vw;
    line-height: 1.4;
}

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

.singleContent .single_title time {
    font-size: 0.923vw;
    font-weight: 600;
}

.singleContent .single_title time i {
    margin-right: .5em;
}

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

.singleContent .category_list ul li {
    background-color: #333;
    color: #fff;
    font-size: 0.769vw;
    font-weight: 600;
    padding: .5em 2em;
    margin: 0.385vw;
}

.singleContent h2 {
    font-size: 1.538vw;
    border-left: 2px solid;
    padding: 1.154vw;
    margin: 1.5em 0 1em;
    position: relative;
    line-height: 1.4;
    background-color: rgba(52, 61, 74, 0.2);
}

.singleContent h2::before, .singleContent h2::after {
    content: "";
    position: absolute;
    left: -0.231vw;
    width: 0.308vw;
    height: 0.308vw;
    background-color: #000;
    border-radius: 1.154vw;
}

.singleContent h2::before {
    top: 0px;
}

.singleContent h2::after {
    bottom: 0;
}

.singleContent h3 {
    position: relative;
    padding: 0.7rem 1rem;
    font-size: 1.385vw;
    margin: 1.5em 0 1.5em 1em;
    color: #fff;
    background-color: #566b73;
}

.singleContent h4 {
    padding: 0.769vw;
    margin: 1.5em 0 1em 1em;
    color: #333;
    border-bottom: 1px solid #333;
    font-size: 1.692vw;
}

.singleContent h4:before {
    content: '■';
    padding-right: 0.769vw;
}

.singleContent h5 {
    font-size: 1.385vw;
    border-left: 5px solid;
    padding-left: 1em;
    margin: 1.5em 0;
}

.singleContent img {
    height: auto;
}

.singleContent h6 {
    font-size: 1.385vw;
    border-bottom: 1px solid;
    padding-bottom: .5em;
    margin: 1.5em 0;
}

.singleContent p {
    font-size: 1.231vw;
    line-height: 2;
}

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

div#single_page .singleContent a.ichiran_link {
    display: block;
    width: 23.077vw;
    line-height: 3.846vw;
    text-align: center;
    color: #fff;
    background-color: #333;
    margin: 50px auto 0 auto;
    font-size: 1.231vw;
    transition: .3s;
}

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

div#single_page .singleSidebar {
    width: 32%;
    background-color: #f1f1f1;
    padding: 1.538vw;
}

div#single_page aside#info-side {
    background-color: #fff;
    padding: 1.538vw;
}

div#single_page aside#info-side h2 {
    font-size: 1.538vw;
    text-align: center;
    border-bottom: 2px solid;
    padding-bottom: .5em;
    margin-bottom: .5em;
}

div#single_page aside#info-side p#news-not_found {
    text-align: center;
}

div#single_page aside#info-side ul li a {
    color: initial;
    display: block;
    border-bottom: 1px dashed;
    padding: 0.769vw;
    transition: .3s;
}

div#single_page aside#info-side ul li a:hover {
    opacity: .7;
}

div#single_page aside#info-side ul li a time {
    font-size: 0.923vw;
    font-weight: 600;
}

div#single_page aside#info-side ul li a time i {
    margin-right: .5em;
}

div#single_page aside#info-side ul li a h3 {
    font-size: 1.077vw;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

/* ヘッダー　 PC */
header#main_header .logo a {
    width: 23.6vw;
    display: block;
}

header#main_header ul li a {
    display: block;
    color: #383838;
    font-size: .97vw;
    letter-spacing: .1em;
    font-weight: 600;
    position: relative;
    padding: 2.7vw 0 0;
}

header#main_header ul li+li {
    margin-left: 4vw;
}

header#main_header nav {
    margin-left: 24vw;
}

header#main_header a.contact {
    display: block;
}

a.hd_contact {
    display: block;
    position: fixed;
    right: 0;
    background-color: #4CA7C6;
    height: 6.5vw;
    transition: .3s;
    width: 10.4vw;
    top: 0;
    z-index: 10000;
}

a.hd_contact::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    margin: auto;
    background: url(/wp-content/uploads/2022/08/mail_icon.png) center no-repeat;
    background-size: contain;
    width: 1.8vw;
    height: 1.3vw;
    bottom: 0;
    right: 0;
}

.hd_conts {
    align-items: flex-end;
    justify-content: flex-end;
    margin-right: 20vw;
}

header#main_header {
    padding: 0 0 2.08vw;
    position: fixed;
    width: 100%;
    left: 0;
    top: 0;
    z-index: 1000;
    background: #ffff;
}

section.top_mv {
    margin-top: 6.51vw;
    padding: 13.5vw 0 18.8vw;
    position: relative;
}

header#main_header ul li a::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 0.06vw;
    height: 0;
    background-color: #4CA7C6;
    top: 0;
    transition: .3s;
    opacity: 0;
    visibility: hidden;
}

header#main_header ul li a:hover::before {
    height: 2.1vw;
    opacity: 1;
    visibility: visible;
}

header#main_header .wrap_01 {
    width: 100%;
    margin: 0 3.47vw;
}

/* メインビジュアル　PC */
section.top_mv p.ttl {
    font-size: 3.5vw;
    letter-spacing: .08em;
    line-height: 1.4;
    font-weight: bold;
}

section.top_mv .wrap_01 {
    margin: 0 3.47vw;
}

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

.top_mv_area {
    position: absolute;
    top: 0;
    right: 0;
    width: 72.8vw;
    height: 36.9vw;
}

.top_fv_slider {
    width: 100%;
    height: 100%;
    position: absolute !important;
    right: 0;
    top: 0;
}


section.top_mv p.ttl span.wh {
    color: #fff;
}

@keyframes zoom {
    0% {
        transform: scale(1.1);
    }

    100% {
        transform: scale(1);
    }
}

/*section.top_mv::before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    background: url(/wp-content/uploads/2022/09/top_mv.jpg) center no-repeat;
    background-size: contain;
    width: 72.8vw;
    height: 36.9vw;
   -webkit-animation: zoom 10s 1;
   animation: zoom 10s 1;
   animation-fill-mode: forwards;
   overflow: hidden;
}

@keyframes zoom {
   0% {
      transform: scale(1.2);
   }
   100% {
      transform: scale(1);
   }
}*/
/* section.top_mv::after {
    content: "";
    position: absolute;
    left: 0;
    top: 25vw;
    background-color: #4CA7C6;
    width: 55vw;
    height: 29.7vw;
    opacity: .5;
    z-index: -1;
} */

/* TOP　BUSINESS PC */
.top_business_box {
    width: 74.1vw;
    margin-left: auto;
    flex-wrap: nowrap;
    justify-content: flex-end;
    right: 0;
}

.top_business_box h2 {
    transform: rotate(90deg);
    font-size: 1.18vw;
    letter-spacing: .08em;
    line-height: 1;
    /* height: 1.308vw; */
    /* top: 1.231vw; */
    /* position: relative; */
    flex-shrink: 1;
    /* width: 1.846vw; */
    word-break: keep-all;
    /* margin-right: 5.769vw; */
    position: absolute;
    top: 4.86vw;
    transform-origin: left center;
    padding-right: 3vw;
    left: 4.6vw;
}

.top_business_box .inner_text {
    width: 47.2vw;
}

.business_btn_box a {
    display: block;
    writing-mode: vertical-lr;
    font-size: 1.17vw;
    background: #4CA7C6;
    color: #fff;
    width: 10.4vw;
    padding: 3.75vw 0;
    display: flex;
    align-items: center;
    letter-spacing: .3em;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    position: relative;
    transition: .3s;
}

.top_business_box .text_box {
    position: relative;
    background: #fff;
    flex-wrap: nowrap;
    padding: 4.86vw 6.04vw 5.5vw 9vw;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    z-index: 0;
}

.top_business_box h3 {
    font-size: 2.5vw;
    letter-spacing: .03em;
    font-weight: 600;
}

.top_business_box p.text {
    margin-top: 2.08vw;
    line-height: 3.3;
    letter-spacing: .08em;
    font-size: 1.1vw;
}

.top_business_box h2::before {
    content: "";
    position: absolute;
    /* left: 21.538vw; */
    /* right: 8.077vw; */
    /* margin: auto; */
    background: #383838;
    width: 2vw;
    height: 0.077vw;
    /* top: 0px; */
    /* bottom: 0; */
    right: 0;
    top: 50%;
    translate: 0 -50%;
}

.business_btn_box a::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    background: #EAD0A2;
    width: 3.846vw;
    height: 19.308vw;
}

.business_btn_box a.ac {
    background: #EAD0A2;
}

/* 採用情報　PC */
section.top_ticker .bx-wrapper {
    box-shadow: none;
    margin-bottom: 2.308vw;
}

section.top_achievement a.post_cmn_btn {
    border-bottom: solid 1px #E2E2E2;
    padding-bottom: 1.73vw;
}

.top_recruit_box {
    width: 48.8vw;
    margin: auto;
    position: relative;
    padding-top: 5.385vw;
    justify-content: center;
}

.top_recruit_box p.catch {
    margin: 2.308vw 5vw 0 0;
    writing-mode: vertical-rl;
    font-size: 1.5vw;
    flex-shrink: 1;
    letter-spacing: 0.2em;
}

.top_recruit_box p.catch span.br {
    display: block;
    margin: 2.077vw 0.923vw 0 0;
}

.top_recruit_box .text_box {
    width: 28.4vw;
}

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

.top_recruit_box p.eng {
    font-size: 1.18vw;
    color: #707070;
    letter-spacing: .05em;
}

.top_recruit_box h2 {
    font-size: 2.4vw;
    letter-spacing: .09em;
    line-height: 1.3;
    font-weight: 600;
}

.top_recruit_box p.text {
    font-size: 1.25vw;
    letter-spacing: .08em;
    line-height: 2.5;
    margin-top: 1.769vw;
}

a.site_cmn_btn {
    width: 17.56vw;
    line-height: 4.4vw;
    display: block;
    border: solid 1px #4CA7C6;
    transition: .3s;
    text-align: center;
    color: #383838;
    font-size: 1.3vw;
    font-weight: 600;
    letter-spacing: .05em;
}

a.site_cmn_btn:hover {
    background: #4CA7C6;
    color: #fff;
}

section.top_recruit a.site_cmn_btn {
    margin-top: 2.462vw;
}

section.top_recruit {
    position: relative;
    padding: 0 0 2.43vw;
    height: 38.5vw;
    margin-bottom: 11.5vw;
}

section.top_recruit::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: url(/wp-content/uploads/2022/08/rec_img_1.jpg) center no-repeat;
    background-size: cover;
    width: 23.6vw;
    height: 32.5vw;
}

section.top_recruit::after {
    content: "";
    position: absolute;
    right: 0;
    top: 5.97vw;
    background: url(/wp-content/uploads/2022/08/rec_img_2.jpg) center no-repeat;
    background-size: cover;
    width: 23.6vw;
    height: 32.5vw;
}

.top_sec_box .box {
    width: 50%;
    text-align: center;
    height: 21.3vw;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: .3s;
    position: relative;
    padding-top: 1.5vw;
    cursor: pointer;
    -webkit-transition: width .8s cubic-bezier(.785, .135, .15, .86);
    transition: width .8s cubic-bezier(.785, .135, .15, .86);
}

.top_sec_box.sp {
    display: none;
}

.top_sec_box .box::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: url(/wp-content/uploads/2022/08/top_company_bg.jpg) center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    z-index: -;
}

.top_sec_box .box.contact::before {
    background: url(/wp-content/uploads/2022/08/top_contact_bg.jpg) center no-repeat;
    background-size: cover;
}

.top_sec_box .box>* {
    position: relative;
}

.top_sec_box .text_box {
    color: #fff;
    position: relative;
}

.top_sec_box h2 {
    font-size: 2vw;
    letter-spacing: .08em;
}

.top_sec_box p.eng {
    font-size: 1.1vw;
    letter-spacing: .08em;
}

.top_sec_box .text_box::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 0.077vw;
    height: 2.84vw;
    background: #fff;
    top: -4.1vw;
}

.home section.top_sec {
    margin-bottom: 9.79vw;
}

/* フッター　PC */
a.page_top {
    display: block;
    position: absolute;
    right: 0;
    writing-mode: vertical-lr;
    color: #fff;
    word-break: inherit;
    font-size: .9vw;
    letter-spacing: .08em;
    top: 0;
    padding-top: 2.6vw;
    transition: .3s;
}

.ft_info {
    color: #fff;
    font-size: 1.05vw;
    padding-left: 6.94vw;
}

.ft_info p.address {
    margin-top: 1.59vw;
    letter-spacing: .05em;
    line-height: 1.4;
}

.ft_tel_box {
    margin-top: 1.5vw;
    line-height: 1.6;
    letter-spacing: .05em;
}

footer .logo a {
    width: 23.6vw;
    display: block;
}

.help_desk ul {
    justify-content: right;
    letter-spacing: .08em;
}

footer::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: calc(100vw - (50vw - 43vw));
    height: 100%;
    background: url(/wp-content/uploads/2022/08/ft_bg.png) center no-repeat;
    background-size: cover;
}

footer {
    position: relative;
    background: #F5F5F5;
    padding: 5.4vw 0 4.3vw;
}

p.copy_right {
    position: absolute;
    transform: rotate(-90deg);
    font-size: .8vw;
    letter-spacing: .05em;
    height: .97vw;
    width: auto;
    top: -6.25vw;
    bottom: 0;
    margin: auto;
    left: -7.4vw;
}

@media (max-width: 750px) {

    p.copy_right {
        left: -10vw;
    }

}

.ft_menu li a {
    display: block;
    color: #fff;
    font-size: 1.04vw;
    letter-spacing: .05em;
    font-weight: 600;
    position: relative;
}

.ft_menu li {
    width: 30%;
    color: #fff;
    font-size: 1.154vw;
    letter-spacing: .05em;
    font-weight: 600;
}

.ft_menu {
    width: 37.2vw;
}

.ft_menu li:nth-child(n + 4) {
    margin-top: 1.538vw;
}

.help_desk ul a {
    display: block;
    font-size: .83vw;
    color: #fff;
    font-weight: 600;
    position: relative;
}

.help_desk ul li+li {
    margin-left: 4.538vw;
}

.help_desk {
    margin-top: 6.25vw;
}

a.page_top::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    background: url(/wp-content/uploads/2022/08/back_arraw.png) center no-repeat;
    background-size: contain;
    width: 0.846vw;
    height: 2.385vw;
    top: 0;
}

a.page_top:hover {
    top: -1.538vw;
}

.ft_menu li a::before {
    content: "";
    position: absolute;
    left: -1.38vw;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(/wp-content/uploads/2022/08/ft_maru.png) center no-repeat;
    background-size: contain;
    width: .97vw;
    height: .97vw;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}

.ft_menu li a:hover::before {
    opacity: 1;
    visibility: visible;
}

.help_desk ul a::before {
    content: "";
    position: absolute;
    left: -1.538vw;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(/wp-content/uploads/2022/08/ft_maru.png) center no-repeat;
    background-size: contain;
    width: 1.077vw;
    height: 1.077vw;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}

.help_desk ul a:hover::before {
    opacity: 1;
    visibility: visible;
}

/* 施工実績　PC */
.site_achievement_box .content {
    display: none;
}

.site_achievement_box .content.show {
    display: block;
}

section.top_achievement {
    padding: 11.1vw 0 7.29vw;
}

section.top_business {
    position: relative;
    padding-top: 21.7vw;
    margin-top: 10.1vw;
}

/* section.top_business::after {
    content: "BUSINESS";
    font-size: 7.5vw;
    font-weight: 600;
    color: #fff;
    opacity: .4;
    position: absolute;
    top: -6.8vw;
    line-height: 1;
    left: 10.4vw;
} */

section.top_business::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 99%;
    height: 39.7vw;
    background: url(/wp-content/uploads/2023/02/top_mv-2.jpg) center no-repeat;
    background-size: cover;
}

.site_achievement_box li {
    width: 48%;
}

.site_achievement_box li .img {
    width: 14.7vw;
    flex-shrink: 0;
    height: 10.41vw;
    background: url(/wp-content/uploads/2022/08/demo_img.jpg) center no-repeat;
    background-size: cover;
    margin-right: 1.45vw;
    position: relative;
}

.site_achievement_box .tab-area {
    width: 9.58vw;
    margin-right: 3.615vw;
    flex-shrink: 1;
}

.site_achievement_box {
    flex-wrap: nowrap;
}

.site_achievement_box .tab {
    padding-left: 2.08vw;
    font-size: 1.25vw;
    color: #B1B1B1;
    transition: .3s;
    letter-spacing: .05em;
    position: relative;
}

.site_achievement_box .tab:hover {
    color: #383838;
}

.site_achievement_box .tab+.tab {
    margin-top: .9vw;
}

a.post_cmn_btn.sp {
    display: none;
}

.site_achievement_box li p.ttl {
    font-size: 1.59vw;
    color: #B1B1B1;
    font-weight: 600;
    letter-spacing: .02em;
    transition: .3s;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    line-height: 1.2;
    margin-bottom: 0.308vw;
}

.site_achievement_box li a {
    flex-wrap: nowrap;
    padding: 1.45vw 1.52vw;
    border-top: solid 1px #E2E2E2;
    border-bottom: solid 1px #E2E2E2;
    position: relative;
    height: 100%;
}

.site_achievement_box li:nth-child(n + 3) a {
    border-top: none;
}

.site_achievement_box p.bar {
    width: 3.47vw;
    height: 2.29vw;
    border: solid 1px #4CA7C6;
    position: relative;
    transition: .3s;
}

.site_achievement_box p.num {
    color: #B1B1B1;
    font-size: .76vw;
}

.site_achievement_box p.works {
    color: #B1B1B1;
    font-size: .76vw;
    display: block;
    width: 100%;
    margin-bottom: 0.923vw;
}

.site_achievement_box a:hover p.bar {
    background-color: #4CA7C6;
}

.site_achievement_box .bar_box {
    align-items: flex-end;
    position: relative;
    bottom: 0;
    width: 100;
}

.site_achievement_box .text_box {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    flex-wrap: wrap;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
}

a.post_cmn_btn {
    display: block;
    color: #4CA7C6;
    font-size: 1.25vw;
    font-weight: 600;
    text-align: center;
    margin-top: 2.08vw;
    position: relative;
}

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

section.top_achievement .ttl_box {
    margin: 0 0 2.2vw 11.9vw;
    padding: 1.18vw 0 1.18vw 3.47vw;
    position: relative;
}

section.top_achievement .ttl_box p.eng {
    font-size: 1.18vw;
    color: #868686;
    letter-spacing: 0.05em;
}

section.top_achievement .ttl_box h2 {
    font-size: 2.43vw;
    font-weight: 600;
    line-height: 1.4;
}

section.top_achievement .ttl_box::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 4.16vw;
    height: 0.077vw;
    background-color: #4CA7C6;
}

section.top_achievement .ttl_box::after {
    content: "";
    position: absolute;
    left: 12.5vw;
    bottom: 0;
    width: 4.16vw;
    height: 0.077vw;
    background-color: #4CA7C6;
}

.site_achievement_box .tab::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(/wp-content/uploads/2022/08/maru.png) center no-repeat;
    background-size: contain;
    width: 1.25vw;
    height: 1.25vw;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}

.site_achievement_box .tab:hover::before {
    opacity: 1;
    visibility: visible;
}

.site_achievement_box .tab.active {
    color: #383838;
}

.site_achievement_box .tab.active::before {
    opacity: 1;
    visibility: visible;
}

.site_achievement_box p.bar::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    width: 1.87vw;
    height: .069vw;
    background-color: #4CA7C6;
    transition: .3s;
}

.site_achievement_box p.bar::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    background-color: #4CA7C6;
    transition: .3s;
    width: .4vw;
    height: .4vw;
    border-radius: 50%;
}

.site_achievement_box a:hover p.bar::after {
    right: -1vw;
    background: #fff;
}

.site_achievement_box a:hover p.bar::before {
    background: #fff;
}

.recruit_banner a {
    width: 11.6vw;
    height: 11.6vw;
    color: #383838;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.38vw;
    font-weight: 600;
    padding-bottom: 1vw;
}

.recruit_banner::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: url(/wp-content/uploads/2022/08/recruit_rd.png) center no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
    animation: 6s linear infinite rotation;
}

.recruit_banner {
    position: absolute;
    right: 3.47vw;
    bottom: -17.5vw;
}

.recruit_banner>a {
    position: relative;
}

.recruit_banner a::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    eft: 0;
    top: 0;
    bottom: -2.3vw;
    right: 0;
    margin: auto;
    width: 4.1vw;
    height: 0.077vw;
    background-color: #383838;
}

.recruit_banner a::after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: -2.4vw;
    right: 0;
    margin: auto;
    background-color: #4CA7C6;
    transition: .3s;
    width: .5vw;
    height: .5vw;
    border-radius: 50%;
}

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

.ft_inner_menu li a {
    display: block;
    font-size: 1vw;
}

.ft_inner_menu .list a {
    display: block;
    font-family: 'DIN Alternate', 'Impact', sans-serif;
    font-size: 0.9vw;
    padding-left: 2.08vw;
    position: relative;
}

.ft_inner_menu .list a::before {
    content: "";
    position: absolute;
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    background: url(/wp-content/uploads/2022/08/ft_maru.png) center no-repeat;
    background-size: contain;
    width: 1.077vw;
    height: 1.077vw;
    opacity: 0;
    visibility: hidden;
    transition: .3s;
}

.ft_inner_menu .list+.list {
    margin-top: .2vw;
}

.ft_menu li.ac:hover .ft_inner_menu {
    opacity: 1;
    visibility: visible;
}

.ft_menu li.ac .ft_inner_menu {
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    margin-top: 0.769vw;
}

.ft_menu li.ac {
    position: relative;
    font-size: 1.04vw;
}

.ft_menu li.ac::before {
    content: "";
    position: absolute;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    width: .62vw;
    height: .62vw;
    left: 5.9vw;
    transform: rotate(-45deg);
    transition: .3s;
    top: .69vw;
}

.ft_menu li.ac:hover::before {
    transform: rotate(135deg);
}

@keyframes rotation {
    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}

a.mv_scroll {
    left: 0;
    writing-mode: vertical-lr;
    color: #fff;
    position: absolute;
    bottom: -7vw;
    letter-spacing: .08em;
    left: 1vw;
    font-size: 0.97vw;
}

a.mv_scroll::before {
    position: absolute;
    width: 0.077vw;
    height: 9.1vw;
    background: #B1B1B1;
    content: "";
}

a.mv_scroll::after {
    content: "";
    position: absolute;
    left: -0.3vw;
    width: 0.69vw;
    height: 0.69vw;
    background-color: #fff;
    border-radius: 50%;
    top: 0;
    animation: 3s linear infinite moveLine;
}

.site_achievement_box li .img::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 0;
    height: 100%;
    background: rgba(255, 255, 255, .4);
    visibility: hidden;
    transition: .3s;
}

.site_achievement_box li a:hover .img::before {
    width: 100%;
    visibility: visible;
}

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

    100% {
        top: 9.846vw;
    }
}

.business_btn_box a::before {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(98, 98, 98, .5);
    width: 0;
    visibility: hidden;
    transition: .2s;
}

.business_btn_box a:hover::before {
    width: 100%;
    visibility: visible;
}

.business_btn_box a span.let {
    position: relative;
    z-index: 100;
}

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

.top_sec_box {
    flex-wrap: nowrap;
}

/* ロールアップ*/
@keyframes updown-anim {
    0% {
        transform: translateY(110%);
        /*表示範囲外から*/
    }

    10% {
        transform: translateY(0);
        /*通常の位置へ*/
    }

    50% {
        transform: translateY(0);
        /*文字が上に揃うまで待機*/
    }

    60% {
        transform: translateY(0);
        /*下がる*/
    }

    100% {
        transform: translateY(0);
        /*待機*/
    }
}

/*** アニメーションする要素の親 ***/
a.post_cmn_btn .updown {
    display: flex;
    /*　横並びに */
    overflow: hidden;
    /* はみ出たものを非表示に */
    justify-content: center;
    /* padding-bottom: 1.538vw; */
}

/*** アニメーションを適用する要素 ***/
/*** 各span(文字)に遅延時間delayを設定 ***/
a.post_cmn_btn:hover p.updown span:nth-child(1) {
    animation-delay: 0s;
}

a.post_cmn_btn:hover p.updown span:nth-child(2) {
    animation-delay: 0.05s;
}

a.post_cmn_btn:hover p.updown span:nth-child(3) {
    animation-delay: 0.1s;
}

a.post_cmn_btn:hover p.updown span:nth-child(4) {
    animation-delay: 0.15s;
}

a.post_cmn_btn:hover p.updown span:nth-child(5) {
    animation-delay: 0.2s;
}

a.post_cmn_btn:hover p.updownspan:nth-child(6) {
    animation-delay: 0.25s;
}

/*** 装飾用 ***/
.updown {
    /* font-weight: bold; */
    /* font-size: 2rem; */
    /* margin: 2rem; */
}

a.post_cmn_btn:hover p.updown span {
    animation: 3.5s updown-anim linear infinite;
    transform: translateY(110%);
    /*デフォルトで下に隠す*/
    display: block;
    /*ブロック要素に*/
}

a.post_cmn_btn::before {
    content: "";
    position: absolute;
    left: 0;
    right: -9.02vw;
    margin: auto;
    background: url(/wp-content/uploads/2022/08/btn_line.png) center no-repeat;
    background-size: contain;
    width: 1.7vw;
    height: 1.38vw;
    margin: auto;
    top: -1.58vw;
    bottom: 0;
}

/* 内部ページ　PC */
.common-page_main h1 {
    font-size: 2.22vw;
    text-align: right;
    letter-spacing: .15em;
    line-height: 1.2;
}

.common-page_main .sub_title {
    font-size: 1.8vw;
    color: #D8D8D8;
    text-align: right;
}

.common-page_main .title_box {
    padding: 34vw 0 2vw;
}

.common-page_main {
    position: relative;
    margin-top: 6.51vw;
}

.common-page_main::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    margin: auto;
    background-image: url(/wp-content/uploads/2022/08/page_mv.jpg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    width: 100%;
    height: 100%;
}

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

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

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

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

/* お問い合わせ　PC */
.mw_wp_form .horizontal-item span.mwform-checkbox-field.horizontal-item {
    margin-left: 0;
}

.mw_wp_form span.mwform-checkbox-field.horizontal-item {
    margin-left: 0;
}

.mw_wp_form span.mwform-checkbox-field.horizontal-item:nth-child(3) {
    margin-right: 0;
}

/* サイトマップ　PC */
body #sitemap_list li a {
    padding: 0.769vw 1.923vw;
    border: solid 1px #ccc;
}

/* 採用情報　PC */
.common-page_main .title_box p.catch {
    text-align: right;
    font-size: 3vw;
    color: #4CA7C6;
}

section.page_recruit_message {
    flex-wrap: nowrap;
    padding-bottom: 7.154vw;
}

section.page_recruit_message .ttl_box {
    flex-shrink: 0;
    width: 36.231vw;
    margin-right: 2.462vw;
}

section.page_recruit_message .ttl_box p.eng {
    font-size: 5.077vw;
    margin-bottom: 10.462vw;
    line-height: 1;
}

section.page_recruit_message .ttl_box p.message {
    font-size: 2.308vw;
    font-weight: 600;
    letter-spacing: .08em;
    display: inline-block;
    background-color: #fff;
    padding: 0 1.923vw;
}

section.page_recruit_message .text_box {
    line-height: 3;
    font-size: 1.308vw;
    margin-top: 10vw;
    position: relative;
    color: #fff;
    letter-spacing: .08em;
}

section.page_recruit_message .text_box::before {
    content: "";
    position: absolute;
    left: -23.231vw;
    top: 3.462vw;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 92.538vw;
    height: 43.923vw;
    background: url(/wp-content/uploads/2022/08/message_bg.png) center no-repeat;
    background-size: contain;
    z-index: -1;
}

section.page_recruit_message .ttl_box p.message+p.message {
    margin-top: 0.769vw;
    white-space: nowrap;
}

section.page_movie {
    position: relative;
    margin-top: 16.538vw;
    padding: 18.154vw 0 16.385vw;
}

section.page_movie video {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(/wp-content/uploads/2022/08/page_rec_img1.jpg) center no-repeat;
    background-size: cover;
}

section.page_movie p.ttl {
    color: #fff;
    font-weight: 600;
    font-size: 2.308vw;
}

section.page_movie p.text {
    color: #fff;
    font-weight: 600;
    font-size: 1.385vw;
    line-height: 2.2;
    letter-spacing: .03em;
}

section.page_movie .text_box div {
    width: 50%;
    text-align: center;
}

section.page_movie p.ttl {
    color: #fff;
    font-weight: 600;
    font-size: 2.308vw;
}

section.page_movie p.text {
    color: #fff;
    font-weight: 600;
    font-size: 1.385vw;
    line-height: 2.2;
    letter-spacing: .03em;
}

section.page_movie .text_box div {
    width: 46%;
    text-align: center;
}

section.page_movie p.ttl {
    color: #fff;
    font-weight: 600;
    font-size: 2.308vw;
}

section.page_movie p.text {
    color: #fff;
    font-weight: 600;
    font-size: 1.385vw;
    line-height: 2.2;
    letter-spacing: .03em;
}

section.page_movie .text_box div {
    width: 46%;
    text-align: center;
}

section.page_movie .playBtn {
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    bottom: 0;
    width: 10.154vw;
    height: 11.077vw;
    z-index: 10;
}

section.page_movie .playBtn a {
    display: block;
    width: 100%;
    height: 100%;
    text-replace: .2s;
    ;
}

section.page_movie .playBtn a:hover {
    opacity: .7;
}

/* section.page_movie::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    bottom: 0;
    background: url(/wp-content/uploads/2022/08/play.png) center no-repeat;
    background-size: contain;
    width: 10.154vw;
    height: 11.077vw;
    z-index: 10;
} */

/* section.page_movie::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    top: 0;
    bottom: 0;
    background: url(/wp-content/uploads/2022/08/play.png) center no-repeat;
    background-size: contain;
    width: 10.154vw;
    height: 11.077vw;
    z-index: 10;
} */

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

.page_ttl_box p.eng {
    font-size: 1.538vw;
    color: #D8D8D8;
}

.page_ttl_box h2 {
    font-size: 3.846vw;
    font-weight: 600;
    line-height: 1;
}

.page_appeal_flame h3 {
    writing-mode: vertical-lr;
    font-size: 0.923vw;
    letter-spacing: .35em;
    margin-left: 0.385vw;
}

.page_appeal_flame .ttl_box {
    background: #FF8484;
    width: 7.462vw;
    color: #fff;
    position: relative;
    justify-content: center;
    flex-shrink: 0;
    padding: 2.385vw 0 0 0;
}

.page_appeal_flame .let_img {
    width: 3.077vw;
}

.page_appeal_flame p.num {
    font-size: 1.923vw;
    font-weight: 600;
    letter-spacing: .08em;
    line-height: 1.2;
    margin-bottom: 1.154vw;
}

.page_appeal_box {
    width: 26.077vw;
    border-right: solid 1px #fff;
    box-shadow: 0 1px 2px rgb(0 0 0 / 16%);
    background-color: #fff;
}

.page_appeal_flame {
    margin-top: 2.308vw;
    padding-bottom: 4.308vw;
    position: relative;
    flex-wrap: nowrap;
}

.page_appeal_box h4 {
    background: rgba(255, 132, 132, 0.7);
    text-align: center;
    color: #fff;
    line-height: 5vw;
    font-size: 1.538vw;
    font-weight: 600;
    letter-spacing: .08em;
}

.page_appeal_box p.text {
    padding: 1.538vw 2.308vw;
    font-size: 1.2vw;
    letter-spacing: .05em;
    background: #fff;
    text-align: justify;
}

/* .page_appeal_flame .img_box {
    width: 14.231vw;
    flex-shrink: 0;
    align-self: flex-end;
    margin: 0 1.538vw;
} */

.page_appeal_flame::before {
    height: 35.462vw;
    content: "";
    position: absolute;
    left: -11.538vw;
    bottom: 0;
    background: #FF8484;
    opacity: .1;
    width: 85.692vw;
    z-index: -1;
}

.common-page_main .wrap_01 {
    margin: 0 auto;
    margin: 0 3.47vw;
    /* width: 100%; */
    /* height: 100%; */
}

.breadcrumb .wrap {
    position: relative;
    margin: 0 10.41vw;
    width: auto;
}

.page_appeal_flame+.page_appeal_flame {
    margin-top: 3.385vw;
}

.page_appeal_flame:nth-child(odd) .ttl_box {
    order: 1;
}

.page_appeal_flame:nth-child(odd) {
    justify-content: flex-end;
}

.page_appeal_flame.at .ttl_box {
    background: #E2BB16;
}

.page_appeal_flame.at h4 {
    background: rgba(226, 187, 22, .7);
}

.page_appeal_flame.at::before {
    background: #E9D16A;
    opacity: .1;
}

.page_appeal_flame:nth-child(odd)::before {
    left: auto;
    right: -11.538vw;
}

.page_appeal_flame .ttl_box::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    width: 0.077vw;
    background: #fff;
    height: 15.308vw;
    transform: rotate(15deg);
    bottom: 6.154vw;
}

.page_appeal_flame.en .ttl_box {
    background: #759750;
}

.page_appeal_flame.en h4 {
    background: rgba(117, 151, 80, .7);
}

.page_appeal_flame.en::before {
    background: #759750;
    opacity: .1;
}

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

.page_appeal_flame.ot .ttl_box {
    background: #8467B7;
}

.page_appeal_flame.ot h4 {
    background: rgba(132, 103, 183.7);
}

.page_appeal_flame.ot::before {
    background: #8467B7;
    opacity: .1;
}

.page_numbering_box li {
    width: 30vw;
    background: #9CCEDF;
    padding: 2.308vw 4.231vw;
    color: #fff;
}

.page_numbering_box .img {
    width: 17.615vw;
    margin: 55px auto 63px;
}

.page_numbering_box h3 {
    text-align: center;
    font-size: 1.923vw;
    font-weight: 600;
    letter-spacing: .08em;
}

.page_numbering_box p.text {
    letter-spacing: .08em;
    line-height: 1.8;
}

.page_numbering_box li.gender .img {
    width: 16.615vw;
    margin: 10px auto 20px;
}

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

section.page_numbering {
    padding: 9.385vw 0 13.923vw;
}

.page_numbering_box {
    margin-top: 2.538vw;
}

.page_numbering_box li.house {
    background: #FFBBBB;
}

.page_numbering_box li.gender {
    background: #E7C741;
}

section.page_person .rep_img {
    width: 84.462vw;
}

section.page_person .rep_img {
    width: 84.462vw;
    position: relative;
}

section.page_person h2 {
    font-size: 3.077vw;
    background: #fff;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 39.077vw;
    line-height: 9.462vw;
    text-align: center;
    font-weight: 600;
    letter-spacing: .08em;
    padding-right: 5.615vw;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

section.page_person h2::before {
    width: 4.692vw;
    height: 3.538vw;
    content: "";
    position: absolute;
    left: 0;
    right: -20vw;
    margin: auto;
    background: url(/wp-content/uploads/2022/08/rep_icon.png) center no-repeat;
    background-size: contain;
    top: -0.538vw;
    bottom: 0;
}

.page_person_flame .num_box {
    background: #4CA7C6;
    color: #fff;
    text-align: center;
    width: 5.308vw;
    height: 6.769vw;
    font-weight: 600;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page_person_flame .num {
    font-size: 3.077vw;
    line-height: 1;
    letter-spacing: .08em;
}

.page_person_flame li {
    align-items: center;
}

.page_person_flame li .ttl {
    font-size: 2vw;
    font-weight: 600;
    margin-left: 2.923vw;
}

.page_person_flame li:nth-child(2) {
    margin-left: 22.385vw;
}

.page_person_flame li:nth-child(3) {
    margin-left: 67.385vw;
}

.page_person_flame p.text {
    margin-top: 3.846vw;
    padding: 0 9.692vw 0;
    font-size: 1.385vw;
    line-height: 3.5;
    letter-spacing: .08em;
}

.page_person_flame li+li {
    margin-top: 1.154vw;
}

.page_person_flame {
    margin-top: 3.462vw;
}

section.page_person .rep_img::before {
    content: "PERSON";
    position: absolute;
    right: -12.692vw;
    top: 0;
    font-size: 11vw;
    writing-mode: vertical-lr;
    font-family: flood-std, sans-serif;
    line-height: 1;
    opacity: .1;
}

.page_requirements_box {
    padding: 4.154vw 3.846vw;
    margin-left: auto;
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
    background: #fff;
}

.page_requirements_box .ttl {
    background: #4CA7C6;
    width: 25.154vw;
    text-align: center;
    padding: 3.077vw 0;
    font-size: 1.846vw;
    color: #fff;
    font-weight: 600;
    letter-spacing: .08em;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    display: -webkit-box;
    display: -moz-box;
    display: -webkit-flexbox;
    display: -moz-flexbox;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: -moz-flex;
}

.page_requirements_box .detail {
    border: solid 1px #4CA7C6;
    width: 61.462vw;
    padding: 2.462vw 5.846vw;
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.page_requirements_box li+li {
    margin-top: 1.154vw;
}

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

.page_requirements_box p.text {
    font-size: 1.385vw;
    letter-spacing: .08em;
}

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

section.page_requirements .ttl_box {
    justify-content: flex-end;
    align-items: center;
}

section.page_requirements .ttl_box p.eng {
    font-size: 6vw;
    color: #4C7BC6;
    position: relative;
    padding-right: 8.462vw;
}

section.page_requirements .ttl_box h2 {
    font-size: 2.308vw;
    font-weight: 600;
    letter-spacing: .05em;
}

section.page_requirements .ttl_box p.eng::before, section.page_requirements .ttl_box p.eng::after {
    width: 6.769vw;
    height: 0.231vw;
    background: #D8D8D8;
    content: "";
    position: absolute;
    right: 1.538vw;
    top: 0;
    bottom: 0;
    margin: auto;
}

section.page_requirements .ttl_box p.eng::after {
    content: "";
    background: #4C7BC6;
    width: 3.385vw;
}

section.page_requirements {
    position: relative;
    padding-bottom: 4.462vw;
}

section.page_requirements::before {
    content: "";
    position: absolute;
    right: 0;
    top: 5vw;
    opacity: .25;
    background: #4CA7C6;
    width: 74.077vw;
    height: 138.846vw;
    z-index: -1;
}

section.page_entry a {
    display: block;
    padding: 4.615vw 0 5vw;
    color: #fff;
    position: relative;
    z-index: 0;
}

/* section.page_entry a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 8vw;
    width: 20%;
    height: 15.3vw;
    background-image: url(/wp-content/uploads/2022/09/senmu_good.png);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
} */

section.page_entry {
    text-align: center;
    position: relative;
    overflow: hidden;
}

a {}

section.page_entry::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: url(/wp-content/uploads/2022/08/entry_bg.png) center no-repeat;
    background-size: cover;
    transition: 4s;
    z-index: -1;
}

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

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

section.page_entry p.entry {
    font-size: 6.385vw;
    font-weight: 600;
    line-height: initial;
    margin-top: 0.769vw;
    padding-bottom: 0.769vw;
    display: inline-block;
    position: relative;
}

section.page_entry p.entry::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    background: #fff;
    width: 100%;
    height: 0.077vw;
}

section.page_entry p.entry::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    bottom: -0.538vw;
    background: #fff;
    width: 1.231vw;
    height: 1.231vw;
    border-radius: 50%;
    transition: .3s;
}

section.page_entry:hover p.entry::after {
    right: -14.615vw;
}

.page-id-200 .common-page_wrap {
    padding-bottom: 0;
}

/* 事業内容 PC */
.page_catch_copy {
    text-align: center;
    padding-bottom: 7.231vw;
}

.page_catch_copy h2 {
    font-size: 2.462vw;
    position: relative;
}

.page_catch_copy p.text {
    margin-top: 5.385vw;
    margin: 70px auto 0;
    letter-spacing: .08em;
    line-height: 2.5;
}

.page_catch_copy h2::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    margin: auto;
    border: solid 1px #4CA7C6;
    width: 38.462vw;
    height: 38.462vw;
    border-radius: 50%;
    opacity: .4;
    top: -5.615vw;
}

.page_service_achievement_box {
    width: 40%;
    margin-left: auto;
}

section.page_service_achievement {
    padding: 7.692vw 0;
    position: relative;
    margin: 5.385vw 0 9.231vw;
}

.page_service_links a {
    display: block;
    color: #383838;
    font-size: 2.154vw;
    letter-spacing: .05em;
    padding: 0.769vw 0 0.769vw;
    position: relative;
    transition: .3s;
}

.page_service_achievement_box .ttl_box {
    margin-bottom: 2.308vw;
    position: relative;
}

.page_service_achievement_box .ttl_box h2 {
    font-size: 2.538vw;
    letter-spacing: .1em;
}

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

.page_service_achievement_box .ttl_box::before {
    content: "";
    position: absolute;
    right: 0;
    bottom: -0.923vw;
    background: #badce9;
    height: 0.077vw;
    width: 80%;
}

.page_service_links a::before {
    content: "";
    position: absolute;
    left: -6.154vw;
    top: 0;
    bottom: 0;
    margin: auto;
    border: solid 1px #6db7d0;
    width: 3.462vw;
    height: 3.462vw;
    border-radius: 50%;
    transition: .3s;
}

.page_service_links a::after {
    content: "";
    position: absolute;
    left: -4.846vw;
    top: 0;
    bottom: 0;
    background: #badcea;
    width: 0.769vw;
    height: 0.769vw;
    border-radius: 50%;
    margin: auto;
    transition: .3s;
}

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

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

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

section.page_service_achievement::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    background: url(/wp-content/uploads/2022/09/top_business_bg.jpg) center no-repeat;
    background-size: cover;
    width: 35%;
    height: 100%;
}

a.hd_contact:hover {
    opacity: .8;
}

a.hd_contact.recruit {
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 1.7vw;
    font-weight: 600;
    padding-bottom: 1.45vw;
    letter-spacing: .05em;
}

a.hd_contact.recruit::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1.8vw;
    background: #fff;
    height: .069vw;
    width: 5.1vw;
}

a.hd_contact.recruit::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 2.06vw;
    background: #fff;
    width: .5vw;
    height: .5vw;
    margin: auto;
    border-radius: 50%;
    transition: .3s;
}

a.hd_contact.recruit:hover::after {
    right: -5.5vw;
}

/*　施工実績　PC */
.achievement_img_box {
    width: 60%;
    flex-shrink: 0;
    margin-right: 6.154vw;
}

.achievement_img_big .img {
    height: 30.769vw;
    background-position: center;
    background-size: contain;
    background-color: #eee;
    background-repeat: no-repeat;
    transition: .3s;
    width: 100%;
}

.achievement_img_big .img {
    opacity: 0;
}

.achievement_img_big .img.on {
    opacity: 1;
}

.achievement_img_big .img+.img {
    position: absolute;
    left: 0;
    top: 0;
}

.achievement_img_small div {
    width: 32%;
    height: 6.154vw;
    margin: 0.462vw 0.308vw;
}

.achievement_img_small {
    width: 100%;
}

.achievement_img_small .img {
    width: 100%;
    background-color: #eee;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
    margin: auto;
}

.achievement_img_small {
    margin-top: 1.538vw;
}

a.achievement_btn {
    width: 23.077vw;
    border: solid 1px;
    line-height: 5.385vw;
    display: block;
    text-align: center;
    color: #4ca7c6;
    font-size: 1.385vw;
    letter-spacing: .03em;
    transition: .3s;
    margin: 50px auto 0;
}

a.achievement_btn:hover {
    background: #4ca7c6;
    color: #fff;
}

.achievement_img_big {
    position: relative;
}

.page_single_achievement .ttl {
    font-size: 1.846vw;
    font-weight: 600;
    padding-left: 1.923vw;
    border-left: solid 5px #4ca7c6;
    letter-spacing: .08em;
}

.page_single_achievement .text_box p {
    margin-top: 2.308vw;
    font-size: 1.308vw;
    letter-spacing: .05em;
}

.page_single_achievement {
    flex-wrap: nowrap;
}

.page_single_achievement .text_box span.eng {
    display: block;
    position: relative;
    color: #aaa;
    margin-bottom: 0.769vw;
    font-size: 1.077vw;
    letter-spacing: .03em;
}

.page_single_achievement .text_box span.eng::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    background: #ccc;
    height: 0.077vw;
    width: 3.077vw;
}

.archive_tabs a {
    display: block;
    color: #aeaeaf;
    transition: .3s;
    font-size: 1.385vw;
    font-weight: 600;
    padding: 1.538vw;
    letter-spacing: .03em;
    position: relative;
}

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

.archive_tabs a::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    height: 1.538vw;
    width: 0.077vw;
    background: #383838;
    transform: rotate(25deg);
}

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

.archive_tabs {
    margin-bottom: 6.154vw;
}

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

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

a.page_top.sp {
    display: none;
}

p.catch_img {
    width: 5.2vw;
    margin: 2.308vw 5vw 0 0;
}

/* 会社概要　PC */
section.company_profile a.link {
    display: inline-block;
    background-color: #383838;
    color: #fff;
    padding: 0 1.538vw;
    margin-left: 1.538vw;
    font-size: 0.923vw;
}

.page_numbering_box .img.data01 {
    width: 23.308vw;
    margin-left: -2.308vw;
}

a#print_button {
    position: fixed;
    background: #4CA7C6;
    color: #fff;
    left: 0.769vw;
    bottom: 0.769vw;
    z-index: 99999;
    background-image: url('/wp-content/uploads/2023/01/icon_print.svg');
    background-repeat: no-repeat;
    background-size: 2.308vw;
    background-position: center;
    border-radius: 100%;
    width: 4.615vw;
    height: 4.615vw;
    text-indent: -76923vw;
}

div#print_area {
    display: none;
}

/* SDGs PC */
.sdgs_poster {
    width: 80%;
    margin: auto;
}

.page_sdgs_box ul li {
    display: grid;
    grid-template-columns: 18% 76%;
    column-gap: 4vw;
    place-content: center;
    border-bottom: dashed 1px;
    padding-bottom: 2.308vw;
    align-items: center;
}

.page_sdgs_box ul li .ttl {
    font-size: 1.538vw;
    font-weight: 600;
    letter-spacing: .1em;
    margin-bottom: 1.154vw;
}

.page_sdgs_box ul li .text {
    line-height: 2;
    font-size: 1.385vw;
    letter-spacing: .05em;
}

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

.page_sdgs_box {
    width: 83%;
    margin: 50px auto 0;
}


@media print {
    section.page_appeal {
        padding: 3vw 0;
    }

    section.page_movie {
        margin-top: 8vw;
        padding: 12.154vw 0 10.385vw;
    }

    section.page_numbering {
        padding: 2vw 0 2vw;
    }

    section.top_recruit {
        height: auto;
    }

    footer {
        margin-top: 10vw;
    }

    header#main_header,
    a.hd_contact {
        position: absolute;
    }

    section.page_entry a {
        text-align: center;
    }

}