@charset "utf-8";

/* CSS Document */
header .gnav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-end;
	gap: 3rem;
	margin: 3rem auto 0;}
header .gnav li {
	width: 18%; }
header ul.gnav li a {
	width: auto;
	display: block;
	color: var(--color-title);
	font-size: 1.8rem;
	padding: 0 0 1.2rem;
	border-bottom: solid 1px var(--color-title);
	line-height: 1.2;
	text-align: center;}
img {
	width: 100%;
	height: auto; }

/*.wrap {
	margin: auto;
	width: 100%;
	max-width: calc(1200px + 4rem);
	padding-left: 2.0rem;
	padding-right: 2.0rem;
	clear: both; }*/
.wrap {
    margin: auto;
    width: 100%;
    padding-right: 2.0rem;
    max-width: 1410px;
    padding: 0rem 4.0rem;
    clear: both;
}
.wrap .title h2 {
	margin-bottom: 5.0rem;
	line-height: 1.2;
}

img.email {
	height: 1.8rem;
	width: auto;
}

#title .recruit_title {
	display: flex;
	flex-direction: column;
	align-items: center;
}
#title .recruit_title .title {
	width: fit-content;
} 
#title .recruit_title .title h2 {
	width: fit-content;
} 

@media screen and (max-width: 1000px) {
	.wrap .title h2 {
		/*padding-right: 68px;*/
	}
}
@media screen and (max-width: 800px) {
   .wrap {
        padding: 0rem 1.6rem;
    }
}
@media screen and (max-width: 640px) {
	/*.wrap {
		padding-left: 10px;
		padding-right: 10px; }*/
	.wrap .title h2 {
		font-size: 2.6rem !important;
		/*padding-right: 46px;*/
	}
}
@media screen and (max-width: 500px){
	header .gnav {
		justify-content: space-between;
		margin: 2rem 2rem 0;
		gap: 10px;
		width: auto; }
	header ul.gnav li {
		width: 83px;
}}

.flex {
	display: flex; }
.flex.fw-w {
	flex-wrap: wrap; }
.flex.jc-c {
	justify-content: center; }
.flex.jc-b {
	justify-content: space-between; }
.flex.jc-a {
	justify-content: space-around; }
.flex.ai-c {
	align-items: center; }
.flex.ai-e {
	align-items: flex-end}
.tx-cen {
	text-align: center; }

/* スクロールアップ */
/* ----------------------------------------------------------------------------------------- */
.btnup a {
	text-align: center;
	position: fixed;
	z-index: 11;
	bottom: 1.8rem;
	right: 1.8rem;
	width: 42px;
	height: 42px;
	background: #464646;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	border-radius: 50%;
	opacity: 0.9;
	display: block;
	border: solid 2px #fff; }
	.btnup a i {
		color: #fff;
		font-size: 2.4rem;
		line-height: 36px; }
	.btnup a:hover {
		background: #64727b;
		opacity: 1;
		border: solid 2px #64727b; }
	.btnup.smp {
		display: none !important;}
@media screen and (max-width: 640px){
	.btnup a {
		width: 35px;
		height: 35px; }
		.btnup a i {
			color: #fff;
			font-size: 2.1rem;
			line-height: 29px; }
}



/* 共通 */
/* ------------------------------------------------------------------------ */
	.recruit_line {
		/*margin-bottom: 14rem;*/
		margin-bottom: clamp(6rem, 7.3vw, 14rem);
		height: .6rem;
		width: 66%;
		background: linear-gradient(to right, rgba(36, 59, 83, 1) 0%, rgba(60, 82, 105, 0.9) 50%, rgba(102, 102, 102,.81) 100%); }
	.wrap + .recruit_line {
		/*margin-top: 12rem;*/
		margin-top: clamp(5rem, 6.8vw, 12rem); }
	
	h2.triangle {
		position: relative;
		/*padding: 9.0rem 0 0 6.0rem;*/
		padding:clamp(5rem, 8vw, 9rem) 0 0 clamp(2.5rem, 5vw, 6rem);
		/*margin: 5rem auto 10rem;*/
		margin: clamp(3rem, 4vw, 5rem) auto clamp(5rem, 8vw, 10rem);
		/*font-size: 4.4rem;*/
		font-size: clamp(3rem, 4vw, 4.4rem);
		font-weight: bold;
		color: var(--color-title);
		width: 100%; }
		h2.triangle:before {
			content: "";
			position: absolute;
			/*width: 29.0rem;*/
			width: clamp(20rem, 25vw, 29rem);
			/*height: 16.0rem ;*/
			height: clamp(11rem, 14vw, 16rem);
			top: 0;
			left: 0;
			background: linear-gradient(to right, rgba(36, 59, 83, 1) 0%,rgba(76,107,135,1) 45%,rgba(46,65,81,0.49) 100%);
			clip-path: polygon(100% 0, 0 0, 0 57.5%); }
@media screen and (max-width: 640px){
	h2.triangle {
		padding: 4.5rem 0 0 2rem; }
		h2.triangle:before {
			width: 16rem;
			height: 8rem; }
}
	.wrap h3 {
		/*font-size: 3.6rem;*/
		font-size: clamp(2.7rem, 4vw, 3.6rem);
		font-weight: bold;
		color: var(--color-title);
		/*margin-bottom: 4rem);*/
		margin-bottom: clamp(2rem, 2.1vw, 4rem); }
	
	.wrap .text {
		/*max-width: 1200px;*/
		max-width: 1410px;
		margin: auto;
		text-align: justify; }
	.wrap .text.int.mw18 {
		max-width: 1080px; }
		.wrap .text.int img + p {
			/*margin-top: 8.0rem;*/
			margin-top: clamp(4rem, 6.7vw, 8rem); }
		.wrap .text.int h4 {
			text-align: center;
			/*font-size: 3.6rem;*/
			font-size: clamp(2.7rem, 3vw, 3.6rem);
			font-weight: bold;
			color: var(--color-title);
			margin-bottom: clamp(2rem, 2.1vw, 4rem); }
			.wrap .text.int p + h4 {
				/*margin-top: 8.0rem;*/
				margin-top: clamp(4rem, 6.7vw, 8rem); }
			.wrap .text.int p + img {
				/*margin-top: 8.0rem;*/
				margin-top: clamp(4rem, 6.7vw, 8rem); }
			.wrap .text.int p + p {
				/*margin-top: 6.0rem;*/
				margin-top: clamp(3rem, 3.1vw, 6rem); }
	.wrap .movieWrap {
		max-width: 800px;
		margin: 0 auto clamp(4rem, 6.7vw, 8rem); }
@media screen and (max-width: 640px) {
	.wrap h3 {
			font-size: 2.4rem; }
}

/* 採用情報 */
	#recruit .line + p {
		max-width: calc(1200px + 4rem);
		margin: 0 auto 2rem;
		padding: 0 2rem; }
		#recruit ul.panel.bnr {
			margin-bottom: 0; }
			#recruit ul.panel.bnr li:last-child {
				border-right: solid 2px var(--color-title); }

ul.panel li.has-title {
    margin-top: 5rem; 
    overflow: visible; 
}
#recruit ul.panel.bnr-area li.last-item {
    border-right: solid 2px var(--color-title);
    border-image: linear-gradient(to bottom, var(--color-title) 0%, var(--color-title) 40%, #fff 40%, #fff 100%);
    border-image-slice: 1;
}
.panel-title {
    position: absolute;
    top: -5.7rem; 
    left: 0;
    width: 100%;
    max-width: calc(1200px + 4rem); 
	}
#recruit ul.panel.bnr-area {margin-top: 5rem; }
.mb-br {
	display: none;
}

@media screen and (max-width: 890px) {
 .panel-title {
        top: -7.8rem; 
    }
	.mb-br {
		display: block;
	}
    ul.panel li.has-title {
        margin-top: 8rem;
    }
}

/* 知る系パネル */
/* ------------------------------------------------------------------------ */
	#title {
		max-width: 1500px;
		min-height: 360px;
		/*margin: 5.0rem auto 10rem;*/
		margin: clamp(3rem, 4.2vw, 5rem) auto clamp(5rem, 8.4vw, 10rem);
		background: url("../recruit/img/title_bg.png") center center;
		padding: 2rem; }
		#title h2 {
			position: relative;
			font-weight: bold;
			font-size: clamp(2.7rem, 3.2vw, 3.8rem);
			color: var(--color-title);}
@media screen and (max-width: 640px){
	#title {
		min-height: 0;
		padding: 3rem 2rem 4rem; }
}
	ul.panel {
		max-width: calc(1200px + 4rem);
		/*margin: 0 auto 16rem;*/
		margin: 0 auto clamp(8rem, 8.4vw, 16rem);
		/*row-gap: 8.0rem;*/
		row-gap: clamp(4rem, 6.7vw, 8rem);
		padding: 0 2rem; }
		ul.panel li {
			width: 33.333%;
			position: relative;
			border-top: solid 2px var(--color-title);
			border-left: solid 2px var(--color-title);
			border-image: linear-gradient(to bottom, var(--color-title) 0%, var(--color-title) 40%, #fff 40%, #fff 100%);
			border-image-slice: 1;
			padding: 2.4% 2.4% 0 2.4%; }
			ul.panel li:nth-of-type(3n) {
				border-right: solid 2px var(--color-title);
				border-image: linear-gradient(to bottom, var(--color-title) 0%, var(--color-title) 40%, #fff 40%, #fff 100%);
				border-image-slice: 1; }
			ul.panel li a {
				color: var(--color-title);
				/*font-size: 2.7rem;*/
				font-size: clamp(2.1rem, 2.15vw, 2.7rem);
				font-weight: bold;
				line-height: 1.6; }
				ul.panel li a img {
					/*margin-bottom: 3.0rem;*/
					margin-bottom: clamp(1rem, 2vw, 3.0rem) }
				ul.panel li a span {
					display: block;
					color: var(--color-accent);
					font-size: 1.6rem; }
	profile #philosophy#top-recruit {
		margin-top: 0;
		/*margin-bottom: 14rem;*/
		margin-bottom: clamp(10rem, 7.3vw, 14rem); }
		profile #philosophy#top-recruit .wrap h3 {
			font-size: 2.7rem; }
			profile #philosophy#top-recruit .wrap h3 span {
				display: block;
				color: var(--sub-blue);
				font-size: 1.6rem;
				/*margin-bottom: 4rem;*/
				margin-bottom: clamp(2rem, 2.1vw, 4rem); }
@media screen and (max-width: 640px){
		ul.panel li {
				width: 50%; }
			ul.panel li:nth-of-type(3n) {
				border-right: none; }
			ul.panel li:nth-of-type(2n) {
				border-right: solid 2px var(--color-title);
				border-image: linear-gradient(to bottom, var(--color-title) 0%, var(--color-title) 40%, #fff 40%, #fff 100%);
				border-image-slice: 1; }
			ul.panel li a {
				font-size: 2.1rem;
				line-height: 1.3; }
		#top-recruit ul.panel:not(.bnr) li:last-child {
				display: none; }
		#work ul.panel:not(.bnr) li:last-child {
				display: none; }
}

/*@media screen and (max-width: 420px){
		ul.panel li {
				width: 100%; }
			ul.panel li {
				border-right: solid 2px #4CBAE3 !important;
				border-image: linear-gradient(to bottom, #4CBAE3 0%, #4CBAE3 40%, #fff 40%, #fff 100%);
				border-image-slice: 1; }
}*/


/* インタビューパネル */
/* ------------------------------------------------------------------------ */
	ul.panel-interview {
		max-width: calc(1200px + 4rem);
		/*margin: 0 auto 16rem;*/
		margin: 0 auto clamp(8rem, 8.4vw, 16rem);
		/*row-gap: 8.0rem;*/
		row-gap: clamp(4rem, 6.7vw, 8rem);
		padding: 0 2rem; }
		ul.panel-interview li {
			width: 23%; }
			ul.panel-interview li a {
				display: block;
				color: var(--black);
				font-size: 1.8rem;
				line-height: 1.2; }
				ul.panel-interview li a span {
					font-size: 85%; }
				ul.panel-interview li a img {
					margin-bottom: 1.0rem; }
@media screen and (max-width: 900px){
		ul.panel-interview li {
			width: 31%; }
			ul.panel-interview li a {
				font-size: 1.8rem; }
}
@media screen and (max-width: 640px){
		ul.panel-interview li {
			width: 48%; }
}


/* CEO */
/* ------------------------------------------------------------------------ */
	#ceo .message {
		background: url("../recruit/img/ceo_photo.png") right bottom repeat-x;
		background-size: cover;
		height: 429px;
		/*margin-bottom: 8.0rem;*/
		margin-bottom: clamp(4rem, 6.7vw, 8rem);
		display: flex;
		align-items: center; }
		#ceo .message p {
			width: 60%;
			text-align: center;
			padding: 5rem 0 0 2rem; }
			#ceo .message p img {
				max-width: 452px; }
@media screen and (max-width: 1100px){
	#ceo .message {
		background-position: right -130px top 0; }
}
@media screen and (max-width: 900px){
	#ceo .message {
		background-position: right -100px top 0;
		height: 300px; }
}
@media screen and (max-width: 580px){
	#ceo .message {
		background-position: right -60px top 0;
		height: 160px; }
	#ceo .message p {
		padding: 5rem 0 0 2rem; }
}
@media screen and (max-width: 480px){
	#ceo .message p {
		padding: 5rem 0 0 1rem; }
}
	#ceo p.name {
		text-align: right;
		/*padding-top: 4.0rem;*/
		padding-top: clamp(3rem, 2.1vw, 4rem); }
		#ceo p.name span {
			font-size: 2.7rem; }


/* トップメッセージ */
/* ------------------------------------------------------------------------ */

	#message .cover {
		margin-bottom: clamp(2rem, 2.1vw, 4rem); }
	#message p.name {
		text-align: right;
		/*padding-top: 4.0rem;*/
		padding-top: clamp(4rem, 3.6vw, 6rem); }
		#message p.name span {
			font-size: 2.7rem;
			font-family: 'Noto Serif JP', serif;
			font-weight: 500; }
	#page #message .vision_img {
		margin: 5rem auto !important;
	}
	#page #message .vision_img::after {
		position: absolute;
		content: "";
		background-image: url(../img/compan_vision-2.png);
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
		z-index: 2;
		top: 3%;
		right: 8%;
		width: 260px;
		height: 100%;
		transform: scale(1.2) translateY(0%);
	}
	#page #message .vision_img .spBr_vision {
		display: none;
	}
@media screen and (max-width: 1440px) {
	#page #message .vision_img{
		height: 25vw;
		min-height: 180px;
		/*border-radius: 25px 25px 120px 25px;*/
	}

	#page #message .vision_img p{
		font-size: 1.8rem;
		/*width: 60%;*/
	}
}
@media screen and (max-width: 1140px) {
	#page #message .vision_img .spBr_vision{
		display: block;
	}
	#page #message .vision_img p{
		/*margin-right: 5rem;*/
	}
}
@media screen and (max-width: 1024px) {
	#page #message .vision_img .spBr_vision{
			display: none;
	}
	#page #message .vision_img p{
		/*margin-right: 3.5rem;*/
	}
}

@media screen and (max-width: 850px) {
#page #message .vision_img::after {
		top: 25px;
		right: 8%;
	}
}
@media screen and (max-width: 700px) {
	#page #message .vision_img p{
		/*margin-right: 5rem;*/
	}
}
@media screen and (max-width: 640px){
	#message .cover img {
		object-fit: cover;
		height: 250px;
		object-position: 80% 0; }
	#page #message .vision_img {
		width: 100%;
		height: 250px;
		top: 0;
		left: 0;
		border-radius: 35px 35px 165px 35px;
		overflow: hidden;
		position: relative;
		transform: scale(1)
	}
	#page #message .vision_img img{
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
		min-height: 180px;}
	#page #message .vision_img p{
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 2;
		margin: 0;
		color: #333;
		font-size: 1.8rem;
		left: 10%;
	}
	#page #message .vision_img .spBr_vision{
		display: block;
	}
}
@media screen and (max-width: 500px) {
	#page #message .vision_img p{
		font-size: 1.6rem;
		left: 6%;
	}
	#page #message .vision_img::after {
		transform: scale(1);
		right: 0;
		top: 10px;
	}
	#page #message .vision_img {
		height: 180px;
	}
	#page #message .vision_img img{
		height: 180px;
	}
}




/* CRO */
/* ------------------------------------------------------------------------ */
	#cro .wrap h3 {
		font-size: 2.7rem;
		/*margin-bottom: 3rem);*/
		margin-bottom: clamp(2rem, 2.1vw, 3rem); }


/* 会社案内 */
/* ------------------------------------------------------------------------ */
	/*philosophy*/
	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex {
	display: flex;
	padding: 0 0 5rem 0;
	gap: 5%;
	height: 100%;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-img {
	display: block;
	margin: auto;
	width: 45%;
	border-radius: 135px 30px 135px 30px;
	overflow: hidden;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-img img {
	object-fit: cover;
	width: 100%;
	height: auto;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-misson {
	margin-bottom: 6rem;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision {
	text-align: end;
	margin-bottom: 6rem;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision h2 {
	width: auto;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision>div {
	position: relative;
	display: inline-block;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision h2 {
	position: relative;
	margin: 0;
	padding-left: 45px;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision h2::before {
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	width: 35px;
	height: 35px;
	transform: translateY(-50%);
	background: url(../img/title.svg) center / contain no-repeat;
}
#page #profile #philosophy #philosophy_vision h2,
#page #profile #philosophy #management-philosophy h2,
#page #profile #philosophy #philosophyKensyo h2 {
	margin-bottom: 3rem;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision p {
	font-size: 2.4rem;
	font-weight: 600;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-value .disc>li {
	margin-bottom: 0;
}

#page #profile #philosophy #philosophy_vision .title {
	margin-bottom: 1rem;
}

#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision .brSp {
	display: none;
}

@media screen and (max-width: 1200px) {
	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision p {
		font-size: 2.2rem;
	}

	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision .brSp {
		display: block;
	}

	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-img {
		height: 500px;
		margin: auto;
	}

	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-img img {
		height: 100%;
		width: 100%;
		object-fit: cover;
		object-position: 68% center;
	}
}

@media screen and (max-width: 800px) {
	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision .brSp {
		display: none;
	}

	#page #profile #philosophy #philosophy_vision h2,
	#page #profile #philosophy #management-philosophy h2,
	#page #profile #philosophy #philosophyKensyo h2 {
		font-size: 2.8rem !important;
		margin-bottom: 2rem;
	}

	#page #profile #philosophy #philosophy_vision .title::before,
	#page #profile #philosophy #management-philosophy .title::before,
	#page #profile #philosophy #philosophyKensyo .title::before {
		width: 25px;
		height: 25px;
	}

	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision h2::before {
		width: 25px;
		height: 25px;
	}

	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex {
		flex-direction: column;
		padding: 0rem 1.6rem 5rem;
	}

	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-misson {
		margin-bottom: 3rem;
	}

	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision {
		margin-bottom: 3rem;
	}

	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-img {
		width: 80%;
		margin-bottom: 3rem;
		height: auto;
	}

	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-img img {
		height: auto;
		width: 100%;
	}
}

@media screen and (max-width: 540px) {
	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-txt .philosophy_vision-vision .brSp {
		display: block;
	}
}

@media screen and (max-width: 500px) {
	#page #profile #philosophy #philosophy_fv .philosophy_fv_txt>div {
		left: 2.0rem;
		bottom: 2.0rem;
		width: calc(100% - 4.0rem);
	}

	#page #profile #philosophy #philosophy_vision .philosophy_vision-flex .philosophy_vision-img {
		width: 100%;
	}
}

	#profile #philosophyBox {
		max-width: 1000px;
		margin: auto;
		text-align: center; }
		#profile #philosophyBox h4 {
			font-size: 2.7rem;
			font-weight: bold;
			color: var(--color-title);
			padding-bottom: 1.2rem;
			margin: 3.6rem 0 1.6rem;
			border-bottom: dotted 1px var(--color-title); }
		#profile #philosophyBox p {
			font-size: 2.4rem; }
			#profile #philosophyBox p strong {
				color: var(--color-title); }
		#profile #philosophyBox .table-plain {
			text-align: left; }
			#profile #philosophyBox .table-plain th {
				text-align: right;
				font-weight: bold;
				width: 20%;
				white-space: nowrap;
				padding: .5rem 2.0rem .5rem 0;
				font-size: 2.1rem; }
			#profile #philosophyBox .table-plain td {
				padding: .5rem 0;
				font-size: 2.1rem; }
@media screen and (max-width: 640px) {
		#profile #philosophyBox h4 {
			font-size: 2.4rem; }
		#profile #philosophyBox p {
			font-size: 2.1rem; }
			#profile #philosophyBox .table-plain th {
				font-size: 1.8rem; }
			#profile #philosophyBox .table-plain td {
				font-size: 1.8rem; }
}

	/*outline*/
	.asof {
		text-align: right;
		margin-bottom: .6rem; }
		dl.table {
			border-top: solid 1px var(--color-title);
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start; }
			dl.table > dt {
				/*background: var(--bggray);*/
				background: rgba(36, 59, 83, 0.5);
				border-bottom: solid 1px var(--color-title);
				padding: 2.0rem;
				width: 267px;
				display: flex;
				flex-wrap: wrap;
				align-items: center;
				color: #fff; }
				/*dl.table > dt span.required:after {
					content: "*";
					position: absolute;
					font-size: 1.6rem;
					color: #d43636;
					margin-left: 0.5rem; }*/
				dl.table > dt span.required:after {
					margin-left: 1.0rem;
					padding: 0px .64rem;
					font-size: 1.2rem;
					color: #fff;
					background-color: #d43636;
					content: "必須"; }
			dl.table > dd {
				padding: 2.0rem;
				border-bottom: solid 1px var(--color-title);
				width: calc(100% - 267px);
				word-break: break-all; }
@media screen and (max-width: 1000px){		/*1000px以下の時*/
				dl.table > dt {
					width: 190px; }
				dl.table > dd {
					width: calc(100% - 190px); }
}
@media screen and (max-width: 640px){
				dl.table > dt {
					padding: 1.2rem 1.2rem 1.2rem 1.2rem;
					width: 100%;
					margin-bottom: 0rem; }
				dl.table > dd {
					padding: 1.2rem;
					width: 100%; }
}
	#profile #outline ul.flex {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-end; }
		#profile #outline ul.flex li {
			width: 18%;
			min-width: 100px;
			text-align: center; }
			#profile #outline ul.flex li span {
				display: block;
				padding-top: .8rem; }
@media screen and (max-width: 640px){
		#profile #outline ul.flex li {
			width: 30%;
			min-width: inherit; }
		#profile #outline ul.flex li:nth-child(n+4) {
			margin-top: 1.0rem; }
		#profile #outline ul.flex li.blank {
			margin-top: 0; }
}


/* 採用の流れ */
/* ------------------------------------------------------------------------ */
	#flow .btn-white,#flow .btn {
		margin: 3rem auto;
		width: 320px;
	}

	#flow .recruit-btn::before, #flow .recruit-btn::after {
		display: none;
	}

	#flow .recruit-btn {
		transition: transform .25s ease, box-shadow 0.25s ease;
		width: 350px;
		padding: 14px 24px;
		box-shadow: 0 8px 0 rgba(36, 59, 83, 1);
		margin: 3rem auto 4rem;
	}

	#flow .recruit-btn img {
		width: 80%;
		height: auto;
	}
	#flow .recruit-btn:hover {
		transform: translateY(10px);
		background: #fff;
		box-shadow: none;
	}
@media screen and (max-width: 640px){
	#flow .recruit-btn {
		padding: 10px 24px;
        box-shadow: 0 5px 0 rgba(36, 59, 83, 1);
	}
	#flow .recruit-btn img {
		width: 70%;
	}
	#flow .recruit-btn:hover {
		transform: translateY(6px);
	}
}

	.flexgap {
		gap: 2rem !important; }

	#flow #new,
	#flow #career,
	#flow #referral {
		/*margin-bottom: 8.0rem;*/
		margin-bottom: clamp(5rem, 5vw, 8.0rem); }	
	#flow .careerBox {
		/*background: var(--bggray);*/
		background: rgba(220, 199, 161, .2);
		/*padding: 6.0rem;*/
		padding: clamp(3rem, 3.1vw, 6rem);
		/*margin-top: 6.0rem;*/
		margin-top: clamp(3rem, 3.1vw, 6rem); }
		#flow .careerBox h4 {
			color: var(--color-title);
			font-size: 2.7rem;
			font-weight: bold;
			line-height: 1.6;
			/*margin-bottom: 4.0rem;*/
			margin-bottom: clamp(3rem, 2.1vw, 4rem); }
			.careerBox h4 span {
				display: block;
				color: var(--color-accent);
				font-size: 1.6rem; }
		#flow .careerBox .flex {}
			#flow .careerBox .flex div {
				width: 60%;
				padding-right: 1rem; }
			#flow .careerBox .flex img {
				max-width: 420px;
				width: 40%;
				height: fit-content; }
		#flow .careerBox .caution {
			font-size: 1.6rem;
			/*margin-top: 3.0rem;*/
			margin-top: clamp(1.8rem, 3vw, 3rem); }
			#flow .careerBox .caution ul li {
				margin-bottom: 0; }
		#flow .careerBox div + h4 {
			/*margin-top: 5.0rem;*/
			margin-top: clamp(3rem, 4.5vw, 5rem) }

		#flow .careerBox {
		}

		div#new, div#career, div#comeback, div#referral { scroll-margin-top: 150px; }
@media screen and (max-width: 640px) {
	div#new, div#career, div#comeback, div#referral { scroll-margin-top: 60px; }
}

	#flow #campaign  {
		width: 96%;
		/* margin-top: 6.0rem; */
		margin-top: clamp(3rem, 3.1vw, 6rem);
		border-top: dashed 2px #999;
		border-bottom: dashed 2px #999;
		padding: 2rem 2rem 4rem;
		/*background: var(--yellow-lite);*/
		background: var(--yellow); }
	#flow #campaign #campaign .campaign_table, .table, .text {
		margin: 2rem auto 0; }
	#flow #campaign dl dt {
		background: #d2e4f3; }
	#flow #campaign dl dd {
		background: #fff; }
	#flow #referral #campaign .table {
		margin: 0 auto;
	}

@media screen and (max-width: 640px){
	#flow #ulink ul {
		flex-wrap: wrap;
		justify-content: center; }
		#flow #ulink ul li {
			width: calc(50% - 1rem); }
	#flow .careerBox {
		padding: 2rem; }
		#flow #career .careerBox .flex {
			flex-direction: column-reverse; }
			#flow #career .careerBox .flex div {
				width: 100%;
				padding-right: 0; }
			#flow .careerBox .flex img {
				width: 60%;
				min-width: 240px;
				margin: 0 auto 2rem; }
	#flow .btn-white,#flow .btn {
		text-align: center;
		max-width: 320px;
		width: 100%;
	}
}


/* エントリー */
/* ------------------------------------------------------------------------ */
	#flow #entry .careerBox {
		background: rgba(220, 199, 161, .2);
		/*padding: 6.0rem;*/
		padding: clamp(2rem, 3.2vw, 4rem); }
		#flow #entry .careerBox p img {
			width: 70%;
			max-width: 248px; }
		#flow #entry .careerBox ul li {
			width: 30%; }
			#flow #entry .careerBox ul li a {
				width: 100%; }
@media screen and (max-width: 640px){
		#flow #entry .careerBox p img {
			max-width: 180px; }
		#flow #entry .careerBox .flex {
			flex-direction: column; }
		#flow #entry .careerBox ul li {
			width: 100%; }
}


/* カジュアル面談 */
/* ------------------------------------------------------------------------ */
	#casual img.right {
		width: 30%;;
		max-width: 408px;
		margin-left: 3.0rem;
		margin-bottom: 3.0rem;
	}
	#casual p span {
		font-size: 2.4rem;
		color: var(--color-title); }

	#casual .recruit-btn::before, #casual .recruit-btn::after {
		display: none;
	}

	#casual .recruit-btn {
		transition: transform .25s ease, box-shadow 0.25s ease;
		width: 350px;
		padding: 14px 24px;
		box-shadow: 0 8px 0 rgba(36, 59, 83, 1);
		margin: 3rem auto 4rem;
	}

	#casual .recruit-btn img {
		width: 80%;
		height: auto;
	}
	#casual .recruit-btn:hover {
		transform: translateY(10px);
		background: #fff;
		box-shadow: none;
	}

@media screen and (max-width: 640px){
	#casual .recruit-btn {
		text-align: center;
		max-width: 320px;
		width: 100%;
		padding: 10px 24px;
        box-shadow: 0 5px 0 rgba(36, 59, 83, 1);
	}
	#casual .recruit-btn img {
		width: 70%;
	}
	#casual .recruit-btn:hover {
		transform: translateY(6px);
	}
	#casual p span {
		font-size: 2.4rem;
		color: var(--color-title); }
}
@media screen and (max-width: 420px){
	#casual img.right {
		width: 50%; }
}


/* 強味 */
/* ------------------------------------------------------------------------ */
	#strength .tab {
		display: flex;
		flex-wrap: wrap;
		/*background: rgba(220, 199, 161, .2);*/
		background: rgba(220, 199, 161, .2);
		border-radius: 5rem; }
		#strength .tab li {
			width: 25%;
			text-align: center;
			display: flex;
			line-height: 1.2; }
			#strength .tab li a {
				/*background: rgba(220, 199, 161, .2);*/
				background: rgba(220, 199, 161, .2);
				padding: 2rem 1rem;
				color: var(--color-title);
				width: 100%;
				display: flex;
				align-items: center;
				justify-content: center;
				border-radius: 5rem; }
				#strength .tab li.active a {
					background: var(--sub-blue);
					color: #fff; }
	.area {
		display: none;
		opacity: 0; }
	#strength .area {
		/*margin-bottom: 8.0rem;*/
		margin-bottom: clamp(4rem, 6.7vw, 8rem); }
		.area.is-active {
			display: block;
			animation-name: displayAnime;
			animation-duration: 2s;
			animation-fill-mode: forwards; }
		@keyframes displayAnime{
			from { opacity: 0; }
			to { opacity: 1; }
		}
	#strength .wrap h3 {
		text-align: center;
		/*margin-bottom: 6.0rem;*/
		margin-bottom: clamp(3rem, 5vw, 6rem); }
		#strength .wrap h3 span {
			/*font-size: 3.2rem;*/
			font-size: clamp(2.1rem, 2.6vw, 3.2rem);
			color: var(--black);
			display: inline-block;
			padding: 1rem 3rem;
			border: solid 3px var(--blue); }
@media screen and (max-width: 420px){
			#strength .tab li a {
				padding: 1rem;
				border-radius: 1rem; }
}

/* よくある質問 */
/* ------------------------------------------------------------------------ */
	#faq #ulink ul {
		max-width: 1080px;
		margin: auto;
		gap: 2rem;
		/*margin-bottom: 8.0rem;*/
		margin-bottom: clamp(4rem, 6.7vw, 8rem); }
		#faq #ulink ul li {
			width: 50%; }
			#faq #ulink ul li a {
				width: 100%;
				margin-top: 0; }
	#faq dl.acco {
		background: rgba(220, 199, 161, .2);
		/*margin-bottom: 4.0rem;*/
		margin-bottom: clamp(2rem, 2.1vw, 4rem); }
		#faq dt.acco_title {
			padding: 2.0rem;
			position: relative;
			cursor: pointer;
			height: 100%; }
			#faq dt.acco_title:before {
			content: "Q.";
			font-size: 2.7rem;
			font-weight: bold;
			padding-right: 2rem;
			color: var(--color-title);
			line-height: 1; }
		#faq dt.acco_title:after {
			position: absolute;
			right: 1.5rem;
			content: "∨";
			font-weight: 800;
			font-size: 1.8rem;
			transform: scaleX(1.3);
			color: var(--color-title); }
		#faq dt.acco_title.open:after {
			content: "∧";
			color: var(--color-accent); }
		#faq dd.answer_cont {
			padding: 2.0rem;
			padding-top: 0;
			display: none; }
		#faq dt.acco_title.open + dd.answer_cont {
			display: flex !important; }
			#faq dd.answer_cont:before {
				content: "A.";
				font-size: 2.7rem;
				font-weight: bold;
				padding-right: 2rem;
				color: var(--color-accent);
				display: inline-block;
				line-height: 1; }
@media screen and (max-width: 640px){
		#faq dt.acco_title {
			padding: 1.3rem;
			padding-right: 4.5rem;
			padding-left: 5rem;
			text-indent: -3.7rem; }
		#faq dt.acco_title:before {
			padding-right: 1rem; }
		#faq dt.acco_title:after {
			right: 0rem;
			top: 1.4rem; }
		#faq dd.answer_cont {
			padding: 1.3rem;
			padding-top: .7rem; }
			#faq dd.answer_cont:before {
				padding-right: 1rem; }
}
@media screen and (max-width: 500px){
	#faq .faq_flex {
		flex-direction: column;
	}
	#faq .faq_flex li, #faq .faq_flex li a {
		display: block;
		width: 100% !important;
	}
}


/* 業務一覧 */
/* ------------------------------------------------------------------------ */
	#service .serviceTable {
		/*margin-top: 6.0rem;*/
		margin-top: clamp(3rem, 5vw, 6rem); }
	#service dl.acco {
		margin-bottom: 1.0rem; }
		#service dt.acco_title {
			display: flex;
			justify-content: space-between;
			cursor: pointer; }
			#service dt.acco_title p {
				width: 33.0rem;
				background: rgba(220, 199, 161, .2);
				padding: 1.0rem;
				margin-right: 1.0rem;
				position: relative;
				margin-left: 4.0rem; }
				#service dt.acco_title p:before {
					font-family: 'Material Symbols Outlined';
					font-size: 3.0rem;
					line-height: 1;
					position: absolute;
					left: -4rem;
					top: 1rem;
					content: "add_circle";
					color: var(--sub-blue); }
				#service dt.acco_title.open p:before {
					content: "do_not_disturb_on";
					color: var(--pink); }
				#service dt.acco_title p.blank {
					background: none; }
					#service dt.acco_title p.blank:before {
						content: ""; }
					#service dt.acco_title.open p.blank:before {
						content: ""; }
			#service dt.acco_title img {
				width: calc(100% - 33rem);
				max-width: 843px; }
		#service dd.detail {
			display: none;
			text-align: justify;
			/*background: rgba(220, 199, 161, .2);*/
			background: rgba(220, 199, 161, .2);
			border: solid 0.5rem #fff1aa;
			margin: 1rem 0 2rem;
			/*padding: 3.0rem;*/
			padding: clamp(1.8rem, 3vw, 3rem); }
			#service dd.detail h4 {
				color: var(--color-title);
				font-weight: bold;
				margin-bottom: 2rem; }
			#service dd.detail .flex {
				/*margin-top: 4.0rem;*/
				margin-top: clamp(3rem, 2.1vw, 4rem);
				gap: clamp(3rem, 2.1vw, 4rem); }
				#service dd.detail .flex div {
					width: 100%; }
					#service dd.detail .flex div li {
						margin-bottom: 0; }
						#service dd.detail .flex div.movie li a {
							display: block;
							position: relative; }
							#service dd.detail .flex div.movie li a:before {
								font-family: 'Material Symbols Outlined';
								font-size: clamp(4rem, 4.78vw, 6rem);
								line-height: 1;
								position: absolute;
								top: 50%;
								left: 50%;
								transform: translate(-50%, -50%);
								-webkit-transform: translate(-50%, -50%);
								content: "play_circle";
								color: #FF0000;
								text-shadow: 2px 2px 2px #ccc;
								z-index: 10; }
							#service dd.detail .flex div.movie li a:hover:before {
								opacity: 0.6; }
							#service dd.detail .flex div.movie li a img {
								opacity: 1;
								-webkit-transition: none;
								transition: none; }
/*動画2列用*/
						#service dd.detail .flex div.movie ul.column {
							display: flex;
							flex-wrap: wrap;
							gap: 20px; }
							#service dd.detail .flex div.movie ul.column li {
								width: calc(50% - 10px); }
							#service dd.detail .flex div.movie li a:before { font-size: 4rem; }
@media screen and (max-width: 1150px){
							#service dd.detail .flex div.movie ul.column li {
								width: 100%; }
							#service dd.detail .flex div.movie li a:before {
								font-size: clamp(4rem, 4.78vw, 6rem); }
}
@media screen and (max-width: 800px){
		#service dt.acco_title {
			flex-direction: column; }
			#service dt.acco_title p {
				width: calc(100% - 3rem);
				background: none;
				margin-right: 0;
				margin-left: 3rem; }
				#service dt.acco_title p:before {
					left: -3rem; }
				#service dt.acco_title p.blank {
					display: none; }
			#service dt.acco_title img {
				width: 100%; }
}
@media screen and (max-width: 640px){
			#service dd.detail .flex {
				flex-direction: column; }
							#service dd.detail .flex div.movie li a:before {
								font-size: clamp(4rem, 4.78vw, 6rem); }
}

/* インタビュー */
/* ------------------------------------------------------------------------ */

	#page #interview .wrap .title {
		margin-top: 3rem;
		margin-bottom: 6rem;
	}
	#interview {
		/*margin-bottom: 8.0rem;*/
		margin-bottom: clamp(4rem, 6.7vw, 8rem); }
		#interview .wrap .text.int img {
			width: 80%;
			max-width: 1000px;
			margin-left: auto;
			margin-right: auto;
			display: block; }
		
		#interview .profile {
			background: linear-gradient(to bottom, rgba(255,255,255,0) 30%, rgba(220, 199, 161, 0.5) 95%);
			display: flex;
			align-items: center;
			justify-content: center;
			/*margin-bottom: 10.0rem;*/
			margin-bottom: clamp(6rem, 7.5vw, 10rem); }
			#interview .profile .flex {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 94%;
				max-width: 850px; }
				#interview .profile .flex img {
					width: 36%;
					max-width: 304px;
					/*margin-right: 6.0rem;*/
					margin-right: clamp(2rem, 4.1vw, 6rem); }
				#interview .profile .flex ul {}
					#interview .profile .flex ul li.name {
						font-size: 2.7rem;
						font-weight: bold;
						color: var(--color-title);
						margin-bottom: 4%;
						line-height: 1; }
					#interview .profile .flex ul li.job {
						margin-bottom: 4%; }
					#interview .profile .flex ul li.comment {
						text-align: justify;
						line-height: 1.5; }
						#interview .profile .flex ul li.comment span {
							display: block;
							margin-top: 1.0rem; }
@media screen and (max-width: 800px){
			#interview .profile .flex {
				align-items: flex-end; }
				#interview .profile .flex img {
					width: 200px;
					margin-right: 2.0rem; }
				#interview .profile .flex ul {
					padding-bottom: 2.0rem; }
					#interview .profile .flex ul li.name {
						margin-bottom: 1.0rem; }
					#interview .profile .flex ul li.job {
						margin-bottom: 1.0rem; }
					#interview .profile .flex ul li.comment {
						line-height: 1.3; }
}
@media screen and (max-width: 480px){
			#interview .profile .flex {
				align-items: flex-end;
				flex-direction: column-reverse;}
				#interview .profile .flex img {
						width: 120px;
						margin-right: 0;
						margin-top: -3rem; }
				#interview .profile .flex ul {
					padding: 1.5rem 1.0rem 0; }
}



/* お問い合わせ */
/* ------------------------------------------------------------------------ */
	.contact .linkBox {
		margin-top: 1.6rem;
		padding: 1.0rem 2.0rem;
		background: #f2f2f2;
		font-size: 1.4rem;
		display: inline-block; }
		#page #content .linkBox a.link {
			padding: 1.0rem 0 0rem 2.0rem; }
			
	.contact dt span.required:after {
		margin-left: 1.0rem;
		padding: 0px .64rem;
		font-size: 1.2rem;
		color: #fff;
		background-color: #d43636;
		content: "必須"; }
	
	.contact dd br {
		display: none; }
	.contact h5 {
		margin-bottom: 0 !important; }
		
	#contact h4 {
		font-size: 2.4rem;
		color: var(--color-title);
		font-weight: bold;
		margin-top: 3rem;
		margin-bottom: 2.4rem;
		line-height: 1; }
	#contact a.link {
		display: block;
		padding: 1rem 0 1rem 2rem;
		position: relative;
		transition: color .25s ease;
		z-index: 1;
		margin-right: 2rem; }
		#contact a.link:before {
			left: 0;
			content: "\f105";
			font-weight: 900;
			font-family: "Font Awesome 5 Free";
			padding-top: 0.1rem;
			transition: color .25s ease;
			position: absolute; }
@media screen and (max-width: 640px){
		.contact dd br {
			display: block; }
}


/* フォーム */
/* ------------------------------------------------------------------------ */

form {
	padding-bottom: 3.0rem; }
	form input[type="tel"], form input[type="text"], form input[type="email"], form input[type="number"], form textarea {
		display: block;
		width: 100%;
		padding: 1.0rem;
		background: #fff;
		border: solid 1px #ccc;
		color: #333;
		font-size: 1.6rem;
		font-family: 'Noto Sans Japanese', 'Noto Sans JP', helvetica, arial, 'hiragino kaku gothic pro', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'Osaka', sans-serif;
		-webkit-appearance: none; }
		.contact input.zip {
			width: 92px !important;
			display: inline-block !important;
			margin-left: .5rem; }
			.contact input.zip:first-child {
				margin-right: .5rem;
				margin-left: 0; }
	form pre {
		font-family: 'Noto Sans Japanese', 'Noto Sans JP', helvetica, arial, 'hiragino kaku gothic pro', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'Osaka', sans-serif; }
	select {
		font-size: 1.8rem;
		font-family: 'Noto Sans Japanese', 'Noto Sans JP', helvetica, arial, 'hiragino kaku gothic pro', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'Osaka', sans-serif;
		border: solid 1px #999;
		padding: .24em;
		-webkit-appearance: menulist; }
	/* チェックボックス */
	input[type=checkbox] {
		display: none; }
	.checkbox {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		padding: 5px 30px;
		position: relative;
		width: auto; }
		.checkbox::before {
			background: #fff;
			border: 1px solid #666;
			content: '';
			display: block;
			height: 16px;
			left: 5px;
			margin-top: -10px;
			position: absolute;
			top: 50%;
			width: 16px; }
		.checkbox::after {
			border-right: solid 3px #148ecf;
			border-bottom: solid 3px #148ecf;
			content: '';
			display: block;
			height: 9px;
			left: 10px;
			margin-top: -9px;
			opacity: 0;
			position: absolute;
			top: 50%;
			transform: rotate(45deg);
			width: 5px; }
			input[type=checkbox]:checked + .checkbox::after {
				opacity: 1; }
	/* ラジオボタン */
	input[type=radio] {
		display: none; }
	.radio {
		box-sizing: border-box;
		cursor: pointer;
		display: inline-block;
		padding: 5px 30px;
		position: relative;
		width: auto; }
		.radio::before {
			background: #fff;
			border: 1px solid #666;
			border-radius: 50%;
			content: '';
			display: block;
			height: 16px;
			left: 5px;
			margin-top: -8px;
			position: absolute;
			top: 50%;
			width: 16px; }
		.radio::after {
			background: #148ecf;
			border-radius: 50%;
			content: '';
			display: block;
			height: 10px;
			left: 9px;
			margin-top: -4px;
			opacity: 0;
			position: absolute;
			top: 50%;
			width: 10px; }
			input[type=radio]:checked + .radio::after {
				opacity: 1; }
@media screen and (max-width: 640px){
		form button {
			margin: 2.0rem auto 0;
			width: 100%; }
		.radio,
		.checkbox {
			padding: 5px 0 5px 30px; }
}
	
	form .must {
		font-size: 1.0rem;
		color: #e42b2b;
		vertical-align: super; }
	form .privacyBox {
		text-align: center;
		background: #eee;
		padding: 1.5rem 1.5rem 0.5rem;
		margin: 2.0rem 0;
		font-size: 1.6rem; }
		form .privacyBox p {
			text-align: center !important; }
		form .privacyBox a {
			display: inline-block !important; }
	form .btnBox {
		margin-top: 3.0rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around; }
		form .btnBox p {
			text-align: center !important;
			width: 100%;
			margin-bottom: 2.0rem; }
		form .btnBox a.btn {
			max-width: 490px;
			width: 40%; }
			form .btnBox a.btn.disabled {
				background: #cacaca;
				color: #efefef;
				cursor: default; }
	form .error {
		color: #e42b2b;
		margin: 2rem 0; }
		form .error.point > li {
			margin-bottom: 0; }
@media screen and (max-width: 640px){
		form .btnBox a.btn {
			width: 90%; }
}


/* 福利厚生 */
/* ------------------------------------------------------------------------ */
	#page #welfare .wrap .title {
		margin-top: 3rem;
		margin-bottom: 5rem;
	}
	.gr-block {
		/*background: rgba(220, 199, 161, .2);*/
		background: rgba(220, 199, 161, .2);
		/*padding: 3.0rem;*/
		padding: clamp(1.8rem, 3vw, 3rem);
		margin-bottom: 4.0rem; }
	#welfare .gr-block {
		background: rgba(220, 199, 161, .2);}
		.gr-block h4 {
			font-size: 2.4rem;
			font-weight: bold;
			color: var(--color-title);
			margin-bottom: 2.0rem; }
		.gr-block img + h4 {
			margin-top: 3.0rem; }
		.gr-block p,
		.gr-block ul {
			text-align: justify;
			/*padding: 0 2.0rem;*/
			padding: 0 clamp(1.2rem, 2vw, 2rem); }
	#welfare .wrap + .wrap h3 {
		/*margin-top: 10.0rem;*/
		margin-top: clamp(6rem, 7.5vw, 10rem);}
		#page #welfare .wrap .gr-block .point li a {
			color: var(--color-accent);
		}
		#page #welfare .wrap .gr-block .point li a:hover {
			color: var(--color-decoration);
		}


/* 研修制度 */
/* ------------------------------------------------------------------------ */

	#training .text p + img {
		background: rgba(220, 199, 161, .2);
		margin-top: 4.0rem; }
	#training .gr-block {
		background: var(--yellow); }
		#training .types img {
			margin: 3.0rem 0;
			padding: 0 2.0rem;
			padding: 0 clamp(1.2rem, 2vw, 2rem); }
		#training .types h5 {
			font-size: 1.8rem;
			font-weight: bold;
			padding: 2.0rem 2.0rem 1.0rem;
			padding: 2rem clamp(1.2rem, 2vw, 2rem) 1rem; }
		#training .types p + ul:not(.point),
		#training .types ul + ul {
			margin-top: 2rem;
			margin-top: clamp(1.2rem, 2vw, 2rem); }


/* 研修制度_2 */
/* ------------------------------------------------------------------------ */

	#training dl.acco {
		background: rgba(220, 199, 161, .2);
		margin-bottom: 4.0rem; }
		#training dt.acco_title {
			position: relative;
			cursor: pointer;
			padding: 1.4rem 3.0rem;
			padding: 1.4rem clamp(1.8rem, 3vw, 3rem);
			transition: 0.5s ease-in-out; }
		#training dt.acco_title.open {
			padding: 3.0rem;
			padding: clamp(1.8rem, 3vw, 3rem); }
			#training dt.acco_title:after {
				font-family: 'Material Symbols Outlined';
				font-size: 3.2rem;
				line-height: 1;
				position: absolute;
				right: clamp(1.8rem, 3vw, 3rem);
				top: calc(50% - 1.6rem); }
			#training dt.acco_title:after {
				content: "add_circle";
				color: var(--sub-blue); }
			#training dt.acco_title.open:after {
				content: "do_not_disturb_on";
				color: var(--pink); }
			#training dt.acco_title h4 {
				font-size: 2.4rem;
				font-weight: bold;
				color: var(--color-title); }
		#training dd.detail {
			display: none;
			padding: 3.0rem;
			padding: clamp(1.8rem, 3vw, 3rem);
			padding-top: 0; }
			#training dd.detail p, #training dd.detail ul {
				text-align: justify;
				/* padding: 0 2.0rem; */
				padding: 0 clamp(1.2rem, 2vw, 2rem); }
				#training dd.detail p + p {
					margin-top: 1.2rem; }
				#training dd.detail ul + p {
					margin-top: clamp(1.2rem, 2vw, 2rem); }
@media screen and (max-width: 640px){
}


/* 英語勉強会 */
/* ------------------------------------------------------------------------ */
#training_english {
	h4 {
		font-size: 2.1rem;
		margin-top: 2.4rem;
		margin-bottom: 1.6rem; }
	h5 {
		font-size: 1.8rem;
		margin-bottom: 1.2rem; }
	ul + h5 {
		margin-top: 1.8rem; }
	.wrap.last {
		margin-bottom: 14rem;
		margin-bottom: clamp(6rem, 7.3vw, 14rem); }
	.graphBox {
		text-align: center;
		position: relative;
		margin-top: 1.5rem;
		overflow-x: hidden;
		background: rgba(220, 199, 161, .2);
		border-radius: 20px;
		padding: 3rem;
		margin-bottom: 4.0rem; }
		.graphBox img {
			max-width: 972px;
			min-width: 680px; }
			.graphBox img.smp {
				display: none; }
		.graphBox + .smp { display: none;}
	@media screen and (max-width: 780px) {
		.graphBox {
			margin-bottom: 0;
			overflow-x: scroll; }
			.graphBox + .smp.asof {
				display: block !important;
				margin-bottom: 4.0rem;
				padding-top: .8rem; }
	}
	@media screen and (max-width: 640px) {
		.graphBox {
			margin-bottom: 4.0rem;
			overflow-x: hidden; }
			.graphBox img {
				max-width: 300px;
				min-width: 0;
				margin: auto;}
				.graphBox img.dsk {
					display: none; }
				.graphBox img.smp {
					display: block; }
			.graphBox + .smp.asof {
				display: none !important; }
	}
}


/* キャリアパス */
/* ------------------------------------------------------------------------ */

	#career-path .text p + img {
		width: 90%;
		max-width: 1000px;
		display: block;
		margin: 4rem auto 0; }
@media screen and (max-width: 640px){
	#career-path .text p + img {
		width: 100%; }
}


/* 数字 */
/* ------------------------------------------------------------------------ */

	#data .wrap + .wrap h3 {
		/*margin-top: 10.0rem;*/
		margin-top: clamp(6rem, 7.5vw, 10rem);}
	#data ul.flex {
		gap: 2vw; }
		#data ul.flex li {
			width: calc(50% - 1vw);
			/*background: rgba(220, 199, 161, .2);*/
			background: rgba(220, 199, 161, .2);
			text-align: center; }
			#data ul.flex li .box {
				/*padding: 3.0rem;*/
				padding: clamp(1.8rem, 3vw, 3rem); }
				#data ul.flex li .box h4 {
					font-size: 2.4rem;
					font-weight: bold;
					color: var(--color-title);
					margin-bottom: 2.0rem;
					word-break: keep-all; }
					#data ul.flex li .box h4 span {
						font-size: 1.8rem; }
				#data ul.flex li .box img {
					max-width: fit-content; }
			#data ul.flex li p.asof {
				margin-top: -1.5rem;
				margin-bottom: 0;
				/*background: #fff;*/
				height: 35px;
				padding-bottom: 0; }
		#data ul.flex + ul li {
			width: 100%;
			margin-top: 2vw; }
			#data ul.flex + ul li .box {
				gap: 2vw; }
			#data ul.flex + ul li .box.smp {
				display: none; }
@media screen and (max-width: 850px){
			#data ul.flex + ul li .box {
				display: block; }
				#data ul.flex + ul li .box .fac h4 {
					margin-top: 4.0rem; }
				#data ul.flex + ul li .box img {
					height: 13vw; }
}
@media screen and (max-width: 640px){
		#data ul.flex li {
			width: 100%; }
			#data ul.flex li .box {
				padding: 1.3rem; }
				#data ul.flex li .box h4 {
					margin-bottom: 1.5rem; }
				#data ul.flex li .box img {
					height: 16vw; }
			#data ul.flex + ul li .box.dsk {
				display: none; }
			#data ul.flex + ul li .box.smp {
				display: block; }
				#data ul.flex + ul li .box img {
					height: 16vw;
					margin-top: 2vw; }
}
@media screen and (max-width: 450px){
				#data ul.flex li .box img {
					height: auto; }
				#data ul.flex + ul li .box img {
					height: auto; }
}


/* その他の取り組み */
/* ------------------------------------------------------------------------ */

	#other-activities ul.point {
		margin-bottom: clamp(3rem, 6.8vw, 6rem); }
		#other-activities ul.point li span {
			vertical-align: middle;
			display: inline-block;
			margin-left: 1rem; }
	#other-activities .gr-block ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin-top: 3.0rem;
		gap: 5rem; }
		#other-activities .gr-block ul li {
			width: 40%; }
#other-activities .gr-block p.img {
		max-width: 700px;
		margin: 3.0rem auto 0; }
@media screen and (max-width: 640px){
	#other-activities .gr-block ul {
		gap: 1.8rem; }
		#other-activities .gr-block ul li {
			width: 70%; }
}


/* オープン・カンパニー */
/* ------------------------------------------------------------------------ */

	#opencompany #cro,
	#opencompany #open,
	#opencompany #internship {
		/*margin-bottom: 10.0rem;*/
		margin-bottom: clamp(8rem, 8vw, 10.0rem); }
		#opencompany .wrap h2{
			letter-spacing: -.02rem; }
		#opencompany .wrap h4 {
			font-size: 2.4rem;
			/*margin-bottom: 3rem);*/
			font-weight: bold;
			color: var(--color-title);
			margin-bottom: 2.0rem; }
		#opencompany .scrollable {
			margin: 1.0rem 0 3.0rem;
			/*overflow-y: hidden !important;*/ }
			#opencompany table.cal {
				width: 100%;
				text-align: center;
				border: solid 1px #999;
				margin: 1.0rem 0 1.0rem; }
				#opencompany table.cal caption {
					text-align: left;
					margin-bottom: .6rem; }
					#opencompany table.cal caption.bottom {
						caption-side: bottom;
						margin-top: .6rem;
						margin-bottom: 0; }
				#opencompany table.cal th {
					text-align: center;
					padding: 5px;
					border: solid 1px #999;
					background: #eee; }
				#opencompany table.cal td {
					text-align: center;
					padding: 5px;
					border: solid 1px #999; }
		#opencompany p.center + a.btn {
			margin-top: 1.5rem;
			max-width: 720px; }
		#opencompany .btnBox a.btn.disabled {
			background: #cacaca;
			color: #efefef;
			cursor: default; }
@media screen and (max-width: 640px){
		#opencompany table.cal {
			min-width: 600px; }
}


/* 退職者の皆様へ */
/* ------------------------------------------------------------------------ */

	#comeback h2 span {
		display: block;
		/*font-size: 3rem;*/
		font-size: clamp(2.1rem, 2.8vw, 3rem); }
	#comeback #intro,
	#comeback #about,
	#comeback #entry {
		/*margin-bottom: 8.0rem;*/
		margin-bottom: clamp(5rem, 5vw, 8.0rem); }
	#comeback .careerBox {
		/*background: var(--bggray);*/
		background: rgba(220, 199, 161, .2); 
		/*padding: 6.0rem;*/
		padding: clamp(3rem, 3.1vw, 6rem);
		/*margin-top: 6.0rem;*/
		margin-top: clamp(3rem, 3.1vw, 6rem); }
		#comeback .careerBox h4 {
			color: var(--color-title);
			font-size: 2.7rem;
			font-weight: bold;
			line-height: 1.6;
			margin-bottom: 2rem; }
		#comeback .careerBox p + h4 {
			margin-top: 4rem; }
	#comeback #point .flex {
		justify-content: center;
		gap: 3rem;
		margin-top: 4rem; }
		#comeback #point .flex > div {
			width: 50%; }
			#comeback #point .flex > div h4 {
				background: var(--color-title);
				color: #fff;
				font-size: 1.8rem;
				padding: .5rem;
				text-align: center;
				border-radius: 2.4rem;
				margin-bottom: 2.0rem; }
				#comeback #point .flex > div h4 + ul,
				#comeback #point .flex > div h4 + img {
					padding: 0 1.5rem; }
	#comeback #contact .contact {
		border: solid 2px #ccc;
		padding: 2rem;
		margin: 3rem auto;
		width: 60%;
		max-width: 420px; }
	#comeback #contact a.btn {
		/*margin-top: 8.0rem;*/
		margin-top: clamp(5rem, 5vw, 8.0rem); }
@media screen and (max-width: 640px){
	#comeback #point .flex {
		flex-wrap: wrap; }
		#comeback #point .flex > div {
			width: 100%; }
}


/* リファラル採用 */
/* ------------------------------------------------------------------------ */
	#referral span.referral_title_txt{
		margin: clamp(3rem, 4vw, 5rem) auto clamp(5rem, 8vw, 10rem);
		display: block;
		font-size: clamp(1.8rem, 2.8vw, 2.8rem);
		margin-top: 1rem;
		color: var(--color-accent); }
	#referral #intro,
	#referral #campaign,
	#referral #about {
		/*margin-bottom: 8.0rem;*/
		margin-bottom: clamp(5rem, 5vw, 8.0rem); }
	#referral #intro img {
		margin: 2rem auto 0;
		max-width: 760px; }
	#referral #merit ul.point {
		margin-top: 3rem; }
	#referral #merit img {
		margin: 4rem auto 0rem;
		max-width: 800px; }
	#referral #contact .copy {
		text-align: center;
		margin: 0 auto 3rem;
		max-width: 800px; }
	#referral #contact .contact {
		border: solid 2px #ccc;
		padding: 2rem;
		margin: 3rem auto;
		width: 60%;
		max-width: 420px; }
	#referral #contact a.btn {
		margin: clamp(5rem, 5vw, 8.0rem) auto 0; }
	#referral #campaign {
		border-top: dashed 2px #999;
		border-bottom: dashed 2px #999;
		padding: 2rem 2rem 4rem;
		background: rgba(220, 199, 161, .2); }
	#referral #campaign .campaign_table {
		margin: 2rem auto 0; }
	#referral #campaign dl dt {
		background: rgba(36, 59, 83, 0.5); }
	#referral #campaign dl dd {
		background: #fff; }
			#referral #contact .copy {
		text-align: center;
		margin: 0 auto 3rem;
		max-width: 800px; }
	@media screen and (max-width: 500px) {
	#referral #contact .contact {
		width: 90%;}
	}

/* 育児・介護支援制度 */
/* ------------------------------------------------------------------------ */
	#page #support .wrap .title {
		margin-top: 3rem;
		margin-bottom: 5rem;
	}
	#support table {
		border: solid 1px var(--color-title);
		width: 100%;
		margin-bottom: clamp(4rem, 6.7vw, 8rem); }
	#support th {
		text-align: center;
		padding: 1rem;
		border: solid 1px var(--color-title);
		background-color: rgba(36, 59, 83, 0.7);
		color: #fff; }
	#support td {
		padding: 1rem;
		border: solid 1px var(--color-title); }
	#support .img {
		margin: 4.0rem auto 0;
		/*max-width: 80%;*/
		max-width: 800px; }
	#support .gr-block {
		scroll-margin-top: 150px;
		background: rgba(220, 199, 161, .2); }
	@media screen and (max-width: 640px) {
		#support .img {
			margin: 3.0rem auto 0;
			max-width: 100%; }
		#support .gr-block {
			scroll-margin-top: 60px; }
	}


/* お知らせ */
/* ------------------------------------------------------------------------ */

#news {}
	#news ul.tab {
		border-top: solid 1px #999;
		border-bottom: solid 1px #999;
		display: flex;
		flex-wrap: wrap;}
		#news ul.tab li {
			margin-right: .5rem; }
			#news ul.tab li span {
				display: block;
				cursor: pointer;
				position: relative;
				padding: 1.4rem 1.05vw;
				color: #333; }
			#news ul.tab li.active span {
				color: #fff;
				background-color: #148ecf; }
					#news ul.tab li:nth-child(2).active span {
						background: #2c71a6; }
					#news ul.tab li:nth-child(3).active span {
						background: #609e5f; }
					#news ul.tab li:nth-child(4).active span {
						background: #96405c; }
				#news ul.tab li span::after {
					display: block;
					position: absolute;
					left: 0;
					bottom: -1px;
					width: 100%;
					height: 3px;
					background-color: #148ecf;
					opacity: 0;
					transition: opacity 0.3s;
					content: ""; }
					#news ul.tab li:nth-child(2) span::after {
						background: #2c71a6; }
					#news ul.tab li:nth-child(3) span::after {
						background: #609e5f; }
					#news ul.tab li:nth-child(4) span::after {
						background: #96405c; }
						#news ul.tab li span:hover::after {
							opacity: 1; }
				#news ul.tab li span br {
					display: none; }
	#index #news .list {
		margin-bottom: 3.0rem;
		overflow-y: scroll;
		height: 275px;
		padding-bottom: 1px; }
		#news ul.list li {
			border-bottom: solid 1px #999;
			animation: fadeIn 1.5s ease 0s backwards; }
		@keyframes fadeIn{
			0%{ opacity: 0; }
			100%{ opacity: 1; }
		}
			#news ul.list li.hide {
				display: none; }
			#news ul.list li span.blank,
			#news ul.list li a {
				padding: 1.5rem 0;
				color: #333;
				display: flex; }
				#news ul.list li a:hover {
					background: #e5f6ff; }
				#news ul.list li p {
					margin-top: 0 !important;
					padding: 0 2.0rem; }
				#news ul.list li span.body {}
				#news ul.list li span.cate {
					padding: .2rem 1.0rem;
					margin-right: .8rem;
					font-size: 1.2rem;
					color: #fff;
					line-height: 2.1rem;
					vertical-align: text-bottom;
					display: inline-block; }
					#news ul.list li span.cate.tab1 {
						background: #2c71a6; }
					#news ul.list li span.cate.tab2 {
						background: #609e5f; }
					#news ul.list li span.cate.tab3 {
						background: #96405c; }
					#news ul.list li span.cate.tab4 {
						background: #a6592c; }
					#news ul.list li span.cate.tab5 {
						background: #666; }
						#news ul.list li a[target] .body::after {
							content: "\f35d";
							font-weight: 900;
							font-family: "Font Awesome 5 Free";
							transition: color .25s ease;
							padding-left: 1.4rem;
							color: #999;
							vertical-align: text-bottom; }
						#news ul.list li a.pdf[target] .body::after {
							font-weight: 400;
							content: "\f1c1"; }
	#news span.js-link {
		border-bottom: solid 1px rgba(0,0,0,0);
		transition: 0.5s ease-in-out; }
		#news span.js-link:hover {
			border-bottom: solid 1px #666;
			transition: 0.5s ease-in-out; }
	#news span.js-link.link {
		display: inline-block;
		padding-left: 1.5rem;
		position: relative;
		z-index: 1;
		margin-right: .5rem;
		margin-left: .5rem;}
		#news span.js-link.link::before {
			left: 0;
			content: "\f105";
			font-weight: 900;
			font-family: "Font Awesome 5 Free";
			padding-top: .1rem;
			transition: color .25s ease;
			position: absolute; }
			#news span.js-link.link.pdf::after {
				font-family: "Font Awesome 5 Free";
				transition: color .25s ease;
				padding-left: 0.8rem;
				font-size: 1.4rem;
				font-weight: 400;
				content: "\f1c1";
				vertical-align: middle; }
@media screen and (max-width: 640px){
		#index #news h2 span {
			min-width: 185px; }
		#news ul.tab {
			border-bottom: solid 1px #999;
			flex-wrap: nowrap; }
			#news ul.tab li {
				margin-right: 0;
				width: 25%;
				text-align: center;
				display: flex; }
				#news ul.tab li span {
					padding: 1.0rem 1vw;
					line-height: 1;
					width: 100%;
					display: flex;
					justify-content: center;
					align-items: center; }
		#news .list {
			border-top: none;
			padding-bottom: 0; }
				#news ul.list li span.blank,
				#news ul.list li a {
					flex-wrap: wrap; }
					#news ul.list li p {
						width: 100%;
						padding: 0; }
						#news ul.list li p span.data {
							margin-right: 1.0rem; }
}
@media screen and (max-width: 480px){
					#news ul.tab li span br {
						display: block; }
}

/* ニュース 続きを見る */
/* ------------------------------------------------------------------------ */
	.grad-wrap {
		position: relative; }
		.grad-trigger {
			z-index: 2;
			position: absolute;
			right: 0;
			bottom: 0;
			left: 0;
			width: 148px;
			margin: auto;
			padding: .8rem 0;
			background: #148ecf;
			color: #fff;
			font-size: 1.6rem;
			text-align: center;
			cursor: pointer;
			transition: .2s ease;
			box-shadow: 0 0 3px rgba(0,0,0,.3); }
			.grad-trigger:hover {
				background: #f2f2f2;
				color: #148ecf; }
			.grad-trigger .fa {
				margin-right: .5em; }
		.grad-item {
			position: relative;
			overflow: hidden; }
			.grad-item.is-hide {
				max-height: 500px; /*隠した後の高さ*/
				transition: all 50.0s; }
				.grad-item.heights.is-hide {
					max-height: 99999px; }
			.grad-item::before {
				display: block;
				position: absolute;
				bottom: 0;
				left: 0;
				content: "";
				width: 100%;
				height: 40px; /*グラデーションで隠す高さ*/
				background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
				background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%); }
			.grad-trigger.is-show + .grad-item::before {
				display: none; }

/* ------------
トップページ
-------------- */

#page #recruit-fv {
    margin-bottom: clamp(6rem, 7.5vw, 10rem);
}

#page #recruit-fv .recruit-fv_img {
	width: 100%;
	height: 350px;
	border-radius: 35px 35px 165px 35px;
	overflow: hidden;
	margin-bottom: 3rem;
	position: relative;
}

#page #recruit-fv .recruit-fv_img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

#page #recruit-fv .recruit-fv_img p.recruit-fv-vision {
	position: absolute;
	top: 50%;
	left: 0;
	font-size: 2.4rem;
	font-weight: 600;
	transform: translateY(-50%);
	margin-left: 3rem;
	color: #fff;
	text-shadow: 2px 2px 3px #333;
}

.recruit-fv-vision::before {
    content: "";
    position: absolute;
    inset: -5px -20px;
	background: rgba(36, 59, 83, 0.3);
    filter: blur(20px);
    z-index: -1;
}

#page #recruit-fv .recruit-fv_img p.recruit-fv-vision .spBr {
	display: none;
}

@media screen and (max-width: 1000px) {
	#page #recruit-fv .recruit-fv_img {
		height: 260px;
	}
}

@media screen and (max-width: 640px) {
	#recruit-top h2 {
		font-size: 2.6rem;
	}
	#page #recruit-fv .recruit-fv_img {
		height: 180px;
		border-radius: 18px 18px 90px 18px;
	}
	#page #recruit-fv .recruit-fv_img p.recruit-fv-vision .spBr {
		display: block;
	}
}
@media screen and (max-width: 500px) {
	#page #recruit-fv .recruit-fv_img p.recruit-fv-vision {
		font-size: 1.8rem;
		text-shadow: 1px 1px 2px #333;
	}
}


	#top-about {}
		#top-about h2 {
			color: var(--color-title);
			font-size: var(--font-size-h2);
			font-weight: 600;
			display: flex;
			word-break: keep-all;
			line-height: 1;
			/*margin-bottom: 6.0rem;*/
			margin-bottom: clamp(4rem, 4.2vw, 6rem); }
			#top-about h2:after {
				content: "";
				display: inline-block;
				border-bottom: solid 1px #707070;
				width: 100%;
				margin-left: 2rem; }
		#top-about ul {
			/*gap: 3.0rem;*/
			gap: clamp(1.8rem, 3vw, 3rem);
			/*margin-bottom: 25rem;*/
			margin-bottom: clamp(6rem, 7.5vw, 10rem); }
			#top-about ul li {
				max-width: 494px;
				width: 42%; }
@media screen and (max-width: 740px){
		#top-about ul {
			flex-wrap: wrap; }
}
@media screen and (max-width: 640px){
		#top-about ul {
			gap: 3.0rem; }
			#top-about ul li {
				width: calc(50% - 1.5rem); }
		}
@media screen and (max-width: 450px){
		#top-about h2:after {
			display: none;
		}
		#top-about h2 {
			word-break: normal;
			overflow-wrap: break-word; }
			#top-about ul li {
				width: 100%;
				max-width: 300px; }
}
	#top-interview {
		background: rgba(220, 199, 161, .2);
		/*padding-bottom: 10.0rem;*/
		padding-bottom: clamp(6rem, 7.5vw, 10rem);
		/*margin-bottom: 10.0rem;*/
		margin-bottom: clamp(6rem, 7.5vw, 10rem); }
		#top-interview h2 {
			color: var(--color-title);
			font-size: var(--font-size-h2);
			font-weight: 600;
			margin-bottom: 6.0rem;
			line-height: 0; }
			#top-interview:before {
				content: "";
				display: block;
				height: 10px;
				margin-bottom: -10px;
				background: #fff; }
		#top-interview p {
			color: var(--color-text);
			font-weight: 600;
			/*margin-bottom: 5rem;*/
			margin-bottom: clamp(3rem, 3.5vw, 5rem); }
		#top-interview .interviewBox {
			background: linear-gradient( 315deg,#a9c5d2 0%,#c4dbe4 50%,#eaf4f7 100%);
			margin: auto -8rem;
			padding: 6rem 0; }
			#top-interview ul.panel-interview {
				margin-bottom: 0;
				column-gap: 1.5%;
				/*row-gap: 3.0rem;*/
				row-gap: clamp(1.8rem, 3vw, 3rem); }
				#top-interview ul.panel-interview li {
					width: 16.5%; }
					#top-interview ul.panel-interview li span {
						display: none; }
				#top-interview ul.panel-interview li.null {
					background: #eee;
					border: none;
					cursor: unset;
					height: 0;
					padding: 0;
					margin: 0; }
@media screen and (max-width: 1505px){
		#top-interview .interviewBox {
			margin: auto -4rem; }
}
@media screen and (max-width: 1360px){
		#top-interview .interviewBox {
			padding: 4rem 2rem; }
			#top-interview ul.panel-interview {
				row-gap: 3.0rem; }
}
@media screen and (max-width: 900px){
				#top-interview ul.panel-interview:after {
					content: "";
					display: block;
					width: 23%;
					height: 0; }
				/*#top-interview ul.panel-interview:before {
					content: "";
					display: block;
					width: 23%;
					height: 0;
					order: 1; }*/
				#top-interview ul.panel-interview li {
					width: 23%; }
				#top-interview ul.panel-interview li.null {
					display: none; }
}
@media screen and (max-width: 800px){
		#top-interview .interviewBox {
			padding: 4rem 0;
			margin: auto -1.6rem; }
}
@media screen and (max-width: 640px){
		#top-interview .interviewBox {
			padding: 2rem 1.6rem; }
			#top-interview ul.panel-interview {
				padding: 0;
				row-gap: 2.0rem; }
				#top-interview ul.panel-interview:after {
					width: 31%;}
				/*#top-interview ul.panel-interview:before {
					display: none; }*/
				#top-interview ul.panel-interview li {
					width: 31%; }
}
@media screen and (max-width: 450px){
			#top-interview ul.panel-interview {
				justify-content: space-around; }
				#top-interview ul.panel-interview:after {
					width: 42%; }
				#top-interview ul.panel-interview li {
					width: 42%;
					max-width: 140px; }
}

	#top-rec { }
		#top-rec h2 {
			color: var(--color-title);
			font-size: var(--font-size-h2);
			font-weight: 600;
			display: flex;
			word-break: keep-all;
			line-height: 1;
			/*margin-bottom: 6.0rem;*/
			margin-bottom: clamp(4rem, 4.2vw, 6rem); }
			#top-rec h2:after {
				content: "";
				display: inline-block;
				border-bottom: solid 1px #707070;
				width: 100%;
				margin-left: 2rem; }
		#top-rec ul {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			justify-content: center;
			/*gap: 4rem;*/
			gap: clamp(2rem, 2.1vw, 4rem);
			max-width: 1114px;
			margin: auto;
			/*margin-bottom: 10.0rem;*/
			margin-bottom: clamp(6rem, 7.5vw, 10rem); }
			#top-rec ul li {
				width: 100%; }
	@media screen and (max-width: 740px){
		#top-rec ul {
			grid-template-columns: repeat(2, 1fr);
	}}
	@media screen and (max-width: 450px){
		#top-rec h2:after {
			display: none;
	}}


	/* recruit top footer */
/* ------------------------------------------------------------------------ */
#recruit-footer {
	position: relative;
	background: rgba(220, 199, 161, .2);
	padding-bottom: 1rem;
	padding: clamp(6rem, 6.3vw, 8rem) 0;
}

#recruit-footer .logo {
	/*padding-top: 4.0rem;*/
	padding-top: clamp(2rem, 2.1vw, 4rem);
	/*padding-bottom: 6.0rem;*/
	padding-bottom: clamp(3rem, 3.1vw, 6rem);
}

#recruit-footer .logo .recruit {
	max-width: 300px;
}

#recruit-footer nav ul {
	display: flex;
	justify-content: space-between;
	gap: 2.0rem;
}

#recruit-footer nav ul li {
	width: 25%;
}

#recruit-footer nav ul li a.headline {
	display: block;
	color: #194372;
	font-size: 2.1rem;
	font-weight: 700;
	/*margin-bottom: 3.0rem;*/
	margin-bottom: clamp(1.8rem, 3vw, 3rem);
	border-bottom: solid 1px #ccc;
	padding-bottom: 0.8rem;
}

#recruit-footer nav ul li dl {
	width: 100%;
}

#recruit-footer nav ul li dl dd {
	margin-top: 0.4rem;
}

#recruit-footer nav ul li dl dd a {
	display: inline-block;
	color: var(--color-title);
	font-size: 1.8rem;
	transition: 0.6s ease-in-out;
	border-bottom: solid 1px rgba(220, 199, 161, .2);
}

#recruit-footer nav ul li dl dd a:hover {
	border-bottom: solid 1px var(--color-accent);
}

#recruit-footer .underNav {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 2.0rem;
	border-top: solid 1px var(--color-accent);
	padding-top: 1.0rem;
}

#recruit-footer .underNav ul {
	display: flex;
	gap: 2.0rem;
}

#recruit-footer .link a {
	color: var(--black);
	border-bottom: solid 1px rgba(220, 199, 161, .2);
}

#recruit-footer .link a:hover {
	border-bottom: solid 1px var(--color-accent);
}

#recruit-footer .snsIcon a {
	font-size: 3.0rem;
	line-height: 1;
}

#recruit-footer .snsIcon li.tw a {
	/*color: #1da1f2;*/
	color: #000;
}

#recruit-footer .snsIcon li.li a {
	color: #0e76a8;
}

#recruit-footer .snsIcon li.in a i {
	background: radial-gradient(circle at 33% 100%, #FED373 4%, #F15245 30%, #D92E7F 62%, #9B36B7 85%, #515ECF);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

#recruit-footer .recruit-footer-sp {
	display: none;
}

@media screen and (max-width: 950px) {
	#recruit-footer nav ul {
		flex-wrap: wrap;
		gap: 4.0rem;
	}

	#recruit-footer nav ul li {
		width: calc(50% - 2.0rem);
	}
}

@media screen and (max-width: 640px) {
	#recruit-footer {
		margin-top: 5.0rem;
	}

	#recruit-footer .logo {
		padding-top: 2.0rem;
		padding-bottom: 2.0rem;
	}

	#recruit-footer .logo .recruit {
		max-width: 230px;
	}

	#recruit-footer .underNav {
		gap: 1.0rem;
	}

	#recruit-footer .underNav ul {
		gap: 1.0rem;
	}
}

@media screen and (max-width: 500px) {
	#recruit-footer {
		text-align: center;
		align-items: center;
		justify-content: center;
		padding: clamp(6rem, 6.3vw, 8rem) 2rem;
	}
	#recruit-footer nav ul:first-of-type {
		display: none;
	}
	#recruit-footer nav .recruit-footer-sp {
		display: block;
	}

	#recruit-footer nav .recruit_footer-sp li {
		width: fit-content;
	}

	#recruit-footer nav .recruit_footer-sp li a.headline {
		display: block;
		color: #194372;
		font-size: 2.1rem;
		font-weight: 700;
		/*margin-bottom: 3.0rem;*/
		margin-bottom: clamp(1.8rem, 3vw, 3rem);
		border-bottom: solid 1px #ccc;
		padding-bottom: 0.8rem;
	}
}

/* ハラスメント */
/* ------------------------------------------------------------------------ */
	#page #customer-harassment .wrap .title {
		margin-top: 3rem;
		margin-bottom: 5rem;
	}
	#page #customer-harassment .contact {
		border: solid 2px #ccc;
		padding: 2rem;
		margin: 3rem auto;
		width: 60%;
		max-width: 450px;
	}
@media screen and (max-width: 600px) {
	#page #customer-harassment .contact {
			width: 100%;
		}
}