@charset "utf-8";

/* 20250413 added by Fabo */
.mb55 { margin-bottom: 55px !important; }
.mb60 { margin-bottom: 60px !important; }
.mb65 { margin-bottom: 65px !important; }
.mb70 { margin-bottom: 70px !important; }
.mb75 { margin-bottom: 75px !important; }
.mb80 { margin-bottom: 80px !important; }
.mb85 { margin-bottom: 85px !important; }
.mb90 { margin-bottom: 90px !important; }
.mb95 { margin-bottom: 95px !important; }
.mb100 { margin-bottom: 100px !important; }

.entry-content .row {
	margin-left: -10px;
	margin-right: -10px;
}
.entry-content .row > div {
	padding: 0 10px;
}
.term-contact .entry-content .row {
	margin: 0;
}
.term-contact .entry-content .row > div {
	margin: 0;
	padding: 0;
}

.entry-content .template-img-right {
	margin-left: 30px;
}
.entry-content .template-img-left {
	margin-right: 30px;
}

.entry-content .template-text :first-child,
.entry-content .contents-textarea :first-child {
	margin-top: 0 !important;
}

.entry-content dl dt {
	font-size: 17px;
	font-weight: bold;
}
.entry-content dl dd {
	margin-bottom: 10px;
}

.entry-content .template-img-right {
	margin: 0 0 0 30px;
}
.entry-content .template-img-left {
	margin: 0 30px 0 0;
}

.strong {
	color: #343434;
}

.contents-colorbox {
	margin-bottom: 40px;
	padding: 35px;
	background: #fffdf4;
}
.contents-colorbox :first-child {
	margin-top: 0;
}
.contents-colorbox :last-child {
	margin-bottom: 0;
}

.contents-messagebox-group {
	margin: 50px 0 70px;
}
.contents-messagebox {
	position: relative;
	z-index: 10;
	margin-bottom: 80px;
	padding-bottom: 80px;
}
.contents-messagebox::before {
	content: '';
	position: absolute;
	top: 100px;
	right: -100%;
	bottom: 0;
	left: -80px;
	z-index: -10;
	background: #f2f2f2;
}
.contents-messagebox:nth-child(even)::before {
	right: -80px;
	left: -100%;
}
.contents-messagebox .template-text {
	padding-top: 25px;
}
.contents-messagebox .template-img-right {
	margin: 0 0 0 50px;
}
.contents-messagebox .template-img-left {
	margin: 0 50px 0 0;
}
.contents-messagebox h3 {
	margin: 0 0 45px !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	line-height: 50px !important;
	color: #000 !important;
	font-size: 21px !important;
	font-weight:bold;
}
.contents-messagebox h3 .num {
	display: inline-block;
	width: 50px;
	height: 50px;
	margin-right: 10px;
	border-radius: 50%;
	background: #20a4af;
	color: #fff;
	text-align: center;
}

.contents-conceptbox {
	position: relative;
	margin-bottom: 90px;
}
.contents-conceptbox-detail {
	position: relative;
	z-index: 10;
	margin: -70px 100px 0;
	padding: 45px 50px 40px;
	background: #f2f2f2;
}
.contents-conceptbox-detail h3 {
	margin: 0 0 10px !important;
	padding: 0 !important;
	border: none !important;
	background: none !important;
	font-weight: bold;
}

.list-check li {
	position: relative;
	margin: 0 0 10px 0 !important;
	padding-left: 25px;
	list-style: none !important;
	line-height: 1.8;
}
.list-check li:before {
	content: '\f00c';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 1.8;
	color: #111;
	font-family: 'Font Awesome 5 Free';
	font-size: 15px;
	font-weight: 900;
}
.list-check li:last-child {
	margin-bottom: 0 !important;
}

.list-flow {
	position: relative;
	margin: 40px 0 70px !important;
	padding-left: 80px;
}
.list-flow::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 80px;
	width: 14px;
	height: 100%;
	margin-left: -7px;
	background: #eee;
}
.list-flow > li {
	position: relative;
	margin-left: 0 !important;
	list-style: none !important;
}
.list-flow > li:not(:last-child) {
	margin-bottom: 35px;
}
.list-flow-icon {
	display: block;
	position: absolute;
	top: 0;
	left: -80px;
	z-index: 10;
	height: 36px;
	padding: 0 20px;
	background: #FFC600;
	line-height: 36px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
}
.list-flow-icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 100%;
	border-width: 5px 0 5px 10px;
	border-style: solid;
	border-color: transparent transparent transparent #FFC600;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.list-flow .template {
	position: relative;
	padding-left: 70px;
}
.list-flow .template::before,
.list-flow .template::after {
	content: '';
	display: block;
	position: absolute;
	top: 15px;
}
.list-flow .template::before {
	top: 14px;
	left: -4px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #FFC600;
}
.list-flow .template::after {
	position: absolute;
	top: 17px;
	left: 5px;
	width: 50px;
	border-bottom: 1px dashed #999;
}
.list-flow .template dt {
	margin-bottom: 10px;
	line-height: 1.6;
	font-size: 20px;
	font-weight: 600;
}
.list-flow .template-img-right {
	width: 300px;
}

.table-bordered {
	margin: 0 0 30px 0;
}
.table-bordered th,
.table-bordered td {
	padding: 15px;
	border: 1px solid #fff;
}
.table-bordered th {
	width: 25%;
	background: #000000;
	color: #fff;
}
.table-bordered td {
	background: #f2f2f2;
}

.table_qa {
	width: 100%;
	margin-bottom: 30px;
	padding: 0;
	border-collapse: collapse;
	border-spacing: 0;
}
.table_qa th {
	width: 5%;
	padding: 20px 10px;
}
.table_qa td {
	padding: 20px 10px;
	vertical-align: middle;
}
.table_qa tr:nth-child(2n-1) td {
	font-size: 18px;
	font-weight: bold;
}
.table_qa tr{
	background: #f3f3f3;
}
.table_qa tr:first-child{
	background: #000;
	color:#fff;
}
.table_qa tr:first-child th {
	vertical-align: top;
}
.q_icon {
	display: inline-block;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #ffc601;
	line-height: 44px;
	color: #000;
	font-size: 20px;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	font-weight: bold;
	text-align: center;
}
.a_icon {
	display: inline-block;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #3c3c3c;
	line-height: 44px;
	color: #fff;
	font-size: 20px;
	font-family: "Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
	font-weight: bold;
	text-align: center;
}