@charset "UTF-8";

/* -----------------------------
		BASIC
-------------------------------*/
h2 {
	color: var(--main-color);
	letter-spacing: 0.2em;
	font-weight: normal;
}

h3 {
	color: var(--main-text-color);
	font-family: var(--jp-font);
	font-size: 24px;
	letter-spacing: 1.2px;
	line-height: 120%;
	font-weight: 700;
	width: 100%;
	max-width: 1000px;
	margin: auto auto 40px;
	text-align: left;
	display: flex;
	flex-direction: row;
	gap: 12px;
	align-items: center;
}

h3::before {
	content: "";
	width: 16px;
	height: 16px;
	background-color: var(--main-color);
}

h3 img {
	/* display: block;
	margin: 0 auto;
	padding-bottom: 28px; */
}

h3 small {
	/* display: block;
	padding-top: 22px;
	font-size: 18px; */
}

/* two column     -------------*/
.col2Wrap {
	/* font-size: 0; */
}

.column2 {
	display: inline-block;
	width: 50%;
}

/* lower title     -------------*/
.pageTit {
	padding-top: 60px;
	background-color: var(--background-section);
	position: relative;
}

.pageTit h2 {
	position: relative;
	bottom: -14px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 40px;
	align-items: center;
}

.pageTit h2 div {
	text-align: left;
	width: 1000px;
	margin: 0 auto;
	padding: 0 24px;
}

.pageTit .jpTit {
	font-size: 40px;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 2px;
	margin-bottom: 8px;
}

.recruit .pageTit .jpTit {
	margin-bottom: 0;
}

.pageTit .enTit {
	font-size: 16px;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 0.8px;
}

.pageTit img {
	max-width: 985px;
	height: auto;
	width: 100%;
	min-width: 500px;
}


/* table     -------------*/
dl.tableStyle {
	max-width: 1000px;
	/* width: 90%; */
	width: 100%;
	border-top: 1px solid var(--border-color);
	margin: 0 auto;
	text-align: left;
	font-size: 16px;
	line-height: 170%;
	letter-spacing: 0.8px;
}

dl.tableStyle div {
	border-bottom: 1px solid var(--border-color);
}

dl.tableStyle dt {
	width: 280px;
	float: left;
	line-height: 2;
	padding: 24px 0;
	font-weight: 700;
}

dl.tableStyle dd {
	margin-left: 280px;
	line-height: 2;
	padding: 24px 0;
	font-weight: 400;
}

/* contact     -------------*/
.contactWrap {
	padding: 60px 0;
	background: #0A50A0;
	color: #FFF;
}

.contactWrap .contactInner {
	margin-bottom: 32px;
}

.contactWrap .jpTit {
	color: #FFF;
	font-family: var(--jp-font);
	font-size: 28px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 1.4px;
	margin-bottom: 20px;
}

.contactWrap p {
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
	/* position: relative; */
}

.contactWrap .btnWrap a {
	display: inline-block;
	padding: 12px 60px;
	margin: 0 auto;
	border: unset;
	border-radius: 100px;
	background-color: #FFF;
	font-family: var(--jp-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
	color: var(--main-color);
	transition: all 0.2s;
}

.contactWrap .btnWrap a:hover {
	opacity: 0.8;
}

/* -----------------------------
		VISION
-------------------------------*/
.vision .commentWrap {
	padding-right: 40px;
	padding-left: 40px;
}

.vision .commentWrap.commentWrap_sakakibara {
	margin: 80px auto 60px;
}

.vision .commentInner {
	width: 100%;
	max-width: 1000px;
	margin: auto;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 80px;
}

.vision .commentWrap.commentWrap_funakoshi .commentInner {
	max-width: 880px;
	width: calc(100% - 120px);
	padding: 60px;
	background-color: var(--background-gray);
	border-radius: 16px;
	flex-direction: column;
	align-items: flex-start;
	gap: 40px;
}

.vision .textWrap {
	text-align: left;
	font-size: 16px;
	line-height: 170%;
	font-weight: 400;
	letter-spacing: 0.8px;
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.vision .commentWrap.commentWrap_funakoshi .textWrap {
	flex-direction: row;
	gap: 60px;
	align-content: flex-start;
}

.vision .commentTit {
	font-size: 32px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 1.6px;
}

.vision .commentWrap.commentWrap_funakoshi .commentTit {
	font-size: 24px;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 1.2px;
}

.vision .textInner .padding {
	padding-top: 20px;
}

.vision .commentWrap p.sign {
	text-align: right;
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.vision .commentWrap p.sign img {
	vertical-align: middle;
	width: 250px;
	height: auto;
	padding-left: 20px;
}

.vision .commentWrap img.img_sakakibara {
	width: 400px;
	height: 400px;
}

.vision .commentWrap img.img_funakoshi {
	width: 280px;
	height: 280px;
}

.vision .profileWrap {
	margin: 80px auto;
	padding: 0 40px;
}

.vision .accessWrap {
	width: 100%;
	background: var(--background-gray);
	display: flex;
	flex-direction: row;
}

.vision .mapWrap #map_canvas {
	width: 100%;
	height: 400px;
}

.vision .accessDit {
	width: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.vision .accessDit p {
	text-align: left;
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.vision .accessDit p:first-of-type {
	margin-bottom: 20px;
}

/* -----------------------------
		SERVICE
-------------------------------*/

/* ancor links    -------------*/
.ancListWrap {
	margin: 60px auto;
	padding: 0 20px;
}

.ancListWrap ul {
	margin: 0 auto;
	max-width: 1000px;
	display: flex;
	flex-wrap: wrap;
	column-gap: 32px;
	row-gap: 20px;
	width: 100%;
}

.ancListWrap ul li {
	white-space: nowrap;
}

.ancListWrap ul li a {
	display: flex;
	align-items: center;
	flex-direction: row;
	gap: 8px;
	text-decoration: none;
	font-size: 16px;

	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
	transition: all 0.2s;
}

.ancListWrap ul li a:hover {
	opacity: 0.6;
}

.ancListWrap ul li a::before {
	content: url("/common/img/icon-down.svg");
	width: 20px;
	height: 20px;
}

.service #scrollWrap {
	margin-bottom: 80px;
	padding: 0 20px;
}

.service .service-items {
	display: flex;
	flex-direction: row;
	gap: 80px;
	padding: 60px 0;
	margin: 0 auto;
	width: 100%;
	max-width: 1000px;
	align-items: center;
	border-bottom: 1px solid var(--border-color);
}

.service .service-items:first-of-type {
	border-top: 1px solid var(--border-color);
}

.service .service-items img {
	width: 120px;
	height: auto;
}

.service .service-items .itemTit {
	font-size: 24px;
	font-weight: 700;
	line-height: 150%;
	letter-spacing: 1.2px;
}

.service .service-items .dit {
	display: flex;
	flex-direction: column;
	gap: 24px;
	text-align: left;
	width: calc(100% - 200px);
}

.service .service-items .intro {
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.service .service-items ul {
	display: flex;
	gap: 24px;
	padding: 12px 20px;
	border-radius: 8px;
	background-color: var(--background-gray);
	flex-direction: row;
}

.service .service-items ul div {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.service .service-items li {
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;

	display: flex;
	flex-direction: row;
	gap: 8px;
	align-items: center;
}

.service .service-items li::before {
	content: "";
	width: 8px;
	height: 8px;
}

.service .service-items .linkBtn {
	display: block;
	padding: 12px 40px;
	border-radius: 200px;
	text-decoration: none;
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
	margin: 0 auto 0 0;
	transition: all 0.2s;
}

.service .service-items .linkBtn:hover {
	opacity: 0.6;
}

.service .app .itemTit {
	color: #007A55;
}

.service .app li::before {
	background-color: #007A55;
}

.service .infra .itemTit {
	color: #00786F;
}

.service .infra li::before {
	background-color: #00786F;
}

.service .dataservice .itemTit {
	color: #1E85A2;
}

.service .dataservice li::before {
	background-color: #1E85A2;
}

.service .itd .itemTit {
	color: #0069A8;
}

.service .itd li::before {
	background-color: #0069A8;
}

.service .uxdesign .itemTit {
	color: #1447E6;
}

.service .uxdesign li::before {
	background-color: #1447E6;
}

.service .design .itemTit {
	color: #432DD7;
}

.service .design li::before {
	background-color: #432DD7;
}

.service .qa .itemTit {
	color: #7008E7;
}

.service .qa li::before {
	background-color: #7008E7;
}

.service .itadmin .itemTit {
	color: #8200DB;
}

.service .itadmin li::before {
	background-color: #8200DB;
}

.service .rpa .itemTit {
	color: #007A55;
}

.service .rpa li::before {
	background-color: #007A55;
}

.service .rpa .linkBtn {
	color: #007A55;
	border: 1px solid #007A55;
}

.service .mad .itemTit {
	color: #00786F;
}

.service .mad li::before {
	background-color: #00786F;
}

.service .at .itemTit {
	color: #1E85A2;
}

.service .at li::before {
	background-color: #1E85A2;
}

.service .at .linkBtn {
	color: #1E85A2;
	border: 1px solid #1E85A2;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
}

.service .at .linkBtn::after {
	content: "";
	width: 24px;
	height: 24px;
	mask-image: url("/common/img/open_in_new.svg");
	mask-position: center center;
	mask-repeat: no-repeat;
	background: #1E85A2;
}

.service .bpr .itemTit {
	color: #0069A8;
}

.service .bpr li::before {
	background-color: #0069A8;
}

.service .env {
	background-color: var(--background-gray);
	padding: 80px 20px;
}

/* -----------------------------
		RPA
-------------------------------*/
.rpa .commentWrap {
	max-width: 880px;
	margin: 60px auto;
	padding: 40px 60px;
	border: 2px solid var(--main-color);
	border-radius: 16px;
}

.rpa .commentWrap p.commentTit {
	margin-bottom: 40px;
	font-size: 24px;
	color: var(--main-color);
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 1.2px;
}

.rpa .commentWrap .innerTxt {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.rpa .commentWrap .innerTxt p {
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
	text-align: left;
}

.rpa .requirementsWrap {
	margin-bottom: 80px;
}

.rpa .requirementsWrap .stepTit {
	max-width: 1000px;
	margin: 0 auto 40px;
	text-align: left;
}

.rpa .requirementsWrap .stepStyle {
	border: 1px solid var(--border-color);
	border-collapse: separate;
	border-radius: 16px;
	border-spacing: 0;
	margin: 0 auto 80px;
	text-align: left;
	max-width: 1000px;
	width: 100%;
}

.rpa .requirementsWrap .stepStyle th,
.rpa .requirementsWrap .stepStyle td {
	border-bottom: 1px solid var(--border-color);
	padding: 20px 20px;
}

.rpa .requirementsWrap .stepStyle th {
	color: var(--main-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.rpa .requirementsWrap .stepStyle td {
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.rpa .requirementsWrap .stepStyle tr:first-child th {
	border-radius: 16px 0 0 0;
}

.rpa .requirementsWrap .stepStyle tr:first-child td {
	border-radius: 0 16px 0 0;
}

.rpa .requirementsWrap .stepStyle tr:last-child th {
	border-bottom: none;
	border-radius: 0 0 0 16px;
}

.rpa .requirementsWrap .stepStyle tr:last-child td {
	border-bottom: none;
	border-radius: 0 0 16px 0;
}

.rpa .requirementsWrap .caseStudy {
	margin: 0 auto;
	max-width: 1000px;
	width: 100%;
	text-align: left;
	/* padding-top: 50px; */
	display: flex;
	flex-direction: column;
	gap: 32px;
}

.rpa .requirementsWrap .caseStudy li {
	/* padding-bottom: 50px; */
	/* margin-bottom: 32px; */
	padding: 32px 40px;
	background-color: var(--background-gray);
	border-radius: 16px;
}

.rpa .requirementsWrap .caseStudy h4 {
	margin-bottom: 20px;
	display: flex;
	flex-direction: row;
	gap: 12px;
	align-items: center;
}

.rpa .requirementsWrap .caseStudy .caseStudy-category {
	background-color: var(--background-label);
	border-radius: 2px;
	padding: 0 8px;

	color: #FFF;
	font-size: 12px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.6px;
}

.rpa .requirementsWrap .caseStudy .caseStudy-categoryName {
	font-size: 24px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 1.2px;
}

.rpa .requirementsWrap .caseStudy dl {
	width: 100%;
}

.rpa .requirementsWrap .caseStudy dl div {
	display: flex;
	flex-direction: row;
	align-items: center;
	padding: 16px 0;
	border-top: 1px solid var(--border-color);
}

.rpa .requirementsWrap .caseStudy dl div:last-of-type {
	padding-bottom: 0;
}

.rpa .requirementsWrap .caseStudy dl dt {
	width: 20%;
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.rpa .requirementsWrap .caseStudy dl dd {
	width: 80%;
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.rpa .requirementsWrap ol {
	list-style-position: inside;
}

.rpa .contactList {
	background: #dfebfa;
	padding: 70px 0;
}

.rpa .contactList ul {
	max-width: 1000px;
	width: 90%;
	margin: 0 auto;
	font-size: 0;
}

.rpa .contactList ul li {
	width: 31%;
	margin-right: 2%;
	border: 1px solid #0950a0;
	padding: 36px 0;
	text-align: center;
	display: inline-block;
	font-size: 16px;
	vertical-align: top;
	color: #0950a0;
	line-height: 1.6;
	font-family: var(--jp-font);

}

.rpa .contactList ul li:last-child {
	margin-right: 0 !important;
}

.rpa .contactList ul li .campanyName {
	font-size: 18px;
	padding: 10px 0;
}

.rpa .contactList ul li .address {
	font-size: 14px;
}

.rpa .contactList ul li .tel {
	font-size: 28px;
	padding: 18px 0 5px 0;
}

.rpa .contactList ul li .mail {
	padding-top: 3px;
}

.rpa .contactList ul li .btnWrap a {
	margin-top: 10px;
}

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

	.rpa .commentWrap {
		margin: 40px 20px 80px;
		padding: 40px 20px;
	}

	.rpa .commentWrap p.commentTit {
		margin-bottom: 28px;
		font-size: 18px;
		letter-spacing: 0.9px;
	}

	.rpa .requirementsWrap {
		margin: 0 20px 80px;
	}

	.rpa .requirementsWrap .stepStyle th,
	.rpa .requirementsWrap .stepStyle td {
		display: block;
	}

	.rpa .requirementsWrap .stepStyle th {
		border-bottom: 0;
		padding: 24px 24px 0 24px;
		margin-bottom: 16px;
	}

	.rpa .requirementsWrap .stepStyle td {
		padding: 0 24px 24px 24px;
	}

	.rpa .requirementsWrap .caseStudy h4 {
		flex-direction: column;
		align-items: flex-start;
	}

	.rpa .requirementsWrap .caseStudy .caseStudy-categoryName {
		font-size: 20px;
		letter-spacing: 1px;
	}

	.rpa .requirementsWrap .caseStudy dl div {
		flex-direction: column;
		gap: 12px;
		align-items: flex-start;
	}

	.rpa .requirementsWrap .caseStudy dl dt,
	.rpa .requirementsWrap .caseStudy dl dd {
		width: 100%;
	}
}

/* -----------------------------
		MEMBER
-------------------------------*/

/* MEMBER 一覧 */
.member .memberListWrap {
	margin: 80px auto;
}

.member .memberList {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: center;
	gap: 40px;
}

.member .memberList li {
	width: 220px;
	text-align: left;
}

.member .memberList li a {
	color: var(--main-text-color);
	text-decoration: none;
}

.member .memberList li a:hover {
	opacity: 0.6;
}

.member .memberList li img {
	width: 100%;
	aspect-ratio: 1/1;
	margin-bottom: 16px;
}

.member .memberList li p.name {
	font-family: var(--en-font);
	font-size: 24px;
	font-weight: 700;
	line-height: 120%;
	margin-bottom: 8px;
}

.member .memberList li p.dep {
	color: var(--main-color);
	font-size: 12px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.6px;
}

.memberHover a img {
	border-radius: 16px;
	transition: all 0.2s;
}


/* MEMBER 詳細 */
.member .panel {
	margin: 80px 0;
	display: flex;
	flex-direction: column;
	row-gap: 80px;
	padding: 0 20px;
}

.member .panel .head {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	display: flex;
	gap: 40px;
}

.member .panel .head .imgWrap {
	display: inline-block;
	width: 50%;
	aspect-ratio: 5/3;
	overflow: hidden;
	border-radius: 16px;
}

.member .panel .head .imgWrap img {
	height: 100%;
	position: relative;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.member .head .title {
	display: inline-block;
	width: 50%;
	height: 300px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.member .head .title h3 {
	font-size: 32px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 1.6px;
	text-align: left;
	margin: 0;
	width: unset;
	display: block;
}

.member .head .title h3::before {
	display: none;
}

.member .head .title .nameWrap {
	display: block;
	font-size: 16px;
	line-height: 1.5;
}

.member .head .title .nameWrap .dep {
	color: var(--main-color);
	text-align: right;
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.member .head .title .nameWrap .name {
	color: var(--main-text-color);
	text-align: right;
	font-size: 20px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 1px;
}

.member .panel section {
	text-align: left;
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}

.member .panel section h4 {
	color: var(--main-text-color);
	font-family: var(--jp-font);
	font-size: 24px;
	letter-spacing: 1.2px;
	line-height: 120%;
	font-weight: 700;
	width: 100%;
	max-width: 1000px;
	margin: auto auto 40px;
	text-align: left;
	display: flex;
	flex-direction: row;
	gap: 12px;
	align-items: center;
}

.member .panel section h4::before {
	content: "";
	width: 16px;
	height: 16px;
	background-color: var(--main-color);
}

.member .panel section img {
	float: right;
	max-width: 250px;
	width: 40%;
	height: auto;
	margin-left: 40px;
	border-radius: 16px;
}

.member .panel section p {
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.member .panel .memFooterWrap {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
}

.member .panel .memFooter {
	text-align: left;
	padding: 20px 0;
	border-radius: 16px;
	background: var(--background-gray, #F6F6F6);
	padding: 40px;
}

.member .panel .memFooter tr {
	display: flex;
	flex-direction: row;
	gap: 40px;
}

.member .panel .memFooter td p.thumb {
	width: 160px;
	height: 160px;
	overflow: hidden;
	border-radius: 16px;
}

.member .panel .memFooter td p.thumb img {
	height: 100%;
	position: relative;
	left: 50%;
	transform: translateX(-50%);
}

.member .panel .memFooter td p.thumb_MATSUNAMI img {
	left: 0;
	transform: unset;
}

.member .panel .memFooter td p.thumb_MOMO_CHAN img {
	left: 0;
	top: unset;
	transform: unset;
}

.member .panel .memFooter td p.thumb_MOSSAN img,
.member .panel .memFooter td p.thumb_NADARU img {
	left: -100px;
	transform: unset;
}

.member .panel .memFooter .rightWrap {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.member .panel .memFooter .rightWrap h4 {
	color: var(--main-color);
	font-size: 20px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 1px;
}

.member .panel .memFooter .rightWrap p {
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.member .panel .memFooter .rightWrap .memFooterHobby {
	font-size: 14px;
	font-weight: bold;
	color: #0950a0;
}

.member .linkBtnWrap {
	margin: 0 auto;
	display: block;
}

.member .linkBtn {
	color: var(--main-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
	border: 1px solid var(--main-color);
	border-radius: 200px;
	padding: 12px 40px;
	text-align: center;
	transition: all 0.1s ease 0s;
	text-decoration: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
}

.member .linkBtn::before {
	content: "";
	width: 24px;
	height: 24px;
	mask-image: url(/common/img/icon-arrowBack.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	background: #144994;
}


.member .linkBtn:hover {
	opacity: 0.8;
}

/* member_noindex */
.member h3.noIndexText {
	justify-content: center;
}

.member h3.noIndexText::before {
	display: none;
}

/* -----------------------------
		RECRUIT
-------------------------------*/

/* RECRUIT 一覧 */
.recruit .commentWrap {
	max-width: 1000px;
	margin: 80px auto;
	padding: 0 20px;
}

.recruit .commentWrap .commentInner {
	border-radius: 16px;
	border: 2px solid var(--main-color);
	display: flex;
	padding: 40px 60px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 40px;
	align-self: stretch;
}

.recruit .commentWrap .commentInner p.commentTit {
	text-align: center;
	color: var(--main-color);
	font-size: 24px;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 1.2px;
}

.recruit .commentWrap .commentInner .innerTxt {
	text-align: left;
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.recruit .joblistWrap {
	max-width: 1000px;
	margin: 0 auto 80px;
	padding: 0 20px;
}

.recruit .jobList {
	width: 100%;
	margin-bottom: 40px;
}

.recruit .jobList dd li a {
	text-decoration: none;
	display: inline-block;
	transition-duration: 0.5s;
	text-decoration: underline;
}

.recruit .jobList dd li a:hover {
	text-decoration: none;
}

.recruit .jobList ul {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.recruit .jobList ul.satelliteoffice {
	margin-top: 24px;
}

.recruit .jobList ul.satelliteoffice p {
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.recruit .oiwaikinInner {
	border-radius: 16px;
	background: var(--background-section);
	display: flex;
	padding: 24px 60px;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 16px;
}

.recruit .oiwaikinInner .oiwaikinTit {
	color: var(--main-color);
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	line-height: 120%;
	letter-spacing: 1.2px;
}

.recruit .oiwaikinInner .oiwaikinTit span {
	font-size: 40px;
	letter-spacing: 2px;
}

.recruit .oiwaikinInner .oiwaikinNote {
	text-align: center;
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.recruit .oiwaikinInner a {
	padding: 12px 60px;
	border-radius: 100px;
	background: var(--main-color);
	text-decoration: none;
	color: #FFF;
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.recruit .oiwaikinInner a:hover {
	opacity: 0.8;
}

.recruit .flowWrap {
	max-width: 1000px;
	margin: 0 auto 80px;
	padding: 0 20px;
}

.recruit .flowWrap .flow {
	display: flex;
	flex-direction: row;
	gap: 8px;
	align-items: center;
	margin-bottom: 16px;
}

.recruit dl.stepItem {
	display: flex;
	min-width: 123px;
	height: 200px;
	padding: 12px 20px;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	border-radius: 20px;
	background: var(--background-gray);
}

.recruit .stepItem dt {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--border-color);
}

.recruit .stepItem dt .no {
	color: var(--main-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.recruit .stepItem dd {
	text-align: center;
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.recruit .stepItem dt p {
	font-size: 20px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 1px;
}

.recruit .flowWrap .arrowRight {
	width: 32px;
	height: 23px;
	background: url("/common/img/recruit/icon-flowArrowRight.svg") no-repeat;
}

.recruit .flowWrap .flowNote {
	color: var(--sub-text-color);
	font-size: 12px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.6px;
	text-align: left;
}

.recruit .contactList {
	background-color: var(--main-color);
	padding: 60px 20px;
}

.recruit .contactList ul {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
}

.recruit .contactList ul li {
	width: 31%;
	text-align: center;
	display: inline-block;
	font-size: 16px;
	color: var(--main-color);
	background-color: #FFF;
	border-radius: 16px;
	padding: 20px 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
	align-items: center;
}

.recruit .contactList ul li .campanyName {
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.recruit .contactList ul li .address {
	font-size: 12px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.6px;
}

.recruit .contactList ul li .tel a,
.recruit .contactList ul li .mail a {
	color: var(--main-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
	text-decoration: none;
}

.recruit .contactList ul li .tel a:hover,
.recruit .contactList ul li .mail a:hover {
	opacity: 0.8;
}


/* RECRUIT 詳細 */

.recruit .requirementsWrap {
	margin: 80px 0;
	padding: 0 20px;
}

.recruit .oiwaikinWrap {
	margin: 0 auto 80px;
	padding: 0 20px;
	max-width: 1000px;
}


.recruit .linkBtnWrap {
	display: inline-block;
	margin: 80px auto;
}

.recruit .linkBtn {
	color: var(--main-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
	border: 1px solid var(--main-color);
	border-radius: 200px;
	padding: 12px 40px;
	text-align: center;
	transition: all 0.1s ease 0s;
	text-decoration: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
}

.recruit .linkBtn::before {
	content: "";
	width: 24px;
	height: 24px;
	mask-image: url(/common/img/icon-arrowBack.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	background: #144994;
}

.recruit .linkBtn:hover {
	opacity: 0.8;
}

/* RECRUIT_noindex */
.recruit .recruitNoIndex h3 {
	justify-content: center;
}

.recruit .recruitNoIndex h3::before {
	display: none;
}

/* -----------------------------
		NEWS
-------------------------------*/
.news .lowerNewsWrap {
	max-width: 1000px;
	width: 90%;
	margin: 60px auto;
	text-align: left;
	line-height: 1.6;
}

.news .lowerNewsWrap li {
	border-bottom: 1px solid var(--border-color);
	padding: 30px 0;
	font-size: 0;
}

.news .lowerNewsWrap li:first-of-type {
	border-top: 1px solid var(--border-color);
}

.news .lowerNewsWrap li span {
	font-size: 14px;
	display: inline-block;
	vertical-align: top;
}

.news .lowerNewsWrap li .date {
	width: 12%;
	padding-left: 2%;
	min-width: 100px;
}

.news .lowerNewsWrap li .txt {
	width: 84%;
	padding-right: 2%;
}

.news .lowerNewsWrap li a {
	text-decoration: underline;
}

.news .lowerNewsWrap li a:hover {
	text-decoration: none;
}

/* NEWS 詳細ページ */
.news .panel {
	max-width: 1000px;
	margin: 80px auto;
	padding: 0 20px;
}

.news .panel h3 {
	color: var(--main-color);
	font-size: 32px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 1.6px;
}

.news .panel h3::before {
	display: none;
}

.news .panel .sectionsWrap {
	margin-bottom: 80px;
}

.news .panel .sectionsWrap section {
	margin-bottom: 20px;
	text-align: left;
	color: var(--main-text-color);
	font-size: 16px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.news .panel .sectionsWrap section:last-of-type {
	margin-bottom: unset;
}

.news .panel section h4 {
	font-size: 20px;
	letter-spacing: 1.2px;
	line-height: 120%;
	font-weight: 700;
	width: 100%;
	margin-bottom: 8px;
	text-align: left;
	display: flex;
	flex-direction: row;
	gap: 12px;
	align-items: center;
}

.news .panel section h4 ::before {
	content: "";
	width: 16px;
	height: 16px;
	background-color: var(--main-text-color);
}

.news .panel .linkBtnWrap {
	margin: 0 auto;
	display: inline-block;
}

.news .panel .linkBtn {
	color: var(--main-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
	border: 1px solid var(--main-color);
	border-radius: 200px;
	padding: 12px 40px;
	text-align: center;
	transition: all 0.1s ease 0s;
	text-decoration: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
}

.news .panel .linkBtn:hover {
	opacity: 0.8;
}

.news .panel .linkBtn::before {
	content: "";
	width: 24px;
	height: 24px;
	mask-image: url(/common/img/icon-arrowBack.svg);
	mask-position: center center;
	mask-repeat: no-repeat;
	background: #144994;
}


@media screen and (max-width: 1000px) {
	.news .lowerNewsWrap li .txt {
		width: 80%;
	}
}

/* -----------------------------
		TERMS, PRIVACY, 
-------------------------------*/
.policies .precautions {
	line-height: 1.8;
	margin-bottom: 12%;
}

.policies .pageTit,
.precautions .pageTit {
	background: #e6edf5;
}

.policies .pageTit h2,
.precautions .pageTit h2 {
	font-size: 16px;
	padding: 20px 0;
}

.policies .pageTit h2 span,
.precautions .pageTit h2 span {
	display: block;
	font-size: 34px;
	font-weight: 500;
	letter-spacing: 0.2em;
}

dl.txtStyle01,
.txtStyle02 {
	max-width: 1000px;
	width: 90%;
	margin: 40px auto;
	line-height: 1.8;
}

dl.txtStyle01 dt {
	color: #0950a0;
	letter-spacing: 0.2em;
	margin-bottom: 10px;
	/* font-family: "mplus-1m-regular", sans-serif; */
	font-family: var(--jp-font);
	text-align: left;
}

dl.txtStyle01 dd,
.txtStyle02 li {
	margin-bottom: 40px;
	text-align: left;
}

.txtStyle02 ol {
	list-style-position: inside;
	/* margin-top: 40px; */
}

.txtStyle02 a {
	text-decoration: underline;
}

.txtStyle02 a:hover {
	text-decoration: none;
}

.txtStyle02 .contactWrap {
	text-align: left;
}

.txtStyle02 .ruleSetDate {
	text-align: left;
	margin-bottom: 30px;
	display: flex;
	justify-content: left;
}

.txtStyle02 .ceoName {
	text-align: left;
	margin-bottom: 90px;
	display: flex;
	justify-content: right;
}

.txtStyle02 .txtStyle02_inner ol,
.txtStyle02 .txtStyle02_inner01 ol,
.txtStyle02 .txtStyle02_inner_noIndent ol {
	list-style-type: none;
	margin-top: 0;
}

.txtStyle02 .txtStyle02_inner ol li,
.txtStyle02 .txtStyle02_inner02 ol li,
.txtStyle02 .txtStyle02_inner01 ol li,
.txtStyle02 .txtStyle02_inner_noIndent ol li ol li .contactWrap p {
	/* text-indent: 1em; */
	padding-left: 1em;
	list-style-type: none;
}

.txtStyle02 .txtStyle02_inner ol li ol,
.txtStyle02 .txtStyle02_inner02 ol li ol {
	list-style-type: none;
}

.txtStyle02 .txtStyle02_inner01 ol li ol li {
	list-style: none;
	margin-bottom: 5px;
	padding-left: 2em;
	position: relative;
	text-indent: -1em;
}

.txtStyle02 .txtStyle02_inner02 ol li ol li {
	list-style: none;
	margin-bottom: 5px;
	padding-left: 1.5em;
	position: relative;
}

.txtStyle02 .txtStyle02_inner ol li ol p {
	padding-left: 2em;
	text-indent: -1.5em;
}

/* .txtStyle02 .txtStyle02_inner02 ol li ol li p {
	padding-left: 2em;
	text-indent: -1.5em;
} */

/* -----------------------------
		CONTACT
-------------------------------*/
.wrapperWidth {
	max-width: 1000px;
	margin: 80px auto;
	padding: 0 20px;
	text-align: left;
}

.formMessage {
	margin-bottom: 40px;
}

.formMessage p {
	font-size: 20px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 1px;
}

.formMessage p.formMessage-note {
	font-size: 16px;
	line-height: 1.0;
	margin-top: 8px;
}

.form dl {
	display: flex;
	flex-direction: column;
	margin-bottom: 80px;
}

.form .formItem {
	border-top: 1px solid var(--border-color);
	padding: 24px 0;
	display: flex;
	flex-direction: row;
}

.form .formItem:last-of-type {
	border-bottom: 1px solid var(--border-color);
}

.form dt {
	width: 20%;
	min-width: 180px;
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.form dd {
	width: 80%;
}

.form input[type=text],
.form input[type=email],
.form input[type=tel],
.form textarea {
	border: 1px solid #A7A9AF;
	border-radius: 8px;
	padding: 12px 16px;
	background-color: #FFF;
	font-family: var(--jp-font);
}

.form input[type=text] {
	width: 180px;
}

.form input[type=email],
.form input[type=tel] {
	width: 40%;
}

.form input::placeholder,
.form textarea::placeholder {
	color: #999999;
}

.form textarea {
	width: calc(100% - 32px);
}

.form span {
	color: var(--text-must);
	padding-left: 4px;
}

.form dl dd .radioWrap {
	display: flex;
	flex-wrap: wrap;
	border: none;
	padding: 0;
	row-gap: 12px;
	column-gap: 24px;
}

.form dl dd .radioWrap label {
	display: flex;
	align-items: center;
	position: relative;
	cursor: pointer;
}

.form dl dd .radioWrap input[type=radio] {
	appearance: auto;
	-webkit-appearance: auto;
	cursor: pointer;
	accent-color: var(--main-color);
}

.form dl dd .radioWrap label span {
	color: var(--main-text-color);
	padding-left: 12px;
	padding-right: 8px;
}

.form dl dd.twoCol {
	display: flex;
	flex-direction: row;
	gap: 24px;
}

.form .checkArea {
	text-align: center;
	margin: 0 auto 80px;
}

.form .checkArea p {
	margin-bottom: 20px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0.8px;
}

.form .checkArea label {
	display: block;
	font-size: 20px;
	font-weight: 400;
	line-height: 150%;
	letter-spacing: 1;
	cursor: pointer;
	color: var(--main-text-color);
}

.form .checkArea label input[type="checkbox" i] {
	margin: 3px 11px 3px 3px;
	cursor: pointer;
	accent-color: var(--main-color);
}

.form .checkArea a {
	display: inline-block;
}

.form .btnWrap input {
	margin: 0 auto;
	background-color: #FFF;
	color: var(--main-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
	border: 1px solid var(--main-color);
	border-radius: 200px;
	padding: 12px 40px;
	text-align: center;
	transition: all 0.1s ease 0s;
	text-decoration: none;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 8px;
}

.form .btnWrap input:hover {
	opacity: 0.8;
	cursor: pointer;
}

/* CONTACT thanksページ */
.contactThanks .thanksMessage {
	font-size: 24px;
	letter-spacing: 1.2px;
	line-height: 120%;
	font-weight: 700;
	flex-direction: row;
	gap: 12px;
	text-align: center;
	margin-bottom: 40px;
}

.contactThanks .thanksMessageSub {
	font-size: 20px;
	text-align: center;
	line-height: 1.6;
	margin-bottom: 80px;
}

.contactThanks .btnWrap {
	text-align: center;
}

.contactThanks .btnWrap a {
	display: inline-block;
	background-color: #FFF;
	color: var(--main-color);
	font-size: 16px;
	font-weight: 700;
	line-height: 170%;
	letter-spacing: 0.8px;
	border: 1px solid var(--main-color);
	border-radius: 200px;
	padding: 12px 40px;
	text-align: center;
	transition: all 0.1s ease 0s;
	text-decoration: none;
}

.contactThanks .btnWrap a:hover {
	opacity: 0.8;
}