@charset "UTF-8";
/*    ––––––––––––––––––––––––––––––––––––––––––––––––––
共通
–––––––––––––––––––––––––––––––––––––––––––––––––– */
html {
        scroll-behavior: smooth;
        overflow: auto;
        font-size: 62.5%; 
    }
    
body {
    font-size: 16px;
    line-height: 1.7;
    letter-spacing: 0.065rem;
    font-family: "Noto Sans JP", sans-serif !important;
    color: var(--black);
    overflow: hidden;
}

section {
    padding: 120px 0;
}


p{
    font-size: 1.5rem;
    line-height: 1.65rem;
    margin-top: 0;
    text-align: justify;
}

img{
    max-width: 100%;
    height: auto;
}


/* PC、tab、スマホ表示 */
.pc { display: block !important; }
.sp { display: none !important; }


@media only screen and (max-width: 575px) {
    .pc { display: none !important; }
    .sp { display: block !important; }
}


/* Typography
–––––––––––––––––––––––––––––––––––––––––––––––––– */
h1, h2, h3, h4, h5, h6 {
    margin-top: 0;
    margin-bottom: 2rem;
}
h1 { font-size: 4.0rem; line-height: 1.2;    letter-spacing: -.1rem;}
h2 { font-size: 2.75rem; line-height: 1.15;    font-weight: 900; text-align: center; margin-bottom: 0px; }
h3 { font-size: 3.0rem; line-height: 1.3;    letter-spacing: -.1rem;}
h4 { font-size: 2.0rem; line-height: 1.35;}
h5 { font-size: 1.8rem; line-height: 1.5;}
h6 { font-size: 1.5rem; line-height: 1.6;}

/* Larger than phablet */
@media (min-width: 550px) {
    h1 { font-size: 5.0rem; }
    h2 { font-size: 6.0rem; }
    h3 { font-size: 3.0rem; }
    h4 { font-size: 2.8rem; }
    h5 { font-size: 2.1rem; }
    h6 { font-size: 1.8rem; }
}





/*ボタン*/
.btn {
    background-color: var(--red);
    color: #fff;
    font-size: 1.5rem;
    font-weight: 700;
    border-radius: 0;
    width: 40%;
    padding: 15px 5px;
    transition: .4s;
    box-shadow: 8px 8px var(--black);
}
.btn:hover {
    box-shadow: 0px 0px var(--red);
    color: #fff;
}
.btn_invalid {
    background-color: #ccc;
    color: var(--black);
}
.btn_invalid:hover {
    box-shadow: 8px 8px var(--black);
    color: var(--black);
}



/*color*/
:root {
    --black: #193338;
    --yellow:#ffed05;
    --blue: #74cdd4;
    --civil: #E84433;
    --arch: #C78B1E;
    --mech: #00A63C;
    --ee: #00A395;
    --chem: #00A2E8;
    --cs: #7E3C92;
}

@media (min-width: 1200px) {
    .container900 {max-width: 900px!important;}
    .container1100 {max-width: 1100px!important;}
}



.slick-slider div { transition: none; }



    /* page-top 
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.scroll-top {
    position: relative;
    z-index: 2;
    opacity: 1;
    width: 70px;
    height: 70px;
    background: var(--black);
    margin-left: auto;
    margin-right: 0;
    bottom: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-radius: 6px 0 0 6px;
	/*visibility: hidden; 
	transition: opacity .5s, visibility .5s;
	-webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        white-space: nowrap;
	animation: arrowmove 1s ease-in-out infinite;*/
}

@keyframes arrowmove{
    0%{bottom:20px;}
    50%{bottom:25px;}
    100%{bottom:20px;}
}


.scroll-top.scroll-view {
	opacity: 1;
	visibility: visible;
}

.scroll-top a {
	text-decoration: none;
	color: #fff;
	text-transform: uppercase;
	font-size:1.3rem;
        display: block;
        font-weight: 700;
}


.js-scroll a::after{
	content:"";
	position: absolute;
	top:0;
	right:0;
	width:1px;
	height: 35px;
	background:var(--black);
}

.js-scroll a::before {
        content: "";
        position: absolute;
        top: 50px;
        right: -6px;
        width: 1px;
        height: 20px;
        background: var(--black);
        transform: skewX(-31deg);
}

/*Edge IE11 hack*/
_:-ms-lang(x), .js-scroll a::before{
	right:-11px;
}

.js-pagetop a {
    color: #fff;
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 10px;
}

/*
.js-pagetop a::after{
	content:"";
	position: absolute;
    z-index: 2;
	top:0;
	right:0;
	width:2px;
	height: 70px;
	background:var(--black);
        border-radius: 2px;
}

.js-pagetop a::before {
        content: "";
        position: absolute;
        top: 0;
        right: -6px;
        width: 2px;
        height: 20px;
        background: var(--black);
        transform: skewX(31deg);
        border-radius: 2px;
}
*/
_:-ms-lang(x), .js-pagetop a::before{
	right:0;
}




    /* header
–––––––––––––––––––––––––––––––––––––––––––––––––– */
header{
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 5;
    width: 180px;
}








.loading {
    /*ローディング画面の縦横幅を画面いっぱいになるように指定*/
    width: 100vw;
    height: 100vh;
    /*ローディング画面の表示位置を固定*/
    position: fixed;
    top: 0;
    left: 0;
    background: var(--blue);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    /*ローディング画面を0.5秒かけて非表示にする*/
    transition: all 0.1s linear;
    opacity: 1;
    z-index: 999;
}

/*ローディング画面を非表示にする*/
.loading.loaded {
    /*0.5秒かけてopacityを0にする*/
    opacity: 0;
    visibility: hidden;
}






    /* 追従申し込みボタン
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.fix_btn{
    width: 30%;
    max-width: 125px;
    position: fixed;
    right: 0%;
    bottom: 3%;
    z-index: 99;
}


.fix_btn span.fix_circle {
    display: block;
    line-height: 0em;
    width: 128%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform-origin: center center;
    transform: translate(-50%, -50%);
    z-index: -1;
    animation: circle-ani01 20s linear infinite;
}


@keyframes circle-ani01 {
    0% {
        transform-origin: center center;
        transform: translate(-50%, -50%) rotate(0deg);
    }
    100% {
        transform-origin: center center;
        transform: translate(-50%, -50%) rotate(360deg);
    }
}


.fix_btn ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.fix_btn ul li{
    padding: 15px 30px 15px 15px;
    border-radius: 10px 0 0 10px;
    margin-bottom: 10px;
}


.fix_btn ul li.fix_0322{
    background: var(--black);
    border: solid #E9607C;
    border-width: 3px 0 3px 3px;
    position: relative;
    right: 0;
    transition: .2s;
}


.fix_btn ul li.fix_0511{
    background: var(--black);
    border: solid #69BBC2;
    border-width: 3px 0 3px 3px;
    position: relative;
    right: 0;
    transition: .2s;

}

.fix_btn ul li a{
    color:#fff;
    font-weight: 800;
    text-decoration: none;
    font-size: 2.0rem;
}

.fix_btn ul li.fix_0322:hover,
.fix_btn ul li.fix_0511:hover{
    right: 20px;
}

.fix_btn ul li.fix_0322:hover a,
.fix_btn ul li.fix_0511:hover a{
    color:var(--yellow);
}

.fix_btn_circle{
    right: 20%;
}


    /* トップ_メインビジュアル
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.top .top_title-logo{
    height: min(75vh, 750px);
    width: 30%;
    z-index: 10;
    padding-top: 55px;
}

.top .top_title-logo img{
    margin: auto 0;
    display: flex;
    align-items: center;
    height: 100%;
}

.top_title-logo01{
    padding: 0 20px 10px;
}

.top_title-logo02{
    border: solid var(--black);
    border-width: 2px 2px 2px 0;
    border-radius: 0 15px 15px 0;
    width: calc(100% - 20px);
    padding: 15px 10px 15px 20px;
}

.top .top-visual{
    padding-bottom: 15px;
    position: relative;
    display: flex;
}

.top .top-visual .main_visual{
    position: relative;
    margin-bottom: 50px;
    background: var(--blue);
    width: 70%;
}

.top .top-visual .main_visual .landscape{
    border-bottom: solid 3px #193338;}

.top .pc .main_visual:after {
    content: "";
    position: absolute;
    width: 20%;
    height: 100%;
    background: #fff;
    bottom: 4px;
    z-index: 0;
    right: 0;
    left: 0;
}

.top .top-visual .main_visual .landscape{
    position: relative;
    overflow: hidden;
    height: 100%;
    object-fit: cover;
    object-position: right;
}

.top .top-visual .landscape .landscape02{
    position: absolute;
    top: 0;
    right: 0;
    z-index: 1;
    height: 100%;
    object-fit: cover;
    object-position: right;
}

.top .top-visual .main_visual .character{
    position: absolute;
    bottom: -50px;
    right: 4%;
    width: 100%;
    z-index: 9;
}


.top .top-visual .character .character01,
.top .top-visual .character .character02{
    position: absolute;
    bottom: 0;
    right: 0;
}


.top .top_date{
    position: relative;
    z-index: 9;
    padding-bottom: 50px;
}

.top .top_date:after {
    content: "";
    position: absolute;
    width: 100%;
    height: 40%;
    background: var(--yellow);
    bottom: 0;
    z-index: -1;
    right: 0;
    left: 0;
}

.top .top_date_img{
    display: flex;
    flex-wrap: nowrap;
    flex-direction: row;
    list-style: none;
    padding: 0;
    margin: 0;
}

.top .top_date_img li{
    width: 25%;
    padding: 5px;
}

.top .top_date_img li a{
    position: relative;
    display: block;
}

.date-link,
.date-link_hover{
    position: absolute;
    transform: translate(-50%, -50%);
    left: 50%;
    bottom: -3%;
    width: 80%;
    z-index: 1;
    -webkit-transition: .1s ease-in-out;
    transition: .2s ease-in-out;
}

.date-link_hover{
    z-index: 0;
}

.top .top_date_img li :hover .date-link {
opacity: 0.3;
}



.date_new{
    position: absolute;
    top: -10%;
    width: 95%;
    right: 0;
    left: 0;
    margin: 0 auto;
}







.top h2{
    max-width: 700px;
    text-align: center;
    margin: 0 auto;
    line-height: 4rem;
    padding-bottom: 20px;
    z-index: 9;
    position: relative;
}

.top h2 p{
    text-align: center;
    color: #fff;
    background-color: #193338;
    display: inline-block;
    font-size: 3rem;
    line-height: normal;
    padding: 0 50px 2px;
    border-radius: 3px;
    font-weight: 700;
}

.notice_list h2 p{
    text-align: center;
    color: #193338;
    background-color: #fff;
    display: inline-block;
    font-size: 3rem;
    line-height: normal;
    padding: 0 50px 2px;
    border-radius: 3px;
    font-weight: 700;
}






    /* sec02
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top .sec02 {
    padding: 40px 0px 0;
}
.top .sec02 h2    {
    z-index: 1;
    position: relative;
    width: 500px;
    margin: 0 auto;
}

.top .sec02 h5 {
    font-size: 2.5rem;
    font-weight: bold;
    margin-bottom: 0;
    padding-bottom: 0;
    display: inline-block;
    background: var(--yellow);
    z-index: 1;
    position: relative;
}

.top .sec02 ul {
    padding-left: 0px;
    margin-bottom: 0px;
}
/*slider*/
.top .slider-8 .slick-slide {
    width: 300px;
    height: 200px;
    position: relative;
    overflow: hidden;
}
.top .slider-8 .slick-slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    padding-left: 7px;
}

.top .sec02 ul{
    margin: 0 calc(50% - 50vw);
    width: 110vw;
    position: relative;
}











    /* お知らせ
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.topNews {
    width: 100%;
    font-size: .8em;
    background-color: #fff;
    padding: 30px;
    border: solid var(--black);
    border-width: 2px;
    position: relative;
    border-radius: 15px;
}

.topNews dl {
    margin-bottom: inherit;
}

.topNews dd {
    margin-bottom: 12px;
    letter-spacing: 0.14rem;
}

.topNews dd, .topNews dt {
    border-bottom: dashed 1px #D4D2D2;
    line-height: 2.8rem;
}
.topNews dt {
    float: left;
    color:  #D24C59;
    margin-right: 15px;
}

.topNews a {
    color: #000;
}



/* news_php add
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.t-news{
    margin-bottom: 20px;
    padding-left: 0;
    margin-top: 0;
}

.t-news li {
    list-style: none;
    font-size: 1.6rem;
    letter-spacing: 0.09rem;
    line-height: 1.2;
    margin-bottom: 20px;
    margin-left: 20px;
    padding-bottom: 4px;
    border-bottom: solid 1px #ddd;
}

.t-news li a {
    text-decoration: none;
    color: #424242;
}


.t-news li a:hover {
    color: var(--blue);
    text-decoration: none;
}


.t-news .date {
    letter-spacing: 0rem;
    margin-right: 7px;
    font-weight: 900;
}
.newsframe_wrap {
    padding-bottom: 80px;
}
#newsframe {
    width: 100% !important;
    display: block !important;
    margin: 0;
}



/* news_btn
–––––––––––––––––––––––––––––––––––––––––––––––––– */


.top .topNews a:hover .news_btn {
	opacity: 0;
}

.top .topNews .news_btn,
.top .topNews .news_btn_hover{
    width: 250px;
    position: absolute;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    bottom: 0;
}

.top .topNews .news_btn{
    z-index: 2;
}


    /* TOP_NEWS_5月終了後
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.top_newsarea{
    padding: 0;
    border: solid var(--black);
    border-width: 2px 0 2px 0;
    margin: 15px 0px 0;
}

.top_news_article{
    display: flex;
    align-items: center;
    background: var(--yellow);
}

.top_news_article h4{
    margin-bottom: 0;
    color: var(--yellow);
    background: var(--black);
    padding: 0 15px;
    font-weight: 700;
    font-size: 3.4rem;
}

.top_newsarea .top_news_text{
    display: flex;
    padding: 0 15px;
    align-items: center;
    gap: 10px;
}

.top_newsarea .top_news_date{
    margin: 0;
    color: #578285;
    font-weight: 600;
}

.top_news_p{
    margin: 0;
    font-weight: 600;
}








/* TOP_知る・体験する・未来が見える
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.sec_greeting{
    background-color: #fff;
    padding: 60px 0;
    position: relative;
}

.sec_greeting ul{
    list-style: none;
    margin: 0;
    display: flex;
    padding: 0 20px 15px;
}

.sec_greeting h6{
    margin-bottom: 0;
}



.sec_greeting:after{
    content: "";
    width: 0;
    height: 0;
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 30px solid #ffffff;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 3;
}



















    /* TOP プログラム_タブ
–––––––––––––––––––––––––––––––––––––––––––––––––– */

/* タブ */
#sec02 .nav-link{
    padding: 0.5rem 0.5rem 40px;
}

#sec02 .nav-item{
    border-left: solid 2px #fff;
    width: 25%;
}

#sec02 .nav-item:first-of-type{
    border-left: none;
}

.nav-tabs {
    border: 0px none;
}

.nav-tabs .nav-link {
    border: 0px none;
    border-top-left-radius: 0rem;
    border-top-right-radius: 0rem;
    letter-spacing: 0.3rem;
    font-weight: bold;
    position: relative;
}


.nav-tabs .nav-link:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 15px solid #fff;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 3;
    border-radius: 2px;
}

.nav-tabs .active:after {
    border-top: 15px solid var(--yellow);
    bottom: 15px;
}



/* タブのアニメーション(選んでいないとき) */
#sec02 .nav-tabs .first_year .nav-link:not(.active) {
    /*background-color: rgba(147, 170, 176, 1.0);*/
    background-color: #c1d2d6;
    color: #777777;
}

#sec02 .nav-tabs .second_year .nav-link:not(.active) {
    /*background-color: rgba(147, 170, 176, 1.0);*/
    background-color: #c1d2d6;
    color: #777777;
}

#sec02 .nav-tabs .third_year .nav-link:not(.active) {
    background-color: #c1d2d6;
    color: #777777;
}

#sec02 .nav-tabs .fourth_year .nav-link:not(.active) {
    background-color: #c1d2d6;
    color: #777777;
}



/* タブのアニメーション(選んでるとき) */
#sec02 .nav-tabs .first_year .nav-link {
    background-color: rgba(25, 51, 56, 1);
    color: white;
}

#sec02 .nav-tabs .second_year .nav-link {
    background-color: rgba(25, 51, 56, 1);
    color: white;
}

#sec02 .nav-tabs .third_year .nav-link {
    background-color: rgba(25, 51, 56, 1);
    color: white;
}

#sec02 .nav-tabs .fourth_year .nav-link {
    background-color: rgba(25, 51, 56, 1);
    color: white;
}


#sec02 .nav-tabs .first_year .nav-link:hover{
    background-color: #74cdd4;
}

#sec02 .nav-tabs .second_year .nav-link:hover{
    background-color: #74cdd4;
}

#sec02 .nav-tabs .third_year .nav-link:hover{
    background-color: #74cdd4;
}

#sec02 .nav-tabs .fourth_year .nav-link:hover{
    background-color: #74cdd4;
}

.top_tab_h3{
    text-align: center;
    font-weight: 800;
    letter-spacing: 0.2rem;
    position: relative;
    margin-bottom: 4rem;
    padding-bottom: 0px;
    background: #fff;
    display: inline-block;
    padding: 2px 10px;
    border-radius: 5px;
}

#item4 .top_tab_h3 {
    color: #fff;
    background:var(--black);
}

#item3 .top_tab_h3:after ,
#item4 .top_tab_h3:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid #fff;
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 3;
    border-radius: 2px;
}

#item4 .top_tab_h3:after {
    border-top: 20px solid var(--blue);
}

.child #item3 .top_tab_h3:after ,
.child #item4 .top_tab_h3:after {
    border-top: 20px solid var(--blue);
}


#item2 .top_tab_h3:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid var(--blue);
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 3;
    border-radius: 2px;
}





    /* TOP 3月概要
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.top .top_prologue .outer{
    width: 100%;
    background: #fff;
    border: solid 3px var(--black);
    border-radius: 13px;
    padding: 15px;
    position: relative;
    z-index: 2;
}

.top .top_prologue .outer .innner{
    position: relative;
    z-index: 5;
}


.top .top_prologue .outer .program_title{
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    align-items: flex-end;
}

.top .top_prologue .outer .program_title .date_img{
    width: 30%;
    padding: 10px;
}

.top .top_prologue .outer .program_title .title_img{
    width: 70%;
    padding: 10px;
}

.top .top_prologue .outer h5{
    font-size: 3rem;
    font-weight: 700;
    text-align: center;
    width: 100%;
    background-color: var(--yellow);
    border: solid 2px var(--black);
    border-radius: 5px;
    padding: 3px;
    margin: 5px 10px;
}

.top .top_prologue{
    position: relative;
}



/*

.top .top_prologue .outer ul{
    padding:0;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    position: relative;
}

.top .top_prologue .outer ul li{
    width: 33.333%;
    padding: 5px;
    position: relative;
}

.top .top_prologue .outer ul li img{
    position: relative;
    width: 100%;
    margin: 0 auto;
    background-color: #fff;
}
*/

.top .top_prologue .outer ul li .program_box{
    text-align: center;
    border: solid 3px var(--black);
    background: #fff;
    border-radius: 15px;
    padding: 15px;
    height: 250px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.top .top_prologue .box01 .program_box,
.top .top_prologue .box02 .program_box,
.top .top_prologue .box03 .program_box,
.top .top_prologue .box04 .program_box{
    align-items: flex-end;
}

.top .top_prologue .box05 .program_box,
.top .top_prologue .box06 .program_box,
.top .top_prologue .box07 .program_box{
    align-items: center;
}

.top .top_prologue .program_box h6{
    color:#24ab67;
    font-weight: 700;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    height: 30%;
}

.top .top_prologue .box01 .program_box h6,
.top .top_prologue .box02 .program_box h6,
.top .top_prologue .box03 .program_box h6,
.top .top_prologue .box04 .program_box h6{
    font-size: 2.2rem;
    line-height: 3.0rem;
}

.top .top_prologue .box05 .program_box h6,
.top .top_prologue .box06 .program_box h6,
.top .top_prologue .box07 .program_box h6{
    font-size: 2.5rem;
    line-height: 3.0rem;
}

.top .top_prologue .program_box p{
    text-align: center;
    width: 100%;
    font-weight: 600;
    font-size: 1.7rem;
    line-height: 2.2rem;
}

.top .top_prologue .program_box .box_text01{
    margin: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--black);
}


.top .top_prologue .program_box .box_text02{
    background: var(--black);
    margin: 0;
    border-radius: 5px;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    height: 60px;
}


.top .top_prologue .character {
    position: absolute;
    bottom: -5%;
    right: 0;
    width: 80%;
    z-index: 9;
    border-bottom: solid 3px var(--black);
    border-radius: 1px;
}

.top .top_prologue .character .character02 {
    position: absolute;
    bottom: 0;
    right: 0;
}

.top .program_btn{
    text-align: center;
    padding: 30px 15px 20px;
}

.top .program_btn img{
    width: 450px;
    margin: 0 auto;
}

.top .program_btn img:hover{
    opacity: 0.5;
}


.outer_img01{
    position: absolute;
    bottom: -30%;
    left: 0%;
    z-index: 1;
}

.outer_img02{
    position: absolute;
    top: 10%;
    z-index: 1;
    right:0%;
}








*{
    margin:0;
    padding:0;
    line-height:1.3;
}

.flex-schedule {
    max-width: 750px;
    list-style: none;
    margin: 0 auto;
    box-sizing: border-box;
}

.flex-schedule .flex-schedule_li {
    width: 100%;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    justify-content: flex-start;
    position: relative;

}

.flex-schedule .area {
    padding: 10px 10px 10px 30px;
    display: block;
    width: 100%;
    border-left: 3px solid var(--black);
}

.flex-schedule .area_2{
    background: #cbf4f7;
}

.flex-schedule .area_2 h3 {
    font-size: 2.5rem;
    display: flex;
    align-items: center; /* 垂直中心 */
    justify-content: center; /* 水平中心 */
    font-weight: 600;
}

.flex-schedule .area_2 h3:before,
.flex-schedule .area_2 h3:after {
border-top: 1px solid;
content: "";
width: 2em; /* 線の長さ */
}

.flex-schedule .area_2 h3:before {margin-right: 1em; /* 文字の右隣 */}
.flex-schedule .area_2 h3:after {margin-left: 1em; /* 文字の左隣 */}


.top .top_prologue .outer .sch_box h5{
    margin: 0 0 10px;
    font-size: 2rem;
    font-weight: 900;
    border: none;
}

.flex-schedule li .time {
    margin-right: 1em;
    margin-top: 30px;
    width: 200px;
    text-align: right;
    font-weight: 700;
    font-size: 2.1rem;
}

.flex-schedule li .time span {
    font-weight: 400;
    font-size: 13px;
    background-color: var(--blue);
    width: 100%;
    display: block;
    text-align: center;
    margin-top: 2px;
    border-radius: 2px;
}

.flex-schedule .sch_box {
    position: relative;
    min-height: 1em;
    padding: 1em;
    background: #fff;
    border-radius: 6px;
    border: solid 1px var(--black);
}

.flex-schedule .sch_box::before {
    content: "";
    position: absolute;
    left: -41.5px;
    top: 20px;
    background: var(--black);
    width: 20px;
    height: 20px;
    border-radius: 10px;
}

.flex-schedule .sch_title {
    font-weight: 700;
}

.flex-schedule .sch_tx {
    font-size: 14px;
    font-weight: normal;
}

.flex-schedule .sch_box li{
    list-style: none;
}

.flex-schedule .sch_box h4{
    font-size: 2.3rem;
    margin-bottom: 8px;
    padding: 0 3px 5px;
    border-bottom: solid 1px var(--black);
    color: #E9607C;
    font-feature-settings: "palt";
}

.flex-schedule .sch_box h6{
    margin-bottom: 8px;
    display: inline-block;
    font-weight: 700;
    border-bottom: solid 4px var(--blue);
}

.flex-schedule .sch_box .sch_tx{
    padding-bottom: 3px;;
}

.flex-schedule .sch_box p{
    margin-bottom: 5px;
}

.flex-schedule .sch_box_img01 p,
.flex-schedule .sch_box_img02 p{
    width: 75%;
}


.flex-schedule .sch_box img{
    position: absolute;
    right: -50px;
    bottom: -1px;
    width: 190px;
}

.flex-schedule .sch_title a{
    color: var(--black);
    text-decoration: none;
    font-weight: 400;
    border: solid 1px var(--black);
    border-radius: 50px;
    padding: 0 15px 1px 10px;
    font-size: 1.5rem;
    position: relative;
    top: -2px;
    background: rgb(255, 237, 5,0.7);
}

#modal05 img{image-rendering: -webkit-optimize-contrast;}




 /* 注釈アコーディオン */
.accordion-001 summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    cursor: pointer;
}

.accordion-001 summary::-webkit-details-marker {
    display: none;
}

.accordion-001 summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 8px;
    height: 8px;
    margin-left: 10px;
    border-bottom: 2px solid #E9607C;
    border-right: 2px solid #E9607C;
    content: '';
    transition: transform .3s;
}

.accordion-001[open] summary::after {
    transform: rotate(225deg);
}

.accordion-001 p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 2em 1.5em;
    color: #333333;
    transition: transform .5s, opacity .5s;
}

.accordion-001[open] p {
    transform: none;
    opacity: 1;
}





    /* TOP 未開催スケジュール
–––––––––––––––––––––––––––––––––––––––––––––––––– */


section#top_schedule_list_area{
    padding: 100px 0 0;
    z-index: 2;
    position: relative;
    background: var(--yellow);
}

.top .top_schedule_list ul{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    justify-content: center;
    margin: 0;
    position: relative;
    border-top: solid #FFF 4px;
}

.top_schedule_list #schedule_0511 ul{
    margin-bottom: -3px;
    padding: 0;
}


.top_schedule_list #schedule_0802_03 .program_list{
    padding: 15px;
    gap: 10px;
    justify-content: flex-start;
}

.timetable080203 .timetable_area{
    padding: 0 15px 0;
}


.schedule_1025-26_box{
    padding:15px 15px 10px;
}


.top .top_schedule_list .program_list_li01{
    width: 33.3333%;
}

.top .schedule_0802_03 .program_list .program_list_li01{
    width: calc(33% - 5px);
}


.top .top_schedule_list .program_list_li02{
    width: 50%;
}

.top .top_schedule_list ul li img{
    padding: 5px 0 5px;
    position: relative;
}

.top .top_schedule_list .schedule_box_08023 img {
    padding: 0;
    position: relative;
    border: solid 2px;
    border-radius: 8px;
    margin-bottom: 10px;
}

.top .schedule_0511,
.top .schedule_0802_03,
.top .schedule_1025-26 {
    background: #fff;
    border: solid 3px;
    border-radius: 13px;
    margin-bottom: 50px;
    text-align: center;
}

.top .schedule_0511{
    padding: 40px 15px 15px;
}

.top .schedule_0511 h3 {
    font-weight: 900;
    text-align: center;
    background: var(--yellow);
    margin: 0 auto;
    padding: 4px 10px 10px;
    border-radius: 0 0 10px 10px;
    margin-bottom: 10px;
    border: solid;
    border-width: 0 2px 2px 2px;
}


.top .schedule_0511 .date0511{
    margin: 0 auto;
    padding-bottom: 25px;
    margin-bottom: 20px;
    border-bottom: solid var(--black) 3px;
    display: inline-grid;
}

.top .schedule_0511 .date0511 h5{
    font-weight: 800;
    font-size: 3.0rem;
    margin-bottom: 0;
    background: var(--yellow);
    display: inline-block;
    padding: 5px 10px;
    border-radius: 0 0 10px 10px;
    border: solid var(--black);
    border-width: 0 2px 2px 2px;
}

.top .schedule_0511 .date0511 img{
    width: 100%;
}


.top .schedule_0511 ul {
    margin-bottom: 0;
}

.top .schedule_0511 ul li{
    padding: 10px;
}

.top .schedule_0511 ul.themes_ul li{
    padding: 0 10px;
}

.top .schedule_0511 ul li .schedule_box_0511{
    border-radius: 15px;
    background-color: var(--blue);
    padding: 10px;
    height: 100%;
    border: solid 1px rgb(0, 0, 0, 0.4);
}

.top .schedule_0511 ul li img{
    border-radius: 7px;
    padding: 0;
}

.top .schedule_0511 ul li p{
    text-align: center;
    margin-top: 10px;
    font-weight: 700;
    font-size: 1.7rem;
    line-height: 2.3rem;
    margin-bottom: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 60px;
    background: #fff;
    color: var(--black);
    border-radius: 4px;
}


.top .schedule_0511 h4{
    font-weight: 800;
    color: var(--black);
    padding: 5px 0;
    margin: 0 -15px 15px;
    border: solid var(--black);
    border-width: 2px 0 2px 0;
    background: var(--yellow);
}



.top .schedule_0511 .program_btn_before {
    margin-top: 15px;
    margin-bottom: 0;
    background: var(--black);
    color: var(--yellow);
    padding: 13px 0;
}

.top .schedule_0511 .program_btn {
    text-align: center;
    padding: 20px 15px 20px;
}

.top #top_schedule_list_area .date0511{
    background: #fff;
    border: solid;
    border-width: 3px 3px 0 3px;
    border-radius: 10px 10px 0 0;
    padding: 0 0 5px;
    margin-right: 5px;
}



.top .schedule_0511 .schedule_box_sub{
    position: absolute;
    bottom: 60px;
    right: -15px;
    width: 33%;
    border: solid;
    border-width: 2px 0 2px 2px;
    border-radius: 10px 0 0 10px;
    background: var(--yellow);
    padding: 15px 0;
}


.top .timetable_area p {
    height: auto !important;
}

.top .timetable_area h2{
    padding-bottom: 0 !important;
}

.top .timetable0511 .timetable_area ul{
    padding-bottom: 15px;
}

.top .schedule_0511 ul .program_list_li02 p {
    border-radius: 4px 4px 0 0;
    font-size: 2.7rem;
}

.top .department_link{
    background: #fff;
    border-radius: 0 0 4px 4px;
    padding: 10px !important;
}

.top .department_link li{
    width: 50%;
    text-align: left;
    padding: 5px !important;
}

.top .department_link li a{
    font-weight: 500;
}

.top .department_link li a::before {
    content: "";
    margin-right: 0.3em;
    display: inline-block;
    border-style: solid;
    border-width: 0.5em 0 0.5em 0.865em;
    transform: translateY(0.1em) scale(0.8);
}

.top .department_link li .link_civil::before {border-color: transparent transparent transparent var(--civil);}
.top .department_link li .link_arch::before {border-color: transparent transparent transparent var(--arch);}
.top .department_link li .link_mech::before {border-color: transparent transparent transparent var(--mech);}
.top .department_link li .link_ee::before {border-color: transparent transparent transparent var(--ee);}
.top .department_link li .link_chem::before {border-color: transparent transparent transparent var(--chem);}
.top .department_link li .link_cs::before {border-color: transparent transparent transparent var(--cs);}


.program_banner_area {
    display: flex;
}

.program_banner_area li{
    width: 50%;
}

.top .program_sub{
    text-align: center;
    background: var(--yellow);
    border: solid var(--black);
    border-width: 2px 0 2px 0;
    margin: 15px -15px 10px;
}

.top .program_sub img{
    margin: 0 auto;
    padding: 5px 15px;
}


.collaboration080203{
    background-color: #44bcce;
    padding: 30px 0;
    margin: 30px 0 20px;
}

.collaboration080203 h3{
    color: #44bcce;
    border-radius: 4px;
    font-weight: 800;
    padding: 3px 20px 5px;
    position: relative;
    display: flex;
    align-items: center; /* 垂直中心 */
    justify-content: center; /* 水平中心 */
    z-index: 1;
    margin-bottom: 10px;
}

.collaboration080203 h3 span{
    display: inline-block;
    background-color: #fff;
    padding: 5px 15px;
    border-radius: 2px;

}

.collaboration080203 h3:before, .collaboration080203 h3:after {
    display: block;
    border-top: 3px solid #fff;
    content: "";
    width: 100%;
    position: absolute;
    z-index: -1;
}



.collaboration080203 h4{
    color: #fff;
    font-weight: 700;
}

.top .collaboration080203 ul{
    gap: 10px;
    flex-wrap: nowrap;
    border: none;
    padding: 0 15px 15px;
}

.collaboration080203 li{
    width: 33%;
    border: solid 2px var(--black);
    border-radius: 10px;
    background-color: #fff;
}

.collaboration080203 .collabo_box01 {
    background: var(--black);
    border-radius: 5px 5px 0 0;
}

.collaboration080203 .collabo_box01 img {
    padding: 0;
    position: relative;
}

.collaboration080203 .collabo_box02{
    padding: 5px 10px 10px;
    text-align: left;
}

.collaboration080203 .collabo_box02 img{
    border-radius: 10px;
}

.collaboration080203 .collabo_box02 h5{
    font-size: 1.7rem;
    color: #fff;
    background-color: #00a9c2;
    display: inline;
    position: relative;
    top: -10px;
}

.collaboration080203 .collabo_box02 p{
    margin-bottom: 0;
}







    /* TOPアーカイブ
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.top_archive2025{
    background-color: var(--blue);
}

.top_archive2025_slide_area{
    background-color: #fff;
    position: relative;
    width: 100%;
    padding: 100px 0 4%;
    border-radius: 20px;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}

.top .top_archive2025_slide_area .top_archive_h2 {
    max-width: 500px;
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    top: -70px;
}


.top .top_archive2025_slide_area p{
    padding: 10px 5%;
    font-weight: 700;
    text-align: center;
    position: relative;
}

.top_archive_btn{
    position: relative;
    padding-top: 0;
}

.top_archive_btn .top_archive_img{
    position: absolute;
    right: 0;
    left: 0;
    margin: 0 auto;
    bottom: 65px;
    max-width: 330px;
}

.slick-slider {
    pointer-events: none;
}


    /* TOP参加者の声
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top .top_voice{
    padding-top: 40px;
    border-top: solid 2px var(--black);
    margin-top: 40px;
}

.top .top_voice h2{
    position: relative;
}


.top .top_voice h2.top_voice_h2 p{
    padding: 5px 15px;
    font-size: 2.4rem;
    margin-bottom: 0;
}

.top .top_voice h2.top_voice_h2::before{
    content: url(../img2025/top_voice_obj.svg);
    position: relative;
    left: 0;
    right: 0;
    top: 0;
    width: 130px;
    display: block;
    margin: 0 auto;
    padding-bottom: 7px;
}



.top_archive{
    background: var(--yellow);
    padding-top: 70px;
    padding-bottom: 160px;
    padding-left: 0;
    padding-right: 0;
}

.top .top_voice ul{
    list-style: none;
    padding: 0 3%;
    display: flex;
    justify-content: center;
}

.top .top_voice ul li{
    width: 33.33333%;
}

.top .top_voice ul li{
    padding: 0;
}

.top_archive_btn a img{
    padding-top: 0;
    max-width: 330px;
}




    /* TOP動画紹介
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top .top_movie{
    background-color: var(--yellow);
    position: relative;
}

.top .top_movie:after{
    content: url(../img2025/movie_obj.svg);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    pointer-events: none;
    width: 990px;
    margin: 0 auto;
}

.top .movie_img{
    border: solid 20px #fff;
    border-radius: 30px;
    position: relative;
}

.top .movie_img img{
    border: solid 2px var(--black);
    border-radius: 9px;
}

.top .movie_img:after{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin: auto;
    width: 120px;
    height: 120px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
    background: url(../img2025/top_movie_icon_black.png) no-repeat center / contain;
    content: "";
}

.top #top_movie .modal-content {
    width: 100%;
    pointer-events: auto;
    background-color: rgba(0, 0, 0, 0);
    background-clip: padding-box;
    border: 0;
    border-radius: 0;
}

.top #top_movie .modal-content {
    width: 100%;
    aspect-ratio: 16 / 9;
}
.top #top_movie .modal-content iframe {
    width: 100%;
    height: 100%;
}


.close {
    text-shadow: none;
}



    /* TOP学科紹介
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top #top_department{
    padding: 140px 0 200px;
}

.top_child h2{
    position: relative;
}

.top_child h2:after{
    content: url(../img2025/department_charas.svg);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 105%;
}

.top_department_list ul{
    padding: 0;
    list-style: none;
    display:flex;
    flex-wrap: wrap;
}

.top_department_list ul li{
    width: 33.33333%;
    padding: 10px;
    position: relative;
    margin-bottom: 20px;
}

.top_department_list ul li a{
    display: block;
}

.top_department_list .list_img01,
.top_department_list .list_img01_hover{
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    z-index: 1;
    padding: 10px;
	-webkit-transition: .1s ease-in-out;
	transition: .2s ease-in-out;
}


.top_department_list_li:hover .list_img01,
.top_department_list_li:hover .list_img03 {
	opacity: 0;
}

.top_department_list .list_img02{
    width: 100%;
    height: 100%;
    position: relative;
    z-index: -2;
}

.top_department_list .list_img03,
.top_department_list .list_img03_hover{
    width: 70%;
    position: absolute;
    left: 50%;
    z-index: 1;
    transform: translate(-50%, -50%);
    bottom: -8%;
}

.top_department_list .list_img01_hover,
.top_department_list .list_img03_hover{
    z-index: 0;
}



    /* TOP_アクセス
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#top_access{
    background-color: var(--yellow);
}

.top .top_access .access_text,
.top .top_access .access_img{
    width: 50%;
}

.top .top_access .top_access01, 
.top .top_access .top_access03{
    padding: 40px 0;
}

.top .top_access .access_text{
    padding-right: 20px;
}

.top .top_access h5 {
    font-weight: 700;
    border-bottom: solid 3px;
    padding-bottom: 10px;
}

.top_access01 .access_text ul{
    padding:0;
    list-style: none;
}

.top_access01 .access_text ul li{
    margin-bottom: 7px;

}

.top_access01 .access_text ul li a{
    background: #2e969e;
    display: block;
    color: #fff;
    font-weight: 600;;
    border-radius: 50px;
    padding: 10px 20px;
    width: 100%;
    position: relative;
}

.top_access01 .access_text ul li a:after{
    position: absolute;
    top: 50%;
    right: -10px;
    transform: translate(-50%, -50%);
    margin: auto;
    height: 35px;
    width: 35px;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
    background: url(../img2025/top_access_a-icon.png) no-repeat center / contain;
    content: "";
}

.top_access03 ul{
    padding: 0;
    width: 100%;
}

.top_access03 ul li{
    list-style: none;
    border-bottom: solid 1px var(--black);
    margin-bottom: 10px;
    padding-bottom: 5px;
}

.top_access03 ul li h6{
    font-weight: 700;
    margin-bottom: 5px;
    padding-left: 20px;
    position: relative;
}

.top_access03 ul li h6:before{
    position: absolute;
    content: "";
    border-left: 12px solid black;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    left: 0;
    top: 6px;
}

.top_access03 ul li p{
    font-weight: 500;
}



/*modal*/
.top .top_access .modal-lg {
    max-width: 500px;
}

.modal-content button.close{
    display: inline-block;
    text-align: right;
}

.modal-content button.close span{
    font-size: 3.0rem;
}




.bus_timetable ul li{
    display: flex;
    align-items: center;
}


.bus_timetable ul li h6,
.bus_timetable ul li p{
    margin: 0;
}

.bus_timetable ul li h6{
    color: var(--yellow);
    background-color: var(--black);
    padding: 1px 10px;
    border-radius: 3px 0 0 3px;
    height: 30px;
}

.bus_timetable ul li p{
    font-size: 2rem;
    font-weight: 700;
    background-color: #fff;
    padding: 1px 10px;
    height: 30px;
    display: flex;
    align-items: center;
    border-radius:  0 3px 3px 0;
}

.access_outside_link{
    padding: 40px 0;
}

.access_outside_link h6{
    border-bottom: solid;
    width: 100%;
}

.access_outside_link ul{
    display: flex;
    list-style: none;
    margin: 0;
    flex-wrap: nowrap;
}















    /* TOPリンク
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#top_link{
    padding: 140px 0 80px;
    background-color: #f4f4f4;
    position: relative;
}

#top_link:before{
    position: absolute;
    top: 0;
    right: 0;
    width: 400px;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
    background: url(../img2025/top_link_obj02.png) no-repeat top / contain;
    content: "";
}

#top_link:after{
    position: absolute;
    bottom: 0;
    left: 0;
    width: 400px;
    height: 100%;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    display: block;
    background: url(../img2025/top_link_obj01.png) no-repeat bottom / contain;
    content: "";
}

.top_link h2{
    position: relative;
}

.top_link h2:after{
    content: url(../img2025/top_link_chara.svg);
    position: absolute;
    left: 0;
    right: 0;
    bottom: 105%;
    width: 370px;
    margin: 0 auto;
}

.top_link .link_banner,
.top_link .link_sns {
    z-index: 1;
    position: relative;
}

.top_link ul{
    padding: 0;
    list-style: none;
}

.top_link li{
    padding: 10px;
    width: 33.333333%;
}

.top_link .footer_link02 li{
    padding: 10px;
    width: 33.333333%;
}

.top_link .link_banner ul li img{
    border: solid 2px var(--black);
    border-radius: 10px;
}

.top_link .link_sns .sns_icon_block{
    text-align: center;
    background: #fff;
    padding: 25px;
    border-radius: 20px;
    opacity: 1.0;
}

.top_link .link_sns .sns_icon_block img{
    padding: 10px 10px 0;
}

.top_link .link_sns .sns_icon_block .sns_icon{
    width: 130px;
    padding: 20px 0 10px;
}

.link_banner li a {
    display: block;
    background: #fff;
    border-radius: 10px;
}

.link_banner li img {
	-webkit-transition: .2s ease-in-out;
	transition: .2s ease-in-out;
    opacity: 1.0;
}


.link_banner li img:hover{
    opacity: 0.5;
}

.top_link .link_sns .sns_icon_block :hover{
    opacity: 0.5;
}




    /* footer
–––––––––––––––––––––––––––––––––––––––––––––––––– */

footer{
    background-image: url(../img2025/footer_back.png);
    background-position-x: right;
    background-position-y: bottom;
    background-size: contain;
    background-repeat: no-repeat;
    background-color: var(--blue);
}

footer section {
    padding: 80px 0;
}

footer h2{
    padding: 0 !important;
    line-height: normal !important;
}

footer p{
    text-align: center;
}


footer .footer-link{
    background: #fff;
    padding: 15px;
    border-radius: 20px;
    border: solid 2px var(--black);
    margin-bottom: 30px;
}


footer .footer-link h2 img{
    width: 400px;
}

footer .footer-link ul{
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex;
}

footer .footer-link ul li img{
    padding: 5px 5px 0;
}


footer .contact__title,
footer .contact__mail {
    text-align: center;
    font-size: 3rem;
    line-height: 3rem;
    font-weight: 800;
}

footer .contact__title a,
footer .contact__mail a {
    color: var(--black);
}

.footer-btm{
    background-color: #fff;
    padding-top: 7px;
}

.footer-btm img{
    width: 200px;
}


.contact .container {
    max-width: 720px !important;
}

@media (min-width: 576px) {
    .contact .container {
        max-width: 540px !important;
    }
}










/*    ––––––––––––––––––––––––––––––––––––––––––––––––––
子ページ
–––––––––––––––––––––––––––––––––––––––––––––––––– */





    /* エントリーページ
–––––––––––––––––––––––––––––––––––––––––––––––––– */

body.child .nav_logo {
position: fixed;
background: #193338;
cursor: pointer;
width: 130px;
height: auto;
z-index: 97;
top: 70px;
right: 0;
padding: 10px 5px;
border-top: solid 3px #fff;
}

.entry main {
    background-color: var(--blue);
}

.entry h2 {
    max-width: 400px;
    text-align: center;
    margin: 0 auto;
    line-height: 4rem;
    padding-bottom: 20px;
}

.entry h2 p{
    text-align: center;
    color: #fff;
    background-color: #193338;
    display: inline-block;
    font-size: 3rem;
    line-height: normal;
    padding: 0 50px 2px;
    border-radius: 3px;
    font-weight: 700;
}

.entry .top-img{
    padding: 50px 0;
}


.entry .top-img .sub_text {
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.6;
    font-weight: bold;
    margin-bottom: 0;
    letter-spacing: 0;
}


.entry .sec02 {
    background-color:#fff;
    padding: 80px 0 120px;
}

.entry .sec02 h3 {
    font-size: 2.0rem;
    letter-spacing: 0.05rem;
    font-weight: bold;
    position: relative;
    text-align: center;
    color: var(--yellow);
    background-color: var(--black);
    padding: 10px 15px;
    border-radius: 5px;
    display: inline-block;
}

.entry .sec02 h3:before {
    content: "";
    position: absolute;
    top: 75%;
    left: 50%;
    margin-left: -20px;
    border: 20px solid transparent;
    border-top: 20px solid var(--black);
}

.entry .sec02 .box {
    background-color: #fff;
    margin-bottom: 40px;
    border: solid 3px var(--black);
    border-radius: 20px;
}



.entry .sec02 .box01{
    padding: 15px;
}

.entry .sec02 .box01 ul{
    list-style: none;
}




.entry_text_date{
    padding:10px;
}

.entry .entry_text_date ul{
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    padding: 0 15px 15px;
}

.entry .entry_text_date li{
    width: 25%;
    padding: 5px;
}

.entry_text_date .entry-box {
    text-align: center;
    background-color: #fff;
    border: solid 3px var(--blue);
    border-radius: 10px;
}

.entry_text_date .entry-box img{
    padding: 15px;
}

.entry .sec02 .entry-box .btn {
    width: 100%;
    padding: 15px;
    box-shadow: 0px 0px var(--black);
    position: relative;
	overflow: hidden;
    transition: ease .2s;
    border-radius: 0 0 7px 7px;
}

.entry .entry_btn {
    border-top: solid 2px var(--black);
    position: relative;
    z-index: 1;
    -webkit-transition: .1s ease-in-out;
    transition: .2s ease-in-out;
}

.entry .entry_btn_hover{
    border-top: solid 2px var(--black);
    position: absolute;
    width: 100%;
    top: 0;
    height: 100%;
    z-index: 0;
}

.entry .entry_btn:hover {
opacity: 0;
}

.entry_text{
    background-color: #f4f4f4;
    padding: 15px;
    border-radius: 0 0 20px 20px;
}

.entry_text ul{
    padding: 0;
}

.entry .entry_text a {
    text-decoration: underline;
    color: var(--red);
}

.entry .entry_text li {
    list-style: none !important;
    padding-left: 0.8em !important;
    text-indent: -0.3em !important;
    border-bottom: solid 2px #d2dbf0 !important;
    padding-block: 12px;
    margin-bottom: 0px;
}

.entry .entry_text li:last-child {
    border: none !important;
}












/*    ––––––––––––––––––––––––––––––––––––––––––––––––––
学科ページ
–––––––––––––––––––––––––––––––––––––––––––––––––– */

    /* 学科ページ共通
–––––––––––––––––––––––––––––––––––––––––––––––––– */

body.department{
    background-color: var(--blue);
}


.department_back{
    position: fixed;
    z-index: -1;
    height: 100vh;
    object-fit: cover;
    object-position: bottom;
    width: 100%;
}

.department .top-img,
.archive2025 .top-img {
    padding-top: 50px;
}


.Program_area{
    background: rgb(255,255,255,1.0);
    border-radius: 0 0 20px 20px;
    padding: 40px 5px 15px;
    margin-bottom: 50px;
    text-align: center;
}

.Program_area .Program_title {
    position: relative;
}

.Program_area .Program_title01 h3{
    padding: 30px 15px 15px;
    border: solid var(--black);
    border-width: 2px 0 2px 0;
    margin: 80px 15px 20px;
    font-weight: 900;
    letter-spacing: 0.2rem;
    font-size: 4.0rem;
}

.Program_area .Program_title01 img{
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 260px;
}

.Program_area .Program_title02 h3{
    padding: 30px 0 15px 10px;
    border: solid var(--black);
    border-width: 2px 0 2px 0;
    margin: 0 0 20px;
    font-weight: 900;
    letter-spacing: 0.2rem;
    font-size: 3.5rem;
    background: #fff;
}

.Program_area .Program_title02 img{
    position: absolute;
    top: -45px;
    left: 0;
    width: 220px;
}



.department .top-img h2 img{
    background: #fff;
    border-radius: 5px;
    margin-bottom: 10px;
}

.child h2 .h2_furigana {
    color: #fff;
    border-radius: 5px;
    letter-spacing: 0.5rem;
    padding-bottom: 8px;
}

.civil h2 .h2_furigana {background: var(--civil);}
.arch h2 .h2_furigana {background: var(--arch);}
.mech h2 .h2_furigana {background: var(--mech);}
.ee h2 .h2_furigana {background: var(--ee);}
.chem h2 .h2_furigana {background: var(--chem);}
.cs h2 .h2_furigana {background: var(--cs);}

.Academic_Program{
    position: relative;
    padding-top: 40px;
}

.department_character{
    text-align: center;
    position: relative;
    top: 0;
}


.department_main_character{
    position: relative;
    z-index: 1;
}

.department_main_character:after{
    content: "";
    background-color: rgb(255,255,255,1.0);
    height: 30%;
    width: 100%;
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: -1;
    border-radius: 20px 20px 0 0;
}

.department_sub_character{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    z-index: -1;
}


    /* プログラム
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.Program_block01 ul,
.Program_block01 ul li,
.Program_block02 ul,
.Program_block02 ul li{
    list-style: none;
}

.Program_block01 {
    padding: 0 15px;
}

.Program_block01 .summary{
    display: flex;
    margin-bottom: 10px;
}

.Program_block01 .summary_title{
    background-color: var(--black);
    color: #fff;
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 10px;
    margin-bottom: 0;
    border-radius: 5px;
    font-weight: 700;
    letter-spacing: 0.3rem;
    width: 25%;
}

.Program_block01 .summary_contents{
    width: 75%;
    text-align: left;
    padding: 5px 0 5px 15px;
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.Program_block01 .summary_contents li{
    width: 100%;
    font-size: 2.1rem;
    font-weight: 500;
    padding: 4px 0px;
}

.Program_block01 .summary_contents li span{
    background: #35b6ad;
    padding: 0 5px;
    border-radius: 4px;
    color: #fff;
}


.Program_block01 .summary_contents h4{
    font-weight: 900;
    color: var(--red);
    font-size: 4rem;
    margin-bottom: 10px;
}


.Program_block01 .summary_contents p{
    margin-bottom: 0;
}

.Program_block01 .comments{
    border-top: solid 1px;
    padding: 15px 0;
    line-height: 2.3rem;
    margin: 15px 0 30px;
}








.Program_block_arch{
    padding: 10px 15px 50px;
}

.Program_block_arch .Program_block_arch_ul,
.Program_block_arch .Program_course_arch_ul {
    margin: 0;
    display: flex;
    gap: 2%;
    padding-bottom: 15px;
}

.Program_block_arch li{
    list-style: none;
}

.Program_block_arch .Program_block_arch_ul li,
.Program_block_arch .Program_course_arch_ul li {
    width: 50%;
}

.Program_block_arch .Program_course01{
    background: #fff;
    display: flex;
    align-items: center;
    padding-bottom: 10px;
}

.Program_block_arch .Program_course_arch{
    background: #fff;
    border-radius: 6px;
    padding: 15px;
}


.Program_course01_1{
    width: 25%;
    background: var(--black);
    color: #fff;
    border-radius: 5px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
}


.Program_course01_2{
    width: 75%;
    text-align: left;
    padding-left: 10px;
}

.Program_course01_2 h6{
    margin-bottom: 0;
}

.Program_block_arch .Program_block02_content {
    padding: 10px;
    border-radius: 10px;
}












.department .Program_block02{
    padding: 0 15px 50px;
}

.department .Program_block02 ul{
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
}

.Program_block02 ul li{
    width: 33.3333%;
    padding: 0 10px;
}

.civil .Program_block02_content{background-color: var(--civil);}
.civil .Program_course01 h6{color: var(--civil);}
.arch .Program_block02_content{background-color: var(--arch);}
.arch .Program_course01 h6{color: var(--arch);}
.mech .Program_block02_content{background-color: var(--mech);}
.mech .Program_course01 h6{color: var(--mech);}
.ee .Program_block02_content{background-color: var(--ee);}
.ee .Program_course01 h6{color: var(--ee);}
.chem .Program_block02_content{background-color: var(--chem);}
.chem .Program_course01 h6{color: var(--chem);}
.cs .Program_block02_content{background-color: var(--cs);}
.cs .Program_course01 h6{color: var(--cs);}





.Program_block02 .Program_course01 h6{
    margin-bottom: 10px;
    font-weight: 700;
    line-height: inherit;
}

.Program_block02_content{
    padding: 10px 10px 1px;
    border-radius: 10px;
}


.Program_block02_content h5 {
    position: relative;
    z-index: 1;
    font-weight: 800;
    margin-bottom: 15px;
}


.Program_block02_content h5::after{
    content: url(../img2025/department_course_titleback.svg);
    position: absolute;
    top: 63%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 75%;
    z-index: -1;
}

.Program_block02_content .Program_course_arch h5::after{
    content: url(../img2025/department_course_titleback_arch.svg);
}


.Program_block02 .Program_course01{
    background-color: #fff;
    border: solid 1px var(--black);
    padding: 10px;
    margin: 10px 0;
    border-radius: 5px;
    height: 170px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
}


.Program_block03{
    background: #f4f4f4;
    padding: 15px;
    border-radius: 5px;
    margin-bottom: 50px;
}

.Program_block03 .workshop_area{
    display: flex;
    padding: 10px 30px;
}

.workshop_block01_text h4{
    font-weight: 700;
    margin-bottom: 10px;
}

.civil .workshop_block01_text h4{color: var(--civil);}
.arch .workshop_block01_text h4{color: var(--arch);}
.mech .workshop_block01_text h4{color: var(--mech);}
.ee .workshop_block01_text h4{color: var(--ee);}
.chem .workshop_block01_text h4{color: var(--chem);}
.cs .workshop_block01_text h4{color: var(--cs);}




.workshop_area .workshop_block01{
    width: 60%;
    text-align: left;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    padding-right: 30px;
}

.workshop_area .workshop_block02{
    width: 40%;
}

.workshop_area .workshop_block02 img{
    border-radius: 15px;
    height: 100%;
    object-fit: cover;
}


.workshop_block01_text02{
    padding-top: 15px;
    border-top: solid 1px var(--black);
    margin-top: 20px;
}

.workshop_block01_text02 ul,
.workshop_block01_text02 ul li{
    list-style: none;
}


.workshop_block01_text02 .summary{
    display: flex;
    margin-bottom: 7px;
}

.workshop_block01_text02 .summary_title{
    background-color: var(--black);
    color: #fff;
    align-items: center;
    display: flex;
    justify-content: center;
    padding: 5px;
    margin-bottom: 0;
    border-radius: 5px;
    font-weight: 700;
    letter-spacing: 0.3rem;
    width: 25%;
}

.workshop_block01_text02 .summary_contents{
    width: 75%;
    text-align: left;
    padding: 5px 0 5px 15px;
    margin-bottom: 0;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.workshop_block01_text02 .summary_contents li{
    width: 100%;
    font-weight: 500;
}

.workshop_block01_text02 .summary_contents li span{
    background: var(--yellow);
    padding: 0 6px;
    border-radius: 4px;
}




    /* 他学科リンク
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.department_list_area{
    background: rgb(255, 255, 255, 1.0);
    border-radius: 20px;
    padding: 15px;
    margin-bottom: 50px;
    text-align: center;
}

.department_list{
    padding: 15px;
}

.department_list ul{
    padding: 0;
    list-style: none;
    display:flex;
    flex-wrap: wrap;
}

.department_list ul li{
    width: 33.33333%;
    padding: 10px;
    position: relative;
    margin-bottom: 20px;
}

.department_list ul li a{
    display: block;
}

.department_list .list_img01,
.department_list .list_img01_hover{
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    z-index: 4;
    padding: 10px;
	-webkit-transition: .1s ease-in-out;
	transition: .2s ease-in-out;
}


.department_list_li:hover .list_img01,
.department_list_li:hover .list_img03 {
	opacity: 0;
}

.department_list .list_img02{
    width: 100%;
    height: 100%;
    position: relative;
    z-index: 0;
}

.department_list .list_img03,
.department_list .list_img03_hover{
    width: 70%;
    position: absolute;
    left: 50%;
    z-index: 3;
    transform: translate(-50%, -50%);
    bottom: -8%;
}

.department_list .list_img01_hover,
.department_list .list_img03_hover{
    z-index: 2;
}





.child h2 {
    max-width: 600px;
    text-align: center;
    margin: 0 auto;
    line-height: 4rem;
    padding-bottom: 20px;
}

.child h2 p{
    text-align: center;
    color: #fff;
    background-color: #193338;
    display: inline-block;
    font-size: 3rem;
    line-height: normal;
    padding: 0 50px 2px;
    border-radius: 3px;
    font-weight: 700;
}





/* 当日プログラム・パンフレット0511
------------------------------------------------------------*/


section.timetable0511{
    padding: 0 0 120px;
}

.timetable0511 .timetable_area{
    background: rgb(255, 255, 255, 1.0);
    border-radius: 20px;
    padding: 15px;
    margin-bottom: 50px;
    text-align: center;
}

.timetable0511 .timetable_area ul{
    list-style: none;
    display: flex;
    justify-content: center;
    }

    .timetable0511 .timetable_area ul li{
        display: flex;
        align-items: center;
    }

    .timetable0511 .timetable_area ul li img{
        width: 25px;
    }

    
    .timetable0511 .timetable_area ul li p{
        margin: 0;
        padding: 0 10px 0 5px;
        font-weight: 700;
    }

    .timetable_scroll{
        display: flex;
        overflow-x: scroll;
        padding-bottom: 20px;
        margin-bottom: 10px;
    }

    .timetable_scroll img{
        min-width: 1200px;
    }



    .department .Academic_Program .nav-tabs li{
        width: 50%;
    }

    .department .Academic_Program  .nav-tabs .third_year .nav-link {
    background-color: rgba(25, 51, 56, 1);
    color: white;
}



.nav-tabs .nav-link:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 15px solid transparent;
    border-right: 15px solid transparent;
    border-top: 15px solid #fff;
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 3;
    border-radius: 2px;
}

.nav-tabs .active:after {
    border-top: 15px solid var(--yellow);
    bottom: 15px;
}

.department .Academic_Program .nav-link {
    padding: 1.5rem 0.5rem 40px;
}

.department .Academic_Program a.nav-link img {
    max-width: 270px;
}

/* タブのアニメーション(選んでいないとき) */
.department .Academic_Program  .nav-tabs .second_year .nav-link:not(.active) {
    background-color: #c1d2d6;
    color: #777777;
}

.department .Academic_Program  .nav-tabs .third_year .nav-link:not(.active) {
    background-color: #c1d2d6;
    color: #777777;
}


/* タブのアニメーション(選んでるとき) */

.department .Academic_Program  .nav-tabs .second_year .nav-link {
    background-color: rgba(25, 51, 56, 1);
    color: white;
}

.department .Academic_Program  .nav-tabs .third_year .nav-link {
    background-color: rgba(25, 51, 56, 1);
    color: white;
}

.department .Academic_Program  .nav-tabs .second_year .nav-link:hover{
    background-color: rgba(25, 51, 56, 1);
}

.department .Academic_Program  .nav-tabs .third_year .nav-link:hover{
    background-color: rgba(25, 51, 56, 1);
}












/*    ––––––––––––––––––––––––––––––––––––––––––––––––––
アーカイブページ2025
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.archive_tub{
    display: flex;
    list-style: none;
    width: 100%;
}

.archive_tub01,.archive_tub02,.archive_tub03{
    width: 33.333333%;

}



#archive2025 h3{
    text-align: center;
    font-weight: 800;
    letter-spacing: 0.2rem;
    position: relative;
    margin-bottom: 4rem;
    padding-bottom: 0px;
}

#archive2025 h3:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 20px solid transparent;
    border-right: 20px solid transparent;
    border-top: 20px solid var(--blue);
    position: absolute;
    bottom: -30px;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    z-index: 3;
    border-radius: 2px;
}


@keyframes infinity-scroll-right {
    from {
    transform: translateX(-100%);
    }
    to {
    transform: translateX(0%);
    }
}

.scroll-infinity{
    padding-top: 50px;
}

.scroll-infinity__wrap {
    display: flex;
    overflow: hidden;
}

.scroll-infinity__list {
    display: flex;
    list-style: none;
    padding: 0;
    margin-bottom: 0;
}

.scroll-infinity__list--right {
    animation: infinity-scroll-right 200s infinite linear 0.5s both;
}

.scroll-infinity__item {
    width: calc(100vw / 1);
}

.scroll-infinity__item>img {
    width: 100%;
}


.archive2025 .slider-8 .slick-slide {
    width: 300px;
    height: 200px;
    position: relative;
    overflow: hidden;
}

.archive_top_slider {
    padding: 50px 0;
    background: var(--blue);
    border: solid var(--black);
    border-width: 3px 0 3px 0;
}

.archive_top_slider .slick-slide img {
    padding: 0 3px;
}


.archive2025 .sec_message_area h2 {
    max-width: 100%;
}


.child .sec_message_area{
    padding: 5%;
    border-radius: 20px;
    background: #fff;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -8px;
}

.archive_back_message{
    position: absolute;
    bottom: 0;
    width: 100%;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: -1;
}







#archive2025 figure{
  margin: 0;
    height: 100%;
}


.gallery_container{
  padding-top: 100px;
}

.gallery {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    grid-template-rows: 200px 200px 200px 200px 200px 200px;
    grid-template-areas:
        "A B E E"
        "C D E E"
        "F F G H"
        "F F I J"
        "K L O O"
        "M N O O"
        "P Q R S"
        "T U V W";
  /* ------------ */
    gap: 10px 8px;
}

.gallery08_area{
    padding-bottom: 0;
}

.gallery08_area .gallery_hover img{
    border-width: 6px !important;
}

.gallery02,
.gallery03,
.gallery04,
.gallery05{
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 10px 8px;
}

.gallery06,
.gallery07 {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 10px 8px;
}


.gallery02{
    grid-template-rows: 170px 170px 170px;
    grid-template-areas:
        "A A B C"
        "A A D E"
        "O01 O02 O03 O04";
}

.gallery03{
    grid-template-rows: 170px 170px;
    grid-template-areas:
        "CO01 CO01 CO02 CO03"
        "CO01 CO01 CO04 CO05";
}

.gallery04{
    grid-template-rows: 170px 170px 170px 170px 170px 170px 170px 170px 170px;
    grid-template-areas:
        "F H I I"
        "G G I I"
        "G G J K"
        "M L Q Q"
        "N N Q Q"
        "N N O P"
        "S T U U"
        "R R U U"
        "R R V W";
}

.gallery05{
    grid-template-rows: 170px;
    grid-template-areas:
        "O06 O07 O05 O05"
        "O09 O08 O05 O05";
}

.gallery05{
    grid-template-rows: 170px;
    grid-template-areas:
        "O06 O07 O05 O05"
        "O09 O08 O05 O05";
}

.gallery06{
    grid-template-areas:
        "COA COB COC"
        "COD COE COF";
}

.gallery07{
    grid-template-areas:
        "COG COH COI"
        "COJ COK COL";
}



.gallery .gallery_hover,
.gallery02 .gallery_hover,
.gallery03 .gallery_hover,
.gallery04 .gallery_hover,
.gallery05 .gallery_hover,
.gallery06 .gallery_hover,
.gallery07 .gallery_hover{
    position: relative;
}

.gallery .photoA,.gallery02 .photoA {grid-area: A;}
.gallery .photoB,.gallery02 .photoB {grid-area: B;}
.gallery .photoC,.gallery02 .photoC {grid-area: C;}
.gallery .photoD,.gallery02 .photoD {grid-area: D;}
.gallery .photoE,.gallery02 .photoE {grid-area: E;}
.gallery .photoF,.gallery04 .photoF {grid-area: F;}
.gallery .photoG,.gallery04 .photoG {grid-area: G;}
.gallery .photoH,.gallery04 .photoH {grid-area: H;}
.gallery .photoI,.gallery04 .photoI {grid-area: I;}
.gallery .photoJ,.gallery04 .photoJ {grid-area: J;}
.gallery .photoK,.gallery04 .photoK {grid-area: K;}
.gallery .photoL,.gallery04 .photoL {grid-area: L;}
.gallery .photoM,.gallery04 .photoM {grid-area: M;}
.gallery .photoN,.gallery04 .photoN {grid-area: N;}
.gallery .photoO,.gallery04 .photoO {grid-area: O;}
.gallery .photoP,.gallery04 .photoP {grid-area: P;}
.gallery .photoQ,.gallery04 .photoQ {grid-area: Q;}
.gallery .photoR,.gallery04 .photoR {grid-area: R;}
.gallery .photoS,.gallery04 .photoS {grid-area: S;}
.gallery .photoT,.gallery04 .photoT {grid-area: T;}
.gallery .photoU,.gallery04 .photoU {grid-area: U;}
.gallery .photoV,.gallery04 .photoV {grid-area: V;}
.gallery .photoW,.gallery04 .photoW {grid-area: W;}

.gallery02 .photoOth01 {grid-area: O01;}
.gallery02 .photoOth02 {grid-area: O02;}
.gallery02 .photoOth03 {grid-area: O03;}
.gallery02 .photoOth04 {grid-area: O04;}
.gallery05 .photoOth05 {grid-area: O05;}
.gallery05 .photoOth06 {grid-area: O06;}
.gallery05 .photoOth07 {grid-area: O07;}
.gallery05 .photoOth08 {grid-area: O08;}

.gallery03 .photoCO01 {grid-area: CO01;}
.gallery03 .photoCO02 {grid-area: CO02;}
.gallery03 .photoCO03 {grid-area: CO03;}
.gallery03 .photoCO04 {grid-area: CO04;}
.gallery03 .photoCO05 {grid-area: CO05;}

.gallery06 .photoA {grid-area: COA;}
.gallery06 .photoB {grid-area: COB;}
.gallery06 .photoC {grid-area: COC;}
.gallery06 .photoD {grid-area: COD;}
.gallery06 .photoE {grid-area: COE;}
.gallery06 .photoF {grid-area: COF;}
.gallery07 .photoG {grid-area: COG;}
.gallery07 .photoH {grid-area: COH;}
.gallery07 .photoI {grid-area: COI;}
.gallery07 .photoJ {grid-area: COJ;}
.gallery07 .photoK {grid-area: COK;}
.gallery07 .photoL {grid-area: COL;}


.gallery figure img,
.gallery02 figure img,
.gallery03 figure img,
.gallery04 figure img,
.gallery05 figure img,
.gallery06 figure img,
.gallery07 figure img,
.gallery08 figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 5px;
}







.gallery .theme_know{
    background: #C2DA69;
    background: linear-gradient(90deg,rgba(194, 218, 105, 1) 0%, rgba(0, 158, 56, 1) 100%);
    border-radius: 8px;
    padding: 4px;
}

.gallery .theme_experience{
    background: #ED7A94;
    background: linear-gradient(90deg,rgba(237, 122, 148, 1) 0%, rgba(234, 85, 57, 1) 100%);
    border-radius: 8px;
    padding: 4px;
}

.gallery .theme_look{
    background: #61C1BE;
background: linear-gradient(90deg,rgba(97, 193, 190, 1) 0%, rgba(59, 130, 197, 1) 100%);
    border-radius: 8px;
    padding: 4px;
}


.gallery .archive_character01,
.gallery .archive_character02,
.gallery .archive_character03,
.gallery .archive_character04,
.gallery .archive_character05,
.gallery .archive_character06,
.gallery .archive_character07{
    position:absolute;
    height: auto;
    max-width: 100%;
    object-fit: contain;
    z-index: -1;
}

.gallery .archive_character03{
    width: 170px;
    right: -170px;
    bottom: 0;
}

.gallery .archive_character04{
    width: 170px;
    left: -170px;
}
.gallery .archive_character05{
    width: 170px;
    right: -170px;
    bottom: 0;
}



.fadein {
    opacity: 0;
    transform: translate(0, 0);
    transition: all 1.0s;
}
.fadein.fadein-left {
    transform: translate(-30px, 0);
}
.fadein.fadein-right {
    transform: translate(30px, 0);
}
.fadein.fadein-up {
    transform: translate(0, -30px);
}
.fadein.fadein-bottom {
    transform: translate(0, 30px);
}
.fadein.scrollin {
    position: absolute;
    z-index: 2;
    opacity: 1 !important;
    transform: translate(0, 0) !important;
}


.gallery .caption{
    height: auto;
    right: -4%;
    margin: 0 auto;
    top: -20px;
    z-index: 2;
}


.caption_small{
    max-width: unset;
    width: 120%;
}


.speechBubble02,
.speechBubble03,
.speechBubble04,
.speechBubble05 {
    position: relative;
    display: inline-block;
    margin: 20px 0;
    padding: 10px;
    border: 2px solid var(--black);
    border-radius: 10px;
    text-align: center;
    font-weight: 700;
    width: 100%;
    color: var(--black);
    font-size: 120%;
}

.speechBubble02{background-color: #93e8ee;}
.speechBubble03{background-color: var(--yellow);}
.speechBubble04{background-color: #154a55; color:#fff}
.speechBubble05{background-color: #93e8ee;}


.speechBubble02::before,
.speechBubble03::before,
.speechBubble04::before,
.speechBubble05::before {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 15px 12.5px 0 12.5px;
    border-color: var(--black) transparent transparent;
    translate: -50% 100%;
}

.speechBubble02::after,
.speechBubble03::after,
.speechBubble04::after,
.speechBubble05::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    border-style: solid;
    border-width: 11.9px 9.9px 0 9.9px;
    translate: -50% 100%;
}

.speechBubble02::after{border-color: #93e8ee transparent transparent;}
.speechBubble03::after{border-color: var(--yellow) transparent transparent;}
.speechBubble04::after{border-color: #154a55 transparent transparent;}
.speechBubble05::after{border-color: #93e8ee transparent transparent;}


.speechBubble02 h4,
.speechBubble03 h4,
.speechBubble04 h4,
.speechBubble05 h4{
    margin-bottom: 0;
    font-weight: 900;
}

.speechBubble04 .archive_department_icon{
    max-width: 80%;
    margin: 0 auto;
    background: #fff;
    padding: 5px;
    border-radius: 10px;
    margin-bottom: 10px;
}

.modaal-container{
    border-radius: 5% !important;
}

.modaal-content-container {
    padding: 3% !important;
}

.inline-modal .inline_text{
    text-align: center;
    margin-bottom: 0;
    padding-top: 10px;
    color: var(--black);
    font-weight: 700;
}

.inline-modal .inline_text span{
    color: #fff;padding: 0 10px;
}

.inline-modal .inline_img{
    border-radius: 2%;
}



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

}


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

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

.gallery {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  grid-template-rows:130px 130px 130px 130px 130px 130px 130px 130px 130px 130px 170px;
  grid-template-areas:
"A E E"
"B E E"
"C D G"
"F F H"
"F F J"
"I K L"
"M O O"
"N O O"
"Q P R"
"S T U"
"V W W";

  /* ------------ */
  gap: 7px;
}



.gallery02{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 110px 110px 110px;
    grid-template-areas:
        "A A B"
        "A A C"
        "D E O01"
        "O02 O03 O04";
        /* ------------ */
        gap: 7px;
}

.gallery03{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 110px 110px;
    grid-template-areas:
        "CO01 CO01 CO02"
        "CO01 CO01 CO03"
        "CO04 CO05 CO05";
        /* ------------ */
        gap: 7px;
}

.gallery04{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 110px 110px 110px 110px 110px 110px 110px 110px 110px;
    grid-template-areas:
        "F I I"
        "H I I"
        "G G J"
        "G G K"
        "M Q Q"
        "L Q Q"
        "N N O"
        "N N P"
        "S U U"
        "T U U"
        "R R V"
        "R R W";
        /* ------------ */
        gap: 7px;
}

.gallery05{
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    grid-template-rows: 110px;
    grid-template-areas:
        "O05 O06 O10"
        "O07 O09 O08";
        /* ------------ */
        gap: 7px;
}

.gallery06{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "COA COB"
        "COC COD"
        "COE COF";
        /* ------------ */
        gap: 7px;
}

.gallery07{
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
        "COG COH"
        "COI COJ"
        "COK COL";
        /* ------------ */
        gap: 7px;
}





.gallery08_area .gallery_hover img{
    border-width: 3px !important;
}






.gallery .caption {
    position: absolute;
    max-width: unset;
    width: 240px;
    height: auto;
    right: -2%;
    margin: 0 auto;
    top: -15px;
    z-index: 2;
}

.sec_greeting ul{
    padding-bottom: 50px;
}

.caption_small{
        width: 120% !important;
        right: -15% !important;
}

.caption_none{
    display: none !important;
}

    .child .sec_message_area h2 p {
        font-size: 2.0rem !important;
        padding: 0 15px 2px;
    }

    .archive2025 .sec_message{
        padding: 0 15px 50px !important;
    }

    .sec_greeting:after{
        display: none;
    }

}

#archive2025 .nav-tabs .archive_tub02 .nav-link {
    background-color: rgba(25, 51, 56, 1);
    color: white;
}

#archive2025 .nav-tabs .archive_tub01 .nav-link:not(.active),
#archive2025 .nav-tabs .archive_tub02 .nav-link:not(.active) ,
#archive2025 .nav-tabs .archive_tub03 .nav-link:not(.active){
    /* background-color: rgba(147, 170, 176, 1.0); */
    background-color: #c1d2d6;
    color: #777777;
}



/* タブのアニメーション(選んでるとき) */
#archive2025 .nav-tabs .archive_tub01 .nav-link {
    background-color: rgba(25, 51, 56, 1);
    color: white;
    padding: 10px 10px 10px;
}

#archive2025 .nav-tabs .archive_tub02 .nav-link {
    background-color: rgba(25, 51, 56, 1);
    color: white;
    padding: 10px 10px 10px;
}

#archive2025 .nav-tabs .archive_tub03 .nav-link {
    background-color: rgba(25, 51, 56, 1);
    color: white;
    padding: 10px 10px 10px;
}


#archive2025 .nav-tabs .nav-link img{
    padding-bottom: 30px;
}


.archive2025 .movie_area{
    padding-top: 50px;
}

.archive2025 .movie_area{
    position: relative;
    border: solid;
    border-width: 2px 0;
}

.archive2025 .movie_area:after{
    content: url(../img2025/movie_obj.svg);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -5px;
    pointer-events: none;
    width: 700px;
    margin: 0 auto;
}

@media screen and (max-width: 991px){
.archive2025 .movie_area {
    padding-bottom: 15%;
}
}

@media screen and (max-width: 767px){
.archive2025 .movie_area:after{
    width: 100%;
}
}

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

.gallery .caption {
        width: 105%;
    }

    .gallery08_area {
    padding-top: 50px;
}

.caption_small{
        width: 130% !important;
        top: -20% !important;
        right: -25% !important;
}


}







/* ミニオープンキャンパス
------------------------------------------------------------*/
.top_schedule_list .schedule_1025-26_box ul {
    justify-content: flex-start;
}

.schedule_1025-26_box .col_box{
    width: 33.333333%;
    padding: 10px;
}






/*------------------------------------------------------------
レスポンシブ
------------------------------------------------------------*/


/* 1400px以下
------------------------------------------------------------*/
@media screen and (max-width: 1400px)    { 
} 







/* 1300px以下
------------------------------------------------------------*/
@media screen and (max-width: 1299px)    { 
}






/* 1200px以下
------------------------------------------------------------*/
@media screen and (max-width: 1200px)    {




    /* 学科プログラム_学科ツアー
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    .Program_block02 .Program_course01 {
        height: 190px;
    }


}



/* 992px以下
------------------------------------------------------------*/
@media screen and (max-width: 992px)    {


    /* TOP 3月概要
–––––––––––––––––––––––––––––––––––––––––––––––––– */
/*
.top .top_prologue .outer ul li {
    width: 50%;
}
*/

.top .top_prologue .character {
    width: 75%;
}

.flex-schedule .sch_box_img01 h4,
.flex-schedule .sch_box_img02 h4,
.flex-schedule .sch_box_img01 p,
.flex-schedule .sch_box_img02 p{
    width: 72%;
}




    /* TOP 5月プログラム
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top .schedule_0511 ul li p {
    font-size: 1.3rem;
    line-height: 2rem;
    margin-top: 5px;
    height: 50px;
}

.top .schedule_0511 ul li {
    padding: 5px;
}

.top .schedule_0511 ul li .schedule_box_0511 {
    border-radius: 8px;
    padding: 5px;
}

.top .department_link {
    padding: 3px !important;
}


.top .department_link  li{
    padding: 2px 5px !important;
}



    /* TOP 動画紹介
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top .top_movie:after {
    width: 90%;
}


    /* 学科プログラム_学科ツアー
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.department .Program_block02 ul {
    flex-wrap: wrap;
    justify-content: center;
}

.Program_block02 ul li {
    width: 50%;
    padding: 0 8px 15px;
}

.Program_block03 .workshop_area {
    flex-wrap: wrap;
}


.Program_block_arch .Program_block_arch_ul {
    margin: 0;
    flex-wrap: wrap;
    gap: 0;
}

.Program_block_arch .Program_block_arch_ul li{
    width: 100%;
    padding: 0 0 15px;
}

.Program_block_arch .Program_block02_content h5::after {
    top: 85%;
    width: 70%;
}

.Program_block_arch .Program_course_arch_ul {
    gap: 1%;
    padding-bottom: 15px;
    padding-top: 15px;
}

.workshop_area .workshop_block01 {
    width: 100%;
    text-align: center;
    padding-right: 0;
}


.Program_area .Program_title02 img {
    top: -10px;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    width: 260px;
}

.workshop_area .workshop_block02 {
    width: 100%;
}

.timetable_scroll img {
    min-width: 900px;
}



/* 秋のオープンキャンパス
------------------------------------------------------------*/
.schedule_1025-26_box .col_box {
    width: 50%;
    padding: 10px;
}


}





/* 768px以下
------------------------------------------------------------*/
@media screen and (max-width: 768px)    {
    /*共通
------------------------------------------------------------*/


    /* トップ_メインビジュアル
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.top_date{
    padding:0 50px;
}

.top .top_date_img {
    flex-wrap: wrap;
}

.top .top_date_img li {
    width: 50%;
}

.top_date_img08,
.top_date_img10  {
    position: relative;
    /* top: -30px; */
}

.top .top_title-logo {
    height: min(50vh, 750px);
    width: 30%;
    z-index: 10;
    padding-top: 55px;
}



    /* TOP お知らせ
–––––––––––––––––––––––––––––––––––––––––––––––––– */

#top_news{
    padding: 40px 0 70px;
}



    /* TOP 挨拶
–––––––––––––––––––––––––––––––––––––––––––––––––– */


.sec_greeting ul{
    flex-wrap: wrap;
    justify-content: center;
}


.sec_greeting ul li{
    width: 50%;
}







    /* TOP 3月概要
–––––––––––––––––––––––––––––––––––––––––––––––––– */


.top .top_prologue .outer ul li .program_box {
    padding: 10px;
    height: 220px;
}

.top .top_prologue .box01 .program_box h6,
.top .top_prologue .box02 .program_box h6,
.top .top_prologue .box03 .program_box h6,
.top .top_prologue .box04 .program_box h6 {
    font-size: 1.7rem;
    line-height: 2.2rem;
}

.top .top_prologue .box05 .program_box h6,
.top .top_prologue .box06 .program_box h6,
.top .top_prologue .box07 .program_box h6 {
    font-size: 2.0rem;
    line-height: 2.5rem;
}

.top .top_prologue .program_box p {
    font-size: 1.5rem;
    line-height: 1.9rem;
}

.top .top_prologue .program_box .box_text02 {
    height: 50px;
}




.flex-schedule .sch_box_img01 h4,
.flex-schedule .sch_box_img02 h4,
.flex-schedule .sch_box_img01 p,
.flex-schedule .sch_box_img02 p{
    width: 100%;
}

.flex-schedule .sch_box img {
    display: none;
}




.flex-schedule .sch_box_img01 h4,
.flex-schedule .sch_box_img02 h4{
    width: 100%;
    padding-top: 30px;
}


.flex-schedule .sch_box_img01 h4:after{
    content: "";
    background-image: url(../img2025/top_timetable01_2.png);
    background-position-x: right;
    background-position-y: top;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -18%;
    right: 3%;
    width: 100%;
    height: 115px;
}

.flex-schedule .sch_box_img02 h4:after{
    content: "";
    background-image: url(../img2025/top_timetable02_2.png);
    background-position-x: right;
    background-position-y: top;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: -18%;
    right: 3%;
    width: 100%;
    height: 115px;
}


.flex-schedule .sch_box_img01 h4:before{
    content: "";
    background-image: url(../img2025/top_timetable01_3.png);
    background-position-x: left;
    background-position-y: top;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 2%;
    right: 0;
    width: 100%;
    height: 50px;
}

.flex-schedule .sch_box_img02 h4:before{
    content: "";
    background-image: url(../img2025/top_timetable02_3.png);
    background-position-x: left;
    background-position-y: top;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 2%;
    right: 0;
    width: 100%;
    height: 50px;
}

.flex-schedule .sch_title a{
    padding: 0 5px 1px 5px;
    font-size: 1.3rem;
}








    /* TOP 未開催スケジュール
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top .top_schedule_list .program_list_li01 {
    width: 50%;
    padding: 5px;
}

.top_schedule_list .top_schedule_list_date .program_list_li01 {
    width: 33.333%;
    padding: 0;
}

.top .top_schedule_list .program_list_li02 {
    padding: 5px;
}

.top .department_link li {
    width: 100%;
    padding: 3px !important;
}

.top .schedule_0511 ul .program_list_li02 p {
    font-size: 1.7rem;
    height: auto;
    padding-top: 15px;
}


section#top_schedule_list_area{
    padding: 40px 0 0;
}


.top .schedule_0511 .schedule_box_sub{
    position: relative;
    bottom: 0;
    right: 0;
    width: 50%;
    border: solid 2px;
    border-width: 2px 2px 2px 2px;
    border-radius: 10px;
    margin-top: 10px;
    padding: 0;
}

#sec02 .nav-link {
    padding: 0.5rem 0.5rem;
        padding-bottom: 20px;
}

.nav-tabs .nav-link:after {
    content: "";
    width: 0;
    height: 0;
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
    border-top: 5px solid #fff;
    bottom: 15px;
}

.nav-tabs .active:after {
    border-top: 5px solid var(--yellow);
    bottom: 10px;
}



.tab-content h3{
    font-size: 2.3rem;
}








    /* TOP 8月開催
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.top .schedule_0802_03 .program_list .program_list_li01 {
    width: calc(50% - 5px);
}

.top .collaboration080203 ul {
    flex-wrap: wrap;
}

.collaboration080203 li {
    width:calc(50% - 5px);
}





    /* TOP_動画紹介
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top .top_movie:after {
    width: 90%;
}




        /* TOP_学科紹介
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top #top_department {
    padding: 50px 0 50px;
}

.top .top_child h2:after {
    content: url(../img2025/sp_department_charas.svg);
    width: 90%;
    margin: 0 auto;
}

.top .top_department_list ul{
    padding: 0 15px;
}

.top .top_department_list ul li {
    width: 50%;
    padding: 10px;
    position: relative;
    margin-bottom: 20px;
}

.top .top_department_list .list_img03,
.top .top_department_list .list_img03_hover {
    bottom: -8%;
}




        /* TOP_アクセス
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.top_access{
    padding:50px 15px;
}

.top .top_access h5{
    font-size: 2.2rem;
}

.top_access03 ul li h6 {
    font-size: 1.8rem;
}

.top .top_access .top_access01{
    padding: 0 0 40px;
}

.top .top_access .access_text,
.top .top_access .access_img {
    width: 100%;
}

.top .top_access .access_text {
    padding-right: 0;
}






        /* TOP_リンク
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.top_link h2:after {
    width: 270px;
}

.top_link .link_banner li {
    width: 100%;
}

.top_link .sns_text{
    display: none;
}

.top_link .link_sns .sns_icon_block .sns_icon {
    width: 80px;
    padding: 20px 0 20px;
}

.top_link .link_sns .sns_icon_block {
    padding: 0;
}


.top_link #top_link:before{
    width: 150px;
}

.top_link #top_link:after{
    width: 150px;
}

.top_link #top_link {
    padding: 140px 0 50px;
}










/*    ––––––––––––––––––––––––––––––––––––––––––––––––––
子ページ
–––––––––––––––––––––––––––––––––––––––––––––––––– */

        /* エントリーページ
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.entry .entry_text_date li{
    width: 50%;
    padding: 5px;
}







        /* 学科
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.department .top-img {
    padding-top: 100px;
}

.Academic_Program {
    padding-top: 0;
}

        /* 学科ツアー
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.Program_block01 .summary {
    flex-wrap: wrap;
}

.Program_block01 .summary_title {
    width: 100%;
    font-size: 2.3rem;
    padding: 5px;
}

.Program_block01 .summary_contents {
    width: 100%;
    padding: 5px 0px 15px 0;
}

.Program_block01 .summary_contents h4 {
    font-size: 3rem;
    margin-bottom: 5px;
    text-align: center;
    width: 100%;
}

.Program_block01 .summary_contents li {
    font-size: 1.8rem;
}

.Program_block02 ul li {
    width: 100%;
}

.Program_block02 .Program_course01 {
    height: 170px;
}

.department_list ul li {
    width: 50%;
}

.Program_block_arch .Program_course01 {
    padding-bottom: 10px;
    flex-wrap: wrap;
}

.Program_course01_1 {
    width: 100%;
    height: auto;
    padding: 10px 0;
}

.Program_course01_2 {
    width: 100%;
    padding-left: 2px;
    padding-top: 5px;
    padding-right: 2px;
}

.Program_block_arch .Program_block02_content h5::after {
    top: 85%;
    width: 95%;
}


.Program_area .Program_title01 h3,
.Program_area .Program_title02 h3 {
    font-size: 2.7rem;
}

.Program_area .Program_title01 img,
.Program_area .Program_title02 img {
    width: 200px;
}

.workshop_block01_text02 .summary {
    margin-bottom: 7px;
    flex-wrap: wrap;
}

.workshop_block01_text02 .summary_title {
    padding: 5px;
    width: 100%;
}

.workshop_block01_text02 .summary_contents {
    width: 100%;
    padding: 10px 2px 15px 2px;
    margin-bottom: 0;
    flex-wrap: wrap;
}

.Program_block_arch .Program_course_arch_ul {
    margin: 0;
    flex-wrap: wrap;
    gap: 2%;
    padding-bottom: 15px;
}

.department .Academic_Program a.nav-link img {
    max-width: 100%;
}

.department .Academic_Program .nav-link {
    padding: 1.5rem 0.5rem 30px;
}

.department .nav-tabs .nav-link:after {
        content: "";
        width: 0;
        height: 0;
        border-left: 7px solid transparent;
        border-right: 7px solid transparent;
        border-top: 7px solid #fff;
        bottom: 15px;
    }




        /* アーカイブページ2025
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.scroll-infinity__item {
    width: calc(200vw);
}

}







/* 550px以下
------------------------------------------------------------*/
@media screen and (max-width: 575px)    {





        /* 追従_申し込みボタン
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    .fix_btn ul li a {
        font-size: 1.25rem;
    }




        /* TOP_メインビジュアル
–––––––––––––––––––––––––––––––––––––––––––––––––– */
    .fix_btn {
        width: 35%;
        max-width: 120px;
        right: 0;
        bottom: 3%;
    }

    .fix_btn ul {
        display: flex;
        flex-wrap: nowrap;
    }

    .fix_btn ul li.fix_0322 {
        background: #E9607C;
        border: none;
        border-width: 0;
        width: 50%;
        padding: 5px 5px 10px;
    }

    .fix_btn ul li.fix_0511 {
        background: #69BBC2;
        border: none;
        border-width: 0;
        text-align: center;
        width: 50%;
        padding: 5px 5px 10px;
    }

    .fix_btn ul li {
        padding: 10px;
        border-radius: 0;
        margin-bottom: 0;
        text-align: center;
    }


        /* TOP_メインビジュアル
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.top .top-visual {
    display: block;
}


.top .top_title-logo{
    padding-left: 0;
    width: 100%;
    height: 100%;
    padding-top: 0;
}

.top .top-visual .main_visual {
    width: 100%;
        z-index: 1;
}

.top .top_title-logo img {
    position: absolute;
    width: 70vw;
    height: auto;
    z-index: 2;
    top: -20%;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}

.top .top-visual .main_visual .character{
    left: 50%;
    transform: translate(-50%, -50%);
    right: 0;
    width: 90%;

}

.top .top_date_img {
    flex-wrap: wrap;
}

.top .top_date_img li {
    width: 50%;
    padding: 5px;
}



.date_new{
    top: -17px;
}


.top_date{
    padding:0;
}




        /* TOP_見出し
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top .sec02 h2{
    width: 100%;
}

.top h2 p,
.entry h2 p {
    font-size: 1.8rem;
    padding: 0 20px 2px;
}

.top h2,
.entry h2    {
    padding-bottom: 10px;
}





        /* TOP_お知らせ
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top_news_article {
    display: block;
}

.top_newsarea .top_news_text {
    display: block;
    padding: 10px 10px;
}

.top_newsarea .top_news_date {
    padding: 0 0 5px;
}


/* news_php add
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#newsframe {
    width: 100% !important;
    height: 300px !important;
    display: block !important;
    margin: 0;
}

#top_news{
    padding: 60px 0;
}

.topNews {
    margin: 15px;
}




        /* TOP_プログラム
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top .top_prologue {
    padding: 50px 0 50px;
}

.top .top_prologue .top_prologue_obj01,
.top .top_prologue .top_prologue_obj02{
    display: none;
}

.top .top_prologue .outer {
    border-radius: 10px;
    padding: 10px;
    margin: 10px;
}

.top .top_prologue .outer .program_title .date_img {
    width: 50%;
}

.top .top_prologue .outer .program_title .title_img {
    width: 100%;
}

.top .top_prologue .outer .program_title {
    justify-content: center;
}

.top .top_prologue .outer h5 {
    font-size: 2rem;
}

.top .top_prologue .outer ul li {
    width: 100%;
}



.top .top_prologue .box01 .program_box h6,
.top .top_prologue .box02 .program_box h6,
.top .top_prologue .box03 .program_box h6,
.top .top_prologue .box04 .program_box h6 {
    font-size: 2rem;
    line-height: 2.7rem;
}

.top .top_prologue .program_box p {
    font-size: 1.6rem;
    line-height: 1.9rem;
}

.top .top_prologue .outer ul li .program_box {
    padding: 30px 10px 10px;
    height: 100%;
}

.top .top_prologue .program_box .box_text01 {
    padding: 10px 0 20px;
}

.top .top_prologue .character {
    width: 100%;
    position: relative;
    bottom: 0;
}

.top .top_prologue .character .character02 {
    position: relative;
}

.top .program_btn {
    padding: 15px 15px 20px;
}

.outer_img02 {
    top: 20%;
    right: -10%;
}

.outer_img01,
.outer_img02{
    display: none;
}


.workshop_area .workshop_block02 img {
    height: 280px;
}


/* TOP_タイムテーブル–––––––––––– */
.flex-schedule li .time {
    width: 100px;
    margin-top: 23px;
}

.flex-schedule .area {
    padding: 5px 0px 5px 15px;
}

.flex-schedule .sch_box::before {
    left: -24.5px;
    width: 15px;
    height: 15px;
}

.flex-schedule .sch_box h4 {
    font-size: 1.6rem;
}

.flex-schedule .sch_box {
    padding: 1em 1em 0.5em;
}


.flex-schedule li .time {
    font-size: 1.4rem;
}



.flex-schedule .sch_box_img01 h4,
.flex-schedule .sch_box_img02 h4{
    width: 100%;
    padding-top: 60px;
}

.flex-schedule .sch_box_img01 h4:after {
    top: -10%;
}

.flex-schedule .sch_box_img02 h4:after {
    top: -10%;
}



.flex-schedule .sch_box_img01 h4:before{
    content: "";
    background-image: url(../img2025/top_timetable01_4.png);
    right: -7%;
}

.flex-schedule .sch_box_img02 h4:before{
    content: "";
    background-image: url(../img2025/top_timetable02_4.png);
    right: -7%;
}

.flex-schedule .area_2 h3 {
    font-size: 1.35rem;
    margin: 10px 15px 10px 0;
}

.flex-schedule .area_2 h3:before, 
.flex-schedule .area_2 h3:after {
    width: 1em;
}

.flex-schedule .area_2 .sch_box {
    margin-right: 10px;
}




        /* TOP_未開催スケジュール
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top .top_schedule_list .program_list_li01,
.top .top_schedule_list .program_list_li02,
.program_banner_area li {
    width: 100%;
}

.top .schedule_0511 ul li p {
    height: 65px;
}

.top .schedule_0511 .date0511 h5 {
    font-size: 2.0rem;
    padding-top: 20px;
}

.top .schedule_0511 .date0511 img {
    width: 75%;
    margin: 0 auto;
}

.top .schedule_0511 ul li img {
    border-radius: 4px;
    padding: 0;
}

.top .schedule_0511 ul li p {
    font-size: 1.8rem;
    line-height: 2.3rem;
}

.top .schedule_0511 {
    border: solid 2px;
    border-radius: 7px;
    margin-bottom: 15px;
}


.top #top_schedule_list_area .date0511 {
    background: #fff;
    border: solid;
    border-width: 2px 2px 0 2px;
    border-radius: 10px 10px 0 0;
    padding: 20px 30px 0;
    margin-right: 0;
    margin-bottom: -10px;
}

.top .top_schedule_list .top_schedule_list_date_li_sp {
    width: 50%;
}


.top .top_schedule_list_date_li{
    width: 100% !important;
}



.top .schedule_0511 .schedule_box_sub {
    width: 95%;
}

.timetable0511 .timetable_area {
    padding: 0;
}

.top .schedule_0511 ul .program_list_li02 p {
    font-size: 2rem;
}





    /* TOP 8月開催
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.timetable_area p{
    font-size: 1.2rem;
}

#schedule_0802_03{
    margin: 0 10px;
}

.collaboration080203 li {
    width:100%;
}

.top .schedule_0802_03 .program_list .program_list_li01 {
    width: 100%;
}


.top .top_schedule_list .schedule_0802_03 ul li img {
    position: relative;
}

.collaboration080203 .collabo_box02 {
    padding: 10px 15px 15px;
    text-align: left;
}



/* 秋のオープンキャンパス
------------------------------------------------------------*/
.schedule_1025-26_box .col_box {
        width: 100%;
        padding: 0;
}






        /* TOP今年のarchive
–––––––––––––––––––––––––––––––––––––––––––––––––– */
#top_archive2025{
    padding: 50px 15px 50px;
}

.top .top_archive2025_slide_area h2 {
    max-width: 320px;
    top: -20px;
}



.top_archive2025_slide_area {
    padding: 20px 0;
    border-radius: 10px;
}

.top .top_archive2025_slide_area .top_archive_h2 {
    max-width: 90%;
    position: relative;
    top: 0;
}

.top_archive_btn a img {
        max-width: 75%;
        z-index: 1;
        position: relative;
}


.top_archive_btn .top_archive_img {
    bottom: 95%;
    max-width: 220px;
}

.top .top_voice h2.top_voice_h2 p {
    font-size: 2.0rem;
    margin-top: 10px;
    border-radius: 0;
}

.top .slider-8 .slick-slide {
    height: 140px;
}


        /* TOP_参加者の声
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.top .top_voice h2.top_voice_h2:after{
    width: 170px;
}

.top .top_voice ul {
    padding: 0 15px;
}

.top .top_archive ul {
    padding: 0;
}

.top .top_voice ul li {
    width: 50%;
}

.top .top_voice {
    padding: 100px 0 50px;
}

.top_archive_btn img{
    padding-top: 15px;
    max-width: 230px;
}






        /* TOP_動画紹介
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.top .top_movie{
    padding:50px 0 60px;
}

.top_movie_area {
    padding:0 15px;
}

.top .top_movie:after {
    width: 90%;
}

.top .movie_img:after {
    width: 60px;
    height: 60px;
}



        /* TOP_アクセス
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.access_outside_link ul {
    display: block;
}



        /* フッター
–––––––––––––––––––––––––––––––––––––––––––––––––– */

footer .contact{
    padding:40px 15px;
}

footer .footer-link ul {
    padding: 0;
    margin: 0;
    list-style: none;
    display: flex
;
    flex-wrap: wrap;
}

footer .footer-link li{
    width: 100%;
    padding: 10px 0;
}

.footer .contact__mail{
    font-size: 2rem;
}











/*    ––––––––––––––––––––––––––––––––––––––––––––––––––
子ページ
–––––––––––––––––––––––––––––––––––––––––––––––––– */

        /* エントリーページ
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.entry .entry_text_date li {
    width: 100%;
}



        /* 子ページナビ_ロゴ
–––––––––––––––––––––––––––––––––––––––––––––––––– */
body.child .nav_logo {
    width: 75px;
    top: 54px;
}



        /* 学科ページ
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.child h2 .h2_furigana {
    padding-bottom: 4px;
    padding-top: 4px;
}

.department_back {
    height: 60vh;
    object-fit: cover;
    object-position: top;
    width: 100%;
}

.Program_area {
    padding: 5px 5px 15px;
}

.child h2 {
    max-width: 320px;
    padding-bottom: 0;
}

.department .top-img {
    padding-top: 170px;
}

.department_main_character:after {
    bottom: 0;
}

.department_character {
    top: 0;
}

.Program_block03 .workshop_area {
    padding: 10px 0;
}

.child h2 p {
    font-size: 2.5rem;
    padding: 0 15px 2px;
}

.timetable0511 .timetable_area ul {
    flex-wrap: wrap;
}

.timetable0511 .timetable_area ul li {
    padding-bottom: 10px;
}


.timetable_scroll img {
    min-width: 760px;
}

.department .timetable0511 .timetable_area {
    padding: 15px;
}





        /* アーカイブ
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.archive2025 .top-img {
    padding-top: 150px;
}


.top_archive {
    padding-bottom: 100px;
}

.archive2025 .top_archive h2 {
        padding-bottom: 10px !important;
    }


.archive2025 .slider-8 .slick-slide {
    height: 130px;
}

.archive_top_slider {
    padding: 15px 0 5px;
}


}





