@charset "utf-8";

/* -----------------------------------------------------------
    interview TOPページ
-------------------------------------------------------------- */
.interview-area{
	padding: 0 0 100px;
	position: relative;
}
.interview-area::before{
	content: "";
	display: block;
	width: 100%;
	max-width: calc(1300px + (100% - 1300px)/2 + 80px);
	height: 450px;
	background-color: var(--bg-green);
	border-radius: 150px 0 0 150px;
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
}
.interview-area .catch,
.interview-area .txt{
	text-align: center;
}
.interview-area .recruit-list{
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	margin: 50px 0 0;
}
.interview-area .recruit-list li{
	background-color: #fff;
	border-radius: 30px;
}
.interview-area .recruit-list li a{
	display: block;
	position: relative;
	border-radius: 30px;
}
.interview-area .recruit-list li{
	width: calc((100% - 40px)/ 2); 
}
.interview-area .recruit-list li .img{
	border-radius: 30px 30px 0 0;
	overflow: hidden;
	position: relative;
}
.interview-area .recruit-list li .img::after{
	content: "";
	display: block;
	width: 100%;
	height: 58px;
	background: linear-gradient(to bottom , rgba(255,255,255,0) 0% , rgba(255,255,255,0.7) 60%, rgba(255,255,255,1) 100%);
	position: absolute;
	bottom: 0;
	left: 0;
}
.interview-area .recruit-list li .titlebox{
	padding: 0 30px;
  	margin: -40px 0 20px;
}
.interview-area .recruit-list li .titlebox .title-en{
	font-size: 5.0rem;
}
.interview-area .recruit-list li .titlebox .title-jp{
	color: var(--recruit-main);
}
.interview-area .recruit-list li .catch{
	padding: 0 30px 40px;
	font-size: 2.0rem;
	line-height: 1.5;
	margin: 0;
	text-align: left;
}
.interview-area .recruit-list li .arrow-g{
	display: block;
	width: 40px;
	height: 8px;
	position: absolute;
	right: 20px;
	bottom: 30px;
	transition: 0.5s;
	background: url("../img/arrow-g.svg") no-repeat center / contain;
}
.interview-area .recruit-list li a:hover .arrow-g{
	right: 10px;
}


@media screen and (max-width: 768px) {
	.interview-area{
		margin: 30px 0 0;
		padding: 0 0 50px;
	}
	.interview-area::before{
		width: 100%;
		height: 540px;
		max-width: calc(1300px + (100% - 1300px)/2 + 80px);
		border-radius: 0 80px 80px 0;
	}
	
	.interview-area .catch,
	.interview-area .txt{
		text-align: left;
	}
	
	.interview-area .recruit-list{
		flex-direction: column;
		gap: 20px;
		margin: 30px 0 0;
	}
	.interview-area .recruit-list li{
		background-color: #fff;
		border-radius: 30px;
	}
	.interview-area .recruit-list li a{
		border-radius: 30px;
	}
	.interview-area .recruit-list li{
		width: 100%; 
	}
	.interview-area .recruit-list li .img{
		border-radius: 30px 30px 0 0;
		overflow: hidden;
		position: relative;
	}
	.interview-area .recruit-list li .img::after{
		content: "";
		display: block;
		width: 100%;
		height: 58px;
		background: linear-gradient(to bottom , rgba(255,255,255,0) 0% , rgba(255,255,255,0.7) 60%, rgba(255,255,255,1) 100%);
		position: absolute;
		bottom: 0;
		left: 0;
	}
	.interview-area .recruit-list li .titlebox{
		padding: 0 30px;
		margin: -20px 0 20px;
		text-align: left;
	}
	.interview-area .recruit-list li .titlebox .title-en{
		font-size: 3.0rem;
	}
	.interview-area .recruit-list li .titlebox .title-jp{
		color: var(--recruit-main);
		font-size: 1.5rem;
	}
	
	.interview-area .recruit-list li .catch{
		padding: 0 30px 30px;
		font-size: 1.4rem;
		line-height: 1.5;
		margin: 0;
	}
	.interview-area .recruit-list li .arrow-g{
		bottom: 20px;
	}
	
}




/* -----------------------------------------------------------
    interview クロストークページ
-------------------------------------------------------------- */
.intro-area .intro{
	display: flex;
	align-items: center;
}
.intro-area .intro .img{
	width: auto;
	max-width: 720px;
  	min-width: 525px;
	height: 380px;
	border-radius: 0 50px 50px 0;
	overflow: hidden;
	flex-shrink: 0;
}
.intro-area .intro .img img{
	max-width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.intro-area .intro .catch{
	margin: 0 calc((100% - 1200px)/2) 0 80px;
	width: 600px;
}
.intro-area .member-wrap{
	width: 1200px;
	margin: 60px auto 0;
}
.intro-area .member-wrap .en{
	font-size: 5.5rem;
	line-height: 1;
	color: var(--recruit-main);
	font-family: var(--en-font);
	font-weight: 700;
	text-align: center;
	position: relative;
}
.intro-area .member-wrap .en::before,
.intro-area .member-wrap .en::after{
	content: "";
	display: inline-block;
	width: 468px;
	height: 1px;
	background-color: var(--recruit-main);
	vertical-align: middle;
}
.intro-area .member-wrap .en:before {
    margin: 0 10px 0 0;
}
.intro-area .member-wrap .en:after {
    margin: 0 0 0 10px;
}
.intro-area .member-list{
	display: flex;
	justify-content: space-around;
	margin: 30px 0;
	text-align: center;
}
.intro-area .member-list li:first-of-type{
	position: relative;
}
.intro-area .member-list li:first-of-type::before{
	content: "※掲載社員の仕事内容・部署は取材当時のものです。";
	display: inline-block;
	font-size: 1.2rem;
	width: 275px;
	position: absolute;
	bottom: -30px;
	left: 0;
	z-index: 1;
}
.intro-area .member-list .img{
	width: 140px;
	height: 140px;
}
.intro-area .member-list .img img{
	width: 100%;
	height: 100%;
}
.intro-area .member-list .txt-wrap{
	margin: 10px 0 0 ;
}
.intro-area .member-list .txt-wrap .m-name{
	font-size: 2.0rem;
	font-weight: 600;
}
.intro-area .member-list .txt-wrap .m-job,
.intro-area .member-list .txt-wrap .m-year{
	font-size: 1.4rem;
}
@media screen and (max-width: 768px){
	.intro-area .intro{
		flex-direction: column;
	}
	.intro-area .intro .img{
		width: 100%;
		max-width: 480px;
		min-width: auto;
		height: 200px;
		border-radius: 0;
	}
	.intro-area .intro .catch{
		margin: 20px 0;
		padding: 0 20px;
		width: auto;
		font-size: 2.0rem;
	}
	.intro-area .member-wrap{
		width: 100%;
		margin: 0 auto;
		padding: 0 20px;
	}
	.intro-area .member-wrap .en{
		font-size: 4.0rem;
	}
	.intro-area .member-wrap .en::before,
	.intro-area .member-wrap .en::after{
		width: calc((100% - 196px)/2 );
	}
	.intro-area .member-list{
		flex-direction: column;
		margin: 10px 0 0;
		text-align: left;
	}
	.intro-area .member-list li{
		display: flex;
		align-items: center;
		border-bottom: 1px solid #ddd;
		padding: 0 0 10px;
		margin: 10px 0 0;
	}
	.intro-area .member-list li:last-of-type{
		position: relative;
		margin: 10px 0 20px;
	}
	.intro-area .member-list li:last-of-type::before{
		content: "※掲載社員の仕事内容・部署は取材当時のものです。";
		display: inline-block;
		font-size: 1.2rem;
		width: 275px;
		position: absolute;
		bottom: -25px;
		left: 0;
		z-index: 1;
	}
	.intro-area .member-list li:first-of-type::before{
		display: none;
	}
	.intro-area .member-list .img{
		width: 90px;
		height: 90px;
	}
	.intro-area .member-list .txt-wrap{
		margin: 0 0 0 20px;
	}
}

/* ----------------------------
    クロストーク
---------------------------- */
.theme-area{
	margin: 100px 0 0;
	padding: 100px 0;
	position: relative;
}
.theme-area::before{
	content: "";
	display: block;
	width: 100%;
	max-width: calc(1300px + (100% - 1300px)/2 + 80px);
	height: 100%;
	/*background-color: var(--bg-green);*/
	background-color: var(--bg-beige);
	border-radius:  150px 0 0 150px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: -1;
}
.theme-area.style02::before{
	content: "";
	display: block;
	width: 100%;
	max-width: calc(1300px + (100% - 1300px)/2 + 80px);
	height: 100%;
	/*background-color: var(--bg-green);*/
	background-color: var(--bg-beige);
	border-radius: 0 150px 150px 0;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
.theme-area .inner{
	width: 1100px;
	margin: 0 auto;
}
.theme-area .title-en{
	font-size: 2.0rem;
	position: relative;
}
.theme-area .title-en span{
	font-size: 10rem;
	opacity: 0.15;
	position: absolute;
	top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
	left: 0;
}
.theme-area .title-jp{
	font-size: 3.0rem;
	margin: 10px 0 0;
}
.theme-area .catch{
	font-size: 3.5rem;
}
.theme-area .talk{
	display: flex;
    margin: 0 0 25px;
}
.theme-area .talk .icon-name{
    text-align: center;
}
.theme-area .talk .icon-name img{
    width: 60px;
    height: 60px;
	border-radius: 50%;
}
.theme-area .talk .icon-name .name{
	font-size: 1.4rem;
}
.theme-area .talk .txt-wrap{
    background-color: #fff;
    padding: 30px 30px 30px 30px;
    margin: 0 80px 0 23px;
	width: calc(100% - 100px);
    position: relative;
	border-radius: 20px;
	box-shadow: 0px 3px 6px rgba(180,180,180,0.16);
}
.theme-area .talk .txt-wrap::before{
    content: "";
    display: block;
    height: 0;
    border-style: solid;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-right: 8px solid #fff;
    border-left: 0;
    position: absolute;
    top: 20px;
    left: -8px;
}
.theme-area .talk .txt{
	margin: 0;
}
.theme-area .talk .txt.style2{
	margin: 20px 0 0;
}
/*---------- 逆 ----------*/
.theme-area .talk.rev .icon-name{
	order: 2;
}
.theme-area .talk.rev .txt-wrap{
    order: 1;
	margin: 0 23px 0 80px;
}
.theme-area .talk.rev .txt-wrap::before{
    border-right: 0;
    border-left: 8px solid #fff;
    position: absolute;
    top: 20px;
    left: auto;
	right: -8px;
}
@media screen and (max-width: 768px){
	.theme-area{
		margin: 50px 0 0;
		padding: 50px 0;
	}
	.theme-area::before{
		width: 100%;
		max-width: calc(1300px + (100% - 1300px)/2 + 80px);
		border-radius: 40px 0 0 40px;
	}
	.theme-area.style02::before{
		width: 100%;
		max-width: calc(1300px + (100% - 1300px)/2 + 80px);
		border-radius: 0 40px 40px 0;
	}
	.theme-area .inner{
		width: 100%;
	}
	.theme-area .title-en{
		font-size: 1.8rem;
		position: relative;
	}
	.theme-area .title-en span{
		font-size: 6rem;
	}
	.theme-area .title-jp{
		font-size: 2.5rem;
		margin: 4px 0 0;
	}
	.theme-area .catch{
		font-size: 2.0rem;
	}
	.theme-area .talk{
        flex-direction: column;
        margin: 50px 0 0;
        position: relative;
    }
    .theme-area .talk .icon-name{
        display: flex;
        align-items: center;
        position: absolute;
        top: -30px;
        z-index: 1;
    }
    .theme-area .talk .icon-name img{
        width: 60px;
        height: 60px;
        margin: 0 15px 0 -10px;
    }
    .theme-area .talk .icon-name .name{
        font-size: 1.6rem;
    }
    .theme-area .talk .txt-wrap{
        padding: 40px 20px 20px 20px;
        width: 100%;
        margin: 0;
    }
    .theme-area .talk .txt-wrap::before{
        display: none;
    }
    
	/*逆*/
	.theme-area .talk.rev .icon-name{
		flex-direction: row-reverse;
        top: -30px;
		right: -5px;
        z-index: 1;
	}
	.theme-area .talk.rev .icon-name img{
        margin: 0 -10px 0 15px;
    }
	.theme-area .talk.rev .txt-wrap{
		margin: 0;
	}
	.theme-area .talk.rev .txt-wrap::before{
		display: none;
	}
	
}


/* ----------------------------
    クロストークの間の画像
---------------------------- */
.img-area{
	width: 1100px;
	margin: 100px auto 0;
}
.img-area .img{
	border-radius: 50px;
	overflow: hidden;
}

@media screen and (max-width: 768px){
	.img-area{
		width: 100%;
		margin: 50px auto 0;
	}
	.img-area .img{
		border-radius: 0;
	}	
}


/* ----------------------------
    求職者へのメッセージ
---------------------------- */
.message-area{
	margin: 100px 0 0;
	padding: 100px 0;
	background-color: var(--bg-green);
}
.message-area .title-en{
	font-size: 2.0rem;
}
.message-area .title-jp{
	font-size: 3.0rem;
	margin: 5px 0 0;
}
.message-area .contents-wrap{
	display: flex;
	align-items: flex-start;
}
.message-area .contents-wrap.style02{
	flex-direction: row-reverse;
	margin: 30px 0 0;
}
.message-area .talk{
	display: flex;
    margin: 0 0 25px;
}
.message-area .talk .icon-name{
    text-align: center;
}
.message-area .talk .icon-name img{
    width: 60px;
    height: 60px;
	border-radius: 50%;
}
.message-area .talk .icon-name .name{
	font-size: 1.4rem;
}
.message-area .talk .txt-wrap{
    /*background-color: var(--bg-green);*/
	background-color: #fff;
    padding: 30px 30px 30px 30px;
    margin: 0 50px 0 23px;
	width: calc(100% - 100px);
    position: relative;
	border-radius: 20px;
	box-shadow: 0px 3px 6px rgba(180,180,180,0.16);
}
.message-area .talk .txt-wrap.style02{
    /*background-color: var(--bg-green);*/
	background-color: #fff;
    padding: 30px 30px 30px 30px;
    margin: 0 50px 0 23px;
	width: calc(100% - 100px);
    position: relative;
	border-radius: 20px;
	box-shadow: 0px 3px 6px rgba(180,180,180,0.16);
}
.message-area .talk .txt-wrap::before{
    content: "";
    display: block;
    height: 0;
    border-style: solid;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
 	/*border-right: 8px solid var(--bg-green);*/
	border-right: 8px solid #fff;
    border-left: 0;
    position: absolute;
    top: 20px;
    left: -8px;
}
.message-area .talk .txt{
	margin: 0;
}
.message-area .talk .txt.style02{
	margin: 20px 0 0;
}
/*---------- 逆 ----------*/
.message-area .talk.rev .icon-name{
	order: 2;
}
.message-area .talk.rev .txt-wrap{
    order: 1;
	margin: 0 23px 0 50px;
}
.message-area .talk.rev .txt-wrap::before{
    border-right: 0;
    border-left: 8px solid var(--bg-green);
    position: absolute;
    top: 20px;
    left: auto;
	right: -8px;
}
.message-area .img-area{
	width: auto;
	margin: 0 auto;
	flex-shrink: 0;
}
.message-area .img{
	border-radius: 30px;
	overflow: hidden;
	flex-shrink: 0;
}
.message-area .img-area .img.style02{
	width: 404px;
	height: 282px;
	position: relative;
	right: -188px;
	top: -90px;
}

@media screen and (max-width: 768px){
	.message-area{
		margin: 50px 0 0;
		padding: 50px 0;
	}
	.message-area .titlebox{
		margin: 0 0 10px;
	}
	.message-area .title-en{
		font-size: 1.8rem;
	}
	.message-area .title-jp{
		font-size: 2.5rem;
		margin: 5px 0 0;
	}
	.message-area .contents-wrap,
	.message-area .contents-wrap.style02{
		flex-direction: column;
		margin: 0;
	}
	.message-area .talk{
		flex-direction: column;
        margin: 50px 0 0;
        position: relative;
    }
    .message-area .talk .icon-name{
        display: flex;
        align-items: center;
        position: absolute;
        top: -30px;
        z-index: 1;
    }
    .message-area .talk .icon-name img{
        width: 60px;
        height: 60px;
        margin: 0 15px 0 -10px;
    }
    .message-area .talk .icon-name .name{
        font-size: 1.6rem;
    }
    .message-area .talk .txt-wrap{
        padding: 40px 20px 20px 20px;
        width: 100%;
        margin: 0;
    }
    .message-area .talk .txt-wrap::before{
        display: none;
    }
    
	/*逆*/
	.message-area .talk.rev .icon-name{
		flex-direction: row-reverse;
        top: -30px;
		right: -5px;
        z-index: 1;
	}
	.message-area .talk.rev .icon-name img{
        margin: 0 -10px 0 15px;
    }
	.message-area .talk.rev .txt-wrap{
		margin: 0;
	}
	.message-area .talk.rev .txt-wrap::before{
		display: none;
	}
	.message-area .img{
		width: calc(100% + 40px);
		margin: 30px auto 0;
		border-radius: 0;
		position: relative;
		left: -20px;
		z-index: 1;
	}
}

