.bold{	font-weight: bold;}

/*text-align*/
.left{ text-align: left;}
.center{ text-align: center;}
.right{ text-align: right;}

/*margin*/
.mT10{ margin-top: 10px;}
.mT16{ margin-top: 16px;}
.mT20{ margin-top: 20px;}
.mT24{ margin-top: 24px;}
.mT30{ margin-top: 30px;}
.mT40{ margin-top: 40px;}
.mT50{ margin-top: 50px;}
.mT60{ margin-top: 60px;}
@media (max-width: 768px){
	.mT60{ margin-top: 40px;}
}

/*font-size*/
.f12{ font-size: 12px;}
.f14{ font-size: 14px;}
.f16{ font-size: 16px; line-height: 2;}
.f18{ font-size: 18px;}
.f20{ font-size: 20px;}
.f24{ font-size: 24px;}

@media (max-width: 768px) {
	.f16{
		font-size: 14px;
		line-height: 1.7;
	}
	.f24{
		font-size: 18px;
	}
}

/*flex*/
.flexBox{ display: flex;}
.ac{ align-items: center;}
.as{ align-items: start;}
.ae{ align-items: end;}
.jsb{ justify-content: space-between;}

.btn{
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 24px;
	line-height: 180%;
	
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 16px 32px;
	margin: 0 auto;
	gap: 8px;
	width: 240px;

	background: linear-gradient(90deg, #49447C 0%, #458FD5 100%);
	border-radius: 1000px;
	color: #fff;
	text-decoration: none;

	position: relative;
	z-index: 1;
	border: solid 1px #fff;
	transition: 0.3s;
	max-height: 72px;
}

.btn:hover{
	background: #fff;
	color: #49447C;
	border-color: #49447C;
}
.text .red{	color: #e4444a;}
.bgBlue{ background-color: #f2f3f8;}
.section_header{
	justify-content: center;
}
.section_title{
	text-align: center;
}
.section_title .en{
	font-size: 40px;
	color: #151515;
	text-align: center;
}
h3{
	font-size: 32px;
	line-height: 180%;
	font-weight: 500;
	color: #49447C;
	margin-bottom: 24px;
	line-height: 1.5em;
}

@media (max-width: 768px){
	.section_header{ margin-bottom: 30px;}
	.section_title .en{	font-size: 28px;}
	.section_title .ja{	font-size: 20px;}
	h3{	font-size: 22px;}
	.flexBox{ flex-flow: column;}
}




.content_header {
	height: 400px;
	background: url('../images/content_header_line.svg') no-repeat left bottom -100px/100%, #F2F3F8;
	border-radius: 0 0 0 100px;
	position: relative;

}


.content_header .title {
	position: absolute;
	top: 140px;
	left: 260px;
	display: flex;
	flex-direction: column;
	align-items: start;
	justify-content: start;
}

.content_header .title .category {
	/* H4-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 24px;
	line-height: 180%;
	color: #E4444A;
	padding-bottom: 10px;
	border-bottom: 4px solid #E4444A;
	margin-bottom: 10px;
	min-height: 2.3em;
}

.content_header .title .page {
	position: relative;
	overflow: hidden;
}

.content_header .title .page>div {
	/* H1-EN */
	font-family: 'Poppins' , 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	font-size: 96px;
	line-height: 120%;
	/* または115px */
	color: #49447C;
	transition: top 0.8s ease;
	position: relative;
	top: 120px;
}

.content_header.on .title .page>div {
	top: 0;
	animation-fill-mode: forwards;
}

.content_header .breadcrumbs {
	position: absolute;
	bottom: 24px;
	right: 240px;
	opacity: 0;
}


.content_header.on .breadcrumbs {
	animation: fade 0.8s ease;
	animation-delay: 1.5s;
	animation-fill-mode: forwards;
}

.content_header .breadcrumbs span {
	/* body-sm-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 14px;
	line-height: 180%;
	/* または25px */
	color: #151515;
}
.aioseo-breadcrumb-separator{
	color: #B0B0B0 !important;
	padding: 0 12px;
}

.content_header .breadcrumbs span a {
	color: #B0B0B0;
	text-decoration: none;
}

/* .content_header .breadcrumbs span:not(:last-child)::after {
	content: '>';
	display: inline-block;
	margin: 0 10px;
	color: #B0B0B0;
} */

main {
	padding: 80px 0 167px;
}



/* ========================================
   MVV
======================================== */
.mvv_kv {
	height: 427px;
	background: url('../images/mvv_kv.webp') no-repeat center right/contain;
	margin-bottom: 160px;
}

.mvv_kv .inner {
	max-width: 1440px;
	height: 100%;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 0 20px;
}

.mvv_kv .head {
	position: relative;
	overflow: hidden;
}

.mvv_kv .head>div {
	/* H2-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	font-size: 48px;
	line-height: 150%;
	/* ボックスの高さと同一、または72px */

	background: linear-gradient(273.82deg, #458FD5 81.47%, #E4444A 88.27%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	background-clip: text;
	text-fill-color: transparent;
	margin-bottom: 10px;

	position: relative;
	left: -100%;
	transition: left 0.8s ease;
}

.mvv_kv.on .head>div {
	left: 0;
}

.mvv_kv .text {
	/* H2-JP */
	font-family: 'Poppins' , 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 48px;
	line-height: 120%;
	/* または58px */

	color: #49447C;
	opacity: 0;
}
.mvv_kv.on .text {
	animation: fade 0.8s ease;
	animation-delay: 1s;
	animation-fill-mode: forwards;
}

.mvv_kv .text span {

	font-size: 32px;
}



.content_block {
	padding: 56px 0 140px;
	position: relative;
	margin-bottom: 160px;
}

.content_block::before {
	position: absolute;
	content: '';
	top: 0;
	left: -100%;
	width: calc(100vw - ((100vw - 1440px) / 2));
	height: 100%;
	background: url('../images/content_header_line.svg') no-repeat left bottom -100px/100%, #F2F3F8;
	border-radius: 0 40px 40px 0;
	z-index: -1;
	transition: left 0.8s ease;

}
.content_block.on::before {
	left: 0;
}

.content_block .inner {
	max-width: 1440px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: start;
	padding: 0 20px;
}

.content_block .title,
.titleLower {
	margin-bottom: 40px;
	opacity: 0;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: start;
	justify-content: start;
}
.titleLower{
	opacity: 1;
}
.content_block.on .title {
	animation: fadeUp 0.8s ease;
	animation-delay: 1s;
	animation-fill-mode: forwards;
}

.content_block .title .ja,
.titleLower .ja {
	/* H4-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 24px;
	line-height: 180%;
	color: #E4444A;
	padding-bottom: 10px;
	border-bottom: 4px solid #E4444A;
	margin-bottom: 10px;
}

.content_block .title .en,
.titleLower .en {
	/* H2-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 48px;
	line-height: 120%;
	/* ボックスの高さと同一、または58px */
	color: #151515;
}

.content_block .text {
	/* body-md-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 16px;
	line-height: 180%;
	/* または29px */
	text-align: justify;
	color: #151515;
	opacity: 0;
	position: relative;
}
.content_block.on .text {
	animation: fadeUp 0.8s ease;
	animation-delay: 1.5s;
	animation-fill-mode: forwards;
}

.mvv_box {
	background: #F2F3F8;
	padding: 100px 0 140px;
	margin-bottom: 180px;
	text-align: center;
}

.mvv_box>.title {
	text-align: center;
	display: inline-block;
	margin: 0 auto 127px;

}

.mvv_box>.title .ja {
	/* H4-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 24px;
	line-height: 180%;
	color: #E4444A;
	padding-bottom: 10px;
	border-bottom: 4px solid #E4444A;
	margin-bottom: 10px;
}

.mvv_box>.title .en {
	/* H2-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 48px;
	line-height: 120%;
	/* ボックスの高さと同一、または58px */
	color: #49447C;
}

.content_block2 {
	padding: 56px 0 0;
	position: relative;
}

.content_block2:not(:last-child) {
	margin-bottom: 224px;

}

.content_block2::before {
	position: absolute;
	content: '';
	top: 0;
	width: calc(100vw - ((100vw - 1440px) / 2) + 100px);
	height: 100%;
	z-index: 0;
	overflow: hidden;

}

.content_block2.on:nth-child(odd):before {
	right: 0;
}

.content_block2.on:nth-child(even):before {
	left: 0;
}

.content_block2:nth-child(1):before {
	background: url('../images/content_header_bg_1.svg') no-repeat right bottom/120%, rgba(27, 16, 55, 0.7);
	border-radius: 40px 0 0 8px;
	right: -100%;
	transition: right 0.8s ease;
}

.content_block2:nth-child(2):before {
	background: url('../images/content_header_bg_2.svg') no-repeat left bottom/120%, rgba(73, 68, 124, 0.06);
	border-radius: 0 8px 8px 0;
	left: -100%;
	transition: left 0.8s ease;
}

.content_block2:nth-child(3):before {
	background: url('../images/content_header_bg_1.svg') no-repeat right bottom/120%, rgba(27, 16, 55, 0.7);
	border-radius: 8px 0 0 40px;
	right: -100%;
	transition: right 0.8s ease;
}
.content_block2::before {

}

.content_block2 .inner {
	max-width: 1440px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: start;
	position: relative;
}

.content_block2 .white {
	max-width: 980px;
	padding: 56px 80px;
	position: relative;
	z-index: 1;
	background: #fff;
	min-height: 427px;
	display: flex;
	flex-direction: column;
	align-items: start;
	opacity: 0;
}
.content_block2.on .white {
	animation: fadeUp 0.8s ease;
	animation-delay: .5s;
	animation-fill-mode: forwards;
}

.content_block2:nth-child(odd) .white {
	align-items: start;
}

.content_block2:nth-child(even) .white {
	margin-left: auto;
}

.content_block2 .image {
	position: absolute;
	width: 540px;
	bottom: 130px;
	z-index: 2;
}


.content_block2:nth-child(odd) .white {
	align-items: start;
}

.content_block2:nth-child(even) .white {
	margin-left: auto;
}

.content_block2:nth-child(odd) .image {
	/*right: 0;*/
	left: 72%;
}

.content_block2:nth-child(even) .image {
	/*left: 0;*/
	right: 70%;
}

.content_block2 .image img {
	width: 100%;
	z-index: 1;
	position: relative;
	height: auto;
	opacity: 0;
}
.content_block2.on .image img{
	animation: fadeUp 0.8s ease;
	animation-delay: 1s;
	animation-fill-mode: forwards;
}

.content_block2 .title {
	margin-bottom: 40px;
	text-align: left;
	display: flex;
	flex-direction: column;
	align-items: start;
	justify-content: start;
}

.content_block2 .title .ja {
	/* H4-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 24px;
	line-height: 180%;
	color: #E4444A;
	padding-bottom: 10px;
	border-bottom: 4px solid #E4444A;
	margin-bottom: 10px;
}

.content_block2 .title .en {
	/* H2-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 48px;
	line-height: 120%;
	/* ボックスの高さと同一、または58px */
	color: #151515;
}

.content_block2 .text {
	/* body-md-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	font-size: 16px;
	line-height: 180%;
	/* または29px */
	text-align: justify;
	color: #151515;
}

.content_block2 .word {
	position: absolute;
	bottom: 0;
	z-index: 0;
}

.content_block2:nth-child(odd) .word {
	right: -100vw;
}

.content_block2:nth-child(even) .word {
	left: -100vw;
}



.content_block2.on:nth-child(odd) .word {
	right: -220px;
	transition: right 0.8s ease;
}

.content_block2.on:nth-child(even) .word {
	left: -220px;
	transition: left 0.8s ease;
}









@media screen and (max-width: 1399px) {
	.content_header {
		height: 200px;
		background: url('../images/content_header_line.svg') no-repeat right -130px bottom -20px/180%, #F2F3F8;
		border-radius: 0 0 0 50px;
	}


	.content_header .title {
		top: 86px;
		left: 150px
	}

	.content_header .title .category {
		font-size: 16px;
		padding-bottom: 5px;
	}

	.content_header .title .page {
		font-size: 56px;
	}
	.content_header .title .page>div{
		font-size: 45px;
	}
	.content_header .breadcrumbs {
		position: absolute;
		bottom: 12px;
		right: 20px;
	}

	.content_header .breadcrumbs span {
		font-size: 12px;
	}

	.content_header .breadcrumbs .aioseo-breadcrumbs{
		white-space: nowrap;
		word-break: keep-all;
		overflow-x: auto;
		max-width: 89vw;
	}

	main {
		padding: 40px 0 64px;
	}




	/* ========================================
	   MVV
	======================================== */
	.mvv_kv {
		height: auto;
		background: none;
		margin-bottom: 65px;
	}

	.mvv_kv .inner {
		height: auto;
		padding: 0;
	}

	.mvv_kv .head>div {
		font-size: 22px;
		line-height: 180%;
		margin-bottom: 16px;
		text-align: center;
		background: linear-gradient(273.78deg, #458FD5 47.5%, #E4444A 58.24%);
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		background-clip: text;
		text-fill-color: transparent;
	}

	.mvv_kv .text {
		font-size: 20px;
		line-height: 150%;
		/* または30px */
		background: url('../images/mvv_kv.webp') no-repeat center right/cover;
		padding: 61px 20px;
	}

	.mvv_kv .text span {
		font-size: 20px;
	}



	.content_block {
		padding: 20px 20px 40px;
		position: relative;
		margin-bottom: 64px;
		margin-right: 20px;
	}

	.content_block::before {
		width: 100%;
		height: 100%;
		background: url('../images/content_header_line.svg') no-repeat right -130px bottom -20px/180%, #F2F3F8;
		border-radius: 0 20px 20px 0;
	}

	.content_block .inner {
		padding: 0;
	}

	.content_block .title,
	.titleLower {
		margin-bottom: 16px;
	}

	.content_block .title .ja,
	.titleLower .ja {
		font-size: 16px;
		line-height: 180%;
		padding-bottom: 5px;
		margin-bottom: 8px;
	}

	.content_block .title .en,
	.titleLower .en {
		font-size: 28px;
	}

	.content_block .text {
		font-size: 14px;
		line-height: 180%;
		/* または25px */
	}

	.mvv_box {
		padding: 56px 0;
		margin-bottom: 64px;
	}

	.mvv_box>.title {
		margin: 0 auto 144px;

	}

	.mvv_box>.title .ja {
		font-size: 16px;
		padding-bottom: 5px;
		margin-bottom: 5px;
	}

	.mvv_box>.title .en {
		font-size: 56px;
	}

	.content_block2 {
		padding: 137px 0 0;
		overflow: visible !important;
	}

	.content_block2:not(:last-child) {
		margin-bottom: 141px;
	}

	.content_block2::before {
		width: 100%;
	}

	.content_block2:nth-child(1):before {
		background: url('../images/content_header_bg_1.svg') no-repeat right bottom/200%, rgba(27, 16, 55, 0.7);
		border-radius: 0 20px 20px 0;
		left: -100%;
		transition: left 0.8s ease;
	}

	.content_block2:nth-child(2):before {
		background: url('../images/content_header_bg_2.svg') no-repeat left bottom/200%, rgba(73, 68, 124, 0.06);
		border-radius: 20px 0 0 20px;
		right: -100%;
		transition: right 0.8s ease;
	}

	.content_block2:nth-child(3):before {
		background: url('../images/content_header_bg_1.svg') no-repeat right bottom/200%, rgba(27, 16, 55, 0.7);
		border-radius: 0 20px 20px 0;
		left: -100%;
		transition: left 0.8s ease;
	}


	.content_block2.on:nth-child(odd):before {
		right: auto;
		left: 0;
	}
	
	.content_block2.on:nth-child(even):before {
		left: auto;
		right: 0;
	}





	.content_block2 .inner {
		display: block;
	}

	.content_block2 .white {
		padding: 20px 16px;
		min-height: 0;
		margin: 0 20px !important;
	}

	.content_block2 .image {
		width: 405px;
		bottom: 70px;
	}

	.content_block2 .image {
		right: 0 !important;
		left: 0 !important;
		top: -236px;
		width: 300px;
		height: 225px;
		margin: 0 auto;
	}
	.content_block2.on .image {
		top: -236px !important;

	}
	.content_block2 .image img {
		width: 300px;
		height: 225px;
		object-fit: cover;
	}

	.content_block2 .title {
		margin-bottom: 32px;
	}

	.content_block2 .title .ja {
		font-size: 16px;
		padding-bottom: 5px;
		margin-bottom: 5px;
	}

	.content_block2 .title .en {
		font-size: 28px;
	}

	.content_block2 .text {
		font-size: 14px;
	}

	.content_block2 .word {
		display: none;
	}



	.content_block2:nth-child(odd) .word {
		right: -220px;
	}

	.content_block2:nth-child(even) .word {
		left: -220px;
	}

}


@media (max-width: 1099px){
	.content_header .title{
		left: 20px;
	}
}


@media (max-width: 768px){
	.content_header .title {
		top: 85px;
	}
	.content_header .title .page>div{
		font-size: 30px;
	}
}


/* SERVICE サービス */
.developers main,
.business main{
	padding: 0;
	overflow: hidden;
}
.service .section_header{
	margin-bottom: 0;
}
.contentInner{
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 40px;
}
.AnchorList{
	display: flex;
	flex-wrap: wrap;
	font-size: 16px;
	gap: 30px 0;
	margin: 40px 0;
	padding: 0;
}
.AnchorList li{
	width: 33.33%;
	list-style: none;
	border-left: #F2F3F8 solid 2px;
}
.AnchorList li:nth-of-type(3n),
.AnchorList li:last-child{
	border-right: #F2F3F8 solid 2px;
}

.AnchorList li a{
	text-align: center;
	text-decoration: none;
	color: #151515;
	display: block;
	transition: 0.2s;
}
.AnchorList li a:hover{
	opacity: 0.7;
}

.AnchorList li a span{
	position: relative;
	padding-right: 2.4em;
	display: block;
}
.AnchorList li a span:after{
	content: "";
	background: url(../images/anchorlist_arrow.svg) center top no-repeat;
	display: block;
	width: 1em;
	height: 1.2em;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 10px;
	margin: auto;
}
/*
.serviceListBG{
	background: #605873;
	padding: 80px 0;
	position: relative;
}
.serviceListBG.l01{
	padding-top: 0;
}
.serviceListBG.l01::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background: #fff;
}


.serviceListContent{
	position: relative;
	padding: 80px 0;
}
.serviceListContent.s01,
.serviceListContent.s04{
	position: relative;
	z-index: 10;
}
.serviceListContent.s01::before,
.serviceListContent.s05::before{
	position: absolute;
	content: '';
	top: 0;
	width: calc(100vw - ((100vw - 1600px) / 2));
	height: 100%;
	background: url('../images/content_header_line.svg') no-repeat left bottom -100px/100%, #F2F3F8;
}
.serviceListContent.s01::before,
.serviceListContent.s04::before{
	right: 0;
	border-radius: 8px 0 0 8px;
}
.serviceListContent.s02::before,
.serviceListContent.s05::before{
	left: 0;
	border-radius: 0 8px 8px 0;
}

.serviceListContent.s02,
.serviceListContent.s04{
	color: #fff;
}
.serviceListContent.s02,
.serviceListContent.s05{
	margin-top: -80px;
	padding-top: 160px;
}
.serviceListContent.s02::before,
.serviceListContent.s04::before{
	position: absolute;
	content: '';
	top: 0;
	width: calc(100vw - ((100vw - 1600px) / 2));
	height: 100%;
	background: #1B1037;
}

.serviceListContent.s03{
	background: url('../images/content_header_bg_2.svg') no-repeat left bottom/120%, rgba(73, 68, 124, 0.06);
}


.serviceListContent .contentInner{
	position: relative;
	z-index: 1;
}


.serviceMap{
	position: relative;
	z-index: 10;
	background: #f2f2f8;
	padding-bottom: 80px;
}
.serviceMap::before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 80px;
	background: #605873;
}
.serviceMap .contentInner{
	background: #fff;
	border-radius: 8px;
	position: relative;
	z-index: 10;
	box-shadow: 0 0 8px #bbb;
}

.SectionTitle{
	display: flex;
	align-items: center;
	margin-bottom: 40px;
}
.SectionTitle .en{
	font-family: 'Poppins';
	font-weight: 500;
	color: #E4444A;
	border-right: #E4444A solid 2px;
	line-height: 1.5em;
	font-size: 26px;
	padding-right: 0.5em;
	margin-right: 0.5em;
}
.SectionTitle h3{
	font-weight: 500;
	line-height: 1.2em;
	font-size: 24px;
}

.SectionTitleWrap h4{
	color: #49447C;
	font-weight: 500;
	line-height: 1.5em;
	font-size: 20px;
	margin-bottom: 0.7em;
}
.serviceListContent.s02 .SectionTitleWrap h4,
.serviceListContent.s04 .SectionTitleWrap h4{
	color: #FFEC8D;
}
.SectionTitleWrap .txt{
	font-size: 16px;
}


.serviceFlex{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.serviceFlex.Lhalf > div{
	width: 48%;
}
.serviceFlex.L7of3 > div:first-child{
	width: 66%;
}
.serviceFlex.L7of3 > div:last-child{
	width: 30%;
}

.serviceSubTitle{
	text-align: center;
	padding: 0.5em;
	background: #605873;
	color: #fff;
	font-size: 18px;
	margin-bottom: 0.7em;
}
.serviceListContent.s02 .serviceSubTitle,
.serviceListContent.s02 .serviceSubTitle{
	background: #fff;
	color: #151515;
}
.serviceListContent .FormLabelText{
	font-weight: 700;
	color: #458FD5;
}

.detailListOuter{
	margin-top: 40px;
}
.detailListContent{
	display: flex;
	gap: 16px;
	padding: 0;
}
.detailListContent li{
	list-style: none;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 0 8px #bbb;
	color: #151515;
	padding: 1.5em;
	text-align: center;
	line-height: 1.8;
}
.detailListContent li .icon img{
	display: block;
	height: 120px;
	width: 120px;
	margin: 0 auto;
	object-fit: contain;
}
.detailListContent li .title{
	font-size: 16px;
	color: #458FD5;
	font-weight: bold;
	margin-bottom: 0.5em;
}
.detailListContent li .txt{
	font-size: 14px;
}
*/

.business .titleLower{
	align-items: center;
}
section.business{
	overflow: hidden !important;
}
section.business>.container .inner{
	max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
	position: relative;
	z-index: 1;
}
section.business>.container{
	padding: 80px 0;
	position: relative;
}
section.business>.lead{
	padding-bottom: 0;
}

section.business .serviceLeadImg{
	width: 95vw;
	max-height: 350px;
	height: 20vw;
	margin-top: 80px;
	z-index: 1;
	position: relative;
}
section.business .serviceLeadImg img{
	object-fit: cover;
    object-position: center;
	height: 100%;
    width: 100%;
    max-width: none;
	border-radius: 0 8px 8px 0;
	position: relative;
	z-index: 1;
}
.developers section.business .serviceLeadImg::after{
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100vw;
	height: 50%;
	background: #f2f3f8;
}
.supportList{
	gap: 16px;
}
.supportList .supportItems{
	width: 20%;
}
.supportItems{
	background: #fff;
	display: flex;
	flex-flow: column;
	align-items: center;
	padding: 24px 0 16px;
}
.supportItems .supportItemsPhoto{
	height: 100px;
}
.supportItems .supportItemsPhoto img{
	max-width: none;
	width: auto;
	height: 100%;
}
.supportItems .supportItemsName{
	font-size: 20px;
	font-weight: bold;
	line-height: 180%;
	text-align: center;
	color: #458fd5;
	margin-top: 16px;
}
.supportItems .supportItemsText{
	font-size: 14px;
	margin-top: 8px;
	text-align: center;
}
.arrow_bottom{
	display: flex;
	flex-flow: column;
	align-items: center;
	justify-content: center;
	background: url(../images/service_arrow.svg) center no-repeat;
	background-size: contain;
	margin: 0 auto;
	width: 30px;
	height: 60px;
	position: absolute;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 2;
}
.effectsList{
	margin-top: 64px;
	gap: 16px;
}
.effectsList .effectsItems{
	width: 25%;
	color: #e4444a;
}
.effectsList .effectsItems .effectsItemsText{
	text-align: center;
	font-size: 16px;
	font-weight: bold;
	margin-top: 30px;
}
.serviceSubTitle{
	background: #fff;
	text-align: center;
    padding: 0.5em;
    font-size: 18px;
	border-radius: 8px;
}
.serviceSubTitle.red{
	background-color: #e4444a;
	color: #fff;
}
.serviceSubTitle span{
	color: #e4444a;
}
.initiatives{
	position: relative;
}
.initiatives::before{
	content: "";
    position: absolute;
	right: 0;
	top: 0;
    background-color: #fff;
    height: 100%;
    width: 50%;

}
.initiatives::after{
	content: "";
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    height: 100%;
    width: calc(100% - 20px);
    max-width: 1825px;
    background-color: #fff;
	border-radius: 8px 0 0 8px;
}
.initiatives .container{
	position: relative;
	z-index: 1;
}
.initiativesText{
	padding: 0 20px;
	width: 50%;
}
.initiativesText .section_header{
	justify-content: start;
}
.initiativesText .titleLower{
	text-align: left;
	align-items: start;
}
.initiativesText .titleLower .en{
	text-align: left;
}
.initiativesList{
	width: 50%;
}
.initiativesListTitle{
	background: #49447c;
	color: #fff;
	text-align: center;
	padding: 5px;
	border-radius: 8px 8px 0 0;
	font-size: 18px;
	margin-bottom: 16px;
}
.initiativesList ul{
	padding: 0;
}
.initiativesList ul li{
	color: #458fd5;
	font-size: 18px;
	font-weight: bold;
	border-bottom: solid 1px #b0b0b0;
	padding: 16px 8px 16px calc(1.5em + 8px);
	list-style-position: inside;
	text-indent: -1.5em;
}
.initiativesList ul li span{
	color: #151515;
	font-size: 14px;
	margin-left: 16px;
}
.platform{
	gap: 10px;
}
.platform p{
	background: #fff;
	border-radius: 8px;
	border: solid 2px #e4444a;
	width: 25%;
	text-align: center;
	font-size: 18px;
	font-weight: bold;
	color: #e4444a;
	padding: 24px 14px;
}
.developersPhoto{
	max-width: 1045px;
	margin: auto;
}
.developersPhoto img{
	margin: auto;
}
.business .text a{
	color: #458fd5;
	text-decoration: none;
}
.business .text a:hover{
	text-decoration: underline;
}
@media (max-width: 1199px){
	.supportList{
		flex-wrap: wrap;
		justify-content: center;
	}
	.supportList .supportItems{
		width: calc(33% - 9px);
		padding-top: 0;
	}
	.supportItems .supportItemsPhoto{
		height: 10vw;
	}
	.supportItems .supportItemsName{
		line-height: 1.6;
	}
}
@media (max-width: 768px){
	.AnchorList{
		font-size: 14px;
		margin: 0;
	}
	.AnchorList li a{
		line-height: 2;
		text-align: center;
	}
	.AnchorList li a span{
		padding: 0 1.2em;
	}
	.AnchorList li a span:after{
		width: 0.8em;
		height: 1em;
		background-size: contain;
		right: 5px;
	}
	section.business>.container{
		padding: 60px 0;
	}
	section.business>.lead{
		padding-bottom: 0;
	}
	section.business .serviceLeadImg{
		margin-top: 40px;
	}
	.supportList{
		flex-flow: wrap;
	}
	.supportList .supportItems{
		width: calc(50% - 8px);
	}
	.supportItems .supportItemsName{
		font-size: 16px;
		line-height: 1.4;
	}
	.supportItems .supportItemsPhoto{
		height: 100px;
	}
	.effectsList{
		flex-flow: wrap;
		gap: 24px 16px;
	}
	.effectsList .effectsItems{
		width: calc(50% - 8px);
	}
	.effectsList .effectsItems .effectsItemsText{
		margin-top: 5px;
		font-size: 14px;
	}
	.initiativesText,
	.initiativesList{
		width: 100%;
		padding: 0 20px;
	}
	.initiativesList{
		margin-top: 24px;
	}
	.initiativesList ul li{
		font-size: 16px;
	}
	.initiativesList ul li span{
		font-size: 12px;
	}
	.platform p{
		width: 100%;
		padding: 14px 7px;
	}
}
@media (max-width: 768px){
	.contentInner{
		padding: 0 20px;
	}
}


/*ABOUT US 企業情報*/
.aboutus .section_header{
	margin-bottom: 0;
}


section.aboutus>.container{
	/* margin: 40px auto 80px; */
}

section.aboutus>.container>.inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}

section.aboutus .section_title .en{
	font-size: 48px;
}
.aboutus_images {
	display: flex;
	gap: 24px;
	margin-bottom: 32px;
}
.aboutus_images a {
	color: #FFFFFF;
	display: block;
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	position: relative;
}
.aboutus_images a img{
	transition: all 0.3s;
}
.aboutus_images a:hover img {
	transform: scale(1.05);
	transform-origin: center center;
	opacity: 0.6;
}
.aboutus_images .text {
	position: absolute;
	bottom: 25px;
	left: 30px;
	font-family: 'Poppins' , 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	font-size: 32px;
	line-height: 1;
	text-align: justify;
}
.aboutus_images .text .small{
	font-size: 20px;
}

@media (max-width: 768px){
	section.aboutus>.container{
		margin: 20px auto 0;
	}
	section.aboutus .section_title .en{
		font-size: 30px;
	}
	.aboutus_images{
		flex-flow: column;
		gap: 8px;
		margin-bottom: 8px;
	}

	.aboutus_images .text{
		font-size: 26px;
		bottom: 15px;
		left: 15px;
	}
	.aboutus_images .text .small{
		font-size: 16px;
	}
}



/* CLIENT 取引先 */
section.client>.container{
	margin: 80px auto;
}
section.client>.container>.inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}
section.client .FormCard {
	max-width: 1440px;
}
section.client .FormSection {
	max-width: 1120px;
}
.CompanyLogoList {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px;
	align-items: center;
	padding: 0;
}
.CompanyLogoItem {
	display: flex;
	align-items: center;
	width: calc(20% - 10px);
	padding: 0;
	margin: 0;
}
.CompanyLogoItem a{
	display: block;
	width: 100%;
	transition: 0.2s;
}
.CompanyLogoItem a:hover{
	opacity: 0.7;
}
.CompanyLogoItem img {
	width: 100%;
	object-fit: contain;
}

.CompanyTextList{
	width: fit-content;
	margin: 0 auto;
	font-size: 16px;
	line-height: 1.5em;
}
.CompanyTextList li:nth-of-type(n+2){
	margin-top: 0.5em;
}

@media (max-width: 768px){
	section.client>.container{
		margin: 60px 0;
	}
	.CompanyLogoItem{
		width: calc(50% - 10px);
	}
}



/* NEWS お知らせ */

section.news>.container {
	padding: 0;
}

section.news>.container>.inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}

section.news .filter{
	display: flex;
	align-items: center;
	margin-bottom: 24px;
	gap: 15px;
}
section.news .filter .news-year{
	max-width: 240px;
	width: 20%;
}
section.news .filter .dropdown{
	width: 100%;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='16' height='8' viewBox='0 0 16 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L8 7L15 1' stroke='%23151515' stroke-width='1.6'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 24px center;
	background-color: #fff;
    border: 1px solid #1b1037;
	padding: 12px 24px;
    font-size: 18px;
    line-height: 1.8;
    border-radius: 8px;
}
section.news .filter .news_tabs{
	display: flex;
	justify-content: space-between;
	list-style: none;
	gap: 15px;
	width: 80%;
	padding: 0;
}
section.news .filter .news_tabs li{
	width: 20%;
}
section.news .filter .news_tabs li a{
	text-decoration: none;
	color: #151515;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 7px;
	font-weight: 600;
	font-size: 14px;
	border: solid 1px #151515;
	border-radius: 1000px;
	transition: 0.3s;
}
section.news .filter .news_tabs li:not(.active) a:hover{
	opacity: 0.7;
}
section.news .filter .news_tabs li.active{
	pointer-events: none;
}
section.news .filter .news_tabs li.active a{
	color: #fff;
	border-color: #49447C;
	background-color: #49447C;
}


section.news .news_list {
	opacity: 0;
}

section.news .news_list > p{
	font-size: 16px;
	margin-top: 60px;
	text-align: center;
}

section.news .news_item:first-child{
	border-top: 1px solid #b0b0b0;
	padding-top: 24px;
}
section.news .news_item:last-child{
	margin-bottom: 0;
}
section.news .news_item {
	width: 100%;
	border-bottom: 1px solid #b0b0b0;
	display: flex;
	gap: 24px;
	padding-bottom: 24px;
	margin-bottom: 24px;
	text-decoration: none;
	color: #fff;
	position: relative;
}

section.news .news_item .arrow_circle {
	right: 0;
	background: transparent;
}
section.news .news_item .arrow_circle::before{
	background-color: #151515;
}
section.news .news_item:hover .arrow_circle::before{
	background-color: #e4444a;
}


section.news .news_item .news_item_image {
	min-width: 190px;
	border: #2b354c solid 1px;
}
section.news .news_item .news_item_image img {
	width: 190px;
	height: 127px;
	object-fit: cover;
}

section.news .news_item .news_item_body {
	margin-right: 64px;
}

section.news .news_item .news_item_title {
	margin-bottom: 10px;
}

section.news .news_item .news_item_body .date {
	/* body-lg-EN */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 18px;
	line-height: 180%;
	/* または32px */
	text-align: justify;

	color: #1b1037;
	margin-right: 10px;
}

section.news .news_item .news_item_body .category {
	box-sizing: border-box;
	padding: 2.5px 16px;

	background: #FFFFFF;
	border: 1px solid #151515;
	border-radius: 1000px;

	/* caption-JP */
	font-family: 'Poppins';
	font-style: normal;
	font-weight: 500;
	font-size: 14px;
	line-height: 150%;
	/* ボックスの高さと同一、または21px */
	text-align: justify;

	color: #151515;
	margin-right: 10px;
}
section.news .news_item .news_item_body .category.solutions{
	border-color: #458fd5;
	color: #458FD5;
}
section.news .news_item .news_item_body .category.company{
	border-color: #49447c;
	color: #49447c;
}

section.news .news_item .news_item_body .new {
	box-sizing: border-box;
	padding: 2.5px 16px;

	background: #458FD5;
	border: 1px solid #458FD5;
	border-radius: 1000px;

	/* caption-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	font-size: 14px;
	line-height: 150%;
	/* ボックスの高さと同一、または21px */
	text-align: justify;

	color: #ffffff;
}

section.news .news_item .news_item_body .news_item_text {
	/* body-md-JP */
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	font-size: 20px;
	line-height: 180%;
	/* または29px */
	/* text-align: justify; */

	color: #151515;
}

section.news.on .news_list {
	animation: fadeUp 0.3s ease;
	animation-fill-mode: forwards;
}

@media (max-width: 768px){
	section.news>.container {
	}

	section.news>.container>.inner {
		width: 100%;
	}

	section.news .filter{
		flex-flow: column;
		align-items: baseline;
	}
	section.news .filter .dropdown{
		width: 200px;
		font-size: 14px;
		padding: 10px 24px;
	}
	section.news .filter .news_tabs{
		width: 100%;
		flex-wrap: wrap;
		justify-content: flex-start;
		gap: 10px 2%;
	}
	section.news .filter .news_tabs li{
		width: calc(33% - 7.5px);
	}

	section.news .news_list {
		flex-direction: column;
		justify-content: start;
	}

	section.news .news_item {
		width: 100%;
		gap: 12px;
		padding-bottom: 24px;
		margin-bottom: 24px;
	}

	section.news .news_item .arrow_circle {
		display: none;
	}


	section.news .news_item .news_item_image {
		min-width: 80px;
		width: 80px;
		height: 80px;
	}

	section.news .news_item .news_item_image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	section.news .news_item .news_item_body {
		margin-right: 0;
	}

	section.news .news_item .news_item_title {
		margin-bottom: 8px;
	}

	section.news .news_item .news_item_body .date {
		font-size: 14px;
		margin-right: 8px;
	}

	section.news .news_item .news_item_body .category {
		padding: 0 10px;
		font-size: 10px;
		margin-right: 8px;
	}

	section.news .news_item .news_item_body .new {
		padding: 0 10px;
		font-size: 10px;
		margin-right: 8px;
	}

	section.news .news_item .news_item_body .news_item_text {
		font-size: 14px;
		line-height: 180%;
	}
	section.news.on .news_list {
		animation: fadeUp 0.8s ease;
		animation-fill-mode: forwards;
	}

}


/* NEWS お知らせ詳細 */

section.news .FormCard {
	max-width: 1440px;
}
section.news .FormSection {
	max-width: 1120px;
	gap: 0;
}

section.news .FormCard .news_item{
	border-top: none;
	padding-top: 0;
}
section.news .news_item .news_item_body .tag{
	color: #49447C;
	font-size: 14px;
	border-radius: 50px;
	border:#49447C solid 1px;
	padding: 0.2em 1em;
}
section.news .FormCard .news_item_text{
	font-size: 28px !important;
	font-weight: 700 !important;
}
section.news .news_item_share{
	display: flex;
	align-items: center;
	justify-content: flex-end;
}
section.news .news_item_share .title{
	font-weight: 700;
	font-size: 12px;
	margin-right: 2em;
}
section.news .news_item_detail + .news_item_share{
	margin-top: 1.5em;
}
section.news .news_item_share .snsShareList{
	display: flex;
	align-items: center;
	gap: 10px;
}
section.news .news_item_share .snsShareList > *{
	transition: 0.2s;
	cursor: pointer;
}
section.news .news_item_share .snsShareList > *:hover{
	opacity: 0.7;
}
section.news .news_item_share .snsShareList a{
	display: block;
	border-radius: 4px;
	border: #151515 solid 1px;
	padding: 0.3em 0.8em;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
}
section.news .news_item_share .snsShareList .snsX a{
	background: #151515;
}
section.news .news_item_share .snsShareList .snsLINE a{
	background: #06C755;
	border-color: #06C755;
}
section.news .news_item_share .snsShareList .snsFB a{
	background: #0866FF;
	border-color: #0866FF;
}
section.news .news_item_share .snsShareList .copyBtn{
	border-radius: 4px;
	border: #151515 solid 1px;
	padding: 0.3em 0.8em;
	font-weight: 700;
	color: #151515;
}
section.news .news_item_share .snsShareList a i{
	font-weight: 500;
	font-size: 110%;
}

section.news .textwidget p{
	line-height: 2;
}
section.news .textwidget  > *{
	margin-top: 1em;
}
section.news .textwidget  > *:first-child{
	margin-top: 0;
}
section.news .textwidget p a{
	color: #458FD5;
}
section.news .textwidget p a:hover{
	text-decoration: none;
}
section.news .so-panel{
	margin-bottom: 16px !important;
}
section.news .so-panel:last-child{
	margin-bottom: 0 !important;
}
section.news .panel-grid{
	margin-bottom: 45px;
}


section.news .newsMainTitle {
	background: #F2F3F8;
	padding: 0.5em 1em;
	border-left: #E4444A solid 4px;
	font-weight: 700;
	font-size: 22px;
	color: #49447C;
}
section.news .newsMainTitle p{
	line-height: 1.7 !important;
}
section.news .newsSubTitle{
	font-weight: 700;
	font-size: 18px;
	border-bottom: #E4444A solid 1px;
	padding-bottom: 0.6em;
}
section.news .newsSubTitle p{
	line-height: 1.5 !important;
}
section.news .newsLead {
	border-radius: 8px;
	border: #B0B0B0 solid 1px;
	padding: 0.8em 1em;
}
section.news .centerMode {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

section.news .news-author-box{
	margin-top: 40px;
}
section.news .news-author-box .author-inner{	
	display: flex;
	align-items: center;
	border: #B0B0B0 solid 1px;
	border-radius: 8px;
	background: #F2F3F8;
	padding: 1.5em;
	gap: 1.5em;
}
section.news .news-author-box .author-inner .author-avatar{
	width: 80px;
	min-width: 80px;
	border-radius: 4px;
	overflow: hidden;
}
section.news .news-author-box .author-inner .author-avatar img{
	width: 100%;
	height: auto;
}
section.news .news-author-box .author-inner .author-name{
	color: #49447C;
	font-weight: 700;
	font-size: 20px;
	margin-bottom: 0.5em;
}



section.news .copydURL{
	position: fixed;
	bottom: 30px;
	left: 0;
	right: 0;
	margin: auto;
	padding: 1em;
	width: fit-content;
	text-align: center;
	font-size: 16px;
	background: #F2F3F8;
	border-radius: 8px;
	z-index: 10;
	opacity: 0;
	transition: 0.2s;
	border: #B0B0B0 solid 1px;
}

section.news .copydURL.clicked {
animation: fadeIn 0.3s ease 0s 1 normal;
opacity: 1;
}

/* fadeIn */
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(30px);
  }
  100% {
    opacity: 1;
  }
}






section.news .viewmore{
	margin-top: 80px;
	display: flex;
	justify-content: center;
}
section.news .viewmore > a{
	border-color:#49447C;
	color: #49447C;
	display: inline-block;
	padding: 16px 32px 16px 72px;
}
section.news .viewmore > a .arrow_circle{
	left: 16px;
	right: auto;
}
section.news .viewmore > a .arrow_circle::after{
	transform:rotateY(180deg);
}


section.news .news_item_detail{
	margin-top: 40px;
	font-size: 16px;
}

@media (max-width: 768px) {
	section.news .FormCard {
		padding-top: 0;
	}
	section.news .news_item_share .title{
		margin-right: 1em;
	}
	section.news .news_item_share .snsShareList > *{
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 35px;
		width: 35px;
	}
	section.news .news_item_share .snsShareList a{
		min-height: 100%;
	}
	section.news .news_item_share .snsShareList a i{
		font-size: 140%;
	}

	section.news .FormCard .news_item_text{
		font-size: 20px !important;
		line-height: 150% !important;
	}
	section.news .news_item_share .snsShareList span{
		display: none;
	}
	section.news .newsMainTitle{
		font-size: 18px;
	}
	section.news .so-panel{
		font-size: 14px;
	}
	section.news .textwidget p {
		line-height: 1.7;
	}
	section.news .newsMainTitle p {
    	line-height: 1.5 !important;
	}
	section.news .news-author-box .author-inner .author-avatar {
    	min-width: 60px;
		width: 60px;
	}
	section.news .news-author-box .author-inner{
		padding: 1em;
		gap: 1em;
	}
	section.news .news-author-box .author-inner .author-name{
		font-size: 18px;
		margin-bottom: 0.2em;
	}
	section.news .news-author-box .author-inner .author-description{
    	font-size: 14px;
	}
	section.news .viewmore {
		margin-top: 40px;
	}
	section.news .viewmore > a{
		padding-top: 12px;
	}
}



/* CONTACT お問い合わせ */
.wpcf7-turnstile{
	display: none !important;
}

.ContactSteps { 
	padding: 0;
}
.StepList {
	display: flex;
	justify-content: center;
	list-style: none;
	max-width: 1260px;
	margin: 0 auto 40px;
	padding: 0;
}
.StepItem {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: calc(33% + 15px);
	height: 70px;
	background: #F2F3F8;
	border: 1px solid #fff;
	clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 50%, calc(100% - 30px) 100%, 0 100%, 30px 50%);
}
.StepItem:nth-child(2){
	margin: 0 -25px;
}
.StepItem:first-child { 
	clip-path: polygon(0 0, calc(100% - 30px) 0, 100% 50%, calc(100% - 30px) 100%, 0 100%);
}
.StepItem:last-child { 
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%, 30px 50%);
}
.StepItemActive { 
	background: #49447C;
	border-color: #fff;
}
.StepNumber { 
	display: none;
}
.StepLabel { 
	font-size: 20px;
	font-weight: 500;
	color: #B0B0B0;
}
.StepItemActive .StepLabel { 
	color: #fff;
}
.StepItem br{
	display: none;
}

.ContactForm { 
	padding: 40px 0 0;
}
.FormCard { 
	max-width: 1136px;
	margin: 0 auto;
	padding: 80px 20px;
	background: #fff;
	box-shadow: 0 0 8px rgba(0,0,0,0.16);
	border-radius: 8px;
}
.FormSection {
	display: grid;
	gap: 20px;
	max-width: 816px;
	margin: 0 auto;
}
.FormSection + .FormSection { 
	margin-top: 80px;
}
.FormIntro { 
	font-size: 16px;
	line-height: 1.8;
}
.ContactFormBody { 
	display: grid;
	gap: 16px;
}
.FormRow { 
	display: flex;
	gap: 16px;
	align-items: center;
	justify-content: flex-end;
	border-bottom: 1px solid #B0B0B0;
	padding-bottom: 20px;
}
.FormRow.b_none{
	border-bottom: none;
	padding-bottom: 0;
}
.FormLabel { 
	display: flex;
	align-items: center;
	gap: 15px;
	width: 36%;
	max-width: 300px;
	flex: 1;
}
.FormLabel > *{
	display: flex;
	align-items: center;
	gap: 7px;
}
.FormBadge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 8px 2px;
	font-size: 12px;
	line-height: 1.8;
	word-break: keep-all;
}
.FormBadgeRequired { 
	background: #E4444A;
	color: #fff;
}
.FormBadgeOptional { 
	border: 2px solid #B0B0B0;
	color: #B0B0B0;
}
.FormLabelText { 
	font-size: 14px;
	line-height: 1.8;
}

.FormControl { 
	display: grid;
	gap: 14px;
	width: 64%;
	max-width: 500px;
	font-size: 14px;
	line-height: 1.8;
}
.FormControl{
	gap: 5px;
}
.FormInput:focus, .FormSelect:focus, .FormTextarea:focus, .FormInputZip:focus{
	outline: none;
}
.FormInput, .FormSelect, .FormTextarea {
	width: 100%;
	padding: 16px 24px;
	font-size: 14px;
	line-height: 1.8;
	background: #F2F3F8;
	border-radius: 8px;
	border: none;
	resize: none;
}
.FormSelect{
	background-color: #fff;
	max-width: 360px;
	margin-left: auto;
	border: 1px solid #B0B0B0;
}
.FormSelect .gray,
.FormSelect option:first-child{
	color: #B0B0B0;
}
.FormInput::placeholder, .FormTextarea::placeholder { 
	color: #B0B0B0;
}
.FormSelect { 
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='16' height='8' viewBox='0 0 16 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L8 7L15 1' stroke='%23151515' stroke-width='1.6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 24px center;
}
.FormTextarea { 
	min-height: 148px;
	resize: vertical;
}

.FormAddressRow { 
	display: flex;
	align-items: center;
	gap: 10px;
}
.FormAddressLabel { 
	font-size: 14px;
}
.FormInputZip {
	width: 100px;
	padding: 16px 24px;
	font-size: 14px;
	line-height: 1.8;
	background: #F2F3F8;
	border: none;
	border-radius: 8px;
}
.FormAddressBtn { 
	padding: 4px 16px;
	font-size: 14px;
	background: #49447C;
	color: #fff;
	border: none;
	border-radius: 8px;
	cursor: pointer;
}

.FormRadioGroup{

}
.FormCheckboxGroup { 
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
}
.FormRadioLabel, .FormCheckboxLabel { 
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}
.FormRadio, .FormCheckbox { 
	width: 20px;
	height: 20px;
	cursor: pointer;
}
.FormRadio { 
	appearance: none;
	border: 1px solid #B0B0B0;
	border-radius: 50%;
	background: #fff;
	position: relative;
}
.FormRadio:checked::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	background: #E4444A;
	border-radius: 50%;
	transform: translate(-50%, -50%);
}
.FormCheckbox {
	appearance: none;
	border: 1px solid #B0B0B0;
	border-radius: 4px;
	background: #fff;
}
.FormCheckbox:checked { 
	background: #E4444A;
	border-color: #E4444A;
	position: relative;
}
.FormCheckbox:checked::before{
	content: "";
	position: absolute;
	left: 9px;
	top: 8px;
	transform: translate(-50%,-50%) rotate(45deg);
	border-right: solid 2px #fff;
	border-bottom: solid 2px #fff;
	width: 7px;
	height: 10px;
}
.FormRadioText, .FormCheckboxText {
	font-size: 14px;
	line-height: 1.8;
}
.FormSubmit { 
	display: flex;
	justify-content: center;
	margin-top: 80px;
	gap: 80px;
}
.FormSubmit > *{
	display: flex !important;
}
.FormSubmit .wpcf7-previous{
	cursor: pointer;
	margin: 0;
}
.BtnSubmit{
	position: relative;
}
.BtnSubmit .wpcf7-spinner{
	position: absolute;
}
.BtnSubmit input{ 
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 16px 32px;
	font-size: 22px;
	font-weight: 500;
	line-height: 180%;
	width: 240px;
	color: #fff;
	background: linear-gradient(90deg, #49447C 0%, #458FD5 100%);
	border: none;
	border-radius: 100rem;
	cursor: pointer;
	transition: all 0.3s;
	border: solid 1px #fff;
	position: relative;
}
.BtnSubmit:hover input {
	background: #FFF;
    color: #49447C;
	border-color: #49447C;
}
.BtnSubmit:hover .BtnSubmitIcon{
	color: #fff;
}
.BtnSubmitIcon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	z-index: 1;
}
.BtnSubmit br{
	display: none;
}
.BtnSubmit.back{
}
.BtnSubmit.back .arrow_circle{
	right: auto;
	left: 16px;
}
.BtnSubmit.back .arrow_circle::after{
	transform:rotateY(180deg);
}


@media screen and (min-width: 767.5px) {
	.BtnSubmit:hover .arrow_circle::before {
		width: 40px;
		height: 40px;
		background: #E4444A;
	}
	.BtnSubmit:hover .arrow_circle::after {
		opacity: 1;
	}
}
.btn_back{
	background: #fff;
	border-color: #49447C;
    color: #49447C;
}
.btn_back .arrow_circle {
    left: 16px;
    right: auto;
}
.btn_back .arrow_circle::after {
    transform: rotateY(180deg);
}

.wpcf7-form .wpcf7-response-output,
.wpcf7-form .wpcf7-spinner{
	display: none;
}

.wpcf7-form .wpcf7-list-item{
	margin: 0 1em 0 0;
}

@media (max-width: 768px) {
	.ContactSteps {

	}
	.StepList {
		max-width: 100%;
		margin-bottom: 0;
	}
	.StepLabel {
		font-size: 16px;
	}
	.StepItem {
		height: 55px;
	}
	/*
	.StepItem:first-child{
		clip-path: polygon(
			100% 0,
			100% 70%,
			50% 100%,
			0 70%,
			0 0
		);
	}
	.StepItem:nth-child(2){
		clip-path: polygon(
			100% 0,
			100% 80%,
			50% 100%,
			0 80%,
			0 0,
			50% 20%
		);
		margin: 0;
	}
	.StepItem:last-child{
		clip-path: polygon(
			50% 20%,
			100% 0,
			100% 100%,
			0% 100%,
			0% 0%
		);
	}
	*/
	.FormCard {
		padding: 40px 20px;
		width: 100%;
	}
	.FormRow {
		flex-flow: column;
		align-items: baseline;
	}
	.ContactForm .FormRow {
		gap: 10px;
	}
	.FormAddressRow{
		flex-wrap: wrap;
	}
	.FormSubmit {
		margin-top: 40px;
		/* flex-flow: column; */
        gap: 24px;
        align-items: center;
	}
	.FormLabel,
	.FormControl,
	.FormSelect{
		width: 100%;
		max-width: none;
	}
	
	.FormInputZip,
	.FormInput,
	.FormSelect,
	.FormTextarea{
		font-size: 16px;
		padding: 10px 16px;
	}
	.FormRadioText, .FormCheckboxText{
		font-size: 16px;
	}
	/* .FormSection{
		gap: 30px;
	} */
	.FormSection + .FormSection{
		margin-top: 60px;
	}
	.BtnSubmit{
		font-size: 16px;
		justify-content: center;
		gap: 25px;
	}
	.BtnSubmit input{ 
		width: 9em;
		font-size: 16px;
	}
	.BtnSubmit:nth-of-type(1) input{
		padding-left: 4em;
	}
	.BtnSubmit:nth-of-type(2) input{
		padding-right: 4em;
	}
	.BtnSubmit .BtnSubmitIcon{
        width: 25px;
        height: 25px;
	}
	.BtnSubmit .arrow_circle::after {
        width: 25px;
        height: 25px;
	}
}




/* COMPANY 企業情報 */
.company main{
	padding: 40px 0 0;
}
.company .AnchorList li {
  width: 25%;
}

.companyOuter .companyContent{
	padding: 80px 0;
}
/* .companyOuter .companyContent:nth-of-type(n+2){
	margin-top: 80px;
} */
.companyOuter .companyContent:first-child{
	padding-top: 30px;
}
.companyOuter .companyContent:nth-of-type(3n){
	background: #F2F3F8;
}

.company .FormCard{
	max-width: none;
}
.company .FormSection{
	max-width: 1120px;
}
.company .FormRow{
	justify-content: flex-start;
	align-items: baseline;
}
.company .FormLabel{
	max-width: 100px;
	width: auto;
	font-weight: 700;
}
.company .FormControl{
	max-width: none;
	width: calc(100% - 100px);
}

.CompanyCellValue{
	display: flex;
	justify-content: space-between;
}
.CompanyCellValue > div{
	width: 48%;
}
.CompanyAddressHeader { 
	display: inline-block;
	width: fit-content;
	background: #49447C;
	color: #fff;
	font-weight: 500;
	font-size: 16px;
	padding: 0.3em 0.7em 0.5em;
	line-height: 1;
	margin-bottom: 0.5em;
}
.CompanyMapIframe{
	margin-top: 1em;
}
.CompanyMapIframe iframe{
	width: 100%;
	height: 280px;
}

.decimal li:nth-of-type(n+2){
	margin-top: 0.3em;
}

.HistoryWrap { 
	position: relative; 
}
.HistoryLine { 
	position: absolute;
	left: 13.8em;
	top: 0;
	height: 100%;
	width: 5px; 
	background: #49447C; 
	border-radius: 10px;
}
.HistoryList { 
	position: relative;
	padding: 0;
}
.HistoryItemOuter{
	border-bottom: #B0B0B0 solid 1px;
	padding-bottom: 3.5em;
}
.HistoryItemOuter:last-child{
	border-bottom: none;
}
.HistoryItemOuter:nth-of-type(n+2){
	margin-top: 3.5em;
}
.HistoryItem { 
	display: flex;
	align-items: center;
}
.HistoryItem:nth-of-type(n+2){
	margin-top: 1em;
}
.HistoryYear {
	font-family: 'Poppins';
	color: #49447C; 
	font-size: 40px; 
	font-weight: 500;
	line-height: 1.2; 
	width: 4em;
	min-width: 4em;
	opacity: 0;
}
.HistoryItem:first-child .HistoryYear{
	opacity: 1;
}

.HistoryMonth { 
	color: #458FD5;
	font-weight: 500;
	font-size: 16px;
	min-width: 9.5em;
	padding-left: 4.5em;
	position: relative;
}
.HistoryMonth:before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #E4444A;
}
.HistoryText{
	font-size: 16px;
}

#overview{
	padding-bottom: 0;
}
#Member table{
	border-collapse: collapse;
	width: 100%;
}
#Member table tbody tr th,
#Member table tbody tr td{
	border: solid 1px #B0B0B0;
	padding: 14px;
	font-size: 16px;
	text-align: center;
}
#Member table tbody tr th{
	width: 30%;
	background: #F2F3F8;
}
@media (max-width: 768px) {
	.company .AnchorList li {
		width: 33%;
	}
	.companyOuter .companyContent{
		padding: 60px 0;
	}
	.CompanyCellValue{
		flex-flow: column;
		gap: 20px;
	}
	.CompanyCellValue > div{
		width: 100%;
	}
	.company .FormControl{
		width: 100%;
	}
	.HistoryLine{
		left: 0;
	}
	.HistoryItem{
		flex-flow: column;
		align-items: baseline;
		padding-left: 20px;
	}
	.HistoryItem:not(:first-child) .HistoryYear{
		display: none;
	}
	.HistoryYear{
		font-size: 28px;
		margin-bottom: 10px;
	}
	.HistoryMonth,
	.HistoryText{
		padding-left: 10px;
		font-size: 14px;
	}
	.HistoryMonth::before{
		left: -26px;
	}
	.HistoryItemOuter{
		padding-bottom: 20px;
	}
	.HistoryItemOuter:nth-of-type(n+2){
		margin-top: 20px;
	}
	#Member table tbody tr th,
	#Member table tbody tr td{
		font-size: 14px;
		padding: 10px 15px;
	}
	#Member table tbody tr th{
		width: 50%;
	}
}



/* ISO 27001 page */
.isoLead{
	font-size: 14px;
	line-height: 1.8;
}
.isoPhoto{
	max-width: 240px;
	margin: 50px auto 0;
}

.isoContent:nth-of-type(n+2){
	margin-top: 60px;
}
.iso .FormRow {
  justify-content: flex-start;
}
.iso .FormLabel {
  max-width: 10em;
  width: auto;
  font-weight: 700;
}
.iso .FormControl {
  max-width: none;
  width: calc(100% - 10em);
}


@media (max-width: 768px){
	.iso .FormControl{
		width: 100%;
	}
}

/* recruit 採用情報 */
.recruit .AnchorList{
	max-width: 1136px;
	margin: 0 auto 70px;
}
.recruit .AnchorList li {
  width: 25%;
}
.recruit main .inner{
	padding: 0 20px;
}
.recruit .FormRow {
  justify-content: flex-start;
}
.recruit .FormLabel {
  max-width: 10em;
  width: auto;
  font-weight: 700;
}
.recruit .FormControl {
  max-width: none;
  width: calc(100% - 10em);
}
.recruit .FormCard{
	margin-top: 80px;
}

@media (max-width: 768px){
	.recruit .AnchorList{
		margin-bottom: 25px;
	}
	.recruit .AnchorList li {
		width: 50%;
	}
	.recruit .FormCard {
		margin-top: 25px;
	}
	.recruit .FormRow{
		gap: 5px;
	}
	.recruit .FormControl{
		width: auto;
	}
}


/* privacy プライバシーポリシー */
.privacy .FormSection,
.security .FormSection{
  max-width: 1120px;
  padding: 0 40px;
}

.privacyListContent {
	border-top: #B0B0B0 solid 1px;
	padding: 50px 0;
}

.privacyListContent:last-child{
	border-bottom: #B0B0B0 solid 1px;
}
.privacyListContent .title{
	font-weight: 500;
	font-size: 24px;
	margin-bottom: 0.7em;
}
.privacyListContent ul{
	padding-left: 2em;
}
.privacyListContent table{
	width: 100%;
}
.privacyListContent table tr th,
.privacyListContent table tr td{
	border-bottom: solid 1px #1B103733;
	padding: 24px 0;
	font-weight: normal;
	text-align: left;
}
.privacyListContent table tr th{
	width: 240px;
	font-weight: bold;
	vertical-align: baseline;
}
.privacyListContent table tr td{
	padding-left: 24px;
}
.privacyListContent .btn{
	margin-left: 0;
}
.security .privacyListContent:last-child{
	border-bottom: none;
}
@media (max-width: 768px){
	.privacy .FormSection{
		padding: 0 20px;
	}
	.privacyListContent{
		padding: 30px 0;
	}
	.privacyListContent .title{
		font-size: 18px;
	}
	.privacyListContent table tr,
	.privacyListContent table tr th,
	.privacyListContent table tr td{
		display: block;
	}
	.privacyListContent table tr th{
		width: 100%;
		border-bottom: none;
		padding: 24px 0 0;
	}
	.privacyListContent table tr td{
		padding: 16px 0 24px;
	}/*
	.privacyListContent .btn{
		font-size: 14px;
		padding: 16px 20px;
	}*/
}




/* MESSAGE 代表挨拶 */
section.message>.container{
	margin-bottom: 120px;
}
section.message>.container>.inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 20px;
}
.MessageTexts{
	width: 66%;
}
.MessageFigure{
	max-width: 480px;
	width: 32%;
}
.MessageFigure img {
	border-radius: 8px;
	width: 100%;
	margin: auto;
}

.Summary {
	position: relative;
}
.SummaryCard {
	position: relative;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 0 8px rgba(0,0,0,0.16);
}
.SummaryCardBody {
	display: grid; gap: 32px;
	max-width: 860px;
}
.SummaryText{
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 0 20px;
}
.SummaryText::after{
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	width: 95vw;
	height: 100%;
	max-width: 1720px;
	box-shadow: 0 0 8px rgba(0,0,0,0.16);
	padding: 80px 0;
	box-sizing: content-box;

}
.SummaryTextIn{
	width: calc(62%);
}
.SummaryFigure{
	max-width: 490px;
	width: 33%;
	margin-left: auto;
	position: relative;
}
.SummaryFigure img {
	object-fit: cover;
	border-radius: 8px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.3), 0 1px 3px 1px rgba(0,0,0,0.15);
}

@media (max-width: 1200px){
	section.message>.container{
		margin-bottom: 60px;
	}
	.Summary{
		padding: 40px 20px;
		box-shadow: 0 0 8px rgba(0,0,0,0.16);
	}
	.SummaryText{
		position: relative;
		width: 60%;
		padding: 0;
	}
	.SummaryText::after{
		display: none;
	}
	.SummaryTextIn{
		width: 100%;
	}
}
@media (max-width: 768px) {
	.message .inner > .flexBox{
		flex-flow: column-reverse;
		gap: 24px;
	}
	.MessageFigure{
		width: 100%;
		margin: 24px auto 0;
	}
	.MessageTexts{
		width: 100%;
	}
	.Summary {
		
	}
	.SummaryCardBody {
		padding: 40px 20px;
		max-width: none;
	}
	.SummaryFigureWrap {
		position: static;
		margin: 20px auto 0;
	}
	.SummaryText {
		width: 100%;
	}
	.SummaryFigure {
		width: 100%;
		margin: 24px auto 0;
	}
	.SummaryFigure img {
		width: 80%;
		margin: auto;
	}
}




/* SITEMAP サイトマップ */
section.sitemap>.container>.inner{
	max-width: 1440px;
    margin: 0 auto;
    padding: 0 20px;
}
.sitemap .linkItems{
	display: flex;
	align-items: baseline;
	border-bottom: solid 1px #b0b0b0;
	padding: 24px 0;
}
.sitemap .flexBox{
	gap: 24px;
}
.sitemap .flexBox .linkItems{
	width: 50%;
}
.sitemap .flexBox .linkItems > a{
	width: 40%;
	min-width: 250px;
}
.sitemap .flexBox .linkItems ul{
	/*width: 60%;*/
}
.sitemap .flexBox .linkItems ul li a{
	color: #458fd5;
	font-size: 18px;
	line-height: 180%;
	font-weight: 500;
}
.sitemap .flexBox .linkItems ul li a:hover{
	text-decoration: none;
}
.sitemap .flexBox .linkItems ul li::marker{
	color: #458fd5;
}
.sitemap .linkItems > a{
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 20px;
	color: #49447c;
	font-weight: bold;
	text-decoration: none;
	transition: 0.2s;
}
.sitemap .linkItems > a:hover{
	opacity: 0.7;
}
.sitemap .linkItems > a[href=""]{
	opacity: 1 !important;
	cursor: auto;
}

.sitemap .linkItems > a::before{
	content: "";
	width: 13px;
	height: 13px;
	border-top: solid 3px #49447c;
	border-right: solid 3px #49447c;
	transform: rotate(45deg);
}

@media (max-width: 1199px){
	.sitemap .flexBox .linkItems{
		flex-flow: column;
	}
	.sitemap .linkItems > a{
		margin-bottom: 16px;
	}
}
@media (max-width: 768px){
	.sitemap .linkItems{
		flex-flow: column;
	}
	.sitemap .flexBox{
		gap: 0;
	}
	.sitemap .flexBox .linkItems{
		width: 100%;
	}
	.sitemap .flexBox .linkItems > a{
		width: 100%;
	}
	.sitemap .flexBox .linkItems ul{
		width: 100%;
	}
}






