/* page style**************************************************************************************/
/*************** PAGE ***************/
.mv-under {
	padding: 130px 1em;
	background: url("/service/measuring_solution/assets/img/under_mv_2x.png") no-repeat center/cover;
}
@media screen and (max-width: 1023px) {
	.mv-under {
		padding: 70px 1em;
	}
}

.mv-under > .wrapper {
	max-width: 1080px;
	margin: auto;
}
.mv-under > .wrapper > .content-wrap .title-catch-wrap .title {
	font-size: 36px;
	font-weight: 700;
	color: #ffffff;
}
@media screen and (max-width: 1023px) {
	.mv-under > .wrapper > .content-wrap .title-catch-wrap .title {
		font-size: 20px;
	}
}
.mv-under > .wrapper > .content-wrap .title-catch-wrap .catch {
	font-size: 20px;
	font-weight: 500;
	color: #ffffff;
	margin-top: 20px;
}
@media screen and (max-width: 1023px) {
	.mv-under > .wrapper > .content-wrap .title-catch-wrap .catch {
		font-size: 16px;
	}
}
.mv-under > .wrapper > .content-wrap .btn-wrap {
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	margin-top: 35px;
}
.mv-under > .wrapper > .content-wrap .btn-wrap .btn {
	width: 100%;
	max-width: 300px;
	font-size: 18px;
	color: #ffffff;
	background: #f76b2c;
	border: 1px solid #f76b2c;
}
@media screen and (max-width: 1023px) {
	.mv-under > .wrapper > .content-wrap .btn-wrap .btn {
		max-width: 100%;
		margin: auto;
	}
}
.mv-under > .wrapper > .content-wrap .btn-wrap .btn:hover {
	color: #f76b2c;
	background: #ffffff;
}
.mv-under > .wrapper > .content-wrap .btn-wrap .btn:hover::before {
	background: #f76b2c;
}

section.inner-pad-def, aside.inner-pad-def {
	padding: 120px 1em 80px;
}
@media screen and (max-width: 1023px) {
	section.inner-pad-def, aside.inner-pad-def {
		padding: 60px 1em 40px;
	}
}
section.inner-pad-def > .wrapper, aside.inner-pad-def > .wrapper {
	max-width: 1080px;
	margin: auto;
}

.inner-pad-btn {
	padding: 0 1em 120px;
}
@media screen and (max-width: 1023px) {
	.inner-pad-btn {
		padding: 0 1em 60px;
	}
}
.inner-pad-btn > .wrapper {
	max-width: 1080px;
	margin: auto;
}
.inner-pad-btn > .wrapper .btn-wrap .btn {
	width: 100%;
	max-width: 405px;
	font-size: 18px;
	color: #ffffff;
	border: 1px solid #222222;
	padding-top: 1.67em;
	padding-bottom: 1.67em;
}
@media screen and (max-width: 1023px) {
	.inner-pad-btn > .wrapper .btn-wrap .btn {
		font-size: 16px;
	}
}
.inner-pad-btn > .wrapper .btn-wrap .btn:hover {
	color: #222222;
	background: transparent;
}

section.sec-solution-lineup.inner-pad-def {
	padding-top: 0;
	padding-bottom: 100px;
}
@media screen and (max-width: 1023px) {
	section.sec-solution-lineup.inner-pad-def {
		padding-bottom: 50px;
	}
}
section.sec-solution-lineup + .sec-solution-lineup {
	border-top: 1px solid #cbcbcb;
}
section.sec-solution-lineup + .sec-solution-lineup.inner-pad-def {
	padding-top: 100px;
	padding-bottom: 100px;
}
@media screen and (max-width: 1023px) {
	section.sec-solution-lineup + .sec-solution-lineup.inner-pad-def {
		padding-top: 50px;
		padding-bottom: 50px;
	}
}
section.sec-solution-lineup > .wrapper .anchor-flex-wrap {
	padding-left: 0;
	padding-right: 0;
	padding-bottom: 80px;
}
@media screen and (max-width: 1023px) {
	section.sec-solution-lineup > .wrapper .anchor-flex-wrap {
		padding-bottom: 40px;
	}
}
section.sec-solution-lineup > .wrapper .flex-col3 {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	gap: 1em 33px;
	margin-top: 36px;
}
@media screen and (max-width: 1023px) {
	section.sec-solution-lineup > .wrapper .flex-col3 {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		-ms-flex-flow: column;
		flex-flow: column;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
	}
}
section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex {
	width: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	gap: 33px;
}
@media screen and (max-width: 1023px) {
	section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex {
		-ms-flex-flow: wrap;
		flex-flow: wrap;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}
}
section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap {
	width: 47.4%;
	max-width: 338px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: reverse;
	-ms-flex-flow: column-reverse;
	flex-flow: column-reverse;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	gap: 40px;
}
@media screen and (max-width: 1023px) {
	section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap {
		width: 100%;
		gap: 1em;
	}
}
section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap .ttl-content-wrap {
	width: 100%;
	max-width: 338px;
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
}
@media screen and (max-width: 1023px) {
	section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap .ttl-content-wrap {
		max-width: 100%;
	}
}
section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap .ttl-content-wrap .triangle-arrow {
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap .ttl-content-wrap .txt-wrap {
	font-size: 16px;
	margin-top: 1em;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
@media screen and (max-width: 1023px) {
	section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap .ttl-content-wrap .txt-wrap {
		font-size: 14px;
	}
}
section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap .img-wrap {
	border-radius: 5px;
	overflow: hidden;
	margin: 0 auto;
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap .img-wrap img {
	width: 100%;
	height: auto;
}
section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap:hover .triangle-arrow {
	color: #1e97dd;
}
section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap:hover .txt-wrap {
	color: #1e97dd;
}
section.sec-solution-lineup > .wrapper .flex-col3 .col-item.img-content-flex .img-content-wrap:hover .img-wrap {
	opacity: .5;
}

.sec-ttl {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	-ms-flex-flow: column;
	flex-flow: column;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	position: relative;
	padding-left: 20px;
}
.sec-ttl::before {
	content: "";
	width: 5px;
	height: 38px; 
	background: #1e97dd;
	position: absolute;
	top: 50%; 
	left: 0;
	transform: translateY(-50%); /* 【追加】線の中心をY軸の中央にぴったり合わせる */
}

/* スマホ表示時（1023px以下）は線の長さを文字サイズに合わせて少し短くする */
@media screen and (max-width: 1023px) {
	.sec-ttl::before {
		height: 30px; 
	}
}
.sec-ttl .sub {
	font-size: 22px;
	font-weight: 700;
}
@media screen and (max-width: 1023px) {
	.sec-ttl .sub {
		font-size: 16px;
	}
}
.sec-ttl .main {
	font-size: 28px;
	font-weight: 700;
}
@media screen and (max-width: 1023px) {
	.sec-ttl .main {
		font-size: 20px;
	}
}

.description-wrap {
	margin-top: 40px;
}
@media screen and (max-width: 1023px) {
	.description-wrap {
		margin-top: 1em;
	}
}
.description-wrap:first-child {
	margin-top: auto;
}
.description-wrap p {
	font-size: 18px;
}
@media screen and (max-width: 1023px) {
	.description-wrap p {
		font-size: 16px;
	}
}

.col-item {
	width: 100%;
}
.col-item .col-upper-ttl {
	font-size: 20px;
	font-weight: 600;
	line-height: 1.5;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	gap: 10px;
}
@media screen and (max-width: 1023px) {
	.col-item .col-upper-ttl {
		font-size: 16px;
	}
}
.col-item .col-upper-ttl::before {
	content: "";
	width: 1em;
	height: 1em;
	-webkit-mask: url(/service/assets/img/col_upper_ttl_arrow.svg) no-repeat center/contain;
	mask: url(/service/assets/img/col_upper_ttl_arrow.svg) no-repeat center/contain;
	background: #1e97dd;
	aspect-ratio: 1/1;
}
.col-item .col-lower-ttl-flex {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-flow: wrap;
	flex-flow: wrap;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	gap: 7px;
	margin-top: 14px;
}
@media screen and (max-width: 1023px) {
	.col-item .col-lower-ttl-flex {
		margin-top: .5em;
	}
}
.col-item .col-lower-ttl-flex .lower {
	font-size: 16px;
	background: #f8f9fa;
	border-radius: 100vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	gap: 10px;
	padding: .25em 1.5em;
}
@media screen and (max-width: 1023px) {
	.col-item .col-lower-ttl-flex .lower {
		font-size: 14px;
	}
}
.col-item .col-lower-ttl-flex .lower.bg-white {
	background: #ffffff;
}
.col-item .col-lower-ttl-flex .lower::before {
	content: "";
	width: 8px;
	height: 10px;
	background: #1e97dd;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
}
.col-item .img-wrap {
	width: 100%;
	max-width: 520px;
	border-radius: 5px;
	display: block;
	margin: 40px auto 0;
	overflow: hidden;
}
@media screen and (max-width: 1023px) {
	.col-item .img-wrap {
		margin-top: 1em;
	}
}
.col-item .img-wrap img {
	width: 100%;
	display: block;
}
.col-item .txt-wrap {
	font-size: 16px;
	line-height: 1.875;
	display: block;
	margin-top: 30px;
}
@media screen and (max-width: 1023px) {
	.col-item .txt-wrap {
		margin-top: .5em;
	}
}

.triangle-arrow {
	font-size: 22px;
	font-weight: 600;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-webkit-box-align: baseline;
	-ms-flex-align: baseline;
	align-items: baseline;
	gap: 10px;
}
@media screen and (max-width: 1023px) {
	.triangle-arrow {
		font-size: 16px;
	}
}
.triangle-arrow::before {
	content: "";
	width: .63em;
	height: .88em;
	font-size: initial;
	background: #1e97dd;
	clip-path: polygon(0 0, 100% 50%, 0 100%);
	-webkit-box-flex: 0;
	-ms-flex: none;
	flex: none;
}

a.col-item {
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
a.col-item * {
	-webkit-transition: all .3s ease;
	transition: all .3s ease;
}
a.col-item:hover img {
	opacity: .5;
}
a.col-item:hover * {
	color: #1e97dd;
}

.anchor-flex-wrap {
	padding: 60px 1em 100px;
}
@media screen and (max-width: 1023px) {
	.anchor-flex-wrap {
		padding: 30px 1em 50px;
	}
}
.anchor-flex-wrap ul.anchor-flex {
	width: 100%;
	max-width: 1080px;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-flow: wrap;
	flex-flow: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: stretch;
	-ms-flex-align: stretch;
	align-items: stretch;
	gap: 1em 18px;
	margin: auto;
}
.anchor-flex-wrap ul.anchor-flex li {
	width: 100%;
	max-width: 268px;
}
.anchor-flex-wrap ul.anchor-flex li .btn {
	width: 100%;
	height: 100%;
	font-size: 18px;
	font-weight: 400;
	text-align: center;
	background: #ffffff;
	border: 1px solid #222222;
	border-radius: 5px;
}
@media screen and (max-width: 1023px) {
	.anchor-flex-wrap ul.anchor-flex li .btn {
		font-size: 16px;
	}
}
.anchor-flex-wrap ul.anchor-flex li .btn.add-arrow .arrow-after-btm {
	width: 1.25em;
	height: 1.25em;
	right: 1em;
}
.anchor-flex-wrap ul.anchor-flex li .btn.add-arrow:hover {
	color: #ffffff;
	background: #222222;
}
.anchor-flex-wrap ul.anchor-flex li .btn.add-arrow:hover .arrow-after-btm {
	background: #ffffff;
}
.anchor-flex-wrap ul.anchor-flex li .btn.add-arrow:hover .arrow-after-btm::before {
	border-color: #222222;
}



/*h9追加*/

.title_read{
	margin-top: 50px;
}

.other_solution{
	background: #edf0f5;
	padding: 80px;
}

.other_solution h2{
	text-align: center;
	font-size: 200%;
	font-weight: 600;
	margin-bottom: 80px;
}

.other_solution ul{
	max-width: 1080px;
	margin: auto;
	display: flex;
	flex-wrap: wrap;
	align-items: stretch; /* centerからstretchに変更 */
	gap:1.5rem;
}

.other_solution ul li{
    width: calc((100% - 3rem) / 3);
	text-align: center;
	display: flex; /* 追加 */
}

.other_solution ul li a{
	width: 100%;
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    flex-grow: 1; /* 追加：親の高さまで広がるようになります */
	background: #fff;
	border: solid 2px #1e4191;
	padding: 1.7vw;
	color: #1e4191;
	font-size:min(1.3vw, 20px);
	font-weight: 600;
	transition: .3s;
/* --- 高さを抑えるための修正ポイント --- */
	padding: 0.5em 2.5rem; /* 上下paddingを小さく固定し、左右に矢印用のスペースを確保 */
	min-height: 4.5em;     /* 1行でも2行でも「1行＋α」程度の固定最小高さを設定 */
	line-height: 1.3;      /* 行間を詰めて2行になっても膨らまないようにする */
}

.other_solution ul li a:after {
    position: absolute;
    top: 50%;
    right: 1.5rem;
    width: .7rem;
    height: .7rem;
    transform: rotate(45deg) translateY(-50%);
    border-top: 2px solid #1E4191;
    border-right: 2px solid #1E4191;
    content: "";
    transition: all .5s ease 0s;
}

.other_solution ul li a:hover{
	background:#1e4191;
	color: #fff;
}


.other_solution ul li a:hover:after{
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
}


@media screen and (max-width: 1023px) {
	.title_read{
		margin: 20px 0 -35px 0;
	}

	.other_solution{
		padding: 50px 20px;
	}

	.other_solution h2{
		font-size: 140%;
		margin-bottom: 50px;
	}

	.other_solution ul{
		max-width: 100%;
		display: block;
	}
	.other_solution ul li{
		width:100%;
	}

	.other_solution ul li a{
		padding: 15px;
		font-size:100%;
		margin-bottom: 20px;
	}

	.other_solution ul li:last-child a{
		margin-bottom: 0;
	}
}
/* --- その他ソリューション専用の並び順・リンク設定 --- */

/* 下から上に並ぶ仕様(column-reverse)を解除し、上から下に素直に並べる */
.img-content-wrap.custom-order {
    flex-direction: column !important;
    justify-content: flex-start;
    gap: 15px !important;
}

/* クリッカブルエリア（画像＋テキスト）のレイアウト */
.custom-order .clickable-area {
    display: flex;
    flex-direction: column;
    gap: 36px;
}
.custom-order .img-wrap {
    margin: 0 !important;
}

/* リンクなしタグのスタイル指定（背景色 #edf0f5） */
.custom-order .lower.no-link {
    background-color: #edf0f5 !important;
    color: #333 !important; /* リンクではないため通常の文字色に */
}

/* クリックできる部分にマウスを乗せた時だけホバー演出を効かせる */
.custom-order .clickable-area:hover .img-wrap {
    opacity: 0.5;
}
.custom-order .clickable-area:hover .triangle-arrow {
    color: #1e97dd;
}
.img-content-wrap.custom-order .col-lower-ttl-flex .lower.no-link::before {
    display: none;
}
