@charset "UTF-8";


/***************************************************
* parallax
* パララックス
****************************************************/

.sticky-section {
	position: relative;
	z-index: 1;
}

.sticky-section .sticky {
	position: relative;
}

.sticky-section.stuck,
.sticky-section.stuck-bottom {
	overflow: hidden;
	z-index: -100;
}

.sticky-section.stuck .sticky {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}

.sticky-section.stuck-bottom .sticky {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
}


/***************************************************
* visual
* ビジュアル部分
****************************************************/

/* headerとビジュアルを重ねる */
header {
	position: absolute;
	top: 0;
	width: 100%;
}

section.visual {
	height: 100vh;
	position: relative;
	width: 100%;
}

section.visual nav > ul {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	list-style: none;
	margin: auto;
	padding: 0;
	position: absolute;
	right: 0;
	bottom: 20px;
	left: 0;
	width: 150px;
	z-index: 300;
}

section.visual nav > ul li.slider_nav {
	cursor: pointer;
	height: 10px;
	position: relative;
	width: 10px;
}

section.visual nav > ul li.slider_nav:not(:first-child) {
	margin-left: 10px;
}

section.visual nav > ul li.slider_nav::after {
	background: url(../media/images/visual_2018/slideshow_nv_off.svg) no-repeat center center;
	background-size: cover;
	content: "";
	height: 10px;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
}

section.visual nav > ul li.slider_nav.active::after {
	background-image: url(../media/images/visual_2018/slideshow_nv_on.svg);
}

section.visual > .slide {
	height: 100%;
	list-style: none;
	margin: auto;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

section.visual > .slide > li {
	background-position: center center;
	background-size: cover;
}

/************************
*	ビジュアル画像設定
*
**************************/

section.visual > .slide > li.mechanic {
	background-image: url(../media/images/visual_2018/visual_mechanic.jpg);
}

section.visual > .slide > li.information {
	background-image: url(../media/images/visual_2018/visual_information.jpg);
}

section.visual > .slide > li.applied {
	background-image: url(../media/images/visual_2018/visual_applied.jpg);
}

section.visual > .slide > li.material {
	background-image: url(../media/images/visual_2018/visual_material.jpg);
}

section.visual > .slide > li.civil {
	background-image: url(../media/images/visual_2018/visual_civil.jpg);
}

section.visual > .slide > li.df img.df_img.pc {
	display: block;
}
section.visual > .slide > li.df img.df_img.pcmed {
	display: none;
}
section.visual > .slide > li.df img.df_img.sp {
	display: none;
}

section.visual > .slide .textbox {
	color: #fff;
	margin: auto;
	padding: 0 !important;
	position: absolute;
	top: 68%;
	right: 0;
	left: 0;
	text-align: center;
}

section.visual > .slide .textbox > .copy {
	display: block;
	font-family: "Crete Round", serif;
	font-size: 70px;
	line-height: 1;
	margin-bottom: 30px;
}

section.visual > .slide .textbox > .department {
	font-size: 22px;
	letter-spacing: 10px;
}

section.visual .slider_prev img,
section.visual .slider_next img {
	max-width: 100%;
}

section.visual > .slide > li.df > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

section.visual > .slide > li.df img.df_img {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

section.visual > .slide > li.df .textbox {
	top: 56%;
}

section.visual > .slide > li.df .textbox > .copy {
	width: 636px;
	margin-left: auto;
	margin-right: auto;
}

section.visual > .slide > li.df .textbox > .copy img {
	width: 100%;
}

/* 20190510 haraya ここから*/
section.visual > .slide > li.df .textbox_desc {
	
	top: 75%;
	margin: auto;
	padding: 0 !important;
	position: absolute;
	right: 0;
	left: 0;
	text-align: center;
}

section.visual > .slide > li.df .textbox_desc > .copy {
	width: 636px;
	margin-left: auto;
	margin-right: auto;
}

section.visual > .slide > li.df .textbox_desc > .copy > .desc {
	color: #fff;
	display:block;
	font-family:"century", serif;
	font-size: 21px;
	letter-spacing: 10px;
	
	text-shadow: 
        #8f6e50 1px 1px 0, #8f6e50 -1px -1px 0,/*右下、左上*/
        #8f6e50 -1px 1px 0, #8f6e50 1px -1px 0,/*右上、左下*/
        #8f6e50 0px 1px 0, #8f6e50  0-1px 0,/*右、左*/
        #8f6e50 -1px 0 0, #8f6e50 1px 0 0;/*上、下*/
}


section.visual > .slide > li.df .textbox_desc > .copy > .desc2 {
	color: #8f6e50;
	display:block;
	/*font-family:"century", serif;*/
	font-size: 35px;
	letter-spacing: 5px;
	text-shadow: 
        white 1px 1px 0, white -1px -1px 0,/*右下、左上*/
        white -1px 1px 0, white 1px -1px 0,/*右上、左下*/
        white 0px 1px 0, white  0px -1px 0,/*右、左*/
        white -1px 0 0, white 1px 0 0;/*上、下*/
}

/* ここまで */


/***************************************************
*  emergency
*  緊急のお知らせ
***************************************************/
section.emergency {
	background-color: #eee;
	box-sizing: border-box;
	display: none;
	padding: 60px 0;
}

section.emergency .inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
}

section.emergency div.emergency_title {
	background-color: #c00;
	box-sizing: border-box;
	color: #fff;
	font-size: 16px;
	padding: 20px 30px;
}

section.emergency div.emergency_title p {
	margin: auto;
	font-weight: bold;
}

section.emergency div.emergency_title p::before {
	font-family: FontAwesome;
	content: "";
	padding-left: 0;
	padding-right: 8px;
	display: inline-block;
	font-size: 20px;
	vertical-align: baseline;
}

section.emergency div.emergency_list_wrap {
	background-color: #fff;
}

section.emergency div.emergency_list_wrap ul {
	list-style: none;
	margin: auto;
	padding: 0;
}

section.emergency div.emergency_list_wrap ul li {
	box-sizing: border-box;
	padding: 25px 30px;
}

section.emergency div.emergency_list_wrap ul li:nth-child(n+2) {
	border-top: 1px solid #eee;
}

section.emergency div.emergency_list_wrap p.title {
	box-sizing: border-box;
	color: #c00;
	font-size: 18px;
	font-weight: bold;
	margin: auto;
}

section.emergency div.emergency_list_wrap p.title::before {
	content: "▼";
	display: inline-block;
}

section.emergency div.emergency_list_wrap p.detail {
	line-height: 1.6;
	margin: 10px auto 0;
}

/***************************************************
* topics
* トピックス
***************************************************/
section.topics {
	background: url(../media/images/top_2018/bg_topics.jpg) no-repeat center center;
	background-size: cover;
	box-sizing: border-box;
	padding: 90px 0 120px;
	position: relative;
}

section.topics .top_title {
	font-family: "Crete Round", serif;
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 3px;
	line-height: 1;
	margin: 0 auto 90px;
	text-align: center;
}

section.topics .top_title.light {
	color: #fff;
}

section.topics div.inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
	position: relative;
	z-index: 10;
}

section.topics div.bg {
	background: rgba(0, 0, 0, .4);
	height: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 5;
}

/***************************************************
* topics list
* トピックスのリスト
***************************************************/
section.topics ul.topics_list {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
}

section.topics ul.topics_list li {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-preferred-size: calc(50% - 18px);
	flex-basis: calc(50% - 18px);
}

section.topics ul.topics_list a {
	display: -ms-flexbox;
	display: flex;
}

section.topics ul.topics_list a:hover div.topics_text {
	color: #07b;
}

section.topics ul.topics_list img {
	max-height: 190px;
	max-width: 100%;
	vertical-align: bottom;
}

section.topics ul.topics_list div.topics_img {
	margin: 0 -40px 30px 0;
	max-height: 190px;
	position: relative;
	text-align: center;
	width: calc(50% + 40px);
	z-index: 10;
}

section.topics ul.topics_list div.topics_text {
	background-color: #000;
	box-sizing: border-box;
	color: #fff;
	margin-top: 30px;
	padding: 25px;
	position: relative;
	width: calc(50% + 40px);
	z-index: 20;
}

section.topics ul.topics_list div.topics_text p {
	margin-top: 8px;
}

section.topics ul.topics_list div.topics_text span {
	font-size: 12px;
	vertical-align: middle;
}

section.topics ul.topics_list div.topics_text span.tag {
	box-sizing: border-box;
	background-color: #fff;
	color: #000;
	display: inline-block;
	line-height: 1;
	padding: 4px 6px;
	position: relative;
}

section.topics ul.topics_list div.topics_text span.tag::after {
	background: url(../media/images/top_2018/tag_wht.svg) no-repeat center center;
	background-size: cover;
	content: "";
	display: block;
	height: 20px;
	margin: auto;
	position: absolute;
	right: -6px;
	top: 0;
	width: 6px;
}

section.topics ul.topics_list div.topics_text span.tag.Research {
	background-color: #c00;
	color: #fff;
}

section.topics ul.topics_list div.topics_text span.tag.Research::after {
	background-image: url(../media/images/top_2018/tag_red.svg);
}

/***************************************************
*  news
*  ニュース
***************************************************/
section.news {
	background-color: #f8f8ee;
	box-sizing: border-box;
	padding: 90px 0 120px;
}

section.news .top_title {
	font-family: "Crete Round", serif;
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 3px;
	line-height: 1;
	margin: 0 auto 90px;
	text-align: center;
}

section.news .top_title.light {
	color: #fff;
}

section.news .inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
}

div.news_wrap {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

div.news_wrap ul.news_list {
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-preferred-size: auto;
	flex-basis: auto;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
	width: calc(100% - 160px);
}

div.news_wrap ul.news_list > li {
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

div.news_wrap ul.news_list > li:nth-child(n+3) {
	margin-top: 30px;
}

div.news_wrap ul.news_list > li a {
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	padding-right: 36px;
	width: 100%;
}

div.news_wrap ul.news_list div.topics_img {
	border-radius: 50%;
	height: 120px;
	margin-right: 10px;
	overflow: hidden;
	-ms-flex-preferred-size: 120px;
	flex-basis: 120px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

div.news_wrap ul.news_list div.topics_img img {
	max-width: 100%;
	vertical-align: bottom;
}

div.news_wrap ul.news_list div.topics_img img:not([class]) {
	display: none;
}

div.news_wrap ul.news_list div.topics_text {
	-ms-flex-preferred-size: calc(100% - 130px);
	flex-basis: calc(100% - 130px);
}

div.news_wrap ul.news_list div.topics_text p {
	margin-top: 10px;
}

div.news_wrap ul.news_list div.topics_text span {
	font-size: 12px;
}

div.news_wrap ul.news_list div.topics_text span.tag {
	background-color: #000;
	box-sizing: border-box;
	color: #fff;
	display: inline-block;
	line-height: 1;
	padding: 4px 6px;
	position: relative;
}

div.news_wrap ul.news_list div.topics_text span.tag::after {
	background: url(../media/images/top_2018/tag_blk.svg) no-repeat left center;
	background-size: cover;
	content: "";
	height: 20px;
	margin: auto;
	position: absolute;
	left: 100%;
	top: 0;
	bottom: 0;
	width: 6px;
}

div.news_wrap ul.news_list div.topics_text span.tag.Research {
	background-color: #c00;
	color: #fff;
}

div.news_wrap ul.news_list div.topics_text span.tag.Research::after {
	background-image: url(../media/images/top_2018/tag_red.svg);
}

div.news_wrap div.news_menu {
	border-left: 1px solid #000;
	box-sizing: border-box;
	-ms-flex-preferred-size: 160px;
	flex-basis: 160px;
}

div.news_wrap div.news_menu ul {
	box-sizing: border-box;
	list-style: none;
	margin: 0 auto 0 15px;
	padding: 0;
}

div.news_wrap div.news_menu ul li {
	box-sizing: border-box;
	margin: 0 auto 15px;
	position: relative;
	/* aobayama channelを長体90% */
}

div.news_wrap div.news_menu ul li.en {
	transform: scale(0.9, 1);
	transform-origin: left center;
	/* 100 / 0.9 = 111.11..なので111%に設定して元の幅を確保 */
	width: 111%;
}

div.news_wrap div.news_menu ul li.en a::before {
	/* font-awesomeはtransformを継承させない */
	transform: scale(1.11, 1);
}

div.news_wrap div.news_menu ul a {
	box-sizing: border-box;
	display: block;
}

div.news_wrap div.news_menu ul a::before {
	font-family: FontAwesome;
	content: "";
	padding-left: 0;
	padding-right: 4px;
	display: inline-block;
}

/***************************************************
*  top_banners
*  バナー群
***************************************************/
section.top_banners {
	background-color: #125;
	box-sizing: border-box;
	padding: 80px 0;
}

section.top_banners .inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
}

section.top_banners ul.banner {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
}

section.top_banners ul.banner li {
	overflow: hidden;
	position: relative;
	width: calc((100% - 72px) / 3);
}

section.top_banners ul.banner li a {
	display: block;
}

section.top_banners ul.banner li a:hover div.bn_text {
	color: #07b;
}

section.top_banners ul.banner li a:hover img {
	transform: scale(1.1);
	transition-duration: .3s;
}

section.top_banners ul.banner div.bn_photo {
	overflow: hidden;
}

section.top_banners ul.banner div.bn_photo img {
	max-width: 100%;
	transition-duration: .3s;
	vertical-align: bottom;
}

section.top_banners ul.banner div.bn_text {
	background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .8));
	box-sizing: border-box;
	color: #fff;
	height: 100px;
	padding: 40px 15px 15px;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}

section.top_banners ul.banner div.bn_text div.bn_inner_text {
	position: absolute;
	bottom: 15px;
	left: 15px;
}

section.top_banners ul.banner div.bn_text span.bn_lead {
	font-size: 14px;
	line-height: 1;
}

section.top_banners ul.banner div.bn_text span.bn_title {
	display: block;
	font-size: 22px;
}

/***************************************************
*  Driving Force
***************************************************/
section.drivingforce {
	display: -ms-flexbox;
	display: flex;
	height: 560px;
	-ms-flex-pack: center;
	justify-content: center;
}

section.drivingforce div.drivingforce_l,
section.drivingforce div.drivingforce_r {
	background: #c3b833 no-repeat center center;
	background-size: cover;
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
}

section.drivingforce div.drivingforce_r {
	display: block;
}

section.drivingforce div.drivingforce_r > div {
	background: #c3b833 no-repeat center center;
	background-size: cover;
	height: 50%;
	min-height: 50%;
}

section.drivingforce div.drivingforce_r > div a {
	display: block;
	position: relative;
}

section.drivingforce div.drivingforce_r div.title img {
	max-width: 100%;
	vertical-align: bottom;
}

section.drivingforce div.drivingforce_r div.drivingforce_text {
	position: absolute;
	right: 50px;
	top: 45px;
	left: 50px;
}

section.drivingforce div.drivingforce_r div.drivingforce_text p {
	font-size: 24px;
}

section.drivingforce div.drivingforce_r div.drivingforce_text span {
	display: block;
	font-size: 14px;
}

section.drivingforce div.drivingforce_r div.drivingforce_text span.sp-break {
	display: inline;
}

section.drivingforce div.drivingforce_l.photo1 {
	background-image: url(../media/images/top_2018/drivingforce_img1.jpg);
}

section.drivingforce div.drivingforce_l.photo1 img {
	display: none;
}

section.drivingforce div.drivingforce_r div.photo2 {
	background-image: url(../media/images/top_2018/drivingforce_img2.jpg);
}

section.drivingforce div.drivingforce_r div.photo2 img {
	display: none;
}

/***************************************************
*  Graduate
*  研究科
***************************************************/
section.graduate {
	background-color: #003;
	box-sizing: border-box;
	padding: 80px 0 120px;
}

section.graduate .top_title {
	font-family: "Crete Round", serif;
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 3px;
	line-height: 1;
	margin: 0 auto 90px;
	text-align: center;
}

section.graduate .top_title.light {
	color: #fff;
}

section.graduate .inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
}

section.graduate ul.graduate_list {
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
}

section.graduate ul.graduate_list > li {
	width: calc(50% - 26px);
}

section.graduate ul.graduate_list > li:nth-child(n+3) {
	margin-top: 60px;
}

section.graduate ul.graduate_list div.pic img {
	max-width: 100%;
	vertical-align: bottom;
}

section.graduate ul.graduate_list ul.major {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style: none;
	margin: 30px auto 0;
	padding: 0;
}

section.graduate ul.graduate_list ul.major > li {
	box-sizing: border-box;
	width: 50%;
}

section.graduate ul.graduate_list ul.major > li:nth-child(n+3) {
	margin-top: 8px;
}

section.graduate ul.graduate_list ul.major a {
	color: #fff;
	display: block;
	font-size: 14px;
}

section.graduate ul.graduate_list ul.major a:hover {
	color: #07b;
}

section.graduate ul.graduate_list ul.major a::before {
	background: url(../media/images/top_2018/graduate_chevron.svg) no-repeat center center;
	background-size: cover;
	content: "";
	display: inline-block;
	height: 18px;
	margin-right: 8px;
	vertical-align: middle;
	width: 10px;
}

/***************************************************
*  Undergraduate
*  学科
***************************************************/
section.undergraduate {
	background-color: #125;
	box-sizing: border-box;
	padding: 80px 0 120px;
}

section.undergraduate .inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
}

section.undergraduate .top_title {
	font-family: "Crete Round", serif;
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 3px;
	line-height: 1;
	margin: 0 auto 90px;
	text-align: center;
}

section.undergraduate .top_title.light {
	color: #fff;
}

section.undergraduate ul.undergraduate_list {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
}

section.undergraduate ul.undergraduate_list li {
	width: calc((100% - 144px) / 5);
}

section.undergraduate ul.undergraduate_list li:nth-child(2n) {
	margin-top: 50px;
}

section.undergraduate ul.undergraduate_list a {
	display: block;
}

section.undergraduate ul.undergraduate_list img {
	max-width: 100%;
	vertical-align: bottom;
}

/***************************************************
*  anniversary
*  東北大学工学部百周年
***************************************************/
section.anniversary {
	background-color: #002;
	box-sizing: border-box;
	height: 750px;
	overflow: hidden;
	padding: 70px 0 50px;
	position: relative;
}

section.anniversary .inner {
	box-sizing: border-box;
	color: #fff;
	margin: auto;
	max-width: 1140px;
	position: relative;
	text-align: center;
	z-index: 200;
}

section.anniversary p.anniversary_lead {
	font-size: 18px;
	letter-spacing: 6px;
	margin: 50px auto;
}

section.anniversary div.detail {
	box-sizing: border-box;
	text-align: center;
}

section.anniversary div.detail a {
	border: 1px solid #ccc;
	border-radius: 16px;
	box-sizing: border-box;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	padding: 10px 40px;
	position: relative;
}

section.anniversary div.detail a:hover {
	color: #07b;
}

section.anniversary div.detail a::before {
	background: url(../media/images/top_2018/info_chevron_wht.svg) no-repeat center center;
	background-size: cover;
	content: "";
	height: 16px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15px;
	width: 6px;
}

section.anniversary .pv {
	margin: auto;
	position: absolute;
	left: 0;
	top: 0;
}


@media print, screen and (min-width: 1200px){
	section.topics ul.topics_list li:nth-child(n+3){
		margin-top: 50px;
	}
	section.drivingforce div.drivingforce_r div.title img.tab{
		display: none;
	}
}

@media screen and (max-width: 1199px){
	section.emergency{
		padding: 0;
	}
	section.emergency .inner{
		max-width: 100%;
	}
	section.emergency div.emergency_list_wrap ul li{
		padding: 20px 25px;
	}
	section.topics{
		background: #9cceff url(../media/images/top_2018/bg_topics.jpg) no-repeat center bottom;
		background-size: 100% auto;
	}
	section.topics ul.topics_list{
		display: block;
	}
	section.topics ul.topics_list li{
		margin: auto;
		width: 550px;
	}
	section.topics ul.topics_list li:not(:first-child){
		margin-top: 30px;
	}
	div.news_wrap ul.news_list{
		-ms-flex-preferred-size: 720px;
		flex-basis: 720px;
		margin-right: 0;
	}
	div.news_wrap div.news_menu{
		margin: 0 auto 0 0;
	}
	section.top_banners ul.banner{
		padding: 0 15px;
	}
	section.top_banners ul.banner li{
		width: calc((100% - 54px) / 3);
	}
	section.top_banners ul.banner div.bn_text span.bn_title{
		font-size: 20px;
	}
	section.drivingforce div.drivingforce_r div.title img.pc{
		display: none;
	}
	section.drivingforce div.drivingforce_r div.drivingforce_text{
		right: 15px;
		top: 25px;
		left: 25px;
	}
	section.drivingforce div.drivingforce_r div.drivingforce_text span.sp-break {
		display: block;
	}
	section.graduate .inner{
		box-sizing: border-box;
		padding: 0 15px;
	}
	section.graduate ul.graduate_list > li{
		width: calc(50% - 13px);
	}
	section.undergraduate ul.undergraduate_list{
		box-sizing: border-box;
		padding: 0 15px;
	}
	section.undergraduate ul.undergraduate_list li{
		width: 18.2%;
	}
}

@media screen and (max-width: 991px){
	section.visual > .slide .textbox > .copy{
		font-size: 60px;
	}
	section.visual > .slide .textbox > .department{
		font-size: 20px;
		letter-spacing: 7px;
	}
	
	section.visual > .slide > li.df .textbox {
		top: 70%;
	}
	section.visual > .slide > li.df .textbox > .copy {
		width: 70%;
	}
	
	/* 20190510 haraya ここから*/
	section.visual > .slide > li.df img.df_img.pc {
		display: none;
	}
	
	section.visual > .slide > li.df img.df_img.pcmed {
		display: block;
	}
	
	section.visual > .slide > li.df img.df_img.sp {
		display: none;
	}
	
	section.visual > .slide > li.df .textbox_desc {
		top: 70%;
	}
	section.visual > .slide > li.df .textbox_desc > .copy {
		width: 70%;
	}
	/* ここまで */
	
	section.news{
		padding-bottom: 0;
	}
	div.news_wrap{
		display: block;
	}
	div.news_wrap ul.news_list{
		margin-right: auto;
		width: 720px;
	}
	div.news_wrap ul.news_list > li{
		-ms-flex-preferred-size: calc(50% - 12px);
		flex-basis: calc(50% - 12px);
	}
	div.news_wrap ul.news_list li a {
		padding: 0;	
	}
	div.news_wrap div.news_menu{
		border-left: 0;
		margin: 30px auto 0;
	}
	div.news_wrap div.news_menu ul{
		background: #ebebe2;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin: auto;
	}
	div.news_wrap div.news_menu ul li{
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
		margin: auto;
	}
	div.news_wrap div.news_menu ul li.en a {
		width: 111%;
	}
	div.news_wrap div.news_menu ul li:nth-child(2n) a {
		border-left: 1px solid #fff;
	}
	div.news_wrap div.news_menu ul a{
		border-bottom: 1px solid #fff;
		padding: 15px 15px 15px 24px;
	}
	section.top_banners ul.banner{
		display: block;
		padding: 0;
	}
	section.top_banners ul.banner li{
		margin: auto;
		width: 360px;
	}
	section.top_banners ul.banner li:not(:first-child){
		margin-top: 30px;
	}
	section.graduate .inner{
		padding: 0;
	}
	section.graduate ul.graduate_list{
		display: block;
	}
	section.graduate ul.graduate_list > li{
		margin: auto;
		width: 545px;
	}
	section.graduate ul.graduate_list > li:nth-child(n+3){
		margin-top: auto;
	}
	section.graduate ul.graduate_list > li:not(:first-child){
		margin-top: 30px;
	}
	section.anniversary{
		background: url(../media/images/top_2018/bg_100anniversary_tb.jpg) no-repeat center center;
		background-size: cover;
	}
	section.anniversary iframe.pv{
		display: none;
	}
}

@media screen and (max-width: 767px){
	section.visual > .slide > li.mechanic{
		background-image: url(../media/images/visual_2018/visual_mechanic_sp.jpg);
	}
	section.visual > .slide > li.information{
		background-image: url(../media/images/visual_2018/visual_information_sp.jpg);
	}
	section.visual > .slide > li.applied{
		background-image: url(../media/images/visual_2018/visual_applied_sp.jpg);
	}
	section.visual > .slide > li.material{
		background-image: url(../media/images/visual_2018/visual_material_sp.jpg);
	}
	section.visual > .slide > li.civil{
		background-image: url(../media/images/visual_2018/visual_civil_sp.jpg);
	}
	section.visual > .slide > li.df img.df_img.pc {
		display: none;
	}
	section.visual > .slide > li.df img.df_img.pcmed {
		display: none;
	}
	section.visual > .slide > li.df img.df_img.sp {
		display: block;
	}
	section.visual > .slide .textbox > .copy{
		font-size: 8vw;
	}
	section.visual > .slide .textbox > .department{
		font-size: 3vw;
	}
	section.visual > .slide > li.df .textbox {
		top: 66%;
	}
	section.visual > .slide > li.df .textbox > .copy {
		width: 90%;
	}
	
	/* 20190510 haraya ここから */
	section.visual > .slide > li.df .textbox_desc {
		top: 75%;
	}
	
	section.visual > .slide > li.df .textbox_desc > .copy {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
	
	section.visual > .slide > li.df .textbox_desc > .copy > .desc {
		/*font-family:"century", serif;*/
		font-size: 3vw;
		letter-spacing: 2vw;//10px;
		text-shadow: 
			black 1px 1px 0, black -1px -1px 0,/*右下、左上*/
			black -1px 1px 0, black 1px -1px 0,/*右上、左下*/
			black 0px 1px 0, black  0-1px 0,/*右、左*/
			black -1px 0 0, black 1px 0 0;/*上、下*/
	}
	/* ここまで */
	
	section.visual .slider_prev,
	section.visual .slider_next{
		width: 8%;
	}
	section.emergency div.emergency_list_wrap ul li{
		padding: 20px 15px;
	}
	section.emergency div.emergency_list_wrap p.title{
		margin: 0 auto 0 .5em;
		padding-left: .5em;
		text-indent: -.5em;
	}
	section.topics .top_title{
		margin-bottom: 60px;
	}
	section.topics{
		background: #5a7899 url(../media/images/top_2018/bg_topics_sp.jpg) no-repeat center bottom;
		background-size: 100% auto;
		padding: 60px 0 50px;
	}
	section.topics div.bg{
		display: none;
	}
	section.topics ul.topics_list li{
		margin: auto;
		width: 90vw;
	}
	section.topics ul.topics_list div.topics_img{
		margin: 0 -58vw 35% 0;
		width: 74vw;
	}
	section.topics ul.topics_list div.topics_text{
		margin: 35% 0 0 auto;
		padding: 6vw;
		width: 74vw;
	}
	section.news .top_title{
		margin-bottom: 60px;
	}
	section.news{
		padding-top: 60px;
	}
	div.news_wrap div.news_menu ul a{
		padding: 15px;
	}
	div.news_wrap ul.news_list{
		display: block;
		padding: 0 5%;
		width: 100%;
	}
	div.news_wrap ul.news_list > li{
		width: 100%;
	}
	div.news_wrap ul.news_list > li:not(:first-child){
		margin-top: 18px;
	}
	section.top_banners{
		padding: 0;
	}
	section.top_banners ul.banner li{
		width: 100%;
	}
	section.top_banners ul.banner li:not(:first-child){
		margin-top: auto;
	}
	section.top_banners ul.banner div.bn_text{
		height: 42%;
		padding: 15px 5%;
	}
	section.top_banners ul.banner div.bn_text span.bn_lead{
		font-size: 4vw;
	}
	section.top_banners ul.banner div.bn_text span.bn_title{
		font-size: 6vw;
	}
	section.drivingforce{
		height: auto;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	section.drivingforce div.drivingforce_l,
	section.drivingforce div.drivingforce_r{
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
	}
	section.drivingforce div.drivingforce_l img,
	section.drivingforce div.drivingforce_r img{
		display: block;
		max-width: none;
		width: 100%;
	}
	section.drivingforce div.drivingforce_l{
		-ms-flex-order: 2;
		order: 2;
	}
	section.drivingforce div.drivingforce_r{
		-ms-flex-order: 1;
		order: 1;
	}
	section.drivingforce div.drivingforce_r > div a {
		height: 48vw;
	}
	section.drivingforce div.drivingforce_r div.title{
		background: url(../media/images/top_2018/drivingforce_title_tb.svg) no-repeat left bottom;
		background-size: 100% auto;
		height: 48vw;
	}
	section.drivingforce div.drivingforce_r div.title img{
		display: none;
	}
	section.drivingforce div.drivingforce_r div.drivingforce_text{
		right: 20px;
		top: 25px;
		left: 30px;
	}
	section.drivingforce div.drivingforce_r div.drivingforce_text p{
		font-size: 4vw;
	}
	section.drivingforce div.drivingforce_r div.drivingforce_text span{
		font-size: 3vw;
	}
	section.drivingforce div.drivingforce_l.photo1 img{
		display: block;
	}
	section.drivingforce div.drivingforce_r div.photo2 {
		min-height: 150px;
	}
	section.drivingforce div.drivingforce_r div.photo2 img{
		display: block;
	}
	section.graduate .top_title{
		margin-bottom: 60px;
	}
	section.graduate{
		padding: 60px 0 0;
	}
	section.graduate ul.graduate_list > li{
		width: 100%;
	}
	section.graduate ul.graduate_list > li:not(:first-child){
		margin-top: auto;
	}
	section.graduate ul.graduate_list ul.major{
		display: block;
		margin: auto;
	}
	section.graduate ul.graduate_list ul.major > li{
		border-bottom: 1px solid #33335c;
		width: 100%;
	}
	section.graduate ul.graduate_list ul.major > li:nth-child(n+3){
		margin-top: auto;
	}
	section.graduate ul.graduate_list ul.major a{
		box-sizing: border-box;
		padding: 15px 5%;
	}
	section.graduate ul.graduate_list ul.major a::before{
		height: 16px;
		width: 9px;
	}
	section.undergraduate .top_title{
		margin-bottom: 60px;
	}
	section.undergraduate{
		padding: 60px 0 50px;
	}
	section.undergraduate ul.undergraduate_list{
		padding: 0 4vw;
	}
	section.undergraduate ul.undergraduate_list li{
		width: 44vw;
	}
	section.undergraduate ul.undergraduate_list li:nth-child(2n){
		margin-top: 130px;
	}
	section.undergraduate ul.undergraduate_list li:nth-child(2n+3){
		margin-top: -110px;
	}
	section.undergraduate ul.undergraduate_list li:nth-child(2n+4){
		margin-top: 20px;
	}
	section.undergraduate ul.undergraduate_list img{
		max-width: none;
		width: 100%;
	}
	section.anniversary{
		background-image: url(../media/images/top_2018/bg_100anniversary_sp.jpg);
		height: auto;
		padding: 40px 0;
	}
	section.anniversary div.logo{
		margin: auto;
		max-width: 53%;
	}
	section.anniversary div.logo img{
		max-width: 100%;
		vertical-align: bottom;
	}
	section.anniversary p.anniversary_lead{
		font-size: 15px;
		letter-spacing: 3px;
		line-height: 2;
		margin: 30px auto;
	}
	section.anniversary p.anniversary_lead span.br{
		display: inline-block;
	}
}

/***************************************************
* 
* アニメーション
****************************************************/
.animated {
	visibility: hidden;
}

.fadeInRight,
.fadeInUp {
	visibility: visible;
}

/***************************************************
* dot-flashing
* ローディングアニメーション
****************************************************/

@keyframes flashing {
	0% {
		background-color: #3c6595;
	}
	25% {
		background-color: #7794b5;
	}
	50% {
		background-color: #8aa3bf;
	}
	75% {
		background-color: #ffffff;
	}
	100% {
		background-color: #6384aa;
	}
}
@-webkit-keyframes flashing {
	0% {
		background-color: #3c6595;
	}
	25% {
		background-color: #7794b5;
	}
	50% {
		background-color: #8aa3bf;
	}
	75% {
		background-color: #ffffff;
	}
	99.9%,to {
		background-color: #6384aa;
	}
}

.dot-flashing {
	position: absolute;
	width: 100%;
	height: 100vh;
	top: 0px;
	left: 0px;
	background: #3c6595;
	z-index: 800;
}

.dot-flashing .dotWrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: 118px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.dot-flashing .dotWrapper .dot {
	display: inline-block;
	vertical-align: middle;
	background: #5075a0;
	width: 22px;
	height: 4px;
}

.dot-flashing .dotWrapper .dot:nth-child(1) {
	-webkit-animation: flashing 1s infinite alternate;
	animation: flashing 1s infinite alternate;
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
}
.dot-flashing .dotWrapper .dot:nth-child(2) {
	-webkit-animation: flashing 1s infinite alternate;
	animation: flashing 1s infinite alternate;
	-webkit-animation-delay: .2s;
	animation-delay: .2s;
}
.dot-flashing .dotWrapper .dot:nth-child(3) {
	-webkit-animation: flashing 1s infinite alternate;
	animation: flashing 1s infinite alternate;
	-webkit-animation-delay: .4s;
	animation-delay: .4s;
}
.dot-flashing .dotWrapper .dot:nth-child(4) {
	-webkit-animation: flashing 1s infinite alternate;
	animation: flashing 1s infinite alternate;
	-webkit-animation-delay: .6s;
	animation-delay: .6s;
}
.dot-flashing .dotWrapper .dot:nth-child(5) {
	-webkit-animation: flashing 1s infinite alternate;
	animation: flashing 1s infinite alternate;
	-webkit-animation-delay: .8s;
	animation-delay: .8s;
}

/***************************************************
*  notice
*  重要なお知らせ
***************************************************/
section.notice {
	background-color: #f8f8ee;
	display: none;
	padding: 60px 0 0;
}

section.notice .inner {
	margin: auto;
	max-width: 1140px;
}

section.notice div.notice_title {
	background-color: #112255;
	color: #fff;
	font-size: 16px;
	padding: 21px 30px;
}

section.notice div.notice_title p {
	margin: auto;
	font-weight: bold;
}

section.notice div.notice_title p::before {
	font-family: FontAwesome;
	font-weight: normal;
	content: "";
	padding-left: 0;
	padding-right: 8px;
	display: inline-block;
	font-size: 20px;
	vertical-align: middle;
}

section.notice div.notice_list_wrap {
	background-color: #fff;
}

section.notice div.notice_list_wrap ul {
	list-style: none;
	margin: auto;
	padding: 0;
}

section.notice div.notice_list_wrap ul li {
	padding: 27px 30px 26px;
}

section.notice div.notice_list_wrap ul li:nth-child(n+2) {
	border-top: 1px solid #eee;
}

section.notice div.notice_list_wrap p.title {
	box-sizing: border-box;
	color: #112255;
	font-size: 18px;
	line-height: 1.335;
	font-weight: bold;
	margin: auto;
}

section.notice div.notice_list_wrap p.title::before {
	content: "▼";
	display: inline-block;
}

section.notice div.notice_list_wrap .detail {
	line-height: 1.72;
	margin: 5px auto 0;
}

@media screen and (max-width: 1199px){
	section.notice{
		padding: 0;
	}
	section.notice .inner{
		max-width: 100%;
	}
	section.notice div.notice_list_wrap ul li{
		padding: 20px 25px;
	}
}

@media screen and (max-width: 767px){
	section.notice div.notice_list_wrap ul li{
		padding: 20px 15px;
	}
	section.notice div.notice_list_wrap p.title{
		margin: 0 auto 0 .5em;
		padding-left: .5em;
		text-indent: -.5em;
	}
}

/***************************************************
*  emergency
*  緊急のお知らせ・20181220 新バージョン用
***************************************************/
section.emergency.ver2 {
	background-color: #f8f8ee;
	padding: 60px 0 0;
}

section.emergency.ver2 div.emergency_title {
	padding: 21px 30px;
}

section.emergency.ver2 div.emergency_list_wrap ul li {
	padding: 27px 30px 26px;
}

section.emergency.ver2 div.emergency_list_wrap p.title {
	line-height: 1.335;
}

section.emergency.ver2 div.emergency_list_wrap .detail {
	line-height: 1.72;
	margin: 5px auto 0;
}

section.emergency.ver2.show + section.notice.ver2.show {
	padding-top: 0;
}

@media screen and (max-width: 1199px){
	section.emergency.ver2{
		padding: 0;
	}
	section.emergency.ver2 div.notice_list_wrap ul li{
		padding: 20px 25px;
	}
}

@media screen and (max-width: 767px){
	section.emergency.ver2 div.emergency_list_wrap ul li{
		padding: 20px 15px;
	}
}

/***************************************************
*  news
*  ニュース・20181220 新バージョン用
***************************************************/
section.news.ver2 {
	padding: 60px 0 120px;
}

section.news.ver2 .top_title {
	margin: 30px auto 90px;
}

section.news.ver2 div.news_wrap {
	display: block;
	width: 100%;
}

section.news.ver2 div.news_wrap ul.news_list {
	width: 100%;
}

section.news.ver2 div.news_wrap ul.news_list > li {
	-ms-flex-preferred-size: (50% - 40px);
	flex-basis: calc(50% - 40px);
}

section.news.ver2 div.news_wrap ul.news_list > li a {
	padding-right: 0;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

section.news.ver2 div.news_wrap ul.news_list div.topics_text {
	-ms-flex-preferred-size: calc(100% - 135px);
	flex-basis: calc(100% - 135px);
}

section.news.ver2 div.news_wrap ul.news_list div.topics_text p {
	line-height: 1.6;
}

section.news.ver2 div.news_wrap ul.news_list div.topics_img {
	margin-right: 0;
}

section.news.ver2 div.news_menu {
	border-top: solid 1px #dfdfd6;
	padding-top: 30px;
	margin-top: 30px;
}

section.news.ver2 div.news_menu ul {
	margin: 0 auto;
	padding: 0;
	max-width: 1140px;
	list-style: none;
	font-size: 0;
}

section.news.ver2 div.news_menu ul li {
	display: inline-block;
	vertical-align: middle;
	font-size: 14px;
	margin-right: 25px;
}

section.news.ver2 div.news_menu ul li a {
	display: block;
}

section.news.ver2 div.news_menu ul li a::before {
	font-family: FontAwesome;
	content: "";
	padding-left: 0;
	padding-right: 4px;
	display: inline-block;
}

@media screen and (max-width: 1199px){
	
	section.news.ver2 div.news_wrap {
		padding: 0 15px;
	}
	
	section.news.ver2 div.news_menu ul {
		padding: 0 15px;
	}
}

@media screen and (max-width: 991px) {
	
	section.news.ver2 {
		padding-bottom: 0;
	}
	
	section.news.ver2 div.news_menu {
		border-top: none;
		padding-top: 0;
	}
	
	section.news.ver2 div.news_menu ul {
		padding: 0;
		background: #ebebe2;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin: auto;
	}
	
	section.news.ver2 div.news_menu ul li {
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
		margin: auto;
	}
	
	section.news.ver2 div.news_menu ul li a {
		border-bottom: 1px solid #fff;
		padding: 15px 15px 15px 24px;
	}
	
	section.news.ver2 div.news_menu ul li:nth-child(2n) a {
		border-left: 1px solid #fff;
	}
}

@media screen and (max-width: 767px) {
	
	section.news.ver2 .top_title {
		margin-top: 0;
		margin-bottom: 60px;
	}
	
	section.news.ver2 div.news_menu ul li a {
		padding: 15px;
	}
}

/***************************************************
*  news
*  ニュース・20190125 新バージョン用・ver3
***************************************************/
section.news.ver3 div.news_wrap .news_listBlock {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-preferred-size: auto;
	flex-basis: auto;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
	width: calc(100% - 160px);
}

section.news.ver3 div.news_wrap .news_listBlock ul.news_list {
	display: block;
	width: 50%;
}

section.news.ver3 div.news_wrap .news_listBlock ul.news_list > li {
	
}

section.news.ver3 div.news_wrap .news_listBlock ul.news_list > li:nth-child(n+2) {
	margin-top: 30px;
}

@media screen and (max-width: 1199px) {
	
	section.news.ver3 div.news_wrap .news_listBlock {
		-ms-flex-preferred-size: 720px;
		flex-basis: 720px;
		margin-right: 0;
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list {
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
		margin-top: 0;
	}
}

@media screen and (max-width: 991px) {
	
	section.news.ver3 div.news_wrap .news_listBlock {
		margin-right: auto;
		width: 720px;
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list {
		-ms-flex-preferred-size: calc(50% - 12px);
		flex-basis: calc(50% - 12px);
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list > li {
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
	}
}

@media screen and (max-width: 767px) {
	
	section.news.ver3 div.news_wrap .news_listBlock {
		display: block;
		padding: 0 5%;
		width: 100%;
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list {
		width: 100%;
		padding: 0;
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list > li {
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		width: 100%;
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list > li:nth-child(n+2) {
		margin-top: 18px;
	}
}


/***************************************************
*  undergraduate
*  undergraduate・20181220 新バージョン用
***************************************************/
section.undergraduate.ver2 {
	height: 100vh;
	background-position: center top;
	background-repeat: no-repeat;
	background-image: url(../media/images/top_2018_ver2/bg_undergraduate.png?v1);
}

@media screen and (max-width: 767px) {
	
	section.undergraduate.ver2 {
		height: 100%;
		background-image: none;
	}
}

/***************************************************
* visual
* ビジュアル部分・20190125 新バージョン用
****************************************************/
section.visual.ver2 {
	height: 660px;
}

section.visual.ver2 .dot-flashing {
	height: 660px;
}

@media screen and (max-width: 767px) {
	
	section.visual.ver2 {
		height: 100vh;
	}
	
	section.visual.ver2 .dot-flashing {
		height: 100vh;
	}
}

/***************************************************
* visitor
* 訪問者別index部分・20190125 新バージョン用
****************************************************/
section.visitor {
	background-color: #000;
	padding: 100px 0 70px;
}

section.visitor .inner {
	margin: 0 auto;
	max-width: 1140px;
}

section.visitor ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-ms-flex-flow : row wrap;
	-webkit-flex-flow : row wrap;
	flex-flow: row wrap;
}

section.visitor ul li {
	width: 356px;
	margin-bottom: 20px;
}

section.visitor ul li a {
	display: block;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-size: 14px;
	line-height: 1.2;
	border: solid 2px #999999;
	background-color: #000;
	padding: 18px;
}

section.visitor ul li a:hover {
	background-color: #333;
}

@media screen and (max-width: 1139px) {
	
	section.visitor ul li {
		width: 31%;
	}
}

@media screen and (max-width: 1199px) {
	section.visitor ul {
		padding: 0 15px;
	}
}

@media screen and (max-width: 767px) {
	
	section.visitor {
		padding: 40px 0 30px;
	}
	
	section.visitor ul {
		padding: 0 5%;
	}
	
	section.visitor ul li {
		width: 48%;
		margin-bottom: 10px;
	}
	
	section.visitor ul li a {
		font-size: 13px;
		line-height: 1.3;
		padding: 15px 5px;
	}
}

/***************************************************
* parallax
* パララックス・修正
****************************************************/
.sticky-section.stuck,
.sticky-section.stuck-bottom {
	z-index: 0;
}@charset "UTF-8";


/***************************************************
* parallax
* パララックス
****************************************************/

.sticky-section {
	position: relative;
	z-index: 1;
}

.sticky-section .sticky {
	position: relative;
}

.sticky-section.stuck,
.sticky-section.stuck-bottom {
	overflow: hidden;
	z-index: -100;
}

.sticky-section.stuck .sticky {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
}

.sticky-section.stuck-bottom .sticky {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
}


/***************************************************
* visual
* ビジュアル部分
****************************************************/

/* headerとビジュアルを重ねる */
header {
	position: absolute;
	top: 0;
	width: 100%;
}

section.visual {
	height: 100vh;
	position: relative;
	width: 100%;
}

section.visual nav > ul {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: center;
	justify-content: center;
	list-style: none;
	margin: auto;
	padding: 0;
	position: absolute;
	right: 0;
	bottom: 20px;
	left: 0;
	width: 150px;
	z-index: 300;
}

section.visual nav > ul li.slider_nav {
	cursor: pointer;
	height: 10px;
	position: relative;
	width: 10px;
}

section.visual nav > ul li.slider_nav:not(:first-child) {
	margin-left: 10px;
}

section.visual nav > ul li.slider_nav::after {
	background: url(../media/images/visual_2018/slideshow_nv_off.svg) no-repeat center center;
	background-size: cover;
	content: "";
	height: 10px;
	margin: auto;
	position: absolute;
	top: 0;
	left: 0;
	width: 10px;
}

section.visual nav > ul li.slider_nav.active::after {
	background-image: url(../media/images/visual_2018/slideshow_nv_on.svg);
}

section.visual > .slide {
	height: 100%;
	list-style: none;
	margin: auto;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

section.visual > .slide > li {
	background-position: center center;
	background-size: cover;
}

/************************
*	ビジュアル画像設定
*
**************************/

section.visual > .slide > li.mechanic {
	background-image: url(../media/images/visual_2018/visual_mechanic.jpg);
}

section.visual > .slide > li.information {
	background-image: url(../media/images/visual_2018/visual_information.jpg);
}

section.visual > .slide > li.applied {
	background-image: url(../media/images/visual_2018/visual_applied.jpg);
}

section.visual > .slide > li.material {
	background-image: url(../media/images/visual_2018/visual_material.jpg);
}

section.visual > .slide > li.civil {
	background-image: url(../media/images/visual_2018/visual_civil.jpg);
}

section.visual > .slide > li.df img.df_img.sp {
	display: none;
}

section.visual > .slide .textbox {
	color: #fff;
	margin: auto;
	padding: 0 !important;
	position: absolute;
	top: 68%;
	right: 0;
	left: 0;
	text-align: center;
}

section.visual > .slide .textbox > .copy {
	display: block;
	font-family: "Crete Round", serif;
	font-size: 70px;
	line-height: 1;
	margin-bottom: 30px;
}

section.visual > .slide .textbox > .department {
	font-size: 22px;
	letter-spacing: 10px;
}

section.visual .slider_prev img,
section.visual .slider_next img {
	max-width: 100%;
}

section.visual > .slide > li.df > a {
	display: block;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

section.visual > .slide > li.df img.df_img {
	display: block;
	width: 100%;
	height: 100%;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center center;
}

section.visual > .slide > li.df .textbox {
	top: 56%;
}

section.visual > .slide > li.df .textbox > .copy {
	width: 636px;
	margin-left: auto;
	margin-right: auto;
}

section.visual > .slide > li.df .textbox > .copy img {
	width: 100%;
}

/***************************************************
*  emergency
*  緊急のお知らせ
***************************************************/
section.emergency {
	background-color: #eee;
	box-sizing: border-box;
	display: none;
	padding: 60px 0;
}

section.emergency .inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
}

section.emergency div.emergency_title {
	background-color: #c00;
	box-sizing: border-box;
	color: #fff;
	font-size: 16px;
	padding: 20px 30px;
}

section.emergency div.emergency_title p {
	margin: auto;
	font-weight: bold;
}

section.emergency div.emergency_title p::before {
	font-family: FontAwesome;
	content: "";
	padding-left: 0;
	padding-right: 8px;
	display: inline-block;
	font-size: 20px;
	vertical-align: baseline;
}

section.emergency div.emergency_list_wrap {
	background-color: #fff;
}

section.emergency div.emergency_list_wrap ul {
	list-style: none;
	margin: auto;
	padding: 0;
}

section.emergency div.emergency_list_wrap ul li {
	box-sizing: border-box;
	padding: 25px 30px;
}

section.emergency div.emergency_list_wrap ul li:nth-child(n+2) {
	border-top: 1px solid #eee;
}

section.emergency div.emergency_list_wrap p.title {
	box-sizing: border-box;
	color: #c00;
	font-size: 18px;
	font-weight: bold;
	margin: auto;
}

section.emergency div.emergency_list_wrap p.title::before {
	content: "▼";
	display: inline-block;
}

section.emergency div.emergency_list_wrap p.detail {
	line-height: 1.6;
	margin: 10px auto 0;
}

/***************************************************
* topics
* トピックス
***************************************************/
section.topics {
	background: url(../media/images/top_2018/bg_topics.jpg) no-repeat center center;
	background-size: cover;
	box-sizing: border-box;
	padding: 90px 0 120px;
	position: relative;
}

section.topics .top_title {
	font-family: "Crete Round", serif;
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 3px;
	line-height: 1;
	margin: 0 auto 90px;
	text-align: center;
}

section.topics .top_title.light {
	color: #fff;
}

section.topics div.inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
	position: relative;
	z-index: 10;
}

section.topics div.bg {
	background: rgba(0, 0, 0, .4);
	height: 100%;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 5;
}

/***************************************************
* topics list
* トピックスのリスト
***************************************************/
section.topics ul.topics_list {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
}

section.topics ul.topics_list li {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-preferred-size: calc(50% - 18px);
	flex-basis: calc(50% - 18px);
}

section.topics ul.topics_list a {
	display: -ms-flexbox;
	display: flex;
}

section.topics ul.topics_list a:hover div.topics_text {
	color: #07b;
}

section.topics ul.topics_list img {
	max-height: 190px;
	max-width: 100%;
	vertical-align: bottom;
}

section.topics ul.topics_list div.topics_img {
	margin: 0 -40px 30px 0;
	max-height: 190px;
	position: relative;
	text-align: center;
	width: calc(50% + 40px);
	z-index: 10;
}

section.topics ul.topics_list div.topics_text {
	background-color: #000;
	box-sizing: border-box;
	color: #fff;
	margin-top: 30px;
	padding: 25px;
	position: relative;
	width: calc(50% + 40px);
	z-index: 20;
}

section.topics ul.topics_list div.topics_text p {
	margin-top: 8px;
}

section.topics ul.topics_list div.topics_text span {
	font-size: 12px;
	vertical-align: middle;
}

section.topics ul.topics_list div.topics_text span.tag {
	box-sizing: border-box;
	background-color: #fff;
	color: #000;
	display: inline-block;
	line-height: 1;
	padding: 4px 6px;
	position: relative;
}

section.topics ul.topics_list div.topics_text span.tag::after {
	background: url(../media/images/top_2018/tag_wht.svg) no-repeat center center;
	background-size: cover;
	content: "";
	display: block;
	height: 20px;
	margin: auto;
	position: absolute;
	right: -6px;
	top: 0;
	width: 6px;
}

section.topics ul.topics_list div.topics_text span.tag.Research {
	background-color: #c00;
	color: #fff;
}

section.topics ul.topics_list div.topics_text span.tag.Research::after {
	background-image: url(../media/images/top_2018/tag_red.svg);
}

/***************************************************
*  news
*  ニュース
***************************************************/
section.news {
	background-color: #f8f8ee;
	box-sizing: border-box;
	padding: 90px 0 120px;
}

section.news .top_title {
	font-family: "Crete Round", serif;
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 3px;
	line-height: 1;
	margin: 0 auto 90px;
	text-align: center;
}

section.news .top_title.light {
	color: #fff;
}

section.news .inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
}

div.news_wrap {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

div.news_wrap ul.news_list {
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-preferred-size: auto;
	flex-basis: auto;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
	width: calc(100% - 160px);
}

div.news_wrap ul.news_list > li {
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

div.news_wrap ul.news_list > li:nth-child(n+3) {
	margin-top: 30px;
}

div.news_wrap ul.news_list > li a {
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	padding-right: 36px;
	width: 100%;
}

div.news_wrap ul.news_list div.topics_img {
	border-radius: 50%;
	height: 120px;
	margin-right: 10px;
	overflow: hidden;
	-ms-flex-preferred-size: 120px;
	flex-basis: 120px;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

div.news_wrap ul.news_list div.topics_img img {
	max-width: 100%;
	vertical-align: bottom;
}

div.news_wrap ul.news_list div.topics_img img:not([class]) {
	display: none;
}

div.news_wrap ul.news_list div.topics_text {
	-ms-flex-preferred-size: calc(100% - 130px);
	flex-basis: calc(100% - 130px);
}

div.news_wrap ul.news_list div.topics_text p {
	margin-top: 10px;
}

div.news_wrap ul.news_list div.topics_text span {
	font-size: 12px;
}

div.news_wrap ul.news_list div.topics_text span.tag {
	background-color: #000;
	box-sizing: border-box;
	color: #fff;
	display: inline-block;
	line-height: 1;
	padding: 4px 6px;
	position: relative;
}

div.news_wrap ul.news_list div.topics_text span.tag::after {
	background: url(../media/images/top_2018/tag_blk.svg) no-repeat left center;
	background-size: cover;
	content: "";
	height: 20px;
	margin: auto;
	position: absolute;
	left: 100%;
	top: 0;
	bottom: 0;
	width: 6px;
}

div.news_wrap ul.news_list div.topics_text span.tag.Research {
	background-color: #c00;
	color: #fff;
}

div.news_wrap ul.news_list div.topics_text span.tag.Research::after {
	background-image: url(../media/images/top_2018/tag_red.svg);
}

div.news_wrap div.news_menu {
	border-left: 1px solid #000;
	box-sizing: border-box;
	-ms-flex-preferred-size: 160px;
	flex-basis: 160px;
}

div.news_wrap div.news_menu ul {
	box-sizing: border-box;
	list-style: none;
	margin: 0 auto 0 15px;
	padding: 0;
}

div.news_wrap div.news_menu ul li {
	box-sizing: border-box;
	margin: 0 auto 15px;
	position: relative;
	/* aobayama channelを長体90% */
}

div.news_wrap div.news_menu ul li.en {
	transform: scale(0.9, 1);
	transform-origin: left center;
	/* 100 / 0.9 = 111.11..なので111%に設定して元の幅を確保 */
	width: 111%;
}

div.news_wrap div.news_menu ul li.en a::before {
	/* font-awesomeはtransformを継承させない */
	transform: scale(1.11, 1);
}

div.news_wrap div.news_menu ul a {
	box-sizing: border-box;
	display: block;
}

div.news_wrap div.news_menu ul a::before {
	font-family: FontAwesome;
	content: "";
	padding-left: 0;
	padding-right: 4px;
	display: inline-block;
}

/***************************************************
*  top_banners
*  バナー群
***************************************************/
section.top_banners {
	background-color: #125;
	box-sizing: border-box;
	/*padding: 80px 0; 2020.9.25*/
	padding: 40px 0;
}

section.top_banners .inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
}

section.top_banners ul.banner {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
}

section.top_banners ul.banner li {
	overflow: hidden;
	position: relative;
	width: calc((100% - 72px) / 3);
}

section.top_banners ul.banner li a {
	display: block;
}

section.top_banners ul.banner li a:hover div.bn_text {
	color: #07b;
}

section.top_banners ul.banner li a:hover img {
	transform: scale(1.1);
	transition-duration: .3s;
}

section.top_banners ul.banner div.bn_photo {
	overflow: hidden;
}

section.top_banners ul.banner div.bn_photo img {
	max-width: 100%;
	transition-duration: .3s;
	vertical-align: bottom;
}

section.top_banners ul.banner div.bn_text {
	background: linear-gradient(to bottom, transparent, rgba(0, 0, 0, .8));
	box-sizing: border-box;
	color: #fff;
	height: 100px;
	padding: 40px 15px 15px;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}

section.top_banners ul.banner div.bn_text div.bn_inner_text {
	position: absolute;
	bottom: 15px;
	left: 15px;
}

section.top_banners ul.banner div.bn_text span.bn_lead {
	font-size: 14px;
	line-height: 1;
}

section.top_banners ul.banner div.bn_text span.bn_title {
	display: block;
	font-size: 22px;
}

/***************************************************
*  Driving Force
***************************************************/
section.drivingforce {
	display: -ms-flexbox;
	display: flex;
	height: 560px;
	-ms-flex-pack: center;
	justify-content: center;
}

section.drivingforce div.drivingforce_l,
section.drivingforce div.drivingforce_r {
	background: #c3b833 no-repeat center center;
	background-size: cover;
	-ms-flex-preferred-size: 50%;
	flex-basis: 50%;
}

section.drivingforce div.drivingforce_r {
	display: block;
}

section.drivingforce div.drivingforce_r > div {
	background: #c3b833 no-repeat center center;
	background-size: cover;
	height: 50%;
	min-height: 50%;
}

section.drivingforce div.drivingforce_r > div a {
	display: block;
	position: relative;
}

section.drivingforce div.drivingforce_r div.title img {
	max-width: 100%;
	vertical-align: bottom;
}

section.drivingforce div.drivingforce_r div.drivingforce_text {
	position: absolute;
	right: 50px;
	top: 45px;
	left: 50px;
}

section.drivingforce div.drivingforce_r div.drivingforce_text p {
	font-size: 24px;
	line-height: 1.1;
}

.en section.drivingforce div.drivingforce_r div.drivingforce_text p {
	line-height: .9;
}

section.drivingforce div.drivingforce_r div.drivingforce_text span {
	display: block;
	font-size: 14px;
	margin-top: 5px;
}

section.drivingforce div.drivingforce_l.photo1 {
	background-image: url(../media/images/top_2018/drivingforce_img1.jpg);
}

section.drivingforce div.drivingforce_l.photo1 img {
	display: none;
}

section.drivingforce div.drivingforce_r div.photo2 {
	background-image: url(../media/images/top_2018/drivingforce_img2.jpg);
}

section.drivingforce div.drivingforce_r div.photo2 img {
	display: none;
}

/***************************************************
*  Graduate
*  研究科
***************************************************/
section.graduate {
	background-color: #003;
	box-sizing: border-box;
	padding: 80px 0 120px;
}

section.graduate .top_title {
	font-family: "Crete Round", serif;
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 3px;
	line-height: 1;
	margin: 0 auto 90px;
	text-align: center;
}

section.graduate .top_title.light {
	color: #fff;
}

section.graduate .inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
}

section.graduate ul.graduate_list {
	box-sizing: border-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
}

section.graduate ul.graduate_list > li {
	width: calc(50% - 26px);
}

section.graduate ul.graduate_list > li:nth-child(n+3) {
	margin-top: 60px;
}

section.graduate ul.graduate_list div.pic img {
	max-width: 100%;
	vertical-align: bottom;
}

section.graduate ul.graduate_list ul.major {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	list-style: none;
	margin: 30px auto 0;
	padding: 0;
}

section.graduate ul.graduate_list ul.major > li {
	box-sizing: border-box;
	width: 50%;
}

section.graduate ul.graduate_list ul.major > li:nth-child(n+3) {
	margin-top: 8px;
}

section.graduate ul.graduate_list ul.major a {
	color: #fff;
	display: block;
	font-size: 14px;
}

section.graduate ul.graduate_list ul.major a:hover {
	color: #07b;
}

section.graduate ul.graduate_list ul.major a::before {
	background: url(../media/images/top_2018/graduate_chevron.svg) no-repeat center center;
	background-size: cover;
	content: "";
	display: inline-block;
	height: 18px;
	margin-right: 8px;
	vertical-align: middle;
	width: 10px;
}

/***************************************************
*  Undergraduate
*  学科
***************************************************/
section.undergraduate {
	background-color: #125;
	box-sizing: border-box;
	padding: 80px 0 120px;
}

section.undergraduate .inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
}

section.undergraduate .top_title {
	font-family: "Crete Round", serif;
	font-size: 40px;
	font-weight: normal;
	letter-spacing: 3px;
	line-height: 1;
	margin: 0 auto 90px;
	text-align: center;
}

section.undergraduate .top_title.light {
	color: #fff;
}

section.undergraduate ul.undergraduate_list {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
}

section.undergraduate ul.undergraduate_list li {
	width: calc((100% - 144px) / 5);
}

section.undergraduate ul.undergraduate_list li:nth-child(2n) {
	margin-top: 50px;
}

section.undergraduate ul.undergraduate_list a {
	display: block;
}

section.undergraduate ul.undergraduate_list img {
	max-width: 100%;
	vertical-align: bottom;
}

/***************************************************
*  anniversary
*  東北大学工学部百周年
***************************************************/
section.anniversary {
	background-color: #002;
	box-sizing: border-box;
	height: 750px;
	overflow: hidden;
	padding: 70px 0 50px;
	position: relative;
}

section.anniversary .inner {
	box-sizing: border-box;
	color: #fff;
	margin: auto;
	max-width: 1140px;
	position: relative;
	text-align: center;
	z-index: 200;
}

section.anniversary p.anniversary_lead {
	font-size: 18px;
	letter-spacing: 6px;
	margin: 50px auto;
}

section.anniversary div.detail {
	box-sizing: border-box;
	text-align: center;
}

section.anniversary div.detail a {
	border: 1px solid #ccc;
	border-radius: 16px;
	box-sizing: border-box;
	color: #fff;
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	padding: 10px 40px;
	position: relative;
}

section.anniversary div.detail a:hover {
	color: #07b;
}

section.anniversary div.detail a::before {
	background: url(../media/images/top_2018/info_chevron_wht.svg) no-repeat center center;
	background-size: cover;
	content: "";
	height: 16px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15px;
	width: 6px;
}

section.anniversary .pv {
	margin: auto;
	position: absolute;
	left: 0;
	top: 0;
}

/***************************************************
*  pickup
*  pick-up movie
***************************************************/
section.pickup {
	background-color: #000;
	box-sizing: border-box;
	padding: 120px 0;
	position: relative;
	z-index: 1;
}

section.pickup .inner {
	box-sizing: border-box;
	margin: auto;
	max-width: 1140px;
}

section.pickup ul.pickup {
	display: -ms-flexbox;
	display: flex;
	list-style: none;
	margin: auto;
	padding: 0;
}

section.pickup ul.pickup li {
	-ms-flex-preferred-size: calc(50% + 140px);
	flex-basis: calc(50% + 140px);
	height: 360px;
}

section.pickup ul.pickup li.pickup_text {
	background: linear-gradient(to right, #cfc436 0%, #cfc436 50%, #c3b833 50%);
	box-sizing: border-box;
	margin: 0 -140px 80px 0;
	padding: 80px 50px 0;
	position: relative;
	z-index: 1;
}

section.pickup ul.pickup li.pickup_text p.pickup_title {
	font-family: "Crete Round", serif;
	font-size: 40px;
	line-height: 1;
}

/*
section.pickup ul.pickup li.pickup_text p.pickup_title::after {
font-family: FontAwesome;
content: "";
padding-left: 10px;
padding-right: 0;
}
*/

section.pickup ul.pickup li.pickup_text p.pickup_detail {
	margin: 25px 0 0;
}

section.pickup ul.pickup .pickup_movie {
	margin-top: 80px;
	position: relative;
	z-index: 40;
}

section.pickup ul.pickup .pickup_movie iframe {
	height: 100%;
	width: 100%;
}

section.pickup ul.pickup .pickup_movie .movie_playBtn {
	height: 100%;
	width: 100%;
	cursor: pointer;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 3;
}
section.pickup ul.pickup .pickup_movie .movie_playBtn img {
	background-position: center;
	background-size: cover;
	height: 100%;
	width: 100%;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 1;
}
section.pickup ul.pickup .pickup_movie .movie_playBtn::after {
	background: url(../media/images/top_2018/movie_play.svg) no-repeat center center;
	background-size: 100% auto;
	content: "";
	display: block;
	width: 115px;
	height: 115px;
	margin: auto;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	z-index: 2;
}

section.pickup ul.pickup .pickup_img {
	position: relative;
}

section.pickup ul.pickup .pickup_img::after {
	background: url(../media/images/top_2018/movie_play.svg) no-repeat center center;
	background-size: contain;
	content: "";
	height: 115px;
	margin: auto;
	pointer-events: none;
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	bottom: 0;
	width: 115px;
}

section.pickup ul.pickup .pickup_img img {
	max-width: 100%;
	vertical-align: bottom;
}

section.pickup div.pickup_btn a {
	border: 1px solid #000;
	border-radius: 20px;
	box-sizing: border-box;
	color: #000;
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	margin-top: 25px;
	padding: 10px 40px;
	position: relative;
	text-align: center;
}

section.pickup div.pickup_btn a::before {
	background: url(../media/images/top_2018/info_chevron_blk.svg) no-repeat center center;
	background-size: cover;
	content: "";
	height: 16px;
	margin: auto;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 15px;
	width: 6px;
}

section.pickup div.pickup_btn a:hover {
	color: #07b;
}

section.pickup div.pickup_btn.tab {
	margin: 40px auto 0;
	text-align: center;
}

section.pickup div.pickup_btn.tab a {
	border-color: #fff;
	color: #fff;
}

section.pickup div.pickup_btn.tab a:hover {
	color: #07b;
}

@media print, screen and (min-width: 1200px){
	section.topics ul.topics_list li:nth-child(n+3){
		margin-top: 50px;
	}
	section.drivingforce div.drivingforce_r div.title img.tab{
		display: none;
	}
	section.pickup ul.pickup li.pickup_text::after{
		background: url(../media/images/top_2018/movie_img.svg) no-repeat center center;
		background-size: cover;
		content: "";
		height: 80px;
		margin: auto;
		position: absolute;
		top: 0;
		right: 0;
		width: 140px;
	}
	section.pickup ul.pickup .pickup_img{
		display: none;
	}
	section.pickup div.pickup_btn.tab{
		display: none;
	}
}

@media screen and (max-width: 1199px){
	section.emergency{
		padding: 0;
	}
	section.emergency .inner{
		max-width: 100%;
	}
	section.emergency div.emergency_list_wrap ul li{
		padding: 20px 25px;
	}
	section.topics{
		background: #9cceff url(../media/images/top_2018/bg_topics.jpg) no-repeat center bottom;
		background-size: 100% auto;
	}
	section.topics ul.topics_list{
		display: block;
	}
	section.topics ul.topics_list li{
		margin: auto;
		width: 550px;
	}
	section.topics ul.topics_list li:not(:first-child){
		margin-top: 30px;
	}
	div.news_wrap ul.news_list{
		-ms-flex-preferred-size: 720px;
		flex-basis: 720px;
		margin-right: 0;
	}
	div.news_wrap div.news_menu{
		margin: 0 auto 0 0;
	}
	section.top_banners ul.banner{
		padding: 0 15px;
	}
	section.top_banners ul.banner li{
		width: calc((100% - 54px) / 3);
	}
	section.top_banners ul.banner div.bn_text span.bn_title{
		font-size: 20px;
	}
	section.drivingforce div.drivingforce_r div.title img.pc{
		display: none;
	}
	section.drivingforce div.drivingforce_r div.drivingforce_text{
		right: 15px;
		top: 25px;
		left: 25px;
	}
	section.graduate .inner{
		box-sizing: border-box;
		padding: 0 15px;
	}
	section.graduate ul.graduate_list > li{
		width: calc(50% - 13px);
	}
	section.undergraduate ul.undergraduate_list{
		box-sizing: border-box;
		padding: 0 15px;
	}
	section.undergraduate ul.undergraduate_list li{
		width: 18.2%;
	}
	section.pickup ul.pickup{
		display: block;
	}
	section.pickup ul.pickup li{
		margin: auto;
		height: 252px;
		width: 472px;
	}
	section.pickup ul.pickup li.pickup_text{
		margin: auto;
		padding: 40px 40px 0;
	}
	section.pickup ul.pickup li.pickup_text p.pickup_title{
		margin-bottom: 15px;
	}
	section.pickup ul.pickup li.pickup_text p.pickup_detail{
		margin: auto;
	}
	section.pickup ul.pickup .pickup_movie{
		/*display: none;*/
		margin-top: 0;
		
	}
	section.pickup div.pickup_btn.pc{
		display: none;
	}
}

@media screen and (max-width: 991px){
	section.visual > .slide .textbox > .copy{
		font-size: 60px;
	}
	section.visual > .slide .textbox > .department{
		font-size: 20px;
		letter-spacing: 7px;
	}
	
	section.visual > .slide > li.df .textbox {
		top: 70%;
	}
	section.visual > .slide > li.df .textbox > .copy {
		width: 70%;
	}
	
	
	section.news{
		padding-bottom: 0;
	}
	div.news_wrap{
		display: block;
	}
	div.news_wrap ul.news_list{
		margin-right: auto;
		width: 720px;
	}
	div.news_wrap ul.news_list > li{
		-ms-flex-preferred-size: calc(50% - 12px);
		flex-basis: calc(50% - 12px);
	}
	div.news_wrap ul.news_list li a {
		padding: 0;	
	}
	div.news_wrap div.news_menu{
		border-left: 0;
		margin: 30px auto 0;
	}
	div.news_wrap div.news_menu ul{
		background: #ebebe2;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin: auto;
	}
	div.news_wrap div.news_menu ul li{
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
		margin: auto;
	}
	div.news_wrap div.news_menu ul li.en a {
		width: 111%;
	}
	div.news_wrap div.news_menu ul li:nth-child(2n) a {
		border-left: 1px solid #fff;
	}
	div.news_wrap div.news_menu ul a{
		border-bottom: 1px solid #fff;
		padding: 15px 15px 15px 24px;
	}
	section.top_banners ul.banner{
		display: block;
		padding: 0;
	}
	section.top_banners ul.banner li{
		margin: auto;
		width: 360px;
	}
	section.top_banners ul.banner li:not(:first-child){
		margin-top: 30px;
	}
	section.graduate .inner{
		padding: 0;
	}
	section.graduate ul.graduate_list{
		display: block;
	}
	section.graduate ul.graduate_list > li{
		margin: auto;
		width: 545px;
	}
	section.graduate ul.graduate_list > li:nth-child(n+3){
		margin-top: auto;
	}
	section.graduate ul.graduate_list > li:not(:first-child){
		margin-top: 30px;
	}
	section.anniversary{
		background: url(../media/images/top_2018/bg_100anniversary_tb.jpg) no-repeat center center;
		background-size: cover;
	}
	section.anniversary iframe.pv{
		display: none;
	}
}

@media screen and (max-width: 767px){
	section.visual > .slide > li.mechanic{
		background-image: url(../media/images/visual_2018/visual_mechanic_sp.jpg);
	}
	section.visual > .slide > li.information{
		background-image: url(../media/images/visual_2018/visual_information_sp.jpg);
	}
	section.visual > .slide > li.applied{
		background-image: url(../media/images/visual_2018/visual_applied_sp.jpg);
	}
	section.visual > .slide > li.material{
		background-image: url(../media/images/visual_2018/visual_material_sp.jpg);
	}
	section.visual > .slide > li.civil{
		background-image: url(../media/images/visual_2018/visual_civil_sp.jpg);
	}
	section.visual > .slide > li.df img.df_img.pc {
		display: none;
	}
	section.visual > .slide > li.df img.df_img.sp {
		display: block;
	}
	section.visual > .slide .textbox > .copy{
		font-size: 8vw;
	}
	section.visual > .slide .textbox > .department{
		font-size: 3vw;
	}
	section.visual > .slide > li.df .textbox {
		top: 66%;
	}
	section.visual > .slide > li.df .textbox > .copy {
		width: 90%;
	}
	
	section.visual .slider_prev,
	section.visual .slider_next{
		width: 8%;
	}
	section.emergency div.emergency_list_wrap ul li{
		padding: 20px 15px;
	}
	section.emergency div.emergency_list_wrap p.title{
		margin: 0 auto 0 .5em;
		padding-left: .5em;
		text-indent: -.5em;
	}
	section.topics .top_title{
		margin-bottom: 60px;
	}
	section.topics{
		background: #5a7899 url(../media/images/top_2018/bg_topics_sp.jpg) no-repeat center bottom;
		background-size: 100% auto;
		padding: 60px 0 50px;
	}
	section.topics div.bg{
		display: none;
	}
	section.topics ul.topics_list li{
		margin: auto;
		width: 90vw;
	}
	section.topics ul.topics_list div.topics_img{
		margin: 0 -58vw 35% 0;
		width: 74vw;
	}
	section.topics ul.topics_list div.topics_text{
		margin: 35% 0 0 auto;
		padding: 6vw;
		width: 74vw;
	}
	section.news .top_title{
		margin-bottom: 60px;
	}
	section.news{
		padding-top: 60px;
	}
	div.news_wrap div.news_menu ul a{
		padding: 15px;
	}
	div.news_wrap ul.news_list{
		display: block;
		padding: 0 5%;
		width: 100%;
	}
	div.news_wrap ul.news_list > li{
		width: 100%;
	}
	div.news_wrap ul.news_list > li:not(:first-child){
		margin-top: 18px;
	}
	section.top_banners{
		padding: 0;
	}
	section.top_banners ul.banner li{
		width: 100%;
	}
	section.top_banners ul.banner li:not(:first-child){
		margin-top: auto;
	}
	section.top_banners ul.banner div.bn_text{
		height: 42%;
		padding: 15px 5%;
	}
	section.top_banners ul.banner div.bn_text span.bn_lead{
		font-size: 4vw;
	}
	section.top_banners ul.banner div.bn_text span.bn_title{
		font-size: 6vw;
	}
	section.drivingforce{
		height: auto;
		-ms-flex-direction: column;
		flex-direction: column;
	}
	section.drivingforce div.drivingforce_l,
	section.drivingforce div.drivingforce_r{
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
	}
	section.drivingforce div.drivingforce_l img,
	section.drivingforce div.drivingforce_r img{
		display: block;
		max-width: none;
		width: 100%;
	}
	section.drivingforce div.drivingforce_l{
		-ms-flex-order: 2;
		order: 2;
	}
	section.drivingforce div.drivingforce_r{
		-ms-flex-order: 1;
		order: 1;
	}
	section.drivingforce div.drivingforce_r > div a {
		height: 48vw;
	}
	section.drivingforce div.drivingforce_r div.title{
		background: url(../media/images/top_2018/drivingforce_title_tb.svg) no-repeat left bottom;
		background-size: 100% auto;
		height: 48vw;
	}
	section.drivingforce div.drivingforce_r div.title img{
		display: none;
	}
	section.drivingforce div.drivingforce_r div.drivingforce_text{
		right: 20px;
		top: 25px;
		left: 30px;
	}
	section.drivingforce div.drivingforce_r div.drivingforce_text p{
		font-size: 4vw;
	}
	section.drivingforce div.drivingforce_r div.drivingforce_text.df23 p{
		font-size: 3vw;
	}
	section.drivingforce div.drivingforce_r div.drivingforce_text span{
		font-size: 3vw;
	}
	section.drivingforce div.drivingforce_r div.drivingforce_text.df23 span{
		font-size: 2.5vw;
	}
	section.drivingforce div.drivingforce_l.photo1 img{
		display: block;
	}
	section.drivingforce div.drivingforce_r div.photo2 {
		min-height: 150px;
	}
	section.drivingforce div.drivingforce_r div.photo2 img{
		display: block;
	}
	section.graduate .top_title{
		margin-bottom: 60px;
	}
	section.graduate{
		padding: 60px 0 0;
	}
	section.graduate ul.graduate_list > li{
		width: 100%;
	}
	section.graduate ul.graduate_list > li:not(:first-child){
		margin-top: auto;
	}
	section.graduate ul.graduate_list ul.major{
		display: block;
		margin: auto;
	}
	section.graduate ul.graduate_list ul.major > li{
		border-bottom: 1px solid #33335c;
		width: 100%;
	}
	section.graduate ul.graduate_list ul.major > li:nth-child(n+3){
		margin-top: auto;
	}
	section.graduate ul.graduate_list ul.major a{
		box-sizing: border-box;
		padding: 15px 5%;
	}
	section.graduate ul.graduate_list ul.major a::before{
		height: 16px;
		width: 9px;
	}
	section.undergraduate .top_title{
		margin-bottom: 60px;
	}
	section.undergraduate{
		padding: 60px 0 50px;
	}
	section.undergraduate ul.undergraduate_list{
		padding: 0 4vw;
	}
	section.undergraduate ul.undergraduate_list li{
		width: 44vw;
	}
	section.undergraduate ul.undergraduate_list li:nth-child(2n){
		margin-top: 130px;
	}
	section.undergraduate ul.undergraduate_list li:nth-child(2n+3){
		margin-top: -110px;
	}
	section.undergraduate ul.undergraduate_list li:nth-child(2n+4){
		margin-top: 20px;
	}
	section.undergraduate ul.undergraduate_list img{
		max-width: none;
		width: 100%;
	}
	section.anniversary{
		background-image: url(../media/images/top_2018/bg_100anniversary_sp.jpg);
		height: auto;
		padding: 40px 0;
	}
	section.anniversary div.logo{
		margin: auto;
		max-width: 53%;
	}
	section.anniversary div.logo img{
		max-width: 100%;
		vertical-align: bottom;
	}
	section.anniversary p.anniversary_lead{
		font-size: 15px;
		letter-spacing: 3px;
		line-height: 2;
		margin: 30px auto;
	}
	section.anniversary p.anniversary_lead span.br{
		display: inline-block;
	}
	section.pickup{
		padding: 0 0 40px;
	}
	section.pickup ul.pickup li{
		height: 56.25vw;
		width: 100%;
	}
	section.pickup ul.pickup li.pickup_text{
		padding: 8vw;
	}
	section.pickup ul.pickup li.pickup_text p.pickup_title{
		font-size: 8vw;
	}
	section.pickup ul.pickup li.pickup_text p.pickup_detail{
		font-size: 3.6vw;
		margin-top: 3vw;
	}
	section.pickup ul.pickup .pickup_img::after{
		height: 24vw;
		width: 24vw;
	}
	section.pickup div.pickup_btn a{
		margin-top: auto;
	}
	section.pickup ul.pickup li.pickup_text div.pickup_btn a{
		margin-top: 10px;
	}
}

/***************************************************
* 
* アニメーション
****************************************************/
.animated {
	visibility: hidden;
}

.fadeInRight,
.fadeInUp {
	visibility: visible;
}

/***************************************************
* dot-flashing
* ローディングアニメーション
****************************************************/

@keyframes flashing {
	0% {
		background-color: #3c6595;
	}
	25% {
		background-color: #7794b5;
	}
	50% {
		background-color: #8aa3bf;
	}
	75% {
		background-color: #ffffff;
	}
	100% {
		background-color: #6384aa;
	}
}
@-webkit-keyframes flashing {
	0% {
		background-color: #3c6595;
	}
	25% {
		background-color: #7794b5;
	}
	50% {
		background-color: #8aa3bf;
	}
	75% {
		background-color: #ffffff;
	}
	99.9%,to {
		background-color: #6384aa;
	}
}

.dot-flashing {
	position: absolute;
	width: 100%;
	height: 100vh;
	top: 0px;
	left: 0px;
	background: #3c6595;
	z-index: 800;
}

.dot-flashing .dotWrapper {
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	width: 118px;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

.dot-flashing .dotWrapper .dot {
	display: inline-block;
	vertical-align: middle;
	background: #5075a0;
	width: 22px;
	height: 4px;
}

.dot-flashing .dotWrapper .dot:nth-child(1) {
	-webkit-animation: flashing 1s infinite alternate;
	animation: flashing 1s infinite alternate;
	-webkit-animation-delay: 0s;
	animation-delay: 0s;
}
.dot-flashing .dotWrapper .dot:nth-child(2) {
	-webkit-animation: flashing 1s infinite alternate;
	animation: flashing 1s infinite alternate;
	-webkit-animation-delay: .2s;
	animation-delay: .2s;
}
.dot-flashing .dotWrapper .dot:nth-child(3) {
	-webkit-animation: flashing 1s infinite alternate;
	animation: flashing 1s infinite alternate;
	-webkit-animation-delay: .4s;
	animation-delay: .4s;
}
.dot-flashing .dotWrapper .dot:nth-child(4) {
	-webkit-animation: flashing 1s infinite alternate;
	animation: flashing 1s infinite alternate;
	-webkit-animation-delay: .6s;
	animation-delay: .6s;
}
.dot-flashing .dotWrapper .dot:nth-child(5) {
	-webkit-animation: flashing 1s infinite alternate;
	animation: flashing 1s infinite alternate;
	-webkit-animation-delay: .8s;
	animation-delay: .8s;
}

/***************************************************
*  notice
*  重要なお知らせ
***************************************************/
section.notice {
	background-color: #f8f8ee;
	display: none;
	padding: 60px 0 0;
}

section.notice .inner {
	margin: auto;
	max-width: 1140px;
}

section.notice div.notice_title {
	background-color: #112255;
	color: #fff;
	font-size: 16px;
	/*padding: 21px 30px;	20200806_haraya*/
	padding: 10px 30px;
}

section.notice div.notice_title p {
	margin: auto;
	font-weight: bold;
}

section.notice div.notice_title p::before {
	font-family: FontAwesome;
	font-weight: normal;
	content: "";
	padding-left: 0;
	padding-right: 8px;
	display: inline-block;
	font-size: 20px;
	vertical-align: middle;
}

section.notice div.notice_list_wrap {
	background-color: #fff;
}

section.notice div.notice_list_wrap ul {
	list-style: none;
	margin: auto;
	padding: 0;
}

section.notice div.notice_list_wrap ul li {
	/*padding: 27px 30px 26px; 20200806_haraya*/
	padding: 10px 30px 10px;
}

section.notice div.notice_list_wrap ul li:nth-child(n+2) {
	border-top: 1px solid #eee;
}

section.notice div.notice_list_wrap p.title {
	box-sizing: border-box;
	color: #112255;
	font-size: 18px;
	line-height: 1.335;
	font-weight: bold;
	margin: auto;
}

section.notice div.notice_list_wrap p.title::before {
	content: "▼";
	display: inline-block;
}

section.notice div.notice_list_wrap .detail {
	line-height: 1.72;
	margin: 5px auto 0;
}

@media screen and (max-width: 1199px){
	section.notice{
		padding: 0;
	}
	section.notice .inner{
		max-width: 100%;
	}
	section.notice div.notice_list_wrap ul li{
		/*padding: 20px 25px;	20200806_haraya*/
		padding: 10px 25px;
	}
}

@media screen and (max-width: 767px){
	section.notice div.notice_list_wrap ul li{
		/*padding: 20px 15px;	20200806_haraya*/
		padding: 10px 15px;
	}
	section.notice div.notice_list_wrap p.title{
		margin: 0 auto 0 .5em;
		padding-left: .5em;
		text-indent: -.5em;
	}
}

/***************************************************
*  emergency
*  緊急のお知らせ・20181220 新バージョン用
***************************************************/
section.emergency.ver2 {
	background-color: #f8f8ee;
	padding: 60px 0 0;
}

section.emergency.ver2 div.emergency_title {
	padding: 21px 30px;
}

section.emergency.ver2 div.emergency_list_wrap ul li {
	padding: 27px 30px 26px;
}

section.emergency.ver2 div.emergency_list_wrap p.title {
	line-height: 1.335;
}

section.emergency.ver2 div.emergency_list_wrap .detail {
	line-height: 1.72;
	margin: 5px auto 0;
}

section.emergency.ver2.show + section.notice.ver2.show {
	padding-top: 0;
}

@media screen and (max-width: 1199px){
	section.emergency.ver2{
		padding: 0;
	}
	section.emergency.ver2 div.notice_list_wrap ul li{
		padding: 20px 25px;
	}
}

@media screen and (max-width: 767px){
	section.emergency.ver2 div.emergency_list_wrap ul li{
		padding: 20px 15px;
	}
}

/***************************************************
*  news
*  ニュース・20181220 新バージョン用
***************************************************/
section.news.ver2 {
	padding: 60px 0 120px;
}

section.news.ver2 .top_title {
	margin: 30px auto 90px;
}

section.news.ver2 div.news_wrap {
	display: block;
	width: 100%;
}

section.news.ver2 div.news_wrap ul.news_list {
	width: 100%;
}

section.news.ver2 div.news_wrap ul.news_list > li {
	-ms-flex-preferred-size: (50% - 40px);
	flex-basis: calc(50% - 40px);
}

section.news.ver2 div.news_wrap ul.news_list > li a {
	padding-right: 0;
	-ms-flex-pack: justify;
	justify-content: space-between;
}

section.news.ver2 div.news_wrap ul.news_list div.topics_text {
	-ms-flex-preferred-size: calc(100% - 135px);
	flex-basis: calc(100% - 135px);
}

section.news.ver2 div.news_wrap ul.news_list div.topics_text p {
	line-height: 1.6;
}

section.news.ver2 div.news_wrap ul.news_list div.topics_img {
	margin-right: 0;
}

section.news.ver2 div.news_menu {
	border-top: solid 1px #dfdfd6;
	padding-top: 30px;
	margin-top: 30px;
}

section.news.ver2 div.news_menu ul {
	margin: 0 auto;
	padding: 0;
	max-width: 1140px;
	list-style: none;
	font-size: 0;
}

section.news.ver2 div.news_menu ul li {
	display: inline-block;
	vertical-align: middle;
	font-size: 14px;
	margin-right: 25px;
}

section.news.ver2 div.news_menu ul li a {
	display: block;
}

section.news.ver2 div.news_menu ul li a::before {
	font-family: FontAwesome;
	content: "";
	padding-left: 0;
	padding-right: 4px;
	display: inline-block;
}

@media screen and (max-width: 1199px){
	
	section.news.ver2 div.news_wrap {
		padding: 0 15px;
	}
	
	section.news.ver2 div.news_menu ul {
		padding: 0 15px;
	}
}

@media screen and (max-width: 991px) {
	
	section.news.ver2 {
		padding-bottom: 0;
	}
	
	section.news.ver2 div.news_menu {
		border-top: none;
		padding-top: 0;
	}
	
	section.news.ver2 div.news_menu ul {
		padding: 0;
		background: #ebebe2;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		margin: auto;
	}
	
	section.news.ver2 div.news_menu ul li {
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
		margin: auto;
	}
	
	section.news.ver2 div.news_menu ul li a {
		border-bottom: 1px solid #fff;
		padding: 15px 15px 15px 24px;
	}
	
	section.news.ver2 div.news_menu ul li:nth-child(2n) a {
		border-left: 1px solid #fff;
	}
}

@media screen and (max-width: 767px) {
	
	section.news.ver2 .top_title {
		margin-top: 0;
		margin-bottom: 60px;
	}
	
	section.news.ver2 div.news_menu ul li a {
		padding: 15px;
	}
}

/***************************************************
*  news
*  ニュース・20190125 新バージョン用・ver3
***************************************************/
section.news.ver3 div.news_wrap .news_listBlock {
	display: -ms-flexbox;
	display: flex;
	-ms-flex-preferred-size: auto;
	flex-basis: auto;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-flex-pack: justify;
	justify-content: space-between;
	list-style: none;
	margin: auto;
	padding: 0;
	width: calc(100% - 160px);
}

section.news.ver3 div.news_wrap .news_listBlock ul.news_list {
	display: block;
	width: 50%;
}

section.news.ver3 div.news_wrap .news_listBlock ul.news_list > li {
	
}

section.news.ver3 div.news_wrap .news_listBlock ul.news_list > li:nth-child(n+2) {
	margin-top: 30px;
}

@media screen and (max-width: 1199px) {
	
	section.news.ver3 div.news_wrap .news_listBlock {
		-ms-flex-preferred-size: 720px;
		flex-basis: 720px;
		margin-right: 0;
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list {
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
		margin-top: 0;
	}
}

@media screen and (max-width: 991px) {
	
	section.news.ver3 div.news_wrap .news_listBlock {
		margin-right: auto;
		width: 720px;
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list {
		-ms-flex-preferred-size: calc(50% - 12px);
		flex-basis: calc(50% - 12px);
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list > li {
		-ms-flex-preferred-size: 50%;
		flex-basis: 50%;
	}
}

@media screen and (max-width: 767px) {
	
	section.news.ver3 div.news_wrap .news_listBlock {
		display: block;
		padding: 0 5%;
		width: 100%;
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list {
		width: 100%;
		padding: 0;
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list.list2  {
		margin-top: 18px;
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list > li {
		-ms-flex-preferred-size: 100%;
		flex-basis: 100%;
		width: 100%;
	}
	
	section.news.ver3 div.news_wrap .news_listBlock ul.news_list > li:nth-child(n+2) {
		margin-top: 18px;
	}
}


/***************************************************
*  undergraduate
*  undergraduate・20181220 新バージョン用
***************************************************/
section.undergraduate.ver2 {
	height: 100vh;
	background-position: center top;
	background-repeat: no-repeat;
	background-image: url(../media/images/top_2018_ver2/bg_undergraduate.png?v1);
}

@media screen and (max-width: 767px) {
	
	section.undergraduate.ver2 {
		height: 100%;
		background-image: none;
	}
}

/***************************************************
* visual
* ビジュアル部分・20190125 新バージョン用
****************************************************/
section.visual.ver2 {
	height: 660px;
}

section.visual.ver2 .dot-flashing {
	height: 660px;
}

@media screen and (max-width: 767px) {
	
	section.visual.ver2 {
		height: 100vh;
	}
	
	section.visual.ver2 .dot-flashing {
		height: 100vh;
	}
}

/***********************************************************
* visitor
* 訪問者別index部分（黒地に大きめのリスト）・20190125 新バージョン用
************************************************************/
section.visitor {
	background-color: #000;
	padding: 100px 0 70px;
}

section.visitor .inner {
	margin: 0 auto;
	max-width: 1140px;
}

section.visitor ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-ms-flex-flow : row wrap;
	-webkit-flex-flow : row wrap;
	flex-flow: row wrap;
}

section.visitor ul li {
	width: 356px;
	margin-bottom: 20px;
}

section.visitor ul li a {
	display: block;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-size: 14px;
	line-height: 1.2;
	border: solid 2px #999999;
	background-color: #000;
	padding: 18px;
}

section.visitor ul li a:hover {
	background-color: #333;
}

@media screen and (max-width: 1139px) {
	
	section.visitor ul li {
		width: 31%;
	}
}

@media screen and (max-width: 1199px) {
	section.visitor ul {
		padding: 0 15px;
	}
}

@media screen and (max-width: 767px) {
	
	section.visitor {
		padding: 40px 0 30px;
	}
	
	section.visitor ul {
		padding: 0 5%;
	}
	
	section.visitor ul li {
		width: 48%;
		margin-bottom: 10px;
	}
	
	section.visitor ul li a {
		font-size: 13px;
		line-height: 1.3;
		padding: 15px 5px;
	}
}

/***********************************************************
* visitorB
* 訪問者別index部分（青地に小さめのリスト）・20190129 新バージョン用
************************************************************/
section.visitorB {
	background-color: #03256c;
	padding: 40px 0 30px;
}

section.visitorB .inner {
	margin: 0 auto;
	max-width: 900px;
}

section.visitorB ul {
	margin: 0;
	padding: 0;
	list-style: none;
	display: -webkit-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	justify-content: space-between;
}

section.visitorB ul li {
	width: calc(100% / 6);
	margin-bottom: 10px;
	text-align: center;
}

section.visitorB ul li a {
	display: block;
	width: 100%;
	text-decoration: none;
	text-align: center;
	color: #fff;
	font-size: 13px;
	line-height: 1.1;
	border-left: solid 1px #6075a2;
	padding: 8px;
}

section.visitorB ul li:last-child a {
	border-right: solid 1px #6075a2;
}

section.visitorB ul li a:hover {
	color: #07b;
}

@media screen and (max-width: 1199px) {
	section.visitorB ul {
		padding: 0 15px;
	}
}

@media screen and (max-width: 991px) {
	section.visitorB ul {
		-ms-flex-flow : row wrap;
		-webkit-flex-flow : row wrap;
		flex-flow: row wrap;
	}
	
	section.visitorB ul li {
		width: 33%;
	}
	
	section.visitorB ul li:nth-child(3n) a {
		border-right: solid 1px #6075a2;
	}
}

@media screen and (max-width: 767px) {
	
	section.visitorB {
		display: none;
	}
	
	section.visitorB ul {
		padding: 0 5%;
	}
	
	section.visitorB ul li {
		width: 50%;
	}
	
	section.visitorB ul li:nth-child(3n) a {
		border-right: none;
	}
	
	section.visitorB ul li:nth-child(2n) a {
		border-right: solid 1px #6075a2;
	}
}

/***************************************************
* top_banners
* バナー部分・20190125 新バージョン用 
****************************************************/
section.top_banners.ver2 {
	/*background-color: #003; 2020.9.25 */
	background-color: #f8f8ee;
}

/***************************************************
* parallax
* パララックス・修正
****************************************************/
.sticky-section.stuck,
.sticky-section.stuck-bottom {
	z-index: 0;
}

/***************************************************
* xs_menu 
* トップのコンテンツ内のメニュー
****************************************************/
#xs_menu {
	position: relative;
	background: black;
	z-index: 10;
}

#xs_menu div.column {
	padding: 0;
}

#xs_menu div.main {
	background: transparent;
}

#xs_menu div.main ul {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid #ccc;
}

#xs_menu div.main ul li {
	display: inline-block;
	width: 50%;
	height: 44px;
	border-top: 1px solid #ccc;
	float: left;
}

#xs_menu div.main ul li:nth-child(even) {
	border-left: 1px solid #ccc;
	float: right;
}

#xs_menu div.main ul li a {
	display: block;
	line-height: 44px;
	font-size: 13px;
	color: white;
	padding-left: 15px;
	font-weight: bold;
}

#xs_menu div.sub {
	background: #EDEFEC;
	padding: 10px 0;
}

#xs_menu div.sub ul {
	margin: 0;
	padding: 0;
}

#xs_menu div.sub ul li {
	padding: 0;
	width: 50%;
	list-style: none;
	float: left;
}

#xs_menu div.sub ul li:nth-child(even) {
	float: right;
}

#xs_menu div.sub ul li a {
	line-height: 25px;
	font-size: 13px;
	padding-left: 10px;
	color: black;
}

#xs_menu div.sub ul li:nth-child(even) a {
	padding-left: 5px;
}

#xs_menu {
	display: none;
}


#xs_menu .lang {
	padding: 0 10px 15px;
	text-align: center;
	background-color: #EDEFEC;
}

.en #xs_menu .lang {
	padding-top: 15px;
	background-color: black;
}

#xs_menu .lang a {
	display: block;
	color: white;
	padding: 5px;
	background-color: #999999;
}

#xs_menu .lang a:before {
	font-family: "FontAwesome";
	content: "\f0ac";
	padding-right: 5px;
}

@media (max-width: 767px) {
	#xs_menu {
		display: block;
	}
}

/***************************************************
*  undergraduate・graduate
*  
***************************************************/
@media (max-width: 767px) {
	section.graduate,
	section.undergraduate {
		display: none;
	}
}

/***********************************************************
* pickup
* pick-up movie・20190201 新バージョン用 
************************************************************/
@media (max-width: 767px) {
	section.pickup.ver2 ul.pickup li.pickup_text {
		background: linear-gradient(to right, #1a1b1b 0%, #1a1b1b 50%, #000000 50%);
		color: #fff;
	}
	
	section.pickup.ver2 li.pickup_text div.pickup_btn {
		display: none;
	}
	
	section.pickup.ver2 div.pickup_btn a {
		color: #fff;
		border-color: #fff;
	}
	section.pickup.ver2 div.pickup_btn a::before {
		background: url(../media/images/top_2018/info_chevron_wht.svg) no-repeat center center;
	}
}

/***************************************************
*  anniversary
*  東北大学工学部百周年・20190221 追記
***************************************************/
section.anniversary .logo a {
	display: inline-block;
}

/***************************************************
*  body.en
*  英語版・20190301 追記
***************************************************/
body.en section.anniversary p.anniversary_lead {
	letter-spacing: 0;
	margin: 35px auto;
}

body.en section.visual > .slide .textbox > .department {
	letter-spacing: 0;
}

/***************************************************
*  section.drivingforce 
*  Driving Force #19など タイトル長い場合・20190306 追記
***************************************************/
@media screen and (max-width: 1365px) and (min-width: 768px) {
	section.drivingforce.long div.drivingforce_r div.drivingforce_text {
		top: 25px;
	}
}
@media screen and (max-width: 767px) {
	section.drivingforce.long div.drivingforce_r div.drivingforce_text p {
		font-size: 3.5vw;
	}
}

/***************************************************
*  section.drivingforce 
*  Driving Force #19用・20190307 追記
***************************************************/
section.drivingforce.vol19 div.drivingforce_r div.photo2 {
	background-position: center top;
}
@media screen and (max-width: 767px) {
	section.drivingforce.vol19 div.drivingforce_l.photo1 {
		background-position: center top;
	}
}

/***************************************************
*  section.drivingforce 
*  Driving Force #19 英語版用・20190326 追記
***************************************************/
body.en section.drivingforce.vol19 div.drivingforce_r div.drivingforce_text {
	top: 25px;
}
@media screen and (max-width: 1100px) {
	body.en section.drivingforce.vol19 div.drivingforce_r div.drivingforce_text {
		right: 15px;
		left: 25px;
	}
}
@media screen and (max-width: 979px) {
	body.en section.drivingforce.vol19 div.drivingforce_r div.drivingforce_text p {
		font-size: 22px;
	}
}
@media screen and (max-width: 767px) {
	body.en section.drivingforce.vol19 div.drivingforce_r div.drivingforce_text {
		right: 20px;
		top: 25px;
		left: 30px;
	}
	body.en section.drivingforce.vol19 div.drivingforce_r div.drivingforce_text p {
		font-size: 3vw;
	}
}

/***************************************************
*  section.drivingforce 
*  Driving Force #20用・20190510 追記
***************************************************/
section.drivingforce.vol20  div.drivingforce_r div.photo2 {
	background-position: center top;
}
@media screen and (max-width: 349px) {
	body.en section.drivingforce.vol20 div.drivingforce_r div.drivingforce_text p {
		font-size: 3.9vw;
	}
}




/***************************************************
*  section.drivingforce
*  Driving Force #21 ~ 用・20200123 追記
***************************************************/
@media screen and (max-width: 560px) {
  section.drivingforce_2019 {
    flex-direction: row;
  }
}
@media screen and (max-width: 375px) {
  section.drivingforce_2019 {
    flex-direction: column;
  }
}
@media screen and (max-width: 560px) {
  section.drivingforce_2019 div.drivingforce_l {
    order: 1;
  }
}
@media screen and (max-width: 375px) {
  section.drivingforce_2019 div.drivingforce_l {
    order: 2;
  }
}
section.drivingforce_2019 div.drivingforce_r {
  background-color: #000;
}
section.drivingforce_2019 div.drivingforce_r div.drivingforce_text {
  position: static;
}
@media print, screen and (min-width: 1101px) {
  section.drivingforce_2019 div.drivingforce_r div.drivingforce_text br {
    display: none;
  }
}
@media print, screen and (max-width: 1100px) and (min-width: 960px) {
  section.drivingforce_2019 div.drivingforce_r div.drivingforce_text br {
    display: block;
  }
}
section.drivingforce_2019 div.drivingforce_r div.drivingforce_text .name {
  display: block;
  top: 10px;
  font-size: 14px;
}
@media print, screen and (max-width: 1100px) and (min-width: 961px) {
  section.drivingforce_2019 div.drivingforce_r div.drivingforce_text .name br {
    display: none;
  }
}
@media screen and (max-width: 375px) {
  section.drivingforce_2019 div.drivingforce_r div.drivingforce_text .name br {
    display: none;
  }
}
section.drivingforce_2019 div.drivingforce_r div.title {
  background: none;
}
@media screen and (max-width: 375px) {
  section.drivingforce_2019 div.drivingforce_r div.title {
    height: 100%;
  }
}
section.drivingforce_2019 div.drivingforce_r div.title a {
  padding: 54px 0 0 50px;
  color: #fff;
}
@media print, screen and (max-width: 1200px) {
  section.drivingforce_2019 div.drivingforce_r div.title a {
    padding: 34px 0 0 30px;
  }
}
@media screen and (max-width: 767px) {
  section.drivingforce_2019 div.drivingforce_r div.title a {
    padding: 31px 0 0 20px;
  }
}
@media screen and (max-width: 375px) {
  section.drivingforce_2019 div.drivingforce_r div.title a {
    padding: 33px 5px 20px 21px;
    height: auto;
  }
}
section.drivingforce_2019 div.drivingforce_r div.df__enter {
  margin-top: 34px;
}
@media print, screen and (max-width: 1200px) {
  section.drivingforce_2019 div.drivingforce_r div.df__enter {
    margin-top: 24px;
  }
}
@media screen and (max-width: 767px) {
  section.drivingforce_2019 div.drivingforce_r div.df__enter {
    margin-top: 0;
    background: none;
  }
}
@media screen and (max-width: 375px) {
  section.drivingforce_2019 div.drivingforce_r div.df__enter {
    margin-top: 13px;
  }
}
section.drivingforce_2019 div.drivingforce_r div.df__enter img {
  display: block;
  width: 410px;
}
@media print, screen and (max-width: 1200px) {
  section.drivingforce_2019 div.drivingforce_r div.df__enter img {
    width: 90%;
  }
}
@media screen and (max-width: 375px) {
  section.drivingforce_2019 div.drivingforce_r div.df__enter img {
    width: 70%;
  }
}
/*english*/
@media print, screen and (max-width: 1350px) {
  section.drivingforce_2019.drivingforce_2019_en div.drivingforce_r div.title a {
    padding: 34px 0 0 30px;
  }
  section.drivingforce_2019.drivingforce_2019_en div.drivingforce_r div.df__enter img {
    width: 410px;
  }
}

@media screen and (max-width: 768px) {
	section.drivingforce.drivingforce_2019_en div.drivingforce_r div.drivingforce_text p {
		font-size: 22px;
	}
}

@media screen and (max-width: 414px) {
	section.drivingforce_2019.drivingforce_2019_en div.drivingforce_r div.title a {
		padding: 15px;
	}
}

/* 20200925_haraya */

section.top_banners ul.banner a.rs{
	display: -ms-flexbox;
	display:flex;
	
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}

section.top_banners ul.banner a.rs div.rs_thumb {
	-ms-flex-preferred-size:calc((1140px - 72px) / 3 * 230 / 750);
	flex-basis:calc((1140px - 72px) / 3 * 230 / 750);
	
	height:calc((1140px - 72px) / 3 * 230 / 750);
	align-self:stretch;
	overflow:hidden;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center;
	
	-ms-flex-negative:0;
	flex-shrink:0;
}

section.top_banners ul.banner a.rs div.rs_text {
	-ms-flex-positive:1;
	flex-grow:1;
	
	align-self:stretch;
	overflow:hidden;
	background-repeat:no-repeat;
	background-size:cover;
	background-position:center;
	
	display: -ms-flexbox;
	display:flex;
	
	-ms-flex-direction: column;
	flex-direction:column;
	
	-ms-flex-pack: center;
	justify-content:center;
}

section.top_banners ul.banner a.rs div.rs_text > div.rs_pick {
	font-size:12px;
	font-weight:bold;
	color:#ffffff;
	padding:2px 5px;
	
	align-self:start;
}

section.top_banners ul.banner a.rs div.rs_text > div.rs_title {
	color:#ffffff;
	padding:0 5px;
}

section.top_banners ul.banner  li.img_banner div.bn_text{
	background:transparent !important;
}


section.top_banners ul.banner li.img_banner a:hover img {
	transform: initial !important;
	transition-duration: initial !important;
}




@media screen and (max-width: 1199px){
	section.top_banners ul.banner a.rs div.rs_thumb {
		-ms-flex-preferred-size:calc((1140px - 72px) / 3 * 230 / 750);
		flex-basis:calc((1140px - 72px) / 3 * 230 / 750);
		
		height:calc((1140px - 72px) / 3 * 230 / 750);
	}
}

@media screen and (max-width: 1140px){
	section.top_banners ul.banner a.rs div.rs_thumb {
		-ms-flex-preferred-size:calc((100vw - 84px) / 3 * 230 / 750);
		flex-basis:calc((100vw - 84px) / 3 * 230 / 750);
		
		height:calc((100vw - 84px) / 3 * 230 / 750);
	}
}

@media screen and (max-width: 991px){
	section.top_banners ul.banner {
		display: -ms-flexbox;
		display:flex;
	}

	section.top_banners ul.banner li {
		width:calc((100% - 30px) / 3);
		margin:0 auto;
	}
	
	section.top_banners ul.banner a.rs div.rs_thumb {
		-ms-flex-preferred-size:calc((100vw - 30px) / 3 * 230 / 750);
		flex-basis:calc((100vw - 30px) / 3 * 230 / 750);
		
		height:calc((100vw - 30px) / 3 * 230 / 750);
	}
	
	section.top_banners ul.banner a.rs div.rs_text > div.rs_title {
		font-size:12px;
	}

	section.top_banners ul.banner li:not(:first-child) {
    	margin:0 auto;
	}
}

@media screen and (max-width: 767px){
	
	section.top_banners ul.banner {
		-ms-flex-direction: column;
		flex-direction:column;
	}
	
	section.top_banners ul.banner li {
		width:100%;
	}
	
	section.top_banners ul.banner a.rs div.rs_thumb {
		-ms-flex-preferred-size:20vw;
		flex-basis:20vw;/*calc( 100vw * 230 / 750 );*/
		
		height:20vw;/*calc( 100vw * 230 / 750 );*/
	}
	
	section.top_banners ul.banner div.bn_photo img{
		width:100%;
		height:auto;
	}
	
	section.top_banners ul.banner a.rs div.rs_text > div.rs_pick {
		font-size:12px;
	}
	section.top_banners ul.banner a.rs div.rs_text > div.rs_title {
		font-size:14px;
	}
}