@charset "utf-8";

header{
	position: fixed;
	z-index: 100;
	top: 0;
	left: 0;
	width: 100%;
}
header #nav-content{
    display: flex;
    justify-content: space-between;
	align-items: center;
	transition: all ease .3s;
	padding: 5px 0;
}

#h_navi #nav-content::after{
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;

	transition: all ease .3s;
	background: rgba(0,0,0,0.1);
	background: linear-gradient(0deg, rgba(0,0,0,0) 0%, rgba(0,0,0,0.2) 70%, rgba(0,0,0,0.5) 100%);
}
#h_navi.transform #nav-content::after,
#h_navi.page #nav-content::after{
	background: #8e1728;
}
#h_navi.transform.bg-clear #nav-content::after,
#h_navi.page.bg-clear #nav-content::after{
	background: none !important;
}

header #logo{
    width: 30%;
	padding: 5px 10px 0 10px;
	position: relative;
	z-index: 999;
	transition: all ease .3s;
}
header #logo a{
	display: flex;
	align-items: center;
}
header #logo img{
	width: auto;
	max-height: 77px;
	transition: all ease .3s;
}
header nav{
    width: 70%;
}
#sub_nv{
	display: flex;
	justify-content: flex-end;
	box-sizing: border-box;
	margin: 0 15px 10px auto;
	width: 100%;
	max-width: 980px ;
	border-bottom: 1px solid rgba(255,255,255,0.5);
	position: relative;
	z-index: 1;
	font-size: 80%;
}
#gl_nv{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	margin: 0 0 0 auto;
	width: 100%;
	max-width: 980px ;
	position: relative;
	z-index: 1;
}
#gl_nv li{
	display: flex;
	font-size:110%;
	font-weight:600;
	text-align:center;
}
#sub_nv a,
#gl_nv a{
	display: flex;
	padding: 0 1em;
	color: #fff;
	position: relative;
	white-space: nowrap;
}
#gl_nv a::after{
	content: "";
	position: absolute;
	left: 50%;
	bottom: -10px;
	transform: translateX(-50%);

	width: 0;
	height: 2px;
	background: #fff;
	transition: all ease .3s;
}
#gl_nv a:hover::after{
	width: 30%;
}
#sub_nv a{
	padding: 5px 1em;
	align-items:center;
}
#sub_nv a:hover{
	opacity: 0.5;
}

#gl_nv span.sm_none{
	display: inline-block;
	padding-right: 0.5em;
}
#gl_nv span.pc_none{
	display: none;
}

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

	#gl_nv li{
		white-space: nowrap;
		font-size: 85%;
	}
}

#side_links{
	position: fixed;
	z-index: 10;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	filter: drop-shadow(0 0 10px rgba(0,0,0,0.1));
}
#side_links a{
	text-decoration: none;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;

	position: relative;
	width: 58px;
	height: 58px;
	background: #2e4fb5;
	color: #fff;
}
#side_links a::after{
	content: "";
	position: absolute;
	left: 0;
	top: 0;

	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
	mix-blend-mode: multiply;
	transition: all ease .3s;
}
#side_links a:hover::after{
	background: rgba(34, 70, 142,0.2);
}
#side_links a span{
	position: relative;
	z-index: 1;
	transition: all ease .15s;
}
#side_links a:hover span{
	transform: scale(1.2);
}
#side_links li:last-child a{
	background:#fff;
	color: #212121;
}
#side_links i.material-icons{
	margin-right: 0;
}


.bg_btn a{
	display: inline-block;
	background: #8e1728;
	color: #fff !important;
	text-decoration: none !important;
	min-width: 270px;
	text-align: center;
	font-size: 110%;
	font-weight: 600;
	border-radius: 3px;
	padding: 15px;
	position: relative;
}
.bg_btn a::before{
	content: "→" ;
	margin-right: 0.5em;
}
.bg_btn a:hover{
	background: #bc1e33;
	filter: drop-shadow(0 0 15px rgba(0,0,0,0.1));
}

#breadcrumbs{
	padding: 20px 0 40px 0;
	margin: 0 auto 40px auto;
	position: relative;
	max-width: 1360px;
}

#breadcrumbs h1{
	font-size: 2.2em;
}
.u_contents #breadcrumbs h1{
	text-align: center;
	font-size: 3em;
	font-weight: 800;
	line-height:1;
}
#breadcrumbs h1 small{
	display: block;
	margin-bottom: 10px;
	font-size: 60%;
	color:#2e4fb5;
}
#breadcrumbs p{
	font-size: 90%;
	color: #2e4fb5;
	margin-bottom: 0;
}
#breadcrumbs::before,
#breadcrumbs::after{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	height: 3px;
}
#breadcrumbs::before{
	width: 100%;
	background: #eee;
	mix-blend-mode: multiply;
}
#breadcrumbs::after{
	width: 10%;
	background: #2e4fb5;
}
.u_contents #breadcrumbs::before,
.u_contents #breadcrumbs::after{
	display: none;
}
#breadcrumbs > ul{
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
	font-size: 75%;
	color: #555;
}
.u_contents #breadcrumbs > ul{
	padding-bottom: 20px;
	border-bottom: 1px solid #eee;
	margin-bottom: 40px;
}
#breadcrumbs > ul > li a::after{
	content: "";
	width: 5px;
	height: 5px;
	border-top: 2px solid #555;
	border-right: 2px solid #555;
	display:inline-block;
	transform: rotate(45deg);
	margin: 0 13px;
	vertical-align: middle;
}

#u_visual {
    width: 100%;
    height: 30vh;
    overflow: hidden;
    background: #000;
}
#u_visual img{
	opacity: 0.8;
}
.u_contents{
	max-width: 1360px;
	padding-top: 100px;
	padding-bottom: 60px;
	background: #fff;
}

/*Folder Top*/
#folder_top_menu{
	margin: 0 auto;
}
#folder_top_menu section{
	margin-bottom: 60px;
}
#folder_top_menu ul{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	font-size: 140%;
	word-break :break-word;
	text-align:left;
}
#folder_top_menu ul::after{
	content: "";
	width: 32%;
	height: 1px;
}
#folder_top_menu ul > li{
	width: 32%;
	padding-left: 0 !important;
	margin-bottom: 2em;
}
#folder_top_menu ul > li::before{
	display: none !important;
}
#folder_top_menu ul a{
	text-decoration: none !important;
}
#folder_top_menu ul a em{
	display: block;
	color: #333 !important;
	position: relative;
	padding-left: 20px;
	line-height: 1.1;
	transition: all ease .3s;
	text-decoration-thickness: 1px;
	line-height:1;
}
#folder_top_menu ul a:hover em{
	color: #bc1e33 !important;
}
#folder_top_menu ul a em::before,
#folder_top_menu ul a em::after{
    position: absolute;
    left: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
	transition: all ease 0s;
}
#folder_top_menu ul a em::before{
	top: 13px;
    width: 9px;
    height: 2px;
    background: #bc1e33;
}
#folder_top_menu ul a em::after{
	top: 9px;
    width: 8px;
    height: 8px;
    border-top: 2px solid #bc1e33;
    border-right: 2px solid #bc1e33;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
#folder_top_menu ul a:hover em::before,
#folder_top_menu ul a:hover em:after{
	left: 3px;
}

#folder_top_menu .fl_box figure img{
	aspect-ratio: 3 / 2;
	transition: all ease .3s;
}
#folder_top_menu .fl_box a:hover figure img{
	opacity: 0.5;
}


#entry_page{
	margin: 0 auto;
	width: 90%;
	max-width: 1360px;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 0 0 60px 0;
}
#entry_page #left_box {
    flex: 1;
}
#entry_page #left_box p{
	font-size:110%
}
#entry_page #left_box p a{
	font-weight:bold;
	
}
#entry_page #breadcrumbs h1{
	text-align:left;
}

#entry_page #right_box {
    width: 25%;
    max-width: 300px;
    margin-left: 100px;
}

#gpu-news-list > article{
	margin-bottom: 20px;
}
#gpu-news-list > article a{
	display: flex;
	justify-content: space-between;
	background: #fff;
	padding: 20px;
	text-decoration: none !important;
	border-bottom: 1px solid #eee;
}
#gpu-news-list > article a:hover{
	filter:drop-shadow(0 0 5px rgba(0,0,0,0.1));
}
#gpu-news-list > article a figure{
	width: 160px;
	height: 160px;
}
#gpu-news-list > article a img{
	transition: all ease .3s;
}
#gpu-news-list > article a:hover img{
	opacity: 0.5;
}
#gpu-news-list > article a > div{
	width: calc(100% - 200px);
}
#gpu-news-list > article a dl{
	display: flex;
	flex-direction: column-reverse;
}
#gpu-news-list > article a dd{
	font-size: 180%;
	font-weight: bold;
	color: #333 !important;
	line-height:1;
	text-align:left;
}
#gpu-news-list > article a:hover dd{
	color: #bc1e33 !important;
}
#gpu-news-list > article a dt{
	margin-top: 0.8em;
	color: #aaa !important;
}
#gpu-news-list > article a dt span:not(:last-of-type)::after{
	content: ",";
	margin-right: 0.5em;
}
#gpu-news-list > article a dt small{
	font-size: 100%;
	display: inline-block;
	margin-left: 0.5em;
	padding-left: 0.5em;
	border-left: 1px solid #aaa;
}

#entry_page h1{
	margin-bottom: 0.5em;
}
#entry_page aside.fl_box{
	justify-content: flex-start;
	align-items: baseline;
}
#entry_page aside.fl_box .category_list{
	display: flex;
	margin-left: 1em;
}
#entry_page aside.fl_box .category_list li:not(:last-child) a::after{
	content: ",";
	display: inline-block;
	margin: 0 5px 0 0;
}

#entry_page #breadcrumbs > ul li.not_single:nth-last-child(n+3) a::after{
	content: ",";
	transform: translate(0,0) rotate(0deg);
	border: none;
	width: auto;
	height: auto;
	margin: 0 5px 0 0;
}
#entry_page #left_box h1{
	font-size:2.4em
}

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

#campus_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
#campus_list section{
	width: 45%;
	margin-bottom: 40px;
}
#campus_list .lay_2c > div:first-of-type{
	width: 100%;
	margin-bottom: 20px;
	position: relative;
	padding-top: 60%;
}
#campus_list .lay_2c > div:first-of-type > img,
#campus_list .lay_2c > div:first-of-type > a{
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}
#campus_list h1,#campus_list hr{
	width: 100%;
	display: block;
}

#campus_list.club section{
	border-bottom:1px solid #ddd;
}
#campus_list h3{
	margin-top:0 !important;
	font-size:1.5em;
}


.impact{
	font-size:200%;
	font-weight:bold;
	font-family: Didot,Didot LT STD,Hoefler Text,Garamond,Calisto MT,Times New Roman,serif;
	color:#8E1728;
}

.policy_impact p{
	font-size:120%;
}
.policy_impact section{
	margin-top:40px;
	padding-left:3%;
	border-left:1px solid #8E1728;
}
.policy_impact h1{
	border-bottom:none !important;
	margin-bottom:0.25em !important;
}
.policy_impact h1 strong{
	font-size:150%
}
.policy_impact h1::before{
	display:none !important;
}

#access_detail i{
	color:#2e4fb5;
}
#access_detail .fl_box > div:first-child{
	width:30%
}
#access_detail .fl_box > div:last-child{
	width:65%;
}
#access_detail .fl_box h2:first-of-type{
	margin-top:0 !important;
}
#access_detail strong.bg{
	display:inline-block;
	border:1px solid #333;
	padding:0 10px;
	font-size:90%;
}


/* footer */
.foot_list{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 60px 0;
}
.foot_list a{
	margin: 0 1em;
	display: flex;
	align-items: center;
	justify-content: center;

	width: 58px;
	height: 58px;
	background: #fff;
	color: #212121;
	font-weight: bold;
}
.foot_list a:hover{
	opacity: 0.5;
}

footer aside{
	display: flex;
	justify-content: center;
	background: #333;
	color: #fff;
}
footer aside a{
	color: #fff !important;
	text-decoration: none !important;
}
footer aside ul{
	padding: 40px 0;
	display: flex;
	margin-left: auto;
	justify-content: center;
	font-weight: 600;
}
footer aside ul a{
	margin: 0 1em;
}
footer aside ul a:hover{
	opacity: 0.5;
}
footer #pagetop{
	margin-left: auto;
	margin-bottom: 0 !important;
}
footer #pagetop a{
	background: #8e1728;
	position: relative;
	padding-top: 100%;
	width: 100px;
	display: block;
	font-size: 0;
}
footer #pagetop a:hover{
	background: #bc1e33;
}
footer #pagetop a::after{
	content: "";
	position: absolute;
	left: 50%;
	top: 60%;

	width: 30px;
	height: 30px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transform: translate(-50%,-50%) rotate(-45deg);
	transition: all ease .3s;
}
footer #pagetop a:hover::after{
	top: 50%;
}

footer .information{
	display: flex;
	justify-content: center;
	padding: 40px 20px;
	background: #212121;
	color: #eee;
}
footer .information h5{
	margin-right: 4em;
}

footer .information address{
	display: flex;
}
footer .information address dl{
	margin-left: 2em;
}
footer .information address dt{
	font-weight: bold;
}
footer .information address dd a{
	display: inline-block;
	font-size: 90%;
	border-bottom: 2px solid #ddd;
	color: #eee;
	padding: 3px ;
	transition: all ease .3s;
}
footer .information address dd a:hover{
	background: #212121;
	color: #fff;
	border-color: #212121;
	box-shadow: 0 0 5px 0 rgba(0,0,0,0.2);
	transform: translateX(5px);
}
footer small{
	display: block;
	margin: 0 auto ;
	padding: 30px 0;
	color: #aaa;
	text-align: center;
	background: #333;
}