@charset "UTF-8";

/* ============================
*  Common
* ========================== */
html {
    font-size: 100%;
    font-feature-settings: "palt";
}

body {
    font-family: "Zen Kaku Gothic New", "Playwrite DE Grund", sans-serif;
    font-weight: 400;
    font-style: normal;
    display: flex;
    flex-direction: column;
    align-items: center;
}

a {
    text-decoration: none;
}

img {
    max-width: 100%;
}

li {
    list-style: none;
}

:root {
    /* Colors: */
    --unnamed-color-0000ff: #0000ff;
    --unnamed-color-66ccff: #66ccff;
    --unnamed-color-00a0e9: #00a0e9;
    --unnamed-color-0070b3: #0070b3;
    --unnamed-color-095988: #095988;
    --unnamed-color-dedede: #dedede;
    ---ff00f5_memo: #ff00f5;
    ---53cde3_career: #53cde3;
    ---e1f252_contact: #e1f252;
    --unnamed-color-fd95e2: #fd95e2;
    --unnamed-color-f4d4ec: #f4d4ec;
    --unnamed-color-fdf5fb: #fdf5fb;
    --unnamed-color-a082d8: #a082d8;
    --unnamed-color-e0d3f5: #e0d3f5;
    --unnamed-color-f6f2fc: #f6f2fc;
    --unnamed-color-58ba66: #58ba66;
    --unnamed-color-cfebd1: #cfebd1;
    --unnamed-color-eaf5eb: #eaf5eb;
    --unnamed-color-f08686: #f08686;
    --unnamed-color-f7d2d2: #f7d2d2;
    --unnamed-color-fceded: #fceded;
    --unnamed-color-c4ab22: #c4ab22;
    --unnamed-color-e8e3c3: #e8e3c3;
    --unnamed-color-f4f2e4: #f4f2e4;
    --unnamed-color-5f7dd3: #5f7dd3;
    --unnamed-color-edf1fc: #edf1fc;
    --unnamed-color-f7a068: #f7a068;
    --unnamed-color-fff5ef: #fff5ef;
    --unnamed-color-e7f0f5: #e7f0f5;
    --unnamed-color-9b8e75: #9b8e75;
    --unnamed-color-f2efe9: #f2efe9;
    --unnamed-color-f4f4f4: #f4f4f4;
    --unnamed-color-f0f8fa: #f0f8fa;
    ---e9f5f8★: #e9f5f8;
    --unnamed-color-ceebf2: #ceebf2;
    --unnamed-color-def2f7: #def2f7;
    --unnamed-color-d3e4e8: #d3e4e8;
    --unnamed-color-ffffff00: #ffffff00;

    /* Font/text values */
    --unnamed-font-family-zen-kaku-gothic-new: Zen Kaku Gothic New;
    --unnamed-font-style-normal: normal;
    --unnamed-font-weight-normal: normal;
    --unnamed-font-weight-medium: medium;
    --unnamed-font-size-16: 16px;
    --unnamed-font-size-20: 20px;
    --unnamed-font-size-24: 24px;
    --unnamed-character-spacing-0: 0px;
    --unnamed-character-spacing-1-2: 1.2px;
    --unnamed-line-spacing-28: 28px;
    --unnamed-line-spacing-36: 36px;
    --unnamed-line-spacing-40: 40px;
}

/* Character Styles */
.h3 {
    font-family: var(--unnamed-font-family-zen-kaku-gothic-new);
    font-style: var(--unnamed-font-style-normal);
    font-weight: var(--unnamed-font-weight-normal);
    font-size: var(--unnamed-font-size-24);
    line-height: var(--unnamed-line-spacing-40);
    letter-spacing: var(--unnamed-character-spacing-1-2);
    color: var(--unnamed-color-0070b3);
}
.h4 {
    font-family: var(--unnamed-font-family-zen-kaku-gothic-new);
    font-style: var(--unnamed-font-style-normal);
    font-weight: var(--unnamed-font-weight-medium);
    font-size: var(--unnamed-font-size-20);
    line-height: var(--unnamed-line-spacing-36);
    letter-spacing: var(--unnamed-character-spacing-0);
    color: var(--unnamed-color-0070b3);
}
.p {
    font-family: var(--unnamed-font-family-zen-kaku-gothic-new);
    font-style: var(--unnamed-font-style-normal);
    font-weight: var(--unnamed-font-weight-normal);
    font-size: var(--unnamed-font-size-16);
    line-height: var(--unnamed-line-spacing-28);
    letter-spacing: var(--unnamed-character-spacing-0);
    color: var(--unnamed-color-0070b3);
}

.wraper {
    margin: 0 auto;
    width: 1336px;
}

main {
    font-family: "Playwrite DE Grund", "Zen Kaku Gothic New", sans-serif;
}

/*-------------------------
  Utility
-------------------------*/
.pc-only {
    display: block;
}
@media screen and (max-width: 768px) {
    .pc-only {
        display: none;
    }
}

.sp-only {
    display: none;
}
@media screen and (max-width: 768px) {
    .sp-only {
        display: block;
    }
}

/* ============================
*  FC加盟/採用情報
*  main-bottom-vcarea
* ========================== */
/************* ボタン *************/
.main-bottom-vcarea-left-bottom-button {
    display: inline-block;
    width: 220px;
    height: 60px;
    padding: 18px 70px;
    background: var(---e9f5f8★) 0% 0% no-repeat padding-box;
    background: #e9f5f8 0% 0% no-repeat padding-box; /* ボタンの背景色 */
    color: white; /* テキストの色 */
    border-radius: 50px; /* 角丸の半径 */
    text-align: center;
    text-decoration: none; /* 下線を削除 */
    cursor: pointer; /* マウスカーソルをポインタに */
    font-size: 16px;
    border: none;
}

.main-bottom-vcarea-left-bottom-button-link {
    color: var(--unnamed-color-0070b3);
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
}

/* もっとみる矢印 */
.main-bottom-vcarea-left-bottom-button-arrow {
    position: relative;
    display: inline-block;
    top: -6px;
    width: 38px;
    height: 1px;
    margin-left: 128px;
    margin-bottom: 24px;
    border-radius: 50px;
    background-color: #66ccff;
}

.main-bottom-vcarea-left-bottom-button-arrow::before {
    content: "";
    position: absolute;
    top: calc(50% - 0.5px);
    right: 0;
    width: 10px;
    height: 1px;
    border-radius: 50px;
    background-color: #66ccff;
    transform: rotate(45deg);
    transform-origin: calc(100% - 0.5px) 50%;
}

.main-bottom-vcarea-left-bottom-button-arrow::after {
    content: "";
    position: absolute;
    top: 50%; /* 垂直方向の中央に配置 */
    left: -2px; /* 矢印の根本の位置を調整 */
    width: 8px; /* 丸のサイズ */
    height: 8px; /* 丸のサイズ */
    background-color: #66ccff; /* 矢印と同じ色 */
    border-radius: 50%; /* 楕円形を円形にする */
    transform: translateY(-50%); /* 垂直方向の中央揃えを微調整 */
}

/* 今すぐ応募丸の中に矢印 */
.main-bottom-vcarea-right-bottom-button-area-button-2-icon2 {
    display: flex; /* Flexboxを使用して内部の矢印を中央に配置 */
    justify-content: center;
    align-items: center;
    width: 24px; /* 丸のサイズ */
    height: 24px;
    background-color: #e9f5f8; /* 丸の色 */
    border-radius: 50%; /* 丸にする */
    position: relative;
}

/* 擬似要素を使って矢印の棒部分を作成 */
.main-bottom-vcarea-right-bottom-button-area-button-2-icon2::before {
    content: "";
    position: absolute;
    width: 9px;
    height: 1px;
    background-color: #53cde3; /* 矢印の色 */
    /* 中心に配置するためのtransform */
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
}

/* 擬似要素を使って矢印の先端部分を作成 */
.main-bottom-vcarea-right-bottom-button-area-button-2-icon2::after {
    content: "";
    position: absolute;
    width: 5px;
    height: 1px;
    background-color: #53cde3; /* 矢印の色 */
    transform: rotate(45deg);
    transform-origin: 100% 50%;
    top: calc(50% - 1px); /* 矢印のバランスを調整 */
    left: calc(50% + 0.5px);
}

.main-bottom-vcarea-right-bottom-button-area {
    display: flex;
    justify-content: center;
    gap: 20px;
}

.main-bottom-vcarea-right-bottom-button-area-button-1,
.main-bottom-vcarea-right-bottom-button-area-button-2 {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 250px;
    height: auto;
    padding: 16.21px 17.79px;
    box-shadow: 0px 0px 10px #0070b326;
    color: #ffffff; /* テキストの色 */
    border-radius: 50px; /* 角丸の半径 */
    text-align: center;
    text-decoration: none; /* 下線を削除 */
    cursor: pointer; /* マウスカーソルをポインタに */
    font-size: 18px;
    border: none;
}

.main-bottom-vcarea-right-bottom-button-area-button-1 {
    background: var(---53cde3_career) 0% 0% no-repeat padding-box;
    background: #53cde3 0% 0% no-repeat padding-box;
}

.main-bottom-vcarea-right-bottom-button-area-button-1-link {
    color: #ffffff;
}

.main-bottom-vcarea-right-bottom-button-area-button-2 {
    border: 2px solid var(---53cde3_career);
    background: #ffffff 0% 0% no-repeat padding-box;
    box-shadow: 0px 0px 10px #0070b326;
    border: 2px solid #53cde3;
}

.main-bottom-vcarea-right-bottom-button-area-button-2-link {
    color: var(---53cde3_career);
    margin-left: 50px;
}

.main-bottom-vcarea-right-bottom-button-area-button-2 {
    display: flex;
    justify-content: space-between;
}

/* *********** body ******************/

.wrapper {
    max-width: 1200px;
    width: 100%;
}

/* ============================
*  FV
* ========================== */
.fv {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: 1fr;
    justify-items: center;
}

@media screen and (max-width: 600px) {
    .fv {
        grid-template-columns: 1fr;
        grid-template-rows: 1fr;
        /* grid-gap: 32px 3.125vw; */
    }
}

.fv-area__catchcopy {
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    margin-top: -45px;
    z-index: 2;
}

@media screen and (max-width: 600px) {
    .fv-area__catchcopy {
        grid-column: 1;
        grid-row: 1;
        align-self: center;
        margin-top: -135px;
        z-index: 2;
    }
}

.fv__mainvisual {
    grid-column: 1;
    grid-row: 1;
    z-index: 1;
}

@media screen and (max-width: 600px) {
    .fv__mainvisual {
        grid-column: 1;
        grid-row: 1;
        z-index: 1;
    }
}

/* ============================
*  B型利用者作成分
* ========================== */

.main-bottom-vcarea {
    position: relative;
    display: flex;
    justify-content: space-around;
    text-align: center;
    height: fit-content;
}

.main-bottom-vcarea-left,
.main-bottom-vcarea-right {
    width: 50%;
    height: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.main-bottom-vcarea-left {
    background-image: url("../img/bg_main-bottom-vcarea-left-bottom-img.png");
    padding: 40px 0;
}

.main-bottom-vcarea-right {
    width: 50%;
    height: auto;
    background-image: url("../img/bg_main-bottom-vcarea-right.png");
    padding: 40px 0;
}

.main-bottom-vcarea-right-bottom-img-sp {
    display: none; /* 画像を非表示にする */
}

.main-bottom-vcarea-left-bottom-img {
    width: 100%;
}

.main-bottom-vcarea-left-top,
.main-bottom-vcarea-right-top {
    position: relative;
    display: flex; /* 追加: Flexboxを有効にする */
    flex-direction: column;
    justify-content: center; /* 追加: 水平方向の中央揃え */
    align-items: center; /* 追加: 垂直方向の中央揃え */
    width: 180px;
    height: 180px;
    border-radius: 50%;
    background-color: #ffffff;
    z-index: 10;
}

.main-bottom-vcarea-left-top-title-ja,
.main-bottom-vcarea-right-top-title-ja {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 30px;
    color: var(--unnamed-color-0070b3);
    margin-bottom: 16px;
}

.main-bottom-vcarea-left-top-title-en,
.main-bottom-vcarea-right-top-title-en {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 16px;
    color: var(--unnamed-color-0070b3);
    margin-bottom: 40px;
}

.main-bottom-vcarea-left-bottom,
.main-bottom-vcarea-right-bottom {
    position: absolute;
    z-index: 30;
    top: 20%;
}

.main-bottom-vcarea-left-bottom-text,
.main-bottom-vcarea-right-bottom-text {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 22px;
    line-height: 1.5;
    color: var(--unnamed-color-0070b3);
    margin: 30px 0 20px 0;
}

.main-bottom-vcarea-left-bottom-text {
    color: var(--unnamed-color-00a0e9);
}

.main-bottom-vcarea-right-bottom-button-area-button-1-icon1 {
    width: 20%;
    padding-right: 2%;
}

.main-bottom-vcarea-right-bottom-img,
.main-bottom-vcarea-left-bottom-img {
    max-width: 100%;
}

@media screen and (max-width: 768px) {
    /************* 共通 *************/

    .wraper {
        max-width: 768px;
        margin: 0 auto;
    }

    /************* ボタン *************/

    /* 親要素をFlexコンテナにする */
    .main-bottom-vcarea-left-bottom-button {
        display: flex; /* Flexboxを有効化 */
        align-items: center; /* 垂直方向の中央揃え */
        justify-content: center; /* 水平方向の中央揃え（任意） */
    }

    /* リンクと矢印の間の間隔を調整 */
    .main-bottom-vcarea-left-bottom-button-link {
        /* 既存のスタイルを維持しつつ、必要に応じてマージンを調整 */
        margin-right: 10px; /* 矢印との間に適切な余白を追加 */
    }

    /* 矢印のスタイルを修正 */
    .main-bottom-vcarea-left-bottom-button-arrow {
        position: relative;
        display: block; /* Flexアイテムとして動作させる */
        top: 0; /* 不要な'top'プロパティを削除 */
        width: 38px; /* 矢印の横棒の長さを固定 */
        height: 1px;
        /* 不要な固定マージンを削除 */
        margin: 0;
        border-radius: 50px;
        background-color: #66ccff;
    }

    /* 矢印の先端のスタイルはそのまま */
    .main-bottom-vcarea-left-bottom-button-arrow::before {
        content: "";
        position: absolute;
        top: calc(50% - 0.5px);
        right: 0;
        width: 10px;
        height: 1px;
        border-radius: 50px;
        background-color: #66ccff;
        transform: rotate(45deg);
        transform-origin: calc(100% - 0.5px) 50%;
    }

    /* 矢印の根本の丸のスタイルはそのまま */
    .main-bottom-vcarea-left-bottom-button-arrow::after {
        content: "";
        position: absolute;
        top: 50%;
        left: -2px;
        width: 8px;
        height: 8px;
        background-color: #66ccff;
        border-radius: 50%;
        transform: translateY(-50%);
    }

    /************* body *************/

    .main-bottom-vcarea-left {
        background-image: url("../img/bg_main-bottom-vcarea-left.png");
        padding: 40px 0;
    }

    .main-bottom-vcarea-right {
        width: 50%;
        height: auto;
        background-image: url("../img/bg_main-bottom-vcarea-right.png");
        padding: 40px 0;
    }

    .main-bottom-vcarea {
        flex-direction: column;
        align-items: center;
        text-align: center;
    }

    .main-bottom-vcarea-left,
    .main-bottom-vcarea-right {
        width: 100%;
        margin: 20px 0;
    }

    .main-bottom-vcarea-left-top,
    .main-bottom-vcarea-right-top {
        width: 150px;
        height: 150px;
    }

    .main-bottom-vcarea-left-top-title-ja,
    .main-bottom-vcarea-right-top-title-ja {
        font-size: 24px;
    }

    .main-bottom-vcarea-left-top-title-en,
    .main-bottom-vcarea-right-top-title-en {
        font-size: 14px;
    }

    .main-bottom-vcarea-left-bottom,
    .main-bottom-vcarea-right-bottom {
        position: static;
        z-index: 30;
        margin-top: -36px;
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0 15px;
    }

    .main-bottom-vcarea-left-bottom-text,
    .main-bottom-vcarea-right-bottom-text {
        font-size: 18px;
    }

    .main-bottom-vcarea-right-bottom-img {
        display: none; /* 画像を非表示にする */
    }

    .main-bottom-vcarea-right-bottom-img-sp {
        display: block; /* スマホ用画像を表示する */
        width: 100%; /* 必要に応じてサイズを調整 */
        margin: 0 auto; /* 中央に配置 */
    }

    .main-bottom-vcarea-left-bottom-img {
        width: 45%;
    }

    .main-bottom-vcarea-right-bottom-button-area-button-1-icon1 {
        width: 13%;
    }

    .main-bottom-vcarea-right-bottom-img,
    .main-bottom-vcarea-left-bottom-img,
    .main-bottom-vcarea-right-bottom-img-sp {
        border-radius: 22px;
    }

    .main-bottom-vcarea-left-bottom,
    .main-bottom-vcarea-right-bottom {
        position: static;
        z-index: 30;
        margin-top: -36px;
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .main-bottom-vcarea-left-bottom-button,
    .main-bottom-vcarea-right-bottom-button-area {
        display: flex;
        gap: 10px;
        flex-direction: column;
        align-items: center;
        flex-direction: column;
        gap: 10px;
    }

    .main-bottom-vcarea-left-bottom-button {
        width: 33%;
        padding: 2% 0;
        font-size: 14px;
        margin: 0 0 20px;
    }

    .main-bottom-vcarea-right-bottom-button-area-button-1,
    .main-bottom-vcarea-right-bottom-button-area-button-2 {
        width: 250px;
        height: 60px;
        padding: 12px 0;
        font-size: 14px;
    }

    .main-bottom-vcarea-left-bottom-button-arrow {
        margin-left: 249px;
        margin-top: -19px;
    }

    .main-bottom-vcarea-right-bottom-button-area-button-2-link {
        margin-left: 58px;
    }

    .main-bottom-vcarea-right-bottom-button-area-button-2 {
        display: flex;
        justify-content: space-around;
    }
}

@media screen and (max-width: 425px) {
    .main-bottom-vcarea-left-bottom-img {
        width: 96%;
    }

    .main-bottom-vcarea-left-bottom-button {
        width: 200px;
        height: 60px;
    }

    .main-bottom-vcarea-left-bottom-button-arrow {
        margin-left: 199px;
    }
}

/* ============================
*  相談
*  main-bottom-askarea
* ========================== */
/* *********** btn *******************/

.main-bottom-askarea-philosophy-box-button {
    background-color: #0070b3;
    border-radius: 30px;
    background-color: #0070b3;
    border-radius: 30px;
    padding: 16.21px 60.89px 19.29px;
    box-shadow: 0px 0px 10px #0070b326;
    color: #ffffff;
}

.main-bottom-askarea-philosophy-box-button-link {
    color: #ffff;
}

/* ************** body *******************/

.main-bottom-askarea {
    position: relative;
    height: 340px;
    margin: 20px 0 0;
    background-image: linear-gradient(
        90deg,
        rgba(225, 242, 82, 0),
        rgba(225, 242, 82, 0.92) 5%,
        rgba(225, 242, 82, 1),
        rgba(225, 242, 82, 1),
        rgba(225, 242, 82, 0.92) 95%,
        rgba(225, 242, 82, 0)
    );
    overflow: visible;
}

.main-bottom-askarea-title {
    width: 200px;
    height: 200px;
    border-radius: 50%;
    background-color: var(--unnamed-color-00a0e9);
    background: rgba(0, 160, 233, 0.9) 0% 0% no-repeat padding-box;
    color: #ffffff;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: absolute;
    top: -20px;
    left: 308px;
    z-index: 2;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
}

.main-bottom-askarea-title-ja {
    font-size: 30px;
}

.main-bottom-askarea-title-en {
    font-size: 16px;
}

.main-bottom-askarea-philosophy {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-40%, -50%);
    z-index: 1;
    width: auto;
}

.main-bottom-askarea-philosophy-box {
    width: 400px;
    height: auto;
    padding: 40px 0;
    border-radius: 0 20px 20px 0;
    background-color: #ffff;
    font-size: 16px;
    color: #0070b3;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
}

.main-bottom-askarea-philosophy-box-text {
    letter-spacing: 0.035em;
    line-height: 1.9;
    padding: 0 20px 20px;
}

.main-bottom-askarea-philosophy-box-text-Medium {
    font-weight: 600;
}

.main-bottom-askarea-philosophy-img {
    width: 50%;
    height: 240px;
    border-radius: 20px 0 0 20px;
}

.main-bottom-askarea-philosophy-box-button-icon {
    width: 14%;
    margin-right: 4%;
}

.main-bottom-askarea-philosophy-box-button {
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .wraper {
        /* margin: 0 15px; */
    }

    .main-bottom-askarea {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 100%;
        height: auto;
        margin-top: -20px;
        box-sizing: border-box;
        background: var(---e1f252_contact) 0% 0% no-repeat padding-box;
    }

    .main-bottom-askarea-title {
        width: 170px;
        height: 170px;
        margin: 0 auto 16px auto;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        position: static;
        transform: none;
        box-sizing: border-box;
        z-index: 10;
    }

    .main-bottom-askarea-title-ja {
        font-size: 24px;
    }

    .main-bottom-askarea-title-en {
        padding-top: 8px;
        font-size: 12px;
    }

    .main-bottom-askarea-philosophy {
        flex-direction: column;
        position: static;
        transform: none;
        width: 100%;
        padding: 0 20px 20px;
        margin-top: -37px;
        z-index: 20;
    }

    .main-bottom-askarea-philosophy-box {
        width: 100%;
        border-radius: 0 0 20px 20px;
        margin-top: -40px;
    }

    .main-bottom-askarea-philosophy-box-text {
        text-align: center;
    }

    .main-bottom-askarea-philosophy-img {
        width: 100%;
        height: 100%;
        border-radius: 20px 20px 0 0;
        margin-bottom: -40px;
    }

    .main-bottom-askarea-philosophy-box-button-icon {
        width: 20%;
        margin-right: 4%;
    }
}

@media screen and (max-width: 375px) {
    .main-bottom-askarea-philosophy-box-button-icon {
        width: 15%;
        margin-right: 4%;
    }

    .main-bottom-askarea-philosophy-img {
        margin-bottom: 40px;
    }

    .main-bottom-askarea-philosophy-box {
        padding: 15px 0 30px;
    }

    .main-bottom-askarea-philosophy-box-text {
        font-size: 14px;
        line-height: 1.5em;
        padding: 0 10px 10px;
    }

    .main-bottom-askarea-title {
        margin: 0 auto 7px auto;
    }

    .main-bottom-askarea-title-ja {
        font-size: 24px;
    }

    .main-bottom-askarea-title-en {
        font-size: 12px;
    }

    .main-bottom-askarea-philosophy-box-button {
        padding: 17px 32px;
        font-size: 14px;
    }

    .main-bottom-askarea-philosophy-box-button {
        padding: 16.21px 38.89px 19.29px;
    }
}

/* ============================
*
*
*
*  これより以下、梅崎作成
*
*
*
* ========================== */
.main {
    background: url(../img/header__inner--default_sp.svg) 50% 0 no-repeat;
    max-width: 100%;
    width: 100%;
    background-size: contain;
}

@media screen and (min-width: 768px) {
    .main {
        background: url(../img/header__inner--default.svg) 50% 0 no-repeat;
    }
}

.page__heading {
    padding-top: 31px;
    padding-bottom: 42px;
}

@media screen and (min-width: 768px) {
    .page__heading {
        padding-top: 120px;
        margin-bottom: 100px;
    }
}

.c-page__title {
    margin: 0 auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.c-page__title--ja,
.c-page__title--en {
    display: block;
    width: fit-content;
    padding: 5px 35px;
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0) 0%,
        rgba(255, 255, 255, 1) 30%,
        rgba(255, 255, 255, 1) 70%,
        rgba(255, 255, 255, 0) 100%
    );
    color: var(--unnamed-color-0070b3);
    font-size: 30px;
    line-height: 1.33;
    letter-spacing: 0.25em;
}

.c-page__title--en {
    padding: 3px 30px;
    font-size: 16px;
    line-height: 1.75;
    letter-spacing: 0;
}
/* ============================
*  404
* ========================== */
.not-fonund__image {
    text-align: center;
    margin-bottom: 40px;
}

.wrap-404 {
    width: calc(100% - 15px);
    margin-inline: auto;
    padding-inline: 15px;
    font-size: 14px;
}

@media screen and (min-width: 768px) {
    .wrap-404 {
        max-width: 100%;
        width: 100%;
        font-size: 16px;
        line-height: 1.5;
    }
}

.not-fonund__desc {
    line-height: 1.75;
    color: #0070b3;
    text-align: center;
    margin-bottom: 40px;
}

.link-button {
    display: block;
    width: fit-content;
    padding: 0.81em 3.75em;
    line-height: 1.5;
    border-radius: 30px;
    margin-inline: auto;
    position: relative;
    color: #0070b3;
}
.link-button-filled-color {
    background-color: #e9f5f8;
}
.link-button::before {
    content: "";
    display: inline-block;
    background: url(../img/arrow_to-detail-long-left.svg) no-repeat center;
    width: 2.5em;
    height: 0.688em;
    background-size: contain;
    position: absolute;
    top: calc(50% - 0.172em);
    left: -1.03em;
    transform: translateY(-50%);
}

/* ============================
*  PP
* ========================== */

.pp-block {
    margin-bottom: 40px;
    width: calc(100% - 50px);
    margin-inline: auto;
    font-size: 13px;
    line-height: 1.5;
}

@media screen and (min-width: 768px) {
    .pp-block {
        width: calc(100% - 100px);
        font-size: 15px;
        line-height: 1.5;
    }
}

.mb0 {
    margin-bottom: 0;
}

.privacy-policy__content {
    padding-block: 50px;
    box-shadow: 0 0 5px rgba(0, 112, 179, 0.15);
    width: calc(100% - 15px);
    margin-inline: auto;
    margin-bottom: 80px;
    border-radius: 3px;
}

@media screen and (min-width: 768px) {
    .privacy-policy__content {
        max-width: 1100px;
        width: 100%;
        font-size: 15px;
        line-height: 1.5;
    }
}

.privacy-policy-page {
    color: #0070b3;
}

.page__desc {
    font-size: 15px;
    text-align: center;
    width: calc(100% - 15px);
    line-height: 1.5;
    padding-top: 60px;
    margin-bottom: 80px;
    margin-inline: auto;
}

@media screen and (min-width: 768px) {
    .wrap-404 {
        max-width: 100%;
        width: 100%;
        font-size: 16px;
        line-height: 1.5;
    }
}

.privacy-policy__heading {
    font-weight: 500;
    margin-bottom: 16px;
}

@media screen and (min-width: 768px) {
    .privacy-policy__heading {
        font-weight: 500;
        font-size: 16px;
        margin-bottom: 16px;
    }
}

.privacy-policy__list {
    margin-top: 19.5px;
}

.privacy-policy__list-item {
    display: list-item;
    list-style-type: disc;
    list-style-position: inside;
}

.privacy-policy__list li::marker {
    color: #0070b3;
    font-size: 50%;
    font-weight: bold;
    line-height: 1;
}

/* ============================
*
*
*
*  これより以下、水田作成
*
*
*
* ========================== */

/* ============================
*  FV
* ========================== */
.career-page {
    background: #f0f8fa;
    padding-top: 55px;
}
.career__fv {
    background-color: #f0f8fa;
    background-image: url(../img/career-fv-bg_sp.png);
    background-size: contain;
    background-position: bottom;
    background-repeat: no-repeat;
    display: flex;
    justify-content: center;
    flex-direction: column;
}
.career__fv--image img {
    width: 100%;
}
.img-cover {
    object-fit: cover;
}
.career__fv--txtbox {
    color: #0070b3;
    position: relative;
}
.career__title {
    font-size: 28px;
    width: 238px;
    height: 60px;
    background: linear-gradient(
        to right,
        #fff 0%,
        #fff 17.44%,
        #fff 82.56%,
        rgba(255, 255, 255, 0) 100%
    );
    opacity: 1;
    display: flex;
    align-items: center;
    padding: 10px;
    position: absolute;
    top: -44px;
    left: 0;
}
.career__title--en {
    font-size: 16px;
    padding-left: 11px;
}
.career__fv-catchcopy {
    display: inline-block;
    color: #00a0e9;
    font-size: 24px;
    font-weight: 600;
    line-height: 1.583;
    padding: 0 15px;
    padding-top: 30px;
    word-break: auto-phrase;
}
.career__fv-desc {
    display: inline-block;
    line-height: 1.75;
    padding-top: 15px;
    padding-bottom: 60px;
    margin: 0 15px;
    word-break: auto-phrase;
}
/* merits */
.career__merits {
    background-color: #f0f8fa;
    color: #0070b3;
    padding-top: 12px;
    padding-bottom: 60px;
}
.l-inner {
    margin: 0 15px;
    padding-inline: 0;
}
.border-box {
    /* height: 1680px; */
    border-radius: 10px;
    background: #fff;
}
.c-section-title {
    display: flex;
    justify-content: center;
    flex-direction: column;
    text-align: center;
    padding-top: 52px;
    overflow-x: initial;
}
.c-section-title--ja {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 28px;
    background: none;
    width: auto;
    padding: 0;
}
.l-inner .c-section-title--ja {
    margin-left: 0;
}
.c-section-title--en {
    font-family: Playwrite DE Grund;
    font-size: 12px;
    font-weight: lighter;
    padding-top: 6px;
    margin-block: 0;
}
.career__merits-content {
    margin-top: 10px;
}
.career__merits-item {
    position: relative;
}
.career__merits-item-icon {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    background-color: #53cde3;
    width: 70px;
    height: 70px;
    border-radius: 50%;
    position: absolute;
    top: -10px;
    left: 5px;
}
.career__merits-item-label {
    color: #fff;
    font-weight: bold;
    margin-bottom: -4px;
}
.career__merits-item-number {
    color: #fff;
    font-size: 36px;
    font-weight: bold;
    margin-top: -4px;
}
.career__merits-item-text {
    padding-top: 10px;
}
.career__merits-item-title {
    color: #53cde3;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    line-height: 1.5;
    margin-bottom: 10px;
}
.career__merits-item-desc {
    font-family: "Zen Kaku Gothic New", sans-serif;
    padding: 0 15px;
    line-height: 1.5;
    padding-bottom: 30px;
}
/* requirements */
.career__requirements {
    color: #0070b3;
    background-color: #cff0f8;
    padding-bottom: 80px;
    overflow-x: hidden;
}
.margin-0px {
    margin: 0;
}
.bg-white {
    width: 100%;
    height: 45px;
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0) 0%,
        #fff 17.44%,
        #fff 82.56%,
        rgba(255, 255, 255, 0) 100%
    );
}
.c-section-title--ja {
    line-height: 1.4285;
}
.pad-top-btm {
    padding-top: 10px;
    padding-bottom: 15px;
}
.swiper-career {
    padding-inline: 15px;
    margin-top: 15px;
}
.career__job-list {
    display: flex;
    margin-left: 15px;
}
.career__job-card {
    flex: 0 0 300px;
    background-color: #fff;
    width: 300px;
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0, 112, 179, 0.15);
}
.career__job-header {
    display: flex;
    justify-content: center;
    padding-top: 10px;
    padding-bottom: 5px;
}
.career__job-title {
    font-size: 20px;
    line-height: 2;
    letter-spacing: 0.04em;
    padding-right: 5px;
}
.career__job-badge {
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    line-height: 1;
    padding-top: 14px;
}
.career__job-badge--full-time {
    background-color: #0070b3;
    border-radius: 13px;
    padding: 1px 8px 2px 8px;
}
.career__job-badge--part-time {
    background-color: #66ccff;
    border-radius: 13px;
    padding: 1px 8px 2px 8px;
}
.career__job-details {
    height: 418px;
    padding: 20px;
    padding-top: 15px;
    padding-bottom: 10px;
}
.career__job-detail-item {
    font-family: "Zen Kaku Gothic New", sans-serif;
    display: flex;
    justify-content: space-between;
    padding-bottom: 10px;
}
.career__job-detail-label {
    font-size: 14px;
    font-weight: 500;
    line-height: 1.7;
}
.career__job-detail-value {
    font-size: 14px;
    text-align: left;
    width: 190px;
    line-height: 1.57;
}
.career__job-requirement {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
}
.career__job-requirement + .career__job-requirement {
    margin-top: 14px;
}
.career__job-requirement-category {
    font-weight: 500;
}
.career__job-actions {
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    display: flex;
    justify-content: space-between;
    height: 50px;
}
.career__job-link {
    display: grid;
    place-content: center;
    width: 50%;
    height: 50px;
    color: #fff;
    background-color: #0070b3;
    border-radius: 0 0 0 11px;
}
.career__job-apply {
    width: 50%;
    display: grid;
    align-items: center;
    justify-content: center;
    gap: 4px;
    grid-template-columns: min(35px, 31.25%) auto;
    color: #fff;
    background-color: #53cde3;
    border-radius: 0 0 11px 0;
}
.career__job-apply:before {
    content: "";
    display: inline-block;
    background: url(../img/sh-icon-bl.png) no-repeat center / contain;
    width: 100%;
    height: 100%;
    filter: brightness(0) invert(1);
}
.career__filters {
    width: 100%;
    height: auto;
    position: relative;
}
.career__filter-flex {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    align-items: center;
    background-color: #f0f8fa;
    padding-block: 30px;
}
.filter-dialog {
    position: absolute;
    top: 0;
    border: none;
    width: 100%;
    max-width: none;
    max-height: none;
    padding: 0 var(--space-inline-sp);
    margin: 0;
    color: var(--color-primary);
    background-color: #f0f8fa;
    z-index: 1;
    left: 50%;
    transform: translateX(-50%);
}
.career__filter-button {
    display: grid;
    grid-template-columns: 15px auto;
    align-items: center;
    gap: 6px;
    color: #fff;
    background-color: #0070b3;
    font-size: 14px;
    font-weight: bold;
    text-align: center;
    width: 130px;
    border-radius: 27px;
    padding: 10px 25px 12px;
    margin: 0 auto;
    margin-top: 15px;
    flex-shrink: 0;
}
.career__filter-button:before {
    content: "";
    display: inline-block;
    background: url(../img/Icon_filter.svg) no-repeat center / contain;
    width: 15px;
    height: 14px;
    margin-top: 2px;
}
.career__filter-group {
    position: relative;
    text-align: left;
    width: 100%;
    max-width: 345px;
    height: 42px;
    margin-bottom: 5px;
}
.career__filter-group:before,
.career__filter-group:after {
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 15px;
    width: 20px;
    height: 20px;
    pointer-events: none;
}
.career__filter-group:before {
    background: #E9F5F8;
    background-size: 100%;
    border-radius: 50%;
}
.career__filter-group:after {
    background: url(../img/chevon-bottom.svg) no-repeat center;
    background-size: 40%;
    filter: brightness(0) saturate(100%) invert(30%) sepia(66%) saturate(1871%)
        hue-rotate(179deg) brightness(91%) contrast(103%);
}
.career__filter-group:hover {
    opacity: 0.8;
}
.career__filter-select {
    width: 100%;
    height: 100%;
    background-color: #fff;
    font-size: 14px;
    padding-inline: 16px;
    border-radius: 23px;
    border: solid 1px #d3e4e8;
    transition: 0.3s opacity;
    cursor: pointer;
}
.career__filter-select option,
.career__filter-select optgroup {
    background-color: #F2F2F2;
}
/* .career__filter-title {
    font-size: 18px;
    font-weight: 500;
    text-align: center;
    padding-top: 30px;
    padding-bottom: 10px;
} */
/* contact */
.career__banner-contact {
    background-color: #53cde3;
    position: relative;
}
.career__banner-title {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    font-family: "Zen Kaku Gothic New", sans-serif;
    background-color: #fff;
    width: 130px;
    height: 130px;
    border: solid 2px #53cde3;
    border-radius: 50%;
    position: absolute;
    top: -26px;
    left: 20px;
}
.career__banner-title--inner {
    color: #0070b3;
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    gap: 4px;
}
.career__banner-title--ja {
    font-size: 28px;
    line-height: 1.21;
}
.career__banner-title--en {
    font-size: 12px;
    line-height: 1.275;
}
.career__banner-contact-text {
    padding-top: 20px;
    padding-bottom: 40px;
}
.career__banner-contact-catchcopy {
    color: #fff;
    font-size: 20px;
    font-weight: 500;
    text-align: center;
    line-height: 1.8;
    padding-bottom: 20px;
}
.recruit-aplly-btn {
    display: block;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
    color: #0070b3;
    width: 250px;
    padding: 17px 64px 17px 114px;
    margin: 0 auto;
    background-color: #fff;
    border-radius: 30px;
    box-shadow: 0 0 10px rgba(0, 112, 179, 0.15);
    position: relative;
}
.recruit-aplly-btn::before {
    content: url(../img/sh-icon-bl.png);
    display: inline-block;
    width: 40px;
    height: 24.84px;
    position: absolute;
    top: 15px;
    left: 64px;
}
/* message */
.career__message-from-ceo {
    color: #0070b3;
    background-color: #f0f8fa;
}
.career__message-from-ceo-text {
    padding-top: 15px;
}
.career__message-from-ceo-catchcopy {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.8;
    padding-bottom: 15px;
}
.career__message-from-ceo-descs {
    line-height: 1.75;
}
.career__message-from-ceo-desc {
    padding-bottom: 15px;
}
.career__message-from-ceo-profile {
    display: flex;
    justify-content: right;
    align-items: end;
    padding-bottom: 40px;
}
.career__message-from-ceo-title {
    font-size: 14px;
    font-weight: 500;
    padding-right: 10px;
}
.career__message-from-ceo-name {
    font-size: 20px;
    font-weight: 500;
}

.career__movie {
    background-color: #def2f7;
    padding: 22px 0 21px;
}
.career-movie-wrapper {
    max-width: 100%;
}
.career-movie-wrapper video {
    max-width: 100%;
    height: 100%;
}

.career__staff-voice {
    color: #0070b3;
    background-color: #f0f8fa;
}
.career__staff-voice-content {
    color: #00a0e9;
    font-size: 22px;
    text-align: center;
    padding-bottom: 60px;
    overflow-x: hidden;
}
.career__staff-voice-content > p {
    margin-top: 25px;
}
.career__staff-voice-notice {
    border-radius: 999px;
    background-color: #BEEBF7;
    color: #0070B3;
    width: fit-content;
    font-size: 14px;
    margin: 12px auto;
    padding: 2px 10px 4px;
}
.career__staff-voice-list {
    display: flex;
    margin-top: 12px;
    margin-top: 30px;
}
.career__staff-voice-item {
    display: grid;
    place-items: center;
}
.career__staff-voice-img-wrapper {
    border-radius: 50%;
    width: 150px;
    height: 150px;
    overflow: hidden;
}
.career__staff-voice-img-wrapper img {
    object-fit: cover;
    height: 100%;
}
.swiper-interview {
    position: relative;
}
.swiper-interview .swiper-button-next,
.swiper-interview .swiper-button-prev {
    top: 78px;
}
.swiper-interview .swiper-button-prev {
    left: 0;
}
.swiper-interview .swiper-button-next {
    right: 0;
}
.dialog-modal {
    position: fixed;
    inset: 0;
    border: none;
    padding: 0;
    max-width: 100%;
    max-height: 100%;
}
.dialog-body {
    padding: 65px 15px;
}
dialog::backdrop {
    /* native */
    background-color: rgba(0, 0, 0, 0.6);
}
dialog + .backdrop {
    /* polyfill */
    background-color: rgba(0, 0, 0, 0.6);
}
.career__staff-modal-index {
    font-family: "Zen Kaku Gothic New", sans-serif;
}
.career__staff-modal-navigation {
    position: sticky;
    bottom: 0;
    left: 0;
    background-color: #DEF2F7;
    padding: 10px 15px;
}
.dialog-prev,
.dialog-next {
    font-family: "Zen Kaku Gothic New", sans-serif;
}
.career__staff-voice-branch {
    font-size: 14px;
    font-weight: 500;
    margin-top: 8px;
    color: #00a0e9;
}
.career__staff-voice-interviewee {
    font-size: 20px;
    font-weight: 500;
    margin-top: 3px;
    color: #0070B3;
}
/* flow */
.career__flow {
    color: #0070b3;
    background-color: #fff;
}
.bg-blue {
    width: 100%;
    background: linear-gradient(
        to right,
        rgba(255, 255, 255, 0) 0%,
        #e9f5f8 17.44%,
        #e9f5f8 82.56%,
        rgba(255, 255, 255, 0) 100%
    );
}
.pad-top-80 {
    padding-top: 80px;
}
.career__flow-list {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.career__flow-item {
    max-width: 500px;
}
.career__flow-item:not(:first-child) {
    padding-top: 15px;
    border-top: solid 1px #d3e4e8;
}
.career__flow-item-heading {
    display: flex;
    justify-content: left;
    font-family: "Zen Kaku Gothic New", sans-serif;
    line-height: 1.6;
    gap: 5px;
}
.career__flow-item-number-wrapper {
    color: var(--unnamed-color-00a0e9);
    padding-right: 5px;
}
.career__flow-item-step {
    font-size: 14px;
    font-weight: bold;
}
.career__flow-item-number {
    font-size: 20px;
    font-weight: bold;
}
.career__flow-item-label {
    font-size: 20px;
    font-weight: 500;
}
.career__flow-item-flex {
    display: flex;
    justify-content: space-between;
    padding-top: 5px;
    padding-bottom: 15px;
}
.career__flow-item-image {
    width: 115px;
    flex-shrink: 0;
}
.career__flow-item-img {
    border-radius: 5px;
    width: 100%;
    height: 140px;
    object-fit: cover;
}
.entry-pos {
    object-position: -14px 0;
}

.career__flow-item-text {
    padding-left: 10px;
}
.career__flow-item-desc {
    font-family: "Zen Kaku Gothic New", sans-serif;
    line-height: 1.5;
}
.career__flow-item-note {
    font-size: 14px;
    line-height: 1.428;
    text-indent: -1em;
    padding-left: 1em;
    padding-top: 5px;
}
.txtcol-blue {
    color: #00a0e9;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.fw-mid {
    font-weight: 500;
}
.career__flow-desc--strong {
    color: #00a0e9;
    font-size: 24px;
    font-weight: 500;
    text-align: center;
    line-height: 1.5;
    padding-top: 30px;
    padding-bottom: 60px;
}
/* faq */
.career__faq {
    color: #0070b3;
    background-color: #f0f8fa;
    padding-top: 80px;
}
.career__faq-content {
    padding-bottom: 61px;
}
.faq__item {
    padding-bottom: 20px;
}
.faq__question {
    color: #00a0e9;
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.556;
    padding-bottom: 10px;
    text-indent: -1.25em;
    padding-left: 1.25em;
}
.faq__answer {
    line-height: 1.75;
}
.faq__item:not(:first-child) {
    padding-top: 20px;
    border-top: solid 1px #0070b3;
}
.faq__answer {
    font-family: "Zen Kaku Gothic New", sans-serif;
}
/* Modal */
.career__modal-inner {
    color: #0070b3;
    font-family: "Zen Kaku Gothic New", sans-serif;
}
.career__modal-heading {
    display: flex;
    justify-content: space-between;
    flex-direction: column;
    padding-top: 65px;
    position: relative;
}
.btn-bg {
    background-color: #def2f7;
    width: 40px;
    height: 40px;
    position: absolute;
    top: 0;
    right: -15px;
}
.career__modal-close {
    font-size: 36px;
    line-height: 1;
    padding: 0 3px;
}
.career__modal-label {
    color: #00a0e9;
    font-weight: bold;
    padding-bottom: 3px;
    line-height: 1.8;
}
.career__modal-label-voice {
    font-size: 14px;
}
.career__modal-label-number {
    font-size: 20px;
}
.career__modal-profile-name {
    font-size: 20px;
    font-weight: 500;
    text-align: end;
    padding-top: 10px;
}
.fc-blue {
    color: #00a0e9;
    font-size: 14px;
}
.career__modal-text {
    padding-bottom: 20px;
}
.career__modal-catchcopy {
    font-size: 20px;
    font-weight: 500;
    line-height: 1.6;
    padding-top: 16px;
}
.career__modal-desc {
    line-height: 1.75;
    padding-top: 10px;
}
.career__modal-list-item {
    display: flex;
    justify-content: space-between;
    padding-top: 10px;
    padding-bottom: 25px;
}
.career__modal-list-item-image {
    width: 170px;
    height: 170px;
}
.career__modal-list-item-image img {
    width: 100%;
    height: 170px;
    border-radius: 5px;
    object-fit: cover;
    object-position: center;
}
.career__modal-list-item-text {
    width: 163px;
}
.career__modal-list-item-title {
    color: #00a0e9;
    font-size: 18px;
    font-weight: 500;
    border-bottom: solid 2px #00a0e9;
}
.career__modal-list-item-desc {
    line-height: 1.75;
}
.career__modal-section {
    padding-bottom: 60px;
}
.career__modal-section-title {
    color: #00a0e9;
    font-size: 18px;
    font-weight: 500;
    border-bottom: solid 2px #00a0e9;
    padding-bottom: 5px;
}
.career__modal-section-text {
    line-height: 1.75;
    padding-top: 10px;
}
.career__modal-schedule {
    color: #0070b3;
    background-color: #f0f8fa;
}
.career__modal-schedule-badge {
    width: 100%;
    padding-right: 15px;
}
.pd-top-60 {
    padding-top: 60px;
}
.career__modal-schedule-img {
    border-radius: 10px;
}
.career__modal-schedule-list {
    padding-top: 10px;
}
.career__modal-schedule-item {
    position: relative;
}
.career__modal-schedule-item::before {
    content: "";
    display: inline-block;
    background-color: #00a0e9;
    width: 2px;
    height: 100px;
    position: absolute;
    top: 14px;
    left: -22px;
}
.career__modal-schedule-time {
    color: #00a0e9;
    font-size: 18px;
    font-weight: bold;
    line-height: 1.55;
}
.career__modal-schedule-content {
    padding-bottom: 22px;
}
.career__modal-schedule-content-title {
    color: #0070b3;
    font-size: 18px;
    font-weight: 500;
    line-height: 1.55;
}
.career__modal-schedule-content-desc {
    line-height: 1.5;
    padding-bottom: 5px;
    padding-right: 15px;
}
.career__modal-nav {
    background-color: #def2f7;
    width: 100%;
    height: 50px;
    display: flex;
    justify-content: space-between;
    padding: 0 15px;
}
.career__modal-nav-arrow {
    background-color: #fff;
    display: inline-block;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    padding-top: 5px;
    padding-left: 7px;
}
.career__modal-nav-btn--prev {
    position: relative;
}
.career__modal-nav-btn--prev::before {
    left: 4px;
    width: 5px;
    height: 1px;
    background-color: #0070b3;
    position: absolute;
    top: 0;
    left: 0;
}
.career__modal-nav-btn--prev::after {
    left: 4px;
    width: 4px;
    height: 4px;
    border-top: solid 1px #0070b3;
    border-right: solid 1px #0070b3;
}
.timeline {
    position: relative;
    padding-left: 40px; /* 線とテキストの間の余白 */
}
.timeline-item {
    margin-bottom: 20px;
    position: relative;
}
.timeline-item::before {
    content: "●"; /* 丸印（必要に応じて変更）*/
    position: absolute;
    left: -26px;
    top: 6px;
    color: #00a0e9;
    font-size: 10px;
}
.career__bottom-nav-links-wrapper {
    position: fixed;
    bottom: 0;
    right: 0;
    width: 100%;
    z-index: 2;
}
.career__bottom-nav-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.career__bottom-nav-link {
    width: 100%;
    border-radius: 0;
    font-weight: 500;
    font-size: 18px;
}
.career__bottom-nav-link:hover {
    opacity: 1;
}

@media screen and (min-width: 768px) {
    .career-page {
        padding-top: 130px;
    }
    .career__fv {
        background-image: url(../img/career-fv-bg_pc.png);
        background-position: bottom 0px right 83px;
        justify-content: space-between;
        flex-direction: unset;
    }
    .career__fv--image {
        width: 62.22%;
    }
    .career__fv--image img {
        width: 100%;
    }
    .career__fv--txtbox {
        width: 37.78%;
    }
    .career__title {
        font-size: 42px;
        width: auto;
        height: 91px;
        display: flex;
        padding-inline: 40px 80px;
        top: 52px;
    }
    .career__fv-catchcopy {
        font-size: 28px;
        font-weight: 500;
        line-height: 1.714;
        padding: 0 15px;
        padding-top: 193px;
        padding-left: 40px;
    }
    .career__fv-desc {
        line-height: 1.75;
        width: auto;
        padding-top: 15px;
        padding-bottom: 60px;
        padding-left: 40px;
        padding-right: 10px;
        margin: 0;
    }
    /* merits */
    .career__merits {
        background-color: #f0f8fa;
        color: #0070b3;
        padding-top: 100px;
        padding-bottom: 150px;
    }
    .l-inner {
        max-width: 1200px;
        margin: 0 auto;
    }
    .border-box {
        height: auto;
    }
    .c-section-title--ja {
        font-size: 40px;
    }
    .c-section-title--en {
        font-size: 16px;
        padding-top: 13px;
        padding-bottom: 23px;
    }
    .career__merits-list {
        display: flex;
        justify-content: center;
        gap: 29px;
    }
    .career__merits-content {
        padding-bottom: 50px;
    }
    .career__merits-item {
        width: 354px;
    }
    .career__merits-item-icon {
        left: -10px;
    }
    .career__merits-item-img {
        border-radius: 30px 10px 10px 10px;
    }
    .career__merits-item-desc {
        padding: 0;
    }
    /* requirements */
    .career__requirements {
        padding-bottom: 100px;
    }
    .bg-white {
        height: 58px;
    }
    .pad-top-100 {
        padding-top: 100px;
    }
    .pad-top-btm {
        padding-bottom: 43px;
    }
    .career__job-list {
        margin-left: 0;
    }
    .career__filters {
        max-width: 1100px;
        height: auto;
        margin: 0 auto;
        margin-bottom: 40px;
    }
    .career__filter-flex {
        flex-direction: unset;
        gap: 5px;
        align-items: center;
        padding: 19px min(64px, 4.685vw);
        border-radius: 10px;
    }
    .career__filter-button {
        margin-top: 0;
    }
    .career__filter-group {
        max-width: 275px;
        margin-bottom: 0;
    }
    .career__filter-title {
        display: none;
    }
    /* contact */
    .career__banner-contact {
        background-color: #fff;
        margin: 110px min(183px, 13.39vw);
        display: flex;
        border: solid 4px #53cde3;
        border-radius: 10px;
    }
    .career__banner-contact-image {
        flex-basis: min(560px, 59%);
    }
    .career__banner-contact-img {
        border-radius: 5px 0 0 5px;
        object-fit: cover;
        height: 100%;
        max-width: 100%;
    }
    .career__banner-contact-text {
        padding-top: 34px;
        padding-bottom: 34px;
        padding-left: 5%;
        padding-right: 4%;
    }
    .career__banner-contact-catchcopy {
        text-align: start;
        color: #53CDE3;
        font-size: 24px;
        line-height: 1.667;
        padding-bottom: 20px;
        letter-spacing: 0.1em;
    }
    .career__banner-contact-desc {
        line-height: 2.17;
    }
    .recruit-aplly-btn {
        font-size: 18px;
        color: #fff;
        padding: 17px 64px 17px 114px;
        margin: 25px 0 0 0;
        background-color: #53CDE3;
    }
    .recruit-aplly-btn::before {
        content: url(../img/sh-icon-bl.png);
        display: inline-block;
        width: 40px;
        height: 24.84px;
        position: absolute;
        top: 15px;
        left: 64px;
        filter: brightness(0) invert(1);
    }

    .career__message-from-ceo-content {
        display: grid;
        grid-template-columns: 1fr min(424px, 42.828%);
        margin-inline: min(105px, 7.686vw) min(50px, 3.66vw);
        gap: min(21px, 1.537vw);
    }
    .career__message-from-ceo-image {
        order: 1;
        align-self: end;
    }
    .career__movie {
        padding-block: 50px;
    }
    .career-movie-wrapper {
        width: min(720px, 52.7vw);
        margin-inline: auto;
    }
    .career__staff-voice {
        padding-block: 100px;
    }
    .career__flow-list {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: min(25px, 1.83vw);
        margin-inline: min(65px, 4.758vw);
        align-items: start;
    }
    .career__flow-item-flex {
        flex-direction: column;
    }
    .career__flow-item-image {
        width: auto;
    }
    .career__flow-item-img {
        height: auto;
    }
    .career__flow-item:not(:first-child) {
        padding-top: 0;
        border-top: none;
    }
    .entry-pos {
        object-position: center;
    }
    .career__flow-item-text {
        width: auto;
        padding-left: 0;
        margin-top: 10px;
    }
    .career__faq {
        padding-top: 150px;
    }
    .career__faq-content {
        margin-inline: min(250px, 18.3vw);
    }
    .career__bottom-nav-links-wrapper {
        width: auto;
    }
    .career__bottom-nav-links {
        width: fit-content;
        grid-template-columns: 200px 200px;
    }
    .career__bottom-nav-link {
        width: 100%;
        border-radius: 0;
        font-weight: 500;
        font-size: 18px;
        padding-top: 2px;
    }
    .career__bottom-nav-link.career__job-link {
        border-radius: 20px 0 0 0;
    }
}
