@charset "utf-8";
/* Copyright 2019 FSFIELD All Rights Reserved. */

@media screen and (min-width:768px){ /* 表示領域が768px以上の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	PC

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	研究ライフ

	------------------------------------------------------------ */

	/* グローバルナビアクティブ
	---------------------------------------------- */
	.nav_global ul li.g09 a::before{transform: scaleX(1);}
	
	/* ページタイトル
	---------------------------------------------- */
	.pagettl{
		background: url("../life/img/pc/bg_pagettl01.jpg") no-repeat center;
		background-size: cover;
	}
	
	/* 研究環境
	---------------------------------------------- */
	.life{margin-bottom: 75px;}
	
	.life_inner{
		width: 1200px;
		margin: 0 auto;
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content:space-between;
		justify-content:space-between;
	}
	
	.life_col{width: 360px;}

	.life_col img{
		width: 100%;
		margin-bottom: 20px;
	}
	
	.life_col h4{
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.4;
		margin-bottom: 7px;
		position: relative;
	}
	
	.life_col p{
		font-size: 1.5rem;
		line-height: 2;
	}

	/*--common.css上書き--*/
	.life .heading01{text-align: center;}
	
	.life .heading01::after{
		margin: auto;
		left: 0;
		right: 0;
	}

	/* 入学～卒業までの道程
	---------------------------------------------- */
	.schedule{
		background: #F6F6F7;
		padding: 80px 0 25px;
	}
	
	.txt_schedule{
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: .025em;
		margin-bottom: 55px;
		text-align: center;
	}
	
	.schedule_inner{
		width: 1200px;
		margin: 0 auto;
		display:-webkit-flex;
		display:flex;
		-webkit-flex-wrap:wrap;
		flex-wrap:wrap;
		-webkit-justify-content:space-between;
		justify-content:space-between;
	}

	.schedule_col{
		width: 360px;
		margin-bottom: 55px;
	}

	.schedule_col img{
		width: 100%;
		margin-bottom: 20px;
	}
	
	.schedule_col p{
		font-size: 1.5rem;
		line-height: 2;
	}

	.schedule_col .inner img{margin-bottom: 20px;}

	.schedule_col .inner h4{
		font-weight: bold;
		font-size: 1.8rem;
		margin-bottom: 7px;
		position: relative;
	}	
	
	.schedule_col .inner h4::after{
		content: "";
		background: url("../img/ico_arrow04.png") no-repeat 0 0;
		background-size: 20px;
		position: absolute;
		right: -35px;
		top: 0;
		bottom: 0;
		width: 20px;
		height: 12px;
		margin: auto;
		transform: rotate(-90deg);
	}
	
	.schedule_col:nth-of-type(3n) .inner h4::after{width: 0;}

	/*--common.css上書き--*/
	.schedule .heading01{text-align: center;}
	
	.schedule .heading01::after{
		margin: auto;
		left: 0;
		right: 0;
	}
	
	.schedule .heading01 span{
		display: block;
		font-size: 1.5rem;
	}

		/* 学生の受賞
	---------------------------------------------- */
	.sec-awards{
		padding: 80px 0 100px;
	}
	.sec-awards .heading01{text-align: center;}
	.sec-awards .heading01::after{
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	.lead-awards{
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: .025em;
		margin-bottom: 55px;
		text-align: center;
	}
	.list-awards-inner{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		max-width: 1200px;
		margin: 0 auto;
	}
	.awards-item{
		flex: none;
		width: calc(50% - 28px);
		border-bottom: 1px solid #E5E5E5;
		padding: 24px 0;
	}
	.awards-item:nth-of-type(-n+2){
		border-top: 1px solid #E5E5E5;
	}
	.awards-item-meta{
		display: flex;
		align-items: center;
		position: relative;
	}
	.awards-item-meta time{
		color: #262F53;
    font-size: 1.5rem;
    font-family: Oswald;
    letter-spacing: 0.05em;
    line-height: 1.2;
		padding-right: 70px;
	}
	.awards-item-meta .new{
		background: #E93D49;
    font-size: 1rem;
    line-height: 1.2;
    padding: 4px 7px 3px;
    display: inline-block;
    color: #FFF;
		position: absolute;
		top: 10px;
		left: 80px;
	}
	.awards-item-meta .univ{
		display: flex;
		align-items: center;
	}
	.awards-item-meta .univ-ico{width: 31.5px;}
	.awards-item-meta .univ-ico img{width: 100%;}
	.awards-item-meta .univ-name{
		font-size: 1.6rem;
		font-weight: 500;
		padding-left: 3px;
	}
	.awards-item-text{
		font-size: 1.5rem;
		letter-spacing: .025em;
	}
	.awards-item-text a{
		color: #00A9E6;
		text-decoration: underline;
	}
	.awards-item-text a:hover{
		color: #37caff;
	}

	/* NIMSジュニアの「リアルな生活」
	---------------------------------------------- */
	.sec-real-life{
		width: 1200px;
		margin: 0 auto;
		padding: 80px 0;
	}
	.sec-real-life .heading01{
		text-align: center;
	}
	.sec-real-life .heading01::after{
		left: 0;
		right: 0;
		margin: auto;
	}
	.sec-real-life__lead{
		font-size: 1.6rem;
		line-height: 2;
		letter-spacing: .06em;
		margin-bottom: 55px;
		text-align: center;
	}

	.real-life-list{
		width: 1200px;
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
		gap: 56px 48px;
	}
	.real-life__item{
		width: 368px;
	}
	.real-life__item a{
		color: #333;
	}
	.real-life__item a:hover{
		.thumbnail{
			img{
				transform: scale(1.1);
			}
		}
	}
	.real-life__item .thumbnail{
		width: 368px;
		height: 207px;
		box-shadow: 2px 4px 16px rgba(0, 0, 0, 0.05), 8px 16px 40px rgba(0, 0, 0, 0.05);
		overflow: hidden;
		img{
			width: 100%;
			height: 100%;
			object-fit: cover;
			transition: transform .3s;
		}
	}
	.real-life__item .name{
		font-size: 1.7rem;
		font-weight: 600;
		line-height: 1.5;
		padding-top: 15px;
		position: relative;
		span{
			font-size: 1.2rem;
			padding-left: .5em;
		}
	}
	.real-life__item .name::before{
		content: "";
		display: block;
		width: 20px;
		height: 20px;
		background-image: url(../img/ico_pdf01.gif);
		background-size: contain;
		position: absolute;
		top: 19px;
		right: 0;
	}
	
	/* 在校生インタビュー
	---------------------------------------------- */
	.interview{
		padding: 80px 0;
		background: #F6F6F7;
	}

	.txt_interview{
		line-height: 2;
		font-size: 1.6rem;
		letter-spacing: .025em;
		margin-bottom: 70px;
		text-align: center;
	}
	
	.interview_inner{
		border-bottom: 1px solid #E5E5E5;
		padding-bottom: 75px;
		width: 1200px;
		margin: 0 auto 70px;
		display:-webkit-flex;
		display:flex;
		-webkit-justify-content:space-between;
		justify-content:space-between;
	}
	
	.interview_inner:last-of-type{
		border-bottom: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}
	
	.interview_col{width: 570px;}
	
	.interview_col .position{
		font-weight: bold;
		font-size: 1.6rem;
		margin-bottom: 5px;
		position: relative;
		padding-left: 40px;
	}
	.interview_col .position:before{
		content: "";
		display: block;
		width: 36px;
		height: 42px;
		position: absolute;
		top: -7px;
		left: 0;
	}
	.interview_col .position.tsukuba:before{
		background:url(../img/ico_university01.jpg);
		background-size: contain;
	}
	.interview_col .position.hokkaido:before{
		background:url(../img/ico_university02.jpg);
		background-size: contain;
	}
	.interview_col .position.waseda:before{
		background:url(../img/ico_university03.jpg);
		background-size: contain;
	}
	.interview_col .position.kyushu:before{
		background:url(../img/ico_university04.jpg);
		background-size: contain;
	}
	
	.interview_col .explain{
		font-size: 1.4rem;
		line-height: 1.8;
		letter-spacing: .025em;
	}

	.interview_item .txt{
		font-size: 1.5rem;
		line-height: 2;
		letter-spacing: .025em;
		margin-bottom: 30px;
	}

	.interview_item .txt:last-of-type{margin-bottom: 0;}
	
	.photo{margin-bottom: 15px;}
	
	.photo img{width: 100%;}
	
	.photo figcaption{
		position: relative;
		margin-top: -30px;
	}
	
	.photo figcaption .wrap_name{
		display:-webkit-flex;
		display:flex;
	}
	
	.photo figcaption .wrap_name .name{
		background: #112655;
		color: #FFF;
		font-size: 2.6rem;
		text-align: left;
		padding: 15px 30px;
		display: inline-block;
		letter-spacing: .025em;
		line-height: 1.2;
	}
	
	.photo figcaption .wrap_name .from{
		background: #1B50A0;
		color: #71ABE6;
		text-align: center;
		padding: 18px 20px 0;
	}
	
	.photo figcaption .wrap_name .from span{color: #FFF;}

	.contact-faq{
		text-align: center;
		font-size: 1.7rem;
		font-weight: 500;
		line-height: 2;
		padding: 30px 0;
		letter-spacing: .025em;
	}
	.contact-faq-title{
		font-size: 3.2rem;
    font-weight: bold;
    color: #0C1333;
		padding-bottom: .5em;
	}
	.contact-faq p a{
		color: #333;
		text-decoration: underline;
	}
	.contact-faq p a:hover{
		color: #00A9E6;
	}
	.contact-faq p a .arrow{
		width: 15px;
    vertical-align: -1px;
	}
	.contact-faq p a .label{
		padding-left: 3px;
	}
	.contact-faq .email::before{
		content: "@";
	}

	
	/*--common.css上書き--*/
	.interview .heading01{text-align: center;}
	
	.interview .heading01::after{
		left: 0;
		right: 0;
		margin: auto;
	}
	
	/* 受賞情報
	---------------------------------------------- */
	.prize{
		background: #F6F6F7;
		padding: 80px 0 120px;
	}
	
	.prize_inner{
		width: 1200px;
		margin: 0 auto;
	}
	
	/*--記事--*/
	.article{
		padding: 20px 0;
		border-top: 1px solid #E5E5E5;
		display:-webkit-flex;
		display:flex;
	}

	.article:last-of-type{
		border-bottom: 1px solid #E5E5E5;
		/*margin-bottom: 60px;*/ /*「全て表示する」ボタンを表示したらコメントアウト解除*/
	}
	
	.article time{
		color: #262F53;
		font-size: 1.5rem;
		font-family: Oswald;
		letter-spacing: 0.05em;
		line-height: 1.2;
		margin-right: 40px;
		padding-top: 2px;
	}
	
	.article_inner{
		width: 1090px;
		font-size: 1.5rem;
		line-height: 1.8;
	}
	
	.article_contents{overflow: hidden;}
	
	.article_contents a{
		color: #262F53;
		text-decoration: underline !important;
	}
	
	.article_contents a:hover{
		opacity: 0.7;
		text-decoration: none !important;
	}
	
	.article_contents img{
		max-width: 1090px;
		height: auto;
	}
	
	/*--Newアイコン--*/	
	.newicon{
		float: left;
		background: #E93D49;
		font-size: 1rem;
		line-height: 1.2;
		text-align: center;
		padding: 4px 7px 3px;
		display: inline-block;
		color: #FFF;
		margin: 5px 5px 0 0;
	}

	/*--common.css上書き--*/
	.prize .heading01{
		text-align: center;
		margin-bottom: 40px;
	}
	
	.prize .heading01::after{
		left: 0;
		right: 0;
		margin: auto;
	}
	
	/*--全て表示するボタン--*/
	.btn_more{
		overflow: hidden;
		border-radius: 5px;
		position: relative;
		z-index: 2;
		width: 360px;
		margin: 0 auto;
	}
	
	.btn_more a{
		background: #112655;
		text-align: center;
		color: #FFF;
		display: block;
		border-radius: 5px;
		padding: 18px 31px;
		position: relative;
		overflow: hidden;
		width: 360px;
		margin: 0 auto;
		font-size: 1.5rem;
	}
	
	.btn_more a::after{
		content: "";
		display: block;
		width: 14px;
		height: 14px;
		background: url("../img/ico_plus01.png") no-repeat 0 0;
		background-size: 14px;
		position: absolute;
		top: 0;
		left: 20px;
		bottom: 0;
		margin: auto;
	}
	
	.btn_more a::before{
		content: "";
		width: 100%;
		height: 100%;
		background: #1B50A0;
		position: absolute;
		top: 0;
		left: 0;
		-webkit-transform: translate3d(-100%,0,0);
		-ms-transform: translate3d(-100%,0,0);
		-moz-transform: translate3d(-100%,0,0);
		transform: translate3d(-100%,0,0);
		transition: all .5s;
	}
	
	.btn_more a:hover::before{
		-webkit-transform: translate3d(0,0,0);
		-ms-transform: translate3d(0,0,0);
		-moz-transform: translate3d(0,0,0);
		transform: translate3d(0,0,0);
	}
	
	.btn_more a span{position: relative;}

	
}/*--@media--*/


@media screen and (max-width:767px){ /* 表示領域が767px以下の場合に適用するスタイル */
	/*_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/

	スマートフォン（iPhone,Android)

	_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_/_*/

	/* ------------------------------------------------------------

	研究ライフ

	------------------------------------------------------------ */
	
	/* ページタイトル
	---------------------------------------------- */
	.pagettl{background: url("../life/img/sp/bg_pagettl01.jpg") no-repeat center;}
	
	/* 研究環境
	---------------------------------------------- */
	.life{padding: 0 25px 60px;}
	
	.life_col{margin-bottom: 45px;}
	
	.life_col:last-of-type{margin-bottom: 0;}
	
	.life_col img{
		width: 100%;
		margin-bottom: 15px;
	}
	
	.life_col h4{
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.4;
		letter-spacing: .025em;
		margin-bottom: 8px;
		color: #0C1333;
	}
	
	/* 入学～卒業までの道程
	---------------------------------------------- */
	.schedule{
		background: #F6F6F7;
		padding: 60px 25px;
	}

	.schedule .heading01 span{
    font-size: 1.4rem;
    display: block;
    text-align: center;
	}
	.txt_schedule{
		font-size: 1.5rem;
		line-height: 1.8;
		margin-bottom: 30px;
	}
		
	.schedule_col{
		border-top: 1px solid #E1E1E4;
		padding: 20px 0 50px;
		position: relative;
		margin-bottom: 0;
	}
	
	.schedule_col::after{
		content: "";
		display: block;
		width: 20px;
		height: 12px;
		background: url("../img/ico_arrow04.png") no-repeat 0 0;
		background-size: 20px;
		position: absolute;
		bottom: 20px;
		left: 0;
		right: 0;
		margin: auto;
	}
	
	.schedule_col:last-of-type{padding-bottom: 0;}
	
	.schedule_col:last-of-type::after{width: 0;}

	.schedule_col .inner{
		display:-webkit-flex;
		display:flex;
		-webkit-align-items:center;
		align-items:center;
		margin-bottom: 10px;
	}
	
	.schedule_col .inner img{
		width: 33.3%;
		margin-bottom: 0;
	}
	
	.schedule_col .inner h4{
		margin: 0 0 0 20px;
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.4;
	}

	.schedule_col p{
		line-height: 1.8;
		font-size: 1.5rem;
	}

	/*--common.css上書き--*/
	.schedule01 .heading01 span{
		font-size: 1.3rem;
		display: block;
	}
	
	/* 学生の受賞
	---------------------------------------------- */
	.sec-awards{
		padding: 60px 25px;
	}
	.sec-awards .heading01{text-align: center;}
	.sec-awards .heading01::after{
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	.lead-awards{
    font-size: 1.5rem;
    line-height: 1.8;
    margin-bottom: 30px;
	}
	.awards-item{
		border-bottom: 1px solid #E5E5E5;
		padding: 12px 0;
	}
	.awards-item:first-child{
		border-top: 1px solid #E5E5E5;
	}
	.awards-item-meta{
		display: flex;
		align-items: center;
		position: relative;
	}
	.awards-item-meta time{
		color: #262F53;
    font-size: 1.4rem;
    font-family: Oswald;
    letter-spacing: 0.05em;
    line-height: 1.2;
		padding-right: 40px;
	}
	.awards-item-meta .new{
		background: #E93D49;
    font-size: 1rem;
    line-height: 1.2;
    padding: 2px 3px;
    display: inline-block;
    color: #FFF;
		position: absolute;
		top: 8px;
		left: 72px;
	}
	.awards-item-meta .univ{
		display: flex;
		align-items: center;
	}
	.awards-item-meta .univ-ico{width: 25px;}
	.awards-item-meta .univ-ico img{width: 100%;}
	.awards-item-meta .univ-name{
		font-size: 1.4rem;
		font-weight: 500;
		padding-left: 3px;
	}
	.awards-item-text{
		font-size: 1.4rem;
		line-height: 1.4;
	}
	.awards-item-text a{
		color: #00A9E6;
		text-decoration: underline;
	}

	/* NIMSジュニアの「リアルな生活」
	---------------------------------------------- */
	.sec-real-life{
		padding: 60px 25px;
	}
	.sec-real-life__lead{
		font-size: 1.5rem;
		line-height: 1.8;
		margin-bottom: 30px;
		text-align: center;
	}
	.real-life-list{
		display: flex;
		flex-direction: column;
		gap: calc((100vw - 50px) / 325 * 40);
	}
	.real-life__item{
		width: 100%;
	}
	.real-life__item a{
		color: #333;
	}
	.real-life__item .thumbnail{
		box-shadow: 2px 4px 16px rgba(0, 0, 0, 0.05), 8px 16px 40px rgba(0, 0, 0, 0.05);
		overflow: hidden;
		width: calc(100vw - 50px);
		height: calc((100vw - 50px) / 325 * 182.81);
		img{
			width: 100%;
			height: 100%;
			object-fit: cover;
		}
	}
	.real-life__item .name{
		font-size:  calc((100vw - 50px) / 325 * 17);
		font-weight: 600;
		line-height: 1.5;
		padding-top: calc((100vw - 50px) / 325 * 10);
		position: relative;
		span{
			font-size:  calc((100vw - 50px) / 325 * 12);
			padding-left: .5em;
		}
	}
	.real-life__item .name::before{
		content: "";
		display: block;
		width: calc((100vw - 50px) / 325 * 20);
		height: calc((100vw - 50px) / 325 * 20);
		background-image: url(../img/ico_pdf01.gif);
		background-size: contain;
		position: absolute;
		top: calc((100vw - 50px) / 325 * 14);
		right: 0;
	}

	/* 在校生インタビュー
	---------------------------------------------- */
	.interview{
		padding: 60px 25px;
    background-color: #F6F6F7;
	}

	.txt_interview{
		font-size: 1.5rem;
		line-height: 1.8;
		margin-bottom: 30px;
	}
	
	.interview_inner{
		border-bottom: 1px solid #E1E1E4;
		padding-bottom: 30px;
		margin-bottom: 40px;
	}
	
	.interview_inner:last-of-type{
		border-bottom: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.interview_col .position{
		font-weight: bold;
		font-size: 1.5rem;
		margin-bottom: 7px;
	}

	.interview_col .explain{
		font-size: 1.3rem;
		margin-bottom: 15px;
	}

	.interview_item .txt{
		font-size: 1.5rem;
		margin-bottom: 35px;
		line-height: 1.8;
	}
	
	.interview_item .txt:last-of-type{margin-bottom: 0;}
	
	.photo{
		letter-spacing: .025em;
		margin-bottom: 15px;
	}
	
	.photo img{width: 100%;}
	
	.photo figcaption{
		position: relative;
		margin-top: -22px;
	}
	
	.photo figcaption .wrap_name{
		display:-webkit-flex;
		display:flex;
	}
	
	.photo figcaption .wrap_name .name{
		background: #112655;
		color: #FFF;
		font-size: 2.2rem;
		text-align: left;
		padding: 9px 15px;
		display: inline-block;
		line-height: 1.2;
	}
	
	.photo figcaption .wrap_name .from{
		background: #1B50A0;
		color: #71ABE6;
		text-align: center;
		padding: 11px 10px 0;
	}
	
	.photo figcaption .wrap_name .from span{color: #FFF;}
	
	/* 受賞情報
	---------------------------------------------- */
	.prize{
		background: #F6F6F7;
		padding: 60px 25px;
	}
	
	/*--記事--*/
	.article{
		border-top: 1px solid #D8D8D8;
		padding: 15px 0;
	}
	
	.article:last-of-type{
		border-bottom: 1px solid #D8D8D8;
		/*margin-bottom: 30px;*/ /*「全て表示する」ボタンを表示したらコメントアウト解除*/
	}

	.article time{
		font-size: 1.5rem;
		font-family: Oswald !important;
		color: #262F53;
		line-height: 1.2;
		letter-spacing: 0.05em;
		margin-bottom: 5px;
	}

	.article_inner{overflow: hidden;}

	.article_contents{font-size: 1.5rem;}
	
	.article_contents a{
		color: #262F53;
		text-decoration: underline !important;
	}
	
	.article_contents img{
		max-width: 100%;
		height: auto;
	}
	
	/*--Newアイコン--*/
	.newicon{
		float: left;
		margin-right: 5px;
	}
	
	.newicon span{
		display: inline-block;
		font-size: 1rem;
		color: #FFF;
		line-height: 1.2;
		background: #E93D49;
		padding: 4px;
	}
	
	/*--全て表示するボタン--*/
	.btn_more a{
		background: #112655 url("../img/ico_plus01.png") no-repeat 20px center;
		background-size: 14px;
		text-align: center;
		color: #FFF;
		display: block;
		border-radius: 5px;
		padding: 14px 31px;
	}
	
	/* Questions?
	---------------------------------------------- */
	.contact-faq{
		text-align: center;
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 2;
	}
	.contact-faq-title{
		font-size: 2.2rem;
    font-weight: bold;
    color: #0C1333;
		padding-bottom: .5em;
	}
	.contact-faq p a{
		color: #333;
		text-decoration: underline;
	}
	.contact-faq p a:hover{
		color: #00A9E6;
	}
	.contact-faq p a .arrow{
		width: 15px;
    vertical-align: -2px;
	}
	.contact-faq p a .label{
		padding-left: 2px;
	}
	.contact-faq .email::before{
		content: "@";
	}

}/*--@media--*/

