/* common CSS */
@charset "utf-8";
/* normal */
:root {
	--bg: #e6e6e1;
	--info003: '';
	--timebg: #dbdddc;
	--timebtn: #febf02;
	--timeclr: #181818;
	--pangbox: #ccc;
	--pangbtn: #f4f5f4;
	--font: #181818;
	--font2: #ffffff;
    --boxbg: #f4f4f4;
    --output: #181818;
	--input: #444444;
	--caret: #f2bf01;
	--gb: #dbdddc;
	--gbs: #f2bf01; 
	--npt: #898989;
	--button: #dbdddc;
	--wrong: #f6646d;
	--arrow: 0.5rem solid #000000;
	--vkb: #a1a19d;
	--reqbox: #febf01;
	--reqfont: #fff;
	--reqtext: #000;
	--reqipt: #fff;
	--reqcvs: #484848;
	--reqph: #6f6f6f;
}
/* dark */
@media (prefers-color-scheme: dark) {
    :root {
		--bg: #222222;
		--info003: '';
		--timebg: #222222;
		--timebtn: #63a080;
		--timeclr: #fafafa;
		--pangbox: #222;
		--pangbtn: #cecece;
		--font: #cecece;
		--font2: #f2bf01;
        --boxbg: #222222;
        --output: #fff;
		--input: #cecece;
		--caret: #63a080;
		--gb: #8b8b8b;
		--gbs: #63a080;
		--npt: #575757;
		--button: #858585;
		--wrong: #f6646d;
		--arrow: 0.5rem solid #aaaeb7;
		--vkb: #131415;
		--reqbox: #63a080;
		--reqfont: #161616;
		--reqtext: #fff;
		--reqipt: #161616;
		--reqcvs: #181818;
		--reqph: #c2c3c2;
    }
}

/* html reset */
* {
	box-sizing: border-box;
}
article, aside, figcaption, figure, footer, header, main, nav, section {
    display: block;
}
html, body {
    height: 100%;
	margin: 0;
	font-family: 'Apple SD Gothic Neo', 'Roboto', sans-serif;
	font-size: 10px;
	line-height: 1.5;
    background: var(--bg) !important;
    color: var(--font) !important;
}
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	font-size: 1rem;
	font-weight: normal;
}
p {
    margin: 0;
}
a {
	text-decoration: none;
}
ul {
	margin: 0;
	padding: 0;
	list-style: none;
}
img {
	vertical-align: top;
	border: none;
	max-width: 100%;
}
address {
	font-style: normal;
}
.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
.hidden {
	position: absolute;
	left: -9999px;
	top: -9999px;
	font-size: 0.1%;
	line-height: 0.1%;
	width: 0.1%;
	height: 0.1%;
	overflow: hidden;
}
.invisible {
	display: none;
	opacity: 0;
}
/* frame */
main {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 3.7rem 0 0 0;
}
/* common class */
.btnLBox {
	position: absolute;
}
.btnL {
	position: absolute;
	top: 1.7rem;
	right: 3rem;
	transform: translateY(-50%);
    border: 0.4rem solid rgba(0, 0, 0, 0);
    border-right: var(--arrow);
}
.btnRBox {
	position: absolute;
}
.btnR {
	position: absolute;
	top: 1.7rem;
	left: 3rem;
	transform: translateY(-50%);
    border: 0.4rem solid rgba(0, 0, 0, 0);
    border-left: var(--arrow);
}