@charset "UTF-8";

/* web font */
@font-face {
	font-family: "LINE Seed JP";
	font-weight: 700;
	src: url("/fonts/LINESeedJP_OTF_Bd.woff") format("woff");
}
@font-face {
	font-family: "LINE Seed JP";
	font-weight: 900;
	src: url("/fonts/LINESeedJP_OTF_Eb.woff") format("woff");
}

/*common
-----------------------------------------------------------------------------------------------*/
#wrapper {
    padding-top: 0;
}
main {
	.en  {
	font-family: "LINE Seed JP";
	font-weight: 700;
	}
	.ctsArea {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		margin: 0 auto;
		width: 1200px;
	}
	[class^="item0"] {
		position: absolute;	
	}
}


/*
header
-----------------------------------------------------------------------------------------------*/
#header{
	padding: 0 0 0 30px;
	height: 80px;
	background-color: transparent;
	position: fixed;
	top: 0;
	z-index: 100;
	backdrop-filter:initial;
	-webkit-backdrop-filter:initial;

	/* ヘッダーロゴ */
	.logo{
		width: 390px;
	}
	.btnBox {
		display: flex;
	}
	.btnEntry {
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 0 0 0 20px;
		width: 200px;
		height: 80px;
		background-color: #000;
		color: #fff;
		font-size: 2rem;
		font-family: "LINE Seed JP";
		font-weight: 900;
		transition: 0.3s;

		@media (hover: hover){
			&:hover{
				opacity: .7;
			}
		}
	}
}
.headerNavWrap{
	display: none;
	opacity: 0;
	transition: opacity 0.3s;
	&.panelActive{
		display: block;
		width: 100%;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 999;
		opacity: 1;
	}
}
.headerNav{
	flex-direction: column;
	width: 100%;
	height: calc(100svh - 80px);
	margin: 80px auto 0;
	padding: 40px 20px;
	gap: 10px;
	overflow-y: scroll;
	-ms-overflow-style: none;
	scrollbar-width: none;

	/* ボタン */
	.btnBase{
		margin-top: 20px;
	}
}

/* グローバルナビ
============================== */
.gNav{
	width: 100%;
	max-width: 550px;
	margin: 0 auto;
	
	> .list{
		width: 100%;
		flex-direction: column;
		font-size: 2.5rem;

		> li{
			display: inline-block;
			padding-bottom: 20px;
			
			> a,
			> p{
				span {
					color: var(--c-orange);
					font-size: 1.4rem;
					font-style: italic;
				}
				@media (hover: hover){
					&:hover{
						color: var(--c-orange);
					}
				}

				/* 矢印付き */
				&.allow{
					padding-right: 0;
					position: relative;
					&::after{	
						display: none;
					}
				}
			}
			.listLink {
				&.small {
				a {
					padding: 20px 0;
					font-size: 1.5rem;
						&::after {
							width: 20px;
							height: 20px;
						}
					}
				}
			}
		}
	}
}

/* ハンバーガーメニュー
============================== */
#btnHmbg{
	display: block;
	width: 80px;
	height: 80px;
	background-color: #fff;
	border-radius: 0px;
	position: relative;
	z-index: 999;
	transition: opacity 0.3s;

	@media (hover: hover){
		&:hover{
			opacity: .7;
		}
	}

	[class^="line"]{
		display: block;
		width: 20px;
		height: 2px;
		background-color: var(--c-orange);
		transition: transform 0.2s;
		position: absolute;
		top: 35px;
		left: 50%;
		transform: translateX(-50%)
	}
	.line02{
		top: 40px;
	}
	.line03{
		top: 45px;
	}

	/* close */
	&.active{
		background-color: var(--c-orange);
		[class^="line"]{
			top: 50%;
			background-color: #fff;
		}
		.line01{
			transform:translateX(-50%) rotate(45deg)
		}
		.line02{
			transform:translateX(-50%) rotate(-45deg)
		}
		.line03{
			display: none;
		}
	}
}

/* overlay */
#overlay{
	transition: background-color 0.3s;
	&.panelActive{
		width:100%;
		height:100%;
		background-color: rgba(255, 255, 255, 0.8);
		position:absolute;
		top:0;
		left:0;
		z-index: 99;
		cursor: zoom-out;
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
		pointer-events: all;
	}
}

/*
recruitKv
-----------------------------------------------------------------------------------------------*/
#recruitKv {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 0 100px 0;
	width: 100%;
	height: 820px;
	background: url(/images/bg_recruit_kv_pc.png) no-repeat center center/cover;
	position: relative;

	.ctsArea {
		height: 100%;
		position: relative;
	}
	.tit {
		padding-top: 50px;
		padding-right: 60px;
		z-index: 10;
	}
	.txt {
		position: absolute;
		top: 233px;
		left: 72%;
		transform: translateY(-50%);
		font-family: "LINE Seed JP";
		font-weight: 700;
		font-size: 3.8rem;
		color: #0550e6;
		letter-spacing: -0.1rem;
		z-index: 10;
	}

	/* テキストアニメーション */
	.txtAnm {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 20px;
		overflow: hidden;
		transform: translate(-316px, 0);
		transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
	  }
	  .txtAnm span {
		display: block;
		width: fit-content;
		transform: translate(316px, 0);
		transition: transform cubic-bezier(0.215, 0.61, 0.355, 1) 0.5s;
		line-height: 1;
		position: relative;
		font-feature-settings: "palt";
		&::before {
			content: "";
			width: 100%;
			height: 100%;
			display: block;
			background: #fff;
			position: absolute;
			left: 3px;
			z-index: -1;
		}
	  }
	  .txtAnm.fadein,
	  .txtAnm.fadein span {
		transform: translate(0, 0);
	  }

	/* item */
	.item01 {
		top: 45%;
		left: 47%;
		transform: translate(-50%,-50%);
		z-index: 0;
	}
	.item02 {
		left: auto;
		right: -50px;
		bottom: 0;
		z-index: 10;
	}
	.item03 {
		width: 100%;
		bottom: 0;
		z-index:20;
	}
	
	/* banner */
	.banner {
		display: block;
		position: absolute;
		right: 30px;
		bottom: -70px;
		z-index: 30;
		animation-delay: 2.5s;

		img {
			border-radius: 20px;
			transition: opacity 0.3s;
			@media (hover: hover){
				&:hover{
					opacity: .7;
				}
			}
		}
	}
}


/*
catch
-----------------------------------------------------------------------------------------------*/
#catch {
	padding: 100px 0 300px;
	width: 100%;
	text-align: center;
	background: url(/images/bg_recruit_catch_pc.png) no-repeat top -30px center / contain;
	position: relative;
	z-index: 0;
	.txtArea {
		.tit {
			margin-bottom: 60px;
		}
		.txt {
			font-size: 1.8rem;
			line-height: 4.7rem;
		}
	}
	.photo {
		position: absolute;
		z-index: -1;
		filter: var(--ds-10);
	}
	.photo01 {
		top: -30px;
		left: -20px;
	}
	.photo02 {
		top: 20px;
		right: 50px;
	}
	.photo03 {
		top: 350px;
		left: 96px;
	}
	.photo04 {
		top: 330px;
		right: -10px;
	}
	.photo05 {
		top: 690px;
		left: 60px;
	}
	.photo06 {
		top: 750px;
		right: 190px;
	}

	/* item */
	.item01 {
		top: 60px;
		left: 310px;
	}
	.item02 {
		top: 160px;
		right: 20px;
	}
	.item03 {
		top: 500px;
		left: 260px;
	}
	.item04 {
		top: 515px;
		right: 300px;
	}
	.item05 {
		top: 900px;
		left: 280px;
	}
	.item06 {
		top: 910px;
		right: 90px;
	}

}


/*
recruitCtsArea
-----------------------------------------------------------------------------------------------*/
.recruitCtsArea {
	position: relative;
	padding: 220px 0 0 ;
	margin: 0 auto 100px;
	.ctsBox {
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 80px 0 0 0;
		width: 1080px;
		border-radius: 40px;
		background: #fff;
		position: relative;
		>.tit {
			font-size:10rem;
			font-style: italic;
			font-family: "LINE Seed JP";
			font-weight: 900;
			white-space: nowrap;
			line-height: 1;
			color: var(--c-orange);
			position: absolute;
			top: -50px;
			left: 50%;
			transform: translateX(-50%);
		}
	}
	.bg {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		z-index: -1;
		img {
			border-radius: 40px;
		}
	}
	.recruitCtsBox {
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		gap: 90px;
		.subTit {
			color: #0550e6;
			font-size: 1.6rem;
			margin-bottom: 20px;
			font-weight: var(--fw-bold);
		}
		.tit {
			font-size: 3.0rem;
			margin-bottom: 40px;
		}
		.txt {
			text-align: justify;
			font-weight: var(--fw-medium);
			font-size: 1.6rem;
			line-height: 2.2;
		}
		.boxL {
			width: 450px;
		}
		.boxR {
			width: 400px;
		}
		.recruitCtsImg {
			text-align: center;
		}
		.listLink {
			&.small {
				a {
					padding: 20px 0;
					font-size: 1.6rem;
					text-align: left;
					&::after {
						width: 20px;
						height: 20px;
					}
				}
			}
		}
	}
}


/*
interview
-----------------------------------------------------------------------------------------------*/
#interview {
	padding: 100px 0;
	background: #faf8f5;
	border-radius: 40px;
	text-align: center;
	.tit {
		margin-bottom: 5px;
		font-size:8.1rem;
		font-style: italic;
		font-weight: 900;
		white-space: nowrap;
		line-height: 1;
		color: var(--c-orange);
	}
	.subTit {
		color: #0550e6;
		font-size: 1.8rem;
		margin-bottom: 20px;
		font-weight: var(--fw-bold);
	}
	.ctsBox {
		position: relative;
	}
	.btnBase {
		justify-content: center;
	}
}
.interviewBox {
	position: relative;
	margin: 0 0 0 8vw;
}
.listInterview {
	position: relative;
	>li {
		&:nth-of-type(odd) a{
			margin-top: 40px;
		}
		a {
			display: block;
			border-bottom: 1px solid #dddddd;
			position: relative;
			transition: color 0.2s;
			
			&::before {
				width: 50px;
				content: "";
				height: 1px;
				background-color: var(--c-orange);
				position: absolute;
				left: 0;
				bottom: -1px;
				transition: width 0.5s;
			}
			&::after {
				content: "";
				width: 30px;
				height: 30px;
				border-radius: 50%;
				background: url(/images/btn_arrow_white.svg) var(--c-orange) no-repeat center center / 35%;
				position: absolute;
				right: 10px;
				bottom: 30px;
				transition: right 0.3s;
			}
			/* ホバー動き */
			@media (hover: hover){
				&:hover {
					&::before {
						width: 100%;
					}
					&::after{
						right: 0px;
					}
				}
				&:hover .interviewImg{
					transform: scale(1.1);
				}
			}
		}
	}
	.num {
		font-size: 5rem;
		color: var(--c-orange);
		line-height: 1;
		position: absolute;
		top: -3px;
		left: -2px;
		z-index: 10;
	}
	.imgArea {
		position: relative;
		border-radius: 20px;
		overflow: hidden;
	}
	.interviewImg{
		transition: transform 0.5s;
	}
	.positionBox {
		position: absolute;
		right: 0;
		bottom: 0;
	}
	.position {
		padding: 20px;
		text-align: left;
		font-size: 1.5rem;
		line-height: 1.3;
		border-radius: 20px 0 0 0;
		background: #faf8f5;
		position: relative;
		span {
			display: block;
			margin-top: 8px;
			color: #999999;
		}
		&::before,
		&::after {
			content: "";
			width: 20px;
			height: 20px;
			background: url(/images/item_recruit_interview.svg) no-repeat center/contain;
			position: absolute;
			top: -20px;
			right: 0;
		}
		&::after  {
			top: auto;
			right: auto;
			bottom: 0;
			left: -20px;
		}
	}
	.name {
		padding: 10px 10px 10px 20px;
		font-size: 2.5rem;
		text-align: left;
		.en {
			display: block;
			color: var(--c-orange);
			font-size: 1.3rem;
		}
		.scale {
			display: block;
			transform: scale(0.9, 1);
			transform-origin: top left;
		}
	}
}


/* swiper
==================================== */
#interview {
	 .swiper{
		padding: 40px 0 60px;
	}
	.listInterview {
		display: flex;
		>li {
		width: 300px;
		transform-origin: 100% 0;
		}
	}
	 
	/* pagination */
	 .swiper-pagination-bullet-active{
		background-color: #000;
	}
	 .swiper-pagination{
		text-align: left;
	}
	 .swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
		display: none;
	}
	/* swiper-button */
	 .swiper-button-prev,
	 .swiper-button-next{
		display: flex;
		justify-content: center;
		align-items: center;
		width:55px;
		height:55px;
		border: 1px solid var(--c-orange);
		background-color: #fff;
		border-radius: 50%;
		position: absolute;
		top: auto;
		bottom: -50px;
		z-index: 99;
		transition: background-color 0.2s;
	}
	 .swiper-button-prev{
		right: 220px;
		left: auto;
	}
	 .swiper-button-next{
		right: 140px;
	}
	 .swiper-button-prev:hover,
	 .swiper-button-next:hover{
		background-color: var(--c-orange);
	}
	 .swiper-button-prev::after,
	 .swiper-button-next::after{
		content: "";
		width: 100%;
		height: 100%;
		display:block;
		width:50px;
		height:50px;
		background: url("/images/btn_arrow_orange.svg") no-repeat center center / 35%;
		transition: background-images 0.2s;
	}
	 .swiper-button-prev:hover:after,
	 .swiper-button-next:hover:after{
		background: url("/images/btn_arrow_white.svg") no-repeat center center / 35%;
	}
	 .swiper-button-prev::after{
		transform: rotate(180deg);
	}
}

@media screen and (max-width:812px){
	#interview {
		.swiper{
			padding: 25px 0 70px;
		}
		.listInterview {
			display: flex;
			>li {
				width: 220px;
			}
		}
		/* pagination */
			.swiper-pagination{
			text-align: left;
		}
			.swiper-horizontal>.swiper-pagination-bullets,.swiper-pagination-bullets.swiper-pagination-horizontal,.swiper-pagination-custom,.swiper-pagination-fraction {
			left:0;
			right: auto;
			bottom: 0;
			width: 100%;
		}
		/* swiper-button */
			.swiper-button-prev,
			.swiper-button-next{
			width:35px;
			height:35px;
			bottom: 18px;
		}
			.swiper-button-prev{
			right: 70px;
			left: auto;
		}
			.swiper-button-next{
			right: 25px;
		}
			.swiper-button-prev::after,
			.swiper-button-next::after{
			width:45px;
			height:45px;
		}
	}
}


/*
message
-----------------------------------------------------------------------------------------------*/
#message {
	overflow-y: clip;
	/* スライドの動き等速 */
	.swiper-wrapper {
		transition-timing-function: linear;
	}
	[class^="messageSwiper"] {
		width: auto;
		max-height: 940px;
	}
	.ctsArea {
		width: 1140px;
		flex-direction: initial;
		justify-content: space-between;
		position: relative;
		&::before {
			content: "";
			width: 650px;
			height: 518px;
			background: url(/images/logo_mark.svg) center center / contain no-repeat;
			position: absolute;
			left: -100px;
			bottom: -20px;
			z-index: -1;
			opacity: 0.1;
		}
	}
	.tit {
		font-size:8.1rem;
		font-style: italic;
		font-weight: 900;
		white-space: nowrap;
		line-height: 1;
		color: var(--c-orange);
	}
	.subTit {
		color: #0550e6;
		font-size: 1.8rem;
		margin-bottom: 20px;
		font-weight: var(--fw-bold);
	}
	.txt {
		font-size: 1.6rem;
		line-height: 2.2;
	}
	.boxR {
		display: flex;
		align-items: center;
		gap:  30px;
	}
}
[id^="messageGallery"] {
	li {
		border-radius: 20px;
		overflow: hidden;
		img {
			width: 225px;
			/* height: 336px; */
		}
	}
}


/*
entry
-----------------------------------------------------------------------------------------------*/
#entry {
	margin-bottom: 100px;
	&.ctsArea {
		height: 487px;
		border-radius: 40px;
		background: url(/images/bg_recruit_entry_pc.png) no-repeat center/contain;
	}
	.ctsBox {
		width: 1140px;
		display: flex;
		justify-content: space-between;
	}

	/* キャッチコピー */
	.catch{
		margin-bottom: 20px;
		font-size: 6rem;
		font-family: "LINE Seed JP";
		font-weight: 700;
		color: #fff;
		line-height: 1.3;

		span{
			font-size: 4.8rem;
		}
	}
	.txt {
		color: #fff;
		font-size: 1.8rem;
	}
	.boxR {
		text-align: center;
	}
	.notes{
		margin-top: 10px;
		color: #fff;
	}
	.btnBase {
		a.item{
			display: flex;
			align-items: center;
			justify-content: center;
			width: 400px;	
		}
		&.black {
			a.item {
				height: 120px;
				font-size: 3.2rem;
				color: #fff;
			
				&::after {
					content: "";
					width: 60px;
					height: 60px;
					border-radius: 50%;
					background: url(/images/ico_window_black.svg) #fff no-repeat center center / 35%;
					position: absolute;
					right: 20px;
					bottom: 50%;
					transform: translateY(50%);
					transition: right 0.3s;
				}
				@media (hover: hover){
					&:hover{
						&::after{
							right: 10px;
						}
					}
				}
			}
		}
		&.white {
			a.item {
				height: 85px;
				font-size: 2.2rem;
				color: var(--c-orange);
				background: #fff;
				margin-top: 55px;
				&::after {
					content: "";
					width: 42px;
					height: 42px;
					border-radius: 50%;
					background: url(/images/ico_window_white.svg) var(--c-orange) no-repeat center center / 35%;
					position: absolute;
					right: 20px;
					bottom: 50%;
					transform: translateY(50%);
					transition: right 0.3s;
				}
				@media (hover: hover){
					&:hover{
						&::after{
							right: 10px;
						}
					}
				}
			}
		}
	}
}
#copyright {
 background: #000;
 justify-content: center;
}
#pageTop {
	background: var(--gd-orange);
	transform: rotate(0deg);
	&::after {
		content: "";
		width: 70px;
		height: 70px;
		background: url(/images/btn_arrow_white.svg)  no-repeat center center / 22%;
		position: absolute;
		right: 0;
		bottom: 0;
		transform: rotate(-90deg);
		transition: 0.3s;
	}
	@media (hover: hover){
		&:hover{
			background: var(--gd-orange);
			&::after {
				bottom: 5px;
			}
		}
	}
}
a {
	&#btnRecruit {
	display: none;
	}
}



/* index以外の共通TOP */
.topArea {
	padding: 0 0 120px 0;
}
.topBox {
	width: 100%;
	height: 410px;
	margin: 0 auto;
	padding: 140px 0 0 0;
	background: url(/images/bg_recruit_top_pc.png) no-repeat center/cover;
	border-radius: 0 0 40px 40px;
	text-align: center;
	position: relative;
	.tit {
		line-height: 1;
		font-size: 8rem;
		font-weight: 900;
		font-style: italic;
		color: #fff;
	}
	.subTit {
		margin-top: 5px;
		font-size: 1.8rem;
		color: #0550e6;
		font-weight: var(--fw-bold);
	}
	.txt {
		margin-top: 10px;
		font-size: 1.6rem;
	}
	&::after {
		content: "";
		width: 178px;
		height: 180px;
		position: absolute;
		bottom: -30px;
		right: 7%;
		background: url(/images/item_env_top.svg) no-repeat center/contain;
	}
}


/* environment 働く環境ページ
-----------------------------------------------------------------------------------------------*/
#envArea {
	margin-bottom: 120px;
	.envCtsFirst {
		margin: 50px auto 0;
	}

	/* トライズで働くポイント */
	#point {
		margin-bottom: 0;
		.listPoint {
			display: flex;
			flex-wrap: wrap;
			gap: 90px 25px;
			>li {
				width: calc((100% - 75px)/4);
				.tit {
					margin-top: 25px;
					text-align: center;
					font-size: 1.8rem;
					font-weight: var(--fw-bold);
					>span{
						display: block;
						margin-bottom: 10px;
						font-family: var(--ff-en-lato);
						font-weight: 900;
						font-size: 1.6rem;
						line-height: 1;
						letter-spacing: 0.1rem;
						color: var(--c-orange);
					}
				}
				.txt {
					margin-top: 20px;
					font-size: 1.5rem;
					text-align: justify;
				}
			}
		}
		.photo {
			img{
				width: 100%;
				border-radius: 20px;
				overflow: hidden;
			}
		}
		
		
	}
	/* 仕事・職種紹介 */
	#job {
		border-radius: 40px;
		background: #faf8f5;

		.ctsAera{
			width: var(--width-base);
			margin: 0 auto;
			padding: 90px 30px 100px;
		}
		
		.listjob {
			display: flex;
			flex-wrap: wrap;
			flex-direction: initial;
			gap: 90px 25px ;
			margin-top: 100px;
			>li {
				width: calc((100% - 50px) / 3);
				padding: 70px 30px 30px 30px;
				background: #fff;
				border-radius: 20px;
				filter: drop-shadow(0 0 10px rgba(0, 0, 0, .08));
				position: relative;
				.tit {
					display: flex;
					justify-content: center;
					align-items: center;
					text-align: center;
					font-size: 1.8rem;
					color: var(--c-orange);
					min-height: 77px;
				}
				.txt {
					margin-top: auto;
					font-size: 1.5rem;
					line-height: 1.9;
					text-align: justify;
				}
				&::after {
					content: "";
					width: 100%;
					height: 100px;
					position: absolute;
					top: -50px;
					left: 50%;
					transform: translateX(-50%);
					background: url(/images/item_env_job01.svg) no-repeat center/contain;
				}
				&.type02::after {
					background: url(/images/item_env_job02.svg) no-repeat center/contain;

				}
				&.type03::after {
					background: url(/images/item_env_job03.svg) no-repeat center/contain;

				}
				&.type04::after {
					background: url(/images/item_env_job04.svg) no-repeat center/contain;

				}
				&.type05::after {
					background: url(/images/item_env_job05.svg) no-repeat center/contain;

				}
			}
		}
	}

	/* 勤務エリアについて */
	#envWorkLocation {
		width: 1140px;
		padding: 90px 0 100px;
		text-align: center;
		.locationArea {	
			padding-left: 30px;
			background: url(/images/bg_supportarea01.svg) no-repeat 13% top / 11%,
			url(/images/bg_supportarea02.svg) no-repeat 84% bottom / 11%;
		}
		.titCmnObi {
			margin-top: 60px;
		}
	}
	.halfList {
		&.listFacility {
			width: 100%;
			flex-direction: initial;
			justify-content: space-between;
			flex-wrap: wrap;
			margin: 30px auto 0;
			>li {
				width: 550px;
			}
			.facilityBox {
				& [class^="ctsAera"] {
					.photo {
						display: flex;
						align-items: center;
						justify-content: center;
						width: 200px;
						border-radius: 10px;
						overflow: hidden;
						img {
							height: 200px;
							width: auto;
						}
					}
					.txtArea {
						text-align: left;
						min-height: 160px;
						width: calc(100% - 200px);
					}
				}
			}
		}
	}

	/* 制度・福利厚生 */
	#welfare {
		background: #faf8f5;
		border-radius: 40px;

		.ctsArea{
			width: var(--width-base);
			margin: 0 auto;
			padding: 80px 30px;
		}
	}
	.listWelfare {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 80px;
		margin-top: 50px;
		>li {
			width: calc((100% - 80px)/2);
		}
		.tit {
			margin-bottom: 20px;
			padding-bottom: 15px;
			font-size: 2rem;
			color: var(--c-orange);
			border-bottom: 1px solid var(--c-orange);
		}
		.txt {
			display: flex;
			flex-direction: column;
			gap: 5px;
			font-size: 1.5rem;
		}
		[class^="btnBase"] {
			margin-top: 20px;
		}
	}
}

/*interview　インタビュー一覧ページ
-----------------------------------------------------------------------------------------------*/
.interviewArea {
	.topBox {
		&::after {
		width: 247px;
		background: url(/images/item_interview_top.svg) no-repeat center/contain;
		}
	}
}
#interview {
	/* noSwiper スワイプなし */
	&.noSwiper {
		width: 1000px;
		padding: 0 0 120px 0;
		margin: 0 auto;
		background: #fff;
		border-radius: 0px;
		.interviewBox {
			margin: 0 auto;
		}
		.listInterview {
			flex-wrap: wrap;
			gap:80px 50px;
			>li {
				width: 300px;
				&:nth-of-type(odd) a {
					margin-top: 0px;
				}
			}
		}
		.position {
			background: #fff;
			&::before,
			&::after {
				background: url(/images/item_recruit_interview_white.svg) no-repeat center/contain;
			}
		}
	}
}

/*profile　各インタビューページ　
-----------------------------------------------------------------------------------------------*/
.profileArea {
	.topBox {
		&::after {
		width: 114px;
		background: url(/images/item_profile_top.svg) no-repeat center/contain;
		}
	}
	.profileBox {
		display: flex;
		gap: 50px;
		align-items: center;
		width: 1300px;
		padding: 0 80px;
		margin: 0 auto;
		.photo {
			border-radius: 20px;
			overflow: hidden;
		}
	}
	.txtArea {
		text-align: left;
		>.tit {
			font-size: 3.0rem;
			font-weight: 700;
			font-style: normal;
			color: #000;
			span {
				padding-left: 20px;
				font-size: 1.6rem;
				color: #fff;
			}
		}
	}
	.listProfile {
		display: flex;
		flex-direction: column;
		gap: 10px;
		margin-top: 30px;
		>li {
			display: flex;
			align-items: center;
			font-size: 1.5rem;
			span {
				display: inline-flex;
				align-items: center;
				justify-content: center;
				padding: 5px 10px;
				margin-right: 20px;
				min-width: 100px;
				font-size: 1.2rem;
				color: #fff;
				background: #000;
				border-radius: 15px;
			}
		}
	}
}
#profileFaq {
	&.ctsArea {
		width: 800px;
		margin: 0 auto 120px;
	}
}
.listProfileFaq {
	width: 100%;
	display: flex;
	flex-direction: column;
	gap: 50px;
	>li {
		.txtArea {
			display: flex;
			flex-direction: column;
			gap: 10px;
		}
		&.col2 {
			display: flex;
			flex-direction: initial;
			align-items: flex-start;
			gap: 20px;
			.txtArea {
				width: calc(100% - 320px);
			}
			.photo {
				border-radius: 20px;
				overflow: hidden;
			}
		}
		&.reverse{
			flex-direction: row-reverse;
		}
	}
	.tit,
	.txt {
		position: relative;
		padding: 35px 35px 35px 80px;
		font-size: 1.5rem;
		border-radius: 20px;
		background: var(--c-orange);
		color: #fff;
	}
	.txt  {
		background: #faf8f5;
		color: #000;
		text-align: justify;
	}
	.tit::before,
	.txt::before{
		display: block;
		font-size: 3rem;
		font-family: var(--ff-en-lato);
		font-weight: 700;
		line-height: 1;
		position: absolute;
		top: 45px;
		left: 30px;
	}
	.tit::before {
		content: "Q";
		transform: translateY(-50%);
	}
	.txt::before {
		content: "A";
		color: var(--c-orange);
		top: 30px;
	}
}
.profile {
	margin-bottom: 120px;
	.btnBase {
		margin-top: 60px;
	}
}

/* エベッサコラム
-----------------------------------------------------------------------------------------------*/
#evessa{
	width: 100%;
	margin-top: 30px;
	padding: 30px;
	background-color: #fff;

	.tit{
		margin-bottom: 20px;
		padding: 10px 15px;
		font-size: 2.0rem;
		font-weight: var(--fw-bold);
		color: #fff;
		background-color: var(--c-orange);
		border-radius: 5px;
	}

	.txtAreaWrapper{
		display: flex;
		gap: 50px;
		
		.txtArea{
			width: calc(100% - 550px);

			.btnBase{
				margin-top: 20px;
			}
		}
		.photo{
			width: 500px;
			border-radius: 20px;
			overflow: hidden;
		}
	}

	.movieArea{
		margin-top: 30px;
		video{
			width: 100%;
		}
	}
}

/*footer
-----------------------------------------------------------------------------------------------*/
#footer {
	& .ctsArea {
		&::before {
			display: none;
		}
	}
}





/* レスポンシブ */
@media screen and (width < 750px){
	/*common
	-----------------------------------------------------------------------------------------------*/
	main {
		.ctsArea {
			width: 100%;
			max-width: 500px;
		}
	}

	/*
	header
	-----------------------------------------------------------------------------------------------*/
	#header{
		padding: 0 0 0 15px;
		height: 60px;

		/* ヘッダーロゴ */
		.logo{
			width: 180px;
		}
		.btnEntry {
			border-radius: 0 0 0 10px;
			width: 100px;
			height: 60px;
			font-weight: 700;
			font-size: 1.5rem;
		}
	}

	/* グローバルナビ
	============================== */
	.gNav{
		> .list{
			font-size: 1.8rem;
			> li{
				padding-bottom: 10px;
				border-bottom: none;
				> a,
				> p{
					span {
						font-size: 1.2rem;
					}
				}
				.listLink {
					&.small {
						padding: 15px 0 0 0;
					a {
						padding: 10px 0;
						font-size: 1.4rem;
						border-bottom: 1px solid var(--c-grey);
							&::after {
								width: 15px;
								height: 15px;
							}
						}
					}
				}
			}
		}
	}

	/* ハンバーガーメニュー
	============================== */
	#btnHmbg{
		width: 60px;
		height: 60px;
		[class^="line"]{
			display: block;
			width: 20px;
			top: 25px;
			left: 50%;
			transform: translateX(-50%)
		}
		.line02{
			top: 30px;
		}
		.line03{
			top: 35px;
		}
	}


	/*
	recruitKv
	-----------------------------------------------------------------------------------------------*/
	#recruitKv {
		margin: 0 0 50px 0;
		height: 570px;
		.ctsArea {
			max-width: 400px;
		}
		.tit {
			padding-top: 0;
			padding-right: 30px;
			padding-bottom: 20px;
		}
		.txt {
			position: absolute;
			top: 130px;
			left: auto;
			right: 20px;
			font-size: 2.1rem;
		}

		/* テキストアニメーション */
		.txtAnm {
			gap: 10px;
		}

		/* item */
		.item01 {
			width: 437px;
			top: 55%;
			left: 44%;
			transform: translate(-50%,-50%);
		}
		.item02 {
			width: 171px;
			left: auto;
			right: 0px;
			bottom: 0;
			z-index: 10;
		}
	
		/* banner */
		.banner {
			width: 135px;
			right: 10px;
			bottom: -50px;
			img {
				border-radius: 10px;
			}
		}
	}


	/*
	catch
	-----------------------------------------------------------------------------------------------*/
	#catch {
		padding: 40px 20px 190px;
		.txtArea {
			.tit {
				margin-bottom: 30px;
			}
			.txt {
				font-size: 1.4rem;
				line-height: 3rem;
				text-align: justify;
			}
		}
		[class^="photo"] {
			width: 100px;
			border-radius: 10px;
		}
		.listPhoto {
			display: block;
		}
		.photo01 {
			width: 100px;
			top: -5px;
			left: -5px;
		}
		.photo02 {
			width: 80px;
			top: 20px;
			right: 10px;
		}
		.photo03,
		.photo04 {
			display: none;
		}
		.photo05 {
			width: 180px;
			top: 500px;
			left: 20px;
		}
		.photo06 {
			top: 450px;
			right: 10px;
		}

		/* item */
		[class^="item0"] {
			width: fit-content;
		}
		.item01,.item02,.item05 {
			display: none;
		}
		.item03 {
			height: 50px;
			width: 70px;
			top: 470px;
			left: 5px;
		}
		.item04 {
			height: 50px;
			width: 45px;
			top: 70px;
			right: 5px;
		}
		.item06 {
			height: 60px;
			top: 540px;
			right: 20px;
		}
	}


	/*
	recruitCtsArea
	-----------------------------------------------------------------------------------------------*/
	.recruitCtsArea {
		padding: 100px 0 0 ;
		margin: 0 auto 60px;
		.ctsBox {
			padding: 40px 20px 0;
			width: calc(100% - 40px);
			margin: 0 auto;
			border-radius: 10px;
			>.tit {
				font-size:4.2rem;
				text-align: center;
				left: 50%;
				transform: translate(-50%, 0%);
				top: auto;
				bottom: 97%;
			}
		}
		.bg {
			width: 100%;
			img {
				border-radius: 10px;
			}
		}
		.recruitCtsBox {
			flex-direction: column;
			gap: 10px;

			.subTit {
				font-size: 1.4rem;
				margin-bottom: 5px;
			}
			.tit {
				font-size: 2rem;
				margin-bottom: 15px;
			}
			.txt {
				font-size: 1.4rem;
				line-height: 1.7;
			}
			.boxL {
				width: 100%;
			}
			.boxR {
				width: 100%;
			}
			.recruitCtsImg {
				img{
					width: 70%;
					margin: 0 auto 15px;
				}
			}
			.listLink {
				&.small {
					padding: 0 ;
					a {
						border-bottom: 1px solid var(--c-grey);
						padding: 10px 0;
						font-size: 1.4rem;
					}
				}
			}
		}
	}


	/*
	interview
	-----------------------------------------------------------------------------------------------*/
	#interview {
		padding: 60px 0 80px;
		border-radius: 20px;
		.tit {
			font-size:4.2rem;
		}
		.subTit {
			font-size: 1.2rem;
			margin-bottom: 10px;
		}
	}
	.listInterview {
		>li {
			&:nth-of-type(odd) a{
				margin-top: 20px;
			}
			a {
				&::after {
					width: 20px;
					height: 20px;
					right: 0;
				}
			}
		}
		.num {
			font-size: 3rem;
		}
		.interviewImg{
			border-radius: 10px;
		}
	.position {
		padding: 15px;
		font-size: 1.4rem;
		line-height: 1.2;
		border-radius: 10px 0 0 0;
		span {
			margin-top: 8px;
		}
		&::before,
		&::after {
			width: 10px;
			height: 10px;
			top: -10px;
		}
		&::after  {
			left: -10px;
			top: auto;
		}
		}
		.name {
			padding: 10px 5px 10px 10px;
			font-size: 2rem;
			.en {
				font-size: 1.2rem;
			}
		}
	}


	/*
	message
	-----------------------------------------------------------------------------------------------*/
	#message {
		[class^="messageSwiper"] {
			max-height: 400px;
		}
		.ctsArea {
			width: 100%;
			padding: 60px 20px 0;
			flex-direction: column;
			gap: 20px;
			&::before {
				width: 50%;
				height: 50%;
				left: -10px;
				bottom: auto;
				top: 200px;
			}
		}
		.tit {
			font-size:4.2rem;
			text-align: center;
		}
		.subTit {
			font-size: 1.4rem;
			text-align: center;
			margin-bottom: 10px;
		}
		.txt {
			font-size: 1.4rem;
			line-height: 2;
		}
		.boxR {
			display: flex;
			align-items: center;
			gap: 15px;
		}
	}
	[id^="messageGallery"] {
		width: auto;
		li {
			border-radius: 10px;
			img {
				width: 150px;
				/* height: 200px; */
			}
		}
	}


	/*
	entry
	-----------------------------------------------------------------------------------------------*/
	#entry {
		margin-bottom: 60px;
		&.ctsArea {
			height: auto;
			border-radius: 20px;
			background: url(/images/bg_recruit_entry_sp.png) no-repeat top center/cover;
		}
		.ctsBox {
			width: 100%;
			padding: 60px 20px;
			flex-direction: column;
		}
		/* キャッチコピー */
		.catch{
			margin-bottom: 10px;
			font-size: 3.8rem;

			span{
				font-size: 3rem;
			}
		}
		.txt {
			font-size: 1.4rem;
		}
		.boxR {
			margin-top: 20px;
		}
		.notes{
			font-size: 1.2rem;
		}
		.btnBase {
			justify-content: center;
			a.item{
				width: 280px;
				padding: 20px 40px 20px 30px;	
			}
			&.black {
				a.item {
					height: 70px;
					font-size: 2.3rem;
					&::after {
						width: 35px;
						height: 35px;
					}
				}
			}
			&.white {
				a.item {
					height: 60px;
					font-size: 1.6rem;
					margin-top: 20px;

					&::after {
						content: "";
						width: 30px;
						height: 30px;
					}
					@media (hover: hover){
						&:hover{
							&::after{
								right: 10px;
							}
						}
					}
				}
			}
		}
	}
	#pageTop {
		&::after {
			content: "";
			width: 60px;
			height: 60px;
		}
	}

	/* index以外の共通TOP */
	.topArea {
		padding: 0 0 80px 0;
	}
	.topBox {
		height: 100%;
		padding: 80px 0 30px 0;
		border-radius: 0 0 20px 20px;
		background: url(/images/bg_recruit_top_sp.png) no-repeat top center/cover;
		.tit {
			font-size: 3.4rem;
		}
		.subTit {
			font-size: 1.4rem;
		}
		.txt {
			margin-top: 5px;
			font-size: 1.2rem;
		}
		&::after {
			width: 25%;
			height: 25%;
			bottom: -20px;
			right: 2%;
		}
	}	
		/* environment 働く環境ページ
	-----------------------------------------------------------------------------------------------*/
	#envArea {
		margin-bottom: 80px;
		.envCtsFirst {
			margin: 20px auto 0;
		}

		/* トライズで働くポイント */
		#point {
			.listPoint {
				flex-direction: column;
				gap: 50px;
				max-width: 400px;
				>li {
					width: 100%;
					.tit {
						margin-top: 15px;
						font-size: 1.8rem;
						>span{
							margin-bottom: 5px;
							font-size: 1.6rem;
						}
					}
					.txt {
						margin-top: 10px;
						font-size: 1.4rem;
					}
				}
			}
			.photo {
				img{
					border-radius: 10px;
				}
			}
		}

		/* 仕事・職種紹介 */
		#job {
			border-radius: 20px;

			.ctsAera{
				padding: 40px 20px;
			}

			.listjob {
				flex-direction: column;
				gap: 50px ;
				margin-top: 50px;
				width: 100%;
				max-width: 350px;
				>li {
					width: 100%;
					padding: 40px 20px 20px 20px;
					border-radius: 10px;
					.tit {
						font-size: 1.6rem;
						min-height: auto;
					}
					.txt {
						margin-top: 10px;
						font-size: 1.4rem;
					}
					&::after {
						width: 100%;
						height: 70px;
						top: -35px;
					}
				}
			}
		}

		/* 勤務エリアについて */
		#envWorkLocation {
			width: 100%;
			padding: 60px 20px 80px;
		.locationArea {	
			padding-left: 0;
			background: url(/images/bg_supportarea01.svg) no-repeat left top / 12%,
			url(/images/bg_supportarea02.svg) no-repeat right bottom / 12%;
			img {
				width: 100%;
			}
		}
			.titCmnObi {
				margin-top: 50px;
			}
		}
		.halfList {
			&.listFacility {
				width: 100%;
				flex-direction: column;
				margin: 30px auto 0;
				>li {
					width: 100%;
				}
				.facilityBox {
					& [class^="ctsAera"] {
						.photo {
							width: 100%;
						img {
							height: inherit;
							width: inherit;
						}
						}
						.txtArea {
							min-height: auto;
							width: 100%;
						}
					}
				}
			}
		}

		/* 制度・福利厚生 */
		#welfare {
			border-radius: 20px;
	
			.ctsArea{
				padding: 40px 20px;
			}
		}
		.listWelfare {
			flex-direction: column;
			gap: 30px;
			margin-top: 30px;
			>li {
				width: 100%;
			}
			.tit {
				margin-bottom: 15px;
				padding-bottom: 10px;
				font-size: 1.7rem;
			}
			.txt {
				font-size: 1.4rem;
			}
			[class^="btnBase"] {
				margin-top: 15px;
			}
		}
	}


	/*interview
	-----------------------------------------------------------------------------------------------*/
	.interviewArea {
		.topBox {
			&::after {
			width: 25%;
			}
		}
	}
	#interview {
	/* noSwiper スワイプなし */
	&.noSwiper {
		padding: 0px 20px 80px;
		width: 100%;
		max-width: 500px;
		.listInterview {
			gap:40px 20px;
			>li {
				width: calc((100% - 20px)/2);
			}
			.position {
				padding: 10px;
				font-size: 1.2rem;
				span {
					margin-top: 4px;
				}
			}
			.name {
				padding: 7px 5px 7px 10px;
				font-size: 1.8rem;
			}
			.imgArea {
				border-radius: 10px;
			}
		}
	}
	}

	/*profile　各インタビューページ　
	-----------------------------------------------------------------------------------------------*/
	.profileArea {
		.topBox {
			&::after {
			width: 16%;
			}
		}
		.profileBox {
			flex-direction: column;
			gap: 20px;
			width: 100%;
			padding: 0 20px;
			.photo {
				border-radius: 10px;
				img {
					width: 150px;
					height: 150px;
				}
			}
		}
		.txtArea {
			width: 100%;
			padding-right: 50px;
			>.tit {
				font-size: 2.0rem;
				span {
					display: block;
					padding: 5px 0 0 0;
					font-size: 1.2rem;
				}
			}
		}
		.listProfile {
			gap: 7px;
			margin-top: 15px;
			>li {
				font-size: 1.3rem;
				span {
					padding: 2px 7px;
					margin-right: 10px;
					min-width: 70px;
					font-size: 1.1rem;
				}
			}
		}
	}
	#profileFaq {
		&.ctsArea {
			width: 100%;
			padding: 0 20px;
			margin: 0 auto 60px;
		}
	}
	.listProfileFaq {
		gap: 40px;
		>li {
			.txtArea {
				gap: 10px;
			}
			&.col2 {
				gap: 10px;
				flex-direction: column;
				.txtArea {
					width: 100%;
				}
				.photo {
					width: 100%;
				}
				&.reverse {
					flex-direction: column;
				}
			}
		}
		.tit,
		.txt {
			padding: 30px 30px 30px 50px;
			font-size: 1.4rem;
			font-weight: var(--fw-medium);
		}
		.tit::before,
		.txt::before{
			font-size: 2.5rem;
			top: 40px;
			left: 18px;
		}
		.txt::before {
			top: 32px;
		}
	}
	.profile {
		margin-bottom: 80px;
		.btnBase {
			margin-top: 30px;
		}
		.tblArea {
			width: 100%;
			max-width: 500px;
			margin: 0 auto;
		}
	}

	/* エベッサコラム
	-----------------------------------------------------------------------------------------------*/
	#evessa{
		padding: 20px;

		.tit{
			margin-bottom: 15px;
			font-size: 1.6rem;
		}

		.txtAreaWrapper{
			flex-direction: column;
			gap: 20px;
			
			.txtArea{
				width: 100%;

				.btnBase{
					justify-content: center;
					margin-top: 20px;
				}
			}
			.photo{
				width: 100%;
				border-radius: 10px;
			}
		}

		.movieArea{
			margin-top: 20px;
			video{
				width: 100%;
			}
			.caption{
				font-size: 1.2rem;
				line-height: 1.5;
			}
		}
	}
}
