@charset "UTF-8";

/* === 共通CSS === */
*,
::before,
::after {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html {
	font-size: 10px;
}

body {
	font-size: 1.4rem;
	background: linear-gradient(90deg, rgba(231, 199, 255, 1) 0%, rgba(210, 229, 255, 1) 100%);
	color: #555;
	font-family: メイリオ;
}

img {
	display: block;
}

ul {
	list-style: none;
}

a {
	text-decoration: none;
}

/* === ヘッダー共通 === */
header {
	background-color: #7c26e6;
	padding: 4rem 0 2rem 0;
}

.header-container {
	width: 1000px;
	margin: 0 auto;
}

/* === メイン === */
main {
	padding: 3rem 0 33rem 0;
}
.main-container {
	width: 800px;
	margin: 0 auto;
}

h1 {
	color: #6902a6;
	font-size: 3.6rem;
	margin: 0 0 2rem 0;
}

.privacy-policy-list dt,
.terms-list dt {
	font-weight: bold;
	margin: 2.4rem 0 .7rem 0;
	font-size: 1.8rem;
}

.company-info-list {
	display: flex;
	flex-wrap: wrap;
	width: 800px;
	margin: 0 auto;
}

.company-info-list dt {
	width: 28.75%;
	font-weight: bold;
	font-size: 1.8rem;
	border-bottom: 1px solid #a26cd2;
	border-right: 1px solid #a26cd2;
	border-left: 1px solid #a26cd2;
	background-color: #dfbaff;
	padding: 1.5rem 0 1.5rem 2rem;
}

.company-info-list dt:nth-child(1) {
	border-top: 1px solid #a26cd2;
}

.company-info-list dd {
	width: 71.25%;
	font-size: 1.6rem;
	border-bottom: 1px solid #a26cd2;
	border-right: 1px solid #a26cd2;
	padding: 1.5rem 0 1.5rem 2rem;
}

.company-info-list dd:nth-child(2) {
	border-top: 1px solid #a26cd2;
}

.no-support {
	display: block;
	color: #eb4d4d;
	font-size: 1.6rem;
}

.no-phone-call {
	display: block;
	font-size: 1.6rem;
}

.contact {
	text-decoration: underline;
	color: #420a64;
}

/* === フッター共通 === */
footer {
	padding: 9rem 0 0 0;
}

.footer-menu {
	display: flex;
	justify-content: center;
}

.footer-menu-list {
	display: flex;
	padding: 0 0 2.4rem 0;
}

.footer-menu-list li {
	border-right: 1px solid #6902a6;
	line-height: 1;
	padding: 0 .8rem;
}

.footer-menu-list li:nth-child(1) {
	border-left: 1px solid #6902a6;
}

.footer-menu-list a {
	color: #6902a6;
	font-size: 1.8rem;
}

.copyright {
	background-color: #a566d1;
	padding: 1.5rem 0;
}

.copyright>small {
	color: #fff;
	font-size: 1.6rem;
	display: block;
	text-align: center;
}

/* === スマホ 640px === */
@media (max-width: 640px) {
	header {
		padding: 1.8rem 0;
	}

	.header-container {
		width: 595px;
		margin: 0 auto;
	}

	main {
		padding: 3.5rem 0 0 0;
	}

	.main-container {
		width: 590px;
		margin: 0 auto;
	}

	h1 {
		margin: 0 0 1.5rem 0;
	}

	.privacy-policy-list dt,
	.terms-list dt {
		font-size: 2.8rem;
		margin: 3rem 0 .7rem 0;
	}

	.privacy-policy-list dd,
	.terms-list dd {
		font-size: 2.4rem;
	}

	.policy-description {
		font-size: 2.4rem;
	}

	.company-info-list {
		flex-direction: column;
		width: 100%;
		margin: 0 auto;
	}

	.company-info-list dt {
		width: 100%;
		font-size: 2.4rem;
	}

	.company-info-list dd {
		width: 100%;
		border-left: 1px solid #a26cd2;
		font-size: 2.4rem;
		padding: 1.5rem 2rem 3rem 2rem;
	}

	.company-info-list dd:nth-child(2) {
		border-top: none;
	}

	.no-support,
	.no-phone-call {
		font-size: 2.4rem;
	}

	footer {
		padding: 11.7rem 0 0 0;
	}

	.footer-menu {
		display: block;
		width: 600px;
		margin: 0 auto;
	}

	.footer-menu-list li {
		padding: 0;
		flex: 1;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
	}

	.footer-menu-list a {
		display: block;
		line-height: 1.2;
		width: 100%;
		height: 100%;
		padding: .9rem 0;
		font-size: 1.8rem;
	}

	.footer-menu-list li:nth-child(3) a,
	.footer-menu-list li:nth-child(5) a {
		padding: 2rem 0;
	}

	.copyright>small {
		font-size: 2rem;
	}
}