@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Rubik:wght@300&display=swap');

/* デバイスごとの表示切替
-------------------------------------- */
/* PC */
@media (min-width:576px) {
    .sp:not(.pc) {
        display: none;
    }
}

/* スマホ */
@media (max-width:575px) {
    .pc:not(.sp) {
        display: none;
    }
}


/* 変数
-------------------------------------- */
:root {
    --keyColorA: #0055A6;
    --keyColorB: #38A1DB;
    --lsWideA: 0.08em;
    --lsWideB: 0.1em;
    --lineHeightA: 1.7;
    --lineHeightB: 1.5;
    --enText: 'Rubik', sans-serif;
    --acText: 'Zen Maru Gothic', sans-serif;
    --weightL: 300;
    --weightR: 400;
    --weightB: 700;
    --shadow: 0 0 0 0 rgba(0, 0, 0, 0.16);
    --roundL: min(3vw, 36px);
    --roundM: min(2.333vw, 28px);
    --roundS: min(1.667vw, 20px);
}

@media (max-width: 575px) {
    :root {
        --roundL: 20px;
        --roundM: 16px;
        --roundS: 12px;
    }
}


/* アニメーション
-------------------------------------- */
/* フェードイン表示 */
body {
    animation: fade-in 3s;
}

@keyframes fade-in {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}


/* 全体設定
-------------------------------------- */
html {
    overflow: auto;
    font-size: 62.5%;
}

body,
table,
input,
textarea,
select,
option {
    color: #333333;
    font-family: 'Noto Sans JP', sans-serif;
    font-weight: var(--weightR);
}

body {
    font-size: 1.6rem;
    background-color: #fff;
    text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
}

body.fixed {
    position: fixed;
    width: 100%;
    height: 100%;
}

img {
    max-width: 100%;
    height: auto;
}

a,
input {
    transition: all 0.3s;
}

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

@media (max-width: 768px) {
    .wrap {
        min-width: 320px;
    }
}

@media (hover: hover) and (pointer: fine) {
    a[href^="tel:"] {
        pointer-events: none;
    }
}


/* 共通設定
-------------------------------------- */
/* 画面幅1270px以下は全体をそのまま縮小 */

.com-title {
    display: block;
    margin-top: min(1.26vw, 16px);
    font-family: var(--acText);
    font-size: min(2.205vw, 2.8rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
}

.com-title-img {
    transform: scale(0.8);
    transform-origin: left bottom;
}

.com-text {
    font-size: min(1.575vw, 2rem);
    font-weight: var(--weightR);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

.frame {
    overflow: hidden;
    border: 3px solid #6C6D8E;
    border-radius: var(--roundS);
}

.com-arrow {
    position: relative;
    display: block;
}

.com-arrow::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: block;
    border-radius: 100vh;
}

.com-arrow::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: min(1.181vw, 15px);
    height: min(0.669vw, 8.5px);
    clip-path: polygon(0 44.1%, 71.7% 44.1%, 71.7% 0, 100% 50%, 71.7% 100%, 71.7% 55.9%, 0 55.9%);
}

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

@media (max-width: 575px) {
    .com-title {
        margin-top: 16px;
        font-size: 2rem;
    }

    .com-title-img {
        transform: scale(1.6);
    }

    .com-text {
        font-size: 1.7rem;
    }

    .frame {
        border: 2px solid #6C6D8E;
    }

    .com-arrow::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        display: block;
        border-radius: 100vh;
    }

    .com-arrow::after {
        width: 15px;
        height: 8px;
    }
}


/* コンテンツ部分
-------------------------------------- */
.contents {
    position: relative;
    width: calc(100% - min(10.079vw, 128px));
    max-width: min(94.488vw, 1200px);
    margin: auto;
}

@media (max-width: 1023px) {
    .contents {
        width: calc(100% - 80px);
    }
}

@media (max-width: 575px) {
    .contents {
        width: calc(100% - 48px);
    }
}


/* ヘッダー
-------------------------------------- */
/* 画面幅1260px以下は全体をそのまま縮小 */

.header {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    gap: min(2.52vw, 32px);
    width: 100%;
    z-index: 999;
}

.header__logo {
    margin-left: min(2.52vw, 32px);
    padding: min(1.89vw, 24px);
    width: min(28.346vw, 360px);
    background-color: #fff;
    border-radius: 0 0 var(--roundS) var(--roundS);
}

.header__logo-sub {
    display: block;
    margin-top: min(0.63vw, 8px);
    padding: min(0.157vw, 2px) 0 min(0.315vw, 4px);
    color: #fff;
    font-family: var(--acText);
    font-size: min(1.732vw, 2.2rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    text-align: center;
    border-radius: 100vh;
    background-color: var(--keyColorA);
}


.header__content {
    flex: 1;
}

.header__navi {
    position: fixed;
    top: min(3.15vw, 40px);
    right: 0;
    display: flex;
    padding: min(1.26vw, 16px) min(3.15vw, 40px) min(2.52vw, 32px);
    width: calc(100% - min(33.386vw, 424px));
    background-color: #fff;
    border-radius: 100vh 0 0 100vh;
}

.header__navi-item {
    font-size: min(1.26vw, 1.6rem);
    font-weight: var(--weightR);
    letter-spacing: var(--lsWideA);
}

.header__navi-item:not(:first-child) {
    border-left: 1px solid #333;
    padding-left: min(1.26vw, 16px);
}

.header__navi-item:not(:last-child) {
    padding-right: min(1.26vw, 16px);
}

.header__navi-link {
    position: relative;
    padding-bottom: min(0.945vw, 12px);
}

.header__navi-link::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 45%;
    transform: translateX(-50%);
    display: block;
    width: min(0.63vw, 8px);
    height: min(0.63vw, 8px);
    border-bottom: 1px solid #333;
    border-right: 1px solid #333;
    transform: rotate(45deg);
    transition: all 0.3s;
}

.header__title {
    margin-top: min(9.449vw, 120px);
    color: #707070;
    font-family: var(--acText);
    font-size: min(1.732vw, 2.2rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
}

@media (hover: hover) and (pointer: fine) {
    .header__navi-link:hover::after {
        bottom: max(-0.315vw, -4px);
    }
}

@media (max-width: 1480px) {
    .header__logo {
        width: min(22.047vw, 280px);
    }

    .header__navi {
        width: calc(100% - min(27.087vw, 344px));
    }
}

@media (max-width: 1400px) {
    .header__navi-item {
        font-size: min(1.102vw, 1.4rem);
    }

    .header__navi-item:not(:first-child) {
        padding-left: min(0.945vw, 12px);
    }

    .header__navi-item:not(:last-child) {
        padding-right: min(0.945vw, 12px);
    }

    .header__title {
        font-size: min(1.575vw, 2rem);
    }
}

@media (max-width: 575px) {
    .header__logo {
        margin-left: 0;
        padding: 10px;
        width: 150px;
        border-radius: 0 0 var(--roundS) 0;
    }

    .header__logo-sub {
        margin-top: 4px;
        padding: 3px;
        font-size: 1.2rem;
    }

    .header__navi {
        display: none;
    }

    .header__title {
        margin-top: 10px;
        font-size: 1.3rem;
        line-height: 1.4;
    }
}


/* フッター
-------------------------------------- */
/* 画面幅1270px以下は全体をそのまま縮小 */

.footer {
    margin-top: min(5.039vw, 64px);
}

.footer__logo {
    margin-left: min(5.039vw, 64px);
    width: min(25.197vw, 320px);
}

.footer__copyright {
    margin-top: min(2.52vw, 32px);
    padding: min(1.26vw, 16px) min(2.52vw, 32px);
    color: #707070;
    font-size: min(1.102vw, 1.4rem);
    font-weight: var(--weightR);
    letter-spacing: var(--lsWideA);
    text-align: right;
    background-color: #F0F0F0;
}

@media (max-width: 575px) {
    .footer {
        margin-top: 0;
    }

    .footer__logo {
        margin-left: 24px;
        width: 160px;
    }

    .footer__copyright {
        margin-top: 24px;
        padding: 16px 24px;
        font-size: 1.4rem;
    }
}


/* スマホメニュー
-------------------------------------- */
@media (min-width: 576px) {
    .hamburger {
        display: none;
    }
}

.hamburger {
    height: 40px;
    width: 40px;
    position: fixed;
    top: min(5vw, 40px);
    right: min(5vw, 40px);
    cursor: pointer;
    z-index: 1001;
    transition: all 0.3s;
}

.hamburger div {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 2px;
    background: var(--keyColorA);
    transition: top 0.4s 0.2s, transform 0.4s 0s;
}

.hamburger div:nth-of-type(1) {
    top: calc(35% - 0px);
}

.hamburger div:nth-of-type(2) {
    top: calc(35% - 13px);
}

.hamburger div:nth-of-type(3) {
    top: calc(35% + 13px);
}

.hamburger.on div {
    top: calc(35% - 0px);
    background-color: #fff;
    transform-origin: center center;
    transition: top 0.4s 0s, transform 0.4s 0.2s;
}

.hamburger.on div:nth-of-type(1) {
    transform: rotate(45deg);
}

.hamburger.on div:nth-of-type(2) {
    opacity: 0;
}

.hamburger.on div:nth-of-type(3) {
    transform: rotate(135deg);
}

.spModal {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    visibility: hidden;
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    background-color: var(--keyColorA);
    z-index: 1000;
    overflow-y: auto;
    transition: all 0.3s;
}

.spModal.on {
    visibility: visible;
    opacity: 1;
}

.sp-navi {
    display: flex;
    flex-direction: column;
    gap: 32px;
    align-items: center;
    color: #fff;
    font-family: var(--acText);
    font-size: 2.2rem;
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
}


/* フローティングリンク
-------------------------------------- */
/* 画面幅1270px以下は全体をそのまま縮小 */

.f-link {
    position: fixed;
    bottom: min(3.15vw, 40px);
    right: min(3.15vw, 40px);
    display: flex;
    gap: min(1.26vw, 16px);
    z-index: 999;
    transition: opacity 0.3s, visibility 0.3s;
}

.f-link.is-hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.f-link__item {
    position: relative;
    display: block;
    width: min(18.898vw, 240px);
    height: min(4.409vw, 56px);
    color: #fff;
    font-family: var(--acText);
    font-size: min(1.89vw, 2.4rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    background-color: #DD0001;
    border-radius: 100vh;
}

.f-link__text {
    display: block;
    position: absolute;
    top: 50%;
    left: 45%;
    transform: translate(-50%, -50%);
}

.f-link__arrow {
    position: absolute;
    top: 50%;
    right: min(1.102vw, 14px);
    transform: translateY(-50%);
    width: min(2.52vw, 32px);
    height: min(2.52vw, 32px);
    transition: all 0.3s;
}

.f-link__arrow::before {
    width: min(2.52vw, 32px);
    height: min(2.52vw, 32px);
    background-color: #fff;
}

.f-link__arrow::after {
    background: #DD0001;
}

@media (hover: hover) and (pointer: fine) {
    .f-link__item:hover {
        background-color: #f80e0e;
    }

    .f-link__item:hover .f-link__arrow {
        right: 10px;
    }
}

@media (max-width: 575px) {
    .f-link {
        bottom: 16px;
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        gap: 16px;
        width: calc(100% - 48px);
    }

    .f-link__item {
        position: relative;
        display: block;
        flex: 1;
        width: auto;
        height: 40px;
        font-size: 1.6rem;
    }

    .f-link__text {
        left: 40%;
    }

    .f-link__arrow {
        right: 8px;
        width: 24px;
        height: 24px;
    }

    .f-link__arrow::before {
        width: 24px;
        height: 24px;
    }
}


/* ヒーローイメージ
-------------------------------------- */
/* 画面幅1400px以下は全体をそのまま縮小 */

.hero {
    position: relative;
    width: 100%;
    min-height: 100svh;
    background-color: #EDEDED;
    z-index: 1;
}

.hero__title {
    position: absolute;
    top: min(16.727vw, 184px);
    left: 50%;
    transform: translateX(-50%);
    width: 85vh;
    max-width: min(68.182vw, 750px);
    z-index: 2;
}

.hero__illust {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 80vh;
    z-index: 2;
}

.hero__photo,
.hero__bg {
    position: absolute;
}

.hero__photo {
    z-index: 1;
}

.hero__bg {
    z-index: 0;
}

.hero__photo--01 {
    top: 24vh;
    left: 5vw;
    width: min(24.364vw, 268px);
}

.hero__photo--02 {
    top: 50vh;
    left: max(-0.273vw, -3px);
    width: min(20.727vw, 228px);
    border-radius: 0 var(--roundM) var(--roundM) 0;
}

.hero__photo--03 {
    bottom: 3vh;
    left: 11vw;
    width: min(17.909vw, 197px);
}

.hero__photo--04 {
    top: 28vh;
    right: max(-0.273vw, -3px);
    width: min(16.455vw, 181px);
    border-radius: var(--roundM) 0 0 var(--roundM);
}

.hero__photo--05 {
    top: 55vh;
    right: calc(3vw + min(15.909vw, 175px) + min(1.364vw, 15px));
    width: min(15.909vw, 175px);
}

.hero__photo--06 {
    top: 55vh;
    right: 3vw;
    width: min(15.909vw, 175px);
}

.hero__bg--01 {
    bottom: 0;
    left: 10vw;
    width: min(48vw, 528px);
}

.hero__bg--02 {
    top: 50vh;
    right: 25vw;
    width: min(23.273vw, 256px);
}

.hero__bg--03 {
    top: 15vh;
    left: 15vw;
    width: min(23.273vw, 256px);
}

.hero__bg--04 {
    top: max(-0.455vw, -5vh);
    right: 5vw;
    width: min(23.273vw, 256px);
}

.hero__video {
    position: absolute;
    bottom: 0%;
    left: 50%;
    transform: translateX(-50%);
    aspect-ratio: 16 / 9;
    width: 40vh;
    height: auto;
    z-index: 3;
}

@media (max-width: 1400px) {

    .hero__title {
        transform: translateX(-50%) scale(0.9);
        transform-origin: center top;
    }

    .hero__illust {
        transform: translateX(-50%) scale(0.9);
        transform-origin: center bottom;
    }

    .hero__photo,
    .hero__bg {
        transform: scale(0.9);
    }

    .hero__photo--01,
    .hero__photo--02,
    .hero__photo--03 {
        transform-origin: left center;
    }

    .hero__photo--04,
    .hero__photo--05,
    .hero__photo--06 {
        transform-origin: right center;
    }

    .hero__photo--05,
    .hero__photo--06 {
        top: 52vh;
    }

    .hero__photo--01 {
        left: 3vw;
    }

    .hero__photo--05 {
        right: calc(3vw + min(15.909vw, 175px) * 0.9 + min(1.364vw, 15px));
    }
}

@media (max-width: 1200px) {
    .hero__photo--01 {
        left: -2vw;
    }
}

@media (max-width: 1100px) {
    .hero {
        min-height: min(77.273vw, 850px);
    }

    .hero__illust {
        width: 62vw;
    }

    .hero__video {
        width: 31vw;
    }

    .hero__photo--01 {
        top: 18vw;
        left: -5vw;
    }

    .hero__photo--02 {
        top: 40vw;
    }

    .hero__photo--03 {
        bottom: 3vw;
    }

    .hero__photo--04 {
        top: 22vw;
    }

    .hero__photo--05,
    .hero__photo--06 {
        top: 40vw;
    }
}

@media (max-width: 575px) {
    .hero {
        min-height: 100svh;
    }

    .hero__title {
        transform: translateX(-50%) scale(1);
        top: 21vh;
        width: 80vw;
        max-width: 100%;
    }

    .hero__title img {
        filter: drop-shadow(1px 1px 0 #fff) drop-shadow(-1px 1px 0 #fff) drop-shadow(1px -1px 0 #fff) drop-shadow(-1px -1px 0 #fff) drop-shadow(0px 1px 0 #fff) drop-shadow(0px -1px 0 #fff) drop-shadow(1px 0px 0 #fff) drop-shadow(-1px 0px 0 #fff);
    }

    .hero__illust {
        transform: translateX(-50%) scale(1);
        bottom: 20vh;
        width: 100vw;
    }

    .hero__photo,
    .hero__bg {
        transform: scale(1);
        width: 30%;
    }

    .hero__photo--01 {
        top: 7vh;
        left: 5vw;
    }

    .hero__photo--02 {
        top: 40vh;
        left: -3px;
    }

    .hero__photo--03 {
        bottom: 3vh;
        left: 11vw;
    }

    .hero__photo--04 {
        top: 10vh;
        right: -5vw;
        width: 25%;
    }

    .hero__photo--05 {
        top: 45vh;
        right: 30vw;
    }

    .hero__photo--06 {
        top: 45vh;
        right: -3vw;
    }

    .hero__bg--01 {
        bottom: 28vh;
        left: 0vw;
        width: 80%;
    }

    .hero__bg--02 {
        top: 50vh;
        right: 25vw;
    }

    .hero__bg--03 {
        top: 15vh;
        left: -10vw;
    }

    .hero__bg--04 {
        top: -5vh;
        right: 2vw;
    }

    .hero__video {
        width: 80vw;
    }
}

/* 小さめスマホ向け */
@media (max-width: 375px) and (max-height: 760px) {
    .hero {
        min-height: calc(100svh + 25vh);
    }
}


/* スライダー
-------------------------------------- */
.slider {
    margin-top: min(3.15vw, 40px);
    height: min(22.047vw, 280px);
    z-index: 1;
}

.slick-slide {
    margin-right: min(1.26vw, 16px);
    height: min(22.047vw, 280px) !important;
}

.slider__item img {
    height: min(22.047vw, 280px);
    width: auto !important;
}

@media (max-width: 575px) {
    .slider {
        margin-top: 24px;
        height: 200px;
    }

    .slick-slide {
        margin-right: 8px;
        height: 200px !important;
    }

    .slider__item img {
        height: 200px;
    }
}


/* テックフクナガの仕事 ＆ 対応領域
-------------------------------------- */
/* 画面幅1270px以下は全体をそのまま縮小 */

.value-field {
    position: relative;
    padding-bottom: min(31.496vw, 400px);
    width: 100%;
    background: url(../img/value-field-bg.png) no-repeat right min(0vw, 0px) top min(15.748vw, 200px) / min(78.74vw, 1000px) min(97.559vw, 1239px);
}

.value-field__contents {
    z-index: 4;
}

.value-field__title-img--value {
    width: min(24.646vw, 313px);
}

.value-field__title--value {
    padding-top: min(9.449vw, 120px);
    color: #0055a6;
}

.value-field__heading {
    margin: min(1.89vw, 24px) 0 min(2.52vw, 32px);
    color: #707070;
    font-size: min(3.307vw, 4.2rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    line-height: 1.5;
}

.value-field__text {
    margin-top: min(1.26vw, 16px);
}

.value-field__title--field {
    margin-top: min(15.748vw, 200px);
    color: #88af30;
}

.value-field__title-img--field {
    width: min(21.575vw, 274px);
}

.value-field__sub-title {
    margin-top: min(2.52vw, 32px);
    color: var(--keyColorA);
    font-size: min(1.89vw, 2.4rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
}

.value-field__illust {
    position: absolute;
    top: min(37.795vw, 480px);
    right: 2vw;
    width: min(53.543vw, 680px);
}

.value-field__photo,
.value-field__image,
.value-field__bg {
    position: absolute;
}

.value-field__photo {
    z-index: 2;
}

.value-field__image {
    z-index: 1;
}

.value-field__bg {
    z-index: 0;
    transform: scale(0.8);
}

.value-field__photo--01 {
    top: min(3.15vw, 40px);
    right: calc(10vw + min(17.087vw, 217px) - min(3.78vw, 48px));
    width: min(17.087vw, 217px);
}

.value-field__photo--02 {
    bottom: min(6.299vw, 80px);
    right: calc(5vw + min(24.961vw, 317px) + min(1.89vw, 24px));
    width: min(24.961vw, 317px);
}

.value-field__photo--03 {
    bottom: min(6.299vw, 80px);
    right: 5vw;
    width: min(24.961vw, 317px);
}

.value-field__image {
    top: min(15.748vw, 200px);
    right: 10vw;
    width: min(17.087vw, 217px);
}

.value-field__bg--01 {
    top: min(3.15vw, 40px);
    right: 40vw;
    width: min(12.52vw, 159px);
}

.value-field__bg--02 {
    top: min(1.89vw, 24px);
    right: min(0vw, 0px);
    width: min(24.094vw, 306px);
    mix-blend-mode: multiply;
}

.value-field__bg--03 {
    top: min(50.394vw, 640px);
    left: 2vw;
    width: min(15.433vw, 196px);
}

.value-field__bg--04 {
    bottom: min(0vw, 0px);
    right: calc(5vw + min(26.457vw, 336px) + min(13.228vw, 168px));
    width: min(31.024vw, 394px);
}

.value-field__bg--05 {
    bottom: max(-6.299vw, -80px);
    right: max(-2.52vw, -32px);
    width: min(15.433vw, 196px);
}

@media (max-width: 575px) {
    .value-field {
        padding-bottom: 64px;
        background: none;
    }

    .value-field__title--value {
        padding-top: 120px;
    }

    .value-field__heading {
        margin: 24px 0 32px;
        font-size: 2.2rem;
    }

    .value-field__text {
        margin-top: 320px;
    }

    .value-field__text:not(:first-of-type) {
        margin-top: 16px;
    }

    .value-field__title--field {
        margin-top: 80px;
    }

    .value-field__sub-title {
        margin-top: 24px;
        font-size: 2.2rem;
    }

    .value-field__illust {
        top: 330px;
        right: 0;
        width: 280px;
        z-index: 3;
    }

    .value-field__illust::after {
        content: '';
        position: absolute;
        top: 50%;
        right: 0%;
        transform: translateY(-50%);
        display: block;
        width: 350px;
        height: 433px;
        background: url(../img/value-field-bg.png ) no-repeat center right / contain;
        z-index: -1;
    }

    .value-field__bg {
        transform: scale(1);
        width: 40%;
    }

    .value-field__photo-wrap {
        display: flex;
        gap: 16px;
        margin: 32px 24px;
    }

    .value-field__photo--01 {
        top: 24px;
        right: 88px;
        width: 100px;
    }

    .value-field__photo--02,
    .value-field__photo--03 {
        position: static;
        width: auto;
        flex: 1;
    }

    .value-field__image {
        top: 80px;
        right: 8px;
        width: 100px;
    }

    .value-field__bg--01 {
        top: 80px;
        left: -32px;
        width: 30%;
    }

    .value-field__bg--02 {
        top: -16px;
        right: -32px;
        width: 50%;
    }

    .value-field__bg--03 {
        top: 720px;
        left: -32px;
    }

    .value-field__bg--04 {
        bottom: 0;
        right: auto;
        left: 32px;
    }

    .value-field__bg--05 {
        bottom: 0;
        right: -32px;
        width: 30%;
    }
}


/* 業務内容
-------------------------------------- */
/* 画面幅1270px以下は全体をそのまま縮小 */

.department {
    position: relative;
    margin-top: max(-9.449vw, -120px);
    padding-bottom: min(37.795vw, 480px);
    width: 100%;
    background: url(../img/department-bg.png) no-repeat center top / min(141.732vw, 1800px) min(133.465vw, 1695px);
}

.department__contents {
    z-index: 4;
}

.department__title {
    padding-top: min(7.559vw, 96px);
    color: #976BB0;
}

.department__title-img {
    width: min(49.606vw, 630px);
}

.department__description {
    margin-top: min(1.89vw, 24px);
}

.department__item {
    display: flex;
    align-items: center;
    gap: min(3.15vw, 40px);
    margin-top: min(6.299vw, 80px);
}

.department__item-illust {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 0 min(3.15vw, 40px) 0;
    height: min(29.606vw, 376px);
    background-color: #fff;
    border-radius: var(--roundM);
}

.department__item-img--01 {
    width: min(27.795vw, 353px);
}

.department__item-img--02 {
    width: min(33.465vw, 425px);
}

.department__item-body {
    flex: 1;
}

.department__item-title {
    color: #976BB0;
    font-family: var(--acText);
    font-size: min(2.52vw, 3.2rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
}

.department__item-catchphrase {
    margin-top: min(0.63vw, 8px);
    color: #707070;
    font-family: var(--acText);
    font-size: min(2.677vw, 3.4rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    line-height: 1.5;
}

.department__item-text {
    margin-top: min(0.63vw, 8px);
}

.department__item-sub-title {
    margin-top: min(2.52vw, 32px);
    color: var(--keyColorA);
    font-size: min(1.89vw, 2.4rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
}

.department__photo,
.department__bg {
    position: absolute;
}

.department__photo {
    z-index: 2;
}

.department__photo--01 {
    bottom: min(1.26vw, 16px);
    left: 7vw;
    width: min(25.197vw, 320px);
}

.department__photo--02 {
    bottom: min(12.598vw, 160px);
    left: calc(7vw + min(25.197vw, 320px) - min(3.15vw, 40px));
    width: min(22.047vw, 280px);
}

.department__photo--03 {
    bottom: min(0vw, 0px);
    right: 7vw;
    width: min(18.898vw, 240px);
}

.department__bg {
    z-index: 1;
    transform: scale(0.8);
}

.department__bg--01 {
    top: min(18.898vw, 240px);
    left: max(-2.52vw, -32px);
    width: min(17.795vw, 226px);
}

.department__bg--02 {
    top: min(9.449vw, 120px);
    right: 12vw;
    width: min(27.559vw, 350px);
    mix-blend-mode: multiply;
}

.department__bg--03 {
    top: min(34.646vw, 440px);
    right: min(0vw, 0px);
    width: min(34.803vw, 442px);
}

.department__bg--04 {
    bottom: min(31.496vw, 400px);
    left: max(-12.598vw, -160px);
    width: min(34.803vw, 442px);
}

.department__bg--05 {
    bottom: min(28.346vw, 360px);
    right: 10vw;
    width: min(17.795vw, 226px);
}

.department__bg--06 {
    bottom: min(7.559vw, 96px);
    right: 40vw;
    width: min(22.047vw, 280px);
}

@media (min-width: 1801px) {
    .department {
        background: url(../img/department-bg.png) no-repeat center top 0px / 100% min(133.465vw, 1695px);
    }
}

@media (max-width: 575px) {
    .department {
        margin-top: 0;
        padding-bottom: 240px;
        background-image: url(../img/department-bg.png),
            url(../img/department-bg.png),
            url(../img/department-bg.png);
        background-repeat: no-repeat;
        background-position: center top, center top 600px, center top 1150px;
        background-size: 800px auto, 800px auto, 800px auto;
    }

    .department__contents {
        z-index: 4;
    }

    .department__title {
        padding-top: 80px;
        color: #976BB0;
    }

    .department__description {
        margin-top: 24px;
    }

    .department__item {
        flex-direction: column;
        gap: 24px;
        margin-top: 32px;
    }

    .department__item:last-of-type {
        flex-direction: column-reverse;
    }

    .department__item-illust {
        padding: 0 24px 0;
        width: 100%;
        height: 240px;
    }

    .department__item-img--01 {
        width: 250px;
    }

    .department__item-img--02 {
        width: 270px;
    }

    .department__item-title {
        font-size: 2rem;
    }

    .department__item-catchphrase {
        margin-top: 8px;
        font-size: 2.4rem;
    }

    .department__item-text {
        margin-top: 16px;
    }

    .department__item-sub-title {
        margin-top: 24px;
        font-size: 2rem;
    }

    .department__photo {
        z-index: 2;
    }

    .department__photo--01 {
        bottom: 0;
        left: 24px;
        width: 160px;
    }

    .department__photo--02 {
        bottom: 80px;
        left: calc(24px + 160px - 80px);
        width: 140px;
    }

    .department__photo--03 {
        bottom: 0;
        right: -16px;
        width: 120px;
    }

    .department__bg {
        transform: scale(1);
        width: 40%;
    }

    .department__bg--01 {
        top: 160px;
        left: -32px;
    }

    .department__bg--02 {
        top: 0;
        right: 0;
    }

    .department__bg--03 {
        top: 640px;
        right: -24px;
    }

    .department__bg--04 {
        bottom: auto;
        top: 1400px;
        left: -24;
    }

    .department__bg--05 {
        bottom: 200px;
        right: -32px;
    }

    .department__bg--06 {
        bottom: 24px;
        right: 25vw;
    }
}


/* 先輩インタビュー
-------------------------------------- */
/* 画面幅1270px以下は全体をそのまま縮小 */

.interview {
    position: relative;
    margin-top: min(3.15vw, 40px);
    padding-bottom: min(47.244vw, 600px);
    width: 100%;
    background: url(../img/interview-bg.png) no-repeat center top / min(141.732vw, 1800px) min(143.78vw, 1825px);
}

.interview__contents {
    z-index: 3;
}

.interview__title {
    padding-top: min(15.748vw, 200px);
    color: var(--keyColorA);
}

.interview__title-img {
    width: min(38.898vw, 494px);
}

.interview__description {
    margin-top: min(1.89vw, 24px);
    color: #707070;
    font-size: min(1.732vw, 2.2rem);
    font-weight: var(--weightR);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

.interview__item {
    position: relative;
    display: flex;
    align-items: center;
    margin-top: min(6.299vw, 80px);
    padding: min(3.78vw, 48px);
    height: min(26.457vw, 336px);
    background-color: #fff;
    border-radius: var(--roundM);
}

.interview__item-body--01 {
    width: 50vw;
    max-width: min(53.543vw, 680px);
}

.interview__item-body--02 {
    width: 45vw;
    max-width: min(47.244vw, 600px);
}

.interview__item--01 {
    justify-content: flex-start;
}

.interview__item--02 {
    justify-content: flex-end;
}

.interview__item-title {
    color: #707070;
    font-family: var(--acText);
    font-size: min(2.362vw, 3rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
}

.interview__item-tag {
    position: relative;
    top: max(-0.157vw, -2px);
    display: inline-block;
    margin-left: min(0.63vw, 8px);
    padding: min(0.472vw, 6px) min(1.26vw, 16px);
    color: var(--keyColorA);
    font-family: var(--acText);
    font-size: min(1.575vw, 2rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    border-radius: 100vh;
    background-color: #D6E7FD;
}

.interview__item-name {
    margin-top: min(0.315vw, 4px);
    color: #333333;
    font-family: var(--acText);
    font-size: min(1.575vw, 2rem);
    font-weight: var(--weightM);
    letter-spacing: var(--lsWideA);
}

.interview__item-text {
    margin-top: min(1.89vw, 24px);
    color: #707070;
}

.interview__item-link {
    position: relative;
    display: block;
    margin-top: min(1.89vw, 24px);
    padding: min(0.945vw, 12px) 0;
    width: min(37.795vw, 480px);
    text-align: center;
    color: #DD0000;
    font-family: var(--acText);
    font-size: min(1.575vw, 2rem);
    font-weight: var(--weightM);
    letter-spacing: var(--lsWideA);
    background-color: #fff;
    border: 1px solid #DD0000;
    border-radius: 100vh;
    transition: all 0.3s;
}

.interview__item-link::after {
    content: '';
    position: absolute;
    top: 50%;
    right: min(1.89vw, 24px);
    transform: translateY(-50%) rotate(45deg);
    width: min(0.945vw, 12px);
    height: min(0.945vw, 12px);
    border-top: 2px solid #DD0000;
    border-right: 2px solid #DD0000;
    transition: all 0.3s;
}

.interview__item-photo {
    position: absolute;
    bottom: 0;
}

.interview__item-photo--01 {
    right: min(2.52vw, 32px);
    width: min(33.937vw, 431px);
}

.interview__item-photo--02 {
    left: min(2.52vw, 32px);
    width: min(39.37vw, 500px);
}

.interview__photo,
.interview__bg {
    position: absolute;
}

.interview__photo {
    z-index: 2;
}

.interview__photo--04 {
    bottom: min(15.748vw, 200px);
    right: calc(5vw + min(24.882vw, 316px) - min(3.15vw, 40px));
    width: min(20vw, 254px);
}

.interview__photo--03 {
    bottom: min(3.15vw, 40px);
    right: 5vw;
    width: min(24.882vw, 316px);
}

.interview__bg {
    z-index: 1;
}

.interview__bg--01 {
    top: min(5.039vw, 64px);
    right: 13vw;
    width: min(27.402vw, 348px);
    mix-blend-mode: multiply;
    z-index: 1;
}

.interview__bg--02 {
    bottom: min(31.496vw, 400px);
    left: 35vw;
    width: min(27.402vw, 348px);
    z-index: 1;
}

.interview__bg--03 {
    top: min(12.598vw, 160px);
    right: min(0vw, 0px);
    width: min(34.803vw, 442px);
    z-index: 0;
}

.interview__bg--04 {
    bottom: min(28.346vw, 360px);
    left: min(0vw, 0px);
    width: min(34.803vw, 442px);
    z-index: 0;
}

.interview__bg--05 {
    bottom: min(12.598vw, 160px);
    right: min(3.15vw, 40px);
    width: min(14.173vw, 180px);
    z-index: 1;
}

/* モーダル表示 */
.modaal-container {
    position: relative;
    border-radius: var(--roundM) !important;
    background-color: #fff;
}

.modal__content {
    padding: min(3.78vw, 48px) min(3.78vw, 48px) min(7.56vw, 96px);
}

.modal-1-style .modaal-container {
    background: #fff url(../img/modal1-photo04.png ) no-repeat right bottom / min(34.65vw, 440px) min(64.17vw, 815px) !important;
}

.modal__header {
    position: absolute;
    top: 0;
    left: 0;
    padding: min(5.04vw, 64px) min(6.30vw, 80px) 0;
    width: 100%;
    height: min(33.07vw, 420px);
    background-color: #ddeafc;
    border-radius: var(--roundM) 0 0 min(22.05vw, 280px);
}

.modal {
    counter-reset: question-counter;
}

.modal__title--01 {
    width: min(33.07vw, 420px);
}

.modal__title--02 {
    width: min(33.86vw, 430px);
}

.modal__main-photo {
    position: absolute;
    top: max(-7.56vw, -96px);
    right: max(-7.56vw, -96px);
    width: min(41.73vw, 530px);
}

.modal__department {
    margin: min(6.30vw, 80px) 0 0 min(5.04vw, 64px);
    font-size: min(2.677vw, 3.4rem);
    font-family: var(--acText);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
}

.modal__profile {
    margin: min(1.89vw, 24px) 0 0 min(5.04vw, 64px);
    color: #707070;
    font-size: min(1.732vw, 2.2rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

.modal__section {
    position: relative;
}

.modal__section--01 {
    margin-top: min(31.50vw, 400px);
}

.modal__section--02,
.modal__section--03 {
    margin-top: min(6.30vw, 80px);
}

.modal__section--modal1 {
    padding-right: min(23.62vw, 300px);
}

.modal__section--modal2::before {
    content: '';
    position: absolute;
    top: min(6.30vw, 80px);
    left: 0;
    display: block;
    width: min(17.87vw, 227px);
    height: min(53.62vw, 681px);
    background: url(../img/modal2-photo04.png ) no-repeat center center / contain;
}

.modal__question {
    color: var(--keyColorA);
    font-family: var(--acText);
    font-size: min(2.362vw, 3rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

.modal__question::before {
    content: 'Q' counter(question-counter) '.';
    display: inline-block;
    counter-increment: question-counter;
    margin-right: min(0.630vw, 0.8rem);
}

.modal__answer {
    margin-top: min(1.89vw, 24px);
}

.modal__answer--modal2 {
    padding-left: min(23.62vw, 300px);
}

.modal__content-wrapper {
    display: flex;
    align-items: center;
    gap: min(3.78vw, 48px);
}

.modal__content-wrapper--reverse {
    flex-direction: row-reverse;
}

.modal__sub-photo {
    display: flex;
    flex-direction: column;
    gap: min(1.26vw, 16px);
    width: min(20.40vw, 259px);
}

.modal__sub-photo-image {
    display: block;
    border-radius: var(--roundS);
}

.modal__text-content {
    flex: 1;
}

.modal__summary {
    position: relative;
    padding: min(1.89vw, 24px) min(3.15vw, 40px);
    font-family: var(--acText);
    font-size: min(1.575vw, 2rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
    background-color: #EFEFEF;
    border-radius: var(--roundS);
}

.modal__summary::after {
    content: "";
    position: absolute;
    top: min(1.26vw, 16px);
    display: block;
    clip-path: polygon(0 20%, 0% 100%, 100% 0);
    width: min(3.78vw, 48px);
    height: min(4.41vw, 56px);
    background-color: #EFEFEF;
}

.modal__summary--modal1::after {
    right: max(-3.78vw, -48px);
}

.modal__summary--modal2::after {
    left: max(-3.78vw, -48px);
    transform: scaleX(-1);
}

.modal__summary--modal1 {
    margin: min(5.04vw, 64px) min(23.62vw, 300px) 0 0;
}

.modal__summary--modal2 {
    margin: min(5.04vw, 64px) 0 0 min(23.62vw, 300px);
}

.modal__close-btn {
    position: absolute;
    bottom: min(3.15vw, 40px);
    right: min(3.15vw, 40px);
    width: min(10.87vw, 138px);
}


@media (hover: hover) and (pointer: fine) {
    .interview__item-link:hover {
        color: #fff;
        background-color: #DD0000;
    }

    .interview__item-link:hover::after {
        border-color: #fff;
    }
}

@media (min-width: 1801px) {
    .interview {
        background: url(../img/interview-bg.png) no-repeat center top 0px / 100% min(143.78vw, 1825px);
    }
}

@media (max-width: 575px) {
    .interview {
        margin-top: 32px;
        padding-bottom: 240px;
        background-image: url(../img/interview-bg.png), url(../img/interview-bg.png);
        background-repeat: no-repeat;
        background-position: center top, center top 750px;
        background-size: 1000px auto;
    }

    .interview__title {
        padding-top: 120px;
    }

    .interview__description {
        margin-top: 24px;
        font-size: 1.7rem;
    }

    .interview__item {
        flex-direction: column;
        margin-top: 40px;
        padding: 0 24px 24px;
        height: auto;
    }

    .interview__item--01 {
        flex-direction: column-reverse;
    }

    .interview__item-body {
        width: 100% !important;
        max-width: 100% !important;
    }

    .interview__item-title {
        margin-top: 24px;
        font-size: 2rem;
    }

    .interview__item-tag {
        display: block;
        margin-top: 12px;
        padding: 6px 16px;
        width: fit-content;
        font-size: 1.5rem;
    }

    .interview__item-name {
        margin-top: 8px;
        font-size: 1.7rem;
    }

    .interview__item-text {
        margin-top: 24px;
    }

    .interview__item-link {
        margin-top: 24px;
        padding: 12px 0 12px 20px;
        width: 100%;
        font-size: 1.6rem;
        letter-spacing: normal;
        text-align: left;
    }

    .interview__item-link::after {
        right: 16px;
        width: 10px;
        height: 10px;
    }

    .interview__item-photo {
        position: static;
        margin-top: -24px;
        width: 100%;
    }

    .interview__photo--04 {
        bottom: 120px;
        right: calc(24px + 158px - 40px);
        width: 127px;
    }

    .interview__photo--03 {
        bottom: 40px;
        right: 24px;
        width: 158px;
    }

    .interview__bg {
        width: 40%;
    }

    .interview__bg--01 {
        top: 32px;
        right: 16px;
    }

    .interview__bg--02 {
        bottom: 160px;
        left: 35vw;
    }

    .interview__bg--03 {
        top: 120px;
        right: -40px;
    }

    .interview__bg--04 {
        bottom: 160px;
        left: -32px;
    }

    .interview__bg--05 {
        bottom: 40px;
        right: -40px;
    }

    /* モーダル */
    .modal__content {
        padding: 0 0 56px 0;
    }

    .modal-1-style .modaal-container {
        background: #fff url(../img/modal1-photo04.png ) no-repeat right bottom / 160px auto !important;
    }

    .modal__header {
        position: static;
        margin: -30px 0 0 -30px;
        padding: 24px;
        width: calc(100% + 60px);
        height: auto;
        border-radius: var(--roundM) var(--roundM) 0 0;
    }

    .modal__title {
        margin: auto;
        width: 200px;
        text-align: center;
    }

    .modal__main-photo {
        position: static;
        margin: 16px auto 0;
        width: 200px;
    }

    .modal__department {
        margin: 24px 0 0;
        font-size: 2rem;
    }

    .modal__profile {
        margin: 8px 0 0;
        font-size: 1.5rem;
    }

    .modal__section--01 {
        margin-top: 32px;
    }

    .modal__section--02,
    .modal__section--03 {
        margin-top: 40px;
    }

    .modal__section--modal1 {
        padding-right: 0;
    }

    .modal__question {
        font-size: 1.8rem;
    }

    .modal__question::before {
        margin-right: 0.8rem;
    }

    .modal__answer {
        margin-top: 16px;
    }

    .modal__answer--modal2 {
        padding-left: 0;
    }

    .modal__content-wrapper {
        flex-direction: column;
        gap: 24px;
    }

    .modal__content-wrapper--reverse {
        flex-direction: column;
    }

    .modal__sub-photo {
        gap: 16px;
        width: 100%;
    }

    .modal__summary {
        padding: 16px;
        font-size: 1.6rem;
    }

    .modal__summary::after {
        transform: scale(2, -2);
    }

    .modal__summary--modal1::after {
        top: 120px;
        transform-origin: top left;
    }

    .modal__summary--modal1 {
        margin: 32px 80px 0 0;
    }

    .modal__summary--modal2 {
        position: relative;
        margin: 32px 0 0 80px;
    }

    .modal__section--modal2::before {
        display: none;
    }

    .modal__summary--modal2::before {
        content: '';
        position: absolute;
        bottom: 0;
        left: -100px;
        display: block;
        width: 90px;
        height: 270px;
        background: url(../img/modal2-photo04.png ) no-repeat center center / contain;

    }

    .modal__summary--modal2::after {
        top: 64px;
        left: 0;
        transform-origin: top left;
        transform: scale(-2, -2);
    }

    .modal__close-btn {
        bottom: 16px;
        right: 16px;
        width: 120px;
    }
}


/* 数字で知るテックフクナガ
-------------------------------------- */
/* データ部分を除き、画面幅1270px以下は全体をそのまま縮小 */

.about {
    position: relative;
    margin-top: max(-12.598vw, -160px);
}

.about__contents {
    z-index: 2;
}

.about__title {
    color: var(--keyColorA);
}

.about__title-img {
    width: min(40vw, 508px);
}

.about__description {
    margin-top: min(1.89vw, 24px);
}

/* データ部分は、画面幅1300px以下で全体をそのまま縮小 */
.about__data {
    display: flex;
    flex-wrap: wrap;
    gap: min(1.846vw, 24px);
    margin-top: min(3.692vw, 48px);
}

.about__data-item {
    position: relative;
    background-color: #F5F5F5;
    border-radius: var(--roundS);
}

.about__data-item::before,
.about__data-item::after {
    content: "";
    position: absolute;
    display: block;
    transform: scale(0.9);
}

.about__data-label {
    position: absolute;
    width: fit-content;
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    line-height: 1.4;
}

.about__data-value {
    position: absolute;
    width: fit-content;
    z-index: 1;
    font-weight: var(--weightB);
}

.about__data-value::before {
    content: "";
    display: block;
    position: absolute;
    bottom: 0.8em;
    left: 0;
    width: 100%;
    height: min(2.308vw, 30px);
    z-index: -1;
    background-color: #FDE622;
}

.about__data-value-text {
    position: relative;
    display: inline-block;
    margin-right: min(0.769vw, 1rem);
    font-family: var(--enText);
    font-weight: var(--weightL);
}

.about__data-item--foundation,
.about__data-item--qualification,
.about__data-item--holidays,
.about__data-item--vacation {
    height: min(27.692vw, 360px);
}

.about__data-item--ratio,
.about__data-item--employees {
    height: min(29.231vw, 380px);
}

.about__data-item--promotion {
    height: min(15.385vw, 200px);
}

.about__data-item--foundation,
.about__data-item--vacation,
.about__data-item--ratio,
.about__data-item--promotion {
    color: var(--keyColorB);
}

.about__data-item--qualification,
.about__data-item--holidays,
.about__data-item--employees {
    color: var(--keyColorA);
}

.about__data-item--foundation {
    width: calc((100% - min(1.846vw, 24px)) / 2);
}

.about__data-item--foundation::before {
    top: min(1.846vw, 24px);
    right: min(2.462vw, 32px);
    width: min(14.308vw, 186px);
    height: min(14.308vw, 186px);
    background: url(../img/about-illust01.png ) no-repeat center center / contain;
}

.about__data-label--foundation {
    top: min(2.462vw, 32px);
    left: min(9.231vw, 120px);
    font-size: min(3.846vw, 5rem);
}

.about__data-value--foundation {
    bottom: min(0vw, 0px);
    left: min(6.154vw, 80px);
    font-size: min(3.846vw, 5rem);
}

.about__data-value-text--foundation {
    font-size: min(19.231vw, 25rem);
}

.about__data-item--qualification {
    width: calc((100% - min(1.846vw, 24px)) / 2);
}

.about__data-item--qualification::before {
    bottom: min(2.462vw, 32px);
    right: min(3.692vw, 48px);
    width: min(14.615vw, 190px);
    height: min(15.692vw, 204px);
    background: url(../img/about-illust02.png ) no-repeat center center / contain;
}


.about__data-label--qualification {
    top: min(2.462vw, 32px);
    left: min(4.308vw, 56px);
    font-size: min(3.846vw, 5rem);
}

.about__data-value--qualification {
    bottom: min(0vw, 0px);
    left: min(4.308vw, 56px);
    font-size: min(3.846vw, 5rem);
}

.about__data-value-text--qualification {
    font-size: min(13.077vw, 17rem);
    line-height: 1.3;
}

.about__data-item--holidays {
    width: calc((100% - min(1.846vw, 24px)) / 2);
}

.about__data-item--holidays::before {
    top: min(1.846vw, 24px);
    right: min(3.692vw, 48px);
    width: min(14.462vw, 188px);
    height: min(11.923vw, 155px);
    background: url(../img/about-illust03.png ) no-repeat center center / contain;
}

.about__data-item--holidays::after {
    bottom: min(1.846vw, 24px);
    right: min(2.462vw, 32px);
    width: min(12vw, 156px);
    height: min(13.692vw, 178px);
    background: url(../img/about-illust04.png ) no-repeat center center / contain;
}

.about__data-label--holidays {
    top: min(2.462vw, 32px);
    left: min(4.923vw, 64px);
    font-size: min(3.462vw, 4.5rem);
}

.about__data-value--holidays {
    bottom: min(0vw, 0px);
    left: min(4.923vw, 64px);
    font-size: min(3.462vw, 4.5rem);
}

.about__data-value-text--holidays {
    font-size: min(13.846vw, 18rem);
    line-height: 1.25;
}

.about__data-item--vacation {
    width: calc((100% - min(1.846vw, 24px)) / 2);
}

.about__data-item--vacation::before {
    top: min(1.846vw, 24px);
    right: min(2.462vw, 32px);
    width: min(6.154vw, 80px);
    height: min(7.769vw, 101px);
    background: url(../img/about-illust05.png ) no-repeat center center / contain;
}

.about__data-item--vacation::after {
    content: "";
    position: absolute;
    bottom: min(2.769vw, 36px);
    left: 50%;
    transform: translateX(-50%);
    display: block;
    width: min(0.154vw, 2px);
    height: min(13.846vw, 180px);
    background-color: var(--keyColorB);
}

.about__data-label--vacation {
    top: min(2.462vw, 32px);
    left: min(4.923vw, 64px);
    font-size: min(3.462vw, 4.5rem);
}

.about__data-vacation-subitem--first-year {
    position: absolute;
    bottom: min(0vw, 0px);
    left: min(4.308vw, 56px);
}

.about__data-vacation-subitem--average {
    position: absolute;
    bottom: min(0vw, 0px);
    right: min(4.308vw, 56px);
}

.about__data-label--vacation-subitem {
    position: relative;
    margin-bottom: max(-1.231vw, -16px);
    font-size: min(2.769vw, 3.6rem);
    text-align: center;
}

.about__data-value--vacation-subitem {
    position: relative;
    font-size: min(3.462vw, 4.5rem);
    text-align: center;
}

.about__data-value-text--vacation {
    font-size: min(11.538vw, 15rem);
    line-height: 1.3;
}

.about__data-item--ratio {
    width: 30%;
}

.about__data-item--ratio::before {
    bottom: min(1.846vw, 24px);
    left: 50%;
    transform: translateX(-50%) scale(0.8);
    width: min(14.077vw, 183px);
    height: min(10.538vw, 137px);
    background: url(../img/about-illust06.png ) no-repeat center center / contain;
}

.about__data-label--ratio {
    top: min(2.462vw, 32px);
    left: 50%;
    transform: translateX(-50%);
    width: 100%;
    font-size: min(2.615vw, 3.4rem);
    text-align: center;
}

.about__data-value--ratio {
    top: min(4.923vw, 64px);
    left: 50%;
    transform: translateX(-50%);
    font-size: min(2.462vw, 3.2rem);
}

.about__data-value-text--ratio {
    font-size: min(10.769vw, 14rem);
    letter-spacing: min(0.769vw, 1rem);
    line-height: 1.2;
}

.about__data-item--employees {
    width: calc(70% - min(1.846vw, 24px));
}

.about__data-employees-subitem-full-time {
    position: absolute;
    top: min(2.462vw, 32px);
    left: min(4.923vw, 64px);
    width: 100%;
}

.about__data-label--employees-full-time {
    position: absolute;
    top: min(0vw, 0px);
    left: min(0vw, 0px);
    font-size: min(3.462vw, 4.5rem);
}

.about__data-value--employees-full-time {
    position: absolute;
    top: max(-2.462vw, -32px);
    left: min(12.923vw, 168px);
    font-size: min(3.462vw, 4.5rem);
}

.about__data-value-text--employees-full-time {
    font-size: min(11.538vw, 15rem);
    line-height: 1.3;
}

.about__data-employees-subitem-contract {
    position: absolute;
    top: min(2.462vw, 32px);
    right: min(4.923vw, 64px);
    width: 100%;
}

.about__data-label--employees-contract {
    position: absolute;
    top: min(0vw, 0px);
    right: min(12.923vw, 168px);
    font-size: min(3.462vw, 4.5rem);
}

.about__data-value--employees-contract {
    position: absolute;
    top: max(-2.462vw, -32px);
    right: min(0vw, 0px);
    font-size: min(3.462vw, 4.5rem);
}

.about__data-value-text--employees-contract {
    font-size: min(11.538vw, 15rem);
    line-height: 1.3;
}

.about__data-employees-subitem-part-time {
    position: absolute;
    top: min(16vw, 208px);
    left: min(4.923vw, 64px);
    width: 100%;
}

.about__data-label--employees-part-time {
    position: absolute;
    top: min(0vw, 0px);
    left: min(0vw, 0px);
    font-size: min(3.462vw, 4.5rem);
}

.about__data-value--employees-part-time {
    position: absolute;
    top: max(-2.462vw, -32px);
    left: min(19.077vw, 248px);
    font-size: min(3.462vw, 4.5rem);
}

.about__data-value-text--employees-part-time {
    font-size: min(11.538vw, 15rem);
    line-height: 1.3;
}

.about__data-employees-subitem-fine {
    position: absolute;
    top: min(16vw, 208px);
    right: min(4.923vw, 64px);
    width: 100%;
}

.about__data-employees-subitem-fine::before {
    content: "";
    position: absolute;
    top: max(-1.231vw, -16px);
    right: min(0vw, 0px);
    display: block;
    width: min(7.692vw, 100px);
    height: min(7.308vw, 95px);
    background: url(../img/about-illust07.png ) no-repeat center center / contain;
}


.about__data-label--employees-fine {
    position: absolute;
    top: min(0vw, 0px);
    right: min(1.846vw, 24px);
    font-size: min(2.308vw, 3rem);
}

.about__data-item--promotion {
    width: 100%;
}

.about__data-item--promotion::before {
    position: absolute;
    top: 50%;
    right: min(14.154vw, 184px);
    transform: translateY(-50%) scale(0.8);
    width: min(11.538vw, 150px);
    height: min(14.385vw, 187px);
    background: url(../img/about-illust08.png ) no-repeat center center / contain;
}

.about__data-label--promotion {
    position: absolute;
    top: 50%;
    left: min(11.077vw, 144px);
    transform: translateY(-50%);
    font-size: min(2.615vw, 3.4rem);
}

.about__data-label-text--promotion {
    display: block;
    margin: min(0.615vw, 8px) 0 0 max(-0.615vw, -8px);
    font-size: min(1.538vw, 2rem);
}

.about__data-value--promotion {
    position: absolute;
    top: 50%;
    left: min(46.769vw, 608px);
    transform: translateY(-50%);
    font-size: min(2.615vw, 3.4rem);
}

.about__data-value-text--promotion {
    font-size: min(10.769vw, 14rem);
    line-height: 1.2;
}

.about__subheading {
    margin-top: min(3.692vw, 48px);
    color: #707070;
    font-size: min(2.462vw, 3.2rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
}

.about__welfare {
    display: flex;
    flex-wrap: wrap;
    gap: min(1.538vw, 20px);
    margin-top: min(3.692vw, 48px);
}

.about__welfare-item {
    position: relative;
    width: calc(50% - min(0.769vw, 10px));
    height: min(15.385vw, 200px);
    background-color: #F5F5F5;
    border-radius: var(--roundS);
}

.about__welfare-item--travel,
.about__welfare-item--trip,
.about__welfare-item--qualification {
    color: var(--keyColorA);
}

.about__welfare-item--rent,
.about__welfare-item--family,
.about__welfare-item--health {
    color: var(--keyColorB);
}

.about__welfare-label {
    position: absolute;
    top: min(3.077vw, 40px);
    left: min(3.692vw, 48px);
    width: fit-content;
    font-size: min(2.615vw, 3.4rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
}

.about__welfare-value {
    position: absolute;
    top: min(4.308vw, 56px);
    left: min(0vw, 0px);
    width: 100%;
    font-size: min(2.615vw, 3.4rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    text-align: center;
    z-index: 1;
}

.about__welfare-text {
    position: relative;
    display: inline-block;
    margin: min(0vw, 0px) min(0.769vw, 1rem);
    width: fit-content;
    font-family: var(--enText);
    font-size: min(5.769vw, 7.5rem);
    font-weight: var(--weightL);
    line-height: 2;
    text-align: center;
}

.about__welfare-text::after {
    content: "";
    position: absolute;
    bottom: 0.55em;
    left: min(0vw, 0px);
    width: 100%;
    height: min(1.538vw, 20px);
    z-index: -1;
    background-color: #FDE622;
}

.about__welfare-item::before {
    content: "";
    position: absolute;
    display: block;
    transform: scale(0.8);
}

.about__welfare-item--travel::before {
    top: min(0.615vw, 8px);
    right: min(0.615vw, 8px);
    width: min(8.308vw, 108px);
    height: min(8vw, 104px);
    background: url(../img/about-illust09.png ) no-repeat center center / contain;
}

.about__welfare-item--rent::before {
    bottom: min(1.231vw, 16px);
    right: min(1.231vw, 16px);
    width: min(9.077vw, 118px);
    height: min(6.846vw, 89px);
    background: url(../img/about-illust10.png ) no-repeat center center / contain;
}

.about__welfare-item--family::before {
    top: min(0.615vw, 8px);
    right: min(1.231vw, 16px);
    width: min(9.385vw, 122px);
    height: min(8.462vw, 110px);
    background: url(../img/about-illust11.png ) no-repeat center center / contain;
}

.about__welfare-item--trip::before {
    top: min(1.846vw, 24px);
    right: min(2.462vw, 32px);
    width: min(6.154vw, 80px);
    height: min(5vw, 65px);
    background: url(../img/about-illust12.png ) no-repeat center center / contain;
}

.about__welfare-item--qualification::before {
    top: min(1.231vw, 16px);
    right: min(1.231vw, 16px);
    width: min(10.462vw, 136px);
    height: min(6.692vw, 87px);
    background: url(../img/about-illust13.png ) no-repeat center center / contain;
}

.about__welfare-item--health::before {
    top: min(1.231vw, 16px);
    right: min(1.231vw, 16px);
    width: min(7.692vw, 100px);
    height: min(8.923vw, 116px);
    background: url(../img/about-illust14.png ) no-repeat center center / contain;
}

/* データ部分ここまで */

.about__monokoto {
    margin-top: min(3.78vw, 48px);
    text-align: center;
}

.about__monokoto-img {
    width: min(31.496vw, 400px);
}

.about__bg {
    position: absolute;
    transform: scale(0.8);
    z-index: 1;
}

.about__bg--01 {
    top: min(94.488vw, 1200px);
    left: max(-15.748vw, -200px);
    width: min(31.024vw, 394px);
}

.about__bg--02 {
    bottom: min(6.299vw, 80px);
    right: max(-15.748vw, -200px);
    width: min(31.024vw, 394px);
}

@media (max-width: 575px) {
    .about {
        margin-top: 0px;
    }

    .about__description {
        margin-top: 24px;
    }

    .about__data {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        margin-top: 24px;
    }

    .about__data-item {
        display: flex;
        align-items: center;
        gap: 0 5px;
        padding: 0 6vw;
    }

    .about__data-label {
        position: relative;
        font-size: 2rem;
    }

    .about__data-value {
        position: relative;
        font-size: 2.2rem;
    }

    .about__data-value::before {
        bottom: 0.6em;
        height: 12px;
    }

    .about__data-value-text {
        margin-right: 0.5rem;
        font-size: 8.5rem;
        line-height: 1.1;
    }

    .about__data-item--foundation,
    .about__data-item--qualification,
    .about__data-item--holidays,
    .about__data-item--vacation {
        height: 120px;
    }

    .about__data-item--ratio {
        height: 120px;
    }

    .about__data-item--employees {
        height: auto;
    }

    .about__data-item--promotion {
        height: 120px;
    }

    .about__data-item--foundation {
        width: 100%;
    }

    .about__data-item--foundation::before {
        top: 50%;
        right: 10vw;
        transform: translateY(-50%) scale(1.3);
    }

    .about__data-label--foundation {
        top: auto;
        left: auto;
    }

    .about__data-value--foundation {
        bottom: auto;
        left: auto;
    }

    .about__data-item--qualification {
        width: 100%;
    }

    .about__data-item--qualification::before {
        top: 50%;
        right: 5vw;
        transform: translateY(-50%) scale(1.2);
    }


    .about__data-label--qualification {
        top: auto;
        left: auto;
    }

    .about__data-value--qualification {
        bottom: auto;
        left: auto;
    }

    .about__data-item--holidays {
        width: 100%;
    }

    .about__data-item--holidays::before {
        top: 30%;
        right: 10vw;
        transform: translateY(-50%) scale(1.1);
    }

    .about__data-item--holidays::after {
        top: 70%;
        bottom: auto;
        right: 5vw;
        transform: translateY(-50%) scale(1.1);
    }

    .about__data-label--holidays {
        top: auto;
        left: auto;
    }

    .about__data-value--holidays {
        bottom: auto;
        left: auto;
    }

    .about__data-item--vacation {
        width: 100%;
    }

    .about__data-item--vacation::before {
        top: 30%;
        bottom: auto;
        right: 5vw;
        transform: translateY(-50%) scale(1.2);
    }

    .about__data-item--vacation::after {
        display: none;
    }

    .about__data-label--vacation {
        top: auto;
        left: auto;
    }

    .about__data-vacation-subitem--first-year {
        position: relative;
        top: 5px;
        bottom: auto;
        left: auto;
    }

    .about__data-vacation-subitem--first-year::after {
        content: "";
        position: absolute;
        top: 3px;
        right: -12px;
        display: block;
        width: 2px;
        height: 80px;
        background-color: var(--keyColorB);
    }

    .about__data-vacation-subitem--average {
        position: relative;
        top: 5px;
        bottom: auto;
        right: auto;
        margin-left: 16px;
    }

    .about__data-label--vacation-subitem {
        margin-bottom: -8px;
        font-size: 1.7rem;
    }

    .about__data-value--vacation-subitem {
        position: relative;
        font-size: 2.2rem;
        text-align: center;
    }

    .about__data-value-text--vacation {
        font-size: 6rem;
        line-height: 1.3;
    }

    .about__data-item--ratio {
        width: 100%;
    }

    .about__data-item--ratio::before {
        top: 50%;
        bottom: auto;
        left: auto;
        right: 5vw;
        transform: translateX(0) translateY(-50%) scale(1.3);
    }

    .about__data-label--ratio {
        top: auto;
        left: auto;
        transform: none;
        width: fit-content;
        text-align: left;
    }

    .about__data-value--ratio {
        top: auto;
        left: auto;
        transform: none;
    }

    .about__data-item--employees {
        width: 100%;
        display: flex;
        justify-content: space-between;
        flex-wrap: wrap;
        padding: 8px 6vw;
    }

    .about__data-employees-subitem-full-time {
        position: relative;
        top: auto;
        left: auto;
        display: flex;
        align-items: center;
        gap: 5px;
        width: 60%;
    }

    .about__data-label--employees-full-time {
        position: relative;
        top: auto;
        left: auto;
        font-size: 1.8rem;
    }

    .about__data-value--employees-full-time {
        position: relative;
        top: auto;
        left: auto;
    }

    .about__data-value-text--employees-full-time {
        font-size: 5.5rem;
        line-height: 1.3;
    }

    .about__data-employees-subitem-contract {
        position: relative;
        top: auto;
        right: auto;
        display: flex;
        align-items: center;
        gap: 5px;
        width: calc(40% - 5px);
    }

    .about__data-label--employees-contract {
        position: relative;
        top: auto;
        right: auto;
        font-size: 1.8rem;
    }

    .about__data-value--employees-contract {
        position: relative;
        top: auto;
        right: auto;
    }

    .about__data-value-text--employees-contract {
        font-size: 5.5rem;
        line-height: 1.3;
    }

    .about__data-employees-subitem-part-time {
        position: relative;
        top: auto;
        left: auto;
        display: flex;
        align-items: center;
        gap: 5px;
        margin-top: -12px;
        width: 62%;
    }

    .about__data-label--employees-part-time {
        position: relative;
        top: auto;
        left: auto;
        font-size: 1.8rem;
    }

    .about__data-value--employees-part-time {
        position: relative;
        top: auto;
        left: auto;
    }

    .about__data-value-text--employees-part-time {
        font-size: 6rem;
        line-height: 1.3;
    }

    .about__data-employees-subitem-fine {
        position: relative;
        top: auto;
        right: auto;
        margin-top: -12px;
        width: calc(38% - 5px);
    }

    .about__data-employees-subitem-fine::before {
        top: 0;
        right: 0;
        transform: scale(1.2);
    }

    .about__data-label--employees-fine {
        position: relative;
        top: auto;
        right: auto;
        font-size: 1.3rem;
    }

    .about__data-item--promotion {
        width: 100%;
    }

    .about__data-item--promotion::before {
        position: absolute;
        top: 16px;
        right: 4vw;
        transform: translateY(0) scale(1.1);
    }

    .about__data-label--promotion {
        position: relative;
        top: auto;
        left: auto;
        transform: none;
    }

    .about__data-label-text--promotion {
        margin: 4px 0 0 -4px;
        font-size: 1.2rem;
    }

    .about__data-value--promotion {
        position: absolute;
        top: 8px;
        left: 140px;
        transform: none;
    }

    .about__data-value-text--promotion {
        font-size: 6rem;
        line-height: 1.3;
    }

    .about__subheading {
        margin-top: 32px;
        font-size: 2rem;
    }

    .about__welfare {
        gap: 16px;
        margin-top: 24px;
    }

    .about__welfare-item {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        width: 100%;
        height: 120px;
    }

    .about__welfare-label {
        position: relative;
        top: auto;
        left: auto;
        font-size: 2rem;
    }

    .about__welfare-value {
        position: relative;
        top: auto;
        left: auto;
        font-size: 2rem;
    }

    .about__welfare-text {
        margin: 0 0.5rem;
        font-size: 4rem;
        line-height: 1;
    }

    .about__welfare-text::after {
        bottom: 0em;
        height: 12px;
    }

    .about__welfare-item::before {
        transform: scale(1.6);
        transform-origin: top right;
    }

    .about__welfare-item--travel::before {
        top: 10px;
        right: 3vw;
    }

    .about__welfare-item--rent::before {
        bottom: 10px;
        right: 3vw;
        transform-origin: bottom right;
    }

    .about__welfare-item--family::before {
        top: 10px;
        right: 3vw;
    }

    .about__welfare-item--trip::before {
        top: 10px;
        right: 3vw;
    }

    .about__welfare-item--qualification::before {
        top: 10px;
        right: 3vw;
    }

    .about__welfare-item--health::before {
        top: 10px;
        right: 3vw;
    }

    .about__monokoto {
        margin-top: 32px;
    }

    .about__monokoto-img {
        width: 200px;
    }
}


/* オープンカンパニー
-------------------------------------- */
.open {
    position: relative;
    margin-top: min(5.039vw, 64px);
    padding-bottom: min(9.449vw, 120px);
    width: 100%;
    background: url(../img/open-bg.png) no-repeat center top / min(133.858vw, 1700px) min(244.016vw, 3099px);
}

.open__contents {
    z-index: 2;
}

.open__title {
    padding-top: min(9.449vw, 120px);
    color: #03ABB9;
}

.open__title-img {
    width: min(62.835vw, 798px);
}

.open__subtitle {
    margin-top: min(1.89vw, 24px);
    color: #707070;
    font-size: min(2.362vw, 3rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

.open__recommend {
    margin-top: min(1.89vw, 24px);
    padding: min(3.15vw, 40px);
    background-color: #fff;
    border-radius: var(--roundM);
}

.open__recommend-title {
    margin-bottom: min(1.89vw, 24px);
    padding: min(0.945vw, 12px) 0;
    color: #fff;
    font-family: var(--acText);
    font-size: min(2.52vw, 3.2rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    text-align: center;
    background-color: #64CBD4;
    border-radius: var(--roundS);
}

.open__recommend-list {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

.open__recommend-item {
    position: relative;
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
}

.open__recommend-item:not(:first-child)::before {
    content: "";
    position: absolute;
    top: min(0vw, 0px);
    left: min(0vw, 0px);
    display: block;
    width: min(0.315vw, 4px);
    height: 100%;
    background-color: #64CBD4;
    border-radius: 100vh;
}

.open__recommend-text {
    display: flex;
    align-items: center;
    font-family: var(--acText);
    font-size: min(2.205vw, 2.8rem);
    font-weight: var(--weightM);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

.open__recommend-arrow {
    margin-right: min(1.26vw, 16px);
    width: min(5.039vw, 64px);
    height: min(5.039vw, 64px);
}

.open__recommend-arrow::before {
    width: min(5.039vw, 64px);
    height: min(5.039vw, 64px);
    border: 4px solid #64CBD4;
    border-radius: 100vh;
}

.open__recommend-arrow::after {
    transform: translate(-50%, -50%) scale(1.8);
    transform-origin: center;
    background-color: #64CBD4;
}

.open__recommend-pict {
    margin-top: min(1.89vw, 24px);
    text-align: center;
}

.open__recommend-img--01 {
    width: min(9.843vw, 125px);
}

.open__recommend-img--02 {
    width: min(10.315vw, 131px);
}

.open__recommend-img--03 {
    width: min(12.126vw, 154px);
}

.open__details {
    position: relative;
    margin-top: min(2.52vw, 32px);
}

.open__details-list {
    display: flex;
    flex-wrap: wrap;
    gap: min(1.26vw, 16px) min(2.52vw, 32px);
    margin-top: min(1.89vw, 24px);
    font-size: min(1.417vw, 1.8rem);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

.open__details-term {
    width: min(5.906vw, 7.5rem);
    font-weight: var(--weightR);
    letter-spacing: normal;
    text-align: justify;
    text-align-last: justify;
}

.open__details-description {
    width: calc(100% - min(5.906vw, 7.5rem) - min(2.52vw, 32px));
}

.open__details-photo {
    position: absolute;
    top: min(1.26vw, 16px);
    right: max(-5.039vw, -64px);
    display: flex;
}

.open__details-photo-image {
    width: min(30.866vw, 392px);
    height: 100%;
}

.open__details-photo-image--01 {
    margin: min(13.858vw, 176px) max(-4.409vw, -56px) 0 0;
    z-index: 1;
}

.open__gallery {
    display: flex;
    justify-content: space-between;
    gap: min(1.26vw, 16px);
    margin-top: min(3.15vw, 40px);
}

.open__gallery-image {
    flex: 1;
}

.open__link {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    gap: min(2.52vw, 32px);
    margin-top: min(3.78vw, 48px);
}

.open__link-entry {
    position: relative;
    padding: min(1.89vw, 24px) min(2.362vw, 30px);
    width: min(34.646vw, 440px);
    color: #fff;
    background-color: #DD0001;
    border-radius: var(--roundS)
}

.open__link-entry-text-01 {
    margin-bottom: min(1.26vw, 16px);
    font-family: var(--acText);
    font-size: min(2.992vw, 3.8rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    line-height: 1.3;
}

.open__link-entry-text-02 {
    font-size: min(2.362vw, 3rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    line-height: 1.5;
}

.open__link-arrow {
    position: absolute;
    bottom: min(1.89vw, 24px);
    right: min(1.89vw, 24px);
    width: min(5.039vw, 64px);
    height: min(5.039vw, 64px);
    transition: all 0.3s;
}

.open__link-arrow::before {
    width: min(5.039vw, 64px);
    height: min(5.039vw, 64px);
    background-color: #fff;
    border-radius: 100vh;
}

.open__link-arrow::after {
    transform: translate(-50%, -50%) scale(1.8);
    transform-origin: center;
    background-color: #DD0001;
}

.open__link-instagram {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: min(1.89vw, 24px) min(2.362vw, 30px);
    background-color: #fff;
    border: 2px solid #DD0001;
    border-radius: var(--roundS)
}

.open__link-instagram-text {
    font-size: min(1.732vw, 2.2rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

.open__link-instagram-qr-01 {
    margin-left: min(2.52vw, 32px);
    width: min(11.811vw, 150px);
}

.open__link-instagram-qr-02 {
    margin-left: min(1.26vw, 16px);
    width: min(12.835vw, 163px);
}

.open__video-title {
    margin-top: min(3.15vw, 40px);
    color: #707070;
    font-size: min(1.89vw, 2.4rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
    text-align: center;
}

.open__video {
    display: block;
    margin: min(1.89vw, 24px) auto 0;
    width: min(50.394vw, 640px);
    height: auto;
    aspect-ratio: 16 / 9;
}

.open__bg {
    position: absolute;
    transform: scale(0.8);
    z-index: 1;
}

.open__bg--01 {
    top: min(3.15vw, 40px);
    right: 13vw;
    width: min(23.008vw, 292px);
    z-index: 1;
    mix-blend-mode: multiply;
}

.open__bg--02 {
    top: min(6.299vw, 80px);
    right: min(0vw, 0px);
    width: min(34.803vw, 442px);
    z-index: 0;
}

.open__bg--03 {
    top: min(62.992vw, 800px);
    left: max(-9.449vw, -120px);
    width: min(43.937vw, 558px);
}

.open__bg--04 {
    top: min(56.693vw, 720px);
    right: min(3.15vw, 40px);
    width: min(22.205vw, 282px);
}

.open__bg--05 {
    bottom: min(62.992vw, 800px);
    left: min(0vw, 0px);
    width: min(31.024vw, 394px);
}

@media (hover: hover) and (pointer: fine) {
    .open__link-entry:hover {
        background-color: #f80e0e;
    }

    .open__link-entry:hover .open__link-arrow {
        right: min(1.417vw, 18px);
    }
}

@media (min-width: 1701px) {
    .open {
        background: url(../img/open-bg.png) no-repeat center top 0px / 100% min(182.292vw, 3099px);
    }
}

@media (max-width: 1270px) {
    .open__details-photo {
        transform: scale(0.95);
        transform-origin: center right;
    }
}

@media (max-width: 575px) {
    .open {
        margin-top: 32px;
        padding-bottom: 64px;
        background-image: url(../img/open-bg.png), url(../img/open-bg.png), url(../img/open-bg.png);
        background-repeat: no-repeat;
        background-position: center top, center top 1200px, center top 2400px;
        background-size: 900px auto;
    }

    .open__title {
        padding-top: 80px;
    }

    .open__title-img {
        transform: scale(1.4);
    }

    .open__subtitle {
        margin-top: 24px;
        font-size: 2rem;
    }

    .open__recommend {
        margin-top: 24px;
        padding: 24px;
    }

    .open__recommend-title {
        margin-bottom: 0;
        padding: 12px 0;
        font-size: 2rem;
    }

    .open__recommend-list {
        flex-direction: column;
        gap: 24px;
    }

    .open__recommend-item:not(:first-child)::before {
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 100%;
        height: 2px;
    }

    .open__recommend-text {
        margin-top: 24px;
        font-size: 2rem;
    }

    .open__recommend-arrow {
        margin-right: 16px;
        width: 48px;
        height: 48px;
    }

    .open__recommend-arrow::before {
        width: 48px;
        height: 48px;
        border-width: 3px;
    }

    .open__recommend-arrow::after {
        transform: translate(-50%, -50%) scale(1.5);
    }

    .open__recommend-pict {
        margin-top: 16px;
    }

    .open__recommend-img--01,
    .open__recommend-img--02,
    .open__recommend-img--03 {
        width: 100px;
    }

    .open__details {
        margin-top: 32px;
    }

    .open__details-list {
        gap: 16px 24px;
        margin-top: 24px;
        font-size: 1.6rem;
    }

    .open__details-term {
        width: 7rem;
        text-align: justify;
        text-align-last: justify;
    }

    .open__details-description {
        width: calc(100% - 7.5rem - 24px);
    }

    .open__details-photo {
        position: static;
        margin-top: 24px;
        justify-content: space-between;
        gap: 16px;
        transform: scale(1);
    }

    .open__details-photo-image {
        flex: 1;
        width: auto;
        height: auto;
    }

    .open__details-photo-image--01 {
        margin: 0;
    }

    .open__gallery {
        flex-direction: row;
        flex-wrap: wrap;
        gap: 16px;
        margin-top: 16px;
    }

    .open__gallery-image {
        flex: auto;
        width: calc(50% - 8px);
    }

    .open__link {
        flex-direction: column;
        gap: 24px;
        margin-top: 32px;
    }

    .open__link-entry,
    .open__link-instagram {
        width: 100%;
    }

    .open__link-entry {
        padding: 16px 20px;
    }

    .open__link-entry-text-01 {
        margin-bottom: 16px;
        font-size: 2.4rem;
        line-height: 1.5;
    }

    .open__link-entry-text-02 {
        font-size: 1.6rem;
    }

    .open__link-arrow {
        bottom: 16px;
        right: 16px;
        width: 40px;
        height: 40px;
    }

    .open__link-arrow::before {
        width: 40px;
        height: 40px;
    }

    .open__link-arrow::after {
        transform: translate(-50%, -50%) scale(1.5);
    }

    .open__link-instagram {
        flex-wrap: wrap;
        padding: 16px;
    }

    .open__link-instagram-text {
        margin-bottom: 8px;
        width: 100%;
        font-size: 2rem;
        text-align: center;
    }

    .open__link-instagram-qr-01 {
        margin-left: 0;
        width: 100px;
    }

    .open__link-instagram-qr-02 {
        margin-left: 16px;
        width: 115px;
    }

    .open__video-title {
        margin-top: 24px;
        font-size: 1.7rem;
    }

    .open__video {
        margin: 16px auto 0;
        width: 100%;
    }

    .open__bg {
        transform: scale(1);
        width: 40%;
    }

    .open__bg--01 {
        top: -24px;
        right: -40px;
    }

    .open__bg--02 {
        top: 40px;
        right: -40px;
        width: 50%;
    }

    .open__bg--03 {
        top: 1000px;
        left: -40px;
        width: 50%;
    }

    .open__bg--04 {
        top: 1600px;
        right: -40px;
    }

    .open__bg--05 {
        bottom: 200px;
        left: -40px;
    }
}


/* 募集要項
-------------------------------------- */
/* 画面幅1270px以下は全体をそのまま縮小 */

.recruit {
    position: relative;
    padding-top: min(12.598vw, 160px);
    padding-bottom: min(9.449vw, 120px);
    width: 100%;
    background-color: #EAEAEA;
}

.recruit__contents {
    z-index: 2;
}

.recruit__title {
    color: var(--keyColorA);
}

.recruit__title-img {
    width: min(88.504vw, 1124px);
}

.recruit__tabs {
    display: flex;
    justify-content: center;
    align-items: flex-end;
    gap: min(0.63vw, 8px);
    margin-top: min(3.78vw, 48px);
    border-bottom: 10px solid #7489C1;
}

.recruit__tab-item {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: min(7.874vw, 100px);
    color: #707070;
    font-size: min(1.575vw, 2rem);
    letter-spacing: var(--lsWideA);
    line-height: 1.5;
    text-align: center;
    cursor: pointer;
    background-color: #CCCCCC;
    border-radius: var(--roundS) var(--roundS) 0 0;
    transition: all 0.3s;
}

.recruit__tab-item--active {
    height: min(9.449vw, 120px);
    color: #fff;
    background-color: #7489C1;
    transition: all 0.3s;
}

.recruit__content {
    padding: min(5.039vw, 64px) min(7.559vw, 96px) min(6.299vw, 80px);
    background-color: #fff;
    border-radius: 0 0 var(--roundM) var(--roundM);
}

.recruit__text {
    font-size: min(1.417vw, 1.8rem);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

.recruit__job-posting {
    margin-top: min(2.52vw, 32px);
}

.recruit__job-title {
    margin-top: min(5.039vw, 64px);
    color: #707070;
    font-size: min(1.732vw, 2.2rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
}

.recruit__details {
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: min(0vw, 0px) min(1.26vw, 16px);
    margin-top: min(2.52vw, 32px);
    font-size: min(1.417vw, 1.8rem);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

.recruit__term,
.recruit__description {
    padding: min(1.26vw, 16px) min(0vw, 0px);
}

.recruit__term {
    width: min(12.598vw, 160px);
    color: #7489C1;
    font-weight: var(--weightB);
    border-top: 2px solid #7489C1;
}

.recruit__term:last-of-type {
    border-bottom: 2px solid #7489C1;
}

.recruit__description {
    width: calc(100% - min(12.598vw, 160px) - min(1.26vw, 16px));
    border-top: 1px solid #707070;
}

.recruit__description:last-of-type {
    border-bottom: 1px solid #707070;
}

.recruit__description-item {
    display: flex;
    align-items: flex-start;
    gap: min(0.63vw, 8px);
}

.recruit__description-label {
    position: relative;
    margin-right: 1em;
    width: min(6.299vw, 8rem);
    text-align: justify;
    text-align-last: justify;
}

.recruit__description-label::after {
    content: "：";
    position: absolute;
    top: min(0vw, 0px);
    right: -1em;
}

.recruit__description-value {
    flex: 1;
}

.recruit__bg {
    position: absolute;
    transform: scale(0.8);
    z-index: 1;
}

.recruit__bg--01 {
    top: max(-9.449vw, -120px);
    right: max(-9.449vw, -120px);
    width: min(51.969vw, 660px);
}

.recruit__bg--02 {
    top: min(47.244vw, 600px);
    left: max(-9.449vw, -120px);
    width: min(45.354vw, 576px);
}

.recruit__bg--03 {
    top: min(125.984vw, 1600px);
    right: max(-18.898vw, -240px);
    width: min(45.354vw, 576px);
}

.recruit__bg--04 {
    top: min(236.22vw, 3000px);
    left: max(-9.449vw, -120px);
    width: min(45.354vw, 576px);
}

.recruit__bg--05 {
    bottom: min(6.299vw, 80px);
    right: max(-18.898vw, -240px);
    width: min(45.354vw, 576px);
}

@media (hover: hover) and (pointer: fine) {
    .recruit__tab-item:hover {
        height: min(9.449vw, 120px);
        color: #fff;
        background-color: #7489C1;
    }
}

@media (max-width: 575px) {
    .recruit {
        padding-top: 64px;
        padding-bottom: 64px;
    }

    .recruit__title-img.sp {
        transform: scale(0.9);
    }

    .recruit__tabs {
        flex-direction: column;
        flex-wrap: wrap;
        gap: 1px;
        margin-top: 24px;
        border-bottom: none;
    }

    .recruit__tab-item {
        flex: auto;
        width: 100%;
        height: 48px;
        font-size: 1.5rem;
        border-radius: 0;
    }

    .recruit__tab-item:first-of-type {
        border-radius: var(--roundS) var(--roundS) 0 0;
    }

    .recruit__tab-item--active {
        height: 48px;
    }

    .recruit__content {
        padding: 24px;
    }

    .recruit__text {
        font-size: 1.7rem;
    }

    .recruit__job-title {
        margin-top: 40px;
        font-size: 2rem;
    }

    .recruit__details {
        gap: 0;
        margin-top: 0;
        font-size: 1.7rem;
    }

    .recruit__term,
    .recruit__description {
        width: 100%;
    }

    .recruit__term {
        padding: 24px 0 8px;
        font-size: 1.9rem;
        border-top: 1px solid #707070;
    }

    .recruit__term:first-of-type {
        border-top: none;
    }

    .recruit__term:last-of-type {
        border-bottom: none;
    }

    .recruit__description {
        padding: 0 0 24px;
        border-top: none;
    }

    .recruit__description-item {
        flex-wrap: wrap;
        gap: 0;
    }

    .recruit__description-label {
        margin: 8px 0 0;
        width: 100%;
        font-weight: var(--weightB);
        text-align: initial;
        text-align-last: initial;
    }

    .recruit__description-label::after {
        position: relative;
        right: 0;
    }

    .recruit__bg {
        transform: scale(1);
        width: 50%;
    }

    .recruit__bg--01 {
        top: -24px;
        right: -24px;
    }

    .recruit__bg--02 {
        top: 800px;
        left: -40px;
    }

    .recruit__bg--03 {
        top: 1600px;
        right: -40px;
    }

    .recruit__bg--04 {
        top: 3200px;
        left: -40px;
    }

    .recruit__bg--05 {
        bottom: auto;
        top: 4000px;
        right: -40px;
    }
}


/* エントリー
-------------------------------------- */
/* 画面幅1270px以下は全体をそのまま縮小 */

.entry {
    position: relative;
    padding: min(9.449vw, 120px) 0 min(9.449vw, 120px);
    width: 100%;
}

.entry__title {
    color: var(--keyColorA);
}

.entry__title-img {
    width: min(23.622vw, 300px);
}

.entry__title-text {
    margin-top: min(0vw, 0px);
}

.entry__text {
    margin-top: min(1.89vw, 24px);
    color: #707070;
    font-size: min(1.417vw, 1.8rem);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

.entry__note {
    margin-top: min(1.89vw, 24px);
    color: #EE0000;
    font-size: min(1.417vw, 1.8rem);
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
}

@media (max-width: 575px) {
    .entry {
        padding: 64px 0 64px;
    }

    .entry__title {
        color: var(--keyColorA);
    }

    .entry__title-text {
        margin-top: min(0vw, 0px);
    }

    .entry__text {
        margin-top: 16px;
        font-size: 1.7rem;
    }

    .entry__note {
        margin-top: 16px;
        font-size: 1.7rem;
    }
}

/* お問い合わせフォーム
-------------------------------------- */
/* 画面幅1270px以下は全体をそのまま縮小 */

.entry__table {
    border-collapse: separate;
    border-spacing: 0 min(3.15vw, 40px);
    margin: min(1.26vw, 16px) auto min(1.89vw, 24px);
    width: 100%;
    max-width: min(78.74vw, 1000px);
}

.entry__table span {
    display: inline-block;
    color: #EE0000;
    font-size: min(1.26vw, 1.6rem);
    vertical-align: top;
}

.entry__table th,
.entry__table td {
    vertical-align: middle;
    color: #707070;
    font-size: min(1.575vw, 2rem);
    letter-spacing: var(--lsWideA);
    text-align: left;
}

.entry__table th {
    font-weight: var(--weightB);
    vertical-align: top;
    padding-top: min(1.89vw, 24px);
    width: min(18.268vw, 232px);
}

.entry__submit {
    display: block;
    margin: min(5.039vw, 64px) auto min(0vw, 0px);
    padding: min(1.89vw, 24px) min(0vw, 0px);
    width: min(28.346vw, 360px);
    color: #fff;
    font-size: min(1.89vw, 2.4rem);
    font-weight: var(--weightB);
    letter-spacing: var(--lsWideA);
    text-align: center;
    background-color: var(--keyColorA);
    border-radius: 100vh;
    cursor: pointer;
    transition: background-color 0.3s;
}

textarea,
input[type="text"],
input[type="tel"],
input[type="email"] {
    font-size: min(1.575vw, 2rem);
    padding: min(1.575vw, 20px) min(1.89vw, 24px);
    width: 100%;
    letter-spacing: var(--lsWideA);
    line-height: var(--lineHeightA);
    background-color: #F8FAFC;
    border: 1px solid #C3CED8;
    border-radius: min(1.26vw, 16px);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    transition: all 0.3s;
}

textarea:hover,
input[type="text"]:hover,
input[type="tel"]:hover,
input[type="email"]:hover {
    border: 1px solid var(--keyColorA);
}

textarea:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="email"]:focus {
    outline: none;
    border: solid 1px var(--keyColorA);
    background-color: #f1f7fd;
}

::placeholder {
    color: #B9C3CB;
}

/* ファイルアップロードボタンのスタイリング */
input.file-upload-input {
    display: none;
}

.file-upload-label {
    display: inline-block;
    padding: min(1.89vw, 24px);
    width: min(28.346vw, 360px);
    color: #fff;
    text-align: center;
    background-color: #717D86;
    border-radius: min(1.26vw, 16px);
    cursor: pointer;
    transition: background-color 0.3s;
    font-size: min(1.417vw, 1.8rem);
    font-weight: var(--weightR);
}

.file-name-display {
    display: inline-block;
    margin-left: min(1.89vw, 24px);
}

/* メッセージ */
.error-message {
    margin-top: min(1.26vw, 16px);
    color: #EE0000;
    font-size: min(1.260vw, 1.6rem);
    display: none;
}

.entry__table .error-message:not(:empty) {
    display: block;
}

.form-result-message {
    margin-top: 24px;
    color: var(--keyColorA);
    font-size: 1.8rem;
    font-weight: var(--weightB);
    line-height: var(--lineHeightA);
    letter-spacing: var(--lsWideA);
    text-align: center;
}

@media (hover: hover) and (pointer: fine) {
    .file-upload-label:hover {
        background-color: var(--keyColorA);
    }

    .entry__submit:hover {
        background-color: var(--keyColorB);
    }
}

@media (max-width: 575px) {
    .entry__table {
        border-spacing: 0 24px;
        margin: 0 auto 24px;
        max-width: 100%;
    }

    .entry__table th,
    .entry__table td {
        display: block;
        font-size: 1.7rem;
    }

    .entry__table th {
        margin-bottom: 16px;
        padding-top: 8px;
        width: 100%;
    }

    .entry__table span {
        font-size: 1.5rem;
    }

    .entry__submit {
        margin: 32px auto 0;
        padding: 20px 0;
        width: 240px;
        font-size: 2rem;
    }

    textarea,
    input[type="text"],
    input[type="tel"],
    input[type="email"] {
        font-size: 1.7rem;
        padding: 16px 22px;
        border-radius: 8px;
    }

    .file-upload-label {
        display: block;
        margin: auto;
        padding: 16px;
        width: 240px;
        border-radius: 8px;
        font-size: 1.7rem;
    }

    .file-name-display {
        display: block;
        margin: 16px 0 0 0;
        text-align: center;
    }

    .error-message {
        margin-top: 8px;
        font-size: 1.6rem;
    }

    .form-result-message {
        font-size: 1.7rem;
    }
}