@charset "utf-8";

/* Google Fonts */
@import url('https://fonts.googleapis.com/css2?family=Questrial&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Tangerine&display=swap');

/* ベースフォントサイズ（モニター幅に連動） */
html {
	font-size: 1.2vw;
}

/* リセット */
body {
	width: 100%;
	margin: 0;
	padding: 0;
	color: #333;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	font-size: 1rem;
	line-height: 2;
	background: #fff;
	-webkit-text-size-adjust: none;
}
h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,form,figure {margin: 0;padding: 0;font-size: 100%;font-weight: normal;}
ul {list-style: none;}
ol {padding-left: 2rem; padding-bottom: 1rem;}
img {border: none; max-width: 100%; height: auto; vertical-align: middle;}
table {border-collapse:collapse; font-size: 100%; border-spacing: 0;}
video, iframe {max-width: 100%;}

#container {
	margin: 0;
	width: 100%;
}

#logo_area {
	width: 100%;
	height: 3rem;
	border-top: 0.25rem solid #ae121f;
	border-bottom: 0.25rem solid #ae121f;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 2rem;
	box-sizing: border-box;
}

#logo_area img {
	max-height: 2.5rem;
	width: auto;
}

#fullscreen_btn {
	background: none;
	border: none;
	color: #333;
	font-size: 1.5rem;
	cursor: pointer;
	padding: 0.5rem;
}

#fullscreen_btn {
	background: none;
	border: none;
	color: #333;
	font-size: 1.5rem;
	cursor: pointer;
	padding: 0.5rem;
}

/* リンク */
a {
	color: #333;
	transition: 0.2s;
}
a:hover {
	color: #666;
	text-decoration: none;
	cursor: pointer;
}

/* install area */
#install_area {
	display: flex;
	justify-content: center;
	margin-top: 1.5rem;
}

#installBtn {
	width: 20vw;
	height: 4.5vh;
	font-size: 1.3rem;
	font-weight: bold;
	color: #fff;
	background-color: #007bff;
	border: none;
	border-radius: 0.5rem;
	cursor: pointer;
	box-shadow: 0 0.3rem 0.6rem rgba(0, 0, 0, 0.1);
	transition: all 0.2s ease;
}

#installBtn:hover {
	background-color: #0056b3;
	transform: scale(1.03);
}

#installBtn:active {
	transform: scale(0.97);
	box-shadow: 0 0.15rem 0.3rem rgba(0, 0, 0, 0.2);
}

/* select area */
#select_area {
	width: 100vw;
	height: 100vh;
	display: flex;
	justify-content: center;
	background-color: #f9f9f9;
}

.select_wrapper {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 20vh;
}

#select_area select,
#select_area button {
	width: 20vw;
	height: 6vh;
	font-size: 1.2rem;
	padding: 0.5rem;
	border: 0.15rem solid #ae121f;
	border-radius: 0.5rem;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,0.1);
	margin-bottom: 1.5rem;
}

#select_area button {
	background-color: #ae121f;
	color: #fff;
	font-weight: bold;
}

#select_area button:hover {
	background-color: #99101a;
	transform: scale(1.03);
}

#select_area button:active {
	transform: scale(0.97);
	box-shadow: 0 0.15rem 0.3rem rgba(0, 0, 0, 0.2);
}

/* view area */
#view_wrapper {
	display: flex;
	width: 100%;
	height: 100vh;
}

#status_area {
	width: 85%;
	height: 90vh;
	position: relative;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center center;
	justify-content: center;
	align-items: center;
	padding: 2rem;
	box-sizing: border-box;
	background-origin: content-box;
}

#reason_area {
	width: 15%;
	height: 90vh;
	padding: 2rem;
	background-color: #000;
	color: #fff;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

#view_title_1,
#view_title_2,
#view_title_3,
#view_title_4 {
	position: absolute;
	color: #fff;
	font-size: 2.5vw;
	font-weight: bold;
	text-shadow:
		-2px -2px 0 #000,
		 2px -2px 0 #000,
		-2px  2px 0 #000,
		 2px  2px 0 #000,
		 0  0 6px #000,
		 0  0 10px #000;
}

#view_title_1 { top: 20%; right: 18%; }
#view_title_2 { top: 70%; right: 15%; }
#view_title_3 { top: 5%; right: 40%; }
#view_title_4 { top: 10%; left: 30%; }

.status-summary {
	text-align: center;
	font-size: 1.3rem;
	font-weight: bold;
	color: rgba(0, 200, 0, 0.9);
}


/* operation area */

#operation_area {
	position: relative;
	width: 100%;
	height: 100vh;
}

.machine_box {
	position: absolute;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	font-weight: bold;
	border: 2px solid #fff;
	font-size: 75%;
}

/* reason box */
#reason_title {
	margin-bottom: 1.5rem;
	font-size: 1.3rem;
	font-weight: bold;
	width: 100%;
	text-align: center;
	color: #FF0000;
	border-bottom: 0.15rem solid #FF0000;
}

#reason_box_outer {
	overflow: hidden;
	position: relative;
	height: 100vh;
}

#reason_box,
#reason_box_clone {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

#reason_box .reason_row,
#reason_box_clone .reason_row {
	padding: 0.5rem 0;
	white-space: nowrap;
}

#reason_box hr,
#reason_box_clone hr {
	border: none;
	border-top: 0.1rem solid #999999;
	margin: 0.3rem 0;
}


.fs_50p {
	font-size: 60%;
}