@charset "utf-8";

/* Old Style
------------------------------------------*/
.contents-100box{
	margin: 0 0 20px 0;
	padding: 20px;
}
.contents-50leftbox{
	float: left;
	width: 49%;
}
.contents-50rightbox{
	float: right;
	width: 49%;
}

.table-underline th,
.table-underline td {
	border: none !important;
	border-bottom: 1px solid #aaa !important;
}

.contents-table{
	margin: 0 0 20px 0;
	width: 100%;
	border-collapse: collapse;
	border-spacing: 0;
}
.contents-table .odd{
}
.contents-table th{
	padding: 10px;
	border-bottom: #ccc 1px dashed;
}
.contents-table td{
	padding: 10px;
	text-align: right;
	border-left: #ccc 1px dashed;
	border-bottom: #ccc 1px dashed;
}

.contents-50leftimg{
	float: left;
	width: 49%;
}
.contents-50rightimg{
	float: right;
	width: 49%;
}
.contents-3column{
	float: left;
	width: 33.333%;
	padding: 5px 10px;
}

.wrap-accessmap iframe {
	width: 100%;
	height: 450px;
}

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

h3.reset-title {
	margin: 50px 0 30px;
	padding-bottom: 10px;
	font-size: 26px;
	font-weight: 600;
	border-bottom: 2px solid #70181c;
}

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

.table-bordered {
	margin-bottom: 25px;
}
.table-bordered th,
.table-bordered td {
	padding: 12px 15px;
	border: 1px solid #ccc;
}
.table-bordered th {
	width: 25%;
	color: #fff;
	background: #111;
}

.table-fixed {
	margin-bottom: 25px;
	table-layout: fixed;
}
.table-fixed th,
.table-fixed td {
	padding: 12px 15px;
	border: 1px solid #ccc;
	text-align: center;
	vertical-align: middle;
}
.table-fixed th {
	color: #fff;
	background: #111;
}

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

.contents-colorbox h4 {
	margin-bottom: 0.6rem !important;
}

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

.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: #70181c;
	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 60px !important;
	padding-left: 120px;
}
.list-flow::before {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	left: 120px;
	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: -120px;
	z-index: 10;
	height: 36px;
	width: 100px;
	text-align: center;
	background: #7d0e0a;
	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 #7d0e0a;
	-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: #7d0e0a;
}
.list-flow .template::after {
	position: absolute;
	top: 17px;
	left: 5px;
	width: 50px;
	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: 2;
}
.list-check li:before {
	content: '\f00c';
	position: absolute;
	top: 0;
	left: 0;
	line-height: 2.2;
	color: #7d0e0a;
	font-family: 'Font Awesome 5 Free';
	font-size: 15px;
	font-weight: 900;
}
.list-check li:last-child {
	margin-bottom: 0 !important;
}

.stores_btn a {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: space-around;
	max-width: 280px;
	margin: 0 auto;
	padding: 10px 25px;
	border-radius: 3px;
	background: #eee;
	color: #313131;
	font-weight: 500;
	text-decoration-line: none;
	transition: 0.3s ease-in-out;
}
.stores_btn a:hover {
	background: #313131;
	color: #fff;
}
.stores_btn a:after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	width: 5px;
	height: 5px;
	border-top: 3px solid #313131;
	border-right: 3px solid #313131;
	border-radius: 1px;
	transition: 0.3s ease-in-out;
	transform: rotate(45deg) translateY(-50%);
}
.stores_btn a:hover:after {
	border-color: #fff;
}

.entry-btn {
	margin-top: 30px;
	text-align: center;
}
.entry-btn a {
	display: inline-block;
	position: relative;
	width: 100%;
	height: 60px;
	background: #000;
	line-height: 60px;
	color: #fff !important;
	font-weight: bold;
	text-align: center;
	text-decoration: none !important;
}
.entry-btn a::before {
	position: absolute;
	top: 50%;
	right: 20px;
	content: '\f105';
	color: #fff;
	font-weight: 600;
	font-family: 'Font Awesome 5 Free';
	line-height: 1;
	-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;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}