/*
*******************************************************************************************************
# css/style.css
*******************************************************************************************************
*/

/*------------------------------------
	左テキスト 右画像　※メインcssを上書きで適用
------------------------------------*/
.mod-box-rightimg {
	display: flex;
	padding: 0px;
	margin-bottom: 40px;
}
.mod-box-rightimg .mod-column{
    width: flex;
    padding: 0px;
    margin-bottom: -20px;
}
.mod-box-rightimg .img {
	float: left;
	/*float: right;*/
	/*margin-right: 30px;*/
	margin-left: 30px;
	overflow: hidden;
}
.mod-box-rightimg .img.max-w50 {
	max-width: 50%;
}
.mod-box-rightimg .text-area {
	max-width: 50%;
	padding-top: 6px;
	float: left;
}
.mod-box-rightimg .text-area .sttl {
	margin: -5px 0 18px;
	font-size: 128.6%;
	font-weight: bold;
}
.mod-box-rightimg .text-area .btn-link {
	margin-top: 60px;
	text-align: center;
}

.mod-box-rightimg a {
	display: block;
	color: #111111;
	text-decoration: none;
}
.mod-box-rightimg a:hover {
	color: #0075c2;
}
.mod-box-rightimg a:hover .sttl {
	text-decoration: underline;
}

@media only screen and (max-width: 700px) {
	.mod-box-rightimg {
		display: flex;
		padding: 0px;
		margin-bottom: 40px;
		flex-direction: column-reverse;
	}
	.mod-box-rightimg .img {
		float: none;
		width: 100%;
		margin-left: 0;
		margin-bottom: 14px;
		text-align: center;
	}
	.mod-box-rightimg .img.max-w50 {
		max-width: none;
	}
	.mod-box-rightimg .text-area {
		padding-top: 0;
		max-width: 100%;
	}
	.mod-box-rightimg .text-area .sttl {
		margin: 5px 0 15px;
		font-size: 114.3%;
	}
	.mod-box-rightimg .text-area .btn-link {
		margin-top: 35px;
	}
}



/*------------------------------------
	左右に余白
------------------------------------*/
.mod-box-padding {
	padding-left: 60px;
	padding-right: 60px;
}
@media only screen and (max-width: 700px) {
	.mod-box-padding {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/*------------------------------------
	左右に余白（中央寄せ）
------------------------------------*/
.mod-box-padding-cent {
	padding-left: 60px;
	padding-right: 60px;
	text-align: center;
}
@media only screen and (max-width: 700px) {
	.mod-box-padding-cent {
		padding-left: 20px;
		padding-right: 20px;
		text-align: center;
	}
}


/* 汎用カラムボックス */
.g-grid {
	margin: 0 auto;
}
.g-grid__item > .box-border_b {
	height: 100%;
}

@media only screen and (max-width: 700px) {
	.g-grid__item + .g-grid__item {
		margin-top: 40px;
	}
}

@media only screen and (min-width: 701px) {
	.g-grid {
		display: flex;
		flex-wrap: wrap;
		gap: 20px;
	}
	.g-grid--2up .g-grid__item {
		width: calc(50% - 10px);
	}
	.g-grid--3up .g-grid__item {
		width: calc(33.33% - 14px);
	}
}

/* ボーダー付きボックス */
.box-border_b {
	padding: 20px 25px;
	border: 6px solid #DEF2FF;
}

/* 背景付きボックス */
.box-bg_b {
	padding: 30px 30px;
	background-color: #EDF5FF;
}
@media only screen and (max-width: 700px) {
	.box-bg_b {
		position: relative;
		padding: 30px 5px;
		z-index: 2;
	}
	.box-bg_b::before {
		content: '';
		position: absolute;
		top: 0;
		left: 50%;
		display: block;
		width: 100vw;
		height: 100%;
		background-color: #EDF5FF;
		z-index: -1;
		transform: translateX(-50%);
	}
}


/* 番号＋テキスト */
.c-text.c-text_num {
	position: relative;
	display: inline-block;
	font-size: 16px;
	font-weight: bold;
}
.c-text.c-text_num + p {
	margin-top: 10px;
}
.c-text_num_no {
	position: absolute;
	top: 0;
	left: 0;
	color: #0075C2;
}
.c-text_num_dtl {
	display: block;
	padding-left: 30px;
}

/* Lapis 特徴 */
@media only screen and (max-width: 700px) {
	.wrp-lapis_feature .g-grid__item + .g-grid__item {
		margin-top: 20px;
	}
}

/* Lapis 機能用ボックス */
.box-func {
	position: relative;
	padding: 25px 20px;
	border-top: 2px solid #0075C2;
	background-color: #fff;
}
.box-func::before {
	content: '';
	position: absolute;
	top: -2px;
	left: 0;
	display: block;
	width: 16px;
	height: 2px;
	background-color: #FFC71C;
}
.box-func_ttl {
	color: #0075C2;
	font-size: 16px;
	font-weight: 600;
	text-align: center;
}
.box-func_ttl + .box-func_txt {
	margin-top: 14px;
}
@media only screen and (max-width: 700px) {
	.box-func + .box-func {
		margin-top: 20px;
	}
	.wrp-lapis_operation .g-grid__item + .g-grid__item {
		margin-top: 20px;
	}
}

/* 導入実績用ボックス */
.wrp-box-achieve {
	justify-content: center;
}
.box-achieve {
	overflow: hidden;
	
	border-radius: 4px;
	background-color: #fff;
}
.box-achieve_ttl {
	padding: 10px;
	border-radius: 4px 4px 0 0;
	background-color: #0075C2;
	color: #fff;
	font-size: 18px;
	text-align: center;
}
.box-achieve_txt {
	padding: 20px 10px;
	font-size: 22px;
	font-weight: 600;
	text-align: center;
}
.box-achieve_txt dl {
	display: table;
	width: 100%;
}
.box-achieve_txt dl + dl {
	margin-top: 5px;
}
.box-achieve_txt dl dt,
.box-achieve_txt dl dd {
	display: table-cell;
	vertical-align: bottom;
}
.box-achieve_txt dl dt {
	width: 55%;
	font-size: 18px;
}
.box-achieve_txt dl dd {
	width: 45%;
	color: #0075C2;
	font-size: 40px;
	line-height: 1;
}
.box-achieve_txt .mod-font-small {
	font-size: 12px;
	font-weight: initial;
}
.box-achieve_txt dl + p {
	margin-top: 10px;
}

.txt-sttl_lapis {
	font-size: 16px;
	font-weight: 600;
}
.txt-prim_lapis {
	color: #0075C2;
}
.txt-prim_lapis > b {
	font-size: 50px;
	line-height: 1;
}
@media only screen and (max-width: 700px) {
	.box-achieve_ttl {
		padding: 5px 10px;
		font-size: 16px;
	}
	.box-achieve + .box-achieve {
		margin-top: 20px;
	}
}

