@charset "UTF-8";

/*=========================
MV
=========================*/

.nurse_mv{
    position:relative;
    width:100%;
    height:560px;
    overflow:hidden;
}

.nurse_mv__image{
    position:absolute;
    inset:0;
}

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

.nurse_mv__overlay{
    position:absolute;
    inset:0;
    background:linear-gradient(
        90deg,
        rgba(0,0,0,.45) 0%,
        rgba(0,0,0,.25) 40%,
        rgba(0,0,0,.10) 100%
    );
}

.nurse_mv__inner{
    position:relative;
    z-index:2;
    max-width:1200px;
    height:100%;
    margin:auto;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:flex-start;
    padding:0 40px;
}

.nurse_mv__sub{
    color:#fff;
    letter-spacing:.2em;
    text-transform:uppercase;
    font-size:14px;
    margin-bottom:20px;
    position:relative;
    padding-left:80px;
    
    font-family: "Cormorant Garamond", serif;
}

.nurse_mv__sub::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:60px;
    height:2px;
    background:#1DB59B;
}

.nurse_mv__title{
    color:#fff;
    font-size:52px;
    line-height:1.3;
    font-weight:700;
    margin-bottom:25px;
    
    font-family: "Noto Serif JP", serif;
}

.nurse_mv__title span{
    display:block;
}

.nurse_mv__title .small{
    font-size:46px;
}

.nurse_mv__title .large{
    font-size:62px;
}

.nurse_mv__text{
    color:#fff;
    font-size:22px;
    line-height:1.4;
    margin-bottom:40px;
    
    font-family:"Noto Sans JP", sans-serif;
}

.nurse_mv__btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:240px;
    height:62px;
    background:#1DB59B;
    color:#fff;
    text-decoration:none;
    font-weight:700;
    border-radius:50px;
    transition:.3s;
    font-size:17px;
    
    font-family:"Noto Sans JP", sans-serif;
}

.nurse_mv__btn:hover{
    background:#159b84;
    transform:translateY(-3px);
}


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

    .nurse_mv{
        height:500px;
    }

    .nurse_mv__inner{
        padding:0 24px;
    }

    .nurse_mv__sub{
        font-size:12px;
        padding-left:55px;
    }

    .nurse_mv__sub::before{
        width:40px;
    }

    .nurse_mv__title{
        font-size:34px;
        line-height:1.4;
    }

    .nurse_mv__text{
        font-size:17px;
        line-height:1.2;
    }

    .nurse_mv__btn{
        width:200px;
        height:54px;
    }

}



/*==============================
SNS
==============================*/

.nurse_mv__sns{
    /*margin-top:50px;*/
}

.nurse_mv__sns_title{
    font-family:"Cormorant Garamond", serif;
    color:#d60050;
    font-size:19px;
    letter-spacing:.12em;
    margin-bottom:18px;
}

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

.nurse_mv__sns_link{
    width:58px;
    height:58px;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    background:#fff;
    color:#d60050;
    text-decoration:none;
    font-size:26px;
    box-shadow:0 10px 25px rgba(0,0,0,.08);
    transition:.3s;
}

.nurse_mv__sns_link:hover{
    transform:translateY(-4px);
    background:#d60050;
    color:#fff;
}


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

    .nurse_mv__sns{
        /*margin-top:35px;*/
    }

    .nurse_mv__sns_title{
        font-size:20px;
    }

    .nurse_mv__sns_list{
        gap:12px;
    }

    .nurse_mv__sns_link{
        width:52px;
        height:52px;
        font-size:22px;
    }

}



/*==================================
 SNSカラー版
 「.nurse_mv__sns--brand」を付けると適用
==================================*/

/* Instagram */
.nurse_mv__sns--brand .nurse_mv__sns_link.instagram{
    color:#E4405F;
}

.nurse_mv__sns--brand .nurse_mv__sns_link.instagram:hover{
    background:#E4405F;
    color:#fff;
}

/* X */
.nurse_mv__sns--brand .nurse_mv__sns_link.x{
    color:#111;
}

.nurse_mv__sns--brand .nurse_mv__sns_link.x:hover{
    background:#111;
    color:#fff;
}

/* TikTok */
.nurse_mv__sns--brand .nurse_mv__sns_link.tiktok{
    color:#000;
}

.nurse_mv__sns--brand .nurse_mv__sns_link.tiktok:hover{
    background:#000;
    color:#fff;
}

/* YouTube */
.nurse_mv__sns--brand .nurse_mv__sns_link.youtube{
    color:#FF0000;
}

.nurse_mv__sns--brand .nurse_mv__sns_link.youtube:hover{
    background:#FF0000;
    color:#fff;
}



.nurse_mv__sns--brand .nurse_mv__sns_link{
    background:#fff;
}

.nurse_mv__sns--brand .nurse_mv__sns_link:hover{
    transform:translateY(-4px) scale(1.05);
    background:#fff;
}



.instagram{color:#E4405F;}
.x{color:#111;}
.tiktok{color:#000;}
.youtube{color:#FF0000;}



/*========================================
Intro
========================================*/

.nurse_intro{
    padding:90px 20px;
    background:#fff;
}

.nurse_intro__inner{
    max-width:1200px;
    margin:auto;
}



.nurse_intro__count{
    background:#fff;
    border-radius:30px;
    padding:28px 40px;
    box-shadow:0 8px 30px rgba(0,0,0,.05);
    margin-bottom:55px;
}

.nurse_intro__count_title{
    font-family:"Noto Serif JP", serif;
    font-size:38px;
    font-weight:500;
    color:#333;
}

.nurse_intro__count_title span{
    color:#1DB59B;
    font-size:54px;
}



.nurse_intro__message{
    display:grid;
    grid-template-columns:180px 1fr;
    gap:30px;
    padding-bottom:55px;
    margin-bottom:55px;
    border-bottom:1px solid #e8e8e8;
}

.nurse_intro__heading{
    font-family:"Noto Serif JP", serif;
    color:#1DB59B;
    font-size:24px;
    font-weight:700;
}

.nurse_intro__text{
    border-left:2px solid #1DB59B;
    padding-left:35px;
    font-size:17px;
}

.nurse_intro__text p{
    line-height:2.2;
    color:#555;
    margin-bottom:18px;
}



.nurse_intro__menu{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    overflow:hidden;
    border-radius:60px;
    border:1px solid #ddd;
}

.nurse_intro__menu a{
    display:flex;
    align-items:center;
    justify-content:center;
    height:82px;
    color:#333;
    text-decoration:none;
    font-size:18px;
    transition:.3s;
    position:relative;
}

.nurse_intro__menu a:not(:last-child){
    border-right:1px solid #eee;
}

.nurse_intro__menu a::after{
    content:"↓";
    color:#1DB59B;
    margin-left:12px;
    transition:.3s;
}

.nurse_intro__menu a:hover{
    background:#1DB59B;
    color:#fff;
}

.nurse_intro__menu a:hover::after{
    color:#fff;
    transform:translateX(5px);
}



@media (max-width:768px){

    .nurse_intro{
        padding:60px 20px;
    }

    .nurse_intro__count{
        padding:20px;
    }

    .nurse_intro__count_title{
        font-size:28px;
    }

    .nurse_intro__count_title span{
        font-size:40px;
    }

    .nurse_intro__message{
        grid-template-columns:1fr;
        gap:20px;
    }

    .nurse_intro__text{
        padding-left:20px;
    }

    .nurse_intro__menu{
        grid-template-columns:1fr;
        border-radius:24px;
    }

    .nurse_intro__menu a{
        height:68px;
    }

    .nurse_intro__menu a:not(:last-child){
        border-right:none;
        border-bottom:1px solid #eee;
    }

}






/*========================================
Job List (求人一覧)
========================================*/
.nurse_job_list {
    /*background-color: #faeef1;*/ /* 背景の薄いピンク */
    background-color: rgba(29,181,155,.1);
    padding: 60px 20px 80px;
}

.nurse_job_list__inner {
    max-width: 1000px; /* 一覧は少し幅を絞ると読みやすいです */
    margin: 0 auto;
}

/* ヘッダー周り */
.nurse_job_list__header {
    text-align: center;
    margin-bottom: 40px;
    position: relative;
}

.nurse_job_list__title_wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-bottom: 20px;
}

.nurse_job_list__title {
    font-size: 28px;
    /*color: #df4f7b;*/ /* タイトルの濃いピンク */
    color: #333;
    font-weight: 500;
    letter-spacing: 0.05em;
    font-family: "Noto Serif JP", serif;
}

.nurse_job_list__count {
    text-align: right;
    color: #333;
    border-bottom: 2px solid #fff;
    padding-bottom: 10px;
}

.nurse_job_list__count .number {
    font-size: 28px;
    color: #1DB59B;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
}

.nurse_job_list__count .text {
    font-size: 14px;
    color: #666;
}

/*========================================
Job Card
========================================*/
.job_card {
    background: #fff;
    border-radius: 8px;
    padding: 30px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
    position: relative;
    margin-bottom: 30px;
}

/* 「注目」リボン */
.job_card__ribbon {
    position: absolute;
    top: -10px;
    right: 20px;
    background: #f8a200;
    color: #fff;
    font-weight: bold;
    padding: 10px 20px;
    font-size: 18px;
    z-index: 10;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}
.job_card__ribbon::after {
    content: '';
    position: absolute;
    top: 0;
    right: -10px;
    border-top: 10px solid transparent;
    border-left: 10px solid #d48a00; /* 折り返し部分の影 */
}

/* 上部タグ */
.job_card__tags_top {
    display: flex;
    gap: 10px;
    margin-bottom: 15px;
}

.tag_primary, .tag_secondary {
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: bold;
}

.tag_primary {
    background: #d60050;
    color: #fff;
}

.tag_secondary {
    background: #f5f5f5;
    color: #333;
    border: 1px solid #ddd;
}

/* タイトルと説明 */
.job_card__title {
    font-size: 22px;
    margin-bottom: 15px;
}
.job_card__title a {
    color: #d60050;
    text-decoration: none;
    border-bottom: 1px solid #d60050;
    transition: 0.3s;
}
.job_card__title a:hover {
    opacity: 0.7;
}

.job_card__desc {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    margin-bottom: 25px;
}

/* 中段：画像と情報 */
.job_card__body {
    display: flex;
    gap: 25px;
    margin-bottom: 25px;
    padding-bottom: 25px;
    border-bottom: 1px dashed #ddd;
}

.job_card__image {
    width: 260px;
    flex-shrink: 0;
}
.job_card__image img {
    width: 100%;
    border-radius: 4px;
    object-fit: cover;
}

.job_card__info {
    flex-grow: 1;
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.info_row {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.icon_pink { color: #d60050; font-size: 18px; margin-top: 2px; }
.icon_gray { color: #1DB59B; font-size: 18px; margin-top: 2px; }

/* 住所とボタン行 */
.info_address {
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px dotted #eee;
    padding-bottom: 10px;
}
.info_address .info_row__left {
    display: flex;
    gap: 10px;
    font-size: 14px;
}
.btn_outline_pink {
    display: inline-block;
    border: 1px solid #1DB59B;
    color: #1DB59B;
    border-radius: 30px;
    padding: 6px 15px;
    font-size: 12px;
    text-decoration: none;
    transition: 0.3s;
}
.btn_outline_pink:hover {
    background: #1DB59B;
    color: #fff;
}

/* 給与ボックス */
.salary_box {
    background: rgba(29,181,155,.1);
    border-radius: 8px;
    padding: 12px 15px;
    font-size: 14px;
    width: 100%;
    color: #333;
}
.salary_box span {
    font-weight: bold;
}
.salary_box p {
    margin-bottom: 5px;
}
.salary_box p:last-child {
    margin-bottom: 0;
}

/* タグリスト */
.info_tags .tag_list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0;
}
.info_tags .tag_list li {
    border: 1px solid #d60050;
    color: #d60050;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 12px;
    display: flex;
    align-items: center;
    gap: 5px;
}
.dot_pink {
    display: inline-block;
    width: 6px;
    height: 6px;
    background: #d60050;
    border-radius: 50%;
}

/* フッター（ボタン類） */
.job_card__footer {
    display: flex;
    /*justify-content: space-between;*/
    justify-content: space-around; 
    align-items: center;
    gap: 20px;
}

.btn_apply {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #1DB59B; /* 画像の明るいグリーン */
    color: #fff;
    text-decoration: none;
    font-size: 18px;
    font-weight: bold;
    border-radius: 50px;
    height: 60px;
    width: 320px;
    transition: 0.3s;
    position: relative;
}
.btn_apply:hover {
    background: rgba(29,181,155,.8);
    transform: translateY(-2px);
}
.btn_apply i {
    position: absolute;
    left: 20px;
    font-size: 24px;
}
.btn_apply .arrow {
    position: absolute;
    right: 20px;
    color:#fff;
}

.contact_box {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}
.contact_box__label {
    font-size: 17px;
    color: #666;
    display: flex;
    align-items: center;
    gap: 5px;
}
.contact_box__number {
    font-size: 52px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    line-height: 1.1;
    margin: 5px 0;
    display: flex;
    align-items: center;
    gap: 8px;
}
.contact_box__number i {
    font-size: 24px;
}
.contact_box__time {
    font-size: 15px;
    color: #666;
}

/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .nurse_job_list {
        padding: 40px 15px 50px;
    }
    
    .nurse_job_list__title {
        font-size: 22px;
    }
    
    .nurse_job_list__count {
        text-align: left;
    }
    
    .job_card {
        padding: 20px 15px;
    }
    
    .job_card__ribbon {
        font-size: 14px;
        padding: 6px 15px;
        right: 10px;
        top: -5px;
    }
    
    .job_card__title {
        font-size: 18px;
    }
    
    .job_card__body {
        flex-direction: column; /* 画像を上に配置 */
        gap: 15px;
    }
    
    .job_card__image {
        width: 100%;
    }
    
    .info_address {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    
    .job_card__footer {
        flex-direction: column;
        gap: 20px;
    }
    
    .btn_apply {
        width: 100%;
        font-size: 16px;
    }
    
    .contact_box {
        align-items: center; /* スマホでは中央寄せ */
        text-align: center;
    }
    
    
    .contact_box__label {
      font-size: 12px;
    }
    
    .contact_box__number {
       font-size: 32px;
    }
    
    .contact_box__time {
      font-size: 11px;
    }
}



/*========================================
Pickup Jobs (オススメ求人スライダー)
========================================*/
.nurse_pickup {
    background-color: #fff; /* 求人一覧の背景色と変化をつけてメリハリを出します */
    padding: 60px 20px 20px;
}

.nurse_pickup__inner {
    max-width: 1000px;
    margin: 0 auto;
}

.nurse_pickup__header {
    text-align: center;
    margin-bottom: 30px;
}

.nurse_pickup__title {
    font-size: 26px;
    color: #333;
    font-weight: 700;
    font-family: "Noto Serif JP", serif;
}

/* スライダーコンテナ (CSS Scroll Snap) */
.nurse_pickup__slider {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 10px 10px 30px 10px; /* ドロップシャドウが切れないように余白を取る */
    
    /* スクロールバーの非表示（好みに応じて） */
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.nurse_pickup__slider::-webkit-scrollbar {
    display: none;
}

/* ピックアップカード本体 */
.pickup_card {
    flex: 0 0 280px; /* カードの幅を固定 */
    scroll-snap-align: start; /* スクロール時にピタッと止まる位置 */
    background: #fff;
    border-radius: 12px;
    text-decoration: none;
    color: #333;
    box-shadow: 0 5px 20px rgba(0,0,0,0.06);
    overflow: hidden;
    transition: transform 0.3s, box-shadow 0.3s;
    display: flex;
    flex-direction: column;
}

.pickup_card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12);
}

/* 画像エリア */
.pickup_card__img {
    position: relative;
    width: 100%;
    aspect-ratio: 3 / 2; /* リストと同じ600x400の比率で自動トリミング */
    overflow: hidden;
}

.pickup_card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.pickup_card:hover .pickup_card__img img {
    transform: scale(1.05); /* ホバーで画像を少しズーム */
}

/* バッジ（急募・新着など） */
.pickup_card__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    background: #d60050;
    color: #fff;
    font-size: 11px;
    font-weight: bold;
    padding: 4px 10px;
    border-radius: 20px;
    z-index: 2;
}
.badge_green {
    background: #1DB59B;
}

/* テキストエリア */
.pickup_card__body {
    padding: 20px 15px;
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}

.pickup_card__title {
    font-size: 16px;
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.4;
    color: #1DB59B;
}

.pickup_card__info {
    font-size: 13px;
    color: #666;
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 5px;
}

.pickup_card__salary {
    background: rgba(29,181,155,.1);
    border-radius: 6px;
    padding: 8px 10px;
    font-size: 15px;
    font-weight: bold;
    color: #333;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.pickup_card__salary .label {
    background: #fff;
    border: 1px solid #1DB59B;
    color: #1DB59B;
    font-size: 10px;
    padding: 2px 6px;
    border-radius: 4px;
}

.pickup_card__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    list-style: none;
    padding: 0;
    margin: 0;
    margin-top: auto; /* タグを常にカードの一番下に押し下げる */
}

.pickup_card__tags li {
    background: #f5f5f5;
    color: #555;
    font-size: 11px;
    padding: 4px 8px;
    border-radius: 4px;
}

/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .nurse_pickup {
        padding: 40px 0 20px; /* スマホでは画面端までスライダーを広げるため左右のpaddingを0に */
    }
    
    .nurse_pickup__inner {
        padding-left: 20px; /* 内側に余白を設定 */
    }

    .nurse_pickup__title {
        font-size: 22px;
    }

    .pickup_card {
        flex: 0 0 240px; /* スマホではカードを少し小さくして次のカードを見切れさせる */
    }
}

/*========================================
オススメ求人 矢印ボタン (PC用)
========================================*/
.nurse_pickup__slider_wrap {
    position: relative;
}

.pickup_nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1DB59B; /* 求人のアクセントカラーに合わせる */
    font-size: 18px;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    transition: 0.3s;
}

.pickup_nav:hover {
    background: #1DB59B;
    color: #fff;
}

/* ボタンの配置位置 */
.pickup_nav.prev_btn { left: -25px; }
.pickup_nav.next_btn { right: -25px; }

/* スマホではスワイプで動かせるため矢印を非表示にする */
@media screen and (max-width: 768px) {
    .pickup_nav {
        display: none;
    }
}



/*========================================
Seminar (説明会・セミナー情報)
========================================*/
.nurse_seminar {
    /* 求人一覧と同じ背景色でなじませる */
    background-color: #faeef1; 
    padding: 80px 20px;
}

.nurse_seminar__inner {
    max-width: 900px;
    margin: 0 auto;
}

/* ヘッダー */
.nurse_seminar__header {
    text-align: center;
    margin-bottom: 40px;
}

.nurse_seminar__header .icon_main {
    color: #d60050; /* 指定のピンク */
    font-size: 30px;
    margin-bottom: 15px;
}

.nurse_seminar__title {
    font-size: 28px;
    color: #555;
    font-weight: 500;
    line-height: 1.6;
    font-family: "Noto Serif JP", serif;
}

.nurse_seminar__title .highlight {
    color: #d60050; /* 指定のピンク */
}

/* リストを囲む白枠 */
.nurse_seminar__list_box {
    background: #fff;
    border-radius: 12px;
    padding: 10px 40px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.03);
}

/* リストアイテム単体 */
.seminar_item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 30px 0;
    text-decoration: none;
    color: #333;
    border-bottom: 1px solid #eee; /* 薄い区切り線 */
    transition: 0.3s;
}

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

.seminar_item:hover {
    background-color: #fafbfc; /* ホバーでうっすら背景色をつける */
}

.seminar_item:hover .seminar_item__arrow {
    transform: translateX(5px); /* 矢印を右に少し動かす */
}

.seminar_item__content {
    flex-grow: 1;
    padding-right: 20px;
}

/* タグ類 */
.seminar_item__tags {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
    padding: 0;
    margin: 0 0 12px 0;
}

.seminar_item__tags li {
    font-size: 12px;
    padding: 4px 12px;
    border-radius: 4px;
}

.tag_type {
    background: #1DB59B; /* 指定のグリーン */
    color: #fff;
}

.tag_area {
    background: #fff;
    border: 1px solid #ccc;
    color: #555;
}

.tag_job_nurse {
    background: #fdf0f4; /* 薄いピンク */
    color: #d60050; /* 指定のピンク */
}

.tag_job_reha {
    background: #f0f4ff; /* 薄いブルー */
    color: #5b7de6;
}

/* 日付・タイトル */
.seminar_item__date {
    font-size: 14px;
    color: #555;
    margin-bottom: 8px;
}

.seminar_item__title {
    font-size: 16px;
    font-weight: 500;
    line-height: 1.4;
}

/* 矢印 */
.seminar_item__arrow {
    color: #d60050; /* 指定のピンク */
    font-size: 18px;
    transition: 0.3s;
}

/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .nurse_seminar {
        padding: 50px 15px;
    }

    .nurse_seminar__title {
        font-size: 22px;
    }

    .nurse_seminar__list_box {
        padding: 10px 20px;
    }

    .seminar_item {
        padding: 20px 0;
    }

    .seminar_item__tags li {
        font-size: 11px;
        padding: 3px 8px;
    }

    .seminar_item__title {
        font-size: 15px;
    }
}



/*========================================
Staff Interview (スタッフインタビュー)
========================================*/
.nurse_interview {
    background-color: #fff;
    padding: 70px 20px 80px;
    position: relative;
    margin-top: 40px; /* 上部のカーブ用の余白 */
}

/* 上部のなだらかなカーブ */
.nurse_interview::before {
    content: "";
    position: absolute;
    top: -40px;
    left: 0;
    width: 100%;
    height: 40px;
    background-color: #fff;
    border-radius: 50% 50% 0 0 / 100% 100% 0 0;
}

/* アイコンバッジ */
.nurse_interview__badge {
    position: absolute;
    top: -45px;
    left: 50%;
    transform: translateX(-50%);
    width: 70px;
    height: 70px;
    background: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 -5px 15px rgba(0,0,0,0.03); /* 上方向のみのうっすらとした影 */
    z-index: 2;
}

.nurse_interview__badge i {
    color: #1DB59B;
    font-size: 30px;
}

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

/* タイトル */
.nurse_interview__title {
    text-align: center;
    font-size: 28px;
    color: #333;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    letter-spacing: 0.1em;
    margin-bottom: 40px;
}

/* スライダーラッパー */
.nurse_interview__slider_wrap {
    position: relative;
    margin-bottom: 25px;
}

/* 左右の矢印ボタン */
.slider_nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 50px;
    height: 50px;
    background: #fff;
    border: 1px solid #f0f0f0;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1DB59B;
    font-size: 18px;
    cursor: pointer;
    z-index: 10;
    box-shadow: 0 4px 10px rgba(0,0,0,0.08);
    transition: 0.3s;
}

.slider_nav:hover {
    background: #1DB59B;
    color: #fff;
}

.slider_nav.prev_btn { left: -25px; }
.slider_nav.next_btn { right: -25px; }

/* スライダー本体 */
.nurse_interview__slider {
    display: flex;
    gap: 20px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 10px 0; /* 影が切れないように */
    
    /* スクロールバー非表示 */
    -ms-overflow-style: none;
    scrollbar-width: none;
}
.nurse_interview__slider::-webkit-scrollbar {
    display: none;
}

/* インタビューカード */
.interview_card {
    flex: 0 0 260px; /* カードの幅 */
    scroll-snap-align: start;
    aspect-ratio: 4 / 5; /* 縦長の比率 */
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    text-decoration: none;
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    transition: transform 0.3s;
}

.interview_card:hover {
    transform: translateY(-5px);
}

.interview_card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.5s;
}

.interview_card:hover img {
    transform: scale(1.05);
}

/* 黒グラデーションとテキスト */
.interview_card__overlay {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    padding: 50px 20px 20px;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 0%, rgba(0,0,0,0.7) 100%);
    color: #fff;
    display: flex;
    flex-direction: column;
}

.interview_card__overlay .status {
    font-size: 13px;
    margin-bottom: 2px;
}

.interview_card__overlay .job {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 8px;
}

.name_row {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    border-top: 1px solid rgba(255,255,255,0.3);
    padding-top: 10px;
}

.name_row .name {
    font-size: 14px;
}

.name_row i {
    font-size: 14px;
}

/* ページネーション（ドット） */
.nurse_interview__pagination {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-bottom: 40px;
}

.nurse_interview__pagination .dot {
    width: 8px;
    height: 8px;
    background: #ddd;
    border-radius: 50%;
}

.nurse_interview__pagination .dot.active {
    background: #1DB59B;
}

/* 一覧へボタン */
.nurse_interview__btn_wrap {
    text-align: center;
}

.btn_interview_list {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 54px;
    padding: 0 40px;
    border: 1px solid #1DB59B;
    color: #1DB59B;
    border-radius: 50px;
    text-decoration: none;
    font-size: 15px;
    letter-spacing: 0.1em;
    transition: 0.3s;
    background: #fff;
}

.btn_interview_list:hover {
    background: #1DB59B;
    color: #fff;
}

.btn_interview_list .arrow {
    margin-left: 10px;
    color:#1DB59B;
}

.btn_interview_list:hover .arrow {color: #fff;}

/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .nurse_interview {
        padding: 50px 0 60px; /* 画面端までスライダーを広げるため左右0 */
    }

    .nurse_interview__title {
        font-size: 22px;
    }

    .slider_nav {
        display: none; /* スマホではスワイプ前提のため矢印を非表示 */
    }

    .nurse_interview__slider {
        padding: 10px 20px; /* 内側に余白 */
    }

    .interview_card {
        flex: 0 0 220px; /* スマホでは少し小さく */
    }
}



/*========================================
Request Entry Banner (リクエストエントリー)
========================================*/
.request_banner {
    max-width: 1000px;
    margin: 60px auto; /* 前後のセクションとの余白 */
    padding: 0 20px;
}

.request_banner__inner {
    position: relative;
    border: 2px solid #1DB59B; /* メインカラーの枠線 */
    border-radius: 12px;
    
    /* 背景画像の設定（ここで画像のパスを指定します） */
    background: url('../area_nurse/img/banner_bg.jpg') no-repeat center center;
    background-size: cover;
    
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 50px 20px;
    text-align: center;
}

/* 
テキストを読みやすくするための白グラデーション 
PC：左右の人物は見せつつ、中央だけ白くフェードさせる
*/
.request_banner__inner::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(to right, rgba(255,255,255,0) 0%, rgba(255,255,255,0.95) 20%, rgba(255,255,255,0.95) 80%, rgba(255,255,255,0) 100%);
    z-index: 1;
}

.request_banner__content {
    position: relative;
    z-index: 2; /* グラデーションより上に配置 */
    
    text-align:center;
}

/* キャッチコピー */
.request_banner__catch {
    font-size: 24px;
    color: #1DB59B;
    font-weight: 700;
    margin-bottom: 15px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15px;
}

.request_banner__catch .slash {
    font-weight: 300;
    font-size: 20px;
}

/* 説明テキスト */
.request_banner__desc {
    font-size: 15px;
    color: #333;
    line-height: 1.6;
    margin-bottom: 25px;
    text-align:center;
}

/* ボタン */
.request_banner__btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #1DB59B;
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    padding: 16px 40px;
    border-radius: 50px;
    position: relative;
    min-width: 320px;
    box-shadow: 0 4px 15px rgba(29, 181, 155, 0.3);
    transition: all 0.3s ease;
}

.request_banner__btn:hover {
    background-color: #179b84;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(29, 181, 155, 0.4);
}

.request_banner__btn .icon_left {
    position: absolute;
    left: 20px;
    font-size: 20px;
}

.request_banner__btn .icon_right {
    position: absolute;
    right: 20px;
    font-size: 14px;
}

/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .request_banner {
        margin: 40px auto;
        padding: 0 15px;
    }

    .request_banner__inner {
        padding: 40px 15px;
    }

    /* スマホ時は画面幅が狭いため、全体に白いベールをかけて視認性を確保 */
    .request_banner__inner::before {
        background: rgba(255, 255, 255, 0.80);
    }

    .request_banner__catch {
        font-size: 18px;
        gap: 8px;
    }

    .request_banner__desc {
        font-size: 13px;
        margin-bottom: 20px;
    }

    .request_banner__btn {
        width: 100%;
        min-width: auto;
        padding: 15px 20px;
        font-size: 15px;
    }
}



/*==========================
  Midashi
==========================*/

.new-midashi_wrap{
    text-align:center;
    margin:90px auto 60px;
}

.new-midashi_sub{
    margin:0 0 12px;
    font-size:13px;
    font-weight:600;
    letter-spacing:.35em;
    color:#1DB59B;
    text-transform:uppercase;
    
    text-align:center;
}

.new-midashi_title{
    position:relative;
    display:inline-block;
    margin:0;
    padding-bottom:18px;
    font-size:28px;
    font-weight:500;
    color:#333;
    letter-spacing:.08em;
    line-height:1.5;
}

.new-midashi_title::after{
    content:"";
    position:absolute;
    left:50%;
    bottom:0;
    transform:translateX(-50%);
    width:42px;
    height:2px;
    background:#1DB59B;
    border-radius:10px;
}

/* SP */

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

    .new-midashi_wrap{
        margin:65px auto 45px;
    }

    .new-midashi_sub{
        font-size:11px;
        letter-spacing:.28em;
        margin-bottom:10px;
    }

    .new-midashi_title{
        font-size:25px;
        padding-bottom:15px;
    }

    .new-midashi_title::after{
        width:36px;
    }

}



/*========================================================================================================================

	ここから詳細ページ

========================================================================================================================*/

/*========================================
求人詳細トップ (n-detail_)
========================================*/

/* PCレイアウト (左右2カラム) */
.n-detail_header {
    display: flex;
    gap: 40px;
    align-items: flex-start;
    margin: 40px 0 60px;
}

.n-detail_slider_area {
    width: 55%;
}

.n-detail_info_area {
    width: 45%;
    padding-top: 10px;
}

/* --- スライダー --- */
.n-detail_slider_wrap {
    position: relative;
    border-radius: 12px;
    overflow: hidden;
    margin-bottom: 20px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

.n-detail_slider {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.n-detail_slider::-webkit-scrollbar {
    display: none;
}

.n-detail_slide {
    flex: 0 0 100%;
    scroll-snap-align: start;
    aspect-ratio: 3 / 2;
}

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

/* 矢印ボタン */
.n-detail_nav {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 44px;
    height: 44px;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #eee;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #1DB59B; /* メインカラー */
    font-size: 16px;
    cursor: pointer;
    z-index: 10;
    transition: 0.3s;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.n-detail_nav:hover {
    background: #1DB59B;
    color: #fff;
    border-color: #1DB59B;
}

.n-detail_prev { left: 15px; }
.n-detail_next { right: 15px; }

/* ページネーション（ドット） */
.n-detail_pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
}

.n-detail_dot {
    width: 10px;
    height: 10px;
    background: #ddd;
    border-radius: 50%;
    cursor: pointer;
    transition: 0.3s;
}

.n-detail_dot.active {
    background: #1DB59B; /* ドットのアクティブ時はピンクをアクセントに */
}


/* --- テキスト情報エリア --- */
.n-detail_location {
    font-size: 15px;
    color: #666;
    line-height: 1.6;
    margin-bottom: 20px;
}

.n-detail_job_category {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 20px;
}

.n-detail_tag_main {
    background: #1DB59B; /* メインカラー */
    color: #fff;
    font-size: 14px;
    font-weight: bold;
    padding: 6px 16px;
    border-radius: 6px;
}

.n-detail_tag_sub {
    background: #e8f7f5; /* メインカラーの極薄い色 */
    color: #1DB59B;
    font-size: 14px;
    font-weight: bold;
    padding: 6px 16px;
    border-radius: 6px;
}

.n-detail_text_suffix {
    font-size: 14px;
    color: #333;
}

.n-detail_title {
    font-size: 33px;
    color: #333;
    font-weight: 500;
    font-family: "Noto Serif JP", serif;
    margin-bottom: 25px;
    line-height: 1.4;
}

/* 特徴タグ（ピンクのアクセント） */
.n-detail_features {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.n-detail_features li {
    display: flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #d60050; /* 指定のピンク */
    color: #d60050;
    font-size: 13px;
    padding: 4px 12px;
    border-radius: 20px;
    background: #fff;
}

.n-detail_feature_dot {
    width: 6px;
    height: 6px;
    background: #d60050; /* 指定のピンク */
    border-radius: 50%;
}


/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .n-detail_header {
        flex-direction: column;
        gap: 30px;
        margin: 20px 0 40px;
    }

    .n-detail_slider_area {
        width: 100%;
    }

    .n-detail_info_area {
        width: 100%;
        padding-top: 0;
    }

    .n-detail_nav {
        display: none; /* スマホではスワイプで操作させるため矢印非表示 */
    }

    .n-detail_title {
        font-size: 26px;
    }

    .n-detail_job_category {
        gap: 8px;
    }

    .n-detail_tag_main,
    .n-detail_tag_sub {
        font-size: 12px;
        padding: 5px 12px;
    }
}



/*========================================
求人内容 (n-detail_contents_wrap)
========================================*/

/* 全体を囲む背景エリア（少し色を敷いて白いカードを目立たせる） */
.n-detail_contents_wrap {
    background-color: #f4fbf9; /* メインカラーに合わせた極薄いグリーン */
    padding: 60px 40px;
    border-radius: 16px;
    margin-top: 60px;
}

/* メインタイトル */
.n-detail_main_title {
    text-align: center;
    font-size: 36px;
    color: #1DB59B; /* メインカラー */
    margin-bottom: 40px;
    font-family: "Cormorant Garamond", serif;
    letter-spacing: 0.1em;
    
    font-weight:700;
}

/*========================================
ページ内リンク ナビゲーション
========================================*/
.n-detail_anchor_nav {
    display: flex;
    flex-wrap: wrap;
    background: #fff;
    border-radius: 50px;
    list-style: none;
    padding: 0;
    margin: 0 0 50px 0;
    box-shadow: 0 4px 15px rgba(0,0,0,0.03);
    overflow: hidden;
}

.n-detail_anchor_nav li {
    flex: 1; /* 等幅で並べる */
    border-right: 1px solid #eee;
}

.n-detail_anchor_nav li:last-child {
    border-right: none;
}

.n-detail_anchor_nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 15px 10px;
    text-decoration: none;
    color: #555;
    font-size: 18px;
    height: 100%;
    transition: 0.3s;
    
    font-weight:700;
    font-family: "Cormorant Garamond", serif;
}

.n-detail_anchor_nav a:hover {
    background: #1DB59B;
    color: #fff;
}

.n-detail_anchor_nav .icon_arrow {
    font-size: 13px;
    margin-top: 6px;
    color: #ccc;
    transition: 0.3s;
}

.n-detail_anchor_nav a:hover .icon_arrow {
    color: #fff; /* ホバー時にアイコンも白くする */
}

/*========================================
各セクションのカード（白ボックス）
========================================*/
.n-detail_box {
    background: #fff;
    border-radius: 12px;
    padding: 40px;
    margin-bottom: 30px;
    box-shadow: 0 5px 20px rgba(0,0,0,0.03);
    
    font-family: "Noto Serif JP", serif;
}

.n-detail_box_title {
    font-size: 24px;
    color: #1DB59B; /* メインカラー */
    border-bottom: 2px solid #1DB59B;
    padding-bottom: 15px;
    margin-bottom: 30px;
    font-weight: 500;
}

/* テキストコンテンツ用 */
.n-detail_text_content {
    font-size: 17px;
    color: #333;
    line-height: 1.8;
}

.n-detail_text_content p {
    margin-bottom: 10px;
}

.n-detail_margin_top {
    margin-top: 20px;
}

/* リスト（点付き） */
.n-detail_list_dot {
    list-style: none;
    padding: 0;
    margin: 0;
}
.n-detail_list_dot li {
    position: relative;
    padding-left: 15px;
    margin-bottom: 5px;
}
.n-detail_list_dot li::before {
    content: "・";
    position: absolute;
    left: 0;
    color: #333;
}

/*========================================
基本情報テーブル
========================================*/
.n-detail_table {
    width: 100%;
    border-collapse: collapse;
}

.n-detail_table th,
.n-detail_table td {
    padding: 25px 20px;
    border-bottom: 1px dashed #ddd;
    vertical-align: top;
    line-height: 1.8;
    font-size: 17px;
}

.n-detail_table tr:last-child th,
.n-detail_table tr:last-child td {
    border-bottom: none;
}

.n-detail_table th {
    width: 20%;
    color: #555;
    font-weight: 500;
    background-color: #fafbfc; /* 見出し部分だけ少し背景色をつける */
}

.n-detail_table td {
    width: 80%;
    color: #333;
}

/* テーブル内のテキスト装飾 */
.n-detail_facility_name {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}
.icon_pink {
    color: #d60050; /* 指定のピンクをアクセントに使用 */
    width: 16px;
    text-align: center;
}


/*========================================
リンクボタン (アウトライン型)
========================================*/
.n-detail_btn_wrap {
    text-align: center;
    margin-top: 30px;
}

.n-detail_outline_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 50px;
    border: 1px solid #1DB59B;
    color: #1DB59B;
    background: #fff;
    border-radius: 50px;
    text-decoration: none;
    font-size: 17px;
    transition: 0.3s;
}

.n-detail_outline_btn:hover {
    background: #1DB59B;
    color: #fff;
}

.n-detail_outline_btn .icon_right {
    margin-left: 15px;
    font-size: 16px;
}

/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .n-detail_contents_wrap {
        padding: 40px 15px;
    }

    /* メインタイトル */
    .n-detail_main_title {
      font-size: 28px;
    }

    .n-detail_box_title {
      font-size: 20px;
    }

    .n-detail_anchor_nav {
        border-radius: 12px;
    }

    .n-detail_anchor_nav li {
        /* スマホでは2列（横幅50%）にして見やすくする */
        flex: 0 0 50%;
        border-bottom: 1px solid #eee;
    }
    .n-detail_anchor_nav li:nth-child(even) {
        border-right: none;
    }

    .n-detail_box {
        padding: 25px 20px;
    }

    .n-detail_table th,
    .n-detail_table td {
        display: block; /* テーブルを縦積みにする */
        width: 100%;
    }

    .n-detail_table th {
        padding: 15px 20px 5px;
        border-bottom: none;
        background: transparent;
        color: #1DB59B;
        font-weight: bold;
    }

    .n-detail_table td {
        padding: 5px 20px 20px;
    }
}



/*========================================
応募から入社までの流れ (フロー図)
========================================*/
.n-detail_flow_container {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    margin-top: 30px;
}

/* 各ステップのブロック */
.n-detail_flow_step {
    flex: 1;
    text-align: center;
    padding: 0 5px;
}

/* 上部の数字 (1., 2. ...) */
.n-detail_flow_num {
    display: block;
    color: #1DB59B; /* メインカラー */
    font-size: 24px;
    font-family: Arial, sans-serif;
    margin-bottom: 5px;
}

/* アイコンを囲む円 */
.n-detail_flow_icon_circle {
    width: 80px;
    height: 80px;
    margin: 0 auto 15px;
    background-color: #e8f7f5; /* メインカラーの極薄い色 */
    color: #1DB59B;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    transition: transform 0.3s ease;
}

/* ホバー時にアイコンを少しフワッと浮かせます */
.n-detail_flow_step:hover .n-detail_flow_icon_circle {
    transform: translateY(-5px);
}

/* タイトル */
.n-detail_flow_title {
    font-size: 17px;
    color: #1DB59B;
    margin-bottom: 15px;
    font-weight: bold;
    line-height: 1.4;
    min-height: 44px; /* タイトルが2行になってもレイアウトが崩れないように高さを確保 */
}

/* 説明文 */
.n-detail_flow_desc {
    font-size: 14px;
    color: #555;
    line-height: 1.6;
    text-align: left;
}

/* ステップ間の矢印 */
.n-detail_flow_arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 14px;
    margin-top: 65px; /* アイコンの高さに合わせて矢印を配置 */
    padding: 0 5px;
}

.n-detail_margin_top_large {
    margin-top: 50px;
}

/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .n-detail_flow_container {
        flex-direction: column; /* 縦並びに変更 */
        align-items: center;
    }

    .n-detail_flow_step {
        width: 100%;
        max-width: 320px; /* スマホ時に横幅が広がりすぎないように制御 */
        margin-bottom: 0;
    }

    .n-detail_flow_title {
        min-height: auto;
    }

    /* 矢印を90度回転させて下向き（↓）にする */
    .n-detail_flow_arrow {
        transform: rotate(90deg);
        margin: 20px 0;
        font-size: 18px;
    }
}



/*========================================
応募・問合せバナー (n-detail_contact_banner)
========================================*/

/* バナー全体の大枠 */
.n-detail_contact_banner {
    display: flex;
    align-items: center;
    /*justify-content: space-between;*/
    justify-content: space-around;
    background-color: #fff;
    border: 1px solid #d60050; /* アクセントカラー(ピンク)の枠線 */
    border-radius: 8px;
    padding: 30px;
    margin: 60px auto;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
    
    width:100%;
    max-width:1100px;
}

/* --- 左側：WEB応募エリア --- */
.n-detail_contact_left {
    flex: 1;
    display: flex;
    justify-content: center;
}

.n-detail_contact_btn_web {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 320px;
    background-color: #1DB59B; /* メインカラー(グリーン) */
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: bold;
    padding: 16px 20px;
    border-radius: 50px;
    position: relative;
    transition: all 0.3s ease;
    box-shadow: 0 4px 10px rgba(29, 181, 155, 0.2);
}

.n-detail_contact_btn_web:hover {
    background-color: #179b84;
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(29, 181, 155, 0.3);
}

.n-detail_contact_btn_web .icon_left {
    position: absolute;
    left: 40px;
    font-size: 20px;
}

.n-detail_contact_btn_web .icon_right {
    position: absolute;
    right: 20px;
    font-size: 14px;
}

/* --- 中央：区切り線 --- */
.n-detail_contact_divider {
    width: 1px;
    height: 70px;
    background-color: #e0e0e0;
    margin: 0 40px;
}

/* --- 右側：電話問合せエリア --- */
.n-detail_contact_right {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
}

.n-detail_contact_tel_label {
    display: flex;
    flex-direction: column;
    align-items: center;
    color: #d60050; /* アクセントカラー(ピンク) */
    font-size: 14px;
    font-weight: bold;
    gap: 8px;
}

.n-detail_contact_tel_label i {
    font-size: 24px;
}

.n-detail_contact_tel_info {
    display: flex;
    flex-direction: column;
}

.n-detail_contact_tel_num {
    display: flex;
    align-items: center;
    color: #333;
    font-size: 46px;
    font-weight: bold;
    font-family: Arial, sans-serif;
    text-decoration: none;
    line-height: 1.1;
    margin-bottom: 5px;
}

/* PCビューでは電話番号のリンク（アンダーライン等）を無効化 */
.n-detail_contact_tel_num:hover {
    color: #333;
}

.icon_freedial {
    font-size: 24px;
    margin-right: 8px;
}

.n-detail_contact_tel_time {
    font-size: 13px;
    color: #666;
    margin: 0;
}


/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 900px) {
    /* タブレット〜スマホ幅での調整 */
    .n-detail_contact_banner {
        flex-direction: column;
        padding: 30px 20px;
    }

    .n-detail_contact_left {
        width: 100%;
    }

    .n-detail_contact_btn_web {
        max-width: 100%; /* スマホ時は横幅いっぱいに広げる */
    }

    /* 区切り線を「縦」から「横」に変更 */
    .n-detail_contact_divider {
        width: 100%;
        height: 1px;
        margin: 25px 0;
    }

    .n-detail_contact_right {
        width: 100%;
        flex-direction: column; /* スマホ時はアイコンと番号を縦に積む */
        gap: 15px;
        text-align: center;
    }

    .n-detail_contact_tel_label {
        flex-direction: row; /* スマホ時はアイコンとテキストを横並びに */
        font-size: 15px;
    }

    .n-detail_contact_tel_label i {
        font-size: 18px;
    }

    .n-detail_contact_tel_num {
        font-size: 32px;
        justify-content: center;
    }
}



/*========================================
類似案件を探す (n-detail_similar_section)
========================================*/

/* 背景エリア（上部を少し斜めにカットして画像のデザインを再現） */
.n-detail_similar_section {
    background-color: #f4fbf9; /* メインカラーに合わせた極薄いグリーン */
    padding: 80px 0 60px;
    margin-top: 80px;
    clip-path: polygon(0 3vw, 100% 0, 100% 100%, 0% 100%);
}

.n-detail_similar_header {
    margin-bottom: 30px;
}

.n-detail_similar_title {
    font-size: 24px;
    color: #333;
    font-weight: 500;
    display: inline-block;
    position: relative;
    padding-bottom: 15px;
    font-family: "Noto Serif JP", serif;
    letter-spacing: 0.1em;
}

/* タイトル下のライン（左側だけ色をつける装飾） */
.n-detail_similar_title::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 40%;
    height: 2px;
    background-color: #1DB59B; /* メインカラー */
}

/* --- テキストリンク一覧 --- */
.n-detail_similar_links {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0;
    margin: 0 0 40px 0;
    row-gap: 15px;
}

.n-detail_similar_links li {
    display: inline-flex;
    align-items: center;
}

/* リンク間の区切り線（縦棒） */
.n-detail_similar_links li::after {
    content: "";
    display: inline-block;
    width: 1px;
    height: 14px;
    background-color: #ccc;
    margin: 0 15px;
}

.n-detail_similar_links li:last-child::after {
    display: none;
}

.n-detail_similar_links a {
    color: #1DB59B;
    text-decoration: underline;
    font-size: 14px;
    transition: 0.3s;
}

.n-detail_similar_links a:hover {
    color: #179b84;
    text-decoration: none;
}

/* --- 検索ボタン --- */
.n-detail_similar_btn_wrap {
    text-align: center;
}

.n-detail_similar_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #1DB59B;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    padding: 16px 40px;
    border-radius: 50px;
    position: relative;
    min-width: 380px;
    transition: 0.3s;
    box-shadow: 0 4px 15px rgba(29, 181, 155, 0.3);
}

.n-detail_similar_btn:hover {
    background-color: #179b84;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(29, 181, 155, 0.4);
}

.n-detail_similar_btn .icon_left {
    position: absolute;
    left: 25px;
    font-size: 20px;
}

.n-detail_similar_btn .icon_right {
    position: absolute;
    right: 25px;
    font-size: 14px;
}

/* --- TOPへ戻るリンク --- */
.n-detail_back_wrap {
    padding: 40px 0;
    background-color: #fff;
}

.n-detail_back_link {
    display: inline-flex;
    align-items: center;
    color: #1DB59B;
    text-decoration: underline;
    font-size: 15px;
    transition: 0.3s;
}

.n-detail_back_link i {
    margin-right: 8px;
    text-decoration: none;
}

.n-detail_back_link:hover {
    color: #179b84;
    text-decoration: none;
}


/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .n-detail_similar_section {
        padding: 50px 0 40px;
    }

    .n-detail_similar_title {
        font-size: 20px;
    }

    /* スマホ時は縦線区切りをやめて、タップしやすいボタン風タグに変更 */
    .n-detail_similar_links {
        gap: 10px;
        row-gap: 10px;
    }

    .n-detail_similar_links li::after {
        display: none; /* 縦線を消す */
    }

    .n-detail_similar_links li {
        background: #fff;
        border: 1px solid #e0f2ef;
        border-radius: 6px;
    }

    .n-detail_similar_links a {
        display: block;
        padding: 10px 15px;
        font-size: 13px;
        text-decoration: none;
    }

    .n-detail_similar_btn {
        width: 100%;
        min-width: auto;
        padding: 15px 20px;
        font-size: 15px;
    }
}



/*========================================
SNSリンク集 (n-detail_sns_wrap)
========================================*/

.n-detail_sns_wrap {
    margin: 60px 0;
    padding: 40px;
    background-color: #fff;
    /* メインカラーの点線で親しみやすさを演出 */
    border: 2px dashed #1DB59B; 
    border-radius: 16px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.02);
}

.n-detail_sns_header {
    text-align: center;
    margin-bottom: 30px;
}

.n-detail_sns_title {
    font-size: 24px;
    color: #1DB59B; /* メインカラー */
    margin-bottom: 10px;
    font-weight: bold;
}

.n-detail_sns_desc {
    font-size: 15px;
    color: #555;
    line-height: 1.6;
    
    text-align:center;
}

.sp_only {
    display: none;
}

/* --- ボタンリストのレイアウト --- */
.n-detail_sns_list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    list-style: none;
    padding: 0;
    margin: 0;
}

/* 
flex: 1 1 160px; により、
数が減れば広がり、増えれば自動で折り返します。
大きくなりすぎないように max-width を設定しています。
*/
.n-detail_sns_item {
    flex: 1 1 160px;
    max-width: 220px; 
}

.n-detail_sns_link {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px 10px;
    background: #fafbfc;
    border: 1px solid #eee;
    border-radius: 12px;
    text-decoration: none;
    color: #333;
    font-size: 14px;
    font-weight: bold;
    transition: all 0.3s ease;
    height: 100%;
}

.n-detail_sns_link i {
    font-size: 36px;
    margin-bottom: 12px;
    transition: transform 0.3s ease;
}

/* ホバー時の共通アクション（フワッと浮く） */
.n-detail_sns_link:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 15px rgba(0,0,0,0.06);
    background: #fff;
}
.n-detail_sns_link:hover i {
    transform: scale(1.1);
}

/* --- 各SNSのブランドカラー設定 --- */
/* Instagram */
.sns_instagram i { color: #E1306C; }
.sns_instagram:hover { border-color: #E1306C; color: #E1306C; }

/* X (Twitter) */
.sns_x i { color: #000000; }
.sns_x:hover { border-color: #000000; color: #000000; }

/* YouTube */
.sns_youtube i { color: #FF0000; }
.sns_youtube:hover { border-color: #FF0000; color: #FF0000; }

/* TikTok */
.sns_tiktok i { color: #000000; }
.sns_tiktok:hover { 
    border-color: #000000; 
    color: #000000;
    /* TikTok特有のシアンとピンクの影をホバー時にうっすら付ける遊び心 */
    text-shadow: 1px 1px 0 rgba(254, 44, 85, 0.5), -1px -1px 0 rgba(37, 244, 238, 0.5);
}


/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .n-detail_sns_wrap {
        padding: 30px 20px;
        margin: 40px 0;
    }

    .n-detail_sns_title {
        font-size: 20px;
    }

    .n-detail_sns_desc {
        font-size: 13px;
    }

    .sp_only {
        display: block;
    }

    /* スマホ時は2列（横並び）にするための調整 */
    .n-detail_sns_list {
        gap: 10px;
    }

    .n-detail_sns_item {
        flex: 1 1 calc(50% - 10px);
        max-width: none;
    }

    .n-detail_sns_link {
        padding: 15px 10px;
        font-size: 13px;
    }

    .n-detail_sns_link i {
        font-size: 30px;
        margin-bottom: 8px;
    }
}






/*========================================
説明会・セミナー情報 詳細 (d-nurse_seminar_)
========================================*/

/* 記事全体の大枠（読みやすいように最大幅を絞る） */
.d-nurse_seminar_article {
    max-width: 800px;
    margin: 40px auto 80px;
    background: #fff;
    padding: 50px;
    border-radius: 16px;
    box-shadow: 0 5px 25px rgba(0,0,0,0.03);
}

/* --- ヘッダー --- */
.d-nurse_seminar_header {
    margin-bottom: 30px;
    border-bottom: 2px solid #f0f0f0;
    padding-bottom: 25px;
}

.d-nurse_seminar_meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 15px;
}

.d-nurse_seminar_date {
    font-size: 15px;
    color: #555;
    font-weight: bold;
}

/* タグ類 */
.d-nurse_seminar_tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.d-nurse_seminar_tags li {
    font-size: 12px;
    font-weight: bold;
    padding: 4px 12px;
    border-radius: 4px;
}

.d-nurse_seminar_tag_type { background: #d60050; color: #fff; } /* ピンク */
.d-nurse_seminar_tag_area { background: #1DB59B; color: #fff; } /* グリーン */
.d-nurse_seminar_tag_job { background: #e8f7f5; color: #1DB59B; } /* 薄いグリーン */

/* タイトル */
.d-nurse_seminar_title {
    font-size: 26px;
    color: #333;
    line-height: 1.5;
    font-weight: bold;
    margin: 0;
}

/* --- メインビジュアル --- */
.d-nurse_seminar_image {
    margin: 0 0 30px 0;
    border-radius: 12px;
    overflow: hidden;
}

.d-nurse_seminar_image img {
    width: 100%;
    height: auto;
    display: block;
}

/* --- 本文・概要 --- */
.d-nurse_seminar_content {
    margin-bottom: 40px;
}

.d-nurse_seminar_lead {
    font-size: 16px;
    color: #333;
    line-height: 1.8;
}

/* --- 開催概要テーブル --- */
.d-nurse_seminar_heading {
    font-size: 22px;
    color: #1DB59B; /* メインカラー */
    border-left: 5px solid #1DB59B;
    padding-left: 15px;
    margin-bottom: 25px;
}

.d-nurse_seminar_table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 40px;
    border-top: 1px solid #ddd;
}

.d-nurse_seminar_table th,
.d-nurse_seminar_table td {
    padding: 20px;
    border-bottom: 1px solid #ddd;
    line-height: 1.7;
    font-size: 15px;
}

.d-nurse_seminar_table th {
    width: 25%;
    background-color: #fafbfc;
    color: #555;
    font-weight: bold;
    text-align: left;
    vertical-align: top;
}

.d-nurse_seminar_table td {
    width: 75%;
    color: #333;
}

.d-nurse_seminar_note {
    font-size: 13px;
    color: #d60050; /* アクセント */
}

.d-nurse_seminar_map_link {
    display: inline-block;
    margin-top: 8px;
    font-size: 13px;
    color: #1DB59B;
    text-decoration: underline;
}

.d-nurse_seminar_map_link:hover {
    text-decoration: none;
}

/* --- 申し込みボタン --- */
.d-nurse_seminar_cta {
    text-align: center;
    background: #f4fbf9;
    padding: 40px;
    border-radius: 12px;
    margin-bottom: 40px;
}

.d-nurse_seminar_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #d60050; /* コンバージョンなので目立つピンク */
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
    padding: 20px 40px;
    border-radius: 50px;
    position: relative;
    min-width: 360px;
    transition: all 0.3s ease;
    box-shadow: 0 4px 15px rgba(214, 0, 80, 0.3);
}

.d-nurse_seminar_btn:hover {
    background-color: #b80045;
    transform: translateY(-2px);
    box-shadow: 0 6px 20px rgba(214, 0, 80, 0.4);
    color: #fff;
}

.d-nurse_seminar_btn .icon_left {
    position: absolute;
    left: 25px;
    font-size: 22px;
}

.d-nurse_seminar_btn .icon_right {
    position: absolute;
    right: 25px;
    font-size: 16px;
}

.d-nurse_seminar_cta_note {
    margin-top: 15px;
    font-size: 13px;
    color: #666;
    
    text-align: center;
}

/* --- 戻るリンク --- */
.d-nurse_seminar_back_wrap {
    text-align: center;
}

.d-nurse_seminar_back_link {
    display: inline-block;
    color: #1DB59B;
    font-size: 15px;
    text-decoration: underline;
    transition: 0.3s;
}

.d-nurse_seminar_back_link:hover {
    color: #179b84;
    text-decoration: none;
}


/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .d-nurse_seminar_article {
        margin: 20px auto 40px;
        padding: 30px 20px;
    }

    .d-nurse_seminar_header {
        padding-bottom: 15px;
    }

    .d-nurse_seminar_title {
        font-size: 22px;
    }

    .d-nurse_seminar_lead {
        font-size: 14px;
    }

    /* スマホ時はテーブルを縦積みに変更 */
    .d-nurse_seminar_table th,
    .d-nurse_seminar_table td {
        display: block;
        width: 100%;
    }

    .d-nurse_seminar_table th {
        padding: 15px 15px 5px;
        border-bottom: none;
        background: transparent;
        color: #1DB59B;
    }

    .d-nurse_seminar_table td {
        padding: 5px 15px 20px;
    }

    .d-nurse_seminar_cta {
        padding: 30px 15px;
    }

    .d-nurse_seminar_btn {
        width: 100%;
        min-width: auto;
        padding: 18px 20px;
        font-size: 16px;
    }

    .d-nurse_seminar_btn .icon_left {
        left: 20px;
        font-size: 18px;
    }
}






/*========================================
スタッフインタビュー詳細 (d-nurse_interview_)
========================================*/

.d-nurse_interview_article {
    max-width: 900px;
    margin: 0 auto 80px;
    background: #fff;
}

/* --- 1. ヒーローエリア --- */
.d-nurse_interview_hero {
    position: relative;
    margin-bottom: 60px;
}

.d-nurse_interview_hero_img {
    margin: 0;
    overflow: hidden;
    border-radius: 12px;
}

.d-nurse_interview_hero_img img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

/* PC時：画像の上に重なる白いボックス風キャッチコピー */
.d-nurse_interview_hero_copy {
    position: absolute;
    bottom: -30px;
    left: 40px;
    background: rgba(255, 255, 255, 0.95);
    padding: 35px 40px;
    border-radius: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
}

.d-nurse_interview_hero_sub {
    display: block;
    font-size: 14px;
    color: #1DB59B; /* メインカラー */
    font-family: Arial, sans-serif;
    font-weight: bold;
    letter-spacing: 0.1em;
    margin-bottom: 10px;
}

.d-nurse_interview_hero_title {
    font-size: 26px;
    color: #333;
    line-height: 1.6;
    margin: 0;
    font-family: "Noto Serif JP", serif; /* 明朝体でお洒落な雰囲気に */
    font-weight: 600;
}

/* --- 2. プロフィール --- */
.d-nurse_interview_profile {
    background-color: #f4fbf9; /* メインカラーの極薄い色 */
    padding: 40px;
    border-radius: 8px;
    margin-bottom: 80px;
    margin-top: 60px; /* キャッチコピーのはみ出し分を考慮 */
}

.d-nurse_interview_profile_inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

.d-nurse_interview_profile_head {
    flex: 0 0 300px;
}

.d-nurse_interview_profile_job {
    display: inline-block;
    background: #1DB59B;
    color: #fff;
    font-size: 12px;
    font-weight: bold;
    padding: 4px 12px;
    border-radius: 20px;
    margin-bottom: 12px;
}

.d-nurse_interview_profile_name {
    font-size: 24px;
    color: #333;
    margin: 0;
    font-weight: bold;
}

.d-nurse_interview_profile_name span {
    display: block;
    font-size: 13px;
    color: #777;
    font-weight: normal;
    font-family: Arial, sans-serif;
    margin-top: 4px;
}

.d-nurse_interview_profile_history {
    flex: 1;
    margin: 0;
}

.d-nurse_interview_profile_row {
    display: flex;
    margin-bottom: 12px;
    border-bottom: 1px dashed #cbebe4;
    padding-bottom: 12px;
}

.d-nurse_interview_profile_row:last-child {
    margin-bottom: 0;
    border-bottom: none;
    padding-bottom: 0;
}

.d-nurse_interview_profile_history dt {
    width: 60px;
    font-weight: bold;
    color: #1DB59B;
    font-size: 14px;
    flex-shrink: 0;
}

.d-nurse_interview_profile_history dd {
    margin: 0;
    font-size: 14px;
    color: #333;
    line-height: 1.6;
}

/* --- 3. インタビューQ&A --- */
.d-nurse_interview_qa_wrap {
    margin-bottom: 60px;
}

.d-nurse_interview_block {
    margin-bottom: 70px;
}

.d-nurse_interview_block_last {
    margin-bottom: 0;
    text-align: center;
    background: #fffafa; /* ポイントカラーの極薄い色で特別感を */
    padding: 50px 40px;
    border-radius: 12px;
}

/* 質問見出し */
.d-nurse_interview_q {
    display: flex;
    align-items: baseline;
    font-size: 22px;
    color: #333;
    margin: 0 0 25px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid #f0f0f0;
    font-weight: bold;
    line-height: 1.5;
}

.d-nurse_interview_block_last .d-nurse_interview_q {
    justify-content: center;
    border-bottom: none;
}

.d-nurse_interview_q_mark {
    font-family: Arial, sans-serif;
    color: #d60050; /* ポイントカラー(ピンク) */
    font-size: 32px;
    margin-right: 12px;
}

/* 回答エリア */
.d-nurse_interview_a {
    display: flex;
    align-items: center;
    gap: 40px;
}

.d-nurse_interview_a_reverse {
    flex-direction: row-reverse; /* 画像とテキストを左右反転 */
}

.d-nurse_interview_a_single {
    display: block; /* 最後の質問は画像なしの中央揃え用 */
}

.d-nurse_interview_a_text {
    flex: 1;
}

.d-nurse_interview_a_text p {
    font-size: 16px;
    line-height: 2; /* 読みやすいように行間を広めに */
    color: #333;
    margin: 0;
}

.d-nurse_interview_a_img {
    width: 45%;
    margin: 0;
    border-radius: 8px;
    overflow: hidden;
}

.d-nurse_interview_a_img img {
    width: 100%;
    height: auto;
    display: block;
}

/* --- 4. 戻るボタン --- */
.d-nurse_interview_back {
    text-align: center;
    margin-top: 60px;
    padding-top: 60px;
    border-top: 1px solid #eee;
}

.d-nurse_interview_back_btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    color: #1DB59B;
    border: 2px solid #1DB59B;
    font-size: 16px;
    font-weight: bold;
    text-decoration: none;
    padding: 18px 50px;
    border-radius: 50px;
    transition: all 0.3s ease;
    min-width: 280px;
}

.d-nurse_interview_back_btn:hover {
    background-color: #1DB59B;
    color: #fff;
}


/*========================================
レスポンシブ (SP)
========================================*/
@media screen and (max-width: 768px) {
    .d-nurse_interview_hero_img {
        border-radius: 0; /* スマホ時は画面端まで画像を伸ばす想定 */
    }

    /* キャッチコピーを画像の下に配置するレイアウトに変更 */
    .d-nurse_interview_hero_copy {
        position: relative;
        bottom: auto;
        left: auto;
        margin: -20px 20px 0;
        padding: 25px 20px;
        box-shadow: 0 5px 15px rgba(0,0,0,0.08);
    }

    .d-nurse_interview_hero_title {
        font-size: 20px;
    }

    .d-nurse_interview_profile {
        margin: 40px 20px;
        padding: 25px 20px;
    }

    .d-nurse_interview_profile_inner {
        flex-direction: column;
        gap: 20px;
        align-items: flex-start;
    }

    .d-nurse_interview_profile_head {
        flex: auto;
    }

    .d-nurse_interview_profile_row {
        flex-direction: column;
        border-bottom: none;
        padding-bottom: 0;
        margin-bottom: 15px;
    }

    .d-nurse_interview_profile_history dt {
        margin-bottom: 5px;
    }

    .d-nurse_interview_block {
        margin: 0 20px 50px;
    }

    .d-nurse_interview_block_last {
        margin: 0 20px;
        padding: 30px 20px;
    }

    .d-nurse_interview_q {
        font-size: 18px;
    }

    .d-nurse_interview_q_mark {
        font-size: 24px;
    }

    .d-nurse_interview_block_last .d-nurse_interview_q {
        justify-content: flex-start; /* スマホ時は左揃え */
    }

    /* スマホ時は画像を上に、テキストを下にする縦積みにリセット */
    .d-nurse_interview_a,
    .d-nurse_interview_a_reverse {
        flex-direction: column;
        gap: 20px;
    }

    /* スマホでは画像を先に見せる */
    .d-nurse_interview_a_img {
        width: 100%;
        order: -1; 
    }

    .d-nurse_interview_a_text p {
        font-size: 15px;
        line-height: 1.8;
    }

    .d-nurse_interview_back_btn {
        width: 100%;
        max-width: 300px;
        padding: 15px 20px;
    }
}



/*==========================
  
==========================*/



/*==============================
PC・SP 改行用
==============================*/

/* PCのみ改行 */
.pc_only_br{
    display:block;
}

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

  .pc_only_br{
      display:none;
  }

}

/* SPのみ改行 */
.sp_only_br{
    display:none;
}

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

  .sp_only_br{
      display:block;
  }

}
