@charset "UTF-8";

/*
Theme Name: child
Theme URI:
Description:
Template: twentytwentyone
Author: makesview
Author URI: https://makes-view.co.jp/
Version: 1.0.0
*/

@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&display=swap");

.wow {
    animation-timing-function: cubic-bezier(0.18, 0.6, 0.17, 1);
}

.hel {
    font-family: "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

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

html,
button,
input,
select,
textarea {
    font-family: "Noto Sans JP", sans-serif;
}

body {
    color: #151515;
    font-size: 16px;
    line-height: 1.7;
    overflow: hidden;
    min-width: 1340px;
}

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 {
    width: 100%;
    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;
}

.pr_img {
    overflow: hidden;
    position: relative;
}

img.pa_img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    display: block;
}

.wrap {
    width: 1140px;
    margin: 0 auto;
}

.wrap02 {
    width: 1240px;
    margin: 0 auto;
}

.wrap03 {
    width: 1340px;
    margin: 0 auto;
}

#main_header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
}

#main_header.active {
    position: fixed;
    animation-fill-mode: forwards;
    animation: headerfade 0.3s linear;
    background: rgba(255, 255, 255, 0.9);
    box-shadow: 0 0px 3px rgba(0, 0, 0, .16);
}

@keyframes headerfade {
    0% {
        transform: translateY(-100%);
    }

    /*最後のキーフレーム*/
    100% {
        transform: translateY(0);
    }
}

#main_header.active .cont {
    padding-top: 30px;
    padding-bottom: 30px;
}

#main_header .cont {
    width: 100%;
    align-items: center;
    padding-top: 49px;
}

#main_header .cont .logo {
    display: block;
    width: 233px;
    line-height: 1;
}

#main_header .cont .link_cont {
    margin-left: auto;
    align-items: center;
}

#main_header .cont .link_cont .list {
    margin-right: 120px;
}

#main_header .cont .link_cont .list ul li+li {
    margin-left: 38px;
}

#main_header .cont .link_cont .list ul li a {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.03em;
    color: #151515;
    transition: 0.5s;
}

#main_header .cont .link_cont .list ul li a::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: -9px;
    transform-origin: left center;
    width: 100%;
    height: 1px;
    background-color: #5CC1D6;
    transform: scaleX(0);
    transition: 0.5s;
}

#main_header .cont .link_cont .list ul li a:hover {
    color: #5CC1D6;
}

#main_header .cont .link_cont .list ul li a:hover::before {
    transform: scaleX(1);
}

#main_header .cont .link_cont .contact_btn {
    display: block;
    width: 200px;
    line-height: 50px;
    color: #fff;
    font-size: 14px;
    letter-spacing: 0.05em;
    text-align: center;
    transition: 0.5s;
    background: linear-gradient(90deg, rgb(57, 202, 221) 0%, rgb(89, 140, 229) 100%);
}

#main_header .cont .link_cont .contact_btn:hover {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

#fv_sec .img_wrap {
    position: absolute;
    right: 0;
}

#fv_sec .img_wrap.img1 {
    top: 0;
    width: 39.028vw;
    animation-delay: 0.5s;
}

#fv_sec .img_wrap.img2 {
    bottom: 0;
    width: 20.903vw;
    animation-delay: 0.6s;
}

#fv_sec .img_wrap .img {
    width: 100%;
    padding-top: 128%;
    clip-path: polygon(40% 0%, 100% 0%, 60% 100%, 0% 100%);
}

#fv_sec .img_wrap .img img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#fv_sec .img_wrap .img::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: rgba(21, 21, 21, 0.3);
    clip-path: polygon(40% 0%, 100% 0%, 60% 100%, 0% 100%);
}

#fv_sec.show .designs_wrap {
    transform: scaleX(1);
}

#fv_sec .designs_wrap {
    position: absolute;
    width: 44.028vw;
    left: 0;
    bottom: 0;
    transform: scaleX(0);
    transform-origin: left center;
    transition: 0.5s;
    animation-timing-function: cubic-bezier(0.18, 0.6, 0.17, 1);
}

#fv_sec .designs_wrap .designs {
    width: 100%;
    padding-top: 97%;
}

#fv_sec .designs_wrap .designs img {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#fv_sec .inner {
    width: 79.167vw;
    margin: 0 auto;
}

#fv_sec .inner .cont {
    padding: 18.611vw 0 13.403vw;
}

#fv_sec .inner .cont .text_box {
    margin-left: 28.333vw;
    align-items: center;
    overflow: hidden;
}

#fv_sec .inner .cont .text_box .border_box {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1;
    margin-right: 2.5vw;
    animation-timing-function: cubic-bezier(0.18, 0.6, 0.17, 1);
}

#fv_sec .inner .cont .text_box .border_box .value_text_box {
    margin-bottom: 1.319vw;
}

#fv_sec .inner .cont .text_box .border_box .value_text_box .value_text {
    transform: rotate(270deg);
    font-size: 0.972vw;
    line-height: 1;
    letter-spacing: 0.03em;
}

#fv_sec .inner .cont .text_box .border_box .border {
    width: 0.139vw;
    height: 18.611vw;
    background-color: #9D9F9E;
}

#fv_sec .inner .cont .text_box .text_main .en_ttl {
    font-size: 4.583vw;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 1.389vw;
    animation-delay: 0.1s;
    animation-timing-function: cubic-bezier(0.18, 0.6, 0.17, 1);
}

#fv_sec .inner .cont .text_box .text_main .en_ttl .blue {
    color: #5CC1D6;
}

#fv_sec .inner .cont .text_box .text_main .en_ttl .white {
    color: #fff;
}

#fv_sec .inner .cont .text_box .text_main .text {
    font-size: 1.111vw;
    font-weight: 500;
    letter-spacing: 0.15em;
    line-height: 1.8;
    margin-bottom: 2.639vw;
    animation-delay: 0.2s;
    animation-timing-function: cubic-bezier(0.18, 0.6, 0.17, 1);
}

#fv_sec .inner .cont .text_box .text_main .text .white_pc {
    color: #fff;
}

#fv_sec .inner .cont .text_box .text_main .btn {
    display: block;
    width: 18.681vw;
    line-height: 4.167vw;
    text-align: center;
    color: #fff;
    font-size: 0.972vw;
    font-weight: bold;
    letter-spacing: 0.03em;
    background: linear-gradient(90deg, rgb(57, 202, 221) 0%, rgb(89, 140, 229) 100%);
    animation-delay: 0.25s;
    animation-timing-function: cubic-bezier(0.18, 0.6, 0.17, 1);
}

#fv_sec .inner .cont .text_box .text_main .btn .en {
    font-size: 1.111vw;
}

#fv_sec .inner .cont .text_box .text_main .btn::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 13px;
    height: 12px;
    background-image: url(/wp-content/uploads/2022/10/arrow_white_right.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

#top_message_sec {
    padding: 50px 0 110px;
}

#top_message_sec .text_ticker .inner {
    overflow: hidden;
}

#top_message_sec .text_ticker .inner .text_wrap {
    white-space: nowrap;
    font-size: 100px;
    font-weight: bold;
    line-height: 1.2;
    letter-spacing: 0.03em;
    color: #D0D0D0;
    opacity: 0.5;
}

#top_message_sec .text_ticker .inner .text_wrap .text {
    display: inline-block;
    animation-name: text_ticker;
    animation-timing-function: linear;
    animation-iteration-count: infinite;
    animation-duration: 40s;
}

#top_message_sec .text_ticker .inner .text_wrap .blue {
    color: #E8F7FE;
}

@keyframes text_ticker {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

@-webkit-keyframes text_ticker {
    0% {
        -webkit-transform: translateX(0);
        transform: translateX(0);
    }

    100% {
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
    }
}

#top_message_sec .cont {
    align-items: center;
}

#top_message_sec .cont .text_box {
    width: 717px;
}

#top_message_sec .cont .text_box .ttl {
    font-size: 36px;
    line-height: 1;
    font-weight: 900;
    margin-bottom: 24px;
}

#top_message_sec .cont .text_box .sub_ttl {
    font-size: 26px;
    line-height: 1;
    font-weight: 900;
    margin-bottom: 35px;
}

#top_message_sec .cont .text_box .text {
    font-size: 18px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2.2;
}

#top_message_sec .cont .designs_box {
    width: 350px;
    transform: scale(0.6);
    opacity: 0.6;
}

#top_message_sec .cont .designs_box .cube {
    width: 350px;
    height: 350px;
    position: relative;
    transform-style: preserve-3d;
    transform: rotateX(0) rotateY(0);
    animation: rotate-anim 15s linear infinite;
    transform-origin: center;
}

#top_message_sec .cont .designs_box .cube .parts {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(/wp-content/uploads/2023/09/logo_re.png);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

#top_message_sec .cont .designs_box .cube .parts:nth-child(1) {
    transform: translateZ(200px);
}

#top_message_sec .cont .designs_box .cube .parts:nth-child(2) {
    transform: rotateY(180deg) translateZ(200px);
}

#top_message_sec .cont .designs_box .cube .parts:nth-child(3) {
    transform: rotateY(90deg) translateZ(200px);
}

#top_message_sec .cont .designs_box .cube .parts:nth-child(4) {
    transform: rotateY(-90deg) translateZ(200px);
}

#top_message_sec .cont .designs_box .cube .parts:nth-child(5) {
    transform: rotateX(90deg) translateZ(200px);
}

#top_message_sec .cont .designs_box .cube .parts:nth-child(6) {
    transform: rotateX(-90deg) translateZ(200px);
}

@keyframes rotate-anim {
    0% {
        transform: rotateX(0) rotateY(0);
    }

    100% {
        transform: rotateX(-360deg) rotateY(360deg);
    }
}

#top_information_sec {
    padding: 0 0 70px;
}

#top_information_sec .top_text_box {
    margin-bottom: 40px;
    align-items: flex-end;
}

#top_information_sec .top_text_box .ttl_box {
    align-items: center;
}

#top_information_sec .top_text_box .ttl_box .border_box {
    width: 30px;
    height: 68px;
    margin-right: 20px;
    overflow: hidden;
}

#top_information_sec .top_text_box .ttl_box .border_box .border {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-16deg);
    -webkit-transform: translate(-50%, -50%) rotate(-16deg);
    -ms-transform: translate(-50%, -50%) rotate(-16deg);
    width: 10px;
    height: 74px;
    background-color: #5CC1D6;
}

#top_information_sec .top_text_box .ttl_box .ttl_text_box .ttl {
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 14px;
}

#top_information_sec .top_text_box .ttl_box .ttl_text_box .en_ttl {
    font-size: 46px;
    line-height: 1;
    font-weight: bold;
}

#top_information_sec .common_post_list ul li:nth-child(2) {
    margin-top: 20px;
    animation-delay: 0.1s;
}

#top_information_sec .common_post_list ul li:nth-child(3) {
    margin-top: 40px;
    animation-delay: 0.2s;
}

#top_information_sec .link_box a {
    align-items: center;
}

#top_information_sec .link_box a .text {
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    margin-right: 34px;
    color: #151515;
    transition: 0.5s;
}

#top_information_sec .link_box a .arrow {
    width: 13px;
    height: 12px;
}

#top_information_sec .link_box a .arrow img {
    transition: 0.5s;
}

#top_information_sec .link_box a .arrow img.after {
    opacity: 0;
}

#top_information_sec .link_box a:hover .text {
    color: #5CC1D6;
}

#top_information_sec .link_box a:hover .arrow img.before {
    opacity: 0;
}

#top_information_sec .link_box a:hover .arrow img.after {
    opacity: 1;
}

.common_post_list ul::after {
    content: "";
    display: block;
    width: 322px;
    height: 0;
}

.common_post_list ul li {
    width: 322px;
}

.common_post_list ul li a {
    display: block;
    width: 100%;
}

.common_post_list ul li a .date {
    font-size: 16px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 10px;
    color: #151515;
}

.common_post_list ul li a .ttl {
    font-size: 18px;
    font-weight: bold;
    line-height: 1.3;
    margin-bottom: 16px;
    color: #151515;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    transition: 0.5s;
}

.common_post_list ul li a .text {
    font-size: 12px;
    letter-spacing: 0.08em;
    line-height: 2;
    color: #A1A1A1;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.common_post_list ul li a:hover .ttl {
    color: #5CC1D6;
}

#top_about_sec {
    padding: 70px 0 170px;
}

#top_about_sec::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 270px;
    left: 0;
    background-color: #F8F8F8;
    width: calc(50vw - 570px + 189px);
    clip-path: polygon(0 0, 0% 100%, 100% 0);
}

#top_about_sec>* {
    position: relative;
    z-index: 1;
}

#top_about_sec .top_text_box {
    margin-bottom: -90px;
    width: 585px;
}

#top_about_sec .top_text_box .ttl_box {
    align-items: center;
    margin-bottom: 20px;
}

#top_about_sec .top_text_box .ttl_box .border_box {
    width: 30px;
    height: 87px;
    margin-right: 30px;
    overflow: hidden;
}

#top_about_sec .top_text_box .ttl_box .border_box .border {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-13deg);
    -webkit-transform: translate(-50%, -50%) rotate(-13deg);
    -ms-transform: translate(-50%, -50%) rotate(-13deg);
    width: 10px;
    height: 91px;
    background-color: #5CC1D6;
}

#top_about_sec .top_text_box .ttl_box .ttl_text_box .ttl {
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 20px;
}

#top_about_sec .top_text_box .ttl_box .ttl_text_box .ttl .en {
    color: #5CC1D6;
}

#top_about_sec .top_text_box .ttl_box .ttl_text_box .en_ttl {
    font-size: 65px;
    line-height: 1;
    font-weight: bold;
}

#top_about_sec .top_text_box .text {
    padding-left: 60px;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 2;
}

#top_about_sec .common_about_list {
    margin-bottom: 125px;
}

#top_about_sec .common_about_list ul li:nth-child(odd) {
    position: relative;
    top: 125px;
}

#top_about_sec .common_about_list ul li:nth-child(2) {
    animation-delay: 0.7s;
}

#top_about_sec .common_about_list ul li:nth-child(3) {
    animation-delay: 0.2s;
}

#top_about_sec .common_about_list ul li:nth-child(4) {
    animation-delay: 0.7s;
}

#top_about_sec .common_about_list ul li:nth-child(5) {
    margin-left: auto;
    top: 40px;
    animation-delay: 0.7s;
}


#top_about_sec .common_btn {
    /* margin-left: auto; */
    margin-top: -166px;
}

.common_about_list ul li {
    width: 510px;
    box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
    background-color: #fff;
    padding-right: 20px;
}

section#page_about .common_about_list ul li:nth-child(5) {
    margin-top: 40px;
}

.common_about_list ul li:nth-child(-n+2) {
    margin-bottom: 40px;
}

.common_about_list ul li a {
    width: 100%;
    align-items: center;
    flex-wrap: nowrap;
}

.common_about_list ul li a .img {
    width: 220px;
    height: 250px;
    margin-right: 30px;
    flex-shrink: 0;
}

.common_about_list ul li a .img .inner {
    width: 100%;
    height: 100%;
}

.common_about_list ul li a .img .inner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_about_list ul li a .text_box {
    width: 100%;
    color: #151515;
}

.common_about_list ul li a .text_box .en_ttl {
    font-size: 30px;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 5px;
}

.common_about_list ul li a .text_box .ttl {
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.05em;
    margin-bottom: 10px;
}

.common_about_list ul li a .text_box .text {
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 1.6;
    margin-bottom: 20px;
}

.common_about_list ul li a .text_box .btn_box {
    align-items: center;
}

.common_about_list ul li a .text_box .btn_box .circle_wrap {
    width: 22px;
    height: 22px;
}

.common_about_list ul li a .text_box .btn_box .circle_wrap .circle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
}

.common_about_list ul li a .text_box .btn_box .circle_wrap .circle svg {
    transform: rotateX(180deg);
}

.common_about_list ul li a .text_box .btn_box .circle_wrap .circle svg path {
    stroke-width: 2;
}

.common_about_list ul li a .text_box .btn_box .circle_wrap .circle.after {
    z-index: 1;
}

.common_about_list ul li a .text_box .btn_box .circle_wrap .circle.after svg path {
    stroke-width: 2;
    stroke-dasharray: 0 365;
}

.common_about_list ul li a .text_box .btn_box .btn_text {
    font-size: 14px;
    line-height: 1;
    color: #151515;
    transition: 0.5s;
    position: relative;
    top: 5px;
}

.common_about_list ul li a:hover .btn_box .circle_wrap .circle.after svg path {
    animation-name: circle;
    animation-duration: 5s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

@keyframes circle {
    0% {
        stroke-dasharray: 0 365;
    }

    99.9%,
    to {
        stroke-dasharray: 366 365;
    }
}

.common_about_list ul li a:hover .btn_box .btn_text {
    color: #5CC1D6;
}

.common_btn {
    width: 380px;
}

.common_btn a {
    display: block;
    width: 100%;
    line-height: 80px;
    text-align: center;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    letter-spacing: 0.05em;
    background: linear-gradient(90deg, rgb(57, 202, 221) 0%, rgb(89, 140, 229) 100%);
    transition: 0.5s;
}

.common_btn a:hover {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.3);
}

.common_btn a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 13px;
    height: 12px;
    background-image: url(/wp-content/uploads/2022/10/arrow_white_right.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

#top_business_sec {
    padding: 0 0 195px;
}

#top_business_sec::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 234px;
    right: 0;
    width: calc(50vw - 570px + 100px);
    clip-path: polygon(100% 0, 0% 100%, 100% 100%);
    background-color: #F8F8F8;
}

#top_business_sec>* {
    position: relative;
    z-index: 1;
}

#top_business_sec .top_text_box {
    margin-bottom: -100px;
}

#top_business_sec .top_text_box .ttl_box {
    align-items: center;
    margin-bottom: 20px;
}

#top_business_sec .top_text_box .ttl_box .border_box {
    width: 30px;
    height: 87px;
    margin-right: 30px;
    overflow: hidden;
}

#top_business_sec .top_text_box .ttl_box .border_box .border {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-13deg);
    -webkit-transform: translate(-50%, -50%) rotate(-13deg);
    -ms-transform: translate(-50%, -50%) rotate(-13deg);
    width: 10px;
    height: 91px;
    background-color: #5CC1D6;
}

#top_business_sec .top_text_box .ttl_box .ttl_text_box .ttl {
    font-size: 19px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 15px;
}

#top_business_sec .top_text_box .ttl_box .ttl_text_box .en_ttl {
    font-size: 65px;
    line-height: 1;
    font-weight: bold;
}

#top_business_sec .top_text_box .text {
    padding-left: 60px;
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 2;
}

#top_business_sec .cont {
    padding-left: calc(50vw - 570px + 60px);
}

#top_business_sec .cont .btn_list {
    margin-top: 160px;
}

#top_business_sec .cont .btn_list ul li+li {
    margin-top: 43px;
}

#top_business_sec .cont .btn_list ul li a .circle {
    width: 33px;
    height: 33px;
    margin-right: 5px;
}

#top_business_sec .cont .btn_list ul li a .circle svg {
    transform: rotateX(180deg);
}

#top_business_sec .cont .btn_list ul li a .circle svg path {
    stroke-width: 6;
    stroke-dasharray: 0 365;
}

#top_business_sec .cont .btn_list ul li a .ttl {
    font-size: 15px;
    line-height: 31px;
    font-weight: bold;
    letter-spacing: 0.08em;
    transition: 0.5s;
    color: #151515;
}

#top_business_sec .cont .btn_list ul li a:hover .circle svg {
    transform: rotateX(180deg);
}

#top_business_sec .cont .btn_list ul li a:hover .circle svg path {
    animation-name: circle;
    animation-duration: 3s;
    animation-iteration-count: 1;
    animation-fill-mode: forwards;
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

#top_business_sec .cont .btn_list ul li a:hover .ttl {
    color: #5CC1D6;
}

#top_business_sec .cont .slider_wrap {
    width: calc(50vw - 570px + 796px);
}

#top_business_sec .cont .slider_wrap .bx-wrapper {
    -moz-box-shadow: none;
    -webkit-box-shadow: none;
    box-shadow: none;
    border: none;
    background: transparent;
    margin-bottom: 0;
}

#top_business_sec .cont .slider_wrap ul li {
    padding-bottom: 6px;
}

#top_business_sec .cont .slider_wrap ul li .img {
    width: 100%;
    height: 330px;
    clip-path: polygon(115px 0%, 100% 0%, 100% 100%, 0% 100%);
    margin-bottom: 40px;
}

#top_business_sec .cont .slider_wrap ul li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#top_business_sec .cont .slider_wrap ul li .text_box {
    padding: 0 calc(50vw - 570px + 36px) 0 36px;
}

#top_business_sec .cont .slider_wrap ul li .text_box .ttl {
    font-size: 22px;
    letter-spacing: 0.05em;
    font-weight: 900;
    color: #5CC1D6;
    line-height: 1.5;
    margin-bottom: 17px;
}

#top_business_sec .cont .slider_wrap ul li .text_box .text {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.12em;
    line-height: 1.8;
    margin-bottom: 55px;
}

#top_business_sec .common_btn {
    margin-left: auto;
}

#top_recruit_sec {
    padding: 0 0 200px;
}

#top_recruit_sec .cont {
    align-items: flex-end;
    flex-wrap: nowrap;
}

#top_recruit_sec .cont .text_box {
    width: 471px;
    margin-right: -11px;
}

#top_recruit_sec .cont .text_box .en_ttl_box {
    align-items: center;
    margin-bottom: 16px;
}

#top_recruit_sec .cont .text_box .en_ttl_box .en_ttl {
    font-size: 22px;
    line-height: 1;
    margin-right: 20px;
}

#top_recruit_sec .cont .text_box .en_ttl_box .border {
    width: 50px;
    height: 2px;
    background-color: #000;
}

#top_recruit_sec .cont .text_box .ttl {
    font-size: 38px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1.4;
    margin-bottom: 25px;
}

#top_recruit_sec .cont .text_box .ttl .en {
    font-weight: bold;
    letter-spacing: normal;
    color: #5CC1D6;
}

#top_recruit_sec .cont .text_box .text {
    font-size: 14px;
    letter-spacing: 0.08em;
    line-height: 2;
    margin-bottom: 38px;
}

#top_recruit_sec .cont .img_wrap {
    width: 680px;
    height: 560px;
}

#top_recruit_sec .cont .img_wrap::before,
#top_recruit_sec .cont .img_wrap::after {
    content: "";
    position: absolute;
    background: linear-gradient(180deg, rgb(57, 202, 221) 0%, rgb(89, 140, 229) 100%);
    clip-path: polygon(0 0, 64% 0, 100% 100%, 36% 100%);
}

#top_recruit_sec .cont .img_wrap::before {
    top: -58px;
    left: 100px;
    width: 100%;
    height: 100%;
}

#top_recruit_sec .cont .img_wrap::after {
    bottom: -50px;
    left: 150px;
    width: 176px;
    height: 170px;
    z-index: 2;
}

#top_recruit_sec .cont .img_wrap .img {
    width: 100%;
    height: 100%;
    z-index: 1;
    clip-path: polygon(0 0, 64% 0, 100% 100%, 36% 100%);
}

#top_recruit_sec .cont .img_wrap .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#main_footer .footer_map_block .cont {
    flex-wrap: nowrap;
}

#main_footer .footer_map_block .cont .text_box {
    padding: 73px 0 82px calc(50vw - 620px);
    width: calc(50vw - 570px + 320px);
    background-color: #F7F7F7;
}

#main_footer .footer_map_block .cont .text_box .logo {
    display: block;
    width: 235px;
    line-height: 1;
    margin-bottom: 24px;
}

#main_footer .footer_map_block .cont .text_box .address {
    font-size: 14px;
    font-weight: 500;
    letter-spacing: 0.05em;
    line-height: 1.4;
    margin-bottom: 20px;
}

#main_footer .footer_map_block .cont .text_box .tel {
    font-size: 14px;
    line-height: 1;
    font-weight: bold;
    margin-bottom: 5px;
    letter-spacing: 0.03em;
}

#main_footer .footer_map_block .cont .text_box .tel .num {
    font-size: 20px;
}

#main_footer .footer_map_block .cont .text_box .tel a {
    color: #151515;
}

#main_footer .footer_map_block .cont .text_box .time {
    font-size: 12px;
    color: #8D8D8D;
    line-height: 1;
    letter-spacing: 0.05em;
    margin-bottom: 12px;
}

#main_footer .footer_map_block .cont .text_box .btn {
    display: block;
    width: 260px;
    line-height: 50px;
    text-align: center;
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    letter-spacing: 0.06em;
    background: linear-gradient(90deg, rgb(57, 202, 221) 0%, rgb(89, 140, 229) 100%);
}

#main_footer .footer_map_block .cont .text_box .btn::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    width: 12px;
    height: 11px;
    background-image: url(/wp-content/uploads/2022/10/arrow_white_right.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
}

#main_footer .footer_map_block .cont .map {
    width: calc(50vw - 570px + 820px);
    display: flex;
}

#main_footer .footer_map_block .cont .map iframe {
    width: 100%;
    height: 100%;
    -webkit-filter: grayscale(100%);
    -moz-filter: grayscale(100%);
    -ms-filter: grayscale(100%);
    -o-filter: grayscale(100%);
    filter: grayscale(100%);
    transition: 0.5s;
}

#main_footer .footer_map_block .cont .map iframe:hover {
    -webkit-filter: grayscale(0);
    -moz-filter: grayscale(0);
    -ms-filter: grayscale(0);
    -o-filter: grayscale(0);
    filter: grayscale(0);
}

#main_footer .footer_main_block {
    padding: 130px 0 40px;
    background-color: #151515;
}

#main_footer .footer_main_block .link_block {
    padding-bottom: 17px;
    margin-bottom: 17px;
    border-bottom: 2px solid #fff;
}

#main_footer .footer_main_block .link_block a::before {
    content: "";
    position: absolute;
    bottom: -7px;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    transition: 0.5s;
    transform-origin: center left;
    transform: scaleX(0);
}

#main_footer .footer_main_block .link_block a:hover::before {
    transform: scaleX(1);
}

#main_footer .footer_main_block .link_block .box {
    flex-wrap: nowrap;
}

#main_footer .footer_main_block .link_block .box+.box {
    margin-top: 40px;
}

#main_footer .footer_main_block .link_block .box .ttl {
    width: 272px;
    flex-shrink: 0;
    font-size: 20px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
}

#main_footer .footer_main_block .link_block .box .link_list ul {
    gap: 14px 30px;
}

#main_footer .footer_main_block .link_block .box .link_list ul li {
    line-height: 1;
}

#main_footer .footer_main_block .link_block .box .link_list ul li a {
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
}

#main_footer .footer_main_block .link_block .box .group_link_wrap .group_link_box {
    flex-wrap: nowrap;
}

#main_footer .footer_main_block .link_block .box .group_link_wrap .group_link_box+.group_link_box {
    margin-top: 17px;
}

#main_footer .footer_main_block .link_block .box .group_link_wrap .group_link_box .group_ttl {
    flex-shrink: 0;
    font-size: 14px;
    letter-spacing: 0.05em;
    color: #fff;
    width: 180px;
}

#main_footer .footer_main_block .link_block .box .group_link_wrap .group_link_box .group_link_list ul {
    gap: 10px 20px;
}

#main_footer .footer_main_block .link_block .box .group_link_wrap .group_link_box .group_link_list ul li {
    line-height: 1;
}

#main_footer .footer_main_block .link_block .box .group_link_wrap .group_link_box .group_link_list ul li a {
    font-size: 12px;
    line-height: 1;
    color: #fff;
    letter-spacing: 0.05em;
}

#main_footer .footer_main_block .link_block .sub_link_cont {
    margin-top: 75px;
    align-items: center;
}

#main_footer .footer_main_block .link_block .sub_link_cont .sub_link_list ul li+li {
    margin-left: 30px;
}

#main_footer .footer_main_block .link_block .sub_link_cont .sub_link_list ul li a {
    font-size: 14px;
    line-height: 1;
    color: #fff;
    letter-spacing: 0.03em;
}

#main_footer .footer_main_block .link_block .sub_link_cont .license {
    font-size: 12px;
    letter-spacing: 0.05em;
    color: #fff;
}

#main_footer .footer_main_block .copyright {
    text-align: center;
    font-size: 14px;
    line-height: 1;
    letter-spacing: 0.05em;
    color: #fff;
}

.archive_page .common_post_list ul li {
    margin-bottom: 50px;
}


/* wp-pagenavi base */

.wp-pagenavi {
    clear: both;
    text-align: center;
}

.wp-pagenavi a,
.wp-pagenavi span {
    color: #999;
    background-color: #FFF;
    border: none;
    padding: 8px 15px;
    margin: 0 2px;
    white-space: nowrap;
    -moz-border-radius: 3px;
    -webkit-border-radius: 3px;
    border-radius: 3px;
    -webkit-transition: 0.2s ease-in-out;
    -moz-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: #5CC1D6;
    border-color: #5CC1D6;
}

.wp-pagenavi .current {
    color: #FFF;
    background-color: #5CC1D6;
    border-color: #5CC1D6;
    font-weight: bold;
}

.single_breadcrumb {
    margin-bottom: 15px;
}

#single_page {
    padding: 20px 0 0;
}

#single_page .fl_wrap {
    align-items: flex-start;
}

.singleContent h1 {
    font-size: 22px;
    padding: 10px 40px;
    border-top: 1px solid;
    border-bottom: 1px solid;
    letter-spacing: 1px;
    line-height: 1.4;
}

.singleContent .single_title {
    margin-bottom: 50px;
}

.singleContent .single_title time {
    font-size: 12px;
    font-weight: 600;
}

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

.singleContent .category_list {
    margin-bottom: 20px;
}

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

.singleContent h2 {
    font-size: 20px;
    border-left: 2px solid;
    padding: 15px;
    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: -3px;
    width: 4px;
    height: 4px;
    background-color: #000;
    border-radius: 15px;
}

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

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

.singleContent h3 {
    position: relative;
    padding: 0.7rem 1rem;
    font-size: 18px;
    margin: 1.5em 0 1.5em 1em;
    color: #fff;
    background-color: #5CC1D6;
}

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

.singleContent h4:before {
    content: "■";
    padding-right: 10px;
}

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

.singleContent img {
    height: auto;
}

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

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

#single_page .singleContent {
    width: 62%;
}

#single_page .singleContent .ichiran_link {
    display: block;
    width: 300px;
    line-height: 50px;
    text-align: center;
    color: #fff;
    background-color: #333;
    margin: 50px auto 0 auto;
    font-size: 16px;
    transition: 0.3s;
}

#single_page .singleContent .ichiran_link:hover {
    opacity: 0.7;
}

#single_page .singleSidebar {
    width: 32%;
    background-color: #f1f1f1;
    padding: 20px;
}

#single_page aside#info-side {
    background-color: #fff;
    padding: 20px;
}

#single_page aside#info-side h2 {
    font-size: 20px;
    text-align: center;
    border-bottom: 2px solid;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
}

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

#single_page aside#info-side ul li a {
    color: initial;
    display: block;
    border-bottom: 1px dashed;
    padding: 10px;
    transition: 0.3s;
}

#single_page aside#info-side ul li a:hover {
    opacity: 0.7;
}

#single_page aside#info-side ul li a time {
    font-size: 12px;
    font-weight: 600;
}

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

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

#single_page .singleContent a[href$=".pdf"] {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    text-decoration: underline;
    color: #000;
    line-height: 1.5;
}

#single_page .singleContent a[href$=".pdf"]::before {
    content: "";
    display: block;
    flex-shrink: 0;
    width: 30px;
    height: 38px;
    background-image: url(/wp-content/uploads/2022/10/icon_pdf.svg);
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    margin-right: 15px;
}

#single_page .singleContent a[href$=".pdf"]:hover {
    text-decoration: none;
}


/*********************************************
 * PC固定ページ 共通設定
 *********************************************/

.common-page_wrap {
    padding: 100px 0;
}

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

.common-page_title h2 {
    font-size: 30px;
}

.common-page_title .sub_title {
    font-size: 14px;
    letter-spacing: 0.1em;
}

.reserve_text {
    text-align: center;
    font-size: 30px;
}

.common-btn {
    display: block;
    width: 300px;
    line-height: 50px;
    background-color: #333;
    color: #fff;
    margin: 0 auto;
    transition: 0.3s;
}

.common-btn:hover {
    opacity: 0.7;
}


/* パンくず */

.breadcrumb {
    font-size: 15px;
    color: #999999;
    transition: 0.3s;
}

.breadcrumb a {
    text-decoration: none;
    color: #000 !important;
}

.breadcrumb a:hover {
    transition: 0.3s;
    color: #999 !important;
}

.common-page_main {
    padding: 180px 0 80px;
    position: relative;
    z-index: 1;
}

.common-page_main::before,
.common-page_main::after {
    content: "";
    position: absolute;
    height: 100%;
    left: 57%;
    right: 0;
    top: 0;
    clip-path: polygon(20% 0%, 100% 0%, 100% 20%, 100% 100%, 100% 100%, 0% 100%, 0 100%, 20% 0%);
}

.common-page_main::before {
    background-image: url(/wp-content/uploads/2023/01/common_main_back.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

.common-page_main::after {
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.3) 20%);
}

.common-page_main .title_box {
    align-items: center;
    position: relative;
    z-index: 1;
}

.common-page_main .title_box .title {
    margin-right: 35px;
    font-size: 60px;
    font-weight: 900;
    line-height: 1.4;
    color: #5CC1D6;
    letter-spacing: 0.08em;
}

.common-page_main .title_box .sub_title {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.06em;
}

.common_bg_text {
    writing-mode: tb-rl;
    line-height: 1;
    position: absolute;
    top: 10vw;
    right: -6.5vw;
    font-size: 8vw;
    letter-spacing: 0.03em;
    color: transparent;
    -webkit-text-stroke: 1px #5CC1D6;
    z-index: -1;
}

.common_page_inner {
    background-image: url(/wp-content/uploads/2022/10/fv_designs.png);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    width: 30vw;
    height: 20vw;
}


/*********************************************
 * PC固定ページ LiveDesignについて
 *********************************************/

.common_about_page_ttl {
    font-size: 28px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.06em;
    padding-left: 45px;
    position: relative;
}

.common_about_page_ttl::after {
    content: "";
    position: absolute;
    background-image: url(/wp-content/uploads/2022/10/icon_border_blue.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 15px;
    height: 40px;
    left: 7px;
    top: -7px;
}

@keyframes animation-sample {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

.about_back_img {
    background-image: url(/wp-content/uploads/2023/01/about_back_img.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 30vw;
    position: relative;
}

.about_back_img::after {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    content: "";
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0.8) 0%, rgba(0, 0, 0, 0.5) 20%);
    animation-name: animation-sample;
    animation-duration: 2s;
    animation-fill-mode: forwards;
    animation-timing-function: ease-in;
}

.about_back_img .about_comment_box {
    font-size: 18px;
    color: #fff;
    text-align: center;
    line-height: 2;
    letter-spacing: 0.08em;
    position: absolute;
    left: 50%;
    bottom: 50%;
    transform: translate(-50%, 50%);
    z-index: 1;
}

.about_back_img .about_comment_box .comment .accent {
    font-size: 30px;
}

.about_back_img .about_comment_box .comment+.comment {
    margin-top: 20px;
}

#page_about .identity_sec {
    margin-top: 120px;
}

#page_about .identity_sec .identity_box {
    align-items: center;
    flex-wrap: nowrap;
    margin-top: 30px;
}

#page_about .identity_sec .identity_box .logo_img {
    width: 300px;
    flex-shrink: 0;
    margin-right: 60px;
}

#page_about .identity_sec .identity_box .live_design_box .ttl {
    color: #5CC1D6;
    font-size: 25px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.06em;
    margin-bottom: 10px;
}

#page_about .identity_sec .identity_box .live_design_box .box ul li {
    letter-spacing: 0.06em;
    line-height: 1.4;
}

#page_about .identity_sec .identity_box .live_design_box .box ul li+li {
    margin-top: 4px;
}

#page_about .identity_sec .identity_box .live_design_box .text {
    letter-spacing: 0.06em;
    line-height: 1.4;
}

#page_about .identity_sec .identity_box .live_design_box .text+.text {
    margin-top: 15px;
}

#page_about .identity_sec .identity_box .live_design_box+.live_design_box {
    margin-top: 50px;
}

#page_about .vision_sec {
    margin-top: 100px;
}

#page_about .vision_sec .vision_title {
    margin: 20px 0 5px;
    text-align: center;
    color: #5CC1D6;
    font-size: 25px;
    font-weight: 900;
    letter-spacing: 0.06em;
}

#page_about .vision_sec .sub_title {
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1;
    font-size: 20px;
}

#page_about .vision_sec .vision_text {
    text-align: center;
    margin-top: 30px;
    letter-spacing: 0.08em;
    line-height: 1.4;
}

#page_about .common_about_list {
    margin-top: 100px;
}


/*********************************************
 * PC固定ページ 経営理念
 *********************************************/

#page_about_value .value_title {
    color: #5CC1D6;
    font-size: 25px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1;
    text-align: center;
    margin-bottom: 30px;
    position: relative;
}

#page_about_value .value_title::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/uploads/2023/09/logo_re.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 450px;
    height: 450px;
    left: 50%;
    transform: translateX(-50%);
    bottom: -330px;
    z-index: -1;
    opacity: 0.15;
}

#page_about_value .text_box {
    letter-spacing: 0.08em;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 100px;
}

#page_about_value .text_box .text+.text {
    margin-top: 20px;
}

#page_about_value .guideline_sec {
    margin-top: 100px;
}

#page_about_value .guideline_sec .guideline_box {
    margin-top: 40px;
}

#page_about_value .guideline_sec .guideline_box ul li {
    position: relative;
}

#page_about_value .guideline_sec .guideline_box ul li .item_box {
    background: #5CC1D6;
    color: #fff;
    border-radius: 80px;
    padding: 15px 70px;
}

#page_about_value .guideline_sec .guideline_box ul li .item_box .number {
    position: absolute;
    background-color: #B1B1B1;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    color: #fff;
    font-weight: 600;
    text-align: center;
    padding-top: 10px;
    left: -3px;
    top: -2px;
}

#page_about_value .guideline_sec .guideline_box ul li .item_box .item {
    letter-spacing: 0.08em;
    line-height: 1;
    font-size: 17px;
    font-weight: 600;
}

#page_about_value .guideline_sec .guideline_box ul li .ex {
    font-size: 14px;
    letter-spacing: 0.06em;
    line-height: 1;
    margin: 10px 0 0 70px;
}

#page_about_value .guideline_sec .guideline_box ul li+li {
    margin-top: 30px;
}

#page_about_value .common_about_list ul li:nth-child(5) {
    margin-top: 40px;
}

#page_about_value .vision_title {
    margin: 20px 0 5px;
    text-align: center;
    color: #5CC1D6;
    font-size: 25px;
    font-weight: 900;
    letter-spacing: 0.06em;
}

#page_about_value .sub_title {
    text-align: center;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1;
    font-size: 20px;
}

#page_about_value .vision_text {
    text-align: center;
    margin-top: 30px;
    letter-spacing: 0.08em;
    line-height: 1.4;
}

#page_about_value .common_about_list {
    margin-top: 100px;
}



/*********************************************
 * PC固定ページ 会社概要
 *********************************************/

.company_profile {
    margin-bottom: 100px;
}

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

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

.company_profile table th {
    width: 20%;
}

#page_division.company_profile table th {
    width: 30%;
}

.company_profile table td {
    width: 80%;
}

.company_access .map {
    height: 350px;
}

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

.company_profile .company_box .company_common_ttl {
    margin-bottom: 40px;
}

.company_profile .company_box+.company_box {
    margin-top: 80px;
}

.company_profile .company_box .tab_box ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0 30px;
}

.company_profile .company_box .tab_box li {
    border: solid 2px #5CC1D6;
    text-align: center;
    padding: 0.5em;
    background-color: #FFF;
    color: #5CC1D6;
    font-weight: 700;
    letter-spacing: .04em;
    transition: .3s;
    cursor: pointer;
}

.company_profile .company_box .tab_box {
    margin-bottom: 30px;
}

.company_profile .company_box .tab_box li.active {
    background-color: #5CC1D6;
    color: #FFF;
}

.vision_map_sec {
    margin-top: 85px;
}

.vision_map_sec .vision_map_box {
    margin-top: 50px;
}

.vision_map_sec .vision_map_box ul li {
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
    padding: 20px 10px 20px 20px;
    align-items: center;
}

.vision_map_sec .vision_map_box ul li .img_box {
    width: 340px;
    margin-right: 130px;
}

.vision_map_sec .vision_map_box ul li .img_box .ttl {
    text-align: center;
    color: #5CC1D6;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-bottom: 20px;
    font-size: 32px;
}

.vision_map_sec .vision_map_box ul li .img_box .icon_img {
    width: 30%;
    margin: 0 auto;
}

.vision_map_sec .vision_map_box ul li .text_box .text_ttl {
    font-size: 25px;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-bottom: 30px;
    font-weight: 600;
}

.vision_map_sec .vision_map_box ul li .text_box .text .content {
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.08em;
}

.vision_map_sec .vision_map_box ul li .text_box .text .content .accent {
    color: #5CC1D6;
    font-size: 24px;
    font-weight: 600;
    display: inline-block;
    margin: 0 5px;
}

.vision_map_sec .vision_map_box ul li .text_box .text .content+.content {
    margin-top: 10px;
}

.vision_map_sec .vision_map_box ul li+li {
    margin-top: 30px;
}


/*********************************************
 * PC固定ページ 代表メッセージ
 *********************************************/

#page_message .common_page_inner {
    right: 0;
    top: 520px;
}

#page_message .message_box {
    flex-wrap: nowrap;
    align-items: center;
}

#page_message .message_box .ceo_img {
    width: 500px;
    height: 600px;
    flex-shrink: 0;
    margin-right: auto;
    background-image: url(/wp-content/uploads/2022/11/ceo.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}

#page_message .message_box .ceo_text {
    padding-right: calc(50vw - 570px);
    margin-top: 80px;
    margin-left: 145px;
}

#page_message .message_box .ceo_text .ttl {
    font-size: 30px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.4;
}

#page_message .message_box .ceo_text .ttl::first-letter {
    color: #5CC1D6;
}

#page_message .message_box .ceo_text .text_box {
    margin-top: 60px;
    line-height: 1.6;
}

#page_message .message_box .ceo_text .text_box .text {
    letter-spacing: 0.06em;
    line-height: 1.5;
    font-size: 15px;
}

#page_message .message_box .ceo_text .text_box .text+.text {
    margin-top: 30px;
}

#page_message .message_box .ceo_text .text_box .ceo_name {
    font-size: 15px;
    margin-top: 50px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-align: end;
}


/*********************************************
 * PC固定ページ 沿革
 *********************************************/

#page_history .page_history_box .common_about_page_ttl {
    font-size: 22px;
    padding: 0;
}

#page_history .page_history_box .common_about_page_ttl::first-letter {
    color: #5CC1D6;
}

#page_history .page_history_box .common_about_page_ttl::after {
    display: none;
}

#page_history .page_history_box .history_box {
    margin-top: 30px;
}

#page_history .page_history_box .history_box ul li {
    padding: 30px 0 30px 30px;
    border-left: solid 3px #5CC1D6;
    position: relative;
}

#page_history .page_history_box .history_box ul li .history_ttl {
    font-size: 17px;
    letter-spacing: 0.06em;
    line-height: 1;
    font-weight: 600;
    margin-bottom: 10px;
}

#page_history .page_history_box .history_box ul li .history_ttl .day {
    color: #5CC1D6;
    font-size: 25px;
    display: inline-block;
    margin-right: 10px;
}

#page_history .page_history_box .history_box ul li .contents {
    line-height: 1.4;
    letter-spacing: 0.06em;
    font-size: 14px;
}

#page_history .page_history_box .history_box ul li .change {
    margin-top: 20px;
    font-weight: 400;
}

#page_history .page_history_box .history_box ul li:nth-last-child(2) {
    padding: 30px 0 60px 30px;
}

#page_history .page_history_box .history_box ul li:first-child {
    padding: 0px 0 20px 30px;
}

#page_history .page_history_box .history_box ul li:last-child {
    border-left: none;
    padding: 0px 0 30px 30px;
}

#page_history .page_history_box .history_box ul li:last-child::before {
    left: -6.7px;
}

#page_history .page_history_box .history_box ul li::before {
    content: "";
    position: absolute;
    width: 16px;
    height: 16px;
    left: -9.7px;
    border-radius: 50%;
    background-color: #5CC1D6;
}

#page_history .page_history_box+.page_history_box {
    margin-top: 80px;
}


/*********************************************
 * PC固定ページ 組織図
 *********************************************/

#page_organization .title {
    display: block;
    width: 200px;
    line-height: 60px;
    text-align: center;
    color: #fff;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.05em;
    background: linear-gradient(90deg, rgb(57, 202, 221) 0%, rgb(89, 140, 229) 100%);
    transition: 0.5s;
}

#page_organization .img {
    margin-top: 50px;
    height: 350px;
}

#page_organization .img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

#page_organization .box.tyukai .img {
    height: 720px;
}

#page_organization .box+.box {
    margin-top: 100px;
}

#page_organization .long_border {
    flex: 1;
    height: 1.5px;
    background-color: #9D9F9E;
    margin-left: 50px;
}

#page_organization .title_area {
    align-items: center;
}

#page_organization .box.kanri .img {
    /* height: 692px; */
    height: 440px;
}


#page_organization .border_box {
    width: 30px;
    height: 87px;
    margin-right: 25px;
    overflow: hidden;
}

#page_organization .border {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-13deg);
    -webkit-transform: translate(-50%, -50%) rotate(-13deg);
    -ms-transform: translate(-50%, -50%) rotate(-13deg);
    width: 10px;
    height: 91px;
    background-color: #5CC1D6;
}

#page_organization .ttl {
    font-size: 19px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 5px;
}

#page_organization .en_ttl {
    font-size: 60px;
    line-height: 1;
    font-weight: bold;
}





/*********************************************
 * PC固定ページ 部署
 *********************************************/

#page_division .report_box {
    margin-top: 100px;
    flex-wrap: nowrap;
}

#page_division .report_box .text_box {
    padding-left: calc(50vw - 570px);
    margin-top: 110px;
    margin-right: 170px;
}

#page_division .report_box .text_box .message_ttl {
    font-size: 30px;
    color: #5CC1D6;
    letter-spacing: 0.08em;
    line-height: 1;
    font-weight: 600;
}

#page_division .report_box .text_box .box {
    margin-top: 70px;
}

#page_division .report_box .text_box .box .text {
    font-size: 15px;
    letter-spacing: 0.06em;
    line-height: 1.6;
}

#page_division .report_box .text_box .box .text+.text {
    margin-top: 18px;
}

#page_division .report_box .message_img {
    background-image: url(/wp-content/uploads/2022/10/top_recruit_img-scaled.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 500px;
    height: 600px;
    margin-left: auto;
    flex-shrink: 0;
}


/*********************************************
 * PC固定ページ 事業内容について
 *********************************************/

#page_business .business_box ul {
    justify-content: flex-start;
    gap: 0 30px;
}

#page_business .business_box ul li {
    width: 31%;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.16);
    position: relative;
    background-color: #fff;
}

#page_business .business_box ul li::after {
    content: "";
    position: absolute;
    background-image: url(/wp-content/uploads/2022/10/icon_arrow_black.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 15px;
    height: 15px;
    right: 15px;
    bottom: 23px;
    transition: 0.3s;
}

#page_business .business_box ul li:hover::after {
    right: 10px;
    transition: 0.3s;
}

#page_business .business_box ul li .link_box {
    width: 100%;
}

#page_business .business_box ul li .link_box .img {
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 180px;
}

#page_business .business_box ul li .link_box .ttl {
    font-size: 20px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-top: 20px;
    margin-bottom: 5px;
    padding: 0 10px;
    color: #5CC1D6;
}

#page_business .business_box ul li .link_box .ex {
    color: #212121;
    padding: 0 10px 20px;
    font-size: 15px;
    letter-spacing: 0.06em;
    line-height: 1.5;
}

#page_business .business_box ul li:nth-child(n+4) {
    margin-top: 30px;
}


/*********************************************
 * PC固定ページ 事業内容各ページ
 *********************************************/

.common_business_page .comment_theme {
    text-align: center;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.08em;
}

.common_business_page .box {
    margin-top: 120px;
}

.common_business_page .box .box_ttl_box {
    margin-bottom: 50px;
    text-align: center;
    position: relative;
}

.common_business_page .box .box_ttl_box::after {
    position: absolute;
    content: "";
    background-image: url(/wp-content/uploads/2022/10/common_back_mark.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    opacity: 0.4;
    top: -50px;
    left: 50%;
    transform: translate(-50%);
    width: 90px;
    height: 90px;
    z-index: -1;
}

.common_business_page .box .box_ttl_box .ttl {
    display: inline-block;
    color: #5CC1D6;
    font-weight: 900;
    font-size: 30px;
}

.common_business_page .box .box_ttl_box .text {}

.common_business_page .box ul li {
    flex-wrap: nowrap;
    align-items: center;
}

.common_business_page .box ul li .img {
    width: 480px;
    height: 350px;
    flex-shrink: 0;
    margin-right: 100px;
    position: relative;
}

.common_business_page .box ul li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_business_page .box ul li .img::before,
.common_business_page .box ul li .img::after {
    content: "";
    position: absolute;
    width: 1px;
    height: 75px;
    background-color: #5CC1D6;
    transform: rotate(45deg);
}

.common_business_page .box ul li .img::before {
    top: -23px;
    left: 15px;
}

.common_business_page .box ul li .img::after {
    bottom: -23px;
    right: 15px;
}

.common_business_page .box ul li .text_box .title {
    color: #5CC1D6;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1.4;
    font-size: 20px;
    margin-bottom: 30px;
}

.common_business_page .box ul li .text_box .text {
    font-size: 14px;
    line-height: 1.5;
    letter-spacing: 0.06em;
}

.common_business_page .box ul li .text_box .text+.text {
    margin-top: 17px;
}

.common_business_page .box ul li:nth-child(even) {
    flex-direction: row-reverse;
}

.common_business_page .box ul li:nth-child(even) .img {
    margin-right: 0;
    margin-left: 100px;
}

.common_business_page .box ul li+li {
    margin-top: 40px;
}

.common_business_page .link_btn {
    width: 100%;
    margin-top: 100px;
    transition: 0.5s;
}

.common_business_page .link_btn .btn {
    text-align: center;
    color: #fff;
    background: repeating-linear-gradient(5deg, #023793 0, #39CADD 100%);
    padding: 20px 0;
    width: 100%;
    font-size: 22px;
    display: block;
    position: relative;
    transition: 0.5s;
    z-index: 10;
}

.common_business_page .link_btn .btn::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    transition: 0.5s;
    opacity: 1;
    background: repeating-linear-gradient(5deg, #39CADD 0, #023793 100%);
    z-index: -1;
}

.common_business_page .link_btn .btn::after {
    content: "";
    position: absolute;
    background-image: url(/wp-content/uploads/2022/10/shop_icon_white.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 20px;
    height: 20px;
    right: 40px;
    top: 50%;
    transform: translateY(-50%);
}

.common_business_page .link_btn .btn:hover::before {
    opacity: 0;
    transition: 0.5s;
}


/*********************************************
 * PC固定ページ 採用情報
 *********************************************/

#page_recruit .recruit_back {
    background-image: url(/wp-content/uploads/2022/10/fv_img1-scaled.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    width: 100%;
    height: 25vw;
    position: relative;
}

#page_recruit .recruit_back::after {
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    position: absolute;
    content: "";
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.2) 20%);
}

#page_recruit .recruit_back .ab_text_box {
    position: absolute;
    left: 50%;
    bottom: 50%;
    transform: translate(-50%, 50%);
    z-index: 1;
}

#page_recruit .recruit_back .ab_text_box .text {
    text-align: center;
    font-size: 2vw;
    font-weight: 900;
    line-height: 1.6;
    letter-spacing: 0.06em;
}

#page_recruit .recruit_back .ab_text_box .text .accent {
    color: #5CC1D6;
    font-weight: 900;
    letter-spacing: 0.08em;
    font-size: 2.7vw;
}

#page_recruit .recruit_stuff {
    margin: 100px 0px 150px;
}

#page_recruit .recruit_stuff .stuff_box {
    margin-top: 40px;
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box {
    align-items: center;
    flex-wrap: nowrap;
    position: relative;
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box::after {
    content: "";
    position: absolute;
    background-image: url(/wp-content/uploads/2022/10/common_back_mark.svg);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    width: 220px;
    height: 250px;
    right: -80px;
    bottom: 310px;
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .stuff_img {
    width: 600px;
    height: 520px;
    filter: drop-shadow(20px 20px 0 #5CC1D6);
    flex-shrink: 0;
    margin-right: 90px;
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .stuff_img img {
    height: 100%;
    object-fit: cover;
    clip-path: polygon(100px 0%, 100% 0%, calc(100% - 100px) 100%, 0% 100%);
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .name_box .name {
    font-size: 40px;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1;
    margin-bottom: 20px;
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .name_box .position {
    font-size: 20px;
    letter-spacing: 0.06em;
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .ab_en_name {
    position: absolute;
    font-size: 80px;
    opacity: 0.4;
    color: #5CC1D6;
    bottom: 1px;
    right: -100px;
    letter-spacing: 0.06em;
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom {
    margin-top: 80px;
    flex-wrap: nowrap;
    flex-direction: row-reverse;
    align-items: center;
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom .stuff_content_img {
    width: 450px;
    height: 560px;
    flex-shrink: 0;
    margin-left: 60px;
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom .stuff_content_img img {
    height: 100%;
    object-fit: cover;
    clip-path: polygon(0 0, 80% 0, 100% 100%, 20% 100%);
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom .stuff_content_text .content_box .ttl {
    color: #5CC1D6;
    font-weight: 600;
    letter-spacing: 0.06em;
    line-height: 1;
    font-size: 22px;
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom .stuff_content_text .content_box .content {
    font-size: 14px;
    letter-spacing: 0.06em;
    line-height: 1.6;
    margin-top: 8px;
}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom .stuff_content_text .content_box+.content_box {
    margin-top: 60px;
}

#page_recruit .recruit_stuff .stuff_box ul li+li {
    margin-top: 150px;
}


/*********************************************
 * PC固定ページ お問い合わせ
 *********************************************/

#page_contact table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 50px;
}

#page_contact table th,
#page_contact table td {
    padding: 1em;
    font-size: 14px;
}

#page_contact table th {
    width: 25%;
}

#page_contact table th .hissu {
    color: #c70000;
    margin-right: 0.3em;
}

#page_contact table td {
    width: 75%;
}

#page_contact input[type=text],
#page_contact input[type=email],
#page_contact #zip {
    width: 60%;
    height: 50px;
    border: 1px solid #ccc;
    padding: 1em;
}

#page_contact input.tel {
    border: 1px solid #ccc;
    padding: 1em;
    width: 18.8%;
}

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

#page_contact textarea {
    width: 60%;
    border: 1px solid #ccc;
    padding: 1em;
    height: 200px;
}

#page_contact .attention {
    font-size: 12px;
}

#page_contact #btn_wrap {
    justify-content: center;
}

#page_contact #btn_wrap button {
    background: rgb(57, 202, 221);
    background: linear-gradient(90deg, rgb(57, 202, 221) 0%, rgb(89, 140, 229) 100%);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 300px;
    line-height: 50px;
    border-radius: 50px;
    font-size: 15px;
    transition: 0.3s;
    text-align: center;
}

#page_contact #btn_wrap button[name=submitBack] {
    background-color: #333;
    margin-right: 20px;
}

#page_contact #btn_wrap button:hover {
    background: #023793;
    transition: 0.3s;
}


/* ラジオボタン デザイン */


/* ラジオボタンを隠す */

.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: 20px;
    height: 20px;
    top: 0;
    left: 0;
}


/* after上書き */

.radio-btns .radio-btns__item+span::after {
    width: 14px;
    height: 14px;
    top: 3px;
    left: 3px;
    border: none;
    background: #f18800;
    -webkit-transform: scale(0);
    /*--ここを0にすることで下線は非表示となる--*/
    -ms-transform: scale(0);
    /*--ここを0にすることで下線は非表示となる--*/
    transform: scale(0);
    transition: all 0.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);
}


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

#page_contact input[type=checkbox] {
    /* デフォルトcheckボックス非表示*/
    display: none;
}

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

.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: 2px;
    width: 20px;
    height: 20px;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
    border-width: 3px;
    border-color: transparent transparent #f18800 #f18800;
    border-style: solid;
    width: 20px;
    height: 10px;
    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: 10px;
    margin-bottom: 10px;
    display: inline-block;
}


/* サンクスページ */

#page_contact .thanks_textArea {
    text-align: center;
}

#page_contact .thanks_textArea p {
    font-size: 16px;
    line-height: 2;
}

#page_contact .thanks_textArea .contact_text {
    margin-bottom: 20px;
}

#page_contact .thanks_textArea .ichiran_link {
    background: rgb(57, 202, 221);
    background: linear-gradient(90deg, rgb(57, 202, 221) 0%, rgb(89, 140, 229) 100%);
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
    color: #fff;
    display: block;
    width: 300px;
    line-height: 50px;
    border-radius: 50px;
    font-size: 15px;
    transition: 0.3s;
    margin: 0 auto;
    text-decoration: none;
}

#page_contact .thanks_textArea .ichiran_link:hover {
    background-color: #bf0000;
}


/* ステップバー デザイン */

#page_contact .progressbar {
    margin-bottom: 30px;
}

#page_contact .progressbar .item {
    position: relative;
    width: 33%;
    text-align: center;
    position: relative;
    align-items: center;
    justify-content: center;
    padding: 13px 0;
    line-height: 1.5;
    background: #F5F5F5;
    color: #999999;
}

#page_contact .progressbar .item:not(:last-child)::before,
#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;
}

#page_contact .progressbar .item:not(:last-child)::before {
    margin-left: 1px;
    border-left-color: #FFF;
}


/* active */

#page_contact .progressbar .item.active {
    z-index: 1;
    background: rgb(57, 202, 221);
    background: linear-gradient(90deg, rgb(57, 202, 221) 0%, rgb(89, 140, 229) 100%);
    color: #FFF;
}

#page_contact .progressbar .item.active:not(:last-child)::after {
    border-left-color: rgb(89, 140, 229);
}

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


/*********************************************
 * PC固定ページ 個人情報保護方針
 *********************************************/

.privacy_page .main_text {
    font-size: 16px;
    line-height: 2;
    margin-bottom: 3em;
}

.privacy_page dl {
    margin-bottom: 30px;
}

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

.privacy_page dl dt {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 0.5em;
    border-left: 5px solid #5CC1D6;
    padding-left: 1em;
}

.privacy_page dl dd {
    font-size: 14px;
    line-height: 2;
}


/*********************************************
 * PC固定ページ 404ページ
 *********************************************/

#page-404 {
    text-align: center;
}

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

#page-404 .text {
    margin-bottom: 1em;
    font-size: 16px;
}

#top_message_sec .text_ticker {
    margin-bottom: 50px;
}

.recruit_back_btn {
    margin: 0 auto;
}

#page_recruit section.recruit_top_staff .stuff_box ul li {
    width: 32%;
}

#page_recruit section.recruit_top_staff .stuff_box ul li+li {
    margin-top: 0;
}

#page_recruit section.recruit_top_staff.recruit_stuff .stuff_box ul li .stuff_img_box .stuff_img {
    width: 100%;
    height: 340px;
    margin-right: 0;
}

#page_recruit .recruit_stuff.recruit_top_staff .stuff_box ul li .stuff_img_box::after {
    display: none;
}

#page_recruit section.recruit_top_staff.recruit_stuff .stuff_box ul li .stuff_img_box .name_box {
    position: absolute;
    right: 0px;
    bottom: 20px;
}

#page_recruit section.recruit_top_staff.recruit_stuff .stuff_box ul li .stuff_img_box .name_box p {
    background: #fff;
    display: table;
    padding: 5px 10px;
    color: #333;
    margin-left: auto;
}

#page_recruit section.recruit_top_staff.recruit_stuff .stuff_box ul li .stuff_img_box .name_box .name {
    font-size: 20px;
    margin-bottom: 5px;
}

#page_recruit section.recruit_top_staff.recruit_stuff .stuff_box ul li .stuff_img_box .name_box .position {
    font-size: 13px;
}

#page_recruit .recruit_stuff.recruit_top_staff .stuff_box ul li .stuff_img_box .ab_en_name {
    font-size: 20px;
    right: 0;
    bottom: -55px;
    left: 0;
    text-align: center;
    padding-right: 70px;
    opacity: 1;
    font-weight: bold;
}

#page_recruit .recruit_stuff .stuff_box ul li a:hover .stuff_img_box .stuff_img {
    filter: drop-shadow(20px 20px 0 #3ac7dd);

}

#page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .stuff_img {
    transition: .2s;
}

section.entry_form_area .company_common_ttl {
    margin-bottom: 40px;
}

.form_addr .flex {
    align-items: center;
}

.form_addr .flex+.flex {
    margin-top: 10px;
}

.form_addr .flex .label {
    width: 140px;
    font-weight: bold;
}

.form_addr .flex .input {
    width: calc(100% - 140px);
}

#page_contact .form_addr .flex .input input {
    width: 355px;
}

#page_contact .form_addr .flex .input input#zip {
    width: 150px;
}

.flame_heading {
    font-size: 20px;
    letter-spacing: .05em;
    margin-bottom: 15px;
}

.tenant_image_box {
    margin-top: 70px;
}

.common_page_store .store_detail_box {
    display: grid;
    grid-template-columns: 42% 55%;
    gap: 30px;
}

.common_page_store .store_detail_box .img {
    height: auto;
}

.common_page_store .store_detail_box .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.common_page_store .store_detail_box .detail dl {
    display: grid;
    grid-template-columns: 25% 75%;
    box-shadow: 0 2px 3px rgb(0, 0, 0, 0.16);
}

.common_page_store .store_detail_box .detail dl+dl {
    margin-top: 5px;
}

.common_page_store .store_detail_box .detail dt {
    text-align: center;
    display: grid;
    align-items: center;
    letter-spacing: 0.02em;
    background: linear-gradient(90deg, rgb(57, 202, 221) 0%, rgb(89, 140, 229) 100%);
    color: #fff;
}

.common_page_store .store_detail_box .detail dd {
    padding: 15px;
    letter-spacing: 0.02em;
}

.common_page_store .en_ttl {
    font-size: 46px;
    line-height: 1;
    font-weight: bold;
}

.common_page_store .ttl {
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 10px;
}

.common_page_store .border_box {
    width: 30px;
    height: 68px;
    margin-right: 20px;
    overflow: hidden;
}

.common_page_store .border_box .border {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-16deg);
    -webkit-transform: translate(-50%, -50%) rotate(-16deg);
    -ms-transform: translate(-50%, -50%) rotate(-16deg);
    width: 10px;
    height: 74px;
    background-color: #5CC1D6;
}

.common_page_store .map_area {
    margin-top: 60px;
}

.common_page_store .map_area .map {
    margin-top: 30px;
    height: 400px;
}

.common_page_store .tll_area .long_border {
    flex: 1;
    margin-left: 50px;
    height: 1px;
    background-color: #9D9F9E;
}

.common_page_store .tll_area {
    align-items: center;
}

#store_menu .menu_block .list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}

#store_menu .menu_block .list li a {
    display: grid;
    grid-template-columns: 40% 60%;
    height: 100%;
    min-height: 125px;
}

#store_menu .menu_block .list li a {
    box-shadow: 0 2px 3px rgb(0, 0, 0, 0.16);
}

#store_menu .menu_block .list li a .text_area {
    color: #151515;
    padding: 15px;
}

#store_menu .menu_block .list li a .text_area .store {
    line-height: 1;
    font-weight: bold;
    font-size: 15px;
    letter-spacing: 0.03em;
    transition: .3s;
}

#store_menu .menu_block .list li a .text_area .name {
    font-weight: bold;
    letter-spacing: 0.1em;
    border-bottom: solid 1px #9D9F9E;
    transition: .3s;
}

#store_menu .menu_block .list li a .img {
    overflow: hidden;
}

#store_menu .menu_block .list li a .img img {
    height: 100%;
    object-fit: cover;
    width: 100%;
    transition: .3s;
}

#store_menu .menu_block .list li a .text_area .add {
    font-size: 14px;
    letter-spacing: 0.03em;
    line-height: 1.5;
    margin-top: 10px;
}

#store_menu .ttl_box {
    align-items: center;
    margin-bottom: 20px;
}

#store_menu .border {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-13deg);
    -webkit-transform: translate(-50%, -50%) rotate(-13deg);
    -ms-transform: translate(-50%, -50%) rotate(-13deg);
    width: 10px;
    height: 91px;
    background-color: #5CC1D6;
}

#store_menu .border_box {
    width: 30px;
    height: 87px;
    margin-right: 30px;
    overflow: hidden;
}

#store_menu .ttl {
    font-size: 19px;
    font-weight: 900;
    line-height: 1;
    margin-bottom: 10px;
}

#store_menu .en_ttl {
    font-size: 55px;
    line-height: 1;
    font-weight: bold;
}


#store_menu .menu_block {
    margin-top: 50px;
}

#store_menu {
    padding-bottom: 200px;
}

.service_page_btn {
    padding-top: 50px;
}

.service_page_btn .common_btn {
    margin: auto;
}

.common_page_store .store_detail_box .detail dd .store {
    text-decoration: underline;
    color: #151515;
    transition: .3s;
}

.common_page_store .store_detail_box .detail dd .store:hover {
    color: #5bc1d6;
}

/* スタッフ */

.single_staff .staff_sec {
    padding: 100px 40px;
    background-color: #F8F8F8;
}

.single_staff .staff_sec .page_text_box .ttl_box {
    align-items: center;
    margin-bottom: 50px;
}

.staff_sec .page_text_box .ttl_box .border_box.pr {
    width: 30px;
    height: 87px;
    margin-right: 30px;
    overflow: hidden;
}

.staff_sec .page_text_box .ttl_box .border_box.pr .border {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-13deg);
    -webkit-transform: translate(-50%, -50%) rotate(-13deg);
    -ms-transform: translate(-50%, -50%) rotate(-13deg);
    width: 10px;
    height: 91px;
    background-color: #5CC1D6;
}

.staff_sec .page_text_box .ttl_box .ttl_text_box .ttl {
    font-size: 18px;
    font-weight: bold;
    line-height: 1;
    margin-bottom: 1em;
    color: #5CC1D6;
}

.staff_sec .page_text_box .ttl_box .ttl_text_box .en_ttl.hel {
    font-size: 65px;
    line-height: 1;
    font-weight: bold;
}

.single_staff .staff_list ul li .cont {
    display: flex;
    gap: 30px;
    align-items: center;
    margin-bottom: 35px;
}

.single_staff .staff_list ul li .cont .img {
    width: 450px;
    flex-shrink: 0;
}

.single_staff .staff_list ul li .cont .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.single_staff .staff_list ul li .cont .item .name_box .catch {
    font-size: 20px;
    letter-spacing: .03em;
    font-weight: 700;
}

.single_staff .staff_list ul li .cont .item .catch .text {
    font-size: 0.9em;
    display: block;
    font-weight: 500;
}

.single_staff .staff_list ul li .cont .item .name_box {
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-bottom: 10px;
}

.single_staff .staff_list ul li .cont .item .name_box .text_area .name {
    font-size: 16px;
    letter-spacing: .03em;
}

.single_staff .staff_list ul li .cont .item .name_box .text_area .name .en_text.hel {
    font-size: 0.8em;
}

.single_staff .staff_list ul li .cont .item .name_box .catch::first-letter {
    color: #588fe5;
    font-size: 22px;
    margin-right: .1em;
}

.single_staff .staff_list ul li .cont .item .name_box .en_text {
    font-size: 15px;
    letter-spacing: .03em;
}

.single_staff .staff_list ul li .cont .item .text_area .catch {
    font-size: 16px;
    font-weight: 700;
    color: #588fe5;
}

.single_staff .staff_list ul li .cont .item .text_area+.text_area {
    margin-top: 5px;
}

.single_staff .staff_list ul li .text_box {
    padding: 25px;
    background-color: #f8fbff;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.06);
}

.single_staff .staff_list ul li .text_box .catch {
    font-weight: 700;
    margin-bottom: .3em;
    font-size: 20px;
    color: #588fe5;
}

.single_staff .staff_list ul li .text_box .text {
    font-size: 16px;
    color: #6b6b6b;
    line-height: 1.8;
}

.single_staff .staff_list ul li .cont .item .text_area .text {
    font-size: 15px;
    letter-spacing: .03em;
    color: #6b6b6b;
    line-height: 1.8;
}

.single_staff .staff_list ul li+li {
    margin-top: 50px;
}

.single_staff .staff_list ul li {
    padding: 60px;
    background-color: #fff;
}

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

.corporation_page .staff_sec {
    padding: 100px 40px;
    background-color: #F8F8F8;
    margin-top: 100px;
}

.corporation_page .staff_sec .ttl_box.flex {
    margin-bottom: 40px;
}

.corporation_page .staff_sec .staff_list .staff-box {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 40px;
}

.corporation_page .staff_sec .staff_list .staff-box .item {
    background-color: #fff;
}

.corporation_page .staff_sec .staff_list .staff-box .item a {
    display: block;
}

.corporation_page .staff_sec .staff_list .staff-box .item a .img {
    width: 100%;
    height: 210px;
}

.corporation_page .staff_sec .staff_list .staff-box .item a .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.corporation_page .staff_sec .staff_list .staff-box .item a .ttl_box {
    padding: 20px;
    text-align: center;
}

.corporation_page .staff_sec .staff_list .staff-box .item a .ttl_box .title {
    font-size: 20px;
    color: #151515;
    font-weight: 700;
    letter-spacing: .06em;
}

.corporation_page .staff_sec .staff_list .staff-box .item a .ttl_box .en_ttl {
    font-size: 14px;
    color: #151515;
}

/* PC_追従バナー */
.floating_banner {
    width: 250px;
    position: fixed;
    bottom: 30px;
    right: 0;
    z-index: 2;
    display: none;
}

.floating_banner a {
    -webkit-transition: 0.3s;
    transition: 0.3s;
}

.floating_banner img {
    width: 100%;
    position: relative;
}

.floating_banner img img {
    width: 100%;
    aspect-ratio: 25/25;
    -o-object-fit: cover;
    object-fit: cover;
}

.floating_banner .close_button {
    width: 20px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    border: 2px solid #0D79E6;
    background-color: #fff;
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
}

.floating_banner .close_button::before,
.floating_banner .close_button::after {
    content: "";
    width: 8.4px;
    aspect-ratio: 1/1;
    height: 1.5px;
    background-color: #0D79E6;
    position: absolute;
    top: 50%;
    left: 50%;
}

.floating_banner .close_button::before {
    -webkit-transform: translate(-50%, -50%) rotate(45deg);
    transform: translate(-50%, -50%) rotate(45deg);
}

.floating_banner .close_button::after {
    -webkit-transform: translate(-50%, -50%) rotate(-45deg);
    transform: translate(-50%, -50%) rotate(-45deg);
}


@media(hover:hover) {

    #store_menu .menu_block .list li a:hover .name,
    #store_menu .menu_block .list li a:hover .store {
        color: #5CC1D6;
    }


    #store_menu .menu_block .list li a:hover .img img {
        transform: scale(1.2);
    }
}




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

    .sp {
        display: block;
    }

    .wrap {
        max-width: 90%;
    }

    body {
        font-size: 3.5vw;
        line-height: 1.5;
        padding-top: 55px;
        min-width: auto;
    }

    #sp_header {
        position: fixed;
        left: 0;
        top: 0;
        width: 100%;
        background: #fff;
        box-shadow: 1px 1px #ccc;
        z-index: 999;
        height: 55px;
    }

    #sp_header .logo {
        position: absolute;
        left: 10px;
        top: 19px;
        line-height: 0;
    }

    #sp_header .logo img {
        height: 18px;
        width: auto;
    }

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

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

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

    #fv_sec {
        overflow: hidden;
    }

    #fv_sec .img_wrap.img1 {
        top: auto;
        bottom: 0;
        width: 110vw;
        right: -50vw;
        animation-delay: 0.5s;
    }

    #fv_sec .img_wrap.img2 {
        top: 10vw;
        bottom: auto;
        width: 57vw;
        animation-delay: 0.6s;
    }

    #fv_sec .img_wrap .img {
        width: 100%;
        padding-top: 128%;
        clip-path: polygon(40% 0%, 100% 0%, 60% 100%, 0% 100%);
    }

    #fv_sec .designs_wrap {
        width: 122vw;
        left: 0;
        bottom: 0;
        z-index: -1;
    }

    #fv_sec .inner {
        width: 100%;
        margin: 0 auto;
        padding: 0 0 0 5vw;
    }

    #fv_sec .inner .cont {
        padding: 56vw 0 30vw;
    }

    #fv_sec .inner .cont .text_box {
        margin-left: 0;
        display: block;
    }

    #fv_sec .inner .cont .text_box .border_box {
        display: none;
    }

    #fv_sec .inner .cont .text_box .border_box .value_text_box {
        margin-bottom: 7vw;
    }

    #fv_sec .inner .cont .text_box .border_box .value_text_box .value_text {
        font-size: 10px;
    }

    #fv_sec .inner .cont .text_box .border_box .border {
        width: 1px;
        height: 47vw;
    }

    #fv_sec .inner .cont .text_box .text_main .en_ttl {
        font-size: 10.5vw;
        margin-bottom: 3vw;
    }

    #fv_sec .inner .cont .text_box .text_main .en_ttl .sp_white {
        color: #fff;
        margin-left: 4vw;
    }

    #fv_sec .inner .cont .text_box .text_main .text {
        font-size: 3.6vw;
        letter-spacing: 0.16em;
        line-height: 1.8;
        margin-bottom: 8vw;
    }

    #fv_sec .inner .cont .text_box .text_main .text .white_pc {
        color: #151515;
    }

    #fv_sec .inner .cont .text_box .text_main .text .white_sp {
        color: #fff;
    }

    #fv_sec .inner .cont .text_box .text_main .btn {
        width: 90vw;
        line-height: 13vw;
        font-size: 3.6vw;
    }

    #fv_sec .inner .cont .text_box .text_main .btn .en {
        font-size: 3.8vw;
    }

    #fv_sec .inner .cont .text_box .text_main .btn::before {
        right: 3vw;
        width: 4vw;
        height: 3vw;
    }

    #top_message_sec {
        padding: 10vw 0 0vw;
        margin-bottom: -20vw;
    }

    #top_message_sec .text_ticker {
        margin-bottom: 12vw;
    }

    #top_message_sec .text_ticker .inner .text_wrap {
        font-size: 14vw;
    }

    #top_message_sec .text_ticker .inner .text_wrap .text {
        animation-duration: 40s;
    }

    #top_message_sec .cont {
        display: block;
    }

    #top_message_sec .cont .text_box {
        width: 100%;
    }

    #top_message_sec .cont .text_box .ttl {
        font-size: 5vw;
        line-height: 1.4;
        margin-bottom: 3vw;
        text-align: center;
    }

    #top_message_sec .cont .text_box .sub_ttl {
        font-size: 3.8vw;
        line-height: 1.3;
        font-weight: 900;
        margin-bottom: 4vw;
        text-align: center;
    }

    #top_message_sec .cont .text_box .text {
        font-size: 3.4vw;
        letter-spacing: 0.02em;
        line-height: 1.8;
        padding-right: 30vw;
    }

    #top_message_sec .cont .designs_box {
        width: 100vw;
        transform: scale(0.2);
        opacity: 0.3;
        margin-top: -70vw;
        margin-left: 26vw;
    }

    #top_message_sec .cont .designs_box .cube {
        width: 100vw;
        height: 100vw;
        animation: rotate-anim 15s linear infinite;
    }

    #top_message_sec .cont .designs_box .cube .parts:nth-child(1) {
        transform: translateZ(57.1428vw);
    }

    #top_message_sec .cont .designs_box .cube .parts:nth-child(2) {
        transform: rotateY(180deg) translateZ(57.1428vw);
    }

    #top_message_sec .cont .designs_box .cube .parts:nth-child(3) {
        transform: rotateY(90deg) translateZ(57.1428vw);
    }

    #top_message_sec .cont .designs_box .cube .parts:nth-child(4) {
        transform: rotateY(-90deg) translateZ(57.1428vw);
    }

    #top_message_sec .cont .designs_box .cube .parts:nth-child(5) {
        transform: rotateX(90deg) translateZ(57.1428vw);
    }

    #top_message_sec .cont .designs_box .cube .parts:nth-child(6) {
        transform: rotateX(-90deg) translateZ(57.1428vw);
    }

    #top_information_sec {
        padding: 0 0 15vw;
    }

    #top_information_sec .top_text_box {
        margin-bottom: 8vw;
        display: block;
    }

    #top_information_sec .top_text_box .ttl_box {
        align-items: center;
    }

    #top_information_sec .top_text_box .ttl_box .border_box {
        width: 5vw;
        height: 13vw;
        margin-right: 4vw;
    }

    #top_information_sec .top_text_box .ttl_box .border_box .border {
        width: 1vw;
        height: 14vw;
    }

    #top_information_sec .top_text_box .ttl_box .ttl_text_box .ttl {
        font-size: 3.5vw;
        margin-bottom: 2vw;
    }

    #top_information_sec .top_text_box .ttl_box .ttl_text_box .en_ttl {
        font-size: 9vw;
    }

    #top_information_sec .common_post_list ul li:nth-child(2) {
        margin-top: 5vw;
        animation-delay: 0s;
    }

    #top_information_sec .common_post_list ul li:nth-child(3) {
        margin-top: 5vw;
        animation-delay: 0s;
    }

    #top_information_sec .link_box {
        margin-top: 8vw;
    }

    #top_information_sec .link_box a {
        align-items: center;
        justify-content: flex-end;
    }

    #top_information_sec .link_box a .text {
        font-size: 3.6vw;
        margin-right: 3.5vw;
        color: #151515;
    }

    #top_information_sec .link_box a .arrow {
        width: 3vw;
        height: 3vw;
    }

    #top_information_sec .link_box a:hover .text {
        color: #151515;
    }

    #top_information_sec .link_box a:hover .arrow img.before {
        opacity: 1;
    }

    #top_information_sec .link_box a:hover .arrow img.after {
        opacity: 0;
    }

    .common_post_list ul::after {
        content: none;
    }

    .common_post_list ul li {
        width: 100%;
    }

    .common_post_list ul li+li {
        margin-top: 5vw;
    }

    .common_post_list ul li a .date {
        font-size: 3.5vw;
        margin-bottom: 2vw;
    }

    .common_post_list ul li a .ttl {
        font-size: 4vw;
        line-height: 1.3;
        margin-bottom: 2vw;
        color: #5CC1D6;
    }

    .common_post_list ul li a .text {
        font-size: 3.3vw;
        letter-spacing: 0.08em;
        line-height: 1.8;
    }

    .common_post_list ul li a:hover .ttl {
        color: #5CC1D6;
    }

    #top_about_sec {
        padding: 15vw 0 20vw;
    }

    #top_about_sec::before {
        bottom: auto;
        top: 0;
        left: 0;
        width: 40vw;
        height: 100vw;
    }

    #top_about_sec .top_text_box {
        margin-bottom: 8vw;
        width: 100%;
    }

    #top_about_sec .top_text_box .ttl_box {
        align-items: center;
    }

    #top_about_sec .top_text_box .ttl_box .border_box {
        width: 5vw;
        height: 13vw;
        margin-right: 4vw;
    }

    #top_about_sec .top_text_box .ttl_box .border_box .border {
        width: 1vw;
        height: 14vw;
    }

    #top_about_sec .top_text_box .ttl_box .ttl_text_box .ttl {
        font-size: 3.5vw;
        margin-bottom: 2vw;
    }

    #top_about_sec .top_text_box .ttl_box .ttl_text_box .en_ttl {
        font-size: 9vw;
    }

    #top_about_sec .top_text_box .text {
        padding-left: 0;
        font-size: 3.3vw;
        letter-spacing: 0.08em;
        line-height: 1.7;
    }

    #top_about_sec .common_about_list {
        margin-bottom: 10vw;
    }

    #top_about_sec .common_about_list ul li:nth-child(odd) {
        top: 0;
    }

    #top_about_sec .common_about_list ul li:nth-child(2) {
        animation-delay: 0s;
    }

    #top_about_sec .common_about_list ul li:nth-child(3) {
        animation-delay: 0s;
    }

    #top_about_sec .common_about_list ul li:nth-child(4) {
        animation-delay: 0s;
    }

    #top_about_sec .common_about_list ul li:nth-child(5) {
        animation-delay: 0s;
    }

    #top_about_sec .common_btn {
        margin-left: auto;
        margin-top: 0;
    }

    .common_about_list ul li {
        padding-right: 2.5vw;
    }

    .common_about_list ul li+li {
        margin-top: 4vw;
    }

    .common_about_list ul li:nth-child(-n+2) {
        margin-bottom: 0;
    }

    section#page_about .common_about_list ul li:nth-child(5) {
        margin-top: 4vw;
    }

    .common_about_list ul li:nth-child(2) {
        animation-delay: 0s;
    }

    .common_about_list ul li:nth-child(3) {
        animation-delay: 0s;
    }

    .common_about_list ul li:nth-child(4) {
        animation-delay: 0s;
    }

    .common_about_list ul li a .img {
        width: 40%;
        height: 40vw;
        margin-right: 2.5vw;
    }

    .common_about_list ul li a .text_box .en_ttl {
        font-size: 5vw;
        margin-bottom: 1vw;
    }

    .common_about_list ul li a .text_box .ttl {
        font-size: 3.2vw;
        margin-bottom: 3vw;
    }

    .common_about_list ul li a .text_box .text {
        font-size: 3.2vw;
        line-height: 1.6;
        margin-bottom: 0;
    }

    .common_about_list ul li a .text_box .btn_box {
        display: none;
    }

    .common_btn {
        width: 100%;
    }

    .common_btn a {
        line-height: 15vw;
        font-size: 3.5vw;
    }

    .common_btn a:hover {
        box-shadow: none;
    }

    .common_btn a::before {
        right: 3.5vw;
        width: 3vw;
        height: 3vw;
    }

    #top_business_sec {
        padding: 0 0 17vw;
    }

    #top_business_sec::before {
        top: 0;
        bottom: 234px;
        right: 0;
        width: 40vw;
    }

    #top_business_sec .top_text_box {
        margin-bottom: 6vw;
    }

    #top_business_sec .top_text_box .ttl_box {
        align-items: center;
        margin-bottom: 3vw;
    }

    #top_business_sec .top_text_box .ttl_box .border_box {
        width: 5vw;
        height: 13vw;
        margin-right: 4vw;
    }

    #top_business_sec .top_text_box .ttl_box .border_box .border {
        width: 1vw;
        height: 14vw;
    }

    #top_business_sec .top_text_box .ttl_box .ttl_text_box .ttl {
        font-size: 3.5vw;
        margin-bottom: 2vw;
    }

    #top_business_sec .top_text_box .ttl_box .ttl_text_box .en_ttl {
        font-size: 9vw;
    }

    #top_business_sec .top_text_box .text {
        padding-left: 0;
        font-size: 3.3vw;
        letter-spacing: 0.08em;
        line-height: 1.7;
    }

    #top_business_sec .cont {
        padding-left: 0;
    }

    #top_business_sec .cont .btn_list {
        margin-top: 0;
        padding: 0 5vw;
        margin-bottom: 6vw;
    }

    #top_business_sec .cont .btn_list ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        gap: 1vw 0;
    }

    #top_business_sec .cont .btn_list ul li {
        width: 48%;
    }

    #top_business_sec .cont .btn_list ul li+li {
        margin-top: 0;
    }

    #top_business_sec .cont .btn_list ul li a {
        width: 100%;
        height: auto;
        background-color: #fff;
        border: 1px solid #5CC1D6;
        display: block;
        padding: 0 3vw;
        text-align: center;
    }

    #top_business_sec .cont .btn_list ul li a .circle {
        display: none;
    }

    #top_business_sec .cont .btn_list ul li a .ttl {
        font-size: 3.5vw;
        height: 8vw;
        color: #5CC1D6;
    }

    #top_business_sec .cont .btn_list ul li a:hover .circle svg path {
        animation: none;
        stroke: #fff;
    }

    #top_business_sec .cont .btn_list ul li a:hover .ttl {
        color: #5CC1D6;
    }

    #top_business_sec .cont .slider_wrap {
        width: 100vw;
    }

    #top_business_sec .cont .slider_wrap ul li {
        padding-bottom: 6px;
    }

    #top_business_sec .cont .slider_wrap ul li .img {
        height: 50vw;
        clip-path: polygon(20vw 0%, 100% 0%, 100% 100%, 0% 100%);
        margin-bottom: 5vw;
    }

    #top_business_sec .cont .slider_wrap ul li .text_box {
        padding: 0 5vw;
    }

    #top_business_sec .cont .slider_wrap ul li .text_box .ttl {
        font-size: 4.2vw;
        margin-bottom: 3vw;
    }

    #top_business_sec .cont .slider_wrap ul li .text_box .text {
        font-size: 3.3vw;
        letter-spacing: 0.08em;
        line-height: 1.8;
        margin-bottom: 5vw;
    }

    #top_business_sec .common_btn {
        margin-left: auto;
    }

    #top_recruit_sec {
        padding: 13vw 0 15vw;
        background-color: #E8F7FE;
    }

    #top_recruit_sec .cont {
        align-items: flex-end;
        flex-wrap: wrap;
        flex-direction: column-reverse;
        width: 95vw;
        margin-left: -5vw;
        padding: 3vw 3vw 5vw 8vw;
        background-color: #fff;
        border-radius: 0 8px 8px 0;
    }

    #top_recruit_sec .cont .text_box {
        width: 100%;
        margin-right: 0;
    }

    #top_recruit_sec .cont .text_box .en_ttl_box {
        margin-bottom: 7vw;
    }

    #top_recruit_sec .cont .text_box .en_ttl_box .en_ttl {
        font-size: 3.8vw;
        margin-right: 2.5vw;
    }

    #top_recruit_sec .cont .text_box .en_ttl_box .border {
        width: 15vw;
        height: 2px;
    }

    #top_recruit_sec .cont .text_box .ttl {
        font-size: 5.5vw;
        letter-spacing: 0.08em;
        line-height: 1.4;
        margin-bottom: 4vw;
    }

    #top_recruit_sec .cont .text_box .text {
        font-size: 3.4vw;
        letter-spacing: 0.08em;
        line-height: 1.8;
        margin-bottom: 5vw;
    }

    #top_recruit_sec .cont .img_wrap {
        width: 80%;
        height: 60vw;
        margin-bottom: -2vw;
    }

    #top_recruit_sec .cont .img_wrap::before {
        top: -6vw;
        left: 6vw;
    }

    #top_recruit_sec .cont .img_wrap::after {
        bottom: -3vw;
        left: 10vw;
        width: 20vw;
        height: 19vw;
    }

    #main_footer .footer_map_block .cont {
        display: block;
    }

    #main_footer .footer_map_block .cont .text_box {
        padding: 13vw 5vw 12vw;
        width: 100%;
    }

    #main_footer .footer_map_block .cont .text_box .top_cont {
        display: flex;
        align-items: center;
        margin-bottom: 4vw;
    }

    #main_footer .footer_map_block .cont .text_box .logo {
        width: 35vw;
        flex-shrink: 0;
        margin-bottom: 0;
        margin-right: 3vw;
    }

    #main_footer .footer_map_block .cont .text_box .address {
        font-size: 3.2vw;
        margin-bottom: 0;
    }

    #main_footer .footer_map_block .cont .text_box .sp_map {
        width: 100%;
        height: 50vw;
        margin-bottom: 5vw;
    }

    #main_footer .footer_map_block .cont .text_box .sp_map iframe {
        width: 100%;
        height: 100%;
    }

    #main_footer .footer_map_block .cont .text_box .tel {
        text-align: center;
        font-size: 3.4vw;
        margin-bottom: 1vw;
    }

    #main_footer .footer_map_block .cont .text_box .tel .num {
        font-size: 4.5vw;
    }

    #main_footer .footer_map_block .cont .text_box .time {
        text-align: center;
        font-size: 3.2vw;
        margin-bottom: 6vw;
    }

    #main_footer .footer_map_block .cont .text_box .btn {
        width: 100%;
        line-height: 13vw;
        font-size: 3.6vw;
    }

    #main_footer .footer_map_block .cont .text_box .btn::before {
        right: 3vw;
        width: 4vw;
        height: 3vw;
    }

    #main_footer .footer_map_block .cont .map {
        display: none;
    }

    #main_footer .footer_main_block {
        padding: 17vw 0 10vw;
    }

    #main_footer .footer_main_block .link_block {
        padding-bottom: 6vw;
        margin-bottom: 5vw;
    }

    #main_footer .footer_main_block .link_block a::before {
        content: none;
    }

    #main_footer .footer_main_block .link_block .box {
        display: none;
    }

    #main_footer .footer_main_block .link_block .box.group_box {
        display: block;
    }

    #main_footer .footer_main_block .link_block .box+.box {
        margin-top: 0;
    }

    #main_footer .footer_main_block .link_block .box .ttl {
        width: 100%;
        font-size: 7vw;
        margin-bottom: 6vw;
    }

    #main_footer .footer_main_block .link_block .box .group_link_wrap .group_link_box {
        display: block;
    }

    #main_footer .footer_main_block .link_block .box .group_link_wrap .group_link_box+.group_link_box {
        margin-top: 5vw;
    }

    #main_footer .footer_main_block .link_block .box .group_link_wrap .group_link_box .group_ttl {
        font-size: 3.3vw;
        font-weight: 500;
        width: 100%;
        margin-bottom: 2vw;
    }

    #main_footer .footer_main_block .link_block .box .group_link_wrap .group_link_box .group_link_list ul {
        gap: 1.5vw 3.5vw;
    }

    #main_footer .footer_main_block .link_block .box .group_link_wrap .group_link_box .group_link_list ul li a {
        font-size: 3vw;
    }

    #main_footer .footer_main_block .link_block .sub_link_cont {
        margin-top: 10vw;
    }

    #main_footer .footer_main_block .link_block .sub_link_cont .sub_link_list ul {
        justify-content: center;
    }

    #main_footer .footer_main_block .link_block .sub_link_cont .sub_link_list ul li+li {
        margin-left: 3vw;
    }

    #main_footer .footer_main_block .link_block .sub_link_cont .sub_link_list ul li a {
        font-size: 3vw;
    }

    #main_footer .footer_main_block .link_block .sub_link_cont .license {
        text-align: center;
        font-size: 3vw;
    }

    #main_footer .footer_main_block .copyright {
        font-size: 3vw;
    }

    .archive_navi {
        margin-top: 15vw;
    }

    .archive_page .common_post_list ul li {
        margin-bottom: 0;
    }

    .single_breadcrumb {
        margin-bottom: 3vw;
    }

    #single_page {
        padding: 15vw 0 20vw;
    }

    .singleContent h1 {
        font-size: 4.5vw;
        padding: 2vw;
    }

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

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

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

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

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

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

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

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

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

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

    #single_page .singleContent {
        width: 100%;
    }

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

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

    #single_page .singleSidebar {
        display: none;
    }

    #single_page .singleContent a[href$=".pdf"]::before {
        width: 7vw;
        height: 8vw;
        margin-right: 2.5vw;
    }

    #single_page .singleContent a[href$=".pdf"]:hover {
        text-decoration: underline;
    }

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

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

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

    .reserve_text {
        font-size: 6vw;
    }

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

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

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

    .common_bg_text {
        display: none;
    }

    /*********************************************
   * SP固定ページ メインビュー
   *********************************************/
    .common-page_main {
        padding: 80px 0;
        margin-bottom: 10px;
    }

    .common-page_main::before {
        left: 50%;
        top: 0;
        clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 100% 100%, 100% 100%, 0% 100%, 0 100%, 45% 0%);
    }

    .common-page_main::after {
        left: 50%;
        top: 0;
        clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 100% 100%, 100% 100%, 0% 100%, 0 100%, 45% 0%);
    }

    .common-page_main .title_box {
        display: block;
    }

    .common-page_main .title_box .title {
        margin-right: 35px;
        font-size: 8vw;
        line-height: 1.1;
    }

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

    /*********************************************
   * SP固定ページ LiveDesignについて
   *********************************************/
    .common_about_page_ttl {
        font-size: 6vw;
        padding-left: 7vw;
    }

    .common_about_page_ttl::after {
        width: 4vw;
        left: -0.5vw;
        top: -3vw;
        height: 10vw;
    }

    .about_back_img {
        height: 50vw;
    }

    .about_back_img::after {
        animation-duration: 1s;
    }

    .about_back_img .about_comment_box {
        font-size: 4vw;
        width: 100%;
    }

    .about_back_img .about_comment_box .comment .accent {
        font-size: 5vw;
    }

    .about_back_img .about_comment_box .comment+.comment {
        margin-top: 10px;
    }

    #page_about .identity_sec {
        margin-top: 70px;
    }

    #page_about .identity_sec .identity_box {
        margin-top: 30px;
        flex-wrap: wrap;
    }

    #page_about .identity_sec .identity_box .logo_img {
        width: 70%;
        margin: 0 auto;
    }

    #page_about .identity_sec .identity_box .live_design_box {
        width: 100%;
    }

    #page_about .identity_sec .identity_box .live_design_box .ttl {
        font-size: 5vw;
        margin-top: 15px;
        margin-bottom: 10px;
    }

    #page_about .identity_sec .identity_box .live_design_box .box ul li {
        font-size: 3.4vw;
    }

    #page_about .identity_sec .identity_box .live_design_box .box ul li+li {
        margin-top: 2px;
    }

    #page_about .identity_sec .identity_box .live_design_box .text+.text {
        margin-top: 8px;
    }

    #page_about .identity_sec .identity_box .live_design_box+.live_design_box {
        margin-top: 20px;
    }

    #page_about .vision_sec {
        margin-top: 70px;
    }

    #page_about .vision_sec .vision_title {
        margin: 20px 0 5px;
        font-size: 4.8vw;
    }

    #page_about .vision_sec .sub_title {
        font-size: 3.5vw;
    }

    #page_about .vision_sec .vision_text {
        text-align: center;
        margin-top: 15px;
        font-size: 3.3vw;
        line-height: 1.5;
    }

    #page_about .common_about_list {
        margin-top: 60px;
    }

    /*********************************************
    * SP固定ページ 経営理念
    *********************************************/
    #page_about_value .value_title {
        font-size: 5vw;
        margin-bottom: 25px;
    }

    #page_about_value .value_title::after {
        width: 60vw;
        height: 60vw;
        bottom: -160px;
    }

    #page_about_value .text_box {
        text-align: unset;
        margin-bottom: 10vw;
    }

    #page_about_value .text_box .text+.text {
        margin-top: 20px;
    }

    #page_about_value .guideline_sec {
        margin-top: 70px;
    }

    #page_about_value .guideline_sec .guideline_box ul li .item_box {
        padding: 0 4vw 0 15vw;
        height: 14vw;
        display: flex;
        align-items: center;
    }

    #page_about_value .guideline_sec .guideline_box ul li .item_box .number {
        width: 13vw;
        height: 14vw;
        padding-top: 4vw;
        left: -1vw;
        top: -0.5px;
        font-size: 3.8vw;
    }

    #page_about_value .guideline_sec .guideline_box ul li .item_box .item {
        letter-spacing: 0.08em;
        line-height: 1.4;
        font-size: 4vw;
        font-weight: 600;
    }

    #page_about_value .guideline_sec .guideline_box ul li .ex {
        font-size: 3.8vw;
        letter-spacing: 0.06em;
        line-height: 1.4;
        margin: 10px 0 0 14vw;
    }

    #page_about_value .guideline_sec .guideline_box ul li+li {
        margin-top: 30px;
    }

    #page_about_value .common_about_list ul li:nth-child(5) {
        margin-top: 4vw;
    }

    #page_about_value .vision_title {
        margin: 20px 0 5px;
        font-size: 4.8vw;
    }

    #page_about_value .sub_title {
        font-size: 3.5vw;
    }

    #page_about_value .vision_text {
        text-align: center;
        margin-top: 15px;
        font-size: 3.3vw;
        line-height: 1.5;
    }

    #page_about_value .common_about_list {
        margin-top: 60px;
    }

    #page_about_value .vision_sec {
        margin-top: 70px;
    }

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

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

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

    .company_profile table th {
        width: 100%;
        background: #5CC1D6;
        color: #fff;
    }

    #page_division.company_profile table th {
        width: 100%;
        background: #5CC1D6;
        color: #fff;
    }

    .company_profile table td {
        width: 100%;
    }

    .company_profile .company_box .tab_box {
        margin-bottom: 5vw;
    }

    .company_profile .company_box .company_common_ttl {
        margin-bottom: 7vw;
    }

    .company_profile .company_box .tab_box ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 1.5vw;
    }

    .company_access .map {
        height: 50vw;
    }

    /*********************************************
  * SP固定ページ 代表メッセージ
  *********************************************/
    #page_message .message_box {
        flex-wrap: wrap;
    }

    #page_message .message_box .ceo_img {
        width: 100%;
        height: 110vw;
        margin: 0;
        background-position: top center;
    }

    #page_message .message_box .ceo_text {
        padding: 0;
        margin-top: 30px;
        margin-left: 0;
        padding: 0 5vw;
    }

    #page_message .message_box .ceo_text .ttl {
        font-size: 4.6vw;
    }

    #page_message .message_box .ceo_text .text_box {
        margin-top: 10px;
    }

    #page_message .message_box .ceo_text .text_box .text {
        font-size: 3.4vw;
    }

    #page_message .message_box .ceo_text .text_box .text+.text {
        margin-top: 10px;
    }

    #page_message .message_box .ceo_text .text_box .ceo_name {
        font-size: 3.6vw;
        margin-top: 30px;
        text-align: left;
    }

    .vision_map_sec {
        margin-top: 80px;
    }

    .vision_map_sec .vision_map_box {
        margin-top: 20px;
    }

    .vision_map_sec .vision_map_box ul li {
        padding: 5vw 4vw;
        align-items: unset;
    }

    .vision_map_sec .vision_map_box ul li .img_box {
        width: 100%;
        margin-right: 0px;
    }

    .vision_map_sec .vision_map_box ul li .img_box .ttl {
        margin-bottom: 10px;
        font-size: 5vw;
    }

    .vision_map_sec .vision_map_box ul li .img_box .icon_img {
        width: 30%;
    }

    .vision_map_sec .vision_map_box ul li .text_box {
        margin-top: 20px;
    }

    .vision_map_sec .vision_map_box ul li .text_box .text_ttl {
        font-size: 4vw;
        margin-bottom: 12px;
    }

    .vision_map_sec .vision_map_box ul li .text_box .text .content {
        font-size: 3.4vw;
    }

    .vision_map_sec .vision_map_box ul li .text_box .text .content .accent {
        font-size: 3.8vw;
        margin: 0 1vw;
    }

    .vision_map_sec .vision_map_box ul li .text_box .text .content+.content {
        margin-top: 4px;
    }

    .vision_map_sec .vision_map_box ul li+li {
        margin-top: 15px;
    }

    /*********************************************
  * SP固定ページ 沿革
  *********************************************/
    #page_history .page_history_box .common_about_page_ttl {
        font-size: 4.8vw;
    }

    #page_history .page_history_box .history_box {
        margin-top: 22px;
    }

    #page_history .page_history_box .history_box ul li {
        padding: 20px 0 20px 5vw;
    }

    #page_history .page_history_box .history_box ul li .history_ttl {
        font-size: 3.8vw;
        margin-bottom: 8px;
        line-height: 1.3;
    }

    #page_history .page_history_box .history_box ul li .history_ttl .day {
        font-size: 5vw;
        margin-right: 2vw;
    }

    #page_history .page_history_box .history_box ul li .contents {
        font-size: 3.2vw;
    }

    #page_history .page_history_box .history_box ul li .change {
        margin-top: 10px;
        margin-bottom: 5px;
        font-size: 3.8vw;
    }

    #page_history .page_history_box .history_box ul li:nth-last-child(2) {
        padding: 20px 0 40px 5vw;
    }

    #page_history .page_history_box .history_box ul li:first-child {
        padding: 0px 0 20px 5vw;
        margin-top: -5px;
    }

    #page_history .page_history_box .history_box ul li:first-child::before {
        top: 0px;
    }

    #page_history .page_history_box .history_box ul li:last-child {
        padding: 0px 0 20px 5vw;
        margin-top: -8px;
    }

    #page_history .page_history_box .history_box ul li:last-child::before {
        left: -1.2vw;
        top: 7px;
    }

    #page_history .page_history_box .history_box ul li::before {
        width: 3vw;
        height: 3vw;
        left: -1.9vw;
        top: 28px;
    }

    #page_history .page_history_box+.page_history_box {
        margin-top: 50px;
    }

    /*********************************************
   * SP固定ページ 組織図
  *********************************************/
    #page_organization .border_box {
        width: 5vw;
        height: 13vw;
        margin-right: 4vw;
    }

    #page_organization .border {
        width: 1vw;
        height: 14vw;
    }

    #page_organization .ttl {
        font-size: 3.5vw;
        margin-bottom: 2vw;
    }

    #page_organization .en_ttl {
        font-size: 9vw;
    }

    #page_organization .long_border {
        margin-left: 5vw;
        height: 1px;
    }

    #page_organization .img {
        margin-top: 10vw;
    }

    #page_organization .box+.box {
        margin-top: 15vw;
    }

    #page_organization .box.kanri .img {
        height: auto;
    }

    #page_organization .box.tyukai .img {
        width: 120vw;
        height: auto;
    }

    #page_organization .img {
        height: auto;
    }

    #page_organization .img_area {
        overflow-x: scroll;
    }

    #page_organization .box .img.big_sp {
        width: 140vw;
    }


    /*********************************************
  * SP固定ページ 部署
  *********************************************/
    #page_division .report_box {
        margin-top: 50px;
        flex-wrap: wrap;
        flex-direction: column-reverse;
    }

    #page_division .report_box .text_box {
        padding: 0 5vw;
        margin-top: 18px;
        margin-right: 0px;
    }

    #page_division .report_box .text_box .message_ttl {
        font-size: 4.6vw;
    }

    #page_division .report_box .text_box .box {
        margin-top: 18px;
    }

    #page_division .report_box .text_box .box .text {
        font-size: 3.4vw;
    }

    #page_division .report_box .text_box .box .text+.text {
        margin-top: 8px;
    }

    #page_division .report_box .message_img {
        width: 100%;
        height: 50vw;
        margin: 0;
    }

    /*********************************************
  * PC固定ページ 事業内容について
  *********************************************/
    #page_business .business_box ul {
        justify-content: unset;
        gap: unset;
    }

    #page_business .business_box ul li {
        width: 100%;
    }

    #page_business .business_box ul li .link_box {
        width: 100%;
    }

    #page_business .business_box ul li .link_box .img {
        background-size: cover;
        background-repeat: no-repeat;
        background-position: center;
        width: 100%;
        height: 45vw;
    }

    #page_business .business_box ul li .link_box .ttl {
        font-size: 5vw;
        margin-top: 10px;
        margin-bottom: 3px;
        padding: 0 3vw;
    }

    #page_business .business_box ul li .link_box .ex {
        padding: 0 3vw 15px;
        font-size: 3.4vw;
    }

    #page_business .business_box ul li:nth-child(n+4) {
        margin-top: 18px;
    }

    #page_business .business_box ul li+li {
        margin-top: 18px;
    }

    /*********************************************
  * SP固定ページ 事業内容各ページ
  *********************************************/
    .common_business_page .comment_theme {
        font-size: 3.4vw;
        line-height: 1.6;
    }

    .common_business_page .box {
        margin-top: 50px;
        box-shadow: unset;
        padding: 0px;
    }

    .common_business_page .box .box_ttl_box {
        margin-bottom: 20px;
        text-align: center;
    }

    .common_business_page .box .box_ttl_box::after {
        top: -30px;
        width: 25vw;
        height: 25vw;
    }

    .common_business_page .box .box_ttl_box .ttl {
        font-size: 5.4vw;
    }

    .common_business_page .box .box_ttl_box .text {}

    .common_business_page .box ul li {
        flex-wrap: wrap;
        align-items: unset;
    }

    .common_business_page .box ul li .img {
        width: calc(100% + 10vw);
        height: 55vw;
        left: -5vw;
        right: -5vw;
        margin-right: 0px;
    }

    .common_business_page .box ul li .img::before,
    .common_business_page .box ul li .img::after {
        display: none;
    }

    .common_business_page .box ul li .text_box .title {
        font-size: 4.5vw;
        margin-bottom: 10px;
        margin-top: 21px;
    }

    .common_business_page .box ul li .text_box .text {
        font-size: 3.2vw;
    }

    .common_business_page .box ul li .text_box .text+.text {
        margin-top: 5px;
    }

    .common_business_page .box ul li:nth-child(even) {
        flex-direction: unset;
    }

    .common_business_page .box ul li:nth-child(even) .img {
        margin-right: 0;
        margin-left: 0px;
    }

    .common_business_page .box ul li+li {
        margin-top: 40px;
    }

    .common_business_page .link_btn {
        width: 100%;
        margin-top: 30px;
        transition: 0s;
    }

    .common_business_page .link_btn .btn {
        padding: 18px 0;
        width: 100%;
        font-size: 4.5vw;
    }

    .common_business_page .link_btn .btn::before {
        display: none;
    }

    .common_business_page .link_btn .btn::after {
        width: 4vw;
        height: 4vw;
        right: 3vw;
    }

    .common_business_page .link_btn .btn:hover::before {
        opacity: 1;
    }

    /*********************************************
  * PC固定ページ 採用情報
  *********************************************/
    #page_recruit .recruit_back {
        height: 40vw;
    }

    #page_recruit .recruit_back .ab_text_box .text {
        font-size: 4vw;
    }

    #page_recruit .recruit_back .ab_text_box .text .accent {
        font-size: 4.6vw;
    }

    #page_recruit .recruit_stuff {
        margin: 50px 0px 100px;
    }

    #page_recruit .recruit_stuff .stuff_box {
        margin-top: 30px;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box {
        align-items: unset;
        flex-wrap: wrap;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box::after {
        width: 19vw;
        height: 19vw;
        right: 7vw;
        bottom: 15vw;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .stuff_img {
        width: 100%;
        height: auto;
        filter: drop-shadow(2vw 2vw 0 #5CC1D6);
        margin: 0px;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .stuff_img img {
        height: auto;
        clip-path: none;
        object-fit: unset;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .name_box {
        margin-top: 25px;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .name_box .name {
        font-size: 5vw;
        margin-bottom: 2px;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .name_box .position {
        font-size: 4vw;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box .ab_en_name {
        font-size: 4vw;
        bottom: 22px;
        right: 15vw;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom {
        margin-top: 20px;
        flex-wrap: wrap;
        flex-direction: unset;
        align-items: unset;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom .stuff_content_img {
        width: 100%;
        height: 60vw;
        flex-shrink: 0;
        margin-left: 0px;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom .stuff_content_text {
        margin-top: 20px;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom .stuff_content_text .content_box .ttl {
        font-size: 4.2vw;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom .stuff_content_text .content_box .content {
        font-size: 3.4vw;
        margin-top: 8px;
    }

    #page_recruit .recruit_stuff .stuff_box ul li .stuff_img_box_bottom .stuff_content_text .content_box+.content_box {
        margin-top: 20px;
    }

    #page_recruit .recruit_stuff .stuff_box ul li+li {
        margin-top: 70px;
    }

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

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

    #page_contact table th {
        width: 100%;
        text-align: left;
    }

    #page_contact table td {
        width: 100%;
    }

    #page_contact input[type=text],
    #page_contact input[type=email],
    #page_contact #zip {
        width: 100%;
        height: 12vw;
    }

    #page_contact input.tel {
        width: 30%;
    }

    #page_contact select {
        width: 100%;
    }

    #page_contact textarea {
        width: 100%;
        height: 60vw;
    }

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

    #page_contact #btn_wrap button[name=submitBack] {
        margin-right: 0;
        margin-bottom: 4vw;
    }

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

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

    #page_contact .attention {
        font-size: 3vw;
    }

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

    #page_contact .thanks_textArea .contact_text {
        margin-bottom: 2em;
    }

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

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

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

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

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

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

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

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

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

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

    #page_recruit section.recruit_top_staff .stuff_box ul li {
        width: 100%;
    }

    #page_recruit section.recruit_top_staff.recruit_stuff .stuff_box ul li .stuff_img_box .stuff_img {
        height: 50vw;
    }

    #page_recruit section.recruit_top_staff.recruit_stuff .stuff_box ul li .stuff_img_box .stuff_img img {
        object-fit: cover;
        height: 100%;
    }

    #page_recruit section.recruit_top_staff .stuff_box ul li+li {
        margin-top: 10px;
    }

    #page_recruit .recruit_stuff.recruit_top_staff .stuff_box ul li .stuff_img_box .ab_en_name {
        display: none;
    }

    .form_addr .flex .label {
        font-size: 80%;
    }

    #page_contact .form_addr .flex .input input {
        width: 100%;
    }

    .flame_heading {
        font-size: 4.1vw;
        text-align: center;
        margin-bottom: 4vw;
    }

    .tenant_image_box {
        margin-top: 10vw;
    }

    .common_page_store .store_detail_box {
        grid-template-columns: 100%;
        gap: 5vw;
    }

    .common_page_store .store_detail_box .detail dd {
        padding: 4vw;
    }

    .common_page_store .map_area {
        margin-top: 15vw;
    }

    .common_page_store .en_ttl {
        font-size: 9vw;
    }

    .common_page_store .ttl {
        font-size: 3.5vw;
        margin-bottom: 2vw;
    }

    .common_page_store .border_box .border {
        width: 1vw;
        height: 14vw;
    }

    .common_page_store .border_box {
        width: 5vw;
        height: 13vw;
        margin-right: 4vw;
    }

    .common_page_store .tll_area .long_border {
        margin-left: 5vw;
    }

    .common_page_store .map_area .map {
        margin-top: 5vw;
        height: 50vw;
    }

    #store_menu .en_ttl {
        font-size: 9vw;
    }

    #store_menu .ttl {
        font-size: 3.5vw;
        margin-bottom: 2vw;
    }

    #store_menu .border_box {
        width: 5vw;
        height: 13vw;
        margin-right: 4vw;
    }

    #store_menu .border {
        width: 1vw;
        height: 14vw;
    }

    #store_menu {
        padding-bottom: 15vw;
        padding-top: 15vw;
    }

    #store_menu .menu_block {
        margin-top: 8vw;
    }

    #store_menu .menu_block .list {
        grid-template-columns: repeat(1, 1fr);
        gap: 5vw;
    }

    #store_menu .menu_block .list li a .text_area .store {
        font-size: 3.2vw;
    }

    #store_menu .menu_block .list li a .text_area .name {
        font-size: 4vw;
        padding-bottom: 2vw;
    }


    #store_menu .menu_block .list li a .text_area .add {
        font-size: 3.5vw;
        margin-top: 3vw;
    }

    .service_page_btn {
        width: 95vw;
        margin: auto;
    }

    .single_staff .staff_sec {
        padding: 15vw 0;
        margin-top: 15vw;
    }

    .single_staff .staff_sec .page_text_box .ttl_box {
        margin-bottom: 7vw;
    }

    .staff_sec .page_text_box .ttl_box .border_box.pr {
        width: 5vw;
        height: 11vw;
        margin-right: 3vw;
    }

    .staff_sec .page_text_box .ttl_box .ttl_text_box .ttl {
        font-size: 3.5vw;
        margin-bottom: 2vw;
    }

    .staff_sec .page_text_box .ttl_box .ttl_text_box .en_ttl.hel {
        font-size: 9vw;
    }

    .staff_sec .page_text_box .ttl_box .border_box.pr .border {
        width: 1vw;
        height: 14vw;
    }

    .single_staff .staff_list ul li .cont {
        gap: 5vw;
        flex-direction: column;
        margin-bottom: 3vw;
    }

    .single_staff .staff_list ul li .cont .img {
        width: 100%;
        height: 50vw;
    }

    .single_staff .staff_list ul li .cont .item .name_box .catch {
        font-size: 4.4vw;
    }

    .single_staff .staff_list ul li .cont .item .name_box .en_text {
        font-size: 3.6vw;
    }

    .single_staff .staff_list ul li .cont .item .text_area .catch {
        font-size: 3.8vw;
        margin-bottom: 0.3vw;
    }

    .single_staff .staff_list ul li .cont .item .text_area .text {
        font-size: 3.4vw;
    }

    .single_staff .staff_list ul li .cont .item .text_area+.text_area {
        margin-top: 0.5vw;
    }

    .single_staff .staff_list ul li .text_box {
        padding: 4vw;
        margin-top: 5vw;
    }

    .single_staff .staff_list ul li .text_box .catch {
        font-size: 4vw;
    }

    .single_staff .staff_list ul li .text_box .text {
        font-size: 3.4vw;
        color: #6b6b6b;
        text-align: left;
    }

    .single_staff .staff_list ul li .cont .item .name_box .catch::first-letter {
        font-size: 4.8vw;
    }

    .single_staff .staff_list ul li+li {
        margin-top: 12vw;
    }

    .single_staff .staff_list ul li {
        padding: 7vw 4vw;
    }

    .corporation_page .staff_sec {
        padding: 15vw 0;
        margin-top: 15vw;
    }

    .corporation_page .staff_sec .ttl_box.flex {
        margin-bottom: 7vw;
    }

    .corporation_page .staff_sec .staff_list .staff-box {
        grid-template-columns: 1fr;
        gap: 8vw;
    }

    .corporation_page .staff_sec .staff_list .staff-box .item a .img {
        height: 40vw;
    }

    .corporation_page .staff_sec .staff_list .staff-box .item a .ttl_box {
        padding: 5vw;
    }

    .corporation_page .staff_sec .staff_list .staff-box .item a .ttl_box .title {
        font-size: 4.6vw;
    }

    .corporation_page .staff_sec .staff_list .staff-box .item a .ttl_box .en_ttl {
        font-size: 3.4vw;
    }

    .floating_banner {
        width: 40vw;
        bottom: 2vw;
    }

    .floating_banner .close_button {
        top: 3px;
        right: 3px;
    }
}