/* ===================================================================
filename:lower.css
=================================================================== */

.lowerPage .page-contents {
	margin-bottom: 170px;
}
.lowerPage .page-contents .single-column {}
.lowerPage .page-contents .single-column .container {
	max-width: 1084px;
}

.simplePage {}


/* ------------------------------------------------------------ */
/* .page-header */
/* ------------------------------------------------------------ */

.simplePage .page-contents .page-header {
	margin-bottom: 60px;
}
.simplePage .page-contents .page-header .container {}
.simplePage .page-contents .page-header .container-fluid {}


/* ------------------------------------------------------------ */
/* .page-title */
/* ------------------------------------------------------------ */

.simplePage .page-contents .page-title {
	display: flex;
	align-items: center;
	padding: 60px 0 10px;
	min-height: 250px;
}
.simplePage .page-contents .page-title .page-title-inner {}
.simplePage .page-contents .page-title .category {
	color: #856D47;
	line-height: 1.4;
	font-size: 15px;
	margin-bottom: 0.25em;
}
.simplePage .page-contents .page-title .title {
	color: #241D14;
	line-height: 1.4;
	font-weight: 400;
	font-size: 55px;
	letter-spacing: 0.05em;
	margin: 0;
}
.simplePage .page-contents .page-title .sub-title {
	color: #241D14;
	line-height: 1.4;
	font-size: 30px;
	letter-spacing: 0.05em;
	margin: 6px 0 0;
}
@media (min-width: 992px) {
	.simplePage .page-contents .page-title .page-title-inner {
		padding-bottom: 0;
	}
}
@media (max-width: 767px) {
	.simplePage .page-contents .page-header {
		margin-bottom: 10px;
	}
	.simplePage .page-contents .page-title {
		min-height: 210px;
		display: flex;
		align-items: center;
		padding-top: 10px;
	}
	.simplePage .page-contents .page-title .page-title-inner {
		padding: 30px 0 25px;
	}
	.simplePage .page-contents .page-title .category {
	}
	.simplePage .page-contents .page-title .title {
		font-size: 35px;
		letter-spacing: 0;
	}
	.simplePage .page-contents .page-title .title .d-md-none p {
	margin-bottom: 0 !important;
	}
	.simplePage .page-contents .page-title .sub-title {
		font-size: 18px;
		margin: 6px 0;
	}
}


/* ------------------------------------------------------------ */
/* section */
/* ------------------------------------------------------------ */

.simplePage .page-contents section {
	margin-bottom: 125px;
}
.simplePage .page-contents section:last-child {
	margin-bottom: 0;
}
@media (max-width: 767px) {
	.simplePage .page-contents section {
		margin-bottom: 85px;
	}
}

/* ------------------------------------------------------------ */
/* .sec-title */
/* ------------------------------------------------------------ */

.simplePage .page-contents .sec-title {
	margin-bottom: 60px;
}
.simplePage .page-contents .sec-title .en-title {
	display: flex;
	align-items: center;
	color: #856D47;
	font-size: 15px;
	line-height: 1;
	margin-bottom: 25px;
}
.simplePage .page-contents .sec-title .en-title::before {
	content: "";
	display: block;
	width: 0.4em;
	height: 0.4em;
	margin-right: 0.75em;
	border-radius: 0.2em;
	background: linear-gradient(to right bottom, #CA271B 0%, #CA271B 25%, #811900 100%);
}
.simplePage .page-contents .sec-title .en-title span {}
.simplePage .page-contents .sec-title .en-title span.en {
	text-transform: uppercase;
	line-height: 1.2;
}
.simplePage .page-contents .sec-title .en-title span.num {
	font-size: 20px;
	margin-left: 0.25em;
}
.simplePage .page-contents .sec-title h2 {
	font-weight: 400;
	font-size: 45px;
	letter-spacing: 0.03em;
}
@media (max-width: 767px) {
	.simplePage .page-contents .page-body > .container-fluid {}
	.simplePage .page-contents .sec-title {
		margin-bottom: 20px;
	}
	.simplePage .page-contents .sec-title h2 {
		font-size: 30px;
		line-height: 1.6;
		letter-spacing: 0;
	}
	.simplePage .page-contents .sec-title .en-title {
		font-size: 13px;
		margin-bottom: 7px;
	}
	.simplePage .page-contents .sec-title .en-title::before {
		width: 6px;
		height: 6px;
	}
	.simplePage .page-contents .sec-title .en-title span.num {
		font-size: 15px;
	}
}

.simplePage .page-contents .sec-body {}
.simplePage .page-contents .sec-body p {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0.05em;
	margin-bottom: 1em;
}
@media (max-width: 767px) {
	.simplePage .page-contents .sec-body h3 {
		cursor: none;
		font-size: 20px;
		line-height: 1.6;
		letter-spacing: 0;
		margin-bottom: 25px;
	}
	.simplePage .page-contents .sec-body h3 br {
		display: none;
	}
	.simplePage .page-contents .sec-body p {
		font-size: 15px;
		line-height: 1.8;
	}
	.simplePage .page-contents .pl-1-box {
		padding-left: 0;
	}
	.simplePage .page-contents .pl-2-box {
		padding: 0 12px;
	}
	.simplePage .page-contents .pl-2-box p {
		line-height: 1.8;
	}
}
@media (min-width: 768px) {
	.simplePage .page-contents .page-body {}
	.simplePage .page-contents .pl-1-box {
		width: 87.5%;
		margin-left: auto;
	}
	.simplePage .page-contents .pl-2-box {
		width: 71.4%;
		max-width: 640px;
		margin: 95px 0 0 auto;
	}
	.simplePage .page-contents .border-top-dl dl dt {
		padding-right: 20px;
	}
}


/* ------------------------------------------------------------ */
/* .policylist */
/* ------------------------------------------------------------ */

.policyPage .page-contents .policylist {
	padding-left: 32px;
}
.policyPage .page-contents .policylist h3 {
	position: relative;
	font-size: 30px;
	line-height: 1.6;
	margin-top: 1.7em;
	margin-bottom: 0.6em;
}
.policyPage .page-contents .policylist h3 .num {
	position: absolute;
	top: 0;
	left: -0.25em;
	text-align: right;
	transform: translateX(-100%);
	color: #856D47;
}
.policyPage .page-contents .policylist h4 {
	font-size: 25px;
	line-height: 1.5;
	letter-spacing: 0.02em;
	margin-top: 1.7em;
	margin-bottom: 0.6em;
}
.policyPage .page-contents .policylist p {}
.policyPage .page-contents .policylist ol.policy-ol {
	list-style: none;
	margin-top: 50px;
	padding-left: 32px;
	counter-reset: listnum;
}
.policyPage .page-contents .policylist ol.policy-ol > li {}
.policyPage .page-contents .policylist ol.policy-ol > li h5 {
	position: relative;
	font-size: 20px;
	line-height: 1.6;
	letter-spacing: 0.02em;
	margin-top: 2.25em;
	margin-bottom: 1em;
	max-width: 736px;
}
.policyPage .page-contents .policylist ol.policy-ol > li h5::before {
	counter-increment: listnum;
	content: counter(listnum);
	position: absolute;
	top: 0;
	left: -32px;
	color: #856D47;
}
.policyPage .page-contents .policylist ol.policy-ol > li p {
	font-size: 15px;
	letter-spacing: 0.02em;
	line-height: 1.8;
}
.policyPage .page-contents .policylist ol.policy-ol-child {
	list-style: none;
	font-size: 15px;
	margin-top: 20px;
	padding-left: 16px;
	counter-reset: listnum;
}
.policyPage .page-contents .policylist ol.policy-ol-child > li {}
.policyPage .page-contents .policylist ol.policy-ol-child > li h6 {
	position: relative;
	font-size: 15px;
	line-height: 1.6;
	margin-top: 0.75em;
	margin-bottom: 0.25em;
	color: #856D47;
}
.policyPage .page-contents .policylist ol.policy-ol-child > li h6::before {
	counter-increment: listnum;
	content: counter(listnum);
	position: absolute;
	top: 0;
	left: -16px;
}
.policyPage .page-contents .policylist ol.policy-ol-child > li p {
	font-size: 15px;
	letter-spacing: 0.02em;
	line-height: 1.8;
	margin-bottom: 0.75em;
}
.policyPage .page-contents .policylist ol.policy-ol-child > li a {
	color: #241D14;
	text-decoration: none;
}
@media (min-width: 768px) {
	.policyPage .page-contents .policylist ol.policy-ol-child > li a {
		transition: opacity 0.3s;
	}
	.policyPage .page-contents .policylist ol.policy-ol-child > li a:hover {
		opacity: 0.6;
	}
}
@media (max-width: 767px) {
	.policyPage .page-contents .policylist {
		padding-left: 25px;
	}
	.policyPage .page-contents .policylist h3 {
		font-size: 22px;
		margin-top: 1.25em;
		margin-bottom: 0.5em;
	}
	.policyPage .page-contents .policylist h4 {
		font-size: 18px;
		line-height: 1.78;
	}
	.policyPage .page-contents .policylist ol.policy-ol {
		margin-top: 30px;
		padding-left: 20px;
	}
	.policyPage .page-contents .policylist ol.policy-ol > li h5 {
		font-size: 15px;
		margin-bottom: 0.5em;
	}
	.policyPage .page-contents .policylist ol.policy-ol > li h5::before {
		left: -20px;
	}
	.policyPage .page-contents .policylist ol.policy-ol-child > li h6 {
		font-size: 14px;
	}
	.policyPage .page-contents .policylist ol.policy-ol-child > li p {
		font-size: 14px;
	}
}





/* ------------------------------------------------------------ */
/* .border-top-dl */
/* ------------------------------------------------------------ */
.policyPage .page-contents .border-top-dl {
	margin-bottom: 20px;
}
.policyPage .page-contents .border-top-dl:not(:first-child) {
	margin-top: 90px;
}
.policyPage .page-contents .border-top-dl dl {
	position: relative;
	display: flex;
	border-top: solid 1px rgba(0, 0, 0, 0.1);
	padding: 50px 0 40px;
	margin: 0;
}
.policyPage .page-contents .border-top-dl dl:last-child {
	padding-bottom: 0;
}
.policyPage .page-contents .border-top-dl dl::before {
	content: "";
	position: absolute;
	top: -1px;
	left: 0;
	width: 114px;
	height: 1px;
	background: linear-gradient(to left, #811900 0%, #CA271B 75%);
}
.policyPage .page-contents .border-top-dl dl > * {
	flex-grow: 0;
	flex-shrink: 0;
}
.policyPage .page-contents .border-top-dl dl dt {
	flex-basis: 42.86%;
	font-size: 25px;
	font-weight: 400;
	line-height: 1.5;
}
.policyPage .page-contents .border-top-dl-2 dl dt {
	flex-basis: 28.57%;
}
.policyPage .page-contents .border-top-dl dl dd {
	flex-basis: 0;
	flex-grow: 1;
	font-size: 15px;
	line-height: 1.8;
	margin: 0;
}
.policyPage .page-contents .border-top-dl dl dd .dd-inner {
	padding: 0 0;
}
.policyPage .page-contents .border-top-dl dl dd p {
	font-size: 15px;
	margin-bottom: 0.5em;
}
.policyPage .page-contents .border-top-dl dl dd p a {
	color: #241D14;
	text-decoration: none;
}
.policyPage .page-contents .border-top-dl dl dd p:last-child {
	margin-bottom: 0;
}
@media (max-width: 767px) {
}
@media (min-width: 768px) {
}
@media (min-width: 992px) {
}
@media (max-width: 767px) {
	.policyPage .page-contents .border-top-dl {
		margin-top: 50px;
	}
	.policyPage .page-contents .border-top-dl dl {
		display: block;
		padding: 30px 0 35px;
	}
	.policyPage .page-contents .border-top-dl dl::before {
		width: 68px;
	}
	.policyPage .page-contents .border-top-dl dl dt {
		font-size: 20px;
		margin-bottom: 20px;
		padding-right: 20px;
	}
	.policyPage .page-contents .border-top-dl dl dd {
		font-size: 14px;
		line-height: 2;
		letter-spacing: 0.02em;
	}
	.policyPage .page-contents .border-top-dl dl dd p {
		font-size: 14px;
	}
}