@charset "utf-8";
/* ===================================================================
CSS
 file name  :  top.css
=================================================================== */
/* =====================================
メインスライド
======================================== */
.slide_wrap{
	overflow: hidden;
}

.slick-slide,
.slick-slider .slick-track,
.slick-slider .slick-list
{
	-webkit-transform: translate3d(0, 0, 0);
	-moz-transform: translate3d(0, 0, 0);
	-ms-transform: translate3d(0, 0, 0);
	-o-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-transform: translateZ(0);
	-moz-transform: translateZ(0);
	-ms-transform: translateZ(0);
	-o-transform: translateZ(0);
	transform: translateZ(0);
	-webkit-perspective: 1000;
	-moz-perspective: 1000;
	-ms-perspective: 1000;
	perspective: 1000;
	-webkit-backface-visibility: hidden;
	-moz-backface-visibility: hidden;
	-ms-backface-visibility: hidden;
	backface-visibility: hidden;
}

.slick-dots {
	bottom: 50px;
}
@media screen and (max-width: 768px) {
	.slick-dots {
		bottom: 30px;
	}
}
.slick-dots li {
	position: relative;
	display: inline-block;
	width: auto;
	height: auto;
	margin: 0;
	padding: 0;
	cursor: pointer;
}
.slick-dots li button {
	font-size: 0;
	line-height: 0;
	padding: 0;
	cursor: pointer;
	background: #FFFFFF;
	border: 0;
	text-indent: -9999px;
	display: block;
	width: 40px;
	height: 10px;
	margin: 0 8px;
	outline: 0;
}
.slick-dots li button:before {
  content: none;
}
.slick-dots li button:hover, .slick-dots li.slick-active button {
  background: #004ADB;
  width: 40px;
  height: 10px;
}
/* =====================================
メッセージ
======================================== */
@media print, screen and (min-width: 769px) {
	.top_message_wrap{
		display: flex;
		justify-content: center;
		padding: 130px 0;
		background-image: url("../images/message/bg_message.png"), url("../images/message/bg_message.png");
		background-repeat: no-repeat, no-repeat;
		background-size: 35% auto, 35% auto;
		background-position: right 10px top 40px, left 10px bottom 40px;
	}
	.top_message_wrap .photo_wrap{
		width: calc(50% - 40px);
	}
	.top_message_wrap .text_wrap{
		width: calc(50% + 40px);
	}
	.top_message_wrap .photo_wrap{
		padding: 0 0 0 40px;
	}
	.top_message_wrap .photo_wrap .photo{
		max-width: 500px;
		margin: auto 0 auto auto;
		position: relative;
	}
	.top_message_wrap .photo_wrap .photo img{
		box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.2);
	}
	.top_message_wrap .photo_wrap .name{
		position: absolute;
		right: -20px;
		bottom: -40px;
		z-index: 2;
		text-align: center;
		color: #FFFFFF;
		font-weight: 500;
		margin: 0 auto;
		width: 300px;
		height: 60px;
		padding-top: 20px;
	}
	.top_message_wrap .photo_wrap .name::before {
		transform: skewX(-30deg);
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: -1;
		background: #2A2D53;
	}
}
.top_message_wrap .photo_wrap .name span{
	font-size: 1.4rem;
	font-weight: 300;
	margin-right: 1.5em
}
.top_message_wrap .text_wrap h2.title_top_message{
	margin-top: 50px;
	padding: 0 40px 0 80px; 
	color: #202466;
	font-size: 2.8rem;
	line-height: 1.8;
	font-weight: 700;
}
.top_message_wrap .text_wrap h2.title_top_message span{
	display: block;
	color: #907C5A;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.1em;
}
.top_message_wrap .text_wrap p.lead{
	margin-top: 50px;
	background: #F0F6FF;
	color: #202466;
	font-weight: 500;
	font-size: 2.4rem;
	padding: 1.5em 0 1.5em 80px;
}
.top_message_wrap .text_wrap p.lead span{
	font-size: 3.2rem;
}
.top_message_wrap .text_wrap .text_inner{
	margin-top: 50px;
	padding: 0 40px 0 80px;
	max-width: 620px;
}
.top_message_wrap .text_wrap .text_inner .btn_message{
	margin: 50px 0 auto auto;
	max-width: 300px;
}
@media screen and (max-width: 768px) {
	.top_message_wrap .photo_wrap{
		padding: 50px 20px;
	}
	.top_message_wrap .photo_wrap .photo{
		max-width: 300px;
		margin: auto;
		position: relative;
	}
	.top_message_wrap .photo_wrap .photo img{
		box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.2);
	}
	.top_message_wrap .photo_wrap .name{
		position: absolute;
		right: -20px;
		bottom: -30px;
		z-index: 2;
		text-align: center;
		color: #FFFFFF;
		font-weight: 500;
		margin: 0 auto;
		width: 214px;
		height: 38px;
		padding-top: 12px;
	}
	.top_message_wrap .photo_wrap .name::before {
		transform: skewX(-24deg);
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: -1;
		background: #2A2D53;
	}
	.top_message_wrap .photo_wrap .name span{
		font-size: 1.0rem;
	}
	.top_message_wrap .text_wrap{	
		background-image: url("../images/message/bg_message.png"), url("../images/message/bg_message.png");
		background-repeat: no-repeat, no-repeat;
		background-size: 160px auto, 160px auto;
		background-position: right 10px top 10px, left 10px bottom 10px;
		padding: 50px 0;
	}
	.top_message_wrap .text_wrap h2.title_top_message{
		max-width: 480px;
		margin: auto;
		padding: 0 20px; 
		font-size: 1.8rem;
	}
	.top_message_wrap .text_wrap h2.title_top_message span{
		font-size: 1.0rem;
	}
	.top_message_wrap .text_wrap p.lead{
		max-width: 480px;
		margin: 30px auto auto;
		background: none;
		font-size: 1.6rem;
		padding: 0 20px;
	}
	.top_message_wrap .text_wrap p.lead strong{
		font-size: 1.8rem;
	}
	.top_message_wrap .text_wrap .text_inner{
		max-width: 480px;
		margin: 30px auto auto;
		padding: 0 20px;
	}
	.top_message_wrap .text_wrap .text_inner .btn_message{
		margin: 30px auto auto;
		max-width: 480px;
	}
}
/* =====================================
共通
======================================== */
.top_contents{
	padding: 100px 0;
}
h2.top_subtitle{
	color: #202466;
	font-size: 2.8rem;
	line-height: 1.8;
	font-weight: 700;
	text-align: center;
}
.top_btn_area{
	margin: 50px auto auto;
	max-width: 400px;
}
@media screen and (min-width: 769px) {
	h2.top_subtitle{
		height: 120px;
		padding-top: 20px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: contain;
	}
}
h2.top_subtitle span{
	display: block;
	color: #907C5A;
	font-size: 1.6rem;
	font-weight: 400;
	letter-spacing: 0.1em;
}
@media screen and (max-width: 768px) {
	.top_contents{
		padding: 50px 0;
	}
	h2.top_subtitle{
		margin-top: 0;
		font-size: 1.8rem;
		padding-top: 0px;
	}
	h2.top_subtitle span{
		font-size: 1.0rem;
	}
	.top_btn_area{
		margin: 30px auto auto;
		padding: 0 20px;
		max-width: 520px;
	}
}
/* =====================================
インタビュー
======================================== */
@media screen and (min-width: 769px) {
	h2.top_subtitle.interview{
		background-image: url("../images/top/bg_title_interview.png");
	}
	ul.top_interview_list{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}
	ul.top_interview_list li{
		width: 33.333%;
		max-width: 380px;
		margin-top: 70px;
		padding: 0 3%;
	}
}
ul.top_interview_list li .interview_number{
	color: #2F4C85;
}
ul.top_interview_list li .interview_number span{
	font-size: 2.6rem;
	margin-left: 0.2em
}
ul.top_interview_list li .interview_photo{
	margin-top: 20px;
	position: relative;
}
ul.top_interview_list li .interview_photo img{
	box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.2);
	transition: 0.3s all;
}
@media screen and (min-width: 769px) {
	ul.top_interview_list li .interview_photo:hover img{
		transform:scale(1.05,1.05);
	}
}
ul.top_interview_list li .interview_photo .name{
	position: absolute;
	right: -20px;
	bottom: -40px;
	z-index: 2;
	text-align: center;
	color: #FFFFFF;
	font-weight: 500;
	margin: 0 auto;
	width: 100%;
	max-width: 300px;
	height: 60px;
	padding-top: 20px;
}
ul.top_interview_list li .interview_photo .name::before {
	transform: skewX(-30deg);
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: -1;
	background: #2A2D53;
}
ul.top_interview_list li .interview_photo .name span{
	font-size: 1.4rem;
	font-weight: 300;
	margin-right: 1.5em
}
ul.top_interview_list li .interview_text{
	margin-top: 60px;
}
ul.top_interview_list li .interview_link{
	margin-top: 20px;
	text-align: right;
}
ul.top_interview_list li .interview_link a{
	color: #907C5A;
	text-decoration: none;
}
ul.top_interview_list li .interview_link a span{
	position: relative;
	display: inline-block;
	padding-right: 20px;
	transform: translateX(0px);
	transition: all .3s;
}
@media screen and (min-width: 769px) {
	ul.top_interview_list li .interview_link a:hover span{
		transform: translateX(5px);
	}
}
ul.top_interview_list li .interview_link a span::before{
	content: '';
	position: absolute;
	bottom: 46%;
	right: 0; 
	width: 10px;
	height: 1px;
	background:#AA9E91;
}
ul.top_interview_list li .interview_link a span::after{
	content: '';
	position: absolute;
	bottom: calc(46% + 2px);
	right: 0;   
	width: 5px;
	height:1px;
	background:#AA9E91;
	transform: rotate(45deg);
}
@media screen and (max-width: 768px) {
	ul.top_interview_list li{
		margin: 30px auto auto;
		max-width: 300px;
	}
	ul.top_interview_list li .interview_photo .name{
		right: -20px;
		bottom: -30px;
		max-width: 214px;
		height: 38px;
		padding-top: 12px;
	}
	ul.top_interview_list li .interview_photo .name span{
		font-size: 1.0rem;
	}
	ul.top_interview_list li .interview_text{
		margin-top: 40px;
	}
	ul.top_interview_list li .interview_link{
		margin-top: 10px;
	}
}

/* =====================================
新卒採用情報
======================================== */
@media screen and (min-width: 769px) {
	h2.top_subtitle.recruit{
		background-image: url("../images/top/bg_title_recruit.png");
	}
	ul.top_recruit_list{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		padding: 0 40px;
	}
	ul.top_recruit_list li{
		margin-top: 50px;
		width: 50%;
		max-width: 580px;
		padding: 0 40px;
	}
}
@media screen and (max-width: 1160px) {
	ul.top_recruit_list li{
		padding: 0 20px;
	}
}
ul.top_recruit_list li > div{
	background-size: cover;
	box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.2);
}
ul.top_recruit_list li div.recruit_list_1{
	background-image: url("../images/top/recruit_list01.jpg");
}
ul.top_recruit_list li div.recruit_list_2{
	background-image: url("../images/top/recruit_list02.jpg");
}
ul.top_recruit_list li div.recruit_list_3{
	background-image: url("../images/top/recruit_list03.jpg");
}
ul.top_recruit_list li div.recruit_list_4{
	background-image: url("../images/top/recruit_list04.jpg");
}
ul.top_recruit_list li div.recruit_list_5{
	background-image: url("../images/top/recruit_list05.jpg");
}
ul.top_recruit_list li div.recruit_list_6{
	background-image: url("../images/top/recruit_list06.jpg");
}
ul.top_recruit_list li a{
	display: flex;
	align-items: center;
	height: 200px;
	padding: 0 40px;
	background-color: rgba(20,23,65,0.70);
	color: #FFFFFF;
	font-size: 1.8rem;
	font-weight: 500;
	line-height: 2;
	text-decoration: none;
	transition: all .3s;
}
ul.top_recruit_list li a:hover{
	background-color: rgba(20,23,65,0.30);
}
ul.top_recruit_list li a span{
	font-size: 1.4rem;
	font-weight: 300;
}
ul.top_recruit_list li a > div{
	position: relative;
	padding-bottom: 20px;
}
ul.top_recruit_list li a > div::before{
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 24px;
	height: 1px;
	background:#907C5A;
}
ul.top_recruit_list li a > div::after{
	content: '';
	position: absolute;
	bottom: 3px;
	left: 16px;
	width: 10px;
	height:1px;
	background:#907C5A;
	transform: rotate(35deg);
}
@media screen and (max-width: 768px) {
	ul.top_recruit_list{
		padding: 0 20px;
	}
	ul.top_recruit_list li{
		max-width: 560px;
		padding: 0 40px;
		margin: 30px auto auto;
	}
	ul.top_recruit_list li a{
		height: 140px;
		padding: 0 30px;
		font-size: 1.6rem;
	}
	ul.top_recruit_list li a span{
		font-size: 1.0rem;
	}
	ul.top_recruit_list li a > div{
		position: relative;
		padding-bottom: 12px;
	}
	ul.top_recruit_list li a > div::before{
		width: 18px;
		height: 1px;
	}
	ul.top_recruit_list li a > div::after{
		bottom: 2px;
		left: 12px;
		width: 6px;
	}
}
@media screen and (max-width: 480px) {
	ul.top_recruit_list li{
		padding: 0 0px;
	}
}
/* =====================================
動画で見るWALLMATE 
======================================== */
@media screen and (min-width: 769px) {
	h2.top_subtitle.movie{
		background-image: url("../images/top/bg_title_movie.png");
	}
	.top_movie_wrap{
		margin: 70px auto auto;
		max-width: 1160px;
		padding: 0 40px;
		display: flex;
		justify-content: space-between;
	}
	.top_movie_wrap .movie_box{
		width: 47%;
		aspect-ratio: 16 / 9;
	}
	.top_movie_wrap .movie_box iframe{
		width: 100%;
		height: 100%;
	}
}
@media screen and (max-width: 768px) {
	.top_movie_wrap{
		margin: 10px auto;
		max-width: 680px;
		padding: 0 20px;
	}
	.top_movie_wrap .movie_box{
		margin-top: 20px;
		width: 100%;
		aspect-ratio: 16 / 9;
	}
	.top_movie_wrap .movie_box iframe{
		width: 100%;
		height: 100%;
	}
}
/* =====================================
SNS
======================================== */
@media screen and (min-width: 769px) {
	h2.top_subtitle.sns{
		background-image: url("../images/top/bg_title_sns.png");
	}
	ul.top_sns_list{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 40px;
		padding: 0 40px;
	}
	ul.top_sns_list li{
		margin-top: 40px;
		width: 50%;
		max-width: 480px;
		padding: 0 40px;
	}
}
ul.top_sns_list li > div{
	box-shadow: 0px 3px 10px 0px rgba(0,0,0,0.2);
}
ul.top_sns_list li > div a{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 20px;
	color: #333;
	text-decoration: none;
}
ul.top_sns_list li > div a:hover{
	color: #688BD0;
}
ul.top_sns_list li > div a .sns_icon{
	max-width: 40px;
}
ul.top_sns_list li > div a .text{
	padding-left: 1em;
	font-weight: 700;
	font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
	ul.top_sns_list{
		padding: 0 20px;
	}
	ul.top_sns_list li{
		margin: 30px auto auto;
		max-width: 480px;
	}
	ul.top_sns_list li > div a .sns_icon{
		max-width: 30px;
	}
	ul.top_sns_list li > div a .text{
		font-size: 1.6rem;
	}
}