@charset "UTF-8";

/*各ページ特有指定（あまり汎用的でないもの）を記載*/
/*切替[基本：max568 min569／デザインによっては：768／それ以外は個別・特例的に設定]*/

/*文字背景色*/
p.tbg01{
	display: inline-block;
	background-color: #ffdade;
	padding: 2px 1px;
}
.marker {
	/*background-color: #ff9;*/
	background:linear-gradient(transparent 60%, #ffef6e 60%);	/*文字半分にかかるくらいlinear-gradient(transparent　色の割合, 蛍光ペンの色 色の割合)*/
}
.marker2 {
	background-color: #d8f6ff;
}
/*文字間*/
.tx-les01{
	letter-spacing: 0.25em;
}
/*定義リスト1*/
/*
dt, dd {
	margin: 0;
	box-sizing: border-box;
}
dl {
	display: flex;
	flex-wrap: wrap;
}
dt{
	color: #d30000;
	padding: 4px;
	border-left: 10px solid #a9c0d8;
	border-bottom: 1px dashed #999;
	background-color: rgba(255,255,255,0.9);
	width: 15em;
}

dd{
	padding: 4px;
	border-bottom: 1px dashed #999;
	background-color: rgba(255,255,255,0.9);
	width: calc(100% - 15em);
}
@media (max-width: 568px) {
	dt{
		display: block;
		font-weight: bold;
		border-left: 0;
		background-color: rgb(234, 179, 14);
		width: 100%;
		color: #271d1d;
	}
	dd{
		display: block;
		width: 100%;
	}
}
*/
/*定義リスト2*/
dt, dd {
	margin: 0;
	box-sizing: border-box;
}
dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
}
dt{
	font-weight: 600;
	font-size: clamp(13px, 1.5vw, 14px);
	padding: 2px;
	border-bottom: 1px dashed #999;
	width: 6rem;
}
dd{
	font-size: clamp(13px, 1.5vw, 14px);
	padding: 2px;
	border-bottom: 1px dashed #999;
	width: calc(100% - 6rem);
}
@media (max-width: 568px) {
	dt{
		display: block;
		font-weight: bold;
		border-left: 0;
		/*background-color: rgb(234, 179, 14);*/
		width: 100%;
		color: #271d1d;
	}
	dd{
		display: block;
		width: 100%;
	}
}



b.emphasis {
	box-sizing: border-box;
	text-align: center;
	font-size: clamp(18px, 2.5vw, 23px);
	line-height: 1.3;
	font-weight: normal;
	color: #fff;
	display: block;
	/*background: #26a5b3;*/
	background: #b3263a;
	/*border: 5px double #ebbb61;*/
	/*width: calc(100% - 10px);*/
	margin: 15px auto;
	padding: 10px;
}

/*文字ボタン*/
.btwi{
	width: 60%;
	margin: 30px auto;
}
@media screen and (max-width: 768px) {
	.btwi{
		width: 80%;
	}
}
@media screen and (max-width: 568px) {
	.btwi{
		width: 100%;
	}
}
.c-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 55px;
	color: #fff;
	font-size: 17px;
	line-height: 1.1;
	text-decoration: none;
	transition: 0.3s;
	/*margin: 0 auto;*/
	/*border-radius: 50px;*/
	padding: 0 32px 0 20px;
	margin:0 5px;
}

.c-btn a:hover {
	color: #008dc6;
}
.btn07 a {
	background-color: #008dc6;
	border: 1px solid #dfdfdf;
	font-size: clamp(13px,2vw,16px);
}

/*.btn07 a::before {
	content: '';
	position: absolute;
	top: 50%;
	right: 10px;
	transform: translateY(-50%);
	width: 17px;
	height: 17px;
	background-color: transparent;
	border: 2px solid #fff;
	border-radius: 50%;
}*/	/*〇を入れる場合はイキ*/

.btn07 a::after {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: 20px;
	transform: rotate(45deg) translateY(-50%);
	width: 6px;
	height: 6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	border-color: #ccc #ccc transparent transparent;
}

.btn07 a:hover {
	background-color: #f4f4f4;
	/*border: 1px solid #333;*/
}

.btn07 a:hover::before {
	border: 1px solid #f2f2f2;
}

.btn07 a:hover::after {
	border-color: #f2f2f2 #f2f2f2 transparent transparent;
}


/*テーブル　汎用*/
.col1{
	background-color: #ddd;
}
.col2{
	background-color: #d9eef0;
}
/*一般(usually)テーブル*/
table.u-tab {
	/*width: 80%;*/	/*article class="entry" 内に入れるならいらない*/
	margin: 0px auto;
	/*border-bottom: 1px solid #ccc;
	border-right: 1px solid #ccc;*/
}

table.u-tab tr th{
	font-size: 13.5px;
	text-align:left;
	border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;
	line-height: 1.3;
	padding: 7px;
	background-color: #d3edf0;
}
table.u-tab tr td{
	font-size: 13.5px;
	text-align:left;
	/*border-top: 1px solid #ccc;
	border-left: 1px solid #ccc;*/
	border-bottom: 1px solid #79b5b7;
	line-height: 1.3;
	padding: 15px;
	/*background: rgba(243, 252, 255, 0.85);*/
}

table.u-tab tr.col2 td.w1{
	width:29%;
}
table.u-tab tr.col2 td.w2{
	width:29%;
}
table.u-tab tr.col2 td.w3{
	width:42%;
}
@media screen and (max-width: 800px) {
	table.u-tab {
		width: 100%;
	}
}
@media screen and (max-width: 568px) {
	table.u-tab tr th{
		font-size: 12.5px;
		padding: 3px;
		width: 40%;
	}
	table.u-tab tr td{
		font-size: 12.5px;
		padding: 10px;
	}
	table.u-tab tr td:nth-of-type(1){
		width: 5rem;	/* 1列目のスタイル */
	}
}

/*文字縁取り*/
.fuchidori {
	text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
		-1px 1px 0 #FFF, 1px -1px 0 #FFF,
		0px 1px 0 #FFF,  0-1px 0 #FFF,
		-1px 0 0 #FFF, 1px 0 0 #FFF;
}

/*文字装飾*/
.kakomi-p01{
	padding:1px 8px; /* 枠と文字の空間 */
	margin:2.5px 5px; /* 枠の外の空間 */
	background-color:#f7efad; /* 枠の背景色 */
	border:1px solid #aeaeae; /* 枠の線の太さ・種類・色 */
	border-radius:5px; /* 枠の角を丸くする */
	/*box-shadow: 1px 2px 2px #ddd;*/ /*影をいれる*/
	font-family:inherit; /* フォントの種類を継承する */
	font-size:0.65em;	/* フォントの大きさ */
	text-align:center;
}
.kakomi-p02{
	padding:1px 8px; /* 枠と文字の空間 */
	margin:2.5px 5px; /* 枠の外の空間 */
	background-color:#e6bcbc; /* 枠の背景色 */
	border:1px solid #aeaeae;	/* 枠の線の太さ・種類・色 */
	border-radius:5px; /* 枠の角を丸くする */
	/*box-shadow: 1px 2px 2px #ddd;*/	/*影をいれる*/
	font-family:inherit; /* フォントの種類を継承する */
	font-size:0.65em;	/* フォントの大きさ */
	text-align:center;
}
/*会社概要*/
.bg_b{
	background: rgb(230, 240, 240, 0.5);
	padding:20px;
}


/*トップページ吹き出し部分のｐ*/
p.h4p{
	padding: 0 15px;
	font-size: clamp(14px,1.5vw,15px);
	text-align: justify;
}


.heading04 {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: clamp(20px,1.8vw,26px);
	text-align: center;
	border: 0;
	color: #3744b5;
}

.heading04::before,
.heading04::after {
	content: '';
	width: 4px;
	height: 40px;
	background-color: #ccc;
}

.heading04::before {
	margin-right: 30px;
	transform: rotate(-35deg)
}
.heading04::after {
	margin-left: 30px;
	transform: rotate(35deg)
}
@media screen and (max-width: 568px) {
	.heading04 {
		font-size: 23px;
	}
	.heading04::before {
		margin-right: 17px;
	}
	.heading04::after {
		margin-left: 17px;
	}
}


/*マウスホバー時に文字列を表示*/
figure.hover-parent {
	width: 100%;
	height: auto;
	position: relative;
	/*margin-bottom: 30px;*/
	overflow: hidden;
}

figcaption.hover-mask {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: rgba(0,0,0,.6);
	opacity: 0;
	color: #fff;
	display: flex;
	align-items: center;
	text-align: center;
	padding: 30px;
}

figure.hover-parent:hover .hover-mask2 {
	opacity: 1;
	transition: all .6s ease;
	padding-bottom: 0px;
}

/*フロー図*/
.flow_design03 {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 20px;
}
.flow_design03 ul {
	padding: 0;
}
.flow_design03 li {
	list-style-type: none;
}
.flow03 {
	position: relative;
}
.flow03::before {
	content: "";
	width: 15px;
	height: 100%;
	background: #eee;
	margin-left: -129px;
	display: block;
	position: absolute;
	top: 0;
	left: 120px;
	border-radius: 20px;
}
.flow03 > li {
	position: relative;
}
.flow03 > li:not(:last-child) {
	margin-bottom: 2px;
}
.flow03 > li .icon03 {
	/*font-size: 0.8em;*/
	width: 2em;
	height: 2em;
	line-height: 2;
	text-align: center;
	font-weight: bold;
	border-radius: 100vh;
	color: #fff;
	background: #ed5829;
	display: inline-block;
	margin-right: 0.3em;
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.flow03 > li dl.f3d {
	padding-left: 50px;/*点線と番号の間*/
	position: relative;
}
.flow03 > li dl.f3d::before,
.flow03 > li dl.f3d::after {
	content: "";
	display: block;
	position: absolute;
	top: 15px;
}
.flow03 > li dl.f3d::before {
	width: 7px;
	height: 7px;
	margin-top: -3px;
	background: #ed5829;
	border-radius: 50%;
	left: -4px;
}
.flow03 > li dl.f3d::after {
	width: 40px;	/*点線の長さ*/
	border-bottom: 1px dashed #999;
	position: absolute;
	left: 5px;
}
.flow03 > li dl.f3d dt {
	font-size: 1em;
	font-weight: 600;
	color: #454545;
	margin-bottom: 0.5em;
	display: flex;
	align-items: center;
	border:0;
	width: auto;
}

/*top ol*/
ol.topol{
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 400;
}
ol.topol li{
	font-size: 1.1em;
	margin-bottom: 0.5em;
}




