@charset "UTF-8";

.p_findjobs__lead {
    margin: 1.5em 0;
}

.p_employInfo__inner {
    margin-bottom: 80px;
}

.p_employ__table th:nth-of-type(1) {
    width: 360px;
}

/* R3-01-1: タイトル削除に伴い通常フローへ。パンくず⇔画像 12px（Figma準拠） */
.p_findjobsMv {
    margin: 12px 0 24px;
}

@media screen and (max-width: 768px) {
    .p_employ__table th:nth-of-type(1) {
        width: 180px;
    }

    /* R3-01-1: タイトル削除に伴い通常フローへ */
    .p_findjobsMv {
        margin: 12px 0 17px;
    }

    .p_findjobsMv .contentsInner {
        padding-left: 0;
        padding-right: 0;
    }
}

/* タブコンテナ */
.p_findjobs__tabGroup {
    position: relative;
}

.p_findjobs__tabList {
    display: flex;
    background-color: #e6e6e6;
    padding: 4px;
    border-radius: 10px;
}

.p_findjobs__tabHead {
    flex: 1;
    margin: 0;
}

.p_findjobs__tabBtn {
    width: 100%;
    padding: 14px 10px;
    border: none;
    background: transparent;
    color: #767676;
    font-size: 20px;
    line-height: 1.4;
    font-weight: bold;
    cursor: pointer;
    border-radius: 8px;
    transition: 0.3s;
}

.p_findjobs__tabBtn span {
    display: inline-block;
    text-decoration: inherit;
}

.p_findjobs__tabBtn[aria-selected="true"] {
    background-color: #068442;
    color: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

/* --- コンテンツ内デザイン (再現) --- */
.p_findjobs__container {
    display: flex;
    gap: 60px;
    gap: 82px;
    align-items: flex-start;
    padding-top: 40px;
}

.p_findjobs__main {
    flex: 1;
}

.p_findjobs__side {
    flex: 0 0 340px;
}

.findjobs__heading {
    margin-bottom: 20px;
    font-size: 22px;
    font-weight: bold;
}

/*.p_findjobs__heading {
    margin-bottom: 25px;
}*/

.p_findjobs__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    margin-bottom: 50px;
}

/* カード */
.p_findjobs__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 36px 2px 36px 2px;
    border: 2px solid #068442;
    border-radius: 8px;
    text-decoration: none;
    position: relative;
    background: #fff;
}

.p_findjobs__cardIcon {
    height: 80px;
    height: 106px;
    margin-bottom: 20px;
    margin-bottom: 8px;
}

.p_findjobs__cardTitle {
    color: #068442;
    font-weight: bold;
    font-size: 20px;
    line-height: 1.4;
    text-align: center;
}

/* フォーム & セレクト */
.p_findjobs__field {
    margin-bottom: 20px;
}

.p_findjobs__field label {
    display: block;
    font-size: 14px;
    font-weight: 700;
    margin-bottom: 8px;
}

.p_findjobs__fieldSub {
    font-size: 12px;
    color: #626264;
    margin-bottom: 5px;
}

.p_findjobs__submitBtn {
    width: 100%;
    margin-top: 24px;
    padding: 20px 55px 20px 70px;
}

/* SP */
@media screen and (max-width: 768px) {
    .p_findjobs__tabBtn {
        font-size: 16px;
        padding: 12px 4px 10px;
    }

    .p_findjobs__container {
        display: block;
        margin-bottom: 80px;
    }

    .p_findjobs__grid {
        display: flex;
        justify-content: space-around;
        gap: 8px;
    }

    .p_findjobs__card {
        padding: 6px 8px 16px 8px;
        width: calc(100% / 3);
    }

    .p_findjobs__cardIcon {
        height: auto;
    }

    .p_findjobs__cardTitle {
        font-size: 15px;
        text-align: center;
    }

    .p_findjobs__cardTitle span {
        display: inline-block;
    }

    .p_findjobs__side {
        flex: none;
        width: 100%;
    }
}


/* --- 共通パーツ: ラベル (c_label) --- */
.c_label {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 12px;
    font-size: 12px;
    font-weight: 700;
    border-radius: 4px;
    line-height: 1.2;
}

a:hover .c_label {
    text-decoration: none;
}

.c_label img {
    width: 14px;
    height: auto;
}

/* ラベルバリエーション */
.c_label.is_gray {
    background-color: #efefef;
}

.c_label.is_outline {
    border: 1px solid #1a8246;
    color: #1a8246;
    background: #fff;
}

.c_label.is_red {
    color: #d0021b;
    background: transparent;
    padding-left: 0;
}

.c_label.is_green {
    color: #1a8246;
    background: transparent;
    padding-left: 0;
}

/* --- セクションレイアウト --- */
.p_jobList {}

.p_jobList__block {
    margin-bottom: 40px;
}

.p_jobList__heading {
    /*display: flex;
        align-items: center;
        gap: 12px;*/
    /*    font-size: 22px;
    font-weight: bold;
    margin-bottom: 21px;*/
}

.p_jobCards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.p_jobCards.grid__4 {
    grid-template-columns: repeat(4, 1fr);
}

/* --- カードデザイン (p_jobCard) --- */
.p_jobCard {
    color: var(--Black, #000);
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    padding: 20px;
    display: flex;
    flex-direction: column;
    /*    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);*/
    transition: transform 0.2s, box-shadow 0.2s;
    border-radius: var(--Round-Small, 8px);
    border: 1.6px solid #E0E0E0;
    background: var(--White, #FFF);
    box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.08);
}

.p_jobCard:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

.p_jobCard__labels {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 20px;
}

.p_jobCard__title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: auto;
    /* 下部のリンクを揃える */
    display: -webkit-box;
    -webkit-line-clamp: 4;
    /* 最大4行に制限 */
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.p_jobCard__link {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 20px;
    text-decoration: none;
    font-weight: 700;
    font-size: 15px;
}

.p_jobCard__icon {
    width: 28px;
    height: 28px;
    background: url('/assets/img/icon_arrow.svg') no-repeat center / contain;
    transition: transform 0.2s;
}

.p_jobCard:hover .p_jobCard__icon {
    transform: translateX(4px);
}


.p_entry {
    border-radius: var(--Round-Medium, 12px);
    background: #F6F6F6;
    display: flex;
    width: 837px;
    padding: 43px 95px;
    flex-direction: column;
    align-items: center;
    gap: 10px;
    margin: 80px auto 1px;
}

.p_entry__title {
    color: var(--Primary-Orange, #DF571B);
    text-align: center;
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
    margin-bottom: 28px;
}

.p_entry__detail {
    display: flex;
    gap: 32px;
}

.p_entry__text {
    color: var(--Black, #000);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
}

.p_entry__btn {
    white-space: nowrap;
    padding-left: 47px;
    padding-right: 40px;
    border-radius: 8px;
    box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.12);
}
.p_entry__btn::after { right: 12px; }
.p_entry__btn::before { left: 12px; }

@media screen and (min-width: 769px) {
    .p_entry__detail { align-items: center; }
    .p_entry__btn {
        height: 72px;
        padding-left: 60px;
        padding-right: 52px;
    }
    .p_entry__btn::before { left: 22px; }
    .p_entry__btn::after { right: 14px; }
}
/* お問合わせ先オレンジ枠 (c_contactBar) の上下余白を半減
   module.css の padding: 20px を shoukai.css で 10px に上書き
   3月分非読込のため、index.html の同 class は影響なし（shoukai/index.html のみ反映） */
/*
.c_contactBar {
    padding-top: 10px;
    padding-bottom: 10px;
}
*/
@media screen and (max-width: 768px) {
    .p_search + .c_contactBar {
        margin-top: 0px;
        margin-bottom: 0px;
    }
    .p_entry {
        margin-top: 40px;
    }
}

/* --- Mobile (SP) --- */
@media screen and (max-width: 768px) {
    .p_jobList {
        padding-bottom: 40px;
    }

    .p_jobList__heading {
        font-size: 18px;
        margin-bottom: 20px;
    }

    .p_jobCards {
        grid-template-columns: 1fr;
        /* スマホは1列 */
        gap: 16px;
    }

    .p_jobCard {
        padding: 20px;
    }

    .p_jobCard__title {
        font-size: 15px;
    }

    .p_entry {
        width: 100%;
        display: block;
        padding: 28px 32px 40px;
    }

    .p_entry__title {
        font-size: 24px;
        margin-bottom: 16px;
    }

    .p_entry__detail {
        flex-direction: column;
        gap: 20px;
    }
}



.p_result__item {
    position: relative;
    font-size: 15px;
    line-height: 1.6;
    /* 160% */
    padding: 32px 32px;
    padding: 32px 32px 135px;
    border-radius: 12px;
    border: 2px solid #E0E0E0;
    background: #fff;
    box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.08);
}
.p_result__item + .p_result__item {
    margin-top: 24px;
}
/* ヘッダー部分 */
.p_tags {
    display: flex;
    justify-content: space-between;
    align-items: center;  /* 仕事番号と急募バッジの縦位置揃え */
    margin-bottom: 0;
    margin-bottom: 20px;
}

/* =========================================================
   .p_tags__col: ラベル群を flex 化
   親 .p_jobCard (<a>) のホバー下線が <span> 間の改行（半角スペース扱い）
   に引かれる問題の対策。flex 化でテキストノード非レンダリング。
   間隔は既存の .p_tags__item の margin-right: 8px で確保（変更不要）。
   ========================================================= */
.p_tags__col {
    display: flex;
    flex-wrap: wrap;
}
.p_jobCard .p_tags__col {
    align-items: center;
}

.p_tags__item {
    margin-right: 8px;
    display: inline-block;
    padding-top: 4px;
}

a:hover .p_tags__item {
    text-decoration: none !important;
}

.p_tags__branch {
    font-size: 13px;
    padding: 4px 8px;
    line-height: 140%;
    font-weight: 700;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: var(--Round-xSmall, 4px);
    border: 1px solid var(--Extra-light-Gray, #BBB);
    background: var(--White, #FFF);
}

.p_tags__type {
    color: var(--Black, #000);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    display: inline-flex;
    padding: 4px 8px;
    justify-content: center;
    align-items: center;
    gap: 2px;
    border-radius: var(--Round-xSmall, 4px);
    background: #EDEDED;
}

.p_tags__id {
    color: var(--Primary-Green, #068442);
    font-size: 16px;
    font-style: normal;
    font-weight: 700;
    line-height: 200%;
    padding-left: 23px;
    background: url('/assets/img/icon_sml_flag.svg') no-repeat center left;
    background-size: 20px;
}

.p_tags__standout {
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    line-height: 140%;
    padding-top: 0;
}

.p_tags__multiple {
    color: var(--Primary-Green, #068442);
    padding-left: 26px;
    background: url('/assets/img/icon_sml_multiple.svg') no-repeat center left;
    background-size: 22px;
    font-weight: bold;
}

.p_tags__urgent {
    color: #D62B1B;
    padding-left: 26px;
    background: url('/assets/img/icon_sml_fire.svg') no-repeat center left;
    background-size: 22px;
    font-weight: bold;
}

.p_tags__attention {
    color: #117FA4;
    padding-left: 26px;
    background: url('/assets/img/icon_attention_bulb.svg') no-repeat center left;
    background-size: 22px;
    font-weight: bold;
}

@media (min-width: 851px) {
    .p_tags__standout { font-size: 18px; }
    .p_tags__urgent,
    .p_tags__multiple,
    .p_tags__attention {
        background-size: 26px;
        padding-left: 30px;
    }
    .p_result__item .p_tags__urgent,
    .p_result__item .p_tags__multiple,
    .p_result__item .p_tags__attention { font-size: 18px; }
}

/* タイトル部分 */
.p_result__title {
    color: var(--Black, #000);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    margin-bottom: 24px;
}

/* メリットタグ */
.p_result__meritTags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 12px;
}

.p_result__merit {
    display: flex;
    padding: 4px 10px;
    justify-content: center;
    align-items: center;
    gap: 2px;
    border-radius: var(--Round-xSmall, 4px);
    background: var(--back, #F3F5F4);
    color: var(--Primary-Green, #068442);
    text-align: center;
    font-size: 13px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
}

/* スペック情報（2列レイアウト） */
.p_result__specGroup {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 40px;
    margin-bottom: 1px;
}

.p_result__specItem {
    width: auto;
    display: inline-flex;
    margin-bottom: 8px;
    font-size: 15px;
    margin-right: 32px;
    font-weight: 500;
}

.p_result__specItem dt {
    font-weight: bold;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    margin-right: 10px;
    line-height: 20px;
    padding-left: 24px;
    background: url('/assets/img/icon_sml_kind.svg') no-repeat center left;
    background-size: 20px auto;
}

.p_result__specItem .icon__kind {
    background: url('/assets/img/icon_sml_kind.svg') no-repeat center left;
    background-size: 20px auto;
}

.p_result__specItem .icon__pin {
    background: url('/assets/img/icon_sml_pin.svg') no-repeat center left;
    background-size: 20px auto;
}

.p_result__specItem .icon__bag {
    background: url('/assets/img/icon_sml_bag.svg') no-repeat center left;
    background-size: 20px auto;
}

.p_result__specItem .icon__time {
    background: url('/assets/img/icon_sml_time.svg') no-repeat center left;
    background-size: 20px auto;
}

.p_result__specItem .icon__scd {
    background: url('/assets/img/icon_sml_scd.svg') no-repeat center left;
    background-size: 20px auto;
}

.p_result__specItem .icon__night {
    background: url('/assets/img/icon_sml_night.svg') no-repeat center left;
    background-size: 20px auto;
}

.p_result__specItem .icon__money {
    background: url('/assets/img/icon_sml_money.svg') no-repeat center left;
    background-size: 20px auto;
}

.p_result__specItem dd {
    margin: 0;
}

.p_result__specItem.is_full {
    width: 100%;
}

.p_result__detail {
    padding: 28px;
    border-radius: var(--Round-Medium, 12px);
    background: var(--back, #F3F5F4);
    margin: 36px auto;
    font-size: 16px;
}

.p_result__infolist.c_dlList {
    margin-bottom: 1px;
}

.p_result__text {
    margin-top: 12px;
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%;
}

/* ボタンエリア */
.p_result__btnArea {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 16px;
    width: calc(100%);
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 20px 47px 32px;
}

.p_result__btn {}

.btn__detail {
    width: auto;
    font-size: 15px;
    line-height: 1.6;
    padding: 16px 52px 16px 24px;
    background-color: #fff;
    color: var(--Primary-Green);
    border: 2px solid var(--Primary-Green);
    box-shadow: 0 12px 24px 0 rgb(0 0 0 / 8%);
    flex: 1;
    border-radius: var(--Round-Small, 8px);
}

.btn__detail.is_open {
    border: 2px solid var(--Light-Gray, #666);
    color: var(--Light-Gray, #666);
}

.c_btn.btn__plus.is_open::after {
    background: url(/assets/img/icon_cross.svg) no-repeat center;
    background-size: 100%;
}

.btn__detail.is_open:hover,
.btn__detail.is_open:focus,
.btn__detail.is_open:active {
    color: var(--Light-Gray, #666);
}

.btn__entry {
    font-size: 15px;
    line-height: 1.6;
    padding-top: 18px;
    padding-bottom: 18px;
    box-shadow: 0 12px 24px 0 rgb(0 0 0 / 12%);
    flex: 1;
}

/* flex item default min-width:auto (= min-content) prevents equal split when
   .btn__entry's intrinsic min-content (longer text + larger .c_btn padding)
   exceeds container/2. Reset to 0 so flex: 1 actually distributes equally. */
.btn__detail,
.btn__entry {
    min-width: 0;
}

.p_search__container {
    display: flex;
    align-items: flex-start;
    gap: 60px;
    /* カラム間の余白（px指定） */
    margin: 0 auto;
}

/* 左カラム：サイドバー */
.side {
    width: 272px;
    /* サイドバーの幅を固定 */
    flex-shrink: 0;
}

.p_sideCondition {
    display: flex;
    padding: 28px;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
    align-self: stretch;
    border-radius: var(--Round-Medium, 12px);
    background: var(--back, #F3F5F4);
}

.p_sideCondition__Title {
    color: var(--Black, #000);
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    margin-bottom: 12px;
}

.p_sideCondition__Group {
    margin-bottom: 10px;
}

.p_sideCondition__Category {
    color: var(--Primary-Green, #068442);
    font-size: 14px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
}

.p_sideCondition__List {
    list-style: none;
    padding: 0;
    margin: 0;
}

.p_sideCondition__Item {
    color: var(--Dark-Gray, #333);
    font-size: 14px;
    padding-left: 1.4em;
    font-style: normal;
    font-weight: 500;
    line-height: 160%;
    position: relative;
}

/* 中ポチ（・）の再現 */
.p_sideCondition__Item::before {
    content: "・";
    position: absolute;
    left: 0;
}
.p_sideCondition__Item.markerNone::before {
    content: "";
}


/* 右カラム：メイン */
.p_result__main {
    flex: 1;
    min-width: 0;
    /* flex崩れ防止 */
}

.p_result__resultHeader {
    margin-bottom: 15px;
    display: flex;
    justify-content: space-between;
}

.p_control {
    display: flex;
    width: 92px;
    justify-content: space-between;
    align-items: center;
}

.p_control__item {
    border-radius: 6px;
    border: 2px solid var(--Primary-Green, #068442);
    background: var(--White, #FFF);
    box-shadow: 0 10px 16px 0 rgba(0, 0, 0, 0.08);
    display: flex;
    padding: 12px;
    width: 40px;
    height: 32px;
    justify-content: center;
    align-items: center;
}

.p_control__next {
    background: url('/assets/img/icon_next_green.svg') no-repeat center / 16px auto;
}

.p_control__prev {
    background: url('/assets/img/icon_prev_green.svg') no-repeat center / 16px auto;
}

.p_control__item[disabled="disabled"] {
    color: var(--Extra-light-Gray, #BBB);
    border: 2px solid var(--Extra-light-Gray, #BBB);
}

.p_control__item.p_control__next[disabled="disabled"] {
    background: url('/assets/img/icon_next_grey.svg') no-repeat center / 16px auto;
}

.p_control__item.p_control__prev[disabled="disabled"] {
    background: url('/assets/img/icon_prev_grey.svg') no-repeat center / 16px auto;
}

.p_controlBtns {
    margin-top: 40px;
}

.p_controlBtns__inner {
    display: flex;
    justify-content: center;
    gap: 16px;
    margin-bottom: 20px;
}

.p_controlBtns__txt {
    color: var(--Light-Gray, #666);
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 500;
    line-height: 170%;
}

.p_controlBtns__item {
    border-radius: var(--Round-Small, 8px);
    border: 2px solid var(--Primary-Green, #068442);
    background: var(--White, #FFF);
    box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.08);
    display: flex;
    padding: 16px 61px;
    width: 180px;
    justify-content: center;
    align-items: center;
    color: var(--Primary-Green, #068442);
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
}

.p_controlBtns__next {
    padding: 16px 61px 16px 24px;
    background: url('/assets/img/icon_next_green.svg') no-repeat center right 24px / 26px auto;
}

.p_controlBtns__prev {
    padding: 16px 24px 16px 61px;
    background: url('/assets/img/icon_prev_green.svg') no-repeat center left 24px / 26px auto;
}

.p_controlBtns__item[disabled="disabled"] {
    color: var(--Extra-light-Gray, #BBB);
    border: 2px solid var(--Extra-light-Gray, #BBB);
}

.p_controlBtns__next[disabled="disabled"] {
    background-image: url('/assets/img/icon_next_grey.svg');
}

.p_controlBtns__prev[disabled="disabled"] {
    background-image: url('/assets/img/icon_prev_grey.svg');
}

.p_controlBtns__next:focus,
.p_controlBtns__next:hover {
    background-position: center right 21px;
}

.p_controlBtns__prev:focus,
.p_controlBtns__prev:hover {
    background-position: center left 21px;
}

.p_result__resultCount {
    display: flex;
    align-items: flex-end;
}

.p_result__countNumber {
    color: var(--Primary-Green, #068442);
    font-family: Roboto;
    font-size: 36px;
    font-style: normal;
    font-weight: 500;
    line-height: 100%;
    letter-spacing: -1.44px;
}

.p_result__countUnit {
    letter-spacing: initial;
    margin-left: 4px;
    display: flex;
    margin-right: 17px;
    width: 17px;
    height: 36px;
    flex-direction: column;
    justify-content: flex-end;
    color: var(--Black, #000);
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 170%;
}

.p_result__countRange {
    color: var(--Black, #000);

    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 170%;
}

.p_sideCondition__Btn {
    display: flex;
    padding: 18px 50px 18px 75px;
    padding: 14px 50px 14px 20px;
    justify-content: center;
    align-items: center;
    align-self: stretch;
    width: 100%;
    margin-top: 28px;
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
    box-shadow: 0 12px 24px 0 rgb(0 0 0 / 12%);
}

.btn__entry.c_btn::after,
.p_sideCondition__Btn.c_btn::after {
    right: 20px;
}

.btn__entry.c_btn:hover::after,
.p_sideCondition__Btn.c_btn:hover::after {
    right: 17px;
}

.c_btn.btn__sub:hover::after {
    right: 21px;
}

.jobnavi__entry.c_btn:hover::after {
    right: 17px;
}

.p_entry__btn.c_btn:hover::after {
    right: 11px;
}


@media (max-width: 1240px) {
    .p_result__btnArea {
        padding: 40px;
    }
}

@media (max-width: 850px) {
    .p_search__container {
        flex-direction: column;
        gap: 20px;
    }

    .side {
        width: 100%;
    }

    .p_sideCondition {
        display: block;
    }

    .p_result__btnArea {
        grid-template-columns: 1fr;
        /*        padding: 0 40px;*/
        padding: 20px;
    }

    .btn__detail,
    .btn__entry {
        width: 100%;
    }

    .p_result__item {
        padding: 16px 16px 180px;
    }

    /* jobs/search_result の SP レイアウト
       PC: type/branch/id インラインで 1 行 + 急募 右（既存 base .p_tags の flex そのまま）
       SP: row1 = type+branch / row2 = id 左 + 急募 右
       仕掛け: align-items: flex-end で 急募 div を col 最終行（id 行）と揃える */
    .p_tags {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
        margin-bottom: 8px;
    }
    .p_tags__col {
        flex: 1 1 auto;     /* col grow → NW/TK/shoukai (子 1 つ) でも block 同等幅 */
        min-width: 0;       /* 内部 wrap 時のオーバーフロー防止 */
    }
    .p_tags__col .p_tags__id {
        flex-basis: 100%;   /* col 内で独立行 → SP 限定の「仕事番号 独立行 左寄せ」 */
        margin-top: 4px;
    }
    /* 「急募」span 縦書き bug 回避
       span 親の wrapper <div>（class なし）が flex item として縮むと、span 内テキストが
       日本語文字単位で wrap して「急 / 募」になる。span に white-space: nowrap を付与し
       テキストの min-content をフル幅にすると、wrapper div の min-content も連動して
       縮まなくなる。flex-shrink は span 直接には効かない（span は flex item ではない）。 */
    .p_result__item .p_tags__urgent,
    .p_result__item .p_tags__multiple,
    .p_result__item .p_tags__attention {
        white-space: nowrap;
        font-size: 16px;
        background-size: 20px;
        padding-left: 23px;
        line-height: 200%;
    }
    /* 急募 と 仕事番号 を SP で視覚的に同じ行に揃える
       原因: .p_tags__id (line-height:200% = 32px line box) と
             .p_tags__urgent (継承 ~1.5 = 24px line box) で line box 差 8px
       → align-items: flex-end で bottom 揃え時、テキスト中心が 4px ズレる
       対策: wrapper div 経由で line-height を 200% に揃える（span に継承）
       スコープ: :not(.p_tags__col) で wrapper div だけを狙い、他 3 ページに影響なし
       (NW/TK/shoukai は .p_tags の子が col のみ → 該当要素なし) */
    .p_tags > div:not(.p_tags__col) {
        line-height: 200%;
    }

    .p_controlBtns__inner {
        gap: 16px;
    }

    .p_controlBtns__item {
        width: auto;
    }

    .p_controlBtns__next {
        padding: 12px 36px 12px 16px;
        background-position: center right 8px;
    }

    .p_controlBtns__prev {
        padding: 12px 16px 12px 36px;
        background-position: center left 8px;
    }

}

.p_noticemail {
    box-sizing: border-box;
    padding: 24px;
    border-radius: var(--Round-Medium, 12px);
    border: 2px solid var(--Light-Green, #B1D6C3);
    background: var(--White, #FFF);
    text-align: center;
}

.p_noticemail__figure {
    margin-bottom: 8px;
}

.p_noticemail__img {
    max-width: 100%;
    height: auto;
    display: inline-block;
}

.p_noticemail__title {
    color: var(--Primary-Green, #068442);
    text-align: center;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    margin-bottom: 12px;
}

.p_noticemail__desc {
    font-size: 14px;
    line-height: 1.6;
    text-align: left;
    margin-bottom: 28px;
}

.p_noticemail__lead {
    color: var(--Primary-Green, #068442);
    text-align: center;
    font-size: 15px;
    font-style: normal;
    font-weight: 700;
    line-height: 160%;
}

.p_noticemail__btn {
    width: 100%;
    margin: 16px auto 24px;
    text-align: left;
    justify-content: flex-start;
}

/* 矢印アイコン（CSSでの簡易再現） */
.p_noticemail__arrow {
    display: inline-block;
    width: 20px;
    height: 2px;
    background-color: currentColor;
    margin-left: 10px;
    position: relative;
}

.p_noticemail__arrow::after {
    content: '';
    position: absolute;
    right: 0;
    top: -4px;
    width: 6px;
    height: 6px;
    border-top: 2px solid currentColor;
    border-right: 2px solid currentColor;
    transform: rotate(45deg);
}

.p_noticemail__note {
    color: var(--Dark-Gray, #333);
    text-align: left;
    font-size: 13px;
    font-style: normal;
    font-weight: 500;
    line-height: 150%;
}

.p_jobFeature {
    margin: 0  auto 72px;
}

.p_jobReason__inner {
    padding: 0 59px;
}

.p_conditions {
    display: flex;
    padding: 48px 64px 64px 64px;
    flex-direction: column;
    /*align-items: flex-end;*/
    /*    gap: 32px;*/
    align-self: stretch;
    border-radius: var(--Round-Medium, 12px);
    background: var(--back, #F3F5F4);
}

.p_conditions__block {}

/* p_conditions ブロック間余白の統一＋削減 */
.p_conditions__block ~ .p_conditions__block {
    margin-top: 32px;     /* 線の上 */
    padding-top: 32px;    /* 線の下 */
    margin-bottom: 0;
    border-top: 1px solid #86C1AA;
}
.p_conditions__block:last-of-type { border-bottom: none; }

/* レイアウト：グリッド配置 */
.p_conditions__group {
    margin-bottom: 30px;
}
.p_conditions__block *:last-child {
    margin-bottom: 0;
}
.p_conditions__category {
    margin-bottom: 16px;
    font-weight: bold;
}

.p_conditions__list {
    display: flex;
    flex-wrap: wrap;
    padding-left: 20px;
    row-gap: 16px;
    /* 親からのインデント */
}

.p_conditions__item {
    width: 50%;
    /* 2カラム */
    /*    margin-bottom: 12px;*/
}

.p_conditions__subGroup {
    margin-top: 24px;
}

.p_conditions__category~.p_conditions__subGroup {
    margin-left: 12px;
}

.c_btn.btn__narrow {
    max-width: 335px;
}


@media (max-width: 768px) {
    .p_conditions__item {
        width: 100%;
    }

    .p_conditions {
        padding: 24px;
    }

    .p_conditions__btn {
        flex-flow: column-reverse;
        gap: 32px;
        margin: 1px auto 20px;
    }

    .p_jobCards {
        display: flex;
        flex-direction: column;
    }

    .p_jobReason__inner {
        padding: 20px;
    }

    .p_jobReason__inner {
        padding: 0;
    }

}

.p_findjobsSearchResult__lead {
    font-size: 16px;
    margin-bottom: 40px;
}

section#findjobsSearchResult_sec1 {
    margin-top: 72px;
}

.p_index {
    padding-bottom: 40px;
    padding-top: 28px;
    border-top: 1px solid #BBB;
}

.p_index__inner {
    margin-bottom: 36px;
}

.p_index .c_col__2>* {
    margin-bottom: 36px;
}

.p_index_title {
    color: var(--Black, #000);
    font-size: 22px;
    font-style: normal;
    font-weight: 700;
    line-height: 172%;
    margin-bottom: 20px;
}

.p_index_title span {
    color: var(--Primary-Green, #068442);
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 172%;
}

.c_indexbox {
    padding: 36px 44px;
    align-self: stretch;
    border-radius: var(--Round-Large, 16px);
    background: var(--back, #F3F5F4);
}

.c_indexbox ul {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 50px;
    row-gap: 33px;
}

.c_indexbox ul>li {
    width: calc((100% - 150px) / 4);
}

.c_indexbox__link {
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    min-height: 30px;
    padding: 4px 36px 0 0;
    cursor: pointer;
    width: 100%;
    gap: 8px;
    text-decoration: none;
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    background: url('/assets/img/icon_arrow.svg') no-repeat center right 2px;
    background-size: 25px auto;
    transition: all 0.1s;
}

.c_indexbox__link:hover {
    background-position: center right;
}

.c_pageAnchor {
    margin-bottom: 24px;
}

.c_pageAnchor>ul {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
    gap: 16px;
}

.c_pageAnchor>ul>li {
    width: calc((100% - 48px) / 4);
    display: flex;
}

.c_pageAnchor__link {
    border-radius: 8px;
    border: 1px solid var(--resona-green, #00A365);
    background: var(--White, #FFF);
    box-shadow: 0 12px 20px 0 rgba(0, 0, 0, 0.08);
    display: flex;
    width: 100%;
    padding: 10px 2px;
    justify-content: center;
    align-items: center;
    gap: 10px;
    color: var(--Black, #000);
    text-align: center;
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
}

.c_pageAnchor__link span {
    position: relative;
    display: inline-flex;
    padding-right: 30px;
    background: url('/assets/img/icon_down.svg') no-repeat center right;
    background-size: 18px;
    transition: all 0.1s;
}

.c_pageAnchor__link:hover span {
    background-position: right calc(50% + 3px);
}

@media screen and (max-width: 910px) {
    .c_pageAnchor__link .u_only_sp {
        display: block;
    }

    .c_pageAnchor__link span {
        padding-left: 30px;
    }
}

@media screen and (max-width: 768px) {
    .c_pageAnchor>ul>li {
        width: calc((100% - 16px) / 2);
    }

    .c_indexbox {
        padding: 20px;
    }

    .c_indexbox ul {
        flex-direction: column;
    }

    .c_indexbox ul>li {
        width: 100%;
    }
}

.p_comment {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-top: 30px;
    gap: 28px;
    gap: 30px;
}

.p_comment__content {
    display: flex;
    width: 353px;
    width: 335px;
    padding: 20px 40px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    border-radius: 8px;
    background: var(--Smoke-Gray, #F7F7F7);
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
    position: relative;
}

.p_comment__content:after {
    content: '';
    position: absolute;
    display: inline-block;
    z-index: 99;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    right: -22px;
    border-width: 14px 0 14px 22px;
    border-style: solid;
    border-color: transparent transparent transparent #F6F6F6;
    transition: all 0.2s;
}

.p_comment__img {
    width: 103px;
}

@media screen and (max-width: 768px) {
    .p_comment__content {
        max-width: 100%;
        width: auto;
        margin: auto;
        font-size: 14px;
        text-align: left;
        padding: 20px 10px 20px 16px;
    }
}


/* 「履歴書〈JIS規格〉」のダウンロード ラベルが固定 270px で内容（約275px）
   より狭く改行されていた問題の解消。min-width で従来の最小レイアウト維持しつつ、
   ラベルは content に合わせて伸びるように。 */
.p_entryGuide__download .c_box__downloadLabel {
    width: auto;
    min-width: 270px;
    flex-shrink: 0;
}

.p_entryGuide__download {
    row-gap: 28px;
}

@media screen and (max-width: 768px) {
    .p_entryGuide__download {
        /* SP で ⑦(p_intro__download) 同等の左右余白に揃え、
           「履歴書〈JIS規格〉」のダウンロード ラベルを 1 行化（base 36px 44px → 24px 16px） */
        padding: 24px 16px;
        box-sizing: border-box;
    }
    .p_entryGuide__download .c_box__downloadLabel {
        width: auto;
        min-width: 0;
    }
}


.p_retired__header {
    background-color: var(--Primary-Green);
    color: #ffffff;
    overflow: hidden;
    border-radius: 16px;
    max-width: 1248px;
    margin: 16px auto 0;
}

.p_retired__headerInner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 40px;
    padding: 58px 72px 33px;
}

.p_retired__headerText {}

.p_retired__title {
    color: var(--White, #FFF);
    font-size: 52px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    margin-bottom: 17px;
}

.p_retired__lead {
    color: var(--White, #FFF);
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
}

/* R3-17: りそにゃは PC(≥1025px) で absolute 化しフローから外す（下記 @media）。
   これでバナー高さはテキストのみで決まり、overflow:hidden による下部見切れも解消。
   旧: margin-bottom:-74px で下へ食い込ませていたが、overflow:hidden にクリップされ見切れの原因だったため削除。
   padding-right: 75px は :after「りそにゃ」ラベル用スペース確保。SP は @media(max-width:1024px) で通常フロー維持。 */
.p_retired__headerVisual {
    position: relative;
    padding-right: 75px;
}

.p_retired__headerVisual:after {
    content: "りそにゃ";
    position: absolute;
    right: 0;
    bottom: 8px;
    margin-left: 15px;
    font-size: 15px;
    font-weight: bold;
    white-space: nowrap;
}

.p_retired__headerVisual img {
    display: block;
    height: auto;
}

/* R3-17: PC(≥1025px) — りそにゃを absolute 化。バナー高さはテキストのみで決定し、
   overflow:hidden による下部見切れを解消（りそにゃ 370×250 はテキスト高≈300px 内に収まる）。
   right:72px は headerInner の左右 padding(72px) と揃え、現状の右位置を再現。
   headerText の padding-right(=りそにゃ幅445px+余白) でテキストがりそにゃに被らない右余白を確保。
   SP(≤1024px)は下記 @media で通常フロー（縦積み）を維持するため未適用。 */
@media (min-width: 1025px) {
    .p_retired__header {
        position: relative;
    }
    .p_retired__headerVisual {
        position: absolute;
        right: 72px;
        bottom: 0;
    }
    .p_retired__headerText {
        padding-right: 460px;
    }
}

.p_retired__body {
    padding: 40px 0 1px;
}

.p_retired__bodyInner {
    max-width: 1100px;
    margin: 0 auto;
}

.p_retired__grid {
    display: flex;
    gap: 40px;
}

.p_retired__card {
    flex: 1;
    padding: 28px 26px;
    display: flex;
    flex-direction: column;
    border-radius: var(--Round-Small, 8px);
    border: 2px solid #E0E0E0;
    background: var(--White, #FFF);
    box-shadow: 0 12px 24px 0 rgba(0, 0, 0, 0.06);
}

.p_retired__cardTitle {
    color: var(--Primary-Green, #068442);
    text-align: center;
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
    margin-bottom: 20px;
}

.p_retired__cardText {
    color: var(--Black, #000);
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
    min-height: 186px;
    margin-bottom: 20px;
}

.p_retired__cardNote {
    color: var(--Black, #000);
    font-size: 15px;
    font-style: normal;
    letter-spacing: -0.4px;
    font-weight: 500;
    line-height: 170%;
}


.p_retired__link {
    margin-top: 28px;
}

.c_btn.btn__wide {
    width: 100%;
}



@media (max-width: 1280px) {
    .p_retired__header {
        width: auto;
        margin: auto 16px;
    }

    .p_retired__headerInner {
        padding: 28px 30px 33px;
    }

    .p_retired__bodyInner {
        max-width: 100%;
        width: auto;
    }

}

@media (max-width: 1024px) {
    .p_retired__grid {
        text-align: left;
    }

    .p_retired__title {
        font-size: 42px;
    }

    .p_retired__lead {
        font-size: 15px;
        margin-right: 20px;
    }

    .p_retired__headerInner,
    .p_retired__grid {
        flex-direction: column;
    }

    .p_retired__cardText {
        min-height: 0;
    }

    .p_retired__title {
        font-size: 28px;
    }

    .p_retired__headerVisual {
        margin: 30px auto 0;
        max-width: 60vw;
        padding-left: 50px;
    }
}

/* R3-17追加: SP(≤768px) index りそにゃを 180px に拡大＋バナー下端接地
   （resonet/jobreturn の p_retiredDetail__ 系と同一 180px で3ページ統一）*/
@media (max-width: 768px) {
    .p_retired__headerInner {
        padding-bottom: 0;          /* 接地: 下の 33px 隙間を除去 */
    }
    .p_retired__headerVisual {
        max-width: none;            /* 60vw 制限を解除して 180px 固定に */
        padding-left: 0;           /* 拡大時の横あふれ回避（:after ラベル用 padding-right:75px は維持）*/
        margin: 30px auto 0;
    }
    .p_retired__headerVisual img {
        width: 180px;
    }
}

.p_retiredDetail__banner {
    background-color: var(--Primary-Green);
    color: #ffffff;
    border-radius: 16px;
    max-width: 1248px;
    margin: 16px auto 0;
    display: flex;
    align-items: center;
}

.p_retiredDetail__bannerInner {
    width: 100%;
    margin: 0 auto;
    padding: 34px 104px 34px 75px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
}

.p_retiredDetail__bannerTitle {
    color: var(--White, #FFF);
    font-size: 52px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
}

/* 詳細ページ用の小型バナー。retired__headerVisual と同パターン。padding-right:75px は :after「りそにゃ」ラベル用スペース。 */
/* R3-17派生（仕様=接地）: りそにゃ下端を緑パネル下端にぴったり(0px)接地。
   旧 margin-bottom:-50px は Inner の padding-bottom との差分で +22px はみ出し、align-items:center 依存で
   バンドごとにズレ量が変わり不安定だった。→ PC は下記 @media(min-width:769px) で absolute 化し
   bottom:0（padding 非依存で正確に接地。index headerVisual と同方式）。SP(≤768px)は縦積みで別途 margin/padding 接地。 */
.p_retiredDetail__bannerVisual {
    position: relative;
    padding-right: 75px;
}

/* R3-17派生: PC(≥769px) りそにゃを absolute 化しパネル下端に 0px 接地。
   親 .p_retiredDetail__bannerInner が position:relative のため、それを基準に bottom:0＝パネル下端（padding 非依存）。
   right は現状の水平位置＝bannerInner の padding-right を再現（>1280帯=104px／≤1280帯は下記 @media で 28px）。 */
@media (min-width: 769px) {
    .p_retiredDetail__bannerVisual {
        position: absolute;
        right: 104px;
        bottom: 0;
        margin-bottom: 0;
    }
}

/* R3-17派生: PC ≤1280 帯は bannerInner の padding-right が 28px（下記 @media(max-width:1280px)）のため
   水平位置を右 28px に合わせる。min-width:769 併用で SP(縦積み・in-flow)には効かせない。 */
@media (min-width: 769px) and (max-width: 1280px) {
    .p_retiredDetail__bannerVisual {
        right: 28px;
    }
}

.p_retiredDetail__bannerVisual:after {
    content: "りそにゃ";
    position: absolute;
    right: 0;
    bottom: 8px;
    margin-left: 15px;
    font-size: 15px;
    font-weight: bold;
    white-space: nowrap;
}

.p_retiredDetail__bannerVisual img {
    display: block;
    height: auto;
}

.p_retiredDetail__inner {
    margin: 40px auto 0;
}

.p_retiredDetail__heading {
    color: var(--Primary-Green, #068442);
    font-size: 28px;
    font-style: normal;
    font-weight: 700;
    line-height: 172%;
    margin-bottom: 20px;
}

.p_retiredDetail__text {
    color: var(--Black, #000);
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
}

.c_btn.btn__auto {
    width: auto;
    padding: 22px 62px 22px 24px;
}

@media (max-width: 1280px) {
    .p_retiredDetail__banner {
        max-width: 100%;
        width: auto;
        margin: 16px;
    }

    .p_retiredDetail__bannerInner {
        padding: 28px;
        min-height: 180px;
    }

    .p_retiredDetail__bannerTitle {
        font-size: 32px;
    }
}

@media (max-width: 768px) {
    /* R3-17追加: SP りそにゃを 180px に拡大＋バナー下端接地（index系と同一 180px で3ページ統一）*/
    .p_retiredDetail__bannerVisual {
        padding-left: 0;           /* 拡大時の横あふれ回避（:after ラベル用 padding-right:75px は維持）*/
        margin-top: 30px;
        margin-bottom: 0;          /* 接地: 下端合わせ（負マージン無し）*/
        align-self: center;        /* SPは縦積み。横方向は中央寄せを明示（接地は margin/padding で処理）*/
    }

    .p_retiredDetail__bannerVisual img {
        width: 180px;              /* 147px → 180px（約1.2倍・3ページ統一）*/
    }

    .p_retiredDetail__banner {
        height: auto;
        padding: 40px 0 0;         /* 接地: 下 padding を除去 */
    }

    .p_retiredDetail__bannerInner {
        flex-direction: column;
        text-align: center;
        padding-bottom: 0;         /* 接地: 内側の下 padding を除去 */
    }

    .p_retiredDetail__bannerTitle {
        font-size: 24px;
    }

    .c_btn.btn__auto {
        width: 100%;
    }
}

@media screen and (min-width: 769px) {
.c_btn.btn__half {
    width: auto;
    min-width: 48%;
}
}


/* ========================================
   先輩インタビューページ（トップ・詳細）専用スタイル
======================================== */

/* ========================================
   1. トップページ用スタイル
======================================== */

/* リード文 */
.p_interview__lead {
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 40px;
}

/* 注釈 */
.p_interview__note {
    font-size: 14px;
    line-height: 1.6;
    margin-bottom: 48px;
    color: #333;
}

/* セクション */
.p_interview__section {
    margin-bottom: 80px;
    scroll-margin-top: 120px;
}

.p_interview__section:last-child {
    margin-bottom: 0;
}

/* セクション見出し */
.section__heading {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 24px;
    font-weight: 700;
    color: #000;
    margin-bottom: 40px;
    padding-bottom: 16px;
    border-bottom: 2px solid #068442;
}

.section__icon {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
}

/* カードグリッド */
.interview__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
}

.interview__grid_2col {
    grid-template-columns: repeat(2, 1fr);
}

/* カード型レイアウト（デザインカンプ完全再現） */
.interview__card {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 24px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    transition: all 0.3s;
    height: 100%;
    box-sizing: border-box;
    text-decoration: none;
    color: inherit;
}

.interview__card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    text-decoration: none;
    color: inherit;
}

/* ラベル（吹き出し） */
.interview__label {
    background-color: #E8F0EA;
    color: #000;
    font-size: 15px;
    font-weight: 700;
    padding: 6px 16px;
    border-radius: 4px;
    position: relative;
    margin-bottom: 24px;
}

/* 吹き出しの尻尾 */
.interview__label::after {
    content: "";
    position: absolute;
    top: 100%;
    left: 20px;
    border-width: 8px 8px 0 8px;
    border-style: solid;
    border-color: #E8F0EA transparent transparent transparent;
}

/* コンテンツ中央（アバターとテキスト） */
.interview__body {
    display: flex;
    gap: 16px;
    flex-grow: 1;
    margin-bottom: 24px;
}

/* アバター（左側のアイコン） */
.interview__avatar {
    flex-shrink: 0;
}

.interview__avatar img {
    width: 110px;
    height: auto;
}

/* テキスト（右側の本文） */
.interview__text {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    color: #333;
    margin: 0;
}

/* フッター（詳細を見るボタン領域） */
.interview__footer {
    display: flex;
    justify-content: flex-end;
    margin-top: auto;
}

/* リンク */
.interview__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #000;
    text-decoration: none;
    transition: all 0.3s;
}

/* hover: カード内テキストを緑＋下線（リンク識別） */
.interview__card:hover .interview__label,
.interview__card:hover .interview__text,
.interview__card:hover .link__text,
.interview__card:hover .p_jobCard__link {
    color: #068442;
    text-decoration: underline;
}

.link__text {
    font-size: 15px;
    font-weight: 700;
}

.link__icon {
    width: 24px;
    height: 24px;
    transition: transform 0.3s;
}

.interview__card:hover .link__icon {
    transform: translateX(4px);
}
.interview__card:hover .p_jobCard__icon { transform: translateX(4px); }


/* ========================================
   2. 詳細ページ用スタイル
======================================== */

/* プロフィールエリア */
.p_interviewDetail__profile {
    display: flex;
    align-items: center;
    gap: 32px;
    margin-bottom: 40px;
}

.profile__avatar {
    flex-shrink: 0;
}

.profile__avatar img {
    width: 110px;
    height: auto;
}

.profile__info {
    flex-grow: 1;
    background-color: #f8faf9;
    padding: 32px;
    border-radius: 8px;
    position: relative;
}

/* 吹き出しの尻尾（左側） */
.profile__info::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -12px;
    transform: translateY(-50%);
    border-width: 12px 12px 12px 0;
    border-style: solid;
    border-color: transparent #f8faf9 transparent transparent;
}

.profile__label {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 16px;
    padding-bottom: 16px;
    border-bottom: 1px solid #e0e0e0;
}

.profile__quote {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    margin-bottom: 16px;
}

.profile__name {
    text-align: right;
    font-size: 14px;
    font-weight: 700;
}

@media screen and (max-width: 768px) {
    .p_interviewDetail__profile {
        gap: 12px;
    }
    .profile__avatar {
        width: 20%;
    }
    .profile__avatar img {
        width: 100%;
        height: auto;
    }
    .profile__info {
        width: 80%;
        padding: 22px;
    }
    .profile__info::before {
        left: -8px;
        border-width: 8px 8px 8px 0;
    }
    .profile__quote {
        font-size: 16px;
    }
}

/* イントロダクションテキスト */
.p_interviewDetail__intro {
    font-size: 15px;
    line-height: 1.8;
    margin-bottom: 64px;
}

/* Q&Aセクション */
.p_interviewDetail__qa {
    margin-bottom: 56px;
}

.qa__heading {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 24px;
    line-height: 1.5;
}

.qa__icon {
    width: 28px;
    height: 28px;
}

.qa__content {
    display: flex;
    gap: 40px;
}

.qa__text {
    flex: 1;
    font-size: 15px;
    line-height: 1.8;
}

.qa__image {
    flex-shrink: 0;
    width: 40%;
}

.qa__image img {
    width: 100%;
    border-radius: 8px;
}
.qa__image svg {
    max-width: 100%;
    height: auto;
}
@media screen and (min-width: 769px) {
  .p_closeup__section .qa__image img {
    display: block;
    margin-inline: auto;   /* = 左右マージンauto → 横センタリング */
  }
}
.p_closeup__section .qa__image img.u_Wper60 {
    display: block;
    margin-inline: auto;   /* = 左右マージンauto → 横センタリング */
    width: 60%;
}

@media screen and (min-width: 769px) {
    .p_interviewDetail__qa .qa__image {
        width: 25%;
    }
}

/* 下部アクションボタン */
.p_interview__actions {
    margin-top: 64px;
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
}

.p_interviewDetail__actions {
    display: flex;
    justify-content: center;
    gap: 24px;
    margin-top: 80px;
    margin-bottom: 80px;
}

.action__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 380px;
    padding: 20px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 700;
    text-decoration: none;
    transition: all 0.3s;
}

.action__btn--primary {
    background-color: #068442;
    color: #fff;
    border: 2px solid #068442;
}

.action__btn--primary:hover {
    background-color: #045a2e;
    color: #fff;
}

.action__btn--secondary {
    background-color: #fff;
    color: #068442;
    border: 2px solid #068442;
}

.action__btn--secondary:hover {
    background-color: #f0f8f4;
}


/* ========================================
   3. レスポンシブ対応（トップ＆詳細共通）
======================================== */

/* タブレット */
@media screen and (max-width: 1024px) {
    .interview__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .interview__grid_2col {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* スマートフォン */
@media screen and (max-width: 768px) {
    /* トップページ用 */
    .p_interview__lead {
        font-size: 15px;
        margin-bottom: 32px;
    }

    .p_interview__note {
        font-size: 13px;
        margin-bottom: 40px;
    }

    .p_interview__section {
        margin-bottom: 60px;
    }

    .section__heading {
        font-size: 20px;
        gap: 10px;
        margin-bottom: 28px;
        padding-bottom: 12px;
    }

    .section__icon {
        width: 24px;
        height: 24px;
    }

    .interview__grid,
    .interview__grid_2col {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .interview__card {
        padding: 20px;
    }

    .interview__label {
        font-size: 13px;
        padding: 4px 12px;
        margin-bottom: 16px;
    }

    .interview__label::after {
        left: 16px;
    }

    .interview__body {
        gap: 12px;
        margin-bottom: 20px;
    }

    .interview__avatar img {
        width: 80px;
    }

    .interview__text {
        font-size: 14px;
    }

    .link__text {
        font-size: 14px;
    }

    .link__icon {
        width: 20px;
        height: 20px;
    }

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

    .qa__image {
        width: 100%;
    }

    .p_interviewDetail__actions {
        flex-direction: column;
        gap: 16px;
    }

    .action__btn {
        width: 100%;
    }
}

/* ========================================
   よくあるご質問ページ専用スタイル
======================================== */

/* リード文 */
.p_faq__lead {
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 48px;
    color: #333;
}

/* Q&A リスト */
.p_faq__list {
    border-top: 1px solid #ddd;
}

/* Q&A アイテム（details/summary による開閉） */
.p_faq__item {
    border-bottom: 1px solid #ddd;
}

.p_faq__summary {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 8px;
    cursor: pointer;
    list-style: none;
    transition: background-color 0.2s ease;
}

.p_faq__summary::-webkit-details-marker {
    display: none;
}

.p_faq__summary:hover {
    background-color: #f5fbf7;
}

/* Q / A ラベル */
.p_faq__marker {
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    font-weight: 700;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    margin-top: 2px;
}

.p_faq__marker--q {
    background-color: #068442;
    color: #fff;
}

.p_faq__marker--a {
    background-color: #fff;
    color: #068442;
    border: 2px solid #068442;
}

/* 質問テキスト */
.p_faq__question {
    flex: 1;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.7;
    padding-top: 4px;
}

/* 開閉アイコン（+/-） */
.p_faq__icon {
    flex-shrink: 0;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid #068442;
    position: relative;
    margin-top: 6px;
}

.p_faq__icon::before,
.p_faq__icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    background-color: #068442;
    transform: translate(-50%, -50%);
}

.p_faq__icon::before {
    width: 12px;
    height: 2px;
}

.p_faq__icon::after {
    width: 2px;
    height: 12px;
    transition: transform 0.3s ease;
}

details[open] .p_faq__icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

/* 回答エリア */
.p_faq__answer {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    padding: 4px 8px 24px;
}

.p_faq__answer-text {
    flex: 1;
    font-size: 16px;
    line-height: 1.9;
    color: #333;
    padding-top: 4px;
}

/* Q&A 開閉アニメ — interpolate-size + ::details-content（モダンブラウザのみ、非対応はネイティブ瞬時切替に degrade） */
.p_faq__list {
    interpolate-size: allow-keywords;
}

.p_faq__item::details-content {
    height: 0;
    overflow: clip;
    transition: height 0.3s ease, content-visibility 0.3s allow-discrete;
}

.p_faq__item[open]::details-content {
    height: auto;
}


/* ========================================
   職業紹介ページ専用スタイル
======================================== */

/* リード文 */
.p_intro__lead {
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 56px;
    color: #333;
}

/* セクション */
.p_intro__section {
    margin-bottom: 80px;
}

/* 仕組み図 */
.p_intro__chart {
    margin: 32px auto;
    text-align: center;
}

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

.p_intro__chartNote {
    font-size: 14px;
    color: #666;
    line-height: 1.7;
    margin-top: 16px;
}

/* フロー図（STEP 画像） */
.p_intro__flow {
    margin: 32px auto 48px;
    text-align: center;
}

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

/* STEPリスト */
.p_intro__steps {
    display: flex;
    flex-direction: column;
    gap: 0;
    counter-reset: step-counter;
}

.p_intro__step {
    display: flex;
    align-items: flex-start;
    gap: 24px;
    padding: 32px 0;
    border-bottom: 1px solid #ddd;
}

.p_intro__step:first-child {
    border-top: 1px solid #ddd;
}

.p_intro__stepNum {
    flex-shrink: 0;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    background-color: #068442;
    color: #fff;
    font-family: 'Roboto', sans-serif;
    font-weight: 700;
    font-size: 11px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    line-height: 1.2;
    letter-spacing: 0.05em;
}

.p_intro__stepNum span {
    font-size: 22px;
    font-weight: 700;
    line-height: 1;
}

.p_intro__stepBody {
    flex: 1;
}

.p_intro__stepTitle {
    font-size: 20px;
    font-weight: 700;
    color: #068442;
    margin: 0 0 12px;
    padding-top: 8px;
}

.p_intro__stepText {
    font-size: 16px;
    line-height: 1.9;
    color: #333;
    margin: 0 0 12px;
}

.p_intro__stepText:last-child {
    margin-bottom: 0;
}

/* エントリー方法リスト */
.p_intro__entryList {
    margin: 12px 0;
    padding: 0;
    margin-left: 1em;
}

.p_intro__entryList li {
    font-size: 16px;
    line-height: 1.7;
    padding-left: 1em;
    list-style: circle;
}


/* 汎用小型グリーンボタン（close_up/5・close_up/7 の「お仕事をみる」リンクで使用） */
.p_intro__downloadLink {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    color: #068442;
    border: 1px solid #068442;
    border-radius: 4px;
    padding: 6px 14px;
    transition: all 0.2s ease;
}

.p_intro__downloadLink:hover {
    background-color: #068442;
    color: #fff;
    text-decoration: none;
}

.p_intro__downloadLink + .p_intro__downloadLink {
    margin-left: 8px;
}

@media screen and (max-width: 768px) {
    .p_intro__downloadLink + .p_intro__downloadLink {
        margin-left: 0;
    }
}

/* 応募資格・待遇 */
.p_intro__conditions {
    background-color: #f5f5f5;
    border-radius: 8px;
    padding: 20px 24px;
    margin-top: 16px;
}

.p_intro__conditionItem {
    display: flex;
    gap: 16px;
    font-size: 16px;
    line-height: 1.7;
    padding: 8px 0;
    border-bottom: 1px solid #e0e0e0;
}

.p_intro__conditionItem:last-child {
    border-bottom: none;
}

.p_intro__conditionLabel {
    flex-shrink: 0;
    width: 80px;
    font-weight: 700;
    color: #068442;
}

/* お問合わせ先 */
.p_intro__contact {
    margin-top: 80px;
}

.p_intro__contactGrid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 32px;
    margin-top: 32px;
}

.p_intro__contactCard {
    background-color: #f5f5f5;
    border-radius: 8px;
    padding: 32px;
}

@media screen and (max-width: 768px) {
    .p_intro__contactCard {
        padding: 24px;
    }
}

.p_intro__contactArea {
    font-size: 20px;
    font-weight: 700;
    color: #068442;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 2px solid #068442;
}

.p_intro__contactInfo {
    font-size: 15px;
    line-height: 1.9;
    color: #333;
    margin: 0 0 16px;
}

.p_intro__contactTel {
    font-size: 14px;
    color: #333;
    margin: 4px 0;
}

.p_intro__contactTel strong {
    font-family: 'Roboto', sans-serif;
    font-size: 22px;
    color: #068442;
}

.p_intro__contactBtn {
    display: inline-block;
    background-color: #068442;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    padding: 12px 24px;
    border-radius: 4px;
    margin-top: 16px;
}
.p_intro__contactBtn:hover,
.p_intro__contactBtn:focus {
    color: #fff;
    text-decoration: underline;
}


/* ========================================
   クローズアップページ専用スタイル
======================================== */

/* タイトル */
.p_closeup__features {
    margin-bottom: 28px;
}
.p_closeup__features.p_closeup__features_grey {
    background-color: #F7F7F7;
}
.p_closeup__features .c_title1 {
    font-size: 25px;
    line-height: 1.7;
    margin: 0px;
    padding-top: 0px;
    color: #068442;
    border-top: none;
}
.p_closeup__features ul.ul_disc li{
    list-style: disc;
    text-indent: 0em;
    margin-left: 1em;
    padding-left: 0.4em;
}

/* リード文 */
.p_closeup__lead {
    font-size: 17px;
    line-height: 1.8;
    margin-bottom: 48px;
    color: #333;
}

/* 記事グリッド */
.p_closeup__grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
}

@media screen and (max-width: 768px) {
    .p_closeup__grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
}

/* 記事カード */
.p_closeup__card {
    display: flex;
    flex-direction: column;
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    text-decoration: none;
    color: inherit;
}

.p_closeup__card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
    transform: translateY(-4px);
    text-decoration: none;
    color: inherit;
}

.p_closeup__cardBody {
    padding: 24px;
    flex: 1;
}

.p_closeup__cardTitle {
    font-size: 17px;
    font-weight: 700;
    line-height: 1.6;
    color: #000;
    margin: 0 0 16px;
}

.p_closeup__cardFooter {
    padding: 16px 24px;
    border-top: 1px solid #e8e8e8;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    font-size: 14px;
    font-weight: 700;
}

.p_closeup__cardFooter img {
    flex-shrink: 0;
    transition: transform 0.2s;
}

.p_closeup__card:hover .p_closeup__cardFooter img {
    transform: translateX(4px);
}

/* hover: カード内テキストを緑＋下線（リンク識別） */
.p_closeup__card:hover .p_closeup__cardTitle,
.p_closeup__card:hover .p_closeup__cardFooter {
    color: #068442;
    text-decoration: underline;
}
.p_closeup__features.p_closeup__contact {
    text-align: center;
}
.p_closeup__features.p_closeup__contact {
    text-align: center;
}

/* 詳細ページ用 */
.p_closeup__header {
    margin-bottom: 48px;
}

/* close_up/12 正社員イラスト（a11y 対応 SVG）の配置
   SP: 見出し下に中央配置 / PC: 見出し横に右配置 */
.p_closeup__headerIllust {
    display: block;
    max-width: 240px;
    margin: 16px auto 0;
    height: auto;
}
@media screen and (min-width: 769px) {
    .p_closeup__header:has(> .p_closeup__headerIllust) {
        display: flex;
        align-items: center;
        gap: 24px;
    }
    .p_closeup__header:has(> .p_closeup__headerIllust) > .c_title1 {
        flex: 1;
        margin: 0;
    }
    .p_closeup__headerIllust {
        flex-shrink: 0;
        max-width: 220px;
        margin: 0;
    }
}

.p_closeup__kv {
    margin: 32px 0;
    border-radius: 8px;
    overflow: hidden;
}

.p_closeup__kv img {
    width: 100%;
    height: auto;
    display: block;
}

.p_closeup__section {
    margin-bottom: 56px;
}

.p_closeup__section p {
    font-size: 17px;
    line-height: 1.9;
    margin-bottom: 16px;
}

.p_closeup__figure {
    margin: 32px 0;
    text-align: center;
}

.p_closeup__figure img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.p_closeup__features {
    background-color: #f5fbf7;
    border: 1px solid #c8e6d4;
    border-radius: 8px;
    padding: 28px 32px;
    margin-top: 32px;
}

.p_closeup__featuresTitle {
    font-size: 18px;
    font-weight: 700;
    color: #068442;
    margin: 0 0 16px;
}

.p_closeup__featuresBody p {
    font-size: 16px;
    line-height: 1.8;
    margin-bottom: 16px;
}

.p_closeup__featuresList {
    margin: 0;
    padding: 0;
}

.p_closeup__featuresList li {
    font-size: 16px;
    line-height: 1.8;
    padding: 8px 0 8px 1.4em;
    position: relative;
    border-bottom: 1px solid #daeee3;
}

.p_closeup__featuresList li:last-child {
    border-bottom: none;
}

.p_closeup__featuresList li::before {
    content: '✓';
    position: absolute;
    left: 0;
    color: #068442;
    font-weight: 700;
}

.p_closeup__actions {
    margin-top: 64px;
    display: flex;
    gap: 16px;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 20px;
    margin-bottom: 20px;
}
.p_closeup__actions a.c_btn {
    padding-top: 16px;
    padding-bottom: 14px;
}
.p_closeup__actions a.c_btn.btn__sub.btn__noIcon {
    padding-bottom: 16px;
}

/* スマートフォン */
@media screen and (max-width: 768px) {
    .c_btn.btn__sub::after {
    right: 12px;
}
}

.p_closeup__btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 16px 32px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: 700;
    transition: all 0.2s ease;
}

.p_closeup__btn svg {
    transition: transform 0.2s;
}

.p_closeup__btn--primary {
    background-color: #068442;
    color: #fff;
}

.p_closeup__btn--primary:hover {
    background-color: #055c30;
    text-decoration: underline;
    color: #fff;
}

.p_closeup__btn--primary:hover svg {
    transform: translateX(4px);
}

.p_closeup__btn--secondary {
    background-color: #fff;
    color: #068442;
    border: 2px solid #068442;
}

.p_closeup__btn--secondary:hover {
    background-color: #f5fbf7;
    text-decoration: underline;
    color: #068442;
}

.p_closeup__btn--secondary:hover svg {
    transform: translateX(4px);
}

@media screen and (max-width: 768px) {
    .p_intro__contactGrid {
        grid-template-columns: 1fr;
    }
}


/* 調整中 */

.p_demoTpl {
    margin-top: 64px;
    padding-top: 40px;
    border-top: 1px dashed #BBB;
}

.p_demoTpl__label {
    display: inline-block;
    padding: 4px 14px;
    margin-bottom: 16px;
    border-radius: 999px;
    background: #068442;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
}

.p_demoTpl__heading {
    margin: 28px 0 16px;
    font-size: 20px;
    font-weight: 700;
    border-left: 4px solid #068442;
    padding-left: 12px;
    line-height: 1.4;
}

.p_demoTpl__heading:first-of-type {
    margin-top: 8px;
}

/* --- 共通：2x2 グリッド --- */
.p_demoGrid2x2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
}

/* --- カテゴリーボックス（ブロック1） --- */
.p_demoCatBox {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    min-height: 110px;
    padding: 20px 24px;
    border-radius: 12px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    text-decoration: none;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
}

.p_demoCatBox:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.14);
    color: #fff;
    text-decoration: none;
}

.p_demoCatBox.is_orange { background: #DF571B; }
.p_demoCatBox.is_green  { background: #068442; }
.p_demoCatBox.is_red    { background: #E73120; }

/* --- ミニ求人カード（ブロック1・ブロック3） --- */
.p_demoMiniCards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
}

.p_demoMiniCard {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 18px;
    border-radius: 8px;
    border: 1.6px solid #E0E0E0;
    background: #FFF;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.06);
    text-decoration: none;
    color: #000;
    transition: transform 0.2s, box-shadow 0.2s;
}

.p_demoMiniCard:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.1);
    text-decoration: none;
}

.p_demoMiniCard__station {
    font-size: 13px;
    color: #068442;
    font-weight: 700;
    padding-left: 22px;
    background: url('/assets/img/icon_sml_pin.svg') no-repeat center left;
    background-size: 18px;
    line-height: 1.6;
}

.p_demoMiniCard__type {
    display: inline-block;
    align-self: flex-start;
    padding: 2px 10px;
    background: #EDEDED;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
}

.p_demoMiniCard__job {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.5;
}

.p_demoMiniCard__wage {
    color: #DF571B;
    font-size: 16px;
    font-weight: 700;
    padding-left: 22px;
    background: url('/assets/img/icon_sml_money.svg') no-repeat center left;
    background-size: 18px;
    line-height: 1.6;
    margin-top: auto;
}

/* --- フィルタフォーム（ブロック2） --- */
.p_demoFilter {
    padding: 24px;
    border-radius: 12px;
    background: #F3F5F4;
}

.p_demoFilter__group + .p_demoFilter__group {
    margin-top: 20px;
}

.p_demoFilter__legend {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 10px;
    color: #068442;
}

.p_demoFilter__options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
}

.p_demoFilter__option {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
}

.p_demoFilter__option input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: #068442;
}

.p_demoFilter__submit {
    margin-top: 24px;
    text-align: center;
}

.p_demoFilter__btn {
    display: inline-block;
    min-width: 280px;
    padding: 14px 32px;
    border-radius: 8px;
    background: #068442;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
    text-align: center;
    border: none;
    cursor: pointer;
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.12);
    transition: background 0.2s;
}

.p_demoFilter__btn:hover {
    background: #056a35;
}

/* --- 大きいエリアボックス（ブロック2） --- */
.p_demoAreaBox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    min-height: 150px;
    padding: 24px;
    border-radius: 12px;
    color: #fff;
    text-decoration: none;
    line-height: 1.5;
    transition: transform 0.2s, box-shadow 0.2s;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.p_demoAreaBox:hover {
    transform: translateY(-3px);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.16);
    color: #fff;
    text-decoration: none;
}

.p_demoAreaBox.is_red   { background: #E73120; }
.p_demoAreaBox.is_green { background: #068442; }

.p_demoAreaBox__area {
    font-size: 14px;
    font-weight: 700;
    opacity: 0.9;
    margin-bottom: 6px;
}

.p_demoAreaBox__job {
    font-size: 20px;
    font-weight: 700;
}

/* --- 画像カード（ブロック3） --- */
.p_demoPicCards {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.p_demoPicCard {
    display: flex;
    flex-direction: column;
    border-radius: 12px;
    background: #FFF;
    overflow: hidden;
    border: 1.6px solid #E0E0E0;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.08);
}

.p_demoPicCard__img {
    width: 100%;
    height: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    background: linear-gradient(135deg, #068442 0%, #4FB880 100%);
}

.p_demoPicCard__img.is_alt {
    background: linear-gradient(135deg, #DF571B 0%, #F0945C 100%);
}

.p_demoPicCard__body {
    padding: 24px;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.p_demoPicCard__title {
    font-size: 18px;
    font-weight: 700;
    line-height: 1.5;
    color: #068442;
}

.p_demoPicCard__lead {
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
}

.p_demoPicCard__desc {
    font-size: 14px;
    line-height: 1.7;
    color: #333;
    margin: 0;
}

.p_demoPicCard__btn {
    align-self: flex-start;
    padding: 10px 24px 10px 24px;
    border-radius: 6px;
    background: #DF571B;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    margin-top: 8px;
    transition: background 0.2s;
}

.p_demoPicCard__btn:hover {
    background: #b94613;
    color: #fff;
    text-decoration: none;
}

/* --- SP --- */
@media screen and (max-width: 768px) {
    .p_demoTpl { margin-top: 40px; padding-top: 28px; }

    .p_demoTpl__heading { font-size: 17px; }

    .p_demoGrid2x2 { gap: 12px; }

    .p_demoCatBox { font-size: 15px; min-height: 90px; padding: 16px; }

    .p_demoMiniCards { grid-template-columns: 1fr; }

    .p_demoAreaBox { min-height: 120px; padding: 18px; }
    .p_demoAreaBox__job { font-size: 17px; }

    .p_demoPicCards { grid-template-columns: 1fr; }
    .p_demoPicCard__img { height: 160px; }

    .p_demoFilter { padding: 18px; }
    .p_demoFilter__btn { min-width: 0; width: 100%; }
}

/* =========================================================
   jobnavi（求人案内グローバルナビ）— 2026-05 追加
   ========================================================= */
.jobnavi {
    width: 100%;
    margin-bottom: 16px;
    position: relative;
    z-index: 9;
}

.jobnavi__inner {
    max-width: 1205px;
    margin: 0 auto;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
}

/* メニューリスト */
.jobnavi__list {
    height: 100%;
    height: auto;  /* 72px → auto: Row1 5項目 + Row2 4項目 + その他のメニュー 1項目 = 5列×2行構成へ */
    padding: 15px 0;
    display: flex;
    row-gap: 8px;
    position: relative;
    z-index: 60;  /* .jobnavi__overlay (z-index 50) より上に list の stacking context を引き上げ、subMenu が overlay 前面に出るように */
    flex-wrap: wrap;
  /* 2段対応 */
    list-style: none;
    margin: 0;
    border-radius: 8px;
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.jobnavi__list .navToggle__icon {
    margin-left: 4px;
}

.jobnavi__item {
    width: calc(100% / 5);
    position: relative;
    display: flex;
    align-items: center;
}

.jobnavi__link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0 19px;
    padding: 0 8px;
    width: 100%;
    height: 100%;
    text-decoration: none;
    font-weight: bold;
    font-size: 15px;
    transition: background 0.2s;
    position: relative;
}

.jobnavi__link:after {
    content: "";
    position: absolute;
    display: inline-block;
    width: 1px;
    height: calc(1em + 6px);
    background-color: #ccc;
    top: 0;
    bottom: 0;
    right: 0px;
    margin: auto;
}

.jobnavi__item:nth-of-type(5n) .jobnavi__link:after {
    opacity: 0;
}

.jobnavi__link:hover {
    background-color: #fff;
}

.jobnaviSub.subMenu {
    min-width: 200px;
    top: calc(100% + 20px);
}

.jobnavi__item--wideSub .jobnaviSub.subMenu {
    min-width: 260px;
}

/* --- エントリーボタン（枠組み） --- */
.jobnavi__cta {
    display: flex;             /* 追加 */
    align-items: stretch;      /* 追加: 子 (entry) を伸ばす */
    flex-direction: column;    /* 追加: 縦方向 stretch */
    padding: 10px 10px 10px 20px;
    background-color: rgba(255, 255, 255, 0.8);
    box-shadow: 0 12px 20px rgba(0, 0, 0, 0.05);
    backdrop-filter: blur(10px);
    -webkit-backdrop-filter: blur(10px);
}

.jobnavi__entry {
    display: flex;
    width: 278px;
    height: 100%;
    padding: 18px 48px 18px 36px;
    justify-content: center;
    align-items: center;
    color: var(--Body-White, #FFF);
    text-align: center;
    font-family: YuGothic;
    font-size: 15px;
    font-style: normal;
    font-weight: bold;
    line-height: 160%;
    box-shadow: none;
}

.jobnavi__entry.c_btn::after {
    right: 20px;
}

.jobnavi__entry.c_btn::before {
    left: 24px;
}

.hamberger__icon {
    display: flex;
    flex-direction: column;
    justify-content: space-between; /* 3本の線を上下に等間隔配置 */
    width: 14px;
    height: 12px;
    margin-left: 6px;
    transition: all 0.3s;
}

/* 3本の線共通 */
.hamberger__icon span {
    display: block;
    width: 100%;
    height: 2px;
    background-color: #00874b; /* りそなグリーン */
    transition: all 0.3s ease-in-out;
    border-radius: 2px;
}

/* ---------------------------------
   a.is_active 時のアニメーション
--------------------------------- */

/* 1本目：中央へ移動して45度回転 */
.parentMenu.is-open .hamberger__icon span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

/* 2本目：横に消す */
.parentMenu.is-open .hamberger__icon span:nth-child(2) {
    opacity: 0;
    transform: translateX(-5px);
}

/* 3本目：中央へ移動して-45度回転 */
.parentMenu.is-open .hamberger__icon span:nth-child(3) {
    transform: translateY(-4px) rotate(-45deg);
}

/* =========================================================
   jobnavi（求人案内グローバルナビ）— SP用調整 2026-05 追加
   PC/SP統合後：単一の .jobnavi に対してメディアクエリで切替
   ========================================================= */

@media screen and (max-width: 1220px) {

    .jobnavi {
    /* top: ヘッダー下空白を詰めるため negative margin で wrapper padding 内に食い込む
       -30px は初期値。詰めすぎなら -25px / -20px、緩いなら -35px / -40px に調整 */
    margin: -30px auto 48px;
    }

    .jobnavi__inner {
    display: block;
    }

  /* SP: jobnavi__list を Grid 化（2カラム＋dense配置） */
    .jobnavi__list {
    row-gap: 4px;
    height: auto;
    padding: 6px 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-auto-flow: dense;
    }

  /* SP: PC基底の width: calc(100% / 5) を打ち消し、Grid トラックに幅を任せる */
    .jobnavi__item {
    width: auto;
    }

  /* SP: 最後の項目（その他のメニュー）は全幅Grid行 */
    .jobnavi__item:last-of-type {
    grid-column: 1 / -1;
    }

    .jobnavi__item:last-of-type .jobnavi__link {
    justify-content: center;
    }

    .jobnavi__link {
    padding: 11px 16px;
    justify-content: flex-start;
    font-size: 14px;
    }

    .jobnavi__link:after,
    .jobnavi__item:nth-of-type(5n) .jobnavi__link:after {
    opacity: 1;
    }

    .jobnavi__item:last-of-type .jobnavi__link:after,
    .jobnavi__item:nth-of-type(2n) .jobnavi__link:after {
    opacity: 0;
    }

    .jobnavi__list .navToggle__icon {
    position: absolute;
    right: 16px;
    }

    .jobnavi__cta {
    padding: 0;
    margin: 20px auto 1px;
    max-width: calc(100% - 40px);  /* .header__inner と左右端を揃える（viewport - 各20px） */
    }

    .jobnavi__entry {
    width: 100%;
    }

  /* SP: 開いた親項目は display: contents で透過化し、link と subMenu を直接 Grid アイテム化 */
    .jobnavi__item.parentMenu.is-open {
    display: contents;
    }

  /* SP: 最後の項目が開いた時、link を全幅 Grid 行に */
    .jobnavi__item:last-of-type.parentMenu.is-open .jobnavi__link {
    grid-column: 1 / -1;
    }

  /* SP: 開いたサブメニューを全幅 Grid 行に展開（吹き出しから通常フロー化） */
    .jobnavi .parentMenu.is-open .jobnaviSub.subMenu {
    grid-column: 1 / -1;
    position: static;
    top: auto;
    left: auto;
    transform: none;
    width: auto;
    min-width: 0;
    margin-left: 0;
    border-radius: 0;
    border: none;                /* common.css の 2px solid #147e44（緑）を打ち消し */
    background-color: #f5f5f5;   /* Row 3 と統一 */
    box-shadow: none;            /* common.css のドロップシャドウを打ち消し */
    }

  /* SP: 吹き出しの矢印は非表示 */
    .jobnavi .parentMenu.is-open .jobnaviSub.subMenu::before,
    .jobnavi .parentMenu.is-open .jobnaviSub.subMenu::after {
    display: none;
    }
}

/* グロナビ：×アイコンを + アイコンと同じデザイン（緑丸ボタン）に統一 */
.jobnavi .parentMenu.is-open .navToggle__icon {
    background-image: url('/assets/img/icon_x_circle.svg');
}

/* =========================================================
   Jobnavi: 3段階展開（Row 1 / Row 2 / Row 3）
   ========================================================= */

/* listWrap：Row 1 ＋ flex item 化 */
.jobnavi__listWrap {
    position: relative;
    flex: 1;
    min-width: 0;
}

/* aria-expanded="true" 時の ≡ → × アニメーション */
.jobnavi__link[aria-expanded="true"] .hamberger__icon span:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}
.jobnavi__link[aria-expanded="true"] .hamberger__icon span:nth-child(2) {
    opacity: 0;
    transform: translateX(-5px);
}
.jobnavi__link[aria-expanded="true"] .hamberger__icon span:nth-child(3) {
    transform: translateY(-4px) rotate(-45deg);
}

/* --- End Jobnavi 3段階展開 --- */

/* =========================================================
   jobnavi: Active 状態（現在地） — Session 2 追加
   ========================================================= */
/* Row 1 の親項目（is_active）：ブランドグリーン＋下線 */
.jobnavi__item.is_active > .jobnavi__link {
    color: var(--Primary-Green, #068442);
    text-decoration: underline;
}
/* サブメニュー内の現在ページ（aria-current="page"）：ブランドグリーン＋下線 */
.jobnaviSub__item > a[aria-current="page"] {
    color: var(--Primary-Green, #068442);
    text-decoration: underline;
}

/* =========================================================
   shoukai: 新着・おすすめ用見出しアイコン
   ========================================================= */
.c_title__icon.icon__notice {
    background: url(/assets/img/icon_notice.svg) no-repeat center left;
}

.c_title__icon.icon__good {
    background: url(/assets/img/icon_good.svg) no-repeat center left;
}

/* =========================================================
   job_detail: シニアセクション（#senior_jobs_section）青化
   緑 (#068442) → 青 (#117FA4) で上書き。他セクションには影響させない
   ========================================================= */
#senior_jobs_section .clr__green {
    color: #117FA4;
}

#senior_jobs_section .c_title__icon.icon__officer {
    background-image: url(/assets/img/icon_officer_blue.svg);
}

#senior_jobs_section .c_title__icon.icon__interview {
    background-image: url(/assets/img/icon_interview_blue.svg);
}

#senior_jobs_section .c_indexbox__link {
    background-image: url(/assets/img/icon_arrow_blue.svg);
}

/* =========================================================
   job_detail: シニアアンカー pill（#senior_jobs_section へのリンク）青化
   pill リスト本体はシニアセクションの外にあるため属性セレクタで限定
   ========================================================= */
.c_pageAnchor__link[href="#senior_jobs_section"] {
    border-color: #117FA4;
}

.c_pageAnchor__link[href="#senior_jobs_section"] span {
    background-image: url(/assets/img/icon_down_blue.svg);
}

/* =========================================================
   search_result: SP 用「現在の検索条件」モーダル
   ブレークポイント 850px。PC（>850px）では既存サイドバー常時表示を維持
   ========================================================= */

/* PC デフォルト：SP 用 UI 部品は非表示 */
.p_sideCondition__openBtn,
.p_sideCondition__overlay,
.p_sideCondition__closeBtn {
    display: none;
}

@media screen and (max-width: 850px) {
    /* 容器側（.p_sideCondition）をグレーカード化、openBtn は容器に溶け込ませる */
    .p_sideCondition {
        background: #f5f5f5;
        border-radius: 8px;
        padding: 16px 20px;
    }

    /* モーダル開時は容器の grey 背景を見せない（中央カードが前面に出るが念のため） */
    .p_sideCondition.is-open {
        background: transparent;
    }

    /* 開くトグル（SPのみ表示）：容器に溶け込む透明ボタン */
    .p_sideCondition__openBtn {
        display: flex;
        width: 100%;
        align-items: center;
        justify-content: space-between;
        padding: 0;
        background: transparent;
        border: 0;
        border-radius: 8px;
        color: #000;
        font-size: 16px;
        font-weight: 700;
        cursor: pointer;
    }
    .p_sideCondition__openBtn__suffix {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .p_sideCondition__openBtn__label {
        color: #068442;
        font-size: 14px;
        font-weight: 700;
    }
    .p_sideCondition__openBtn__plus {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
        border-radius: 50%;
        background: #068442;
        color: #fff;
        font-size: 16px;
        line-height: 1;
    }

    /* タスク2: 新着情報メール配信 box の上余白（SP 本文末尾へ DOM move された状態） */
    .p_noticemail {
        margin-top: 60px;
    }

    /* SP デフォルトでは中身を非表示 */
    .p_sideCondition > .p_sideCondition__Inner {
        display: none;
    }

    /* モーダル開時：オーバーレイ */
    .p_sideCondition.is-open .p_sideCondition__overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1000;
    }

    /* モーダル開時：中央カード表示 */
    .p_sideCondition.is-open > .p_sideCondition__Inner {
        display: block;
        position: fixed;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        width: calc(100% - 40px);
        max-width: 480px;
        max-height: 80vh;
        overflow-y: auto;
        padding: 40px 20px 24px;
        background: #fff;
        border-radius: 12px;
        box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
        z-index: 1001;
    }

    /* 閉じる × ボタン（モーダル開時のみ表示） */
    .p_sideCondition.is-open .p_sideCondition__closeBtn {
        display: flex;
        position: absolute;
        top: 8px;
        right: 8px;
        width: 36px;
        height: 36px;
        align-items: center;
        justify-content: center;
        background: transparent;
        border: 0;
        cursor: pointer;
        font-size: 24px;
        line-height: 1;
        color: #333;
    }

    /* body スクロールロック（JS で付与） */
    body.has-condition-modal {
        overflow: hidden;
    }
}

/* =========================================================
   SP: jobnavi をハンバーガードロワー内に格納（CSS 調整）
   ブレークポイント 1080px（ハンバーガードロワー表示と同期）
   ========================================================= */
@media screen and (max-width: 1080px) {
    /* JS で has-jobnavi クラスを付与した <li> だけ block に変更し、縦並びにする */
    .header__nav .header__navMenu > li.has-jobnavi {
        display: block;
    }
}

/* =========================================================
   interviews/index.html: SP で .c_pageAnchor__link のテキストを左寄せ
   .p_interview__pageAnchor プレフィックスで interviews 専用にスコープ限定。
   他ページ (job_detail / seminar) の .c_pageAnchor は中央寄せのまま維持
   ========================================================= */
@media screen and (max-width: 768px) {
    .p_interview__pageAnchor .c_pageAnchor__link {
        text-align: left;
    }
}

/* =========================================================
   retiree/ レイアウト調整（jobreturn 実機確認後の整合）
   c_dlList の DT 幅拡張、DD 左寄せ、c_title5 下余白、
   p_retiredDetail__heading 上余白（最初の H2 除外）
   ========================================================= */
.c_dlList dl dt {
    width: 240px;
}

.c_dlList dl dd {
    margin-left: 0;
    flex: 1;
}

.c_title5 {
    margin-bottom: 16px;
}

.p_retiredDetail__heading {
    margin-top: 80px;
}

.p_retiredDetail__heading:first-of-type {
    margin-top: 0;
}

/* =========================================================
   retiree/jobreturn 視覚調整（v2）
   .p_retiredDetail__inner プレフィックスで retiree 配下に scope 限定
   ========================================================= */

/* 1. ※ 注釈（u_kome）の上・左に 1 文字分の余白 */
.p_retiredDetail__inner .u_kome {
    margin-top: 1em;
    margin-left: 1em;
}

/* 1-b. 連続する u_kome の 2 つ目以降は上余白なし（注釈リストを詰める） */
.p_retiredDetail__inner .u_kome + .u_kome {
    margin-top: 0;
}

/* 1-c. 採番項目総括注釈（(1)(2) ともに…）はインデント解除 */
.p_retiredDetail__inner .u_kome.p_kome_summary {
    margin-left: 0;
}

/* 2. 本文中インラインリンク（採番項目内の clr__green a）は太字、通常時下線・ホバー時下線なし */
.p_retiredDetail__inner .p_numItem__body a.clr__green {
    text-decoration: underline;
    font-weight: bold;
}
.p_retiredDetail__inner .p_numItem__body a.clr__green:hover,
.p_retiredDetail__inner .p_numItem__body a.clr__green:focus {
    text-decoration: none;
}

/* +展開エリア内の本文中インラインリンク（jobs/search_result.html）
   通常時：緑＋下線、hover/focus 時：下線解除 */
.p_result__content .u_link {
    color: #068442;
    text-decoration: underline;
}
.p_result__content .u_link:hover,
.p_result__content .u_link:focus {
    text-decoration: none;
}

/* 「求人先に正社員登用制度あり」等のリンクに矢印アイコン追加
   本文リンクと同じ icon_arrow_s_green.svg を ::after で配置 */
.p_result__content .u_link::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background: url('/assets/img/icon_arrow_s_green.svg') no-repeat center / contain;
    vertical-align: -2px;
    margin-left: 4px;
}

/* 3. 採番項目 (1)(2) の本文を字下げ */
.p_retiredDetail__inner .p_numItem {
    margin-top: 1em;
}
.p_retiredDetail__inner .p_numItem__body {
    margin-top: 1em;
    margin-left: 1em;
}

/* 3-b. 「お問い合わせ先」の上余白 */
.p_retiredDetail__inner .p_otoiawase {
    margin-top: 1em;
}

/* 4. 特典ボックス（控えめ強調、c_box の色 #F3F5F4 に準拠） */
.p_retiredDetail__inner .p_tokuten {
    background-color: #F3F5F4;
    padding: 16px 24px;
    border-radius: 8px;
    margin: 16px 0;
}

/* =========================================================
   jobnavi リファクタ v2: Hamberger_l1 を subMenu 方式に統一
   ========================================================= */

/* PC: Row 1 5項目均等 + Row 2 (子4項目 + その他のメニュー) の 5列×2行 grid */
@media screen and (min-width: 1221px) {
    .jobnavi .jobnavi__list {
        display: grid;
        grid-template-columns: repeat(5, 1fr);  /* ハンバーガー専用列を撤去し 2行で配置 */
    }
    .jobnavi .jobnavi__item {
        width: auto;
    }
    /* Hamberger_l1: 右側の縦線を非表示（:nth-of-type(5n) で既に消える想定だが明示） */
    .jobnavi__Hamberger_l1 .jobnavi__link:after {
        opacity: 0;
    }
    /* Hamberger_l1 li は position: static にして、
       subMenu の絶対配置基準を listWrap (position: relative) に上げる */
    .jobnavi__item.jobnavi__Hamberger_l1 {
        position: static;
    }
    /* Hamberger_l1 を listWrap 全幅のバーとして展開 */
    .jobnavi__Hamberger_l1 .jobnaviSub.subMenu {
        left: 0;
        right: 0;
        top: 100%;                       /* 20px 余白を打ち消し密着 */
        transform: none;
        min-width: 0;
        width: auto;
        max-width: none;
        margin-top: 0;
        border-radius: 0 0 8px 8px;
        background-color: #fff;
        box-shadow: 0 12px 20px rgba(0, 0, 0, 0.10);
        border: none;
        padding: 0;
    }

    /* 新規: 4 列 grid 化 */
    .jobnavi__Hamberger_l1 .jobnaviSub__list {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        background-color: #f5f5f5;
        border-radius: 0 0 8px 8px;
    }
    /* PC-A: ハンバーガーボタンの左右余白拡張 */
    .jobnavi__Hamberger_l1 .jobnavi__link {
        padding-left: 24px;
        padding-right: 24px;
    }
    /* PC: Row 2 の子4項目をフラット表示、subMenu 内の重複（--row2）は隠す */
    .jobnavi__item--row2 {
        display: flex;
    }
    .jobnaviSub__item--row2 {
        display: none;
    }
    /* PC: 「その他のメニュー」ラベル表示、PC用アイコン (＋丸) のみ表示し SP用ハンバーガーは隠す */
    /* PC: 「その他のメニュー」ラベル表示、PCでもハンバーガーアイコンを使う */
    .jobnavi__label--pc {
        display: inline-block;
        white-space: nowrap;          /* ② テキスト 1 行強制 */
    }
    .jobnavi__icon--pc {
        display: none;                 /* ① ＋アイコン非表示 */
    }
    .jobnavi__icon--sp {
        display: inline-flex;          /* ① PC でもハンバーガー (三本線) 表示 */
    }
    /* 吹き出しの矢印（::before, ::after）を非表示 (バー形式では不要) */
    .jobnavi__Hamberger_l1 .jobnaviSub.subMenu::before,
    .jobnavi__Hamberger_l1 .jobnaviSub.subMenu::after {
        display: none;
    }
    /* バー内リンクを 1 行中央寄せ */
    .jobnavi .jobnavi__Hamberger_l1 .jobnaviSub__item a {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 100%;
        padding: 16px 20px;
        text-align: center;
        font-size: 13px;
        white-space: nowrap;
    }
    /* メインリスト：Hamberger_l1 開時は下端角丸を解除（バーと一体化） */
    .jobnavi__list:has(.jobnavi__Hamberger_l1.parentMenu.is-open) {
        border-radius: 8px 8px 0 0;
    }
    /* バー内の矢印アイコン (→) を非表示 (バー形式では不要) */
    .jobnavi__Hamberger_l1 .jobnaviSub__item a {
        background-image: none;
    }
    .jobnavi__Hamberger_l1 .jobnaviSub__item a::before {
        display: none;
    }
/* バー内項目間の縦棒（区切り線） — メインリストの ::after と同スタイル */
    .jobnavi__Hamberger_l1 .jobnaviSub__item {
        position: relative;
    }
    .jobnavi__Hamberger_l1 .jobnaviSub__item:not(:last-child)::after {
        content: "";
        position: absolute;
        width: 1px;
        height: calc(1em + 6px);
        background-color: #ccc;
        top: 0;
        bottom: 0;
        right: 0;
        margin: auto;
    }
}

/* SP: Hamberger_l1 を他項目と同じ 2 列グリッドに / 吹き出し内テキスト左寄せ */
@media screen and (max-width: 1220px) {
    /* :last-of-type 全幅化を打ち消し、他項目と同じセルに */
    .jobnavi__item.jobnavi__Hamberger_l1 {
        grid-column: auto;
    }
    /* :last-of-type 中央寄せ打ち消し → ハンバーガーアイコンはボタン内中央 */
    .jobnavi__item.jobnavi__Hamberger_l1 .jobnavi__link {
        justify-content: flex-start;
    }
    /* 吹き出し内テキスト左寄せ */
    .jobnavi__Hamberger_l1 .jobnaviSub__item a {
        text-align: left;
        justify-content: flex-start;
        display: flex;
    }
    /* 吹き出し背景：既存 c_box の強調色 #F3F5F4 に統一 */
    .jobnavi .jobnavi__Hamberger_l1.parentMenu.is-open .jobnaviSub.subMenu {
        background-color: #F3F5F4;
    }
    /* SP-A: is-open 時も grid-column auto（:last-of-type 全幅化打ち消し）*/
    .jobnavi__item.jobnavi__Hamberger_l1:last-of-type.parentMenu.is-open .jobnavi__link {
        grid-column: auto;
    }
    /* SP-H: is-open 時、× セルを行内で中央配置（縦長セル内の中央、上下空白均等） */
    .jobnavi__item.jobnavi__Hamberger_l1.parentMenu.is-open .jobnavi__link {
        align-self: center;
    }
    /* SP: Row 2 の子4項目はフラットに出さず subMenu 内 (--row2) に閉じ込め */
    .jobnavi__item--row2 {
        display: flex;
    }
    .jobnaviSub__item--row2 {
        display: none;
    }
    /* SP: PC用ラベル/アイコン非表示、SP用ハンバーガーアイコンを表示（flex で 3本線レイアウト維持） */
    .jobnavi__label--pc {
        display: inline-block;
        white-space: nowrap;        /* 1 行強制 */
    }
    .jobnavi__icon--pc {
        display: none;
    }
    .jobnavi__icon--sp {
        display: flex;
    }
}

/* SP-F+G: is_open 時の header__nav を .header__inner の真下から開始（角丸ヘッダー固定 + メニュー下） */
@media screen and (max-width: 1080px) {
    .header.is_open .header__nav {
        top: -40px;
        align-items: flex-start;
        justify-content: flex-start;
    }
}

/* =========================================================
   c_dlList dt 幅調整（jobs/search_result + about/entry_guide）
   PC のみ、ページ固有スコープで他ページに影響なし
   - search_result: 120px（dt のテキスト後の余白を詰める、UX 改善）
   - entry_guide:   160px（STEP のラベル幅を維持）
   ========================================================= */
@media screen and (min-width: 769px) {
    .p_result__infolist.c_dlList dl dt {
        width: 100px;
    }
    .p_entryGuide .c_dlList dl dt {
        width: 170px;
    }
}

.p_entryGuide .c_dlList dl {
    padding-bottom: 8px;
}

.p_entryGuide .c_dlList dl~dl {
    border-top: none;
    padding-top: 8px;
}

/* =========================================================
   about/introduction.html: ダウンロードリンクを entry_guide と統一
   c_box__download 構造を採用。.p_intro__download 修飾で
   STEP1 文中の余白とラベル幅のみオーバーライド。
   ========================================================= */
.c_btnFunc.btn__excel::after {
    background: url(/assets/img/icon_download.svg) no-repeat center;
    background-size: 100%;
}

.p_intro__download {
    margin: 16px auto 24px;
}

@media screen and (min-width: 769px) {
    .p_intro__download .c_box__downloadLabel {
        width: 270px;
    }
}

@media screen and (max-width: 768px) {
    .p_intro__download {
        padding: 24px 16px;
        box-sizing: border-box;
        max-width: 100%;
    }
    .p_intro__stepBody {
        min-width: 0;
    }
    .p_intro__download .c_box__downloadBtns {
        flex-wrap: wrap;
    }
}

/* =========================================================
   SP drawer (≤1080px): collapse menu item spacing so 「サイト内検索」
   fits within the viewport without scrolling. Overrides mb.css base
   .header__navMenu li margin/border only while drawer is open.
   ========================================================= */
@media screen and (max-width: 1080px) {
    .header.is_open .header__navMenu li {
        margin-bottom: 0;
        border-bottom: none;
    }
}

/* =========================================================
   jobnavi: タップ領域拡張（誤操作予防）
   - SP: navToggle ボタンの縦 padding を 11px → 18px
   - 全 viewport: jobnaviSub__item の縦 padding を拡張
   矢印アイコン (::before) は common.css L528 で top:0/bottom:0/margin:auto
   による box 中央寄せ済み（既に問題なし）
   ========================================================= */
@media screen and (max-width: 1220px) {
    .jobnavi__link.navToggle {
        padding-top: 12px;
        padding-bottom: 12px;
    }
    .jobnavi .jobnaviSub__item a {
        text-align: left;
    }
}

.jobnavi .jobnaviSub__item a {
    padding: 2px 0 2px 24px;
    line-height: 1.5;
}

/* =========================================================
   テンプレート 3種
   調整用の記述
   ========================================================= */
.c_normalNotice {
    display: flex;
    padding: 16px 85px 12px 85px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 10px;
    align-self: stretch;
    border-radius: var(--Round-Small, 8px);
    border: 2px solid var(--Error, #e0e0e0);
    background: var(--Gray-back, #F3F5F4);
    color: var(--Error, #000000);
    font-size: 15px;
    font-style: normal;
    font-weight: 500;
    line-height: 160%;
}

.c_normalNotice__title {
    color: var(--Error, #000000);
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 22px;
}

@media screen and (max-width: 768px) {
    .c_normalNotice {
        padding: 16px;
    }
}

.p_findjobs__grid.template__type_A {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 50px;
}

.p_findjobs__grid.template__type_B {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
    margin-bottom: 50px;
}

/* NW テンプレ版カード: タイトルを縦中央配置 */
.p_findjobs__grid.template__type_A .p_findjobs__cardTitle,
.p_findjobs__grid.template__type_B .p_findjobs__cardTitle {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media screen and (max-width: 768px) {
    .p_findjobs__grid.template__type_A {
        grid-template-columns: repeat(2, 1fr);
    }
    .p_findjobs__grid.template__type_B {
        grid-template-columns: repeat(2, 1fr);
    }
    .p_findjobs__grid.template__type_A .p_findjobs__card,
    .p_findjobs__grid.template__type_B .p_findjobs__card {
        width: 100%;
    }
}


.interview__grid.template__interview__type_A {
    grid-template-columns: repeat(2, 1fr);
}

.p_findjobs__lead + .c_importantNotice {
    margin-bottom: 40px;
}


/* =========================================================
   診断テスト
   ========================================================= */
  .p_aptitude__item {
    display: flex;
    width: 980px;
    max-width: 100%;
    padding: 20px;
    flex-direction: column;
    align-items: flex-start;
    gap: 28px;
    margin: 0 auto 60px;
    border-radius: 12px;
    background: #F6F6F6;
    display: none;
  }

  .p_aptitude__item.is_active {
    display: block;
  }

  .p_aptitude__inner {
    display: flex;
    padding: 36px 80px 26px 80px;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 12px;
    align-self: stretch;
    border-radius: var(--Round-Medium, 12px);
    background: var(--White, #FFF);
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
  }

  .p_aptitudeEntry {
    display: flex;
    align-items: center;
    gap: 50px;
  }

  .p_aptitudeEntry__content {
    display: flex;
    width: 421px;
    padding: 20px 40px;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
    border-radius: 8px;
    background: var(--Smoke-Gray, #F7F7F7);
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    position: relative;
  }

  .p_aptitudeEntry__content:after {
    content: '';
    position: absolute;
    display: inline-block;
    z-index: 99;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    right: -22px;
    border-width: 14px 0 14px 22px;
    border-style: solid;
    border-color: transparent transparent transparent #F6F6F6;
    transition: all 0.2s;
  }

  .p_aptitudeEntry__img {
    width: 103px;
  }

  .p_aptitude__content {
    align-items: center;
  }

  .p_aptitude__question {
    color: var(--Black, #000);
    text-align: center;
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    margin-bottom: 24px;
  }

  .p_aptitude__text {
    color: var(--Black, #000);
    font-family: "Yu Gothic";
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 180%;
    display: flex;
    padding: 20px 40px;
    max-width: 441px;
    max-width: 471px;
    margin-left: 114px;
    margin-left: 104px;
    /*    margin-right: 95px;*/
    margin-bottom: 52px;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    gap: 10px;
    border-radius: 8px;
    background: var(--Smoke-Gray, #F7F7F7);
    position: relative;
  }

  .p_aptitude__text:after {
    content: '';
    position: absolute;
    display: inline-block;
    width: 85px;
    height: 92px;
    top: 0;
    bottom: 0;
    right: -135px;
    right: -115px;
    margin: auto;
    background: url(/assets/img/fig_resona.svg) no-repeat center;
    background-size: 100%;
  }

  .p_aptitude__text:before {
    content: '';
    position: absolute;
    display: inline-block;
    z-index: 9;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    right: -22px;
    border-width: 14px 0 14px 22px;
    border-style: solid;
    border-color: transparent transparent transparent #F6F6F6;
    transition: all 0.2s;
  }

  /* ボタン：スタート・はい・いいえ */
  .p_aptitude__btn {
    min-width: 82px;
    padding: 16px 24px;
    width: auto;
  }

  .p_aptitude__btn:after {
    opacity: 0;
  }

  .p_aptitude__firstbtn.c_btn {
    min-width: 154px;
    padding: 16px 64px 16px 24px;
    width: auto;
  }

  .p_aptitude__actions.is_columns_2 {
    display: flex;
    gap: 20px;
  }

  .p_aptitude__link {
    min-width: 335px;
    width: auto;
    padding: 18px 70px 18px 75px;
  }


  .p_aptitude__label {
    border-radius: var(--Round-xSmall, 4px);
    background: var(--primary-green-15, rgba(6, 132, 66, 0.15));
    display: flex;
    width: 728px;
    padding: 8px 16px;
    justify-content: center;
    align-items: center;
    color: var(--Black, #000);
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 140%;
    margin-bottom: 30px;
  }

  .p_aptitude__title {
    color: var(--Primary-Green, #068442);
    text-align: center;
    font-family: "Yu Gothic";
    font-size: 32px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    margin-bottom: 30px;
  }

  .p_aptitude__btn.is_link {
    background: #00874b;
    color: #fff;
    padding: 20px 60px;
    border-radius: 12px;
  }

  .p_aptitude__catch {
    color: var(--Black, #000);
    text-align: center;
    font-family: "Yu Gothic";
    font-size: 17px;
    font-style: normal;
    font-weight: 700;
    line-height: 150%;
    border-top: 2px solid var(--Extra-light-Gray, #BBB);
    padding-top: 40px;
    margin: 40px auto 20px;
    margin: 52px auto 20px;
  }

  .p_aptitude__note {
    position: absolute;
    bottom: -40px;
    font-family: "Yu Gothic";
    font-size: 17px;
    font-style: normal;
    font-weight: 500;
    line-height: 180%;
  }

  .p_aptitude__restart {
    margin: 20px auto 0;
    display: none;
  }

  @media (max-width: 980px) {

    .shindanTest.contentsInner {
      padding: 0;
      max-width: none;
    }
    .p_aptitude__inner {
      padding: 32px 16px;
      padding: 40px 16px;
      gap: 28px;
    }

    .p_aptitude__item {
      width: 100%;
      padding: 16px;
      padding: 40px 16px;
/*      margin: auto -20px;*/
/*      width: calc(100% + 40px);*/
      border-radius: 0;
    }

    .p_aptitudeEntry {
      flex-direction: column;
      gap: 30px;
    }

    .p_aptitudeEntry__content {
      width: auto;
      padding: 20px 20px;
    }

    .p_aptitudeEntry__content:after,
    .p_aptitude__question::before,
    .p_aptitude__text::before {
      transform: rotate(90deg);
      left: 0;
      right: 0;
      margin: auto;
      bottom: -22px;
      top: auto;
    }
    .p_aptitude__text:after {
      left: 0;
      right: 0;
      top: auto;
      bottom: -115px;
    }

    .p_aptitude__text {
      width: auto;
      margin: auto;
      padding: 20px 20px;
      font-size: 15px;
      margin-bottom: 120px;
      margin-bottom: 135px;
    }

    .p_aptitude__text br {
      display: none;
    }

    .p_aptitude__label {
      width: auto;
    }

    .p_aptitude__title {
      font-size: 24px;
    }

    .p_aptitude__catch {
      margin: 40px auto 20px;
      padding-top: 20px;
    }

    .p_aptitude__note {
      font-size: 15px;
      width: 100%;
      bottom: -70px;
      left: 0;
      padding: 0 20px;
    }

    .p_aptitude__link {
      font-size: 16px;
      min-width: 0;
      width: 100%;
      line-height: 1.3;
      justify-content: center;
    }

    .p_aptitude__btn {
      width: 100%;
      min-width: 30vw;
    }
  }




/* =========================================================
   フローティング検索ボタン（jobs/search_result.html）
   画面最下部に固定。スクロールで出現、フッター可視時は押し上げ。
   - 出現アニメは CSS transition が担当（translateY 100% → 0）
   - 押し上げ量は JS が --push-up 変数を更新
   ========================================================= */
.p_floatingSearch {
    --push-up: 0px;
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: rgba(34, 34, 34, 0.4);
    z-index: 900;
    padding: 16px 0;
    transform: translateY(calc(100% + var(--push-up)));
    opacity: 0;
    pointer-events: none;
    transition: transform 0.3s ease, opacity 0.3s ease;
    will-change: transform;
}

.p_floatingSearch.is_visible {
    transform: translateY(var(--push-up));
    opacity: 1;
    pointer-events: auto;
}

.p_floatingSearch__inner {
    display: flex;
    justify-content: center;
}

/* 帯背景（暗色）上では既存 box-shadow が目立たないので軽減
   PC は 330px（既存 .c_btn の 401px より控えめに） */
.c_btn.btn__floating {
    width: 330px;
    padding-top: 10px;
    padding-bottom: 10px;
    font-size: 18px;
    box-shadow: 0 4px 12px rgb(0 0 0 / 30%);
}

/* ページネーション等がフローティングに隠れない対策 */
.p_result__main {
    padding-bottom: 100px;
}

@media (max-width: 850px) {
    .p_result__main {
        padding-bottom: 10px;
    }

    .p_floatingSearch {
        padding: 12px 16px;
    }
    .c_btn.btn__floating {
        width: 100%;
        /* SP で 1 行に収まるサイズに調整 */
        max-width: 360px;
        font-size: 15px;
        padding: 12px 40px;
        line-height: 1.4;
        text-align: center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .p_floatingSearch {
        transition: opacity 0.15s ease;
        transform: none;
    }
    .p_floatingSearch:not(.is_visible) {
        opacity: 0;
        visibility: hidden;
    }
}

/* フローティング検索ボタンタップ → ページトップへスクロール時、
   サイドバー「検索条件を変更する」ボタンに一時的にハイライトパルスを当てる。
   ゴールド系 #FFD700 をベースに外側へ広がる柔らかい影で誘目。 */
@keyframes p_sideConditionBtn_highlightPulse {
    0%   { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.7); }
    100% { box-shadow: 0 0 0 16px rgba(255, 215, 0, 0); }
}

.p_sideCondition__Btn.is_highlighted {
    animation: p_sideConditionBtn_highlightPulse 1.5s ease 1;
}

@media (prefers-reduced-motion: reduce) {
    .p_sideCondition__Btn.is_highlighted {
        animation: none;
    }
}

/* =========================================================
   .p_tags__col: ラベル群を flex 化
   理由: 親 .p_jobCard が <a> で、ホバー時の text-decoration が
   <span> 間の改行（半角スペース扱い）に引かれる問題の対策。
   flex 化することでテキストノード（空白）がレンダリングされなくなり、
   下線が span 間に出なくなる。余白は gap で確保。
   ========================================================= */
.p_tags__col {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

/* =========================================================
   TK,NW トップのメインビジュアル
   ========================================================= */
@media screen and (max-width: 768px) {
    .u_only_sp img {
        width: 100%;
    }
}

/* ============================================================
   本文プレーンリンクの識別性強化（WCAG 1.4.1 対応）
   対象: <main> 直下の .content 内のプレーンリンク
        - class 無しの <a>
        - 単独 .clr__green の <a>
   除外: パンくず（.content の外）、ボタン/カード/ナビ系（class 複合）
   ============================================================ */

/* 色+下線: 全プレーンリンク + .right-arrow（デフォルトの見た目＝緑+下線） */
.main .content a:not([class]),
.main .content a[class="clr__green"],
.main .content a.right-arrow {
    color: #068442;
    text-decoration: underline;
}

/* ホバー: 下線なし */
.main .content a:not([class]):hover,
.main .content a[class="clr__green"]:hover,
.main .content a.right-arrow:hover {
    text-decoration: none;
}

/* アイコン: opt-in（.right-arrow を付けたリンクのみ緑矢印） */
.main .content a.right-arrow::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background: url('/assets/img/icon_arrow_s_green.svg') no-repeat center / contain;
    vertical-align: -2px;
    margin-left: 4px;
}

/* ============================================================
   .u_kome の list-style 解除
   <li class="u_kome"> 利用箇所（profile/report L223 等）で <li> の disc マーカー
   と .u_kome::before の「※」が二重表示になる問題の解消
   ============================================================ */
.u_kome {
    list-style: none;
}

/* ============================================================
   about/introduction お問合わせ先 - MAP ボタンと
   復元された「お仕事を探す」緑ボタンの整列
   ============================================================ */
.p_intro__contactMap {
    margin-top: 12px;
    font-size: 14px;
}
.p_intro__contactMap .p_intro__mapBtn {
    display: inline-block;
    background-color: #068442;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    padding: 4px 14px;
    border-radius: 4px;
    text-decoration: none;
    margin-right: 8px;
}
.p_intro__contactMap .p_intro__mapBtn:hover,
.p_intro__contactMap .p_intro__mapBtn:focus {
    text-decoration: underline;
}
/* 2 つ目以降の contactBtn 間に間隔 */
.p_intro__contactCard .p_intro__contactBtn + .p_intro__contactBtn {
    margin-top: 8px;
}

/* ============================================================
   調整 about/introduction
   ============================================================ */
@media screen and (max-width: 768px) {
    .p_intro__step {
        position: relative;        /* バッジ絶対配置の基準 */
    }
    .p_intro__stepNum {
        position: absolute;        /* 流れから外して左上固定 */
        top: 32px;                 /* = .p_intro__step の padding-top */
        left: 0;
    }
    .p_intro__stepBody {
        width: 100%;               /* 本文フル幅 */
    }
    .p_intro__stepTitle {
        min-height: 56px;          /* バッジと同じ高さ */
        padding-left: 68px;        /* バッジ(56) + 余白(12) ぶん右へ */
        display: flex;
        align-items: center;       /* バッジと縦中央そろえ */
    }
}
@media screen and (max-width: 768px) {
    .p_intro__download.introduction__area_download .c_box__downloadRow {
        width: 100%;
    }
    .p_intro__download.introduction__area_download .c_box__downloadBtns {
        flex-wrap: nowrap;
    }
    .p_intro__download.introduction__area_download .c_btnFunc {
        width: 60%;
        font-size: 16px;
    }
    .c_btnFunc.btn__word::after,
    .c_btnFunc.btn__pdf::after,
    .c_btnFunc.btn__excel::after {
        width: 17px;
        height: 17px;
        right: 6px;
        top: 0;
        bottom: 0;
    }
}

/* ============================================================
   調整 NW テンプレートパーツ
   ============================================================ */

.template__type .p_tags {
    margin-bottom: 5px;
}
.template__type .p_tags__type {
    background: #ffd200;
}
.p_jobCard__location {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: 18px;
  font-weight: bold;
  line-height: 1.6;
  border-bottom: 1px solid #ccc;
  padding-bottom: 10px;
}
.p_jobCard__location::before {
  content: "";
  flex-shrink: 0;
  width: 20px;
  height: 22px;
  background: url('/assets/img/icon_train.svg') no-repeat center / contain;
}
.p_jobCard__spec {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
  margin-bottom: auto;
}
.p_jobCard__detail {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: center;
  margin: 0;
}
.p_jobCard__detail dd {
  margin: 0;
  font-size: 14px;
}
.p_jobCard__detail dd {
    margin: 0;
}
.p_jobCard__tag           {
    align-self: flex-start;
    padding: 4px 12px;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}
.p_jobCard__tag--fulltime {
    background: #f5a623;
}
.p_jobCard__label {
    flex-shrink: 0;
    padding: 4px 8px;
    border-radius: 4px;
    background: #068442;
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}
.p_jobCard__note {
    font-size: 12px;
    color: #6a7282;
}
.p_jobCard__detail dd,
.p_jobCard__detail dd strong {
  font-weight: normal;
}

/* c_pageAnchor pill — SP(≤768px)共通: 文字左揃え + アイコン右端固定
   対象: job_detail / interviews / seminar(このコンポーネント使用の全3ページ)
   PC(≥769px)は中央寄せのまま。job_detail senior の青アイコンは span 背景のまま維持 */
@media screen and (max-width: 768px) {
    .c_pageAnchor__link {
        justify-content: flex-start;
        text-align: left;
        padding-left: 8px;
        padding-right: 7px;
    }
    .c_pageAnchor__link span {
        flex: 1;
        padding-left: 0;
        font-size: 14px;
    }
}

/* SP ドロワーメニュー調整 */
@media screen and (max-width: 1080px) {
    /* 全画面カバー＋ロゴバー分だけコンテンツを下げる */
    .header.is_open .header__nav {
        top: 0;
        padding-top: 80px;
    }
    /* jobnavi: 上の被り解除＋下の無駄余白(CTA↔検索)を詰める */
    .header.is_open .jobnavi {
        margin-top: 0;
        margin-bottom: 16px;   /* ← 赤丸。48px から詰める。生で調整 */
    }
    /* 上3つ(会社案内/事業紹介/りそなグループの求人案内)を縮小 */
    .header.is_open .header__navMenu > li > a,
    .header.is_open .header__navMenu > li > .navToggle {
        font-size: 16px;
        padding-top: 12px;
        padding-bottom: 12px;
    }
    .header.is_open .header__navMenu > li > a .nav__main { font-size: 16px; }
    .header.is_open .header__navMenu > li > a .nav__sub  { font-size: 12px; }
}

@media screen and (max-width: 1080px) {
    .header.is_open .jobnavi__link {
        padding-left: 10px;
        padding-right: 10px;
    }
    .header.is_open .jobnavi__list .navToggle__icon {
        right: 8px;
    }
}

@media screen and (max-width: 1080px) {
    .header.is_open .jobnavi .jobnaviSub__item a {
        padding-top: 10px;
        padding-bottom: 10px;
        font-size: 14px;
        font-weight: 700;
    }
}


/* SP スペック行 dd開始位置を統一 */
@media screen and (max-width: 768px) {
    .p_result__specItem {
        align-items: flex-start;
        width: 100%;
        margin-right: 0;
    }
    .p_result__specItem dt {
        width: 5.5em;
        box-sizing: content-box;
        line-height: 1.6;
    }
}

/* SPボタン ラベル左寄せ（アイコンは固定位置のまま） */
@media (max-width: 850px) {
    .btn__detail,
    .btn__entry {
        justify-content: flex-start;  /* c_btnがflex中央寄せの場合 */
        text-align: left;             /* c_btnがtext-align制御の場合の保険 */
    }
}

/* 検索結果ボタン 左寄せ＋1行固定＋人アイコン左寄せ
   （c_btn=inline-block なので text-align で制御。アイコンは絶対配置で不動） */
.c_btn.btn__resultEntry {
    text-align: left;
    white-space: nowrap;          /* 「このお仕事にエントリーする」を1行固定 */
}
.btn__entry.c_btn.btn__resultEntry::before {
    left: 16px;                   /* 人アイコンを左寄せ */
}
.btn__entry.btn__resultEntry {
    padding-left: 52px;
    padding-right: 56px;          /* 矢印ゾーン(right30+幅25=55)を避ける */
}
@media screen and (max-width: 768px) {
    .btn__detail.btn__plus.btn__resultEntry::after,  /* ＋ */
    .btn__entry.c_btn.btn__resultEntry::after {       /* 矢印 */
        right: 14px;
    }
}

@media (max-width: 850px) {
    /* ① 幅いっぱいに：auto余白の縮みを解除 */
    .p_conditions__btn {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        margin-top: 32px;
    }
    .c_btn.btn__narrow {
        width: 100%;
        max-width: 100%;
        font-size: 15px;
        line-height: 1.4;
        text-align: left;       /* ② 左寄せ */
        padding: 12px 44px;     /* 左=小アイコン+隙間 / 右=矢印分 */
    }
    /* ③ アイコンを小さく＆左へ（ラベルと重ならない隙間を確保） */
    .btn__search.c_btn.btn__narrow::before {
        left: 16px;
        width: 24px;
        height: 24px;
    }
    .p_conditions__btn .c_btnmini.btn__reset {
        width: 100%;
        justify-content: flex-start;
        padding: 10px 44px;      /* ボーダー4px分を相殺して高さを揃える */
        font-size: 15px;
        line-height: 1.4;        /* 検索ボタンと同じ行高 */
    }
}

@media (max-width: 850px) {
    .p_jobReason__inner .c_btn.btn__sub {
        width: 100%;
        min-height: 0;
        padding: 10px 44px 10px 16px;   /* 左16・右44に圧縮してテキスト幅を確保 */
        font-size: 15px;
        line-height: 1.4;
        justify-content: flex-start;
        text-align: left;
        white-space: nowrap;            /* ソフト改行を止めて1行に */
    }
    .p_jobReason__inner .c_btn.btn__sub br { display: none; }    /* 強制<br>も無効化 */
    .p_jobReason__inner .c_btn.btn__sub::after { right: 16px; }  /* 矢印を右端へ寄せる */
}

/* 正社員登用制度／スマート社員 の説明を details で復元（a11y disclosure） */
.p_interview__note--info {
    margin: 0 0 8px;
}
.p_interview__note--info > summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: #000;
    list-style: none;
    width: fit-content;
    /* text-decoration: underline; ← 削除（span に移動） */
}
.p_interview__noteLabel {
    text-decoration: underline;          /* 通常：下線 */
}
.p_interview__note--info > summary:hover .p_interview__noteLabel {
    text-decoration: none;               /* hover：下線なし */
}
.p_interview__note--info > summary::-webkit-details-marker { display: none; }

.p_interview__note--info > summary::after {   /* (?) 注意アイコン：テキストの"後ろ"・オレンジ */
    content: "?";
    flex-shrink: 0;
    width: 18px; height: 18px;
    border: 1.5px solid #DF571B;   /* ○＝オレンジ */
    border-radius: 50%;
    color: #DF571B;                /* ？＝オレンジ */
    font-size: 12px; line-height: 1;
    display: inline-flex; align-items: center; justify-content: center;
    text-decoration: none;         /* 下線が○に被らないように */
}
.p_interview__note--info[open] > summary { margin-bottom: 8px; }
.p_interview__infoBody {
    padding: 12px 16px;
    background: #f5f5f5;
    border-radius: 8px;
    font-size: 14px;
    line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p_interview__actions .c_btn.btn__noIcon {
    text-align: left;
  }
  .p_interview__actions .c_btn.btn__noIcon::before { content: none; }
}

/* ボックス内の幅を調整（SP） */
@media screen and (max-width: 768px) {
    .p_resonet__download {
      padding: 24px 16px;
      box-sizing: border-box;
    }
}

@media screen and (max-width: 768px) {
    a.c_btn[href*="goo.gl/maps"]::after {
        display: none;
    }
    a.c_btn[href*="goo.gl/maps"] {
        padding: 4px 12px;
    }
}


@media screen and (min-width: 769px) {
    .p_entry__detail {
        align-items: center;
    }
}

@media screen and (max-width: 768px) {
    .c_btn.btn__iconInset::before { left: 16px; }
    .c_btn.btn__iconInset::after  { right: 16px; }
}

/* ===== 汎用ボタン .c_btn のSP基底 ===== */
@media screen and (max-width: 768px) {
    .c_btn {
        width: 100%;
        white-space: normal;
        padding: 16px 56px 16px 24px;
        font-size: 14px;
    }
    .c_btn::before { left: 12px; }
    .c_btn::after  { right: 12px; }
    .jobnavi__entry.c_btn::after { right: 12px; }
    .c_btn.btn__person,
    .c_btn.btn__search { padding-left: 52px; }
    .c_btn.btn__noIcon { padding: 16px 56px 16px 24px; }
}

@media screen and (max-width: 768px) {
    .c_btn.c_btnFunc {
        width: auto;
    }
}

@media screen and (max-width: 768px) {
    .p_aptitude__actions.is_columns_2 .p_aptitude__btn {
        padding: 16px 24px;
        white-space: nowrap;
        text-align: center;
    }
}

.c_btn.btn__labelLeft { justify-content: flex-start; }

@media screen and (min-width: 769px) {
    .c_btn.btn__sub.btn__noIcon { font-size: 20px; }
}

/* ページ内インタビューナビ（interviews/106.html） */
.p_interviewNav {
  margin: 24px 0 40px;
}
.p_interviewNav__list {
  display: flex;
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}
.p_interviewNav__item {
  flex: 1 1 0;
  min-width: 0;
}
.p_interviewNav__card {
  display: block;
  height: 100%;
  padding: 20px;
  background: #fff;
  border: 1px solid #068442;
  border-radius: 8px;
  box-shadow: 0 12px 20px 0 rgba(0,0,0,.08);
  color: #333;
  text-decoration: none;
  transition: box-shadow .2s;
}
.p_interviewNav__card:hover {
  box-shadow: 0 6px 12px 0 rgba(0,0,0,.12);
}
.p_interviewNav__lead {
  font-size: 16px;
  line-height: 1.7;
  margin: 0 0 12px;
  font-weight: bold;
}
.p_interviewNav__name {
  font-size: 14px;
  margin: 0 0 12px;
  text-align: right;
}
.p_interviewNav__more {
  display: block;
  text-align: center;
  font-size: 14px;
  font-weight: 700;
  color: #068442;
}
.p_interviewNav__more::before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 18px;
  margin-right: 6px;
  background: url(/assets/img/icon_down.svg) no-repeat center / contain;
  vertical-align: middle;
}

/* SP: 1列縦積み */
@media screen and (max-width: 1024px) {
  .p_interviewNav__list {
    flex-direction: column;
  }
}

/* =========================================================
   R3-01-1: MV を h1 化（タイトル削除に伴う見出し構造の維持）
   h1 既定スタイルを無効化し見た目を img 単体時と同一に保つ
   ========================================================= */
.p_findjobsMv__title {
    margin: 0;
    font-size: 0;
    line-height: 0;
}

/* =========================================================
   R3-10: seminar ページ内アンカーの文字サイズ調整
   「お仕事説明会参加時のお願い」の詰まり解消のため4ボタン一律15px
   （ベンダー指定・seminar限定/interviews・job_detailは17px維持）
   ========================================================= */
.p_seminar__pageAnchor .c_pageAnchor__link {
    font-size: 15px;
}

/* =========================================================
   R3-04: jobs/search.html 限定 検索バー3点改修
   ① 背景を不透明ライトグレーに（透け防止）
   ② 帯の上下 padding を減らして高さ縮小（内包ボタンは不変）
   ③ フッター回避(JS の --push-up)を無効化し常時ウィンドウ下部固定
      → フッター重なりは仕様どおり許容（FB02 了承済み）
   スコープ: search.html にのみ付与した p_search__floatingBar /
   p_searchPage 経由で上書き。共有の .p_floatingSearch 本体・common.js は
   無変更のため search_result.html は現状挙動を維持。
   ========================================================= */
.p_search__floatingBar {
    background-color: #E5E5E5;
    padding: 12px 0;
}
.p_search__floatingBar.is_visible {
    /* JS がインラインで書き込む --push-up(フッター回避) を打ち消して下部固定 */
    transform: translateY(0) !important;
}
@media (max-width: 850px) {
    .p_search__floatingBar {
        padding: 8px 16px;
    }
}
/* fixed バー分の下余白を確保（body 直指定は避け search.html 限定 scope）*/
.p_searchPage .content {
    padding-bottom: 88px;
}
