@charset "UTF-8";

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
a img {
	opacity: 1;
}

p {
	margin-bottom: 0.8em;
}

@font-face {
	font-family: 'YuGothic M';
	src: local(Yu Gothic Medium);
}

body {
	font: normal normal 14px/160% YuGothic, 'YuGothic M', 游ゴシック, メイリオ, sans-serif;
	font-weight: 500; 
	padding: 0;
	text-decoration: none;
	color: #333;
}
/*-------------------- link --------------------*/
a:link {
color: #bf5a72;
text-decoration: none;
}

a:visited {
color: #bf5a72;
text-decoration: none;
}
a:hover {
color: #f9929c;
text-decoration: none;
}
a:active {
color: #896d70;
text-decoration: none;
}
a img {
    opacity: 1;
}
a:hover img {
    opacity: 0.6;
    filter: alpha(opacity=60);
    -ms-filter: "alpha(opacity=60)";
    -moz-opacity:0.6;
    -khtml-opacity: 0.6;
    zoom:1;
}
a, a img, a li, a div, a p, ul li a:hover {
    transition: all 0.3s ease 0s;
}

.no_hover a:hover img {
    opacity: 1;
    cursor: default;
}
/*-------------------- wrapper --------------------*/
#wrapper {
	min-height: calc(100vh - 180px);
	height: 100%;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction: column;
	margin: 0 auto;
	max-width: 1220px;
	padding:10px;
	overflow: hidden;
}

#container {
/*	flex: 1 1 0%; */
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 0 5px;
}
.home #container {
	padding: 0 1px;
}
#sidemenu {
	width: 220px;
	margin-right: 30px;
}
#sidemenu ul {
	list-style-type: none;
	border-top: solid 1px #ddd;
	width: 220px;
}

.fix {
    position: fixed;
    top: 0;
}

#sidemenu ul select {
	width: 95%;
	margin: 10px 5px;
	border: 1px solid #ddd;
	background: #f0f0f0;
	padding: 2px;
}

.global #sidemenu ul li:nth-of-type(6) {
	display: none;
}

.global #sidemenu ul li:nth-of-type(8) {
	display: none;
}
.global #sidemenu ul li:nth-of-type(9) {
	display: none;
}


#sidemenu li {
	position: relative;
	border-bottom: solid 1px #ddd;
	padding: 0;
	line-height: 1.2;
	font-weight: 600;
}
#sidemenu li.side_subtitle {
	font-size: 15px;
	padding: 8px 10px;
	border-left: solid 1px #ddd;
	border-right: solid 1px #ddd;
	background: #f3f3f3;
}

#sidemenu li a {
	color: #000;
	width: 100%;
	/*min-height: 36px;*/
	padding: 12px 0 12px 22px;
	font-size: 14px;
	line-height: 1.2;
	font-weight: 400;
	text-decoration: none;
	display: block;
	vertical-align: middle;
}
#sidemenu li a:hover {
	background-color: #fff3f4;
}

#sidemenu li a:before {
	position: absolute;
	content: "";
	vertical-align: middle;
	top: 50%;
	left: 8px;
	width: 6px;
	height: 6px;
	margin-top: -4px;
	border-top: 3px solid #c96871;
	border-right: 3px solid #c96871;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}

#sidemenu li.h3 a {
	color: #000;
	width: 100%;
	padding: 8px 0 8px 26px;
	font-size: 12px;
	line-height: 1.2;
	font-weight: 400;
	text-decoration: none;
	display: block;
	vertical-align: middle;
}
#sidemenu li.h3 a:before {
	position: absolute;
	content: "";
	vertical-align: middle;
	top: 50%;
	left: 12px;
	width: 4px;
	height: 4px;
	margin-top: -3px;
	border-top: 2px solid #c96871;
	border-right: 2px solid #c96871;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
#contents {
	flex: 1 1 0%;
	padding-bottom: 30px;
}
/*
#topics {
	flex: 0 1 75%;
	max-width: 75%;
	padding-right: 5%;
}

#link {
	flex: 0 1 25%;
	max-width: 25%;
}
*/


#footer {
	width: 100%;
	height: 180px;
	background: #333;
	color: #fff;
	padding: 30px 14px;
}

.footer_nav li a {
	text-decoration: none;
	color: #fff;
}
.footer_nav li a:hover {
	text-decoration: none;
	color: #b6565f;
}

.footer_nav li {
	text-decoration: none;
	color: #fff;
	position: relative;
	display: inline-block;
	padding: 0 0 0 15px;
	vertical-align: middle;
	text-decoration: none;
	margin-left: 1em;
	height: 1.4em;
}

.footer_nav li:before {
	position: absolute;
	content: "";
	vertical-align: middle;
	top: 50%;
	left: 3px;
	width: 4px;
	height: 4px;
	margin-top: -2px;
	border-top: 2px solid #c96871;
	border-right: 2px solid #c96871;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}


.footer_insta {
    width: 20px;
    height: 20px;
    padding: 0;
    margin-left: 20px;
}
.footer_insta img {
    width: 100%;
}

.fixed {
	position: fixed;
	top: 0px;
 	left: 0px;
 	z-index: 9999;
}


#footer_in {
	margin: 0 auto;
	display: -webkit-flex;
	display: flex;
	-webkit-align-content: flex-start;
	justify-content: flex-start;
	flex-wrap: wrap;
	max-width: 1180px;
}

#footer_in div p {
	white-space: nowrap;
	flex-grow: 1;
	flex-shrink: 1;
}

#footer_in div:nth-of-type(2){
	margin-left: auto;
}
.footer_r {
	list-style-type: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}
.footer_nav {
	list-style-type: none;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: flex-end;
	justify-content: flex-end;
}

.p_top {
    position: fixed !important;  
    bottom:20px; right:20px;
    width: 44px;
    height: 44px;
    z-index: 300;
}
/*-------------------- font --------------------*/
.xsmall {
  font-size: 70%;
  line-height:1.4;
}
.small {
  font-size: 85.7%;
  line-height:1.4;
}
.medium {
  font-size: 92.8%;
}
.large {
  font-size: 114%;
}
.xlarge {
  font-size: 171%;
}
.bold {
  font-weight: 600;
}

h2 {
	text-align: center;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.2;
	padding: 24px 20px;
	border: solid 1px #e2e1e2;
	margin: 40px 0 30px;
	background-color: #f2f2f2;
	clear: both;
}

h2.pickup {
	color: #fff;
	text-align: center;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.2;
	padding: 16px 20px;
	border: none;
	border-top: solid 3px #a76c72;
	margin: 40px 0 30px;
	background-color: #bd8288;
	clear: both;
}

h2.lab {
	text-align: center;
	font-size: 22px;
	font-weight: 400;
	line-height: 2;
	padding: 5px 20px;
	border: solid 1px #e2e1e2;
	margin: 0 0 30px;
	background-color: #f2f2f2;
	background: linear-gradient(#e0e0e0 50%, #f2efef 50%);
	clear: both;
}

h2.labname {
	text-align: center;
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	padding: 16px 20px 14px;
	border: solid 1px #e2e1e2;
	margin: 0;
	background-color: #f0e5e5;
	clear: both;
}

.hitokoto h2 {
	color: #fff;
	text-align: center;
	font-size: 26px;
	font-weight: 400;
	line-height: 1.2;
	padding: 24px 20px 18px;
	border: solid 1px #e2e1e2;
	margin: 0 0 30px;
	background: url(../image/bg_hitokoto_h.png) no-repeat scroll top;
	background-size: 100% 6px;
	background-color: #5d5c5c;
	clear: both;
}

p.lab_department {
	text-align: center;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
	padding: 6px 14px;
	border: solid 1px #e2e1e2;
	border-top: none;
	margin: 0;
	background-color: #eee;
	clear: both;
}
p.lab_graduate {
	text-align: center;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.2;
	padding: 4px 14px;
	border: solid 1px #e2e1e2;
	border-top: none;
	margin: 0;
	background-color: #f9f9f9;
	clear: both;
}
p.lab_undergraduate {
	text-align: center;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.2;
	padding: 4px 14px;
	border: solid 1px #e2e1e2;
	border-top: none;
	margin: 0 0 30px;
	background-color: #eee;
	clear: both;
}
h3 {
	font-size: 22px;
	font-weight: 400;
	line-height: 1.2;
	padding: 12px 0;
	border-top: solid 3px #ebd1d3;
	margin: 40px 0 10px;
	clear: both;
}
.hitokoto h3 {
	color: #96666e;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	padding: 8px 0;
	border-top: dotted 2px #ccc;
	margin: 20px 0 10px;
	clear: none;
}
h4 {
	font-size: 18px;
	font-weight: 400;
	line-height: 1.2;
	padding: 5px 0 5px 12px;
	border-left: solid 8px #a16975;
	margin: 20px 0;
	clear: both;
}
.hitokoto h4 {
	clear: none;
}
h5 {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	padding-top: 8px;
	border-top: dotted 1px #ddd;
	margin: 20px 0 15px;
	color: #a26b71;
	clear: both;
}
h5.fuki {
	margin: 40px 0 15px;
	color: #333;
	font-size: 24px;
	position: relative;
	padding: .5em .75em;
	background-color: #f0f0f0;
	border: 1px solid #ccc;
	border-radius: 6px;
	clear: both;
}
h5.fuki:before, h5.fuki:after {
	position: absolute;
	top: 100%;
	left: 30px;
	content: '';
	height: 0;
	width: 0;
	border: 10px solid transparent;
}
h5.fuki:before {
  border-top: 15px solid #ccc;
}
h5.fuki:after {
  margin-top: -2px;
  border-top: 15px solid #f0f0f0;
}
h6 {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	margin: 20px 0 5px;
	color: #333;
	clear: both;
}
.cap {
	font-size:12px;
	padding: 5px 0 10px;
	line-height: 1.4;
}
.center {
	text-align:center;
}
.right {
	text-align:right;
}
.red {
color: #cc0000;
}

.pink {
color: #e9c2ca;
}
.blue {
color: #6170a0;
}
.catch {
	font-size:22px;
	font-weight:500;
	font-feature-settings: "palt";
	line-height:1.2;
}
.shadow_ele {
text-shadow: 1px 1px 2px #fdd000; 
}
.shadow_mate {
text-shadow: 1px 1px 2px #f18900;
}
.shadow_chemistry {
text-shadow: 1px 1px 2px #f7b77d;
}
.shadow_chemical {
text-shadow: 1px 1px 2px #d59268;
}
.shadow_interdisciplinary {
text-shadow: 1px 1px 2px #ca7bb0;
}
.shadow_mech {
text-shadow: 1px 1px 2px #9d75b1;
}
.shadow_aero {
text-shadow: 1px 1px 2px #a688bd;
}
.shadow_quantum {
text-shadow: 1px 1px 2px #718cc7;
}
.shadow_naval {
text-shadow: 1px 1px 2px #48b0e5;
}
.shadow_earth {
text-shadow: 1px 1px 2px #68c5d8;
}
.shadow_civil {
text-shadow: 1px 1px 2px #43b68f;
}
.shadow_arch {
text-shadow: 1px 1px 2px #b8d669;
}
.shadow_vi {
text-shadow: 2px 3px 4px #b0b0b0;
}
.color_ele {
color: #fdd000;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_mate {
color: #f18900;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_chemistry {
color: #f7b77d;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_chemical {
color: #d59268;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_interdisciplinary {
color: #ca7bb0;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_mech {
color: #9d75b1;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_aero {
color: #a688bd;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_quantum {
color: #718cc7;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_naval {
color: #48b0e5;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_earth {
color: #68c5d8;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_civil {
color: #43b68f;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_arch {
color: #b8d669;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.color_vi {
color: #999999;
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
}
.underdotline {
	border-bottom: dotted 1px #ddd;
	margin: 10px 0 20px;
}
/* 点滅 */
.blinking{
	-webkit-animation:blink 1.5s ease-in-out infinite alternate;
    -moz-animation:blink 1.5s ease-in-out infinite alternate;
    animation:blink 1.5s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}
@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

/*-------------------- margin --------------------*/
.mt0 {
	margin-top: 0;
}
.m20 {
	margin-left: 20px;
}
.m30 {
	margin-left: 30px;
}
.m1em {
	margin-left: 1em;
}
.indent1 {
text-indent: -1em;
 margin-left: 1em;
}
.indent15 {
text-indent: -1.5em;
margin-left: 1.5em;
}
.indent2 {
text-indent: -2em;
margin-left: 2em;
}
.indent25 {
text-indent: -2.5em;
margin-left: 2.5em;
}
.indent3 {
text-indent: -3em;
margin-left: 3em;
}
.indent4 {
text-indent: -4em;
margin-left: 4em;
}
.indent5 {
text-indent: -5em;
margin-left: 5em;
}
/*-------------------- clear --------------------*/
.clear_both {
  clear: both;
  visibility: hidden;
  height: 0;
  overflow : hidden;
}

.clearfix:after{
  content:"";
  display: block;
  clear: both;
  height: 0;
  visibility:hidden;
}
.clearfix {
  min-height: 1px;
}

/*-------------------- media screen --------------------*/
@media screen and (min-width: 599px){	
  .br_pc { display:block; }
  .br_sp { display:none; }
}
@media screen and (max-width: 768px) {
	.fix {
	    position: relative;
	    bottom:0;
	}
	#sidemenu {
		width: 100%;
		margin: 30px 0 20px 0;
		-ms-flex-order:2;
		order:2;
	}
	#sidemenu ul {
		width: 100%;
	}
	#contents {
		width: 100%;
		padding: 0 1em;
		-ms-flex-order:1;
		order:1;
	}
}

@media screen and (max-width: 599px) {
	h2 {
		font-size: 20px;
		padding: 20px 10px;
	}
	h2.pickup {
		font-size: 18px;
		padding: 12px 5px;
	}
	h2.labname {
		font-size: 18px;
		padding: 12px 5px;
	}
	p.lab_department {
		font-size: 12px;
	}
	h3 {
		font-size: 18px;
		font-weight: 400;
		line-height: 1.2;
		padding: 12px 0 0;
		border-top: solid 3px #ebd1d3;
		margin-bottom: 10px;
	}
	.hitokoto h3 {
		font-size: 15px;
		padding: 0;
		border-top: none;
		margin: 15px 0 10px;
		clear: none;
	}
	.hitokoto h3:before {
		content:"■";
		color: #666;
	}

	h4 {
		font-size: 16px;
		padding: 3px 0 3px 10px;
		border-left: solid 6px #a16975;
	}
	h5 {
		font-size: 15px;
	}
	h6 {
		font-size: 14px;
	}
	.catch {
		font-size:20px;
	}
	#footer_in div:nth-of-type(2) {
		margin-left: 0;
	}
	#footer {
		height: 250px;
	}
	#footer_in {
		display: block;
	}
	.footer_r {
		display: block;
	}
	.footer_nav {
		display: block;
	}
	.footer_nav li {
		display: block;
		margin: 0 0 15px 0;
	}
	.footer_insta {
		display: block;
		margin-left: 15px;
	}
	.br_pc { display:none; }
	.br_sp { display:block; }
}
