@charset "utf-8";

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

.fs12 { font-size: 12px; }
.fs13 { font-size: 13px; }
.fs14 { font-size: 14px; }
.fs15 { font-size: 15px; }
.fs16 { font-size: 16px; }
.fs17 { font-size: 17px; }
.fs18 { font-size: 18px; }
.fs19 { font-size: 19px; }
.fs20 { font-size: 20px; }

.entry-content h2 {
	margin-top: 80px !important;
}

.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 .template-text :first-child {
	margin-top: 0;
}

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

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

.entry-content th,
.entry-content td :last-child {
	margin-bottom: 0;
}

.entry-content .text-center > *,
.entry-content .text-center div > * {
	text-align: center;
}

.strong {
	color: #057255;
}

.table-bordered th {
	width: 25%;
	background: #f2fbf2;
}
.table-bordered th,
.table-bordered td {
	padding: 15px;
	border: #ccc 1px solid;
	vertical-align: middle;
}
.table-bordered thead th {
	width: auto;
	background: #d2ecd2;
	border-bottom: 1px;
	text-align: center;
	font-weight: bold;
}
.table-bordered.-fixed {
	table-layout: fixed;
}
.table-bordered.-fixed th,
.table-bordered.-fixed td {
	width: auto;
	text-align: center;
	vertical-align: top;
}
.table-bordered.-fixed td p {
	text-align: center;
}
.table-bordered.-fixed td strong {
	color: #057255;
}

.contents-colorbox {
	margin-bottom: 30px;
	padding: 30px;
	background: #f3f3f3;
}
.contents-colorbox :first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.contents-colorbox :last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.contents-borderbox {
	margin-bottom: 30px;
	padding: 30px;
	border: #e1e1e1 3px solid;
}
.contents-borderbox :first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.contents-borderbox :last-child {
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

.contents-colorbox .template-img-right,
.contents-colorbox .template-img-left,
.contents-borderbox .template-img-right,
.contents-borderbox .template-img-left {
	margin-bottom: 0;
}

.list-check li {
	position: relative;
	margin: 0 0 16px 0 !important;
	padding-left: 22px;
	list-style: none !important;
	line-height: 1.6;
}
.list-check li:before {
	content: "\f00c";
	position: absolute;
	top: 2px;
	left: 0;
	color: #057255;
	font-family: "Font Awesome 5 Free";
 	font-weight: 900;
	font-size: 16px;
	line-height: 1.2;
}
.list-check li:last-child {
	margin-bottom: 0 !important;
}

.list-label {
	padding: 0 !important;
	margin: 0 0 25px !important;
	letter-spacing: -0.4em;
}
.list-label li {
	display: inline-block;
	margin: 0 5px 5px 0 !important;
	letter-spacing: normal;
	line-height: 36px;
	padding: 0 10px;
	border-radius: 2px;
	background: #007052;
	color: #fff;
}

.entry-content .btn-primary {
	min-width: 240px;
	padding: 0.8rem 1.6rem;
	border: none;
	background: #007052;
	text-decoration: none !important;
	display: inline-block;
}

/* ご注文の流れ */
.contents-flowbox-group {
	margin: 40px 0 50px;
}
.contents-flowbox {
	position: relative;
	padding: 0 0 30px 40px;
}
.contents-flowbox:last-child {
	padding-bottom: 0;
}
.contents-flowbox::before {
	content: "";
	position: absolute;
	top: 14px;
	bottom: 0;
	left: 0;
	width: 2px;
	background: #007052;
}
.contents-flowbox:first-child::before {
	 top: 10px;
}
.contents-flowbox::after {
	content: "";
	position: absolute;
	top: 10px;
	left: -6px;
	width: 14px;
	height: 14px;
	z-index: 1000;
	background: #007052;
	border-radius: 50%;
}
.contents-flowbox .template {
	margin-bottom: 0;
}
.contents-flowbox .template-img-right {
	margin: 0 0 0 30px;
}
.contents-flowbox .template-text h3 {
	margin: -7px 0 0 0;
	padding: 0;
	font-size: 20px;
	color: #007052;
	border: none;
	background: none;
}
.contents-flowbox .template-text h3:before {
	display: none;
}


/* 料金表 */
.table-price {
}
.table-price th {
	text-align: left;
}
.table-price td {
	font-weight: bold;
	color: #057255;
	text-align: right;
}
.table-price th,
.table-price td {
	padding: 16px 6px 6px;
	border: none;
	border-bottom: #aaa 1px solid;
	vertical-align: bottom;
}
.table-price tr:first-child th,
.table-price tr:first-child td {
	padding-top: 0;
}
.contents-colorbox .table-price {
	margin: 0;
}

/* よくある質問 */
.contents-faq table {
	margin-bottom: 30px;
	width: 100%;
}
.contents-faq th,
.contents-faq td {
	padding: 12px 0;
	vertical-align: middle;
}
.contents-faq tr:first-child th {
	width: 50px;
	border-bottom: #aaa 1px solid;
}
.contents-faq tr:first-child td {
	color: #057255;
	font-size: 17px;
	font-weight: bold;
	border-bottom: #aaa 1px solid;
}
.contents-faq tr:nth-child(2) th {
	vertical-align: top;
}

/* 動画可変対応 */
.movie-wrap {
	position: relative;
	width: 100%;
	padding: 56.25% 0 0 0;
}
.movie-wrap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
