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


    .link_btn_static a {
        display: inline-block;
        background: #FBD000;
        color: #000;
        font-weight: bold;
        padding: 2.133vw 1.333vw;
        font-size: 4.533vw;
        text-decoration: none;
        text-align: center;
        letter-spacing: 0.05em;
        position: fixed;
        right: 22vw;
        left: 5vw;
        bottom: 2.667vw;
        z-index: 100;
        opacity: 0;
        transition: all 0.3s;
    }
    .link_btn_static a:hover {
        background: #FFE150;
    }
    .link_btn_static.scroll a {
        opacity: 1;
    }
    .link_btn_static .arrows {
        width: 5.333vw;
        position: absolute;
        right: 0.933vw;
        bottom: 0.933vw;
    }
    img {
        width: 100%;
        display: block;
    }

    .site-header {
        width: 100%;
        background-color: #fff;
        padding: 2vw;
    }
    .site-header .inner {
        width: 100%;
        display: flex;
        justify-content: space-between;
    }
    .site-header__logo img {
        width: 34vw;
    }
    .site-header__logo_right a {
        display: flex;
        align-items: center;
    }
    .site-header__logo_right .logo_01 {
        width: 20vw;
    }
    .site-header__logo_right .logo_02 {
        width: 14vw;
        margin-left: 1.333vw;
    }

    .pcOnly {
        display: none;
    }

    .hero {
        width: 100%;
        background-image: url(../img/sp_kv_image.jpg);
        background-size: 106%;
        background-position: top center;
        background-repeat: no-repeat;
        text-align: center;
    }

    
    .hero .inner {
        text-align: center;
        padding-top: 3vw;
        height: 100%;
    }
    .hero .inner .hero__content {
        vertical-align: middle;
    }
    .hero .inner .hero__catch {
        width: 16.267vw;;
        margin: 0px auto;
        padding: 9vw 0 2vw 0;
    }
    .hero .inner .hero__title {
        width: 74.133vw;
        margin: 6vw auto;
    }
    .hero .inner .hero__text {
        background-color: #FBD000;
        display: inline-block;
        color: #000;
        font-weight: bold;
        font-size: 5.867vw;
        padding: 0.933vw 4vw;
        letter-spacing: 0.05em;
        margin-bottom: 4vw;
    }

    .hero .inner .btn_first {
        width: 100%;
        display: inline-block;
        color: #FBD000;
        font-weight: bold;
        font-size: 4.8vw;
        padding: 4vw 4vw;
        letter-spacing: 0.15em;
        border: solid 1px #fff;
        transition: all 0.3s;
        position: relative;
    }
    .hero .inner .btn_first:hover {
        background-color: rgb(255, 255, 255, 0.2);
    }
    .hero .inner .btn_first span {
        color: #fff;
        font-size: 3.2vw;
        display: block;
    }
    .hero .inner .btn_first .arrows {
        width: 5.333vw;
        position: absolute;
        right: 0.933vw;
        bottom: 0.933vw;
    }
    .hero .hero__circle {
        width: 28.133vw;
        position: absolute;
        top: 5vw;
        left: 0;
    }
    .hero .second_link_txt {
        font-size: 4.5vw;
        margin-top: 0.6em;
    }
    .hero .second_link_txt a {
        text-decoration: underline;
    }
    .hero .second_link_txt_2 {
        font-size: 3.8vw;
        margin-top: 0.6em;
    }
    .hero .second_link_txt_2 a {
        text-decoration: underline;
    }
    

    .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;
        justify-content: center;
        flex-wrap: wrap;
        font-size: 3.6vw;
        align-items: center;
    }
    .menu_blk a {
        padding: 4vw 2vw;
        transition: all 0.3s;
        background-color: rgb(255, 255, 255, 0.0);
        background: linear-gradient(180deg, rgba(20, 52, 93, 1) 0%, rgba(2, 18, 39, 1) 50%, rgba(2, 18, 39, 1) 100%);
        border-left: solid 1px #325884;
        text-align: center;
    }
    .menu_blk a div {
        border-bottom: solid 1px #fff;
        text-align: center;
        display: inline-block;
    }
    .menu_blk .menu01 {
        width: 35%;
    }
    .menu_blk .menu02 {
        width: 40%;
    }
    .menu_blk .menu03 {
        width: 25%;
    }
    .menu_blk .menu_line {
        width: 2px;
        background-color: #325884;
        height: 8vw;
        display: none;
    }

    .section--message {
        padding: 10vw 0 20vw 0;
        text-align: center;
    }
    .section--message .inner .section__title {
        color: #FBD000;
        font-size: 5.2vw;
        letter-spacing: 0.15em;
        line-height: 200%;
    }
    .section--message .inner hr {
        width: 7vw;
        height: 0.8vw;
        border: none;
        background-color: #fff;
        margin: 50px auto;
    }
    .section--message .inner .section__text {
        font-size: 3.4vw;
        line-height: 6vw;
        letter-spacing: 0.1em;
        margin-bottom: 2em;
    }
    .section--message .inner .instructor-block {
        width: 100%;
        gap: 8vw;
        margin: 120px auto 60px 0;
    }
    .section--message .inner .instructor-block .instructor-block__image {
        width: 40vw;
        margin: 0 auto 5vw auto;
    }
    .section--message .inner .instructor-block .instructor-block__content {
        text-align: left;
        font-size: 2.4vw;
        line-height: 4.8vw;
        letter-spacing: 0.1em;
    }
    .section--message .inner .instructor-block .instructor-block__content .instructor-block__name {
        font-size: 7vw;
        font-weight: normal;
        margin-bottom: 1em;
        text-align: center;
    }
    .section--message .inner .instructor-block .instructor-block__content .instructor-block__name span {
        font-size: 4vw;
        line-height: 220%;
    }
    .section--message .inner .instructor-block .instructor-block__content .instructor-block__text {
        font-size: 3.6vw;
        line-height: 180%;
    }

    .section--message .inner .btn_first {
        width: 100%;
        display: inline-block;
        color: #fff;
        font-weight: bold;
        font-size: 4vw;
        padding: 4vw 4vw;
        letter-spacing: 0.15em;
        border: solid 1px #fff;
        transition: all 0.3s;
        position: relative;
    }
    .section--message .inner .btn_first span {
        color: #fff;
        font-size: 3.43vw;
        display: block;
    }
    .section--message .inner .btn_first .arrows {
        width: 2.933vw;
        position: absolute;
        right: 2.667vw;
        bottom: 0px;
        top: 0px;
        margin: auto;
    }
    .section--message .inner .link_btn_block a {
        width: 77.067vw;
        margin-top: 9.333vw;
    }
    .video-block {
        width: 90%;
        margin: 40px auto;
    }
    .video-block__title {
        font-weight: normal;
        margin: 1.333vw;
    }
    .video-block {
        width: 90%;
        margin: 10px auto;
    }

    .section--message .acd_message {
        width: 100%;
        text-align: left;
        font-size: 3.6vw;
        line-height: 180%;
        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: 2500vw; /* 十分大きな値にしておく */
        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: 120px;
    }
    .mov_caption {
        margin: 0.5em;
        font-size: 3.6vw;
    }
    .btn_first .arrows {
        transition: transform 0.3s ease;
    }
    .btn_first .arrows.rotate {
        transform: rotate(180deg);
    }
    .link_btn_block a {
        width: 90%;
        display: inline-block;
        background: #FBD000;
        color: #000;
        font-weight: bold;
        padding: 2.133vw 5.333vw;
        font-size: 3.9vw;
        text-decoration: none;
        margin: 5px auto 0;
        text-align: center;
        letter-spacing: 0.05em;
        transition: all 0.3s;
        position: relative;
    }
    .link_btn_block a .arrows {
        width: 4vw;
        position: absolute;
        right: 1vw;
        bottom: 1vw;
    }

    .link_btn_block3 {
        text-align: center;
    }
    .link_btn_block3 a {
        width: 80vw;
        display: inline-block;
        background: #fff;
        color: #000;
        font-weight: bold;
        padding: 4vw 5.333vw;
        font-size: 4vw;
        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 .arrows {
        width: 4vw;
        position: absolute;
        right: 0.933vw;
        bottom: 0.933vw;
    }

    .link_btn_block4 {
        text-align: center;
        margin-top: 1.5em;
    }
    .link_btn_block4 a {
        width: 80vw;
        display: inline-block;
        background: #fff;
        color: #000;
        font-weight: bold;
        padding: 4vw 5.333vw;
        font-size: 3.2vw;
        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 .arrows {
        width: 4vw;
        position: absolute;
        right: 2.667vw;
        bottom: 0px;
        top: 0px;
        margin: auto;
    }

    .section--feature {
        width: 100%;
        background-color: #F5F5F5;
        color: #000;
        padding: 14vw 0;
    }
    .section--feature .section__header .section__title {
        font-size: 9vw;
        line-height: 1.4em;
        color: #001227;
        font-weight: normal;
        position: relative;
        padding-left: 10vw;
        margin-bottom: 1.4em;
        background-image: url(../img/headline_item.svg);
        background-size: 8vw;
        background-position: 0 7vw;
        background-repeat: no-repeat;
    }
    .section--feature .section__header .section__title span {
        font-size: 3.42vw;
        display: block;
        position: absolute;
        right: 2vw;
        top: 14vw;
    }
    .section--feature dl {
        padding: 5.333vw 6.667vw;
        background-color: #fff;
        margin-bottom: 2em;
        font-size: 2.4vw;
    }
    .section--feature dl dt {
        font-size: 4vw;
        margin-bottom: 1em;
    }
    .section--feature dl dd {
        font-size: 3.2vw;
    }
    .section--feature p {
        font-size: 3.2vw;
    }
    .section--feature .feature_box {
        padding: 5.333vw 7.333vw 7.333vw 7.333vw;
        background-color: #fff;
        margin-bottom: 2em;
        font-size: 3.4vw;
    }
    .section--feature .feature_box h3 {
        font-size: 4.267vw;
        margin-bottom: 1em;
    }
    .custom-list {
        list-style: none;
        padding: 0;
        margin: 2em 0;
    }
    .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: 16vw 0 18.667vw 0;
    }
    .section--flow .section__header .section__title {
        font-size: 9vw;
        color: #fff;
        line-height: 1.4em;
        font-weight: normal;
        position: relative;
        padding-left: 10vw;
        margin-bottom: 1.4em;
        background-image: url(../img/headline_item_wh.svg); 
        background-size: 8vw;
        background-position: 0 7vw;
        background-repeat: no-repeat;
    }
    .section--flow .body-txt {
        font-size: 3.4vw;
    }
    .section--flow .flow_box {
        padding: 8vw 6vw 14vw 6vw;
        background-color: #fff;
        margin: 6vw auto 5vw 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: 3.7vw;
        font-weight: 600;
        padding: 3vw;
        width: 100%;
        position: relative;
    }
    .section--flow .flow_box .flow_label img {
        width: 14vw;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 1.333vw;
        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: 3vw;
    }
    .section--flow .flow_box .flow_txt {
        width: 100%;
        font-size: 3vw;
        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: 12vw;
        margin: 0 auto;
    }
    .section--flow .link_btn_block {
        margin: 0 auto;
        text-align: center;
    }
    .section--flow.flow2 {
        width: 100%;
        background-color: #F5F5F5;
        color: #000;
        padding: 16vw 0 18.667vw 0;
    }
    .section--flow.flow2 .section__header .section__title {
        color: #001227;
        background-image: url(../img/headline_item.svg);
    }

    .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: 2000vw;
        /* 十分な高さに調整 */
    }
    .accordion.open .acd_body p {
        margin-top: 1.6em;
    }

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

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

    .section--info {
        width: 100%;
        padding: 20vw 0;
    }
    .section--info .inner .info-block {
        text-align: center;
        margin-bottom: 20vw;
    }
    .section--info .inner .info-block div {
        text-align: center;
    }
    .section--info .inner .info-block .info_left img {
        width: 60vw;
        margin: 0 auto 10vw auto;
    }
    .section--info .inner .info-block .info_right .modal-access-detail {
        text-align: left;
    }
    .section--info .inner .info-block div p {
        letter-spacing: 0.05em;
    }
    .info_map iframe {
        width: 100%;
        height: 74vw;
        margin-bottom: 13.333vw;
    }
    .link_btn_block2 {
        width: 100%;
        display: block;
        font-weight: bold;
        font-size: 4.533vw;
        padding: 3vw 1vw;
        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 {
        width: 5.333vw;
        position: absolute;
        right: 0.933vw;
        bottom: 0.933vw;
    }
    .link_btn_wrap_half {
        flex-direction: column;
        gap: 4vw;
    }

    .link_btn_half {
        width: 100%;
    }
/* 半分バナー用 フォントサイズ調整（SP） */
.link_btn_half a {
    font-size: 3.8vw; /* 4.0vw前後がおすすめ */
    line-height: 1.5;
}


/* スマホ：バナー間の余白 */
.link_btn_wrap_half .link_btn_half {
    margin-bottom: 6vw;
}

/* 最後のバナーだけ余白なし */
.link_btn_wrap_half .link_btn_half:last-child {
    margin-bottom: 0;
}



    
    footer {
        background-color: #F2F2F2;
        color: #1D738F;
        padding: 10.667vw 0;
        text-align: center;
        font-size: 3.2vw;
    }
    #footer .footerNavi {
        display: flex;
        flex-wrap: wrap;
    }
    #footer .footerNavi li {
        width: 50%;
        font-size: 3.2vw;
        padding: 6vw;
        border-bottom: 1px solid #CECECE;
        line-height: 1;
    }
    #footer .footerNavi li:nth-of-type(2n) {
        border-left: 1px solid #CECECE;
    }
    #footer .footerNavi li:nth-of-type(1),#footer .footerNavi li:nth-of-type(2)  {
        border-top: 1px solid #CECECE;
    }
    #footer .footerNavi li:last-child {
        border-right: none;
    }
    #footer .footerNavi {
        margin-bottom: 4vw;
    }
    #footer .copyRight {
        font-size: 2.8vw;
    }
    div#gFooter {
        background-color: #fff;
        padding: 2vw 0 20vw 0;
        position: relative;
        z-index: 22;
        border-top: 1px solid #e5e5e5;
        font-size: 1.733vw;
    }
    div.gStyle div.gStyleIn {
        margin: 5vw auto;
        max-width: 60vw;
        display: flex;
    }
    div#gFooter p.groupLogo {
        margin: 1.2vw 1.333vw 1.2vw 0;
    }
    .gStyle a {
        color: #004979;
    }
    div#gFooter div#gFooterGroups {
        display: none;
    }
    div#gFooter div#gFooterGroups ul {
        line-height: 1.0;
        margin-top: 1.333vw;
    }
    div#gFooter div#gFooterGroups ul li {
        border-left: solid 1px #cccccc;
        display: inline;
        margin: 0 0 0 1.2vw;
        padding: 0 0 0 1.2vw;
    }
    div#gFooter div#gFooterGroups ul li.first {
        border: none;
        margin-left: 0;
        padding: 0;
    }

    .subpage_title {
        padding: 13.333vw 0 8vw 0;
    }
    .subpage_title .section__header .section__title {
        font-size: 8.7vw;
        color: #fff;
        line-height: 1.4em;
        font-weight: normal;
        position: relative;
        padding-left: 10vw;
        margin-bottom: 1.4em;
       background-image: url(../img/headline_item_wh.svg); 
        background-size: 8vw;
        background-position: 0 7vw;
        background-repeat: no-repeat;
    }
    .subpage_title h3 {
        font-size: 4.267vw;
        margin-bottom: 1em;
    }
    .subpage_title p {
        font-size: 3.4vw;
        margin-bottom: 2.4em;
    }
    .subpage_title .page_menu {
        display: block;
    }
    .subpage_title .page_menu a {
        width: 100;
        min-height: 18vw;
        font-size: 3.8vw;
        border: 1px solid #fff;
        display: flex;
        align-items: center;
        text-align: center;
        position: relative;
        flex-direction: column;         /* 縦方向に並べる（※重要） */
        justify-content: center;       /* 垂直方向センター */
        align-items: center;           /* 水平方向センター */
        padding: 1.867vw 0;
        transition: all 0.3s;
        margin-bottom: 4vw;
    }
    .subpage_title .page_menu a img {
        position: absolute;
        right: 1vw;
        bottom: 1vw;
        width: 4vw;
    }
    .subpage_title .page_menu.double a {
        width: 100%;
    }

    .section--page_blk {
        width: 100%;
        background-color: #F5F5F5;
        color: #000;
        padding: 9.333vw 0 13.333vw 0;
    }
    .section--page_blk .page_part {
        width: 100%;
        padding: 10vw 5vw;
        background-color: #fff;
        margin-bottom: 9.333vw;
    }
    .section--page_blk .page_part h3 {
        font-size: 5.333vw;
        margin-bottom: 10.667vw;
        color: #001227;
        background-image: url(../img/headline_item.svg);
        background-size: 4.533vw;
        background-position: 0 3.6vw;
        background-repeat: no-repeat;
        padding-left: 5.067vw;
        line-height: 7.2vw;
    }
    .section--page_blk .page_part h4 {
        font-size: 4vw;
        color: #001227;
    }
    .section--page_blk .page_part h5 {
        font-size: 3.8vw;
        color: #001227;
    }
    .section--page_blk .page_part .mgt90 {
        margin: 14vw 0 3vw 0 !important;
    }
    .section--page_blk .page_part .mgb00 {
        margin-bottom: 0px !important;
    }
    .section--page_blk .page_part .image_blk.mgb90-0 {
        margin: 16vw 0 3vw 0 !important;
    }
    .section--page_blk .page_part .mgb50 {
        margin-bottom: 6vw !important;
    }
    .section--page_blk .page_part .mgt60 {
        margin: 7vw 0 3vw 0 !important;
    }
    .section--page_blk .page_part p {
        font-size: 3.4vw;
        line-height: 6vw;
    }
    .section--page_blk .page_part .image_blk {
        margin: 11vw 0;
    }
    .section--page_blk .page_part .image_blk2 {
        margin: 2.4vw 0;
    }
    table.feature01_table  {
        width: 100%;
        border-collapse: collapse;
        text-align: left;
    }

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

    table.feature01_table thead th {
        padding: 0.667vw;
        background-color: #001227;
        color: #fff;
        text-align: center;
    }
    table.feature01_table tbody th {
        width: 25%;
    }

    table.feature01_table td {
        width: 37.5%;
    }

    table.feature01_table u {
        text-decoration: underline #D91A00;
        text-underline-offset: 0.4vw;
    }

    .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 .mov_group {
        display: flex;
        gap: 2vw;
        justify-content: space-between;
        margin: 8vw 0;
    }
    .section--page_blk .mov_group img {
        width: 30%;
        display: block;
        text-align: center;
        font-size: 3.2vw;
        margin-bottom: 0.667vw;
    }
    #page01-03 {
        margin-bottom: 5vw !important;
    }
    .page01-02 {
        margin-bottom: 5vw !important;
    }

    /** 説明感　**/
    .seminar-table {
        width: 190vw;
        border-collapse: collapse;
        font-size: 3.4vw;
        margin-bottom: 4vw;
    }
    .seminar-table.table04 {
        margin-bottom: 1.6vw;
    }
    
    .seminar-table th,
    .seminar-table td {
        border: 1px solid #707070;
        padding: 2vw 1.067vw;
        text-align: center;
    }
    
    .seminar-table .grade-header {
        background-color: #009fe3; /* ブルー */
        color: #fff;
        font-weight: bold;
        font-size: 3.667vw;
        padding: 0.533vw 0.267vw;
    }
    .seminar-table .grade-header span {
        display: block;
        font-size: 3.3vw;
    }
    
    .seminar-table .seminar-info {
        background-color: #e6f4f9;
        text-align: left;
        line-height: 1.6;
        color: #000;
    }
    .seminar-table .seminar-info div {
        margin: 2vw 1vw;
        font-size: 3.3vw;
        white-space: nowrap;
    }
    .seminar-table .seminar-info strong {
        background-color: #fff;
        color: #000;
        padding: 0.4vw 0.667vw;
        margin-right: 0.667vw;
    }
    .seminar-table .seminar-info span, .seminar-table tbody td span{
        color: #CF1819;
    }
    .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 th.date-cell {
        width: 15%;
    }
    .seminar-table th.time-cell {
        width: 15%;
    }
    .seminar-table th.title-cell {
        width: 55%;
    }
    .seminar-table th.test-cell {
        width: 15%;
    }
    .seminar-table tbody td.test-cell {
        text-align: center;
    }

/** 0508追加　**/
.seminar-table2 {
    width: 77.067vw;
    border-collapse: collapse;
    font-size: 3.4vw;
    margin-bottom: 4vw;
}
.seminar-table2.table04 {
    margin-bottom: 1.6vw;
}

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

.seminar-table2 .grade-header {
    background-color: #009fe3; /* ブルー */
    color: #fff;
    font-weight: bold;
    font-size: 3.667vw;
    padding: 0.533vw 0.267vw;
}
.seminar-table2 .grade-header span {
    display: block;
    font-size: 3.3vw;
}

.seminar-table2 .seminar-info {
    background-color: #e6f4f9;
    text-align: left;
    line-height: 1.6;
    color: #000;
}
.seminar-table2 .seminar-info div {
    margin: 2vw 1vw;
    font-size: 3.3vw;
    white-space: nowrap;
}
.seminar-table2 .seminar-info strong {
    background-color: #fff;
    color: #000;
    padding: 0.4vw 0.667vw;
    margin-right: 0.667vw;
}
.seminar-table2 .seminar-info span, .seminar-table 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 th.date-cell {
    width: 15%;
}
.seminar-table2 th.time-cell {
    width: 15%;
}
.seminar-table2 th.title-cell {
    width: 55%;
}
.seminar-table2 th.test-cell {
    width: 15%;
}
.seminar-table2 tbody td.test-cell {
    text-align: center;
}
.seminar-table2 .speaker-area {
    display: flex;
    align-items: flex-start;
  }
  
  .seminar-table2 .speaker-wrap {
    display: flex;
    align-items: flex-start;
}

.seminar-table2 .speaker-list {
    display: inline-block;
    margin-left: 1em;
}
/* スマホだけ改行 */
@media screen and (max-width: 767px) {

    .seminar-table2 .spOnly {
        display: block;
    }

}

  .speaker-list {
    margin-left: 1em;
  }



    .hero .acd_part {
        width: 100%;
        background-color: #001227;
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.6s ease;
        opacity: 0;
    }
    .acd_part .schedule_title {
        font-size: 4.5vw;
        margin-bottom: 8vw;
    }
    .acd_part .schedule_title_2 {
        font-size: 5.5vw;
        margin-bottom: 3vw;
    }
    .acd_part .schedule_subtitle_2 {
        font-size: 3.8vw;
        margin-bottom: 8vw;
    }
    .acd_part p {
        font-size: 3.4vw;
        margin-bottom: 2.667vw;
        text-align: left;
    }
    .acd_part .link_btn_block a {
        width: 77.067vw;
    }
    .acd_part .schedule_close {
        width: 70vw;
        margin: 8vw auto;
    }
    .acd_part.open {
        max-height: 3266vw;  /* 内容量に応じて調整 or 大きめにしておく */
        opacity: 1;
        padding: 10.667vw 0 2.667vw;
        margin: 5.333vw 0 0 0;
    }
    
    .kv_bottom {
        padding: 5px 0 40px 0;
    }
    .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 {
        width: 90vw;
        margin: 40px auto;
        background: #fff;
        padding: 20px;
        border-radius: 8px;
        position: relative;
        box-sizing: border-box;
        color: #000;
      }
      .modal-close {
        position: absolute;
        top: -11vw;
        right: 0;
      }
      .modal-title {
        font-size: 4,4vw;
        line-height: 1.4em;
        margin: 0.6em 0;
        font-weight: 600;

      }
      .modal-access {
        font-size: 3.6vw;
        margin: 1em 0;
        font-weight: 800;
      }
      .modal-tel {
        font-size: 3.6vw;
        margin: 1em 0;
        font-weight: 800;
        text-align: left;
    }
    
    body.modal-open {
        overflow: hidden;
    }
    .table-scroll-wrap {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
        position: relative;
        padding-top: 10vw;
      }
      
      .table-scroll-wrap::after {
        content: '→ スクロールできます';
        position: absolute;
        right: 0;
        top: 0.5rem;
        font-size: 3.2vw;
        color: #666;
        background: #fff;
        padding: 2px 20px;
        pointer-events: none;
        z-index: 1;
        white-space: nowrap;
      }
      
      .table-scroll-wrap table {
        min-width: 600px; /* 必要に応じて調整 */
      }
      

.pagetop {
    width: 16vw;
    height: 10.667vw;
    position: fixed;
    right: 2.667vw;
    bottom: 2.667vw;
    opacity: 0;
    transition: all 0.6s ease;
    z-index: 90;
}
.pagetop.scroll {
    opacity: 1;
}


.section_title_sub {
    margin-left: 10vw;
}
.subpage_title .section__header .section__title.online-lecture {
    font-size: 8.5vw;
    padding-top: 1vw;
}
.subpage_title .link_btn_block a {
    width: 100%;
    padding: 2.133vw 3vw;
}


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

.section--page_blk .feature_box2 {
    padding: 0.1vw 7.333vw 4.5vw 7.333vw;
    background-color: #001227;
    margin-bottom: 2em;
    font-size: 18px;
}

.section--page_blk .feature_box h3 {
    font-size: 4.267vw;
    margin-bottom: 1em;
}
.section--page_blk .feature_box .lecturer {
    position: relative;
    font-size: 3.2vw;
}
.section--page_blk .feature_box .lecturer .lecturer_photo {
    display: none;
}

.section--page_blk .feature_box .lecturer .lecture_txt {
    position: relative;
}
.section--page_blk .feature_box .lecturer .lecture_set {
    display: flex;
    align-items: center;
    margin-top: 1em;
}
.section--page_blk .feature_box .lecturer .lecture_set .lecturer_photo {
    display: block;
    width: 60%;
}

.section--page_blk .feature_box .lecturer .lecture_set .lecture_sub_set {
    margin-left: 2em;
}
.section--page_blk .feature_box .lecturer .lecture_txt .name {
    font-size: 120%;
}
.section--page_blk .feature_box .lecturer .lecture_txt .name .sub01 {
    font-size: 90%;
    margin-right: 0.5em;
}
.section--page_blk .feature_box .lecturer .lecture_txt .name .sub02 {
    font-size: 90%;
    margin-top: 0.5em;
    background-color: #001227;
    padding: 2px 5px 3px 5px;
    color: #fff;
    display: inline-block;
}
.section--page_blk .feature_box .video-block__embed {
    margin-top: 30px;
}


}