:root {
    --main-color: #363a8d;
    --sub-color: #fff;
}

html,
button,
input,
select,
textarea {
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

body {
    min-width: 1440px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.47;
    letter-spacing: 0.09em;
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    color: rgb(51, 51, 51);
    background: rgb(255, 255, 255);
    margin: 0px;
}

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

.wrap.mid {
    width: 1240px;
}

.wrap.lr {
    width: 1340px;
}

.common_page_wrap {
    padding: 38px 0px 20px;
}

.common_page_main {
    background: rgb(245, 245, 245);
    padding-block: 140px;
    margin-block: 0px 1em;
}

.common_page_main .title_box {
    text-align: center;
}

.common_page_main .title_box .title {
    font-size: 40px;
    letter-spacing: 0.08em;
    font-weight: 700;
    line-height: 1.5;
}

.not_found .text {
    text-align: center;
}

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

.breadcrumb {
    font-size: 12px;
    font-weight: 400;
    line-height: 1.42;
    letter-spacing: 0.09em;
    color: rgb(255, 255, 255);
    margin-top: 105px;
}

.breadcrumb .box {
    margin-left: -5px;
}

.breadcrumb a {
    color: rgb(255, 255, 255);
}

.breadcrumb span {
    padding-inline: 2px;
}

.c_btn {
    width: 110%;
    max-width: 280px;
}

.c_btn a {
    position: relative;
    display: block;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.09em;
    color: rgb(255, 255, 255);
    background: rgb(12, 14, 50);
    border: 1px solid rgb(112, 112, 112);
    border-radius: 30px;
    padding: 16px 20px 18px 30px;
    transition: 0.3s ease-in-out;
}

.c_btn a::before,
.c_btn a::after {
    content: "";
    width: 18px;
    height: 1px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s ease-in-out;
}

.c_btn a::before {
    right: 0px;
    background: rgb(255, 255, 255);
}

.c_btn a::after {
    right: -18px;
    background: rgb(51, 51, 51);
}

.c_btn--black a {
    background: rgb(51, 51, 51);
    border: 1px solid rgb(51, 51, 51);
}

.c_btn--blue a {
    background: rgb(54, 58, 141);
    border: 1px solid rgb(54, 58, 141);
}

.c_btn--blue a::after {
    background: rgb(54, 58, 141);
}

.c_business {
    position: relative;
    background: rgb(255, 255, 255);
    z-index: 1;
}

.c_business .items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    margin-top: 40px;
}

.c_business .item {
    position: relative;
}

.c_business .item::before {
    content: "";
    width: 1px;
    height: 86.7%;
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
    background: rgb(51, 51, 51);
}

.c_business .item:nth-child(2n)::before {
    display: none;
}

.c_business .item a {
    position: relative;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: justify;
    justify-content: space-between;
    color: rgb(51, 51, 51);
    padding: 56px 49px 30px 46px;
    overflow: hidden;
}

.c_business .item a::before,
.c_business .item a::after {
    content: "";
    width: 94.4%;
    height: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: rgb(51, 51, 51);
}

.c_business .item a::before {
    top: 0px;
}

.c_business .item a::after {
    bottom: 0px;
}

.c_business .item:nth-child(n+3) a::before {
    display: none;
}

.c_business .image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: 0.3s ease-in-out;
    z-index: -2;
}

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

.c_business .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.3s ease-in-out;
    z-index: -1;
}

.c_business .row {
    -webkit-box-align: end;
    align-items: end;
    gap: 10px;
    font-family: gotham, sans-serif;
    font-style: italic;
    color: rgb(90, 90, 90);
    transition: 0.3s ease-in-out;
}

.c_business .number {
    font-size: 32px;
    font-weight: 400;
    line-height: 1.22;
    letter-spacing: 0em;
}

.c_business .en {
    position: relative;
    top: -2px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.17;
    letter-spacing: 0em;
}

.c_business .title {
    font-size: 34px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.09em;
    margin-top: 12px;
    transition: 0.3s ease-in-out;
}

.c_business .text {
    width: 100%;
    max-width: 400px;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.47;
    letter-spacing: 0.09em;
    color: rgb(90, 90, 90);
    margin-top: 21px;
    transition: 0.3s ease-in-out;
}

.c_business .box {
    -webkit-box-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    align-items: center;
    gap: 35px;
    margin-top: 14px;
}

.c_business .box_text {
    font-family: gotham, sans-serif;
    font-style: italic;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.17;
    letter-spacing: 0em;
    transition: 0.3s ease-in-out;
}

.c_business .box_btn {
    position: relative;
    width: 50px;
    height: 50px;
    border: 1px solid rgb(51, 51, 51);
    border-radius: 50%;
    transition: 0.3s ease-in-out;
}

.c_business .arrow {
    position: absolute;
    top: 50%;
    left: -15.5px;
    transform: translateY(-50%);
    transition: 0.3s ease-in-out;
}

.c_business .arrow img {
    display: block;
    width: 40.7px;
    height: 11.3px;
    object-fit: contain;
    transition: 0.3s ease-in-out;
}

.c_business .items--3row {
    grid-template-columns: repeat(3, 1fr);
    margin-top: 0px;
}

.c_business .items--3row .item:nth-child(2n)::before {
    display: block;
}

.c_business .items--3row .item:nth-child(3n)::before {
    display: none;
}

.c_business .items--3row .item a::before {
    display: none;
}

.c_business .items--3row .item a {
    padding: 39px 50px 30px;
}

.c_business .items--3row .text {
    max-width: 350px;
}

.c_business .items--3row .box {
    margin-top: 31px;
}

.c_catch {
    text-align: center;
}

.c_catch_title {
    font-size: 30px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.08em;
    color: rgb(54, 58, 141);
}

.c_catch_title .small {
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.08em;
    color: rgb(51, 51, 51);
}

.c_catch_text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.09em;
    margin-top: 20px;
}

.c_cta .items {
    -webkit-box-pack: center;
    justify-content: center;
    padding: 40px 0px 0px;
    gap: 30px 40px;
}

.c_cta .item {
    width: 300px;
}

.c_cta .btn a {
    padding: 16px 20px 18px;
    text-align: center;
}

.c_partner {
    position: relative;
}

.c_partner::before {
    content: "";
    width: 447px;
    height: 1144px;
    position: absolute;
    bottom: 45px;
    left: 0px;
    background-image: url("./image/top-partner-bg.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.c_partner .body {
    gap: 90px;
    padding-left: 50px;
}

.c_partner .contents {
    -webkit-box-flex: 0;
    flex: 0 0 520px;
    margin-top: 60px;
}

.c_partner .title {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.47;
    letter-spacing: 0.09em;
}

.c_partner .text {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.93;
    letter-spacing: 0.09em;
    margin-top: 27px;
}

.c_partner .btn {
    max-width: 320px;
    margin-top: 50px;
}

.c_partner .box {
    margin-top: 42px;
}

.c_partner .box_title {
    width: 100%;
    max-width: 500px;
    font-size: 17px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.09em;
    border-bottom: 1px solid rgb(198, 198, 198);
    padding-bottom: 10px;
}

.c_partner .box_text {
    font-size: 14px;
    font-weight: 400;
    line-height: 1.71;
    letter-spacing: 0.09em;
    margin-top: 8px;
}

.c_partner .image {
    -webkit-box-flex: 1;
    flex: 1 1 0%;
}

.c_partner .image img {
    width: 100%;
    height: auto;
    object-fit: contain;
    aspect-ratio: 580 / 500;
}

.c_recruit {
    position: relative;
}

.c_recruit::before {
    content: "";
    width: 955px;
    height: 2284px;
    position: absolute;
    top: 300px;
    right: 0px;
    background-image: url("./image/top-recruit-bg.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.c_recruit .items {
    margin-top: -50px;
}

.c_recruit .body {
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    gap: 126px;
    padding-left: 100px;
}

.c_recruit .contents {
    -webkit-box-flex: 1;
    flex: 1 1 0%;
    margin-top: 30px;
}

.c_recruit .contents .en {
    font-family: gotham, sans-serif;
    font-style: italic;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.17;
    letter-spacing: 0em;
    color: rgb(152, 152, 152);
}

.c_recruit .contents .ja {
    font-size: 40px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.09em;
    margin-top: 10px;
}

.c_recruit .contents .text {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.42;
    letter-spacing: 0.09em;
    margin-top: 40px;
}

.c_recruit .btn {
    margin-top: 45px;
}

.c_recruit .swiper-container,
.c_recruit .image_wrap {
    position: relative;
    -webkit-box-flex: 0;
    flex: 0 0 594px;
}

.c_recruit .swiper-container::before,
.c_recruit .image_wrap::before {
    content: "";
    width: 350px;
    height: 350px;
    position: absolute;
    top: 50%;
    left: -80px;
    transform: translateY(-50%);
    background-image: url("./image/top-recruit-decoration01.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

.c_recruit .top-recruit-swiper,
.c_recruit .image_wrap .image {
    width: 594px;
    height: 594px;
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}

.c_recruit .image img,
.c_recruit .image_wrap .image img {
    transform: scale(1.2);
    object-position: right -15px top 30px;
}

.c_recruit .image_wrap .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
    transform: scale(1);
}

.c_recruit .item:nth-of-type(n+2) {
    margin-top: 50px;
}

.c_recruit .item:nth-of-type(2n) .body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    flex-direction: row-reverse;
    gap: 66px;
    padding-left: 80px;
}

.c_recruit .item:nth-of-type(2n) .contents {
    width: 100%;
    max-width: 520px;
    margin-right: auto;
    margin-top: 0px;
}

.c_recruit .item:nth-of-type(2n) .swiper-container::before,
.c_recruit .item:nth-of-type(2n) .image_wrap::before {
    background-image: url("./image/top-recruit-decoration02.png");
}

.c_recruit .item:nth-of-type(2n) .image img {
    transform: scale(1);
    object-position: right 0px top 0px;
}

.c_recruit .item:nth-of-type(2n) .image_wrap .image img {
    object-position: center center;
}

.c_recruit .item:nth-of-type(1) .image_wrap .image img,
.c_recruit .item:nth-of-type(3) .image_wrap .image img {
    object-position: left center;
}

.c_slide .swiper-container {
    position: relative;
}

.c_slide .swiper-wrapper {
    transition-timing-function: linear;
}

.c_slide .swiper-slide {
    width: 240px;
}

.c_slide .swiper-slide img {
    width: 100%;
}

.c_table .dl {
    border-bottom: 1px solid rgb(237, 237, 237);
    padding: 30px 0px;
}

.c_table .dl:first-of-type {
    border-top: 1px solid rgb(237, 237, 237);
    margin-top: 50px;
}

.c_table .dt {
    width: 30%;
    font-size: 18px;
    font-weight: 600;
    line-height: 1.33;
    letter-spacing: 0.09em;
}

.c_table .dd {
    width: 70%;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.09em;
}

.c_title_body {
    display: inline-block;
}

.c_title .ja {
    -webkit-box-align: center;
    align-items: center;
    gap: 20px;
}

.c_title .ja_text {
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.09em;
}

.c_title .ja_border {
    -webkit-box-flex: 1;
    flex: 1 1 0%;
    height: 1px;
    background: rgb(51, 51, 51);
}

.c_title .en_text {
    font-family: gotham, sans-serif;
    font-style: italic;
    font-size: 90px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0em;
    color: rgb(0, 0, 0);
}

.c_title--center {
    text-align: center;
}

.common_page_wrap .c_title_body {
    min-width: 200px;
}

.common_page_wrap .en_text {
    font-size: 60px;
}

.common_contact {
    position: relative;
    background: rgb(255, 255, 255);
    z-index: 1;
}

.common_contact .items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.common_contact .item {
    position: relative;
}

.common_contact .item::before {
    content: "";
    width: 1px;
    height: 87.5%;
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
    background: rgb(51, 51, 51);
}

.common_contact .item:nth-child(3n)::before {
    display: none;
}

.common_contact .item a {
    position: relative;
    display: block;
    color: rgb(51, 51, 51);
    padding: 60px 50px 30px;
    z-index: 1;
}

.common_contact .item a::before,
.common_contact .item a::after {
    content: "";
    width: 91.7%;
    height: 1px;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background: rgb(51, 51, 51);
}

.common_contact .item a::before {
    top: 0px;
}

.common_contact .item a::after {
    bottom: 0px;
}

.common_contact .item:nth-child(n+4) a::before,
.common_contact .item:nth-child(n+4) a::after {
    display: none;
}

.common_contact .image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    opacity: 0;
    transition: 0.3s ease-in-out;
    z-index: -2;
}

.common_contact .item a:hover .image {
    opacity: 1;
}

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

.common_contact .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.3s ease-in-out;
    z-index: -1;
}

.common_contact .title .en {
    font-family: gotham, sans-serif;
    font-style: italic;
    font-size: 20px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0em;
}

.common_contact .title .ja {
    font-size: 32px;
    font-weight: 500;
    line-height: 1.44;
    letter-spacing: 0.09em;
    margin-top: 5px;
}

.common_contact .box {
    -webkit-box-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    align-items: center;
    gap: 35px;
    margin-top: 105px;
}

.common_contact .box_text {
    font-family: gotham, sans-serif;
    font-style: italic;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.17;
    letter-spacing: 0em;
    transition: 0.3s ease-in-out;
}

.common_contact .box_btn {
    position: relative;
    width: 50px;
    height: 50px;
    border: 1px solid rgb(51, 51, 51);
    border-radius: 50%;
    transition: 0.3s ease-in-out;
}

.common_contact .arrow {
    position: absolute;
    top: 50%;
    left: -15.5px;
    transform: translateY(-50%);
    transition: 0.3s ease-in-out;
}

.common_contact .arrow img {
    display: block;
    width: 40.7px;
    height: 11.3px;
    object-fit: contain;
    transition: 0.3s ease-in-out;
}

.common_contact .item--head {
    padding: 96px 50px 97px;
}

.common_contact .item--head::after {
    content: "";
    width: 91.7%;
    height: 1px;
    position: absolute;
    bottom: 0px;
    left: 50%;
    transform: translateX(-50%);
    background: rgb(51, 51, 51);
}

.common_contact .c_title {
    height: 100%;
}

.common_contact .c_title .ja_text {
    font-size: 18px;
}

.common_contact .c_title .en_text {
    font-size: 80px;
    margin-top: 10px;
}

.common_fv {
    position: relative;
}

.common_fv .wrap {
    width: 1300px;
}

.common_fv .body {
    padding-top: 253px;
}

.common_fv .image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    object-fit: cover;
}

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

.common_fv .ja_text {
    font-size: 26px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.09em;
    color: rgb(0, 0, 0);
}

.common_fv .ja_border {
    background: rgb(255, 255, 255);
}

.common_fv .en_text {
    font-size: 14px;
    line-height: 1.2;
    letter-spacing: 0em;
    color: rgb(16, 9, 100);
    font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
    font-style: normal;
    margin-top: 0.5em;
    font-weight: 500;
}

.loading {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: rgb(255, 255, 255);
    z-index: 9999;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
    opacity: 1;
    transition: opacity 0.5s ease-in-out;
}

.loading.fade-out {
    opacity: 0;
    pointer-events: none;
}

.loading_content {
    text-align: center;
}

.loading_logo {
    width: 250px;
    height: auto;
    animation: 2s ease-in-out infinite fadeInOut;
}

@keyframes fadeInOut {

    0%,
    100% {
        opacity: 0.3;
    }

    50% {
        opacity: 1;
    }
}

@keyframes fadeInOut {

    0%,
    100% {
        opacity: 0.3;
    }

    50% {
        opacity: 1;
    }
}

.pc_header {
    position: fixed;
    width: 100%;
    min-width: 1440px;
    top: 0px;
    left: 0px;
    padding: 40px 0px;
    z-index: 10;
    background: rgb(255, 255, 255);
}

.pc_header .wrap {
    position: relative;
}

.pc_header .sns_box {
    position: absolute;
    right: 0px;
    top: 5px;
    gap: 13.8px;
}

.pc_header .sns_box .icon.instagram img {
    width: 32px;
}

.pc_header .body {
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    gap: 80px;
    margin-right: 145px;
}

.pc_header .logo {
    width: 100px;
}

.pc_header .logo a {
    transition: 0.3s ease-in-out;
}

.pc_header .logo {
    width: 100%;
    max-width: 230px;
}

.pc_header .logo img {
    width: 100%;
}

.pc_header .nav {
    -webkit-box-flex: 1;
    flex: 1 1 0%;
}

.pc_header .menus {
    flex-wrap: nowrap;
    -webkit-box-pack: end;
    justify-content: flex-end;
    gap: 50px;
}

.pc_header .menu a {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.09em;
    color: rgb(51, 51, 51);
}

.pc_header .accordion {
    position: relative;
    padding-right: 18px;
}

.pc_header .accordion::before {
    content: "";
    position: absolute;
    width: 7.7px;
    height: 7.7px;
    top: 50%;
    right: 0px;
    transform: translateY(-50%) rotate(45deg);
    transform-origin: center center;
    border-right: 2px solid rgb(51, 51, 51);
    border-bottom: 2px solid rgb(51, 51, 51);
    transition: 0.3s ease-in-out;
}

.pc_header .accordion.active::before {
    margin-top: 4px;
    transform: translateY(-50%) rotate(225deg);
}

.pc_header .accordion::after {
    content: "";
    position: absolute;
    width: 100%;
    height: 20px;
    top: 100%;
    left: 0px;
}

.pc_header .sub_menus {
    position: absolute;
    min-width: 174px;
    top: 45px;
    left: 50%;
    transform: translateX(-50%);
    width: max-content;
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid rgb(237, 237, 237);
    padding: 26px 30px 28px;
    pointer-events: none;
    overflow: hidden;
    opacity: 0;
    transition: 0.5s ease-in-out;
}

.pc_header .accordion.active .sub_menus {
    opacity: 1;
    pointer-events: auto;
}

.pc_header .sub_menus--row {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px 50px;
}

.pc_header .sub_menus--row::before {
    content: "";
    width: 1px;
    height: 140px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgb(229, 229, 229);
}

.pc_header .sub_menus--row .sub_menu:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: auto;
    grid-row-start: 1;
    grid-row-end: auto;
}

.pc_header .sub_menus--row .sub_menu:nth-child(2) {
    grid-column-start: 1;
    grid-column-end: auto;
    grid-row-start: 2;
    grid-row-end: auto;
}

.pc_header .sub_menus--row .sub_menu:nth-child(3) {
    grid-column-start: 1;
    grid-column-end: auto;
    grid-row-start: 3;
    grid-row-end: auto;
}

.pc_header .sub_menus--row .sub_menu:nth-child(4) {
    grid-column-start: 1;
    grid-column-end: auto;
    grid-row-start: 4;
    grid-row-end: auto;
}

.pc_header .sub_menus--row .sub_menu:nth-child(5) {
    grid-column-start: 2;
    grid-column-end: auto;
    grid-row-start: 1;
    grid-row-end: auto;
}

.pc_header .sub_menus--row .sub_menu:nth-child(6) {
    grid-column-start: 2;
    grid-column-end: auto;
    grid-row-start: 2;
    grid-row-end: auto;
}

.pc_header .sub_menus--row .sub_menu:nth-child(7) {
    grid-column-start: 2;
    grid-column-end: auto;
    grid-row-start: 3;
    grid-row-end: auto;
}

.pc_header .sub_menu a {
    position: relative;
    -webkit-box-align: center;
    align-items: center;
    gap: 18px;
    padding-right: 35px;
    transition: 0.3s ease-in-out;
}

.pc_header .sub_menu a::before {
    content: "";
    position: absolute;
    width: 7.7px;
    height: 7.7px;
    top: calc(50% + 1px);
    right: 0px;
    transform: translateY(-50%) rotate(-45deg);
    transform-origin: center center;
    border-right: 2px solid rgb(51, 51, 51);
    border-bottom: 2px solid rgb(51, 51, 51);
    transition: 0.2s ease-in-out;
}

.pc_header .sub_menu_text {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    letter-spacing: 0.08em;
    color: rgb(51, 51, 51);
}

.top_body {
    overflow: hidden;
}

#top_fv {
    position: relative;
}

#top_fv::before {
    content: "";
    position: absolute;
    width: 1025px;
    height: 1025px;
    top: 0px;
    left: 0px;
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(12, 14, 50, 0.2) 100%);
    clip-path: polygon(0px 0px, 0% 100%, 100% 0px);
}

#top_fv::after {
    content: "";
    position: absolute;
    width: 724px;
    height: 724px;
    top: 0px;
    right: 0px;
    background: linear-gradient(to top, rgba(12, 14, 50, 0) 0%, rgba(17, 22, 124, 0.1) 100%);
    clip-path: polygon(100% 1%, 0% 100%, 100% 100%);
}

#top_fv .body {
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    align-items: center;
    gap: 108px;
}

#top_fv .contents_wrap {
    position: relative;
    flex-shrink: 0;
    min-width: 405px;
    height: 320px;
    display: grid;
    -webkit-box-align: end;
    align-items: end;
    top: -184px;
}

#top_fv .contents {
    grid-row-start: 1;
    grid-column-start: 1;
    grid-row-end: auto;
    grid-column-end: auto;
    opacity: 0;
    transition: opacity 3s ease-in-out;
    pointer-events: none;
}

#top_fv .contents.active {
    opacity: 1;
    pointer-events: auto;
}

#top_fv .head {
    max-width: 410px;
}

#top_fv .row {
    -webkit-box-align: end;
    align-items: end;
    font-family: gotham, sans-serif;
    font-style: italic;
    gap: 10px;
}

#top_fv .row .number {
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0em;
    color: rgb(54, 58, 141);
}

#top_fv .row .en {
    font-size: 16px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0em;
    color: rgb(152, 152, 152);
}

#top_fv .title {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.46;
    letter-spacing: 0.09em;
    margin-top: 3.5px;
}

#top_fv .catch {
    font-size: 55px;
    font-weight: 600;
    line-height: 1.31;
    letter-spacing: 0.1em;
    margin-top: 6px;
}

#top_fv .catch .small {
    font-size: 40px;
    font-weight: 600;
    line-height: 1.8;
    letter-spacing: 0.1em;
}

#top_fv .catch .accent {
    color: rgb(54, 58, 141);
}

#top_fv .c_btn {
    max-width: 240px;
    margin-top: 40px;
}

#top_fv .c_btn a {
    font-size: 15px;
    letter-spacing: 0.09em;
    border-radius: 50px;
    padding: 13.5px 20px;
}

#top_fv .swiper-container {
    position: relative;
}

#top_fv .swiper-container::before {
    content: "";
    width: 447px;
    height: 626px;
    position: absolute;
    bottom: 220px;
    left: -150px;
    background-image: url("./image/top-fv-decoration.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}

#top_fv .top-fv-swiper {
    width: 1044px;
    height: 1044px;
    top: -146px;
    right: 5.77px;
}

#top_fv .swiper-slide img,
#top_fv .swiper-slide picture {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#top_fv .swiper-slide04 img {
    transform: scale(1.01);
}

#top_fv .swiper-pagination {
    top: auto;
    bottom: -130px;
}

#top_fv .swiper-pagination-progressbar {
    position: absolute;
    bottom: -140px;
    width: 100%;
    max-width: 200px;
    background: rgb(245, 245, 245);
}

#top_fv .swiper-horizontal>.swiper-pagination-progressbar,
#top_fv .swiper-pagination-progressbar.swiper-pagination-horizontal,
#top_fv .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
#top_fv .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
    height: 2px;
}

#top_fv .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
    background: rgb(54, 58, 141);
}

#top_fv .number-pagination {
    position: absolute;
    width: 100%;
    max-width: 200px;
    bottom: -140px;
    left: 0px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    align-items: end;
    margin-bottom: 2px;
}

#top_fv .number-item {
    font-family: gotham, sans-serif;
    font-style: italic;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.12;
    letter-spacing: 0em;
    color: rgb(0, 0, 0);
    text-align: center;
    cursor: pointer;
    transition: 1s ease-in-out;
}

#top_fv .number-item.active {
    font-size: 24px;
    font-weight: 400;
    line-height: 1.21;
    letter-spacing: 0em;
}

#top_news {
    position: relative;
    padding: 0px 0px 165px;
    margin-top: 200px;
}

#top_news::before {
    content: "";
    position: absolute;
    width: 1025px;
    height: 1025px;
    bottom: 0px;
    left: 0px;
    background: linear-gradient(rgba(255, 255, 255, 0) 0%, rgba(107, 114, 242, 0.06) 100%);
    clip-path: polygon(0px 0px, 0% 100%, 100% 0px);
    z-index: -1;
}

#top_news .body {
    flex-wrap: nowrap;
    gap: 129px;
}

#top_news .c_title .ja_text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.22em;
}

#top_news .c_title .en_text {
    font-size: 70px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0em;
}

#top_news .wrap {
    position: relative;
}

#top_news .box {
    position: absolute;
    left: 0px;
    top: 0px;
}

#top_news .categorys {
    justify-content: flex-end;
    margin-bottom: 46px;
}

#top_news .categorys li {
    width: 272px;
    text-align: center;
    border-left: 1px solid rgb(224, 224, 224);
    padding-top: 24.5px;
    padding-bottom: 13.5px;
}

#top_news .categorys li:last-child {
    border-right: 1px solid rgb(224, 224, 224);
}

#top_news .category_title {
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.43;
    letter-spacing: 0.09em;
    color: rgb(141, 141, 141);
    cursor: pointer;
    transition: 0.3s ease-in-out;
    justify-content: center;
}

#top_news .category_title span {
    position: relative;
}

#top_news .category_title span::before {
    content: "";
    width: 10px;
    height: 10px;
    background: rgb(0, 0, 0);
    border-radius: 100%;
    position: absolute;
    left: 50%;
    top: -20px;
    transform: translateX(-50%);
    opacity: 0;
    transition: 0.3s;
}

#top_news .current .category_title span::before {
    opacity: 1;
}

#top_news .category.current .category_title {
    color: rgb(12, 14, 50);
}

#top_news .btn {
    margin-top: 30px;
}

#top_news .item a {
    -webkit-box-align: center;
    align-items: center;
    gap: 30px;
    color: rgb(51, 51, 51);
    padding: 23px 0px;
    border-bottom: 1px solid rgb(222, 222, 222);
    transition: 0.3s ease-in-out;
}

#top_news .item:first-of-type a {
    padding-top: 0px;
}

#top_news .item:last-of-type a {
    border-bottom: medium;
    padding-bottom: 0px;
}

#top_news .image {
    -webkit-box-flex: 0;
    flex: 0 0 110px;
}

#top_news .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}

#top_news .contents {
    align-items: center;
    flex-wrap: nowrap;
}

#top_news .tag {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.43;
    letter-spacing: 0.09em;
    background: rgb(239, 239, 239);
    padding: 4px 15px 6px;
    margin-left: 23px;
    margin-right: 33px;
    white-space: nowrap;
    color: rgb(255, 255, 255);
    border-radius: 4px;
}

#top_news .tag.release {
    background: rgb(12, 14, 50);
}

#top_news .tag.news {
    background: rgb(222, 146, 43);
}

#top_news .date {
    font-family: gotham, sans-serif;
    font-style: italic;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.14;
    letter-spacing: 0.09em;
    white-space: nowrap;
    min-width: 90px;
}

#top_news .text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.09em;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

#top_news .item_btn {
    position: relative;
    width: 30px;
    height: 30px;
    border: 1px solid rgb(51, 51, 51);
    border-radius: 50%;
}

#top_news .arrow {
    position: absolute;
    top: 50%;
    left: -18px;
    transform: translateY(-50%);
    transition: 0.3s ease-in-out;
}

#top_news .arrow img {
    display: block;
    width: 30.7px;
    height: 8.5px;
    object-fit: contain;
}

#top_business {
    padding: 92px 0px 0px;
}

#top_about {
    position: relative;
    padding: 264px 0px 0px;
}

#top_about::before {
    content: "";
    position: absolute;
    width: 724px;
    height: 724px;
    top: -397px;
    right: 0px;
    background: linear-gradient(to top, rgba(245, 245, 245, 0) 0%, rgba(39, 42, 108, 0.35) 100%);
    clip-path: polygon(100% 1%, 0% 100%, 100% 100%);
    z-index: -3;
}

#top_about::after {
    content: "";
    position: absolute;
    width: 1299px;
    height: 1299px;
    top: 284px;
    left: 0px;
    background: linear-gradient(rgba(245, 245, 245, 0) 0%, rgba(245, 245, 245, 0.1) 20%, rgba(53, 56, 116, 0.15) 60%, rgba(245, 245, 245, 0.1) 80%, rgba(22, 26, 95, 0) 100%);
    clip-path: polygon(0px 0px, 0% 100%, 100% 0px);
    z-index: -3;
}

#top_about .items {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    width: 1140px;
    margin: 60px auto 0px;
}

#top_about .item a {
    position: relative;
    height: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    -webkit-box-pack: justify;
    justify-content: space-between;
    gap: 153px;
    padding: 60px 40px 50px;
}

#top_about .image {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    overflow: hidden;
    z-index: -2;
}

#top_about .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: 0.3s ease-in-out;
}

#top_about .overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: rgba(0, 0, 0, 0.6);
    transition: 0.3s ease-in-out;
    z-index: -1;
}

#top_about .contents {
    color: rgb(255, 255, 255);
}

#top_about .en {
    font-family: gotham, sans-serif;
    font-style: italic;
    font-size: 60px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0em;
}

#top_about .ja {
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.09em;
    margin-top: 5px;
}

#top_about .text {
    font-size: 17px;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: 0.08em;
    margin-top: 26px;
}

#top_about .box {
    -webkit-box-pack: end;
    justify-content: flex-end;
    -webkit-box-align: center;
    align-items: center;
    gap: 35px;
    padding-right: 10px;
}

#top_about .box_text {
    font-family: gotham, sans-serif;
    font-style: italic;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.17;
    letter-spacing: 0em;
    color: rgb(255, 255, 255);
}

#top_about .box_btn {
    position: relative;
    width: 50px;
    height: 50px;
    border: 1px solid rgb(255, 255, 255);
    border-radius: 50%;
}

#top_about .arrow {
    position: absolute;
    top: 50%;
    left: -15.5px;
    transform: translateY(-50%);
    transition: 0.3s ease-in-out;
}

#top_about .arrow img {
    display: block;
    width: 40.7px;
    height: 11.3px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

#top_recruit {
    padding: 270px 0px 194px;
}

#top_partner {
    padding: 0px 0px 284px;
}

#page_business .common_page_wrap {
    padding: 120px 0px 200px;
}

#page_business .common_contact {
    position: relative;
    z-index: auto;
}

#page_business .common_contact::before {
    content: "";
    position: absolute;
    width: 724px;
    height: 724px;
    top: -397px;
    right: 0px;
    background: linear-gradient(to top, rgba(245, 245, 245, 0) 0%, rgba(39, 42, 108, 0.35) 100%);
    clip-path: polygon(100% 1%, 0% 100%, 100% 100%);
    z-index: -3;
}

#business_contents {
    position: relative;
    z-index: 2;
}

#business_contents .items {
    margin-top: 0px;
}

#business_contents .item:nth-child(1) a::before,
#business_contents .item:nth-child(2) a::before {
    display: none;
}

#buy_slide {
    padding: 60px 0px 20px;
}

#management_system {
    padding: 120px 0px 0px;
}

#management_system::before {
    top: 150px;
}

#management_system::after {
    content: "";
    position: absolute;
    width: 447px;
    height: 1144px;
    bottom: -250px;
    left: 0px;
    background-image: url("./image/top-partner-bg.png");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    z-index: -1;
}

#management_system .en_text {
    font-size: 90px;
}

#management_system .contents .ja {
    font-size: 32px;
}

#management_system .contents .text {
    font-size: 16px;
    font-weight: 500;
}

#company_vision {
    padding: 0px 0px 100px;
}

#company_vision .dl:not(:first-of-type) {
    margin-top: 100px;
}

#company_vision .dt {
    width: 35%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    flex-direction: column;
    padding-top: 10px;
}

#company_vision .dt .ja {
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.09em;
    color: rgb(54, 58, 141);
}

#company_vision .dt .en {
    font-family: gotham, sans-serif;
    font-style: italic;
    font-size: 60px;
    font-weight: 400;
    line-height: 1.2;
    letter-spacing: 0px;
    color: rgb(12, 14, 50);
}

#company_vision .dd {
    -webkit-box-flex: 1;
    flex: 1 1 0%;
    font-size: 20px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.09em;
}

#company_about {
    position: relative;
}

#company_about::before {
    content: "";
    width: 768px;
    height: 768px;
    position: absolute;
    top: -180px;
    left: 0px;
    background: linear-gradient(rgba(245, 245, 245, 0) 0%, rgba(53, 56, 116, 0.09) 100%);
    clip-path: polygon(0px 0px, 0% 100%, 100% 0px);
    z-index: -1;
}

#company_about::after {
    content: "";
    width: 1440px;
    height: 1440px;
    position: absolute;
    bottom: 10px;
    left: 0px;
    background: linear-gradient(rgba(245, 245, 245, 0) 0%, rgba(53, 56, 116, 0.06) 100%);
    clip-path: polygon(0px 0px, 0% 100%, 100% 0px);
    z-index: -1;
}

#company_about .body {
    position: relative;
}

#company_about .body::before {
    content: "";
    width: 940px;
    height: 940px;
    position: absolute;
    top: 32%;
    right: 0px;
    transform: translateY(-32%);
    background: linear-gradient(to top, rgba(245, 245, 245, 0.11) 0%, rgba(39, 42, 108, 0.05) 65%, rgba(39, 42, 108, 0.01) 100%);
    clip-path: polygon(100% 1%, 0% 100%, 100% 100%);
    z-index: -1;
}

#company_about .item {
    position: relative;
    background: rgb(255, 255, 255);
    border: 1px solid rgb(229, 229, 229);
    padding: 42px 49px 45px;
}

#company_about .item:first-of-type {
    padding: 42px 49px 52px;
}

#company_about .item:not(:first-of-type) {
    margin-top: 80px;
}

#company_about .title {
    position: relative;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.46;
    letter-spacing: 0.06em;
    color: rgb(12, 14, 50);
    margin-bottom: 50px;
}

#company_about .title::before {}

#company_about .dl {
    flex-wrap: nowrap;
    border-bottom: 1px solid rgb(237, 237, 237);
    padding: 27px 0px 29px;
}

#company_about .dl:first-of-type {
    padding: 0px 0px 29px;
}

#company_about .dl:last-of-type {
    border-bottom: medium;
    padding: 27px 0px 0px;
}

#company_about .dl--center {
    -webkit-box-align: center;
    align-items: center;
}

#company_about .dt {
    width: 33.4%;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.09em;
}

#company_about .dd {
    width: 66.6%;
}

#company_about .dd .text {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.09em;
    color: rgb(92, 92, 92);
}

#company_about .dd .text--lh {
    line-height: 1.69;
}

#company_about .sub_text {
    font-size: 15px;
    font-weight: 500;
    line-height: 1.53;
    letter-spacing: 0.09em;
    margin-top: 10px;
}

#office_contents .items {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px;
}

#office_contents .item {
    -webkit-box-align: center;
    align-items: center;
    gap: 20px;
}

#office_contents .image {
    -webkit-box-flex: 0;
    flex: 0 0 220px;
}

#office_contents .image img {
    width: 100%;
    height: auto;
    object-fit: cover;
    aspect-ratio: 1 / 1;
}

#office_contents .contents {
    -webkit-box-flex: 1;
    flex: 1 1 0%;
}

#office_contents .title {
    font-size: 20px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.09em;
    color: rgb(54, 58, 141);
}

#office_contents .tel {
    margin-top: 16px;
}

#office_contents .tel_text {
    font-family: gotham, sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0em;
}

#office_contents .tel_text .small {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.19;
    letter-spacing: 0em;
}

#office_contents .text {
    font-size: 13px;
    font-weight: 400;
    line-height: 1.77;
    letter-spacing: 0.09em;
    margin-top: 10px;
}

#greeting_contents {
    position: relative;
}

#greeting_contents::before {
    content: "";
    position: absolute;
    width: 1299px;
    height: 1299px;
    top: -700px;
    left: 0px;
    background: linear-gradient(rgba(245, 245, 245, 0) 0%, rgba(245, 245, 245, 0.1) 20%, rgba(53, 56, 116, 0.15) 60%, rgba(245, 245, 245, 0.1) 80%, rgba(22, 26, 95, 0) 100%);
    clip-path: polygon(0px 0px, 0% 100%, 100% 0px);
    z-index: -3;
}

#greeting_contents .text {
    font-size: 16px;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.09em;
}

#greeting_contents .box {
    text-align: right;
}

.title_wrap {
    display: inline-block;
    margin-top: 80px;
    text-align: left;
}

#greeting_contents .sub_title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.09em;
}

#greeting_contents .title {
    font-size: 20px;
    font-weight: 500;
    line-height: 1;
    letter-spacing: 0.09em;
    margin-top: 16px;
}

#page_recruit .common_page_wrap {
    padding: 150px 0px;
}

#recruit_info::before {
    top: -50px;
}

#recruit_partner {
    padding: 190px 0px 0px;
}

#recruit_partner::before {
    top: -220px;
}

#career_recruit {
    padding: 100px 0px;
}

#career_recruit .body {
    border: 1px solid rgb(229, 229, 229);
    padding: 80px 120px;
}

#new_graduate_recruit {
    padding: 100px 0px;
}

#new_graduate_recruit .body {
    border: 1px solid rgb(229, 229, 229);
    padding: 80px 120px;
}

#partner_contents .row {
    -webkit-box-align: center;
    align-items: center;
    gap: 80px;
    margin-top: 40px;
}

#partner_contents .image {
    -webkit-box-flex: 0;
    flex: 0 0 600px;
}

#partner_contents .image img {
    width: 100%;
    height: auto;
    aspect-ratio: 600 / 260;
    object-fit: cover;
}

#partner_contents .contents {
    -webkit-box-flex: 1;
    flex: 1 1 0%;
}

#partner_contents .texts {
    margin-top: 30px;
}

#partner_contents .text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.09em;
}

#partner_contents .text--mt {
    margin-top: 10px;
}

#partner_contents .lists {
    margin-top: 10px;
}

#partner_contents .list {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.09em;
}

#partner_form {
    padding: 150px 0px 0px;
}

#partner_form .text {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.5;
    letter-spacing: 0.09em;
    margin-top: 40px;
    text-align: center;
}

#page_partner .page_contact {
    padding-top: 80px;
}

.contact_form_disc {
    color: rgb(51, 51, 51);
    letter-spacing: 0.08em;
    font-weight: 400;
    text-align: center;
    margin-block: 0px 3.8em;
}

.contact_form_disc .text {
    font-size: 16px;
    margin-block: 0px 1em;
}

.contact_form_disc .caution {
    font-size: 14px;
}

.common_contact_form .form_box {
    margin-block: 0px 50px;
}

.common_contact_form .form_block:not(:first-of-type) {
    margin-top: 100px;
}

.common_contact_form .form_block_title {
    position: relative;
    font-size: 16px;
    font-weight: 500;
    padding-left: 20px;
    margin-bottom: 40px;
}

.common_contact_form .form_block_title::before {
    content: "";
    width: 10px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    background: rgb(51, 51, 51);
}

.common_contact_form .form_block_text {
    margin-top: 10px;
}

.common_contact_form .form_box dl {
    display: grid;
    grid-template-columns: 26.5% 1fr;
    align-items: center;
    gap: 80px;
}

.common_contact_form .form_box dl.start {
    align-items: flex-start;
}

.common_contact_form .form_box .column {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.common_contact_form .form_box .row {
    -webkit-box-pack: start;
    justify-content: flex-start;
    -webkit-box-align: center;
    align-items: center;
    gap: 20px;
}

.common_contact_form .note {
    font-size: 12px;
}

.common_contact_form .form_box .row select {
    width: 100%;
}

.common_contact_form .form_box .adjustment {
    margin-top: -10px;
}

.common_contact_form .form_box dl+dl {
    margin-block: 3em 0px;
}

.common_contact_form .form_box dl dt {
    display: flex;
    align-items: center;
    gap: 1.3em;
    font-size: 16px;
    letter-spacing: 0.08em;
    font-weight: 700;
    padding-inline: 0px 0.5em;
    position: relative;
}

.common_contact_form .form_box dl dt .label {
    flex-shrink: 0;
    color: rgb(51, 51, 51);
    font-size: 12px;
    letter-spacing: 0.2em;
    font-weight: 700;
    border-radius: 100vmax;
    padding: 0.2em 0.9em;
}

.common_contact_form .form_box dl dt .label.hissu {
    background: rgb(199, 0, 0);
    color: rgb(255, 255, 255);
}

.common_contact_form .form_box dl dt .label.ninni {
    background: rgb(224, 224, 224);
}

.common_contact_form .form_box dl dt::after {
    content: "";
    width: 1px;
    height: 30px;
    background: rgb(170, 170, 170);
    position: absolute;
    top: 50%;
    right: 0px;
    transform: translateY(-50%);
}

.common_contact_form input[type="text"],
.common_contact_form input[type="email"],
.common_contact_form #zip {
    width: 100%;
    background: rgb(248, 248, 248);
    border: 1px solid rgb(230, 230, 230);
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: 0.08em;
    font-weight: 400;
    padding: 0.8em 1em;
}

.common_contact_form .number_box input[type="text"] {
    width: 100px;
}

.common_contact_form textarea {
    width: 100%;
    height: 180px;
    background: rgb(248, 248, 248);
    border: 1px solid rgb(230, 230, 230);
    border-radius: 4px;
    padding: 1em;
    font-size: 14px;
    letter-spacing: 0.08em;
    font-weight: 400;
}

.common_contact_form input::placeholder,
.common_contact_form textarea::placeholder {
    color: rgb(199, 196, 196);
}

.common_contact_form select {
    width: 47.5%;
    background: rgb(248, 248, 248);
    border: 1px solid rgb(230, 230, 230);
    border-radius: 4px;
    font-size: 14px;
    letter-spacing: 0.08em;
    padding: 1.1em 1em;
}

.common_contact_form .form_box .date_select {
    width: 47.5%;
}

.common_contact_form select.empty {
    color: rgb(199, 196, 196);
}

.page_contact #btn_wrap {
    justify-content: center;
    text-align: right;
    width: 74%;
    margin: auto;
}

.page_contact #btn_wrap button {
    background-color: var(--main-color);
    border: medium;
    cursor: pointer;
    outline: medium;
    padding: 0px;
    appearance: none;
    color: rgb(255, 255, 255);
    display: block;
    width: 310px;
    line-height: 60px;
    font-size: 18px;
    font-weight: 900;
    transition: 0.3s;
    text-align: center;
    letter-spacing: 0.08em;
    margin: auto;
}

.page_contact #btn_wrap button[name="submitBack"] {
    background: rgb(51, 51, 51);
    margin-top: 20px;
}

.privacy_term_outer .privacy_term_inner {
    height: 138px;
    margin: auto;
    overflow: auto;
}

.privacy_term_outer .privacy_term_inner .privacy_index {
    font-size: 14px;
}

.privacy_term_outer .privacy_term_inner .main_text {
    font-size: 13px;
    margin-bottom: 25px;
}

.privacy_term_outer .privacy_term_inner dl dt {
    font-size: 13px;
    border-left: 3px solid rgb(204, 204, 204);
    padding-left: 1em;
    margin-bottom: 5px;
}

.privacy_term_outer .privacy_term_inner dl dd {
    font-size: 13px;
}

.privacy_term_outer .privacy_term_inner dl+dl {
    margin-top: 30px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar {
    width: 8px;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-track {
    background: none;
}

.privacy_term_outer .privacy_term_inner::-webkit-scrollbar-thumb {
    background-color: rgb(51, 51, 51);
    border-radius: 10px;
}

.privacy_term_outer {
    border-top: 1px solid rgb(227, 227, 227);
    padding: 30px 0px;
    border-bottom: 1px solid rgb(227, 227, 227);
    width: 60%;
    margin: 0px auto 50px;
}

.privacy_check_list .mwform-checkbox-field-text {
    padding-right: 0px;
}

.privacy_check_list .error {
    font-size: 12px;
}

.privacy_term_detail {
    text-align: center;
    font-size: 13px;
    margin: 20px 0px;
    position: relative;
    font-weight: 600;
}

.privacy_term_detail::after {
    content: "";
    margin: 5px auto 0px;
    border-style: solid;
    border-color: rgb(51, 51, 51);
    border-image: none;
    border-width: 2px 2px 0px 0px;
    width: 10px;
    aspect-ratio: 1 / 1;
    min-width: 0px;
    rotate: 135deg;
    display: block;
}

.mw_wp_form_confirm .privacy_check_list,
.mw_wp_form_confirm .privacy_term_detail {
    display: none;
}

.radio_btns,
.checkboxes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5em 1.5em;
    padding: 0.5em 0px;
}

.radio_btns input[type="radio"].radio_btns__item {
    display: none;
}

.radio_btns label {
    display: inline-block;
    cursor: pointer;
}

.radio_btns .radio_btns__item+span {
    color: rgb(51, 51, 51);
    font-size: 15px;
    letter-spacing: 0.08em;
    font-weight: 600;
    padding-left: 2em;
    display: inline-block;
    position: relative;
}

.radio_btns .radio_btns__item+span::before,
.radio_btns .radio_btns__item+span::after {
    content: "";
    display: block;
    position: absolute;
    border: 1px solid rgb(230, 230, 230);
    background: rgb(248, 248, 248);
    border-radius: 50%;
    width: 20px;
    aspect-ratio: 1 / 1;
    min-width: 0px;
    top: 0px;
    left: 0px;
    bottom: 0px;
    margin: auto;
}

.radio_btns .radio_btns__item+span::after {
    width: 10px;
    aspect-ratio: 1 / 1;
    min-width: 0px;
    top: 0px;
    left: 5px;
    border: medium;
    background: rgb(54, 58, 141);
    transform: scale(0);
    transition: 0.3s;
}

.radio_btns .radio_btns__item:checked+span::after {
    transform: scale(1);
}

.page_contact input[type="checkbox"] {
    display: none;
}

.mwform-checkbox-field label {
    cursor: pointer;
}

.mwform-checkbox-field-text {
    color: rgb(51, 51, 51);
    font-size: 15px;
    letter-spacing: 0.08em;
    font-weight: 600;
    display: inline-block;
    position: relative;
    padding: 0px 0px 0px 30px;
}

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

.mwform-checkbox-field-text::before {
    background: rgb(248, 248, 248);
    border: 1px solid rgb(230, 230, 230);
    border-radius: 2px;
    width: 20px;
    aspect-ratio: 1 / 1;
    min-width: 0px;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
}

.mwform-checkbox-field-text::after {
    border-width: 3px;
    border-color: transparent transparent rgb(54, 58, 141) rgb(54, 58, 141);
    border-style: solid;
    width: 20px;
    aspect-ratio: 2 / 1;
    min-width: 0px;
    margin-top: -0.2em;
    top: 50%;
    left: 0px;
    transform: translateY(-50%) rotate(-45deg);
    opacity: 0;
}

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

.mw_wp_form .horizontal-item {
    display: inline-block;
}

.mw_wp_form .horizontal-item+.horizontal-item {
    margin-left: 0px !important;
}

.page_contact .thanks_textArea .name {
    font-size: 16px;
    line-height: 2;
    text-align: center;
    margin-bottom: 20px;
}

.page_contact .thanks_textArea .contact_text {
    margin: 0px auto 50px;
    width: 62%;
}

.page_contact .thanks_textArea .ichiran_link {
    background-color: var(--main-color);
    border: medium;
    cursor: pointer;
    outline: medium;
    padding: 0px;
    appearance: none;
    color: rgb(255, 255, 255);
    display: block;
    width: 300px;
    line-height: 50px;
    border-radius: 4px;
    font-size: 16px;
    transition: 0.3s;
    margin: 0px auto;
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 0.08em;
    text-align: center;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
}

.page_contact .thanks_textArea .contact_text .space {
    display: block;
    margin-top: 10px;
}

.page_contact .progressbar {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5.6em;
    margin-block: 0px 3em;
}

.page_contact .progressbar .item {
    color: rgb(51, 51, 51);
    font-size: 14px;
    letter-spacing: 0.08em;
    font-weight: 400;
    text-align: center;
    line-height: 1.5;
    position: relative;
}

.page_contact .progressbar .item+.item::before {
    content: "";
    width: 50px;
    height: 1px;
    background: rgb(230, 230, 230);
    position: absolute;
    top: 64%;
    left: -5em;
}

.page_contact .progressbar .item .mark {
    width: 36px;
    aspect-ratio: 1 / 1;
    background: rgb(255, 255, 255);
    border: 1px solid rgb(51, 51, 51);
    border-radius: 50%;
    display: block;
    margin: 0px auto 0.5em;
    position: relative;
}

.page_contact .progressbar .item .mark::before {
    content: "";
    width: 41%;
    aspect-ratio: 1 / 1;
    background: rgb(54, 58, 141);
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    opacity: 0;
}

.page_contact .progressbar .item.active .mark::before {
    opacity: 1;
}

.page_contact .progressbar .item .en {
    display: block;
    color: rgb(51, 51, 51);
    letter-spacing: 0px;
    font-family: Helvetica, Arial, sans-serif;
}

.privacy_check_list {
    justify-content: center;
    align-items: center;
    margin-bottom: 25px;
}

.privacy_check_list .hissu {
    background: rgb(199, 2, 0);
    color: rgb(255, 255, 255);
    padding: 2px 15px;
    font-size: 10px;
    letter-spacing: 0.08em;
    border-radius: 30px;
    font-weight: 600;
}

.mw_wp_form .privacy_check_list .horizontal-item {
    margin: 0px;
}

#page_404 {
    text-align: center;
}

#page_404 .num {
    font-size: 100px;
    font-family: Montserrat, "Noto Sans JP", sans-serif;
    -webkit-font-smoothing: antialiased;
}

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

.archive_page_list>article {
    padding-bottom: 15px;
    padding-top: 15px;
    border-bottom: 1px dashed rgb(238, 238, 238);
    padding-right: 30px;
}

.archive_page_list>article::after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    top: 0px;
    right: 5px;
    bottom: 0px;
    margin: auto;
    border-style: solid;
    border-color: rgb(204, 204, 204);
    border-image: none;
    border-width: 2px 2px 0px 0px;
    transform: rotate(45deg);
}

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

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

.archive_page_list>article .content_area .ttl {
    font-weight: bold;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

.archive_page_list>article .content_area .content {
    font-size: 80%;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.wp-pagenavi {
    text-align: center;
    margin-top: 50px;
}

.wp-pagenavi a,
.wp-pagenavi span {
    display: inline-block;
    color: rgb(153, 153, 153);
    background-color: rgb(255, 255, 255);
    border: 1px solid rgb(224, 224, 210);
    padding: 8px 15px;
    margin: 0px 2px;
    border-radius: 3px;
    transition: 0.2s ease-in-out;
    text-align: center;
    text-decoration: none;
}

.wp-pagenavi .current {
    color: rgb(255, 255, 255);
    background-color: var(--main-color);
    border-color: var(--main-color);
    font-weight: bold;
}

.site_footer {
    color: rgb(255, 255, 255);
    background: rgb(16, 9, 100);
    padding: 95px 0px 80px;
}

.site_footer .nav {
    flex-wrap: nowrap;
    gap: 105px;
}

.site_footer .menu>a {
    transition: 0.3s ease-in-out;
}

.site_footer .menu_title {
    position: relative;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.08em;
    color: rgb(255, 255, 255);
    padding-left: 20px;
}

.site_footer .menu_title::before {
    content: "";
    width: 8px;
    height: 8px;
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%) rotate(45deg);
    background: rgb(255, 255, 255);
}

.site_footer .menu_lists {
    margin-top: 25px;
}

.site_footer .menu_list:not(:first-of-type) {
    margin-top: 10px;
}

.site_footer .menu_list a {
    position: relative;
    display: inline-block;
    font-size: 15px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.08em;
    color: rgb(185, 185, 185);
    padding-left: 12px;
    transition: 0.3s ease-in-out;
}

.site_footer .menu_list a::before {
    content: "";
    width: 5px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    background: rgb(185, 185, 185);
}

.site_footer .menu_lists--row {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 12px 42px;
}

.site_footer .menu_lists--row .menu_list:not(:first-of-type) {
    margin-top: 0px;
}

.site_footer .menu_lists--row .menu_list:nth-child(1) {
    grid-column-start: 1;
    grid-column-end: auto;
    grid-row-start: 1;
    grid-row-end: auto;
}

.site_footer .menu_lists--row .menu_list:nth-child(2) {
    grid-column-start: 1;
    grid-column-end: auto;
    grid-row-start: 2;
    grid-row-end: auto;
}

.site_footer .menu_lists--row .menu_list:nth-child(3) {
    grid-column-start: 1;
    grid-column-end: auto;
    grid-row-start: 3;
    grid-row-end: auto;
}

.site_footer .menu_lists--row .menu_list:nth-child(4) {
    grid-column-start: 1;
    grid-column-end: auto;
    grid-row-start: 4;
    grid-row-end: auto;
}

.site_footer .menu_lists--row .menu_list:nth-child(5) {
    grid-column-start: 2;
    grid-column-end: auto;
    grid-row-start: 1;
    grid-row-end: auto;
}

.site_footer .menu_lists--row .menu_list:nth-child(6) {
    grid-column-start: 2;
    grid-column-end: auto;
    grid-row-start: 2;
    grid-row-end: auto;
}

.site_footer .menu_lists--row .menu_list:nth-child(7) {
    grid-column-start: 2;
    grid-column-end: auto;
    grid-row-start: 3;
    grid-row-end: auto;
}

.site_footer .body {
    margin-top: 83px;
}

.site_footer .main {
    -webkit-box-pack: justify;
    justify-content: space-between;
    -webkit-box-align: end;
    align-items: flex-end;
    border-bottom: 1px solid rgb(244, 244, 244);
    padding-bottom: 17px;
}

.site_footer .contents {
    -webkit-box-flex: 1;
    flex: 1 1 0%;
    -webkit-box-align: center;
    align-items: center;
    gap: 40px;
}

.site_footer .logo {
    width: 100%;
    max-width: 247px;
}

.site_footer .logo a {
    transition: 0.3s ease-in-out;
}

.site_footer .logo img {
    width: 100%;
}

.site_footer .company {
    color: rgb(185, 185, 185);
}

.site_footer .company_title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.08em;
}

.site_footer .company_text {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.43;
    letter-spacing: 0.08em;
}

.site_footer .sub_menus {
    gap: 29px;
}

.site_footer .sub_menu a {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.43;
    letter-spacing: 0em;
    color: rgb(255, 255, 255);
    transition: 0.3s ease-in-out;
}

.site_footer .sub {
    -webkit-box-pack: justify;
    justify-content: flex-end;
    -webkit-box-align: end;
    align-items: flex-end;
    margin-top: 20px;
}

.site_footer .row {
    -webkit-box-align: center;
    align-items: center;
    gap: 20px;
}

.site_footer .tel_text {
    font-family: gotham, sans-serif;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0em;
}

.site_footer .tel_text .small {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.19;
    letter-spacing: 0em;
}

.site_footer .copyright {
    display: block;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.42;
    letter-spacing: 0em;
    color: rgb(185, 185, 185);
}

.c_btn a:hover {
    color: rgb(12, 14, 50);
    background: none;
}

.c_btn a:hover::before {
    background: rgb(51, 51, 51);
    right: -5px;
}

.c_btn a:hover::after {
    right: -23px;
}

.c_btn--black a:hover {
    color: rgb(51, 51, 51);
}

.c_btn--blue a:hover {
    color: rgb(54, 58, 141);
}

.c_btn--blue a:hover::before {
    background: rgb(54, 58, 141);
}

.c_business .item a:hover .image {
    opacity: 1;
}

.c_business .item a:hover .overlay {
    background: rgba(0, 0, 0, 0.6);
}

.c_business .item a:hover .row {
    color: rgb(255, 255, 255);
}

.c_business .item a:hover .title {
    color: rgb(255, 255, 255);
}

.c_business .item a:hover .text {
    color: rgb(255, 255, 255);
}

.c_business .item a:hover .box_text {
    color: rgb(255, 255, 255);
}

.c_business .item a:hover .box_btn {
    border: 1px solid rgb(255, 255, 255);
}

.c_business .item a:hover .arrow {
    left: -10.5px;
}

.c_business .item a:hover .arrow img {
    filter: brightness(0) invert(1);
}

.common_contact .item a:hover .overlay {
    background: rgba(16, 9, 100, 0.6);
}

.common_contact .item a:hover .title {
    color: rgb(255, 255, 255);
    transition: 0.3s ease-in-out;
}

.common_contact .item a:hover .box_text {
    color: rgb(255, 255, 255);
}

.common_contact .item a:hover .box_btn {
    border: 1px solid rgb(255, 255, 255);
}

.common_contact .item a:hover .arrow {
    left: -10.5px;
}

.common_contact .item a:hover .arrow img {
    filter: brightness(0) invert(1);
}

.pc_header .logo a:hover {
    opacity: 0.8;
}

.pc_header .sub_menu a:hover {
    opacity: 0.8;
}

.pc_header .sub_menu a:hover::before {
    right: -3px;
}

#top_news .item a:hover {
    opacity: 0.7;
}

#top_news .item a:hover .arrow {
    left: -13px;
}

#top_about .item a:hover .image img {
    transform: scale(1.1);
}

#top_about .item a:hover .overlay {
    background: rgba(0, 0, 0, 0.4);
}

#top_about .item a:hover .arrow {
    left: -10.5px;
}

.page_contact #btn_wrap button:hover {
    opacity: 0.8;
}

.page_contact .thanks_textArea .ichiran_link:hover {
    opacity: 0.8;
}

.wp-pagenavi a:hover {
    color: rgb(255, 255, 255);
    background-color: var(--main-color);
    border-color: var(--main-color);
}

.site_footer .menu>a:hover {
    opacity: 0.7;
}

.site_footer .menu_list a:hover {
    opacity: 0.7;
}

.site_footer .logo a:hover {
    opacity: 0.8;
}

.site_footer .sub_menu a:hover {
    opacity: 0.7;
}

.new_top_fv_slider {
    height: calc(-119px + 100vh);
    width: 100vw;
}

.new_top_fv_slider .slick_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.new_top_fv_text {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    color: rgb(255, 255, 255);
    text-align: center;
    z-index: 2;
    text-shadow: rgba(0, 0, 0, 0.75) 0px 0px 10px;
}

.new_top_fv {
    position: relative;
    width: 100vw;
    height: calc(-119px + 100vh);
}

.new_top_fv .main_image {
    position: absolute;
    left: 0px;
    top: 0px;
    width: 100%;
    height: 100%;
}

.new_top_fv .main_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 0px 90%;
}

.new_top_fv_text .text {
    font-size: 42px;
    letter-spacing: 0.2em;
    font-weight: 500;
    line-height: 1.3;
    translate: 7%;
    margin-bottom: 0.1em;
}

.new_top_fv_text .en {
    font-size: 14px;
    font-weight: 500;
}

.new_top_fv_slider .slick-list {
    width: 100%;
    height: 100%;
}

.new_top_fv_slider .slick-list .slick-track {
    height: 100%;
}

@keyframes zoomUp {
    0% {
        transform: scale(1);
    }

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

.add-animation {
    animation: 10s linear both zoomUp;
}

#top_news .contents_box {
    align-items: flex-end;
}

#top_news .in_contents {
    display: none;
    align-items: flex-end;
}

#top_news .in_contents .items {
    width: 823px;
}

#top_news .button_box {
    width: 314px;
}

.section_common_link {
    position: relative;
    padding-top: 100px;
    margin-bottom: 38px;
    margin-top: 100px;
}

.section_common_link::before {
    content: "";
    width: 100%;
    height: 440px;
    background: url("./image/common_link_back.webp") center center / cover no-repeat;
    position: absolute;
    left: 0px;
    top: 0px;
}

.section_common_link .cont {
    background: rgb(255, 255, 255);
    position: relative;
    padding: 40px 50px;
}

.section_common_link .cont ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 55px;
}

.section_common_link .cont ul li .title {
    font-size: 20px;
    text-align: center;
    position: relative;
    margin: 0px 0.5em 0.5em;
}

.section_common_link .cont ul li .title::before {
    content: "";
    width: 100%;
    height: 1px;
    background: rgb(112, 112, 112);
    position: absolute;
    left: 0px;
    top: 50%;
}

.section_common_link .cont ul li .title span {
    position: relative;
    z-index: 2;
    background: rgb(255, 255, 255);
    padding: 0px 20.5px;
}

.section_common_link .cont ul li .lead {
    text-align: center;
    margin-bottom: 38.5px;
    font-size: 14px;
}

.common_contents_box {
    width: 1300px;
    margin: 0px auto;
    box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 10px;
    border-radius: 21px;
    padding: 74px 71.5px 95px;
}

.common_head_box .title_box {
    padding-bottom: 58.5px;
    position: relative;
    margin-bottom: 56px;
}

.common_head_box .title_box::before {
    content: "";
    width: 203px;
    height: 1px;
    background: rgb(0, 0, 0);
    position: absolute;
    left: 0px;
    bottom: 0px;
}

.common_head_box .title_box .lead {
    font-size: 16px;
    margin-bottom: 11px;
}

.common_head_box .title_box .title {
    font-size: 32px;
}

.common_head_box .text {
    font-size: 16px;
    line-height: 2.1;
}

.common_head_box .image {
    margin-top: 73.5px;
}

.common_head_box .c_btn {
    margin-top: 56.5px;
}

#page_buy .common_head_box {
    margin-bottom: 87px;
}

#page_buy .section_links {
    margin-bottom: 110px;
}

.common_picture_list ul li+li {
    margin-top: 25px;
}

.common_picture_list ul li {
    align-items: center;
}

.common_picture_list ul li .image {
    width: 308px;
    height: 180px;
}

.common_picture_list ul li .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
}

.common_picture_list ul li .text_box {
    width: calc(100% - 308px);
    padding-left: 43px;
}

.common_picture_list ul li .text_box .title {
    font-size: 24px;
    /* font-weight: 700; */
    margin-bottom: 14.5px;

}

.common_picture_list ul li .text_box .text {
    font-size: 16px;
    line-height: 2;
}

.common_section_faq .c_title {
    margin-bottom: 38px;
}

.common_section_faq .cont dl+dl {
    margin-top: 40px;
}

.common_section_faq .cont dl dt {
    background: rgb(247, 247, 247);
    padding: 17px;
    border-radius: 16px;
    margin-bottom: 28.5px;
}

.common_section_faq .cont dl dt .title {
    font-size: 20px;
    font-weight: 300;

}

.common_section_faq .cont dl dd {
    width: 1035px;
    margin: 0px auto;
    font-size: 16px;
    line-height: 2;
}

.common_shop_list .c_title {
    margin-bottom: 89.5px;
}

.common_shop_list .cont .box {
    border-top: 1px solid rgb(112, 112, 112);
    border-bottom: 1px solid rgb(112, 112, 112);
    padding-top: 19px;
    padding-bottom: 55.5px;
}

.common_shop_list .cont .box:last-child {
    padding-bottom: 0px;
    border-bottom: medium;
}

.common_shop_list .cont .box .head_box {
    align-items: center;
    margin-bottom: 16.5px;
}

.common_shop_list .cont .box .head_box .title {
    font-size: 24px;
    font-weight: 700;
    color: rgb(0, 0, 0);
}

.common_shop_list .cont .box .head_box .information .text {
    font-size: 16px;
    text-align: right;
}

.common_shop_list .cont .box .picture_box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 44px;
}

.common_shop_list .cont .box .picture_box .image {
    height: 322px;
}

.common_shop_list .cont .box .picture_box .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 16px;
}

#page_buy .section_recommend {
    margin-bottom: 106px;
}

#page_buy .section_recommend .c_title {
    margin-bottom: 38px;
}

#page_buy .common_section_faq {
    margin-bottom: 145px;
}

#page_sell .section_reason {
    margin: 105px 0px;
}

#page_sell .section_reason .c_title {
    margin-bottom: 38px;
}

#page_sell .section_reason .c_btn {
    margin-top: 92px;
}

#page_sell .section_case {
    margin-bottom: 120px;
}

#page_sell .section_case .c_title {
    margin-bottom: 40px;
}

.common_case_list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 17px;
}

.common_case_list ul li {
    box-shadow: rgba(0, 0, 0, 0.16) 0px 0px 8px;
    padding: 18px 25px 30px;
    border-radius: 16px;
}

.common_case_list ul li .head_box {
    margin-bottom: 25px;
    align-items: center;
    gap: 24px;
}

.common_case_list ul li .head_box .name {
    font-size: 20px;
    margin-bottom: 0.4em;
}

.common_case_list ul li .head_box dl {
    align-items: center;
    gap: 8px;
    font-size: 14px;
}

.common_case_list ul li .head_box dl dt {
    background: rgb(12, 14, 48);
    border-radius: 4px;
    color: rgb(255, 255, 255);
    padding: 4px 8px;
    font-weight: 500;
    width: 78px;
    text-align: center;
}

.common_case_list ul li .head_box .dl_box dl+dl {
    margin-top: 4px;
}

.common_case_list ul li .lead {
    font-size: 16px;
    line-height: 2;
}

.common_section_faq .c_btn {
    margin: 89.5px auto 0px;
}

#page_management .section_reason {
    margin: 90.5px 0px 116px;
}

#page_management .section_case {
    margin-bottom: 100px;
}

#page_management .section_case .c_title {
    margin-bottom: 40px;
}

.common_head_box .agency_box {
    margin-top: 50px;
}

.common_head_box .agency_box .title {
    font-size: 16px;
    margin-bottom: 26.5px;
}

.common_head_box .agency_box ul {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 0px 15px;
    margin-bottom: 25px;
}

.common_head_box .agency_box .other {
    text-align: right;
    font-size: 16px;
}

#page_rent .section_recommend {
    margin: 108px 0px 125px;
}

#page_rent .section_recommend .c_title {
    margin-bottom: 38px;
}

#page_rent .common_shop_list {
    margin-bottom: 108px;
}

#page_investment .section_service .c_title {
    margin-bottom: 38px;
}

#page_investment .section_case {
    margin: 108px 0px 133px;
}

#page_investment .section_case .c_title {
    margin-bottom: 40px;
}

#page_investment .common_head_box {
    margin-bottom: 81.5px;
}

.common_case_list ul.vertical {
    display: block;
}

.common_case_list ul.vertical li+li {
    margin-top: 40px;
}

.common_case_list ul.vertical li .head_box {
    margin-bottom: 16px;
}

.common_case_list ul.vertical li .head_box .dl_box {
    gap: 22px;
}

#page_development .section_case {
    margin: 100px 0px 128px;
}

#page_development .section_case .c_title {
    margin-bottom: 40px;
}

#page_greeting .section_contents .head_box {
    margin-bottom: 127px;
    align-items: center;
    padding: 50px 70px 0;
}

#page_greeting .section_contents .head_box .title_box {
    border-right: 1px solid rgb(0, 0, 0);
    margin-right: 90px;
    padding-right: 90px;
}

#page_greeting .section_contents .head_box .title_box .title {
    font-size: 16px;
}

#page_greeting .section_contents .head_box .title_box .philosophy {
    font-size: 48px;
    margin-bottom: 0.2em;
}

#page_greeting .section_contents .head_box .title_box .en {
    background: rgb(12, 14, 48);
    border-radius: 4px;
    color: rgb(255, 255, 255);
    padding: 3px 5.5px;
}

#page_greeting .section_contents .head_box .lead {
    font-size: 20px;
    font-weight: 700;
    line-height: 2;
}

#page_greeting .section_contents .cont_box .in_text {
    margin-bottom: 82.5px;
}

#page_greeting .section_contents .cont_box .in_text .text {
    font-size: 16px;
    line-height: 2;
}

#page_greeting .section_contents .cont_box .in_text .text+.text {
    margin-top: 2.8em;
}

#page_greeting .section_contents .cont_box .name_box .text {
    text-align: right;
    font-size: 25px;
    letter-spacing: .06em;
    line-height: 2;
}

.new_top_fv .mv_banner_img {
    position: absolute;
    bottom: 50px;
    right: 40px;
    width: 400px;
    background-color: #fff;

}

.new_top_fv .mv_banner_img a {
    display: flex;
}

.new_top_fv .mv_banner_img picture {
    width: 35%;
    display: block;
}

.new_top_fv .mv_banner_img picture img {
    width: 100%;
}

.new_top_fv .mv_banner_img .txtBox {
    width: 65%;
    padding: 10px;
    font-size: 16px;
    font-weight: 500;
    padding-top: 24px;
    color: #131313;
    position: relative;

}

.new_top_fv .mv_banner_img .txtBox::before {
    content: "";
    position: absolute;
    width: 7.7px;
    height: 7.7px;
    top: calc(50% + 1px);
    right: 15px;
    transform: translateY(-50%) rotate(-45deg);
    transform-origin: center center;
    border-right: 2px solid rgb(51, 51, 51);
    border-bottom: 2px solid rgb(51, 51, 51);
    transition: 0.2s ease-in-out;
}

.new_top_fv .mv_banner_img .txtBox span {
    display: block;
    font-size: 12px;
    font-weight: bold;
    color: #c9c9c9;
}

#page_management .image.icon {
    width: 1000px;
    margin: 80px auto 0;
}

#page_management .image.icon img {
    width: 100%;
}

.pc_header .wrap.mid {
    width: 1300px;
}

.section_common_link .cont .btn.c_btn a {
    text-align: center;
    width: 314px;
    margin: 0 auto;
}

#page_greeting .section_contents .cont_box .name_box .img {
    width: 314px;
    margin: 10px 0 0 auto;
}

#page_greeting .section_contents .cont_box .name_box .img img {
    width: 100%;
}

.page_reform .head_sec .head_list ul li {
    display: flex;
    align-items: center;
    gap: 40px;
}

.page_reform .head_sec .head_list ul li .img {
    width: 360px;
    height: 240px;
    flex-shrink: 0;
    border-radius: 16px;
    overflow: hidden;
}

.page_reform .head_sec .head_list ul li .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_reform .head_sec .head_list ul li:nth-child(even) {
    flex-direction: row-reverse;
}

.page_reform .head_sec .head_list ul li+li {
    margin-top: 100px;
}

.page_reform .head_sec .head_list ul li .text_area .theme {
    font-size: 24px;
    letter-spacing: .06em;
    font-weight: 700;
    margin-bottom: .5em;
    color: rgb(16, 9, 100);
}

.page_reform .head_sec {
    margin: 80px 0;
}

.page_reform .head_sec .head_list ul li .text_area .text {
    font-size: 16px;
    letter-spacing: .03em;
    line-height: 1.9;
}

.page-id-782 .post-password-message {
    text-align: center;
}

.page-id-782 .post-password-form {
    text-align: center;
    margin-bottom: 50px;
}

.page-id-782 .post-password-form__input {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.12);
    margin: 15px;
    padding: 5px;
}

.page-id-782 .post-password-form__submit {
    background-color: #000;
    color: #fff;
    padding: 5px 20px;
    border-radius: 4px;
}

@media (max-width: 750px) {
    a[href$=".pdf"]::before {
        width: 7vw;
        height: 8vw;
        margin-right: 2.5vw;
    }

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

    body {
        min-width: 100%;
        font-size: 3.59vw;
        line-height: 1.57;
    }

    .wrap.mid,
    .wrap.lr,
    .wrap {
        width: 89.7%;
    }

    .common_page_wrap {
        padding: 10vw 0px 30.77vw;
    }

    .common_page_main {
        padding-block: 20vw;
    }

    .common_page_main .title_box .title {
        font-size: 5.6vw;
    }

    .reserve_text {
        font-size: 6vw;
    }

    .breadcrumb {
        font-size: 3.08vw;
        margin-top: 8.21vw;
    }

    .breadcrumb .box {
        margin-left: -1.28vw;
    }

    .breadcrumb span {
        padding-inline: 0.51vw;
    }

    .c_btn {
        max-width: 71.79vw;
    }

    .c_btn a {
        font-size: 4.1vw;
        line-height: 1.5;
        border-radius: 7.69vw;
        padding: 4.36vw 5.13vw 4.36vw 7.69vw;
    }

    .c_btn a:hover {
        color: rgb(255, 255, 255);
        background: rgb(12, 14, 50);
    }

    .c_btn a::before,
    .c_btn a::after {
        width: 4.62vw;
    }

    .c_btn a::after {
        right: -4.62vw;
    }

    .c_btn a:hover::before {
        right: 0px;
        background: rgb(255, 255, 255);
    }

    .c_btn a:hover::after {
        right: -4.62vw;
    }

    .c_btn--black a:hover {
        color: rgb(255, 255, 255);
        background: rgb(51, 51, 51);
    }

    .c_btn--blue a:hover {
        color: rgb(255, 255, 255);
    }

    .c_btn--blue a:hover {
        background: rgb(54, 58, 141);
    }

    .c_btn--blue a:hover::before {
        background: rgb(255, 255, 255);
    }

    .c_business {
        background: none;
    }

    .c_business .lists {
        background: rgb(255, 255, 255);
        padding: 0px 2.56vw;
        margin-top: 5.13vw;
    }

    .c_business .list {
        border-top: 1px solid rgb(229, 229, 229);
        padding: 3.08vw 0px 4.87vw;
    }

    .c_business .list:last-of-type {
        border-bottom: 1px solid rgb(229, 229, 229);
    }

    .c_business .list_head {
        position: relative;
        -webkit-box-pack: justify;
        justify-content: space-between;
        -webkit-box-align: center;
        align-items: center;
        padding: 0px 2.56vw;
        cursor: pointer;
    }

    .c_business .list_head::before,
    .c_business .list_head::after {
        content: "";
        width: 1px;
        height: 17.95vw;
        position: absolute;
        top: calc(50% + 1.28vw);
        transform: translateY(-50%);
        background: rgb(229, 229, 229);
    }

    .c_business .list_head::before {
        left: -2.56vw;
    }

    .c_business .list_head::after {
        right: -2.56vw;
    }

    .c_business .list_row {
        -webkit-box-align: end;
        align-items: flex-end;
        gap: 2.05vw;
        font-family: gotham, sans-serif;
        font-style: italic;
        color: rgb(90, 90, 90);
    }

    .c_business .list_number {
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0em;
        font-size: 3.75vw;
    }

    .c_business .list_en {
        font-weight: 400;
        line-height: 1;
        letter-spacing: 0em;
        font-size: 3.09vw;
    }

    .c_business .list_title {
        font-weight: 500;
        line-height: 1;
        letter-spacing: 0.09em;
        font-size: 5.74vw;
        margin-top: 2.56vw;
    }

    .c_business .list_btn {
        width: 7.69vw;
        height: 7.69vw;
        margin-top: 2.56vw;
    }

    .c_business .list_arrow {
        position: relative;
        width: 2.88vw;
        height: 2.88vw;
        top: 1vw;
        transform: rotate(45deg);
        transform-origin: center center;
        border-right: 2px solid rgb(51, 51, 51);
        border-bottom: 2px solid rgb(51, 51, 51);
        transition: 0.3s ease-in-out;
    }

    .c_business .list_body {
        position: relative;
        height: 0px;
        padding: 0px 2.56vw;
        border-top: medium;
        opacity: 0;
        overflow: hidden;
        transition: 0.3s ease-in-out;
    }

    .c_business .list_body::before,
    .c_business .list_body::after {
        content: "";
        width: 1px;
        height: 97%;
        position: absolute;
        top: calc(50% + 2.56vw);
        transform: translateY(-50%);
        background: rgb(229, 229, 229);
    }

    .c_business .list_body::before {
        left: -2.56vw;
    }

    .c_business .list_body::after {
        right: -2.56vw;
    }

    .c_business .list_body.active {
        height: auto;
        border-top: 1px solid rgb(229, 229, 229);
        padding: 4.87vw 2.56vw 0px;
        margin-top: 5.38vw;
        opacity: 1;
        overflow: visible;
    }

    .c_business .list_image {
        position: relative;
    }

    .c_business .list_image::before {
        content: "";
        position: absolute;
        width: 100%;
        height: 100%;
        top: 0px;
        left: 0px;
        background: rgba(0, 0, 0, 0.6);
    }

    .c_business .list_image img {
        width: 100%;
        height: auto;
        object-fit: cover;
        aspect-ratio: 310 / 140;
    }

    .c_business .list_text {
        font-weight: 400;
        line-height: 1.57;
        letter-spacing: 0.09em;
        font-size: 3.39vw;
        padding: 0px 2.56vw;
        margin-top: 4.1vw;
    }

    .c_business .list_box {
        margin-top: 3.85vw;
        text-align: right;
    }

    .c_business .list_box a {
        display: inline-flex;
        -webkit-box-pack: end;
        justify-content: flex-end;
        -webkit-box-align: center;
        align-items: center;
        gap: 7.18vw;
        color: rgb(51, 51, 51);
        padding-right: 2.56vw;
    }

    .c_business .list_box_text {
        font-family: gotham, sans-serif;
        font-style: italic;
        font-weight: 400;
        line-height: 1.19;
        letter-spacing: 0em;
        font-size: 4.1vw;
    }

    .c_business .list_box_btn {
        position: relative;
        width: 7.69vw;
        height: 7.69vw;
        border: 1px solid rgb(51, 51, 51);
        border-radius: 50%;
    }

    .c_business .list_box_arrow {
        position: absolute;
        top: 50%;
        left: -4.76vw;
        transform: translateY(-50%);
    }

    .c_business .list_box_arrow img {
        display: block;
        width: 7.69vw;
        height: 2.18vw;
        object-fit: contain;
    }

    .c_catch_title {
        font-size: 5.64vw;
    }

    .c_catch_title .small {
        font-size: 4.1vw;
    }

    .c_catch_text {
        font-size: 3.59vw;
        margin-top: 6.15vw;
    }

    .c_cta .items {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        -webkit-box-align: center;
        align-items: center;
        padding: 7.69vw 0px 0px;
        gap: 5.13vw;
    }

    .c_cta .item {
        width: 71.79vw;
    }

    .c_cta .btn a {
        padding: 4.36vw 5.13vw;
    }

    .c_partner::before {
        display: none;
    }

    .c_partner .wrap {
        width: 100%;
    }

    .c_partner .body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        flex-direction: column-reverse;
        gap: 6.41vw;
        padding-left: 0px;
    }

    .c_partner .contents {
        -webkit-box-flex: 1;
        flex: 1 1 0%;
        padding: 0px 5.13vw;
        margin-top: 0px;
    }

    .c_partner .image {
        padding-left: 10.26vw;
    }

    .c_partner .image img {
        aspect-ratio: 350 / 200;
    }

    .c_partner .title {
        font-size: 5.13vw;
        line-height: 1.4;
    }

    .c_partner .text {
        font-size: 3.85vw;
        line-height: 1.53;
        margin-top: 2.82vw;
    }

    .c_partner .btn {
        max-width: 76.92vw;
        margin-top: 8.21vw;
    }

    .c_partner .box {
        margin-top: 6.67vw;
    }

    .c_partner .box_title {
        max-width: 100%;
        font-size: 4.1vw;
        padding-bottom: 2.82vw;
    }

    .c_partner .box_text {
        font-size: 3.59vw;
        margin-top: 1.79vw;
    }

    .c_recruit::before {
        width: 100vw;
        height: 251.79vw;
        top: -47.44vw;
        right: auto;
        left: 0px;
        background-image: url("./image/top-recruit-bg01-sp.png");
        z-index: -1;
    }

    .c_recruit::after {
        content: "";
        position: absolute;
        width: 100vw;
        height: 226.67vw;
        bottom: -69.23vw;
        right: 0px;
        background-image: url("./image/top-recruit-bg02-sp.png");
        background-position: center center;
        background-repeat: no-repeat;
        background-size: contain;
        z-index: -1;
    }

    .c_recruit .items {
        margin-top: 0px;
    }

    .c_recruit .wrap.lr {
        width: 100%;
    }

    .c_recruit .body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        flex-direction: column-reverse;
        gap: 0px;
        padding: 0px 5.13vw;
        overflow: hidden;
    }

    .c_recruit .contents {
        margin-top: -12.82vw;
    }

    .c_recruit .contents .en {
        font-size: 3.59vw;
        line-height: 1.14;
    }

    .c_recruit .contents .ja {
        font-size: 6.15vw;
        margin-top: 1.79vw;
    }

    .c_recruit .contents .text {
        font-size: 4.1vw;
        line-height: 1.5;
        margin-top: 4.62vw;
    }

    .c_recruit .btn {
        margin-top: 6.67vw;
    }

    .c_recruit .swiper-container,
    .c_recruit .image_wrap {
        -webkit-box-flex: 1;
        flex: 1 1 0%;
        top: -5.13vw;
        right: -23.08vw;
    }

    .c_recruit .swiper-container::before,
    .c_recruit .image_wrap::before {
        width: 46.15vw;
        height: 46.15vw;
        left: -12.82vw;
    }

    .c_recruit .top-recruit-swiper,
    .c_recruit .image_wrap .image {
        width: 78.21vw;
        height: 78.21vw;
    }

    .c_recruit .image,
    .c_recruit .image_wrap .image {
        position: relative;
    }

    .c_recruit .image::before,
    .c_recruit .image_wrap .image::before {
        content: "";
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0px;
        left: 0px;
        background: linear-gradient(to top, transparent 0%, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 0.7) 88%, rgba(255, 255, 255, 0.9) 92%, rgb(255, 255, 255) 100%);
        z-index: 1;
    }

    .c_recruit .image img,
    .c_recruit .image_wrap .image img {
        transform: scale(1.05);
        object-position: right 10px top -5px;
    }

    .c_recruit .item:nth-of-type(n+2) {
        margin-top: 12.82vw;
    }

    .c_recruit .item:nth-of-type(2n) .body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        flex-direction: column-reverse;
        gap: 0px;
        padding: 0px 5.13vw;
    }

    .c_recruit .item:nth-of-type(2n) .contents {
        max-width: 100%;
        margin-top: -12.82vw;
    }

    .c_recruit .item:nth-of-type(2n) .image img {
        transform: scale(1);
        object-position: right 5px top 0px;
    }

    .c_slide .swiper-slide {
        width: 100%;
    }

    .c_table .dl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        padding: 5.13vw 2.56vw;
    }

    .c_table .dl:first-of-type {
        margin-top: 6.15vw;
    }

    .c_table .dt {
        width: 100%;
        font-size: 4.1vw;
    }

    .c_table .dd {
        width: 100%;
        font-size: 3.85vw;
        margin-top: 3.08vw;
    }

    .c_title_body {
        display: inline-block;
        min-width: 37.95vw;
    }

    .c_title .ja {
        gap: 3.85vw;
    }

    .c_title .ja_text {
        font-size: 4.1vw;
        line-height: 0.22em;
    }

    .c_title .en_text {
        font-size: 15.38vw;
        margin-top: 1.28vw;
    }

    .common_page_wrap .c_title_body {
        min-width: 37.95vw;
    }

    .common_page_wrap .en_text {
        font-size: 10.26vw;
    }

    .common_contact .items {
        grid-template-columns: 1fr;
    }

    .common_contact .item {
        border-bottom: 2px solid rgb(255, 255, 255);
    }

    .common_contact .item::before {
        display: none;
    }

    .common_contact .item a {
        display: flex;
        -webkit-box-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        justify-content: space-between;
        padding: 17.69vw 5.13vw 4.36vw;
    }

    .common_contact .item a::before,
    .common_contact .item a::after {
        display: none;
    }

    .common_contact .image {
        opacity: 1;
    }

    .common_contact .overlay {
        background: linear-gradient(rgba(12, 14, 50, 0) 0%, rgb(12, 14, 50) 100%);
    }

    .common_contact .item a:hover .overlay {
        background: linear-gradient(rgba(12, 14, 50, 0) 0%, rgb(12, 14, 50) 100%);
    }

    .common_contact .title {
        color: rgb(255, 255, 255);
    }

    .common_contact .title .en {
        font-size: 4.1vw;
        line-height: 1.19;
    }

    .common_contact .title .ja {
        font-size: 5.64vw;
        line-height: 1.44;
        margin-top: 0.77vw;
    }

    .common_contact .box {
        gap: 0px;
        margin-top: 0px;
    }

    .common_contact .box_text {
        display: none;
    }

    .common_contact .box_btn {
        width: 7.69vw;
        height: 7.69vw;
        border: 1px solid rgb(255, 255, 255);
    }

    .common_contact .arrow {
        left: -4.36vw;
    }

    .common_contact .item a:hover .arrow {
        left: -4.36vw;
    }

    .common_contact .arrow img {
        width: 7.77vw;
        height: 2.18vw;
    }

    .common_contact .arrow img {
        filter: brightness(0) invert(1);
    }

    .common_contact .item--head {
        padding: 0px 5.13vw 4.36vw;
    }

    .common_contact .item--head::after {
        display: none;
    }

    .common_contact .c_title .ja_text {
        font-size: 4.1vw;
    }

    .common_contact .c_title .en_text {
        font-size: 15.38vw;
        margin-top: 2.56vw;
    }

    .common_fv .body {
        padding-top: 40vw;
    }

    .common_fv .ja_text {
        font-size: 6.1vw;
    }

    .common_fv .en_text {
        font-size: 4vw;
        margin-top: 5vw;
    }

    .loading_logo {
        width: 51.28vw;
    }

    #sp_header {
        position: fixed;
        width: 100%;
        top: 0px;
        left: 0px;
        background: linear-gradient(rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0.76) 58%, rgba(255, 255, 255, 0) 100%);
        padding: 30px 5.13vw 42px;
        z-index: 10;
    }

    #sp_header.active {
        background: rgb(12, 14, 50);
        z-index: 1000;
    }

    #sp_header .body {
        flex-wrap: nowrap;
        -webkit-box-pack: start;
        justify-content: space-around;
    }

    #sp_header .logo {
        width: 100%;
        max-width: 164px;
        margin-right: auto;
    }

    #sp_header.active .logo {
        filter: brightness(0) invert(1);
    }

    #top_fv::before {
        width: 78.21vw;
        height: 78.21vw;
        top: 0vw;
        z-index: -1;
    }

    #top_fv::after {
        position: absolute;
        width: 106.67vw;
        height: 106.67vw;
        inset: auto auto -51.28vw 0px;
        background: linear-gradient(rgba(12, 14, 50, 0) 0%, rgba(17, 22, 124, 0.1) 100%);
        clip-path: polygon(0px 0px, 0% 100%, 100% 0px);
        z-index: -1;
    }

    #top_fv .wrap {
        width: 100%;
    }

    #top_fv .body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        flex-direction: column-reverse;
        gap: 0px;
    }

    #top_fv .contents_wrap {
        width: 100%;
        min-width: 100%;
        height: 100%;
        min-height: 100%;
        top: -13vw;
    }

    #top_fv .contents {
        padding: 0px 5.13vw;
    }

    #top_fv .head {
        max-width: 100%;
    }

    #top_fv .row {
        -webkit-box-align: end;
        align-items: end;
        gap: 2.05vw;
    }

    #top_fv .row .number {
        font-size: 6.15vw;
    }

    #top_fv .row .en {
        font-size: 3.59vw;
    }

    #top_fv .title {
        font-size: 5.13vw;
        margin-top: 0.9vw;
    }

    #top_fv .catch {
        font-size: 9.74vw;
        line-height: 1.24;
        margin-top: 1.54vw;
    }

    #top_fv .catch .small {
        font-size: 7.18vw;
        line-height: 1.68;
    }

    #top_fv .c_btn {
        max-width: 69.23vw;
        margin-top: 5.13vw;
    }

    #top_fv .c_btn a {
        font-size: 3.85vw;
        border-radius: 12.82vw;
        padding: 4.36vw 5.64vw;
    }

    #top_fv .swiper-container {
        position: relative;
        z-index: -1;
    }

    #top_fv .swiper-container::before {
        width: 37vw;
        height: 108vw;
        bottom: 4vw;
        left: 15vw;
        background-image: url("./image/top-fv-decoration-sp.png");
    }

    #top_fv .top-fv-swiper {
        width: 130vw;
        height: 130vw;
        top: -12vw;
        right: auto;
        left: 24.36vw;
    }

    #top_fv .swiper-slide01 img,
    #top_fv .swiper-slide03 img,
    #top_fv .swiper-slide04 img {
        transform: scale(0.99);
    }

    #top_fv .swiper-pagination {
        bottom: 74.36vw;
        left: 5.13vw;
    }

    #top_fv .swiper-pagination-progressbar {
        max-width: 41.03vw;
    }

    #top_fv .swiper-horizontal>.swiper-pagination-progressbar,
    #top_fv .swiper-pagination-progressbar.swiper-pagination-horizontal,
    #top_fv .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite,
    #top_fv .swiper-vertical>.swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
        height: 2px;
    }

    #top_fv .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
        background: rgb(54, 58, 141);
    }

    #top_fv .number-pagination {
        max-width: 41.03vw;
        bottom: 74.36vw;
        left: 5.13vw;
        margin-bottom: 0.51vw;
    }

    #top_fv .number-item {
        font-size: 3.85vw;
        line-height: 1.2;
    }

    #top_fv .number-item.active {
        font-size: 5.64vw;
        line-height: 1.18;
    }

    #top_news {
        padding: 29.49vw 0px 0px;
        margin-top: 0px;
        z-index: 2;
        overflow: hidden;
    }

    #top_news::before {
        display: none;
    }

    #top_news .body {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        gap: 0px;
    }

    #top_news .c_title .ja {
        gap: 2.31vw;
    }

    #top_news .c_title .ja_text {
        font-size: 3.85vw;
    }

    #top_news .c_title .en_text {
        font-size: 14.1vw;
        margin-top: 0px;
    }

    #top_news .box {
        position: static;
    }

    #top_news .categorys {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 0px;
        margin-top: 5.64vw;
    }

    #top_news .categorys li {
        width: auto;
        border: medium;
    }

    #top_news .categorys li:last-child {
        border-right: medium;
    }

    #top_news .category_title {
        font-size: 4.1vw;
        line-height: 1.5;
        padding: 0px 2.26vw 1.54vw;
    }

    #top_news .category_title span {
        padding-right: 0px;
    }

    #top_news .category_title span::before {
        display: none;
    }

    #top_news .category.current .category_title {
        font-size: 4.1vw;
        line-height: 1.5;
        color: rgb(12, 14, 50);
        border-bottom: 1px solid rgb(12, 14, 50);
    }

    #top_news .items {
        margin-bottom: 7.69vw;
    }

    #top_news .item a {
        gap: 5.13vw;
        padding: 4.87vw 0px 5.9vw;
    }

    #top_news .item a:hover {
        opacity: 1;
    }

    #top_news .item:first-of-type a {
        border-top: 1px solid rgb(222, 222, 222);
        padding-top: 4.87vw;
    }

    #top_news .image {
        -webkit-box-flex: 0;
        flex: 0 0 20.51vw;
    }

    #top_news .meta {
        -webkit-box-flex: 1;
        flex: 1 1 0%;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        flex-direction: column-reverse;
        gap: 3.85vw;
    }

    #top_news .head {
        gap: 2.56vw;
    }

    #top_news .tag {
        font-size: 3.33vw;
        line-height: 1.43;
        padding: 1.03vw 3.08vw;
    }

    #top_news .date {
        font-size: 3.59vw;
    }

    #top_news .contents {
        flex-wrap: wrap;
    }

    #top_news .text {
        font-size: 3.59vw;
        line-height: 1.57;
        width: 100%;
        margin-top: 4vw;
    }

    #top_news .item_btn {
        width: 5.9vw;
        height: 5.9vw;
        margin-left: auto;
        margin-right: 0px;
    }

    #top_news .arrow {
        left: -3.33vw;
    }

    #top_news .item a:hover .arrow {
        left: -3.33vw;
    }

    #top_news .arrow img {
        width: 5.95vw;
        height: 1.67vw;
    }

    #top_news .btn {
        margin-inline: auto;
        margin-top: 6.26vw;
    }

    #top_business {
        padding: 32.31vw 0px 30.77vw;
    }

    #top_business::before {
        content: "";
        position: absolute;
        width: 82.05vw;
        height: 82.05vw;
        top: -25.64vw;
        right: 0px;
        background: linear-gradient(15deg, rgba(245, 245, 245, 0.18) 0%, rgba(107, 114, 242, 0.09) 85%, rgba(107, 114, 242, 0) 100%);
        clip-path: polygon(100% 1%, 0% 100%, 100% 100%);
        z-index: -1;
    }

    #top_business::after {
        content: "";
        position: absolute;
        width: 91.28vw;
        height: 91.28vw;
        bottom: 4.87vw;
        right: 0px;
        background: linear-gradient(3deg, rgba(245, 245, 245, 0.12) 0%, rgba(245, 245, 245, 0.1) 5%, rgba(66, 69, 126, 0.12) 40%, rgba(66, 69, 126, 0.1) 80%, rgba(39, 42, 108, 0) 100%);
        clip-path: polygon(100% 1%, 0% 100%, 100% 100%);
        z-index: -1;
    }

    #top_about {
        padding: 0px 0px 32.05vw;
    }

    #top_about::before {
        width: 64.1vw;
        height: 64.1vw;
        top: 1.54vw;
        left: 0px;
        background: linear-gradient(rgba(245, 245, 245, 0) 0%, rgba(53, 56, 116, 0.15) 50%, rgba(22, 26, 95, 0) 100%);
        clip-path: polygon(0px 0px, 0% 100%, 100% 0px);
        z-index: -3;
    }

    #top_about::after {
        width: 93.08vw;
        height: 93.08vw;
        inset: auto 0px -12.82vw auto;
        background: linear-gradient(to top, rgba(245, 245, 245, 0) 0%, rgb(226, 226, 226) 100%);
        clip-path: polygon(100% 1%, 0% 100%, 100% 100%);
        z-index: -3;
    }

    #top_about .items {
        grid-template-columns: 1fr;
        margin-top: 4.1vw;
        width: 90%;
    }

    #top_about .item a {
        gap: 3.59vw;
        padding: 5.13vw;
    }

    #top_about .item a:hover .image img {
        transform: scale(1);
    }

    #top_about .item a:hover .overlay {
        background: rgba(0, 0, 0, 0.6);
    }

    #top_about .contents {
        color: rgb(255, 255, 255);
    }

    #top_about .en {
        font-size: 9.23vw;
        line-height: 1.22;
    }

    #top_about .ja {
        font-size: 4.1vw;
        margin-top: 1.28vw;
    }

    #top_about .text {
        font-size: 3.85vw;
        line-height: 1.47;
        margin-top: 4.62vw;
    }

    #top_about .box {
        gap: 6.92vw;
        padding-right: 0px;
    }

    #top_about .box_text {
        font-size: 3.85vw;
        line-height: 1.19;
        letter-spacing: 0.04em;
    }

    #top_about .box_btn {
        width: 7.69vw;
        height: 7.69vw;
    }

    #top_about .arrow {
        left: -4.36vw;
    }

    #top_about .item a:hover .arrow {
        left: -4.36vw;
    }

    #top_about .arrow img {
        width: 7.77vw;
        height: 2.18vw;
    }

    #top_recruit {
        padding: 0px;
    }

    #top_partner {
        padding: 20.51vw 0px 30.77vw;
    }

    #page_business .common_page_wrap {
        padding: 15.38vw 0px 30.77vw;
    }

    #page_business .common_contact {
        position: relative;
        z-index: 1;
    }

    #page_business .common_contact::before {
        width: 91.28vw;
        height: 91.28vw;
        top: -99vw;
        background: linear-gradient(3deg, rgba(245, 245, 245, 0.12) 0%, rgba(245, 245, 245, 0.1) 5%, rgba(66, 69, 126, 0.12) 40%, rgba(66, 69, 126, 0.1) 80%, rgba(39, 42, 108, 0) 100%);
    }

    #page_business .common_contact::after {
        content: "";
        position: absolute;
        width: 64.1vw;
        height: 64.1vw;
        top: 1.54vw;
        left: 0px;
        background: linear-gradient(rgba(245, 245, 245, 0) 0%, rgba(53, 56, 116, 0.15) 50%, rgba(22, 26, 95, 0) 100%);
        clip-path: polygon(0px 0px, 0% 100%, 100% 0px);
        z-index: -3;
    }

    #business_contents .lists {
        margin-top: 0px;
    }

    #buy_slide {
        padding: 10.26vw 0px 5.13vw;
    }

    #management_system {
        padding: 20.51vw 0px 5.13vw;
    }

    #management_system::before {
        top: -25.64vw;
    }

    #management_system::after {
        width: 100vw;
        height: 226.67vw;
        bottom: -84.62vw;
        left: auto;
        right: 0px;
        background-image: url("./image/top-recruit-bg02-sp.png");
    }

    #management_system .en_text {
        font-size: 10.26vw;
    }

    #management_system .contents .ja {
        max-width: 66%;
        font-size: 5.13vw;
    }

    #management_system .contents .text {
        font-size: 3.33vw;
    }

    #management_system .swiper-container,
    #management_system .image_wrap {
        top: 0px;
    }

    #management_system .image::before,
    #management_system .image_wrap .image::before {
        background: linear-gradient(to top, transparent 0%, rgba(255, 255, 255, 0) 70%, rgba(255, 255, 255, 0.7) 88%, rgba(255, 255, 255, 0.9) 92%, rgba(255, 255, 255, 0.98) 95%, rgb(255, 255, 255) 100%);
    }

    #management_system .contents {
        margin-top: -8vw;
    }

    #company_vision {
        padding: 0px 0px 10.26vw;
    }

    #company_vision .dl {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
    }

    #company_vision .dl:not(:first-of-type) {
        border-top: 1px solid rgb(229, 229, 229);
        padding-top: 7.69vw;
        margin-top: 7.69vw;
    }

    #company_vision .dt {
        width: 100%;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        flex-direction: row-reverse;
        -webkit-box-pack: end;
        justify-content: flex-end;
        -webkit-box-align: center;
        align-items: center;
        gap: 4vw;
        font-size: 5.13vw;
        padding-top: 0px;
    }

    #company_vision .dt .ja {
        position: relative;
        top: 0.5vw;
        font-size: 4.1vw;
    }

    #company_vision .dt .en {
        font-size: 6.15vw;
    }

    #company_vision .dd {
        font-size: 3.5vw;
        line-height: 1.8;
        margin-top: 5.13vw;
    }

    #company_about {
        padding: 10.26vw 0px 0px;
    }

    #company_about::before {
        width: 50vw;
        height: 50vw;
        top: -10.26vw;
    }

    #company_about::after {
        width: 100vw;
        height: 100vw;
        bottom: 2.56vw;
    }

    #company_about .body::before {
        width: 65.38vw;
        height: 65.38vw;
        top: 40%;
        transform: translateY(-40%);
    }

    #company_about .item {
        padding: 8.72vw 5.13vw;
    }

    #company_about .item:first-of-type {
        padding: 8.72vw 5.13vw;
    }

    #company_about .item:not(:first-of-type) {
        margin-top: 8.21vw;
    }

    #company_about .title {
        font-size: 4.1vw;
        line-height: 1.5;
        margin-bottom: 7.69vw;
    }

    #company_about .title::before {
        width: 2.05vw;
        height: 2.05vw;
        top: 50%;
        left: 0.77vw;
    }

    #company_about .dl {
        flex-wrap: wrap;
        gap: 2.56vw;
        padding: 5.13vw 0px 5.64vw;
    }

    #company_about .dl:first-of-type {
        padding: 0px 0px 5.64vw;
    }

    #company_about .dl:last-of-type {
        padding: 5.13vw 0px 0px;
    }

    #company_about .dt {
        width: 100%;
        font-size: 3.85vw;
        line-height: 1.4;
    }

    #company_about .dd {
        width: 100%;
    }

    #company_about .dd .text {
        font-size: 3.59vw;
        line-height: 1.43;
    }

    #company_about .sub_text {
        font-size: 3.59vw;
        font-weight: 400;
        line-height: 1.57;
        letter-spacing: 0.04em;
        margin-top: 1.54vw;
    }

    #company_about .dd .text--lh {
        line-height: 1.8;
    }

    #company_about .sub_text .tel {
        display: inline-block;
        margin-top: 1.28vw;
    }

    #office_contents .items {
        grid-template-columns: 1fr;
        gap: 8.21vw;
    }

    #office_contents .item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        gap: 5.13vw;
        border-bottom: 1px solid rgb(51, 51, 51);
        padding-bottom: 6.15vw;
    }

    #office_contents .image {
        -webkit-box-flex: 1;
        flex: 1 1 0%;
    }

    #office_contents .image img {
        aspect-ratio: 367 / 187;
    }

    #office_contents .contents {
        width: 100%;
        padding: 0px 2.56vw;
    }

    #office_contents .title {
        font-size: 4.62vw;
    }

    #office_contents .tel {
        margin-top: 3.85vw;
    }

    #office_contents .tel_text {
        font-size: 4.62vw;
        line-height: 1.17;
    }

    #office_contents .tel_text .small {
        font-size: 3.85vw;
        line-height: 1.2;
    }

    #office_contents .text {
        font-weight: 400;
        line-height: 1.77;
        letter-spacing: 0.09em;
        font-size: 3.08vw;
        margin-top: 10px;
    }

    #greeting_contents::before {
        width: 64.1vw;
        height: 64.1vw;
        top: -10vw;
        background: linear-gradient(rgba(245, 245, 245, 0) 0%, rgba(53, 56, 116, 0.15) 60%, rgba(22, 26, 95, 0) 100%);
    }

    #greeting_contents .text {
        font-size: 3.59vw;
        line-height: 1.8;
    }

    .title_wrap {
        margin-top: 15.38vw;
    }

    #greeting_contents .sub_title {
        font-size: 3.59vw;
    }

    #greeting_contents .title {
        font-size: 4.62vw;
        margin-top: 3.85vw;
    }

    #page_recruit .common_page_wrap {
        padding: 15.38vw 0px 30.77vw;
    }

    #recruit_info::before {
        top: -66.15vw;
    }

    #recruit_partner {
        padding: 20.51vw 0px 0px;
    }

    #career_recruit {
        padding: 15.38vw 0px;
    }

    #career_recruit .body {
        padding: 12.82vw 5.13vw;
    }

    #new_graduate_recruit {
        padding: 15.38vw 0px;
    }

    #new_graduate_recruit .body {
        padding: 12.82vw 5.13vw;
    }

    #partner_contents .row {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        gap: 5.13vw;
        margin-top: 6.15vw;
    }

    #partner_contents .image {
        -webkit-box-flex: 1;
        flex: 1 1 0%;
    }

    #partner_contents .contents {
        width: 100%;
    }

    #partner_contents .text {
        font-size: 3.85vw;
    }

    #partner_contents .text--mt {
        margin-top: 2.56vw;
    }

    #partner_contents .lists {
        margin-top: 2.56vw;
    }

    #partner_contents .list {
        font-size: 3.85vw;
    }

    #partner_form {
        padding: 20.51vw 0px 0px;
    }

    #partner_form .text {
        font-size: 3.85vw;
        margin-top: 6.15vw;
    }

    #page_partner .page_contact {
        padding-top: 12vw;
    }

    .common_contact_form--mt {
        margin-top: 15vw;
    }

    .contact_form_disc {
        margin-block: 0px 2em;
    }

    .contact_form_disc .text {
        font-size: 3.6vw;
        margin-block: 0px 0.8em;
    }

    .contact_form_disc .caution {
        font-size: 3.1vw;
        letter-spacing: 0.06em;
    }

    .common_contact_form .form_block_title {
        font-size: 3.7vw;
        padding-left: 5.13vw;
        margin-bottom: 5vw;
    }

    .common_contact_form .form_block_title::before {
        width: 2.56vw;
    }

    .common_contact_form .form_box {
        margin-block: 0px 10vw;
    }

    .common_contact_form .form_block:not(:first-of-type) {
        margin-top: 15vw;
    }

    .common_contact_form .form_box dl {
        grid-template-columns: 1fr;
        gap: 0.6em;
    }

    .common_contact_form .form_box dl+dl {
        margin-block: 3em 0px;
    }

    .common_contact_form .form_box dl dt {
        flex-direction: row-reverse;
        justify-content: space-between;
        font-size: 4.1vw;
        padding-inline: 0px;
    }

    .common_contact_form .form_box dl dt .label {
        font-size: 3.1vw;
    }

    .common_contact_form .form_box dl dt::after {
        content: none;
    }

    .common_contact_form input[type="text"],
    .common_contact_form input[type="email"],
    .common_contact_form #zip {
        font-size: 3.6vw;
    }

    .common_contact_form .number_box input[type="text"] {
        width: 25vw;
    }

    .common_contact_form select {
        width: 100%;
        font-size: 3.6vw;
    }

    .common_contact_form textarea {
        height: 33vw;
        font-size: 3.6vw;
    }

    .radio_btns,
    .checkboxes {
        gap: 0.5em 2.5em;
    }

    .page_contact #btn_wrap button {
        width: 83%;
        line-height: 15.5vw;
        font-size: 4.6vw;
    }

    .page_contact #btn_wrap button:hover {
        opacity: 1;
    }

    .page_contact #btn_wrap button[name="submitBack"] {
        margin-top: 4vw;
    }

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

    .page_contact #btn_wrap {
        width: 100%;
        text-align: center;
    }

    .privacy_check_list .mwform-checkbox-field-text {
        font-size: 3.8vw;
        padding-left: 11vw;
    }

    .mw_wp_form .privacy_check_list .horizontal-item {
        margin-right: 4vw;
    }

    .privacy_check_list .hissu {
        padding: 0.3vw 4vw;
    }

    .privacy_check_list {
        margin-bottom: 6vw;
    }

    .privacy_term_detail {
        font-size: 3.4vw;
        margin: 5vw 0px;
    }

    .privacy_term_outer {
        width: 96%;
        padding: 5vw 0px;
        margin: 0px auto;
    }

    .privacy_term_outer .privacy_term_inner .main_text {
        font-size: 3.4vw;
        line-height: 1.6;
        margin-bottom: 5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dt {
        font-size: 3.5vw;
        margin-bottom: 1.5vw;
    }

    .privacy_term_outer .privacy_term_inner dl dd {
        font-size: 3.5vw;
        line-height: 1.6;
    }

    .common_contact_form .form_box .column {
        gap: 2.5vw;
    }

    .common_contact_form .form_box .row {
        gap: 2.5vw;
    }

    .common_contact_form .form_box .date_select {
        width: 100%;
    }

    .common_contact_form .note {
        font-size: 3.2vw;
    }

    .common_contact_form .form_box .adjustment {
        margin-top: 0px;
    }

    .privacy_term_outer .privacy_term_inner dl+dl {
        margin-top: 7vw;
    }

    .privacy_term_detail::after {
        width: 2.5vw;
        margin: 1.5vw auto 0px;
    }

    .radio_btns .radio_btns__item+span,
    .mwform-checkbox-field-text {
        font-size: 3.8vw;
    }

    .page_contact .thanks_textArea .name {
        font-size: 4vw;
        margin-bottom: 3vw;
    }

    .page_contact .thanks_textArea .contact_text {
        font-size: 3.5vw;
        margin-bottom: 2em;
        width: 100%;
    }

    .page_contact .thanks_textArea .ichiran_link {
        width: 80%;
        line-height: 12vw;
        font-size: 4vw;
    }

    .page_contact .progressbar {
        gap: 4.5em;
        margin-block: 0px 2.5em;
    }

    .page_contact .progressbar .item {
        font-size: 3.1vw;
    }

    .page_contact .progressbar .item+.item::before {
        width: 5.7vw;
        top: 63%;
        left: -3.3em;
    }

    .page_contact .progressbar .item .mark {
        width: 7.7vw;
        margin: 0px auto 0.4em;
    }

    #page_404 .num {
        font-size: 20vw;
        line-height: 1.5;
    }

    #page_404 .text {
        font-size: 3.5vw;
    }

    .archive_page_list>article {
        padding-right: 20px;
    }

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

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

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

    ul#sitemap_list li {
        margin: 0px;
    }

    body #sitemap_list li a {
        font-size: 4vw;
        padding: 1vw 2vw;
        line-height: 9vw;
        margin-bottom: 1vw;
    }

    body #sitemap_list li.home-item {
        margin-bottom: 4vw;
    }

    body #sitemap_list {
        padding: 0px;
    }

    .site_footer {
        padding: 20.51vw 0px 10.26vw;
    }

    .site_footer .nav {
        display: none;
    }

    .site_footer .body {
        margin-top: 0px;
    }

    .site_footer .main {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        -webkit-box-align: start;
        align-items: flex-start;
        padding-bottom: 2.82vw;
    }

    .site_footer .contents {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        flex-direction: column;
        -webkit-box-align: start;
        align-items: flex-start;
        gap: 5.13vw;
    }

    .site_footer .logo {
        max-width: 63.33vw;
    }

    .site_footer .logo a:hover {
        opacity: 1;
    }

    .site_footer .company_title {
        font-size: 3.85vw;
        line-height: 1.4;
    }

    .site_footer .company_text {
        font-size: 3.33vw;
        line-height: 1.46;
        letter-spacing: 0.04em;
        margin-top: 0.77vw;
    }

    .site_footer .sub_menus {
        gap: 5.13vw;
        margin-top: 18.97vw;
    }

    .site_footer .sub_menu a {
        font-size: 3.33vw;
        line-height: 1.46;
    }

    .site_footer .sub_menu a:hover {
        opacity: 1;
    }

    .site_footer .sub {
        margin-top: 2.56vw;
        justify-content: flex-start;
    }

    .site_footer .tel {
        margin-top: 7.18vw;
    }

    .site_footer .row {
        -webkit-box-align: center;
        align-items: center;
        gap: 2.56vw;
    }

    .site_footer .tel_text {
        font-size: 4.62vw;
        line-height: 1.17;
    }

    .site_footer .tel_text .small {
        font-size: 3.85vw;
        line-height: 1.2;
    }

    .site_footer .copyright {
        font-size: 2.56vw;
        line-height: 1.5;
    }

    #top_news {
        padding: 15vw 0px 0px;
    }

    .new_top_fv_text .text {
        font-size: 7.5vw;
    }

    .new_top_fv_text .en {
        font-size: 3vw;
        white-space: nowrap;
    }

    .new_top_fv .main_image img {
        object-position: initial;
    }

    #top_news .in_contents .items {
        width: 100%;
    }

    #top_news .button_box {
        width: 100%;
        order: 2;
    }

    .section_common_link {
        margin-bottom: 10vw;
        padding: 10vw 0px;
        margin-top: 0px;
    }

    .section_common_link::before {
        height: 100%;
    }

    .section_common_link .cont {
        padding: 0px;
        background: none;
    }

    .section_common_link .cont ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 5vw;
    }

    .section_common_link .cont ul li {
        border: 1px solid;
        padding: 6vw;
        background: rgb(255, 255, 255);
    }

    .section_common_link .cont ul li .title {
        font-size: 4.5vw;
    }

    .section_common_link .cont ul li .title span {
        padding: 0px 4vw;
    }

    .section_common_link .cont ul li .lead {
        margin-bottom: 7vw;
        font-size: 3.3vw;
    }

    .common_contents_box {
        width: 90%;
        border-radius: 14px;
        padding: 10vw 6vw;
    }

    .common_head_box .title_box {
        padding-bottom: 9vw;
        margin-bottom: 10vw;
    }

    .common_head_box .title_box::before {
        width: 30vw;
    }

    .common_head_box .title_box .lead {
        font-size: 3.2vw;
        margin-bottom: 3vw;
    }

    .common_head_box .title_box .title {
        font-size: 5vw;
    }

    .common_head_box .text {
        font-size: 3.2vw;
    }

    .common_head_box .image {
        margin-top: 10vw;
    }

    #page_buy .common_head_box {
        margin-bottom: 20vw;
    }

    #page_buy .section_links {
        margin-bottom: 20vw;
    }

    .common_picture_list ul li+li {
        margin-top: 6vw;
    }

    .common_picture_list ul li .image {
        width: 100%;
        height: 40vw;
        margin-bottom: 4vw;
    }

    .common_picture_list ul li .text_box {
        width: 100%;
        padding-left: 0px;
    }

    .common_picture_list ul li .text_box .title {
        font-size: 3.8vw;
        margin-bottom: 3vw;
    }

    .common_picture_list ul li .text_box .text {
        font-size: 3.2vw;
    }

    .common_section_faq .c_title {
        margin-bottom: 5vw;
    }

    .common_section_faq .cont dl+dl {
        margin-top: 10vw;
    }

    .common_section_faq .cont dl dt {
        padding: 3vw;
        margin-bottom: 5vw;
    }

    .common_section_faq .cont dl dt .title {
        font-size: 3.6vw;
    }

    .common_section_faq .cont dl dd {
        width: 100%;
        font-size: 3.2vw;
    }

    .common_shop_list .c_title {
        margin-bottom: 10vw;
    }

    .common_shop_list .cont .box {
        padding-top: 6vw;
        padding-bottom: 8vw;
    }

    .common_shop_list .cont .box .head_box {
        margin-bottom: 6vw;
        display: block;
    }

    .common_shop_list .cont .box .head_box .title_box {
        margin-bottom: 4vw;
    }

    .common_shop_list .cont .box .head_box .title {
        font-size: 4vw;
    }

    .common_shop_list .cont .box .head_box .information .text {
        font-size: 3.2vw;
    }

    .common_shop_list .cont .box .picture_box {
        grid-template-columns: repeat(1, 1fr);
        gap: 6vw;
    }

    .common_shop_list .cont .box .picture_box .image {
        height: 40vw;
    }

    #page_buy .section_recommend {
        margin-bottom: 106px;
    }

    #page_buy .section_recommend .c_title {
        margin-bottom: 5vw;
    }

    #page_buy .common_section_faq {
        margin-bottom: 20vw;
    }

    .common_head_box .c_btn {
        margin-top: 7vw;
    }

    #page_sell .section_reason .c_btn {
        margin-top: 10vw;
    }

    #page_sell .section_reason {
        margin: 20vw 0px;
    }

    #page_sell .section_case {
        margin-bottom: 20vw;
    }

    #page_sell .section_case .c_title {
        margin-bottom: 5vw;
    }

    .common_case_list ul {
        grid-template-columns: repeat(1, 1fr);
        gap: 5vw;
    }

    .common_case_list ul li {
        padding: 5vw;
    }

    .common_case_list ul li .head_box {
        margin-bottom: 4vw;
        gap: 4vw;
    }

    .common_case_list ul li .head_box .icon {
        width: 16vw;
    }

    .common_case_list ul li .head_box .name {
        font-size: 4vw;
    }

    .common_case_list ul li .head_box dl {
        font-size: 3vw;
    }

    .common_case_list ul li .head_box dl dt {
        padding: 1vw 2vw;
        width: 20vw;
    }

    .common_case_list ul li .lead {
        font-size: 3vw;
    }

    .common_section_faq .c_btn {
        margin: 10vw auto 0px;
    }

    #page_management .section_reason {
        margin: 20vw 0px;
    }

    #page_management .section_case {
        margin-bottom: 20vw;
    }

    #page_management .section_case .c_title {
        margin-bottom: 6vw;
    }

    .common_head_box .agency_box {
        margin-top: 10vw;
    }

    .common_head_box .agency_box .title {
        font-size: 3.5vw;
    }

    .common_head_box .agency_box ul {
        grid-template-columns: repeat(2, 1fr);
        gap: 0px;
        margin-bottom: 4vw;
    }

    .common_head_box .agency_box .other {
        font-size: 3vw;
    }

    #page_rent .section_recommend {
        margin: 20vw 0px;
    }

    #page_rent .section_recommend .c_title {
        margin-bottom: 6vw;
    }

    #page_rent .common_shop_list {
        margin-bottom: 20vw;
    }

    #page_investment .section_service .c_title {
        margin-bottom: 6vw;
    }

    #page_investment .section_case {
        margin: 20vw 0px;
    }

    #page_investment .section_case .c_title {
        margin-bottom: 6vw;
    }

    #page_investment .common_head_box {
        margin-bottom: 20vw;
    }

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

    .common_case_list ul.vertical li .head_box {
        margin-bottom: 3vw;
        display: block;
        position: relative;
    }

    .common_case_list ul.vertical li .head_box .icon {
        margin-bottom: 4vw;
    }

    .common_case_list ul.vertical li .head_box .dl_box {
        gap: 3vw;
    }

    .common_case_list ul.vertical li .head_box .name {
        position: absolute;
        left: 20vw;
        top: 5vw;
    }

    #page_development .section_case {
        margin: 20vw 0px;
    }

    #page_development .section_case .c_title {
        margin-bottom: 6vw;
    }

    #page_greeting .section_contents .head_box {
        margin-bottom: 12vw;
        display: block;
        padding: 5vw 0 12vw;
    }

    #page_greeting .section_contents .head_box .title_box {
        border-right: medium;
        margin-right: 0px;
        margin-bottom: 8vw;
        padding-right: 0px;
    }

    #page_greeting .section_contents .head_box .title_box .title {
        font-size: 3.4vw;
    }

    #page_greeting .section_contents .head_box .title_box .philosophy {
        font-size: 9vw;
    }

    #page_greeting .section_contents .head_box .title_box .en {
        font-size: 3.3vw;
        text-align: center;
    }

    #page_greeting .section_contents .head_box .lead {
        font-size: 4vw;
    }

    #page_greeting .section_contents .cont_box .in_text {
        margin-bottom: 14vw;
    }

    #page_greeting .section_contents .cont_box .in_text .text {
        font-size: 3.3vw;
        line-height: 2;
    }

    #page_greeting .section_contents .cont_box .in_text .text+.text {
        margin-top: 2em;
    }

    #page_greeting .section_contents .cont_box .name_box .text {
        font-size: 3.9vw;
    }

    #page_management .image.icon {
        width: 100%;
        margin: 10vw auto 0;
    }

    #page_greeting .section_contents .cont_box .name_box .img {
        width: 47vw;
        margin: 0 0 0 auto;
    }

    #top_business .sp .lists .list {
        border: 1px solid rgb(229, 229, 229);
        padding: 7.08vw 4vw 6vw;
    }

    #top_business .sp .lists .list .list_head {
        padding: unset;
    }

    #top_business .sp .lists .list .list_head::before,
    #top_business .sp .lists .list .list_head::after {
        content: unset;
    }

    #top_business .sp .lists .list .list_head .list_body {
        height: 69vw;
        opacity: 1;
        overflow: visible;
        padding: 0;
        display: flex;
        flex-direction: column;
    }

    #top_business .sp .lists .list .list_head .list_body::before,
    #top_business .sp .lists .list .list_head .list_body::after {
        content: unset;
    }

    #top_business .sp .lists .list .list_head .list_arrow {
        display: none;
    }

    #top_business .sp .lists .list .list_head .list_contents {
        margin-bottom: 5vw;
    }

    .new_top_fv .mv_banner_img {
        width: 90vw;
        bottom: 5vw;
        right: 5vw;
    }

    .new_top_fv .mv_banner_img .txtBox {
        font-size: 4vw;
        padding-top: 4.5vw;
    
    }

    .new_top_fv .mv_banner_img .txtBox span {
        font-size: 2.5vw;
    }

    #top_business .sp .lists .list .list_head .list_body .list_box {
        flex-grow: 1;
        display: flex;
        justify-content: right;
        align-items: flex-end;
    }

    .sp_business_box .slick-dots li.slick-active::before {
        width: 20px;
    }

    .sp_business_box ul.slick-dots {
        bottom: -40px;
        left: 50%;
        transform: translateX(-55%);
    }

    .sp_business_box .lists ul.slick-dots li.slick-active {
        background-color: rgb(0, 0, 0);
        border-radius: 50%;
        width: 4vw;
        height: 4vw;
    }

    .section_common_link .cont .btn.c_btn a {
        width: 100%;
    }

    .sp_business_box .lists ul.slick-dots li button#slick-slide-control00::before {
        display: none;
    }

    .page_reform .head_sec {
        margin: 15vw 0 5vw;
    }

    .page_reform .head_sec .head_list ul li {
        flex-direction: column;
        gap: 5vw;
    }

    .page_reform .head_sec .head_list ul li .img {
        width: 100%;
        height: 52vw;
    }

    .page_reform .head_sec .head_list ul li .text_area .theme {
        font-size: 5vw;
    }

    .page_reform .head_sec .head_list ul li .text_area .text {
        font-size: 3.8vw;
    }

    .page_reform .head_sec .head_list ul li:nth-child(even) {
        flex-direction: column;
    }

    .page_reform .head_sec .head_list ul li+li {
        margin-top: 10vw;
    }

    .page-id-782 .post-password-form__input {
        margin: 15px 0;
        width: 100%;
    }

    .new_top_fv .mv_banner_img .txtBox::before {
        width: 2vw;
        height: 2vw;
        right: 2vw;
    }

}