@charset "utf-8";

/*TOP*/
body.is-locked {
	overflow: hidden;
}

.topElm .topFv {
	background: #03000C;
	position: relative;
}

.topElm .topFv .imgBox {
	text-align: center;
	position: relative;
	overflow: hidden;
}

.topElm .topFv .scroll_img {
	position: absolute;
	bottom: 2%;
	left: 2%;
	opacity: 0;
}

.topElm .topFv .scroll_img img {
	width: 28px;
}

.topElm .topFv .imgBox img {
	width: 75%;
	opacity: 0;
	position: relative;
	/*left: 50%;
	transform: translate(-50%, -50%);
	top: 50%;*/
	max-width: 1100px;

}

.topElm .topFv .txtBox {
	text-align: center;
}

.topElm .matrix .bg-wrap,
.topElm .matrix .bg-wrap .inn {
	display: block;
}

.topElm .matrix .bg-wrap {
	overflow: hidden;
	opacity: 0;
}

.topElm .matrix .bg-wrap+.bg-wrap {
	margin-top: 10px;
}

/* フォントサイズは元デザインに合わせておきます */
.topElm .matrix .bg-wrap .inn.large {
	font-size: 40px;
	/* h2 と同じ */
	font-weight: 700;
}

.topElm .matrix .bg-wrap .inn.small {
	font-size: 18px;
	/* .txt と同じ */
	font-weight: 500;
}

.topElm .matrix .bg-wrap .inn {
	opacity: 0;
	transform: matrix(1, 0, 0, 1, 0, 100);
	/* 下からヌルっと上がる */
	transition: 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.topElm .matrix.is-animated .bg-wrap {
	opacity: 1;
}

.topElm .matrix.is-animated .bg-wrap .inn {
	opacity: 1;
	transform: matrix(1, 0, 0, 1, 0, 0);
}

.topElm .topFv h2 {
	color: #FFF;
	text-align: center;
	font-size: 40px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

.topElm .topFv .txt {
	color: #FFF;
	text-align: center;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	opacity: 0.9;
	margin-top: 39px;
}

.topElm .topFv .txtBox a {
	color: #6AB0FF;
	text-align: center;

	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	margin-top: 13px;
	display: block;
}


.topElm .topFv .txtBox a::after {
	content: "";
	background: url(../images/top_aroww_r.png) no-repeat;
	width: 17px;
	height: 10px;
	display: inline-block;
	background-size: cover;
}


/*Topics*/
.topElm .topicsElm {
	/* レイアウト周り（必要に応じて調整） */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	width: 80%;
	max-width: 940px;
	padding: 24px 40px;
	margin: 100px auto 0;

	border-radius: 10px;
	background: linear-gradient(92deg,
			rgba(255, 255, 255, 0.2) 0%,
			rgba(233, 255, 134, 0.2) 50%,
			rgba(165, 196, 255, 0.2) 100%);
	backdrop-filter: blur(50px);
	box-sizing: border-box;
	opacity: 0;
	transform: translateY(30px);
	position: relative;
	z-index: 1;
}

.topElm .topicsElm ul li {
	display: flex;
}

.topElm .topicsElm h3 {
	color: #FFF;

	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 38px;
}

.topElm .topicsElm .day {
	color: #FFF;

	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	margin-right: 20px;
}

.topElm .topicsElm .txt {
	color: #FFF;

	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
}


/*Service*/
.topElm .topServiceElm {
	background: #fff;
	padding-bottom: 100px;
	opacity: 0;
	transform: translateY(30px);
}

.topElm .topServiceElm::before {
	content: "";
	background: url(../images/bg_top_blue2.png) no-repeat #000;
	background-size: cover;
	background-position: center bottom;
	width: 100%;
	display: inline-block;
	height: 350px;
	margin-bottom: -5px;
	margin-top: -100px;
}

.topElm .topServiceElm .topService__inner {
	max-width: 1200px;
	width: 80%;
	margin: 40px auto 0;
}

.topElm .topServiceElm .topService__header {
	display: flex;
	justify-content: space-between;
}

.topElm .topServiceElm .ttlImg {
	max-width: 230px;
	width: 100%;
}

.topElm .topServiceElm .ttlImg img {
	width: 100%;
}

.topElm .topServiceElm .topEnElm {
	display: flex;
	justify-content: left;
	align-items: center;
	height: 40px;
}

.topElm .topServiceElm .topEnElm .enTitle {
	font-family: Inter;
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	color: #00336D;
	margin-left: 20px;
}

.topElm .topServiceElm .topService__contents {
	display: flex;
	gap: 60px;
	margin-top: 80px;
}

.topElm .topServiceElm .topService__contents .txtBox {
	width: 60%;
}

.topElm .topServiceElm .topService__contents .txtBox h4 {
	color: var(--text, #2B2B2B);
	font-size: 39px;
	font-style: normal;
	font-weight: 700;
	line-height: 54px;
}

.topElm .topServiceElm .topService__contents .txtBox .txt {
	color: var(--text, #2B2B2B);

	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	margin-top: 32px;
}

.topElm .topServiceElm .topService__contents .imgBox {
	width: 40%;
}

.topElm .topServiceElm .topService__contents .imgBox img {
	width: 100%;
}

.topElm .topService__step {
	margin-top: 80px;
}

.topElm .topService__step h4 {
	color: var(--text, #2B2B2B);
	text-align: center;
	font-size: 32px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

/* 全体ラッパー */
.topElm .topService__step .flowSection {
	max-width: 800px;
	margin: 40px auto 0;
}

/* 各ステップのカード */
.topElm .topService__step .flowItem {
	display: flex;
	align-items: stretch;
	background: #EFF1F4;
	border-radius: 8px;
	overflow: hidden;
	/* 角丸に画像を合わせる */
}

.topElm .topService__step .flowItem__img .imgPC {
	display: block;
}

.topElm .topService__step .flowItem__img .imgSP {
	display: none;
}

/* 左側の画像エリア */
.flowItem__img {}

.topElm .topService__step .flowItem__img img {
	width: 100%;
	object-fit: cover;
	max-width: 140px;
}

/* 右側テキストエリア */
.topElm .topService__step .flowItem__body {
	flex: 1;
	padding: 24px 32px;
}

.topElm .topService__step .flowItem__title {
	color: var(--text, #2B2B2B);

	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 24px;
}

.topElm .topService__step .flowItem__text {
	color: var(--subtext, #6E6E6E);
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 24px;
	margin-top: 7px;
	/* 171.429% */
}

/* 中央の矢印 */
.topElm .topService__step .flowArrow {
	text-align: center;
	margin: 16px 0;
}

.topElm .topService__step .flowArrow img {
	width: 40px;
	/* デザインに合わせて調整 */
	height: auto;
}

.topElm .topSolutionElm .topSolution__inner,
.topElm .topAboutElm .topAbout__inner,
.topElm .topCaseElm .topCase__inner,
.topElm .topNewsElm .topNews__inner {
	opacity: 0;
	transform: translateY(30px);
}


/*Solution*/
.topElm .topSolutionElm .topSolution__inner,
.topElm .topAboutElm .topAbout__inner {
	max-width: 1200px;
	width: 80%;
	margin: 40px auto 0;
}

.topElm .topSolutionElm .topSolution__header,
.topElm .topAboutElm .topAbout__header {
	display: flex;
	justify-content: space-between;
}

.topElm .topSolutionElm::before,
.topElm .topAboutElm::before {
	content: "";
	background: url(../images/bg_under_blue2.png) no-repeat #000;
	background-size: cover;
	background-position: center top;
	width: 100%;
	display: inline-block;
	height: 310px;
}

.topElm .topSolutionElm .ttlImg,
.topElm .topAboutElm .ttlImg {
	max-width: 230px;
	width: 100%;
}

.topElm .topSolutionElm .ttlImg img,
.topElm .topAboutElm .ttlImg img {
	width: 100%;
}

.topElm .topSolutionElm .topEnElm,
.topElm .topAboutElm .topEnElm {
	display: flex;
	justify-content: left;
	align-items: center;
	height: 40px;
}

.topElm .topSolutionElm .topEnElm .enTitle,
.topElm .topAboutElm .topEnElm .enTitle {
	color: var(--white, #FFF);
	font-family: Inter;
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	margin-right: 20px;
}


.topElm .topSolutionElm .topSolution__contents h3,
.topElm .topAboutElm .topAbout__contents h3 {
	color: #FFF;
	font-size: 39px;
	font-style: normal;
	font-weight: 700;
	line-height: 54px;

}

.topElm .topSolutionElm .topSolution__contents .subtxt,
.topElm .topAboutElm .topAbout__contents .subtxt {
	color: var(--white, #FFF);
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	opacity: 0.9;
	margin-top: 32px;
}

/*Case*/
.topElm .topCaseElm,
.topElm .topNewsElm {
	background: #fff;
	padding-bottom: 100px;
}

.topElm .topCaseElm::before,
.topElm .topNewsElm::before {
	content: "";
	background: url(../images/bg_top_blue2.png) no-repeat #000;
	background-size: cover;
	background-position: center bottom;
	width: 100%;
	display: inline-block;
	height: 350px;
	margin-bottom: -5px;
}

.topElm .topCaseElm .topCase__inner,
.topElm .topNewsElm .topNews__inner {
	max-width: 1200px;
	width: 80%;
	margin: 40px auto 0;
}

.topElm .topCaseElm .topCase__header,
.topElm .topNewsElm .topNews__header {
	display: flex;
	justify-content: space-between;
}

.topElm .topCaseElm .ttlImg,
.topElm .topNewsElm .ttlImg {
	max-width: 230px;
	width: 100%;
}

.topElm .topCaseElm .ttlImg img,
.topElm .topNewsElm .ttlImg img {
	width: 100%;
}

.topElm .topCaseElm .topEnElm,
.topElm .topNewsElm .topEnElm {
	display: flex;
	justify-content: left;
	align-items: center;
	height: 40px;
}

.topElm .topCaseElm .topEnElm .enTitle,
.topElm .topNewsElm .topEnElm .enTitle {
	font-family: Inter;
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	color: #00336D;
	margin-left: 20px;
}

.topElm .topCaseElm .topCase__contents,
.topElm .topNewsElm .topNews__contents {
	margin-top: 80px;
}

.topElm .topCaseElm .topCase__contents h3,
.topElm .topNewsElm .topNews__contents h3 {
	color: #2B2B2B;
	font-size: 39px;
	font-style: normal;
	font-weight: 700;
	line-height: 54px;
}

.topElm .topCaseElm .topCase__contents .subtxt,
.topElm .topNewsElm .topNews__contents .subtxt {
	color: #2B2B2B;
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	opacity: 0.9;
	margin-top: 32px;
}

/**/
.topElm .topCaseElm .caseStudyBox {
	margin-top: 80px;
}

.topElm .topCaseElm .caseStudyBox ul {
	gap: 40px 6%;
}

.topElm .topCaseElm .caseStudyBox .contact_link a {
	color: #2B2B2B;
	background: url(../images/circle_arrrow_black.png) no-repeat;
	background-size: 76px;
	background-position: center right;
}

.topElm .topCaseElm .caseStudyBox .contact_link a:hover {
	background: url(../images/circle_arrrow_black_hover.png) no-repeat;
	background-size: 76px;
	background-position: center right;
}

.topElm .topAboutElm .topAbout__contents .aboutList ul {
	width: 100%;
	max-width: 1056px;
	display: flex;
	gap: 0 32px;
	margin: 80px auto 0;
}

.topElm .topAboutElm .topAbout__contents .aboutList ul li {
	width: 25%;
}

.topElm .topAboutElm .topAbout__contents .aboutList ul li img {
	width: 100%;
}

.topElm .topAboutElm .topAbout__contents .aboutList ul li .txt {
	color: var(--white, #FFF);
	text-align: center;

	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 38px;
	margin-top: 16px;
}

.topElm .topAboutElm .topAbout__contents .ttlMember {
	margin-top: 80px;
}


.topElm .topAboutElm .topAbout__contents .memberList ul {
	display: flex;
	width: 100%;
	max-width: 1040px;
	align-items: flex-start;
	align-content: flex-start;
	gap: 80px 40px;
	flex-wrap: wrap;
	margin: 80px auto 0;
	justify-content: center;
}

.topElm .topAboutElm .topAbout__contents .memberList ul li {
	display: flex;
	width: 230px;
	flex-direction: column;

	gap: 20px;
	flex-shrink: 0;
}

.topElm .topAboutElm .topAbout__contents .memberList ul li img {
	width: 100%;
}

.topElm .topAboutElm .topAbout__contents .memberList ul li .name {
	color: var(--white, #FFF);
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 38px;
}

.topElm .topAboutElm .topAbout__contents .memberList ul li .job {
	color: var(--white, #FFF);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 26px;
}

.topElm .topAboutElm .topAbout__contents .memberList ul li .txt {
	color: var(--white_subtext, rgba(255, 255, 255, 0.70));
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 26px;
	/* 162.5% */
}

.topElm .topNewsElm .topNews__contents .newsList ul {
	display: flex;
	align-items: flex-start;
	align-content: flex-start;
	gap: 32px;
	align-self: stretch;
	flex-wrap: wrap;
	width: 100%;
	max-width: 1200px;
	margin: 80px auto 0;
}

.topElm .topNewsElm .topNews__contents .newsList ul li {
	max-width: 580px;
	width: 48%;
}

.topElm .topNewsElm .topNews__contents .newsList ul li a {
	display: flex;
	padding-left: 32px;
	align-items: center;
	gap: 32px;
}

.topElm .topNewsElm .topNews__contents .newsList ul li a .newsBox {
	width: 24%;
}

.topElm .topNewsElm .topNews__contents .newsList ul li a .txtBox {
	width: 76%;
}

.topElm .topNewsElm .topNews__contents .newsList ul li a img {
	max-width: 133px;
	width: 100%;
}

.topElm .topNewsElm .topNews__contents .newsList ul li a .day {
	color: var(--subtext, #6E6E6E);
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
}

.topElm .topNewsElm .topNews__contents .newsList ul li a .ttl {
	color: var(--text, #2B2B2B);

	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 31px;
}

.topElm .topNewsElm .topNews__contents .contact_link a {
	color: #2B2B2B;
	background: url(../images/circle_arrrow_black.png) no-repeat;
	background-size: 76px;
	background-position: center right;

}

.topElm .topNewsElm .topNews__contents .contact_link a:hover {
	background: url(../images/circle_arrrow_black_hover.png) no-repeat;
	background-size: 76px;
	background-position: center right;
}

@media (min-width: 1200px) {
	.solutionDetailElm .titleArea {
		width: 80% !important;
		max-width: 1200px;
		margin: 0 auto !important;
	}

	.solutionDetailElm .solutionDetailBox h3 {
		margin: 20px auto 0 !important;
		max-width: 1200px;
	}

	.solutionDetailElm .contentsBox {

		margin: 20px auto 0 !important;
	}
}

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

	.topElm .topFv .imgBox {
		text-align: center;
		position: relative;
		overflow: hidden;
		margin-top: 50px;
	}

	.topElm .topFv .imgBox img {

		position: relative;

		width: 770px;
	}


	.topElm .topFv h2 {
		font-size: 31.849px;
	}

	.topElm .topFv .txt {
		font-size: 13px;
		line-height: 26px;
	}

	.topElm .topFv .txtBox a {
		font-size: var(--text_S_size);
		line-height: 29px;
		margin-top: 20px;
	}

	.topElm .topCaseElm::before,
	.topElm .topNewsElm::before {
		margin-top: -100px;
	}

	.topElm .topicsElm {
		padding: 20px 28px;
	}

	.topElm .topicsElm h3 {
		font-size: var(--SP_heading_S_size);
		line-height: 24px;
	}

	.topElm .topicsElm .day {
		display: block;
		font-size: var(--SP_text_S_size);
		line-height: 24px;
	}

	.topElm .topicsElm .txt {
		font-size: var(--SP_text_S_size);
		line-height: 24px;
	}

	.topElm .topicsElm li {
		margin-top: 16px;
	}

	/*Service*/
	.topElm .topServiceElm {
		margin-top: -100px;
	}

	.topElm .topServiceElm .ttlImg,
	.topElm .topSolutionElm .ttlImg,
	.topElm .topAboutElm .ttlImg,
	.topElm .topCaseElm .ttlImg,
	.topElm .topNewsElm .ttlImg {
		max-width: 130px
	}

	.topElm .topServiceElm .topEnElm .enTitle,
	.topElm .topSolutionElm .topEnElm .enTitle,
	.topElm .topAboutElm .topEnElm .enTitle,
	.topElm .topCaseElm .topEnElm .enTitle,
	.topElm .topNewsElm .topEnElm .enTitle {
		font-size: 17px;
	}

	.topElm .topServiceElm .topEnElm svg,
	.topElm .topSolutionElm .topEnElm svg,
	.topElm .topAboutElm .topEnElm svg,
	.topElm .topCaseElm .topEnElm svg,
	.topElm .topNewsElm .topEnElm svg {
		width: 225px;
	}

	.topElm .topServiceElm .topService__contents {
		margin-top: 48px;
		gap: 36px;
	}

	.topElm .topServiceElm .topService__contents .txtBox h4 {
		font-size: var(--SP_heading_L_size);
		line-height: 34px;
	}

	.topElm .topServiceElm .topService__contents .txtBox .txt {
		font-size: var(--SP_text_S_size);
		margin-top: 16px;
		line-height: 24px;
	}

	.topElm .topService__step {
		margin-top: 48px;
	}

	.topElm .topService__step .flowItem__text {
		font-size: var(--SP_text_S_size);
		line-height: 24px;
	}

	.topElm .topService__step h4 {
		font-size: var(--SP_heading_M_size);
		line-height: 32px;
	}

	.topElm .topService__step .flowSection {
		margin-top: 24px;
		max-width: 520px;
	}

	.topElm .topService__step .flowItem__body {
		padding: 20px;
	}

	.topElm .topService__step .flowItem__img img {
		max-width: 120px;
	}

	/*Solution*/
	.topElm .topSolutionElm .topSolution__inner,
	.topElm .topAboutElm .topAbout__inner {
		margin-top: -100px;
	}

	.topElm .topSolutionElm .topSolution__contents,
	.topElm .topCaseElm .topCase__contents,
	.topElm .topNewsElm .topNews__contents {
		margin-top: 48px;
		position: relative;
	}

	.topElm .topSolutionElm .topSolution__contents h3,
	.topElm .topAboutElm .topAbout__contents h3,
	.topElm .topCaseElm .topCase__contents h3,
	.topElm .topNewsElm .topNews__contents h3 {
		font-size: var(--SP_heading_L_size);
		line-height: 34px
	}

	.topElm .topSolutionElm .topSolution__contents .subtxt,
	.topElm .topAboutElm .topAbout__contents .subtxt,
	.topElm .topCaseElm .topCase__contents .subtxt,
	.topElm .topNewsElm .topNews__contents .subtxt {
		margin-top: 20px;
		font-size: var(--SP_text_S_size);
		line-height: 24px;
	}


	.topElm .topCaseElm .caseStudyBox .contact_link a {
		background-size: 57px;
	}

	.topElm .topCaseElm .caseStudyBox .contact_link a:hover {
		background-size: 57px;
	}

	/*About*/
	.topElm .topAboutElm .topAbout__contents .aboutList ul {
		max-width: 640px;
		gap: 0 16px;
		margin-top: 28px;
	}

	.topElm .topAboutElm .topAbout__contents .aboutList ul li .txt {
		font-size: var(--SP_text_S_size);
		line-height: 24px;
		margin-top: 6px;
	}

	.contact_link {
		margin-top: 48px !important;
	}

	.topElm .topAboutElm .topAbout__contents .ttlMember {
		margin-top: 48px;
	}

	.topElm .topAboutElm .topAbout__contents .memberList ul {
		margin-top: 28px;
		gap: 32px 16px;
		justify-content: center;
		position: relative;
	}

	.topElm .topAboutElm .topAbout__contents .memberList ul li {
		width: 148px;
		gap: 16px;
	}

	.topElm .topAboutElm .topAbout__contents .memberList ul li .name {
		font-size: var(--SP_heading_S_size);
		line-height: 24px;
	}

	.topElm .topAboutElm .topAbout__contents .memberList ul li .job,
	.topElm .topAboutElm .topAbout__contents .memberList ul li .txt {
		font-size: var(--SP_text_S_size);
		line-height: 21px;
	}

	/*news*/
	.topElm .topNewsElm .topNews__contents .newsList ul .topElm .topNewsElm .topNews__contents .contact_link a {
		background-size: 57px;
	}

	.topElm .topNewsElm .topNews__contents .newsList ul {
		max-width: 600px;
		gap: 40px;
	}

	.topElm .topNewsElm .topNews__contents .newsList ul li {
		max-width: 280px;
		width: 50%;
	}

	.topElm .topNewsElm .topNews__contents .newsList ul li a {
		display: grid;
		padding-left: 0px;
		gap: 12px;
	}

	.topElm .topNewsElm .topNews__contents .newsList ul li a .ttl {
		font-size: var(--text_S_size);
		line-height: 24px;
	}

	.topElm .topNewsElm .topNews__contents .contact_link a {
		background-size: 57px;
		font-size: var(--text_S_size);
	}

	.topElm .topNewsElm .topNews__contents .contact_link a:hover {
		background-size: 57px;
	}

	.topElm .topNewsElm .topNews__contents .newsList ul li a .newsBox,
	.topElm .topNewsElm .topNews__contents .newsList ul li a .txtBox {
		width: 100%;
	}

	.topElm .topNewsElm .topNews__contents .newsList ul li a img {
		max-width: 100%;
	}

}

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

	.topElm .topServiceElm .topEnElm svg,
	.topElm .topSolutionElm .topEnElm svg,
	.topElm .topAboutElm .topEnElm svg,
	.topElm .topCaseElm .topEnElm svg,
	.topElm .topNewsElm .topEnElm svg {
		width: 150px;
	}

	.topElm .topAboutElm .topAbout__contents .aboutList ul {
		max-width: 312px;
		flex-wrap: wrap;
		gap: 16px;
	}

	.topElm .topAboutElm .topAbout__contents .aboutList ul li {
		width: 48%;
		max-width: 148px;
	}
}

@media screen and (max-width: 770px) {
	.topElm .topFv .imgBox {
		margin-top: 110px;
	}

	.topElm .topFv .imgBox img {
		position: relative;

		width: 600px;
		z-index: 10;
	}
}

@media screen and (max-width: 600px) {
	.topElm .topFv .imgBox img {
		position: relative;
		transform: translate(-50%, 0%);
		top: 0px;
		left: 50%;
		width: 600px;
		z-index: 10;
	}
}

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

	.topElm .topFv .txt {
		width: 80%;
		margin: 20px auto 0;

	}

	.topElm .topFv .txt br {
		display: none;
	}

	.topElm .topSolutionElm .topEnElm .enTitle,
	.topElm .topAboutElm .topEnElm .enTitle {
		margin-right: 11px;
	}

	.topElm .topCaseElm .topEnElm .enTitle,
	.topElm .topNewsElm .topEnElm .enTitle {
		margin-left: 11px;
	}

	.topElm .topServiceElm .topEnElm svg,
	.topElm .topSolutionElm .topEnElm svg,
	.topElm .topAboutElm .topEnElm svg,
	.topElm .topCaseElm .topEnElm svg,
	.topElm .topNewsElm .topEnElm svg {
		width: 65px;
	}

	.topElm .topFv h2 {
		font-size: 24px;
	}

	.topElm .topServiceElm .topService__contents {
		display: block;
	}

	.topElm .topServiceElm .topService__contents .txtBox {
		width: 100%;
	}

	.topElm .topServiceElm .topService__contents .imgBox {
		width: 100%;
		text-align: center;
		margin-top: 24px;
	}

	.topElm .topServiceElm .topService__contents .imgBox img {
		width: 100%;
		max-width: 280px;
	}

	.topElm .topService__step h4 {
		text-align: left;
	}

	.topElm .topSolutionElm::before,
	.topElm .topAboutElm::before {
		background-position: inherit;
	}

	.topElm .topCaseElm::before,
	.topElm .topNewsElm::before {
		background-size: contain;
		margin-top: -260px;
	}

	.topElm .topSolutionElm .solution_ul {
		margin-top: 48px;
		display: grid;
	}

	.topElm .topSolutionElm .solution_ul li {
		margin-top: 0px;
	}

	.topElm .contact_link a {
		font-size: var(--text_S_size);
		background-size: 44px;
		padding-right: 54px;
	}

	.topElm .contact_link a:hover {
		background-size: 44px;
	}

	.topElm .topCaseElm .caseStudyBox {
		margin-top: 48px;
	}

	.topElm .topCaseElm .caseStudyBox ul {
		width: 100%;
		display: grid;
	}

	.topElm .topCaseElm .caseStudyBox ul li {
		margin-top: 0px;
		max-width: 100%;
	}

	.topElm .topCaseElm .caseStudyBox .contact_link a {
		font-size: var(--text_S_size);
		background-size: 44px;
		padding-right: 54px;
	}

	.topElm .topCaseElm .caseStudyBox .contact_link a:hover {
		background-size: 44px;
	}

	.topElm .topNewsElm .topNews__contents .contact_link a {
		background-size: 44px;
		padding-right: 54px;
	}

	.topElm .topNewsElm .topNews__contents .contact_link a:hover {
		background-size: 44px;
	}

	.topElm .contact_link a:hover {
		background-size: 44px;
	}

	.topElm .topCaseElm,
	.topElm .topNewsElm {
		padding-bottom: 0px;
	}

	.topElm .topAboutElm .topAbout__contents .aboutList ul li {
		width: 47%;
	}

	.topElm .topAboutElm .topAbout__contents {
		margin-top: 48px;

	}

	.topElm .topNewsElm .topNews__contents .newsList ul li {
		width: 100%;
		max-width: 100%;
	}
}

@media screen and (max-width: 700px) {
	.topElm .topService__step .flowItem {
		align-items: center;
	}

	.topElm .topService__step .flowItem__img .imgPC {
		display: none;
	}

	.topElm .topService__step .flowItem__img .imgSP {
		display: block;
	}

	.topElm .topService__step .flowItem__img img {
		max-width: 82px;
	}

	.topElm .topAboutElm .topAbout__contents .memberList ul li {
		width: 47%;
	}

	.topElm .topNewsElm .topNews__contents .newsList ul {
		display: grid;
	}


}

@media screen and (max-width: 500px) {
	.topElm .topFv .scroll_img {
		display: none;
	}
}





/*ソリューション*/
.solutionElm {
	width: 100%;
	background: url(../images/solution_img_earth.jpg) no-repeat;
	background-position: 100% -85px;
	background-size: 350px;
}

.solutionElm .solution_inner {
	max-width: 1200px;
	width: 80%;
	margin: 0 auto 0;
	padding-top: 60px;
}

.solutionElm .solution_inner ul.anim-box {
	opacity: 0;
	transform: translateY(30px);
}

.topEnElm {
	display: flex;
	justify-content: left;
	align-items: center;
}

.solutionElm .enTitle,
.caseElm .enTitle,
.newsElm .enTitle,
.aboutElm .enTitle {
	font-family: Inter;
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	color: #fff;
	margin-right: 20px;
}

.solutionElm .jpTitle {
	color: var(--white, #FFF);
	/* heading_XL */
	font-family: "Noto Sans JP";
	font-size: 44px;
	font-style: normal;
	font-weight: 700;
	line-height: 64px;
	margin-top: 80px;
}

.solutionElm .explanation_txt {
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	color: #fff;
	opacity: 0.9;
	width: 100%;
	max-width: 677px;
	margin-top: 32px;
}

.solution_ul {
	margin: 80px auto 0;
	display: flex;
	max-width: 1200px;
	align-items: flex-start;
	align-content: flex-start;
	gap: 40px 28px;
	flex-wrap: wrap;
	justify-content: center;
}

.solution_ul li {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	flex-shrink: 0;
	width: 320px;


}

.solution_ul li a {
	border-radius: 8.252px;
	border: 1px solid rgba(255, 255, 255, 0.40);
}

.solution_ul li a:hover {
	border-radius: 8.252px;
	border: 1px solid #61ABFF;
	background: linear-gradient(153deg, #145AB1 71.44%, #61DBFD 138.15%);
	backdrop-filter: blur(1.650410532951355px);
}


.solution_ul li .li_img {
	width: 100%;
	border-top-left-radius: 8.252px;
	border-top-right-radius: 8.252px;
	overflow: hidden;

	/* パフォーマンスヒント */
}

.solution_ul li .li_img img {
	width: 99.9%;
	transform: scale(1);
	/* 初期状態 */
	transform-origin: center center;
	/* 中心基準 */
	transition: transform 0.2s ease-out;
	will-change: transform;
}

.solution_ul li>a:hover .li_img img,
.solution_ul li>a:focus-visible .li_img img {
	transform: scale(1.1);
	width: 99.6%;
}


.solution_ul li .txtArea {
	display: flex;
	padding: 24px 28px 40px 28px;
	flex-direction: column;
	align-items: flex-start;
	align-self: stretch;
}

.solution_ul li .txtArea .en_ttl {
	color: #FFF;
	font-family: Inter;
	font-size: 11px;
	font-style: normal;
	font-weight: 400;
	line-height: normal;
	opacity: 0.5;
}

.solution_ul li .txtArea .jp_ttl {
	color: #FFF;
	/* heading_S_narrow */
	font-family: "Noto Sans JP";
	font-size: 22px;
	font-style: normal;
	font-weight: 700;
	line-height: 31px;
	/* 140.909% */
}

.solution_ul li .txtArea .jp_txt {
	color: var(--white_subtext, rgba(255, 255, 255, 0.70));
	margin-top: 20px;
	/* text_S_narrow */
	font-family: "Noto Sans JP";
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 26px;
	/* 162.5% */
}

/*******
ソリューション詳細
********/
.solutionDetailElm {
	margin-top: 51px;
}

.solutionDetailElm .titleArea {
	width: 90%;
	margin-left: 10%;
	display: flex;
}

.solutionDetailElm .titleArea .titleBox {
	width: 45%;
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	position: relative;
}

.solutionDetailElm .topEnElm {
	display: flex;
	justify-content: left;
	align-items: center;
	position: absolute;
	top: 0;
}

.solutionDetailElm .titleBox .enTitle {
	font-family: Inter;
	font-size: 32px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	color: #fff;
	margin-right: 20px;
}

.solutionDetailElm .titleBox .enSub {
	color: var(--white_subtext, rgba(255, 255, 255, 0.70));

	/* heading_S */
	font-family: "Noto Sans JP";
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 38px;
}

.solutionDetailElm .titleBox .jpTitle {
	color: var(--white, #FFF);
	/* heading_XL */
	font-family: "Noto Sans JP";
	font-size: 44px;
	font-style: normal;
	font-weight: 700;
	line-height: 64px;
}

.solutionDetailElm .titleArea .imgBox {
	width: 55%;
}

.solutionDetailElm .titleArea .imgBox img {
	width: 100%;
}

.solutionDetailElm .solutionDetailBox {
	margin-top: 80px;
}

.solutionDetailElm .solutionDetailBoximg {
	width: 80%;
	margin: 80px auto 0;
	max-width: 1200px;
}

.solutionDetailElm .solutionDetailBoximg img {
	width: 100%;
	/*max-width: 960px;*/
}

.solutionDetailElm .solutionMove,
.solutionDetailElm .caseStudyBox,
.solutionDetailElm .footerSolution {
	opacity: 0;
	transform: translateY(30px);
}

.solutionDetailElm .fastBox {
	margin-top: 68px;
}

.solutionDetailElm .solutionDetailBox h3 {
	color: var(--white, #FFF);
	/* heading_M */
	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	margin-left: 10%;
	width: 80%;
}

.solutionDetailElm .contentsBox {
	display: flex;
	width: 80%;
	max-width: 1200px;
	padding: 36px 52px;
	margin: 20px auto 0;
	flex-direction: column;
	align-items: flex-start;
	gap: 32px;
	align-self: stretch;
	border-radius: 11.492px;
	background: rgba(255, 255, 255, 0.15);
	margin-left: 10%;
}

.solutionDetailElm .contentsBox_img {
	width: 100%;
	width: 80%;
	max-width: 1200px;
	margin: 20px auto 0;
}

.solutionDetailElm .contentsBox_img .txt {
	color: var(--white, #FFF);
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
}

.solutionDetailElm .contentsBox_img .imgBox {
	margin-top: 24px;
}

.solutionDetailElm .contentsBox_img2 {
	width: 80%;
	max-width: 1200px;
	margin: 20px auto 10%;
}

.solutionDetailElm .contentsBox_img2 .imgBox {
	margin-top: 24px;
}

.solutionDetailElm .contentsBox_img2 .imgBox img {
	width: 100%;
	/*max-width: 950px;*/
}

.solutionDetailElm .contentsBox h4 {
	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	background: linear-gradient(90deg, #6BABF4 4.73%, #BFDDFF 93.3%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}

.solutionDetailElm .contentsBox .txt {
	color: var(--white_subtext, rgba(255, 255, 255, 0.70));
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	margin-top: 32px;
}

.solutionDetailElm .contentsBox .txt2 {
	color: var(--white, #FFF);
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 38px;
}

.solutionDetailElm .contentsBox .ttl {
	color: var(--white, #FFF);
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 31px;
	margin-top: 24px;
}

.solutionDetailElm .contentsBox .ttl:first-child {
	margin-top: 0px;
}

.solutionDetailElm .contentsBox .txt3,
.solutionDetailElm .contentsBox .txt4 {
	color: var(--white_subtext, rgba(255, 255, 255, 0.70));
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
}

.solutionDetailElm .contentsBox .txt4 {
	text-indent: -1em;
	padding-left: 1em;
}

.solutionDetailElm .contentsBox .txt_img {
	margin-top: 24px;
}

.solutionDetailElm .contentsBox .txt_img img {
	width: 100%;
	max-width: max-content;
}

.solutionDetailElm .offerElm {
	background: rgba(255, 255, 255, 0.15);
	padding: 61px 0;
	margin-top: 150px;
}

.solutionDetailElm .offerElm h3 {
	color: var(--white, #FFF);
	text-align: center;
	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

.solutionDetailElm .offerElm p {
	color: var(--white, #FFF);
	text-align: center;

	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	margin-top: 31px;
}

.solutionDetailElm .contactElm {
	margin-top: 76px;
}

.contentsBox_img img {
	width: 100%;
	/*max-width: 960px;*/
}

.caseStudyBox {
	width: 100%;
	margin: 275px auto 0;
}

.caseStudyBox h4 {
	color: var(--white, #FFF);

	font-size: 28px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	text-align: center;
}

.caseStudyBox ul {
	display: flex;
	width: 80%;
	max-width: 1088px;
	align-items: flex-start;
	align-content: flex-start;
	gap: 60px 6%;
	flex-wrap: wrap;
	margin: 40px auto 0;
	justify-content: left;
}

.caseStudyBox ul li {
	width: 47%;
	max-width: 512px;
}

.caseStudyBox ul li:last-child {
	margin-right: 0px;
}

.caseStudyBox ul li img {
	width: 100%;
	border-radius: 5px;
}

.caseStudyBox .caseTitle {
	color: var(--white, #2B2B2B);
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 38px;
	margin-top: 22px;
}

.solutionDetailElm .caseStudyBox .caseTitle {
	color: var(--white, #FFF);
}

.caseStudyBox .caseGroup {
	display: inline-block;
	padding: 6px 16px;
	align-items: flex-start;
	border-radius: 24px;
	background: #DFDFDF;
	color: var(--text, #2B2B2B);
	font-size: 13px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	margin-top: 16px;
}

.caseStudyBox .subTitle {
	color: var(--white, #2B2B2B);
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 31px;
	margin-top: 16px;
	opacity: 0.9;
}

.solutionDetailElm .caseStudyBox .subTitle {
	color: var(--white, #FFF);
}

.caseStudyBox .casetxt {
	color: var(--white_subtext, #6E6E6E);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 26px;
	margin-top: 8px;
}

.contact_link {
	text-align: center;
	margin-top: 60px;
}

.contact_link a {
	color: #FFF;
	font-size: 22px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	background: url(../images/circle_arrrow.png) no-repeat;
	background-size: 76px;
	background-position: center right;
	height: 76px;
	display: inline-flex;
	padding-right: 81px;
	align-items: center;
}

.contact_link a:hover {
	background: url(../images/circle_arrrow_hover.png) no-repeat;
	background-size: 76px;
	background-position: center right;

}

/*******
ケース
********/
.caseElm .case_inner .topEnElm {
	max-width: 1200px;
	width: 80%;
	margin: 0 auto 0;
	padding-top: 60px;
}

.caseElm .titleBox {
	position: relative;
	height: 110px;
	overflow: hidden;
	margin-top: 71px;
}

.caseElm .titleBox .jpTitle {
	color: var(--white, #FFF);
	/* heading_XL */
	font-family: "Noto Sans JP";
	font-size: 44px;
	font-style: normal;
	font-weight: 700;
	line-height: 64px;
	position: relative;
	z-index: 9;
	max-width: 1200px;
	width: 80%;
	margin: 0 auto;
}

.caseElm .titleBox img {
	width: 100%;
	position: absolute;
	top: -1.5vw;
}

.caseElm .caseShiborikomiBox {
	background: #282828;
}

/* === Filter box === */
.caseElm .filterBox {
	padding: 36px 0;
	background: #282828;

}

.caseElm .filterBox .filterBox__inner {
	width: 80%;
	max-width: 1200px;
	margin: 0 auto;
}

.caseElm .filterBox__title {
	color: var(--white, #FFF);
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 31px;
}

.caseElm .filterBox__list {
	display: flex;
	align-items: flex-start;
	align-content: flex-start;
	gap: 16px 30px;
	flex-wrap: wrap;
	color: #fff;
	margin: 36px auto;
}

.caseElm .filterBox__item {
	display: flex;
	align-items: center;
	gap: 8px;
}

.caseElm .filterBox__cb {
	-webkit-appearance: none;
	appearance: none;
	width: 24px;
	height: 24px;
	border-radius: 4px;
	border: 1px solid rgba(255, 255, 255, 0.7);
	background: transparent;
	/* ← 未チェック時は背景なし */
	display: inline-block;
	position: relative;
	cursor: pointer;
}

/* チェック時の見た目 */
.caseElm .filterBox__cb:checked {
	background: #ffffff;
	/* ← チェック時だけ白く塗る */
}

/* チェックマーク */
.caseElm .filterBox__cb:checked::after {
	content: "";
	position: absolute;
	top: 0px;
	width: 100%;
	height: 100%;
	background: url(../images/icon_checkbox_on.png) no-repeat;
	background-size: cover;
}



.caseElm .filterBox__lbl {
	cursor: pointer;
	user-select: none;
	color: var(--white, #FFF);
	text-align: center;
	font-size: 18px;
	font-style: normal;
	font-weight: 700;
	line-height: 30px;
	/* 166.667% */
}

.caseElm .filterBox__actions {
	margin-top: 4px;
}

.caseElm .filterBox__apply {
	cursor: pointer;

	border-radius: 24px;
	border: 1px solid #fff;
	background: #2b2b2b;
	color: #fff;
	font-weight: 700;
	transition: opacity .2s ease;
	width: 100%;
	max-width: 145px;
	height: 48px;
	color: var(--white, #FFF);
	text-align: center;
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	/*padding: 10px 24px;
	line-height: 31px;*/
}


.caseElm .filterBox__apply:hover {
	color: var(--text, #2B2B2B);
	background: #fff;
	color: #2b2b2b;
}

/* === Filtered cards (フェード) === */
.solution-card {
	transition: opacity .2s ease, transform .2s ease;
}

.solution-card.is-hidden {
	opacity: 0.2;
	transform: scale(0.98);
	display: none;
}

/*ケースリスト*/
.caseElm .caseStudyBox {
	max-width: 100%;
	margin-top: 0px;
	padding-top: 120px;
	background: #fff;
	padding-bottom: 60px;

}

.caseElm .caseStudyBox ul {
	display: flex;
	width: 80%;
	max-width: 1088px;
	align-items: flex-start;
	align-content: flex-start;
	gap: 100px 5.5%;
	flex-wrap: wrap;
	margin: 0 auto;
	justify-content: left;
	opacity: 0;
	transform: translateY(30px);
}

.caseElm .caseStudyBox ul li {
	margin-right: 0px;
	width: 47%;
}



.caseElm .contactElm {
	margin-top: 96px;
}

/*ページネーション*/
.pagination {
	display: flex;
	justify-content: center;
	padding: 80px 0 120px;
	background: #fff;
	position: relative;
	z-index: 19;
}

.pagination__list {
	display: flex;
	align-items: center;
	gap: 11px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.pagination__link,
.pagination__current {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 6px;
	border-radius: 6px;
	font-family: Inter;
	font-size: 23.287px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	box-sizing: border-box;
}

/* 数字ボタン */
.pagination__link {
	border: 1px solid #2B2B2B;
	text-decoration: none;
	color: var(--text, #2B2B2B);
	text-align: center;
	font-family: Inter;
	font-size: 23.287px;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
}

/* 現在ページ（1） */
.pagination__item--current .pagination__current {
	color: #000;
}

/* 矢印ボタンのベース（背景・枠） */
.pagination__link--arrow {
	position: relative;
	border: 1px solid #2B2B2B;
}

.pagination__item--prev {
	margin-right: 29px;
}

.pagination__item--next {
	margin-left: 29px;
}

/* 左右の矢印共通：線だけ描く */
.pagination__link--arrow::before {
	content: "";
	position: absolute;
	width: 10px;
	height: 10px;
	border-style: solid;
	border-width: 2px 2px 0 0;
	/* 右上のL字を作る */
	border-color: #2B2B2B;
	/* 矢印の色（少しグレー） */
	top: 50%;
	left: 50%;
	transform-origin: center;
}

/* ＜ 左矢印 */
.pagination__item--prev .pagination__link--arrow::before {
	transform: translate(-30%, -50%) rotate(-135deg);

}

/* ＞ 右矢印 */
.pagination__item--next .pagination__link--arrow::before {
	transform: translate(-70%, -50%) rotate(45deg);
}

/* ホバー（お好みで） */
.pagination__link:hover {
	background-color: #333;
	color: #fff;
}

.pagination__link--arrow:hover::before {
	border-color: #fff;
}

/*******
ニュース & ブログ
********/
.newsElm {
	background: #fff;
}

.newsElm .top__box {
	background: #000;
}

.newsElm .topEnElm,
.aboutElm .topEnElm {
	max-width: 1200px;
	width: 80%;
	margin: 0 auto 0;
	padding-top: 60px;
}

.newsElm .titleBox {
	overflow: hidden;
	margin-top: 71px;
}

.newsElm .titleBox .jpTitle,
.aboutElm .titleBox .jpTitle {
	color: var(--white, #FFF);
	font-size: 44px;
	font-style: normal;
	font-weight: 700;
	line-height: 64px;
	position: relative;
	z-index: 9;
	max-width: 1200px;
	width: 80%;
	margin: 0 auto;
}

.newsDetailElm .titleBox .jpTitle,
.aboutElm .titleBox .jpTitle {
	font-size: 39px;
	line-height: 54px;
}

.newsElm .titleBox .subttl {
	color: var(--white, #FFF);
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	max-width: 1200px;
	width: 80%;
	margin: 0 auto;
	position: relative;
	z-index: 9;
	opacity: 0.9;
}

.newsElm .titleBox img {
	width: 100%;
	margin-top: -12vh;
	display: block;
}

.newsElm .titleBox {
	background: #000;
}

.newsElm .newsList {
	margin-top: 60px;
}

.newsList h3 {
	color: var(--text, #2B2B2B);
	text-align: center;
	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

.newsElm .newsList ul {
	display: flex;
	width: 80%;
	max-width: 1008px;
	align-items: flex-start;
	align-content: flex-start;
	gap: 100px 4.75%;
	flex-wrap: wrap;
	margin: 48px auto 0;
	justify-content: left;
}

.newsElm .newsList ul li {
	margin-right: 0px;
	width: 47.6%;
	max-width: 480px;
}

.newsElm .newsList ul li img {
	width: 100%;
	border-radius: 5px;

}

.newsElm .newsList ul li .newsDay {
	color: var(--subtext, #6E6E6E);

	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	margin-top: 16px;
}

.newsElm .newsList ul li .newsTitle {
	color: var(--white, #2B2B2B);
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 38px;

}

.newsElm .newsList ul li .marginTop16 {
	margin-top: 16px;
}

.newsElm .newsList ul li .newstxt {
	color: var(--white_subtext, #2B2B2B);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: 26px;
	margin-top: 20px;
}

/*******
ニュース & ブログ詳細
********/
.newContents {
	width: 63%;
	max-width: 900px;
	margin: 0px auto 0;
	--overlap: clamp(40px, 8vw, 140px);
	--overlap-plus: 40px;
	margin-top: calc(-1 * (var(--overlap) + var(--overlap-plus)));
}

.newContents .thumbnail img {
	width: 100%;
}

.newsDetailElm .titleBox img {
	margin-top: 0px;
}


.newsElm .newContents .explanation_txt {
	color: var(--text, #2B2B2B);

	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	opacity: 0.9;
	margin-top: 120px;
}

.newsElm .newContents h3 {
	color: var(--text, #2B2B2B);
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 38px;
	opacity: 0.9;
	margin-top: 120px;
}

.newsElm .newContents h4 {
	color: var(--text, #2B2B2B);
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 31px;
	opacity: 0.9;
	margin-top: 24px;
}

.newsElm .newContents h5 {
	color: var(--text, #2B2B2B);
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	opacity: 0.9;
	margin-top: 24px;
}

.newsElm .newContents .txt {
	color: var(--text, #2B2B2B);

	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	opacity: 0.9;
	margin-top: 8px;
}

.newsElm .newContents .caption {
	color: #000;
	text-align: center;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
}

.newsElm .newContents .txt span {
	margin-top: 5px;
	display: inline-block;
}

.newsElm .newContents .txt span a {
	text-decoration: underline;
}


.newsElm .newContents .txt img {
	max-width: 100%;
	height: auto;
	display: block;
	margin-right: auto;
	margin-left: auto;
	margin-top: 24px;
}

/*******
About us
********/
.about,
.about main {
	background: #fff;
}

.about header {
	background: #000;
}

.about footer {
	margin-top: 0px
}

.about .about_inner .top__box {
	background: #000;
}

.aboutElm .titleBox {
	overflow: hidden;
	margin-top: 71px;
}

.aboutElm .titleBox .about__list {
	display: flex;
	max-width: 1200px;
	width: 80%;
	margin: 138px auto 0;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

.aboutElm .titleBox .about__list li a {
	color: var(--white, #FFF);
	text-align: center;
	font-size: 24px;
	font-style: normal;
	font-weight: 700;
	line-height: 38px;
}

.aboutElm .titleBox .about__list li a::after {
	content: "";
	background: url(../images/about_icn_jump.png) no-repeat;
	width: 32px;
	height: 32px;
	display: inline-block;
	background-size: cover;
	background-position: center 6px;
	margin-left: 5px;
}

.aboutElm .titleBox .about__list li a:hover {
	opacity: 0.8;
}

.aboutElm .titleBox img {
	width: 100%;
	--overlap: clamp(40px, 8vw, 140px);
	--overlap-plus: 0px;
	margin-top: calc(-1 * (var(--overlap) + var(--overlap-plus)));
	display: block;
}

.aboutElm .contactElm {
	width: 100%;
	max-width: none;
	position: relative;
	background: #000;
	margin: 0px auto 0px;
	background-size: cover;
	background-position: center top;
	padding-bottom: 110px;
}

.aboutElm .contactElm .contactElm_inner {
	position: relative;
	z-index: 9;
	padding: 150px 0 0;
}

#organization {
	margin-top: 60px;
	margin-bottom: 100px;
	opacity: 0;
	transform: translateY(30px);
	max-width: 1200px;
	margin: 60px auto 100px;
	width: 80%;
}

#organization .organization__inner {
	display: flex;
	justify-content: right;
}

#organization .organization__inner .l__Box {
	width: 54%;
	width: 67%;
}

#organization .organization__inner .l__Box h3 {
	margin-top: 15px;
}

#organization .organization__inner .l__Box h3 img {
	max-width: 440px;
	width: 80%;
}

#organization .organization__inner .l__Box h4 {
	color: var(--text, #2B2B2B);

	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	margin-top: 80px;
}

#organization .organization__inner .l__Box .txt {
	color: var(--subtext, #6E6E6E);

	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	margin-top: 48px;
}

#organization .organization__inner .r__Box {
	width: 33%;

}

#organization>h3 {
	color: var(--theme_dark, #00336D);

	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	position: relative;
	/*width: 80%;
	margin-left: 10%;*/
	text-align: right;

}

#organization>h3::after {
	content: "";
	background: url(../images/about_we.png) no-repeat;
	width: 505px;
	height: 100px;
	display: inline-block;
	background-size: contain;
	position: absolute;
	position: absolute;
	right: 0;
	top: 23px;
}

/*ourai*/
#ourai {
	background: #000;
	opacity: 0;
	transform: translateY(30px);
}

#ourai .ourai__box {
	max-width: 1200px;
	margin: 0 auto;
	width: 80%;
}

#ourai::before,
#marlet::before {
	content: "";
	background: url(../images/bg_under_blue2.png) no-repeat #000;
	background-size: cover;
	background-position: center top;
	width: 100%;
	display: inline-block;
	height: 400px;
}

#ourai::after,
#marlet::after {
	content: "";
	background: url(../images/bg_top_blue2.png) no-repeat #000;
	background-size: cover;
	background-position: center bottom;
	width: 100%;
	display: inline-block;
	height: 400px;
	margin-bottom: -5px;
}

#ourai .ourai__inner {
	display: flex;
	margin-top: 68px;
	background: url(../images/about_earth.png) no-repeat;
	background-position: 24% 98%;
	background-size: 82%;
}

#ourai h3.ttl {
	color: var(--white, #FFF);
	margin-top: -150px;
	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	position: relative;
	width: 403px;
	/*margin-left: 10%;*/
}

#ourai h3.ttl::after {
	content: "";
	background: url(../images/about_ourai.png) no-repeat;
	width: 403px;
	height: 104px;
	display: inline-block;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 25px;
}

#ourai .ourai__inner .l__Box {
	width: 33%;
	width: 11%;
}

#ourai .ourai__inner .r__Box {
	width: 89%;
	/*width: 67%;
	margin-right: 13%;*/
	text-align: right;
}

#ourai .ourai__inner .r__Box h3 img {
	max-width: 317px;
	width: 80%;
}

#ourai .ourai__inner .r__Box h4 {
	color: var(--white, #FFF);
	text-align: right;
	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	margin-top: 80px;
}

#ourai .ourai__inner .r__Box .txt {
	color: var(--white, #FFF);
	text-align: right;
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	margin-top: 38px;
	opacity: 0.9;
}

/*強さ*/
#strength {
	margin-bottom: 180px;
	opacity: 0;
	transform: translateY(30px);
}

#strength h3.ttl {
	color: var(--white, #2B2B2B);
	font-size: 39px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	position: relative;
	width: 403px;
	margin-left: 10%;
	margin-top: 100px;
}

#strength h3.ttl::after {
	content: "";
	background: url(../images/about_ourstrength.png) no-repeat;
	width: 634px;
	height: 100px;
	display: inline-block;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 25px;
}

#strength .strength__inner {
	width: 80%;
	max-width: 970px;
	margin: 120px auto 0;
}

#strength .strength__inner .info_txt {
	color: var(--subtext, #6E6E6E);
	text-align: center;
	font-size: 20.833px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}

#strength .strength__inner ul {
	display: flex;
	gap: 27px;
	margin-top: 60px;
}

#strength .strength__inner ul li {
	display: flex;
	padding: 4px;
	border-radius: 8px;
	background: linear-gradient(190deg,
			rgba(82, 128, 255, 1),
			rgba(194, 239, 255, 1));
	box-sizing: border-box;
	width: 33%;
}

#strength .strength__inner ul li>div {
	flex: 1;
	border-radius: inherit;
	background: #fff;
	padding: 66px 33px;
	box-sizing: border-box;
}

#strength .strength__inner ul li.second {
	position: relative;
	top: 35px;
	background: linear-gradient(40deg,
			rgba(82, 128, 255, 1),
			rgba(194, 239, 255, 1));
}

#strength .strength__inner ul li>div h4 {
	color: var(--text, #2B2B2B);
	text-align: center;
	font-size: 38.923px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
}

#strength .strength__inner ul li>div .enttl {
	color: var(--text, #2B2B2B);
	text-align: center;
	font-size: 17.628px;
	font-style: normal;
	font-weight: 500;
	line-height: normal;
	margin-top: 7px;
}

#strength .strength__inner ul li>div .txt {
	color: var(--text, #2B2B2B);
	font-size: 18.22px;
	font-style: normal;
	font-weight: 500;
	line-height: 30.366px;
	margin-top: 34px;
}


/*他社との違い*/
#marlet {
	background: #000;
	opacity: 0;
	transform: translateY(30px);
}

#marlet h3.ttl {
	color: var(--white, #FFF);
	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	position: relative;
	width: 80%;
	margin-left: 10%;
	text-align: right;
	margin-top: -100px;
}

#marlet h3.ttl::after {
	content: "";
	background: url(../images/about_marketPositon.png) no-repeat;
	width: 634px;
	height: 72px;
	display: inline-block;
	background-size: contain;
	position: absolute;
	right: 0;
	top: 25px;
}

#marlet .ourai__inner .imgBox {
	width: 80%;
	max-width: 1200px;
	margin: 50px auto 0;
}

#marlet .ourai__inner .imgBox.beside {
	display: block;
}

#marlet .ourai__inner .imgBox.vertical {
	display: none;
}

#marlet .ourai__inner img {
	width: 100%;
}


/*研究事例*/
#RD {
	margin-bottom: 150px;
	opacity: 0;
	transform: translateY(30px);
}

#RD h3.ttl {
	color: var(--white, #2B2B2B);
	font-size: 39px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	position: relative;
	width: 503px;
	margin-left: 10%;
}

#RD h3.ttl::after {
	content: "";
	background: url(../images/about_rd.png) no-repeat;
	width: 503px;
	height: 84px;
	display: inline-block;
	background-size: contain;
	position: absolute;
	left: 0;
	top: 25px;
}

#RD ul {
	width: 80%;
	max-width: 1100px;
	margin: 125px auto 0;
}

#RD ul li {
	margin-top: 100px;
}

#RD ul div {
	max-width: 680px;
	width: 100%;
}

#RD ul li.rBox {
	display: grid;
	justify-content: right;
}

#RD ul div h4 {
	color: var(--text, #2B2B2B);
	font-size: 28px;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	margin-top: 40px;
}

#RD ul div .txt {
	color: var(--text, #2B2B2B);
	font-size: 18px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	margin-top: 24px;
}

#RD ul div img {
	width: 100%;
}

/*取得特許一覧*/
#patent {
	background: #000;
	opacity: 0;
	transform: translateY(30px);
}

#patent::before {
	content: "";
	background: url(../images/bg_under_purple.png) no-repeat #000;
	background-size: cover;
	background-position: center top;
	width: 100%;
	display: inline-block;
	height: 350px;
}

#patent h3 {
	color: #FFF;
	text-align: center;
	font-size: 39px;
	font-style: normal;
	font-weight: 700;
	line-height: 54px;
	text-align: center;
	margin-top: -150px;
}


#patent h3 {
	text-align: center;
}

/* 共通 */
#patent {
	background: #000;
	color: #fff;
}

.patent__inner {
	width: 80%;
	max-width: 1200px;
	margin: 80px auto 0;
}

.patent-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.patent-list li {}

.patent-list li span {
	color: var(--white, #FFF);
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
}

/* 行間 */
.patent-list li+li {
	margin-top: 32px;
}

/* 日付・特許番号は常に1行 */
.patent-list__date,
.patent-list__no,
.patent-list__info {
	color: var(--white_subtext, rgba(255, 255, 255, 0.70));
	font-size: 16px;
	font-style: normal;
	font-weight: 500;
	line-height: 30px;
	margin-top: 4px;
}

/* タイトルはデフォルトでは折り返しOK（SP用） */
.patent-list__title {
	color: var(--white, #FFF);
	font-size: 20px;
	font-style: normal;
	font-weight: 700;
	line-height: 31px;
}

@media (min-width: 1200px) {
	#organization {
		max-width: 1200px;
		margin: 60px auto 100px;
		width: 80%;
	}

	#ourai .ourai__box {
		max-width: 1200px;
		margin: 0 auto;
		width: 80%;
	}

	#ourai .ourai__inner {
		background-size: 75%;
	}

	#strength {
		max-width: 1200px;
		margin: 0px auto 180px;
		width: 80%;
	}

	#marlet .marlet__box {
		max-width: 1200px;
		margin: 0 auto;
	}

	#RD {
		max-width: 1200px;
		margin: 0px auto 150px;
	}

	#patent .patent__box {
		max-width: 1200px;
		margin: 0 auto;
	}
}

/* =========================
   PC 幅（1行に3カラム）
   ========================= */
@media (min-width: 1025px) {
	.patent-list li {
		/* 日付／番号は固定幅、タイトルは残り全部 */
		grid-template-columns: 110px 110px minmax(0, 1fr);
	}

}

/* =========================
   タブレット以下
   - 1行目：登録日 特許番号
   - 2行目：発明の名称（折り返しOK）
   ========================= */
@media (max-width: 1024px) {
	.aboutElm .titleBox {
		margin-top: 32px;
	}

	.aboutElm .titleBox .jpTitle {
		font-size: var(--SP_heading_L_size);
		line-height: 34px;
	}

	.aboutElm .titleBox .about__list {
		margin-top: 84px;
		flex-wrap: wrap;
		justify-content: left;
		gap: 24px 30px;
	}

	.aboutElm .titleBox .about__list li a {
		font-size: var(--SP_heading_S_size);
	}

	#organization {
		margin-bottom: 60px;
	}

	#organization .organization__inner {
		display: block;

		margin: 0 auto;
	}

	#organization .organization__inner .r__Box {
		display: none;
	}

	#organization .organization__inner .l__Box {
		width: 100%;
	}

	#organization .organization__inner .l__Box h4 {
		font-size: var(--SP_heading_M_size);
	}

	#organization .organization__inner .l__Box .txt {
		font-size: var(--SP_text_S_size);
		line-height: 24px;
	}

	#organization .organization__inner .l__Box h3 img {
		max-width: 341px;
	}

	#organization>h3 {
		font-size: var(--SP_heading_M_size);
	}

	#organization>h3::after {
		width: 204px;
		height: 47px;
		top: 14px;
	}

	/*AIについて*/
	#ourai {
		background: url(../images/solution_img_earth.jpg) no-repeat #000;
		background-position: 100% 55%;
		background-size: 20%;
	}

	#ourai::after,
	#ourai::before {
		height: 260px;
	}

	#ourai::after {
		margin-top: -20px;
		position: relative;
		z-index: -110;
	}

	#ourai h3.ttl {
		font-size: var(--SP_heading_M_size);
		margin-top: -100px;
	}

	#ourai h3.ttl::after {
		width: 175px;
		height: 47px;
	}

	#ourai .ourai__inner {
		display: block;

		margin: 110px auto 0;
		background: none;
	}

	#ourai .ourai__inner .l__Box {
		display: none;
	}

	#ourai .ourai__inner .r__Box {
		width: 100%;
		text-align: left;
		margin-right: 0px;
	}

	#ourai .ourai__inner .r__Box h3 img {
		max-width: 205px;
	}

	#ourai .ourai__inner .r__Box h4 {
		text-align: left;
		font-size: var(--SP_heading_M_size);
		margin-top: 60px;
	}

	#ourai .ourai__inner .r__Box .txt {
		text-align: left;
		font-size: var(--SP_text_S_size);
		line-height: 24px;
	}

	/*強み*/
	#strength h3.ttl {
		font-size: var(--SP_heading_L_size);
		margin-top: 62px;
		;
	}

	#strength h3.ttl::after {
		width: 264px;
		height: 45px;
	}

	#strength .strength__inner {
		width: 630px;
		margin: 50px auto 0;
	}

	#strength .strength__inner ul {
		gap: 20px;
		flex-wrap: wrap;
		justify-content: center;
	}

	#strength .strength__inner ul li {
		width: 305px;
	}

	#strength .strength__inner ul li.second {
		top: 0;
	}

	#strength .strength__inner ul li>div {
		padding: 40px 28px;
	}

	#strength .strength__inner ul li>div h4 {
		font-size: var(--SP_heading_XL_size);
	}

	#strength .strength__inner ul li>div .enttl {
		font-size: var(--text_S_size);
		margin-top: 0px;
	}

	#strength .strength__inner ul li>div .txt {
		font-size: var(--text_S_size);
		line-height: 29px;
		margin-top: 20px;
	}

	#strength {
		margin-bottom: 70px;
	}

	/*他社との違い*/
	#marlet::before,
	#marlet::after {
		height: 260px;
	}

	#marlet h3.ttl {
		font-size: var(--SP_heading_L_size);
	}

	#marlet h3.ttl::after {
		width: 313px;
		height: 39px;
	}

	#marlet .ourai__inner .imgBox.beside {
		display: none;
	}

	#marlet .ourai__inner .imgBox.vertical {
		display: block;
	}

	/*研究事例*/
	#RD {
		margin-bottom: 110px;
	}

	#RD h3.ttl {
		font-size: var(--SP_heading_L_size);
		margin-top: 64px;
	}

	#RD h3.ttl::after {
		width: 221px;
		height: 39px;
	}

	#RD ul {
		max-width: 680px;
		margin-top: 110px;
	}

	#RD ul div h4 {
		font-size: var(--SP_heading_M_size);
		margin-top: 32px;
	}

	#RD ul div .txt {
		font-size: var(--text_S_size);
		line-height: 29px;
	}

	#RD ul li {
		margin-top: 80px;
	}

	/*特許*/
	#patent::before {
		height: 260px;
	}

	#patent h3 {
		font-size: var(--SP_heading_L_size);
		margin-top: -47px;
	}

	.patent__inner {
		margin-top: 60px;
	}

	#patent .patent-list li span {
		font-size: var(--SP_text_S_size);
		line-height: 24px;
	}

	#patent .patent-list li {
		grid-template-columns: 110px 1fr;
		grid-template-areas:
			"date no"
			"title title";
	}

	.patent-list li+li {}

	#patent .patent-list__date {
		grid-area: date;
	}

	#patent .patent-list__no {
		grid-area: no;
	}

	#patent .patent-list__title {
		font-size: var(--text_S_size);
		line-height: 24px;
	}

	.patent-list__date,
	.patent-list__no,
	.patent-list__info {
		font-size: var(--SP_text_S_size);
		line-height: 24px;
	}

	/* 見出し行も同じレイアウトにする場合 */
	#patent .patent-list__head {
		grid-template-columns: 110px 1fr;
	}
}

@media screen and (max-width: 767px) {
	.aboutElm .topEnElm svg {
		width: 170px;
	}

	.aboutElm .titleBox .about__list {
		gap: 24px;
	}

	.aboutContents {
		margin-top: 65px;
	}

	.aboutElm .titleBox img {
		--overlap-plus: -40px;
	}

	.aboutElm .titleBox .about__list li a::after {
		width: 12px;
		height: 23px;
		display: inline-block;
		background-size: cover;
		background-position: center 3px;
	}

	#organization .organization__inner .l__Box h3 {
		margin-top: 73px;
	}

	#organization .organization__inner .l__Box h4 {
		margin-top: 63px;
	}

	#ourai h3.ttl,
	#strength h3.ttl,
	#RD h3.ttl {
		width: 90%;
	}

	#strength .strength__inner {
		width: 80%;
		margin: 50px auto 0;
	}

	#strength .strength__inner ul {
		display: grid;
	}

	#strength .strength__inner ul li {
		width: 100%;
	}

	#marlet .ourai__inner .imgBox.vertical {
		width: 100%;
	}

	#ourai::before,
	#marlet::before {
		background-position: initial;
	}

	#marlet h3.ttl::after {
		width: 100%;
	}

	#marlet::after {
		height: 100px;
	}
}


/*ウィンドウ幅が最大1024pxまでの場合に適用*/
@media screen and (max-width: 1024px) {
	.solutionElm {
		background-position: 100% -70px;
		background-size: 310px;
	}

	.solutionElm .enTitle {
		font-size: 17.231px;
	}

	.solutionElm svg {
		width: 150px;
	}

	.solutionElm .jpTitle {
		font-size: var(--SP_heading_L_size);
		margin-top: 32px;
	}

	.solutionElm .explanation_txt {
		margin-top: 16px;
	}

	.solutionElm .explanation_txt {
		font-size: var(--SP_text_S_size);
		line-height: 24px
	}

	.solution_ul {
		gap: 24px;
		margin-top: 56px;
	}

	.solution_ul li {
		width: 288px;
	}

	.solution_ul li .txtArea .jp_ttl {
		font-size: var(--SP_heading_S_size);
	}

	.solution_ul li .txtArea {
		padding: 20px 28px 40px 28px;
	}

	.solution_ul li .txtArea .jp_txt {
		font-size: var(--SP_text_S_size);
	}

	/*******
ソリューション詳細 1024
********/
	.solutionDetailElm {
		margin-top: 46px;
	}

	.solutionDetailElm .titleBox .enTitle {
		font-size: 17.231px;
	}

	.solutionDetailElm .titleBox svg {
		width: 150px;
	}

	.solutionDetailElm .titleBox .enSub {
		font-size: var(--text_S_size);
	}

	.solutionDetailElm .titleBox .jpTitle {
		font-size: var(--SP_heading_L_size);
		line-height: 34px;
	}

	.solutionDetailElm .solutionDetailBox {
		margin-top: 60px;
	}

	.solutionDetailElm .fastBox {
		margin-top: 48px;
	}

	.solutionDetailElm .contentsBox {
		width: 100%;
		border-radius: 0px;
		padding: 28px 10%;
		margin-left: 0%;
	}

	.solutionDetailElm .solutionDetailBox h3,
	.solutionDetailElm .contentsBox h4 {
		font-size: var(--SP_heading_M_size);
	}

	.solutionDetailElm .contentsBox .txt {
		font-size: var(--SP_text_S_size);
		max-width: 820px;
		margin-top: 20px;
		line-height: 24px;
	}

	.solutionDetailElm .contentsBox .txt2 {
		font-size: var(--SP_text_S_size);
		line-height: 25px;
	}

	.solutionDetailElm .contentsBox .ttl {
		font-size: var(--text_S_size);
	}

	.solutionDetailElm .contentsBox .txt3 {
		font-size: var(--SP_text_S_size);
		line-height: 24px;
	}

	.solutionDetailElm .contentsBox .txt_img img {
		width: 100%;
	}

	.solutionDetailElm .contentsBox_img .txt {
		font-size: var(--SP_text_S_size);
		padding: 0 10%;
	}

	.solutionDetailElm .contentsBox_img .imgBox {
		width: 100%;
		max-width: 832px;
		padding: 0 10%;
	}

	.caseStudyBox {
		margin-top: 60px;
	}

	.solutionDetailElm .offerElm {
		margin-top: 70px;
		padding: 40px 0;
	}

	.solutionDetailElm .offerElm h3 {
		font-size: var(--SP_heading_M_size);
	}

	.solutionDetailElm .offerElm p {
		font-size: var(--text_S_size);
		line-height: 29px;
		margin-top: 20px;
	}

	.solutionDetailElm .contactElm {
		margin-top: 48px;
	}

	/*導入事例*/
	.caseStudyBox {
		margin-top: 60px;
	}

	.caseStudyBox h4 {
		font-size: var(--SP_heading_M_size);
	}

	.caseStudyBox ul {
		gap: 40px 8%;
		max-width: 616px;
	}

	.caseStudyBox ul li {
		width: 46%;
		max-width: 288px;
	}

	.caseStudyBox .caseTitle {
		font-size: var(--SP_heading_S_size);
		margin-top: 12px;
	}

	.caseStudyBox .caseGroup {
		margin-top: 12px;
	}

	.caseStudyBox .subTitle {
		font-size: var(--text_S_size);
		margin-top: 12px;
	}

	.caseStudyBox .casetxt {
		font-size: var(--SP_text_S_size);
		line-height: 24px;
		margin-top: 4px;
	}

	.contact_link a {
		font-size: var(--text_S_size);
		background-size: 44px;
		padding-right: 60px;
	}

	.contact_link a:hover {
		background-size: 44px;
	}

	/*******
 事例 1024
********/
	.caseElm .caseStudyBox ul {
		gap: 60px 6%;
		max-width: 616px;
	}

	.caseElm .caseStudyBox {
		/*margin-top: 80px;*/
	}

	.caseElm .enTitle,
	.newsElm .enTitle,
	.aboutElm .enTitle {
		font-size: 17.231px;
	}

	.caseElm .titleBox .jpTitle {
		font-size: var(--SP_heading_L_size);
	}

	.caseElm .titleBox {
		margin-top: 32px;
		height: 80px;
	}

	.caseElm .titleBox img {
		display: none;
	}

	.caseElm .filterBox {
		padding: 28px 0;
	}

	.caseElm .filterBox__title {
		font-size: var(--text_S_size);
	}

	.caseElm .filterBox__list {
		margin: 24px auto;
	}

	.caseElm .filterBox__lbl {
		font-size: var(--text_S_size);
		text-align: left;
	}

	.caseElm .filterBox__apply {
		font-size: var(--text_S_size);
		padding: 5px 20px;
	}

	/*ページネーション*/
	.pagination {
		padding: 60px 0 80px;
	}

	.pagination__list {
		gap: 16px;
		width: 80%;
		margin: 0 auto;
		flex-wrap: wrap;
		justify-content: center;
	}

	.pagination__item--prev {
		margin-right: 0px;
	}

	.pagination__item--next {
		margin-left: 0px;
	}

	/*******
ニュース & ブログ 1024
********/

	.newsElm .titleBox .jpTitle {
		font-size: var(--SP_heading_L_size);
		line-height: 34px;
	}

	.newsElm .titleBox .subttl {
		font-size: var(--SP_text_S_size);
		margin-top: 12px;
		line-height: 24px;
	}

	.newsElm .titleBox img {
		margin-top: -9vh;
	}

	.newsList h3 {
		font-size: var(--SP_heading_M_size);
	}

	.newsElm .titleBox {
		margin-top: 32px;
	}

	.newsElm .newsList {
		margin-top: 30px;
	}

	.newsElm .newsList ul {
		max-width: 608px;
		gap: 60px 48px;
	}

	.newsElm .newsList ul li {
		margin-right: 0px;
		width: 47%;
		max-width: 280px;
	}

	.newsElm .newsList ul li .newsTitle {
		font-size: var(--SP_heading_S_size);
		line-height: 24px;
	}

	.newsElm .newsList ul li .newstxt {
		font-size: var(--SP_text_S_size);
		line-height: 24px;
		margin-top: 14px;
	}

	.newContents {
		--overlap-plus: 20px;
	}

	.newsElm .newContents .explanation_txt {
		margin-top: 80px;
		font-size: var(--text_S_size);
		font-weight: 500;
		line-height: 29px;
	}

	.newsElm .newContents h3 {
		margin-top: 80px;
		font-size: var(--text_S_size);
		line-height: 24px;
	}

	.newsElm .newContents .txt {
		font-size: var(--text_S_size);
		line-height: 29px;
		margin-top: 15px;
	}

	.newsElm .newContents h4 {
		font-size: var(--text_S_size);
		line-height: 24px;

	}

}

@media screen and (max-width: 950px) {
	.caseElm .titleBox img {
		top: 3vh;
	}
}

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

	/*ウィンドウ幅が最大479pxまでの場合に適用*/
	.solution_ul li {
		width: 46%;
	}

}

/*ウィンドウ幅が最大479pxまでの場合に適用*/
@media screen and (max-width: 767px) {
	.solutionElm {
		background-position: 100% 0px;
		background-size: 130px;
	}

	.solutionElm .jpTitle {
		margin-top: 74px;
	}

	.solutionElm .explanation_txt {
		font-size: var(--SP_text_S_size);
	}

	.solution_ul {
		display: block;
	}

	.solution_ul li {
		width: 100%;
		max-width: none;
		margin-top: 24px;
	}

	/**/
	.solutionDetailElm {
		margin-top: 70px;
	}

	.solutionDetailElm .titleArea {
		display: block;
		width: 100%;
		margin: 0 auto;
	}

	.solutionDetailElm .titleArea img {
		width: 100%;
		margin-top: 19px;
	}

	.solutionDetailElm .topEnElm {
		position: relative;
		margin-left: 10%;
	}

	.contentsBox_inner {
		width: 100%;
	}


	.solutionDetailElm .contentsBox .txt_img img,
	.contentsBox_img img {
		width: auto;
		max-width: 960px;
	}

	.solutionDetailElm .contentsBox_img2 .imgBox img {
		width: auto;
		max-width: 620px;
	}

	.solutionDetailElm .titleArea .titleBox {
		width: 100%;
	}

	.solutionDetailElm .titleArea .titleSet {
		width: 80%;
		margin: 30px auto 0;
	}

	.solutionDetailElm .fastBox {
		margin-top: 69px;
	}

	.solutionDetailElm .offerElm p {
		/*font-size: var(--text_XXS_size);*/
	}

	.solutionDetailElm .contentsBox_img {
		width: 100%;
	}

	.caseStudyBox ul {
		width: 80%;
		margin: 10px auto 0;
		justify-content: center;
	}

	.caseStudyBox ul li {
		width: 100%;
		margin-right: 0px;
		margin-top: 24px;
	}




	/*スクロールジェスチャー*/
	.scroll-hint-icon {
		width: 120px;
		height: 120px;
		border-radius: 50%;
	}

	.scroll-hint-icon:before {
		background-image: url(../images/icon_scroll.png);
		width: 50px;
		height: 61px;
		margin-top: 13px;
	}

	.scroll-hint-icon:after {
		background-image: url(../images/icon_scroll_arrow.png);
		background-size: cover;
		width: 36px;
	}

	.scroll-hint-shadow-wrap::after {
		width: 10%;
		background: linear-gradient(90deg, rgba(3, 0, 12, 0.00) 0%, var(--bg, #03000C) 100%);
	}


	/*******
 事例 767px
********/
	.caseElm .titleBox img {
		top: 8vh;
	}

	.caseElm .filterBox {
		padding: 20px 0px;
	}

	.caseElm .filterBox__list {
		display: grid;
		gap: 8px 0px;
	}

	.caseElm .caseStudyBox ul {
		justify-content: center;
	}

	.caseElm .caseStudyBox ul li {
		margin-right: 0px;
		margin-top: 0px;
		width: 100%;
	}

	.caseElm .filterBox__cb {
		width: 18px;
		height: 18px;
	}

	.caseElm .filterBox__item {
		gap: 6px;
	}

	/*******
ニュース & ブログ 767px
********/
	.newsElm .topEnElm svg {
		width: 170px;
	}


	.newsElm .newsList ul {
		justify-content: center;
		width: 80%;
	}

	.newsElm .newsList ul li {
		margin-right: 0px;
		margin-top: 0px;
		width: 100%;
		max-width: none;
	}

	.newsElm .titleBox img {
		margin-top: -3vh;
	}

	.newsElm .newsList {}

	.pagination__link,
	.pagination__current {
		min-width: 38px;
		height: 38px;
	}

	.newContents {
		--overlap-plus: -4px;
		width: 80%;
	}
}

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

@media screen and (max-width: 479px) {
	.newsElm .topEnElm svg {
		width: 150px;
	}
}