@charset "utf-8";
/*! modern-normalize v2.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */

/*
Document
========
*/

/**
Use a better box model (opinionated).
*/

*,
::before,
::after {
	box-sizing: border-box;
}

html {
	/* Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3) */
	font-family:
		system-ui,
		'Segoe UI',
		Roboto,
		Helvetica,
		Arial,
		sans-serif,
		'Apple Color Emoji',
		'Segoe UI Emoji';
	line-height: 1.15; /* 1. Correct the line height in all browsers. */
	-webkit-text-size-adjust: 100%; /* 2. Prevent adjustments of font size after orientation changes in iOS. */
	-moz-tab-size: 4; /* 3. Use a more readable tab size (opinionated). */
	tab-size: 4; /* 3 */
}

/*
Sections
========
*/

body {
	margin: 0; /* Remove the margin in all browsers. */
}

/*
Grouping content
================
*/

/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/

hr {
	height: 0; /* 1 */
	color: inherit; /* 2 */
}

/*
Text-level semantics
====================
*/

/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/

abbr[title] {
	text-decoration: underline dotted;
}

/**
Add the correct font weight in Edge and Safari.
*/

b,
strong {
	font-weight: bolder;
}

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/

code,
kbd,
samp,
pre {
	font-family:
		ui-monospace,
		SFMono-Regular,
		Consolas,
		'Liberation Mono',
		Menlo,
		monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
Add the correct font size in all browsers.
*/

small {
	font-size: 80%;
}

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/*
Tabular data
============
*/

/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/

table {
	text-indent: 0; /* 1 */
	border-color: inherit; /* 2 */
}

/*
Forms
=====
*/

/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
Remove the inheritance of text transform in Edge and Firefox.
*/

button,
select {
	text-transform: none;
}

/**
Correct the inability to style clickable types in iOS and Safari.
*/

button,
[type='button'],
[type='reset'],
[type='submit'] {
	-webkit-appearance: button;
}

/**
Remove the inner border and padding in Firefox.
*/

::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
Restore the focus styles unset by the previous rule.
*/

:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/

:-moz-ui-invalid {
	box-shadow: none;
}

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/

legend {
	padding: 0;
}

/**
Add the correct vertical alignment in Chrome and Firefox.
*/

progress {
	vertical-align: baseline;
}

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
	height: auto;
}

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/

[type='search'] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
Remove the inner padding in Chrome and Safari on macOS.
*/

::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/*
Interactive
===========
*/

/*
Add the correct display in Chrome and Safari.
*/

summary {
	display: list-item;
}

/** ---------------------------------------
サイト共通
---------------------------------------- */
	/** ---------------------------------------
	全体
	---------------------------------------- */
	html {
		font-size: 62.5%; /* 10px = 1rem */
	}
	body {
		font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo"
	}
	ul {
		padding: 0;
		margin: 0;
		list-style: none;
	}
	img {
		width: 100%;
	}
	.sp {
		display: none;
	}
	a {
    	color: inherit;
    	text-decoration: none;
	}

	/** ---------------------------------------
	ヘッダー
	---------------------------------------- */
	header {
		width: 100%;
		background-color: #fff;
	}
	.header-inner {
		width: 100%;
		max-width: 1024px;
		margin: 0 auto;
		padding: 2rem 4.5rem 2rem 4rem;
		display: flex;
		justify-content: space-between;
		align-items: center;
		font-weight: 600;
	}
	.logo {
		width: auto;
	}
	nav ul {
		display: flex;
		gap: 4vw; /* メニュー項目間の隙間 */
	}
	nav li {
		color: #666;
		font-size: 1.8rem;
		letter-spacing: 0.05em;
	}
	nav li a:hover {
		text-decoration: underline;
	}
	nav li.toLogin {
		color: blue
	}
	.hamburger {
		display: none;
	}

	/** ---------------------------------------
	メイン
	---------------------------------------- */
	main {
		width: 100%;
		max-width: 1024px;
		margin: 0 auto;
	}
	
	/** ---------------------------------------
	フッター
	---------------------------------------- */
	.footer-bar {
		width: 100%;
		max-width: 1024px;
		margin: 7rem auto 8em;
		background-color: #fff;	
	}
	.footer-inner {
		width: 100%;
		max-width: 1024px;
		margin: 0 auto;
		background-color: #808080;
		display: flex;
		flex-wrap: no-wrap;
		justify-content: space-around;
		align-items: stretch;
	}
	footer ul {
		display: flex;
		padding: 4rem;
		justify-content: flex-start;
		align-items: center;
		gap: 2vw; /* メニュー項目間の隙間 */
	}
	footer li {
		color: #fff;
		font-size: 1.6rem; 
	}
	footer li a:hover {
		text-decoration: underline;
	}
	footer .copy {
		padding: 4rem;
	}
	small {
		color: #fff;
		font-size: 1.6rem;
	}
	/* タブレット的 */
	@media (min-width: 571px) and (max-width: 850px) {
		.header-inner {
			padding: 2rem 2rem 2rem 4rem;
		}
	}
	/* スマートフォン */
	@media (max-width: 767px) {
		html {
			font-size: 50%; /* 8px = 1rem */
		}
		.pc {
			display: none;
		}
		.sp {
			display: block;
		}
		.header-inner {
			padding: 2rem 2em 2em 2em;
		}
		.logo {
			width: 30%;
			min-width: 80px;
		}
		nav ul {
			width: auto;
			gap: 3vw; /* メニュー項目間の隙間 */
		}
		nav li {
			font-size: 1.5rem; 
		}
		.footer-bar {
			margin: 4.8rem auto 5.8em;
		}
		footer ul {
			padding: 1.8rem;
			justify-content: space-around;
			gap: 2vw; /* メニュー項目間の隙間 */
		}
		footer li {
			font-size: 1.4rem; 
		}
		small {
			font-size: 1.4rem;
		}
	}
	@media (max-width: 480px) {
		.header-inner {
			padding-right: 0em;
		}
		nav {
			position: relative;
		}
		nav ul {
			flex-direction: column;
		}
		#header-menu {
			position: absolute;
			z-index: 5;
			top: -5px;
			right: 0;
			height: 0;
			overflow: hidden;
			transition: .3s;
			background: #fff;
		}
		.hamburger {
			display: block;
			position: absolute;
			right:32px;
			cursor: pointer;
			width: 32px;
			height: 24px;
			z-index: 10;
		}
		.hamburger span {
			/*3本の線を作る*/
			transition: all .2s;
			position: absolute;
			height: 2px;
			background-color: #333;
			width:100%;
			z-index: 10;
		}
		.hamburger span:nth-of-type(1) {
			/*上の線の位置*/
			top: 4px;
		}
		.hamburger span:nth-of-type(2) {
			/*真ん中の線の位置*/
			top: 12px;
		}
		.hamburger span:nth-of-type(3) {
			/*下の線の位置*/
			top: 20px;
		}
		.hamburger.open span:nth-of-type(1) {
			/*openのとき、上の線を右斜めにする*/
			top: 10px;
			transform: translateY(6px) rotate(-33deg);
		}
		.hamburger.open span:nth-of-type(2) {
			/*真ん中の線を消す*/
			opacity: 0;
		}
		.hamburger.open span:nth-of-type(3) {
			/*下の線を左斜めにする*/
			top: 22px;
			transform: translateY(-6px) rotate(33deg);
		}
		nav li {
			font-size: 2.0rem;
			width: 24rem;
			padding: 0 0 0 1em;
		}
		nav li:last-child {
			padding-bottom: 1em;
		}
		.footer-inner {
			display: block;
		}
		footer .copy {
			padding: 2rem;
		}
	}