@charset "UTF-8";
body{
	font-size: 80%;
	overflow-x: hidden;
}

.ta_center.sp_left{
	text-align: left;
}

/*-----------------------------------------------
__Layout
-----------------------------------------------*/
#container{
	display:block;
}
#main{
	display: block;
	width: 100%;
}
header#side{
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 10;
}

.sp100{
	flex-direction: column;
	margin:10px auto;
}
.sp100 > div,
.sp100 > section{
	width: 100% !important;
	margin-right:0 !important;
	margin-left:0 !important;
}
.sp100 > div:not(last-of-type),
.sp100 > section:not(last-of-type){
	margin-bottom: 40px;
}
.sp100 > .long_btn{
	margin-bottom: 0 !important;
}
.sp100 > .long_btn:last-of-type{
	margin-bottom: 40px !important;

}
.lay_2c.sp100 img{
	padding-right:0;
}

.lay_3c.sp100 > li{
	width: 100% !important;
}
.lay_gallery.sp100 > li,
.lay_gallery.sp100 > li img{
	padding:10px 0 !important;
}

.sp_block{
	display:block;
}


/*-----------------------------------------------
__Header
-----------------------------------------------*/
header#side .box{/*¥µ¥¤¥É¥Ð©`×îáá¤ÎÒªËØ*/
	position:static;
	display: block;
	min-height:inherit;
	width: 100%;
	background: rgba(255,255,255,0);
	border-bottom: 1px solid rgba(255,255,255,0);
}
header#side .box.transform{
	background: #fff;
	border-bottom: 1px solid #ddd;
}
.under_container header#side .box{
	background: #fff !important;
	border-bottom: 1px solid #ddd !important;
}

header nav{
	height:50px;
	padding: 0;
	box-sizing: border-box;
}
header#side nav .side_links{
	margin-top: auto;
	margin-bottom: 15px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}
header#side nav .side_links > li:nth-of-type(1),
header#side nav .side_links > li:nth-of-type(2){
	width: auto;
	padding: 0 5px;
}
header#side nav .side_links > li:nth-of-type(2){
	margin-top: 0;
}
header#side .side_links > li a{
	font-size: 80%;
}
header#side .side_links > li a .material-icons{
	font-size: 14px !important;
}
header#side .side_links > li.tw img,
header#side .side_links > li.mv img{
	max-height: 60px;
	width: auto;
}
/*-----------------------------------------------
__Global Navi
-----------------------------------------------*/
#nav-content .f_menu{
	width: 90%;
	font-size: 90%;
	margin: 10px auto;
}
#nav-content .f_menu > ul{
	margin-bottom: 0;
}
#nav-content .f_menu > div{
	display: flex;
	justify-content: center;
}
.change_btn{
	flex-direction: column;
	align-items: center;
}
.change_btn:nth-of-type(2){
	border-top: none;
	padding-top: 0;
}
#nav-content .f_menu p{
	display: block;
	clear: both;
}


/*-----------------------------------------------
__Main
-----------------------------------------------*/
#u_visual{
	height:20vh;
}

#contents{
	min-height: inherit;
}
#breadcrumbs::after{
	width: 20%;
}
#breadcrumbs h1{
	font-size: 1.8em;
	letter-spacing: 0.1em;
}

.l_btn a{
	padding: 6px 30px;
	min-width: auto;
}
.long_btn a{
	margin:15px auto;
}

.attention .material-icons{
	display: block;
	text-align: center;
}

#contents.u_contents h2{
	padding-right: 0;
}
#contents.u_contents h2 .l_btn{
	font-size: 60%;
}

.parents_links.wrap{
		width: 90%;
	}
.parents_links section h2{
		height: 150px;
	}
.parents_links section{
		width: 100%;
		margin-bottom: 30px;
	}

	.img_bn{
		height: 200px;
	}

.intl_report{
	width: 100%;
	padding-left:0;
	border-left: none;
	margin-bottom: 40px;
}
.intl_report ul{
	flex-flow:nowrap;
}
.intl_report ul > li{
	width: 48%;
	margin-bottom: 0;
}
.intl_report figure img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: top;
}

.img_btn_g > li{
	width: 48%;
	font-size: 90%;
}
.img_btn_g > li figure{
	height: 130px;
}

dl.l_ti_r_tx{
	flex-wrap: wrap;
	flex-flow: column;
	padding: 15px;
}
dl.l_ti_r_tx dt{
	width: 100%;
	padding: 20px 0;
}
dl.l_ti_r_tx dd{
	border-left: none;
	border-top: 1px solid #333;
	width: 100%;
	padding: 20px 0 0 0;
}
dl.l_ti_r_tx.tb_cl{
	padding: 15px;
}

dl.club .sp100{
	margin-bottom: 0;
}
dl.club > dd::after{
	border-width: 15px 20px 0 20px;
}
dl.club > dt:not(.none){
	padding:20px 60px 20px 3%
}


#contact_faq .l_ti_r_tx dd{
	padding-bottom: 0;
}
#contact_faq dd .sp100 > div{
	margin-top: 10px;
	margin-bottom: 0;
}

.news_box .panel li dl{
		display: block;
	}
.news_box .panel li dt,
.news_box .panel li dd{
		display: inline;
	}
.news_box .panel li dd::after{
		display: none;
	}
.news_box .panel li dd p{
		padding-top: 10px;
		margin-left: 0;
		display: block;
	}

.v_admissions > div{
	padding: 100px 3% 0 3%;
}
.v_admissions > div > section{
	width: 90%;
	margin: 40px auto 0 auto;
}
.v_admissions .v_left{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: 0;
 -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: tb-lr;
          writing-mode: horizontal-tb;
	padding: 0 15px;
}

.barcode{
	display:none;
}

.u_contact_box{
	text-align: center;
}

#entry_page{
	flex-wrap: wrap;
	flex-direction: column;
	padding-bottom: 0;
}
#entry_page article{
	width: 100%;
}
#entry_page #right_box{
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin-left: 0;
	margin-bottom: 60px;
}

.page_link{
	padding:20px 20px 20px 30px;
	display:flex;
	flex-wrap:wrap;
	flex-direction: column;
	justify-content: space-between;
}
.page_link > li{
	margin-right:0;
	padding-right:0;
	margin-bottom:10px;
	width:100%;
	font-size:0.9em;
}
.page_link > li:nth-child(odd){
	padding-right:1em;
}
.page_link > li{
	border-right:none;
}
.page_link li a::before{
	width:5px;
	height:5px
}

ul.kasou_link > li{
	width: 100%;
}
ul.kasou_link > li:nth-last-of-type(3),
ul.kasou_link > li:nth-last-of-type(2){
	margin-bottom: 15px !important;
}
ul.kasou_link > li:last-of-type{
	margin: 0 !important;
}

#contents.u_contents .edit h2 small,
#contents.u_contents .edit h3 small,
#contents.u_contents .edit h4 small,
#contents.u_contents .edit h5 small{
	display: block;
	padding-left: 0;
	line-height: 1.4;
}

.research_list h1 small{
	display:block;
	padding-left:0 !important;
}
.research_list tr th:nth-child(1){ white-space:nowrap; }
.research_list td a{ display:inline-block; }

.research_list ul{
	padding-left: 0;
}
.research_list ul li{
	width: 50%;
	font-size: 80%;
	padding: 0 5px 0 0 !important;
}
.research_list ul li a::before,
.research_list ul li a::after{
	transform: translateY(0);
}
.research_list ul li a::before{
	top: 6px;
}
.research_list ul li a::after{
	top: 3px;
}


.lay_3c.research_list_detail > li{
	width:calc(100% / 3);
	padding-left: 0;
	font-size: 90%;
	text-align: left;
}
.research_lab .lay_3c.research_list_detail{
	justify-content:space-between !important;
}
.research_lab .lay_3c.research_list_detail > li{
	width:31%;
	padding-left: 0 !important;
}
.research_lab .lay_3c.research_list_detail::after{
	content:"";
	display:block;
	width:31%;
}

#philosophy dl.l_ti_r_tx dt{
	width:100%;
}
#philosophy dl.l_ti_r_tx dd span.spl{
	bottom: auto;
	top:25px;
	right:50%;
	transform:translateX(50%);
}

#campus_list section.lay_3c{
	flex-direction: column;
	flex-wrap: wrap;
	padding-bottom: 60px;
}
#campus_list section.lay_3c > div:first-of-type,
#campus_list section.lay_3c > div:last-of-type,
#contents.u_contents .edit #campus_list h2,
#campus_list section.lay_3c > div:last-of-type img{
	width: 100%;
}
#contents.u_contents .edit #campus_list h2{
	margin-bottom: 1em;
}

#campus_list.main section.lay_3c > div:first-of-type{
	width: 100%;
	margin-bottom: 1em;
}

#message.lay_2c > div{
	margin-left:auto;
	text-align:center;
}

p.link_back{
	margin-bottom:3em;
	text-align:center;
}


/*-----------------------------------------------
__Footer
-----------------------------------------------*/
#f_sitemap .pages ul{
	width: 50%;
}
#f_sitemap .pages .banner{
	width: 100%;
}
#f_sitemap .pages .banner a img{
	height: 160px;
}
#f_sitemap .visitors ul{
	flex-wrap: wrap;
}
#f_sitemap .visitors ul > li{
	width: calc(100% / 3);
	margin-right: 0;
	margin-bottom: 10px;
}
footer .information > ul{
	flex-wrap: wrap;
}
footer .information > ul > li{
	width: calc(100% / 3);
	padding: 0;
	box-sizing: border-box;
}
footer .information > ul > li:first-of-type{
	width: 100%;
	margin-bottom: 10px;
	text-align: center;
}
footer .information > ul > li:first-of-type img{
	height: 50px;
}
footer .information > ul > li:last-of-type{
	border-right: 1px solid #ddd;
}
footer .information > ul > li:nth-last-of-type(-n+3) a{
	padding: 20px 5px;
	box-sizing: border-box;
}
footer .information address{
	display: block;
}
footer .information address dl{
	width: 100%;
	margin-right: 0;
}
footer .information address dl:last-of-type{
	margin-top: 30px;
}