@charset "utf-8";

/* ==============================================
▼共通
=============================================== */
/* 共通設定
----------------------------------------------- */

/* 小見出し */
.heading,
.content h3,
.content h4 {
    border-left: .5em solid #007ec4;
    margin-top: 2em;
    padding: .125em 0 .25em .25em;
    position: relative;
}
.heading:before,
.content h3:before,
.content h4:before {
    content: "";
    border-bottom: 3px double #ccc;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
}

/* PDFリンク */
.pdf,
.content a[href$=".pdf"] {
    /*display: block;*/
    position: relative;
    padding-left: 2.5em;
}
.pdf:before,
.content a[href$=".pdf"]:before {
    content: "PDF";
    color: #fff;
    background-color: #007ec4;
    display: inline-block;
    padding: .25em .4em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    margin-right: .5em;
    position: absolute;
    top: .25em;
    left: 0;
}

/* フォーム電話番号・郵便番号ハイフン */
.form_hyphen {
    position: relative;
}

.form_hyphen::after {
    position: absolute;
    content: "-";
    position: absolute;
    top: calc((1.5em + 0.75rem + 2px) / 2);
    right: 0px;
    transform: translate(-50%, -50%);
}

/*商品規制*/
.kisei_two_column {
  display: flex;
  flex-wrap: wrap; 
}

.kisei_two_column .kisei01 {
  width: 50%; 
  font-weight: normal;
}
.kisei_two_column .kisei02 {
  width: 50%; 
  font-weight: normal;
}


/**
 * インデックス要素
 */

/* 事例リスト（2カラム） */
.case-conbox-1 .row .col-auto img {
	max-width: 240px;
}
@media (max-width: 767.98px) {
	.case-conbox-1 .row .col-auto img {
		max-width: 145px;
	}
}

/**
 * 記事要素
 */

/* ページタイトル */
.case-page-title {
	border-top: 6px solid #007EC4;
	border-bottom: 3px solid #DEE2E6;
}
@media screen and (max-width: 575px) {
	.case-page-title {
		margin-left: -15px;
		margin-right: -15px;
		padding-left: 15px;
		padding-right: 15px;
	}
}
.case-page-title > .wrap {
	display: flex;
	justify-content: space-between;
	padding: 30px 0;
}
@media screen and (max-width: 991.98px) {
	.case-page-title > .wrap {
		display: block;
	}
}
.case-page-title .textbox {
	width: calc(100% - (380px + 30px));
}
@media screen and (max-width: 991.98px) {
	.case-page-title .textbox {
		width: 100%;
	}
}
.case-page-title .textbox > .corp {
	display: inline-block;
	color: #FFFFFF;
	font-size: 1rem;
	background-color: #007EC4;
	margin: 0;
	padding: 8px 15px;
}
.case-page-title .textbox > .subtitle {
	font-size: 1.125rem;
	margin: 0;
}
.case-page-title .textbox > * + .subtitle {
	margin-top: 20px;
}
.case-page-title .textbox > .title {
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 1.5;
	margin: 0;
}
.case-page-title .textbox > * + .title {
	margin-top: 10px;
}
.case-page-title .imgbox {
	width: 380px;
}
@media screen and (max-width: 991.98px) {
	.case-page-title .imgbox {
		width: 100%;
	}
}
.case-page-title .imgbox > img {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 991.98px) {
	.case-page-title * + .imgbox {
		margin-top: 30px;
	}
}

/* 大見出し */
.case-heading-1 {
	color: #007ec4;
	padding-left: 1.25em;
	position: relative
}
.case-heading-1:before {
	content: "";
	display: inline-block;
	width: 1em;
	height: 1em;
	background-color: #007ec4;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto
}
* .case-heading-1 {
	margin-top: 50px;
}

/* 中見出し */
.case-point-box + .case-heading-2 {
	margin-top: 120px;
}

/* ポイントBOX */
.case-point-box {
	position: relative;
	max-width: 1014px;
	background-color: #CCF1F5;
	border-top: 4px solid #007EC4;
	border-bottom: 4px solid #007EC4;
	margin: 0 auto 70px;
	padding: 25px 25px 25px;
}
@media screen and (max-width: 575px) {
	.case-point-box {
		margin-left: -15px;
		margin-right: -15px;
	}
}
* + .case-point-box {
	margin-top: 50px;
}
.case-heading-1 + .case-point-box {
	margin-top: 40px;
}
.case-point-box:before {
	content: '';
	position: absolute;
	width: 40px;
	height: 30px;
	bottom: -34px;
	left: calc(50% - 20px);
	background-color: #007EC4;
}
.case-point-box:after {
	content: '';
	position: absolute;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 40px 40px 0 40px;
	border-color: #007EC4 transparent transparent transparent;
	bottom: -74px;
	left: calc(50% - 40px);
}
.case-point-box > .title {
	color: #007EC4;
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	margin: 0;
}
.case-point-box > .list {
	margin: 0;
}
.case-point-box > * + .list {
	margin-top: 25px;
}
.case-point-box > .list > li {
	counter-increment: count;
	background-color: #FFFFFF;
}
.case-point-box > .list > li + li {
	/* border-top: 1px solid #CCF1F5; */
	margin-top: 2px;
}
.case-point-box > .list > li > p {
	position: relative;
	min-height: 55px;
	font-size: 1rem;
	margin: 0;
	padding: 15px 15px 15px 60px;
}
.case-point-box > .list > li > p:before {
	content: counter(count);
	background-color: #007EC4;
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFFFFF;
	font-size: 1.25rem;
	text-align: center;
	width: 35px;
	height: 35px;
	top: 10px;
	left: 10px;
}

/* ページボタンBOX */
.case-pagebtn-box {
	margin: 0;
}

/* バナーBOX */
* + .case-bannar-box {
	margin-top: 40px;
}
.case-bannar-box > a {
	display: flex;
	flex-direction: row-reverse;
	justify-content: space-between;
	position: relative;
	color: #000;
	text-decoration: none;
	width: 100%;
	max-width: 1014px;
	border: 2px solid #DEE2E6;
	margin: 0 auto;
	padding: 30px;
}
@media screen and (max-width: 991.98px) {
	.case-bannar-box > a {
		padding: 25px;
	}
}
@media only screen and (max-width: 767.98px) {
	.case-bannar-box > a {
		display: block;
	}
}
.case-bannar-box .imgbox {
	width: 380px;
	transition: opacity 0.15s linear;
}
.case-bannar-box > a:hover .imgbox {
	opacity: .75;
}
@media screen and (max-width: 991.98px) {
	.case-bannar-box .imgbox {
		width: calc((100% - 30px) / 2);
	}
}
@media only screen and (max-width: 767.98px) {
	.case-bannar-box .imgbox {
		width: 100%;
	}
}
.case-bannar-box .imgbox > img {
	width: 100%;
	height: auto;
}
.case-bannar-box .textbox {
	width: calc(100% - (380px + 30px));
}
@media screen and (max-width: 991.98px) {
	.case-bannar-box .textbox {
		width: calc((100% - 30px) / 2);
	}
}
@media only screen and (max-width: 767.98px) {
	.case-bannar-box .textbox {
		width: 100%;
		margin-top: 25px;
	}
}
.case-bannar-box .textbox > .title {
	color: #007EC4;
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0;
}
.case-bannar-box > a:hover .textbox > .title {
	color: #004d78;
	text-decoration: underline;
}
.case-bannar-box .textbox > .text {
	font-size: 1rem;
	margin: 0;
}
.case-bannar-box .textbox > * + .text {
	margin-top: 20px;
}
.case-bannar-box .textbox .btn {
	margin: 0;
}
.case-bannar-box .textbox * + .btn {
	margin-top: 20px;
}
.case-bannar-box > a:hover .textbox .btn {
	color: #fff;
	background-color: #00659e;
	border-color: #005d91
}

/* ボタン1 */
.case-btn-1 {
	color: #007EC4;
	background-color: #FFFFFF;
	border-color: #DEE2E6;
	border-width: 2px;
	margin: 0;
}
.case-btn-1:not(:disabled):not(.disabled):hover,
.case-btn-1:not(:disabled):not(.disabled):focus,
.case-btn-1:not(:disabled):not(.disabled):active {
	color: #007EC4 !important;
	background-color: #DEE2E6 !important;
	border-color: #DEE2E6 !important;
}
