@charset "utf-8";
.main_cont {
		padding: 80px 0 100px;
}
@media(max-width: 840px) {
		.main_cont {
				padding: 80px 0;
		}
}
@media(max-width: 767px) {
		.main_cont {
				padding: 40px 0 80px;
		}
}
.corp_en {
		font-size: 50px;
		text-align: center;
		margin: 0 auto 10px;
		max-width: 760px;
		line-height: 1;
}
@media(max-width: 767px) {
		.corp_en {
				font-size: 26px;
				margin: 0 0 10px;
		}
}
.corp_flex_right {
		max-width: 760px;
}
.policy_section hr {
		margin: 30px 0;
		border: none;
		background: #ccc;
		height: 1px;
		padding: 0;
}
.policy_section {
		max-width: 840px;
		margin: 0 auto;
}
.policy_section p {
		line-height: 1.8;
		margin: 0 0 1.5em
}
.policy_section h2 {
		font-size: 24px;
		font-weight: 700;
		line-height: 1.6;
		margin: 0 0 40px;
		/* color: #EF8200; */
}
@media(min-width: 768px) {
		.policy_section h2 br {
				display: none
		}
}
.policy_section h3 {
		font-size: 20px;
		font-weight: 700;
		line-height: 1.6;
		margin: 40px 0 15px;
}
.policy_section h4 {
		font-size: 16px;
		line-height: 1.6;
		font-weight: 700;
		margin: 30px 0 3px;
}
.policy_section h4:first-child {
		margin-top: 0;
}
.policy_section li {
		font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
		line-height: 1.8;
		margin: 0 0 5px;
		position: relative;
		list-style: none;
}
.policy_section ul {
		margin-left: 1.25em;
}
.policy_section ul li::before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.policy_section ol {
		margin-bottom: 2em;
		margin-left: 2.25em;
}
.policy_section ol li {
		position: relative;
}
.policy_section ol li span {
		display: block;
		position: absolute;
		left: -2.25em;
}
.policy_section p {
		line-height: 1.8;
}
.privacy_notes {
		margin: 60px 0;
		padding-top: 40px;
		border-top: 1px solid #c9c9c9;
}
.policy_section .privacy_notes ul {
		margin-left: 1em;
}
.policy_section .privacy_notes li {
		line-height: 1.8;
		position: relative;
		margin: 0 0 10px;
}
.policy_section .privacy_notes li span {
		display: block;
		position: absolute;
		left: -1em;
}
.privacy_contact_wrap {
		background: #f1f1f1;
		border-radius: 40px;
}
.privacy_contact_col {
		padding: 50px;
}
.policy_section .privacy_contact_col h4 {
		font-size: 24px;
		font-weight: 700;
		line-height: 1.6;
		margin: 0 0 20px;
}
.policy_section .privacy_contact_col p {
		font-weight: 500;
		margin: 0 0 5px;
}
.privacy_contact_tel {
		font-size: 150%;
		font-weight: 700;
		margin: 0 !important
}
.privacy_contact_tel a {
		color: #555555;
		text-decoration: none;
}
@media(max-width: 1500px) {
		.corp_flex_left {
				width: 30%;
		}
}
@media(max-width: 1024px) {
		.corp_flex {
				display: block;
		}
		.corp_flex_left {
				width: 100%;
				margin: 0 0 20px;
		}
}
@media(max-width: 767px) {
		.privacy_contact_wrap {
				border-radius: 30px;
		}
		.policy_section h2 {
				font-size: 22px;
				line-height: 1.6;
		}
		.policy_section .privacy_contact_col h4 {
				font-size: 20px;
				margin: 0 0 15px;
		}
		.privacy_contact_tel {
				font-size: 20px;
		}
		.privacy_contact_col {
				padding: 20px;
		}
		.policy_section h3 {
				font-size: 20px;
		}
		.policy_section h4 {
				font-size: 16px;
				margin: 30px 0 10px;
		}
		.policy_section li, .policy_section p, .privacy_notes {
				font-size: 15px;
		}
		.policy_section .privacy_contact_col h4 {
				font-size: 18px;
		}
		.policy_section p.privacy_contact_tel {
				font-size: 20px;
		}
		.privacy_notes {
				margin: 40px 0;
		}
}
@media(max-width: 375px) {
		.policy_section li, .policy_section p, .privacy_notes {
				font-size: 14px;
		}
}
/* ========== */
.privacy_contact_col {
		background: #f1f1f1;
		border-radius: 20px;
		padding: 40px;
		margin: 40px 0 25px;
}
.policy_section .privacy_contact_col h3 {
		margin-bottom: 0;
		font-size: 20px;
		font-weight: 700;
		line-height: 1.6;
		margin: 0 0 30px;
}
.policy_section .privacy_contact_col h4 {
		font-size: 16px;
		margin-top: 20px;
}
.privacy_contact_col p {
		font-weight: 500;
		margin: 0 0 5px;
}
.privacy_contact_col a {
		font-weight: 500;
		text-decoration: underline;
		color: #EF8200;
		display: inline-block;
		padding-right: 24px;
		position: relative;
}
.privacy_contact_col a::before, .privacy_contact_col a::after {
		content: '';
		display: block;
		position: absolute;
		width: 10px;
		height: 7px;
}
.privacy_contact_col a::before {
		border: 1px solid #EF8200;
		top: calc(50% - 3px);
		right: 4px;
}
.privacy_contact_col a::after {
		top: calc(50% - 6px);
		right: 1px;
		border-right: 1px solid #EF8200;
		border-top: 1px solid #EF8200;
}
.privacy_contact_col a span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -3px;
		left: 0;
		width: 100%;
		height: 1px;
		transform-origin: left center;
		transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
		background: #000;
		transform: scaleX(0);
}
@media (hover: hover) {
		.privacy_contact_col a:hover {
				text-decoration: none;
		}
}
@media(max-width: 767px) {
		.privacy_contact_col {
				padding: 15px
		}
}
/* ========== */
.frame {
		padding: 30px;
		border: 1px solid #ccc;
		border-radius: 20px;
		margin-bottom: 40px;
}
.frame h3 {
		margin-top: 0 !important;
}
.frame p:last-child {
		margin-bottom: 0 !important;
}