/* ========================================
   モバイル対応
   ======================================== */

/* iPad 用レイアウト（561px〜930px）
   スマホと同じヘッダー＋モバイルメニューを適用 */
@media screen and (min-width: 561px) and (max-width: 930px) {
    /* ヘッダー */
    .university_name {
        display: block;
        width: 100%;
        height: 64px;
        background-color: #fff;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 15;
        border-bottom: 1px solid #000;
        padding: 1.6rem 0 0 1.6rem;
        box-sizing: border-box;
        align-items: flex-start;
        justify-content: flex-start;
    }

    .university_name_title_image {
        width: 16.9rem;
        height: auto;
        display: block;
    }

    .mobile_header_join_text {
        display: block;
        position: absolute;
        right: calc(1.6rem + 4.4rem + 1.2rem);
        top: 50%;
        transform: translateY(-50%);
        background-color: #111111;
        border-radius: 2.2rem;
        color: #FFDA00;
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.6rem;
        font-weight: 700;
        padding: 0.8rem 1.6rem;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .mobile_header_menu_button {
        position: absolute;
        right: 1.6rem;
        top: 1rem;
        width: 4.4rem;
        height: 4.4rem;
        border-radius: 50%;
        background-color: #FE673E;
        border: none;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0.35rem;
        cursor: pointer;
        box-sizing: border-box;
    }

    .mobile_header_close_button {
        position: absolute;
        right: 1.6rem;
        top: 1rem;
        width: 4.4rem;
        height: 4.4rem;
        border: none;
        padding: 0;
        background: none;
        cursor: pointer;
        display: none;
        box-sizing: border-box;
    }

    .mobile_header_close_icon {
        width: 100%;
        height: 100%;
        display: block;
    }

    .mobile_menu_overlay.is-open + * .mobile_header_menu_button,
    body:has(.mobile_menu_overlay.is-open) .mobile_header_menu_button {
        display: none;
    }

    .mobile_menu_overlay.is-open + * .mobile_header_close_button,
    body:has(.mobile_menu_overlay.is-open) .mobile_header_close_button {
        display: block;
    }

    /* モバイルメニュー本体 */
    .mobile_menu_overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100dvh;
        padding-bottom: 4.8rem;
        background-color: #FFF8EF;
        z-index: 14;
        display: block;
        opacity: 0;
        visibility: hidden;
        overflow-y: auto;
        transition: opacity 0.5s ease, visibility 0.5s ease;
    }

    .mobile_menu_overlay.is-open {
        opacity: 1;
        visibility: visible;
    }

    body:has(.mobile_menu_overlay.is-open) {
        overflow: hidden;
    }

    /* ハンバーガーメニューの中身（スマホと同じレイアウト） */
    .mobile_menu_container {
        width: calc(100% - 3.2rem);
        margin-top: 8.8rem; 
        height: calc(100% - 8.8rem - 1.6rem);
        margin-bottom: 1.6rem;
        background-color: #FFFFFF;
        border: 1px solid #111111;
        border-radius: 1.6rem;
        padding: 2.4rem 2.4rem 2.4rem 1.6rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

    .mobile_menu_items {
        list-style: none;
        width: 100%;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 2.4rem;
        margin-bottom: 0;
    }

    .mobile_menu_item {
        width: 100%;
    }

    .mobile_menu_text {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.6rem;
        font-weight: 700;
        color: #000000;
        text-align: center;
        display: block;
        margin-bottom: 1.6rem;
        position: relative;
    }

    .mobile_menu_text::after {
        content: '';
        position: absolute;
        bottom: -1.6rem;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #C3C3C3;
    }

    .mobile_menu_join_button {
        width: 100%;
        max-width: 32.7rem;
        height: auto;
        display: block;
        margin-top: calc(1.6rem + 2.4rem);
        margin-left: auto;
        margin-right: auto;
    }

    .mobile_menu_join_button img {
        width: 100%;
        height: auto;
    }

    .contents_inner {
        display: flex;
        justify-content: center;
        align-items: center;
       
    }

    /* right_menu はPCと同じ幅で、contents_inner の中央に配置する */
    .right_menu {
        width: 560px;    
    }
}

/* スマホ用レイアウト（〜560px） */
@media screen and (max-width: 560px) {
    html, body {
        overflow-x: hidden;
    }

    /* ========================================
       ヘッダー
       ======================================== */
    .university_name {
        display: block;
        width: 100%;
        height: 64px;
        background-color: #fff;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 15;
        border-bottom: 1px solid #000;
        padding: 1.6rem 0 0 1.6rem;
        box-sizing: border-box;
        align-items: flex-start;
        justify-content: flex-start;
    }


    .university_name_title_image {
        width: 16.9rem;
        height: auto;
        display: block;
    }

    .mobile_header_join_text {
        display: block;
        position: absolute;
        right: calc(1.6rem + 4.4rem + 1.2rem);
        top: 50%;
        transform: translateY(-50%);
        background-color: #111111;
        border-radius: 2.2rem;
        color: #FFDA00;
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.6rem;
        font-weight: 700;
        padding: 0.8rem 1.6rem;
        white-space: nowrap;
        box-sizing: border-box;
    }

    .mobile_header_menu_button {
        position: absolute;
        right: 1.6rem;
        top: 1rem;
        width: 4.4rem;
        height: 4.4rem;
        border-radius: 50%;
        background-color: #FE673E;
        border: none;
        padding: 0;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        gap: 0.35rem;
        cursor: pointer;
        box-sizing: border-box;
    }

    .menu_line {
        width: 2.2rem;
        height: 0.25rem;
        background-color: #FFFFFF;
        display: block;
    }

    .mobile_header_close_button {
        position: absolute;
        right: 1.6rem;
        top: 1rem;
        width: 4.4rem;
        height: 4.4rem;
        border: none;
        padding: 0;
        background: none;
        cursor: pointer;
        display: none;
        box-sizing: border-box;
    }

    .mobile_header_close_icon {
        width: 100%;
        height: 100%;
        display: block;
    }

    .mobile_menu_overlay.is-open + * .mobile_header_menu_button,
    body:has(.mobile_menu_overlay.is-open) .mobile_header_menu_button {
        display: none;
    }

    .mobile_menu_overlay.is-open + * .mobile_header_close_button,
    body:has(.mobile_menu_overlay.is-open) .mobile_header_close_button {
        display: block;
    }

    /* ========================================
       モバイルメニュー
       ======================================== */
    .mobile_menu_overlay {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100dvh;
        padding-bottom: 4.8rem;
        background-color: #FFF8EF;
        z-index: 14;
        display: block;
        opacity: 0;
        visibility: hidden;
        overflow-y: auto;
        transition: opacity 0.5s ease, visibility 0.5s ease;
    }

    .mobile_menu_overlay.is-open {
        opacity: 1;
        visibility: visible;
    }

    body:has(.mobile_menu_overlay.is-open) {
        overflow: hidden;
    }

    .mobile_menu_container {
        width: calc(100% - 3.2rem);
        margin-top: 8.8rem; 
        height: calc(100% - 8.8rem - 1.6rem);
        margin-bottom: 1.6rem;
        background-color: #FFFFFF;
        border: 1px solid #111111;
        border-radius: 1.6rem;
        padding: 2.4rem 2.4rem 2.4rem 1.6rem;
        display: flex;
        flex-direction: column;
        justify-content: center; /* 中央揃え */
        align-items: center; /* 中央揃え */
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }

    .mobile_menu_items {
        list-style: none;
        
     /* 次回の目玉非表示のため、いれています */
        width: 100%;

        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 2.4rem;
        margin-bottom: 0;
    }

    .mobile_menu_item {
        width: 100%;
    }

    .mobile_menu_text {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.6rem;
        font-weight: 700;
        color: #000000;
        text-align: center;
        display: block;
        margin-bottom: 1.6rem;
        position: relative;
    }

    .mobile_menu_text::after {
        content: '';
        position: absolute;
        bottom: -1.6rem;
        left: 0;
        width: 100%;
        height: 1px;
        background-color: #C3C3C3;
    }

    .mobile_menu_join_button {
        width: 100%;
        max-width: 32.7rem;
        height: auto;
        display: block;
        margin-top: calc(1.6rem + 2.4rem);
        margin-left: auto;
        margin-right: auto;
    }

    .mobile_menu_join_button img {
        width: 100%;
        height: auto;
    }

    .contents_inner {
        width: 100%;
        padding-top: 0;
        padding-bottom: 0;
        display: block;
        margin: 0;
        overflow-x: hidden;
    }


/* ========================================
       レイアウト
       ======================================== */
   

    .left_menu {
        display: none;
    }

    .right_menu {
        width: 560px;
        margin-top: 0;
        margin-left: 0;
        margin-right: 0;
        border-radius: 0;
        align-self: auto;
        margin-bottom: 0;
    }

    .menu_inner {
        padding: 0;
        padding-top: 8.8rem;
    }

    /* ========================================
       right_mv_hangar（MVセクション）
       ======================================== */
    .right_mv_hangar {
        width: calc(100% - 3.2rem);
        height: 0;
        padding-bottom: 125%;
        border-radius: 1.6rem;
        margin-left: 1.6rem;
        margin-right: 1.6rem;
        overflow: visible;
    }

    /* style.cssの930px以下の.mv_sliderを上書き（詳細度: 0,2,0 > 0,1,0） */
    .right_mv_hangar .mv_slider {
        position: absolute ;
        top: 0;
        left: 0;
        width: 100% ;
        height: 100%;
        border-radius: 1.6rem;
        overflow: hidden;
    }

    .right_mv_hangar .mv_slider .swiper-wrapper {
        width: 100%;
        height: 100%;
        display: flex;
    }

    /* style.cssのグローバル.mv_slider .swiper-slideを上書き（詳細度: 0,3,0 > 0,2,0） */
    .right_mv_hangar .mv_slider .swiper-slide {
        width: 100%;
        min-width: 100%;
        height: 100%;
        flex-shrink: 0;
    }

    /* style.cssのグローバル.mv_slider .swiper-slide imgを上書き（詳細度: 0,4,0 > 0,3,0） */
    .right_mv_hangar .mv_slider .swiper-slide img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
        display: block;
        min-width: 100%;
    }

    /* ========================================
       right_explain_hangar（説明セクション）
       ======================================== */
    .right_explain_hangar {
        padding-left: 0.8rem;
        padding-right: 0.8rem;
        padding-bottom: 2.4rem;
    }

    .right_explain_hangar h2 {
        font-size: 1.4rem;
        line-height: 2.4rem;
    }

    .right_explain_hangar p {
        font-size: 1.4rem;
    }

    .explain_list_row {
        flex-wrap: wrap;
        gap: 0.8rem;
    }

    .explain_list_item {
        width: fit-content;
        min-width: 0;
        padding: 0.8rem 0.6rem;
        font-size: 1.4rem;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        box-sizing: border-box;
    }

    .explain_emoji {
        width: 1.4em;
        height: 1.4em;
        margin-left: 0.2em;
    }

    .scroll_menu_department .explain_emoji {
        width: 1.4em;
        height: 1.4em;
    }

    /* ========================================
       right_next_main_hangar（次回のオープンキャンパス）
       ======================================== */
    .right_next_main_title {
        width: 100vw;
        margin-left: 0;
    }

    .scroll_menu_item {
        width: 26.4rem;
        height: 42.6rem;
    }

    .scroll_menu_item img {
        width: 100%;
        margin-left: auto;
        height: auto;
    }

    .scroll_menu_swiper .swiper-slide {
        width: 26.4rem;
    }

    .scroll_menu_text {
        font-size: 1.6rem;
        margin-bottom: 1.2rem;
    }

    .scroll_menu_item::after {
        content: '';
        position: absolute;
        top: -1rem;
        left: 0.4rem;
        background-size: contain;
        background-position: center;
        background-repeat: no-repeat;
    }

    .scroll_menu_item[data-slide-number="1"]::after {
        width: 4.5rem;
        height: 6rem;
        background-image: url('../img/right_menu/right_next_main/01.png');
    }

    .scroll_menu_item[data-slide-number="2"]::after {
        width: 5rem;
        height: 6rem;
        background-image: url('../img/right_menu/right_next_main/02.png');
    }

    .scroll_menu_item[data-slide-number="3"]::after {
        width: 4.8rem;
        height: 6rem;
        background-image: url('../img/right_menu/right_next_main/03.png');
    }

    .scroll_menu_department {
        font-size: 1.4rem;
        width: fit-content;
        height: 2.6rem;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    .scroll_menu_department_3 {
        width: fit-content;
        padding-left: 1rem;
        padding-right: 1rem;
    }

    /* scroll_menu_buttons_containerのgapとmargin-leftはstyle.cssのclamp()で自動設定 */

    /* ========================================
       open_campus_hangar（開催日程）
       ======================================== */
    .open_campus_hangar {
        margin-top: 4rem;
        padding-bottom: 6rem;
    }

    .open_campus_list {
        padding-left: 0.8rem;
        padding-right: 0.8rem;
        width: 100%;
        max-width: 100%;
        box-sizing: border-box;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.2rem;
        margin-left: auto;
        margin-right: auto;
    }

    .open_campus_item {
        width: 100%;
        max-width: 100%;
        height: 10.7rem;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 0.7rem;
        gap: 0.8rem;
    }

    .open_campus_item_link {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        text-decoration: none;
        color: inherit;
        width: 100%;
        gap: 0.8rem;
    }

    .open_campus_date_wrapper {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: center;
        margin-bottom: 0.4rem;
        width: 100%;
    }

    .open_campus_date {
        width: 100%;
        display: block;
        font-size: 2.8rem;
        margin-bottom: 0.4rem;
        text-align: center;
    }

    .open_campus_day {
        display: inline-block;
        font-size: 1.6rem;
    }

    .open_campus_status {
        width: 100%;
        margin-left: 0.8rem;
        margin-right: 0.8rem;
        display: flex;
        
    }

    .open_campus_status-available .open_campus_status {
        width: 100%;
        max-width: 100%;
        padding-left: 0.3rem;
        padding-right: 0.3rem;
    }

    .open_campus_status_text {
        font-size: 1.4rem;
        white-space: nowrap;
        font-family: Noto Sans JP;
    }

    .open_campus_status_arrow {
        margin-left: 0.4rem;
    }

    /* ステータス: 終了 */
    .open_campus_status-ended {
        border: 1px solid #A8A8A8;
        background-color: #D5D5D5;
    }

    .open_campus_status-ended .open_campus_status::before {
        content: '終了しました';
    }

    .open_campus_status-ended .open_campus_status {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.4rem;
        font-weight: 700;
        color: #111111;
    }

    /* ステータス: 準備中 */
    .open_campus_status-preparing {
        border: 1px solid #A8A8A8;
    }

    .open_campus_status-preparing .open_campus_status::before {
        content: '準備中';
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.4rem;
        font-weight: 700;
        color: #A8A8A8;
    }

    .open_campus_status-preparing .open_campus_status {
        font-family: 'Noto Sans JP', sans-serif;
        font-size: 1.6rem;
        font-weight: 700;
        color: #A8A8A8;
    }

    /* ========================================
       program_hangar（プログラム紹介）
       ======================================== */
    .program_hangar {
        padding-left: 0.8rem;
        padding-right: 0.8rem;
        position: relative;
    }

    .program_hangar::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: #F2F2F2;
        z-index: 0;
    }

    .program_hangar::after {
        left: 0;
        width: 100%;
        z-index: 1;
    }

    .program_title {
        padding-top: 4.45rem;
        position: relative;
        z-index: 1;
    }

    .program_join_button {
        position: relative;
        z-index: 1;
        display: block;
        width: 100%;
        margin-top: 2.4rem;
        margin-bottom: 4rem;
    }

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

    .program_bg_line_bottom {
        position: relative;
        z-index: 1;
    }
    .program_tab_list {
        gap: 0.8rem;
        width: 100%;
        margin-top: 1.2rem;
    }

    .program_tab_content {
        padding-left: 0;
        padding-right: 0;
        position: relative;
    }

    .program_tab_content-business {
        z-index: 3;
    }

    .program_tab_content-info {
        z-index: 3;
    }

    .program_tab_content-anime {
        z-index: 3;
    }

    .program_content_list {
        gap: 2.4rem;
        row-gap: 2.4rem;
        column-gap: 1.6rem;
        position: relative;
        z-index: 1;
    }

    .program_content_item {
        width: 100%;
        max-width: 100%;
        position: relative;
        z-index: 1;
    }

    .program_content_image {
        width: 100%;
        height: auto;
    }

    .program_content_title {
        width: 100%;
        margin-top: 0;
    }

    .program_content_time {
        width: 100%;
        margin-top: 0;
        margin-bottom: 0;
    }
}

/* ========================================
   program_hangar（プログラム紹介）追加スタイル
   ======================================== */
@media screen and (max-width: 560px) {
    .program_tab_list {
        gap: 0.8rem;
    }

    .program_tab_item-business .program_tab_button {
        font-size: 1.4rem;
        width: 100%;
        height: clamp(5.2rem, calc(5.2rem + (6.7rem - 5.2rem) * ((100vw - 390px) / (560px - 390px))), 6.7rem);
    }

    .program_tab_item-info .program_tab_button {
        font-size: 1.4rem;
        width: 100%;
        height: clamp(5.2rem, calc(5.2rem + (6.7rem - 5.2rem) * ((100vw - 390px) / (560px - 390px))), 6.7rem);
    }

    .program_tab_item-anime .program_tab_button {
        font-size: 1.4rem;
        width: 100%;
        height: clamp(5.2rem, calc(5.2rem + (6.7rem - 5.2rem) * ((100vw - 390px) / (560px - 390px))), 6.7rem);
        white-space: normal;
        word-break: keep-all;
        line-height: 1.2;
    }

    .program_tab_break {
        display: block;
    }

    /* スマホ時はタブボタンのホバー効果を無効化 */
    .program_tab_item:hover .program_tab_button {
        height: clamp(5.2rem, calc(5.2rem + (6.7rem - 5.2rem) * ((100vw - 390px) / (560px - 390px))), 6.7rem);
        top: 0;
        margin-bottom: 0;
        align-items: center;
        padding-top: 0;
    }

    .program_tab_content-business::before {
        width: calc((100% - calc(100% / 3 - 0.8rem)) / 2 - 0.05rem);
    }

    .program_tab_content-business::after {
        width: calc((100% - calc(100% / 3 - 0.8rem)) - 0.2rem);
    }

    .program_tab_content-info::before {
        width: calc((100% - calc(100% / 3 - 0.8rem)) / 2 - 0.05rem);
    }

    .program_tab_content-info::after {
        width: calc((100% - calc(100% / 3 - 0.8rem)) / 2 - 0.05rem);
    }

    .program_tab_content-anime::before {
        width: calc((100% - calc(100% / 3 - 0.8rem)) - 0.2rem);
    }
}

/* ========================================
   transportation_hangar（交通費サポート）
   ======================================== */
@media screen and (max-width: 560px) {
    .transportation_bg_line {
    }

    .transportation_title {
        width: 25.9rem;
        height: auto;
        margin-top: 4rem;
    }

    .target_audience,
    .target_area,
    .support_amount,
    .howto-apply {
        width: calc(100% - 1.6rem);
        margin-left: 0.8rem;
        margin-right: 0.8rem;
        padding-top: 2.4rem;
    }

    .support_amount_text:not(:first-child) {
        margin-top: 0.8rem;
    }

    .accordion_list {
        width: calc(100% - 1.6rem);
        margin-left: 0.8rem;
        margin-right: 0.8rem;
    }

    .accordion-item {
        padding-bottom: 0.8rem;
    }

    .accordion_list > h3 {
        padding: 0 0.8rem 0.8rem 0.8rem;
        box-sizing: border-box;
    }
}

@media screen and (max-width: 560px) {
    .program_content_note {
        margin-left: 0.8rem;
    }
}

/* ========================================
   faq_access_hangar（FAQ・アクセス）
   ======================================== */
    .faq_access_hangar {
        padding-top: 4rem;
    }
@media screen and (max-width: 560px) {
    .access_map_title {
        width: 30.8rem;
    }

    .campus_name{
        margin-bottom: 1rem;
    }

    .campus_text {
        width: calc(100% - 1.6rem);
        margin-left: 0.8rem;
        margin-right: 0.8rem;
    }

    .campus_item{
        margin-bottom: 1.6rem;
    }

    .faq_access_join_button {
        width: calc(100% - 1.6rem);
        margin-left: 0.8rem;
        margin-right: 0.8rem;
    }
    .access_map_image {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0.8rem;
        padding-right: 0.8rem;
        box-sizing: border-box;
        object-fit: contain;
        object-position: center;
    }

    /* アコーディオンボタンのテキストサイズ（スマホ時） */
    .accordion-header .accordion__button {
        font-size: 1.6rem;
    }

    .accordion_list{
        padding-bottom: 2.4rem;
    }

    .line_app{
        margin-bottom: 4rem;
    }

    .line_app_image {
        width: 25rem;
    }

    .line_button {
        width: 29.9rem;
        height: 5.4rem;
    }

    .line_button_icon {
        width: 4rem;
        height: 4rem;
        left: 1.2rem;
    }
}

/* ========================================
   feature_hangar（学部紹介）
   ======================================== */
@media screen and (max-width: 560px) {
    .feature_hangar {
        width: 100%;
        margin-left: 0;
        margin-right: 0;
        padding-top: 4rem;
        padding-bottom: 4rem;
    }

    .feature_image {
        width: 31.3rem;
        margin-bottom: 1.4rem;
    }

    .feature_department_image {
        width: calc(100% - 1.6rem);
        height: auto;
        display: block;
        margin-left: 0.8rem;
        margin-right: 0.8rem;
        margin-bottom: 1rem;
    }
}

/* ========================================
   その他共通スタイル
   ======================================== */
@media screen and (max-width: 560px) {
    .footer_up {
        flex-direction: column;
    }
}

/* ========================================
   390px以下専用スタイル
   ======================================== */
@media screen and (max-width: 390px) {
    .program_content_item {
        width: 16.3rem;
    }

    .program_tab_list {
        gap: 0.8rem;
        width: 100%;
        margin-top: 1.2rem;
    }

    .program_tab_item-business .program_tab_button {
        width: 12rem;
        height: 5.2rem;
    }

    .program_tab_item-business .program_tab_button{
        font-size: 1.4rem;
    }

    .program_tab_item-info .program_tab_button{
        font-size: 1.4rem;
    }

    .program_tab_item-anime .program_tab_button {
        font-size: 1.4rem;
    }

    .program_tab_item-info .program_tab_button {
        width: 12rem;
        height: 5.2rem;
    }

    .program_tab_item-anime .program_tab_button {
        width: 12rem;
        height: 5.2rem;
    }

    .right_mv_hangar::after {
        width: 21.4rem;
        height: auto;
    }

    .siteButton:hover {
        background-color: #FFDA00;
    }

    /* 390px以下でもタブボタンのホバー効果を無効化 */
    .program_tab_item:hover .program_tab_button {
        height: 5.2rem;
        top: 0;
        margin-bottom: 0;
        align-items: center;
        padding-top: 0;
    }

    .campus_name {
        font-size: 1.6rem;
    }

    /* scroll_menu_buttons_containerのgapとmargin-leftはstyle.cssのclamp()で自動設定 */

    /* ========================================
       交通費サポート紹介（スマホ用）
       ======================================== */
    .target_audience {
        padding: 3.2rem 1.6rem 1.6rem 1.6rem;
        margin-top: 3.2rem;
        margin-bottom: 3.2rem;
    }

    .target_audience::before {
        width: 16rem;
        min-height: 4rem;
        background-size: 16rem auto;
    }

    .target_audience_text {
        font-size: 1.6rem;
        line-height: 2.4rem;
    }

    .mobile_break {
        display: block;
    }

    .target_area {
        padding: 3.2rem 1.6rem 1.6rem 1.6rem;
        margin-bottom: 3.2rem;
    }

    .target_area::before {
        width: 16rem;
        min-height: 4rem;
        background-size: 16rem auto;
    }

    .target_area_text {
        font-size: 1.4rem;
        line-height: 2rem;
    }

    .target_area_note {
        font-size: 1.2rem;
        line-height: 1.8rem;
        margin-top: 1.2rem;
    }

    .support_amount {
        padding: 3.2rem 1.6rem 1.6rem 1.6rem;
        margin-bottom: 3.2rem;
    }

    .support_amount::before {
        width: 16rem;
        min-height: 4rem;
        background-size: 16rem auto;
    }

    .support_amount_text {
        font-size: 1.4rem;
        line-height: 2rem;
    }

    .support_amount_text:not(:first-child) {
        margin-top: 0.8rem;
    }

    .support_amount_note {
        font-size: 1.4rem;
        line-height: 1.8rem;
        margin-top: 0.8rem;
        max-width: 100%;
    }

    .howto-apply {
        padding: 3.2rem 1.6rem 1.6rem 1.6rem;
    }

    .howto-apply::before {
        width: 16rem;
        min-height: 4rem;
        background-size: 16rem auto;
    }

    .howto-apply_text {
        font-size: 1.6rem;
        line-height: 2.4rem;
    }

    .faq_access_join_button img{
        width: 100%;
    }
    .transportation_bg_line{
        margin:0;
    }
}
