/*---------------------------------------------------------------*/
/*-- Default                                                   --*/
/*---------------------------------------------------------------*/
/*------------------------------
 ▼共通デザイン（モバイル向け）
 -------------------------------*/
:root{
 --stage-width: calc(100vw - 30px);
 --footer-height: 100px;
}

html {
	font-size:14px;
}

body {
	background-color: var(--white);
	font-family: var(--gothic);
	margin: 0;
	padding: 0;
}

h1,h2 {
	margin: 0;
	padding: 0;
}

ul,ol {
	list-style:none;
	margin: 0;
	padding: 0;
}

.wrapper{
	min-height: 100vh;
	position: relative;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.container {
	width: 100%;
	height: calc(100vh - 120px);
	overflow-y: auto;
}

.stage {
	position: relative;
	margin: 0 auto;
	width: var(--stage-width);
	padding: 5px;
	font-size: var(--medium);
	font-weight: 300;
	line-height: 1.2;
}

.stage table {
	border-collapse: collapse;
}

footer{
	width: 100%;
	height: var(--footer-height);
	background-color: var(--aliceblue);
	color: #fff;
	text-align: center;
	padding: 10px 0;
	position: absolute;/*←絶対位置*/
	bottom: 0; /*下に固定*/
	line-height: 2;
}

/* リンク用 */
footer * > a { /*リンクされた文字*/
	color           : var(--blue);
	text-decoration : none;
	transition      : 0.1s ease-in-out;
}
footer * > a:hover {    /*マウスをのせたとき*/
	color           : var(--blue);
	text-shadow: 1px 1px 1px var(--blue);
	text-decoration : underline;
}
footer * > a:active {   /*クリック中*/
	position        : relative;
	text-decoration : none;
}

/*-------------------------------------
 ▼中型画面向けデザイン（タブレットなど）
 --------------------------------------*/
@media screen and (min-width: 768px) {
	:root{
	 --footer-height: 120px;
	}

	html {
		font-size:14px;
	}

	.container {
		height: calc(100vh - 140px);
	}

	footer{
		line-height: 2;
		height: var(--footer-height);
		padding: 10px 0;
	}
}

/*-------------------------------
 ▼大型画面向けデザイン（PCなど）
 --------------------------------*/
@media screen and (min-width: 1024px) {
	:root{
	 --stage-width:1000px;
	 --footer-height: 150px;
	}

	html {
		font-size:16px;
	}

	.container {
		height: calc(100vh - 210px);
		min-height: calc(500px - 210px);
	}

	footer{
		line-height: 3;
		height: var(--footer-height);
		padding: 30px 0;
	}
}

/*-------------------------------
 ▼高さのデザイン
 --------------------------------*/
@media screen and (max-height: 500px) {
	html {
		font-size:14px;
	}

	.wrapper{
		height: 500px;
		min-height: initial;
	}
	.container {
		height: initial;
		min-height: initial;
	}

	footer{
		line-height: 2;
		height: 120px;
		padding: 10px 0;
	}
}
