@charset "utf-8";

/*
Theme Name:スポ健2023
Theme URI:https://spo-ken.ac.jp/
Description:スポーツ健康医療専門学校
Version: 1.1
Author:エイジェック広報部
Author URI:https://www.agekke.co.jp/

/* --------------------------------------------------- トップページのタイトル */
.s-title {
    text-align: center;
    margin: 0 0 50px;
}

.s-title span.en,
.s-title span.ja {
    display: block;
}

.s-title span.en {
    position: relative;
    font-size: 3rem;
    line-height: 1;
}

.s-title span.em {
    font-size: 3.5rem;
    color: #1b499f;
}

.s-title span.ja {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 1.25rem;
    letter-spacing: .1em;
    margin: 25px 0 0;
}

.s-title span.ja::before,
.s-title span.ja::after {
    content: '';
    width: 50px;
    height: 2px;
    background-color: #333;
}

.s-title span.ja::before {
    margin-right: 28px;
}

.s-title span.ja::after {
    margin-left: 20px;
}

@media screen and (max-width: 767px) {
    .s-title {
        margin: 0 0 30px;
        overflow: hidden;
    }

    .s-title span.ja {
        font-size: 1rem;
        margin: 15px 0 0;
    }

    .s-title span.ja::before,
    .s-title span.ja::after {
        width: 40px;
    }

    .s-title span.ja::before {
        margin-right: 16px;
    }

    .s-title span.ja::after {
        margin-left: 8px;
    }

	.s-title span.en {
        font-size: 2rem;
    }
    .s-title span.em {
        font-size: 2.5rem;
    }
}

/*===================================
        スライダー
===================================*/
#top-slider {
    overflow: hidden;
}

.metaslider .flexslider {
    margin: 0 !important;
}

.flex-control-paging li a {
    background: rgba(245, 245, 245, .8) !important;
}

.flex-control-paging li a.flex-active {
    background: rgba(46, 152, 229, .8) !important;
}

.metaslider .flex-control-nav {
    bottom: 22px !important;
}

@media screen and (max-width: 1200px) {
    #top-slider {
        padding: 70px 0 0;
    }
}

@media screen and (max-width: 767px) {
    #top-slider {
        padding: 60px 0 0;
    }

    .slick-next {
        right: 0 !important;
    }

    .slick-prev {
        left: 0 !important;
    }
}

/*===================================
        訪問者別メニュー
===================================*/
.visitor-menu {
    background: #f5f5f5;
    padding: 60px 0;
}

.visitor-menu h2 {
    text-align: center;
    font-size: 2rem;
    letter-spacing: .1em;
    margin: 0 0 30px;
}

@media screen and (max-width: 767px) {
    .visitor-menu {
        padding: 16px 0;
    }
}

/*===================================
        スライダー・SNS・最新インフォ
===================================*/
.pickup-nav {
    /*padding: 40px 0;*/
}

.pickup-nav .center-mode {
    margin: 30px 0 0;
}

.pickup-nav .center-mode li {
    margin: 12px;
}

.pickup-nav .center-mode li img {
    border-radius: 8px;
    box-shadow: 0px 5px 13px -5px rgb(0 0 0 / 40%);
}

.pickup-nav .center-mode li img:hover {
    opacity: .8;
}

.slick-prev,
.slick-next {
    background: none !important;
}

.slick-next:before,
.slick-prev:before {
    font-size: 24px !important;
    color: #2e98e5 !important;
}

@media screen and (max-width: 1023px) {
    .pickup-nav {
        padding: 50px 0;
    }
}

@media screen and (max-width: 767px) {
    .pickup-nav {
        padding: 20px 0;
    }
    .pickup-nav .center-mode {
        margin: 20px 0 0;
    }
}

@media screen and (max-width: 1024px) {
    .pickup-midashi {
        width: 22%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 766px) {
    .pickup-midashi {
        margin-bottom: -5%;
    }
}

@media screen and (max-width: 650px) {
    .pickup-midashi {
        width: 35%;
    }
}

@media screen and (max-width: 450px) {
    .pickup-midashi {
        width: 45%;
        margin-bottom: -10%;
        margin-top: 10%;
    }
}

/*===================================
        スポ健が選ばれる５つの理由
===================================*/
.feature {
    background-image: url(img/haikei-reason.jpg);
    background-position: top;
    background-size: cover;
    position: relative;
    z-index: 0;
    color: #fff;
    text-align: center;
}

/* 新しいReasonsタイトル用：王冠をh2本体に配置 */
.feature h2.s-title {
    position: relative;
}

.feature .ratio {
    margin: 120px 0 0;
}

.feature .ratio li {
    width: 30%;
    margin: 0 5% 100px 0;
    position: relative;
}

.feature .ratio li:nth-child(3) {
    margin: 0 0 100px 0;
}

.feature .ratio li:nth-child(4) {
    /*margin: 0 5% 0 17.5%;*/
}

.feature .ratio li:nth-child(5) {
    /*margin: 0 17.5% 0 0;*/
}

.feature .ratio li .inner {
    padding: 30px 0 0;
}

.feature .ratio li .inner h3 {
    font-size: 1.25rem;
    margin: 0 0 20px;
    letter-spacing: .1em;
}

.feature .ratio li .no-img {
    position: absolute;
    top: -50px;
    left: 0;
    width: 100px;
}

/*修正250212*/
.feature .ratio li:last-child {
    margin: 0 0 100px 0;
}

@media screen and (max-width: 767px) {
    .feature h2 span:before {
        top: -47px;
        left: -40px;
        transform: scale(.6);
    }

    .feature h2 {
        font-size: 1.375rem;
        margin: 0 0 20px;
    }

    .feature h2 span {
        margin: 0;
    }

    .feature .ratio li,
    .feature .ratio li:nth-child(3),
    .feature .ratio li:nth-child(4) {
        width: 100%;
        margin: 0 0 40px 0;
    }

    .feature .ratio li .no-img {
        top: -25px;
        left: 5px;
        width: 70px;
    }

    .feature .ratio {
        margin: 80px 0 0;
    }

    .feature .ratio li .inner {
        padding: 20px 0 0;
    }

    .feature .ratio li .inner h3 {
        font-size: 1.125rem;
        margin: 0 0 15px;
    }
}

@media screen and (max-width: 320px) {
    .feature h2 {
        font-size: 1.125rem;
    }
}

/*===================================
        学校紹介
===================================*/
.introduction .s-title span.en:before {
    content: url(img/box-blue.png);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

.introduction .bg-wrap {
    background-image: linear-gradient(0deg, transparent 27px, #5ee7ff 28px), linear-gradient(90deg, transparent 27px, #5ee7ff 28px);
    background-size: 28px 28px;
    padding-bottom: 6%;
}

.introduction .courses .course-title h4:after {
    content: '';
    width: 126px;
    height: 2px;
    background: #00b3cd;
    position: absolute;
    bottom: 0;
    left: 0;
}

.introduction .courses .sub-title {
    font-size: 1.125rem;
    margin: 0 0 20px;
}

.introduction .courses .desc {
    font-weight: normal;
    line-height: 1.8em;
    letter-spacing: .1em;
}

.exam {
    margin: 50px 0 0;
}

@media screen and (max-width: 767px) {
    .exam {
        margin: 30px 0 0;
    }
}

/*===================================
        ブログ
===================================*/
.blogs {
    background: #5cc4ff;
    position: relative;
    z-index: 0;
    overflow: hidden;
}

.blogs .back-left {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    z-index: -1;
}

.blogs .back-right {
    position: absolute;
    bottom: 50%;
    right: 0;
    transform: translateY(50%);
    z-index: -1;
}

.blogs .s-title {
    color: #fff;
}

.blogs .s-title span.em {
    color: #ffff04;
}

.blogs .s-title span.ja::before,
.blogs .s-title span.ja::after {
    background: #fff;
}

.blogs .ratio li {
    width: 22%;
    margin: 0 4% 0 0;
    background: #fff;
    position: relative;
    box-shadow: 10px 10px 0 rgb(0 0 0 / 10%);
}

.blogs .ratio li:last-child {
    margin: 0;
}

.blogs .ratio li .box figure img {
    /*height: 160px;*/
    object-fit: cover;
    width: 100%;
}

.blogs .ratio li .box .inner {
    padding: 14px;
}

.blogs .ratio li .box .inner .date {
    font-size: .875rem;
    color: #1b499f;
    letter-spacing: .1em;
    margin: 0 0 6px;
}

.blogs .ratio li:nth-child(1):before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 70px;
    height: 70px;
    background-image: linear-gradient(-135deg, #ffff04 50px, transparent 0);
    z-index: 1;
}

.blogs .ratio li:nth-child(1):after {
    content: 'NEW';
    position: absolute;
    top: 13px;
    right: 6px;
    font-size: 1.0625rem;
    transform: rotate(45deg);
    z-index: 2;
}

.blogs .page-link a {
    background: #000;
    color: #fff;
}

.blogs .page-link a:hover {
    color: #004088;
    background: #ffeb4d;
}

.blogs .page-link a span:after {
    color: #fff;
}

.blogs .page-link a:hover span:after {
    color: #004088;
}

@media screen and (max-width: 767px) {
    .blogs .ratio li {
        width: 100%;
        margin: 0 0 10px 0;
    }

    .blogs .ratio li:last-child {
        margin: 0;
    }
}

/*===================================        夢を叶えた卒業⽣たち ===================================*/ #slider-wrap { overflow: hidden; } .voices { background: repeating-linear-gradient(125deg, #e0f0ff, #e0f0ff 10px, #f0f8ff 10px, #f0f8ff 20px); position: relative; z-index: 0; } #slider-wrap .slick-initialized .slick-slide { padding: 0 30px; } .voices .s-title span.en:before { content: url(img/box-blue.png); position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: -1; } #slider-wrap .name-course { background: #12a9ff; padding: 16px 10px; text-align: center; } #slider-wrap .name-course h3, #slider-wrap .name-course .post-title { display: inline-block; vertical-align: middle; } #slider-wrap .name-course h3 { background: #fff; padding: 4px 10px 3px 12px; color: #1b499f; margin-right: 12px; } #slider-wrap .name-course .post-title { font-size: 1.25rem; letter-spacing: .1em; color: #fff; } #slider-wrap .slider li { position: relative; } #slider-wrap .slider li .career { position: absolute; bottom: 100px; left: 30px; } #slider-wrap .slider li .career p { line-height: 1.5em; padding: 4px 10px; margin: 0 0 5px; font-size: 1.0625rem; } #slider-wrap .slider li .career p { background: linear-gradient(to right, #54c1ff 45%, #3c81ff 90%); color: #fff; } #slider-wrap .slider li .career p.small { font-size: .875rem; margin: 0; padding: 4px 10px 0 10px:; } #slider-wrap .slick-prev { left: 33% !important; z-index: 99; } #slider-wrap .slick-next { right: 33% !important; z-index: 99; } #slider-wrap .slick-slide { transform: scale(.8); } #slider-wrap .slick-current { transform: scale(1); } @media screen and (max-width: 767px) { #slider-wrap .slick-slide { transform: scale(1); } #slider-wrap .slick-prev { left: 2% !important; } #slider-wrap .slick-next { right: 2% !important; } }
/*===================================
        お知らせ
===================================*/

/*ここからお知らせ　リニューアル　20240515*/
.top-oshirase-new {
    background-color: #f0f7ff;
}

.top-oshirase-new .flex {
    align-items: start;
}

.top-oshirase-new .flex .flex-inner {
    padding: 3%;
    box-sizing: border-box;
    height: 360px;
}

.top-oshirase-new .flex .flex-inner h2 {
    font-size: 1.3em;
}

.top-oshirase-new .oshirase {
    background-color: #fff;
    width: 47%;
    margin-right: 5%;
}

.top-oshirase-new .oshirase h2 {
    color: #1b499f;
}

.top-oshirase-new .oshirase h3:hover {
    color: #1b499f;
}

.top-oshirase-new .oshirase ul li.category {
    background-color: #1b499f;
    color: #fff;
    font-size: 14px;
    padding: 0px 10px;
    margin-left: 10px;
}

.top-oshirase-new .top-seminar {
    background-color: #fff;
    width: 47%;
}

.top-oshirase-new .top-seminar h2 {
    color: #ff7800;
}

.top-oshirase-new .top-seminar a:hover {
    color: #ff7800;
}

.top-oshirase-new .oshirase a:hover {
    color: #1b499f;
}

.top-oshirase-new .top-seminar a {
    border-bottom: solid 1px #b1b1b1;
    padding-bottom: 15px;
    margin-bottom: 15px;
    display: block;
}

.top-oshirase-new .top-seminar a.a-btn {
    border: none;
    padding: 0;
    margin: 0;
}

.top-oshirase-new .flex .flex-inner ul {
    border-bottom: solid 1px #b1b1b1;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.top-oshirase-new .flex .flex-inner ul li.title {
    display: block;
}

/*トップページ　セミナー情報　アイキャッチ画像追加*/
.top-seminar.flex-inner .flex{
	display:flex;
}
.top-seminar.flex-inner .eyecach{
	width: 30%;
    margin-right: 3%;
}
.top-seminar.flex-inner .text{
	width:65%;
}
.top-seminar.flex-inner .text h3{
	color:#1b499f;
}

@media screen and (max-width: 768px) {
.post-wrap.post-wrap-seminar .flex{
	display:flex;
}
.post-wrap.post-wrap-seminar .flex .eyecach{
	width: 30%;
    margin-right: 3%;
}
.post-wrap.post-wrap-seminar .flex .text{
	width:65%;
}
.post-wrap.post-wrap-seminar .flex .text h3{
	color:#1b499f;
}	
	
}



/*以下スマホ表示*/
/*タブ切り替え全体のスタイル*/
.top-oshirase-new .m-block .tabs {
    margin-top: 50px;
    padding-bottom: 20px;
    background-color: #fff;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    width: 100%;
    margin: 0 auto;
}

.top-oshirase-new .m-block .tabs input:checked+.tab_item {
    background-color: #fff;
}

.top-oshirase-new .m-block .tabs input:checked+.tab_item1 {
    color: #1b499f;
}

.top-oshirase-new .m-block .tabs input:checked+.tab_item2 {
    color: #ff7800;
}

/*タブのスタイル*/
.top-oshirase-new .m-block .tab_item {
    width: calc(100%/2);
    height: 45px;
    border-bottom: 3px solid #9c9c9c;
    background-color: #e1e1e1;
    line-height: 45px;
    font-size: 14px;
    text-align: center;
    color: #aaa;
    display: block;
    float: left;
    text-align: center;
    font-weight: bold;
    transition: all 0.2s ease;
}

.top-oshirase-new .m-block .tab_item:hover {
    opacity: 0.75;
    background-color: #fff;
}

/*ラジオボタンを全て消す*/
input[name="tab_item"] {
    display: none;
}

/*タブ切り替えの中身のスタイル*/
.top-oshirase-new .m-block .tab_content {
    display: none;
    padding: 20px 20px 0;
    clear: both;
    overflow: hidden;
}

/*選択されているタブのコンテンツのみを表示*/
#all:checked~#all_content,
#programming:checked~#programming_content {
    display: block;
}

/*選択されているタブのスタイルを変える*/
.top-oshirase-new .m-block .tabs input:checked+.top-oshirase-new .m-block .tab_item {
    background-color: #5ab4bd;
    color: #fff;
}

.top-oshirase-new .m-block .tabs ul {
    border-bottom: solid 1px #b1b1b1;
    padding-bottom: 15px;
    margin-bottom: 15px;
}

.top-oshirase-new .m-block .tabs .ratio ul li {
    display: inline-block;
    vertical-align: top;
    font-size: 14px;
}

.top-oshirase-new .m-block .tabs ul li.date {
    display: inline-block;
}

.top-oshirase-new .m-block .tabs ul li.category {
    background-color: #1b499f;
    color: #fff;
    font-size: 14px;
    padding: 0px 10px;
    margin-left: 10px;
    width: auto;
    display: inline-block;
}

.top-oshirase-new .m-block .tabs ul li.title {
    display: block;
}

.top-oshirase-new .m-block .tabs ul li.title h3 {
    font-size: 14px;
}

.top-oshirase-new .m-block .tab_content .post-wrap-seminar h3 {
    border-bottom: solid 1px #b1b1b1;
    padding-bottom: 15px;
    margin-bottom: 15px;
    font-size: 14px;
}

.top-oshirase-new .m-block .tab_content .post-wrap-seminar .title_time {
	font-size: 12.5px;
}

.top-oshirase-new .m-block .tab_content .p-ichiran {
    font-size: 14px;
}

@media screen and (max-width: 640px) {
    .top-oshirase-new {
        background-color: #f0f7ff;
    }
	.top-oshirase-new .m-block .tabs ul li.date {
        font-size:13px;
}
	.top-oshirase-new .m-block .tabs ul li.category {
    font-size: 12px;
}
}
/*===================================
        SNSアイコン
===================================*/
/* .sns-icon-wrap .sent {
    font-size: .875rem;
    letter-spacing: .1em;
    font-weight: normal;
    text-align: center;
    margin: 0 0 20px;
}

.sns-icon-wrap nav {
    text-align: center;
}

.sns-icon-wrap .ratio {
    display: inline-block;
    margin: 0 auto;
}

.sns-icon-wrap .ratio li {
    width: 19%;
    padding: 0 10px;
    display: inline-block !important;
}

@media screen and (max-width: 767px) {
    .sns-icon-wrap .ratio {
        width: 85%;
    }
} */

/*===================================
       メインイメージ下部のメニュー
===================================*/
.main-under-menu {
    box-shadow: 0 0 6px 6px rgba(0, 0, 0, 0.08);
}

.main-under-menu ul {
    display: flex;
    flex-wrap: wrap;
    max-width: 1500px;
    padding: 0 30px;
    margin: 0 auto;
}

.main-under-menu ul li {
    width: 33%;
}

.main-under-menu ul li:first-child {
    border-left: 1px solid #CCC;
}

.main-under-menu ul li a {
    display: block;
    padding: 2% 3%;
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 0.1em;
    border-right: 1px solid #CCC;
    line-height: 1.2em;
    height: 70px;
    display: flex;
    align-items: center;
    position: relative;
    transition: .5s;
}

.main-under-menu ul li a.btn_13::before {
    content: '';
    position: absolute;
    top: calc(50% - 2px);
    right: 1em;
    transform: translateY(calc(-50% - 2px)) rotate(45deg);
    width: 10px;
    height: 1px;
    background: #27acd9;
}

.main-under-menu ul li a.btn_13::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 1em;
    transform: translateY(-50%);
    width: 50px;
    height: 1px;
    background-color: #27acd9;
}


.main-under-menu ul li.ju a {
    background-color: #ecfdff;
    color: #00b3cd;
    /*border-left: solid 3px #00b3cd;*/
    /*border-bottom: solid;*/
    border-top: solid 5px;
}

.main-under-menu ul li.ju a:hover {
    background-color: #00b3cd;
    color: #fff;
    border-top: solid 6px #00b3cd;
}

.main-under-menu ul li.ju a.btn_13:hover::before {
    background: #fff;
}

.main-under-menu ul li.ju a.btn_13:hover::after {
    background: #fff;
    height: 1.5px;
}

.main-under-menu ul li.shi a {
    background-color: #fff1f5;
    color: #eb6d8e;
    /*border-left: solid 3px #eb6d8e;*/
    /*border-bottom: solid;*/
    border-top: solid 6px;
}

.main-under-menu ul li.shi a.btn_13::before {
    background: #eb6d8e;
}

.main-under-menu ul li.shi a.btn_13::after {
    background: #eb6d8e;
}

.main-under-menu ul li.shi a:hover {
    background-color: #eb6d8e;
    color: #fff;
    border-top: solid 5px #eb6d8e;
}

.main-under-menu ul li.shi a.btn_13:hover::before {
    background: #fff;
}

.main-under-menu ul li.shi a.btn_13:hover::after {
    background: #fff;
    height: 1.5px;
}

.main-under-menu ul li.at a {
    background-color: #ffe2e0;
    color: #d02d22;
    /*border-left: solid 3px #d02d22;*/
    /*border-bottom: solid;*/
    border-top: solid 6px;
	letter-spacing:0;
	font-size: 17px;
}

.main-under-menu ul li.at a span {
    font-size: 12px;
}

.main-under-menu ul li.at a.btn_13::before {
    background: #d02d22;
}

.main-under-menu ul li.at a.btn_13::after {
    background: #d02d22;
}

.main-under-menu ul li.at a:hover {
    background-color: #d02d22;
    color: #fff;
    border-top: solid 5px #d02d22;
}

.main-under-menu ul li.at a.btn_13:hover::before {
    background: #fff;
}

.main-under-menu ul li.at a.btn_13:hover::after {
    background: #fff;
    height: 1.5px;
}

@media screen and (max-width: 900px) {
    .main-under-menu ul li a {
        font-size: 18px;
    }
}

@media screen and (max-width: 850px) {
    .main-under-menu ul {
        padding: 0;
    }
}

@media screen and (max-width: 750px) {
    .main-under-menu ul li {
        width : calc(100% / 3) ;
        border-bottom: 1px solid #CCC;
    }

    /*
.main-under-menu ul li.at{
	display: block;
    width: 100%;
}*/
    .main-under-menu {
        box-shadow: none;
    }

    .main-under-menu ul li.at a.btn_13::after {
        top: 50%;
    }

    .main-under-menu ul li.at a.btn_13::before {
        top: calc(50% - 2px);
    }

    .main-under-menu ul li.at a {
        display: grid;
        height: 70px;
        padding-bottom: 5px;
		line-height: 16px;
        font-size: 12px;
		padding-top: 8px;
    }

    .main-under-menu ul li.at a span {
        display: block;
        font-size: 10px;
        margin-top: -8px;
    }
	.main-under-menu ul li a.btn_13::before{
		display:none
    }
	.main-under-menu ul li a.btn_13::after{
		display:none
    }
	 .main-under-menu ul li a {
		line-height: 62px;
    }
    .main-under-menu ul li a {
		display: block; 
        text-align: center;
        line-height: 55px;
	}
}

/* 入学案内だけ下余白を消す */
.admission .interval-bottom {
    padding-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
    .admission.interval-bottom {
        padding: 0 !important;
    }
}

/*===================================
        バナー
===================================*/
.banner-wrap {
    padding: 0 0 50px;
}

.banner-wrap .wrap {
    max-width: 1020px;
}

.banner-wrap .ratio li {
    width: 45%;
    margin-right: 2%;
}

.banner-wrap .ratio li:last-child {
    margin-right: 0;
}

.banner-wrap .ratio li img:hover {
    opacity: .8;
}

.top-baner-new ul li {
    display: inline-block;
    width: 22%;
    margin-right: 3%;
}

.top-baner-new ul li:last-child {
    margin-right: 0%;
}

.top-baner-new ul li img {
    border-radius: 8px;
    box-shadow: 0px 5px 13px -5px rgb(0 0 0 / 40%);
}

@media screen and (max-width: 750px) {
    .top-baner-new ul li {
        width: 44%;
        margin-bottom: 5%;
    }

    .pickup-midashi {
        width: 45%;
        margin-bottom: 5%;
    }

    /*.top-baner-new ul li:last-child{
    display: list-item;
    margin-right: 0;
    margin-left: 3%;
}*/
}






@media screen and (max-width: 1020px) {
    .banner-wrap .wrap {
        max-width: 90%;
    }
}

@media screen and (max-width: 767px) {
    .banner-wrap {
        padding: 20px 0;
    }

    .banner-wrap .ratio li {
        width: 100%;
        margin: 0 0 20px;
    }

    .banner-wrap .ratio li:last-child {
        margin: 0;
    }
}

/*===================================
        学校紹介
===================================*/
.exam {
    margin: 80px 0 0;
    margin-top: 0;
}

.course_flex {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    font-size: .5rem;
}

.course_flex a {
    width: 31%;
    background-color: #fff;
    position: relative;
}

.course_flex a:nth-child(1) {
    border-bottom: 20px solid #00b3cd;
}

.course_flex a:nth-child(2) {
    border-bottom: 20px solid #eb6d8e;
}

.course_flex a:nth-child(3) {
    border-bottom: 20px solid #D02D22;
}

.course_flex h4 {
    font-size: 30px;
    letter-spacing: .1em;
    position: relative;
}

.course_flex h4:before {
    content: "";
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    right: -25px;
    top: -50px;
    width: 110px;
    height: 110px;
}

.introduction .courses .course-title h4:after {
    display: none;
}

.introduction .courses .sub-title {
    font-size: 14px;
    position: relative;
}

.introduction .courses .sub-title:before {
    content: "";
    position: absolute;
    background-size: contain;
    background-repeat: no-repeat;
    right: -40px;
    top: -35px;
    width: 90px;
    height: 90px;
}



.course_flex .course-title {
    padding: 0 0 16px;
}

.course1 .course-title {
    color: #00b3cd;
}

.course2 .course-title {
    color: #eb6d8e;
}

.course3 .course-title {
    color: #D02D22;
}

.course3 h4 {
    font-size: 25px;
    letter-spacing: 0em;
    line-height: 1.2;
    padding-bottom: 6px;
}

.course_flex .text-box {
    padding: 20px 30px;
}


.course_flex .desc {
    font-size: 14px;
    line-height: 1.4 !important;
    margin-bottom: 65px;
}

.course_flex li {
    width: 100%;
}

.course_flex .img-box {
    overflow: hidden;
}

.course_flex img {
    width: 100%;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
}

.mob {
    display: none;
}

.course_flex a:hover li.img-box img {
    transform: scale(1.05);
}

@media screen and (max-width: 1200px) {
    .course_flex .text-box {
        padding: 20px 10px;
    }

    .course_flex h4:before {
        right: 0px;
        top: -50px;
        width: 80px;
        height: 80px;
    }

    .introduction .courses .sub-title:before {
        right: -25px;
        top: -60px;
        width: 65px;
        height: 65px;
    }

    .course_flex a {
        width: 32%;
    }

    .course_flex h4 {
        font-size: 26px;
        letter-spacing: 0em;
    }

    .course3 h4 {
        font-size: 23px;
    }

    .introduction .courses .sub-title {
        font-size: 12px;
    }
}

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

    .mob {
        display: block;
    }

    .course_flex h4:before {
        top: -90px;
    }

    .introduction .courses .sub-title:before {
        top: -95px;
        width: 65px;
        height: 65px;
    }
}

@media screen and (max-width: 780px) {
    .course_flex a {
        width: 100%;
    }

    .course_flex a:last-child {
        margin-bottom: 0px;
    }

    .course_flex h4:before {
        right: -15px;
        top: -60px;
        width: 100px;
        height: 100px;
    }

    .introduction .courses .sub-title:before {
        right: -35px;
        top: -50px;
        width: 80px;
        height: 80px;
    }

    .course_flex .text-box {
        padding: 20px 30px;
    }

    .mob {
        display: none;
    }
}


.slide_pc {
    display: block;
}

.slide_sp {
    display: none;
}

@media screen and (max-width: 780px) {
    .slide_pc {
        display: none;
    }

    .slide_sp {
        display: block;
    }

    .feature .ratio li {
        margin: 0 !important;
    }

    .feature .slick-list {
        overflow: unset;
    }

    .feature .slider li {
        margin-top: 30px;
    }
}

/*-------------PICK UP　下のバナー　-----------------*/
.pickup__upper img {
    border-radius: 8px;
    box-shadow: 0px 5px 13px -5px rgb(0 0 0 / 40%);
	width: 97%;
    margin: 0 auto;
}
.pickup__upper img:hover {
    opacity: .8;
}

.slick-slide img {
    width: 100%;
}

@media screen and (max-width: 640px) {
    .pickup__upper img {
        width: 91%;
    }
}

/*トップページ　Instagram*/
.insta_feed #sbi_load{
	margin:5% 0;
}
@media screen and (max-width: 640px) {
	.insta_feed{
		margin-top:7%;
	}
    .insta_feed .wrap{
        width: 80%;
        margin: 0 auto;	
    }
	.insta_feed h2{
		padding-bottom:4px;
        margin-bottom: 3%;
	}
	.insta_feed #sbi_load {
       margin-bottom: 7%;
   }
}
/* ======================================================
   オープンキャンパスカード 共通CSS
   トップページ・OCページ共通
====================================================== */

/* カード一覧 */
.opencampas .op-content .ratio {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: flex-start;
}

/* PC：2列 */
.opencampas .op-content .ratio li {
    width: calc(50% - 15px);
    min-width: 0;
    margin: 0;
    text-align: center;
    border-radius: 24px;
    overflow: hidden;
    display: block;
}

/* カード本体 */
.opencampas .op-content .ratio li article.box {
    width: 100%;
    min-height: 550px;
    height: auto !important;
    display: flex;
    flex-direction: column;
    border: 3px solid #1147b5;
    border-radius: 24px !important;
    overflow: hidden !important;
    background: #fff;
    box-shadow: 0 4px 12px rgba(0,0,0,.08);
}

/* 開催日ラベル */
.opencampas .op-content .ratio li span.ctgr,
.ctgr {
    display: block;
    background: #1147b5;
    color: #fff;
    width: 110px;
    text-align: center;
    font-weight: 700;
    padding: 10px 0;
    font-size: 14px;
    clip-path: polygon(0 0,100% 0,80% 100%,0 100%);
}

/* 日付エリア */
.oc-date-area {
    text-align: center;
    padding: 30px 20px;
}

.oc-date-area .date,
.opencampas .op-content .ratio li .box .date,
.opencampas .op-content .ratio li:nth-child(1) .box .date {
    font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial',
    'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic',
    'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';
    font-size: 5rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.06em;
    color: #000;
}

.oc-date-area .week,
.opencampas .op-content .ratio li .box .week,
.opencampas .op-content .ratio li:nth-child(1) .box .week {
    font-family: 'Avenir', 'Helvetica Neue', 'Helvetica', 'Arial',
    'Hiragino Sans', 'ヒラギノ角ゴシック', YuGothic, 'Yu Gothic',
    'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';
    color: #ff2d75;
    font-size: 2rem;
    font-weight: 700;
    letter-spacing: .1em;
}

/* 時間エリア */
.oc-time-area {
    border-top: 1px dashed #ddd;
    border-bottom: 1px dashed #ddd;
    padding: 20px;
}

.oc-time-row {
    display: flex;
    align-items: center;
    gap: 15px;
    margin-bottom: 12px;
}

.oc-time-row:last-child {
    margin-bottom: 0;
}

.opencampas .op-content .ratio li .box .time,
.opencampas .op-content .ratio li:nth-child(1) .box .time {
    font-size: 1.5rem;
    letter-spacing: 0;
    font-weight: bold;
    color: #000;
    line-height: 1.5;
}

/* ラベル色 */
.label.am {
    color: #1147b5;
}

.label.pm {
    color: #ff2d75;
}

.label.eve {
    color: #ff9800;
}

.opencampas .op-content .ratio li .label.at {
    color: #d02d22 !important;
}

/* ボタンエリア */
.opencampas .op-content .ratio li .op_wrap {
    margin-top: auto;
}

.op_cta {
    display: block !important;
    padding: 20px;
}

.op_check {
    display: block;
    width: 100%;
    border: 2px solid #1147b5;
    border-radius: 10px;
    text-align: center;
    padding: 14px;
    color: #1147b5;
    margin-bottom: 12px;
    font-weight: 700;
    cursor: pointer;
}

.op_button {
    width: 100%;
}

.op_button a {
    display: block;
    background: #ff2d75;
    color: #fff !important;
    text-align: center;
    padding: 16px;
    border-radius: 10px;
    font-weight: 700;
}

/* 詳細エリア */
.op_content {
    display: none;
    padding: 15px 3% 30px;
}

.op_content.active {
    display: block;
}

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

.op_content .op_flex div {
    width: 47%;
    text-align: left;
}

.op_course_ttl {
    font-size: 1.5rem;
    letter-spacing: .1em;
    padding: 0 0 5px;
    color: #00b3cd;
    border-bottom: solid 2px #00b3cd;
}

.op_course2 .op_course_ttl {
    color: #eb6d8e;
    border-bottom: solid 2px #eb6d8e;
}

.op_course_hl {
    font-size: 1.1rem;
    margin: 10px 0;
}

.op_course_txt {
    font-weight: normal;
}

/* course-type：ATコース欄 */
.opencampas .op-content .ratio li .op_course3 .op_course_ttl {
    color: #d02d22 !important;
    border-bottom-color: #d02d22 !important;
}

.opencampas .op-content .ratio li .op_course3 .op_course_hl {
    color: #d02d22 !important;
}

/* PCのみ：ATコースを下段中央配置 */
@media screen and (min-width: 768px) {
    .opencampas .op-content .ratio li .course-layout {
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .opencampas .op-content .ratio li .course-layout .op_course1,
    .opencampas .op-content .ratio li .course-layout .op_course2 {
        width: 47%;
    }

    .opencampas .op-content .ratio li .course-layout .op_course3 {
        width: 100% !important;
        margin: 28px auto 0;
        text-align: left;
    }

    .opencampas .op-content .ratio li .course-layout .op_course3 .op_course_ttl {
        display: inline-block;
        min-width: 320px;
        text-align: left;
    }

    .opencampas .op-content .ratio li .course-layout .op_course3 .op_course_hl,
    .opencampas .op-content .ratio li .course-layout .op_course3 .op_course_txt {
        max-width: 760px;
        margin-left: auto;
        margin-right: auto;
        text-align: left;
    }
}

/* NEXTリボンのズレ防止 */
.opencampas .op-content .ratio li:nth-child(1):before,
.opencampas .op-content .ratio li:nth-child(1):after {
    transition: none;
}

.opencampas .op-content .ratio li:nth-child(1):hover:before {
    top: 0;
    right: 0;
}

.opencampas .op-content .ratio li:nth-child(1):hover:after {
    top: 16px;
    right: 4px;
}

/* スマホ：2列表示 */
@media screen and (max-width: 767px) {
    .opencampas .op-content .ratio {
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
    }

    .opencampas .op-content .ratio li {
        width: calc(50% - 7px);
        min-width: 0;
        margin: 0;
    }

    .opencampas .op-content .ratio li article.box {
        min-height: 340px !important;
        height: auto !important;
        display: flex;
        flex-direction: column;
        border-radius: 16px !important;
    }

    .opencampas .op-content .ratio li .op_wrap {
        margin-top: auto;
    }

    .oc-date-area {
        padding: 7px;
		margin-top: 15px;
    }

    .oc-date-area .date,
    .opencampas .op-content .ratio li .box .date,
    .opencampas .op-content .ratio li:nth-child(1) .box .date {
        font-size: 2.6rem;
    }

    .oc-date-area .week,
    .opencampas .op-content .ratio li .box .week,
    .opencampas .op-content .ratio li:nth-child(1) .box .week {
        font-size: .8rem;
    }

    .oc-time-area {
        padding: 12px 8px;
    }

    .oc-time-row {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 3px;
        margin-bottom: 8px;
        text-align: center;
        flex-wrap: nowrap;
    }

    .oc-time-row .label {
        display: inline-flex;
        align-items: center;
        font-size: 0.68rem !important;
        line-height: 1.2 !important;
        margin-bottom: 0;
        white-space: nowrap;
    }

    .oc-time-row i {
        margin-right: 2px;
    }

    .opencampas .op-content .ratio li .box .time,
    .opencampas .op-content .ratio li:nth-child(1) .box .time {
        display: inline-block;
        font-size: 0.68rem !important;
        line-height: 1.2 !important;
        white-space: nowrap;
        margin-left: 4px;
    }

    .op_cta {
        padding: 12px 8px;
    }

    .op_check,
    .op_button a {
        font-size: 0.8rem;
        padding: 5px;
        border-radius: 8px;
        margin-bottom: 5px;
    }

    .ctgr,
    .opencampas .op-content .ratio li span.ctgr {
        width: 90px;
        font-size: 12px;
        padding: 6px 0;
    }

    .op_content {
        padding: 10px 3% 0;
    }

    .op_content .op_flex div {
        width: 100%;
        margin: 0 0 20px;
    }

    .op_course_ttl {
        font-size: 1.3rem;
    }

    .op_course_hl {
        font-size: 1rem;
        margin: 7px 0;
    }

    .op_course_txt {
        font-size: .78rem;
    }
}

/* トップページ：OCカード高さをそろえる */
.admissions .opencampas .op-content .ratio {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: flex-start;
}

.admissions .opencampas .op-content .ratio li {
    width: calc(50% - 15px);
    margin: 0;
    display: block;
}

.admissions .opencampas .op-content .ratio li article.box {
    width: 100%;
    min-height: 220px !important;
    height: auto !important;
    display: flex;
    flex-direction: column;
}

.admissions .opencampas .op-content .ratio li .op_wrap {
    margin-top: auto;
}
/* トップページ：スマホOCカード高さ */
@media screen and (max-width: 767px) {

    .admissions .opencampas .op-content .ratio li article.box {
        min-height: 220px !important;
        height: auto !important;
        display: flex;
        flex-direction: column;
    }

    .admissions .opencampas .op-content .ratio li .op_wrap {
        margin-top: auto;
    }
}
/* ======================================================
   トップOCカード：NEXT表示＋スマホ枠欠け対策
====================================================== */

/* カード幅をborder込みで計算 */
.admissions .opencampas .op-content .ratio,
.admissions .opencampas .op-content .ratio li,
.admissions .opencampas .op-content .ratio li article.box {
    box-sizing: border-box;
}

/* NEXTリボンを表示するための基準 */
.admissions .opencampas .op-content .ratio li {
    position: relative;
    overflow: visible;
}

/* 1枚目だけNEXT三角リボン */
.admissions .opencampas .op-content .ratio li:nth-child(1)::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 80px;
    height: 80px;
    background-image: linear-gradient(-135deg, #ff1e60 57px, transparent 0);
    z-index: 5;
    border-radius: 0 24px 0 0;
    pointer-events: none;
}

/* NEXT文字 */
.admissions .opencampas .op-content .ratio li:nth-child(1)::after {
    content: 'NEXT';
    position: absolute;
    top: 16px;
    right: 4px;
    transform: rotate(45deg);
    z-index: 6;
    color: #fff;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: .05em;
    pointer-events: none;
}

/* hoverしてもズレない */
.admissions .opencampas .op-content .ratio li:nth-child(1):hover::before {
    top: 0;
    right: 0;
}

.admissions .opencampas .op-content .ratio li:nth-child(1):hover::after {
    top: 16px;
    right: 4px;
}

/* スマホ：枠欠け防止 */
@media screen and (max-width: 767px) {
    .admissions .opencampas .op-content .ratio {
        gap: 14px !important;
        padding: 0 2px;
    }

    .admissions .opencampas .op-content .ratio li {
        width: calc(50% - 7px) !important;
        min-width: 0;
        overflow: visible;
    }

    .admissions .opencampas .op-content .ratio li article.box {
        width: 100%;
        box-sizing: border-box;
        border-radius: 16px !important;
        overflow: hidden !important;
    }

    .admissions .opencampas .op-content .ratio li:nth-child(1)::before {
        width: 58px;
        height: 58px;
        background-image: linear-gradient(-135deg, #ff1e60 41px, transparent 0);
        border-radius: 0 16px 0 0;
    }

    .admissions .opencampas .op-content .ratio li:nth-child(1)::after {
        top: 10px;
        right: 2px;
        font-size: 0.65rem;
    }

    .admissions .opencampas .op-content .ratio li:nth-child(1):hover::after {
        top: 10px;
        right: 2px;
    }
}
/* ======================================================
   スマホ：OCカード詳細を中央ポップアップ表示
====================================================== */

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

    body.oc-modal-open {
        overflow: hidden;
    }

    .oc-card-modal-overlay {
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.55);
        z-index: 999998;
        opacity: 0;
        transition: opacity .25s ease;
    }

    .oc-card-modal-overlay.is-show {
        opacity: 1;
    }

    .oc-card-modal {
        position: fixed;
        top: 50%;
        left: 50%;
        width: 92vw;
        max-width: 420px;
        max-height: 86vh;
        overflow-y: auto;
        transform: translate(-50%, -46%) scale(.96);
        z-index: 999999;
        opacity: 0;
        transition: opacity .25s ease, transform .25s ease;
    }

    .oc-card-modal.is-show {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }

    .oc-card-modal-close {
        position: fixed;
        top: 8px;
        right: 8px;
        width: 36px;
        height: 36px;
        border: none;
        border-radius: 50%;
        background: #fff;
        color: #333;
        font-size: 30px;
        line-height: 1;
        z-index: 1000000;
        box-shadow: 0 3px 10px rgba(0,0,0,.25);
        cursor: pointer;
    }

    .oc-card-modal article.box {
        width: 100% !important;
        min-height: auto !important;
        height: auto !important;
        background: #fff;
        border: 3px solid #1147b5;
        border-radius: 18px !important;
        overflow: hidden !important;
        box-shadow: 0 10px 40px rgba(0,0,0,.35);
    }

    .oc-card-modal .op_wrap {
        margin-top: 0 !important;
    }

    .oc-card-modal .op_cta {
        padding: 12px 14px;
    }

    .oc-card-modal .op_button {
        width: 100%;
    }

    .oc-card-modal .op_content {
        display: block !important;
        padding: 14px 16px 24px !important;
    }

    .oc-card-modal .op_flex {
        display: block !important;
    }

    .oc-card-modal .op_content .op_flex div {
        width: 100% !important;
        margin-bottom: 18px !important;
    }

    .oc-card-modal .op_course_ttl {
        font-size: 1.2rem;
    }

    .oc-card-modal .op_course_hl {
        font-size: 1rem;
    }

    .oc-card-modal .op_course_txt {
        font-size: .85rem;
        line-height: 1.7;
    }

    .oc-card-modal .oc-date-area {
        padding: 18px 10px 12px;
    }

    .oc-card-modal .oc-date-area .date {
        font-size: 2.8rem;
    }

    .oc-card-modal .oc-date-area .week {
        font-size: 1.2rem;
    }
    .oc-card-modal .ctgr,
    .oc-card-modal span.ctgr {
        width: 120px !important;
        padding: 8px 30px !important;
        font-size: 13px !important;
    }
}
/* PC：午前の部・午後の部・夕方の部の時間行を中央寄せ */
@media screen and (min-width: 768px) {

    .opencampas .op-content .ratio li article.box .oc-time-row {
        justify-content: center;
        text-align: center;
    }

    .opencampas .op-content .ratio li article.box .oc-time-row .label,
    .opencampas .op-content .ratio li article.box .oc-time-row .time {
        text-align: center;
    }

}
/* course-type のATコース色 */
.opencampas .op-content .ratio li .label.at {
    color: #d02d22 !important;
}
/* course-type：ATコース欄を赤にする */
.opencampas .op-content .ratio li .op_course3 .op_course_ttl {
    color: #d02d22 !important;
    border-bottom-color: #d02d22 !important;
}
/* 中央表示カード：ATコース色 */
.oc-card-modal .label.at {
    color: #d02d22 !important;
}

.oc-card-modal .op_course3 .op_course_ttl {
    color: #d02d22 !important;
    border-bottom-color: #d02d22 !important;
}
/* スマホ：OCカード内の時間行を左寄せ */
@media screen and (max-width: 767px) {

    .oc-time-row {
        text-align: left;
    }

    .oc-time-row .label {
        text-align: left;
    }

    .opencampas .op-content .ratio li .box .time {
        text-align: left;
    }
    .opencampas .op-content .ratio li .op_wrap {
        margin-top: 6px;
    }

    .op_cta {
        padding-top: 4px;
    }

}
/* ミニ説明会：午前の部・午後の部・夕方の部ラベルを非表示 */
.opencampas .op-content .ratio li article.cate-miniop .oc-time-row .label,
.oc-card-modal article.cate-miniop .oc-time-row .label {
    display: none;
}
/* ミニ説明会：時間だけ中央表示 */
.opencampas .op-content .ratio li article.cate-miniop .oc-time-row,
.oc-card-modal article.cate-miniop .oc-time-row {
    justify-content: center;
    text-align: center;
}

.opencampas .op-content .ratio li article.cate-miniop .oc-time-row .time,
.oc-card-modal article.cate-miniop .oc-time-row .time {
    margin-left: 0;
    text-align: center;
}
/* ======================================================
   iPhone対策：OC日程カードの右寄り・横ズレ補正
====================================================== */
/* スマホ：OC日程カードの左右余白・2列幅調整 */
@media screen and (max-width: 767px) {

    .opencampas .op-content .ratio {
        width: 100%;
        margin: 10px auto 0;
        padding: 0 12px;
        display: flex;
        flex-wrap: wrap;
        gap: 14px;
        justify-content: center;
        box-sizing: border-box;
    }

    .opencampas .op-content .ratio li {
        width: calc((100% - 14px) / 2);
        min-width: 0;
        margin: 0;
        box-sizing: border-box;
    }

    .opencampas .op-content .ratio li article.box {
        width: 100%;
        box-sizing: border-box;
    }
}
/* スマホ：OCカードの時間ラベル横の時計アイコンを非表示 */
@media screen and (max-width: 767px) {

    .opencampas .oc-time-row .label i {
        display: none;
    }

    .oc-card-modal .oc-time-row .label i {
        display: none;
    }

}

/* ======================================================
   スマホ中央表示カード：時間表示の見栄え調整
====================================================== */
@media screen and (max-width: 767px) {

    .oc-card-modal .oc-time-area {
        padding: 16px 22px;
    }

    .oc-card-modal .oc-time-row {
        display: grid;
        grid-template-columns: 90px 1fr;
        align-items: center;
        gap: 10px;
        margin-bottom: 10px;
        text-align: left;
    }

    .oc-card-modal .oc-time-row:last-child {
        margin-bottom: 0;
    }

    .oc-card-modal .oc-time-row .label {
        display: block;
        font-size: 0.9rem !important;
        line-height: 1.4 !important;
        text-align: left !important;
        white-space: nowrap;
        font-weight: 700;
    }

    .oc-card-modal .oc-time-row .time,
    .oc-card-modal .op-content .ratio li .box .time {
        display: block;
        font-size: 0.95rem !important;
        line-height: 1.4 !important;
        text-align: left !important;
        white-space: nowrap;
        margin-left: 0 !important;
        font-weight: 700;
    }

    .oc-card-modal .oc-time-row .label i {
        display: none;
    }

}
/* スマホ：詳細を見る・参加申し込みボタン自体を小さくする */
@media screen and (max-width: 767px) {


    .opencampas .op_check {
        width: 82%;
        margin: 0 auto 8px;
        padding: 3px 2px;
        font-size: 0.7rem;
        line-height: 1.5;
        border-radius: 7px;
    }

    .opencampas .op_button {
        width: 82%;
        margin: 0 auto;
    }

    .opencampas .op_button a {
        padding: 4px 2px;
        font-size: 0.7rem;
        line-height: 1.5;
        border-radius: 7px;
    }

}
/* トップページ：スマホ中央ポップアップ時、ミニ説明会の時間を中央揃え */
@media screen and (max-width: 767px) {

    .admissions .oc-card-modal article.cate-miniop .oc-time-row,
    .oc-card-modal article.cate-miniop .oc-time-row {
        display: flex;
        justify-content: center;
        text-align: center;
        grid-template-columns: none;
    }

    .admissions .oc-card-modal article.cate-miniop .oc-time-row .time,
    .oc-card-modal article.cate-miniop .oc-time-row .time {
        display: block;
        width: 100%;
        margin-left: 0;
        text-align: center !important;
    }
}
/* トップページ：イベント情報／オープンキャンパス背景色 */
.admissions .bg-wrap {
  background: #f0f7ff;
}
/* スマホ：トップページ 学科紹介の画像を非表示 */
@media screen and (max-width: 767px) {
  #top-gakka .course_flex .img-box {
    display: none;
  }

  #top-gakka .course_flex .text-box {
    width: 100%;
  }

  #top-gakka .course_flex ul,
  #top-gakka .course_flex ul.reverse {
    display: block;
  }
}
/* トップページ：お知らせセクション背景 */
.top-news-section {
  background: #f0f7ff;
}
.introduction,
.opencampas {
padding: 100px 0 0;
}
@media screen and (max-width: 767px) {
.introduction,
.opencampas {
padding: 30px 0 0;
}
}
/* ============================
   訪問者メニュー
   入学案内と同じカード型
============================ */
.visitor-menu {
    padding: 100px 0;
    background: #fff;
}

.visitor-menu-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
    align-items: stretch;
}

.visitor-menu-list li {
    margin: 0;
    padding: 0;
    height: 100%;
}

.visitor-menu-list a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 130px;
    height: 100%;
    padding: 24px 16px;
    background: #fff;
    border: 1px solid #dfe8f3;
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(0, 64, 136, .08);
    color: #004088;
    text-decoration: none;
    box-sizing: border-box;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.visitor-menu-list a:hover {
    transform: translateY(-4px);
    border-color: #004088;
    box-shadow: 0 12px 26px rgba(0, 64, 136, .16);
    opacity: 1;
}

/* 現在使用：アイコン */
.visitor-menu-list .visitor-icon {
    width: 54px;
    height: 54px;
    margin: 0 0 12px;
    border-radius: 50%;
    background: #eef6ff;
    color: #004088;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.45rem;
    flex: 0 0 auto;
}

.visitor-menu-list .visitor-icon i {
    line-height: 1;
}

.visitor-menu-list p {
    margin: 0;
    min-height: auto;
    color: #004088;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
    display: block;
}

/* タブレット */
@media screen and (max-width: 1024px) {
    .visitor-menu-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* スマホ */
@media screen and (max-width: 767px) {
    .visitor-menu {
        padding: 30px 0;
    }

    .visitor-menu-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }

    .visitor-menu-list a {
        min-height: 112px;
        padding: 18px 10px;
        border-radius: 12px;
    }

    .visitor-menu-list .visitor-icon {
        width: 44px;
        height: 44px;
        margin-bottom: 10px;
        font-size: 1.15rem;
    }

    .visitor-menu-list p {
        font-size: .95rem;
        line-height: 1.35;
    }
}
/* ============================
   LINE相談バナー
============================ */
.line-consult-section {
  background: #fff;
  padding: 50px 0;
  text-align: center;
}

.line-consult-bnr {
  display: block;
  width: min(600px, 100%);
  margin: 0 auto;
  text-decoration: none;
  transition: transform .2s ease, opacity .2s ease;
}

.line-consult-bnr:hover {
  transform: translateY(-3px);
  opacity: .9;
}

.line-consult-icon {
  width: 100%;
}

.line-consult-icon img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 14px;
  box-shadow: 0 8px 22px rgba(0, 0, 0, .12);
}
/* PC：LINE相談バナーセクションを非表示 */
@media screen and (min-width: 768px) {
  .line-consult-section {
    display: none;
  }
}
/* スマホ */
@media screen and (max-width: 767px) {
  .line-consult-section {
    padding: 38px 0;
  }

  .line-consult-bnr {
    width: 100%;
  }

  .line-consult-icon img {
    border-radius: 10px;
  }
    .page-link a {
        max-width: 200px;
        padding: 14px 10px;
    }
}

/* ============================
   追加タイトル共通
   ※ Blog / Instagram / 卒業生紹介には s-title-wide を付けない
============================ */

/* 横スクロール防止 */
html,
body {
    overflow-x: clip;
}

@supports not (overflow-x: clip) {
    html,
    body {
        overflow-x: hidden;
    }
}

/* 追加タイトル本体 */
.s-title-wide {
    position: relative;
    text-align: center;
    z-index: 2;
    margin: 60px 0 45px;
    overflow: visible;
}

/* 英字 */
.s-title-wide span.en {
    position: relative;
    display: inline-block;
    z-index: 1;
    margin-bottom: 10px;
    isolation: isolate;
}

/* 青背景 box-blue */
.s-title-wide span.en::before {
    content: url(img/box-blue.png);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    pointer-events: none;
}

/* 日本語 */
.s-title-wide span.ja {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

/* 日本語横線 */
.s-title-wide span.ja::before,
.s-title-wide span.ja::after {
    content: "";
    width: 50px;
    height: 2px;
    background-color: #333;
    display: block;
}

/* ============================
   イベント・お知らせ
   タイトル部分だけ白背景
============================ */

.opencampas > .s-title-wide,
.top-news-title-wrap .s-title-wide {
    background: #fff;
    margin-bottom: 35px;
}

/* ============================
   Reasons専用
   タイトル下から背景画像開始
============================ */

/* feature全体はいったん白背景 */
.feature {
    background: #fff !important;
    background-image: none !important;
    position: relative;
    z-index: 0;
    text-align: center;
    overflow: hidden;

    /* 背景画像の開始位置 */
    --reason-bg-start: 230px;
}

/* タイトル下から青背景画像 */
.feature::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: var(--reason-bg-start);
    bottom: 0;
    background-image: url(img/haikei-reason.jpg);
    background-position: top center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 0;
    pointer-events: none;
}

/* feature内の中身を前面へ */
.feature .wrap {
    position: relative;
    z-index: 1;
}

/* Reasonsタイトル */
.feature .s-title-reasons {
    position: relative;
    z-index: 2;
    color: #333 !important;
    margin-bottom: 60px;
}

/* Reasons英字・日本語 */
.feature .s-title-reasons span.en,
.feature .s-title-reasons span.ja {
    color: #333 !important;
}

/* Reasons先頭文字 */
.feature .s-title-reasons span.en .em {
    color: #004088 !important;
}

/* Reasons横線 */
.feature .s-title-reasons span.ja::before,
.feature .s-title-reasons span.ja::after {
    background-color: #333 !important;
}

/* 旧 crown 指定が span に当たるのを防ぐ */
.feature h2.s-title-wide span::before {
    content: none;
}

/* ただし box-blue は戻す */
.feature h2.s-title-wide span.en::before {
    content: url(img/box-blue.png);
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
    pointer-events: none;
}

/* emには王冠を出さない */
.feature h2.s-title-wide span.em::before {
    content: none !important;
}

/* ============================
   スマホ調整
============================ */
@media screen and (max-width: 650px) {

    .s-title-wide {
        margin: 40px 0 32px;
    }

    .s-title-wide span.ja {
        gap: 10px;
    }

    .s-title-wide span.ja::before,
    .s-title-wide span.ja::after {
        width: 34px;
    }

    .feature {
        --reason-bg-start: 140px;
    }

    .feature .s-title-reasons {
        top: 25px;
        margin-bottom: 42px;
    }

    .feature h2.s-title-reasons::before {
        top: -6px;
        transform: translateX(-150px) scale(0.65);
    }
}
/* Reasons：消えた左線を復活 */
.feature h2.s-title-wide span.ja::before,
.feature h2.s-title-wide span.ja::after {
    content: "";
    width: 50px;
    height: 2px;
    background-color: #333 !important;
    display: block;
}
@media screen and (max-width: 650px) {
    .feature h2.s-title-wide span.ja::before,
    .feature h2.s-title-wide span.ja::after {
        width: 34px;
    }
}
/* ============================
   Reasons・訪問者メニュー：タイトル位置を少し下げる
============================ */

/* 訪問者メニュー */
.visitor-menu .s-title-wide {
    margin-top: 85px;
}

/* スマホ調整 */
@media screen and (max-width: 767px) {
    .visitor-menu .s-title-wide {
        margin-top: 55px;
    }
}

/* ============================
   訪問者メニュー：画像をアイコン化
============================ */
.visitor-menu-list .visitor-icon {
    width: 82px;
    height: 82px;
    margin: 0 auto 16px;
    border-radius: 50%;
    background: #eef6ff;
    color: #004088;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 2.1rem;
}

.visitor-menu-list a:hover .visitor-icon {
    transform: translateY(-4px);
    background: #e4f1ff;
    box-shadow: 0 10px 22px rgba(0, 64, 136, .18);
}

.visitor-menu-list .visitor-icon i {
    line-height: 1;
}

/* スマホ */
@media screen and (max-width: 767px) {
    .visitor-menu-list .visitor-icon {
        width: 64px;
        height: 64px;
        margin-bottom: 12px;
        font-size: 1.65rem;
    }
}
/* ============================
   訪問者メニュー
   入学案内と同じカード型
============================ */
.visitor-menu-list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.visitor-menu-list li {
    margin: 0;
    padding: 0;
}

.visitor-menu-list a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-height: 130px;
    padding: 24px 16px;
    background: #fff;
    border: 1px solid #dfe8f3;
    border-radius: 16px;
    box-shadow: 0 6px 18px rgba(0, 64, 136, .08);
    color: #004088;
    text-decoration: none;
    box-sizing: border-box;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.visitor-menu-list a:hover {
    transform: translateY(-4px);
    border-color: #004088;
    box-shadow: 0 12px 26px rgba(0, 64, 136, .16);
}

.visitor-menu-list .visitor-icon {
    width: 54px;
    height: 54px;
    margin: 0 0 12px;
    border-radius: 50%;
    background: #eef6ff;
    color: #004088;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.45rem;
    box-shadow: none;
    transition: none;
}

.visitor-menu-list a:hover .visitor-icon {
    transform: none;
    background: #eef6ff;
    box-shadow: none;
}

.visitor-menu-list .visitor-icon i {
    line-height: 1;
}

.visitor-menu-list p {
    margin: 0;
    color: #004088;
    font-size: 1.08rem;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
}

/* タブレット */
@media screen and (max-width: 1024px) {
    .visitor-menu-list {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* スマホ */
@media screen and (max-width: 767px) {
    .visitor-menu-list {
        grid-template-columns: repeat(2, 1fr);
        gap: 5px;
    }

    .visitor-menu-list a {
        min-height: 112px;
        padding: 18px 10px;
        border-radius: 12px;
    }

    .visitor-menu-list .visitor-icon {
        width: 44px;
        height: 44px;
        margin-bottom: 10px;
        font-size: 1.15rem;
    }

    .visitor-menu-list p {
        font-size: .87rem;
    }
}
/* ============================
入学案内メニュー
============================ */

/* PC：横一列 */
.admission.interval .exam.interval-bottom .wrap > .admission-menu {
display: grid !important;
grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
gap: 18px !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
list-style: none !important;
}

.admission.interval .exam.interval-bottom .wrap > .admission-menu > li {
width: auto !important;
margin: 0 !important;
padding: 0 !important;
float: none !important;
display: block !important;
}

.admission.interval .exam.interval-bottom .wrap > .admission-menu > li > a {
display: flex !important;
flex-direction: column;
align-items: center;
justify-content: center;
width: 100% !important;
min-height: 130px;
padding: 24px 16px;
background: #fff;
border: 1px solid #dfe8f3;
border-radius: 16px;
box-shadow: 0 6px 18px rgba(0, 64, 136, .08);
color: #004088;
text-decoration: none;
box-sizing: border-box;
transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.admission.interval .exam.interval-bottom .wrap > .admission-menu > li > a:hover {
transform: translateY(-4px);
border-color: #004088;
box-shadow: 0 12px 26px rgba(0, 64, 136, .16);
}

.admission.interval .exam.interval-bottom .admission-icon {
width: 54px;
height: 54px;
margin: 0 0 12px;
border-radius: 50%;
background: #eef6ff;
color: #004088;
display: flex;
align-items: center;
justify-content: center;
font-size: 1.45rem;
}

.admission.interval .exam.interval-bottom .admission-title {
display: block;
color: #004088;
font-size: 1.08rem;
font-weight: 800;
line-height: 1.35;
text-align: center;
}

/* タブレット・スマホ：2×2 */
@media screen and (max-width: 1024px) {
.admission.interval .exam.interval-bottom .wrap > .admission-menu {
grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
gap: 14px !important;
}
}

/* スマホ：コンパクト */
@media screen and (max-width: 767px) {
.admission.interval .exam.interval-bottom .wrap > .admission-menu {
gap: 8px !important;
}

.admission.interval .exam.interval-bottom .wrap > .admission-menu > li > a {
    min-height: 100px !important;
    padding: 14px 8px;
    border-radius: 12px;
}

.admission.interval .exam.interval-bottom .admission-icon {
    width: 40px;
    height: 40px;
    margin: 0 0 8px;
    font-size: 1.05rem;
}

.admission.interval .exam.interval-bottom .admission-title {
    font-size: .86rem;
    line-height: 1.3;
}

}
/* ============================
   学科紹介：スマホだけ画像を左側に表示
============================ */
@media screen and (max-width: 767px) {

    .introduction .course_flex a {
        display: block;
        text-decoration: none;
    }

    .introduction .course_flex a ul,
    .introduction .course_flex a ul.reverse {
        display: flex !important;
        flex-direction: row !important;
        align-items: stretch;
        background: #fff;
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 6px 18px rgba(0, 64, 136, .08);
    }

    .introduction .course_flex .img-box {
        display: block !important;
        flex: 0 0 34%;
        width: 34%;
        margin: 0 !important;
        overflow: hidden;
        line-height: 0;
    }

    .introduction .course_flex .img-box img {
        display: block !important;
        width: 100%;
        height: 100%;
        min-height: 150px;
        object-fit: cover;
        object-position: center;
    }

    .introduction .course_flex .text-box {
        flex: 1;
        width: auto;
        padding: 16px 14px;
        box-sizing: border-box;
        text-align: left;
        display: flex;
        flex-direction: column;
        justify-content: center;
    }

    .introduction .course_flex .course-title h4 {
        font-size: 1.05rem;
        line-height: 1.35;
        margin-bottom: 4px;
    }

    .introduction .course_flex .course-title p {
        font-size: .68rem;
        line-height: 1.35;
    }

    .introduction .course_flex .p-block {
        margin-top: 8px;
    }

    .introduction .course_flex .sub-title {
        font-size: .82rem;
        line-height: 1.5;
    }

    .introduction .course_flex .desc {
        font-size: .72rem;
        line-height: 1.55;
    }
}
@media screen and (max-width: 767px) {

.introduction .course_flex {
    display: block !important;
}

.introduction .course_flex > a {
    position: relative;
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding-bottom: 46px !important;
    background: #fff !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    text-decoration: none !important;
    box-shadow: 0 5px 16px rgba(0,0,0,.12) !important;
    border: 1px solid rgba(0,0,0,.06) !important;
    box-sizing: border-box !important;
}

.introduction .course_flex > a.course1 {
    background:
        linear-gradient(to bottom, #fff 0, #fff calc(100% - 46px), #dff8fb calc(100% - 46px), #dff8fb 100%) !important;
}

.introduction .course_flex > a.course2 {
    background:
        linear-gradient(to bottom, #fff 0, #fff calc(100% - 46px), #fde4ec calc(100% - 46px), #fde4ec 100%) !important;
}

.introduction .course_flex > a.course3 {
    background:
        linear-gradient(to bottom, #fff 0, #fff calc(100% - 46px), #fde8e6 calc(100% - 46px), #fde8e6 100%) !important;
}

.introduction .course_flex > a ul,
.introduction .course_flex > a ul.reverse,
.introduction .course_flex > a ul.zoomInTrigger {
    display: grid !important;
    grid-template-columns: 38% 62% !important;
    align-items: stretch !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 122px !important;
    background: transparent !important;
}

.introduction .course_flex li {
    width: 100% !important;
    list-style: none !important;
    box-sizing: border-box !important;
}

.introduction .course_flex .img-box {
    grid-column: 1 !important;
    height: 122px !important;
    padding: 10px 0 0 10px !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
    background: transparent !important;
}

.introduction .course_flex .img-box img {
    width: 100% !important;
    height: 112px !important;
    min-height: 112px !important;
    object-fit: cover !important;
    object-position: center top !important;
    display: block !important;
    border-radius: 12px !important;
    transform: none !important;
}

.introduction .course_flex .text-box {
    position: relative !important;
    grid-column: 2 !important;
    min-width: 0 !important;
    padding: 18px 44px 12px 16px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    background: transparent !important;
    box-sizing: border-box !important;
}

.introduction .course_flex .course-title {
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    flex-wrap: wrap !important;
    padding: 0 !important;
    margin: 0 0 7px !important;
}

.introduction .course_flex h4,
.introduction .course_flex .course3 h4 {
    margin: 0 !important;
    padding: 0 !important;
    font-size: 30px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    letter-spacing: .03em !important;
}

.introduction .course_flex .course1 h4 {
    color: #00b3cd !important;
}

.introduction .course_flex .course2 h4 {
    color: #eb6d8e !important;
}

.introduction .course_flex .course3 h4 {
    color: #d02d22 !important;
    font-size: 18px !important;
    line-height: 1.22 !important;
}

.introduction .course_flex h4::before,
.introduction .courses .sub-title::before,
.introduction .courses .course-title h4::after {
    display: none !important;
}

.introduction .course_flex .course-title p,
.introduction .course_flex .p-block,
.introduction .course_flex .sub-title,
.introduction .course_flex .desc {
    display: none !important;
}

.introduction .course_flex .course-title::after {
    content: "3年制";
    display: inline-block;
    padding: 2px 9px;
    border: 1.5px solid #777;
    color: #333;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    background: #fff;
    box-sizing: border-box;
}

.introduction .course_flex .course1 .course-title::after {
    border-color: #00b3cd;
    color: #00b3cd;
}

.introduction .course_flex .course2 .course-title::after {
    border-color: #eb6d8e;
    color: #eb6d8e;
}

.introduction .course_flex .course3 .course-title {
    display: block !important;
    margin-bottom: 6px !important;
}

.introduction .course_flex .course3 .course-title::after {
    content: "2年制";
    margin-top: 7px;
    border-color: #d02d22;
    color: #d02d22;
}

.introduction .course_flex .text-box::after {
    content: "全日部｜午前部｜午後部";
    display: block;
    color: #333;
    font-size: 14px;
    line-height: 1.45;
    font-weight: 500;
    white-space: nowrap;
}

.introduction .course_flex .course3 .text-box::after {
    content: "午前部｜午後部";
}


.introduction .course_flex .course2 .text-box::after {
    content: "午前部｜午後部" !important;
}

.introduction .course_flex .text-box::before {
    content: "\f105";
    position: absolute;
    right: 12px;
    top: 50%;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #fff;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 18px;
    line-height: 30px;
    text-align: center;
    transform: translateY(-50%);
    z-index: 2;
}

.introduction .course_flex .course1 .text-box::before {
    background: #00b3cd;
}

.introduction .course_flex .course2 .text-box::before {
    background: #eb6d8e;
}

.introduction .course_flex .course3 .text-box::before {
    background: #d02d22;
}

.introduction .course_flex > a::before {
    position: absolute;
    left: 22px;
    bottom: 12px;
    z-index: 2;
    width: 22px;
    height: 22px;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 20px;
    line-height: 22px;
    text-align: center;
}

.introduction .course_flex > a::after {
    position: absolute;
    left: 58px;
    right: 12px;
    bottom: 0;
    z-index: 2;
    height: 46px;
    display: flex;
    align-items: center;
    color: #333;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

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

/* 柔整科・鍼灸科だけ「3年制」を科名の右横に固定 */
.introduction .course_flex .course1 .course-title,
.introduction .course_flex .course2 .course-title {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 9px !important;
    margin: 0 0 8px !important;
}

.introduction .course_flex .course1 .course-title h4,
.introduction .course_flex .course2 .course-title h4 {
    margin: 0 !important;
    flex: 0 0 auto !important;
}

.introduction .course_flex .course1 .course-title::after,
.introduction .course_flex .course2 .course-title::after {
    margin: 0 !important;
    flex: 0 0 auto !important;
    transform: translateY(1px);
}

/* アスレティックトレーナーコースの午前部・午後部だけ削除 */
.introduction .course_flex .course3 .text-box::after {
    content: none !important;
    display: none !important;
}

/* アスレティックトレーナーコースの2年制表示はそのまま */
.introduction .course_flex .course3 .course-title {
    display: block !important;
}

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

.introduction .course_flex .text-box::before {
    width: 24px !important;
    height: 24px !important;
    font-size: 14px !important;
    line-height: 24px !important;
    right: 6px !important;
}

}
/* ============================
   トップ見出し：英字小さく／日本語大きく
============================ */
.s-title span.en {
    font-size: 1.25rem !important;
    letter-spacing: .08em !important;
}

.s-title span.em {
    font-size: 1.5rem !important;
}

.s-title span.ja {
    font-size: 2.4rem !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
    margin: 10px 0 0 !important;
}

/* スマホ調整 */
@media screen and (max-width: 767px) {
    .s-title span.en {
        font-size: 1rem !important;
    }

    .s-title span.em {
        font-size: 1.2rem !important;
    }

    .s-title span.ja {
        font-size: 1.5rem !important;
        margin: 0px 0 0 !important;
    }
}
/* ============================
   見出しの左右線だけ非表示
============================ */

/* 日本語タイトル左右の線だけ消す */
.s-title span.ja::before,
.s-title span.ja::after {
    content: none !important;
    display: none !important;
}

/* 英字側の背景装飾は残す */
.s-title span.en::before {
    display: block;
}

.s-title span.en::after {
    content: none !important;
    display: none !important;
}
/* ============================
   Instagram見出しだけサイズ変更を除外
============================ */
.insta_feed .s-title span.en {
    font-size: 3rem !important;
    line-height: 1 !important;
}

.insta_feed .s-title span.em {
    font-size: 3.5rem !important;
}

@media screen and (max-width: 767px) {
    .insta_feed .s-title span.en {
        font-size: 1.2rem !important;
    }

    .insta_feed .s-title span.em {
        font-size: 1.8rem !important;
    }
}
@media screen and (max-width: 767px) {
    img[src*="back-left.png"] {
        display: none;
    }
}
/* ============================
共通タイトルデザイン変更
案1：左ライン＋淡い帯
============================ */

/* 既存の四角背景・画像装飾を消す */
.s-title-wide span.en::before,
.s-title-wide span.en::after,
.s-title-wide span.ja::before,
.s-title-wide span.ja::after {
content: none !important;
display: none !important;
}

/* タイトル本体 */
.s-title.s-title-wide {
position: relative !important;
display: table !important;
width: auto !important;
margin: 0 auto 30px !important;
text-align: left !important;
background: transparent !important;
z-index: 1 !important;
overflow: visible !important;
}

/* 左の青ライン */
.s-title.s-title-wide::before {
content: "" !important;
position: absolute !important;
left: 0 !important;
top: 8px !important;
width: 7px !important;
height: calc(100% - 16px) !important;
background: #004088 !important;
border-radius: 999px !important;
z-index: 1 !important;
}

/* 下の淡い水色帯 */
.s-title.s-title-wide::after {
content: "" !important;
position: absolute !important;
left: 10px !important;
right: 0 !important;
bottom: 8px !important;
height: 34px !important;
background: #dff8fb !important;
border-radius: 999px !important;
z-index: -1 !important;
}

/* 英字 */
.s-title.s-title-wide .en {
position: relative !important;
display: block !important;
margin: 0 0 2px !important;
color: #004088 !important;
line-height: 1 !important;
z-index: 2 !important;
}

/* 日本語 */
.s-title.s-title-wide .ja {
position: relative !important;
display: block !important;
color: #111 !important;
line-height: 1.35 !important;
z-index: 2 !important;
}

/* 先頭の英字アクセント */
.s-title.s-title-wide .en .em {
color: #12a9ff !important;
}
@media screen and (min-width: 0) {

.s-title.s-title-wide::before {
    content: none !important;
    display: none !important;
}


.s-title.s-title-wide::after {
    left: 0 !important;
}

}
@media screen and (min-width: 0) {

.s-title.s-title-wide .en {
    width: 100% !important;
    text-align: center !important;
}

}
/* ============================
スマホ調整
============================ */
@media screen and (max-width: 767px) {


.s-title.s-title-wide::before {
    top: 7px !important;
    width: 6px !important;
    height: calc(100% - 14px) !important;
}

.s-title.s-title-wide::after {
    left: 0px !important;
    bottom: 12px !important;
    height: 10px !important;
}

}

/* 理由スライダーのドットだけ非表示 */
@media screen and (max-width: 767px) {
.feature .slick-dots {
display: none !important;
}

.feature .slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}
.feature .slick-dots,
.feature .slick-dots li,
.feature .slick-dots li button,
.feature .slick-dots li button:before {
display: none !important;
width: 0 !important;
height: 0 !important;
margin: 0 !important;
padding: 0 !important;
line-height: 0 !important;
opacity: 0 !important;
visibility: hidden !important;
}

.feature .slick-dotted.slick-slider {
    margin-bottom: 0 !important;
}

}
/* ============================
   卒業生紹介：写真下カード表示
============================ */
.voices #slider-wrap {
    overflow: hidden;
}

.voices #slider-wrap .slider li .box,
.voices #slider-wrap .voices-slider li .box {
    display: flex !important;
    flex-direction: column !important;
    background: #fff !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    overflow: hidden !important;
}

.voices #slider-wrap .slider li figure,
.voices #slider-wrap .voices-slider li figure {
    order: 1 !important;
    position: relative !important;
    margin: 0 !important;
    padding: 0 !important;
}

.voices #slider-wrap .slider li figure img,
.voices #slider-wrap .voices-slider li figure img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    object-fit: cover !important;
}

.voices #slider-wrap .slider li .career,
.voices #slider-wrap .voices-slider li .career {
    order: 2 !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    width: auto !important;
    padding: 18px 22px 0 !important;
    background: #fff !important;
    z-index: auto !important;
}

.voices #slider-wrap .slider li .career p,
.voices #slider-wrap .voices-slider li .career p {
    display: block !important;
    margin: 0 0 6px !important;
    padding: 0 !important;
    background: none !important;
    color: #0070c9 !important;
    font-size: 15px !important;
    line-height: 1.5 !important;
    font-weight: 700 !important;
}

.voices #slider-wrap .name-course {
    order: 3 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    background: #fff !important;
    padding: 0 22px 22px !important;
    text-align: left !important;
}

.voices #slider-wrap .name-course .post-title {
    order: 1 !important;
    display: block !important;
    margin: 4px 0 10px !important;
    color: #222 !important;
    font-size: 26px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    letter-spacing: .08em !important;
}

.voices #slider-wrap .name-course .post-title::after {
    content: " さん";
    font-size: .8em;
    font-weight: 700;
    margin-left: 4px;
}

.voices #slider-wrap .name-course h3 {
    order: 2 !important;
    display: inline-block !important;
    margin: 6px 0 0 !important;
    padding: 4px 9px 3px !important;
    background: #dcecf7 !important;
    color: #0070c9 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
    border-radius: 3px !important;
}

.voices #slider-wrap .slick-slide,
.voices #slider-wrap .slick-current {
    transform: none !important;
}

/* スマホ調整 */
@media screen and (max-width: 767px) {
    .voices #slider-wrap .slider li .career,
    .voices #slider-wrap .voices-slider li .career {
        padding: 16px 18px 0 !important;
    }

    .voices #slider-wrap .slider li .career p,
    .voices #slider-wrap .voices-slider li .career p {
        font-size: 14px !important;
    }

    .voices #slider-wrap .name-course {
        padding: 0 18px 18px !important;
    }

    .voices #slider-wrap .name-course .post-title {
        font-size: 22px !important;
    }

    .voices .slick-dots {
        display: none !important;
    }
}
/* ============================
   学科紹介 SP 完全上書き版
============================ */
@media screen and (max-width: 767px) {


    #top-gakka .course_flex > a {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        margin: 0 0 20px !important;
        padding: 0 !important;
        background: #fff !important;
        border: none !important;
        border-radius: 16px !important;
        overflow: hidden !important;
        box-shadow: 0 4px 14px rgba(0,0,0,.10) !important;
        text-decoration: none !important;
    }

    #top-gakka .course_flex > a ul,
    #top-gakka .course_flex > a ul.reverse,
    #top-gakka .course_flex > a ul.zoomInTrigger {
        display: grid !important;
        grid-template-columns: 38% 62% !important;
        width: 100% !important;
        min-height: 135px !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #top-gakka .course_flex li {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        list-style: none !important;
    }

    #top-gakka .course_flex .img-box {
        height: 100% !important;
        overflow: hidden !important;
    }

    #top-gakka .course_flex .img-box img {
        display: block !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 135px !important;
        object-fit: cover !important;
        object-position: center center !important;
        border: none !important;
        border-radius: 0 !important;
        transform: none !important;
    }

    #top-gakka .course_flex .text-box {
        position: relative !important;
        display: block !important;
        padding: 22px 48px 16px 18px !important;
        background: #fff !important;
        border: none !important;
        border-radius: 0 !important;
    }

    #top-gakka .course_flex .course-title {
        display: flex !important;
        align-items: center !important;
        gap: 10px !important;
        margin: 0 0 8px !important;
        padding: 0 !important;
        color: inherit !important;
    }

    #top-gakka .course_flex h4,
    #top-gakka .course_flex .course3 h4 {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        font-size: 24px !important;
        line-height: 1.2 !important;
        font-weight: 800 !important;
        letter-spacing: .02em !important;
    }

    #top-gakka .course_flex .course1 h4 {
        color: #00b3cd !important;
    }

    #top-gakka .course_flex .course2 h4 {
        color: #eb6d8e !important;
    }

    #top-gakka .course_flex .course3 h4 {
        color: #d02d22 !important;
        font-size: 16px !important;
    }

    #top-gakka .course_flex h4::before,
    #top-gakka .course_flex h4::after,
    #top-gakka .course_flex .sub-title::before,
    #top-gakka .course_flex .sub-title::after,
    #top-gakka .course_flex .desc,
    #top-gakka .course_flex .course-title p {
        display: none !important;
        content: none !important;
    }

    #top-gakka .course_flex .course-title::after {
        display: inline-block !important;
        padding: 2px 8px 1px !important;
        border: 1px solid currentColor !important;
        background: #fff !important;
        font-size: 13px !important;
        line-height: 1.3 !important;
        font-weight: 700 !important;
    }

    #top-gakka .course_flex .course1 .course-title::after {
        color: #00b3cd !important;
    }

    #top-gakka .course_flex .course2 .course-title::after {
        color: #eb6d8e !important;
    }

    #top-gakka .course_flex .course3 .course-title::after {
        color: #d02d22 !important;
    }

    #top-gakka .course_flex .p-block {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #top-gakka .course_flex .sub-title {
        display: block !important;
        margin: 0 !important;
        padding: 12px 0 0 !important;
        border-top: 2px solid #00b3cd !important;
        color: #333 !important;
        font-size: 13px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
    }

    #top-gakka .course_flex .course2 .sub-title {
        border-top-color: #eb6d8e !important;
    }

    #top-gakka .course_flex .course3 .sub-title {
        border-top-color: #d02d22 !important;
    }


}
/* ============================
   学科紹介 SP：表示順・AT時間表示 修正
   画像 → タイトル → 年制 → 時間 → 説明文
============================ */
@media screen and (max-width: 767px) {

    /* 右側テキスト内の並び順を制御 */
    #top-gakka .course_flex .text-box {
        display: flex !important;
        flex-direction: column !important;
    }

    #top-gakka .course_flex .course-title {
        order: 1 !important;
    }

    /* 時間表示を説明文より上に移動 */
    #top-gakka .course_flex .text-box::before {
        order: 2 !important;
        content: "全日部｜午前部｜午後部" !important;
        position: static !important;
        display: block !important;
        width: auto !important;
        height: auto !important;
        margin: 0 0 8px !important;
        padding: 0 0 8px !important;
        border-radius: 0 !important;
        border-bottom: 2px solid #00b3cd !important;
        background: none !important;
        color: #333 !important;
        font-family: inherit !important;
        font-size: 14px !important;
        font-weight: 500 !important;
        line-height: 1.4 !important;
        text-align: left !important;
        white-space: nowrap !important;
        transform: none !important;
    }

    #top-gakka .course_flex .course2 .text-box::before {
        content: "午前部｜午後部" !important;
        border-bottom-color: #eb6d8e !important;
    }

    #top-gakka .course_flex .course3 .text-box::before {
        content: "附帯コース" !important;
        border-bottom-color: #d02d22 !important;
    }

    #top-gakka .course_flex .p-block {
        order: 3 !important;
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #top-gakka .course_flex .sub-title {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border-top: none !important;
    }

    /* 旧CSSで後ろに出ていた時間表示を、右矢印として使い直す */
    #top-gakka .course_flex .text-box::after {
        content: "\f105" !important;
        font-family: "Font Awesome 5 Free" !important;
        font-weight: 900 !important;
        position: absolute !important;
        top: 50% !important;
        right: 6px !important;
        transform: translateY(-50%) !important;
        display: block !important;
        width: 24px !important;
        height: 24px !important;
        border-radius: 50% !important;
        color: #fff !important;
        font-size: 14px !important;
        line-height: 24px !important;
        text-align: center !important;
        z-index: 5 !important;
    }

    #top-gakka .course_flex .course1 .text-box::after {
        background: #00b3cd !important;
    }

    #top-gakka .course_flex .course2 .text-box::after {
        background: #eb6d8e !important;
    }

    #top-gakka .course_flex .course3 .text-box::after {
        background: #d02d22 !important;
    }
}
/* ============================
   学科紹介 SP：カード高さ均等化
============================ */
@media screen and (max-width: 767px) {

    #top-gakka .course_flex > a {
        height: 180px !important;
        min-height: 180px !important;
        padding-bottom: 0 !important;
        margin-bottom: 22px !important;
    }

    #top-gakka .course_flex > a ul,
    #top-gakka .course_flex > a ul.reverse,
    #top-gakka .course_flex > a ul.zoomInTrigger {
        height: 100% !important;
        min-height: 0 !important;
        grid-template-columns: 38% 62% !important;
        align-items: stretch !important;
    }

    #top-gakka .course_flex .img-box {
        height: 100% !important;
        padding: 10px 0 10px 10px !important;
        box-sizing: border-box !important;
    }

    #top-gakka .course_flex .img-box img {
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        object-fit: cover !important;
        object-position: center center !important;
        border-radius: 12px !important;
    }

    #top-gakka .course_flex .text-box {
        height: 100% !important;
        padding: 14px 38px 12px 16px !important;
        display: flex !important;
        flex-direction: column !important;
        justify-content: center !important;
        box-sizing: border-box !important;
        overflow: hidden !important;
    }

    #top-gakka .course_flex .course-title {
        margin: 0 0 5px !important;
        gap: 7px !important;
    }

    #top-gakka .course_flex h4 {
        line-height: 1.08 !important;
    }

    #top-gakka .course_flex .course3 h4 {
        font-size: 15px !important;
        line-height: 1.2 !important;
        letter-spacing: .01em !important;
    }

    #top-gakka .course_flex .course-title::after {
        font-size: 12px !important;
        line-height: 1.25 !important;
        padding: 2px 7px 1px !important;
    }

    #top-gakka .course_flex .text-box::before {
        margin: 0 0 6px !important;
        padding: 0 0 6px !important;
        font-size: 12.5px !important;
        line-height: 1.35 !important;
    }

    #top-gakka .course_flex .sub-title {
        font-size: 12.5px !important;
        line-height: 1.35 !important;
        font-weight: 700 !important;
    }

    #top-gakka .course_flex .text-box::after {
        right: 6px !important;
        width: 24px !important;
        height: 24px !important;
        font-size: 14px !important;
        line-height: 24px !important;
    }
}
/* ============================
   学科紹介 SP：鍼灸科だけスマホ用写真に差し替え
============================ */
@media screen and (max-width: 767px) {

    #top-gakka .course_flex .course2 .img-box {
        position: relative !important;
        background: #fff !important;
        background-image: none !important;
        overflow: hidden !important;
    }

    #top-gakka .course_flex .course2 .img-box::before {
        content: "" !important;
        position: absolute !important;
        inset: 10px 0 10px 10px !important;
        background: url(img/shinkyu-sp202607.jpg) center center / cover no-repeat !important;
        border-radius: 12px !important;
        z-index: 0 !important;
    }

    #top-gakka .course_flex .course2 .img-box img {
        opacity: 0 !important;
        position: relative !important;
        z-index: 1 !important;
    }
}
/* ============================
   学科紹介 SP：ATの3年制を2行目右横に配置
============================ */
@media screen and (max-width: 767px) {

    #top-gakka .course_flex .course3 .course-title {
        display: flex !important;
        align-items: flex-end !important;
        flex-wrap: nowrap !important;
        gap: 8px !important;
        margin: 0 0 6px !important;
    }

    #top-gakka .course_flex .course3 .course-title h4 {
        margin: 0 !important;
        line-height: 1.2 !important;
        white-space: nowrap !important;
    }

    #top-gakka .course_flex .course3 .course-title::after {
        flex: 0 0 auto !important;
        margin: 0 0 1px !important;
        white-space: nowrap !important;
        transform: none !important;
    }
}
/* ============================
   学科紹介 SP：背景変更
============================ */
@media screen and (max-width: 767px) {
    #top-gakka .bg-wrap {
        background:
            radial-gradient(circle at 15% 10%, rgba(18,169,255,.16) 0, rgba(18,169,255,0) 32%),
            radial-gradient(circle at 85% 85%, rgba(0,179,205,.12) 0, rgba(0,179,205,0) 30%),
            linear-gradient(180deg, #f7fcff 0%, #eefaff 100%) !important;
    }
}
/* ============================
   PICKUPバナー2つになったので中央表示20260826
============================ */
@media screen and (min-width: 1024px) {
    .contents-slider {
        width: 100%;
    }

    .contents-slider .slick-list {
        overflow: visible;
    }

    .contents-slider .slick-track {
        width: auto !important;
        transform: none !important;
        display: flex;
        justify-content: center;
    }

    .contents-slider .slick-slide {
        float: none;
    }
}