/* ==========================================================================
   Recruit Page Styles
   ========================================================================== */

/* Body overflow hidden for strict positioning */
body.page-template-page-recruit {
    overflow-x: hidden;
}

/* ===== FV Section - PC ===== */
.recruit-fv {
    position: relative;
    width: 100%;
    height: 800px;
    overflow: hidden;
}

.recruit-fv_bg_beige {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #e6e1da;
    z-index: 1;
}

.recruit-fv_bg_yellow {
    position: absolute;
    left: 0;
    top: calc(100vw * 219 / 1400);
    width: calc(100vw * 900 / 1400);
    height: calc(100vw * 581 / 1400);
    background-color: #bf9443;
    z-index: 2;
}

.recruit-fv_bg_image_wrapper {
    position: absolute;
    right: 0;
    top: 0;
    width: calc(100vw * 1300 / 1400);
    height: calc(100vw * 754 / 1400);
    border-bottom-left-radius: calc(100vw * 64 / 1400);
    overflow: hidden;
    z-index: 3;
}

.recruit-fv_bg_image {
    width: 110.56%;
    height: 107.52%;
    object-fit: cover;
    position: absolute;
    left: -6.74%;
    top: -5.3%;
}

.recruit-fv_bg_overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-bottom-left-radius: calc(100vw * 64 / 1400);
}

.recruit-fv_content {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 10;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(100vw * 62 / 1400);
    width: calc(100vw * 710 / 1400);
}

.recruit-fv_text_area {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 48 / 1400);
    align-items: center;
    text-align: center;
    color: #ffffff;
}

.recruit-fv_title {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 48 / 1400);
    font-weight: 600;
    letter-spacing: 0.02em;
    line-height: 2;
    white-space: nowrap;
}

.recruit-fv_description {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 24 / 1400);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
}

.recruit-fv_badges {
    display: flex;
    gap: calc(100vw * 64 / 1400);
    align-items: center;
}

.recruit-fv_badge_img {
    height: auto;
    max-width: 100%;
}

.recruit-fv_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(100vw * 16 / 1400);
    width: calc(100vw * 305 / 1400);
    height: calc(100vw * 66 / 1400);
    background: linear-gradient(180deg, #cb7b7b 0%, #9b4949 100%);
    border: 1px solid #9b4949;
    border-radius: 6px;
    text-decoration: none;
    transition: opacity 0.3s;
}

.recruit-fv_btn:hover {
    opacity: 0.8;
}

.recruit-fv_btn span {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw * 14 / 1400);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 2;
    color: #ffffff;
}

.recruit-fv_btn_arrow {
    width: calc(100vw * 33 / 1400);
    height: auto;
}

/* ===== FV Section - SP ===== */
@media (max-width: 768px) {
    .recruit-fv {
        height: 675px;
    }

    .recruit-fv_bg_yellow {
        top: calc(100vw * 198 / 375);
        width: calc(100vw * 355 / 375);
        height: calc(100vw * 477 / 375);
    }

    .recruit-fv_bg_image_wrapper {
        right: 0;
        top: 0;
        width: calc(100vw * 355 / 375);
        height: calc(100vw * 640 / 375);
        border-bottom-left-radius: calc(100vw * 64 / 375);
    }

    .recruit-fv_bg_image {
        width: 255.1%;
        height: 100%;
        left: -115.75%;
        top: 0;
    }

    .recruit-fv_bg_overlay {
        border-bottom-left-radius: calc(100vw * 64 / 375);
    }

    .recruit-fv_content {
        top: calc(50% + calc(100vw * 15.5 / 375));
        gap: calc(100vw * 80 / 375);
        width: calc(100vw * 295 / 375);
    }

    .recruit-fv_text_area {
        gap: calc(100vw * 40 / 375);
        align-items: flex-start;
        text-align: left;
        width: 100%;
    }

    .recruit-fv_title {
        font-size: calc(100vw * 26 / 375);
    }

    .recruit-fv_description {
        font-size: calc(100vw * 14 / 375);
        width: calc(100vw * 267 / 375);
    }

    .recruit-fv_badges {
        flex-wrap: wrap;
        gap: calc(100vw * 8 / 375) calc(100vw * 16 / 375);
        align-items: flex-start;
    }

    .recruit-fv_badge_img {
        max-width: calc(100vw * 125 / 375);
    }

    .recruit-fv_btn {
        gap: calc(100vw * 12 / 375);
        width: calc(100vw * 225 / 375);
        height: calc(100vw * 50 / 375);
    }

    .recruit-fv_btn span {
        font-size: calc(100vw * 14 / 375);
    }

    .recruit-fv_btn_arrow {
        width: calc(100vw * 25 / 375);
    }
}

/* ===== Overview Section - PC ===== */
.recruit-overview {
    position: relative;
    width: 100%;
    max-width: calc(100vw * 1400 / 1400);
    margin: 0 auto;
    background-color: #e6e1da;
    padding: calc(100vw * 120 / 1400) 0;
    overflow: hidden;
}

.recruit-overview_content {
    position: relative;
    width: 100%;
    max-width: calc(100vw * 1400 / 1400);
    margin: 0 auto;
    min-height: calc(100vw * 680 / 1400);
}

.recruit-overview_image_top {
    position: absolute;
    left: calc(100vw * 100 / 1400);
    top: calc(100vw * 35 / 1400);
    width: calc(100vw * 240 / 1400);
    height: calc(100vw * 240 / 1400);
    overflow: hidden;
}

.recruit-overview_image_top img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
    left: 0%;
    top: 0%;
}

.recruit-overview_the_section {
    position: absolute;
    left: calc(100vw * 516.25 / 1400);
    top: 0;
    display: flex;
    flex-direction: column;
    width: calc(100vw * 400 / 1400);
}

.recruit-overview_the_item {
    display: flex;
    align-items: baseline;
    gap: calc(100vw * 10.041 / 1400);
}

.recruit-overview_the_letter {
    font-family: 'Cormorant Garamond', serif;
    font-size: calc(100vw * 88 / 1400);
    font-weight: 600;
    color: #bf9443;
    line-height: normal;
    width: calc(100vw * 70.287 / 1400);
    text-align: center;
    letter-spacing: calc(100vw * 1.76 / 1400);
}

.recruit-overview_the_text {
    display: flex;
    align-items: flex-start;
    line-height: normal;
}

.recruit-overview_the_en {
    font-family: 'Cormorant Garamond', serif;
    font-size: calc(100vw * 40 / 1400);
    font-weight: 500;
    color: #bf9443;
    letter-spacing: calc(100vw * 0.8 / 1400);
}

.recruit-overview_the_ja {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 32 / 1400);
    font-weight: 500;
    color: #bf9443;
    letter-spacing: calc(100vw * 0.64 / 1400);
}

.recruit-overview_description {
    position: absolute;
    left: calc(100vw * 431 / 1400);
    top: calc(100vw * 420 / 1400);
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 40 / 1400);
    align-items: center;
    text-align: center;
    width: calc(100vw * 538 / 1400);
}

.recruit-overview_description_title {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 22 / 1400);
    font-weight: 500;
    color: #bf9443;
    line-height: 1.8;
    letter-spacing: calc(100vw * 0.44 / 1400);
    width: 100%;
}

.recruit-overview_description_text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw * 16 / 1400);
    font-weight: 400;
    color: #bf9443;
    line-height: 2;
    letter-spacing: calc(100vw * 0.32 / 1400);
    width: 100%;
}

.recruit-overview_image_bottom {
    position: absolute;
    left: calc(100vw * 1060 / 1400);
    top: calc(100vw * 455 / 1400);
    width: calc(100vw * 240 / 1400);
    height: calc(100vw * 240 / 1400);
    overflow: hidden;
}

.recruit-overview_image_bottom img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    position: absolute;
    left: 0%;
    top: 0%;
}

/* Background leaf - hidden for now */
.recruit-overview_bg_leaf {
    display: none;
}

/* ===== Overview Section - SP ===== */
@media (max-width: 768px) {
    .recruit-overview {
        padding: calc(100vw * 64 / 375) 0;
    }

    .recruit-overview_bg_leaf {
        display: block;
        position: absolute;
        width: calc(100vw * 491.765 / 375);
        height: calc(100vw * 427.836 / 375);
    }

    .recruit-overview_bg_leaf_1 {
        top: calc(100vw * -87 / 375);
        left: calc(100vw * -19 / 375);
        right: auto;
        transform: rotate(165deg);
    }

    .recruit-overview_bg_leaf_2 {
        bottom: calc(100vw * -100 / 375);
        left: calc(100vw * -117 / 375);
        transform: rotate(358.624deg);
    }

    .recruit-overview_content {
        display: flex;
        flex-direction: column;
        gap: calc(100vw * 80 / 375);
        min-height: auto;
    }

    .recruit-overview_image_top {
        position: relative;
        left: 0;
        top: 0;
        width: calc(100vw * 200 / 375);
        height: calc(100vw * 200 / 375);
        margin-left: 0;
    }

    .recruit-overview_the_section {
        position: relative;
        left: 0;
        top: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: calc(100vw * 32 / 375);
        width: 100%;
        max-width: calc(100vw * 295 / 375);
        margin: 0 auto;
        padding: calc(100vw * 8 / 375) calc(100vw * 40 / 375);
    }

    .recruit-overview_the_item {
        gap: calc(100vw * 7.531 / 375);
    }

    .recruit-overview_the_letter {
        font-size: calc(100vw * 56 / 375);
        width: calc(100vw * 52.715 / 375);
        letter-spacing: calc(100vw * 1.12 / 375);
    }

    .recruit-overview_the_en {
        font-size: calc(100vw * 24 / 375);
        letter-spacing: calc(100vw * 0.48 / 375);
    }

    .recruit-overview_the_ja {
        font-size: calc(100vw * 20 / 375);
        letter-spacing: calc(100vw * 0.4 / 375);
    }

    .recruit-overview_description {
        position: relative;
        left: 0;
        top: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: calc(100vw * 40 / 375);
        width: calc(100vw * 295 / 375);
        margin: 0 auto;
    }

    .recruit-overview_description_title {
        font-size: calc(100vw * 16 / 375);
        letter-spacing: calc(100vw * 0.32 / 375);
        line-height: 1.8;
        width: 100%;
    }

    .recruit-overview_description_text {
        font-size: calc(100vw * 13 / 375);
        letter-spacing: calc(100vw * 0.26 / 375);
        line-height: 2;
        width: 100%;
    }

    .recruit-overview_image_bottom {
        position: relative;
        left: 0;
        top: 0;
        width: calc(100vw * 200 / 375);
        height: calc(100vw * 200 / 375);
        border-top-left-radius: calc(100vw * 60 / 375);
        border-bottom-right-radius: calc(100vw * 60 / 375);
        margin-left: auto;
        margin-right: 0;
    }
}

/* ===== Choose Section (Why Choose Us) - PC ===== */
.recruit-choose {
    position: relative;
    width: 100%;
    max-width: calc(100vw * 1400 / 1400);
    margin: 0 auto;
    background-color: #e6e1da;
    padding: calc(100vw * 120 / 1400) 0;
}

.recruit-choose_header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(100vw * 16 / 1400);
    margin-bottom: calc(100vw * 80 / 1400);
    padding: 0 calc(100vw * 100 / 1400);
}

.recruit-choose_title_en {
    font-family: 'Cormorant Garamond', serif;
    font-size: calc(100vw * 64 / 1400);
    font-weight: 500;
    color: #bf9443;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.recruit-choose_title_ja {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 16 / 1400);
    font-weight: 500;
    color: #bf9443;
    letter-spacing: 0.02em;
    line-height: 2;
}

.recruit-choose_cards {
    width: calc(100vw * 1200 / 1400);
    margin: 0 auto;
    display: flex;
    gap: calc(100vw * 36 / 1400);
    justify-content: flex-start;
}

.recruit-choose_card {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 24 / 1400);
    width: calc(100vw * 376 / 1400);
}

.recruit-choose_card_image_wrapper {
    position: relative;
    width: calc(100vw * 376 / 1400);
    height: calc(100vw * 376 / 1400);
    overflow: hidden;
}

.recruit-choose_card_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* First card image positioning (150% width, left -5.85%) */
.recruit-choose_card:nth-child(1) .recruit-choose_card_image {
    width: 100%;
    height: 100%;
    position: relative;
    object-fit: cover;
}

/* Second card image positioning (100% size, centered) */
.recruit-choose_card:nth-child(2) .recruit-choose_card_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center center;
}

/* Third card image positioning (197.13% width, left -72.51%, top -2.1%, height 111.02%) */
.recruit-choose_card:nth-child(3) .recruit-choose_card_image {
    width: 100%;
    height: 100%;
    position: relative;
    object-fit: cover;
}

.recruit-choose_card_content {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 24 / 1400);
}

.recruit-choose_card_title {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 22 / 1400);
    font-weight: 500;
    color: #4c5559;
    letter-spacing: 0.02em;
    line-height: 1.8;
}

.recruit-choose_card_text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw * 14 / 1400);
    font-weight: 400;
    color: #4c5559;
    letter-spacing: 0.02em;
    line-height: 2;
}

/* ===== Choose Section (Why Choose Us) - SP ===== */
@media (max-width: 768px) {
    .recruit-choose {
        padding: calc(100vw * 80 / 375) 0;
    }

    .recruit-choose_header {
        gap: calc(100vw * 5 / 375);
        margin-bottom: calc(100vw * 64 / 375);
        padding: 0 calc(100vw * 40 / 375);
    }

    .recruit-choose_title_en {
        font-size: calc(100vw * 40 / 375);
    }

    .recruit-choose_title_ja {
        font-size: calc(100vw * 13 / 375);
    }

    .recruit-choose_cards {
        flex-direction: column;
        gap: calc(100vw * 64 / 375);
        align-items: center;
    }

    .recruit-choose_card {
        gap: calc(100vw * 16 / 375);
        width: calc(100vw * 295 / 375);
    }

    .recruit-choose_card_image_wrapper {
        width: 100%;
        height: calc(100vw * 295 / 375);
    }

    .recruit-choose_card_content {
        gap: calc(100vw * 16 / 375);
    }

    .recruit-choose_card_title {
        font-size: calc(100vw * 16 / 375);
    }

    .recruit-choose_card_text {
        font-size: calc(100vw * 13 / 375);
    }
}

/* ===== Interview Section - PC ===== */
.recruit-interview {
    position: relative;
    width: 100%;
    max-width: calc(100vw * 1400 / 1400);
    margin: 0 auto;
    background-color: #272e27;
    padding: calc(100vw * 120 / 1400) 0;
}

.recruit-interview_header {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: calc(100vw * 5 / 1400);
    margin-bottom: calc(100vw * 80 / 1400);
    padding: 0 calc(100vw * 100 / 1400);
}

.recruit-interview_title_en {
    font-family: 'Cormorant Garamond', serif;
    font-size: calc(100vw * 88 / 1400);
    font-weight: 500;
    color: #bf9443;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.recruit-interview_title_ja {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 18 / 1400);
    font-weight: 500;
    color: #bf9443;
    letter-spacing: 0.02em;
    line-height: 1.2;
}

.recruit-interview_items {
    width: calc(100vw * 1200 / 1400);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 104 / 1400);
}

.recruit-interview_item {
    display: flex;
    gap: calc(100vw * 100 / 1400);
    align-items: center;
}

.recruit-interview_item_text {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 32 / 1400);
    width: calc(100vw * 450 / 1400);
}

.recruit-interview_item_name {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 22 / 1400);
    font-weight: 500;
    color: #bf9443;
    letter-spacing: 0.02em;
    line-height: 1.8;
}

.recruit-interview_item_description {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw * 14 / 1400);
    font-weight: 400;
    color: #bf9443;
    letter-spacing: 0.02em;
    line-height: 2;
}

.recruit-interview_item_image_wrapper {
    position: relative;
    width: calc(100vw * 650 / 1400);
    height: calc(100vw * 424 / 1400);
    overflow: visible;
}

.recruit-interview_item_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.recruit-interview_item_border {
    position: absolute;
    width: calc(100vw * 650 / 1400);
    height: calc(100vw * 424 / 1400);
    border: 2px solid #bf9443;
    pointer-events: none;
}

/* Border positioning for Item 1 (text left / image right) */
.recruit-interview_item:nth-child(1) .recruit-interview_item_border {
    left: calc(100vw * 14 / 1400);
    top: calc(100vw * 11 / 1400);
}

/* Border positioning for Item 2 (image left / text right) */
.recruit-interview_item:nth-child(2) .recruit-interview_item_border {
    left: calc(100vw * -14 / 1400);
    top: calc(100vw * 11 / 1400);
}

/* Border positioning for Item 3 (text left / image right) */
.recruit-interview_item:nth-child(3) .recruit-interview_item_border {
    left: calc(100vw * 14 / 1400);
    top: calc(100vw * 11 / 1400);
}

/* ===== Interview Section - SP ===== */
@media (max-width: 768px) {
    .recruit-interview {
        width: unset;
        padding: calc(100vw * 80 / 375) calc(100vw * 40 / 375);
    }

    .recruit-interview_header {
        gap: calc(100vw * 5 / 375);
        margin-bottom: calc(100vw * 64 / 375);
    }

    .recruit-interview_title_en {
        font-size: calc(100vw * 40 / 375);
    }

    .recruit-interview_title_ja {
        font-size: calc(100vw * 13 / 375);
    }

    .recruit-interview_items {
        max-width: calc(100vw * 295 / 375);
        gap: calc(100vw * 64 / 375);
    }

    .recruit-interview_item {
        flex-direction: column;
        gap: calc(100vw * 16 / 375);
        align-items: flex-start;
    }

    /* Item 2 changes order in SP (image first, then text) */
    .recruit-interview_item:nth-child(2) {
        align-items: flex-end;
    flex-direction: column-reverse;
    }

    .recruit-interview_item_text {
        gap: calc(100vw * 16 / 375);
        width: calc(100vw * 295 / 375);
    }

    .recruit-interview_item_name {
        font-size: calc(100vw * 16 / 375);
    }

    .recruit-interview_item_description {
        font-size: calc(100vw * 13 / 375);
    }

    .recruit-interview_item_image_wrapper {
        width: calc(100vw * 290 / 375);
        height: calc(100vw * 189 / 375);
        overflow: visible;
    }

    .recruit-interview_item_border {
        width: calc(100vw * 290 / 375);
        height: calc(100vw * 189 / 375);
        border-width: 1px;
    }

    /* Border adjustments for SP */
    .recruit-interview_item:nth-child(1) .recruit-interview_item_border {
        left: calc(100vw * 5 / 375);
        top: calc(100vw * 5 / 375);
    }

    .recruit-interview_item:nth-child(2) .recruit-interview_item_border {
        left: 0;
        top: calc(100vw * 5 / 375);
    }

    .recruit-interview_item:nth-child(3) .recruit-interview_item_border {
        left: calc(100vw * 5 / 375);
        top: calc(100vw * 5 / 375);
    }
}

/* ===== Entry Section - PC ===== */
.recruit-entry {
    position: relative;
    width: 100%;
    max-width: calc(100vw * 1400 / 1400);
    margin: 0 auto;
    height: calc(100vw * 770 / 1400);
    overflow: hidden;
}

.recruit-entry_background {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.recruit-entry_background_image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recruit-entry_background_overlay {
    position: absolute;
    inset: 0;
}

.recruit-entry_content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(100vw * 64 / 1400);
    width: calc(100vw * 770 / 1400);
    margin: 0 auto;
    padding-top: calc(100vw * 80 / 1400);
}

.recruit-entry_header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(100vw * 16 / 1400);
    width: 100%;
    text-align: center;
}

.recruit-entry_title_wrapper {
    display: flex;
    align-items: center;
    gap: calc(100vw * 24 / 1400);
    width: 100%;
    justify-content: center;
}

.recruit-entry_title_line {
    flex: 1;
    height: 1px;
    background-color: #ffffff;
    max-width: calc(100vw * 200 / 1400);
}

.recruit-entry_title {
    font-family: 'Cormorant Garamond', serif;
    font-size: calc(100vw * 80 / 1400);
    font-weight: 400;
    color: #ffffff;
    letter-spacing: 0.02em;
    line-height: 1.2;
    white-space: nowrap;
}

.recruit-entry_subtitle {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 22 / 1400);
    font-weight: 500;
    color: #ffffff;
    letter-spacing: 0.02em;
    line-height: 1.8;
    width: 100%;
}

.recruit-entry_description {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw * 16 / 1400);
    font-weight: 400;
    color: #ffffff;
    letter-spacing: 0.02em;
    line-height: 2;
    text-align: center;
    width: 100%;
}

.recruit-entry_btn {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: calc(100vw * 10 / 1400);
    width: calc(100vw * 305 / 1400);
    height: calc(100vw * 66 / 1400);
    background: linear-gradient(180deg, #cb7b7b 0%, #9b4949 100%);
    border: 1px solid #9b4949;
    border-radius: calc(100vw * 6 / 1400);
    text-decoration: none;
    position: relative;
}

.recruit-entry_btn span {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw * 16 / 1400);
    font-weight: 500;
    color: #ffffff;
    letter-spacing: 0.02em;
    line-height: 2;
}

.recruit-entry_btn_arrow {
    width: calc(100vw * 33 / 1400);
    height: calc(100vw * 22.5 / 1400);
}

/* ===== Entry Section - SP ===== */
@media (max-width: 768px) {
    .recruit-entry {
        height: calc(100vw * 600 / 375);
    }

    .recruit-entry_content {
        gap: calc(100vw * 40 / 375);
        width: calc(100vw * 295 / 375);
        padding-top: calc(100vw * 72 / 375);
    }

    .recruit-entry_header {
        gap: calc(100vw * 16 / 375);
    }

    .recruit-entry_title_wrapper {
        gap: calc(100vw * 16 / 375);
    }

    .recruit-entry_title_line {
        max-width: none;
    }

    .recruit-entry_title {
        font-size: calc(100vw * 40 / 375);
    }

    .recruit-entry_subtitle {
        font-size: calc(100vw * 16 / 375);
    }

    .recruit-entry_description {
        font-size: calc(100vw * 13 / 375);
    }

    .recruit-entry_btn {
        width: calc(100vw * 225 / 375);
        height: calc(100vw * 50 / 375);
        gap: calc(100vw * 8 / 375);
    }

    .recruit-entry_btn span {
        font-size: calc(100vw * 14 / 375);
    }

    .recruit-entry_btn_arrow {
        width: calc(100vw * 24.75 / 375);
        height: calc(100vw * 16.875 / 375);
    }
}

/* ===== Schedule Section - PC ===== */
.recruit-schedule {
    position: relative;
    width: 100%;
    max-width: calc(100vw * 1400 / 1400);
    margin: 0 auto;
    background-color: #272e27;
    padding: calc(100vw * 120 / 1400) 0 calc(100vw * 100 / 1400);
}

.recruit-schedule_inner {
    position: relative;
    width: calc(100vw * 1200 / 1400);
    margin: 0 auto;
}

.recruit-schedule_header {
    margin-bottom: calc(100vw * 100 / 1400);
}

.recruit-schedule_title_en {
    font-family: 'Cormorant Garamond', serif;
    font-size: calc(100vw * 88 / 1400);
    font-weight: 500;
    color: #bf9443;
    letter-spacing: 0.02em;
    text-align: start;
}

.recruit-schedule_title_ja {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 20 / 1400);
    font-weight: 500;
    color: #bf9443;
    letter-spacing: 0.08em;
    text-align: start;
    margin: 0;
}

/* サイドバーと本体のコンテナ */
.recruit-schedule_container {
    display: flex;
    gap: calc(100vw * 40 / 1400);
    padding: 0 calc(100vw * 200 / 1400);
}

/* サイドバー（時間バッジ + ライン） */
.recruit-schedule_sidebar {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex-shrink: 0;
}

.recruit-schedule_time_badge {
    width: calc(100vw * 136 / 1400);
    height: calc(100vw * 56 / 1400);
    background-color: #bf9443;
    border-radius: calc(100vw * 28 / 1400);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw * 20 / 1400);
    font-weight: 700;
    color: #ffffff;
    letter-spacing: 0.02em;
}

.recruit-schedule_line {
    width: calc(100vw * 1 / 1400);
    background-color: #e6e1da;
}

/* 本体（テキスト + 画像） */
.recruit-schedule_content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.recruit-schedule_item {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 24 / 1400);
}

.recruit-schedule_text {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw * 14 / 1400);
    font-weight: 400;
    color: #e6e1da;
    letter-spacing: 0.08em;
    line-height: 2;
    margin: 0;
}

.recruit-schedule_image {
    width: calc(100vw * 500 / 1400);
    height: calc(100vw * 300 / 1400);
    overflow: hidden;
}

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

/* SP表示・非表示制御 */
.recruit-schedule.pc {
    display: block;
}

.recruit-schedule.sp {
    display: none;
}

/* ===== Schedule Section - SP ===== */
@media (max-width: 768px) {
    .recruit-schedule.pc {
        display: none;
    }

    .recruit-schedule.sp {
        display: block;
    }

    .recruit-schedule {
        padding: calc(100vw * 80 / 375) 0;
    }

    .recruit-schedule_inner {
        width: calc(100vw * 295 / 375);
    }

    .recruit-schedule_header {
        margin-bottom: calc(100vw * 80 / 375);
    }

    .recruit-schedule_title_en {
        font-size: calc(100vw * 40 / 375);
        margin: 0 0 calc(100vw * 16 / 375) 0;
    }

    .recruit-schedule_title_ja {
        font-size: calc(100vw * 16 / 375);
    }

    .recruit-schedule_container {
        display: flex;
        gap: calc(100vw * 24 / 375);
        padding: unset;
    }

    .recruit-schedule_timeline_left {
        display: flex;
        flex-direction: column;
        align-items: center;
        flex-shrink: 0;
    }

    .recruit-schedule_time_badge {
        width: calc(100vw * 68 / 375);
        height: calc(100vw * 28 / 375);
        border-radius: calc(100vw * 14 / 375);
        font-size: calc(100vw * 14 / 375);
    }

    .recruit-schedule_line {
        width: calc(100vw * 1 / 375);
    }

    .recruit-schedule_content_right {
        flex: 1;
        display: flex;
        flex-direction: column;
        gap: calc(100vw * 24 / 375);
    }

    .recruit-schedule_item {
        display: flex;
        flex-direction: column;
        gap: calc(100vw * 24 / 375);
    }

    .recruit-schedule_text {
        font-size: calc(100vw * 14 / 375);
    }

    .recruit-schedule_image {
        width: 100%;
        height: auto;
        aspect-ratio: 5 / 3;
    }
}

/* ===== Info Section - PC ===== */
.recruit-info {
    position: relative;
    width: 100%;
    max-width: calc(100vw * 1400 / 1400);
    margin: 0 auto;
    background-color: #e6e1da;
    padding: calc(100vw * 120 / 1400) 0;
}

.recruit-info_inner {
    position: relative;
    width: 100%;
    max-width: calc(100vw * 840 / 1400);
    margin: 0 auto;
}

.recruit-info_header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(100vw * 5 / 1400);
    margin-bottom: calc(100vw * 80 / 1400);
}

.recruit-info_title_en {
    font-family: 'Cormorant Garamond', serif;
    font-size: calc(100vw * 88 / 1400);
    font-weight: 500;
    line-height: 1;
    letter-spacing: calc(100vw * 1.76 / 1400);
    color: #bf9443;
    margin: 0;
}

.recruit-info_title_ja {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 18 / 1400);
    font-weight: 500;
    line-height: 1;
    letter-spacing: calc(100vw * 0.36 / 1400);
    color: #bf9443;
    margin: 0;
}

.recruit-info_content {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 24 / 1400);
    width: calc(100vw * 700 / 1400);
    margin: 0 auto;
}

.recruit-info_item {
    display: flex;
    gap: calc(100vw * 168 / 1400);
    align-items: flex-start;
}

.recruit-info_label {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw * 14 / 1400);
    font-weight: 400;
    line-height: 2;
    letter-spacing: calc(100vw * 0.28 / 1400);
    color: #4c5559;
    margin: 0;
    width: calc(100vw * 112 / 1400);
    flex-shrink: 0;
}

.recruit-info_value {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw * 14 / 1400);
    font-weight: 400;
    line-height: 2;
    letter-spacing: calc(100vw * 0.28 / 1400);
    color: #4c5559;
    margin: 0;
    flex: 1;
}

.recruit-info_value--multi {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 4 / 1400);
}

.recruit-info_value--multi p {
    margin: 0;
}

.recruit-info_divider {
    width: 100%;
    height: calc(100vw * 1 / 1400);
    background-color: #d4cec6;
}

/* ===== Info Section - SP ===== */
@media (max-width: 768px) {
    .recruit-info {
        padding: calc(100vw * 80 / 375) 0;
    }

    .recruit-info_inner {
        max-width: 100%;
    }

    .recruit-info_header {
        gap: calc(100vw * 5 / 375);
        margin-bottom: calc(100vw * 64 / 375);
    }

    .recruit-info_title_en {
        font-size: calc(100vw * 40 / 375);
        letter-spacing: calc(100vw * 0.8 / 375);
    }

    .recruit-info_title_ja {
        font-size: calc(100vw * 13 / 375);
        letter-spacing: calc(100vw * 0.26 / 375);
    }

    .recruit-info_content {
        gap: calc(100vw * 24 / 375);
        width: calc(100vw * 295 / 375);
    }

    .recruit-info_item {
        gap: calc(100vw * 16 / 375);
        flex-wrap: wrap;
    }

    .recruit-info_label {
        font-size: calc(100vw * 13 / 375);
        letter-spacing: calc(100vw * 0.26 / 375);
        width: calc(100vw * 100 / 375);
    }

    .recruit-info_value {
        font-size: calc(100vw * 13 / 375);
        letter-spacing: calc(100vw * 0.26 / 375);
    }

    .recruit-info_value--multi {
        gap: calc(100vw * 4 / 375);
    }

    .recruit-info_divider {
        height: calc(100vw * 1 / 375);
    }
}

/* ===== Room Section - PC ===== */
.recruit-room {
    position: relative;
    width: 100%;
    max-width: calc(100vw * 1400 / 1400);
    margin: 0 auto;
    background-color: #e6e1da;
    padding: calc(100vw * 120 / 1400) 0;
}

.recruit-room_inner {
    position: relative;
    width: 100%;
    max-width: calc(100vw * 1200 / 1400);
    margin: 0 auto;
}

.recruit-room_header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: calc(100vw * 5 / 1400);
    margin-bottom: calc(100vw * 80 / 1400);
}

.recruit-room_title_en {
    font-family: 'Cormorant Garamond', serif;
    font-size: calc(100vw * 88 / 1400);
    font-weight: 500;
    line-height: 1;
    letter-spacing: calc(100vw * 1.76 / 1400);
    color: #bf9443;
    margin: 0;
}

.recruit-room_title_ja {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 18 / 1400);
    font-weight: 500;
    line-height: 1;
    letter-spacing: calc(100vw * 0.36 / 1400);
    color: #bf9443;
    margin: 0;
}

.recruit-room_cards {
    display: flex;
    justify-content: space-between;
    gap: calc(100vw * 36 / 1400);
    margin-bottom: calc(100vw * 64 / 1400);
}

.recruit-room_card {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 24 / 1400);
    width: calc(100vw * 376 / 1400);
}

.recruit-room_card_image {
    width: 100%;
    height: calc(100vw * 376 / 1400);
    overflow: hidden;
}

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

.recruit-room_card_content {
    display: flex;
    flex-direction: column;
    gap: calc(100vw * 24 / 1400);
}

.recruit-room_card_title {
    font-family: 'Noto Serif JP', serif;
    font-size: calc(100vw * 22 / 1400);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: calc(100vw * 0.44 / 1400);
    color: #4c5559;
    margin: 0;
}

.recruit-room_card_description {
    font-family: 'Noto Sans JP', sans-serif;
    font-size: calc(100vw * 14 / 1400);
    font-weight: 400;
    line-height: 2;
    letter-spacing: calc(100vw * 0.28 / 1400);
    color: #4c5559;
    margin: 0;
}

.recruit-room_btn {
    display: flex;
    align-items: center;
    gap: calc(100vw * 16 / 1400);
    margin-left: auto;
    text-decoration: none;
    transition: opacity 0.3s;
    justify-content: end;
}

.recruit-room_btn:hover {
    opacity: 0.7;
}

.recruit-room_btn span {
    font-family: 'Cormorant Garamond', serif;
    font-size: calc(100vw * 22 / 1400);
    font-weight: 500;
    line-height: 1.8;
    letter-spacing: calc(100vw * 0.44 / 1400);
    color: #bf9443;
    white-space: nowrap;
}

.recruit-room_btn_arrow {
    width: calc(100vw * 26 / 1400);
    height: calc(100vw * 26 / 1400);
    object-fit: contain;
}

/* ===== Room Section - SP ===== */
@media (max-width: 768px) {
    .recruit-room {
        padding: calc(100vw * 80 / 375) 0;
    }

    .recruit-room_inner {
        max-width: 100%;
    }

    .recruit-room_header {
        gap: calc(100vw * 5 / 375);
        margin-bottom: calc(100vw * 64 / 375);
    }

    .recruit-room_title_en {
        font-size: calc(100vw * 40 / 375);
        letter-spacing: calc(100vw * 0.8 / 375);
    }

    .recruit-room_title_ja {
        font-size: calc(100vw * 13 / 375);
        letter-spacing: calc(100vw * 0.26 / 375);
    }

    .recruit-room_cards {
        flex-direction: column;
        gap: calc(100vw * 64 / 375);
        margin-bottom: calc(100vw * 64 / 375);
        padding: 0  calc(100vw * 40 / 375);;
    }

    .recruit-room_card {
        gap: calc(100vw * 16 / 375);
        width: calc(100vw * 295 / 375);
    }

    .recruit-room_card_image {
        height: calc(100vw * 295 / 375);
    }

    .recruit-room_card_content {
        gap: calc(100vw * 16 / 375);
    }

    .recruit-room_card_title {
        font-size: calc(100vw * 16 / 375);
        letter-spacing: calc(100vw * 0.32 / 375);
    }

    .recruit-room_card_description {
        font-size: calc(100vw * 13 / 375);
        letter-spacing: calc(100vw * 0.26 / 375);
    }

    .recruit-room_btn {
        gap: calc(100vw * 14 / 375);
        padding: 0 calc(100vw * 40 / 375);
    }

    .recruit-room_btn span {
        font-size: calc(100vw * 20 / 375);
        letter-spacing: calc(100vw * 0.4 / 375);
    }

    .recruit-room_btn_arrow {
        width: calc(100vw * 24 / 375);
        height: calc(100vw * 24 / 375);
    }
}

