@charset "UTF-8";
body{
	font-size: 90%;
    overflow-x: hidden;
}
.nav{
	right: auto;
	left: 5%;
	width: 90%;
	height: 70svh;
}
.header_inner figure{
	top: auto;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%) translateY(0);
	width: 100%;
	height: 30svh;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 40px;
}
.header_inner figure img{
	height: 100%;
	width: auto;
}
.black_bg{
	background-size: contain;
	background-position: right bottom;
}
.black_bg::before{
	width: 100%;
	height: 30%;
	top: auto;
	bottom: 0;
	background-position: left center;
}
.black_bg::after{
	top: 0;
	width: 100%;
	height: 70svh;
	transition: all .5s;
}

#visual{
	height: auto;
	min-height: 700px;
}
#visual > div.fl_box{
	width: 100% !important;
	height: 100%;
	padding: 120px 5% 0;
}
#visual .img_box{
	width: 50%;
	height: 100%;
	padding-top: 0;
}
#visual .img_box h1 img{
	max-width: none;
	max-height: 350px;
}
#visual .illust_top .co{
	bottom: -5%;
	left: 10%;
}
#visual .illust_top .de{
	bottom: auto;
	top: 10%;
	right: 10%;
}

#visual .txt_box{
	width: 45%;
	margin: 0 0 0 auto;
	padding: 0 0 5%;
	gap: 70px 0;
}
#visual .txt_box #txt_slide .txt_top{
	left: 0;
	bottom: -50px;
}
#visual .txt_top{
	width: 90%;
}
#visual .txt_box #txt_slide{
	padding-top: 0;
}
#visual .txt_box .slider{
	width: 90%;
}

#visual .bg_fl::before{
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	top: 0;
	background: url(../images/bg_fl.png);
	background-repeat: no-repeat;
	background-size: 100% auto;
	background-position: left top;
}
#visual .bg_fl picture{
	display: none;
}

#schedule .in_box{
	flex-direction: column;
}
#schedule .in_box h2,
#schedule .in_box > div{
	width: 100%;
}
#schedule .in_box h2{
	writing-mode: horizontal-tb;
	text-align: center;
	margin-bottom: 2em;
}
.date_box a{
	padding-left: 10px;
}
#briefing .date_box article em small{
	display: block;
	padding-left: 0;
}
/*終了しました*/
.finish em::after,#briefing .finish em::after{
	display: none;
}
.finish em::before{
	content: "";
	display: table;
	margin-left: 0;
	width: 80px;
	height: 23px;
	background:url(../images/txt_finish_sm.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: bottom center;
}

#access .txt_box{
	padding: 0 5%;
}
#access::after{
	top: 30%;
	height: 200px;
}
#college .txt_box{
	padding: 0 5%;
}
#department a span::after{
	width: 30px;
	height: 30px;
}

#u_college #department{
	flex-direction: column;
	gap: 40px 0;
}
#u_college #department > div{
	width: 60%;
}
#u_college #department a{
	aspect-ratio: 3 / 2;
}


#links > div a span{
	font-size: 100%;
  }
#links > div a small{
	font-size: 70%;
  }
#links > div a img{
	max-height: 26px;
	width: auto;
	margin-bottom: 20px;
  }
#links > div a::before,
#links > div a::after{
	width: 32px;
	height: 32px;
}

  #sns dd a{
	width: auto;
	padding: 15px 35px 15px 15px;
	text-align: left;
	justify-content: flex-start;
  }

.btn_l{
	margin: 60px auto 0;
}
.btn_l a::after{
	width: 40px;
	height: 40px;
}
.btn_l a em::before{
	width: 40px;
	height: 40px;
	top: -30px;
}
.btn_l a em{
	padding-top: 30px;
}

footer{
	padding-bottom: 160px ;
}
footer div.fl_box{
	flex-direction: column;
	align-items: center;
}
footer address a{
	max-width: 300px;
}
footer address{
	margin-bottom: 3em;
}
#pagetop a{
	width: 100px;
	height: 100px;
}
#pagetop a img{
	width: 26px;
}

a.tel{
	pointer-events:all;
}
.tb_block{
	display: block;
}

/*-----------------------------------------------
__low
-----------------------------------------------*/
body.kasou #visual{
	height:auto;
	min-height: 300px;
	padding:100px 0 60px 0;
}
body.kasou #visual::before{
	background-position: 20% center;
}
body.kasou #visual > div.fl_box{
	padding-top: 0;
}
body.kasou #visual .txt_box{
	flex-direction: column;
	align-items: center;
	width: 90%;
	margin: 0 auto;
	padding: 0;
	gap: 0;
}
#visual .txt_box .txt{
	width: auto;
}
body.kasou #visual .txt_box .txt{
  min-width: 80%;
}
body.kasou #visual .txt_box .fl_box{
	width: 100%;
	justify-content:center;
	margin-top: 60px;
}

body.kasou main h1{
	margin-bottom: 0;
}
#data .fl_box.sm_bl{
	flex-direction: column;
}
#data .fl_box > article{
	width: 100%;
}
#data .fl_box > article:first-of-type{
	margin-bottom: 40px;
}