.section-header-center {
    text-align: center;
    margin-bottom: 60px;
}
.header-en {
    display: block;
    color: #0044CC;
    font-size: 14px;
    font-family: 'Oswald', sans-serif;
    letter-spacing: 0.1em;
    font-weight: 700;
    margin-bottom: 10px;
}

.header-jp {
    font-size: 36px;
    font-weight: 700;
    margin: 0 0 20px 0;
}
/* --------------------------------------------------------------------------
   7. Recruit Info Section
   -------------------------------------------------------------------------- */
.recruit-info-section {
    padding: 120px 0;
    position: relative;
    background-color: #fff;
    overflow: hidden;
}

.bg-recruit-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 25vw;
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    color: #f7f7f7;
    z-index: 0;
    pointer-events: none;
    line-height: 1;
    white-space: nowrap;
}

.recruit-info-section .container { position: relative; z-index: 1; }

.recruit-link-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    max-width: 1000px;
    margin: 0 auto 60px auto;
}

.recruit-link-card {
    display: block;
    background-color: #fff;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #333;
    padding: 50px 40px;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    position: relative;
}

.recruit-link-card:hover {
    background-color: #0044CC;
    border-color: #0044CC;
    color: #fff;
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 68, 204, 0.2);
}

.card-inner { text-align: center; }
.cat-en { display: block; font-family: 'Oswald', sans-serif; font-size: 14px; letter-spacing: 0.1em; margin-bottom: 10px; opacity: 0.6; transition: opacity 0.3s; }
.recruit-link-card:hover .cat-en { opacity: 0.9; }
.cat-jp { font-size: 24px; font-weight: 700; margin: 0 0 20px 0; }
.cat-desc { font-size: 14px; line-height: 1.8; margin-bottom: 30px; opacity: 0.8; }
.card-arrow { display: inline-block; font-size: 20px; font-family: 'Oswald', sans-serif; transition: transform 0.3s; }
.recruit-link-card:hover .card-arrow { transform: translateX(10px); }

.entry-cta-area { text-align: center; margin-top: 80px; }
.entry-msg { font-size: 16px; margin-bottom: 20px; font-weight: 700; }

.big-entry-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    background-color: #333;
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 20px 80px;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}
.big-entry-btn:hover { background-color: #0044CC; transform: scale(1.05); box-shadow: 0 10px 25px rgba(0, 68, 204, 0.3); }
.big-entry-btn .btn-arrow { margin-left: 15px; transition: transform 0.3s; }
.big-entry-btn:hover .btn-arrow { transform: translateX(5px); }
/* --- 採用情報セクション --- */
.recruit-info-section {
    padding: 120px 0;
    position: relative;
    background-color: #fff;
    overflow: hidden;
}

/* 背景の巨大文字 (RECRUIT) */
.bg-recruit-text {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); /* 中央配置 */
    font-size: 25vw; /* 画面幅に応じた巨大サイズ */
    font-family: 'Oswald', sans-serif;
    font-weight: 700;
    color: #f7f7f7; /* ほぼ白に近いグレー */
    z-index: 0; /* 一番奥 */
    pointer-events: none; /* 選択不可 */
    line-height: 1;
    white-space: nowrap;
}

/* コンテナは背景より手前に */
.recruit-info-section .container {
    position: relative;
    z-index: 1;
}

/* --- リンクカードグリッド --- */
.recruit-link-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2列 */
    gap: 30px;
    max-width: 1000px;
    margin: 0 auto 60px auto;
}

/* カード本体 */
.recruit-link-card {
    display: block;
    background-color: #fff;
    border: 1px solid #ddd;
    text-decoration: none;
    color: #333;
    padding: 50px 40px;
    transition: all 0.4s cubic-bezier(0.25, 1, 0.5, 1);
    position: relative;
}

/* ホバー時の反転アクション */
.recruit-link-card:hover {
    background-color: #0044CC; /* ウイングブルー */
    border-color: #0044CC;
    color: #fff; /* 文字を白く */
    transform: translateY(-5px); /* 少し浮く */
    box-shadow: 0 15px 30px rgba(0, 68, 204, 0.2);
}

/* カード内の要素 */
.card-inner {
    text-align: center;
}

.cat-en {
    display: block;
    font-family: 'Oswald', sans-serif;
    font-size: 14px;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
    opacity: 0.6;
    transition: opacity 0.3s;
}

.recruit-link-card:hover .cat-en {
    opacity: 0.9; /* 白文字になったときは少し濃く */
}

.cat-jp {
    font-size: 24px;
    font-weight: 700;
    margin: 0 0 20px 0;
}

.cat-desc {
    font-size: 14px;
    line-height: 1.8;
    margin-bottom: 30px;
    opacity: 0.8;
}

/* 矢印アイコン */
.card-arrow {
    display: inline-block;
    font-size: 20px;
    font-family: 'Oswald', sans-serif;
    transition: transform 0.3s;
}

.recruit-link-card:hover .card-arrow {
    transform: translateX(10px); /* 右へ動く */
}

/* --- エントリーエリア --- */
.entry-cta-area {
    text-align: center;
    margin-top: 80px;
}

.entry-msg {
    font-size: 16px;
    margin-bottom: 20px;
    font-weight: 700;
}

/* 大きなエントリーボタン */
.big-entry-btn {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    background-color: #333; /* 黒に近いグレー */
    color: #fff;
    font-family: 'Oswald', sans-serif;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.1em;
    padding: 20px 80px;
    border-radius: 50px;
    transition: all 0.3s ease;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
}

.big-entry-btn .btn-arrow {
    margin-left: 15px;
    transition: transform 0.3s;
}

/* エントリーボタンのホバー */
.big-entry-btn:hover {
    background-color: #0044CC; /* 青に変化 */
    transform: scale(1.05); /* 少し大きく */
    box-shadow: 0 10px 25px rgba(0, 68, 204, 0.3);
}

.big-entry-btn:hover .btn-arrow {
    transform: translateX(5px);
}


/* --- スマホ対応 (レスポンシブ) --- */
@media (max-width: 768px) {
    .bg-recruit-text {
        font-size: 80px; /* スマホではサイズを調整 */
    }

    .recruit-link-grid {
        grid-template-columns: 1fr; /* 1列 */
        gap: 20px;
    }

    .recruit-link-card {
        padding: 30px 20px;
    }

    .cat-jp {
        font-size: 20px;
    }

    .big-entry-btn {
        width: 80%; /* 幅を広めに */
        padding: 15px 0;
        font-size: 20px;
    }
}



