html {
    scroll-padding-top: 120px;
    /* ヘッダーの高さ分だけ調整 */
}

main {
    overflow: hidden;
}

a {
    transition: 0.5s;
}

a:hover {
    opacity: 0.7;
}

.gray_four_cont:hover {
    opacity: 0.5;
    transition: 0.5s;
}

.w_1400 {
    max-width: 1380px;
    width: 90%;
    margin: 0 auto;
}

.w_1020 {
    max-width: 1020px;
    width: 90%;
    margin: 0 auto;
}

.w_100 {
    max-width: 100%;
    width: 100%;
    margin: 0 auto;
}

.red {
    color: red;

}

.top_message {
    display: flex;
    justify-content: space-between;
    margin-top: 40px;
    margin-bottom: 40px;
    align-items: center;
}

.top_message_blue {
    margin-bottom: 50px;
    color: #005EA6;
    font-size: 30px;
}

.top_message_h3 {
    font-size: 30px;
    line-height: 1.5;
    font-weight: bold;
    margin-bottom: 50px;
}

.top_message img {
    width: 40%;
    height: 50%;
    padding: 5vw;
}

.top_message_p {
    font-size: 15px;
    line-height: 1.8;
    margin-top: 20px;
}

.top_three_sec {
    display: flex;
    justify-content: space-between;
    gap: 35px;
}

.top_three_sec_h3 {
    margin-top: 10px;
    color: #005EA6;
    font-size: 20px;
}

.top_message_main {
    margin-left: 8vw;
}

.top_three_sec_p {
    margin-top: 20px;
}

.new-listWrap {
    max-width: 100% !important;
}

.top_news_imp_h3 {
    color: #8B1132;
    font-size: 25px;
}

.top_news_imp_head {
    display: flex;
    justify-content: space-between;
    padding: 23px 20px;
    align-items: center;
}

.top_news_imp_more_i {
    position: absolute;
    right: 10px;
    color: white;
}

.top_new_imps_more {
    width: 130px;
    display: flex;
    text-align: center;
    justify-content: center;
    background-color: #8b1132;
    color: white;
    border-radius: 20px;
    height: 40px;
    position: relative;
    align-items: center;
    font-weight: bold;
}

.top_new_imps_more:hover {
    color: #8b1132;
    background-color: white;
    border: 1px solid #8b1132;
}

.new-listWrap a:hover .news-txt {
    color: #767676 !important;
}

.top_new_imps_more:hover .top_news_imp_more_i {
    color: #8b1132;
}

.top_news_imp {
    border: 1px solid #8b1132 !important;
    border-radius: 10px;
    margin-top: 120px;
    padding: 20px;
}

.top_champ:hover {
    opacity: 0.5;
}

.guide_text_button:hover,
.faq_button:hover,
.top_news_ttl_button:hover {
    color: #005ea6 !important;
    background-color: white;
    border: 1px solid #005EA6;
}

.guide_text_button:hover span,
.faq_button:hover span,
.top_news_ttl_button:hover span {
    color: #005EA6;
}

.top_foot_sub_cont:hover {
    color: white;
    background-color: #005ea6 !important;
    border: 1px solid white;
}

.top_foot_sub_cont:hover span {
    color: white;
}

.news-date {
    color: #8B1132 !important;
}

.news-date-main {
    color: #0068B3 !important;
    font-weight: 400;
    line-height: 1.6;
    font-size: 14px;
    display: inline-block;

    margin-right: 20px;
    vertical-align: middle;
    letter-spacing: .1px;
    width: 90px;
    font-weight: 500;
}

.news-cate-main {
    color: #0068B3 !important;
    border: 1px solid #0068B3;
    background-color: white !important;
    font-size: 12px;
    /*padding: 1px 5px 0;*/
    border-radius: 20px;
    display: inline-block;

    transition: .3s;
    vertical-align: middle;
    line-height: 1.7;
    width: 100px;
    text-align: center;
    margin-right: 30px;
    letter-spacing: .1px;
    margin-top: 2px;
}

.news-cate {
    color: white !important;
    border: none;
    background-color: #8B1132 !important;
}

.new-listWrap a:after {
    background: url(../img/news_link_icon.png) no-repeat !important;
}

.top_guide {
    margin-top: 100px;
    margin-bottom: 50px;
}

.guide_right_img_img,
.guide_left_img_img {
    width: 55%;
    margin: 0;
}

.guide_left_img_img img,
.guide_right_img_img img {
    height: 25vw;
    object-fit: cover;
    border-radius: 20px;
}

.top_three_sec_main {
    width: 436px;
}

.top_three_sec_main img {
    border-radius: 10px;
}

.t_right {
    margin-left: auto;
}

.top_three_sec_main {
    position: relative;
    padding-bottom: 60px;
}

.guide_left_img {
    flex-direction: row-reverse;
}

.guide_text_all {
    width: 40%;
    position: relative;

    padding: 10px;
    padding-bottom: 50px;  /* ← ボタンの高さ＋余白ぶん */
}

.top_footer_cont a:hover {
    color: rgb(250, 246, 29);
    transition: 0.5s;
}

.guide_text_h3 {
    color: #005ea6;
    font-size: 30px;
    margin-bottom: 30px;
    font-weight: bold;
    line-height: 40px;

}

.guide_text_h3_s {
    color: #005ea6;
}

.guide_text_button {
    width: 130px;
    display: flex;
    text-align: center;
    justify-content: center;
    background-color: #005ea6;
    color: white !important;
    border-radius: 15px;
    height: 32px;
    position: absolute;
    align-items: center;
    bottom: 10px;
}

.text_button_i {
    position: absolute;
    right: 10px;
    color: white;
}

.guide_right_img,
.guide_left_img {
    margin-bottom: 80px;
    display: flex;
    justify-content: space-between;
    gap: 20px;
}

.top_champ {
    display: flex;
    align-items: center;
    height: 100px;
    position: relative;
    justify-content: center;
    font-size: 20px;
    color: #005ea6;
    border-radius: 10px;
    background-color: #FEFCD9;
    margin-bottom: 100px;
    font-weight: bold;
}

.top_news_ttl_button {
    width: 130px;
    display: flex;
    text-align: center;
    justify-content: center;
    background-color: #005ea6;
    color: white;
    border-radius: 15px;
    height: 32px;
    position: absolute;
    align-items: center;
    right: 0px;
    top: 4vh;
}

.blue_arrow_img {
    width: 30px;
    position: absolute;
    right: 10px;
    margin: 0;
}

.blue_arrow_img_center {
    width: 30px;
    margin-top: 10px;
}

.page_inner_space {
    padding-top: 80px;
    padding-bottom: 80px;
}

.page_ttlType01 .ttl_en {
    font-size: 32px;
    color: #005ea6 !important;
    font-weight: 500;
    display: block;
    margin-bottom: 18px;
}

.acMenu {
    background-color: white !important;
    border: 1px solid white !important;
}

.faqTxt:after {
    background: url(../img/blue_under_arrow.png) no-repeat center !important;
}

.faqQ {
    color: #005ea6 !important;
}

.top_plan_main_icon {
    width: 80px;
    margin-bottom: 10px;
}

.top_plan_main {
    width: 47%;
    padding: 20px;
    background-color: #FEFCD9;
    border-radius: 10px;
}

.top_plan_grid {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    justify-content: space-around;
}

.top_plan_main_h3 {
    text-align: center;
    color: #005ea6 !important;
    font-size: 20px;
    font-weight: bold;
}

.top_plan_main_p {
    text-align: center;
}


.top_plan {
    margin-top: 110px;
    margin-bottom: 70px;
}

.top_news_ttl {
    font-size: 50px;
    color: #005ea6 !important;
    margin-bottom: 20px;
    position: relative;
}

.top_news {
    padding-top: 60px;
    padding-bottom: 90px;
}

.border_gray {
    border-bottom: 1px solid #eee;
}

.top_menu_h3 {
    font-size: 20px;
    margin-top: 10px;
}

.top_menu_back {
    padding-top: 100px;
    padding-bottom: 80px;
}

.top_menu_a {
    display: flex;
    gap: 5px;
    align-items: center;
    justify-content: flex-end;

}

.blue_arrow_img_menu {
    width: 6px;
    margin: 0;
}

.top_foot_sub {
    display: flex;
    padding: 100px 0 40px 0;
    justify-content: space-between;
}

.top_foot_sub_cont {
    width: 47%;
    text-align: center;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: white;
    position: relative;
    border-radius: 10px;
    color: #005EA6;
    font-size: 16px;
}

.blue_arrow {
    position: absolute;
    right: 10px;
    color: #005EA6;
}

.w_768 {
    max-width: 768px !important;
}

.top_foot_sub_cont_banner_cont_wrap{
    width: 90%;
    margin: 0 auto;
    max-width: 768px;
}

.top_foot_sub_cont_banner_cont{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 5%;
    width: 100%;
    padding: 0;
    margin-bottom: 60px;
}

.top_foot_sub_cont_banner{
    width: 30%;
    max-width: 225px;
    height: 100%;
    margin-bottom: 4%;
    background-color: #fff;
    outline: 1px solid #005ea6;
}

.top_foot_sub_cont_banner:hover{
    opacity: 1 !important;
    outline: 1px solid #fff;
}

.top_foot_back {
    background-color: #005EA6;
}

.top_news .news-cate {
    background-color: #005EA6 !important;
}

.top_news .news-date {
    color: #005EA6 !important;
}

.top_news .new-listWrap a:after {
    background: url(../img/blue_rightarrow.png) no-repeat !important;
}

.new-listWrap a {
    border-bottom: 1px solid #eee;
}

.top_footer_cont {
    width: 20%;
}

.top_footer_cont a {
    width: 100%;
    display: block;
    font-size: 14px;
    color: white;
}

.top_footer_flex {
    display: flex;
    flex-wrap: wrap;
    margin-top: 70px;
    margin-bottom: 70px;
}

.top_footer_cont img {
    width: 40px;
}

.footer_logo img {
    width: 300px;
}

.footer_logo {
    border-bottom: 1px solid #eee;
    border-top: 1px solid #eee;
    padding: 20px 0;
    margin: 20px 0;
}

.footer_co {
    text-align: center;
    padding-bottom: 30px;
    color: white;
    font-weight: bold;
}

.footer_a_b {
    font-weight: bold;
    font-size: 16px !important;
}

.back_ball_1 {
    width: 30vw;
    position: absolute;
    top: 45vw;
    left: -15vw;
    z-index: -1;
}

.back_ball_2 {
    width: 30vw;
    position: absolute;
    top: 80vw;
    z-index: -1;
    right: 0vw;
}

.back_ball_3 {
    width: 30vw;
    position: absolute;
    top: 170vw;
    left: -15vw;
    z-index: -1;
}

.back_ball_4 {
    width: 30vw;
    position: absolute;
    top: 190vw;
    right: -7vw;
    z-index: -1;
    right: 0;
}

.footer_a_img {
    width: fit-content !important;
    padding-left: 20px;
}

.header__nav__list__item.orangeLink a {
    border-radius: 100px;
    background: #005EA6;
    text-align: center;
    padding: 7px 11px;
    transition: .3s;
    width: 130px;
    display: block;
    border: 1px solid #005EA6;
}

.header__nav__list__item.whiteLink a:hover {
    background: #005EA6;
}

.header__nav__list__item.whiteLink a {
    border-radius: 100px;
    color: #005EA6;
    text-align: center;
    padding: 7px 11px;
    background: #fff;
    transition: .3s;
    width: 130px;
    display: block;
    border: 1px solid #005EA6;
}

.header__nav__list__item.orangeLink a:hover {
    color: #005EA6;
}



/* top ここまで*/

.page_top_mv img {
    height: 300px;
    object-fit: cover;
}

.page_top_mv {
    position: relative;
    margin-bottom: 50px;
}

.page_top_h2 {
    text-align: center;
    position: absolute;
    font-size: 30px;
    line-height: 1.4;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: white;
    font-weight: bold;
    text-shadow: 0px 3px 8px #000;
}


.reft_blue_h3 {
    font-size: 35px;
    font-weight: bold;
    color: #005EA6;
    margin-bottom: 20px;
}

@media screen and (max-width: 768px) {
    .small_black{
       font-size: 3vw;
    }
}

.training_main_cont {
    display: flex;
    border-radius: 10px;
    /* gap: 30px; */
    padding: 20px 50px;
    justify-content: space-between;
    align-items: center;
    background-color: #FEFCD9;
    margin-bottom: 30px;
    cursor: pointer;
    transition: .3s;
    position: relative;
}

.training_main_cont_p {
    width: 50%;
    margin-right: auto;
}

.training_main_cont_circle {
    margin-right: 20px;
    position: relative;
    width: 130px;
    height: 130px;
    text-align: center;
    background-image: url(../img/white_circle.png);
}

.training_main_cont_circle_p {
    margin: auto 0;
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    color: #005EA6;
    font-size: 15px;
    text-wrap: nowrap;
    font-weight: bold;

}

.training_main_cont_title {
    width: 20%;
    color: #005EA6;
    font-size: 25px;
    font-weight: bold;
}

.training_main_cont_title_s {
    color: #005EA6;
    font-size: 14px;
    font-weight: bold;
}

.training_main_cont_plas {
    font-size: 20px;
    font-weight: bold;
    color: #005EA6;
    transition: 0.5s;
}

.training_main_cont_bar {
    font-size: 20px;
    font-weight: bold;
    color: #005EA6;
}

.training_content_two {
    display: flex;
    gap: 20px;
    justify-content: space-between;
    margin-bottom: 20px;
}

.training_content_two_main {
    width: 50%;
    text-align: center;
    padding: 10px;
    border: 2px solid #eee;
    border-radius: 10px;
}

.training_content_two_h3 {
    font-size: 25px;
    font-weight: bold;
    color: #005ea6;
}

.training_under_p {
    text-align: center;
    margin-bottom: 50px;
}

.training_under_button {
    max-width: 700px;
    background-color: #005ea6;
    margin: 70px auto;
    text-align: center;
    /* margin-top: 70px; */
    /* margin-bottom: 70px; */
    font-size: 25px;
    padding: 10px;
    display: block;
    border-radius: 30px;
    font-weight: bold;
    color: white;
}

.training_main_cont_all {
    margin-bottom: 50px;
    background-color: #FEFCD9;
    border-radius: 10px;
}

.training_accordion_cont {
    padding: 20px 50px;
}

@media screen and (max-width: 768px) {
    .training_accordion_cont {
        padding: 20px 30px;
    }
}

.training_accordion_tr {
    display: flex;
    width: 100%;
    margin-bottom: 10px;
}

.training_accordion_td {
    width: 100%;
    padding: 10px;
    font-size: 16px;
    background-color: white;
}

.training_accordion_td_blue {
    width: 300px;
    text-align: center;
    padding: 10px;
    font-size: 18px;
    font-weight: bold;
    color: white;
    /* border-radius: 5px; */
    background-color: #6999BC;
}

@media screen and (max-width: 768px) {
    .training_accordion_td_blue {
        width: 9em;
    }
}

.training_accordion_h3 {
    color: #005ea6;
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}

.training_main_cont:before {
    content: "";
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    /*横線*/
    width: 14px;
    height: 2px;
    background: #005ea6;
}

.training_main_cont:after {
    content: "";
    position: absolute;
    top: 50%;
    /* 8px+12px-1px(幅2pxの半分) */
    right: 21px;
    transform: translateY(-50%);
    transition: all .3s;
    /*縦線*/
    width: 2px;
    height: 14px;
    background: #005ea6;
}

.training_main_cont.open:after {
    top: 25%;
    transform: rotate(90deg);
    opacity: 0;
}

@media screen and (max-width: 768px) {
    .training_main_cont:before {
        content: "";
        position: absolute;
        top: unset;
        bottom: 30px;
        right: 0;
        left: 0;
        margin: 0 auto;
        transform: translateX(0px) rotate(0deg);
        /*横線*/
        width: 14px;
        height: 2px;
        background: #005ea6;
    }

    .training_main_cont:after {
        content: "";
        position: absolute;
        top: unset;
        bottom: 30px;
        right: 0;
        left: 0;
        margin: 0 auto;
        transform: translateX(0px) rotate(90deg);
        transition: all .3s;
        /*縦線*/
        width: 14px;
        height: 2px;
        background: #005ea6;
    }

    .training_main_cont.open:after {
        top: unset;
        bottom: 30px;
        transform: rotate(0deg);
        opacity: 0;
    }
}

.training_car_flow {
    display: flex;
    border-radius: 10px;
    /* gap: 30px; */
    padding: 20px 50px;

    align-items: center;
    background-color: #fff;
    margin-bottom: 30px;

    position: relative;
}

.back_yellow {
    background-color: #FEFCD9;
    margin-top: 50px;
    padding: 50px 0;
}

.blue_h3 {
    text-align: center;
    color: #005ea6;
    font-size: 25px;
}

.blue_p {
    text-align: center;
    color: #005ea6;
    font-size: 16px;
}

.gray_four_cont {
    position: relative;
    display: flex;
    justify-content: center;
    flex-direction: column;
    width: 25%;
    background-color: #E8E8E8;
    border-radius: 10px;
    padding: 30px 15px;
}


.blue_h3_absol {
    position: absolute;
    top: 10px;
    left: 50%;
    color: #005ea6;
    transform: translate(-50%, 0px);
    text-wrap: nowrap;
}

@media screen and (max-width: 768px) {
    .gray_four_flex {
        flex-direction: column;
    }
}

.gray_four_flex {
    display: flex;
    gap: 10px;
}

.under_arrow {
    position: absolute;
    width: 40px;
    bottom: -20px;
    z-index: 100;
    right: 50%;
}

.yellow_four_cont {
    width: 25%;
    background-color: #FEFCD9;
    border-radius: 30px;
    padding: 15px;
    display: block;
}

/* スマホ用（幅が768px以下の時だけ適用） */
@media screen and (max-width: 768px) {
    .yellow_four_cont {
        margin-bottom: -35px;
        下の余白を-35pxにする（狭くする）
    }
}

.bike_training_cont {
    display: flex;
    margin-bottom: 20px;
    gap: 10px;
}

/* スマホ用（幅が768px以下の時だけ適用） */
@media screen and (max-width: 768px) {
    .bike_training_cont {
        margin-top: 40px;
        /* 上の余白を広げる */
    }
}

.bike_training_detail_cont {
    display: flex;
    height: 48%;
    align-items: center;
    margin-bottom: 5px;
    /*margin-bottom: 2%;*/
}

.bike_training_detail_cont_h1 {
    width: 130px;
    text-align: center;
    display: block;
    /* height: 100%; */
    color: #0068B3;
    font-weight: bold;
    border: 1px solid #0068B3;
    font-size: 20px;
    border-radius: 50px;
    padding: 10px;
}

.bike_training_detail_cont_p {
    background-color: #FEFCD9;
    /* height: 100%; */
    width: 90%;
    padding: 20px;
    border-radius: 0 50px 50px 0;
    font-size: 14px;
}

.bike_training_detail {
    width: 80%;
}

.bike_training_detail_cont_h2 {
    width: 130px;
    text-align: center;
    display: block;
    /* height: 100%; */
    color: #fff;
    font-weight: bold;
    border: 1px solid #0068B3;
    font-size: 20px;
    background-color: #0068b3;
    border-radius: 50px;
    padding: 10px;
}

.top_blue_bar {
    margin-bottom: 20px;
    width: 100%;
    text-align: center;
    font-size: 30px;
    font-weight: bold;
    background-color: #0068b3;
    color: #fff;
    padding: 20px;
    border-radius: 20px 20px 0 0;
    line-height: 30px;
}

.top_blue_bar_p {
    color: #fff;
}

.payment_main_table_none {
    background: none;
}

.payment_main_table_blue {
    background-color: #15599c;
    border-radius: 20px 20px 0 0;
    font-size: 20px;
    font-weight: bold;
}

.payment_main_table td {
    width: 33%;
    border: 2px solid #eee;
}

.payment_main {
    background-color: white;
    padding: 3vw;
    border-radius: 20px;
    margin-bottom: 30px;
    /* ← これを追加すればブロック間に余白ができます！ */
}

/* スマホ用（幅768px以下など） */
@media (max-width: 768px) {
  .payment_main td:nth-child(1) {
    width: 20%;  /* 1列目だけ幅を30%に */
  }
  .payment_main td:nth-child(2),
  .payment_main td:nth-child(3) {
    width: 40%;  /* 2・3列目をそれぞれ35%に */
  }
}

.payment_main_td_blue {
    background-color: #15599c;
    border-radius: 20px 0 0 0;
    text-align: center;      /* 左右中央 */
    vertical-align: middle;  /* 上下中央 */
    color: white;
    font-weight: bold;
}

.payment_main_td_gray {
    text-align: center;      /* 左右中央 */
    vertical-align: middle;  /* 上下中央 */
    /* color: white; */
    font-weight: bold;
    position: relative;
    /* ← これを追加 */
}

/* 最後の行以外の1列目のセルに白い下線（3px） */
.payment_main_table tr:not(:last-child)>.payment_main_td_gray {
    border-bottom: 3px solid #ffffff;
}

.payment_main_td {
    background-color: white;
    border: 3px solid #eee;
    text-align: center;      /* 左右中央 */
    vertical-align: middle;  /* 上下中央 */
    /* color: white; */
    font-weight: bold;
}

.td_blue {
    color: #15599c;
}

.td_red {
    color: #FF1A1A;
    font-size: 20px;
}

.payment_detail {
    display: flex;
    color: white !important;
    background-color: #767E8C;
    border-radius: 20px;
    width: fit-content;
    padding: 0 30px;
    text-align: center;
    margin: 0 auto;
    justify-content: center;
    font-size: 16px;
    font-weight: bold;
    margin-top: 20px;
    position: relative;
    align-items: center;
}

.payment_detail_arrow {
    color: white;
    margin: auto 0;
    position: absolute;
    /* margin-left: 100px; */
    right: 10px;
    /*top: 3px;*/
}

th.payment_main_table_blue ::after {
    display: none !important;
}

.page_top_p {
    width: 100%;
    display: block;
    text-align: center;
    color: white;
    font-size: 16px;
    font-weight: bold;
}

.payment_sub_main {
    background-color: #eee;
    width: 50%;
    padding: 20px;
}

.payment_sub {
    display: flex;
    gap: 20px;
    justify-content: center;
}

.payment_sub_h3 {
    text-align: center;
    font-size: 18px;
    font-weight: bold;
    color: #15599c;
    margin-bottom: 10px;
}

.payment_sub_p_red {
    color: #FF1A1A;
    font-weight: bold;
    padding-left: 10px;
}

.payment_sub_under {
    margin-top: 20px 0;
    text-align: center;
    color: #4B4B4B;
}

.footer {
    background-color: #0068B3;
    padding-bottom: 60px;
}

.top_footer_logo_main {
    margin-top: 70px;
    width: 30%;
}

footer .top_footer {
    display: flex;
}

.top_footer_h1 {
    font-size: 30px;
    font-weight: bold;
    color: white;
    line-height: 30px;
    margin-bottom: 50px;
}

.top_footer_logo {
    display: flex;
    gap: 20px;
}

.footer_logo_flex img {
    margin: 0;
    height: 80%;
    width: auto;
}

.footer_co_right {
    font-size: 12px;
}

.footer_logo_flex {
    display: flex;
    align-items: center;
    max-width: 1400px;
    height: 70px;
    margin: 0 auto;
    justify-content: space-between;
}

.plan_page_main {
    padding: 20px 40px;
    background-color: #FEFCD9;
    border-radius: 10px;
    flex: 1;
}

.plan_page_grid {
    display: flex;
    gap: 50px;
    justify-content: space-between;
    margin: 50px auto;
}

.plan_page_main2 {
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.plan_page_main_icon {
    width: 150px;
    margin-bottom: 30px;
}

.plan_page_main:hover,
.top_plan_main:hover {
    opacity: 0.6;
    transition: 0.6s;
}


@media screen and (max-width: 768px) {
    .bike_training_detail_cont_p {
        background-color: #FEFCD9;
        /* height: 100%; */
        width: 100%;
        padding: 20px;
        border-radius: 20px;
        font-size: 14px;

    }

    .plan_page_grid {
        flex-direction: column;
    }
}

.plan_student {
    margin-top: 50px;
    margin-bottom: 50px;
}

.plan_student_right_s {
    text-align: right;
    padding: 0 20px;
}

.plan_student_left_s {
    padding: 0 20px;
}

.plan_student_border_cont {
    border: 1px solid #000;
    padding: 10px 30px;
    /* margin: 20px; */
    width: 90%;
    margin: 20px auto;
}

.plan_student_border_cont_p {
    font-size: 16px;
    border-bottom: 2px dotted #000;
    padding-bottom: 5px;
}

.plan_student_border_cont_h3 {
    font-weight: bold;
    background-color: #FFDD00;
    font-size: 18px;
    display: inline;
    padding: 0 10px;
}

.plan_student_main_cont_h3 {
    text-align: center;
    font-size: 23px;
    font-weight: bold;
    border-bottom: 2px solid #FFDD00;
    color: #0068B3;
    margin-bottom: 20px;
}

.plan_student_main_cont_p {
    font-size: 16px;
}

.plan_student_main_cont {
    width: 85%;
    margin: 30px auto;
}

.plan_student_main_cont_flex {
    font-size: 16px;
    max-width: 400px;
    display: flex;
    width: 100%;
    justify-content: space-between;
}

.plan_student_main_cont_flex span {
    font-size: 16px;
    width: 123px;
    text-wrap: nowrap;
}


/* スマホ（幅768px以下）のとき */
@media (max-width: 768px) {
    .plan_student_border_cont_p,
    .plan_student_main_cont_p,
    .plan_student_main_cont_flex,
    .plan_student_main_cont_flex span{
        font-size: 13px;
    }
    .plan_student_main_cont_flex span {
    width: auto;     /* 幅を自動に戻す */
    }
}

.plan_student_red {
    font-size: 16px;
    color: red;
    font-weight: bold;
}

#basic,
#reserved,
#span,
#big,
#normal,
#small {
    text-align: center;
    margin: 0 auto;
    padding: 1.2em 0 2em;
}

.cnt_box .plan_info {
    line-height: 20px;
    margin: 1em 0;
    padding-bottom: 8px;
    border-bottom: 1px dashed #ccf0fc;
}

.cnt_box .plan_dete {
    margin: 0 auto;
    background: #fff2a6;
    color: #69ccf9;
    padding: 3px 6px;
    font-weight: bold;
    width: 60%;
    margin-bottom: 0.6em;
    letter-spacing: 2px;
}

.cnt_box .chara_tbl td {
    vertical-align: middle;
    text-align: left;
    padding-left: 18px;
    line-height: 24px;
}

.right_link {
    text-align: right;
    margin: 4px 0;
}

.cnt_box .bsc_tbl {
    width: 100%;
    border: 1px #78d8f5 solid;
    margin-top: 12px;
}

.cnt_box .bsc_tbl th {
    background: #ccf0fc;
}

.cnt_box .bsc_tbl th,
.cnt_box .bsc_tbl td {
    border: 1px #78d8f5 solid;
    padding: 4px 0;
    text-align: center;
    vertical-align: middle;
    line-height: 20px;
}

.cnt_box .bsc_tbl td span,
.cnt_box .rsv_tbl td span,
.cnt_box .span_tbl td span,
.cnt_box .sche_tbl td span,
.cnt_box .bike_tbl td span,
.cnt_box .bbike_tbl td span {
    font-weight: bold;
    color: #ee4747;
}

.cnt_box .add_other {
    margin: 0.6em 0 1em;
    text-align: left;
}

.cnt_box .plan_pack {
    width: 100%;
    margin: 0.6em 0 0.2em;
    background: #fff081;
    color: #000;
    padding: 8px 0;
    font-weight: bold;
}

.cnt_box .add_other {
    margin: 0.6em 0 1em;
    text-align: left;
}

.cnt_box .add_other dt {
    color: #9ddefd;
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 16px;
}

.cnt_box .add_other dd {
    font-weight: bold;
    border-bottom: 1px dotted #000;
    padding-bottom: 2px;
    margin-bottom: 8px;
    font-size: 14px;
}

.cnt_box .plan_dete {
    margin: 0 auto;
    background: #fff2a6;
    color: #69ccf9;
    padding: 3px 6px;
    font-weight: bold;
    width: 60%;
    margin-bottom: 0.6em;
    letter-spacing: 2px;
}

.plan_detail_gray_h3 {
    border-radius: 10px;
    /* gap: 30px; */
    padding: 15px 50px;
    text-align: center;
    align-items: center;
    background-color: #eee;

    position: relative;
    font-size: 18px;
    color: #0068B3;
    font-weight: bold;

}

.bsc_student {
    text-align: center;
    margin: 20px 0;
}

.under_arrow_gray {
    width: 20px;
    margin-bottom: 30px;
}

.plan_detai {
    margin-top: 50px;
    margin-bottom: 50px;
}

.plan_detail_center_p_14 {
    text-align: center;
    font-size: 12px;
}

.detail_main_cont:before {
    content: "";
    position: absolute;
    top: 40%;
    right: 15px;
    transform: translateY(-50%);
    width: 40px;
    height: 2px;
    background: white;
}

.detail_main_cont:after {
    content: "";
    position: absolute;
    top: 40%;
    right: 33px;
    transform: translateY(-50%);
    transition: all .3s;
    width: 2px;
    height: 40px;
    background: white;
}

.detail_main_cont.open:after {
    top: 25%;
    transform: rotate(90deg);
    opacity: 0;
}

.detail_main_cont {
    position: relative;
}

.cnt_box .rsv_tbl {
    width: 100%;
    border: 1px #f599b7 solid;
    margin-top: 12px;
}

.cnt_box .plan_deteb {
    margin: 0 auto;
    background: #fff2a6;
    color: #fe7498;
    padding: 3px 6px;
    font-weight: bold;
    width: 60%;
    margin-bottom: 0.6em;
    letter-spacing: 2px;
}

.cnt_box .rsv_tbl th {
    background: #fbe0e9;
}

.cnt_box .rsv_tbl th,
.cnt_box .rsv_tbl td {
    border: 1px #f599b7 solid;
    padding: 4px 0;
    text-align: center;
    vertical-align: middle;
    line-height: 20px;
}

.cnt_box .plan_detec {
    margin: 0 auto;
    background: #fff2a6;
    color: #69b51d;
    padding: 3px 6px;
    font-weight: bold;
    width: 60%;
    margin-bottom: 0.6em;
    letter-spacing: 2px;
}

.cnt_box .span_tbl {
    width: 100%;
    border: 1px #9dce6d solid;
    margin-top: 12px;
}

.cnt_box .span_tbl th {
    background: #d2e9bb;
}

.cnt_box .span_tbl th,
.cnt_box .span_tbl td {
    border: 1px #9dce6d solid;
    padding: 4px 0;
    text-align: center;
    vertical-align: middle;
    line-height: 20px;
}

.detail_main_cont_all {
    margin-top: 50px;
}

.cnt_box .plan_deted {
    margin: 0 auto;
    background: #fff2a6;
    color: #f18d00;
    padding: 3px 6px;
    font-weight: bold;
    width: 60%;
    margin-bottom: 0.6em;
    letter-spacing: 2px;
}

.cnt_box .sche_tbl {
    width: 100%;
    border: 1px #ff6600 solid;
    margin-top: 12px;
}

.cnt_box .sche_tbl th {
    background: #f18d00;
}

.cnt_box .sche_tbl th,
.cnt_box .sche_tbl td {
    border: 1px #ff6600 solid;
    padding: 4px 0;
    text-align: center;
    vertical-align: middle;
    line-height: 20px;
}

.cnt_box .bbike_tbl {
    width: 100%;
    border: 1px #d24f00 solid;
    margin-top: 12px;
}

.cnt_box .bbike_tbl th {
    background: #fee9a8;
    border: 1px #d24f00 solid;
    padding: 4px 0;
}

.cnt_box .bbike_tbl th,
.cnt_box .bbike_tbl td {
    border: 1px #d24f00 solid;
    padding: 4px 0;
    text-align: center;
    vertical-align: middle;
    line-height: 20px;
}

.cnt_box .add_other {
    margin: 0.6em 0 1em;
    text-align: left;
}

.cnt_box .add_other dt {
    color: #9ddefd;
    font-weight: bold;
    margin-bottom: 10px;
    font-size: 16px;
}

.bbike_col {
    color: #f5a11c !important;
}

.cnt_box .info_txt {
    margin: 1em 0;
    line-height: 24px;
    text-align: center;
}

.cnt_box .pack_txt {
    border-top: 2px solid #fedb00;
    border-bottom: 2px solid #fedb00;
    padding: 2em 0;
    line-height: 26px;
    margin-bottom: 2em;
    text-align: center;
}

.cnt_box .pack_txt span {
    background: #fff3a5;
}

.bd_top {
    border-top: 2px solid #0088de;
}

.pack_use img {
    width: auto;
}

.cnt_box .pack_use .pack_info li {
    border-bottom: 1px dotted #000;
    padding-bottom: 4px;
    margin-bottom: 6px;
    list-style-type: disc;
    line-height: 20px;
}

li {
    list-style: none;
}

.pack_info {
    margin: 40px;
}

.cnt_box .link_box {
    margin: 40px 0;
}

.link_box img {
    width: auto;
}

.link_box {
    display: flex;
    justify-content: center;
    gap: 50px;
}

.link_box a:hover {
    opacity: 0.7;
}

.shcool_introduction_grid {
    display: flex;
    gap: 3rem;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: 70px;
}

.shcool_introduction_grid_cont {
    width: 30%;
}

.shcool_introduction_grid_arrow {
    margin-top: 20px;
    width: auto;
}

.shcool_introduction_grid_h3 {
    text-align: center;
    font-size: 25px;
    color: #0068B3;
    font-weight: bold;
}

.shcool_introduction_grid_h3_s {
    color: #0068B3;
}

.shcool_introduction_grid_p {
    margin: 0 auto;
    margin-top: 20px;
    height: 100px;
    text-align: left;
    font-size: 14px;
    width: fit-content;
}

.shcool_introduction_grid_p_ogob {
    margin: 0 auto;
    margin-top: 20px;
    height: 100px;
    text-align: center;
    font-size: 14px;
    width: fit-content;
}

.shcool_introduction_qa_top_bottom {
    width: 130px;
    display: flex;
    text-align: center;
    justify-content: center;
    background-color: #005ea6;
    color: white;
    border-radius: 15px;
    height: 32px;
    position: relative;
    align-items: center;

}

.hover_opacity {
    transition: 0.5s;
}

.hover_opacity:hover {
    opacity: 0.5;
}

.shcool_introduction_qa_top_bottom:hover {
    color: #005EA6;
    background-color: white;
    border: 1px solid #005EA6;
}

.shcool_introduction_qa_top_bottom:hover .text_button_i {
    color: #005EA6;
}

.shcool_introduction_qa_top {
    display: flex;
    justify-content: space-between;
    margin-top: 100px;
    align-items: center;
}

.border_blue {
    border: 1px solid #005ea6 !important;
}

.shcool_introduction {
    margin-bottom: 100px;
}

.graduation_img {
    width: 40% !important;
}

.graduation_text_all {
    width: 55%;
}

.graduation_h3_img {

    height: 30px !important;
    width: 30px !important;
}

.graduation_price_img {
    margin-top: 40px !important;
}

.graduation_price_p {
    margin-top: 20px;
    font-weight: bold;
}

.cnt_box .sch_cal .cal_tbl th,
.cnt_box .sch_cal .cal_tbl td {
    border: 1px #2b2b2b solid;
    padding: 6px 0;
}

.sat {
    background: #68a4f5;
}

.sun {
    background: #ec5b5b;
}

.holiday {
    background: #FDA8A8;
}

.extraday {
    background: #fcfba5;
}

.cnt_box .sch_cal {
    width: 46%;
    margin: 1em 0.4em;
    font-size: 20px;
    font-weight: bold;
}

.cnt_box .sch_cal {
    width: 46%;
    margin: 1em 0.4em;
    font-size: 20px;
    font-weight: bold;
    text-align: center;
}

.cal_left {
    float: left;
}

.cal_right {
    float: right;
}

.holidisp span {
    color: #FDA8A8;
}

.extdisp span {
    color: #fcfba5;
}

.biz_time caption {
    text-align: left;
    padding: 0.6em 0.4em;
    font-size: 18px;
    font-weight: bold;
}

.biz_time th {
    width: 14%;
    font-size: 18px;
    font-weight: bold;
}

.biz_time th,
.biz_time td {
    padding: 0.4em 1em;
}

.biz_time td {
    line-height: 24px;
}

.cnt_box .sch_cal .cal_tbl th,
.cnt_box .sch_cal .cal_tbl td {
    border: 1px #2b2b2b solid;
    padding: 6px 0;
    font-size: 20px;
    text-align: center;
    font-weight: bold;
}

.cnt_box .sch_cal .cal_tbl {
    width: 92%;
    border: 1px #2b2b2b solid;
}

.clear_fix {
    clear: both;
}

.holidisp,
.extdisp {
    text-align: left;
    margin-left: 0.6em;
}

.bizhour {
    margin: 100px auto;
}

.back_yellow {
    background-color: #FEFCD9;
}

.footer_icon {
    height: 100px;
    width: auto !important;
}

.yellow_boll {
    width: 400px;
    height: 400px;
    display: block;
    border-radius: 50%;
    border: 2px solid yellow;
    background: white;
    padding: 80px;
    cursor: pointer;
}

.footer_yellow_boll_cont {
    display: flex;
    justify-content: center;
    gap: 50px;
}

a.yellow_boll :hover {
    opacity: 0.5;
}

@media screen and (max-width: 768px) {
    .cnt_box .plan_deteb {
        margin: 0 auto;
        background: #fff2a6;
        color: #fe7498;
        padding: 20px 6px;
        font-weight: bold;
        width: 100%;
        margin-bottom: 0.6em;
        letter-spacing: 2px;
    }

    .cnt_box .plan_detec {
        margin: 0 auto;
        background: #fff2a6;
        color: #69b51d;
        padding: 20px 6px;
        font-weight: bold;
        width: 100%;
        margin-bottom: 0.6em;
        letter-spacing: 2px;
    }

    .cnt_box .plan_deted {
        margin: 0 auto;
        background: #fff2a6;
        color: #f18d00;
        padding: 20px 6px;
        font-weight: bold;
        width: 100%;
        margin-bottom: 0.6em;
        letter-spacing: 2px;
    }

    .detail_main_cont {
        position: relative;
    }

    .detail_main_cont:before {

        content: "";
        position: absolute;
        z-index: 10;
        right: 20px;
        transform: translateY(-50%);
        width: 30px;
        height: 2px;
        background: white;
        top: 20px;
    }

    .detail_main_cont:after {
        content: "";
        position: absolute;
        z-index: 10;
        right: 33px;
        transform: translateY(-50%);
        transition: all .3s;
        width: 2px;
        height: 25px;
        background: white;
        top: 20px;
    }

    .detail_main_cont span {
        position: relative;
        z-index: 1;
    }

    .cnt_box .sch_cal {
        width: 98%;
    }

    .footer_yellow_boll_cont {

        flex-wrap: wrap;
    }

    .yellow_boll {
        width: 300px;
        height: 300px;
        display: block;
        border-radius: 50%;
        border: 2px solid yellow;
        background: white;
        padding: 40px;
        cursor: pointer;
    }

    .cnt_box .sch_cal .cal_tbl {
        width: 100%;
        border: 1px #2b2b2b solid;
    }

    .cal_right {
        float: none;
    }

    .cal_left {
        float: none;
    }

    .bike_training_detail_cont {
        flex-direction: column;
    }

    .bike_training_detail_cont_h1 {
        width: 100%;
    }
}

.cnt_box .sch_area .sch_box .sch_link {
    height: 124px;
    width: 154px;
    background-image: url(../img/08_jikanwariicon.png);
    background-repeat: no-repeat;
    background-position: center top;
    padding: 0.5em 0 0 0.2em;
}

.cnt_box .sch_area .sch_box .sch_title {
    height: 30px;
    width: 157px;
    background-image: url(../img/08_waku.png);
    background-repeat: no-repeat;
    color: #39c2e6;
    font-weight: bold;
    font-size: 16px;
    padding: 0em 0 0 1.5em;
}

.cnt_box .sch_area .sch_box {
    float: left;
    margin: 1em;
    text-align: center;
}

.cnt_box .sch_txt {
    min-height: 163px;
    background-image: url(../img/sch_bg.png);
    background-repeat: no-repeat;
    background-position: center top;
    text-align: left;
    padding: 3em 15em 1em 7em;
    text-decoration: blink;
    color: #39c2e6;
    font-weight: bold;
    /*line-height: 32px;*/
    line-height: 28px;
    max-width: 960px;
    margin: 0 auto;
}

.cnt_box .info_txt {
    margin: 1em 0;
    line-height: 24px;
}

.cnt_box .sch_area .sch_box .sch_link a {
    color: #39c2e6;
    font-weight: bold;
    font-size: 18px;
    display: block;
}

.cnt_box .sch_area .sch_box .sch_link a span {
    font-size: 38px;
    color: #39c2e6;
    font-weight: bold;
}

.cnt_box .sch_txt span {
    border-bottom: dotted 1px #39c2e6;
    color: #39c2e6;
}

.cnt_box .sch_area {
    margin: 100px auto;
    width: 50%;
    display: flex;
    justify-content: center;
}

.ob_og_voice_head {
    display: flex;
    justify-content: space-between;
    margin-bottom: 50px;
    margin-top: 50px;
}

.ob_og_voice_main {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

.ob_og_voice_main_cont {
    width: 30%;
    margin-bottom: 50px;
}

.guide_text_button_voice_men {
    width: 130px;
    display: flex;
    text-align: center;
    justify-content: center;
    background-color: #005ea6;
    color: white;
    border-radius: 15px;
    height: 32px;
    position: relative;
    align-items: center;
    margin: 0 auto;
}

.guide_text_button_voice_women {
    width: 130px;
    display: flex;
    text-align: center;
    justify-content: center;
    background-color: #920B38;
    color: white;
    border-radius: 15px;
    height: 32px;
    position: relative;
    align-items: center;
    margin: 0 auto;
}

.ob_og_voice_h3_men {
    color: #0068B3;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
}

.ob_og_voice_h3_women {
    color: #920B38;
    font-size: 25px;
    font-weight: bold;
    text-align: center;
}

.head_right_cont {
    width: 20px;
}

.ob_og_voice_head_botton {
    display: flex;
    align-items: center;
    border: 1px solid #0068B3;
    gap: 10px;
    padding: 5px 20px;
    border-radius: 20px;
}

/* 上のボタンの単独センター用 */
.ob_og_voice_head_botton_center {
    display: flex;
    align-items: center;
    justify-content: center; /* 中央揃え */
    border: 1px solid #0068B3;
    gap: 10px;
    padding: 5px 20px;
    border-radius: 20px;
    margin: 0 auto; /* 横方向中央寄せ */
}

.ob_og_voice {
    margin-top: 80px;
    margin-bottom: 80px;
}

.paper_driver_text {
    text-align: center;
}

.paper_driver_text_blue {
    background-color: #66CBFF;
    text-align: center;
}

.paper_driver_text_clea_blue {
    text-align: center;
    background-color: #E1F5FF;
}

.paper_driver_plus {
    color: #66CBFF;
    text-align: center;
}

.paper_driver {
    margin-top: 50px;
    margin-bottom: 50px;
}

.faq_h2 {
    padding: 10px 10px 10px 40px;
    background-color: #0068B3;
    line-height: 46px;
    margin-bottom: 16px;
    border-radius: 10px;
    font-size: 20px;
    color: white;
    font-weight: bold;
    margin-top: 30px;
}

.faq_cont {
    margin-top: 80px;
    margin-bottom: 100px;
}



.faq_A {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.3s;
    color: #104730;
    font-size: 37px;
    padding-left: 38px;
    color: #920B38;
}

.faqTxt3 {
    font-size: 14px;
    color: #272727;
    font-weight: 500;
    padding: 22px 40px 22px 24px;
    width: calc(100% - 154px);
}

@media screen and (max-width: 768px) {
    .faqTxt3 {
        width: calc(100%);
    }
}

.faqTxt3 a {
    /* リンク設定をした時の色設定 */
    color: #3366ff;
    /* 任意のリンク色 */
}

.imp_news_nav_ul li {
    border: 1px solid #920B38;
    border-radius: 50%;
    /* width: 7px; */
    /* height: 7px; */
    display: block;
    /* padding: 5px; */
    /* height: 30px; */
    width: 30px;
    color: #920B38;
    font-weight: bold;
    line-height: 30px;
    text-align: center;
}

.imp_news_nav_ul li a {
    color: #920B38;
    font-weight: bold;
}

.imp_news_nav_ul li i {
    color: #920B38;
    font-weight: bold;
}


.news_nav_ul li {
    margin-top: 60px;
    border: 1px solid #0068B3;
    border-radius: 50%;
    /* width: 7px; */
    /* height: 7px; */
    display: block;
    /* padding: 5px; */
    /* height: 30px; */
    width: 30px;
    color: #0068B3;
    font-weight: bold;
    line-height: 30px;
    text-align: center;
}

.news_nav_ul li a {
    color: #0068B3;
    font-weight: bold;
}

.news_nav_ul li i {
    color: #0068B3;
    font-weight: bold;
}

.imp_news_nav_ul,
.news_nav_ul {
    display: flex;
    justify-content: center;
    /* text-align: center; */
    /* margin: 0 auto; */
    gap: 10px;
}

.imp_news_nav {
    margin-top: 80px;
}

.faq_button {
    width: 300px;
    line-height: 60px;
    background-color: #005EA6;
    color: white;
    font-weight: bold;
    text-align: center;
    border-radius: 30px;
    position: relative;
    display: block;
    margin: 30px auto;
}

.faq_button_arrow {
    position: absolute;
    right: 10px;
    color: white;
    font-weight: bold;
    font-size: 18px;
}

.top_news_ttl_black {
    margin-left: 20px;
}

.fixed_cont_x,
.fixed_cont_youtube,
.fixed_cont_instagram {
    width: 45px;
    margin: 10px auto;
    display: block;
}

.fixed_cont {
    position: fixed;
    width: 100px;
    bottom: 20px;
    right: 50px;
    z-index: 100;
}

.faq_detail_day {
    color: #920B38;
    font-weight: bold;
    margin-bottom: 40px;
}

.faq_detail_h2 {
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 40px;
}

.faq_detail_text {
    margin-bottom: 40px;
}

.faq_detail_button {
    background-color: #920B38;
    width: 160px;
    color: white;
    /* text-align: center; */
    border-radius: 20px;
    margin: 0 auto;
    font-weight: bold;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.5s;
}

.news_detail_button {
    background-color: #0068B3;
    width: 160px;
    color: white;
    /* text-align: center; */
    border-radius: 20px;
    margin: 0 auto;
    font-weight: bold;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: 0.5s;
}

.faq_detail_button:hover {
    background-color: white !important;
    color: #920B38 !important;
    border: 1px solid #920B38 !important;
}

.news_detail_button:hover {
    background-color: white !important;
    color: #0068B3 !important;
    border: 1px solid #0068B3 !important;
}

.back_white {
    background-color: white;
    color: #005EA6;
    padding: 20px;
    width: 48%;
    text-align: center;
    text-wrap: nowrap;
    font-size: 25px;
    border-radius: 20px 20px 0px 0px;
}

.back_blue {
    background-color: #005EA6;
    color: white;
    padding: 20px;
    width: 48%;
    text-align: center;
    text-wrap: nowrap;
    font-size: 25px;
    border-radius: 20px 20px 0px 0px;
}

.nyugagu_menu_point_flex {
    display: flex;
}

.nyugagu_menu_point_text {
    font-weight: bold;
    width: 100%;
}

.nyugagu_menu_point_under {
    font-size: 14px;
}

.nyugaku_menu_head {
    display: flex;
    justify-content: space-between;

}

.nyugaku_menu {
    padding: 100px 0;
    background-color: #FEFCD9;
}

.nyugaku_menu_main {
    background-color: white;
    border-radius: 0 0 20px 20px;
}

.submenu_box {
    padding-top: 1em;
}

.submenu_box table tbody tr td {
    padding: 1rem;
}

.submenu_box h4 {
    padding-bottom: 6px;
    border-bottom: 2px solid #00b4ed;
    margin: 0 auto;
    max-width: 900px;
    width: 90%;
    text-align: center;
}

.submenu_box table {
    margin: 0 auto;
    max-width: 900px;
    width: 90%;
    margin-bottom: 4em;
}

.submenu_box table th {
    width: 20%;
}

.submenu_box table th,
.submenu_box table td {
    border-bottom: 1px solid #00b4ed;
    padding: 10px 0;
    line-height: 20px;
    vertical-align: middle;
}

.submenu_box table td {
    text-align: left;
}

.nyugaku_menu_main_top_p {
    text-align: center;
    color: #005EA6;
    font-weight: bold;
    font-size: 20px;
    padding: 50px 0;
}

.submenu_box span {
    color: #00b4ed;
}

.att {
    color: #fe2c53;
}

.submenu_box a {
    color: #005EA6;
}

.procea {
    /*background-image: url(../img/02-01-00_box01.png);*/
    background-repeat: no-repeat;
    height: 274px;
    width: 410px;
    display: flex;
    border-radius: 10px;
    outline: 3px solid #08B7EF;
    outline-offset: -1px;
    justify-content: space-between;
    overflow: hidden;
}

.procea_backimg {
    /*background-image: url(../img/02-01-00_box01.png);*/
    background-repeat: no-repeat;
}

.proceb {
    /*background-image: url(../img/02-01-00_box02.png);*/
    background-repeat: no-repeat;
    height: 274px;
    width: 410px;
    display: flex;
    border-radius: 10px;
    outline: 3px solid #08B7EF;
    outline-offset: -1px;
    justify-content: space-between;
    overflow: hidden;
}

.protxt {
    margin: 10px;
    font-size: 15px !important;
}

.procea p,
.proceb p {
    margin-bottom: 8px;
    font-size: 15px;
}

.proce_img {
    width: auto;
    height: calc(100% + 4px);
    transform: translate(-2px, -2px);
}

.nyugaku_menu_flex {
    margin: 0 auto;
    width: 90%;
    max-width: 900px;
    display: flex;
    justify-content: space-around;
    padding-bottom: 50px;
    flex-wrap: wrap;
}

.nyugaku_menu_main {
    padding-bottom: 50px;
}

.nyugaku_menu_bottom {
    max-width: 900px;
    display: block;

    text-align: center;
    padding: 20px;
    border-radius: 50px;
    color: #005EA6;
    font-weight: bold;
    font-size: 20px;
    border: 1px solid #0068B3;
    margin: 20px auto;
}

.cnt_box .guide_info {
    width: fit-content;
    padding: 0;
    margin: 0 auto;
}

.cnt_box .guide_info li {
    float: left;
    /* width: 46%; */
    margin: 5em 1.2em;
    /* margin: 0 auto; */
}

.cnt_box h6 {
    color: #00b4ed;
    margin: 1em 0;
    line-height: 26px;
}

.cnt_box .card_tbl {
    margin: 0.6em 0;
}

.cnt_box .card_tbl td {
    text-align: left;
    vertical-align: middle;
    font-weight: bold;
    line-height: 32px;
}

.cnt_box .card_tbl .card_small {
    font-weight: normal;
    padding-bottom: 0.6em;
    font-size: 12px;
    line-height: 18px;
}

.cnt_box .card_tbl td {
    text-align: left;
    vertical-align: middle;
    font-weight: bold;
    line-height: 32px;
}

.pay_txt {
    max-width: 900px;
    padding: 0 20px;
    margin: 20px auto;
}

.guide_info img {
    width: auto;
}

.pay_img {
    margin: 1em 0;
}

.cnt_box .acc_title {
    margin: 2.6em 0 1em 0;
    padding-bottom: 0.4em;
    border-bottom: 3px solid #ffec7b;
    font-size: 24px;
    font-weight: bold;
    color: #357dd7;
}

.cnt_box .bus_area .bus_box {
    border: 1px solid #357dd7;
    padding: 1em 0;
    letter-spacing: 2px;
    line-height: 24px;
    text-align: center;
    margin-bottom: 1em;
}

.cnt_box .bus_free .bfree_title {
    padding: 0.4em 0;
    color: #357dd7;
    font-weight: bold;
    background: #fff3a7;
    text-align: center;
    margin: 1em 0 0.6em;
    font-size: 18px;
    letter-spacing: 2px;
}

.cnt_box .bus_free {
    margin: 0 auto;
    margin-bottom: 80px;
    width: 95%;
    text-align: left;
}

.cnt_box .acc_txt .acc_att {
    float: left;
    color: red;
    font-weight: bold;
}

.cnt_box .acc_txt .acc_pdf {
    float: right;
    color: #357dd7;
    font-weight: bold;
    background: #fff3a7;
}

@media screen and (max-width: 768px) {
    .acc_att {
        margin: 10px 0;
    }

    .acc_pdf {
        clear: both;
        float: unset !important;
        margin: 0 auto;
    }
}

.requruit_cont {
    margin-bottom: 70px;
}

.requruit_h {
    font-weight: bold;
    margin-bottom: 30px;
}

.requruit_h_border {
    border-bottom: 3px solid #eee;
    margin-bottom: 30px;
    font-weight: bold;
}

.requruit_p {
    margin-bottom: 30px;
}

.requruit_table {
    margin-bottom: 30px;
}

.cnt_box .per_att {
    background-image: url(../img/per_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    /* width: 80%; */
    margin: 0 auto;
    height: 250px;
}

.cnt_box .per_att .per_atttxt {
    padding: 9.2em 6em;
    text-align: left;
    line-height: 20px;
    text-wrap: nowrap;
}

.prac_box img {
    width: auto;
}

.new-listWrap_flex {
    display: flex;
    width: 85%;
    /* flex-wrap: wrap; */
    align-items: center;
    justify-content: space-between;
}

.guide_right_img img,
.guide_left_img img {
    width: 60%;
}

@media screen and (min-width: 768px) {
    .pc_none {
        display: none !important;
    }

    .procea_backimg {
        display: none;
    }
}


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

    .guide_text_h3 {
        color: #005ea6;
        font-size: 23px;
        margin-bottom: 10px;
        font-weight: bold;
        line-height: 40px;
        letter-spacing: 1px;
    }

    .sp_none {
        display: none !important;
    }

    .page_top_mv img {
        object-position: 0px 0px !important;
    }

    .requruit_table_sp_70 {
        width: 70%;
    }

    .new-listWrap_flex {

        width: 100% !important;
        margin-top: 20px;
    }

    .news-txt {

        margin-top: 0px !important;

    }

    .fixed_cont {
        position: fixed;
        width: 70px;
        bottom: 20px;
        right: 20px;
    }

    .procea p,
    .proceb p {
        font-size: 14px;
        line-height: 1.65;
    }

    .procea {
        margin-bottom: 20px;
        background: none;
    }

    .proceb {
        margin-bottom: 20px;
        background: none;
        height: 300px;
    }

    .nyugaku_menu_bottom {
        width: 90%;
        margin: 0 auto;
    }

    .back_white {
        font-size: 20px;
    }

    .back_blue {
        font-size: 20px;
    }

    .guide_right_img,
    .guide_left_img {
        flex-wrap: wrap;
    }

    .guide_right_img img,
    .guide_left_img img {
        width: 100%;
    }

    .guide_text_button {
        margin-top: 30px;
        position: relative !important;
        margin-left: auto;
        margin-bottom: 10px;
    }

    .guide_left_img_img img,
    .guide_right_img_img img {
        height: 50vw;

    }

    .top_news_imp_head {
        flex-wrap: wrap;
    }

    .top_new_imps_more {
        margin-top: 30px;
    }

    .top_three_sec {
        flex-wrap: wrap;
    }

    .top_three_sec_main {
        padding-bottom: 0px;
    }

    .top_news_imp {

        margin-top: 50px;
        padding: 20px;
    }

    .guide_right_img,
    .guide_left_img {
        margin-bottom: 30px;
    }

    .top_message_h3 {
        font-size: 24px;
        line-height: 1.5;
    }

    .top_message {
        margin-top: 60px;
    }

    .top_message img {
        width: 50%;
        position: absolute;
        z-index: 1;
        opacity: 0.3;
    }

    .top_message_blue {
        margin-bottom: 10px;
    }

    .top_message_main {
        margin-left: 0px;
        z-index: 100;
    }

    .guide_text {
        width: 100%;
    }

    .top_champ {
        font-size: 15px;
    }

    .guide_left_img_img img,
    .guide_right_img_img img {
        height: 50vw;
        object-fit: cover;
        border-radius: 20px;
    }

    .guide_right_img_img,
    .guide_left_img_img {
        width: 100%;
        margin: 0;
    }

    .guide_text_all {
        width: 100%;
        position: relative;
        padding: 10px;
    }

    .top_foot_sub {
        flex-wrap: wrap;
        padding-bottom: 0;
    }

    .top_foot_sub_cont {
        width: 100%;
        height: 94px;
        margin-bottom: 20px;
    }

    .top_footer_cont {
        width: 50% !important;
    }

    .top_foot_sub_cont_banner_cont{
        gap: unset;
        width: 100%;
        padding: 0;
        margin-bottom: 80px;
    }

    .top_foot_sub_cont_banner{
        width: 100%;
        max-width: unset;
        margin-bottom: 20px;
        background-color: #fff;
        outline: 1px solid #005ea6;
    }

    .top_message img {

        width: 90%;
        position: absolute;
        height: auto;
    }

    .back_ball_1 {

        top: 75vw;

    }

    .back_ball_2 {
        top: 180vw;
    }

    .back_ball_3 {

        top: 270vw;

    }

    .back_ball_4 {

        top: 390vw;

    }

    .top_plan_main {
        width: 100%;

    }

    .top_plan {
        margin-top: 50px;
    }

    .gray_four_cont {
        width: 100%;

    }

    .gray_four_flex {
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .under_arrow {

        right: 45%;
    }

    .training_main_cont_img {
        width: 100%;
        margin-top: 30px;
    }

    .training_main_cont_img img {
        width: 50%;
    }

    .training_main_cont_p {
        width: auto;
        margin-top: 30px;

    }

    .training_main_cont_title {
        width: auto;
        font-size: 20px;
    }

    .training_main_cont_circle {
        width: 80px;
        height: 80px;
    }

    .training_car_flow {
        flex-wrap: wrap;
    }

    .training_main_cont_circle {
        margin-right: 10px;

    }

    .bike_training_detail {
        width: 100%;
        margin-top: 40px;
    }

    .bike_training_detail_cont_h2 {
        width: 100%;
    }

    .yellow_four_cont {
        width: 100%;
    }

    .bike_training_cont {
        flex-wrap: wrap;
    }


    .detail_main_cont_all {
        margin-top: 20px;
    }

    .link_box img {
        width: 70%;
    }

    .link_box {
        flex-wrap: wrap;
    }

    .payment_main_td .td_red {
        font-size: 17px;
    }

    table td {
        padding: 0px;
    }

    .payment_sub_main {

        width: 100%;

    }

    .payment_sub {
        flex-wrap: wrap;
    }

    .training_main_cont_circle {
        background-size: cover;
    }

    .training_main_cont {
        flex-wrap: wrap;
        padding: 10px 30px;
        justify-content: flex-start;
    }

    @media screen and (max-width: 768px) {
        .training_main_cont {
            padding: 10px 30px 60px 30px;
        }
    }

    .shcool_introduction_grid_cont {
        width: 100%;
    }

    .graduation_price_img {
        margin: 0 auto !important;
    }

    .graduation_text_all {
        width: 100%;
    }

    .graduation_img {
        width: 100% !important;
        margin-top: 30px;
    }

    .ob_og_voice_main_cont {
        width: 50%;
    }

    .footer_co_right {
        font-size: 10px;
    }

    .biz_time th {
        width: 40%;


    }

    .cnt_box .sch_txt span {

        font-size: 14px;
    }

    .cnt_box .sch_txt {
        padding: 15px;
    }

    .top_three_sec {
        justify-content: center;
    }

    .footer_logo img {
        width: 200px;
    }
}

.toggle_btn {
    background: #005EA6 !important;
}

header nav {
    background: white;
}

.open .toggle_btn span {
    background-color: white;
}

header nav .inner ul li a {
    color: #005EA6 !important;
}

header nav .inner ul li:first-child {
    border-top: 1px solid #005EA6 !important;
}

header nav .inner ul li {
    position: relative;
    margin: 0;
    border-bottom: 1px solid #005EA6 !important;
}

header .headerLink01 {
    background: #005EA6 !important;
}

header .headerLink01:hover {
    color: #005EA6 !important;
    background-color: white !important;
}

header .headerLink01:after:hover {
    border-top: 2px solid #005EA6 !important;
    border-right: 2px solid #005EA6 !important;
}

header nav .sp_LinkItem {
    margin: 15px auto;
}

.header__logo__img__tell__sp {
    width: 75%;
    margin: 30px auto;
    display: block;
}

.header__logo__img__tell__sp:hover {
    opacity: 0.5;
}

.shcool_introduction_grid_cont:hover,
.shcool_introduction_grid_cont_100:hover {
    opacity: 0.5;
}

.site_poricy_p_right {
    text-align: right;
    margin-top: 40px;
}

/* sdgs */

.sdgs_cont {
    margin-top: 110px;
    margin-bottom: 60px;
}

.text_right {
    text-align: right;
}

.sdgs_h {
    text-align: center;
    font-size: 30px;
    color: #0068B3;
    font-weight: bold;
    margin-bottom: 20px;
    margin-top: 40px;
}

.sdgs_p {
    line-height: 32px;
    margin-top: 60px;
    font-size: 16px;
}

.sdgs_p a {
    /* リンク設定をした時の色設定 */
    color: #3366ff;
    /* 任意のリンク色 */
}


.sdgs_table {
    margin-top: 40px;
}

.payment_main_table {
    margin-top: 0px;
}

.payment_main_td input {
    border: 1px solid #c5c5c5;
    width: 100%;
    padding: 5px 10px;
}

.payment_main_td select {
    border: 1px solid #c5c5c5;
    width: 100%;
    padding: 5px 10px;
}

.payment_main_td textarea {
    border: 1px solid #c5c5c5;
    width: 100%;
    padding: 5px 10px;
}

.submit_button {
    margin: 0 auto;
    margin-top: 40px;
    border-radius: 100px;
    color: #fff;
    text-align: center;
    padding: 7px 11px;
    background: #005EA6;
    border: 1px solid #005EA6;
    transition: .3s;
    width: 130px;
    display: block;
}

/* 20242220*/

.h_logo {
    width: 50%;
    height: 100%;

    margin-left: 0px;
}

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

    .footer_logo_flex {
        width: 100% !important;

    }

    .top_footer_flex {
        width: 100% !important;
    }

    footer .top_footer {
        display: flex;
        flex-direction: column;
    }

    .footer_logo_flex {
        flex-direction: column;
        padding-top: 10px;
    }

    .top_footer_logo_main {
        margin-top: 70px;
        width: 100%;
    }

    .footer {

        padding-bottom: 0px;
    }

    .td_red {
        color: #FF1A1A;
        font-size: 13px;
        vertical-align: middle;
    }

      .sdgs_p, .sdgs_p a {
    font-size: 13px;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
  }
  
}


/* 問い合わせフォームボタン設定用 */

/* ボタンを左右に並べて中央揃え */
.button_area {
    margin-top: 30px;
    display: flex;
    justify-content: center;
    /* gap: 20px; */
}

/* 共通のボタンスタイル */
.send_button,
.back_button {
    margin: 0 auto;
    margin-top: 40px;
    border-radius: 100px;
    text-align: center;
    padding: 7px 20px;
    /* 横の余白アップ */
    font-size: 15px;
    font-weight: normal;
    min-width: 130px;
    /* 最低幅をキープ */
    display: inline-block;
    /* 横幅が文字数に応じて広がる */
    transition: .3s;
    white-space: nowrap;
    /* 改行禁止 */
    cursor: pointer;
    /* ホバー時のポインター */
}

/* 送信ボタン */
.send_button {
    background-color: #005EA6;
    color: #fff;
    border: 1px solid #005EA6;
    margin-left: 10px;
    /* 戻るボタンとの間隔 */
}

/* 戻るボタン */
.back_button {
    background-color: #f9f9f9;
    color: #333;
    border: 1px solid #ccc;
    margin-right: 10px;
    /* 送信ボタンとの間隔 */
}


/* ----------------------------------------- */



/* 12/25 */

/*@media screen and (max-width: 768px) {
.payment_main_td,.payment_main_td_gray{
    width: 100% !important; }

.payment_main_table tr{
    display: flex
;
    flex-direction: column;
    width:100% !important;
}

}