@charset "utf-8";
.terms_section {
		color: #4D171B;
		background: #fff;
		border-radius: 16px;
		box-shadow: rgba(0, 0, 0, 0.1) 8px 8px 0px;
		overflow: hidden;
}
@media(max-width: 767px) {
		.terms_section {
				border-radius: 16px;
				box-shadow: rgba(0, 0, 0, 0.1) 4px 4px 0px;
		}
}
.terms_hd {
		height: 88px;
		display: flex;
		justify-content: center;
		align-items: center;
		color: #4D171B;
		cursor: pointer;
		font-size: 32px;
		font-weight: 700;
		position: relative;
}
.terms_hd .terms_hd_trigger {
		width: 48px;
		height: 48px;
		border-radius: 50%;
		background: #db0012;
		position: absolute;
		right: 20px;
		top: 20px;
}
.terms_hd_trigger:before, .terms_hd_trigger:after {
		content: '';
		display: block;
		position: absolute;
		width: 20px;
		height: 3px;
		border-radius: 60px;
		background: #fff;
		left: 14px;
		top: 22.5px;
		pointer-events: none;
		transition: transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.terms_hd_trigger:after {
		transform: rotate(90deg);
}
.termsOpen .terms_hd_trigger::before {
		transform: rotate(180deg);
}
.termsOpen .terms_hd_trigger::after {
		transform: rotate(270deg);
		opacity: 0;
}
@media(max-width: 960px) {
		.terms_cont_inner {
				padding: 30px 60px 80px;
		}
}
@media(max-width: 767px) {
		.terms_hd {
				height: 64px;
				font-size: 22px;
		}
		.terms_hd .terms_hd_trigger {
				width: 32px;
				height: 32px;
				right: 16px;
				top: 16px;
		}
		.terms_hd_trigger:before, .terms_hd_trigger:after {
				width: 16px;
				height: 2px;
				left: 8px;
				top: 15px;
		}
}
/* ======== */
.terms_cont_inner {
		padding: 30px 150px 80px
}
@media(max-width: 960px) {
		.terms_cont_inner {
				padding: 30px 60px 80px;
		}
}
.terms_cont_inner p {
		line-height: 1.8;
		text-align: justify;
		margin: 0;
		padding-bottom: 1em;
		font-weight: 400;
}
.terms_cont_inner p + ul, .terms_cont_inner p + ol {
		position: relative;
		top: -0.75em;
}
.terms_cont_inner p.mb05 {
		font-weight: 600;
		margin: 0 0 5px;
}
.terms_cont_inner a {
		color: #4D171B;
}
@media (hover: hover) {
		.terms_cont_inner a:hover {
				text-decoration: none;
				color: #E60012;
		}
}
.terms_cont_inner h5 {
		font-weight: 700;
		font-size: 110%;
		color: #E60012;
		margin: 25px 0 0;
		padding-bottom: 5px;
}
.terms_cont_inner h6 {
		font-size: 100%;
		font-weight: 700;
		margin: 10px 0 10px;
}
.terms_cont_inner h6 span {
		display: inline-block;
		padding: 0 14px;
		position: relative;
}
.terms_cont_inner h6 span::before, .terms_cont_inner h6 span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4.5px);
		width: 10px;
		height: 10px;
}
.terms_cont_inner h6 span::before {
		border-top: 2px solid #4D171B;
		border-left: 2px solid #4D171B;
		transform: rotate(-45deg);
		left: 3px
}
.terms_cont_inner h6 span::after {
		border-top: 2px solid #4D171B;
		border-right: 2px solid #4D171B;
		transform: rotate(45deg);
		right: 3px
}
ul.dot, ul.att {
		margin-left: 1em;
		padding-bottom: 1em;
}
ul.dot ul, ul.att ul {
		padding-top: 0.25em;
		padding-bottom: 0;
}
ul.dot li, ul.att li {
		position: relative;
		line-height: 1.6;
		margin: 0 0 3px;
		list-style: none;
		font-weight: 400;
}
ul.dot li::after {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
ul.att li::after {
		display: none !important;
}
.att li span.mark {
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
ol.num {
		margin-left: 1.75em;
		margin-bottom: 1.75em;
}
ol.num li {
		list-style: none;
		position: relative;
		line-height: 1.8;
		margin: 0 0 6px;
}
ol.num li span.no {
		display: block;
		position: absolute;
		left: -1.75em;
		top: 0;
}
ul.dot li:last-child, ul.att li:last-child, .ol.num li:last-child {
		margin-bottom: 0;
}
@media(max-width: 767px) {
		.terms_cont_inner {
				padding: 0 20px 60px
		}
}
.terms_cont_inner {
		display: none
}
.hr {
		height: 0.5em
}