@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap&subset=japanese");
@import url("https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,200;0,300;0,400;0,500;0,600;0,700;0,800;1,200;1,300;1,400;1,500;1,600;1,700;1,800&display=swap");

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 768px) {}

@media screen and (max-width: 520px) {}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
2000 INDEX
----------------------------------------------------------------------------------------- */
@keyframes zoomUp {
	0% {
		transform: scale(1.15);
	}

	100% {
		transform: scale(1.0);
	}
}

.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
	animation: zoomUp 10s linear 0s normal both;
}

.swiper-slide img {
	height: auto;
	width: 100%;
}

@keyframes zoomOut {
	0% {
		transform: scale3d(1.15, 1.15, 1.15);
		opacity: 1
	}

	100% {
		transform: scale3d(1.0, 1.0, 1.0);
		opacity: 1;
	}
}

.zoomOut {
	-webkit-animation-name: zoomOut;
	animation-name: zoomOut
}

figure.out {
	border: 0px solid red;
	overflow: hidden;
}


@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 768px) {
	figure.out {
		border: 0px solid red;
		width: calc(100% + 7.5vw + 7.5vw);
		margin-left: -7.5vw
	}

}

@media screen and (max-width: 520px) {}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}












/*-----------------------------------------------------------------------------------------
2000 INDEX
----------------------------------------------------------------------------------------- */
.index main section {
	/*padding: 10.0rem 0;*/
	padding: 5rem 0;/**/
}

.index main section.area-hero {
	padding: 0;
}

.index main h3 {
	font-size: 2.5rem;
	line-height: 2;
	letter-spacing: 0.1em;
	font-weight: 400;
	color: #333;
	padding: 0;
	margin: 1.25em 0;
}

.index main h3:nth-child(2) {
	font-size: calc(2.5rem * 0.9);
}



.index main h4 {
	font-size: 2.0rem;
	line-height: 2.15;
	letter-spacing: 0.05em;
	font-weight: 400;
	color: #333;
	padding: 0;
	margin: 0 0 1em 0;
}

.index main p {
	font-size: 1.6rem;
	line-height: 2.8;
	letter-spacing: 0.1em;
	font-weight: 400;
	color: #333;
	text-align: center;
	padding: 0;
	margin: 1.25em 0;
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {
	.index main section {
		padding: 6.0rem 0;
	}

	.index main h3 {
		font-size: calc(2.5vw * 1.2);
	}



	.index main h4 {
		font-size: calc(2.0vw * 1.2);
	}

	.index main p {
		font-size: calc(1.6vw * 1.2);
	}
}

@media screen and (max-width: 768px) {
	.index main h3 {
		font-size: calc(2.5vw * 1.6);
		letter-spacing: 0;
	}

	.index main h3:nth-child(2) {
		font-size: calc(2.5vw * 1.6 * 0.8);

	}


	.index main h4 {
		font-size: calc(2.0vw * 1.6);
		letter-spacing: 0;
	}

	.index main p {
		font-size: calc(1.6vw * 1.6);
		letter-spacing: 0;
	}
}

@media screen and (max-width: 520px) {
	.index main h3 {
		font-size: 2.4rem;
	}

	.index main h3:nth-child(2) {
		font-size: calc(2.5rem * 0.8);
	}

	.index main h4 {
		font-size: 2.0rem;
	}

	.index main p {
		font-size: 1.6rem;
	}
}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}






/*-----------------------------------------------------------------------------------------
0000 AREA-HERO
 ----------------------------------------------------------------------------------------- */
.area-hero {
	border: 0px solid red;
	padding: 0;
	margin: 0;
	position: relative;
}

.area-hero .tategaki {
	border: 0px solid red;
	background: transparent;
	font-family: 'Zen+Kaku+Gothic+New';
	font-size: clamp(1.563rem, 1.313rem + 1.25vw, 2.813rem);
	font-weight: 520;
	white-space: nowrap;
	position: absolute;
	top: 50%;
	right: 20%;
	-webkit-transform: translate(0%, -50%);
	transform: translate(0%, -50%);
	z-index: 1001;
	color: white;
	text-shadow: 0 0 2.0rem #000000;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 1.6;
	letter-spacing: 0.7em;
}

.area-hero .lead {
	background: linear-gradient(90deg, rgba(73, 125, 163, 0.8) 0, rgba(73, 125, 163, 0.8) 33.33333%, rgba(73, 125, 163, 0) 100%);
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 1001
}

.area-hero .lead .inner {
	width: 1110px;
	padding: 0;
	margin: 0 auto;
	color: white;
	font-weight: 500;
	font-size: 3.0rem;
	text-align: left;
	letter-spacing: 0.05em;
	padding: 0.5em 0;
}

.area-hero .lead .inner small {
	font-size: 0.65em;
	display: block;
	margin-top: 0.2em;
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {
	.area-hero aside h2 {
		width: 100%;
		padding: 1em;
		display: none;
	}

	.area-hero .lead .inner {
		width: 100%;
		padding-left: 7.5vw;
		padding-right: 7.5vw;
		font-size: 3.0rem;
	}
}

@media screen and (max-width: 768px) {}

@media screen and (max-width: 520px) {}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
2000 AREA-NEWS
----------------------------------------------------------------------------------------- */
/*.area-news {
	background: url('../img/index/bg-news.png');
	background-repeat: no-repeat;
	background-position: right 5% top 9.0rem;
	background-size: 10%;
}*/

.area-news ul li {
	margin: 0;
}

.area-news dl {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	padding: 1em 0;
	margin: 0;
	border-bottom: 1px solid #24BFDA;
	font-size: 1.7rem;
	line-height: 1.5;
}

.area-news dl dt,
.area-news dl dd,
.area-news dl dt small {
	font-size: inherit;
	line-height: inherit;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	letter-spacing: 0.1em
}

.area-news dl dt {
	width: 33.33333%;
	min-width: 300px;
	font-size: 1.8rem;
	line-height: 2.5rem;
}

.area-news dl dd {
	width: 66.6666%;
	max-width: calc(100% - 300px);
	font-size: 1.6rem;
	line-height: 2.5rem
}

.area-news dl dt small {
	color: #24BFDA;
	border: 1px solid #24BFDA;
	border-radius: 2em;
	font-size: 1.5rem;
	display: block;
	width: 13.0rem;
	height: 2.5rem;
	text-align: center;
	padding: 0.2em 0 0.3em 0;
	margin: 0 0 0 2em;
	letter-spacing: 0.05em;
	line-height: 1;
}

.area-news .col-04 {
	margin-left: calc(100% / 12 * 2 * -1);
	padding: 0;
	margin-top: -10.0rem;
}

.area-news .btn-more {
	margin-top: -20rem
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {
	.area-news .col-04 {
		border: 0px solid red;
		padding: 1.5rem 0;
		margin: 0;
		width: calc(100% / 12 * 3)
	}

	.area-news .col-10 {
		border: 0px solid green;
		padding: 1.5rem;
		margin: 0;
		/*width: calc(100% / 12 * 9)*/
		width: calc(90% / 12 * 9)/**/
	}

	.area-news ul li {
		margin: 0;
	}

	.area-news ul li:first-child dl {
		border-top: 1px solid #24BFDA;
	}

	.area-news dl dt {
		width: 100%;
		min-width: 100%;
		padding-bottom: 1em;
	}

	.area-news dl dd {
		width: 100%;
		max-width: 100%;
	}

	.area-news .btn-more {
		margin-top: 6.0rem
	}
}

@media screen and (max-width: 768px) {
	.area-news {
		background: none;
	}

	.area-news .col-04 {
		display: none;
	}

	.area-news .col-10 {
		width: calc(100% / 12 * 12)
	}
}

@media screen and (max-width: 520px) {}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
2000 AREA-PHILO
----------------------------------------------------------------------------------------- */
.area-philo {
	background: url('../img/index/bg-philo.jpg');
	background-repeat: no-repeat;
	background-position: top center;
	background-size: cover;
}

.index .area-philo {
	padding: 0;
}

.area-philo h3 {
	line-height: 2;
	letter-spacing: 0.1em;
	font-weight: 400;
	color: #333;
	text-align: left;
}

main .area-philo p {
	text-align: left;
}

.area-philo .icon {
	max-width: 30.0rem;
	margin: 5.0rem 0 0 0
}

.area-philo blockquote {
	background: rgba(255, 255, 255, 0.8);
	max-width: 70.0rem;
	height: 100%;
	padding: 5.0rem 10.0rem;
	margin: 0 0 0 auto;
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {
	.index .area-philo {
		padding: 10.0rem;
		border: 0px solid red;
	}

	.index .area-philo .container {
		border: 0px solid green;
		padding: 0;
	}

	.area-philo .icon {
		max-width: 22.0rem;
	}

	.area-philo blockquote {
		background: rgba(255, 255, 255, 0.7);
		max-width: 100%;
		padding: 5.0rem;
		margin: 0;
	}

	main .area-philo p {
		line-height: 2;
	}

	main .area-philo p br {
		display: none;
	}

	main .area-philo p br.sp {
		display: block;
	}
}
.sp-br {
	display: none;
	}

@media screen and (max-width: 768px) {
	.index .area-philo {
		padding: 3.0rem;
	}

	.area-philo blockquote {
		max-width: 100%;
		padding: 5.0rem;
	}

	.area-philo .icon {
		margin-left: auto;
		margin-right: auto;
	}
	.sp-br {
	display: block;
	}
}

@media screen and (max-width: 520px) {
	.index .area-philo {
		padding: 0;
	}

	.area-philo blockquote {
		padding: 3.0rem;
	}
}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
2000 AREA-ABOUT
----------------------------------------------------------------------------------------- */
/*.area-about {
	background: url('../img/index/bg-about.png');
	background-repeat: no-repeat;
	background-position: left 5% top 9.0rem;
	background-size: 10%;
}*/

.index main .area-about h3 br {
	display: none;
}

.area-about .icon {
	max-width: 25.0rem;
	margin: 5.0rem auto;
	display: block;
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 768px) {
	.area-about {
		background: none;
	}

	.index main .area-about h3,
	.index main .area-about p {
		text-align: left;
	}

	.index main .area-about h3 br {
		display: block;
	}
}

@media screen and (max-width: 520px) {
	.index main .area-about h3 {
		font-size: calc(2.5rem * 0.9);
	}

	.index main .area-about p br {
		display:none;
	}
}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
2000 AREA-MESSAGE
----------------------------------------------------------------------------------------- */
.area-message {
	background: url('../img/index/bg-message.png');
	background-repeat: no-repeat;
	background-position: left 5% top 9.0rem;
	background-size: 10%;
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 768px) {
	.area-message {
		background: none;
	}

	.index main .area-message h3,
	.index main .area-message p {
		text-align: left;
	}

	.index main .area-message h3 br,
	.index main .area-message p br {
		display: none;
	}
}

@media screen and (max-width: 520px) {}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
2000 AREA-JOB
----------------------------------------------------------------------------------------- */
.area-job {
	/*background: url('../img/index/bg-recruit.png');*/
	background-repeat: no-repeat;
	background-position: left 5% top 9.0rem;
	background-size: 10%;
}

.area-job ul.feat li {
	padding: 1.5rem
}

.area-job ul.feat li a {
	display: block;
}

.area-job .btn-more {
	margin-top: 6.0rem;
}


@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 768px) {
	.area-job {
		background: noe;
	}

	.area-job ul.feat li.col-04 {
		width: 100%;
		padding-left: 15vw;
		padding-right: 15vw;
	}
}

@media screen and (max-width: 520px) {
	.area-job ul.feat li.col-04 {
		padding-left: 5vw;
		padding-right: 5vw;
	}
}

@media screen and (max-width: 420px) {
	.area-job ul.feat li.col-04 {
		padding: 0
	}
}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
2000 AREA-TRAINING
----------------------------------------------------------------------------------------- */
/*.area-training {
	background: url('../img/index/bg-training.png');
	background-repeat: no-repeat;
	background-position: left 5% top 9.0rem;
	background-size: 10%;
}*/

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 768px) {
	.area-training {
		background: none;
	}
}

@media screen and (max-width: 520px) {
	.index main .area-training p {
		text-align: left;
	}

	.index main .area-training p br {
		display:none;
	}
}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
2000 AREA-CM
----------------------------------------------------------------------------------------- */
/*.area-cm {
	background: url('../img/index/bg-cm.png');
	background-repeat: no-repeat;
	background-position: left 5% top 9.0rem;
	background-size: 10%;
}*/

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 768px) {
	.area-cm {
		background: none;
	}
}

@media screen and (max-width: 520px) {
	.index main .area-cm p {
		text-align: left;
	}

	.index main .area-cm p br {
		display:none;
	}
}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}











/*-----------------------------------------------------------------------------------------
1002 AREA-WORKS
----------------------------------------------------------------------------------------- */
.area-works {
	padding: 9.0rem 0 0 0;
	margin: 0;
	/*border: 0px solid red;
	background: url('../img/recruit-technical-staff/bg-01.png');
	background-repeat: no-repeat;
	background-position: left 5% center;
	background-size: 10%;*/
}

.area-works p {
	font-size: 1.8rem;
	line-height: 2.5;
	text-align: center;
}

@media screen and (max-width: 1200px) {
	.area-works {
		background: none;
	}
}

@media screen and (max-width: 1024px) {
	.area-works p {
		line-height: 2;
		text-align: left;
	}

	.area-works p br {
		display: none;
	}
}

@media screen and (max-width: 768px) {}

@media screen and (max-width: 520px) {}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
1003 AREA-INTERVIEW
----------------------------------------------------------------------------------------- */
/**/.area-interview {
	padding: 9.0rem 0 0 0;
	margin: 0;
	/*border: 0px solid red;
	background: url('../img/recruit-technical-staff/bg-02.png');
	background-repeat: no-repeat;
	background-position: left 5% top 9.0rem;
	background-size: 10%;*/
}

.area-interview dl {
	padding: 0;
	margin: 4.5rem 0;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	border: 0px solid red;
}

.area-interview dl dt,
.area-interview dl dd {
	padding: 0;
	margin: 0;
	width: calc(100% / 12 * 7.5)
}

.area-interview dl dd {
	width: calc(100% / 12 * 4.5);
	padding-left: 4.5rem;
}

.area-interview p {
	margin-bottom: 3em;
}

@media screen and (max-width: 1200px) {
	.area-interview {
		background: none;
	}

}

@media screen and (max-width: 1024px) {
	.area-interview {
		padding: 9.0rem 0;
	}

	.area-interview dl dt {
		width: calc(100% / 12 * 7)
	}

	.area-interview dl dd {
		width: calc(100% / 12 * 5);
		padding-left: 3.0rem;
	}
}

@media screen and (max-width: 768px) {
	.area-interview dl {
		margin: 1.5rem 0;
	}

	.area-interview dl dt {
		width: calc(100% / 12 * 12);
	}

	.area-interview dl dd {
		width: calc(100% / 12 * 12);
		padding: 1em 0;
	}

	.area-interview p {
		margin-bottom: 0;
	}

	.area-interview h5 {
		text-align: center;
		padding: 0;
		margin: 1em 0 0.5em;
	}

	.area-interview dl.second dt {
		order: 2;
	}

	.area-interview dl.second dd {
		order: 1;
	}


}

@media screen and (max-width: 520px) {
	.area-interview .container {
		padding: 0;
	}

	.area-interview .inner-padding {
		padding: 0 7.5vw
	}
	dl.first dt{
		margin: 4.5rem;
	}
	dl.first-2nd dt p {
	  margin: 0 4.5rem;
	}
}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
1004 AREA-EYECATCH
----------------------------------------------------------------------------------------- */
.area-eycatch {
	padding: 0;
	margin: 0;
	border: 0px solid red;
	position: relative;
}

.area-eycatch h2 {
	text-align: left;
	color: white;
	width: 1110px;
	padding: 0;
	margin: 0 auto;
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	text-shadow: 0 0 10px black;
}

.area-eycatch h2 br {
	display: none;
}

@media screen and (max-width: 1200px) {
	.area-eycatch h2 {
		left: 5%;
		-webkit-transform: translate(0%, -50%);
		transform: translate(0%, -50%);
		width: calc(100% - 5%);
	}
}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 768px) {
	.area-eycatch h2 {
		text-align: center;
		padding-top: 1em;
		top: 0;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
		width: 100%;
		display: none;
	}

	.area-eycatch h2 br {
		display: block;
	}

	.area-eycatch .pc {
		display: none;
	}

	.area-eycatch .sp {
		display: block;
	}
}

@media screen and (max-width: 520px) {}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}











/*-----------------------------------------------------------------------------------------
1005 AREA-WORK_FLOW
----------------------------------------------------------------------------------------- */
.area-work_flow {
	padding: 9.0rem 0 0 0;
	margin: 0;
}

.area-work_flow dl {
	padding: 0 0 0 0;
	margin: 0;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.area-work_flow dl dt,
.area-work_flow dl dd {
	padding: 0 0 0 0;
	margin: 0;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.area-work_flow dl dt {
	width: 25%;
	padding-right: 2%;
}

.area-work_flow dl dd {
	width: 75%;
	/*color: #00B7D0;*/
	color: #f48691;
	font-size: 2.0rem;
	line-height: 1;
}

.area-work_flow aside {
	background: #00B7D0;
	/*background: #D1BD66;
	background: #f48691;*/
	color: white;
	text-align: center;
	font-size: 1.6rem;
	line-height: 1;
	padding: 0.35em 1em;
	margin: 0;
	border-radius: 3em;
	font-weight: 600;
}

.area-work_flow li {
	border: 0px solid red;
	min-height: 16.0rem;
	margin: 0 0 8.0rem 0;/**/
	position: relative;
}
span.emphasis{
	color: #f48691;/**/
	font-weight: bold;
	/*text-decoration: underline;*/
}
/*
.area-work_flow li::after {
	content: '';
	position: absolute;
	bottom: -3.0rem;
	left: 50%;
	border-right: 35px solid transparent;
	border-top: 30px solid #7CD9EA;
	border-left: 35px solid transparent;
	-webkit-transform: translate(-50%, 0%);
	transform: translate(-50%, 0%);
}*/

.area-work_flow li.first::after,
.area-work_flow li.second::after {
	display: none;
}

.area-work_flow p {
	margin-top: 1em;
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {
	.area-work_flow {
		padding: 3.0rem 0 0 0;
	}

	.area-work_flow .col-06 {
		margin-right: auto;
		margin-left: auto;
	}

	.area-work_flow dl dt {
		width: 40%;
	}

	.area-work_flow dl dd {
		width: 60%;
	}

	.area-work_flow li {
		border: 0px solid red;
		min-height: 16.0rem;
		margin: 0 0 6.0rem 0;
		position: relative;
		min-height: auto;
		height: auto;
		padding: 0 0 3.0rem 0;
	}

	.area-work_flow li.first::after {
		display: block;
	}
}

@media screen and (max-width: 768px) {
	.area-work_flow .col-06 {
		width: 75%;
	}
	.area-work_flow .row {
		display: block;
	}
}

@media screen and (max-width: 520px) {
	.area-work_flow .col-06 {
		width: 100%;
	}

}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
1006 AREA-CAREER_STEP
----------------------------------------------------------------------------------------- */
.area-career_step {
	padding: 9.0rem 0 0 0;
	margin: 0;
	border: 0px solid red;

}

.area-career_step figure {
	padding: 0;
	margin: 0 0 6.0rem 0;
}

.area-career_step figure img {
	width: 100%;
	padding: 0;
	margin: 0;
}


.area-career_step blockquote {
	width: max-content;
	padding: 0;
	margin: 0 auto;
}

.area-career_step h5 {
	text-align: center;
}


@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 768px) {
	.area-career_step blockquote {
		width: 100%;
	}

	.area-career_step h5 {
		text-align: center;
	}
}

@media screen and (max-width: 520px) {
	.area-career_step h5 br {
		display: block;
	}
}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
1006 area-common
----------------------------------------------------------------------------------------- */
.area-common {
	/*padding: 9.0rem 0 0 0;*/
	margin: 0;
	border: 0px solid red;
}

.area-common dl {
	padding: 0;
	margin: 4.5rem 0;
	-webkit-align-items: center;
	-ms-flex-align: center;
	align-items: center;
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

.area-common dl dt,
.area-common dl dd {
	padding: 0;
	margin: 0;
	width: calc(100% /12 * 3.5);
}

.area-common dl dt {
	padding-right: 1.5rem;
}

.area-common dl dd {
	padding: 0 0 0 1.5rem;
	margin: 0;
	width: calc(100% /12 * 7.5);
}

.area-common aside {
	background: #C1C2C2;
	color: white;
	text-align: center;
	font-size: 2.1rem;
	line-height: 1.2;
	letter-spacing: 0.08em;
	border-radius: 1.0rem;
	padding: 1.75em 0;
	margin: 0;
}

.area-common li:nth-child(2) aside {
	background: #24BFDC;
}

.area-common li:nth-child(3) aside {
	background: #42B290;
}

.area-common li:nth-child(4) aside {
	background: #D1BD66;
}

.area-common li:nth-child(5) aside {
	background: #D2A065;
}

.area-common li {
	margin-top: 0.5em;
	margin-bottom: 0.5em;
	font-size: 1.5rem;
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 768px) {

	.area-common dl dt,
	.area-common dl dd {
		padding: 0;
		margin: 0;
		width: calc(100% /12 * 12);
	}

	.area-common dl dt {
		padding-right: 0;
	}

	.area-common dl dd {
		padding: 1.5rem 0;
		width: calc(100% /12 * 12);
	}
}

@media screen and (max-width: 520px) {}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
1007 AREA-BTN
----------------------------------------------------------------------------------------- */
.area-btn {
	padding: 9.0rem 0;
	margin: 0;
	border: 0px solid red;
}

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {}

@media screen and (max-width: 768px) {}

@media screen and (max-width: 520px) {}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}










/*-----------------------------------------------------------------------------------------
1007 area-second
----------------------------------------------------------------------------------------- */
/*.area-second {
	padding: 0;
	margin: 0;
	border: 0px solid red;
	background: url('../img/recruit-technical-staff/bg-03.png');
	background-repeat: no-repeat;
	background-position: left 5% top 9.0rem;
	background-size: 10%;
}*/

@media screen and (max-width: 1200px) {}

@media screen and (max-width: 1024px) {
	.area-second {
		background: none;
	}
}

@media screen and (max-width: 768px) {}

@media screen and (max-width: 520px) {}

@media screen and (max-width: 420px) {}

@media screen and (max-width: 375px) {}







/*2024040追加*/
/*about*/
main.about .area-hero {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
main.about .area-hero figure ,
main.about .area-hero figure div {
  width: 100%;
  height: 100vh;
}
main.about .area-hero picture {
  width: 100%;
  height: 100%;
}
main.about .area-hero picture img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
main.about .area-hero .catch {
  position: absolute;  
	top: 50%;
	transform: translateY(-50%);
  right: 15%;
  z-index: 10;
  width: 135px;
}
main.about .w1080 {
  width: 1120px;
  padding: 0 20px;
  padding-top: 100px;
  padding-bottom: 200px;
  margin: 0 auto;
}
main.about .w1080 .title-en-jp {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 70px;
}
main.about .w1080 .title-en-jp em ,
main.about .w1080 .title-en-jp span {
  display: block;
  color: #25bfda;
}
main.about .w1080 .title-en-jp em {
  margin-bottom: .4em;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 4.0rem;
  font-weight: 600;
}
main.about .w1080 .title-en-jp span {
  font-size: 1.8rem;
}
main.about .about-us {
  margin-bottom: 80px;
}
main.about .about-us .comment01 {
  margin-bottom: 50px;
}
main.about .about-us .comment01 p ,
main.about .about-us .comment02 p {
  font-size: 2.3rem;
  text-align: center;
  line-height: 1.9;
}
main.about .about-us .comment01 p:not(:last-of-type) ,
main.about .about-us .comment02 p:not(:last-of-type) {
  margin-bottom: 1.5em;
}
main.about .about-us .comment01 p span ,
main.about .about-us .comment02 p span {
  font-weight: 500;
  color: #25bfda;
}
main.about .about-us .img {
  max-width: 800px;
  margin: 0 auto;
  margin-bottom: 50px;
}
main.about .network {
  margin-bottom: 80px;
}
main.about .network h3 {
  text-align: center;
  font-size: 2.3rem;
  font-weight: 500;
  margin-bottom: .8em;
}
main.about .network h3 + ul {
  display: flex;
  justify-content: center;
}
main.about .network h3 + ul li {
  margin: 0;
  font-size: 1.6rem;
}
main.about .network h3 + ul li:not(:last-of-type) {
  margin-right: 1em;
}
main.about .network .group {
  display: flex;
  justify-content: space-around;
}
main.about .network .group section {
  width: 280px;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
main.about .network .group section:nth-of-type(2) {
  margin: 0 20px;
}
main.about .network .group section h4 {
  border-bottom: solid 1px #c2c2c2;
  text-align: center;
  font-size: 2.3rem;
  font-weight: 500;
  color: #25bfda;
  padding-bottom: .6em;
  margin-bottom: .7em;
}
main.about .network .group section p {
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: .8em;
}
main.about .network .group section table {
  text-align: center;
  margin: 0 auto;
}
main.about .network .group section table tr th ,
main.about .network .group section table tr td {
  font-size: 1.8rem;
}
main.about .network .group section table tr th {
  text-align: right;
  white-space: nowrap;
}
main.about .network .group section table tr th span {
  display: inline-block;
}
main.about .network .group section table tr th span::first-letter {
  letter-spacing: 1em;
}
main.about .network .group section table tr:last-of-type th ,
main.about .network .group section table tr:last-of-type td {
  font-size: 1.6rem;
}
main.about .network .group section table tr:not(:last-of-type) th ,
main.about .network .group section table tr:not(:last-of-type) td {
  padding-bottom: .4em;
}
main.about .award {
  margin-bottom: 80px;
}
main.about .award .box {
  display: flex;
  justify-content: center;
}
main.about .award .box .img {
  width: 220px;
  margin-right: 120px;
}
main.about .award .box .box_r h3 {
  font-size: 2.3rem;
  font-weight: 500;
  color: #25bfda;
  line-height: 1.9;
  margin-bottom: .4em;
  text-align: left;
}
main.about .award .box .box_r p {
  position: relative;
  font-size: 1.6rem;
  padding-left: 1em;
}
main.about .award .box .box_r p::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '※';
}
main.about .work {
  margin-bottom: 80px;
}
main.about .work .comment {
  font-size: 1.6rem;
  margin-bottom: 3em;
}
main.about .work .comment p {
  text-align: center;
}
main.about .work .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
main.about .work .img {
  margin-bottom: 50px;
}
main.about .work .img ul {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -40px;
}
main.about .work .img ul li {
  width: 515px;
  margin: 0;
  margin-bottom: 40px;
}
main.about .work .img ul li:nth-of-type(odd) {
  margin-right: 50px;
}
main.about .work .list {
  display: flex;
}
main.about .work .list .box_l ,
main.about .work .list .box_r {
  width: 515px;
}
main.about .work .list .box_l {
  margin-right: 50px;
}
main.about .work .list section:not(:last-of-type) {
  margin-bottom: 80px;
}
main.about .work .list section h3 {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2.0rem;
  padding-bottom: .8em;
  margin-bottom: .8em;
  border-bottom: solid 1px #dadada;
}
main.about .work .list section h3 span ,
main.about .work .list section h3 em {
  display: block;
}
main.about .work .list section h3 span {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 1.6rem;
  font-weight: 700;
  color: #FFF;
  padding: .2em 1em;
  margin-right: 2em;
  border-radius: .2em;
}
main.about .work .list .box_l section h3 span {
  background: #ff919c;
}
main.about .work .list .box_r section h3 span {
  background: #25bfda;
}
main.about .work .list section h3 em {
  font-size: 2.0rem;
  font-weight: 500;
}
main.about .work .list .box_l section h3 em {
  color: #ff919c;
}
main.about .work .list .box_r section h3 em {
  color: #25bfda;
}
main.about .work .list section p {
  text-align: center;
  font-size: 1.6rem;
}
main.about .work .list .box_l section p span {
  color: #ff919c;
}
main.about .work .list .box_r section p span {
  color: #25bfda;
}
main.about .csr {
  margin-bottom: 80px;
}
main.about .csr > .comment {
  font-size: 1.6rem;
  margin-bottom: 1.5em;
}
main.about .csr > .comment p {
  font-size: 1.6rem;
  text-align: center;
}
main.about .csr > .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
main.about .csr .movie {
  position: relative;
  left: -60px;
  width: 1240px;
  margin-bottom: 80px;
}
main.about .csr .list {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -50px;
}
main.about .csr .list section {
  width: 515px;
  margin-bottom: 50px;
}
main.about .csr .list section:nth-of-type(odd) {
  margin-right: 50px;
}
main.about .csr .list section .img {
  position: relative;
  margin-bottom: 20px;
}
main.about .csr .list section .img .slider_box {
  position: relative;
}
main.about .csr .list section .img .slider_box li {
  margin: 0;
}
main.about .csr .list section .img .slider_box .slick-arrow {
  position: absolute;
	top: 50%;
	transform: translateY(-50%);
  z-index: 5;
  width: 14px;
  height: 27px;
}
main.about .csr .list section .img .slider_box .slick-arrow.slick-prev {
  left: 15px;
  background: url(../img/about/slick_prev.svg) no-repeat center center;
  background-size: cover;
}
main.about .csr .list section .img .slider_box .slick-arrow.slick-next {
  right: 15px;
  background: url(../img/about/slick_next.svg) no-repeat center center;
  background-size: cover;
}
main.about .csr .list section .img .slider_box .slick-arrow::before ,
main.about .csr .list section .img .slider_box .slick-arrow::after {
  display: none;
}
main.about .csr .list section .img .slider_box .slick-dots {
  bottom: 15px;
}
main.about .csr .list section .img .slider_box .slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0 7px;
}
main.about .csr .list section .img .slider_box .slick-dots li {
  width: 10px;
  height: 10px;
  margin: 0 7px;
}
main.about .csr .list section .img .slider_box .slick-dots li button {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .7);
}
main.about .csr .list section .img .slider_box .slick-dots li.slick-active button {
  background: rgba(255, 255, 255, 1);
}
main.about .csr .list section .img .slider_box .slick-dots li button::before {
  display: none;
}
main.about .csr .list section .title_time {
  position: relative;
  padding: 0 80px;
  margin-bottom: 30px;
}
main.about .csr .list section .title_time h3 {
  text-align: center;
  font-size: 2.3rem;
  font-weight: 500;
  color: #25bfda;
  margin-bottom: .4em;
}
main.about .csr .list section .title_time time {
  display: block;
  text-align: center;
  font-size: 1.6rem;
  color: #25bfda;
}
main.about .csr .list section .title_time p {
  position: absolute;
  top: -5px;
  left: 0;
  width: 60px;
}
main.about .csr .list section .comment {
  font-size: 1.6rem;
}
main.about .csr .list section .comment p {
  font-size: 1.6rem;
  text-align: center;
}
main.about .csr .list section .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
main.about .sdgs {
  margin-bottom: 150px;
}
main.about .sdgs p {
  width: 720px;
  margin: 0 auto;
  margin-bottom: 50px;
}
main.about .sdgs h2 {
  text-align: center;
  font-size: 2.3rem;
  font-weight: 500;
  color: #25bfda;
}
main.about .entry_btn {
  display: flex;
  align-items: center;
  justify-content: center;
}
main.about .entry_btn a {
	display: block;
	font-size: 2.2rem;
	line-height: 1.2;
	color: #FFFFFF;
	background: #ff919c;
	padding: 1.5em 6.3em;
	border-radius: 5em;
  letter-spacing: .15em;
	position: relative;
	overflow: hidden;
	text-align: center;
	border: 3px solid #ff919c;
}
main.about .entry_btn a::before {
	content: '\f30b';
	font-family: 'Font Awesome\ 5 Free';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 1em;
	font-weight: 700;
}
main.about .entry_btn a:hover {
	color: #ff919c;
	background: #FFF;
	border: 3px solid #ff919c;
}



/*training*/
main.training {
  overflow: hidden;
}
main.training .area-hero {
  position: relative;
  height: 100vh;
  overflow: hidden;
}
main.training .area-hero figure ,
main.training .area-hero figure div {
  width: 100%;
  height: 100vh;
}
main.training .area-hero picture {
  width: 100%;
  height: 100%;
}
main.training .area-hero picture img {
  width: 100%;
  height: 100%;
  object-fit: cover
}
main.training .area-hero .catch {
  position: absolute;  
	top: 50%;
	transform: translateY(-50%);
  right: 15%;
  z-index: 10;
  width: 135px;
}
main.training .w1080 {
  width: 1120px;
  padding: 0 20px;
  padding-top: 100px;
  padding-bottom: 200px;
  margin: 0 auto;
}
main.training .w1080 .title-en-jp {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 70px;
}
main.training .w1080 .title-en-jp em ,
main.training .w1080 .title-en-jp span {
  display: block;
  color: #25bfda;
}
main.training .w1080 .title-en-jp em {
  margin-bottom: .4em;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 4.0rem;
  font-weight: 600;
}
main.training .w1080 .title-en-jp span {
  font-size: 1.8rem;
}
main.training .about {
  margin-bottom: 80px;
}
main.training .about h3 {
  font-size: 2.3rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.9;
  margin-bottom: 2em;
}
main.training .about .comment {
  margin-bottom: 80px;
}
main.training .about .comment p {
  font-size: 1.6rem;
  line-height: 2.1em;
  text-align: center;
}
main.training .about .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
main.training .about .step section {
  display: flex;
}
main.training .about .step section:not(:last-of-type) {
  margin-bottom: 60px;
}
main.training .about .step section .img {
  width: 160px;
  margin-right: 20px;
}
main.training .about .step section .box_r {
  width: calc(100% - (160px + 20px));
}
main.training .about .step section .box_r h4 {
  font-size: 2.7rem;
  font-weight: 700;
  margin: 0;
  margin-bottom: .3em;
  text-align: left;
}
main.training .about .step section:nth-of-type(1) .box_r h4 {
  color: #c2c2c2;
}
main.training .about .step section:nth-of-type(2) .box_r h4 {
  color: #25bfda;
}
main.training .about .step section:nth-of-type(3) .box_r h4 {
  color: #ff919c;
}
main.training .about .step section .box_r p {
  font-size: 1.8rem;
}
main.training .newcomer {
  margin-bottom: 80px;
}
main.training .newcomer h3 {
  font-size: 2.3rem;
  font-weight: 500;
  text-align: center;
  line-height: 1.9;
  margin-bottom: 2em;
}
main.training .newcomer .comment {
  margin-bottom: 80px;
}
main.training .newcomer .comment p {
  font-size: 1.6rem;
  line-height: 2.1em;
  text-align: center;
}
main.training .newcomer .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
main.training .newcomer h4 {
  background: #25bfda;
  text-align: center;
  color: #FFF;
  font-size: 2.0rem;
  font-weight: 500;
  padding: .8em 1em;
  border-radius: .2em;
  margin: 0;
  margin-bottom: 2.8em;
}
main.training .newcomer .step section {
  display: flex;
}
main.training .newcomer .step section:not(:last-of-type) {
  margin-bottom: 60px;
}
main.training .newcomer .step section .img {
  width: 160px;
  margin-right: 20px;
}
main.training .newcomer .step section .box_r {
  width: calc(100% - (160px + 20px));
}
main.training .newcomer .step section .box_r h5 {
  font-size: 2.7rem;
  font-weight: 700;
  margin-bottom: .3em;
}
main.training .newcomer .step section:nth-of-type(1) .box_r h5 {
  color: #c2c2c2;
}
main.training .newcomer .step section:nth-of-type(2) .box_r h5 {
  color: #25bfda;
}
main.training .newcomer .step section:nth-of-type(3) .box_r h5 {
  color: #ff919c;
}
main.training .newcomer .step section .box_r ul {
  display: flex;
  flex-wrap: wrap;
  font-size: 1.8rem;
}
main.training .newcomer .step section .box_r ul li {
  margin: 0;
  font-size: 1.8rem;
  margin-bottom: .2em;
}
main.training .newcomer .step section .box_r ul li:not(:last-of-type) {
  margin-right: 1em;
}
main.training .newcomer .step section .box_r p {
  font-size: 1.8rem;
}
main.training .newcomer .step section .box_r p {
  font-size: 1.8rem;
}
main.training .case {
  margin-bottom: 100px;
}
main.training .case h3 {
  font-size: 2.3rem;
  font-weight: 500;
  text-align: center;
  color: #333333;
  margin-bottom: 2.1em;
}
main.training .case .case_list > section:not(:last-of-type) {
  margin-bottom: 50px;
}
main.training .case .case_list section h4 {
  position: relative;
  height: 270px;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
main.training .case .case_list section h4::before {
  position: absolute;
  top: 0;
  left: -1vw;
  width: 102vw;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  content: '';
}
main.training .case .case_list section.adviser h4::before {
  background: url(../img/training/case_title01.jpg) no-repeat center center;
  background-size: cover;
  content: '';
}
main.training .case .case_list section.staff h4::before {
  background: url(../img/training/case_title02.jpg) no-repeat center center;
  background-size: cover;
  content: '';
}
main.training .case .case_list section.technical h4::before {
  background: url(../img/training/case_title03.jpg) no-repeat center center;
  background-size: cover;
  content: '';
}
main.training .case .case_list section h4 span {
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
}
main.training .case .case_list section h4 span em ,
main.training .case .case_list section h4 span i {
  display: block;
  margin: 0;
  padding: 0;
  color: #FFF;
  filter: drop-shadow(0px 0px 5px rgba(71,104,114,.4)) drop-shadow(0px 0px 5px rgba(71,104,114,.4));
  font-style: normal;
}
main.training .case .case_list section h4 span em {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 4.0rem;
  font-weight: 600;
}
main.training .case .case_list section h4 span i {
  font-size: 1.8rem;
}
main.training .case .case_list section .tab_acc_box {
  display: flex;
  flex-wrap: wrap;
  padding-top: 100px;
  margin-bottom: 180px;
}
main.training .case .case_list section .tab_acc_box > input {
  display: none;
}
main.training .case .case_list section .tab_acc_box > input + label {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  border-radius: 5px 20px 0 0;
  padding: .8em 1em;
  font-size: 2.0rem;
  order: -1;
  cursor: pointer;
}
main.training .case .case_list section .tab_acc_box > input + label:nth-of-type(1) {
  background: rgba(194, 194, 194, 1);
}
main.training .case .case_list section .tab_acc_box > input + label:nth-of-type(2) {
  background: rgba(97, 191, 218, 1);
}
main.training .case .case_list section .tab_acc_box > input + label:nth-of-type(3) {
  background: rgba(255, 145, 156, 1);
}
main.training .case .case_list section .tab_acc_box > input + label:nth-of-type(4) {
  background: rgba(56, 217, 111, 1);
}
main.training .case .case_list section .tab_acc_box > input:checked + label:nth-of-type(1) {
  background: rgba(194, 194, 194, .5);
}
main.training .case .case_list section .tab_acc_box > input:checked + label:nth-of-type(2) {
  background: rgba(97, 191, 218, .5);
}
main.training .case .case_list section .tab_acc_box > input:checked + label:nth-of-type(3) {
  background: rgba(255, 145, 156, .5);
}
main.training .case .case_list section .tab_acc_box > input:checked + label:nth-of-type(4) {
  background: rgba(56, 217, 111, .5);
}
main.training .case .case_list section .tab_acc_box > input + label span {
  position: relative;
  display: block;
  font-size: 2.0rem;
  font-weight: 500;
  color: #FFF;
}
main.training .case .case_list section .tab_acc_box > input + label span::after {
  position: relative;
  top: .1em;
  right: 0;
  z-index: 1;
  font-size: 2.0rem;
  width: 1em;
  height: 1em;
  margin-left: .6em;
  display: inline-block;
  background: url(../img/training/tab_acc_arrow_off.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
main.training .case .case_list section .tab_acc_box > input:checked + label span::after {
  background: url(../img/training/tab_acc_arrow_on.svg) no-repeat center center;
  background-size: cover;
  content: '';
}
main.training .case .case_list section .tab_acc_box > input + label + .tab_acc_contents {
  display: none;
}
main.training .case .case_list section .tab_acc_box > input:checked + label + .tab_acc_contents {
  display: block;
  width: 100%;
  padding-top: 50px;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section:not(:last-of-type) {
  margin-bottom: 50px;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section.sky {
  position: relative;
  margin-bottom: 120px;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section.sky::after {
  position: absolute;
  bottom: -90px;
  right: 0;
  left: 0;
  margin: 0 auto;
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 49px solid transparent;
  border-left: 49px solid transparent;
  border-bottom: 0;
  content: '';
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab01 section.sky::after {
  border-top: 36px solid #dadada;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab02 section.sky::after {
  border-top: 36px solid #7cd9e9;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab03 section.sky::after {
  border-top: 36px solid #ffbdc4;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab04 section.sky::after {
  border-top: 36px solid #88e8a9;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section h5 {
  position: relative;
  font-size: 2.0rem;
  font-weight: 500;
  padding-left: 1em;
  padding-bottom: .8em;
  margin-bottom: .8em;
  text-align: left;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section.gray h5 {
  color: #c2c2c2;
  border-bottom: solid 1px #c2c2c2;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section.sky h5 {
  color: #25bfda;
  border-bottom: solid 1px #25bfda;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section.pink h5 {
  color: #ff919c;
  border-bottom: solid 1px #ff919c;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section h5::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 5px;
  height: 1.2em;
  display: block;
  content: '';
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section.gray h5::before {
  background: #c2c2c2;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section.sky h5::before {
  background: #25bfda;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section.pink h5::before {
  background: #ff919c;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section ul.flex_list {
  display: flex;
  flex-wrap: wrap;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section ul li {
  position: relative;
  margin: 0;
  padding: 0;
  padding-left: 1em;
  font-size: 1.6rem;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section ul.flex_list li:not(:last-of-type) {
  margin-right: 1em;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section ul li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: '・';
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section p {
  font-size: 1.6rem;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section p strong {
  font-size: 2.0rem;
  font-weight: 500;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section.gray p strong {
  color: #c2c2c2;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section.sky p strong {
  color: #25bfda;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents section.pink p strong {
  color: #ff919c;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents .license {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  padding-top: 50px;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents .license span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 500px;
  margin: 0 auto;
  border-radius: 10px;
  font-size: 1.6rem;
  padding: .8em 1em;
  color: #FFF;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents .license span em {
  display: block;
  font-weight: 500;
  color: #FFF;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents .license span i {
  display: block;
  font-weight: 500;
  font-style: normal;
  color: #FFF;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab01 .license span {
  background: #c2c2c2;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab01 .license span em {
  font-size: 1.6rem;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab01 .license span i {
  font-size: 2.0rem;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab02 .license span {
  background: #25bfda;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab02 .license span em {
  font-size: 2.0rem;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab02 .license span i {
  font-size: 2.0rem;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab03 .license span {
  background: #ff919c;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab03 .license span em {
  font-size: 2.0rem;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab03 .license span i {
  font-size: 2.0rem;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab04 .license span {
  background: #38d96f;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab04 .license span em {
  font-size: 2.0rem;
}
main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab04 .license span i {
  font-size: 2.0rem;
}
main.training .case .case_list section .basic {
  margin-bottom: 40px;
}
main.training .case .case_list section .basic h5 ,
main.training .case .case_list section .manager h5 {
  border: solid 1px #333333;
  text-align: center;
  font-size: 2.3rem;
  font-weight: 500;
  color: #333333;
  padding: .6em 1em;
  margin: 0;
  margin-bottom: 1em;
  border-radius: 5px;
}
main.training .case .case_list section .basic .box dl:not(:last-of-type) ,
main.training .case .case_list section .manager .box dl:not(:last-of-type) {
  margin-bottom: 20px;
}
main.training .case .case_list section .basic .box dl dt ,
main.training .case .case_list section .manager .box dl dt {
  font-size: 2.0rem;
  font-weight: 500;
}
main.training .case .case_list section .basic .box dl dd ,
main.training .case .case_list section .manager .box dl dd {
  font-size: 1.6rem;
}
main.training .case .case_list section .basic .box ul ,
main.training .case .case_list section .manager .box ul {
  display: flex;
  flex-wrap: wrap;
}
main.training .case .case_list section .basic .box ul li ,
main.training .case .case_list section .manager .box ul li {
  font-size: 2.0rem;
  font-weight: 500;
  margin: 0;
  padding: 0;
}
main.training .case .case_list section .basic .box ul li:not(:last-of-type) ,
main.training .case .case_list section .manager .box ul li:not(:last-of-type) {
  margin-right: 1em;
}
main.training .original {
  margin-bottom: 150px;
}
main.training .original .section_img {
  position: relative;
  height: 270px;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 100px;
}
main.training .original .section_img::before {
  position: absolute;
  top: 0;
  left: -1vw;
  width: 102vw;
  height: 100%;
  margin: 0 calc(50% - 50vw);
  background: url(../img/training/original_section_img.jpg) no-repeat center center;
  background-size: cover;
  content: '';
}
main.training .original > section:not(:last-of-type) {
  margin-bottom: 100px;
}
main.training .original > section h3 {
  text-align: center;
  font-size: 2.3rem;
  font-weight: 500;
  color: #25bfda;
  padding: 0;
  margin: 0;
  margin-bottom: 2em;
}
main.training .original .college .comment p {
  text-align: center;
  font-size: 1.6rem;
  line-height: 2.8;
}
main.training .original .college .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
main.training .original .base .img {
  width: 710px;
  margin: 0 auto;
}
main.training .original .program .box {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -50px;
}
main.training .original .program .box section {
  width: 515px;
  margin-bottom: 50px;
}
main.training .original .program .box section:nth-of-type(odd) {
  margin-right: 50px;
}
main.training .original .program .box section .img {
  margin-bottom: 10px;
}
main.training .original .program .box section h4 {
  text-align: centere;
  font-size: 2.0rem;
  font-weight: 500;
  color: #25bfda;
  padding: 0;
  padding-bottom: .5em;
  margin: 0;
  margin-bottom: .6em;
  border-bottom: solid 2px #c2c2c2;
}
main.training .original .program .box section .comment p {
  font-size: 1.6rem;
}
main.training .original .program .box section .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}
main.training .entry_btn {
  display: flex;
  align-items: center;
  justify-content: center;
}
main.training .entry_btn a {
	display: block;
	font-size: 2.2rem;
	line-height: 1.2;
	color: #FFFFFF;
	background: #ff919c;
	padding: 1.5em 6.3em;
	border-radius: 5em;
  letter-spacing: .15em;
	position: relative;
	overflow: hidden;
	text-align: center;
	border: 3px solid #ff919c;
}
main.training .entry_btn a::before {
	content: '\f30b';
	font-family: 'Font Awesome\ 5 Free';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 1em;
	font-weight: 700;
}
main.training .entry_btn a:hover {
	color: #ff919c;
	background: #FFF;
	border: 3px solid #ff919c;
}



/*mid-career*/
main.mid-career .area-hero {
  position: relative;
  height: 165px;
  background: #25bfda;
  display: flex;
  align-items: center;
  justify-content: center;
}
main.mid-career .area-hero .catch {
  font-size: 3.4rem;
  font-weight: 500;
  color: #FFF;
}
main.mid-career .w1080 {
  width: 1120px;
  padding: 0 20px;
  padding-top: 100px;
  padding-bottom: 200px;
  margin: 0 auto;
}
main.mid-career .w1080 h3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 70px;
}
main.mid-career .w1080 h3 em ,
main.mid-career .w1080 h3 span {
  display: block;
  color: #38d96f;
}
main.mid-career .w1080 h3 em {
  margin-bottom: .4em;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 4.0rem;
  font-weight: 600;
}
main.mid-career .w1080 h3 span {
  font-size: 1.8rem;
}
main.mid-career .w1080 .form_box {
  width: 760px;
  margin: 0 auto;
}
main.mid-career .w1080 .form_box .form_group:not(:last-of-type) {
  margin-bottom: 40px;
}
main.mid-career .w1080 .form_box .form_group .label {
  font-size: 2.0rem;
  margin-bottom: .6em;
}
main.mid-career .w1080 .form_box .form_group .form_item {
  font-size: 2.0rem;
}
main.mid-career .w1080 .form_box .form_group .form_item input[type="text"] ,
main.mid-career .w1080 .form_box .form_group .form_item input[type="tel"] ,
main.mid-career .w1080 .form_box .form_group .form_item input[type="email"] ,
main.mid-career .w1080 .form_box .form_group .form_item input[type="date"] ,
main.mid-career .w1080 .form_box .form_group .form_item input[type="number"] ,
main.mid-career .w1080 .form_box .form_group .form_item textarea {
	width:100%;
	padding:.4em .6em;
	font-size:2.0rem;
	background:#FFF;
	border: solid 1px #999999;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	border-radius: 5px;
}
main.mid-career .w1080 .form_box .form_group .form_item input[type="text"]:focus ,
main.mid-career .w1080 .form_box .form_group .form_item input[type="tel"]:focus ,
main.mid-career .w1080 .form_box .form_group .form_item input[type="email"]:focus ,
main.mid-career .w1080 .form_box .form_group .form_item input[type="number"]:focus ,
main.mid-career .w1080 .form_box .form_group .form_item input[type="date"]:focus ,
main.mid-career .w1080 .form_box .form_group .form_item textarea:focus {
	outline: 0;
	background:#FFF;
	border: solid 1px #333333;
}
main.mid-career .w1080 .form_box .form_group .form_item input[type="number"] {
	text-align:center;
}
main.mid-career .w1080 .form_box .form_group .form_item textarea {
	height: 300px;
}
main.mid-career .w1080 .form_box .form_group .form_item .select {
  position: relative;
  z-index: 1;
  background: #FFF;
  width: 100%;
	border: solid 1px #999999;
  border-radius: 5px;
}
main.mid-career .w1080 .form_box .form_group .form_item .select::after {
  position: absolute;
  content: '';
  width: 8px;
  height: 8px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 2px solid #333333;
  border-right: 2px solid #333333;
  z-index: -1;
}
main.mid-career .w1080 .form_box .form_group .form_item .select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	outline:none;
  background: none;
  border: none;
  color: #333;
  width: 100%;
  height: 100%;
	padding:.4em .6em;
	font-size:2.0rem;
}
main.mid-career .w1080 .form_box .form_group .form_item.flex_box {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -20px;
}
main.mid-career .w1080 .form_box .form_group .form_item.flex_box dl {
  width: 365px;
  margin-bottom: 20px;
}
main.mid-career .w1080 .form_box .form_group .form_item.flex_box dl:nth-of-type(odd) {
  margin-right: 30px;
}
main.mid-career .w1080 .form_box .form_group .form_item.flex_box dl dt {
  font-size: 2.0rem;
  margin-bottom: .6em;
}
main.mid-career .w1080 .form_box .comment {
  padding-top: 100px;
  padding-bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
main.mid-career .w1080 .form_box .comment p {
  font-size: 2.0rem;
}
main.mid-career .w1080 .form_box .submit_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
main.mid-career .w1080 .form_box .submit_btn button {
	display: block;
	font-size: 2.2rem;
	line-height: 1.2;
	color: #FFFFFF;
	background: #38d96f;
	padding: 1.5em 6.3em;
	border-radius: 5em;
  letter-spacing: .15em;
	position: relative;
	overflow: hidden;
	text-align: center;
	border: 3px solid #38d96f;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	outline: 0;
}
main.mid-career .w1080 .form_box .submit_btn button::before {
	content: '\f30b';
	font-family: 'Font Awesome\ 5 Free';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 1em;
	font-weight: 700;
}
main.mid-career .w1080 .form_box .submit_btn button:hover ,
main.mid-career .w1080 .form_box .submit_btn button:focus {
	color: #38d96f;
	background: #FFF;
	border: 3px solid #38d96f;
}
main.mid-career .w1080 .comment .return_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
main.mid-career .w1080 .comment .return_btn input {
	display: block;
	font-size: 2.2rem;
	line-height: 1.2;
	color: #11d253;
	background: #d1f6de;
	padding: 1.5em 6.3em;
	border-radius: 5em;
  letter-spacing: .15em;
	position: relative;
	overflow: hidden;
	text-align: center;
	border: 3px solid #d1f6de;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	outline: 0;
}
main.mid-career .w1080 .comment .return_btn input:hover ,
main.mid-career .w1080 .comment .return_btn input:focus {
	color: #11d253;
	background: #FFF;
	border: 3px solid #11d253;
}
main.mid-career .w1080 .form_box .submit_btn_flex {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
main.mid-career .w1080 .form_box .submit_btn_flex button {
	display: block;
	font-size: 2.2rem;
	line-height: 1.2;
	color: #FFFFFF;
	background: #38d96f;
	padding: 1.5em 3em;
	border-radius: 5em;
  letter-spacing: .15em;
	position: relative;
	overflow: hidden;
	text-align: center;
	border: 3px solid #38d96f;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	outline: 0;
  margin-right: 2em;
}
main.mid-career .w1080 .form_box .submit_btn_flex button::before {
	content: '\f30b';
	font-family: 'Font Awesome\ 5 Free';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 1em;
	font-weight: 700;
}
main.mid-career .w1080 .form_box .submit_btn_flex button:hover ,
main.mid-career .w1080 .form_box .submit_btn_flex button:focus {
	color: #38d96f;
	background: #FFF;
	border: 3px solid #38d96f;
}
main.mid-career .w1080 .form_box .submit_btn_flex input {
	display: block;
	font-size: 2.2rem;
	line-height: 1.2;
	color: #11d253;
	background: #d1f6de;
	padding: 1.5em 3em;
	border-radius: 5em;
  letter-spacing: .15em;
	position: relative;
	overflow: hidden;
	text-align: center;
	border: 3px solid #d1f6de;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	outline: 0;
}
main.mid-career .w1080 .form_box .submit_btn_flex input:hover ,
main.mid-career .w1080 .form_box .submit_btn_flex input:focus {
	color: #11d253;
	background: #FFF;
	border: 3px solid #11d253;
}
main.mid-career.confirm-thanks .w1080 .comment {
  padding-top: 100px;
  padding-bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
main.mid-career.confirm-thanks .w1080 .comment p {
  font-size: 2.0rem;
}
main.mid-career.confirm-thanks .w1080 .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}

/*r_syonai_contact*/
main.r_syonai_contact .area-hero {
  position: relative;
  height: 165px;
  background: #ff919c;
  display: flex;
  align-items: center;
  justify-content: center;
}
main.r_syonai_contact .area-hero .catch {
  font-size: 3.4rem;
  font-weight: 500;
  color: #FFF;
}
main.r_syonai_contact .w1080 {
  width: 1120px;
  padding: 0 20px;
  padding-top: 100px;
  padding-bottom: 200px;
  margin: 0 auto;
}
main.r_syonai_contact .w1080 h3 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-bottom: 70px;
}
main.r_syonai_contact .w1080 h3 em ,
main.r_syonai_contact .w1080 h3 span {
  display: block;
  color: #38d96f;
}
main.r_syonai_contact .w1080 h3 em {
  margin-bottom: .4em;
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 4.0rem;
  font-weight: 600;
}
main.r_syonai_contact .w1080 h3 span {
  font-size: 1.8rem;
}
main.r_syonai_contact .w1080 .form_box {
  width: 760px;
  margin: 0 auto;
}
main.r_syonai_contact .w1080 .form_box .form_group:not(:last-of-type) {
  margin-bottom: 40px;
}
main.r_syonai_contact .w1080 .form_box .form_group .label {
  font-size: 2.0rem;
  margin-bottom: .6em;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item {
  font-size: 2.0rem;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item input[type="text"] ,
main.r_syonai_contact .w1080 .form_box .form_group .form_item input[type="tel"] ,
main.r_syonai_contact .w1080 .form_box .form_group .form_item input[type="email"] ,
main.r_syonai_contact .w1080 .form_box .form_group .form_item input[type="date"] ,
main.r_syonai_contact .w1080 .form_box .form_group .form_item input[type="number"] ,
main.r_syonai_contact .w1080 .form_box .form_group .form_item textarea {
	width:100%;
	padding:.4em .6em;
	font-size:2.0rem;
	background:#FFF;
	border: solid 1px #999999;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	border-radius: 5px;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item input[type="text"]:focus ,
main.r_syonai_contact .w1080 .form_box .form_group .form_item input[type="tel"]:focus ,
main.r_syonai_contact .w1080 .form_box .form_group .form_item input[type="email"]:focus ,
main.r_syonai_contact .w1080 .form_box .form_group .form_item input[type="number"]:focus ,
main.r_syonai_contact .w1080 .form_box .form_group .form_item input[type="date"]:focus ,
main.r_syonai_contact .w1080 .form_box .form_group .form_item textarea:focus {
	outline: 0;
	background:#FFF;
	border: solid 1px #333333;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item input[type="number"] {
	text-align:center;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item textarea {
	height: 300px;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item .select {
  position: relative;
  z-index: 1;
  background: #FFF;
  width: 100%;
	border: solid 1px #999999;
  border-radius: 5px;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item .select::after {
  position: absolute;
  content: '';
  width: 8px;
  height: 8px;
  right: 10px;
  top: 50%;
  transform: translateY(-50%) rotate(45deg);
  border-bottom: 2px solid #333333;
  border-right: 2px solid #333333;
  z-index: -1;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item .select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	outline:none;
  background: none;
  border: none;
  color: #333;
  width: 100%;
  height: 100%;
	padding:.4em .6em;
	font-size:2.0rem;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item.flex_box {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: -20px;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item.flex_box dl {
  width: 365px;
  margin-bottom: 20px;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item.flex_box dl:nth-of-type(odd) {
  margin-right: 30px;
}
main.r_syonai_contact .w1080 .form_box .form_group .form_item.flex_box dl dt {
  font-size: 2.0rem;
  margin-bottom: .6em;
}
main.r_syonai_contact .w1080 .form_box .comment {
  padding-top: 100px;
  padding-bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
main.r_syonai_contact .w1080 .form_box .comment p {
  font-size: 2.0rem;
}
main.r_syonai_contact .w1080 .form_box .submit_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
main.r_syonai_contact .w1080 .form_box .submit_btn button {
	display: block;
	font-size: 2.2rem;
	line-height: 1.2;
	color: #FFFFFF;
	background: #38d96f;
	padding: 1.5em 6.3em;
	border-radius: 5em;
  letter-spacing: .15em;
	position: relative;
	overflow: hidden;
	text-align: center;
	border: 3px solid #38d96f;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	outline: 0;
}
main.r_syonai_contact .w1080 .form_box .submit_btn button::before {
	content: '\f30b';
	font-family: 'Font Awesome\ 5 Free';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 1em;
	font-weight: 700;
}
main.r_syonai_contact .w1080 .form_box .submit_btn button:hover ,
main.r_syonai_contact .w1080 .form_box .submit_btn button:focus {
	color: #38d96f;
	background: #FFF;
	border: 3px solid #38d96f;
}
main.r_syonai_contact .w1080 .comment .return_btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
main.r_syonai_contact .w1080 .comment .return_btn input {
	display: block;
	font-size: 2.2rem;
	line-height: 1.2;
	color: #11d253;
	background: #d1f6de;
	padding: 1.5em 6.3em;
	border-radius: 5em;
  letter-spacing: .15em;
	position: relative;
	overflow: hidden;
	text-align: center;
	border: 3px solid #d1f6de;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	outline: 0;
}
main.r_syonai_contact .w1080 .comment .return_btn input:hover ,
main.r_syonai_contact .w1080 .comment .return_btn input:focus {
	color: #11d253;
	background: #FFF;
	border: 3px solid #11d253;
}
main.r_syonai_contact .w1080 .form_box .submit_btn_flex {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
main.r_syonai_contact .w1080 .form_box .submit_btn_flex button {
	display: block;
	font-size: 2.2rem;
	line-height: 1.2;
	color: #FFFFFF;
	background: #38d96f;
	padding: 1.5em 3em;
	border-radius: 5em;
  letter-spacing: .15em;
	position: relative;
	overflow: hidden;
	text-align: center;
	border: 3px solid #38d96f;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	outline: 0;
  margin-right: 2em;
}
main.r_syonai_contact .w1080 .form_box .submit_btn_flex button::before {
	content: '\f30b';
	font-family: 'Font Awesome\ 5 Free';
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
  right: 1em;
	font-weight: 700;
}
main.r_syonai_contact .w1080 .form_box .submit_btn_flex button:hover ,
main.r_syonai_contact .w1080 .form_box .submit_btn_flex button:focus {
	color: #38d96f;
	background: #FFF;
	border: 3px solid #38d96f;
}
main.r_syonai_contact .w1080 .form_box .submit_btn_flex input {
	display: block;
	font-size: 2.2rem;
	line-height: 1.2;
	color: #11d253;
	background: #d1f6de;
	padding: 1.5em 3em;
	border-radius: 5em;
  letter-spacing: .15em;
	position: relative;
	overflow: hidden;
	text-align: center;
	border: 3px solid #d1f6de;
  box-sizing: border-box;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
	outline: 0;
}
main.r_syonai_contact .w1080 .form_box .submit_btn_flex input:hover ,
main.r_syonai_contact .w1080 .form_box .submit_btn_flex input:focus {
	color: #11d253;
	background: #FFF;
	border: 3px solid #11d253;
}
main.r_syonai_contact.confirm-thanks .w1080 .comment {
  padding-top: 100px;
  padding-bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
main.r_syonai_contact .confirm-thanks .w1080 .comment p {
  font-size: 2.0rem;
}
main.r_syonai_contact .confirm-thanks .w1080 .comment p:not(:last-of-type) {
  margin-bottom: 1.2em;
}

@media screen and (max-width: 1300px) {

  /*about*/
  main.about .csr .movie {
    position: relative;
    left: 0;
    width: 100%;
  }

}

@media screen and (max-width: 1180px) {

  /*about*/
  main.about .w1080 {
    width: 100%;
  }
  main.about .work .img ul li {
    width: 48%;
  }
  main.about .work .img ul li:nth-of-type(odd) {
    margin-right: 4%;
  }
  main.about .csr .list section {
    width: 48%;
  }
  main.about .csr .list section:nth-of-type(odd) {
    margin-right: 4%;
  }


  /*training*/
  main.training .w1080 {
    width: 100%;
  }
  main.training .original .program .box section {
    width: 48%;
  }
  main.training .original .program .box section:nth-of-type(odd) {
    margin-right: 4%;
  }


  /*mid-career*/
  main.mid-career .w1080 {
    width: 100%;
  }
  /*r_syonai_contactr*/
  main.r_syonai_contact .w1080 {
    width: 100%;
  }


}

@media screen and (max-width: 1024px) {

  /*about*/
  main.about .w1080 {
    padding-left: 0;
    padding-right: 0;
  }


  /*training*/
  main.training .w1080 {
    padding-left: 0;
    padding-right: 0;
  }
  main.training .case .case_list section .tab_acc_box > input + label {
    padding: 1em .8em;
    font-size: 1.8rem;
  }
  main.training .case .case_list section .tab_acc_box > input + label span {
    font-size: 1.8rem;
  }
  main.training .case .case_list section .tab_acc_box > input + label span::after {
    top: 0;
    font-size: 1.8rem;
    width: .8em;
    height: .8em;
  }


  /*mid-career*/
  main.mid-career .w1080 {
    padding-left: 0;
    padding-right: 0;
  }
  /*r_syonai_contact*/
  main.r_syonai_contact .w1080 {
    padding-left: 0;
    padding-right: 0;
  }


}

@media screen and (max-width: 880px) {

  /*about*/
  main.about .sdgs p {
    width: 100%;
  }


  /*training*/
  main.training .case .case_list section .tab_acc_box > input + label {
    font-size: 1.6rem;
  }
  main.training .case .case_list section .tab_acc_box > input + label span {
    font-size: 1.6rem;
  }
  main.training .case .case_list section .tab_acc_box > input + label span::after {
    top: 0;
    font-size: 1.6rem;
    width: .8em;
    height: .8em;
  }
  main.training .original .base .img {
    width: 100%;
  }


  /*mid-career*/
  main.mid-career .w1080 .form_box {
    width: 100%;
  }
  main.mid-career .w1080 .form_box .form_group .form_item.flex_box dl {
    width: 48%;
  }
  main.mid-career .w1080 .form_box .form_group .form_item.flex_box dl:nth-of-type(odd) {
    margin-right: 4%;
  }
  /*r_syonai_contact*/
  main.r_syonai_contact .w1080 .form_box {
    width: 100%;
  }
  main.r_syonai_contact .w1080 .form_box .form_group .form_item.flex_box dl {
    width: 48%;
  }
  main.r_syonai_contact .w1080 .form_box .form_group .form_item.flex_box dl:nth-of-type(odd) {
    margin-right: 4%;
  }
}


@media screen and (max-width: 768px) {

  /*about*/
  main.about .area-hero {
    height: 60vh;
  }
  main.about .area-hero figure ,
  main.about .area-hero figure div {
    height: 60vh;
    margin-left: 0;
  }
  main.about .area-hero .catch {
    right: 5%;
    width: 15vw;
  }
  main.about .w1080 {
    padding-top: 15vw;
    padding-bottom: 20vw;
  }
  main.about .w1080 .title-en-jp {
    margin-bottom: 10vw;
  }
  main.about .about-us {
    margin-bottom: 15vw;
  }
  main.about .about-us .comment01 {
    margin-bottom: 5vw;
  }
  main.about .about-us .comment01 p ,
  main.about .about-us .comment02 p {
    font-size: 2.0rem;
    text-align: left;
  }
  main.about .about-us .img {
    margin-bottom: 15vw;
  }
  main.about .network {
    margin-bottom: 15vw;
  }
  main.about .network .group {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
  }
  main.about .network .group section {
    width: 100%;
  }
  main.about .network .group section:nth-of-type(2) {
    margin: 0;
  }
  main.about .network .group section:not(:last-of-type) {
    margin-bottom: 5vw;
  }
  main.about .award {
    margin-bottom: 15vw;
  }
  main.about .award .box {
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  main.about .award .box .img {
    width: 40vw;
    margin-right: 0;
    margin: 0 auto;
    margin-bottom: 5vw;
  }
  main.about .award .box .box_r h3 {
    font-size: 2.3rem;
    font-weight: 500;
    color: #25bfda;
    line-height: 1.9;
    margin-bottom: .4em;
    text-align: left;
  }
  main.about .work {
    margin-bottom: 15vw;
  }
  main.about .work .comment p {
    text-align: left;
  }
  main.about .work .img {
    margin-bottom: 10vw;
  }
  main.about .work .img ul {
    flex-direction: column;
    margin-bottom: -5vw;
  }
  main.about .work .img ul li {
    width: 100%;
    margin-bottom: 5vw;
  }
  main.about .work .img ul li:nth-of-type(odd) {
    margin-right: 0;
  }
  main.about .work .list {
    display: flex;
    flex-direction: column;
  }
  main.about .work .list .box_l ,
  main.about .work .list .box_r {
    width: 100%;
  }
  main.about .work .list .box_l {
    margin-right: 0;
    margin-bottom: 8vw;
  }
  main.about .work .list section:not(:last-of-type) {
    margin-bottom: 8vw;
  }
  main.about .work .list section p {
    text-align: left;
  }
  main.about .csr {
    margin-bottom: 15vw;
  }
  main.about .csr > .comment p {
    text-align: left;
  }
  main.about .csr .movie {
    margin-bottom: 10vw;
  }
  main.about .csr .list {
    display: flex;
    flex-wrap: wrap;
    flex-direction: column;
    margin-bottom: -10vw;
  }
  main.about .csr .list section {
    width: 100%;
    margin-bottom: 10vw;
  }
  main.about .csr .list section:nth-of-type(odd) {
    margin-right: 0;
  }
  main.about .csr .list section .img {
    margin-bottom: 5vw;
  }
  main.about .csr .list section .title_time {
    padding: 0 15vw;
    margin-bottom: 5vw;
  }
  main.about .csr .list section .title_time h3 {
    font-size: 2.0rem;
  }
  main.about .csr .list section .title_time p {
    position: absolute;
    top: -1vw;
    left: 0;
    width: 12vw;
  }
  main.about .csr .list section .comment p {
    text-align: left;
  }
  main.about .sdgs {
    margin-bottom: 20vw;
  }
  main.about .sdgs p {
    margin-bottom: 5vw;
  }
  main.about .sdgs h2 {
    line-height: 1.7;
  }
  main.about .entry_btn a {
    font-size: 2.0rem;
    padding: 1.5em 3em;
    width: 90%;
    margin: 0 auto;
  }



  /*training*/
  main.training .area-hero {
    height: 60vh;
  }
  main.training .area-hero figure ,
  main.training .area-hero figure div {
    height: 60vh;
    margin-left: 0;
  }
  main.training .area-hero .catch {
    right: 5%;
    width: 15vw;
  }
  main.training .w1080 {
    padding-top: 15vw;
    padding-bottom: 20vw;
  }
  main.training .w1080 .title-en-jp {
    margin-bottom: 10vw;
  }
  main.training .about {
    margin-bottom: 15vw;
  }
  main.training .about h3 {
    text-align: left;
  }
  main.training .about .comment {
    margin-bottom: 5vw;
  }
  main.training .about .comment p {
    text-align: left;
  }
  main.training .about .step section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  main.training .about .step section .img {
    width: 20vw;
    margin-right: 5vw;
  }
  main.training .about .step section .box_r {
    width: calc(100% - (20vw + 5vw));
  }
  main.training .about .step section .box_r h4 {
    font-size: 2.0rem;
  }
  main.training .newcomer h3 {
    text-align: left;
  }
  main.training .newcomer .comment {
    margin-bottom: 5vw;
  }
  main.training .newcomer .comment p {
    text-align: left;
  }
  main.training .newcomer h4 {
    text-align: left;
    line-height: 1.7;
  }
  main.training .newcomer .step section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  main.training .newcomer .step section .img {
    width: 20vw;
    margin-right: 5vw;
  }
  main.training .newcomer .step section .box_r {
    width: calc(100% - (20vw + 5vw));
  }
  main.training .newcomer .step section .box_r h5 {
    font-size: 2.0rem;
  }
  main.training .case {
    margin-bottom: 15vw;
  }
  main.training .case h3 {
    text-align: left;
    line-height: 1.7;
  }
  main.training .case .case_list > section:not(:last-of-type) {
    margin-bottom: 6vw;
  }
  main.training .case .case_list section h4 {
    height: 40vw;
  }
  main.training .case .case_list section .tab_acc_box {
    padding-top: 20vw;
    margin-bottom: 20vw;
    flex-direction: column;
  }
  main.training .case .case_list section .tab_acc_box > input + label {
    flex: 0;
    order: 0;
    padding: .8em 1em;
    font-size: 2.0rem;
    width: 100%;
  }
  main.training .case .case_list section .tab_acc_box > input + label span {
    font-size: 2.0rem;
  }
  main.training .case .case_list section .tab_acc_box > input + label span::after {
    top: .1em;
    font-size: 2.0rem;
    width: 1em;
    height: 1em;
  }
  main.training .case .case_list section .tab_acc_box > input:checked + label + .tab_acc_contents {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
  main.training .case .case_list section .tab_acc_box .tab_acc_contents section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  main.training .case .case_list section .tab_acc_box .tab_acc_contents section.sky {
    position: relative;
    margin-bottom: 120px;
  }
  main.training .case .case_list section .tab_acc_box .tab_acc_contents section.sky::after {
    bottom: -15vw;
    border-right: 10vw solid transparent;
    border-left: 10vw solid transparent;
    border-bottom: 0;
    content: '';
  }
  main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab01 section.sky::after {
    border-top: 8vw solid #dadada;
  }
  main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab02 section.sky::after {
    border-top: 8vw solid #7cd9e9;
  }
  main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab03 section.sky::after {
    border-top: 8vw solid #ffbdc4;
  }
  main.training .case .case_list section .tab_acc_box .tab_acc_contents.tab04 section.sky::after {
    border-top: 8vw solid #88e8a9;
  }
  main.training .case .case_list section .tab_acc_box .tab_acc_contents .license {
    padding-top: 10vw;
  }
  main.training .case .case_list section .tab_acc_box .tab_acc_contents .license span {
    width: 100%;
  }
  main.training .case .case_list section .basic .box dl:not(:last-of-type) ,
  main.training .case .case_list section .manager .box dl:not(:last-of-type) {
    margin-bottom: 5vw;
  }
  main.training .case .case_list section .basic .box ul ,
  main.training .case .case_list section .manager .box ul {
    flex-direction: column;
  }
  main.training .case .case_list section .basic .box ul li:not(:last-of-type) ,
  main.training .case .case_list section .manager .box ul li:not(:last-of-type) {
    margin-right: 0;
    margin-bottom: .6em;
  }
  main.training .original {
    margin-bottom: 20vw;
  }
  main.training .original .section_img {
    height: 40vw;
    margin-bottom: 20vw;
  }
  main.training .original > section:not(:last-of-type) {
    margin-bottom: 10vw;
  }
  main.training .original .college .comment p {
    text-align: left;
  }
  main.training .original .program .box {
    flex-direction: column;
    margin-bottom: -10vw;
  }
  main.training .original .program .box section {
    width: 100%;
    margin-bottom: 10vw;
  }
  main.training .original .program .box section:nth-of-type(odd) {
    margin-right: 0;
  }
  main.training .original .program .box section .img {
    margin-bottom: 5vw;
  }
  main.training .entry_btn a {
    font-size: 2.0rem;
    padding: 1.5em 3em;
    width: 90%;
    margin: 0 auto;
  }



  /*mid-career*/
  main.mid-career .area-hero {
    height: 35vw;
  }
  main.mid-career .area-hero .catch {
    font-size: 2.4rem;
  }
  main.mid-career .w1080 {
    padding-top: 15vw;
    padding-bottom: 20vw;
  }
  main.mid-career .w1080 h3 {
    margin-bottom: 10vw;
  }
  main.mid-career .w1080 .form_box .form_group:not(:last-of-type) {
    margin-bottom: 8vw;
  }
  main.mid-career .w1080 .form_box .form_group .form_item textarea {
    height: 50vh;
  }
  main.mid-career .w1080 .form_box .form_group .form_item.flex_box {
    margin-bottom: -5vw;
  }
  main.mid-career .w1080 .form_box .form_group .form_item.flex_box dl {
    margin-bottom: 5vw;
  }
  main.mid-career .w1080 .form_box .comment {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  main.mid-career .w1080 .form_box .submit_btn button {
    font-size: 2.0rem;
    padding: 1.5em 3em;
    width: 90%;
    margin: 0 auto;
  }
  main.mid-career .w1080 .comment .return_btn input {
    font-size: 2.0rem;
    padding: 1.5em 3em;
    width: 90%;
    margin: 0 auto;
  }
  main.mid-career .w1080 .form_box .submit_btn_flex button {
    font-size: 2.0rem;
    padding: 1.5em 2em;
    width: 48%;
    margin-right: 4%;
  }
  main.mid-career .w1080 .form_box .submit_btn_flex input {
    font-size: 2.0rem;
    padding: 1.5em 2em;
    width: 48%;
  }
  main.mid-career.confirm-thanks .w1080 .comment {
    padding-top: 15vw;
    padding-bottom: 10vw;
  }


  /*r_syonai_contact*/
  main.r_syonai_contact .area-hero {
    height: 35vw;
  }
  main.r_syonai_contact .area-hero .catch {
    font-size: 2.4rem;
  }
  main.r_syonai_contact .w1080 {
    padding-top: 15vw;
    padding-bottom: 20vw;
  }
  main.r_syonai_contact .w1080 h3 {
    margin-bottom: 10vw;
  }
  main.r_syonai_contact .w1080 .form_box .form_group:not(:last-of-type) {
    margin-bottom: 8vw;
  }
  main.r_syonai_contact .w1080 .form_box .form_group .form_item textarea {
    height: 50vh;
  }
  main.r_syonai_contact .w1080 .form_box .form_group .form_item.flex_box {
    margin-bottom: -5vw;
  }
  main.r_syonai_contact .w1080 .form_box .form_group .form_item.flex_box dl {
    margin-bottom: 5vw;
  }
  main.r_syonai_contact .w1080 .form_box .comment {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  main.r_syonai_contact .w1080 .form_box .submit_btn button {
    font-size: 2.0rem;
    padding: 1.5em 3em;
    width: 90%;
    margin: 0 auto;
  }
  main.r_syonai_contact .w1080 .comment .return_btn input {
    font-size: 2.0rem;
    padding: 1.5em 3em;
    width: 90%;
    margin: 0 auto;
  }
  main.r_syonai_contact .w1080 .form_box .submit_btn_flex button {
    font-size: 2.0rem;
    padding: 1.5em 2em;
    width: 48%;
    margin-right: 4%;
  }
  main.r_syonai_contact .w1080 .form_box .submit_btn_flex input {
    font-size: 2.0rem;
    padding: 1.5em 2em;
    width: 48%;
  }
  main.r_syonai_contact.confirm-thanks .w1080 .comment {
    padding-top: 15vw;
    padding-bottom: 10vw;
  }

}
