.font-notosansjp{
	font-family: 'NotoSansJP';
}
 
@font-face {
	font-family: 'NotoSansJP';
	font-weight: 300;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/notosansjp/NotoSansJP-Light.woff2") format("woff2"),
	     url("../fonts/notosansjp/NotoSansJP-Light.woff") format("woff");
}
 
@font-face {
	font-family: 'NotoSansJP';
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/notosansjp/NotoSansJP-Regular.woff2") format("woff2"),
	     url("../fonts/notosansjp/NotoSansJP-Regular.woff") format("woff");
}
 
@font-face {
	font-family: 'NotoSansJP';
	font-weight: 500;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/notosansjp/NotoSansJP-Medium.woff2") format("woff2"),
	     url("../fonts/notosansjp/NotoSansJP-Medium.woff") format("woff");
}
 
@font-face {
	font-family: 'NotoSansJP';
	font-weight: 700;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/notosansjp/NotoSansJP-Bold.woff2") format("woff2"),
	     url("../fonts/notosansjp/NotoSansJP-Bold.woff") format("woff");
}
 
@font-face {
	font-family: 'NotoSansJP';
	font-weight: 900;
	font-style: normal;
	font-display: swap;
	src: url("../fonts/notosansjp/NotoSansJP-Black.woff2") format("woff2"),
	     url("../fonts/notosansjp/NotoSansJP-Black.woff") format("woff");
}


body {
	font-family: 'NotoSansJP', sans-serif;
	font-weight: 400;
}

header {
	position: fixed;
	width: 100%;
	top: 0;
	left: 0;
	height: 62px;
	background-color: #fff;
	z-index: 100;
	border-bottom: 1px solid #ccc;
}

img {
	max-width: 100%;
}

a:hover {
	text-decoration: none;
}
iframe.s-youtube {
	 width:460px;
	 height: 310px;
	 margin: 0 auto;
}

div#contact_result{
    padding: 20px;
    font-size: 20px;
}
div#contact_result.success {
    border: solid 1px #cce5ff;
    background-color: #b8daff;
    color: #004085;
}
div#contact_result.failed {
    background-color: #ed1414;
    color: white;
}
div#contact_result p {
    margin: 0;
}

br.sp_br {
	display: none;
}
br.pc_br {
	display: block;
}

.section-youtube {
	text-align: center;
}
.pc-image {
	margin-top: 50px;
}

.logo {
	color:#34a97d;
	margin-left: 15px;
	display: block;
	padding-top: 7px;
}

.logo img {
	vertical-align: middle;
	display: inline-block;
	width: 45px;
	margin-bottom: 10px;
}

.logo span {
	vertical-align: middle;
	display: inline-block;
	padding-left: 5px;
	font-size: 18px;
	margin-bottom: 10px;
}

.logo:hover {
	text-decoration: none;
	color:#34a97d;
}

.main-menu ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
	text-align: right;
}

.main-menu ul li {
	display: inline-block;
}

.main-menu > ul > li {
	position: relative;
	line-height: 30px;
}

.main-menu ul li a {
	display: block;
	padding: 15px 15px;
	color:#111111;
	font-size: 14px;
}

.main-menu ul li.green-btn a {
	background-color: #123f2e;
	color:#fff;
}

.main-menu ul.sub-menu {
	display: none;
	position: absolute;
	min-width: 200px;
	background-color: rgba(255,255,255,0.8);
	text-align: left;
	padding: 0;
	margin: 0;
}

.main-menu ul.sub-menu li {
	display: block;
}

.main-menu ul.sub-menu li a{
	display: block;
	border-left: 4px solid #fff;
}

.main-menu ul.sub-menu li a:hover {
	text-decoration: none;
	border-left: 4px solid #34a97d;
	background-color: rgba(46,166,121,0.1);
}

.main-menu ul li.has-child:hover ul.sub-menu {
	display: block;
}

.section-top {
	width: 100%;
	height: 720px;
	top: 0;
	left: 0;
	box-sizing: content-box;
	padding-top: 15px;
	position: fixed;
	color: white;
	font-size: 11px;
	letter-spacing: 0.2em;
	text-align: center;
	text-transform: uppercase;
	overflow: hidden;
}
_:-ms-lang(x)::-ms-backdrop, .section-top {
    position: absolute;
}

.section-top img {
	width: 100%;
}

@keyframes scaleUp {
  0%   { transform: scale(1); }
  100% { transform: scale(1.15); }
}

.top-slide-bg {
	height: 720px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.swiper-slide-active .top-slide-bg {
	animation: scaleUp 16s infinite; /* IE 10+, Fx 29+ */

}

.btn-center {
	text-align: center;
}

.top-text {
	display: flex;
	align-items: center;
	height: 100%;
}

.front-text-title {
	width: 100%;
	text-align: center;
}

.top-text h1 {
	width: 100%;
	text-align: center;
	font-size: 48px;
	margin:auto;
	font-weight: 700;
}

.top-text h2.front-p {
	padding: 15px;
	background-color: rgba(42,79,91,0.7);
	max-width: 90%;
	width: 820px;
	margin-bottom: 0;
	display: block;
	margin: auto;
	font-size: 1.6rem;
}

.top-text h4 {
	padding: 10px;
	background-color: rgba(255,255,255,0.7);
	max-width: 90%;
	width: 800px;
	color:#2a4e5b;
	display: block;
	margin: auto;
}

.section-intro {
	position: relative;
	text-align: center;
	padding: 15px;
	min-height: 400px;
	width: 100%;
	margin-top:-50px;
	background-color: transparent;
	padding-top: 150px;
	margin-bottom: 0px;
	z-index: 4;
	margin-top: 680px;
}
.section-intro:before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	height: 110%;
	width: 50%;
	background-image: url('../img/bg-intro.png');
	background-repeat: no-repeat;
	background-size: initial;
	background-position: left top;
	background-color: #fff;
	transform: skew(0deg, 6deg);
	z-index: -1;
}
.section-intro:after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	height: 110%;
	width: 50%;
	background: #fff;
	z-index: -1;
	transform: skew(0deg, -6deg);
}

.news-content {
	text-align: left;
}

.news-dot {
	text-align: center;
	color:#33a07c;
}

.news-date {
	text-align: right;
}

.news-title {
	display: flex;
	align-items: center;
	height: 55%;
	text-align: right;
}

.news-title span {
	display: block;
	width: 100%;
	text-align: right;
	color:#33a07c;
	font-size: 48px;
}

.each-news {
	color:#111;
	font-weight: 100;
	display: block;
	padding: 10px 0;
	border-bottom: 1px solid #eeeeee;
}

.each-news:hover {
	text-decoration: none;
	color:#000;
}

.section-about {
	padding: 100px 0;
	padding-top: 100px;
	/* margin-top: -50px; */
	text-align: center;
	background-image: url('../img/bg-intro-bottom.jpg');
	background-position: right bottom;
	background-size: 40%;
	background-repeat: no-repeat;
	background-color: #fff;
	position: relative;
}

.section-about h3 {
	margin-bottom: 30px;
	line-height: 1.6em;
}

.section-about p {
	margin-top: 60px;
	margin-bottom: 60px;
}

.about-btn {
	transition: 0.3s;
	display: block;
	background-color: #fff;
	color:#fff;
	max-width: 300px;
	margin:auto;
	padding: 15px;
	border-radius: 5px;
	margin-top: 30px;
	margin-bottom: 30px;
	color:#123f2e;
	border:1px solid #123f2e;
}

.pc-btn {
	display: block;
	background-color: #fff;
	color:#123f2e;
	border:1px solid #123f2e;
	max-width: 400px;
	margin:auto;
	padding: 15px;
	border-radius: 5px;
	margin-top: 60px;
	margin-bottom: 30px;
	text-align: center;
}

.os-btn {
	transition: 0.2s;
	display: inline-block;
	background-color: #fff;
	border:1px solid #123f2e;
	color:#123f2e;
	padding: 15px;
	border-radius: 5px;
	margin-top: 30px;
	margin-bottom: 30px;
	text-align: left;
}

.ts-btn,.ts-btn-logged-in {
	display: inline-flex;
	align-items: center;
	flex-direction: row;
	background-color: #fff;
	border:1px solid #123f2e;
	color:#123f2e;
	padding:0 15px;
	border-radius: 5px;
	margin-top: 30px;
	margin-bottom: 30px;
	text-align: left;
	height: 80px;
	vertical-align: middle;
	margin-right: 30px;
	font-size: 14px;
}

.rec-btn {
	display: inline-block;
	background-color: #fff;
	border:1px solid #123f2e;
	color:#123f2e;
	padding:15px 30px;
	border-radius: 5px;
	margin-top: 30px;
	margin-bottom: 30px;
	text-align: left;
	vertical-align: middle;
	margin-right: 15px;
	font-size: 24px;
}

.news-btn {
	display: block;
	max-width: 180px;
	text-align: center;
	background-color: #fff;
	border:1px solid #123f2e;
	color:#123f2e;
	padding: 15px;
	border-radius: 5px;
	margin:auto;
	margin-top: 120px;
	margin-bottom: 0px;
}


.os-btn:hover,
.ts-btn:hover,
.ts-btn-logged-in:hover,
.rec-btn:hover,
.news-btn:hover {
	transition: 0.2s;
	color:#fff;
	background-color: #123f2e;
}

.about-btn i,
.pc-btn i {
	transition: 0.3s;
}

.about-btn:hover,
.pc-btn:hover {
	transition: 0.6s;
	background-color: #123f2e;
	color:#fff;
}

.about-btn:hover i,
.pc-btn:hover i {
	transition: 0.1s;
}

.green {
	color:#33a07c;
}
.margin-bottom-15 {
	margin-bottom: 15px;
}
.margin-bottom-25 {
	margin-bottom: 25px;
}
.under-text {
	text-align: center;
}
.under-text p {
	font-size: 12px;
}
.section-support {
	padding-bottom: 60px;
	background-image: url('../img/dark-banner.jpg');
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	color:#fff;
	position: relative;
}

.section-support h3 {
	text-align: center;
	color:#fff;
	line-height: 1.6em;
	margin-bottom: 30px;
}

.section-support p.space-bottom {
	margin-bottom: 100px;
}

.section-support p {
	text-align: center;
}
.support-buttons a {
	margin-left: 30px;
	margin-right: 30px;
}

.margin-bottom-150 {
	margin-bottom: 150px;
}

.yellow-line {
	width: 100px;
	height: 1px;
	margin:auto;
	background-color: #ffff00;
}

.box-cover {
	max-width: 800px;
	margin:auto;
}

.dark-overlay {
	background-color: rgba(0,0,0,0.6);
	padding: 60px 0;
	margin-bottom: 30px;
}

.dark-overlay h3 {
	margin-bottom: 15px;
}

h3.margin-bot-30 {
	margin: 60px 0;
}

.section-pc {
	padding: 60px 0;
	background-color: #fff;
	position: relative;
}

.section-pc h3 {
	text-align: center;
	line-height: 1.6em;
	margin-bottom: 60px;
}

.section-pc p {
	line-height: 1.8em;
}

.img-block img {
	width: 100%;
}

footer {
	padding: 30px 0;
	background-color: #34a97d;
	position: relative;
}

footer .logo-bottom {
	display: inline-block;
	vertical-align: top;
}

footer .contact-info {
	display: inline-block;
	max-width: 70%;
	vertical-align: top;
	padding: 0 15px;
	color:#fff;
}

footer .contact-info a {
	color:#fff;
	display: block;
}

footer .contact-info p {
	font-size: 14px;
	padding: 0;
	margin: 0;
}

footer .contact-info a .number {
	font-size: 24px;
}

.footer-menu a {
	color:#fff;
}

.footer-menu ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.footer-menu ul li {
	margin-bottom: 5px;
	font-size: 14px;
}

.footer-menu ul li:before {
	content: "\f054";
	color:#fff;
	font-family: "Font Awesome 5 Free";
	font-weight: 700;
	font-size: 12px;
	padding-right: 5px;
}

.footer-menu ul li ul.sub-menu {
	padding-left: 15px;
	padding-top: 5px;
}

.footer-menu ul li ul.sub-menu li {
	font-size: 12px;
}

.footer-menu ul li ul.sub-menu li:before {
	content:"-";
}

.copyright {
	padding: 5px;
	text-align: center;
	color:#fff;
	background-color: #123f2e;
	font-size: 10px;
}

.section-cover {
	margin-top: 50px;
	height: 300px;
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.section-cover h1 {
	color:#fff;
	font-weight: 400;
	font-size: 36px;
}

.img-block-m img {
	max-width: 100%;
	display: block;
	margin: auto;
}

.mio-intro {
	text-align: left;
}

.mio-intro h3,
.mio-intro h2 {
	margin: 0;
}

.mio-intro h2 {
	font-size: 48px;
	margin-bottom: 30px;
}

.mio-intro p {
	padding: 0;
	margin: 0;
}

.section-about-mio {
	background-image: url('../img/bg-mio.jpg');
	background-size: initial;
	background-position: right top;
	background-repeat: no-repeat;
}

.big-title {
	font-size: 44px;
	margin-bottom: 30px;
}

.little-text {
	font-size: 0.6em;
}

.cover-feature {
	padding: 60px 0;
	background-image: url('../img/bg-mio.black.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.inner-feature {
	max-width: 960px;
	margin:auto;
}

.white-box {
	padding: 15px;
	border:4px solid #fff;
	color:#fff;
	text-align: center;
	min-height: 380px;
}

.white-box .w-number {
	font-size: 72px;
	font-weight: 100;
}

.white-box .w-sub {
	font-size: 20px;
	margin-bottom: 15px;
}

.white-box p {
	line-height: 1.8em;
	font-weight: 100;
	text-align: left;
}

.section-pc ul {
	margin-top: 15px;
}

.section-pc ul li {
	font-weight: 100;
	margin-bottom: 5px;
}

.inner-plan {
	padding: 60px 0;
}

.inner-plan h2 {
	text-align: center;
}

.upsize {
	font-size: 1.6em;
}

.add-black-bg {
	margin:auto;
	width: 100%;
	background-color: rgba(0,0,0,0.6);
	padding: 60px 0;
}

.content-block h3 {
	margin: 0;
}

.content-block p {
	margin: 0;
	margin-top: 15px;
}

.section-control {
	padding: 60px 0;
	background-image: url('../img/bg-service.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
}

.long-badge {
	background-image: url('../img/badge-long.png');
	background-size: 100% 100%;
	background-repeat: no-repeat;
	padding: 5px;
	font-size: 36px;
	text-align: center;
	color:#fff;
	margin-bottom: 30px;
	margin-top: 30px;
}

.short-badge {
	background-image: url('../img/badge-short.png');
	background-size: 100% 100%;
	background-repeat: no-repeat;
	padding: 5px;
	font-size: 24px;
	text-align: center;
	color:#fff;
	margin-top: 30px;
	margin-bottom: 30px;
}

.service-white-box {
	transition: 0.1s;
	padding:30px 15px;
	border:1px solid #fff;
	color:#fff;
	text-align: center;
	font-size: 20px;
	position: relative;
}

.service-white-box:hover {
	transition: 0.1s;
	border:1px solid transparent;
}

.oneline-box {
	padding: 45px 0;
}

.section-top-service {
	padding-top: 100px;
	background-color: #fff;
	border-bottom: 1px solid #ccc;
	margin-bottom: 60px;
}

.section-top-service h3 {
	text-align: center;
	margin-bottom: 30px;
}

.service-text {
	text-align: left;
	padding:0 100px;
}

.service-text h3 {
	color:#33a07c;
	text-align: left;
}

.service-text p {
	line-height: 1.6em;
	font-weight: 100;
}

.kome {
	font-size: 0.7rem;
}

.arrow-left {
	display: inline-block;
	vertical-align: middle;
	margin-right: 10px;
}

.in-a {
	display: inline-block;
	vertical-align: middle;
}

.last-service {
	margin-bottom: 0;
}

.bc-list ul {
	list-style-type: none;
	padding: 5px 5px 5px 15px;
	margin: 0;
}

.bc-list ul li {
	display: inline-block;
}

.bc-list ul li a {
	color:#000;
}

.section-news {
	padding-bottom: 60px;
}
.news-box {
    margin-bottom: 100px;
}
.cover-news-box {
	padding-top: 60px;
}

.news-detail-box {
	padding: 60px 0;
	line-height: 1.6em;
}

.news-detail-box h2 {
	border-bottom: 1px solid #111;
	padding-bottom: 15px;
	margin-bottom: 15px;
	font-size: 36px;
}

.news-detail-date {
	font-size: 14px;
	font-weight: 100;
	margin-bottom: 15px;
}

.news-detail-box img {
	max-width: 100%;
}

.section-privacy {
	padding: 60px 0;
}

.privacy-content {
	line-height: 1.6em;
	font-weight: 100;
	border-bottom: 1px solid #ccc;
	padding: 60px 0;
	max-width: 960px;
	margin:auto;
}

.privacy-content ul {
	padding-top: 30px;
}

.privacy-content ul li {
	margin-bottom: 5px;
}

.privacy-content h3 {
	color:#34a97d;
	text-align: center;
	margin-bottom: 60px;
	margin-top: 15px;
}
.padding-10 {
	padding:0 10px 0;
}

.padding-p p {
	padding-left: 15px;
}

.section-contact {
	padding: 60px 0;
}

.section-contact h3 {
	text-align: center;
	color:#34a97d;
	margin-bottom: 60px;
}

.contact-block {
	max-width: 720px;
	margin:auto;
}

.radio-each input {
	margin-right: 5px;
}

.contact-block label {
	width: 100%;
	margin: 0;
}

.radio-group .radio-each label {
	display: inline-block;
	width: 80%;
}

.req {
	color:#fff;
	background-color: red;
	font-size: 12px;
	padding: 5px;
	margin-left: 15px;
	display: inline-block;
	float: right;
}

.each-contact-block {
	padding-top: 30px;
	padding-bottom: 30px;
	border-bottom: 1px solid #ccc;
}

.contact-block textarea {
	height: 180px;
	padding: 15px;
	width: 100%;
	border:none;
	border:1px solid #ccc;
}

.contact-block input[type="text"],
.contact-block input[type="email"] {
	padding: 15px;
	border:none;
	border:1px solid #ccc;
	width: 100%;
}

.submit-btn {
	border:none;
	background-color: #123f2e;
	color:#fff;
	text-align: center;
	display: block;
	max-width: 300px;
	margin:auto;
	padding:10px 30px;
	border-radius: 5px;
	margin-top: 60px;
}

.info-link {
	color:#34a97d;
	padding-bottom: 5px;
	border-bottom: 1px solid #34a97d;
	display: block;
	margin:auto;
	margin-top: 30px;
	text-align: center;
	font-size: 14px;
	max-width: 200px;
}

.info-link:hover {
	text-decoration: none;
	color:#34a97d;
}

.section-result {
	padding: 60px 0;
	background-size: initial;
	background-position: bottom center;
	background-repeat: no-repeat;
	min-height: 1000px;
}

.section-result h3 {
	text-align: center;
	/* margin-bottom: 60px; */
	/* margin-top: 60px; */
}

.result-box {
	padding: 25px;
	background-color: #fff;
}

.result-content {
	text-align: center;
	/* margin-bottom: 60px; */
}

.result-content h3 {
	color:#34a97d;
	font-size: 20px;
}

.h-text-line {
	margin-bottom: 30px;
}

.h-text-line h3 {
	display: inline-block;
	width: 49%;
	text-align: right;
	vertical-align: middle;
	margin: 0;
	padding-right: 5px;
	font-size: 16px;
	line-height: 1.6em;
}

.h-text-line p {
	display: inline-block;
	width: 50%;
	text-align: left;
	vertical-align: middle;
	margin: 0;
	font-size: 16px;
	padding-left: 10px;
	line-height: 1.6em;
}

.cover-logo {
	width: 100%;
}

.cover-logo img {
	display: block;
	margin: auto;
}

.cover-text-rad {
	margin:auto;
	background-color: #34a97d;
	color:#fff;
	padding:5px 10px;
	border-radius: 50px;
	max-width: 95%;
}

.verticle-h {
	flex-direction: column;
	padding-top: 30px;
}

.section-ts {
	padding: 60px 0;
	background-image: url('../img/bg-ts-top.jpg');
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: cover;
	border-top:1px solid #ccc;
}

.section-ts h3 {
	text-align: center;
	margin-bottom: 60px;
	font-size: 36px;
}

.section-ts p {
	line-height: 1.6em;
	font-weight: 100;
}

.section-ts-icon-white {
	padding: 30px 0;
}

.section-ts-icon-white h3 {
	text-align: center;
	margin-bottom: 60px;
	font-size: 48px;
}

.ts-icon-box {
	text-align: center;
	margin-bottom: 60px;
}

.ts-icon-box .number {
	font-size: 60px;
	color:#34a97d;
}

.ts-icon-box .icon-title {
	display: flex;
	align-items: center;
	height: 100px;
}

.ts-icon-box h4 {
	margin:0 auto;
	display: block;
	color: #34a97d;
}

.ts-icon-box p {
	font-weight: 100;
	line-height: 1.6em;
	text-align: left;
	padding: 0 20px;
}

.ts-icon-box img {
	height: 110px;
}

.section-ts-icon-black {
	padding: 60px 0;
	background-image: url('../img/bg-ts.jpg');
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.section-ts-icon-black h3 {
	margin-bottom: 60px;
	color:#fff;
	font-size: 48px;
	text-align: center;
}

.section-ts-icon-black h4 {
	margin: 0;
	color: #fff;
	font-size: 30px;
	text-align: center;
}

.price-ts {
	color: #fff;
	text-align: center;
	margin-top: 16px;
}

.white-text p {
	color:#fff;
}

.ta-icon-height img {
	height: 70px;
}

.ta-icon-height h4 {
	font-size: 20px;
}

.bg-gray {
	background-color: #fcfcfc;
}

.section-company {
	padding: 60px 0;
	border-bottom: 1px solid #ccc;
}

.section-company h3 {
	text-align: center;
	margin-bottom: 60px;
	line-height: 1.6em;
}

.section-company p {
	line-height: 1.6em;
	font-weight: 100;
	max-width: 1000px;
	margin: 0 auto;
}

.section-b-company {
	padding: 60px 0;
	background-image: url('../img/bg-company.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.section-b-company h3 {
	padding-bottom: 30px;
	margin-bottom: 60px;
	border-bottom: 1px solid #34a97d;
	color:#34a97d;
	text-align: center;
	font-size: 30px;
}

.section-b-company p {
	text-align: center;
	color:#fff;
	line-height: 1.8em;
	font-size: 18px;
}

.section-com-table {
	padding: 60px 0;
	font-weight: 100;
}

.section-com-table h3 {
	padding-bottom: 30px;
	margin-bottom: 60px;
	border-bottom: 1px solid #34a97d;
	color:#34a97d;
	font-size: 30px;
	text-align: center;
}

.company-table td {
	vertical-align: middle;
	padding: 15px;
}

.company-table tr {
	background-color: #fcfcfc;
}

.company-table td.td-h {
	border-right: 1px solid #ccc;
	width: 15%;
}

.com-box {
	margin-bottom: 30px;
}

.com-box h4 {
	padding: 15px;
	background-color: #eaf6f2;
	color:#34a97d;
}

.com-box p {
	line-height: 1.6em;
	padding: 15px;
}

.section-recruit-text {
	text-align: center;
	padding: 60px 0;
	background-image: url('../img/bg-recruit.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center bottom;
}

.section-recruit-text h3 {
	padding-bottom: 30px;
	border-bottom: 1px solid #34a97d;
	max-width: 600px;
	margin:auto;
	margin-bottom: 30px;
}

.section-recruit-text h4 {
	margin-bottom: 60px;
}

.section-recruit-text p {
	text-align: left;
	font-weight: 100;
	line-height: 1.6em;
	max-width: 1000px;
	margin: 0 auto;
}

.section-rec-2 {
	padding: 60px 0;
}

.section-rec-2 h4 {
	text-align: center;
	color:#34a97d;
}

.section-rec-2 h3 {
	text-align: center;
	line-height: 1.6em;
	margin-bottom: 0;
}

.section-rec-2 p {
	font-weight: 100;
	line-height: 1.6em;
}

.green-line {
	height: 1px;
	background-color: #34a97d;
	margin:auto;
	margin-top: 30px;
	margin-bottom: 30px;
	max-width: 200px;
}

.re-bg {
	margin-top: 100px;
	background-image: url('../img/bg-recruit-2.jpg');
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	height: 480px;
	position: relative;
}

.re-box {
	padding: 25px;
	background-color: #fff;
	max-width: 800px;
	margin: auto;
	font-weight: 100;
	line-height: 1.6em;
	position: relative;
	top: -80px;
}

.re-q-1 {
	padding: 100px 0;
	background-image: url('../img/bg-recruit-3.jpg');
	background-repeat: no-repeat;
	background-size: initial;
	background-position: right center;
}

.re-q-1 p {
	font-weight: 100;
	line-height: 1.6em;
}

.re-q-2 {
	background-color: #f9f9f9;
}

.re-q-content {
	height: 100%;
	background-color: rgba(255,255,255,0.8);
	padding:60px 30px;
}

.re-q-content h3 {
	margin-bottom: 30px;
}

.re-q-content p {
	line-height: 1.6em;
	font-weight: 100;
}

.bg-img {
	height: 100%;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.section-recruit-banner{
	display: block;
	width: 100%;
    max-width: 750px;
    margin: 30px auto;
}
.section-recruit-banner:hover{
	opacity: 0.8;
}

.section-recruit-banner img{
	width: 100%;
	height: auto;
}

.section-recruit-bottom {
	padding: 100px 0;
	text-align: center;
}

.section-recruit-bottom h2 {
	line-height: 1.6em;
}

.remove-bg {
	background: none;
}

.section-ts-icon-white ul {
	list-style-type: none;
	padding: 0;
	margin: 0;
}

.section-ts-icon-white ul.border-right {
	border-right: 1px solid #ccc;
}

.section-ts-icon-white ul li {
	font-size: 20px;
	color: #34a97d;
	margin-bottom: 15px;
}

.section-faq {
	padding: 60px 0;
}

.faq-box {
	padding: 15px 0;
	font-size: 20px;
	border-bottom: 1px solid #ccc;
}

.faq-box .qq {
	color:#34a97d;
	cursor: pointer;
}

.faq-box .aa {
	font-weight: 100;
	padding: 15px;
	font-size: 18px;
	display: none;
}

.top-text-box {
	text-align: center;
	padding-top: 50px;
}

.top-text-box h2.support-main-title {
	margin-bottom: 30px;
}

.content-part {
	margin: 30px 0;
}

.burger-icon {
	float: right;
	font-size: 20px;
	padding: 15px;
	cursor: pointer;
	display: none;
}

.burger-menu {
	position: fixed;
	right: 10px;
	top: 15px;
	background-color: #fff;
	z-index: 101;
	border-radius: 5px;
	box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.1);
	-moz-box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.1);
	-webkit-box-shadow: 0px 0px 5px 1px rgba(0, 0, 0, 0.1);
	display: none;
}

.burger-menu ul {
	list-style-type: none;
	padding: 0;
	padding-top: 10px;
	margin: 0;
}

.burger-menu ul li a {
	display: block;
	padding: 3px 10px;
	color:#000;
}

.burger-menu ul li ul.sub-menu {
	padding-left: 15px;
}

.burger-menu ul li ul.sub-menu li {
	font-size: 14px;
	margin: 0;
}

.burger-menu ul li.green-btn {
	padding: 10px;
	background-color: #34a97d;
	border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
}

.burger-menu ul li.green-btn a {
	color: #fff;
}

.close-menu {
	position: absolute;
	right: 5px;
	top: 0px;
	cursor: pointer;
	font-size: 20px;
}

.spec-front {
	position: absolute;
	z-index: 10;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
}

.support-content h3 {
	text-align: left;
	margin: 0;
	margin-top: 30px;
	margin-bottom: 30px;
}

.support-content img {
	max-width: 100%;
	height: auto;
	width: auto;
}

.support-content h1,
.support-content h2,
.support-content h3,
.support-content h4 {
	color:#34a97d;
}


.support-li-list li {
	display: inline-block;
	width: 49%;
	padding: 10px;
}

.support-li-list li a {
	color: #34a97d;
}

.support-li-list li a:hover {
	color: #34a97d;
}

.section-ts-icon-white ul li {
	margin: 0;
}

.support-li-list li:nth-child(even) {
	border-left: 1px solid #ccc;
	padding-left: 15px;
}

.the-box {
	transition: 0.2s;
	padding: 15px;
	text-align: center;
	display: block;
	color:#fff;
	position: relative;
	margin-bottom: 30px;
	border:1px solid #fff;
}

.the-box:hover {
	text-decoration: none;
	color:#fff;
	border:1px solid transparent;
}

.the-box h4 {
	margin-top: 15px;
	margin-bottom: 15px;
}

.the-box h5 {
	font-size: 14px;
	padding-bottom: 10px;
}

.hover-effect::before, .hover-effect::after{
  content:"";
  width: 0;
  height: 2px;
  position: absolute;
  transition: all 0.2s linear;
  background: #fff;
}

.hover-effect span::before, .hover-effect span::after{
  content:"";
  width:2px;
  height:0;
  position: absolute;
  transition: all 0.2s linear;
  background: #fff;
}

.hover-effect:hover::before, .hover-effect:hover::after{
  width: 100%;
}
.hover-effect:hover span::before, .hover-effect:hover span::after{
  height: 100%;
}

.hover-effect::after{
  right:0;
  bottom: 0;
  transition-duration: 0.2s;
}
.hover-effect span::after{
  right:0;
  bottom: 0;
  transition-duration: 0.2s;
}
.hover-effect::before{
  left: 0;
  top: 0;
  transition-duration: 0.2s;
}
.hover-effect span::before{
  left: 0;
  top: 0;
  transition-duration: 0.2s;
}

.section-text-top {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	width: 100%;
	height: 80vh;
	display: flex;
	align-items: center;
}

.section-text-top {
	color:#fff;
}

.cover-for-support {
	height: auto;
	padding-bottom: 60px;
}

.login-overlay {
    z-index: 10;
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 10000;
    top: 0;
    left: 0;
    align-items: center;
    display: none;
}
.login-overlay .login-bg-overlay {
    z-index: 11;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
}
.login-overlay .login-success-overlay {
	display: none;
    position: absolute;
	flex-direction: column;
	justify-content: center;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 11px;
    background-color: #000;
}
.login-overlay .login-success-overlay.active {
	display: flex;
}
.login-overlay .login-success-overlay p {
	font-size: 18pt;
	text-align: center;
	line-height: 2em;
	font-weight: bold;
}
.login-overlay .login-box {
    z-index: 12;
    position: relative;
    width: 290px;
    min-height: 200px;
    color: #fff;
    padding: 20px;
    margin: 30px auto 0 auto;
    top:50px;
    border-radius: 11px;
    background-color: #000;
}
.login-overlay .login-box .closer {
	display: none;
	position: absolute;
	top: 5px;
	right: 7px;
	font-size: 16pt;
	cursor: pointer;
}
.login-overlay .login-box .closer.active {
	display: inline-block;
}
.login-overlay .login-box h3 {
    text-align: center;
    font-size: 21pt;
    font-weight: bold;
    padding: 0;
    margin: 0 0 20px 0;
}
.login-overlay .login-form label {
    display: block;
    font-size: 10pt;
    margin: 0 0 5px 0;
}
.login-overlay .login-form input {
    width: 100%;
    font-size: 13pt;
    padding: 7px 9px;
    margin-bottom: 15px;
    border-radius: 3px;
    background-color: #fff;
    border: 1px solid #ccc;
}
.login-overlay .login-form input:focus {
    outline: none;
    border: 1px solid #333;
    box-shadow: 0 0 13px -3px rgba(255,255,255,0.4);
}
.login-overlay .login-form a {
    display: block;
    color: #fff;
    font-size: 14px;
    text-decoration: underline;
}
.login-overlay .login-btn {
    display: block;
    color: #fff;
    font-size: 18px;
    padding: 8px 30px;
    margin: 20px auto 10px auto;
    border: none;
	outline: none;
	cursor: pointer;
    border-radius: 5px;
    background-color: #e3000d;
}
.login-overlay .login-btn:hover {
    background-color: #c3000d;
}

.locked {
	overflow:hidden;
}
.content-none {
	text-align: center;
	font-size: 20px;
	padding: 80px 10px;
}
.content-none span {
	font-size: 70px;
}
.content-none-btn {
	margin:20px auto;
	text-align: center;

}
.cover-captcha {
  margin-bottom: 20px;
}

.cover-captcha div{
	margin:auto;
	display: block;
	text-align: center;
	margin-top: 30px;
}
h1.rstc-title-left {
	font-size: 60px
}
h1.rstc-title-right {
	text-align: left;
}
.big-title-rstc {
	text-align: center;
}
div.rstc-last {
	background-color: #FAFAFA;
	padding: 50px;
}
div.rstc-last img {
	margin-bottom: 20px;
}
h5.green-tag {
	margin-top: 20px;
	background-color: #34A97D;
	color: #fff;
	width: fit-content;
	padding: 10px 20px;
	border-radius: 10px;
}
section.rstc-last-text p {
	text-align: center;
}
div.rstc-last-below {
	margin-top: 40px;
}

/**/
.box1
{
    margin:0px 28px 0px 28px;
    padding: 25px 0px 25px 0px;
    text-align: left;
    border-bottom: #dddddd 1px solid;
}
.box1 p
{
    margin: 0 0px 0px 0px;
    padding: 0px 0 0px 0;
    font-size: 17px;
    line-height: 1.5;
    color: #fff;
    text-align: left;
}
.box1 p span.tblkome
{
    display: table-cell;
    vertical-align: top;
    padding-top: 3px;
    font-size: 11px;
    line-height: 1.8;
    color: #fff;
    text-align: left;
    font-family: 'NotoSansJP', sans-serif;
    font-weight: 700;
}
.box1 p span.tbl
{
    display: table-cell;
    font-size: 17px;
    line-height: 1.5;
    color: #fff;
    text-align: left;
    font-family: 'NotoSansJP', sans-serif;
    font-weight: 400;
}

.box2
{
    margin:0px 28px 0px 28px;
    padding: 0px 0px 0px 0px;
    text-align: left;
}

.box2 h4
{
    margin: 10px 0px 10px 0px;
    padding: 0px 0 0px 28px;
    text-align: left;
    font-size:19px;
    line-height: 1.5;
    color:#3aa373;
    font-weight: 700;
    background:url(../img/icon-mark2.png) no-repeat left center;
    background-size: auto;
}
.box2 p
{
    margin: 0 0px 0px 28px;
    padding: 0px 0 0px 0;
    font-size: 17px;
    line-height: 1.5;
    color: #fff;
    text-align: left;
}
.box2 p span.tbl
{
    display: table-cell;
    font-size: 17px;
    line-height: 1.5;
    color: #fff;
    text-align: left;
    font-family: 'Roboto', sans-serif;
    font-weight: 400;
}
/* result page */
h3.com-name {
    margin: auto;
    position: absolute;
    top: calc(50% - 10px);
}
.result-content h3 {
    color: #34a97d;
    font-size: 20px;
    margin-left: 23px;
    margin-top: 15px;
    padding-bottom: 15px;
}
.result-box .border-box{
	border: solid 1px #34A97D;
	margin: 0 15px 30px 15px;
	background-color: #FAFAFA;
}
.area-1 {
    padding-left: 0;
    font-size: 18px;
    padding-top: 19px;
}
.naiyou-tag {
    display: flex;
    padding: 0;
    width: 100%;
}
.hatsuden-border {
    background-image: linear-gradient(to right, #ccc, #ccc 3px, transparent 2px, transparent 8px);
    background-size: 9px 2px;
    background-position: left bottom;
    background-repeat: repeat-x;
}
.area-2 {
    background-color: #34a97d;
    border-radius: 15px;
    padding: 3px 14px;
    color: #fff;
    margin-left: auto;
    margin-top: 8px;
	font-size: 14px;
}
.area-2.marg-10 {
    margin-left: 10px;
}
.result-box {
    padding: 1px 25px;
    background-color: rgba(255, 255, 255, 0.7);
}
.hatsuden-name {
    padding: 8px 40px;
    background-color: #fff;
}
.area-3{
	margin-left: 0;
	margin-bottom: 20px;
}
.hatsuden-name2{
	padding-bottom: 0;
}
.res-text.marg-top-8{
	margin-top: 8px;
}
.area-2.marg-10.area-3.marg-l-0 {
    margin-left: 0;
}
.com-name.mw-100 {
    max-width: 100%;
}
.border-box .mg-0{
	margin: 0;
}
h3.kyoudou-com-name {
    text-align: left;
    margin: 15px 23px 0 23px;
    padding-bottom: 15px;
}

.area-4 {
    background-color: #34a97d;
    border-radius: 15px;
    padding: 3px 14px;
    color: #fff;
	text-align: center;
	font-size: 14px;
}
.naiyou-tag.naiyou-tag2.res-tag {
    padding-top: 16px;
}
.area-5 {
    margin-left: 10px;
    margin-bottom: 20px;
}
h3.kokunai-com-name {
    margin: 15px 25px;
}
.kokunai-result-titel h2 {
    text-align: center;
    margin-bottom: 15px;
	font-size: 1.75rem;
}
.border-box.kyoudou-box {
    margin-bottom: 16px;
    margin-right: 0;
    margin-left: 30px;
}
.border-box.kyoudou-box2 {
    margin-bottom: 16px;
    margin-right: 37px;
    margin-left: 0;
}
.res-text.text-mgt-8 {
	margin-top: 8px;
}


/*
 * PAGE: SOFTWARE DEVELOPMENT
 */

img.dt {
	display: block;
}
img.mb {
	display: none;
}


.softdev-page-link {
	width: 460px;
	height: 100px;
	display: flex;
	position: relative;
	align-items: flex-start;
	flex-direction: column;
	justify-content: center;
	padding-left: 50px;
	border-radius: 5px;
	border: 1px solid #1e3e2f;
}
.softdev-page-link.centered {
	margin: 0 auto;
}
.softdev-page-link:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 20px;
	width: 13px;
	height: 13px;
	transform: translateY(-50%);
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/softdev-page-link-arrow.svg');
}
.softdev-page-link-label {
	color: #1e3e2f;
	font-weight: 400;
	margin: 0;
}
.softdev-page-link-label.top {
	font-size: 16px;
	line-height: 24px;
	letter-spacing: 0.04em;
}
.softdev-page-link-label.btm {
	font-size: 24px;
	line-height: 35px;
	letter-spacing: 0.04em;
}

.softdev-grnblt-list {
	padding: 0;
	list-style: none;
	margin: 40px 0 40px 20px;
}
.softdev-grnblt-list.softdev-addon {
	margin-bottom: 84px;
}
.softdev-grnblt-list-item {
	position: relative;
	display: flex;
	align-items: center;
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 0.04em;
}
.softdev-grnblt-list-item:before {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	margin-right: 14px;
	border-radius: 50%;
	background-color: #34a97d;
}


.section-softdev-intro {
	padding: 63px 0 111px 0;
}
.softdev-intro-title {
	color: #111;
	font-size: 30px;
	font-weight: 500;
	line-height: 44px;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 32px;
}
.softdev-intro-text {
	color: #111;
	font-size: 16px;
	font-weight: 500;
	line-height: 30px;
	text-align: center;
	letter-spacing: 0.04em;
	margin-bottom: 0;
}

.section-softdev-business {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
	position: relative;
	overflow: hidden;
	padding: 38px 0 35px 0;
	border: 1px solid #34a97d;
	background-size: cover;
	background-position: center right;
	background-image: url('../img/softdev-business-bg.jpg');
}
.section-softdev-business:before {
	content: "";
	width: 200px;
	height: 100px;
	position: absolute;
	top: -50px;
	left: -100px;
	opacity: 0.2;
	background-color: #34a97d;
	transform: rotate(-53deg);
}
.section-softdev-business:after {
	content: "";
	width: 200px;
	height: 100px;
	position: absolute;
	right: -100px;
	bottom: -60px;
	opacity: 0.2;
	background-color: #34a97d;
	transform: rotate(127deg);
}
.softdev-business-title {
	display: flex;
	column-gap: 10px;
	align-items: center;
	justify-content: center;
	color: #111;
	font-size: 25px;
	font-weight: 500;
	line-height: 36px;
	margin: 0 0 33px 0;
}
.softdev-business-title-icon {
	width: 15px;
	display: block;
}
.softdev-business-boxes {
	display: flex;
	column-gap: 40px;
	max-width: 880px;
	margin: 0 auto;
}
.softdev-business-box {
	flex: 0 0 calc((100% - 40px) / 2);
	z-index: 1;
	overflow: hidden;
	border-radius: 10px;
	background-color: #fff;
	border: 3px solid #34a97d;
	box-sizing: content-box;
}
.softdev-business-box-head {
	padding: 15px 20px;
	background-color: #ecf6f2;
}
.softdev-business-box-head-title {
	color: #34a97d;
	font-size: 20px;
	font-weight: 600;
	line-height: 25px;
	letter-spacing: 0.04em;
	margin: 0;
}
.softdev-business-box-list {
	padding: 0;
	margin: 15px 20px;
	list-style: none;
}
.softdev-business-box-item {
	display: flex;
	align-items: center;
	color: #111;
	font-size: 16px;
	font-weight: 500;
	line-height: 25px;
	letter-spacing: 0.04em;
	margin: 0 0 8.5px 0;
}
a.softdev-business-box-item:hover {
    color: #111;
    opacity: 0.8;
}
.softdev-business-box-item:last-child {
	margin-bottom: 0;
}
.softdev-business-box-item:before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 11px;
	margin-right: 17px;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/softdev-business-item-arrow.svg');
}

.section-softdev-pisystem {
	padding-top: 148px;
}
.container-softdev-pisystem {
	margin: 0 auto;
	max-width: 1000px;
	width: calc(100% - 30px);
}
.softdev-page-title {
	color: #111;
	font-size: 40px;
	font-weight: 500;
	line-height: 58px;
	letter-spacing: 0.1em;
	margin-bottom: 40px;
}
.softdev-page-title .page-title-smaller {
	font-size: 30px;
	line-height: 44px;
}
.softdev-page-title-divider {
	display: block;
	width: 43px;
	height: 4px;
	background-color: #34a97d;
}
.softdev-pisystem-intro {
	display: flex;
	column-gap: 51px;
	margin: 51px 0 88px 0;
}
.softdev-pisystem-intro-text {
	flex: 1 0 1px;
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 0.04em;
	margin: 0;
}
.softdev-pisystem-intro-image-wrap {
	flex: 0 0 28%;
}
.softdev-pisystem-intro-image {
	width: 100%;
	display: block;
}
.softdev-pisystem-diagram-image {
	display: block;
	margin: 0 auto;
	max-width: 900px;
	width: calc(100% - 30px);
}
.softdev-pisystem-items {
	max-width: 900px;
	display: flex;
	row-gap: 43px;
	align-items: stretch;
	flex-direction: column;
	margin: 88px auto 60px auto;
	
}
.softdev-pisystem-item {
}
.softdev-pisystem-item-tab {
	height: 40px;
	display: inline-block;
	padding: 0 14px;
	background-color: #34a97d;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
}
.softdev-pisystem-item-tab-title {
	color: #fff;
	font-size: 20px;
	font-weight: 400;
	line-height: 40px;
	letter-spacing: 0.04em;
	margin: 0;
}
.softdev-pisystem-item-text {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 0.04em;
	margin: 0;
	padding: 15px;
	border: 1px solid #34a97d;
}

.section-softdev-addon {
	padding-top: 200px;
}
.container-softdev-addon {
	margin: 0 auto;
	max-width: 1000px;
	width: calc(100% - 30px);
}
.softdev-addon-content {
	display: flex;
	column-gap: 40px;
	margin-top: 60px;
}
.softdev-addon-left {
	flex: 0 0 50%;
}
.softdev-addon-text {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 0,04em;
	margin-bottom: 45px;
}
.softdev-addon-list-title {
	color: #111;
	font-size: 16px;
	font-weight: 600;
	line-height: 35px;
	letter-spacing: 0,04em;
	margin-bottom: 18px;
}
.softdev-addon-right {
	flex: 1 0 1px;
}
.softdev-addon-image-wrap {
	width: 100%;
}
.softdev-addon-image {
	width: 574px;
	display: block;
	max-width: 574px;
}

.softdev-example-text {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 0.04em;
	margin-bottom: 0;
}
.softdev-examplec-content .softdev-example-image {
	margin-top: -50px;
}
.softdev-examplee-content .softdev-example-image {
	margin-top: -30px;
}

.softdev-example-title {
	display: flex;
	column-gap: 10px;
	align-items: center;
	color: #34a97d;
	font-size: 20px;
	font-weight: 500;
	line-height: 29px;
	letter-spacing: 0.1em;
}
.softdev-examplec-content .softdev-example-title {
	margin-bottom: 30px;
}
.softdev-examplee-content .softdev-example-title {
	margin-bottom: 45px;
}

.section-softdev-contract {
	padding-top: 200px;
}
.container-softdev-contract {
	margin: 0 auto;
	max-width: 1000px;
	width: calc(100% - 30px);
}
.softdev-contract-content {
	display: flex;
	column-gap: 80px;
	margin-top: 45px;
}
.softdev-contract-left {
	flex: 0 0 52%;
}
.softdev-contract-right {
	flex: 1 0 1px;
}
.softdev-grnblt-list.softdev-contract {
	margin: 35px 0;
}
.softdev-contract-text {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 0.04em;
	margin-bottom: 0;
}
.softdev-examplec-content {
	display: flex;
	column-gap: 40px;
	margin-top: 150px;
	margin-bottom: 115px;
}
.softdev-examplec-left {
	flex: 1 0 1px;
}
.softdev-examplec-right {
	flex: 0 0 50%;
}
.softdev-examplec-text {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 0,04em;
	margin-bottom: 0;
}
.softdev-examplec-image {
	margin-top: -50px;
}

.section-softdev-embedded {
	padding: 200px 0 180px;
}
.container-softdev-embedded {
	margin: 0 auto;
	max-width: 1000px;
	width: calc(100% - 30px);
}
.softdev-embedded-content {
	display: flex;
	column-gap: 80px;
	margin-top: 45px;
}
.softdev-embedded-left {
	flex: 0 0 52%;
}
.softdev-embedded-right {
	flex: 1 0 1px;
}
.softdev-embedded-text {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 0.04em;
	margin-bottom: 0;
}
.softdev-examplee-content {
	display: flex;
	column-gap: 45px;
	margin-top: 150px;
	margin-bottom: 115px;
}
.softdev-examplee-left {
	flex: 0 0 50%;
}
.softdev-examplee-right {
	flex: 1 0 1px;
	padding: 0 30px 0 0;
}


/*
 * PAGE: Plant Engineering Recruitment
 */

.per-fixed-box {
	z-index: 4;
	position: fixed;
	width: 240px;
	height: 184px;
	overflow: hidden;
	bottom: 0;
	right: Max(  calc(((100vw - 1440px) / 2) + 20px), 20px  );
	background-color: #163f2e;
	padding: 15px 20px 7px 20px;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
}
.per-fixed-box.hide-box {
	display: none;
}
.per-fixed-box-closer {
	position: absolute;
	top: 0;
	right: 0;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	background-color: #fff;
	border-bottom-left-radius: 10px;
}
.per-fixed-box-closer-icon {
	width: 5px;
	display: block;
}
.per-fixed-box-head {
	display: flex;
	column-gap: 6.5px;
	margin-bottom: 22px;
}
.per-fixed-box-head-wrap {
	display: flex;
	column-gap: 6.5px;
}
.per-fixed-box-icon {
	width: 41.5px;
	display: block;
}
.per-fixed-box-head-titles {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}
.per-fixed-box-head-title-top {
	color: #fff;
	font-size: 15px;
	font-weight: 600;
	line-height: 15px;
	margin: 0;
}
.sqz {
	letter-spacing: -0.17em;
}
.per-fixed-box-head-title-btm {
	color: #fff;
	font-size: 30px;
	font-weight: 600;
	line-height: 38px;
	letter-spacing: 0.1em;
	margin: 0;
}
.per-fixed-box-btn-wrap {
}
.per-fixed-box-btn {
	height: 60px;
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	line-height: 25px;
	letter-spacing: 0.1em;
	border-radius: 5px;
	background-color: #ff5902;
	box-shadow: inset 0 -5px 0 0 rgba(0 0 0 / 16%);
}
.per-fixed-box-btn-qt:after {
	content: "";
	left: 7px;
	bottom: -5px;
	position: absolute;
	border-right: 10px solid #fff;
	border-bottom: 7px solid transparent;
}
.per-fixed-box-btn:hover {
	color: #fff;
}
.per-fixed-box-btn-label {
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 24px;
	text-align: center;
	letter-spacing: 0.1em;
	margin: 0;
}
.per-fixed-box-btn-label-mb {
	display: none;
}

.per-register-btn-wrap {
	display: flex;
	position: relative;
	align-items: center;
	flex-direction: column;
}
.per-fixed-box-btn-qt {
	position: absolute;
	top: 0;
	left: 15px;
	width: 59px;
	height: 29px;
	color: #d32929;
	font-size: 16px;
	font-weight: 600;
	line-height: 29px;
	text-align: center;
	border-radius: 3px;
	background-color: #fff;
	transform: translateY(-50%);
}
.per-register-btn-pretext {
	color: #ff5902;
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;
	text-align: center;
	letter-spacing: 0.04em;
	margin-bottom: 7px;
}
.per-register-btn {
	width: 400px;
	height: 80px;
	display: flex;
	overflow: hidden;
	border-radius: 10px;
	border: 1px solid #ff5902;
}
.per-register-btn-left {
	flex: 0 0 85px;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: center;
	background-color: #fff;
	box-shadow: inset 0 -5px 0 0 rgba(0 0 0 / 16%);
}
.per-register-btn-left-label {
	color: #d82525;
	font-weight: 900;
	margin: 0;
}
.per-register-btn-left-label.top {
	font-size: 17px;
	line-height: 30px;
	letter-spacing: 0.15em;
}
.per-register-btn-left-label.btm {
	font-size: 25px;
	line-height: 30px;
	letter-spacing: 0.25em;
}
.per-register-btn-right {
	flex: 1 0 1px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #ff5902;
	box-shadow: inset 0 -5px 0 0 rgba(0 0 0 / 16%);
}
.per-register-btn-right-label {
	color: #fff;
	font-size: 25px;
	font-weight: 600;
	line-height: 36px;
	letter-spacing: 0.04em;
	margin: 0;
}

.per-crumbs-container {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
	padding-top: 11px;
}
.per-crumbs-container .bc-list ul {
	padding-left: 11px;
}
.per-top-image-section {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
	position: relative;
	margin-top: 62px;
	padding-top: 280px;
	background-size: cover;
	background-position: center center;
	background-image: url('../img/per-top-image-2.webp');
}
.per-top-image-container {
}
.per-top-image-content {
	height: 321px;
	position: relative;
	padding: 26px 0 0 100px;
}
.per-top-image-corner {
	z-index: 0;
	width: 105px;
	height: 305px;
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	background-color: rgba(52 169 125 / 80%);
}
.per-top-image-corner:after {
	content: "";
	top: 0;
	left: -200px;
	height: 305px;
	position: absolute;
	border-bottom: 305px solid transparent;
	border-right: 200px solid rgba(52 169 125 / 80%);
}
.per-top-image-content-backing {
	z-index: 0;
	width: 700px;
	height: 321px;
	display: block;
	position: absolute;
	left: 0;
	bottom: 0;
	margin: 0 auto 0 0;
	background-color: rgba(52 169 125 / 80%);
}
.per-top-image-content-backing:after {
	content: "";
	top: 0;
	height: 320px;
	right: -200px;
	position: absolute;
	border-top: 320px solid transparent;
	border-left: 200px solid rgba(52 169 125 / 80%);
}
.per-top-supertitle {
	z-index: 1;
	position: relative;
	color: #fff;
	font-size: 30px;
	font-weight: 600;
	line-height: 44px;
	margin-bottom: 7px;
}
.per-top-white-box {
	z-index: 1;
	position: relative;
	display: inline-flex;
	background-color: #fff;
}
.per-top-white-box-border {
	width: auto;
	height: 163px;
	display: inline-block;
}
.per-top-white-box-content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0 32px 0 12px;
}
.per-top-white-box-content .per-top-title {
	margin: 0;
	color: #111;
	font-size: 70px;
	font-weight: 600;
	line-height: 101px;
}
.per-top-white-box-content .per-top-subtitle {
	margin: 0;
	color: #111;
	font-size: 18px;
	font-weight: 600;
	line-height: 27px;
	letter-spacing: 0.04em;
}

.per-skills-section {
	padding-top: 140px;
}
.per-skills-container {
	margin: 0 auto;
	max-width: 1029px;
	width: calc(100% - 30px);
	position: relative;
}
.per-skills-content {
	z-index: 1;
	width: 100%;
	min-width: 620px;
	position: relative;
}
.per-skills-image.mb {
	display: none;
}
.per-skills-image.dt {
	z-index: 1;
	right: 0;
	bottom: -2px;
	width: auto;
	height: 480px;
	position: absolute;
}
.per-skills-title {
	color: #111;
	font-size: 40px;
	font-weight: 900;
	line-height: 58px;
	letter-spacing: 0.04em;
	margin-bottom: 54px;
}
.per-skills-list {
	width: 100%;
	margin: 0;
	display: flex;
	row-gap: 20px;
	list-style: none;
	flex-direction: column;
	border-radius: 10px;
	background-color: #fafafa;
	padding: 38px 30px 41px 30px;
}
.per-skills-list-item {
	display: flex;
	column-gap: 11px;
	align-items: center;
	font-size: 20px;
	font-weight: 400;
	line-height: 50px;
	letter-spacing: 0.04em;
}
.per-skills-list-item:before {
	content: "";
	width: 22px;
	height: 20px;
	min-width: 22px;
	display: inline-block;
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url('../img/skills-list-bullet.svg');
}
.per-wishes-section {
	padding-top: 60px;
}
.per-wishes-container {
	margin: 0 auto;
	max-width: 1000px;
	width: calc(100% - 30px);
	position: relative;
	padding-bottom: 120px;
}
.per-wishes-content {
	width: 100%;
	position: relative;
}
.per-wishes-intro {
	z-index: 1;
	max-width: 812px;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 33px 0;
	border-radius: 10px;
	background-color: #fff;
	border: 6px solid #34a97d;
	margin: 0 auto;
}
.per-wishes-intro:before {
	content: "";
	position: absolute;
	bottom: -25px;
	left: 50%;
	width: 14px;
	height: 20px;
	border-right: 14px solid #34a97d;
	border-bottom: 20px solid transparent;
	transform: translateX(-100%);
}
.per-wishes-intro:after {
	content: "";
	position: absolute;
	bottom: -25px;
	left: 50%;
	width: 14px;
	height: 20px;
	border-left: 14px solid #34a97d;
	border-bottom: 20px solid transparent;
}
.per-wishes-intro-inner-arrow {
	z-index: 1;
	width: 28px;
	height: 25px;
	left: 50%;
	bottom: -16px;
	position: absolute;
	display: inline-block;
	transform: translateX(-50%);
}
.per-wishes-intro-inner-arrow:before {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 14px;
	height: 20px;
	border-right: 14px solid #fff;
	border-bottom: 20px solid transparent;
}
.per-wishes-intro-inner-arrow:after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	width: 14px;
	height: 20px;
	border-left: 14px solid #fff;
	border-bottom: 20px solid transparent;
}
.per-wishes-intro-text {
	color: #34a97d;
	font-size: 30px;
	font-weight: 600;
	line-height: 45px;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 0;
}
.per-wishes-cta {
	width: 100%;
	display: flex;
	align-items: center;
	flex-direction: column;
	justify-content: flex-end;
	margin-top: -100px;
	padding-top: 135px;
	padding-bottom: 60px;
	border-radius: 10px;
	background-color: #fafafa;
}
.per-wishes-cta-text {
	color: #111;
	font-size: 25px;
	font-weight: 600;
	line-height: 40px;
	text-align: center;
	letter-spacing: 0.1em;
	margin-bottom: 25px;
}
.per-engineer-section {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
	border-top: 1px solid #dedede;
}
.per-engineer-container {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
	padding: 106px 0 143px;
}
.per-engineer-content {
}
.per-engineer-head {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.per-engineer-head-icon {
	width: 42px;
	display: block;
	margin-bottom: 13.5px;
}
.per-engineer-head-title {
	color: #111;
	font-size: 25px;
	font-weight: 600;
	line-height: 36px;
	letter-spacing: 0.04em;
	margin: 0;
}
.per-engineer-head-subtitle {
	color: #111;
	font-size: 35px;
	font-weight: 600;
	line-height: 51px;
	letter-spacing: 0.04em;
	margin: 0 0 32px 0;
}
.per-engineer-head-subtitle .subtitle-green {
	color: #34a97d;
}
.per-engineer-head-divider {
	display: inline-block;
	width: 43px;
	height: 4px;
	margin-bottom: 100px;
	background-color: #34a97d;
}
.per-engineer-details {
	display: flex;
	column-gap: 90px;
}
.per-engineer-details-left {
	flex: 0 0 55%;
}
.per-engineer-details-text {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 0.04em;
	margin: 0;
}
.per-engineer-details-right {
	flex: 1 0 1px;
}
.per-engineer-image-wrap {
	position: relative;
}
.per-engineer-image {
	width: 100%;
	display: block;
}
.per-engineer-image-label {
	position: absolute;
	left: 0;
	bottom: 0;
	margin: 0;
	color: #fff;
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	padding: 0 6px;
	background-color: #34a97d;
}
.per-engineer-image-label:after {
	content: "";
	top: 0;
	right: -20px;
	width: 20px;
	height: 26px;
	position: absolute;
	border-left: 15px solid #34a97d;
	border-top: 26px solid transparent;
}
.per-engineer-bio {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	margin: 0;
}
.per-engineer-bio .bio-smaller {
	font-size: 13px;
}

.per-history-section {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
	padding: 90px 0 148px 0;
	background-color: #34a97d;
}
.per-history-container {
	margin: 0 auto;
	max-width: 1200px;
	width: calc(100% - 30px);
}
.per-history-content {
	display: flex;
	column-gap: 28px;
}
.per-history-title-top {
	color: #fff;
	font-size: 30px;
	font-weight: 600;
	line-height: 44px;
	letter-spacing: 0.1em;
	text-align: center;
	margin-bottom: 0;
}
.per-history-title-btm {
	color: #fff;
	font-size: 34px;
	font-weight: 600;
	line-height: 52px;
	letter-spacing: 0.04em;
	text-align: center;
	margin-bottom: 57px;
}
.per-history-box {
	flex: calc((100% - 58px) / 3);
	display: flex;
	align-items: center;
	flex-direction: column;
	border-radius: 10px;
	background-color: #fff;
	padding: 27px 20px 40px 20px;
	box-shadow: 0 0 10px 0 rgba(0 0 0 / 30%);
}
.per-history-box-title {
	width: 100%;
	color: #34a97d;
	font-size: 27px;
	font-weight: 600;
	line-height: 35px;
	letter-spacing: 0.1em;
	margin-bottom: 54px;
}
.per-history-box-image {
	display: block;
}
.per-history-box.left-box .per-history-box-image {
	width: 266px;
}
.per-history-box.middle-box .per-history-box-image {
	width: 206px;
}
.per-history-box.right-box .per-history-box-image {
	width: 195px;
}
.per-history-box-text {
	width: 100%;
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.04em;
	margin: 38px 0 0 0;
}

.per-intermediary-section {
	padding: 150px 0 100px 0;
}
.per-intermediary-container {
	margin: 0 auto;
	max-width: 1029px;
	width: calc(100% - 30px);
}
.per-intermediary-content {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.per-intermediary-head-icon {
	width: 24px;
	display: block;
}
.per-intermediary-head-title {
	color: #111;
	font-size: 35px;
	font-weight: 600;
	line-height: 51px;
	text-align: center;
	letter-spacing: 0.1em;
	margin: 40px 0 76px 0;
}
.per-intermediary-head-title .title-hilite {
	font-size: 43px;
	line-height: 62px;
	position: relative;
}
.per-intermediary-head-title .title-hilite:after {
	z-index: -1;
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -2px;
	height: 16px;
	background-color: #ffff00;
}
.per-intermediary-diagram.dt {
	width: 100%;
	display: block;
}
.per-intermediary-diagram.mb {
	display: none;
}

.per-flow-section {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
	position: relative;
	padding-bottom: 60px;
	background-color: #ecf6f2;
}
.per-flow-heading-wrap {
	position: relative;
	margin: 0 auto;
	max-width: 1100px;
	width: calc(100% - 30px);
	padding: 40px 0 20px 0;
}
.per-flow-heading {
	position: absolute;
	top: 0;
	left: 0;
	height: 70px;
	width: fit-content;
	padding: 0 0 0 18px;
	background-color: #34a97d;
	transform: translateY(-50%);
}
.per-flow-heading:after {
	content: "";
	top: 0;
	right: -70px;
	height: 70px;
	position: absolute;
	border-left: 70px solid #34a97d;
	border-top: 70px solid transparent;
}
.per-flow-heading-label {
	color: #fff;
	font-size: 30px;
	font-weight: 400;
	line-height: 70px;
	letter-spacing: 0.1em;
	margin: 0;
}

.per-flow-container {
	margin: 0 auto;
	max-width: 1100px;
	width: calc(100% - 30px);
}
.per-flow-content {
}
.per-flow-intro {
	color: #111;
	font-size: 20px;
	font-weight: 500;
	line-height: 29px;
	letter-spacing: 0.1em;
	margin-bottom: 31px;
}
.per-flow-boxes {
	display: flex;
	column-gap: 37px;
}
.per-flow-box {
	flex: 0 0 calc((100% - 111px) / 4);
}
.per-flow-box-image {
	width: 100%;
	display: block;
}
.per-flow-box-title {
	height: 50px;
	color: #34a97d;
	font-size: 20px;
	font-weight: 600;
	line-height: 25px;
	text-align: center;
	margin: 13px 0 40px 0;
}
.per-flow-box-text {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	margin: 0;
}

.per-faq-section {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
	border-top: 1px solid #dedede;
}
.per-faq-container {
	width: 100%;
	margin: 0 auto;
	max-width: 1000px;
	padding: 106px 0 143px;
}
.per-faq-content {
}
.per-faq-head {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.per-faq-head-icon {
	width: 42px;
	display: block;
	margin-bottom: 13.5px;
}
.per-faq-head-title {
	color: #111;
	font-size: 25px;
	font-weight: 600;
	line-height: 36px;
	letter-spacing: 0.04em;
	margin: 0;
}
.per-faq-items {
	margin: 0 auto;
	max-width: 820px;
	width: calc(100% - 30px);
}
.per-faq-item {
	display: flex;
	row-gap: 10px;
	flex-direction: column;
	padding: 70px 0 25px 0;
	border-bottom: 1px solid #dedede;
}
.per-faq-item.open {
	row-gap: 49px;
}
.per-faq-item-a,
.per-faq-item-q {
	position: relative;
	padding-left: 40px;
}
.per-faq-item-a {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.2s;
}
.per-faq-item.open .per-faq-item-a {
	max-height: unset;
}
.per-faq-item-q {
	padding-right: 20px;
}
.per-faq-item-a:before,
.per-faq-item-q:before {
	content: "";
	position: absolute;
	display: block;
	background-size: contain;
	background-repeat: no-repeat;
}
.per-faq-item-q:before {
	top: 6px;
	left: 0;
	width: 29px;
	height: 24px;
	background-image: url(../img/per-faq-icon-Q.svg);
}
.per-faq-item-a:before {
	top: 0;
	left: 0;
	width: 29px;
	height: 24px;
	background-image: url('../img/per-faq-icon-A.svg');
}
.per-faq-item-text-q {
	color: #34a97d;
	font-size: 20px;
	font-weight: 600;
	line-height: 30px;
	letter-spacing: 0.1em;
	cursor: pointer;
	margin: 0;
}
.per-faq-item-q:after {
	content: "";
	position: absolute;
	top: 5px;
	right: 5px;
	width: 9px;
	height: 9px;
	cursor: pointer;
	border-left: 1px solid #34a97d;
	border-bottom: 1px solid #34a97d;
	transform: rotate(-45deg);
}
.per-faq-item.open .per-faq-item-q:after {
	transform: rotate(135deg);
}
.per-faq-item-text-a {
	color: #000;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.1em;
	margin: 0;
}

.per-jobs-section {
	width: 100%;
	margin: 0 auto;
	max-width: 1440px;
	padding: 102px 0 216px 0;
	background-color: #fafafa;
	border-top: 4px solid #34a97d;
}
.per-jobs-container {
	margin: 0 auto;
	max-width: 852px;
	width: calc(100% - 30px);
}
.per-jobs-content {
}
.per-jobs-head {
	display: flex;
	align-items: center;
	flex-direction: column;
}
.per-jobs-head-icon {
	width: 26px;
	display: block;
	margin-bottom: 17px;
}
.per-jobs-head-title {
	color: #111;
	font-size: 40px;
	font-weight: 600;
	line-height: 58px;
	letter-spacing: 0.1em;
	margin-bottom: 46px;
}
.per-jobs-boxed-text {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
	padding: 13px 18px;	
	background-color: #f2f2f2;
}
.per-jobs-list {
	display: flex;
	flex-direction: column;
	row-gap: 50px;
}
.per-jobs-list-job {
	background-color: #fff;
	padding: 32px 55px 43px 55px;
	box-shadow: 0 3px 6px 0 rgba(0 0 0 / 16%);
}
.per-jobs-title {
	color: #111;
	font-size: 25px;
	font-weight: 600;
	line-height: 36px;
	letter-spacing: 0.1em;
	padding-bottom: 11px;
	margin-bottom: 16px;
	border-bottom: 1px solid green;
}
.per-jobs-salary {
	display: flex;
	column-gap: 10px;
	align-items: flex-end;
}
.per-jobs-salary-label {
	color: #111;
	font-size: 20px;
	font-weight: 600;
	line-height: 29px;
	letter-spacing: 0.1em;
	margin: 0;
}
.per-jobs-salary-amount {
	color: #ff5902;
	font-size: 30px;
	font-weight: 600;
	line-height: 44px;
	margin: 0;
	letter-spacing: 0.04em;
}
.per-jobs-tags {
	display: flex;
	column-gap: 10px;
	margin: 23px 0 28px 0;
}
.per-jobs-tag {
    color: #34a97d;
    font-size: 16px;
    font-weight: 400;
    line-height: 30px;
    border: 1px solid #34a97d;
    border-radius: 3px;
    padding: 0 7px;
}
.per-jobs-description {
	padding: 20px;
	margin-bottom: 30px;
	border-radius: 5px;
	background-color: #fafafa;
}
.per-jobs-description h2 {
	color: #111;
	font-size: 25px;
	font-weight: 600;
	line-height: 40px;
	letter-spacing: 0.1em;
	margin-bottom: 18px;
}
.per-jobs-description h3 {
	color: #111;
	font-size: 20px;
	font-weight: 600;
	line-height: 29px;
	letter-spacing: 0.1em;
	margin-bottom: 12px;
}
.per-jobs-description p {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 30px;
	letter-spacing: 0.1em;
	margin-bottom: 12px;
}
.per-jobs-description ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
.per-jobs-description ul li {
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 35px;
	letter-spacing: 0.1em;
	margin-bottom: 12px;
}
.per-jobs-description ul li:before {
	content: "";
	width: 12px;
	height: 12px;
	margin-right: 9px;
	display: inline-block;
	border-radius: 50%;
	background-color: #34a97d;
}


/*
 * PAGE: Engineer Registration
 */


.section-engineer-form {
	padding: 54px 0 106px 0;
}
.container-engineer-form {
	margin: 0 auto;
	max-width: 740px;
	width: calc(100% - 30px);
	overflow: hidden;
}
.engineer-form-wrapper {
	width: 200%;
	display: flex;
	transition: transform 0.3s;
}
.engineer-form-wrapper.show-confirm {
	transform: translateX(-50%);
}
.engineer-form-panel {
	width: 50%;
}
.engineer-form-panel.form {
	
}
.engineer-form-panel.confirm {
	
}
.engineer-form-title {
	color: #333;
	font-size: 33px;
	font-weight: 500;
	line-height: 57px;
	text-align: center;
	margin-bottom: 68px;
	font-family: 'Hiragino Sans';
}
.engineer-form-intro {
	color: #333;
	font-size: 16px;
	line-height: 27px;
	text-align: center;
	margin-bottom: 28px;
	font-family: 'Hiragino Sans';
}
.engineer-form {
	width: 100%;
	margin: 0 auto 20px auto;
	max-width: 700px;
	display: block;
	padding: 40px 100px 90px 100px;
	border-radius: 14px;
	box-shadow: 0 3px 6px 0 rgba(0 0 0 / 16%);
}
.engineer-form.thank-you {
	padding: 40px 40px 40px 40px;
}
.engineer-form-steps {
	width: 100%;
	max-width: 500px;
	display: flex;
	column-gap: 100px;
	align-items: center;
	justify-content: space-between;
	margin: 0 auto 48px auto;
}
.engineer-form-step {
	flex: 0 0 auto;
	position: relative;
}
.engineer-form-step:not(:last-child):after {
	content: "";
	top: 50%;
	right: -64px;
	width: 22px;
	height: 35px;
	position: absolute;
	transform: translateY(-50%);
	background-size: contain;
	background-repeat: no-repeat;
	background-image: url(../img/engineer-form-step-arrrow.svg);
}
.engineer-form-step-icon {
	width: 100px;
	display: block;
}
.engineer-form-result {
	width: 100%;
	max-width: 700px;
	padding: 20px;
	font-size: 20px;
	margin: 0 auto 28px auto;
}
.engineer-form-result.success {
	color: #004085;
	border: solid 1px #cce5ff;
	background-color: #b8daff;
}
.engineer-form-result.failed {
	color: #990000;
	border: solid 1px #ffa2a2;
	background-color: #ffe4e8;
}
.engineer-form-result .engineer-form-result-msg {
	margin-bottom: 0;
}
.engineer-form-groups {
	display: flex;
	row-gap: 37px;
	flex-direction: column;
}
.engineer-form-group {
}
.engineer-form-label {
	display: block;
	color: #111;
	font-size: 16px;
	font-weight: 700;
	line-height: 27px;
	margin-bottom: 9px;
	font-family: 'Hiragino Sans';
}
.engineer-form-label.required:after {
	content: "必須";
	display: inline-block;
	color: #fff;
	font-size: 11px;
	font-weight: 400;
	line-height: 17px;
	margin-left: 10px;
	padding: 0 3px;
	border-radius: 3px;
	background-color: #dc3545;
	transform: translateY(-2px);
}
.engineer-form-label.no-trans-after:after {
	transform: unset;
}
.engineer-form-group.success .engineer-form-label.required:after {
	content: "OK";
	padding: 0 6px;
	background-color: #28A745;
}
.engineer-form-label.optional:after {
	content: "任意";
	display: inline-block;
	color: #fff;
	font-size: 11px;
	font-weight: 400;
	line-height: 17px;
	margin-left: 10px;
	padding: 0 3px;
	border-radius: 3px;
	background-color: #1a7bfd;
	transform: translateY(-2px);
}
.engineer-form-two-inputs {
	display: flex;
	column-gap: 28px;
}
.engineer-form-select-job {
	width: 100%;
    display: block;
    color: #111;
    font-size: 16px;
    font-weight: 400;
    height: 40px;
    padding: 9px 14px;
    margin: 0;
    outline: none;
    border-radius: 5px;
    border: 1px solid #e0e0e0;
    font-family: 'Helvetica Neue';
}

  
  /* プレースホルダー（value="" のみ） */
  .engineer-form-select-job option[value=""] {
	color: #868e96; /* ← 好きな色に変更 */
  }
  
  /* Safariなど選択時に色が反映されないブラウザ用 */
  .engineer-form-select-job:invalid {
	color: #868e96;
  }
.engineer-form-text-input,
.engineer-form-textarea-input {
	width: 100%;
	display: block;
	color: #111;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	padding: 9px 14px;
	margin: 0;
	outline: none;
	border-radius: 5px;
	border: 1px solid #e0e0e0;
	font-family: 'Helvetica Neue';
}
.engineer-form-text-input.success,
.engineer-form-textarea-input.success {
	background-color: #f0fff4;
	border-color: #28a745;
}
.engineer-form-textarea-input {
	height: 170px;
}
.engineer-form-text-input.w-half {
	width: calc((100% - 28px) / 2);
}
.engineer-form-text-input.w-more {
	width: calc((100% + 60px) / 2);
}
.engineer-form-text-input:focus {
	border-color: #a0a0a0;
}
.engineer-form-note {
	color: #111;
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	margin: 7px 0 0 6px;
	font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans';
}
.engineer-form-radio-group {
	display: flex;
	row-gap: 20px;
	column-gap: 28px;
	flex-wrap: wrap;
}
.engineer-form-radio-box {
	flex: 0 0 calc((100% - 28px) / 2);
	position: relative;
	padding: 9px;
	overflow: hidden;
	border-radius: 5px;
	border: 1px solid #e0e0e0;
	background-color: #f7f7f7;
}
.engineer-form-radio {
	position: absolute;
	top: 0;
	left: -25px;
}
.engineer-form-radio ~ .engineer-form-radio-label {
	display: flex;
	column-gap: 10px;
	align-items: center;
	color: #333;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	margin-bottom: 0;
	font-family: 'Helvetica Neue';
}
.engineer-form-radio ~ .engineer-form-radio-label:before {
	content: "";
	display: inline-block;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #fff;
	border: 1px solid #b6b6b6;
}
.engineer-form-radio:checked ~ .engineer-form-radio-label:before {
	border: 6px solid #2c91fc;
}
.engineer-form-upload {
	height: 40px;
	display: flex;
	position: relative;
	align-items: center;
	overflow: hidden;
	border-radius: 4px;
	border: 1px solid #ced4da;
}
.engineer-form-file-input {
	top: -5px;
	height: 1px;
	position: absolute;
}
.engineer-form-upload-placehold {
	flex: 1 0 1px;
	color: #868e96;
	font-size: 16px;
	font-weight: 400;
	line-height: 18px;
	margin-bottom: 0;
	padding: 9px 14px;
	overflow: hidden;
	white-space: nowrap;
	word-break: keep-all;
	text-overflow: ellipsis;
	font-family: 'Helvetica Neue';
}
.engineer-form-upload-placehold.have-file {
	color: #333;
}
.engineer-form-upload-label {
	flex: 0 0 auto;
	height: 100%;
	display: inline-block;
	color: #333;
	margin: 0;
	display: flex;
	align-items: center;
	padding: 0 20px;
	font-size: 16px;
	line-height: 38px;
	background-color: #e4e4e4;
}
.engineer-form-confirm-group {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	padding: 10px 0;
	overflow: hidden;
	background-color: #F7F7F7;
}
.engineer-form-confirm-checkbox {
	position: absolute;
	top: 0;
	left: -25px;
}
.engineer-form-confirm-label {
	display: flex;
	align-items: center;
	color: #333;
	font-size: 14px;
	font-weight: 700;
	margin: 0;
	line-height: 17px;
	cursor: pointer;
	user-select: none;
	text-decoration: none;
	font-family: 'Helvetica Neue';
}
/*
.engineer-form-confirm-label:after {
	content: "必須";
	display: inline-block;
	color: #fff;
	font-size: 11px;
	font-weight: 400;
	line-height: 17px;
	margin-left: 10px;
	padding: 0 3px;
	border-radius: 3px;
	background-color: #dc3545;
}
*/
.engineer-form-confirm-link {
	display: inline-block;
	color: #1569D9;
	font-size: 14px;
	font-weight: 700;
	margin: 0 0 0 4px;
	line-height: 17px;
	text-decoration: none;
	font-family: 'Helvetica Neue';
}
.engineer-form-confirm-checkbox:not(:checked) ~ .engineer-form-confirm-label .engineer-form-confirm-icon {
	display: none;
}
.engineer-form-confirm-checkbox:not(:checked) ~ .engineer-form-confirm-label .engineer-form-confirm-box {
	width: 22px;
	height: 22px;
	display: inline-block;
	border-radius: 3px;
	border: 2px solid #b6b6b6;
}
.engineer-form-confirm-checkbox:checked ~ .engineer-form-confirm-label .engineer-form-confirm-icon {
	width: 22px;
	height: 22px;
	display: inline-block;
}
.engineer-form-confirm-checkbox:checked ~ .engineer-form-confirm-label .engineer-form-confirm-box {
	display: none;
}
.engineer-form-submit-btn {
	width: 320px;
	height: 68px;
	display: block;
	position: relative;
	color: #fff;
	font-size: 25px;
	font-weight: 600;
	line-height: 30px;
	text-align: center;
	border: none;
	outline: none;
	cursor: pointer;
	border-radius: 9px;
	background-color: #fd5904;
	margin: 40px auto 20px auto;
	font-family: 'Helvetica Neue';
}
.engineer-form-submit-btn:after {
	z-index: -1;
	content: "";
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: block;
	position: absolute;
	border-radius: 9px;
	background-color: #D64B03;
	transform: translateY(6px);
	box-shadow: 0 0 6px 0 rgba(0 0 0 / 33%);
}
.engineer-form-goback-btn {
	width: 320px;
	height: 40px;
	display: block;
	position: relative;
	color: #fff;
	font-size: 20px;
	font-weight: 600;
	line-height: 25px;
	text-align: center;
	border: none;
	outline: none;
	cursor: pointer;
	border-radius: 9px;
	background-color: #bbbbbb;
	margin: 0 auto;
	font-family: 'Helvetica Neue';
}
.engineer-form-submit-icon {
	position: absolute;
	top: 50%;
	right: 40px;
	width: 26px;
	display: inline-block;
	transform: translateY(-50%);
}
.engineer-confirm-group {
	display: flex;
	align-items: flex-start;
	column-gap: 10px;
	padding: 12px 20px 12px 50px;
}
.engineer-confirm-group:nth-child(odd) {
	background-color: #f8f8f8;
}
.engineer-confirm-label {
    flex: 0 0 150px;
}
.engineer-confirm-two-inputs {
    flex: 1 0 1px;
	display: flex;
	align-items: flex-end;
}
.engineer-confirm-label {
	margin: 0;
	width: 100%;
	color: #333;
	font-size: 16px;
	font-weight: 600;
	line-height: 27px;
	font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans';
}
.engineer-confirm-value {
	margin: 0;
	width: 100%;
	color: #333;
	font-size: 16px;
	font-weight: 300;
	line-height: 27px;
	word-break: break-word;
	font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans';
}
.engineer-confirm-two-inputs .engineer-confirm-value {
	width: calc((100% - 28px) / 2);
}
.engineer-form-thanks-text {
	margin: 0;
	color: #333;
	font-size: 16px;
	font-weight: 300;
	line-height: 27px;
	font-family: 'Hiragino Kaku Gothic ProN', 'Hiragino Sans';
}
.engineer-form-thanks-text .fw600 {
	font-weight: 600;
}


/**/

/*zzzz*/

@media only screen and (max-width: 1415px) {
	.main-menu {
		display: none;
	}

	.burger-icon {
		display: block;
	}
}
@media only screen and (max-width: 1200px) {
	h2.green.green-rstc {
		font-size: 40px;
	}
}

@media only screen and (max-width: 1182px) {
	.logo img {
		width: 40px;
	}
	.logo span {
		font-size: 16px;
	}
}
@media only screen and (max-width: 991px) {

	.margin-bottom-150 {
		margin-bottom: 0;
	}

	.logo {
		padding: 10px;
	}

	.news-title span {
		text-align: left;
	}

	.section-intro:before {
		background-size: cover;
	}

	footer .contact-info {
		max-width: 100%;
		padding: 0;
		margin-top: 30px;
	}

	.service-text {
		padding: 25px;
	}

	.h-text-line h3 {
		text-align: left;
	}

	.section-company h3 br {
		display: none;
	}

	.section-ts .ts-btn  {
		width: 100%;
		margin: 0;
		margin-bottom: 15px;
	}
	.section-ts .ts-btn-logged-in  {
		width: 100%;
		margin: 0;
		margin-bottom: 15px;
	}
	h2.green.green-rstc {
		font-size: 32px;
	}
	.area-4.marg-10.area-5 {
		margin-left: 0;
	}



}

@media only screen and (max-width: 767px) {
	br.sp_br {
		display: block;
	}
	br.pc_br {
		display: none;
	}

	.pc-image {
		margin-top: 10px;
	}

	.news-date,
	.news-dot {
		text-align: left;
	}

	.section-pc h4 {
		margin-top: 30px;
	}

	.dark-overlay h3 br,
	.dark-overlay p br {
		display: none;
	}

	.section-about h3 br,
	.section-about p br {
		display: none;
	}

	footer .contact-info {
		margin: 0;
		margin-left: 15px;
		margin-bottom: 30px;
	}

	.m-order-1 {
		order:1;
	}

	.m-order-2 {
		order:2;
	}

	.h-text-line h3 {
		text-align: right;
	}

	.company-table td.td-h {
		width: 20%;
	}

	.section-ts .ts-btn {
		width: auto;
		margin: 0;
		margin-right: 15px;
	}
	.section-ts .ts-btn-logged-in {
		width: auto;
		margin: 0;
		margin-right: 15px;
	}

	.cover-text-rad {
		font-size: 14px;
	}

	.section-ts .img-block {
		margin-bottom: 30px;
	}

	.mio-intro p {
		margin-bottom: 30px;
	}

	.white-box {
		margin-bottom: 30px;
	}

	.inner-feature {
		padding: 15px;
	}

	.re-q-1 p {
		padding: 15px;
		background-color: rgba(255,255,255,0.8);
	}

	.re-q-1 {
		background-size: cover;
		padding: 50px 0;
	}

	.bg-img {
		height: 300px;
	}

	.re-q-content {
		background-color: #fff;
	}

	.section-rec-2 {
		padding: 30px 0;
	}

	.req {
		float: none;
		margin-left: 5px;
	}

	.contact-block label {
		margin-bottom: 15px;
	}

	.result-content h3,
	.result-content p {
		display: block;
		width: 100%;
		text-align: center;
		padding: 0;
	}
	h1.rstc-title-right {
		font-size: 24px;
		text-align: center;
	}
	.naiyou-tag {
		display: inline-block;
	}
	.hatsuden-border-resp{
		background-image: linear-gradient(to right, #ccc, #ccc 3px, transparent 2px, transparent 8px);
		background-size: 9px 2px;
		background-position: left bottom;
		background-repeat: repeat-x;
	}
	.area-2.marg-10 {
		margin-bottom: 20px;
		margin-left: 0px;
	}
	.area-2 {
		text-align: center;
	}
	.hatsuden-name .res-text {
		text-align: center;
	}
	.area-3,
	.area-2.area-3.marg-10,
	.area-2.area-3.marg-10.marg-l-0 {
		margin: 14px auto;
	}
	.area-2 {
		width: 58%;
	}
	.naiyou-tag.naiyou-tag2.res-tag {
		padding-top: 0;
		width: 58%;
	}
	.hatsuden-name.hatsuden-name2 {
		text-align: center;
	}
	.result-box.kokunai-result-box {
		padding: 0 38px 0px 38px;
	}
	.border-box.kyoudou-box,
	.border-box.kyoudou-box2
	 {
		margin-bottom: 16px;
		margin-right: 14px;
		margin-left: 25px;
	}
	.section-result h3 {
		margin-bottom: 15px;
	}
	h3.kyoudou-com-name {
		padding: 0;
		margin-left: 0px;
	}
	.hatsuden-name-mrg-top {
		margin-top: 8px;
	}
	.res-text.res-mgt-8 {
		margin-top: 8px;
	}
	

	/* PAGE: SOFTWARE DEVELOPMENT */

	img.dt {
		display: none;
	}
	img.mb {
		display: block;
	}


	.softdev-page-title {
		font-size: 25px;
		line-height: 36px;
		margin-bottom: 21px;
		letter-spacing: 0.04em;
	}
	.softdev-page-title .page-title-smaller {
		font-size: 16px;
		line-height: 24px;
	}
	.softdev-business-box-item {
		margin-bottom: 15.5;
	}
	.softdev-business-box-item:last-child {
		margin-bottom: 0;
	}
	.softdev-page-link {
		width: 100%;
		height: 80px;
		padding-left: 40px;
	}
	.softdev-page-link:before {
		left: 15px;
	}
	.softdev-page-link.sp-doubled {
		height: 100px;
	}
	.softdev-page-link-label.top {
		letter-spacing: 0.02em;
	}
	.softdev-page-link-label.btm {
		font-size: 18px;
		line-height: 26px;
		letter-spacing: 0.02em;
	}

	.section-softdev-intro {
		padding-bottom: 78px;
	}
	.softdev-intro-title {
		font-size: 20px;
		line-height: 29px;
		letter-spacing: 0.04em;
	}
	.softdev-intro-text {
		text-align: left;
	}
	.section-softdev-business {
		border-left: none;
		border-right: none;
		background-image: unset;
	}
	.softdev-business-boxes {
		row-gap: 17px;
		column-gap: 0;
		flex-direction: column;
	}
	.softdev-business-title {
		justify-content: flex-start;
	}
	.softdev-business-title-icon {
		width: 24px;
	}
	.softdev-business-box-head-title {
		font-size: 18px;
	}
	.section-softdev-business:before {
		width: 200px;
		height: 100px;
		top: -55px;
		left: -110px;
		transform: rotate(-57deg);
	}
	.section-softdev-business:after {
		width: 250px;
		height: 100px;
		right: -100px;
		bottom: 0px;
		transform: rotate(123deg);
	}
	.section-softdev-pisystem {
		padding-top: 32px;
		padding-bottom: 59px;
	}
	.softdev-pisystem-intro {
		flex-direction: column-reverse;
		margin-top: 43px;
		margin-bottom: 30px;
	}
	.softdev-pisystem-intro-image-wrap {
		width: 81%;
		flex: 0 0 auto;
		margin: 0 auto 35px auto;
	}
	.softdev-pisystem-diagram-image {
		width: 100%;
	}
	.softdev-pisystem-items {
		margin-top: 40px;
		margin-bottom: 20px;
	}
	.section-softdev-addon {
		padding-top: 40px;
		padding-bottom: 49px;
	}
	.softdev-addon-content {
		row-gap: 47px;
		column-gap: 0;
		flex-direction: column-reverse;
		margin-top: 43px;
	}
	.softdev-addon-right {
		flex: 0 0 auto;
	}
	.softdev-addon-image {
		width: 100%;
	}
	.softdev-grnblt-list.softdev-addon {
		margin-bottom: 35px;
	}
	.section-softdev-contract {
		padding-top: 49px;
		padding-bottom: 59px;
	}
	.softdev-contract-content {
		flex-direction: column-reverse;
	}
	.softdev-contract-right {
		flex: 0 0 auto;
	}
	.softdev-contract-left {
		flex: 0 0 auto;
		margin-left: -15px;
		margin-right: -15px;
	}
	.softdev-contract-image.mb {
		margin-top: 50px;
	}
	.softdev-grnblt-list.softdev-contract {
		margin-top: 50px;
		margin-left: 15px;
		margin-right: 15px;
	}
	.softdev-contract-text {
		margin-left: 15px;
		margin-right: 15px;
	}
	.softdev-grnblt-list-item {
		letter-spacing: 0.02em;
	}
	.softdev-grnblt-list-item:before {
		margin-right: 8px;
	}
	.softdev-examplec-content {
		flex-direction: column;
		margin-top: 60px;
		margin-bottom: 56px;
	}
	.softdev-example-title {
		font-size: 18px;
		line-height: 26px;
		letter-spacing: 0.02em;
	}
	.softdev-examplec-content .softdev-example-title {
		margin-top: 20px;
	}
	.section-softdev-embedded {
		padding: 56px 0 80px 0;
	}
	.softdev-embedded-content {
		flex-direction: column-reverse;
	}
	.softdev-page-title .sqz {
		letter-spacing: -0.2em;
	}
	.softdev-embedded-left {
		flex: 0 0 auto;
		padding-top: 40px;
	}
	.softdev-examplee-content {
		flex-direction: column;
		margin-top: 79px;
		margin-bottom: 40px;
	}
	.softdev-examplee-right {
		flex: 0 0 auto;
		padding-top: 40px;
		padding-right: 0;
	}
	.softdev-grnblt-list {
		margin-left: 10px;
	}

	/* PAGE: Plant Recruitment */

	.per-fixed-box {
		z-index: 5;
		left: 15px;
		top: initial;
		bottom: 0;
		width: 345px;
		height: 99px;
		display: flex;
		position: fixed;
		align-items: flex-end;
		padding: 10px 15px;
	}
	.per-fixed-box-head {
		display: block;
		margin: 0 5px 0 0;
	}
	.per-fixed-box-head-wrap {
		display: flex;
		column-gap: 4.5px;
	}
	.per-fixed-box-head-title-top {
		font-size: 13px;
		line-height: 19px;
	}
	.per-fixed-box-head-title-btm {
		font-size: 22px;
		line-height: 32px;
	}
	.per-fixed-box-btn {
		width: 149px;
		height: 60px;
		font-size: 18px;
	}
	.per-fixed-box-btn-qt {
		width: 52px;
		height: 23px;
		font-size: 14px;
		line-height: 22px;
	}
	.per-fixed-box-icon {
		width: 34px;
	}
	.per-fixed-box-btn-label {
		display: none;
	}
	.per-fixed-box-btn-label-mb {
		display: block;
		color: #fff;
		font-size: 14px;
		font-weight: 600;
		line-height: 20px;
		text-align: left;
		letter-spacing: 0.1em;
		margin: 0;
	}

	.per-top-image-section {
		overflow: hidden;
		padding-top: 232px;
		background-image: url('../img/per-top-image-mb-2.webp');

	}
	.per-top-image-corner {
		width: 125px;
		top: -235px;
	}
	.per-top-supertitle {
		font-size: 18px;
		line-height: 26px;
	}
	.per-top-image-content {
		height: 235px;
		padding: 0 0 0 15px;
	}
	.per-top-image-content-backing {
		width: 275px;
		height: 245px;
		background-color: rgba(52 169 125 / 100%);
	}
	.per-top-image-content-backing:after {
		border-left: 200px solid rgba(52 169 125 / 100%);
	}
	.per-top-white-box-content {
		padding: 12px;
	}
	.per-top-white-box-content .per-top-title {
		font-size: 30px;
		line-height: 44px;
	}
	.per-top-white-box-content .per-top-subtitle {
		font-size: 14px;
		line-height: 22px;
	}
	.per-top-white-box {
		width: 345px;
	}
	.per-top-white-box-border {
		display: none;
	}
	.per-skills-section {
		padding-top: 28px;
	}
	.per-skills-container {
		width: 100%;
		margin-left: 0;
		margin-right: 0;
	}
	.per-skills-title {
		font-size: 25px;
		line-height: 36px;
		margin-left: 15px;
		margin-right: 15px;
	}
	.per-skills-list {
		width: 100%;
	}
	.per-skills-list-item {
		font-size: 18px;
		font-weight: 400;
		line-height: 27px;
		letter-spacing: 0.04em;
	}
	.per-skills-image.dt {
		display: none;
	}
	.per-skills-image.mb {
		width: 230px;
		display: block;
		margin-left: auto;
		margin-right: 43px;
	}
	.per-wishes-container {
		width: 100%;
		padding-bottom: 0;
	}
	.per-wishes-intro {
		padding: 10px;
		width: calc(100% - 30px);
	}
	.per-wishes-intro-text {
		font-size: 20px;
		line-height: 37px;
	}
	.per-wishes-cta-text {
		font-size: 18px;
		line-height: 27px;
	}
	.per-register-btn {
		width: 345px;
	}
	.per-register-btn-left-label.top {
		font-size: 14px;
		line-height: 21px;
	}
	.per-register-btn-left-label.btm {
		font-size: 20px;
	}
	.per-register-btn-right-label {
		font-size: 20px;
		line-height: 29px;
	}
	.per-engineer-head-title {
		font-size: 18px;
		line-height: 26px;
	}
	.per-engineer-head-subtitle {
		font-size: 25px;
		line-height: 36px;
		margin-bottom: 18px;
	}
	.per-engineer-head-divider {
		margin-bottom: 46px;
	}
	.per-engineer-container {
		padding: 70px 0 90px 0;
	}
	.per-engineer-details {
		margin: 0 15px;
		column-gap: 0;
		row-gap: 22px;
		flex-direction: column-reverse;
	}
	.per-history-section {
		padding-top: 33px;
		padding-bottom: 52px;
	}
	.per-history-content {
		column-gap: 0;
		row-gap: 20px;
		flex-direction: column;
	}
	.per-history-title-top {
		font-size: 18px;
		line-height: 26px;
		letter-spacing: 0.04em;
		text-align: left;
		margin-bottom: 11px;
	}
	.per-history-title-btm {
		font-size: 25px;
		line-height: 36px;
		letter-spacing: 0;
		text-align: left;
		margin-bottom: 25px;
	}
	.per-history-title-btm .sp-smaller {
		font-size: 20px;
		letter-spacing: 0;
	}
	.per-history-box-title {
		font-size: 18px;
		line-height: 27px;
		margin-bottom: 33px;
	}
	.per-history-box-text {
		line-height: 35px;
	}
	.per-history-box.left-box .per-history-box-image {
		width: 63%;
	}
	.per-history-box.middle-box .per-history-box-image {
		width: 50%;
	}
	.per-history-box.right-box .per-history-box-image {
		width: 54%;
	}
	.per-skills-content {
		min-width: unset;
	}
	.per-intermediary-section {
		padding: 53px 0 93px 0;
	}
	.per-intermediary-head-title {
		font-size: 25px;
		line-height: 36px;
		letter-spacing: 0.02em;
		margin: 20px 0 59px 0;
	}
	.per-intermediary-head-title .title-hilite {
		font-size: 25px;
		line-height: 36px;
	}
	.per-intermediary-diagram.mb {
		width: 100%;
		display: block;
	}
	.per-intermediary-diagram.dt {
		display: none;
	}
	.per-flow-heading {
		height: 54px;
		padding: 0 0 0 10px;
	}
	.per-flow-heading:after {
		right: -53.5px;
		height: 54px;
		border-left: 54px solid #34a97d;
		border-top: 54px solid transparent;
	}
	.per-flow-heading-label {
		font-size: 25px;
		line-height: 52px;
		letter-spacing: 0;
	}
	.per-flow-heading-wrap {
	    padding: 23px 0 26px 0;
	}
	.per-flow-boxes {
		row-gap: 88px;
		column-gap: 0;
		padding-bottom: 75px;
		flex-direction: column;
	}
	.per-flow-box-title {
		height: unset;
		font-size: 20px;
		line-height: 25px;
		text-align: center;
		margin: 15px 0 10px 0;
	}
	.per-wishes-section {
		padding-top: 18px;
	}
	.per-faq-container {
		padding-top: 48px;
		padding-bottom: 74px;
	}
	.per-faq-items {
		margin-top: 18px;
	}
	.per-faq-item {
		padding-top: 30px;
	}
	.per-faq-item-text-q {
		font-size: 16px;
		line-height: 25px;
		letter-spacing: 0.02em;
	}
	.per-faq-item-q:before {
		width: 24px;
		height: 20px;
	}
	.per-faq-item-text-a {
		line-height: 27px;
	}
	.per-faq-item-a:before {
		width: 25px;
		height: 20px;
	}
	.per-jobs-section {
		padding-top: 48px;
		padding-bottom: 50px;
	}
	.per-jobs-head-title {
		font-size: 25px;
		line-height: 36px;
		margin-bottom: 32px;
	}
	.per-jobs-boxed-text {
		margin-bottom: 20px;
	}
	.per-jobs-list-job {
		padding: 20px 10px;
	}
	.per-jobs-title {
		font-size: 18px;
		line-height: 26px;
		padding-bottom: 15px;
		margin-bottom: 13px;
	}
	.per-jobs-salary {
		align-items: center;
	}
	.per-jobs-salary-label {
		font-size: 14px;
		line-height: 20px;
	}
	.per-jobs-salary-amount {
		font-size: 20px;
		line-height: 29px;
	}
	.per-jobs-tags {
		margin: 10px 0 20px 0;
	}
	.per-jobs-description {
		padding: 10px;
	}
	.per-jobs-description ul {
		padding-left: 8px;
	}
	.per-jobs-description ul li {
		position: relative;
		font-size: 14px;
		line-height: 20px;
		margin-left: 10px;
		margin-bottom: 17px;
	}
	.per-jobs-description ul li:before {
		top: 50%;
		left: -17px;
		position: absolute;
		transform: translateY(-50%);
	}
	.per-register-btn-wrap.job {
		margin-top: 26px;
	}
	.per-register-btn.job {
		width: 315px;
	}

	.section-engineer-form {
		padding-bottom: 58px;
	}
	.engineer-form-title {
		font-size: 25px;
		line-height: 36px;
		margin-bottom: 38px;
	}
	.engineer-form {
		margin: 0;
		width: 100%;
		max-width: unset;
		padding: 20px 0;
		border-radius: 0;
		box-shadow: unset;
	}
	.engineer-form-steps {
		column-gap: 0;
	}
	.engineer-form-step-icon {
		width: 80px;
	}
	.engineer-form-step:not(:last-child):after {
		right: -38px;
	}
	.cover-captcha {
		margin-top: 20px;
		margin-bottom: 10px;
	}
	.cover-captcha div {
		margin: 0;
	}
	
	.section-recruit-banner{
		max-width: 300px;
		margin: 0 auto;;
		padding: 0 15px;
	}
}

@media only screen and (max-width: 510px) {
	iframe.s-youtube {
		width: 90%;
		 height: 300px;
	}
	.spec-front {
		height: 50%;
	}

	.top-text h1 {
		font-size: 40px;
		padding: 15px;
	}

	.section-top {
		height: 360px;
	}

	.section-intro {
		margin-top: 320px;
	}

	.top-slide-bg {
		height: 360px;
	}

	.section-intro {
		padding-top: 30px;
	}

	.section-intro:before {
		background-position: 20%;
	}

	.section-pc h3 br {
		display: none;
	}

	.result-content {
		margin-bottom: 5px;
	}

	.result-content h3 {
		margin-top: 15px;
	}

	.ts-icon-box {
		max-width: 300px;
		margin:auto;
	}

	.mio-intro h2 {
		font-size: 30px;
	}

	.big-title {
		font-size: 24px;
	}

	.top-text h2.front-p {
		font-size: 18px;
	}

	.top-text h4 {
		font-size: 12px;
	}

	.result-content {
		text-align: center;
	}
	.margin-top-a {
		margin-top: 150px;
	}
	.margin-top-a h3 {
		font-size: 1.2rem;
	}
	div.rstc-last {
		padding: 20px;
	}
	h1.rstc-title-right {
		font-size: 24px;
		text-align: center;
	}

	.area-2 {
		text-align: center;
	}
	.naiyou-tag-last{
		margin-bottom: 20px;
	}
	
}

@media only screen and (max-width: 420px)  {
	.margin-top-a {
		margin-top: 250px;
	}
	.area-2 {
		width: 100%;
	}
	.naiyou-tag.naiyou-tag2.res-tag.res-100 {
		width: 100%;
	}
}

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

	.logo {
		padding: 15px 0;
	}

	.logo img {
		width: 30px;
		margin-bottom: 0;
	}

	.logo span {
		font-size: 12px;
		margin-bottom: 0;
	}

	.section-cover {
		margin-top: 60px;
		height: 200px;
	}

	.add-black-bg {
		padding: 30px 0;
	}

	.section-about {
		padding-bottom: 150px;
		background-size: 100%;
	}

	.logo-bottom {
		width: 50px;
	}

	.logo-bottom img {
		width: 100%;
	}

	.contact-info h4 {
		font-size: 18px;
	}

	footer .contact-info {
		width: 75%;
	}

	footer .contact-info p {
		font-size: 12px;
	}

	.top-text h1 {
		font-size: 30px;
	}

	h3 {
		font-size: 1.2rem;
	}

	.long-badge,
	.short-badge {
		font-size: 20px;
	}

	.service-white-box {
		padding: 10px;
		/* display: flex; */
		align-items: center;
		margin-bottom: 30px;
		height: 80%;
	}

	.oneline-box {
		display: block;
	}

	.os-btn {
		width: 100%;
		padding: 10px;
		font-size: 10px;
	}

	.in-a {
		width: 90%;
	}

	.result-box {
		padding: 15px;
	}

	.result-content h3,
	.result-content p {
		text-align: center;
	}

	.result-content p br {
		display: none;
	}

	.h-text-line h3,
	.h-text-line p {
		width: 100%;
	}

	.section-b-company p {
		font-size: 13px;
	}

	.company-table {
		font-size: 14px;
	}

	.company-table td.td-h {
		font-size: 12px;
	}

	.section-com-table h3 {
		font-size: 20px;
	}

	.com-box h4 {
		font-size: 18px;
	}

	.cover-logo img {
		max-width: 95%;
	}

	.section-ts-icon-white h3,
	.section-ts-icon-black h3,
	.section-ts-icon-black h4,
	.section-ts h3 {
		font-size: 20px;
	}

	.section-ts h4 {
		font-size: 18px;
	}

	.section-ts .ts-btn {
		width: 100%;
		margin: 0;
		margin-bottom: 15px;
		padding: 5px;
	}
	.section-ts .ts-btn-logged-in {
		width: 100%;
		margin: 0;
		margin-bottom: 15px;
		padding: 5px;
	}

	.ts-icon-box h4 {
		font-size: 18px;
	}

	.ts-icon-box .icon-title {
		height: 70px;
	}

	.ts-icon-box {
		margin-bottom: 30px;
	}

	.ts-btn,.ts-btn-logged-in {
		width: 100%;
		margin: 0;
		margin-bottom: 30px;
		padding: 10px;
	}

	.cover-text-rad {
		padding: 5px 15px;
	}

	.top-text h2.front-p {
		font-size: 16px;
	}
	.margin-top-a {
		margin-top:350px;
	}

	.box1
	{
		margin:0px 15px 0px 15px;
		padding: 15px 0px 15px 0px;
		text-align: left;
		border-bottom: #dddddd 1px solid;
	}
	.box1 p
	{
		margin: 0 0px 0px 0px;
		padding: 0px 0 0px 0;
		font-size: 14px;
		line-height: 1.4;
		color: #fff;
		text-align: left;
	}
	.box1 p span.tblkome
	{
		display: table-cell;
		vertical-align: top;
		padding-top: 0px;
		font-size: 11px;
		line-height: 1.8;
		color: #fff;
		text-align: left;
		font-family: 'Roboto', sans-serif;
		font-weight: 700;
	}
	.box1 p span.tbl
	{
		display: table-cell;
		font-size: 14px;
		line-height: 1.4;
		color: #fff;
		text-align: left;
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
	}
	.box2
	{
		margin:0px 15px 0px 15px;
		padding: 15px 0px 15px 0px;
		text-align: left;
	}
	.box2 h4
	{
		margin: 10px 0px 10px 0px;
		padding: 0px 0 0px 28px;
		text-align: left;
		font-size:16px;
		line-height: 1.5;
		color:#3aa373;
		font-weight: 700;
		background:url(../img/icon-mark2.png) no-repeat left center;
		background-size: auto;
	}
	.box2 p
	{
		margin: 0 0px 0px 28px;
		padding: 0px 0 0px 0;
		font-size: 14px;
		line-height: 1.5;
		color: #fff;
		text-align: left;
	}
	.box2 p span.tbl
	{
		display: table-cell;
		font-size: 14px;
		line-height: 1.5;
		color: #fff;
		text-align: left;
		font-family: 'Roboto', sans-serif;
		font-weight: 400;
	}
	
}
