@charset "utf-8";

/* ---------------------------------------------------------
 * Common
** --------------------------------------------------------- */
.wrapper.w1200,
.wrapper.w1000,
.wrapper.w800 {
	padding: 150px 20px 40px;
}
.wrapper.w1200 {
	max-width: 1240px;
}
.wrapper.w1000 {
	max-width: 1040px;
}
.wrapper.w800 {
	max-width: 840px;
}
@media (max-width: 959px) {
}
@media (max-width: 519px) {
	.wrapper.w1200,
	.wrapper.w1000,
	.wrapper.w800 {
		padding-top: calc(10000vw / 390);
	}
}


h1 {
	margin-bottom: 30px;
	font-size: 40px;
	font-weight: bold;
	text-align: center;
}


[id^="page-"] a {
	color: #4D8BFF;
	text-decoration: underline;
}
[id^="page-"] a:hover {
	text-decoration: none;
}


.note {
	text-align: right;
}



/* ---------------------------------------------------------
 * #page-company
** --------------------------------------------------------- */
#page-company {
	font-size: 15px;
}
#page-company section {
}
#page-company section + section {
	margin-top: 30px;
}
#page-company h2 {
	color: #0ABAB5;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}
#page-company p {
}
#page-company dl {
}
#page-company dt {
	margin-top: 10px;
	font-size: 18px;
	font-weight: bold;
}
#page-company dd {
	margin-top: 6px;
}
#page-company ul {
}
#page-company li {
	position: relative;
	display: flex;
	gap: 20px;
	padding-left: 30px;
	margin-top: 10px;
}
#page-company li::before {
	content: "";
	position: absolute;
}
#page-company li:not(.phone):not(.email)::before {
	width: 10px;
	height: 2px;
	background-color: #0ABAB5;
	left: 5px;
	top: 12px;
}
#page-company .phone::before {
	content: url("../img/icon_phone.svg");
	left: 2px;
	top: 4px;
}
#page-company .email::before {
	content: url("../img/icon_email.svg");
	left: 2px;
	top: 3px;
}
#page-company li .ttl {
	flex-shrink: 0;
	display: inline-block;
	color: #0ABAB5;
	font-size: 16px;
	font-weight: bold;
}
@media (max-width: 959px) {
}
@media (max-width: 519px) {
	#page-company li {
		flex-direction: column;
		gap: 5px;
		margin-top: 15px;
	}
	#page-company li::before {
		content: "";
		position: absolute;
	}
	#page-company li:not(.phone):not(.email)::before {
		width: 10px;
		height: 2px;
		background-color: #0ABAB5;
		left: 5px;
		top: 12px;
	}
	#page-company .phone::before {
		content: url("../img/icon_phone.svg");
		left: 2px;
		top: 4px;
	}
	#page-company .email::before {
		content: url("../img/icon_email.svg");
		left: 2px;
		top: 3px;
	}
	#page-company li .ttl {
		flex-shrink: 0;
		display: inline-block;
		color: #0ABAB5;
		font-size: 16px;
		font-weight: bold;
	}
}



/* ---------------------------------------------------------
 * #page-faq
** --------------------------------------------------------- */
#page-faq {
}
#page-faq h2 {
	margin-top: 30px;
	font-size: 24px;
	font-weight: bold;
	text-align: center;
}
#page-faq dl {
	margin-top: 10px;
}
#page-faq dl > div {
	position: relative;
	border-top: 1px solid #4D8BFF;
	border-bottom: 1px solid #4D8BFF;
	cursor: pointer;
	padding: 15px 40px 15px 10px;
}
#page-faq dl > div + div {
	margin-top: 20px;
}
#page-faq dl > .open {
}
#page-faq dl > div::before,
#page-faq dl > div::after {
	content: "";
	position: absolute;
	display: block;
	background-color: #0ABAB5;
}
#page-faq dl > div::before {
	top: 27px;
	right: 10px;
	width: 22px;
	height: 2px;
}
#page-faq dl > div::after {
	top: 27px;
	right: 20px;
	width: 2px;
	height: 2px;
	transition: all ease 0.3s;
}
#page-faq dl > .open::after {
	top: 17px;
	height: 22px;
}
#page-faq dt {
	display: flex;
	align-items: center;
}
#page-faq dt::before {
	content: url("../img/icon_question.svg");
	position: relative;
	top: 8px;
	display: inline-block;
	margin-top: -12px;
	margin-right: 12px;
}
#page-faq dd {
	position: relative;
	max-height: 0px;
	padding-left: 42px;
	overflow: hidden;
	transition: all ease 0.3s;
}
#page-faq .open dd {
	max-height: var(--max-height);
}
#page-faq dd::before {
	content: "";
	position: absolute;
	left: 15px;
	top: 22px;
	width: 10px;
	height: 2px;
	background-color: #25B7D3;
}
#page-faq dd p {
	padding-top: 10px;
}
@media (max-width: 959px) {
}
@media (max-width: 519px) {
}



/* ---------------------------------------------------------
 * #page-terms
** --------------------------------------------------------- */
#page-terms {
	font-size: 14px;
}
#page-terms > section {
}
#page-terms > section + section {
	margin-top: 30px;
}
#page-terms h2 {
	margin-bottom: 20px;
	padding: 10px 0;
	border-bottom: 1px solid #0ABAB5;
	font-size: 20px;
	font-weight: bold;
}
#page-terms p {
}
#page-terms p.tdu {
	text-decoration: underline;
	margin-top: 1em;
}
#page-terms section section {
	margin-top: 20px;
	padding-bottom: 8px;
	border-bottom: 1px solid #ccc;
}
#page-terms h3 {
	margin-bottom: 5px;
	font-size: 15px;
	font-weight: bold;
}
#page-terms ol {
	padding-left: 1.8em;
	list-style-type: decimal;
}
#page-terms ol ol {
	list-style-type: lower-latin;
}
#page-terms li {
}
#page-terms .note {
	margin-top: 30px;
}
@media (max-width: 959px) {
}
@media (max-width: 519px) {
}



/* ---------------------------------------------------------
 * #page-privacy_policy
** --------------------------------------------------------- */
#page-privacy_policy {
	font-size: 14px;
}
#page-privacy_policy ol,
#page-privacy_policy ul {
	padding-left: 1.8em;
	list-style-type: disc;
}
#page-privacy_policy ol {
	list-style-type: decimal;
}
#page-privacy_policy ol ol {
	list-style-type: lower-latin;
}
#page-privacy_policy li {
}
#page-privacy_policy h2 {
	margin-bottom: 20px;
	padding: 10px 0;
	border-bottom: 1px solid #0ABAB5;
	font-size: 20px;
	font-weight: bold;
}
#page-privacy_policy .lead {
	margin-bottom: 30px;
}
#page-privacy_policy .lead ol {
	margin-top: 20px;
	margin-bottom: 30px;
}
#page-privacy_policy .lead {
}
#page-privacy_policy .contact {
	margin-top: 20px;
	text-align: center;
}
#page-privacy_policy h3 {
	margin-top: 30px;
	margin-bottom: 10px;
	font-size: 15px;
	font-weight: bold;
}
#page-privacy_policy table {
	width: 100%;
	margin-top: 20px;
	border-top: 1px solid #ccc;
}
#page-privacy_policy th,
#page-privacy_policy td {
	padding: 10px;
	border-bottom: 1px solid #ccc;
	line-height: 1.3;
}
#page-privacy_policy th {
	background-color: #eee;
	font-weight: normal;
}
#page-privacy_policy td {
}
#page-privacy_policy p:last-child {
	margin-top: 5px;
}
#page-privacy_policy p.note:last-child {
	margin-top: 30px;
}
@media (max-width: 959px) {
}
@media (max-width: 519px) {
	#page-privacy_policy table.sp_block {
	}
	#page-privacy_policy .sp_block th,
	#page-privacy_policy .sp_block td {
		display: block;
	}
}



/* ---------------------------------------------------------
 * #page-legal
** --------------------------------------------------------- */
#page-legal {
	font-size: 14px;
}
#page-legal table {
	width: 100%;
	margin-top: 20px;
	border-top: 1px solid #ccc;
}
#page-legal th,
#page-legal td {
	padding: 10px;
	border-bottom: 1px solid #ccc;
	line-height: 1.3;
}
#page-legal th {
	width: calc(28000% / 800);
	background-color: #eee;
	font-weight: normal;
}
#page-legal td {
	width: calc(52000% / 800);
}
@media (max-width: 959px) {
}
@media (max-width: 519px) {
	#page-legal table.sp_block {
	}
	#page-legal .sp_block th,
	#page-legal .sp_block td {
		display: block;
		width: 100%;
	}
}