* {
	box-sizing: border-box;
}

body {
	font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;
	font-size: 28px;
	width: 100%;
	max-width: 800px;
	height: 100%;
	margin: 0 auto;
	position: relative;
	overflow-x: hidden;
}

header {
	background: url(../images/bg_header_enter.jpg) no-repeat;
	background-size: 100%;
	width: 100%;
	height: 1275px;
	padding-top: 160px;
}

header #logo-dearest {
	width: 237px;
	margin-left: 160px;
}

header #logo-dearest img {
	width: 100%;
}

header #logo {
	width: 473px;
	margin: 0 auto;
}

header #logo img {
	width: 100%;
}

header #enter {
	font-family: 'Playfair Display', serif;
	font-size: 55px;
	background: rgba(255, 0, 120, .7);
	width: 328px;
	height: 328px;
	margin: 160px auto 0;
	border-radius: 100%;
	text-align: center;
}

header #enter a {
	color: #fff;
	width: 100%;
	height: 100%;
	padding-top: 130px;
	text-decoration: none;
	display: block;
}

header p {
	font-size: 26px;
	margin-top: 30px;
	text-align: center;
	line-height: 1.8;
}

header p a {
	color: #ff4a8a;
}

main .banner {
	width: 98%;
	margin: 30px auto 0;
	display: flex;
}

main .banner li {
	width: 388px;
}

main .banner li img {
	width: 100%;
}

main .link-box {
	width: 100%;
	margin: 50px auto 0;
}

main .link-box .logo {
	display: flex;
	align-items: center;
	justify-content: center;
}

main .link-box .logo div:first-child {
	width: 114px;
}

main .link-box .logo div:first-child img {
	width: 100%;
}

main .link-box .logo div:last-child {
	width: 464px;
}

main .link-box .logo div:last-child img {
	width: 100%;
}

main .link-box p {
	font-size: 38px;
	color: #ff5096;
	width: 98%;
	margin: 30px auto 0;
	padding: 40px 0;
	border: #ff5096 1px solid;
	text-align: center;
	box-sizing: border-box;
	letter-spacing: 0.1em;
}

main .link-box p:nth-of-type(n+2) {
	margin-top: 40px;
}

main .link-box ul li {
	border-bottom: #000 1px solid;
}

main .link-box ul li a {
	font-size: 38px;
	color: #000;
	width: 100%;
	padding: 60px 0 60px 30px;
	display: block;
	text-decoration: none;
	letter-spacing: 0.1em;
}

footer {
	background: #ff457e;
	margin-top: 80px;
	padding: 40px 0 100px;
}

footer p {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 26px;
	color: #fff;
	text-align: center;
}

footer p a {
	color: #fff;
}

@media screen and (max-width: 800px) {
	header {
		height: 159.375vw;
		padding-top: 20vw;
	}

	header #logo-dearest {
		width: 29.625vw;
		margin-left: 20vw;
	}

	header #logo {
		width: 59.125vw;
	}

	header #enter {
		font-size: 6.875vw;
		width: 41vw;
		height: 41vw;
		margin: 20vw auto 0;
	}

	header #enter a {
		padding-top: 16.25vw;
	}

	header p {
		font-size: 3.25vw;
		margin-top: 3.75vw;
	}

	main .banner {
		margin: 3.75vw auto 0;
	}

	main .banner li {
		width: 48.5vw;
	}

	main .link-box {
		margin: 6.25vw auto 0;
	}

	main .link-box .logo div:first-child {
		width: 14.25vw;
	}

	main .link-box .logo div:last-child {
		width: 58vw;
	}

	main .link-box p {
		font-size: 4.75vw;
		margin: 3.75vw auto 0;
		padding: 5vw 0;
	}

	main .link-box p:nth-of-type(n+2) {
		margin-top: 5vw;
	}

	main .link-box ul li a {
		font-size: 4.75vw;
		padding: 7.5vw 0 7.5vw 3.75vw;
	}

	footer {
		margin-top: 10vw;
		padding: 5vw 0 12.5vw;
	}

	footer p {
		font-size: 3.25vw;
	}
}

/******** 翻訳ページリンクボタン ********/
.foreigners {
	width: 750px;
	margin: 80px auto;
	padding: 20px 0 50px;
	border: #ff0078 2px solid;

	p {
		font-family: 'Prata', serif;
		font-size: 26px;
		color: #ff0078;
		display: flex;
		align-items: center;
	}

	p::before,
	p::after {
		content: "";
		background: #ff0078;
		flex-grow: 1;
		height: 2px;
	}

	p::before {
		margin-right: 12px;
	}

	p::after {
		margin-left: 12px;
	}

	ul {
		margin-top: 50px;
		padding: 0 30px;
		display: flex;
		justify-content: center;
		gap: 30px 50px;
		flex-wrap: wrap;

		li {
			font-family: 'Prata', serif;
			font-size: 34px;
			width: 275px;
			text-align: center;
			line-height: 2.294;

			a {
				font-weight: bold;
				color: #fff;
				background: linear-gradient(to right, #ffa0cd 0%, #ff0078 22%, #ffa0cd 52%, #ff0078 83%, #ffa0cd 100%);
				background-size: 160%;
				background-position: 60% 0;
				width: 100%;
				height: 100%;
				display: block;
				position: relative;
				text-decoration: none;
			}

			a::after {
				content: '>';
				font-size: 30px;
				font-weight: bold;
				position: absolute;
				right: 15px;
				top: 5%;
			}
		}
	}
}

@media (width <= 800px) {
	.foreigners {
		width: 93.75vw;
		margin: 10vw auto;
		padding: 2.5vw 0 6.25vw;
		border: #ff0078 0.25vw solid;

		p {
			font-size: 3.25vw;
		}

		p::before,
		p::after {
			height: 0.25vw;
		}

		p::before {
			margin-right: 1.5vw;
		}

		p::after {
			margin-left: 1.5vw;
		}

		ul {
			margin-top: 6.25vw;
			padding: 0 3.75vw;
			gap: 3.75vw 6.25vw;

			li {
				font-size: 4.25vw;
				width: 34.375vw;

				a::after {
					font-size: 3.75vw;
					right: 1.875vw;
				}
			}
		}
	}
}
/******** エンター 翻訳ページリンクボタン ********/