@charset "utf-8";
/*--------------------------------------------------

	MAIN VISUAL

--------------------------------------------------*/
#mv {
	position: relative;
	padding-top: calc(150px + 50 * ((100vw - 375px) / 1545));
	padding-bottom: calc(50px + 50 * ((100vw - 375px) / 1545));
}
#mv::before {
	content: '';
	position: absolute;
	bottom: 0;
	right: 0;
	z-index: -1;
	width: 60%;
	height: 73%;
	border-radius: 20px 0 0 20px;
	background: linear-gradient(90deg, #FFECEE, #FFF4DB);
}
#mv figure {width: 90%;}
#mv .wrap {
	margin-bottom: calc(20px + 30 * ((100vw - 375px) / 1545));
	padding-left: calc(20px + 180 * ((100vw - 375px) / 1545));
}
#mv .wrap p {color: #ccc;font-weight: 500;font-size: 1.4rem;letter-spacing: .1em;}
#mv .wrap h1 {font-weight: bold;font-size: 2.6em;letter-spacing: .15em;}
#mv .wrap h1 span {line-height: 1.4;}
@media only screen and ( max-width : 767px ) {
	#mv .wrap p {font-size: 2.5vw;}
	#mv .wrap h1 {font-size: 5.5vw;}
}
/*--------------------------------------------------

	ABOUT US

--------------------------------------------------*/
#about_us {position: relative;overflow: hidden;}
#about_us::before {
	content: '';
	position: absolute;
	top: 60%;
	left: 0;
	z-index: -1;
	transform: translateY(-50%);
	width: 47%;
	height: 53%;
	border-radius: 0 20px 20px 0;
	background: linear-gradient(90deg, #F6F6E0, #F2FFE2);
}
#about_us .container {align-items: center;margin-bottom: calc(50px + 20 * ((100vw - 375px) / 1545));}
#about_us .container figure {width: 43%;}
#about_us .container .wrap {width: 50%;}
#about_us .container .wrap p {margin-bottom: calc(30px + 10 * ((100vw - 375px) / 1545));}
#about_us .container .wrap p:last-child {margin-bottom: 0;}
#about_us .pv_container h3 {margin-bottom: 20px;text-align: center;}
#about_us .pv_container h3 span {
	display: inline-block;
	position: relative;
	padding: 0 30px;
	color: #FF0000;
	font-weight: bold;
	font-size: calc(18px + 6 * ((100vw - 375px) / 1545));
	line-height: 1.4;
	text-align: center;
}
#about_us .pv_container h3 span::before,
#about_us .pv_container h3 span::after {position: absolute;top: 50%;transform: translateY(-50%);}
#about_us .pv_container h3 span::before {content: '＼';left: 0;}
#about_us .pv_container h3 span::after {content: '／';right: 0;}
#about_us .pv_container .video {
	overflow: hidden;
	position: relative;
	width: 100%;
	max-width: 660px;
	margin: 0 auto 20px;
}
#about_us .pv_container .video::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(9, 2, 108, 0.15);
}
#about_us .pv_container .video video {width: 100%;height: 100%;object-fit: cover;}
#about_us .pv_container p {text-align: center;}
#about_us .pv_container p a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: calc(15px + 15 * ((100vw - 375px) / 1545));
	padding: calc(15px + 5 * ((100vw - 375px) / 1545));
	padding-right: calc(20px + 40 * ((100vw - 375px) / 1545));
	padding-left: calc(20px + 40 * ((100vw - 375px) / 1545));
	border: 1px solid #222;
	border-radius: 40px;
	font-weight: bold;
	font-size: calc(15px + 3 * ((100vw - 375px) / 1545));
	line-height: 1.4;
}
#about_us .pv_container p a:hover {background: #222;color: #fff;}
#about_us .pv_container p a .tirangle {display: flex;align-items: center;gap: 5px;}
#about_us .pv_container p a .tirangle span {
	border-style: solid;
	border-width: 7px 0 7px 9px;
	border-color: transparent transparent transparent #222;
	transition: .3s;
}
#about_us .pv_container p a:hover .tirangle span {border-color: transparent transparent transparent #fff;}
#about_us .pv_container p a img {width: calc(20px + 20 * ((100vw - 375px) / 1545));}
@media only screen and ( max-width : 767px ) {
	#about_us::before {
		top: 27%;
		width: 100%;
		height: 40%;
		border-radius: 0;
		font-size: calc(15px + 3 * ((100vw - 375px) / 1545));
	}
	#about_us .container figure {width: 100%;margin-bottom: 20px;}
	#about_us .container .wrap {width: 100%;}
}
/*--------------------------------------------------

	WORK STYLE

--------------------------------------------------*/
#work_style .inner {max-width: 1152px;}
#work_style ul li.item {
	align-items: flex-start;
	position: relative;
	padding-top: calc(40px + 20 * ((100vw - 375px) / 1545));
	padding-bottom: calc(40px + 20 * ((100vw - 375px) / 1545));
}
#work_style ul li.item:nth-child(1) {padding-top: 0;}
#work_style ul li.item:nth-child(2)::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100%;
	margin: 0 calc(50% - 50vw);
	background: linear-gradient(#F3FFF5, #EAF6FC);
}
#work_style ul li.item:nth-child(even) .item_wrap {flex-direction: row-reverse;}
#work_style ul li.item:nth-child(2) .item_wrap {margin-bottom: calc(40px + 10 * ((100vw - 375px) / 1545));}
#work_style ul li.item .item_wrap {align-items: flex-start;}
#work_style ul li.item .item_wrap figure {width: 51%;}
#work_style ul li.item .item_wrap .content {width: 45%;}
#work_style ul li.item dl {display: flex;align-items: center;margin-bottom: 10px;}
#work_style ul li.item dl dt {
	margin-right: calc(10px + 10 * ((100vw - 375px) / 1545));
	color: #FF0000;
	font-size: calc(38px + 10 * ((100vw - 375px) / 1545));
	line-height: 1.4;
}
#work_style ul li.item dl dd {
	flex: 1;
	font-weight: bold;
	font-size: calc(18px + 12 * ((100vw - 375px) / 1545));
	line-height: 1.4;
}
#work_style ul li.item:nth-child(2) .splide ul li {
	position: relative;
	margin-bottom: 30px;
	padding: calc(20px + 20 * ((100vw - 375px) / 1545));
	padding-right: calc(20px + 10 * ((100vw - 375px) / 1545));
	padding-left: calc(20px + 10 * ((100vw - 375px) / 1545));
	border-radius: 20px;
	background: #fff;
}
#work_style ul li.item:nth-child(2) .splide ul li::after {
	content: '';
	position: absolute;
	top: 100%;
	right: 10%;
	border-top: 30px solid #fff;
	border-left: 30px solid transparent;
}
#work_style ul li.item:nth-child(2) .splide ul li h4 {
	display: flex;
	align-items: center;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px solid #222;
	font-weight: bold;
	font-size: calc(15px + 3 * ((100vw - 375px) / 1545));
}
#work_style ul li.item:nth-child(2) .splide ul li h4 img {
	width: calc(20px + 10 * ((100vw - 375px) / 1545));
	margin-top: -.2em;
	margin-right: calc(10px + 10 * ((100vw - 375px) / 1545));
}
#work_style ul li.item:nth-child(2) .splide ul li p {font-size: calc(13px + 2 * ((100vw - 375px) / 1545));}
#work_style ul li.item .sub_ttl {margin-bottom: 20px;}
#work_style ul li.item .sub_ttl dl {justify-content: center;}
#work_style ul li.item .sub_ttl dl dd {flex: inherit;}
#work_style ul li.item .sub_ttl p {text-align: center;}
#work_style ul li.item .career_wrap {
	display: grid;
	grid-template-areas:
	"areaA areaB"
	"areaA areaC"
	"areaA areaD"
	"areaA areaE";
	gap: 10px;
	margin-bottom: calc(30px + 10 * ((100vw - 375px) / 1545));
}
#work_style ul li.item .career_wrap .content {padding: 30px 30px;background: #F7F7F0;}
#work_style ul li.item .career_wrap .content:nth-child(1) {grid-area: areaA;padding-top: 20px;}
#work_style ul li.item .career_wrap .content:nth-child(2) {grid-area: areaB;}
#work_style ul li.item .career_wrap .content:nth-child(3) {grid-area: areaC;}
#work_style ul li.item .career_wrap .content:nth-child(4) {grid-area: areaD;}
#work_style ul li.item .career_wrap .content:nth-child(5) {grid-area: areaE;padding-top: 20x;}
#work_style ul li.item .career_wrap .content h4 {
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: calc(17px + 3 * ((100vw - 375px) / 1545));
}
#work_style ul li.item .career_wrap .content:nth-child(1) h4,
#work_style ul li.item .career_wrap .content:nth-child(5) h4 {
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 1px dashed #FF0000;
}
#work_style ul li.item .career_wrap .content h4 img {width: 15px;margin-right: 5px;}
#work_style ul li.item .career_wrap .content h4 span {
	margin-left: calc(10px + 10 * ((100vw - 375px) / 1545));
	color: #FF0000;
	font-size: 1.4rem;
}
#work_style ul li.item .career_wrap .content ul {display: grid;gap: 10px;}
#work_style ul li.item .career_wrap .content ul li {position: relative;padding-left: 20px;font-weight: bold;line-height: 2;}
#work_style ul li.item .career_wrap .content ul li::before {
	content: '';
	position: absolute;
	top: .8em;
	left: 0;
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 9px solid #FF0000;
}
#work_style ul li.item .career_wrap .content ul li span {display: block;font-weight: 400;line-height: 2;}
#work_style ul li.item .flowchart p {
	margin-bottom: calc(30px + 10 * ((100vw - 375px) / 1545));
	font-size: calc(13px + 2 * ((100vw - 375px) / 1545));
	line-height: 2;
	text-align: center;
}
@media only screen and ( max-width : 767px ) {
	#work_style ul li.item .item_wrap figure {width: 100%;margin-bottom: 30px;}
	#work_style ul li.item .item_wrap .content {width: 100%;}
	#work_style ul li.item .career_wrap {
		grid-template-areas:
		"areaA"
		"areaB"
		"areaC"
		"areaD"
		"areaE";
	}
	#work_style ul li.item .flowchart figure {margin-bottom: 10px;overflow-x: scroll;}
	#work_style ul li.item .flowchart figure img {width: auto;max-width: 800px;}
	#work_style ul li.item .flowchart small {display: block;}
}
/*--------------------------------------------------

	IN NUMBERS

--------------------------------------------------*/
#numbers ul.list {display: grid;grid-template-columns: repeat(4, 1fr);gap: 20px;}
#numbers ul.list li.item {
	position: relative;
	padding: calc(20px + 10 * ((100vw - 375px) / 1545));
	padding-top: calc(10px + 10 * ((100vw - 375px) / 1545));
	padding-bottom: calc(10px + 10 * ((100vw - 375px) / 1545));
	border-radius: 10px;
	background: #F7F7F0;
}
#numbers ul.list li.item:nth-child(5),
#numbers ul.list li.item:nth-child(6) {padding-bottom: calc(20px + 10 * ((100vw - 375px) / 1545));}
#numbers ul.list li.item .wrap h3 {font-size: calc(14px + 4 * ((100vw - 375px) / 1545));text-align: center;}
#numbers ul.list li.item:nth-child(1) .wrap h3 {margin-bottom: 8%;}
#numbers ul.list li.item:nth-child(2) .wrap h3 {margin-bottom: 8%;}
#numbers ul.list li.item:nth-child(3) .wrap h3 {margin-bottom: 20.5%;}
#numbers ul.list li.item:nth-child(4) .wrap h3 {margin-bottom: 16%;}
#numbers ul.list li.item:nth-child(5) .wrap h3 {margin-bottom: 7%;}
#numbers ul.list li.item:nth-child(6) .wrap h3 {margin-bottom: 5%;}
#numbers ul.list li.item:nth-child(7) .wrap h3 {margin-bottom: 20%;}
#numbers ul.list li.item:nth-child(8) .wrap h3 {margin-bottom: 15%;}
#numbers ul.list li.item .wrap figure {margin: 0 auto;}
#numbers ul.list li.item:nth-child(1) .wrap figure {width: 70%;}
#numbers ul.list li.item:nth-child(2) .wrap figure {width: 70%;}
#numbers ul.list li.item:nth-child(3) .wrap figure {width: 40%;}
#numbers ul.list li.item:nth-child(4) .wrap figure {width: 48%;}
#numbers ul.list li.item:nth-child(5) .wrap figure {width: 40%;}
#numbers ul.list li.item:nth-child(7) .wrap figure {width: 91%;}
#numbers ul.list li.item:nth-child(8) .wrap figure {width: 75%;}
#numbers ul.list li.item .wrap ol {margin-top: -5%;}
#numbers ul.list li.item .wrap ol li:nth-child(1) {color: #FF0000;}
#numbers ul.list li.item .wrap ol li p.txt {font-size: 1.4rem;text-align: center;}
#numbers ul.list li.item .wrap {text-align: center;}
#numbers ul.list li.item .wrap p.ttl {
	margin-bottom: calc(10px + 10 * ((100vw - 375px) / 1545));
	font-weight: bold;
	font-size: calc(20px + 10 * ((100vw - 375px) / 1545));
	text-align: center;
}
#numbers ul.list li.item .wrap p.ttl span.red {color: #FF0000;}
#numbers ul.list li.item .wrap p.ttl span.red span {font-size: 1.6em;}
#numbers ul.list li.item .wrap p.num {
	font-weight: bold;
	font-size: calc(20px + 10 * ((100vw - 375px) / 1545));
	text-align: center;
}
#numbers ul.list li.item:nth-child(7) .wrap p.num {margin-bottom: 8%;}
#numbers ul.list li.item .wrap p.num span.big {font-size: 1.6em;}
#numbers ul.list li.item .wrap small {
	display: block;
	margin-bottom: 15px;
	font-size: 1.4rem;
	text-align: center;
}
#numbers ul.list li.item .wrap .career_content {display: inline-block;}
#numbers ul.list li.item .wrap dl {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	margin-bottom: calc(20px + 10 * ((100vw - 375px) / 1545));
}
#numbers ul.list li.item:nth-child(5) .wrap dl {justify-content: flex-end;margin-bottom: calc(10px + 5 * ((100vw - 375px) / 1545));}
#numbers ul.list li.item .wrap dl dt {flex: 1;margin-right: 10px;font-weight: bold;line-height: 1.3;text-align: right;}
#numbers ul.list li.item .wrap dl dd {
	font-weight: bold;
	font-size: calc(20px + 10 * ((100vw - 375px) / 1545));
	line-height: 1.3;
	text-align: center;
}
#numbers ul.list li.item:nth-child(3) .wrap dl dd {color: #FF0000;}
#numbers ul.list li.item .wrap dl dd span.big {font-size: 1.6em;}
#numbers ul.list li.item .wrap table {display: grid;gap: calc(10px + 10 * ((100vw - 375px) / 1545));}
#numbers ul.list li.item .wrap table tr {display: flex;align-items: center;}
#numbers ul.list li.item .wrap table tr:last-child {margin-bottom: 0;}
#numbers ul.list li.item .wrap table tr th {
	flex: 1;
	display: flex;
	width: 100%;
	margin-right: 10px;
	font-size: 1.4rem;
}
#numbers ul.list li.item .wrap table tr th p {flex: 1;display: flex;}
#numbers ul.list li.item .wrap table tr th p span {display: block;margin-left: 10px;}
#numbers ul.list li.item .wrap table tr:nth-child(1) th p span {width: 65%;}
#numbers ul.list li.item .wrap table tr:nth-child(2) th p span {width: 100%;}
#numbers ul.list li.item .wrap table tr:nth-child(3) th p span {width: 75%;}
#numbers ul.list li.item .wrap table tr:nth-child(4) th p span {width: 50%;}
#numbers ul.list li.item .wrap table tr:nth-child(5) th p span {width: 20%;}
#numbers ul.list li.item .wrap table tr th p span.bottomBorder::before {bottom: 50%;transform: translate(0, 50%);height: 1.3em;}
#numbers ul.list li.item .wrap table tr th p span.bottomBorder.graph-orng::before {background: linear-gradient(90deg, #ED0000, #FF9204);}
#numbers ul.list li.item .wrap table tr th p span.bottomBorder.graph-gray::before {background: #D2D2D2;}
#numbers ul.list li.item .wrap table tr td {
	width: 3.2em;
	font-weight: bold;
	font-size: calc(14px + 4 * ((100vw - 375px) / 1545));
	line-height: 1;
}
#numbers ul.list li.item .wrap table tr:nth-child(2) td {color: #ED0000;}
#numbers ul.list li.item .wrap table tr td span {font-size: 1.6em;}
#numbers ul.list li.item .wrap table tr:nth-child(2) td span {font-size: 1.8em;}
#numbers ul.list li.item .wrap ul.num_content {
	display: flex;
	justify-content: center;
	gap: 15px;
	margin-bottom: calc(10px + 10 * ((100vw - 375px) / 1545));
}
#numbers ul.list li.item .wrap ul.num_content li p.txt {font-weight: bold;text-align: center;}
#numbers ul.list li.item .wrap ul.num_content li p.num span {font-size: 1.6em;}
@media only screen and (max-width: 1024px) {
	#numbers ul.list {grid-template-columns: repeat(2, 1fr);}
	#numbers ul.list li.item {font-size: 1.8vw;padding: 0;}
	#numbers ul.list li.item:nth-child(5),
	#numbers ul.list li.item:nth-child(6) {padding: 0;}
	#numbers ul.list li.item::after {content: '';display: block;padding-bottom: 100%;}
	#numbers ul.list li.item .wrap {position: absolute;top: 7%;left: 50%;transform: translateX(-50%);width: 75%;}
	#numbers ul.list li.item .wrap h3 {font-size: 2vw;}
	#numbers ul.list li.item .wrap ol li p.txt {font-size: 1.5vw;}
	#numbers ul.list li.item .wrap p.ttl {font-size: 4vw;}
	#numbers ul.list li.item .wrap p.num {font-size: 4vw;}
	#numbers ul.list li.item .wrap small {margin-bottom: 5%;font-size: 1.65vw;}
	#numbers ul.list li.item .wrap dl {margin-bottom: 8%;}
	#numbers ul.list li.item .wrap dl dt {margin-right: 1.2em;}
	#numbers ul.list li.item .wrap dl dd {font-size: 3.6vw;}
	#numbers ul.list li.item .wrap table tr {margin-bottom: .8vw;}
	#numbers ul.list li.item .wrap table tr th {font-size: 1.8vw;}
	#numbers ul.list li.item .wrap table tr th p span.bottomBorder::before {height: 2.5vw;}
	#numbers ul.list li.item .wrap table tr td {width: 8vw;font-size: 2.5vw;}
	#numbers ul.list li.item .wrap ul.num_content li p.txt {font-size: 2vw;}
}
@media only screen and (max-width: 767px) {
	#numbers ul.list {gap: 10px;}
}
@media only screen and (max-width : 500px) {
	#numbers ul.list {grid-template-columns: repeat(1, 1fr);}

	#numbers ul.list li.item {position: relative;width: 100%;font-size: 3.5vw;}
	#numbers ul.list li.item:nth-child(9) {width: 100%;}
	#numbers ul.list li.item .wrap h3 {font-size: 4vw;}
	#numbers ul.list li.item .wrap ol li p.txt {font-size: 3.2vw;}
	#numbers ul.list li.item .wrap p.ttl {font-size: 7.2vw;}
	#numbers ul.list li.item .wrap p.num {font-size: 7vw;}
	#numbers ul.list li.item .wrap dl dd {font-size: 7vw;}
	#numbers ul.list li.item .wrap small {font-size: 3.1vw;}
	#numbers ul.list li.item .wrap table tr th {font-size: 3vw;}
	#numbers ul.list li.item .wrap table tr td {width: 15.1vw;font-size: 5vw;}
	#numbers ul.list li.item .wrap table tr th p span.bottomBorder::before {height: 5vw;}
	#numbers ul.list li.item .wrap ul.num_content li p.txt {font-size: 3.6vw;}
}
/*--------------------------------------------------

	INTERVIEW

--------------------------------------------------*/
#interview .title {margin-bottom: calc(150px + 50 * ((100vw - 375px) / 1545));}
#interview ul {display: grid;grid-template-columns: repeat(4, 1fr);gap: 20px;}
#interview ul li {position: relative;}
#interview ul li a {position: absolute;top: 0;left: 0;z-index: 2;width: 100%;height: 100%;}
#interview ul li figure {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -60%);
	width: 60%;
	max-width: 220px;
	margin: 0 auto;
}
#interview ul li {
	padding: calc(20px + 10 * ((100vw - 375px) / 1545));
	padding-bottom: 90px;
	background: linear-gradient(#FFF4DB, #FFECEE);
}
#interview ul li:nth-child(2) {background: linear-gradient(#F6F6E0, #F2FFE2);}
#interview ul li:nth-child(3) {background: linear-gradient(#F3FFF5, #EAF6FC);}
#interview ul li .wrap p.num {
	color: #FF0000;
	font-size: calc(38px + 10 * ((100vw - 375px) / 1545));
	letter-spacing: .05em;
}
#interview ul li .wrap h3 {
	margin-bottom: calc(20px + 20 * ((100vw - 375px) / 1545));
	font-weight: bold;
	font-size: calc(16px + 4 * ((100vw - 375px) / 1545));
}
#interview ul li .wrap h4 {font-size: 1.4rem;}
#interview ul li .wrap h4 span {margin-right: 10px;font-weight: bold;font-size: 2em;}
#interview ul li .wrap p.read {
	display: inline-block;
	position: absolute;
	bottom: 30px;
	left: 50%;
	transform: translate(-50%, 0);
	width: 100%;
	max-width: 144px;
	padding: .7em 1.6em .5em;
	overflow: hidden;
	border: 1px solid #222;
	border-radius: 2em;
	background: #fff;
	line-height: 1;
	text-align: center;
	transition: .5s;
}
#interview ul li .wrap p.read::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 50px;
	height: 50px;
	background: #FF0000;
	border-radius: 50%;
	z-index: -1;
	transform: scale(0);
	transition: 1s;
}
#interview ul li:hover .wrap p.read {border-color: #FF0000;color: #fff;}
#interview ul li:hover .wrap p.read::before {transition: 1.5s;transform: scale(10);}
@media only screen and (max-width: 1024px) {
	#interview ul {grid-template-columns: repeat(2, 1fr);gap: 170px 20px;}
}
@media only screen and (max-width: 767px) {
	#interview ul {gap: 150px 10px;}
}
@media only screen and (max-width: 500px) {
	#interview ul {grid-template-columns: repeat(1, 1fr);gap: 130px 10px;}
	#interview ul li figure {width: 40%;}
}
/*--------------------------------------------------

	IDEAL CANDIDATE

--------------------------------------------------*/
#ideal_candidate ul {display: grid;grid-template-columns: repeat(4, 1fr);gap: 20px;}
#ideal_candidate ul li {
	padding: calc(20px + 20 * ((100vw - 375px) / 1545));
	padding-top: calc(20px + 10 * ((100vw - 375px) / 1545));
	padding-bottom: calc(20px + 10 * ((100vw - 375px) / 1545));
	border-radius: 10px;
	background: #F7F7F0;
	border-radius: 10px;
}
#ideal_candidate ul li h3 {
	margin-bottom: calc(30px + 10 * ((100vw - 375px) / 1545));
	font-weight: bold;
	font-size: calc(16px + 6 * ((100vw - 375px) / 1545));
	text-align: center;
}
#ideal_candidate ul li h3 span {
	display: block;
	margin-bottom: calc(10px + 20 * ((100vw - 375px) / 1545));
	color: #FF0000;
	font-size: calc(38px + 10 * ((100vw - 375px) / 1545));
	text-align: center;
}
#ideal_candidate ul li figure {margin-bottom: 20px;text-align: center;}
#ideal_candidate ul li figure img {width: auto;}
#ideal_candidate ul li p {font-size: 1.4rem;text-align: center;}
@media only screen and (max-width: 1024px) {
	#ideal_candidate ul {grid-template-columns: repeat(2, 1fr);}
}
@media only screen and (max-width: 767px) {
	#ideal_candidate ul {gap: 10px;}
}
@media only screen and (max-width: 500px) {
	#ideal_candidate ul {grid-template-columns: repeat(1, 1fr);}
}
/*--------------------------------------------------

	REQUIREMENT

--------------------------------------------------*/
#requirement .inner {max-width: 1152px;}
#requirement table tr {
	display: block;
	padding-top: calc(10px + 10 * ((100vw - 375px) / 1545));
	padding-bottom: calc(10px + 10 * ((100vw - 375px) / 1545));
	border-bottom: 1px solid #AAA;
}
#requirement table tr:first-child {border-top: 1px solid #AAA;}
#requirement table tr th {
	width: 170px;
	margin-bottom: 10px;
	padding-left: 5px;
	font-weight: bold;
	font-size: calc(14px + 4 * ((100vw - 375px) / 1545));
}
#requirement table tr td {line-height: 2;}
#requirement table tr td p {margin-bottom: calc(30px + 10 * ((100vw - 375px) / 1545));line-height: 2;}
#requirement table tr td p:last-child {margin-bottom: 0;}
#requirement table tr td ul {position: relative;margin-bottom: calc(30px + 10 * ((100vw - 375px) / 1545));}
#requirement table tr td ul:last-child {margin-bottom: 0;}
#requirement table tr td ul li {position: relative;padding-left: 20px;}
#requirement table tr td ul.square li::before {
	content: '';
	position: absolute;
	top: 6px;
	left: 3px;
	width: 11px;
	height: 11px;
	background: #222;
}
#requirement table tr td ul.star li::before {content: '★';position: absolute;left: 0;}
#requirement table tr td ul.asterisk li::before {content: '※';position: absolute;left: 0;}
#requirement table tr td ul li p {position: relative;padding-left: 20px;}
#requirement table tr td ul li p::before {content: '※';position: absolute;left: 0;}
@media only screen and ( max-width : 767px ) {
	#requirement table tr {padding-top: 0;}
	#requirement table tr th {display: block;width: 100%;padding: 10px;border-bottom: 1px solid #AAA;background: #eee;}
	#requirement table tr td {display: block;}
}