@charset "UTF-8";

/* define */
:root {
	--color-primary: #383838;
	--color-secondary: #646464;
	--color-tertiary: #8d8d8d;
	--color-gray: #bfbfbf;
	--color-grayLight: #f8f8f8;
	--color-line: #e9e9e9;
	--color-key: #F87F70;
	--color-key2: #6C8FDA;
	--color-white: #fff;
}

html {
	color: var(--color-primary);
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 16px;
}

h1 {
	position: relative;
	margin-bottom: 1rem;
	text-align: center;
}

h2 {
	position: relative;
	margin-bottom: 1rem;
	letter-spacing: 0.1em;
	text-align: center;
}

h3 {
	margin-bottom: 1rem;
	font-size: 120%;
	text-align: center;
}

h4 {
	margin-bottom: 1rem;
	font-size: 105%;
	color: var(--color-key);
}

a {
	text-decoration: none;
	color: inherit;
}

li {
	list-style: none;
}

img {
	max-width: 100%;
	vertical-align: bottom;
}

.text-bold {
	font-weight: bold;
}

.box {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1em;
}

header {
	position: fixed;
	display: flex;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 800px;
	padding: 0 2em;
	height: 4em;
	margin: auto;
	color: var(--color-white);
	gap: 2em;
	justify-content: flex-end;
	align-items: center;
	box-sizing: border-box;
	z-index: 9;
}
header.scr {
	background: rgba(0, 0, 0, 0.75);
}
header.open {
	background: rgba(0, 0, 0, 0.75);
}

header .login {
	display: inline-block;
	padding: 0 0.5em;
	border: 1px solid var(--color-white);
	border-radius: 0.875em;
	line-height: calc(2em - 2px);
}

header .menu {
	position: relative;
	width: 1.5em;
	height: 1.5em;
}
header .menu > span {
	position: absolute;
	width: 100%;
	height: 3px;
	border-radius: 1px;
	background: var(--color-white);
}
header .menu > span:nth-child(1) {
	top: 0;
	left: 0;
}
header .menu > span:nth-child(2) {
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
header .menu > span:nth-child(3) {
	bottom: 0;
	left: 0;
}

header ul {
	position: absolute;
	top: 4em;
	left: 40%;
	width: 60%;
	background: rgba(0, 0, 0, 0.75);
}

header.open li {
	border-top: 1px solid var(--color-white);
}

header ul a {
	display: block;
	padding-left: 2em;
	line-height: 0;
	overflow: hidden;
	opacity: 0;
	transition: all 0.5s ease-out;
}

header.open ul a {
	padding-top: 1em;
	padding-bottom: 1em;
	line-height: 1;
	opacity: 1;
}

main {
	width: 100%;
	max-width: 800px;
	margin: auto;
}

main h1 .txt {
	position: absolute;
	display: block;
	top: 20%;
	left: 0;
	right: 0;
	width: 14%;
	max-width: 99px;
	margin: auto;
	aspect-ratio: 99 / 516;
	z-index: 1;
}

main h1 .logo {
	position: absolute;
	display: block;
	bottom: 1em;
	left: 1em;
	width: calc(75% - 2em);
	max-width: 430px;
	margin: auto;
	aspect-ratio: 429 / 139;
	z-index: 1;
}

main section .container {
	width: 90%;
	padding: 1em 0;
	margin: auto;
}

main .description {
	padding: 0 0.5em;
	font-size: 12px;
	color: var(--color-gray);
	text-align: center;
}

main .btns {
	text-align: center;
}

main .btns a {
	display: block;
	color: var(--color-key2);
	text-decoration: underline;
}

main .btns a.btn,
main .btns a.btn2 {
	width: 18em;
	height: 3em;
	margin: auto;
	line-height: calc(3em - 4px);
	background-image: linear-gradient(90deg, rgba(247, 93, 139, 1), rgba(254, 135, 64, 0.76));
	border-radius: 1.5em;
	box-shadow: -1px -1px 3px rgba(0, 0, 0, 0.25), 1px 1px 3px rgba(0, 0, 0, 0.25);
	color: var(--color-white);
	text-align: center;
	text-decoration: none;
	box-sizing: border-box;
}

main .btns a.btn2 {
	border: 1px solid var(--color-key);
	background: var(--color-white);
	color: var(--color-key);
}

main .twitter {
	background: #feaead;
	color: var(--color-white);
	text-align: center;
}

main .twitter .container {
	padding: 1.5em 0;
}

main .twitter img {
	width: 5em;
	margin-bottom: 0.5em;
}

main .link {
	padding-bottom: 4em;
	background: var(--color-tertiary);
	color: var(--color-white);
	line-height: 2em;
}

main .link ul {
	display: grid;
}

main .link .copy {
	text-align: center;
}

footer {
	position: fixed;
	display: grid;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	max-width: 800px;
	height: 4em;
	line-height: 4em;
	margin: auto;
	grid-template-columns: 1fr 1fr;
	box-sizing: border-box;
	z-index: 9;
}
footer a {
	color: var(--color-white);
	text-align: center;
}
footer a:first-child {
	background: var(--color-key);
}
footer a:last-child {
	background: var(--color-white);
	border: 1px solid var(--color-key);
	color: var(--color-key);
}

@media (min-width: 641px) {

.sp {
	display: none;
}

main .btns a {
	margin: 0 0.75em;
}

main .btns a:last-child {
	margin-top: 1em;
}

}

@media (max-width: 640px) {

.no-sp {
	display: none;
}

main .btns a {
	display: block !important;
	margin-bottom: 1em !important;
}
main .btns a:last-child {
	margin-bottom: 0 !important;
}

}

@media (min-width: 481px) {

main .btns a.btn,
main .btns a.btn2 {
	display: inline-block;
}

main .link ul {
	grid-template-columns: 1fr 1fr;
}

}

@media (max-width: 480px) {

body {
	font-size: 14px;
}

main .link ul {
	grid-template-columns: 1fr;
}

}