@charset "utf-8";

/* CSS Document */

/* 共通設定 */
/* ------------------------------------------------------------------------ */
	*{
		/*min-height: 0vw;*/ /* Safari clamp関数対策 */}
	:root {
		/* color */
		--black: #363636;
		--gray: #ecebe4;
		--bggray: #F6F6F1;
		--blue: #194372;
		--sub-blue: #2691EF;
		--yellow: #fff9e3;
		--yellow-lite: #fffcf4;
		--red: #ec3232;
		--txblue: #3A5763;
		--pink: #F51895;;
		--btn-gradient: linear-gradient(to bottom, var(--orange) 0%, var(--pink) 25%, var(--orange) 51%, var(--pink) 100%);
		--btn-gradient-hover: linear-gradient(to bottom, var(--pink), var(--orange));
		/*font*/
		--mincho: "Zen Old Mincho", serif; }

	body {
		min-width: 320px;
		width: 100%;
		margin: 0 auto;
		color: var(--black);
		font-size: 1.8rem;
		font-weight: 500;
		font-family: "Roboto Condensed",'Zen Kaku Gothic New', helvetica, arial, 'hiragino kaku gothic pro', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'Osaka', sans-serif;
		-webkit-text-size-adjust: 100%;
		line-height: 1.8;
		/*overflow-x: hidden;*/ }
	img {
		width: 100%;
		height: auto; }
	a {
		text-decoration: none;
		color: var(--sub-blue); }
		a:hover {
			color: #082b3e; }
	a.btn {
		position: relative;
		width: 80%;
		max-width: 600px;
		color: var(--txblue);
		display: block;
		margin: auto;
		/*margin-top: 4rem;*/
		margin-top: clamp(2rem, 2.1vw, 4rem);
		padding: 2.0rem;
		background: #fff;
		text-align: center;
		line-height: 1;
		font-size: 2.4rem;
		border: solid 1px #707070;
		border-radius: .6rem;
		box-shadow: .5rem .5rem #707070; }
		a.btn:hover {
			/*background: var(--gray);*/
			box-shadow: none;
			translate: 5px 5px; }
	a.btn.disabled {
		background: #cacaca;
		color: #efefef;
		cursor: default; }
	a.btn.icon {
		max-height: 9.0rem; }
		a.btn.icon img {
			max-height: 5.0rem;
			object-fit: contain; }
	a.link {
		display: inline-block;
		padding: 1rem 0 0 2rem;
		position: relative;
		transition: color .25s ease;
		z-index: 1;
		margin-right: 2rem; }
		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){
	body {
		line-height: 1.5; }
	a.btn {
		padding: 1.0rem; }
	a.btn.icon {
		max-height: 6.0rem; }
		a.btn.icon img {
			max-height: 3.0rem; }
}

	main {
		background: #fff;
		padding-bottom: 2.0rem; }
	.wrap {
		margin: auto;
		width: 100%;
		max-width: calc(1200px + 4rem);
		padding-left: 2.0rem;
		padding-right: 2.0rem;
		clear: both; }
	@media screen and (max-width: 640px){
		.wrap {
			padding-left: 10px;
			padding-right: 10px; }
	}

	.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; }

	
/* header */
/* ------------------------------------------------------------------------ */
header {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 5;
	background-color: rgba(255, 255, 255, 0.8); }
	header .logo {
		padding-top: 1.2rem;
		padding-bottom: 3.0rem;
		display: flex;
		justify-content: space-between;
		align-items: center; }
		header .logo h1 {
			width: 100%;
			max-width: 430px;
			margin-right: 2.0rem;
			line-height: 1;
			display: flex;
			justify-content: space-between;
			align-items: center; }
			header .logo h1 .eps {
				max-width: 96px;
				width: 24.2%;
				margin-right: 2rem; }
			header .logo h1 .recruit {
				max-width: 300px;
				width: 75.8%; }
		header .logo a.entryBtn {
			width: 194px;
			height: 46px;
			/*font-size: 2.1rem;*/
			font-size: clamp(1.8rem, 3vw, 2.1rem);
			color: #fff;
			background: rgb(64,157,229);
			background: linear-gradient(90deg, rgba(64,157,229,1) 0%, rgba(20,82,129,1) 100%);
			display: flex;
			justify-content: center;
			align-items: center;
			word-break: keep-all; }
			header .logo a.entryBtn span {
				background: #fff;
				border-radius: 50%;
				color: var(--sub-blue);
				width: 22px;
				height: 22px;
				display: flex;
				align-items: center;
				justify-content: center;
				margin-right: 0.8rem;
				font-weight: bold;
				font-size: 18px; }
	header .gnav {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-end;
		gap: 2%; }
		header .gnav li {
			width: 18%; }
			header ul.gnav li a {
				display: block;
				color: var(--blue);
				font-size: 2.1rem;
				padding: 0 0 1.2rem;
				border-bottom: solid 1px var(--blue);
				line-height: 1.2; }
	header .modal {
		display: none; }
/*ヘッダーの動き*/
/*	header.headoff {
		animation: headoffAnime 0.5s forwards; }
	@keyframes headoffAnime {
		from {
			opacity: 1;
			transform: translateY(0);}
		to {
			opacity: 0;
			transform: translateY(-100px); }
	}
	header.headon {
		animation: headonAnime 0.5s forwards; }
	@keyframes headonAnime {
		from {
			opacity: 0;
			transform: translateY(-100px); }
		to {
			opacity: 1;
			transform: translateY(0); }
	}
@media screen and (max-width: 640px){
	header.headoff {
		animation: headoffAnime2 0s none; }
	header.headon {
		animation: headonAnime2 0s none; }
}
	@keyframes headoffAnime {
		from {
			opacity: 1;
			transform: translateY(0);}
		to {
			opacity: 1;
			transform: translateY(0); }
	}
	@keyframes headonAnime {
		from {
			opacity: 1;
			transform: translateY(0); }
		to {
			opacity: 1;
			transform: translateY(0); }
	}*/
@media screen and (max-width: 640px){
	header .logo {
		height: 51px;
		background: rgba(255, 255, 255, 0.8);
		position: sticky;
		top: 0;
		z-index: 10;
		padding: 0 10px }
		header .logo h1 {
			width: calc(100% - 51px); }
		header .entryBtn {
			display: none !important; }
	header .gnav {
		display: none; }
	header .modal {
		display: block; }
		header .modal .menu-btn {
			position: absolute;
			top: 0;
			right: 0;
			width: 51px;
			text-align: center;
			font-size: 2.7rem;
			cursor: pointer;
			color: #333;
			line-height: 51px;
			z-index: 15;
			background: #eee; }
			header .modal .open .menu-btn {
				position: fixed;
				background: #148ecf; }
			header .modal .open .menu-btn i.fa-bars,
			header .modal .menu-btn i.fa-times {
				display: none; }
			header .modal .menu-btn i.fa-bars,
			header .modal .open .menu-btn i.fa-times {
				display: inline-block; }
			header .modal .open .menu-btn i.fa-times {
				color: #fff; }
	header .modal .menu {
		position: fixed;
		display: table;
		overflow: auto;
		top: 51px;
		left: 0;
		width: 100%;
		height: 100vh;
		/*background: rgba(0,0,0,0.4);*/
		-webkit-transition: all .5s;
		transition: all .5s;
		visibility: hidden;
		opacity: 0; }
		header .modal .menu > ul {
			/*background: var(--gray);
			background: var(--yellow);*/
			background: rgb(255 249 227 / 80%);
			border-top: solid #ccc 1px;
			height: 100%; }
			header .modal .menu li a {
				position: relative;
				display: block;
				padding: 1.0rem 3.5rem 1.0rem 2.0rem;
				border-bottom: solid 1px #ccc;
				/*cursor: pointer;
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-start;
				align-items: center;*/
				color: #333;
				background: rgb(255 255 255 / 80%); }
				header .modal .menu li a:after {
					position: absolute;
					right: 2.0rem;
					content: "\f105";
					font-weight: 900;
					font-family: "Font Awesome 5 Free";
					padding-top: .1rem; }
			header .modal .menu li.eps a {
				border-bottom: none;
				padding: 2.0rem; }
				header .modal .menu li.eps a:before {
					display: none; }
				header .modal .menu li.eps a img {
					width: 100px; }
	header .modal .open .menu {
		-webkit-transition: all .5s;
		transition: all .5s;
		visibility: visible;
		opacity: 1;
		z-index: 14; }
	header .modal .contact {
		position: absolute;
		top: 0;
		right: 51px;
		width: 51px;
		text-align: center;
		font-size: 2.7rem;
		color: #333;
		line-height: 51px;
		z-index: 1;
		background: #005491; }
		header .modal .contact a {
			color: #fff; }
}
@media screen and (max-width: 400px){
			header .logo h1 .recruit {
				width: calc(100% - 51px); }
}

/* footer */
/* ------------------------------------------------------------------------ */
#footer {
	position: relative;
	background: var(--gray);
	/*background: var(--yellow-lite);*/
	padding-bottom: 1rem; }
	#footer .logo {
		/*padding-top: 4.0rem;*/
		padding-top: clamp(2rem, 2.1vw, 4rem);
		/*padding-bottom: 6.0rem;*/
		padding-bottom: clamp(3rem, 3.1vw, 6rem); }
			#footer .logo .recruit {
				max-width: 300px; }
	#footer nav {
		/*margin-bottom: 8rem;*/
		margin-bottom: clamp(6rem, 6.3vw, 8rem); }
		#footer nav ul {
			display: flex;
			justify-content: space-between;
			gap: 2.0rem; }
			#footer nav ul li {
				width: 25%; }
				#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; }
				#footer nav ul li dl {
					width: 100%; }
					#footer nav ul li dl dd {
						margin-top: 0.4rem; }
					#footer nav ul li dl dd a {
						display: inline-block;
						color: var(--blue);
						font-size: 1.8rem;
						transition: 0.5s ease-in-out;
						border-bottom: solid 1px var(--gray); }
						#footer nav ul li dl dd a:hover {
							border-bottom: solid 1px #aaa; }
	#footer .underNav {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		gap: 2.0rem;
		border-top: solid 1px #ccc;
		padding-top: 1.0rem; }
		#footer .underNav ul {
			display: flex;
			gap: 2.0rem; }
			#footer .link  a {
				color: var(--black);
				border-bottom: solid 1px var(--gray); }
				#footer .link a:hover {
					border-bottom: solid 1px #aaa; }
			#footer .snsIcon a {
				font-size: 3.0rem;
				line-height: 1; }
				#footer .snsIcon li.tw a {
					/*color: #1da1f2;*/
					color: #000; }
				#footer .snsIcon li.li a {
					color: #0e76a8; }
				#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; }
@media screen and (max-width: 950px){
		#footer nav ul {
			flex-wrap: wrap;
			gap: 4.0rem; }
			#footer nav ul li {
				width: calc(50% - 2.0rem); }
}
@media screen and (max-width: 640px){
#footer {
	margin-top: 5.0rem; }
	#footer .logo {
		padding-top: 2.0rem;
		padding-bottom: 2.0rem; }
			#footer .logo .recruit {
				max-width: 230px; }
		#footer nav  {
			display: none; }
	#footer .underNav {
		gap: 1.0rem; }
		#footer .underNav ul {
			gap: 1.0rem; }
}
footer {
	background: var(--blue);
	color: #fff;
	font-size: 1.4rem; }
	footer .copyright {
		padding-top: 1.4rem;
		padding-bottom: 1.4rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between; }
		footer p {}
			footer p a {
				vertical-align: middle; }
			footer p svg {
				max-width: 96px;
				height: auto;
				margin-right: 1.6rem; }
				footer p svg path,
				footer p svg polygon {
					fill: #fff !important; }
		footer small {
			display: flex;
			align-items: center; }
@media screen and (max-width: 1050px){
		footer .copyright {
			justify-content: center; }
			footer p {
				display: flex;
				align-items: center; }
				footer p svg {
					max-height: inherit;
					height: 30px;
					margin-right: 1.6rem;
					width: 80px; }
				footer p span {
					font-size: 1.4rem; }
			footer small {
				width: 100%;
				text-align: center;
				display: block; }
}
@media screen and (max-width: 640px){
			footer small {
				width: 100%;
				text-align: center;
				margin-top: 1.0rem; }
}


/* pannkuzu */
/* ----------------------------------------------------------------------------------------- */
#breadcrumbs {
	background: #f4f4f4; }
	#breadcrumbs ul {
		margin:0 auto;
		width: 100%;
		max-width: calc(1200px + 4rem);
		padding: 1.5rem 37.0rem 1.5rem 8.0rem;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start; }
		#breadcrumbs ul li {
			display: inline-block;
			font-size: 1.4rem;
			color: #777;
			vertical-align: middle;
			line-height: 1;
			padding: .5rem 0; }
			nav#breadcrumbs ul li:before {
				content: "\f105";
				padding: 0 1.0rem;
				margin-top: -.25rem;
				font-size: 1.8rem;
				font-family: 'Font Awesome 5 Free';
				font-weight: 900;
				vertical-align: middle;
				display: inline-block; }
			nav#breadcrumbs ul li:first-child:before {
				content:"";
				padding: 0; }
		nav#breadcrumbs ul li a {
			vertical-align: top;
			color: #999; }
			nav#breadcrumbs ul li a:hover {
				color: #6d575f; }
				nav#breadcrumbs ul li a span.smp {
					display: none; }
@media screen and (max-width: 1280px){		/*1280px以下の時*/
	#breadcrumbs ul {
		padding: 1.5rem 37.0rem 1.5rem 4.0rem; }
}
@media screen and (max-width: 1000px){		/*1280px以下の時*/
	#breadcrumbs ul {
		padding: 1.5rem 2.0rem; }
}
@media screen and (max-width: 640px){
		#breadcrumbs ul {
			padding: 0 0.8rem; }
			#breadcrumbs ul li {
				padding: 1.4rem 0; }
					nav#breadcrumbs ul li a span.dsk {
						display: none; }
					nav#breadcrumbs ul li a span.smp {
						display: inline-block; }
						nav#breadcrumbs ul li a span.smp img {
							width: 16px !important;
							height: 16px !important; }
						nav#breadcrumbs ul li a span.smp svg {
							width: 16px !important;
							height: 16px !important;
							vertical-align: middle;
							margin-top: -3px; }
							nav#breadcrumbs ul li a span.smp svg path {
								fill: #999 !important; }
}

/* スクロールアップ */
/* ----------------------------------------------------------------------------------------- */
.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; }
}



/* 共通 */
/* ------------------------------------------------------------------------ */
	.line {
		/*margin-bottom: 14rem;*/
		margin-bottom: clamp(6rem, 7.3vw, 14rem);
		height: .6rem;
		width: 66%;
		background: linear-gradient(to right, rgba(91,129,162,1) 0%, rgba(46,98,156,77) 50%, rgba(76,186,227,.81) 100%); }
	.wrap + .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(--txblue);
		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(91,129,162,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(--txblue);
		/*margin-bottom: 4rem);*/
		margin-bottom: clamp(2rem, 2.1vw, 4rem); }
	
	.wrap .text {
		max-width: 1200px;
		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(--txblue);
			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); }

/* 知る系パネル */
/* ------------------------------------------------------------------------ */
	#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("../img/title_bg.png") center top;
		text-align: center;
		padding: 2rem; }
		#title h2 {
			position: relative;
			font-weight: bold;
			font-size: clamp(2.7rem, 3.2vw, 3.8rem);
			color: var(--txblue);
			margin: 0 auto clamp(2.8rem, 3.4vw, 4rem); }
			#title h2:after {
				content: "";
				display: block;
				margin: .5rem auto 0;
				/*width: 10.0rem;*/
				width: clamp(7rem, 8.4vw, 10rem);
				height: 1.0rem;
				background: linear-gradient(to right,  rgba(46,65,81,1) 0%,rgba(76,107,135,1) 45%,rgba(46,65,81,0.49) 100%); }
@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 #4CBAE3;
			border-left: solid 2px #4CBAE3;
			border-image: linear-gradient(to bottom, #4CBAE3 0%, #4CBAE3 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 #4CBAE3;
				border-image: linear-gradient(to bottom, #4CBAE3 0%, #4CBAE3 40%, #fff 40%, #fff 100%);
				border-image-slice: 1; }
			ul.panel li a {
				color: var(--txblue);
				/*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(--sub-blue);
					font-size: 1.6rem; }
	main#recruit {
		/*margin-bottom: 14rem;*/
		margin-bottom: clamp(10rem, 7.3vw, 14rem); }
		main#recruit .wrap h3 {
			font-size: 2.7rem; }
			main#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 #4CBAE3;
				border-image: linear-gradient(to bottom, #4CBAE3 0%, #4CBAE3 40%, #fff 40%, #fff 100%);
				border-image-slice: 1; }
			ul.panel li a {
				font-size: 2.1rem;
				line-height: 1.3; }
		#recruit 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: 2.1rem;
				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("../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; }
@media screen and (max-width: 640px){
		#message .cover img {
			object-fit: cover;
			height: 250px;
			object-position: 80% 0; }
}


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


/* 会社案内 */
/* ------------------------------------------------------------------------ */
	/*philosophy*/
	#profile #philosophyBox {
		max-width: 1000px;
		margin: auto;
		text-align: center; }
		#profile #philosophyBox h4 {
			font-size: 2.7rem;
			font-weight: bold;
			color: var(--txblue);
			padding-bottom: 1.2rem;
			margin: 3.6rem 0 1.6rem;
			border-bottom: dotted 1px #bbb; }
		#profile #philosophyBox p {
			font-size: 2.4rem; }
			#profile #philosophyBox p strong {
				color: #148ecf; }
		#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; }
	
	/*outline*/
	.asof {
		text-align: right;
		margin-bottom: .6rem; }
		dl.table {
			border-top: solid 1px #bbb;
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start; }
			dl.table > dt {
				/*background: var(--bggray);*/
				background: var(--yellow);
				border-bottom: solid 1px #bbb;
				padding: 2.0rem;
				width: 267px;
				display: flex;
				flex-wrap: wrap;
				align-items: center; }
				/*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 #bbb;
				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 #ulink ul {
		/*max-width: 1080px;
		margin: auto;*/
		gap: 2rem; }
	#flow #new,
	#flow #career,
	#flow #referral {
		/*margin-bottom: 8.0rem;*/
		margin-bottom: clamp(5rem, 5vw, 8.0rem); }	
	#flow .careerBox {
		/*background: var(--bggray);*/
		background: var(--yellow);
		/*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(--txblue);
			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(--sub-blue);
				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) }
@media screen and (max-width: 640px){
	#flow #ulink ul {
		flex-wrap: wrap;
		justify-content: center; }
		#flow #ulink ul li {
			width: 35%; }
	#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 #entry .careerBox {
		background: var(--yellow);
		/*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(--txblue); }
@media screen and (max-width: 420px){
	#casual img.right {
		width: 50%; }
}


/* 強味 */
/* ------------------------------------------------------------------------ */
	#strength .tab {
		display: flex;
		flex-wrap: wrap;
		/*background: var(--gray);*/
		background: var(--yellow);
		border-radius: 5rem; }
		#strength .tab li {
			width: 25%;
			text-align: center;
			display: flex;
			line-height: 1.2; }
			#strength .tab li a {
				/*background: var(--gray);*/
				background: var(--yellow);
				padding: 2rem 1rem;
				color: var(--txblue);
				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: var(--yellow);
		/*margin-bottom: 4.0rem;*/
		margin-bottom: clamp(2rem, 2.1vw, 4rem); }
		#faq dt.acco_title {
			padding: 2.0rem;
			position: relative;
			cursor: pointer; }
			#faq dt.acco_title:before {
				content: "Q.";
				font-size: 2.7rem;
				font-weight: bold;
				padding-right: 2rem;
				color: var(--sub-blue);
				line-height: 1; }
			#faq dt.acco_title:after {
				font-family: 'Material Symbols Outlined';
				font-size: 3.2rem;
				line-height: 1;
				position: absolute;
				right: 1.5rem;
				top: 2.0rem; }
			#faq dt.acco_title:after {
				content: "add_circle";
				color: var(--sub-blue); }
			#faq dt.acco_title.open:after {
				content: "do_not_disturb_on";
				color: var(--pink); }
		#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(--pink);
				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: 1.0rem;
				top: 1.4rem; }
		#faq dd.answer_cont {
			padding: 1.3rem;
			padding-top: .7rem; }
			#faq dd.answer_cont:before {
				padding-right: 1rem; }
}


/* 業務一覧 */
/* ------------------------------------------------------------------------ */
	#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: var(--yellow);
				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: var(--gray);*/
			background: var(--yellow);
			border: solid 0.5rem #fff1aa;
			margin: 1rem 0 2rem;
			/*padding: 3.0rem;*/
			padding: clamp(1.8rem, 3vw, 3rem); }
			#service dd.detail h4 {
				color: var(--txblue);
				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); }
}


/* インタビュー */
/* ------------------------------------------------------------------------ */
	#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%, #FFF9E3 95%);*/
			background: linear-gradient(to bottom, rgba(255,255,255,0) 30%, #fff9e3 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(--txblue);
						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(--txblue);
		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%; }
}


/* 福利厚生 */
/* ------------------------------------------------------------------------ */

	.gr-block {
		/*background: var(--gray);*/
		background: var(--yellow);
		/*padding: 3.0rem;*/
		padding: clamp(1.8rem, 3vw, 3rem);
		margin-bottom: 4.0rem; }
	#welfare .gr-block {
		background: var(--yellow); }
		.gr-block h4 {
			font-size: 2.4rem;
			font-weight: bold;
			color: var(--txblue);
			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);}


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

	#training .text p + img {
		background: var(--yellow);
		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: var(--yellow);
		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(--txblue); }
		#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: var(--yellow);
		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: var(--gray);*/
			background: var(--yellow);
			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(--txblue);
					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(--txblue);
			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: var(--yellow);
		/*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(--txblue);
			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(--txblue);
				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 h2 span {
		display: block;
		/*font-size: 3rem;*/
		font-size: clamp(2.1rem, 2.8vw, 3rem); }
	#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 #campaign dl {
		margin: 2rem auto 0; }
	#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-top: 8.0rem;*/
		margin-top: clamp(5rem, 5vw, 8.0rem); }
	#referral #campaign {
		border-top: dashed 2px #999;
		border-bottom: dashed 2px #999;
		padding: 2rem 2rem 4rem;
		/*background: var(--yellow-lite);*/
		background: var(--yellow); }
	#referral #campaign dl dt {
		background: #d2e4f3; }
	#referral #campaign dl dd {
		background: #fff; }


/* 育児・介護支援制度 */
/* ------------------------------------------------------------------------ */

	#support table {
		border: solid 1px #999;
		width: 100%;
		margin-bottom: clamp(4rem, 6.7vw, 8rem); }
	#support th {
		text-align: center;
		padding: 1rem;
		border: solid 1px #999;
		background: var(--txblue);
		color: #fff; }
	#support td {
		padding: 1rem;
		border: solid 1px #999; }
	#support .img {
		margin: 4.0rem auto 0;
		/*max-width: 80%;*/
		max-width: 800px; }
	#support .gr-block {
		scroll-margin-top: 150px;
		background: var(--yellow); }
	@media screen and (max-width: 640px) {
		#support .img {
			margin: 3.0rem auto 0;
			max-width: 100%; }
		#support .gr-block {
			scroll-margin-top: 60px; }
	}