/* ---------------------------------------------
   SP向けスタイル (max-width: 767px)
---------------------------------------------- */
@media (min-width: 768px) {

    .link_btn_static a {
        display: inline-block;
        background: #FBD000;
        color: #000;
        font-weight: bold;
        padding: 16px 30px;
        font-size: 16px;
        text-decoration: none;
        text-align: center;
        letter-spacing: 0.05em;
        position: fixed;
        right: 0px;
        top: 100px;
        z-index: 100;
        opacity: 1;
        transition: all 0.3s;
    }

    .link_btn_static a:hover {
        background: #FFE150;
    }

    .link_btn_static.scroll a {
        opacity: 1;
        right: 0px;
    }

    .link_btn_static .arrows {
        position: absolute;
        right: 7px;
        bottom: 7px;
    }

    .site-header {
        width: 100%;
        background-color: #fff;
        padding: 10px;
    }

    .site-header .inner {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }

    .site-header__logo_right a {
        display: flex;
        align-items: center;
    }

    .site-header__logo_right .logo_01 {
        width: 89px;
    }

    .site-header__logo_right .logo_02 {
        width: 57px;
        margin-left: 10px;
    }

    .spOnly {
        display: none;
    }

    .hero {
        width: 100%;
        background: #959DBC;
        background: linear-gradient(90deg, rgba(149, 157, 188, 1) 0%, rgba(190, 199, 224, 1) 100%);
        text-align: center;
        position: relative;

    }

    .hero .kv_photo {
        width: 100%;
        height: 100%;
        position: absolute;
        background-image: url(../img/kv_image.png);
        background-size: 1800px;
        background-position: top center;
        background-repeat: no-repeat;
        z-index: 1;


    }

    .hero .inner {
        max-width: 1100px;
        height: 100%;
        position: relative;
        z-index: 2;
    }

    .hero .inner .hero__content {
        text-align: center;
        font-size: 18px;
    }

    .hero .inner .hero__content p {
        font-size: 18px;
    }

    .hero .inner .hero__catch {
        width: 85px;
        margin: 0px auto;
        padding: 65px 0;
    }

    .hero .inner .hero__title {
        width: 450px;
        margin: 0 auto 30px auto;
        text-align: center;
    }

    .hero .inner .hero__text {
        max-width: 440px;
        background-color: #FBD000;
        color: #000;
        font-weight: bold;
        font-size: 30px;
        padding: 7px 30px 10px;
        letter-spacing: 0.05em;
        margin: 0 auto 10px auto;
    }

    .hero .inner .hero__text2 {
        max-width: 440px;
        background-color: #FBD000;
        color: #000;
        font-weight: bold;
        font-size: 30px;
        padding: 7px 30px 10px;
        letter-spacing: 0.05em;
        margin: 0 auto 10px auto;
    }

    .hero .inner .hero__content .link_btn_block a {
        width: 578px;
    }

    .hero .hero__circle {
        position: absolute;
        left: 40px;
        top: 80px;
    }

    .hero .second_link_txt {
        font-size: 24px;
        margin-top: 27px;
    }

    .hero .second_link_txt a {
        text-decoration: underline;
    }
    .hero .second_link_txt_2 {
        font-size: 23px;
        margin-top: 27px;
    }

    .hero .second_link_txt_2 a {
        text-decoration: underline;
    }

    @media (min-width: 768px) and (max-width: 1023px) {
        .hero .hero__circle {
            width: 22vw;
        }
    }

    .menu_blk {
        width: 100%;
        background: #14345D;
        background: linear-gradient(180deg, rgba(20, 52, 93, 1) 0%, rgba(2, 18, 39, 1) 50%, rgba(2, 18, 39, 1) 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 20px;
        letter-spacing: 1px;
        z-index: 10;
    }

    .menu_blk a {
        display: flex;
        align-items: end;
        padding: 12px 32px 22px 32px;
        transition: all 0.3s;
        background-color: rgb(255, 255, 255, 0.0);
    }

    .menu_blk a:hover {
        transition: all 0.3s;
        background-color: rgb(255, 255, 255, 0.2);
    }

    .menu_blk a div {
        display: flex;
        align-items: center;
        border-bottom: solid 1px #fff;
        padding: 5px;
        text-align: center;
        line-height: 1.4;
        min-height: 3.5em;
    }

    .menu_blk .menu_line {
        width: 1px;
        background-color: #325884;
        height: 60px;
    }

    .section--message {
        padding: 30px 0;
        text-align: center;
    }

    .section--message .inner {
        max-width: 1100px;
    }

    .section--message .inner .section__title {
        color: #FBD000;
        font-size: 44px;
        letter-spacing: 0.1em;
        line-height: 200%;
    }

    .section--message .inner hr {
        width: 44px;
        height: 6px;
        border: none;
        background-color: #fff;
        margin: 50px auto;
    }

    .section--message .inner .section__text {
        font-size: 18px;
        line-height: 36px;
        letter-spacing: 0.1em;
        margin-bottom: 1.4em;
    }

    .section--message .inner .instructor-block {
        width: 100%;
        display: flex;
        gap: 60px;
        margin: 150px auto 36px 0;
    }

    .section--message .inner .instructor-block .instructor-block__content {
        text-align: left;
        font-size: 18px;
        line-height: 36px;
        letter-spacing: 0.1em;
    }

    .section--message .inner .instructor-block .instructor-block__content .instructor-block__name {
        font-size: 45px;
        font-weight: normal;
        margin-bottom: 1em;
    }

    .section--message .inner .instructor-block .instructor-block__content .instructor-block__name span {
        font-size: 28px;
    }

    .section--message .inner .btn_first {
        width: 80%;
        display: inline-block;
        color: #fff;
        font-weight: bold;
        font-size: 24px;
        padding: 10px 30px;
        margin: 5px 0; /* ← バナー上下の外側の余白 */
        letter-spacing: 0.15em;
        border: solid 1px #fff;
        transition: all 0.3s;
        position: relative;
        box-sizing: border-box;
    }
    .section--message .inner .btn_first:hover {
        background-color: rgb(255, 255, 255, 0.2);
    }

    .section--message .inner .btn_first span {
        color: #fff;
        font-size: 16px;
        display: block;
    }

   
    .section--message .inner .btn_first .arrows {
        width: 22px;
        position: absolute;
        right: 20px;
        top: 50%;
        bottom: auto;
        transform: translateY(-50%);
        margin: 0;
    }


    


    .section--message .inner .link_btn_block a {
        width: 578px;
        margin-top: 70px;
    }

    .link_btn_block6 a {
        width: 578px;
        margin-top: 70px;
    }

    .video-block {
        width: 80%;
        margin: 40px auto;
    }

    .video-block__title {
        font-weight: normal;
        margin: 10px;
    }

    .video-block2 {
        width: 80%;
        margin: 10px auto;
    }

    .section--message .acd_message {
        width: 1000px;
        text-align: left;
        font-size: 18px;
        line-height: 36px;
        max-height: 0;
        overflow: hidden;
        opacity: 0;
        transition: max-height 0.5s ease, opacity 0.5s ease;
        margin: 0px auto;
    }

    .acd_message.open {
        max-height: 1500px;
        /* 十分大きな値にしておく */
        opacity: 1;
        margin: 30px auto;
    }

    .acd_message ul {
        list-style: disc;
        padding-left: 1.2em;
    }

    .acd_message ul li {
        list-style-type: disc;
    }

    .video-block__embed {
        margin-top: 160px;
    }

    .mov_caption {
        text-align: center;
        /* テキストを中央に */
        margin: 0.5em;
        font-size: 18px;
    }

    .btn_first .arrows {
        transition: transform 0.3s ease;
    }

    .btn_first .arrows.rotate {
        transform: rotate(180deg);
    }

    .link_btn_block a {
        width: 80%;
        display: inline-block;
        background: #FBD000;
        color: #000;
        font-weight: bold;
        padding: 16px 40px;
        font-size: 24px;
        text-decoration: none;
        margin: 5px auto 0;
        text-align: center;
        letter-spacing: 0.05em;
        transition: all 0.3s;
        position: relative;
    }

    .link_btn_block a:hover {
        background: #FFE150;
    }

    .link_btn_block a .arrows {
        position: absolute;
        right: 7px;
        bottom: 7px;
        width: 24px;
        height: 24px;
    }



    .link_btn_block6 a {
        width: 80%;
        display: inline-block;
        background: #FBD000;
        color: #000;
        font-weight: bold;
        padding: 16px 40px;
        font-size: 24px;
        text-decoration: none;
        margin: 5px auto 0;
        text-align: center;
        letter-spacing: 0.05em;
        transition: all 0.3s;
        position: relative;
    }

    .link_btn_block6 a:hover {
        background: #FFE150;
    }

    .link_btn_block6 a .arrows {
        position: absolute;
        right: 7px;
        bottom: 7px;
        width: 24px;
        height: 24px;
    }


    
    .link_btn_block3 {
        text-align: center;
    }

    .link_btn_block3 a {
        width: 80%;
        display: inline-block;
        background: #fff;
        color: #000;
        font-weight: bold;
        padding: 16px 40px;
        font-size: 24px;
        text-decoration: none;
        margin: 5px auto 0 auto;
        text-align: center;
        letter-spacing: 0.05em;
        transition: all 0.3s;
        position: relative;
        border: 1px solid #707070;
    }

    .link_btn_block3 a:hover {
        background: #FFE150;
    }

    .link_btn_block3 a .arrows {
        position: absolute;
        right: 7px;
        bottom: 7px;
    }

    
    .link_btn_block4 {
        text-align: center;
        margin-top: 1.5em;
    }

    .link_btn_block4 a {
        width: 600px;
        display: inline-block;
        background: #fff;
        color: #000;
        font-weight: bold;
        padding: 16px 40px;
        font-size: 24px;
        text-decoration: none;
        margin: 5px auto 0 auto;
        text-align: center;
        letter-spacing: 0.05em;
        transition: all 0.3s;
        position: relative;
        border: 1px solid #707070;
    }

    .link_btn_block4 a:hover {
        background: #FFE150;
    }

    .link_btn_block4 a .arrows {
        width: 22px;
        position: absolute;
        right: 20px;
        bottom: 0px;
        top: 0px;
        margin: auto;
    }


    .link_btn_block5 {
        text-align: center;
        margin-top: 1.5em;
    }

    .link_btn_block5 a {
        width: 600px;
        display: inline-block;
        background: #fff;
        color: #000;
        font-weight: bold;
        padding: 16px 40px;
        font-size: 24px;
        text-decoration: none;
        margin: 5px auto 0 auto;
        text-align: center;
        letter-spacing: 0.05em;
        transition: all 0.3s;
        position: relative;
        border: 1px solid #707070;
    }

    .link_btn_block5 a:hover {
        background: #FFE150;
    }

    .link_btn_block5 a .arrows {
        width: 22px;
        position: absolute;
        right: 20px;
        bottom: 0px;
        top: 0px;
        margin: auto;
    }

    

    .section--feature {
        width: 100%;
        background-color: #F5F5F5;
        color: #000;
        padding: 150px 0;
    }

    .section--feature .section__header .section__title {
        font-size: 80px;
        color: #001227;
        font-weight: normal;
        margin-left: -80px;
        margin-bottom: 80px;
        padding-left: 80px;
        background-image: url(../img/headline_item.svg);
        background-size: 67px;
        background-position: 0 70px;
        background-repeat: no-repeat;
    }

    .section--feature .section__header .section__title span {
        font-size: 28px;
        margin-left: 20px;
    }

    .acd_body .image_blk {
        margin: 1.8em 0;
    }

    .acd_body {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.4s ease;
    }

    .accordion.open .acd_body {
        max-height: 1000px;
        /* 十分な高さに調整 */
    }

    .accordion.open .acd_body p {
        margin-top: 1.6em;
    }

    .accordion-toggle .arrows {
        transition: transform 0.3s ease;
    }

    .accordion.open .arrows {
        transform: rotate(180deg);
    }


    @media (min-width: 768px) and (max-width: 1023px) {
        .section--feature .section__header .section__title {
            font-size: 70px;
            margin-left: 0px;
        }

        .section--feature .section__header .section__title span {
            font-size: 16px;
        }

        .section--feature .section__header .section__title::before {
            width: 40px;
            /*画像の幅*/
            height: 12px;
            /*画像の高さ*/
            background-size: contain;
            vertical-align: middle;
            background-repeat: no-repeat;
        }
    }

    .section--feature .feature_box {
        padding: 40px 55px 55px 55px;
        background-color: #fff;
        margin-bottom: 2em;
        font-size: 18px;
    }

    .section--feature .feature_box h3 {
        font-size: 32px;
        margin-bottom: 1em;
    }

    .section--feature .feature_box2 {
        padding: 30px 55px 20px 55px;
        background-color: #fff;
        margin-bottom: 2em;
        font-size: 18px;
    }

    .section--feature .feature_box2 h3 {
        font-size: 32px;
        margin-bottom: 1em;
    }


    .custom-list {
        list-style: none;
        padding: 0;
        margin: 2em 1em;
    }

    .custom-list li {
        position: relative;
        padding-left: 1.5em;
        margin-bottom: 0.8em;
    }

    .custom-list li::before {
        content: '';
        position: absolute;
        left: 0;
        top: 0.35em;
        width: 1em;
        height: 1em;
        background-image: url('../img/marker01.svg');
        /* パスを調整 */
        background-size: contain;
        background-repeat: no-repeat;
    }


    .section--flow {
        padding: 120px 0 140px 0;
    }

    .section--flow .section__header .section__title {
        font-size: 80px;
        color: #fff;
        font-weight: normal;
        margin-left: -80px;
        margin-bottom: 70px;
        padding-left: 80px;
        background-image: url(../img/headline_item_wh.svg);
        background-size: 67px;
        background-position: 0 70px;
        background-repeat: no-repeat;
    }

    .section--flow .body-txt {
        font-size: 18px;
    }

    .section--flow .flow_box {
        padding: 60px 55px;
        background-color: #fff;
        margin: 30px auto 50px auto;
    }

    .section--flow .flow_box div {
        text-align: center;
        margin: 0 auto;
    }

    .section--flow .flow_box .flow_label {
        background-color: #001227;
        color: #fff;
        font-size: 22px;
        font-weight: 600;
        padding: 20px;
        max-width: 610px;
        position: relative;
    }

    .section--flow .flow_box .flow_label img {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 10px;
        margin: auto;
    }

    .section--flow .flow_box .flow_label.color2 {
        background-color: #2998D0;
    }
    .section--flow .flow_box .flow_label.color3 {
        background-color: #b0e0f8;
    }
    .section--flow .flow_box .flow_label span {
        display: block;
        font-size: 18px;
    }

    .section--flow .flow_box .flow_txt {
        max-width: 610px;
        font-size: 16px;
        color: #001227;
        text-align: left;
        margin-top: 1em;
        line-height: 1.4em;
    }

    .section--flow .flow_box .flow_txt span {
        color: #CF1819;
    }

    .section--flow .flow_box .flow_allow {
        width: 55px;
        margin: 0 auto;
    }

    .section--flow .link_btn_block {
        margin: 0 auto;
        text-align: center;
    }
    .link_btn_block6 {
        margin: 0 auto;
        text-align: center;
    }
    .section--flow.flow2 {
        width: 100%;
        background-color: #F5F5F5;
        color: #000;
        padding: 120px 0 140px 0;
    }

    .section--flow.flow2 .section__header .section__title {
        color: #001227;
        background-image: url(../img/headline_item.svg);
    }



    .section--info {
        width: 100%;
        padding: 150px 0;
    }

    .section--info .inner .info-block {
        display: flex;
        align-items: center;
        margin-bottom: 150px;
    }

    .section--info .inner .info-block div {
        text-align: left;
    }

    .section--info .inner .info-block .info_left {
        width: 43%;
    }

    .section--info .inner .info-block .info_right {
        padding-left: 40px;
        width: 57%;
    }

    .section--info .inner .info-block .info_right .modal-title {
        margin: 0 0 1em 0;
        line-height: 100%;
    }

    .section--info .inner .info-block .info_left img {
        width: 280px;
        margin: 0 auto;
    }

    .section--info .inner .info-block div p {
        letter-spacing: 0.05em;
        font-size: 20px;
    }

    .info_map iframe {
        width: 100%;
        height: 555px;
        margin-bottom: 100px;
    }

    .link_btn_block2 {
        width: 80%;
        display: block;
        font-weight: bold;
        font-size: 24px;
        padding: 10px 30px;
        letter-spacing: 0.15em;
        border: solid 1px #fff;
        transition: all 0.3s;
        position: relative;
        text-align: center;
        margin: 0 auto;
    }

    .link_btn_block2:hover {
        background-color: rgb(255, 255, 255, 0.2);
    }

    .link_btn_block2 .arrows {
        position: absolute;
        right: 7px;
        bottom: 7px;
    }

    .link_btn_wrap_half {
        display: flex;
        justify-content: space-between;
        gap: 20px;
    }

    .link_btn_half {
        width: 50%;
        margin: 0;
        /* 元CSSの margin:0 auto を無効化 */
    }

    /* 半分バナー用 フォントサイズ調整 */
    .link_btn_half a {
        font-size: 18px;
        /* ← 好みで調整 */
        line-height: 1.6;
    }

    footer {
        background-color: #F2F2F2;
        color: #1D738F;
        padding: 80px 0;
        text-align: center;
        font-size: 13px;
    }

    #footer .footerNavi li {
        font-size: 13px;
        padding: 0 10px;
        display: inline-block;
        border-right: 1px solid #1d738f;
        line-height: 1;
    }

    #footer .footerNavi li:last-child {
        border-right: none;
    }

    #footer .footerNavi {
        margin-bottom: 30px;
    }

    div#gFooter {
        background-color: #fff;
        padding: 14px 0;
        position: relative;
        z-index: 22;
        border-top: 1px solid #e5e5e5;
        font-size: 13px;
    }

    div.gStyle div.gStyleIn {
        margin: 0 auto;
        max-width: 1000px;
        display: flex;
    }

    div#gFooter p.groupLogo {
        margin: 9px 10px 9px 0;
    }

    div#gFooter p.groupLogo {
        margin: 9px 10px 9px 0;
    }

    .gStyle a {
        color: #004979;
    }

    div#gFooter div#gFooterGroups {
        margin-left: 10px;
    }

    div#gFooter div#gFooterGroups ul {
        line-height: 1.8;
        margin-top: 10px;
    }

    div#gFooter div#gFooterGroups ul li {
        border-left: solid 1px #cccccc;
        display: inline;
        margin: 0 0 0 9px;
        padding: 0 0 0 9px;
    }

    div#gFooter div#gFooterGroups ul li.first {
        border: none;
        margin-left: 0;
        padding: 0;
    }


    .subpage_title {
        padding: 100px 0 60px 0;
    }

    .subpage_title .section__header .section__title {
        font-size: 80px;
        color: #fff;
        font-weight: normal;
        margin: 0 0 40px -80px;
        padding-left: 80px;
       /* background-image: url(../img/headline_item_wh.svg); */ 
        background-size: 67px;
        background-position: 0 70px;
        background-repeat: no-repeat;
    }

    .subpage_title h3 {
        font-size: 32px;
        margin-bottom: 0.6em;
    }

    .subpage_title p {
        font-size: 18px;
        margin-bottom: 2em;
    }

    .subpage_title .page_menu {
        display: flex;
        justify-content: space-between;
        align-items: stretch;
    }

    .subpage_title .page_menu a {
        width: 32%;
        font-size: 18px;
        border: 1px solid #fff;
        display: flex;
        align-items: center;
        text-align: center;
        position: relative;
        flex-direction: column;
        /* 縦方向に並べる（※重要） */
        justify-content: center;
        /* 垂直方向センター */
        align-items: center;
        /* 水平方向センター */
        padding: 14px 0;
        transition: all 0.3s;
    }

    .subpage_title .page_menu a img {
        position: absolute;
        right: 4px;
        bottom: 4px;
        width: 20px;
    }

    .subpage_title .page_menu a:hover {
        background-color: rgb(255, 255, 255, 0.2);
    }

    .subpage_title .page_menu.double a {
        width: 48%;
    }

    .section--page_blk {
        width: 100%;
        background-color: #F5F5F5;
        color: #000;
        padding: 70px 0 100px 0;
    }

    .section--page_blk .page_part {
        width: 100%;
        padding: 50px 60px;
        background-color: #fff;
        margin-bottom: 70px;
    }

    .section--page_blk .page_part h3 {
        font-size: 40px;
        margin-bottom: 80px;
        color: #001227;
        background-image: url(../img/headline_item.svg);
        background-size: 34px;
        background-position: 0 27px;
        background-repeat: no-repeat;
        padding-left: 38px;
        line-height: 54px;
    }

    .section--page_blk .page_part h4 {
        font-size: 28px;
        color: #001227;
    }

    .section--page_blk .page_part h5 {
        font-size: 20px;
        color: #001227;
    }

    .section--page_blk .page_part .mgt90 {
        margin: 80px 0 18px 0 !important;
    }

    .section--page_blk .page_part .mgb00 {
        margin-bottom: 0px !important;
    }

    .section--page_blk .page_part .image_blk.mgb90-0 {
        margin: 90px 0 18px 0 !important;
    }

    .section--page_blk .page_part .mgb50 {
        margin-bottom: 40px !important;
    }

    .section--page_blk .page_part .mgt60 {
        margin: 50px 0 18px 0 !important;
    }

    .section--page_blk .page_part p {
        font-size: 18px;
        line-height: 38px;
    }

    .section--page_blk .page_part .image_blk {
        margin: 70px 0;
    }

    .section--page_blk .page_part .image_blk2 {
        margin: 18px 0;
    }


    table.feature01_table {
        width: 100%;
        border-collapse: collapse;
        text-align: left;
        font-size: 18px;
    }

    table.feature01_table td,
    table.feature01_table tbody th {
        padding: 8px 12px;
        border: 1px solid #ccc;
        vertical-align: top;
    }

    table.feature01_table thead th {
        width: 260px;
        padding: 5px;
        background-color: #001227;
        color: #fff;
        text-align: center;
    }

    table.feature01_table td {
        width: 342px;
    }

    table.feature01_table td .txt_indent {
        padding-left: 16px;
    }

    table.feature01_table u {
        text-decoration: underline #D91A00;
        text-underline-offset: 3px;
    }

    .asterisk-list {
        list-style: none;
        padding-left: 0;
    }

    .asterisk-list li {
        position: relative;
        padding-left: 1.2em;
        line-height: 1.8;
    }

    .asterisk-list .mark {
        position: absolute;
        left: 0;
        color: #000;
        /* 必要に応じてカラー変更 */
    }

    .section--page_blk .link_btn_block {
        margin: 0 auto;
        text-align: center;
    }

    .section--page_blk .link_btn_block6 {
        margin: 0 auto;
        text-align: center;
    }


    .section--page_blk .mov_group {
        display: flex;
        justify-content: space-between;
        margin: 60px 0;
    }

    .section--page_blk .mov_group img {
        width: 30%;
        margin-bottom: 5px;
    }

    #page01-03 {
        margin-bottom: 40px !important;
    }

    .page01-02 {
        margin-bottom: 40px !important;
    }

    /** 説明感　**/
    .seminar-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 18px;
        margin-bottom: 10px;
    }

    .seminar-table.table04 {
        margin-bottom: 12px;
    }

    .seminar-table th,
    .seminar-table td {
        border: 1px solid #707070;
        padding: 4px 8px;
        text-align: center;
    }

    .seminar-table .grade-header {
        background-color: #009fe3;
        /* ブルー */
        color: #fff;
        font-weight: bold;
        font-size: 20px;
        width: 200px;
        padding: 4px 2px;
    }

    .seminar-table .grade-header span {
        display: block;
        font-size: 16px;
    }

    .seminar-table .seminar-info {
        background-color: #e6f4f9;
        text-align: left;
        line-height: 1.6;
        color: #000;
        font-size: 16px;
    }

    .seminar-table .seminar-info div {
        margin: 7px;
    }

    .seminar-table .seminar-info strong {
        background-color: #fff;
        color: #000;
        padding: 3px 5px;
        margin-right: 5px;
    }

    .seminar-table .seminar-info span,
    .seminar-table tbody td span {
        color: #000;
    }

    .seminar-table tbody td {
        text-align: left;
        background-color: #fff;
        color: #000;
    }

    .seminar-table tbody td a {
        text-decoration: underline;
    }

    .seminar-table .head-cell th {
        background-color: #676767;
    }

    .seminar-table tbody td.test-cell {
        text-align: center;
        width: 200px;
    }

    .seminar-table thead th.time-cell {
        width: 130px;
    }

     /** 説明感　**/
     .seminar-table2 {
        width: 100%;
        border-collapse: collapse;
        font-size: 224px;
        margin-bottom: 30px;
    }

    .seminar-table2 .table04 {
        margin-bottom: 12px;
    }

    .seminar-table2 th,
    .seminar-table2 td {
        border: 1px solid #707070;
        padding: 4px 8px;
        text-align: center;
    }

    .seminar-table2 .grade-header {
        background-color: #009fe3;
        /* ブルー */
        color: #fff;
        font-weight: bold;
        font-size: 20px;
        width: 200px;
        padding: 4px 2px;
    }

    .seminar-table2 .grade-header span {
        display: block;
        font-size: 16px;
    }

    .seminar-table2 .seminar-info {
        background-color: #e6f4f9;
        text-align: left;
        line-height: 1.6;
        color: #000;
        font-size: 16px;
    }

    .seminar-table2 .seminar-info div {
        margin: 7px;
    }

    .seminar-table2 .seminar-info strong {
        background-color: #fff;
        color: #000;
        padding: 3px 5px;
        margin-right: 5px;
    }

    .seminar-table2 .seminar-info span,
    .seminar-table2 tbody td span {
        color: #000;
    }

    .seminar-table2 tbody td {
        text-align: left;
        background-color: #fff;
        color: #000;
    }

    .seminar-table2 tbody td a {
        text-decoration: underline;
    }

    .seminar-table2 .head-cell th {
        background-color: #676767;
    }

    .seminar-table2 tbody td.test-cell {
        text-align: center;
        width: 200px;
    }

    .seminar-table2 thead th.time-cell {
        width: 130px;
    }

    

.seminar-table2 .speaker-wrap {
    display: flex;
    align-items: flex-start;
}

.seminar-table2 .speaker-list {
    display: inline-block;
    margin-left: 1em;
}

/* PCでは改行しない */
.seminar-table2 .spOnly {
    display: none;
}

    
    .hero .acd_part {
        width: 100%;
        background-color: #001227;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.6s ease;
        opacity: 0;
        position: relative;
        z-index: 5;
    }

    .acd_part .schedule_title {
        font-size: 32px;
        margin-bottom: 60px;
    }
    .acd_part .schedule_title_2 {
        font-size: 35px;
        margin-bottom: 5px;
    }
    .acd_part .schedule_subtitle_2 {
        font-size: 25px;
        margin-bottom: 50px;
    }

    .acd_part p {
        font-size: 18px;
        margin-bottom: 20px;
        text-align: left;
    }

    .acd_part .link_btn_block a {
        width: 578px;
    }

    
    .acd_part .link_btn_block6 a {
        width: 578px;
    }

    .acd_part .schedule_close {
        width: 324px;
        margin: 40px auto;
    }

    .acd_part.open {
        max-height: 2300px;
        /* 内容量に応じて調整 or 大きめにしておく */
        opacity: 1;
        padding: 80px 0 20px;
        margin: 40px 0 0 0;
    }

    .kv_bottom {
        padding: 5px 0 40px 0;
        position: relative;
        z-index: 3;
    }

    .kv_bottom.hidden {
        background-color: #001227;
        padding-bottom: 60px;
    }

    .google_map iframe {
        width: 100%;
        height: 400px;
    }

    .modal-overlay {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        overflow-y: auto;
        /* ここがポイント */
        background-color: rgba(0, 0, 0, 0.6);
        z-index: 9999;
    }

    .modal-overlay.active {
        display: block;
    }

    .modal-contents {
        max-width: 700px;
        margin: 40px auto;
        background: #fff;
        padding: 20px;
        border-radius: 8px;
        position: relative;
        box-sizing: border-box;
        color: #000;
    }

    .modal-close {
        position: absolute;
        top: 0px;
        right: -50px;
    }

    .modal-title {
        font-size: 24px;
        margin: 0.2em 0;
        font-weight: 600;

    }

    .modal-access {
        font-size: 18px;
        margin: 1em 0;
        font-weight: 600;
    }

    .modal-tel {
        font-size: 18px;
        margin: 1em 0;
        font-weight: 600;
    }

    body.modal-open {
        overflow: hidden;
    }

    .pagetop {
        width: 80px;
        height: 80px;
        position: fixed;
        right: 20px;
        bottom: 20px;
        opacity: 0;
        transition: all 0.6s ease;
        z-index: 90;
    }

    .pagetop.scroll {
        opacity: 1;
    }

    .section_title_sub {
        font-size: 26px;
        margin-bottom: -20px;
    }

    .subpage_title .link_btn_block a {
        width: 60%;
    }

    .subpage_title .link_btn_block6 a {
        width: 60%;
    }

    .section--page_blk .feature_box {
        padding: 40px 55px 55px 55px;
        background-color: #fff;
        margin-bottom: 2em;
        font-size: 18px;
    }

    .section--page_blk .feature_box2 {
        padding: 5px 55px 30px 55px;
        background-color: #001227;
        margin-bottom: 2em;
        font-size: 18px;
    }

    .section--page_blk .feature_box h3 {
        font-size: 32px;
        margin-bottom: 1em;
    }
    .section--page_blk .feature_box .lecturer {
        display: flex;
        align-items: center;
    }
    .section--page_blk .feature_box .lecturer .lecturer_photo {
        max-width: 208px;
        flex-shrink: 0;

        
    }
    .section--page_blk .feature_box .lecturer .lecture_set .lecturer_photo {
        display: none;
    }
 
    .section--page_blk .feature_box .lecturer .lecture_txt {
        padding-left: 30px;
    }
    .section--page_blk .feature_box .lecturer .lecture_txt .name {
        margin-top: 1em;
    }
    .section--page_blk .feature_box .lecturer .lecture_txt .name .sub01 {
        font-size: 80%;
        margin-right: 0.5em;
    }
    .section--page_blk .feature_box .lecturer .lecture_txt .name .sub02 {
        font-size: 90%;
        margin-left: 1em;
        background-color: #001227;
        padding: 2px 5px 3px 5px;
        color: #fff;
    }
    .section--page_blk .feature_box .video-block__embed {
        margin-top: 30px;
    }
    .lecture-content {
        margin-top: 30px;
        text-align: left;
    }
    
    /* 黒背景＋白文字 */
    .content-title {
        display: inline-block;
        background: #000;
        color: #fff;
        padding: 6px 25px;
        font-size: 16px;
        font-weight: bold;
        line-height: 1.2;
        margin-bottom: 15px;
    }
    
    /* 説明文 */
    .content-list {
        margin: 0;
        padding-left: 1.5em;
    }
    
    .content-list li {
        font-size: 18px;
        line-height: 1.8;
        letter-spacing: -0.03em;
        margin-bottom: 5px;
    }

}