@charset "utf-8";

.sp {
	display: none !important;
}


#content-image {
	margin-bottom: 30px;
}
#content-image .subtitle {
}
#content-image .subtitle span {
	display: inline-block;
	padding: 12px 12px;
	font-size: 23px;
	font-weight: 500;
	background: #fff;
}
#content-image .article span.note {
	position: relative;
	top: -1px;
	padding-top: 8px;
	padding-bottom: 4px;
	font-size: 14px;
	color: #4B4B4B;
}



.entry-list {
	width: 900px;
	margin: 0 auto;
}
.entry-list > ul {
	display: flex;
	justify-content: space-between;
}
.entry-list > ul > li {
	width: calc(50% - 12px);
}
.entry-list > ul > li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 90px;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	border-radius: 45px;
	box-shadow: 0 0 8px rgba(0,0,0,0.2);
	
	transition: all 300ms ease-out;
}
.entry-list > ul > li a:hover {
	opacity: 0.7;
}

.entry-list > ul > li a strong {
	font-weight: 500;
}
.entry-list > ul > li a i {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 22px;
	height: 22px;
	margin-left: 18px;
	border-radius: 11px;
	background: #fff;
}
.entry-list > ul > li a i svg {
	width: 10px;
	height: 10px;
}
.entry-list li:nth-child(1) a {
	background: #FF6F46;
}
.entry-list li:nth-child(2) a {
	background: #165D89;
}

.entry-list li:nth-child(1) path {
	fill: none;
	stroke: #FD6F46;
	stroke-width: 2;
	stroke-miterlimit: 10;
}
.entry-list li:nth-child(2) path {
	fill: none;
	stroke: #165D89;
	stroke-width: 2;
	stroke-miterlimit: 10;
}


.entry-list dl {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	min-height: 190px;
	margin: 18px 0 0;
	padding: 22px;
	border: 1px solid #c7c7c7;
	background: #F7FCFF;
}
.entry-list dt {
	text-align: center;
	font-size: 18px;
	font-weight: 700;
}
.entry-list dd {
	margin: 15px 0 0;
}
.entry-list dd li {
	text-indent: -1em;
	padding-left: 1em;
	font-size: 16px;
	line-height: 1.6;
}
.entry-list dd li::before {
	content: "・";
	text-indent: 0;
}
.entry-list dd li + li {
	margin-top: 5px;
}


.entry-list li:nth-child(1) dt {
	color: #FF6F46;
}
.entry-list li:nth-child(2) dt {
	color: #165D89;
}





.dtf-column {
	box-sizing: border-box;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 40px;
}
.dtf-column .title h2 {
	font-size: 40px;
	font-weight: 400;
	letter-spacing: 1px;
	color: #165D89;
}
.dtf-column .title .ruby {
	margin: 12px 0 0;
	font-size: 18px;
	font-weight: 500;
	color: #165D89;
}


.dtf-column.about {
	margin-top: 75px;
}
.dtf-column.about .box {
	display: flex;
	justify-content: space-around;
	margin: 40px 0 0;
}
.dtf-column.about .box .text {
	box-sizing: border-box;
	width: calc(100% - 366px);
	padding: 0 70px 0 0;
	border-right: 1px solid #C9C9C9;
}
.dtf-column.about .box .image {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 366px;
}

.dtf-column.about .box .text p {
	font-size: 20px;
	line-height: 1.7;
}
.dtf-column.about .box .text p + p {
	margin-top: 20px;
}
.dtf-column.about .box .image img {
	width: 205px;
	height: auto;
}




#eir {
	margin-top: 170px;
}
#eir > h2 {
	text-align: center;
	background: #FF6F46;
}
#eir > h2 strong {
	display: inline-block;
	padding: 2px 10px 2px 26px;
	font-size: 30px;
	font-weight: 700;
	color: #FF6F46;
	background: #fff;
}
#eir .feature {
	box-sizing: border-box;
	width: 900px;
	margin: 75px auto 0;
	padding: 32px 50px 20px;
	font-size: 23px;
	line-height: 1.6;
	text-align: center;
	border: 2px solid #FF6F46;
	border-radius: 100px;
}
#eir .feature .note {
	margin: 10px 0 0;
	font-size: 14px;
	color: #4B4B4B;
}
#eir > dl {
	box-sizing: border-box;
	width: 900px;
	margin: 30px auto 0;
	font-size: 18px;
	line-height: 1.6;
}
#eir > dl > dt {
	margin: 0 0 5px;
	font-weight: 700;
}


#eir .title {
	margin-top: 100px;
	margin-bottom: 50px;
}

.merit {
	box-sizing: border-box;
	border: 1px solid #C9C9C9;
}
.merit > ul > li {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	width: 100%;
	padding: 30px 48px;
	background: #F7FCFF;
}

#eir .merit > ul > li  {
	min-height: 210px;
}
#researcher .merit > ul > li  {
	min-height: 164px;
}


.merit > ul > li:nth-child(2n) {
	background: #FAFAFA;
}
.merit > ul > li + li {
	border-top: 1px solid #C9C9C9;
}
.merit .image {
	width: 136px;
}
.merit dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: calc(100% - 136px);
}
.merit dt {
	width: 300px;
	font-size: 23px;
	font-weight: 500;
	line-height: 1.4;
}
.merit dd {
	width: calc(100% - 300px);
}

.merit dd li {
	padding-left: 1em;
	text-indent: -1em;
	line-height: 1.6;
}
.merit dd li::before {
	position: relative;
	display: inline-block;
	width: 1em;
	content: "-";
	text-indent: 0;
	top: -1px;
}
.merit dd li + li {
	margin-top: 5px;
}



.merit img {
	width: 102px;
	height: auto;
}




.resource {
	box-sizing: border-box;
}
.resource > ul {
	display: flex;
	flex-wrap: wrap;
}
.resource > ul > li {
	box-sizing: border-box;
	width: calc(100% / 3);
	border: 0 solid #C9C9C9;
	border-width: 1px 0 0 1px;
}

.resource > ul > li {
	background: #F7FCFF;
}
.resource > ul > li:nth-child(2n - 1) {
	background: #FAFAFA;
}
.resource > ul > li:nth-child(n + 4) {
	border-bottom: 1px solid #C9C9C9;
}
.resource > ul > li:nth-child(3) {
	border-width: 1px 1px 1px 0;
}
.resource > ul > li:nth-child(3n + 2) {
	border-right-width: 1px;
}

.resource .image {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	height: 190px;
	background: #fff;
}
.resource .image img {
	width: auto;
	height: 154px;
}
.resource li:nth-child(5) .image img {
	width: auto;
	height: 125px;
	margin-bottom: 20px;
}

.resource dt {
	padding: 15px 0 20px;
	text-align: center;
	font-size: 28px;
	font-weight: 500;
	color: #165D89;
	background: #fff;
}
.resource dd {
	padding: 20px 40px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.6;
}












#researcher {
	margin-top: 180px;
}
#researcher > h2 {
	text-align: center;
	background: #165D89;
}
#researcher > h2 strong {
	display: inline-block;
	padding: 2px 10px 2px 26px;
	font-size: 30px;
	font-weight: 700;
	color: #165D89;
	background: #fff;
}
#researcher .feature {
	box-sizing: border-box;
	width: 900px;
	margin: 75px auto 0;
	padding: 32px 50px 20px;
	font-size: 23px;
	line-height: 1.6;
	text-align: center;
	border: 2px solid #165D89;
	border-radius: 100px;
}
#researcher .feature .note {
	margin: 10px 0 0;
	font-size: 14px;
	color: #4B4B4B;
}
#researcher > dl {
	box-sizing: border-box;
	width: 900px;
	margin: 30px auto 0;
	font-size: 18px;
	line-height: 1.6;
}
#researcher > dl > dt {
	margin: 0 0 5px;
	font-weight: 700;
}


#researcher .title {
	margin-top: 100px;
	margin-bottom: 50px;
}











.dtf-contact {
	margin: 150px 0 90px;
	border: 0 solid #c9c9c9;
	border-width: 1px 0;
}
.dtf-contact .header {
	height: 180px;
	background: #FAFAFA url(../img/dtf/contact.png) 50% 50% no-repeat;
	background-size: auto 101px;
}

.dtf-contact .links {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 210px;
	padding: 36px 0 30px;
	background: #FFF1A8;
}
.dtf-contact .links ul {
	display: flex;
	justify-content: space-between;
	width: 900px;
	margin: 0 auto;
}
.dtf-contact ul li {
	width: calc(50% - 12px);
}
.dtf-contact li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 96px;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	border-radius: 48px;
	box-shadow: 0 0 8px rgba(0,0,0,0.2);
	
	transition: all 300ms ease-out;
}
.dtf-contact li a:hover {
	opacity: 0.7;
}

.dtf-contact li a strong {
	font-weight: 500;
}
.dtf-contact li a i {
	position: absolute;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	width: 22px;
	height: 22px;
	right: 24px;
	top: calc(50% - 11px);
	border-radius: 11px;
	background: #fff;
}
.dtf-contact li a i svg {
	width: 10px;
	height: 10px;
}
.dtf-contact li:nth-child(1) a {
	background: #FF6F46;
}
.dtf-contact li:nth-child(2) a {
	background: #165D89;
}

.dtf-contact li:nth-child(1) path {
	fill: none;
	stroke: #FD6F46;
	stroke-width: 2;
	stroke-miterlimit: 10;
}
.dtf-contact li:nth-child(2) path {
	fill: none;
	stroke: #165D89;
	stroke-width: 2;
	stroke-miterlimit: 10;
}

.dtf-contact li dl {
	text-align: center;
}
.dtf-contact li dt {
	font-size: 23px;
	font-weight: 500;
}
.dtf-contact li dd {
	margin: 10px 0 0;
	font-size: 18px;
	font-weight: 500;
}

.dtf-contact .extra {
	margin: 25px 0 0;
	text-align: center;
}
.dtf-contact .extra a {
	display: inline-block;
	padding-right: 20px;
	color: #165D89;
	font-size: 14px;
	text-decoration: underline;
	background: url(../img/dtf/arrow_mini.svg) 100% 50% no-repeat;
	background-size: 14px auto;
}
.dtf-contact .extra a:hover {
	text-decoration: none;
}

.dtf-contact dd em {
	position: relative;
	display: inline-block;
	width: 24px;
	height: 24px;
	top: -2px;
	margin: 0 0 0 8px;
	background: url(../img/dtf/icon_app.svg) 100% 50% no-repeat;
	background-size: 24px auto;
	vertical-align: middle;
}



.pickup-column .inner {
	padding-top: 0;
	border-top: 0;
}







#dtf-banner {
	position: fixed;
	display: flex;
	right: 0;
	top: 110px;
	z-index: 100;
}
#dtf-banner > div:nth-child(1),
#dtf-banner > div:nth-child(2) {
	width: 210px;
	height: 90px;
}
#dtf-banner > div:nth-child(3) {
	width: 158px;
	height: 90px;
}

#dtf-banner > div.box a {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 90px;
	padding: 10px 10px 0;
	cursor: pointer;
	transition: all 300ms ease-out;
}
#dtf-banner > div.box a:hover {
	opacity: 0.8;
}

#dtf-banner > div.eir a {
	background: #FF7953;
}
#dtf-banner > div.researcher a {
	background: #237AB1;
}

#dtf-banner > div.box dl {
	width: 100%;
}
#dtf-banner > div.box dt {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 45px;
	font-size: 16px;
	font-weight: 500;
	background: #fff;
}
#dtf-banner > div.box dd {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 35px;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
}
#dtf-banner > div.box dd em {
	position: relative;
	display: inline-block;
	width: 18px;
	height: 18px;
	top: 0;
	margin: 0 0 0 6px;
	background: url(../img/dtf/icon_app.svg) 100% 50% no-repeat;
	background-size: 18px auto;
	vertical-align: middle;
}


#dtf-banner > div:nth-child(3) a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 90px;
	background: #003162;
}
#dtf-banner > div:nth-child(3) dl {
	color: #fff;
}
#dtf-banner > div:nth-child(3) dt {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
}
#dtf-banner > div:nth-child(3) dd {
	margin: 5px 0 0;
	font-size: 20px;
	font-weight: 500;
}






#dtf-banner {
	transform: translateY(-200px);
}
#global-header.motion + #path-info + #dtf-banner {
	transition: all 300ms ease-out;
}
body.fix-header #dtf-banner {
	transform: translateY(0px);
}



#floating-banner-common {
	display: none !important;
}










#mentors {
	position: relative;
	margin-top: 90px;
}
#mentors .title {
	padding-top: 65px;
	border-top: 1px solid #c9c9c9;
}
.mentor-list {
	margin: 60px 0 0;
}
.mentor-list ul {
	display: flex;
	flex-wrap: wrap;
}
.mentor-list li {
	position: relative;
	width: calc((100% - 50px) / 3);
	margin-left: 25px;
}
.mentor-list li:nth-child(3n + 1) {
	margin-left: 0;
}
.mentor-list li:nth-child(n + 4) {
	margin-top: 50px;
	padding-top: 65px;
}
.mentor-list li:nth-child(n + 4)::before {
	position: absolute;
	content: "";
	display: block;
	width: calc(100% + 25px);
	height: 1px;
	left: -25px;
	top: 0;
	background: #c9c9c9;
}
.mentor-list li:nth-child(3n + 4)::before {
	width: 100%;
	left: 0;
}


/*
.mentor-list li + li {
	margin-top: 50px;
	padding-top: 65px;
	border-top: 1px solid #c9c9c9;
}
*/
.mentor-list .thumb {
}
.mentor-list .detail {
}

.mentor-list .thumb img {
	box-sizing: border-box;
	width: 100%;
	height: auto;
	border: 1px solid #c9c9c9;
}
.mentor-list dl {
	margin: 18px 0 0;
}
.mentor-list dt {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.7;
}
.mentor-list dd {
	margin: 15px 0 0;
	min-height: 3.2em;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.6;
}
.mentor-list .profile {
	margin: 18px 0 0;
}
.mentor-list p {
	font-size: 16px;
	font-weight: 500;
	line-height: 1.75;
}
.mentor-list .mark {
	color: #165D89;
	font-weight: 700;
}


.mentor-list .more {
	display: flex;
	justify-content: center;
	margin: 55px 0 0;
}
.mentor-list .more a {
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 340px;
	height: 50px;
	padding: 2px 0 0;
	color: #165D89;
	font-size: 15px;
	font-weight: 500;
	font-family: Overpass, sans-serif;
	border: 1px solid #165D89;
	cursor: pointer;
	transition: all 300ms ease-out;
}
.mentor-list .more a:hover {
	opacity: 0.7;
}

.mentor-list .expander {
	overflow: hidden;
}
.mentor-list .expander.ready {
	transition: all 800ms ease-out;
}


































