@charset 'utf-8';

@import url('https://fonts.googleapis.com/css?family=Inter:300,600');

html {
	font-size: 62.5%;
	overflow-x: hidden;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
}

body {
	background-color: #cccbc8;
	color: #333;
	font: 1.2rem 'Inter', Noto Sans JP, Arial, Meiryo, sans-serif;
	font-weight: 400;
	margin: auto;
	-webkit-font-smoothing: antialiased
}

h1, h2, h3, h4, h5, h6 {
	font-weight: 500;
	line-height: 1.3;
	margin: 1.5em 0 1em;
}
h1 { font-size: 2.6rem; }
h2 { font-size: 2.4rem; }
h3 { font-size: 2.2rem; }
h4 { font-size: 1.6rem; }
h5 { font-size: 1.4rem; }

p {
	line-height: 1.8;
	margin: 2em 0;
}

ul {
	line-height: 2;
	list-style-type: none;
	margin: 1em auto;
	overflow: hidden;
	padding: 0 0 1em
}

dl {
	margin: 2em 0;
	padding: 0;
	list-style: none;
}
dt {
	line-height: 1.8;
	margin: 1em 0 0;
	text-align: left;
}
dd {
	margin: 0 2rem 1em 2rem;
}
dd p,
dd ul,
dd ol {
	margin: 1em 0;
}
@media (min-width: 768px) {
	dl {
		display: grid;
		gap: 1em 5%;
		grid-template-columns: 25% 70%;
	}
	dt {
		text-align: center;
	}
	dd {
		margin: 0;
	}
}

a {
	color: #303033;
	text-decoration: none;
}

img {
	height: auto;
	max-width: 100%;
}

/* Layout
------------------------------ */

/* Wrap */
.wrap {
	margin-inline: auto;
	max-width: 1280px;
	padding: 0 5%;
}
@media (min-width: 1024px) {
	.wrap { padding: 0 10%; }
}


/* Button  */
.button {
	background: #cccbc8;
	border-radius: 2em;
	box-shadow: .2em .2em .4em #abaaa7, -.2em -.2em .4em #e5e4e1;
	color: #090909;
	cursor: pointer;
	display: inline-block;
	margin: .4em;
	padding: .4em 1.6em;
	transition: all .2s ease-in;
}
.button:hover {
	background: #c7c6c3;
	box-shadow: .1em .1em .2em #abaaa7, -.1em -.1em .2em #e5e4e1;
}
.button:active,
.button.active {
	background: #c2c1be;
	box-shadow: inset .1em .1em .2em #abaaa7, inset -.1em -.1em .2em #e5e4e1;
}

/* Grid  */
[class^="grid-"] {
	column-gap: 5%;
	display: grid;
	row-gap: 4em;
}
ul[class^="grid-"] {
	list-style: none;
	padding: 0;
}
.grid-col-s { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 1024px) {
	.grid-col-2 { grid-template-columns: repeat(2, 1fr); }
	.grid-col-3 { grid-template-columns: repeat(3, 1fr); }
	.grid-col-4 { grid-template-columns: repeat(4, 1fr); }
	.grid-align-center { align-items: center; }
	[class^="grid-col"].grid-flip > :nth-child(odd) { order: 2; }
	[class^="grid-col"].grid-flip > :nth-child(even) { order: 1; }
}

/* Cover
------------------------------ */
.cover {
	height: 100dvh;
}

.headline {
	left: 50%;
	margin: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 80%;
}

header .menu-button {
	background: transparent;
	border: none;
	cursor: pointer;
	height: 30px;
	position: fixed;
	right: 0;
	top: 1rem;
	width: 72px;
}
header .menu-button span,
header .menu-button span::before,
header .menu-button span::after {
	background: #000;
	content: "";
	display: block;
	height: 1px;
	margin-top: -1px;
	position: absolute;
	top: 50%;
	transition: .3s .3s, transform .3s;
	width: 68px;
}
header .menu-button span::before {
	top: -6px;
}
header .menu-button span::after  {
	top: 8px;
}
@media only screen and (min-width: 640px) {
	header .menu-button {
		right: 4%;
		top: 4em
	}
}

/* Main
------------------------------ */
main {
}

/* Footer
------------------------------ */
footer {
}

.copyright {
	text-align: center;
}

@media (min-width: 1024px) {
	body {
		font-size: 1.3rem;
	}
}
@media (min-width: 1280px) {
	body {
		font-size: 1.4rem;
	}
}