@charset "utf-8";

body{
	min-width: 1100px;
	position: relative;
}

img{
    vertical-align:bottom;
}


/* a img{
	transition: 0.2s ease-in-out;
}

a img:hover{
	opacity: .7;
} */

p{
	text-align: justify;
}

.pc-only{
    display: block;
}

.sp-only{
    display: none;
}

.pc-only-in{
    display: inline;
}



/*-----------------------------------------------------
ヘッダー
-------------------------------------------------------*/
header {
	width: 100%;
}

header .header-content {
	width: 1000px;
	height: 120px;
	margin-left: auto;
	margin-right: auto;
	display: flex;
	justify-content: space-between;
}




header .header-content .logo img {
	padding-top: 14px;
	width: 332px;
	max-width: 100%;;
	transition: 0.2s ease-in-out;
}

@media (min-width: 481px) {
header .header-content img:hover{
	opacity: .7;
}
}

header .header-right{
	display: flex;
	position: relative;
}

header .header-right .header-menu{
	display: flex;
	justify-content: space-between;
	font-size: 15px;
	margin-top: 14px;
}

header .header-right .header-menu li{
	padding-right: 1em;
}

header .header-right .header-menu li::before {
	content: "";
	padding-left: 1.1em;
	background: url(/common/img/icon_arrow_o_right.svg) no-repeat 0 center / 1em 1em;
}


/*-----------------------------------------------------
ヘッダー > 検索フォーム
-------------------------------------------------------*/
#search-btn{
	width: 40px;
	height: 40px;
	display: block;
	background-color: #0050aa;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 30px 30px;
	background-image: url(/common/img/icon_search.png);
	transition: 0.1s ease-in-out;
}

@media (min-width: 481px) {
#search-btn:hover{
	opacity: .7;
}
}

.search-form{
	position: absolute;
	right: 0;
	width: 348px;
	padding: 12px 20px;
	margin-top: 10px;
	background-color: #e6e6e6;
	display: flex;
	justify-content: center;
	box-shadow: 2px 3px 3px rgba(0,0,0,0.3);
	transform: translateY(-20%);
	visibility:hidden;
	opacity: 0;
	transition: 0.15s ease;
	z-index: 1;
}

.search-form.search-open{
	visibility:visible;
	opacity: 1;
	transform: translateY(0%);
}

.search-form .search-input{
	width: 242px;
	box-sizing: border-box;
	border: none;
	outline: none;
	line-height: 2.2em;
	min-height: 32px;
	padding: 0 10px;
	font-size: 14px;
	color: #282828;
	font-family: inherit;
	outline-offset: -2px;
	-webkit-appearance: none;
	border-radius: 0;
}

.search-form .search-input:focus {
	outline: solid 2px #0050aa;;
}

.search-form .search-submit{
	width: 60px;
	font-size: 14px;
	border: none;
	outline: none;
	color: #fff;
	background-color: #0050aa;
	cursor: pointer;
	transition: 0.1s ease-in-out;
	-webkit-appearance: none;
	border-radius: 0;
}

@media (min-width: 481px) {
.search-form .search-submit:hover{
	opacity: .7;
}
}


/*-----------------------------------------------------
ヘッダー > グローバルメニュー（PC）
-------------------------------------------------------*/
@media (min-width: 481px) {

.nav-section {
	width: 100%;
	background-color: #006098;
	border-bottom: 2px solid #fff;
}

.main-nav {
	margin: 0 auto;
	width: 1000px;
}

.main-nav .header-content{
	display: none;
}

.main-nav>ul {
	z-index: 1000;
}

.main-nav>ul {
	display: flex;
	justify-content: space-between;
	position: relative;
}

.main-nav li .opne-btn {
	display: none;
}

.main-nav>ul>li {
	box-sizing: border-box;
	position: relative;
	width: 166px;
	padding: 18px 0;
}

.main-nav li a {
	cursor: pointer;
}

.main-nav li a {
	cursor: pointer;
}

.main-nav .menu2.active{
	display: block;
}

.main-nav>ul>li>div>a{
	color: #fff;
	text-decoration: none;
	font-size: 18px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.2em;
	height: 32px;
	border-left: 1px solid #4782b9;
	cursor: pointer;
}

.main-nav>ul>li:last-child>div>a{
	border-right: 1px solid #4782b9;
}

.main-nav>ul>li:hover::before{
	content: '';
	position: absolute;
	bottom: 0px;
	width: 100%;
	height: 8px;
	background: #4782b9;
	animation-name: border_show;
	animation-timing-function: ease;
	animation-duration: .2s;
	animation-delay: 0s;
	animation-fill-mode: forwards;
}

.main-nav>ul>li.current::before {
	transform: none;
}

.main-nav>ul>li.current:hover::before{
	animation-name: none;
}

.main-nav>ul>li.active .menu2 {
	display: block;
}

.main-nav>ul>li:hover .menu2 {
	display: block;
	animation: menuShow .3s ease 0s;
}

.main-nav>ul>li>.menu_inner{
	display: flex;
	position: absolute;
	left: 0;
	top: 70px;
}

.main-nav .menu2 {
	display: none;
	background-color: rgba(95, 169, 220, .95);
	margin-top: 0;
	padding: 20px 0 20px 0;
	font-size: 16px;
	min-width: 280px;
	line-height: 1.2em;
	box-sizing: border-box;
/*	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);*/
}

.main-nav .menu2:first-child {
	z-index: 100;
}

.main-nav .menu2::before{
    content: "";
    position: absolute;
    width: 100%;
    height: 15px;
    top: -15px;
    left: 0;
}

.main-nav .menu2>li {
	color: #fff;
	width: 100%;
	display: block;
	position: relative;
	box-sizing: border-box;
}

.main-nav .menu2>li>a,
.main-nav .menu2>li>div>a {
	line-height: 1.5em;
	padding-left: 1.2em;
	text-indent: -1.1em;
}

.main-nav .menu2>li>a::before,
.main-nav .menu2>li>div>a::before{
	content: "";
	padding-left: 1em;
	background: url(/common/img/icon_minus.svg) no-repeat 0 center / 1em 1em;
}

.main-nav .menu2>li>a,
.main-nav .menu2>li>div>a {
	color: #fff;
	text-decoration: none;
	display: block;
	padding: 4px 30px;
	margin-bottom: 0.3em;
	position: relative;
}

.main-nav .menu2.menu2_indent>li>a {
	padding: 4px 25px 4px 45px;
}

.main-nav .menu2>li::before {
	content: '';
	position: absolute;
	left: 10px;
	bottom: 0;
	width: 90%;
	height: 3px;
	background: rgba(242, 242, 242, 1);
	transform: scale(0, 0);
}

.main-nav .menu2>li.tree::after {
	content: '';
	position: absolute;
	right: 10px;
	bottom: 0;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 13px 0 0 13px;
	border-color: transparent transparent transparent rgba(242, 242, 242, 1);
	opacity: 0;
}

.main-nav .menu2>li:hover::before {
	content: '';
	animation: menuHover .25s ease 0s forwards;
}

.main-nav .menu2>li.tree:hover::after {
	content: '';
	animation: menuHover2 .15s ease .15s forwards;
}

.main-nav .menu3 {
	display: none;
	position: absolute;
	background-color: rgba(255, 255, 255, .95);
	border: 1px solid rgba(0, 80, 170, .95);
	margin-top: 0;
	padding: 20px 0 20px 0;
	font-size: 16px;
	min-width: 280px;
	left: 280px;
	top: -16px;
	line-height: 1.2em;
	box-sizing: border-box;
}

.main-nav .menu3.active {
	display: block;
}

.main-nav .menu2>li:hover .menu3 {
	display: block;
	animation: menu3_show .3s ease 0s;
}

.main-nav .menu3>li {
	color: #0050aa;
	width: 100%;
	display: block;
	position: relative;
	box-sizing: border-box;
	/* white-space: nowrap; */
}

.main-nav .menu3>li.sp-only {
	display: none;
}

.main-nav .menu3>li>a {
	text-decoration: none;
	display: block;
	padding: 5px 30px;
	margin-bottom: 0.2em;
	position: relative;
	color: #0050aa;
	line-height: 1.5em;
	padding-left: 2em;
	text-indent: -1.1em;
}

.main-nav .menu3>li>a::before{
	content: "";
	padding-left: 1em;
	background: url(/common/img/icon_minus_b.svg) no-repeat 0 center / 1em 1em;
}

.main-nav .menu3>li::before {
	content: '';
	position: absolute;
	left: 4%;
	top: 0;
	width: 92%;
	height: 100%;
}

.main-nav .menu3>li:hover::before {
	background: rgba(225, 225, 225, 1);
}

/* メニュー センター?施設等 */
.main-nav .menu_inner.menu-center-info {
	left: -228px;
}

/* メニュー 研究?社会連携 */
.main-nav .menu_inner.menu-about {
	left: -84px;
}

.main-nav .menu_inner.menu-about .menu2 {
	min-width: 260px;
}


.main-nav .menu2 li a[target="_blank"] .link-icon {
	padding-left: 1.5em;
	background: url(/common/img/icon_link_white.png) no-repeat right center/ 16px 16px;
}

.main-nav .menu3 li a[target="_blank"] .link-icon {
	padding-left: 1.5em;
	background: url(/common/img/icon_link_blue.png) no-repeat right center/ 16px 16px;
}


}/* END グローバルメニュー（PC） */


@keyframes border_show {
	from {
		transform-origin: center bottom;
		transform: scale(1, 0);
	}

	to {
		transform-origin: center bottom;
		transform: scale(1, 1);
	}
}

@keyframes menuShow {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

@keyframes menuHover {
	from {
		transform-origin: left top;
		transform: scale(0, 1);
	}

	to {
		transform-origin: left top;
		transform: scale(1, 1);
	}
}

@keyframes menuHover2 {
	from {
		transform-origin: left top;
		opacity: 0;
		transform: translateX(-20px);
	}

	to {
		transform-origin: left top;
		opacity: 1;
		transform: translateX(0px);
	}
}

@keyframes menu3_show {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}


/*-----------------------------------------------------
フッター
-------------------------------------------------------*/
footer{
	width: 100%;
	background-color: #0050aa;
	overflow: hidden;
	position: relative;
}


footer a img{
	transition: 0.2s ease-in-out;
}

@media (min-width: 481px) {
footer a img:hover{
	opacity: .7;
}
}

footer .footer-border{
	width: 100%;
	border-top: 15px solid #d5e9f6;
}

footer .footer_logo{
	width: 228px;
}

footer .footer_logo img{
	max-width:  100%;
}

footer .footer-inner{
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

footer .footer-container{
	display: flex;
	justify-content: space-between;
	margin-bottom: 16px;
}

footer .footer-left{
	display: flex;
	align-items: center;
	padding-top: 12px;
}

footer .footer-right{
	width: 314px;
	height: 62px;
	margin-top: -15px;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

footer .footer-check{
	position: relative;
	z-index: 1;
	width: 87px;
	line-height: 1em;
	margin-left: 6px;
}

footer .footer-check img{
	width: 100%;
}

footer .footer-media-link{
	width: 210px;
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

footer .footer-media-link li{
	width: 46px;
	line-height: 1em;
}

footer .footer-media-link img{
	width: 100%;
}

footer .footer-right::before{
	content:"";
	position: absolute;
	top: 12px;
	left: -20px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 20px 50px 0;
	border-color: transparent #d5e9f6 transparent transparent;
}

footer .footer-right::after{
	content:"";
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 62px;
	background-color: #d5e9f6;
}

footer .footer_address{
	color: #fff;
	font-size: 14px;
	line-height: 1.5em;
	margin-left: 24px;
	margin-top: 8px;
}

footer .footer-copyright{
	padding: 16px 0;
	text-align: center;
	color: #ffffff;
	font-size: 12px;
	line-height: 1.4em;
}


/*-----------------------------------------------------
TOPボタン
-------------------------------------------------------*/
#page-top {
	display: none;
	position: fixed;
    /* position: absolute; */
    bottom: 20px;
	right: 20px;
	z-index: 100;
}

#page-top a{
	display: block;
	width: 54px;
	height: 90px;
	background: url(/common/img/top_icon.png) no-repeat center center / 54px auto;
	line-height: 1em;
}




/*-----------------------------------------------------
メイン画像
-------------------------------------------------------*/
.main-image{
	width: 100%;
	height: 274px;
	overflow: hidden;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	position: relative;
	background-color: #fff;

}

.main-image .inner{
	display: flex;
	align-items: center;
	height: 100%;	
}

.main-image .main-title{
	color: #fff;
	/* background-color: rgba(0, 80, 170, .8); */
	font-size: 35px;
	font-weight: bold;
	line-height: 1em;
	letter-spacing: 0.2em;
	padding: 0.6em 0.3em 0.6em 0;
	position: relative;
	z-index: 1;
}

/* IE */
@media all and (-ms-high-contrast: none){
	.main-image .main-title{
		padding-bottom: 14px;
	}
}

.main-image .main-title::before{
	content: "";
	position: absolute;
	width: 100vw;
	height: 100%;
	right: 0;
	bottom: 0;
	background-color: rgba(0, 80, 170, .8);
	z-index: -1;
}


/* 大学概要 */
.about .main-image{
	background-image: url(/common/img/main-about.jpg);
}

.about .main-image .main-title::before{
	background-color: rgba(0, 80, 170, .8);
}

/* 工学部?大学院 */
.engineering-graduate .main-image{
	background-image: url(/common/img/main-engineering-graduate.jpg);
}

.engineering-graduate .main-image .main-title::before{
	background-color: rgba(32, 70, 0, .8);
}

/* 入試案内 */
.info .main-image{
	background-image: url(/common/img/main-info.jpg);
}

.info .main-image .main-title::before{
	background-color: rgba(237, 109, 121, .8);
}

/* 学生支援?就職 */
.campuslife .main-image{
	background-image: url(/common/img/main-campuslife2.jpg);
}

.campuslife .main-image .main-title::before{
	background-color: rgba(255, 115, 30, .8);
}

/* センター?施設等 */
.center-info .main-image{
	background-image: url(/common/img/main-center-info.jpg);
}

.center-info .main-image .main-title::before{
	background-color: rgba(95, 169, 220, .8);
}

/* 研究?社会連携 */
.research .main-image{
	background-image: url(/common/img/main-research.jpg);
}

.research .main-image .main-title::before{
	background-color: rgba(255, 184, 0, .8);
}

/* その他 */
.other .main-image{
	background-image: url(/common/img/main-other.jpg);
}

.other .main-image .main-title::before{
	background-color: rgba(90, 79, 66, .8);
}





/*-----------------------------------------------------
コンテンツ
-------------------------------------------------------*/
main {
	display: block;
	width: 100%;
	min-height: 700px;
	background-position: top center;
	background-repeat: repeat;
	background-image: url(/common/img/back.jpg);
	/* overflow: hidden; */
	border-bottom: 4px solid #0050aa;
}

main .contents-inner{
	width: 1100px;
	background-color: rgba(255, 255, 255, .6);
	margin-top: 45px;
	margin-bottom: 40px;
	min-height: 640px;
	margin-left: auto;
	margin-right: auto;
}

main .inner{
	width: 1000px;
	margin-left: auto;
	margin-right: auto;
}

main.top-page{
	margin-bottom: 0;
}

main p{
	text-align: justify;
	margin-bottom: 1em;
}

/*-----------------------------------------------------
パンくずリスト
-------------------------------------------------------*/
.breadcrumb{
	display: flex;
	flex-wrap: wrap;
	padding-top: 10px;
	color: #4d4d4d;
}

.breadcrumb li{
	font-size: 13px;
}

.contents .breadcrumb li {
	padding-left: 0;
	text-indent: 0;
	margin-bottom: 0;
	margin-left: 0;
}


.breadcrumb li a{
	color: #4d4d4d;
}

.breadcrumb li a:hover{
	color: #449CE1;
}



.breadcrumb li::after {
    content: '>';
    padding: 0 5px;
}

.breadcrumb li:last-child::after {
    content: '';
    padding: 0 5px;
}

.breadcrumb.white{
	color: #fff;
}

.breadcrumb.white li a{
	color: #fff;
}

.breadcrumb.white li a:hover{
	color: #fff;
}



.contents{
	padding-bottom: 60px;
}


.contents a{
	color: #449CE1;
}

a[href^="http://"], a[href^="https://"] {
	word-break: break-all;
}

.contents a[target="_blank"] {
	padding-right: 1.2em;
	background: url(/common/img/icon_link.png) no-repeat right center/ 1em auto;
}

.contents a[href$=".pdf"] {
    padding-right: 1.5em;
    background: url(/common/img/icon_pdf-1.jpg) no-repeat right center;
}


.contents a[href$=".zip"] {
    padding-right: 1.5em;
    background: url(/common/img/icon_zip.jpg) no-repeat right center;
}

.contents a[href$=".xls"], .contents a[href$=".xlsx"] {
    padding-right: 1.5em;
    background: url(/common/img/icon_xls.jpg) no-repeat right center;
}

.contents a[href$=".doc"], .contents a[href$=".docx"] {
    padding-right: 1.5em;
    background: url(/common/img/icon_doc.jpg) no-repeat right center;
}

.contents a[href$=".ppt"], .contents a[href$=".pptx"] {
    padding-right: 1.5em;
    background: url(/common/img/icon_ppt.jpg) no-repeat right center;
}

.contents img{
	max-width: 100%;
}

.contents a img{
	transition: 0.2s ease-in-out;
}

@media (min-width: 481px) {
.contents a img:hover{
	opacity: .7;
}
}

.contents p{
	margin-left: 1em;
}


.contents h2,
.search-contents h2 {
	font-size: 24px;
	font-weight: bold;
	border-bottom: 2px solid #5fa9dc;
	position: relative;
	padding-right: 0.5em;
	padding-bottom: 0.4em;
	margin-top: 2em;
	margin-bottom: 1.8em;
	text-indent: -2.1em;
	padding-left: 2.1em;

}

.contents h2::before,
.search-contents h2::before{
	content: "";
	padding-left: 2.1em;
	padding-top:  1em;
	padding-bottom:  0.7em;
	background: url(/common/img/title1-icon.png) no-repeat left center / 2em auto;
}

.contents h2::after,
.search-contents h2::after{
	content: "";
	position: absolute;
	right: 0;
	bottom: -1px;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 0 14px 44px;
	border-color: transparent transparent #5fa9dc transparent;
	
}


.contents h3{
	font-size: 20px;
	font-weight: bold;
	background-color: #e6e6e6;
	position: relative;
	padding: 0.4em 1em;
	margin-top: 2em;
	margin-bottom: 1.5em;
	text-indent: -1.6em;
	padding-left: 2.4em;

}

.contents h3::before{
	content: "";
	padding-left: 1.6em;
	background: url(/common/img/title2-icon.png) no-repeat left center / 1em auto;
}

/* 項目の折りたたみ（アコーディオン形式） */
.contents h3.menu{
	cursor: pointer;
	user-select: none;
}

@media (min-width: 481px) {
	.contents h3.menu:hover{
		background-color: #ddd;
	}
}

.contents h3.menu::after{
	content: "";
	display: block;
	position :absolute;
	right: 1em;
	top: 0;
	width: 1em;
	height: 1em;
	padding: 0.7em 0;
	background: url(/common/img/icon_arrow_right_blue.svg) no-repeat 0 center / 1em 1em;
	transition: 0.15s ease;
	box-sizing: content-box;
}

.contents h3.menu.open-active::after{
	content: "";
	transform: rotate(90deg);
}

.contents h3.menu + section, .contents h3.menu + article{
	display: none;
}

.contents h4{
	font-size: 18px;
	font-weight: bold;
	border-bottom: 1px solid #5fa9dc;
	color: #5fa9dc;
	padding: 0.12em 0;
	margin-top: 2em;
	margin-bottom: 1em;
}


/* 項目の折りたたみ（アコーディオン形式） */
.contents h4.menu{
	cursor: pointer;
	user-select: none;
	position: relative;
}

@media (min-width: 481px) {
	.contents h4.menu:hover{
		background-color: #dfdfdf;
	}
}

.contents h4.menu::after{
	content: "";
	display: block;
	position :absolute;
	right: 1em;
	top: -0.3em;
	width: 1em;
	height: 1em;
	padding: 0.7em 0;
	background: url(/common/img/icon_arrow_right_blue.svg) no-repeat 0 center / 1em 1em;
	transition: 0.15s ease;
	box-sizing: content-box;
}

.contents h4.menu.open-active::after{
	content: "";
	transform: rotate(90deg);
}

.contents h4.menu + section, .contents h4.menu + article{
	display: none;
}

.contents h5{
	font-size: 17px;
	font-weight: bold;
	margin-bottom: 0.5em;
}

.contents h6{
	font-size: 16px;
	font-weight: bold;
	margin-bottom: 0.5em;
}


.contents .update{
	text-align: right;
	font-size: 95%;
	padding-top: 1em;
}

.mb0{margin-bottom: 0 !important;}
.mb1{margin-bottom: 1em !important;}
.mb2{margin-bottom: 2em !important;}
.mb3{margin-bottom: 3em !important;}
.mb4{margin-bottom: 4em !important;}

.indent{
    margin-left: 1em !important;
    text-indent: -1em !important;
	padding-left: 1em;
}

.indent1h{
    margin-left: 1.5em !important;
    text-indent: -1.5em !important;
	padding-left: 1em;
}

.indent2{
    margin-left: 2em !important;
    text-indent: -2em !important;
	padding-left: 1em;
}

.indent3{
    margin-left: 3em !important;
    text-indent: -3em !important;
	padding-left: 1em;
}


.contents img.img-right{
	float:right;
	margin-left:1em;
	margin-bottom: 0.5em;
}

.contents img.img-left{
	float:left;
	margin-right:1em;
	margin-bottom: 0.5em;
}


.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
 
.clearfix:before {
	content: "";
	display: block;
	clear: both;
}
 
.clearfix {
	display: block;
}


.contents .red {
    color: #DD3D50;
}

.contents span.c-red {
    color: red;
}


.contents table{
	width:100%;
	line-height:1.5em;
	font-size:100%;
	margin-bottom:2em;
	background-color: #fff;
}

.contents table th{
	background-color:#DFDFDF;
	vertical-align: middle;
}

.contents table th,
.contents table td{
	padding:0.5em;
	border:1px solid #999;
}



.contents table p{
	margin:0px 0px 10px 0px;
}

.contents table th.nowrap,
.contents table td.nowrap{
	white-space: nowrap;
}


.contents table.nowrap1 tr td:nth-child(1),.contents table.nowrap1 tr th:nth-child(1){white-space: nowrap;}
.contents table.nowrap2 tr td:nth-child(2),.contents table.nowrap1 tr th:nth-child(2){white-space: nowrap;}
.contents table.nowrap3 tr td:nth-child(3),.contents table.nowrap1 tr th:nth-child(3){white-space: nowrap;}
.contents table.nowrap4 tr td:nth-child(4),.contents table.nowrap1 tr th:nth-child(4){white-space: nowrap;}
.contents table.nowrap5 tr td:nth-child(5),.contents table.nowrap1 tr th:nth-child(5){white-space: nowrap;}
.contents table.nowrap6 tr td:nth-child(6),.contents table.nowrap1 tr th:nth-child(6){white-space: nowrap;}


.contents table.table-center td{
	text-align: center;
}

.contents table.table-middle td{
	vertical-align: middle;
}

.contents table  td.txtLeft{
	text-align: center;
}

.contents table  td.txtCenter{
	text-align: center;
}

.contents table  td.txtRight{
	text-align: center;
}



.contents ol,
.contents ul{
	list-style-position: inside;
	margin-bottom: 1em;
}

.contents ol li, .contents ul li {
	padding-left: 1em;
	text-indent: -1em;
	margin-bottom: 5px;
	margin-left: 1em;
}

.contents ul.list-num {
	list-style-type: decimal;
}

.contents ul.list-num li {
	text-indent: -1.2em;
}


.contents .alignleft{
	text-align: left;
}

.contents .aligncenter{
	text-align: center;
}

.contents img.aligncenter{
	display: block;
	margin: 0 auto;
}

.contents .alignright{
	text-align: right;
}



.contents .pageLink li {
	border: 1px dotted #999;
	margin: 0 1em 10px 1em;
}

.contents .pageLink li a {
	display: block;
	padding:  0.5em 1em;
    text-indent: -2em;
}

.contents .pageLink li a::before {
	content: "";
    padding-right: 1.5em;
	margin-right: 0.5em;
    background: url(/common/img/ico_arrow_btm.gif) no-repeat right center;
}



/*----------------------------------------
学章
----------------------------------------*/
#gakusyou_logo section ul{
	display: flex;
	justify-content: center;
}

#gakusyou_logo section .line {
    border: 1px solid #CCC;
}



/*----------------------------------------
工大女の子通信！！
----------------------------------------*/

#koudaigirls section{
	margin-bottom: 4em;
}

.correspondence_profile{
	display: flex;
	flex-wrap: wrap;
	padding: 0 40px;
}

.correspondence_profile dl{
	margin-right: 50px;
	font-size: 108%;
}

.correspondence_profile dl dt{
	margin-bottom: 0.5em;
}


/*----------------------------------------
	post navigation
----------------------------------------*/
.navigation{
	display: flex;
	justify-content: space-between;
	margin-bottom: 1em;
}

.navigation .alignleft, .navigation .alignright{
	width: 48%;
}

/*----------------------------------------
検索結果
----------------------------------------*/
.search-contents{
 padding-bottom: 40px;
}

.search-contents .search-result{
	border-bottom: 1px dotted #0050aa;
	padding: 0.5em;
	margin-bottom: 0.5em;
}

.search-contents .search-result-list li{
	padding: 1em 0.5em;
    border-bottom: dotted 1px #0050aa;
}

.search-contents h3{
	font-size: 16px;
	font-weight: bold;
}

.search-contents .date{
	font-size: 14px;
	margin-bottom: 0.5em;
}

.search-contents .continued a{
	color: #0050aa;
}

.search-contents .continued a::before {
    content: "";
    padding-left: 1.2em;
    background: url(/common/img/icon_arrow_o_right.svg) no-repeat 0 center / 1em 1em;
}


/*----------------------------------------
ページング
----------------------------------------*/
.pager{
	text-align:center;
	margin-top: 10px;
}
.pager a.page-numbers, .pager .current{
	background:rgba(0,0,0,0.05);
	border:solid 1px rgba(0,0,0,0.1);
	/* border-radius:5px; */
	padding:5px 10px;
	line-height: 1em;
	margin:0 2px;
	text-decoration: none;
}

.pager .current, .pager a.page-numbers:hover{
	background:#0050aa;
	color:#fff;
}

/*----------------------------------------
大学からのお知らせ一覧
----------------------------------------*/
ul.topics-list{
	margin-bottom: 30px
}

ul.topics-list li{
	border-bottom: dotted 1px #0050aa;
    padding-left: 0;
    text-indent: 0;
    margin-bottom: 0;
}

ul.topics-list li:first-child{
	border-top: dotted 1px #0050aa;
}


ul.topics-list li a{
	display: flex;
	color: #333;
	padding: 0.75em 0.5em;
	text-decoration: none;
}

ul.topics-list li .item-title{
	flex-grow: 1;
}


ul.topics-list li a:hover .item-title{
	color:  #449CE1;
	text-decoration: underline;
	flex-grow: 1;
}



ul.topics-list li .item-date{
	min-width: 120px;
	color: #0050aa;
	font-size: 15px;
}

/*----------------------------------------
刊行物
----------------------------------------*/

.publication-list{
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.publication-list::before{
	content:"";
	display:block;
	width: 21%;
	height:0;
	order:1;
}

.publication-list::after{
	content:"";
	display:block;
	width: 21%;
	height:0;
}

.publication-list>li{
	display: block;
	width: 21%;
	margin-bottom: 2em;
	padding-left: 0 !important;
	text-indent: 0 !important;
	margin-left: 0 !important;
}

.publication-list>li p {
	margin-top:0.3em;
	margin-left: 0;
}

.publication-list>li p span {
    padding-right: 1.1em;
    background: url(/common/img/icon_pdf-1.jpg) no-repeat right center;
}


.publication-list>li a[href$=".pdf"] {
    padding-right: 0;
    background: none;
}

.publication-list>li a[href$=".pdf"]>p span {
    padding-right: 1.1em;
    background: url(/common/img/icon_pdf-1.jpg) no-repeat right center;
}

ul.gakuho{
    display: flex;
    flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 2em;
}


ul.gakuho>li{
	display: block;
	width: 30%;
	margin-left: 0;
}


ul.gakuho::before{
	content:"";
	display:block;
	width: 30%;
	height:0;
	order:1;
}


ul.gakuho::after{
	content:"";
	display:block;
	width: 30%;
	height:0;
}


/*------------------------------------------------
国際交流センター
-------------------------------------------------*/
#international  a,
#international  span,
#international_detail  span,
#international_detail a{
	color:#449CE1;
}

#international section:nth-child(4) ol{
	float:left;
	margin-right:50px;
}

#international section:nth-child(5) dl{
	float:left;
	width:200px;
	margin:0px 30px 0px 0px;
}

#international dl{
	margin-left:20px;
}

#international dl p{
	margin-left:0px;
}

#international ul li,
#international_detail ul li{
	float:left;
	margin-right:12px;
}

#international_detail ul li{
	float:left;
	margin-right:5px;
}

#international ul li:nth-child(3n),
#international_detail ul li:nth-child(3n){
	margin-right:0px;
}

#international ol{
	margin-left:20px;
}

.contents span.arrow{
	font-size:74%;
	margin-right:0.35em;
	vertical-align: top;
	color:#333 !important;
}


#international_en p{
	text-align: left;
}



/*---------------------------------------------
施設?設備概要
--------------------------------------------*/
#shisetu-setubi dl dt{
	float: left;
}

#shisetu-setubi dl dd{
	float: right;
}

/*---------------------------------------------
省エネ?環境保全
--------------------------------------------*/
#sunlight-system dl{
	display: flex;
	justify-content: space-between;
}

#sunlight-system dl dt{
	width: 70%;
}

#sunlight-system dl dd{
	width: 28%;
}



	
/*-----------------------------------------------------
目的でさがす
-------------------------------------------------------*/
ul.purpose>li h3{
	color: #fff;
	background-color: #5fa9dc;
	padding: 0.7em 0.5em;
	font-size: 20px;
	line-height: 1em;
	text-indent: 0;
	position: relative;
	margin-top: 0;
	margin-bottom: 1em;
	cursor: pointer;
	user-select: none;
}


@media (min-width: 481px) {
	ul.purpose>li h3:hover{
		opacity: .8;
	}
}

ul.purpose>li:nth-child(even) h3{
	background-color: #0050aa;

}

ul.purpose>li h3::before{
	content: "";
	padding-left: 1.75em;
	background: url(/common/img/icon_search.png) no-repeat 0 center / 1.5em 1.5em;
}

ul.purpose>li h3::after{
	content: "";
	display: block;
	position :absolute;
	right: 1em;
	top: 0;
	width: 1em;
	height: 1em;
	padding: 0.7em 0;
	background: url(/common/img/icon_arrow_right.svg) no-repeat 0 center / 1em 1em;
	transition: 0.15s ease;
}

ul.purpose>li h3.open-active::after{
	content: "";
	transform: rotate(90deg);
}

ul.purpose section{
	display: none;
}

ul.purpose h4{
	padding-left: 0.7em;
	padding-right: 0.7em;
	margin-top: 0;
}


ul.purpose>li{
	padding: 0;
	text-indent: 0;
	margin-left: 0;
}


ul.purpose>li ul{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding: 0 0.7em;
	margin-bottom: 2em;
}

ul.purpose>li ul li{
	padding-right: 1em;
	width: 48%;
	margin-bottom: 1em;
}

ul.purpose>li ul li::before {
	content: "";
	padding-left: 1.1em;
	background: url(/common/img/icon_arrow_right_blue.svg) no-repeat 0 center / 0.96em 0.96em;
}

ul.purpose>li ul li a{
	color: #282828;
	text-decoration: underline;
}

ul.purpose>li ul li a:hover{
	color: #006098;
	text-decoration: none;
}


/*-----------------------------------------------------
学術推進体制
-------------------------------------------------------*/
.research-work:first-child{
	padding-top: 20px;
}

.research-work:last-child{
	padding-bottom: 40px;
	border-bottom: none;
}

.research-work{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-top: 90px;
	padding-bottom: 90px;
	border-bottom: 1px solid #b3b3b3;
}

.research-work.reverse{
	flex-direction: row-reverse;
}

.research-work>div{
	width: 50%;
}

.research-work .research-work-contents{
	padding: 0 34px;
}

.research-work .title{
	font-size: 27px;
	line-height: 1.3em;
	padding-bottom: 0.3em;
	border-bottom: 2px solid #000;
	font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.research-work .title-en{
	font-size: 25px;
	line-height: 1.7em;
	margin-bottom: .5em;
}

.research-work .details-button{
	display: block;
	border: 1px solid #000;
	background-color: #fff !important;
	text-align: center;
	color: #000;
	padding: .75em;
	line-height: 1em;
	text-decoration: none;
	background-image: none !important;
}

.research-work .details-button:hover{
	color: #fff;
	background-color: #0050aa !important;
	border: 1px solid #0050aa;
}

/*-----------------------------------------------------
サイトマップ
-------------------------------------------------------*/
#sitemap li::before{
	margin-left: 1em;
}

#sitemap li::before{
	content: "?";
    font-size: 74%;
    margin-right: 5px;
}

#sitemap ul{
	margin-bottom: 0;
}

#sitemap ul ul{
	margin-left: 0.3em;
}

#sitemap ul ul li{
	margin-left: 0;
}

/*-----------------------------------------------------
画像ギャラリー
-------------------------------------------------------*/
.image_box, .flex_box{
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

.image_box.box_left, .flex_box.box_left{
	justify-content: start;
}

.image_box img, .flex_box img{
    max-width: 100%;
}

.image_box > *{
    margin-bottom: 20px;
    width: 100%;
	text-align: center;
}

.flex_box > *{
    margin-bottom: 20px;
    width: 100%;
}

.image_box.row1 > *, .flex_box.row1 > *{
    width: 100%;
}

.image_box.row2 > *, .flex_box.row2 > *{
    width: calc((100% / 2)  - 20px + (20px / 2));
}

.image_box.row3 > *, .flex_box.row3 > *{
    width: calc((100% / 3)  - 20px + (20px / 3));
}

.image_box.row3::after, .flex_box.row3::after{
    content:"";
    display: block;
    width:23%;
}

.image_box.row4 > *, .flex_box.row4 > *{
    width: calc((100% / 4)  - 20px + (20px / 4));
}

.image_box.row4::before, .flex_box.row4::before{
    content:"";
    display: block;
    width:23%;
    order:1;
 }

.image_box.row4::after, .flex_box.row4::after{
    content:"";
    display: block;
    width:23%;
}


.image_box p{
    margin-top: 10px;
	margin-left: 0;
	text-align: center;
}


/*---------------------------------------------
サークル?ピアサポート?KITeco
--------------------------------------------*/

.leftside-image{
	display: flex;
}

.leftside-image img{
	margin-right: 1em;
}

#volunteer ol{
	border:1px solid #999;
	padding:20px;
}


/*---------------------------------------------
教員の紹介
--------------------------------------------*/

#teacher .teacher_info{
	display: flex;
	margin-bottom: 3em;
}

#teacher .teacher_image{
	width: 196px;
	margin-right: 48px;
}

#teacher .teacher_image img{
	width: 100%;
}

#teacher .teacher_data{
	width: 756px;
}


#teacher .teacher_name{
	margin-top: 0.6em;
	font-size: 32px;
	margin-bottom: 0.5em;
	font-weight: bold;
	line-height: 1em;
}


#teacher .teacher_name_ja{
	padding-right: 0.7em;
}

#teacher .teacher_name_en{
	font-size: 22px;
	color: #999999;
	font-weight: normal;
	white-space: nowrap;
}

#teacher .course{
	margin-bottom: 1em;
}

#teacher .course span{
	font-size: 18px;
	color: #fff;
	padding: 0.4em 1em;
}

#teacher .course.gakka-color-1 span{
	background-color: #19a843;
}

#teacher .course.gakka-color-2 span{
	background-color: #ed8707;
}

#teacher .course.gakka-color-3 span{
	background-color: #fae66e;
	color: #000;
}

#teacher .course.gakka-color-4 span{
	background-color: #dc2b85;
}


#teacher .system{
	font-size: 18px;
	width: 100%;
	padding-bottom: 0.3em;
	margin-top: 0.75em;
	margin-bottom: 1em;
	border-bottom: 2px solid #808080;
	width: 470px;
}

#teacher .web_site{
	display: flex;
}

#teacher .web_site li{
    padding-left: 0;
    text-indent: 0;
    margin-bottom: 0;
    margin-left: 0;
	line-height: 1em;
	margin-right: 10px;
	background-color: #fff;
}


#teacher .web_site li:last-child{
	margin-right: 0;
}

#teacher .web_site li a{
	display: block;
	font-size: 16px;
	color: #0050aa;
	border: 1px solid #0050aa;
	background-color: #fff;
	padding: 0.5em;
	padding-right: 0.7em;
	line-height: 1em;
	text-decoration: none;
}

#teacher .web_site li:hover{
	background-color: #0050aa;
}

#teacher .web_site li:hover a{
	color: #fff;
}


#teacher .web_site li a[target="_blank"]{
    background: none;
}

#teacher .web_site li a::before{
	content: "";
	padding-left: 1.1em;
	background: url(/common/img/icon_arrow_right_blue.svg) no-repeat 0 center / 1em auto;
}

#teacher .web_site li:hover a::before{
	background: url(/common/img/icon_arrow_right.svg) no-repeat 0 center / 1.1em auto;
}

#teacher .scholar_info{
	margin-bottom: 5em;
}

#teacher .scholar_info ul li{
	border-bottom: 1px dotted #000;
	padding-bottom: 0.1em;

	margin-left: 0;
	padding-left: 0;
	text-indent: 0;
}

#teacher .scholar_info h5{
	font-size: 16px;
	margin-bottom: 0.2em;
	margin-top: 1em;
	/* font-weight: normal; */
}

#teacher .scholar_info h5::before{
	content: "";
	padding-left: 1em;
	background: url(/common/img/icon_square.svg) no-repeat 0 center / 0.7em auto;
}


#teacher .research_overview{
	margin-bottom: 4em;
}


#teacher .research_theme ul{
    margin-top: 1.5em;
}

#teacher .research_theme ul li{
	display: flex;
    padding-left: 0;
    text-indent: 0;
    margin-bottom: 2em;
    margin-left: 0;
}


#teacher .research_theme ul li .research_theme_image{
	width: 260px;
	margin-right: 20px;
}

@media (min-width: 481px) {
#teacher .research_theme ul li .research_theme_image img{
	width: 100%;
}
}

#teacher .research_theme ul li .research_theme_content{
	width: 720px;
}

#teacher .research_theme ul li .research_theme_content.no-image{
	width: 100%;
}

#teacher .research_theme ul li .research_theme_content h5{
	font-weight: bold;
	font-size: 16px;
	color: #0050aa;
	margin-top: 0.1em;
}

#teacher .research_theme ul li .research_theme_content p{
	margin-left: 0;
}


#teacher-list h3.title{
	background-color: transparent;
	cursor: pointer;
	user-select: none;
	margin-top: 1.2em;
	margin-bottom: 1.5em;
}

#teacher-list>h3 + section{
	display: none;
}


@media (min-width: 481px) {
	#teacher-list h3.title:hover{
		background-color: #fff;
	}
}


#teacher-list h3.title::before{
	content: "";
	padding-left: 1.6em;
}

#teacher-list h3.title::after{
	content: "";
	display: block;
	position :absolute;
	right: 1em;
	top: 0;
	width: 1em;
	height: 1em;
	padding: 0.7em 0;
	transition: 0.15s ease;
	box-sizing: content-box;
}


#teacher-list h3.title.open-active::after{
	content: "";
	transform: rotate(90deg);
}


#teacher-list h3.title.green{
	color: #19a843;
	border: 2px solid #19a843;
}

#teacher-list h3.title.green::before{
	background: url(/common/img/teacher-title-icon1.png) no-repeat left center / 1em auto;
}

#teacher-list h3.title.green::after{
	background: url(/common/img/icon_arrow_right_green.svg) no-repeat 0 center / 1em auto;
}

#teacher-list h3.title.orange{
	color: #ed8707;
	border: 2px solid #ed8707;
}

#teacher-list h3.title.orange::before{
	background: url(/common/img/teacher-title-icon2.png) no-repeat left center / 1em auto;
}

#teacher-list h3.title.orange::after{
	background: url(/common/img/icon_arrow_right_orange.svg) no-repeat 0 center / 1em auto;
}

#teacher-list h3.title.pink{
	color: #dc2b85;
	border: 2px solid #dc2b85;
}

#teacher-list h3.title.pink::before{
	background: url(/common/img/teacher-title-icon3.png) no-repeat left center / 1em auto;
}

#teacher-list h3.title.pink::after{
	background: url(/common/img/icon_arrow_right_pink.svg) no-repeat 0 center / 1em auto;
}

#teacher-list h4{
	background-color: #ed8707;
	color: #fff;
	border: none;
	margin-top: 0;
	padding: 0.2em 0.75em;
	font-size: 16px;
}

#teacher-list h5{
	font-size: 16px;
}

#teacher-list section>ul{
	margin-left: 1em;
	margin-bottom: 3em;
}

#teacher-list section>ul>li{
	border-bottom: 1px dotted #000;
	padding-bottom: 0.1em;
	margin-bottom: 1em;
}

#teacher-list section ul li{
	padding-bottom: 0.1em;
	margin-left: 0;
	padding-left: 0;
	text-indent: 0;
}

#teacher-list section>ul>li>ul{
	margin-bottom: 0.5em;
}

#teacher-list section>ul>li>ul>li{
	display: inline-block;
	min-width: 16%;
}

#teacher-list section>ul>li>ul>li.wide{
	min-width: 32.5%;
}

#teacher-list h5::before{
	content: "";
	padding-left: 1em;
}

#teacher-list section a{
	color: #000;
	white-space: nowrap;
	word-break: normal;
}

#teacher-list h4.tiiki-c{
	color: #fff;
	border: none;
	margin-top: 0.5em;
	padding: 0.2em 0.5em;
	font-size: 16px;
}

#teacher-list .chikyu h4{
	background-color: #19a843;
}

#teacher-list .chikyu h5::before{
	background: url(/common/img/icon_square_green.svg) no-repeat 0 center / 0.7em auto;
}

#teacher-list .tiiki h4{
	background-color: #ed8707;
}

#teacher-list .tiiki h5::before{
	background: url(/common/img/icon_square_orange.svg) no-repeat 0 center / 0.7em auto;
}

#teacher-list .kiso h4{
	background-color: #dc2b85;
}

#teacher-list .kiso h5::before{
	background: url(/common/img/icon_square_pink.svg) no-repeat 0 center / 0.7em auto;
}

#teacher-list h4.tiiki-c{
	background-color: #fae66e;
	color:#000;
}

#teacher-list section>ul.tiiki-c h5::before{
	background: url(/common/img/icon_square_yellow.svg) no-repeat 0 center / 0.7em auto;
}

.contents .post-datetime{
	display: block;
	text-align: right;
	color: #666666;
	margin-top: -1.8em;
	margin-bottom: 0.5em;
	font-size: 15px;
}

