@charset "utf-8";

/* 20250411 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; }

.pc-hide {
	display: none;
}

.font-l {
	font-size: 20px;
}
.font-xl {
	font-size: 25px;
}

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

.term-contact .entry-content .row {
	margin: 0;
}
.term-contact .entry-content .row > div {
	margin: 0;
	padding: 0;
}
.entry-content .row > div :first-child {
	margin-top: 0 !important;
}

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

.entry-content dl dt {
	color: #e70014;
	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: #e70014;
}

.table-bordered {
	margin-bottom: 25px;
}
.table-bordered th,
.table-bordered td {
	padding: 12px 15px;
	border: 1px solid #ddd;
	line-height: 1.8 !important;
}
.table-bordered th {
	width: 25%;
	background: #e70014;
	color: #fff;
	font-weight: bold !important;
}

.table-fixed {
	margin-bottom: 25px;
	table-layout: fixed;
}
.table-fixed th,
.table-fixed td {
	padding: 12px 15px;
	border: 1px solid #ddd;
	line-height: 1.8 !important;
	text-align: center;
	vertical-align: middle;
}
.table-fixed th {
	background: #e70014;
	color: #fff;
	font-weight: bold !important;
}

.contents-colorbox {
	margin-bottom: 40px;
	padding: 30px;
	border-radius: 10px;
	background: #f7f7f7;
}
.contents-colorbox :first-child {
	margin-top: 0 !important;
}
.contents-colorbox :last-child {
	margin-bottom: 0 !important;
}

.contents-borderbox {
	margin-bottom: 40px;
	padding: 30px;
	padding: 25px;
	border: #222 2px solid;
	border-radius: 10px;
}
.contents-borderbox :first-child {
	margin-top: 0 !important;
}
.contents-borderbox :last-child {
	margin-bottom: 0 !important;
}

.list-flow {
	position: relative;
	margin: 40px 0 60px !important;
	padding-left: 80px;
}
.list-flow::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 100px;
	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;
	width: 80px;
	height: 36px;
	background: #c80011;
	line-height: 36px;
	color: #fff;
	font-size: 14px;
	font-weight: bold;
	text-align: center;
}
.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 #c80011;
	-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: 17px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #c80011;
}
.list-flow .template::after {
	position: absolute;
	top: 17px;
	left: 25px;
	width: 35px;
	border-bottom: 1px dashed #999;
}
.list-flow .template dt {
	margin-bottom: 15px;
	font-size: 20px;
	font-weight: 600;
}
.list-flow .template-img-right {
	width: 300px;
}


.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: #e70014;
	font-family: 'Font Awesome 5 Free';
	font-size: 15px;
	font-weight: 900;
}
.list-check li:last-child {
	margin-bottom: 0 !important;
}

.entry-btn {
	margin-top: 30px;
	text-align: center;
}
.entry-btn a {
	display: inline-block;
	position: relative;
	min-width: 250px;
	height: 50px;
	padding: 0 40px 0 30px;
	border-radius: 25px;
	background: #fcb900;
	line-height: 50px;
	color: #000 !important;
	font-weight: bold;
	text-align: center;
	text-decoration: none !important;
}
.entry-btn.-block a {
	display: block;
}
.row.entry-btn a {
	width: 100%;
}
.entry-btn a:nth-child(n+2) {
	margin-left: 10px;
}

.entry-btn a::before {
	content: '\f105';
	position: absolute;
	top: 50%;
	right: 20px;
	line-height: 1;
	color: #000;
	font-family: 'Font Awesome 5 Free';
	font-weight: 600;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.entry-btn a:hover {
	opacity: 0.7;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	-webkit-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.bn-img a + a {
	margin-left: 15px;
}

/* よくある質問 */
.table_qa {
	width: 100%;
	margin-bottom: 20px;
	padding: 0;
	border-collapse: collapse;
	border-spacing: 0;
}
.table_qa th {
	width: 5%;
	padding: 20px 0 20px 15px;
}
.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:nth-child(2n) {
	background: #f2f2f2;
}
.table_qa tr:nth-child(2n) th {
	vertical-align: top;
}
.q_icon {
	display: inline-block;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #c00000;
	line-height: 44px;
	color: #fff;
	font-family: sans-serif;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}
.a_icon {
	display: inline-block;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	background: #fc0;
	line-height: 44px;
	color: #000;
	font-family: sans-serif;
	font-size: 20px;
	font-weight: bold;
	text-align: center;
}

/* サービス内容 */
.bg-wrap {
	position: relative;
	z-index: 1;
	margin: 80px 0;
	padding: 80px 0;
}
.bg-wrap::before {
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	z-index: -1;
	width: 100vw;
	background: #f2f2f2;
	transform: translateX(-50%);
}
.bg-wrap :first-child {
	margin-top: 0 !important;
}
.bg-wrap :last-child {
	margin-bottom: 0 !important;
}
.bg-wrap h3 {
	margin-top: 60px !important;
	background: #e2e2e2 !important;
}
.bg-wrap hr {
	margin: 50px 0;
	border-color: #bbb;
}

.reset-title {
	margin-bottom: 20px !important;
	font-size: 25px;
	font-weight: bold;
	text-align: center;
}

.contents-colorbox.yellow {
	padding: 55px;
	background: #ffd943;
}
.contents-colorbox.gray {
	padding: 55px;
	background: #ccc;
}

.table-none {
}
.table-none td {
	padding: 10px;
	border: none !important;
	line-height: 1.3;
	color: #e70014;
	font-size: 22px;
	font-weight: bold;
	vertical-align: middle;
}
.table-none td:first-child,
.table-none td:nth-child(3) {
	width: 100px;
}

.table-menseki {
	table-layout: fixed;
	text-align: center;
}
.table-menseki th,
.table-menseki td {
	padding: 12px 15px;
	border: 1px solid #ccc;
}
.table-menseki th {
	background: #f9e5e7;
}

.table-price-wrap {
	position: relative;
	padding-top: 50px;
}
.table-price-add {
	position: absolute;
	top: 10px;
	left: 340px;
}
.table-price-add.-item02 {
	left: 700px;
}
.table-price {
	margin-bottom: 25px;
	table-layout: fixed;
}
.table-price th,
.table-price td {
	padding: 12px 15px;
	border: 2px solid #f2f2f2;
	line-height: 1.8 !important;
	text-align: center;
	vertical-align: middle;
}
.table-price th {
	background: #e70014;
	color: #fff;
	font-weight: bold !important;
}
.table-price td {
	background: #fff;
}

.blo {
	margin: 0 0 0 5px;
	padding: 5px 10px;
	border-radius: 6px;
	background-color: #713b23;
	color: #fff;
	font-size: 14px;
}
.sil {
	margin: 0 0 0 5px;
	padding: 5px 10px;
	border-radius: 6px;
	background-color: #b9afaf;
	color: #fff;
	font-size: 14px;
}
.gol {
	margin: 0 0 0 5px;
	padding: 5px 10px;
	border-radius: 6px;
	background-color: #b7aa06;
	color: #fff;
	font-size: 14px;
}

/* ======================================
2025/5/22 added by tsuji
======================================== */

/* --------------- テンプレートBOX化 --------------- */

.template-backpattern{
	padding: 30px;
    margin:10px 0 30px;
	background: #F9F9F9;
	border: solid 2px #000;
    border-radius: 10px;
}


