@charset "UTF-8";
/* CSS Document */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
body {
	font-size: 16px;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
}
#top {
	background: rgb(255, 255, 255);
	background: linear-gradient(335deg, rgba(255, 255, 255, 1) 79%, rgba(233, 235, 234, 1) 79%);
}
a {
	text-decoration: none;
	border: none;
	color: inherit;
}
a:hover {
	transition: all .3s ease-in-out;
	box-shadow: 0px 0px 40px 10px rgba(255, 255, 255, 0.5) inset;
}
.arC {
	text-align: center;
}
header {
	width: 100%;
	position: relative;
}
header h1 {
	font-size: 30px;
	color: #293452;
	margin-top: 64px;
	margin-left: 35px;
	margin-bottom: 36px;
	line-height: 1;
}
header h1 a:hover {
	transition: all .3s ease-in-out;
	opacity: 0.5;
}
.navigation {
	width: 100%;
	height: 46px;
	background: #c84318;
	top: 0;
	position: fixed;
	z-index: 99;
}
.navigation nav {
	position: absolute;
	right: 0;
	top: 0;
	display: inline-flex;
}
.btn_entry {
	display: inline-block;
	height: 70px;
	width: 165px;
}
.btn_entry a {
	display: inline-flex;
	height: 100%;
	width: 100%;
	background: #293452;
	color: #fff;
	align-items: center;
	justify-content: center;
}
/*----------------------------
* メニュー開閉ボタン
*----------------------------*/
.menu-btn {
	display: block;
	width: 70px;
	height: 70px;
	position: relative;
	cursor: pointer;
	z-index: 3;
	border: none;
	background: #c84318;
}
.menu-btn span:before, .menu-btn span:after {
	content: "";
}
.menu-btn span, .menu-btn span:before, .menu-btn span:after {
	width: 24px;
	height: 2px;
	display: block;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	background-color: #fff;
	top: calc(50% + 2px);
	transition: .35s ease-in-out;
}
.menu-btn span:before {
	top: 10px;
}
.menu-btn span:after {
	top: -10px;
}
.menu-btn.close span {
	width: 0;
}
.menu-btn.close span:after {
	transform: translate(-50%, 10px) rotate(135deg);
}
.menu-btn.close span:before {
	transform: translate(-50%, -10px) rotate(-135deg);
}
/*----------------------------
* メニュー本体
*----------------------------*/
.menu {
	transform: translateX(100%);
	transition: all .3s ease-in-out;
	z-index: 2;
	position: fixed;
	top: 0;
	right: 0;
	width: 15em;
}
.menu.slide-in {
	transform: translateX(0);
}
.menu ul {
	height: 100vh;
	display: flex;
	flex-direction: column;
	align-items: center;
	background: #555;
	padding-top: 40px;
}
.menu li {
	list-style: none;
	width: 100%;
	height: auto;
	text-align: center;
	color: #000;
	box-sizing: border-box;
}
.menu li a {
	display: inline-block;
	width: 100%;
	padding: .5em 1em;
	color: #fff;
}
/*----------------------------
* コンテンツ
*----------------------------*/
.contents {
	width: 1000px;
	margin: 0 auto;
	color: #293452;
	font-weight: 600;
}
.contents h2 {
	text-align: center;
	color: #c84318;
	font-size: 32px;
	margin-bottom: 33px;
}
h2.main_copy {
	text-align: left;
	font-size: 50px;
	margin-bottom: 50px;
}
.contents h3 {
	color: #c84318;
	font-size: 56px;
	padding-bottom: 13px;
	margin-bottom: 13px;
	border-bottom: #c84318 4px solid;
}
.contents h4 {
	color: #c84318;
	font-size: 23px;
	margin-bottom: 29px;
}
.contents h5 {
	font-size: 23px;
	margin-bottom: 12px;
}
.contents p {
	font-size: 15px;
	line-height: 23px;
}
.logo-DaVinci {
	display: inline-block;
	width: 55px;
	height: 14px;
	margin: 0 0.3em;
}
.logo-DARWiN {
	display: inline-block;
	width: 70px;
	height: 11px;
	margin: 0 0.3em;
}
.block {
	display: flex;
	flex-direction: column;
	flex-wrap: wrap;
}
.block figure {
	width: 50%;
	clear: both;
	text-align: center;
}
/*----------------------------
* トップページ
*----------------------------*/
#top #main_visual {
	position: relative;
}
#bikkuri {
	position: absolute;
	top: 195px;
	left: 75px;
}
.block div {
	width: 406px;
}
.block1 {
	height: 1380px;
	margin-bottom: 50px;
}
.block2 {
	height: 2200px;
}
.block figure img {
	width: 100%;
	height: auto;
}
.block .figure1 {
	height: 668px;
	width: 560px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.block .figure2 {
	width: 406px;
	height: 420px;
	align-self: flex-end;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.message, .person {
	align-self: flex-end;
}
.view-more {
	display: inline-block;
	width: 183px;
	height: 29px;
	text-indent: -9999px;
	margin-top: 30px;
	background-image: url("../images/view_more.png")
}
.message .r_u_img {
	float: right;
	margin: 0 -8px 0 1em;
}
#sec2 {
	background: linear-gradient(335deg, rgba(233, 235, 234, 1) 38%, rgba(255, 255, 255, 1) 38%);
}
.interview1 {
	margin: 167px 0 150px -30px;
}
.block figure img.yeah {
	width: 392px;
	height: auto;
}
.interview3 {
	margin: 114px 0 140px -30px;
}
.block figure img.road {
	width: 528px;
	height: auto;
	margin-top: 62px;
}
.interview2 {
	margin: 181px 0 343px -30px;
}
.block figure img.building {
	width: 502px;
	height: auto;
	margin-bottom: 211px;
}
.five-guide p {
	font-size: 18px;
	padding-bottom: 4px;
	margin-bottom: 16px;
	border-bottom: #293452 solid 2px;
}
.five-guide li {
	position: relative;
	padding-left: 18px;
	list-style: none;
	font-size: 18px;
	margin-bottom: 6px;
}
.five-guide li:before {
	content: "";
	position: absolute;
	top: .4em;
	left: 0;
	width: 10px;
	height: 10px;
	border: 1px solid #666;
	border-radius: 50%;
}
#sec3 .contents {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	padding-bottom: 49px;
	background: url("../images/step.png") no-repeat top right;
}
#sec3 h4 {
	width: 100%;
	text-align: center;
	font-size: 40px;
	margin-top: 49px;
	margin-bottom: 81px;
}
figure img.imDarwin {
	margin-left: 16px;
	margin-right: 54px;
}
.sec3-center {
	width: 512px;
	text-align: center;
}
.collect {
	text-align: center;
	width: 100%;
	margin-top: -2em;
}
#CTA-area .sec3-center {
	margin: 129px auto 32px;
}
/*----------------------------
* link pages
*----------------------------*/
/* link pages 共通 */
/*メインビジュアル*/
#main_visual-a {
	width: 1000px;
	height: 485px;
	text-align: center;
	background: linear-gradient(rgba(233, 235, 234, 1) 46%, rgba(255, 255, 255, 1) 46%);
}
#main_visual-a h1 {
	display: inline-block;
	color: #c84318;
	font-size: 56px;
	border-bottom: #c84318 5px solid;
	margin-top: 13px;
	margin-bottom: 40px;
}
/*リード文*/
.lead {
	width: 700px;
	margin: auto;
	margin-bottom: 100px;
	color: #293452;
}
/*----------------------------
* Our Mission
*----------------------------*/
.contents-block {
	background: #e9ebea;
	display: flex;
}
.contents-block h3 {
	width: 80%;
	margin: 47px auto 8px;
	padding-bottom: 0;
}
.contents-block h4 {
	margin-bottom: 6px;
}
.contents-block p {
	margin-bottom: 28px;
}
.contents .small {
	font-size: 10px;
	margin: 0;
}
.darwin-concept, .davinci-concept {
	width: 50%;
	text-align: center;
	padding-bottom: 56px;
}
/*----------------------------
* Work page
*----------------------------*/
.works-block {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: space-between;
	margin-bottom: 100px;
}
.work-content {
	width: 474px;
	height: 216px;
	border: #d9dcd6 solid 3px;
	padding: 1.5em 22px;
	box-shadow: 10px 10px #d9dcd6;
	margin-bottom: 28px;
}
.work-content h4 {
	text-align: center;
	margin-bottom: 18px;
}
.work-content p {
	text-align: justify;
	font-size: 0.9em
}
.youkou table {
	border-collapse: collapse;
}
.youkou th {
	text-align: left;
	padding: 1em;
	width: 273px;
	vertical-align: top;
}
.youkou th, .youkou td {
	border-top: #d9dcd6 solid 3px;
}
.youkou td {
	padding: 1em 0;
}
/*----------------------------
* interview pages
*----------------------------*/
#interview .lead {
	width: 720px;
	margin-top: 60px;
}
#interview .lead h2 {
	font-size: 18px;
}
.interview-block {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: space-between;
	margin: 64px 0;
}
.interview-block .QandA {
	width: 500px;
}
.QandA .question {
	color: #c84318;
	font-size: 110%;
	margin: 20px 0 10px;
}
hr {
	border: #d9dcd6 solid 2px;
	width: 100%;
}
/*----------------------------
* ISM pages
*----------------------------*/
.ism-block {
	border: #d9dcd6 solid 3px;
	padding: 102px 130px;
	box-shadow: 10px 10px #d9dcd6;
	margin-bottom: 28px;
}
.ism-block h4 {
	text-align: center;
	margin-bottom: 80px;
}
.ism-block .note {
	font-size: 14px;
	margin-top: 32px;
}
/*　下部エントリーボタン　*/
.btn_entry_big {
	display: inline-block;
	background: #293452;
	color: #fff;
	width: 100%;
	padding: 24px 0;
	margin-bottom: 49px;
}
.btn_entry_big span {
	font-size: 30px;
}
footer {
	display: flex;
	align-items: center;
	width: 100%;
	background: #c84318;
	color: #fff;
	font-size: 14px;
}
footer div{
	width: 33%;
	text-align: center;
}
.footer-logo {
	padding: 17px 53px;
	text-align: left;
}
.footer-logo img{
	width: 160px;
	height: auto;
}
footer a:hover {
	transition: all .3s ease-in-out;
	box-shadow: none;
	opacity: 0.8;
}
/*----------------------------
* SP View
*----------------------------*/
@media screen and (max-width: 1000px) {
	hr {
		width: 90%;
		margin: auto;
	}
	header h1 {
		margin-top: 96px;
		margin-left: 10px;
	}
	#main_visual-a {
		width: 100%;
		height: auto;
		margin-bottom: 32px;
	}
	#interview #main_visual-a {
		background: #fff;
	}
	#main_visual-a img {
		max-width: 100%;
		height: auto;
	}
	.contents {
		width: 100%;
	}
	.contents h2 {
		font-size: 32px;
	}
	.contents-block {
		flex-direction: column;
	}
	.block div {
		width: 100%;
	}
	footer{
		    flex-direction: column;
		padding-bottom:  2em;
	}
	footer div{
	width: 100%;
}
	.footer-logo {
	text-align: center;
}
	/* TOP page*/
	#top {
		background: linear-gradient(335deg, rgba(255, 255, 255, 1) 92%, rgba(233, 235, 234, 1) 92%);
	}
	#top .contents {
		padding: 0 10px;
	}
	#main_visual figure {
		width: 100%;
		padding: 0 10px;
	}
	#bikkuri {
		width: 18px;
		height: auto;
		position: absolute;
		top: 13%;
		left: 10%;
		opacity: 0;
	}
	#main_visual img {
		max-width: 100%;
		height: auto;
	}
	.about-us {
		order: 3;
	}
	.message {
		order: 1;
	}
	.block1 {
		height: auto;
	}
	.block2 {
		height: auto;
	}
	.block figure {
		width: 100%;
		height: auto;
	}
	.block figure img {
		width: 100%;
		height: auto;
	}
	.block .figure1 {
		width: 100%;
		height: auto;
		margin: 32px 0;
		order: 2;
	}
	.block .figure2 {
		width: 100%;
		height: auto;
		margin: 32px 0;
		order: 4;
	}
	.message .r_u_img {
		margin: 0 0 0 1em;
	}
	.person {
		order: 1;
	}
	.interview1, .interview2, .interview3 {
		margin: 32px 0 0;
	}
	.figure6 {
		order: 2;
	}
	.figure9 {
		order: 3;
	}
	.figure8 {
		order: 4;
	}
	.figure7 {
		order: 5;
		margin: 32px 0;
	}
	.d-ism {
		order: 6;
	}
	.figure4 {
		order: 7;
	}
	.five-guide {
		order: 8;
	}
	.figure5 {
		order: 9;
	}
	.block figure img.yeah {
		width: 100%;
		height: auto;
	}
	.block figure img.road {
		width: 100%;
		height: auto;
	}
	.block figure img.building {
		width: 100%;
		height: auto;
		margin: 32px 0;
	}
	#top #sec3 .contents {
		display: flex;
		padding-bottom: 460px;
		background: url(../images/step.png) no-repeat bottom center;
		justify-content: center;
	}
	figure img.imDarwin {
		margin: 20px auto;
	}
	.collect {
		order: 99;
		margin: auto;
	}
	#sec2 {
		background: linear-gradient(335deg, rgba(233, 235, 234, 1) 36%, rgba(255, 255, 255, 1) 36%);
	}
	/*About us page*/
	.darwin-concept, .davinci-concept {
		width: 100%;
		padding: 0 10px;
	}
	.darwin-concept img, .davinci-concept img {
		max-width: 100%;
		height: auto;
	}
	.works-block {
		display: grid;
		grid-template-columns: auto;
		justify-content: space-between;
		margin-bottom: 100px;
	}
	.work-content {
		width: 90%;
		height: auto;
		margin: 0 auto 28px;
	}
	.youkou table {
		width: calc(100% - 20px);
		margin: auto;
	}
	.youkou th {
		display: block;
		text-align: left;
		/*background: #d9dcd6;*/
		font-size: 110%;
		padding: 4px 10px;
		width: 100%;
		vertical-align: top;
	}
	.youkou td {
		padding: 1em 10px 3em;
		display: block;
		width: 100%;
	}
	.lead, #interview .lead {
		width: 100%;
		padding: 0 10px;
	}
	#interview .lead {
		margin-top: 20px;
	}
	#interview .lead h2, #interview .lead p {
		text-align: left;
	}
	.interview-block {
		grid-template: auto auto / 100%;
	}
	.position-name {
		text-align: center;
	}
	.interview-block figure {
		order: 1;
	}
	.interview-block .QandA {
		width: 100%;
		padding: 0 10px;
		order: 2;
	}
	.interview-block figure {
		width: 100%;
		padding: 0 10px;
	}
	.interview-block img {
		max-width: 100%;
		height: auto;
	}
	.ism-block {
		padding: 30px 10px;
		margin: 16px;
	}
	.ism-block h4 {
		text-align: left;
		margin-bottom: 40px;
	}
	.sec3-center {
		width: 300px;
		text-align: center;
	}
}