@charset "utf-8";
/* CSS Document */

#contentsBlock{
	background-color: #f5f5f5;
}

/* mainVisual
--------------------------------------------------------------------------- */

.mainVisual{
	position: relative;
	width: 100%;
	height: calc(100vh - 102px);
	/*aspect-ratio: 1 / 0.5;*/
	/*background: url("../img/mainVisual_bg_pc.jpg") no-repeat center /cover;*/
}

.blue_area{
	position: absolute;
    width: 38%;
    max-width: 600px;
    top: 50%;
    left: 40px;
    transform: translateY(-50%);
}

.recruit_btn{
	position: absolute;
    right: 20px;
    bottom: 22px;
    max-width: 200px;
	aspect-ratio: 1 / 1;
    width: 15%;
	transition: all .3s;
}

.recruit_btn_inner{
	position: relative;
	width: 100%;
	height: 100%;
}

.recruit_btn a{
	display: block;
	width: 100%;
	height: 100%;
	background: url("../common/img/icon/recruit_icon.png") no-repeat center /contain;
	transition: all .3s;
}

.recruit_btn a:hover{
	background-image: url("../common/img/icon/recruit_icon_on.png");
}

.close_btn{
	position: absolute;
	top: 8px;
    right: 10px;
	display: block;
	cursor: pointer;
}

/*slider*/

.slider01{
	width: 38%;
    max-width: 600px;
    margin: 0 auto 0 40px;
}

.slider01 .slider_item{
	padding: 40px 40px 25px;
	background-color: #3689b2;
    border-radius: 16px;
	text-align: left;
}

.slider01 .slider_item .hd03{
	font-size: 4.0rem;
    margin: 24px 0 0;
    line-height: 1.4;
}

.slider01 .slider_item p{
	color: #fff;
    font-size: 1.8rem;
    text-align: left;
    margin: 5px 0 0;
    letter-spacing: 0.04em;
}

.slider01 .slider_item > img{
	margin: 10px 0 0;
}

/*スクロールダウン*/
.scrolldown{
	position:absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.scrolldown span{
	position: absolute;
    left: 50%;
    bottom: 81px;
    color: #fff;
    letter-spacing: 0.05em;
    transform: translateX(-50%);
}

.scrolldown:before {
	content: "";
	position: absolute;
	bottom:0;
	left:-4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background:#fff;
	animation:
	circlemove 2.8s ease-in-out infinite,
	 cirlemovehide 2.8s ease-in-out infinite;
}

.scrolldown:after{
	content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 80px;
    background: #fff;
}


@keyframes circlemove{
	0%{
		bottom: 75px;
	}
	100%{
		bottom:-5px;
	}
}

@keyframes cirlemovehide{
	0%{
		opacity:0
	}
	50%{
		opacity:1;
	}
	80%{
		opacity:0.9;
	}
	100%{
		opacity:0;
	}
 }

@media screen and (max-width: 1240px){
	
	.scrolldown span{
		font-size: 1.2rem;
		bottom: 48px;
	}
	
	.scrolldown:before{
		width: 6px;
		height: 6px;
		left: -3px;
	}
	
	.scrolldown:after{
		height: 40px;
	}
	
	@keyframes circlemove{
		0%{
			bottom: 38px;
		}
		100%{
			bottom:-5px;
		}
	}
}

@media screen and (max-width: 940px){
	.close_btn{
		top: 0px;
    	right: 0px;
	}
	
	/*.mainVisual{
		height: calc(100vh - 65px);
	}*/
}

@media screen and (max-width: 767px){
	
	.mainVisual{
		/*background: url("../img/mainVisual_bg_sp.jpg") no-repeat center /cover;*/
		/*aspect-ratio: 1 / 1.56;*/
	}
	
	.blue_area{
		width: 70%;
		left: 50%;
		top: 20px;
		transform: translate(-50%,0);
	}
	
	.recruit_btn{
		right: 13px;
		bottom: 11px;
		width: 40%;
	}
	
	.close_btn{
		width: 28px;
    	height: 28px;
		top: 8px;
    	right: 6px;
	}
	
}

@media screen and (max-width: 540px){
	.blue_area{
		width: 89%;
	}
}

/* sec01
--------------------------------------------------------------------------- */

.sec01{
	margin: 110px auto 0;
}

.sec01 .hd02{
	margin-left: 20px;
}

.sec01 > .contents{
	margin: 0 0 0 auto;
	max-width: 1420px;
}

.swiper02{
	position: relative;
    overflow: hidden;
    padding: 30px 0 0;
    margin: 10px 0 0;
}

.swiper-wrapper{
	padding: 0 0 40px 20px;
}

.swiper02 .inner{
	padding: 20px 20px 10px;
	border-bottom: 1px solid #9bbed3;
	transition: all .3s;
}

.swiper02 .swiper_item > a{
	display: block;
	background-color: #fff;
	border-radius: 16px;
	transition: all .3s;
}

.swiper02 .swiper_item > a:hover{
	background-color: #c8d9e4;
}

.swiper02 .swiper_item > a:hover > p{
	color: #fff;
}

.swiper02 .swiper_item > a:hover .data{
	color: #fff;
}

.swiper02 .swiper_item > a:hover .detail{
	color: #fff;
}

.swiper02 .swiper_item > a > p{
	display: block;
    font-weight: 700;
    color: #3689b3;
    padding: 16px 0;
	transition: all .3s;
}

.swiper02 .swiper_item .data{
	font-weight: 700;
    color: #9bbed3;
    text-align: left;
    margin: 14px 0 0;
    letter-spacing: -0.05em;
    line-height: 1.3;
	transition: all .3s;
}

.swiper02 .swiper_item .detail{
	text-align: left;
	font-size: 1.8rem;
	margin: 3px 0 0;
	line-height: 1.4;
	letter-spacing: -0.1em;
	transition: all .3s;
}

.swiper02 .swiper_item > a:hover .inner{
	border-bottom: 1px solid #fff;
}

.swiper-slide img {
	height: auto;
	width: 100%;
}

/* プログレスバーの高さ変更 */
.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal {
	width: calc(100% - 20px);
    height: 4px;
    top: auto;
    left: auto;
    right: 0;
    bottom: 0px;
}

/* プログレスバーの背景色変更 */
.swiper-pagination-progressbar {
	background-color: #c8d9e4;
}

/* プログレスバーの色変更 */
.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
	background-color: #3689b3;
}

@media screen and (max-width: 767px){
	.sec01 {
    	margin: 48px auto 0;
	}
	
	.sec01 > .contents{
		width: calc(100% - 5px);
	}
	
	.swiper02 {
		padding: 15px 0 0;
	}
	
	.swiper-wrapper {
    	padding: 0 0 25px 20px;
	}
	
	.swiper02 .inner {
    	padding: 15px 15px 10px;
	}
	
	.swiper02 .swiper_item .data{
		font-size: 1.3rem;
	}
	
	.swiper02 .swiper_item .detail{
		font-size: 1.5rem;
	}
	
	.swiper02 .swiper_item > a > p{
		font-size: 1.3rem;
		padding: 8px 0;
	}
}

/* sec02
--------------------------------------------------------------------------- */

.sec02{
	background: url("../img/top_bg01.jpg") no-repeat center /cover;
	margin: 80px auto 0;
    padding: 100px 0 160px;
}

.sec02 p.txt{
	color: #fff;
	text-align: left;
}

.sec02 h2{
	font-size: 4.0rem;
	font-weight: 500;
	text-align: left;
	color: #fff;
}

.sec02 h2 span{
	font-size: 3.6rem;
}

@media screen and (max-width: 767px){
	.sec02{
		margin: 50px auto 0;
		padding: 80px 0 88px;
	}
	
	.sec02 p.txt{
		font-size: 1.3rem;
		margin: 10px 0 0;
	}
	
	.sec02 h2{
		font-size: 3.2rem;
		line-height: 1.4;
	}
	
	.sec02 h2 span {
    	font-size: 2.8rem;
	}
}

/* sec03
--------------------------------------------------------------------------- */

.sec03{
	margin: -80px 0 0 auto;
}

.sec03 > .contents{
	border-radius: 24px 0 0 24px;
    background-color: #fff;
    overflow: hidden;
    max-width: 1400px;
    margin: 0 0 0 auto;
}

.sec03 > .contents > .textBox{
	padding: 35px 38px;
}

.sec03 > .contents > .textBox p.txt{
	text-align: left;
	margin: 16px 0 0;
}

.sec03 .more_btn a{
	border: 1px solid #3689b3;
}

@media screen and (max-width: 767px){
	.sec03 {
    	margin: -40px 0 0 auto;
	}
	
	.sec03 > .contents{
		border-radius: 10px 0 0 10px;
	}
	
	.sec03 > .contents > .textBox {
    	padding: 20px 20px 40px;
	}
}

/* sec04
--------------------------------------------------------------------------- */

.sec04{
	margin: 80px auto 0;
}

.sec04 .hd02{
	text-align: center;
}

.sec04 .hd02.icon_chara01:before{
	top: calc(50% - 7px);
    left: -66px;
    right: auto;
}

.sec04 .hd02.icon_chara02:after{
	top: calc(50% - 9px);
    right: -92px;
}

.interview_list{
	margin: 40px auto 0;
}

.interview_list > ul{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.interview_list > ul > li{
	width: 30.5%;
	background: linear-gradient(45deg, #3689b3, #7c8cb0);
	border-radius: 16px;
	padding: 30px 10px 10px;
}

.interview_list > ul > li:nth-child(2n){
	margin-top: 35px;
}

.interview_list > ul > li > .flex{
	padding: 14px;
	align-items: center;
}

.interview_list > ul > li > .flex > figure{
	margin-right: 10px;
}

.interview_list > ul > li p{
	color: #fff;
	text-align: left;
	line-height: 1.5;
}

.interview_list > ul > li p.name{
	font-size: 1.8rem;
}

.interview_list > ul > li p.btn{
	text-align: right;
}

.interview_list > ul > li p.btn a{
	border-bottom: 1px solid #fff;
	color: #fff;
}

.sec04 .more_btn{
	margin: 50px auto 0;
}

.sec04 .more_btn a{
	border: 1px solid #3689b3;
	background-color: #f5f5f5;
}

.sec04 .more_btn a:hover{
	border: 1px solid #f5f5f5;
	background-color: #3689b3;
}

@media screen and (max-width: 767px){
	.sec04 {
    	margin: 50px auto 0;
	}
	
	.sec04 .hd02.icon_chara01:before {
		top: calc(50% - 3px);
		left: -56px;
	}
	
	.sec04 .hd02.icon_chara02:after {
		top: calc(50% - 1px);
		right: -66px;
	}
	
	.interview_list {
    	margin: 20px auto 0;
	}
	
	.interview_list > ul{
		flex-direction: column;
	}
	
	.interview_list > ul > li{
		position: relative;
		display: flex;
		justify-content: space-between;
		width: 100%;
		padding: 20px 25px 10px 35px;
		border-radius: 8px;
	}
	
	.interview_list > ul > li:not(:first-of-type),
	.interview_list > ul > li:nth-child(2n){
		margin: 15px 0 0;
	}
	
	.interview_list > ul > li.new:before{
		left: auto;
		right: -7px;
	}
	
	.interview_list > ul > li > figure{
		width: 56%;
		margin: 20px 0 0;
	}
	
	.interview_list > ul > li p{
		text-align: center;
	}
	
	.interview_list > ul > li p.btn{
		position: absolute;
		top: 10px;
		left: 10px;
	}
	
	.interview_list > ul > li > .flex{
		flex-direction: column;
		width: 38%;
	}
	
	.interview_list > ul > li > .flex > .textBox{
		margin: 10px 0 0;
	}
	
	.interview_list > ul > li > .flex > figure{
		width: 73%;
    	margin: 0 auto;
	}
	
	.interview_list > ul > li p.name{
		font-size: 1.4rem;
	}
	
	.sec04 .more_btn {
    	margin: 35px auto 0;
	}
}

/* sec05
--------------------------------------------------------------------------- */

.sec05{
	background: url("../img/top_bg02.jpg") no-repeat center /cover;
	padding: 80px 0;
	margin: 80px 0 0;
}

.sec05 .flex{
	justify-content: space-between;
	background-color: #fff;
	border-radius: 16px;
	overflow: hidden;
}

.sec05 .flex .textBox{
	width: 50%;
	padding: 40px 3.8%;

}

.sec05 .flex .imgBox{
	width: 50%;
}

.sec05 .more_btn a{
	border: 1px solid #3689b3;
}

.sec05 p{
	text-align: left;
}

@media screen and (max-width: 767px){
	.sec05{
		margin: 50px 0 0;
		padding: 60px 0 50px;
	}
	
	.sec05 .flex{
		flex-direction: column;
	}
	
	.sec05 .flex .textBox{
		width: 100%;
		order: 2;
		padding: 20px 20px 40px;
	}
	
	.sec05 .flex figure{
		order: 1;
	}
}

