html, body {
    height: 100%; margin: 0; padding: 0;
	overflow: hidden;
	background: #FFF;
	font-size: 2.5vh; font-weight: bold !important;
	/* 選択させない */
	-webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none;
	/* iOS: 黒い半透明な背景を変更する */
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
form {
	position: absolute; top: 1vh; padding: 0.5vh 0 2.5vh 0;
	height: 86%;/* minus pagination:calc(100% - 18vh) */
	line-height: 1.0vh; overflow-y: auto; scrollbar-width: none;
	/*background: #FFE;*/
}
br { line-height: 2vh; }
svg { fill: currentColor; }
select {
	width: 9.5vh; margin-top: 1vh;
	font-size: smaller !important; font-weight: bold !important;
}
select.time {
	width: 14vh; margin-top: 1vh;
	font-size: smaller !important; font-weight: bold !important;
}
option {
	font-size: smaller !important; font-weight: bold !important;
}
label {
	padding: 6px 10px; margin: 0.25vh 0; min-height: 2.0vh;
	display: inline-flex; align-items: center; text-align: center;
	border-radius: 25px;
}
label:hover {
	cursor: pointer;
}
.textin {
	font-size: smaller; font-weight: bold !important; width: 10em;
}
.texttime {
	margin: 1vh; font-size: 1.6vh; font-weight: bold !important; width: 5em; text-align: center;
}
input[type='text'], input[type='email'], input[type='search'], input[type='password'], textarea
{
	-webkit-user-select: text !important; -khtml-user-select: text !important; -moz-user-select: text !important; -ms-user-select: text !important; user-select: text !important;
}
input[type="radio"], input[type="checkbox"] {
	display: none; /* ラジオボタンを非表示にする */
}
input[type="radio"]:checked + label, input[type="checkbox"]:checked + label {
	background: #31A9EE; /* マウス選択時の背景色を指定する */
	color: #ffffff !important; /* マウス選択時のフォント色を指定する */
	border-radius: 25px;
}
input[type="radio"]:checked:before {
	content: '.';
	top: -1px; width: 12px; position: relative; display: inline-block;
	background: green; opacity: .3;
	/*-moz-border-radius: 24px;*/ border-radius: 24px;
}
div.swal-text { font-size: 2vh !important; }
/**
 * 範囲スライダー
 */
.slidecontainer {
	padding: 2vh 0 2vh 0; text-align: center; line-height: 1.9vh;
	font-size: 1.7vh; font-weight: bold !important; padding: 1vh;
}
.slider {
	vertical-align: middle; margin: auto;
	width: 100%; height: 1.75vh; background: #d3d3d3; opacity: 0.7;
	-webkit-appearance: none; border-radius: 5px; outline: none;
	-webkit-transition: .2s; transition: opacity .2s;
}
.slider:hover {
	opacity: 1;
}
.slider::-webkit-slider-thumb {
	-webkit-appearance: none; appearance: none;
	width: 3vh; height: 3vh; background: #04AA6D;
	border-radius: 50%; cursor: pointer;
}
.slider::-moz-range-thumb {
	width: 3vh; height: 3vh; background: #04AA6D;
	border-radius: 50%; cursor: pointer;
}
/**
 * 遷移アニメーション
 */
.hide {
	display: none !important; opacity: 0; transition: all 1s;
}
.show {
	display: block !important; opacity: 1;
	animation-name: smooth-fadein-out; animation-duration: 1.5s; animation-timing-function: ease; animation-direction: alternate;
}
@keyframes smooth-fadein-out {
	0% { opacity: 0 } /*アニメーション開始時は不透明度0%*/
	100% { opacity: 1 } /*アニメーション終了時は不透明度100%*/
}
/**
 * スタート画面
 */
#mainpage {
	display: none; overflow: hidden; position: absolute; top: 8vh;
	width: 100%; height: 88%;/* minus pagination */
}
#startpage {
	overflow-y: auto; scrollbar-width: thin; position: absolute; top: 10vh;
	width: 100%; height: 83vh;
	align-items: center; text-align: center !important;
	/*background: #ECF; border: 2px outset #EEE;*/
}
#explain {
	font-size: smaller; font-weight: normal !important;
}
#log {
	position: fixed; bottom: 5vh; right:0; z-index: 100;	
}
#reload {
	position: absolute; right: 1.5vh; height: 6vh; width: 3vh;
	color: #48F; display: inline-flex; align-items: center; vertical-align: middle; margin: auto;
}
#tools {
	position: absolute; left: 1.2vh; height: 6vh; width: 4.5vh;
	color: #48F; display: inline-flex; align-items: center; vertical-align: middle; margin: auto;
}
#reload:hover, #reload:active, #tools:hover, #tools:active {
	cursor: pointer; opacity: 0.5;
}
#version {
	position: fixed; bottom: 0vh; right:4px;
	color: #88B; font-size: 1.8vh; font-weight: normal !important;
}
.btn {
	padding: 1vh; background: #8DF;
	color: #fff; font-size: 2.5vh !important; font-weight: bold !important;
	border: none; border-radius: 2vh;
	box-shadow: 0 1.5px 1px 0 rgba(50, 50, 50, .25);
}
.btn:hover {
	color: #fff; background: #7DF; opacity: 0.8;
}
.gallery_outline {
	margin: auto; padding:8px; border: 2px outset #EEE;
}
.gallery {
	width: calc(100% - 16px); height: 45vh; margin: 0; padding: 8px 0;
	background: #EEEEEE44; overflow-y: auto; scrollbar-width: thin;
}
.dirname {
	width: calc(100% - 8px); background: #F0F0F0; margin-bottom: 6px; padding: 4px 0 4px 8px;
	border-bottom: 1px solid #888;
	font-size: 1.5vh !important; font-weight: bold !important; text-align: left;
}
.dirname:hover, .dirlist:active {
	cursor: pointer;
}
.dirnow {
	background: rgba(220, 240, 255, 0.5);
}
.subdir1, .subdir2, .subdir3, .subdir4, .subdir5 {
	margin-bottom: 8px; font-size: 1.5vh !important; font-weight: bold !important; border-bottom: 1px solid #888;
}
.subdir1 { background: #EEE; }
.subdir2 { background: #DDD; }
.subdir3 { background: #CCC; }
.subdir4 { background: #BBB; }
.subdir5 { background: #AAA; }
/* iPad でプレーヤが overlay に隠れる */
#overlay { z-index: -1; }
#mkplayer { z-index: 10000; }
/**
 * アンケート選択
 */
#tblpage {
	display: none; overflow-y: auto; scrollbar-width: thin;
	width: 100%; height: 85vh; position: absolute; top: 10vh;
	align-items: center; text-align: center !important;
}
#tbllist table { 
    border-collapse: separate; border-spacing: 0 10px; margin-top: -10px;
}
#tbllist tr:hover, #tbllist tr:active {
    cursor: pointer; opacity: 0.75;
}
#tbllist td {
	border: outset 0.5px rgba(50, 50, 50, .5); border-style: outset none;
	font-size: 2.2vh !important; font-weight: bold !important; text-align: center;
	padding: 10px;
}
#tbllist td:first-child {
    border-left-style: outset; border-top-left-radius: 10px; border-bottom-left-radius: 10px;
}
#tbllist td:last-child {
    border-right-style: outset; border-bottom-right-radius: 10px; border-top-right-radius: 10px;
}
/**
 * 終了画面
 */
#thankpage {
	display: none; overflow-y: auto; scrollbar-width: thin;
	width: 100%; height: 85vh; position: absolute; top: 10vh;
	align-items: center; text-align: center !important;
}
#regno {
	padding-top: 1.5vh;
}
.qr {
	width: 100%; padding-top: 1.5vh;
    display: flex; justify-content: center; align-items: center; text-align: center;
}
.qr_comment {
	width: 100%; padding-top: 1.5vh;
    font-size: smaller;
}
/**
 * アンケート画面
 */
.swiper {
	position: absolute; top: 6vh;
    width: 100%; height: 100%;
	/*background: #FEF;*/
}
.swiper-wrapper {
	width: 100% !important; height: 100% !important;
	/*background: #FEF;*/
}
.swiper-slide {
	display: flex; width: 100% !important; height: 100% !important;
    text-align: center; justify-content: center; align-items: center;
}
.swiper-button-prev {
	position: fixed; top: unset; bottom:0.5vh; left: 2vh; margin-top:0; z-index: 10000;
	width: 8vh; border-radius: 2vh;
	color: #48F; font-size: 2.4vh !important; font-weight: bold !important; text-align: center;
}
.swiper-button-next {
	position: fixed; top: unset; bottom:0.5vh; right: 2vh; margin-top:0; z-index: 10000;
	width: 8vh; border-radius: 2vh;
	color: #48F; font-size: 2.4vh !important; font-weight: bold !important; text-align: center;
}
.swiper-button-prev:active, .swiper-button-next:active {
	background: rgba(220, 240, 255, 0.5); opacity: 0.8;
}
.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after, .swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
	content: '';
}
.swiper-slide img {
    display: block; width: 100%; height: 100%;
    object-fit: cover;
}
.swiper-pagination {
	position: fixed; top: unset; bottom:1.0vh; margin-top:0; z-index: 10000;
	background: #FFF;
	color:#4A9; font-size: 2.25vh !important; font-weight: bold !important;
}
.uiScaleInner {
	width: 100% !important;
}
/**
 * クラス定義
 */
.question_text {
	width: calc(100% - 8vh); background: rgba(220, 240, 255, 0.8);
	margin: 6px 0 0px 3vh; padding: 4px 8px 4px 20px;/* top | right | bottom | left */
	font-size: 2.0vh; font-weight: bold !important; text-align: left !important; line-height: 2.4vh;
	border-bottom: 0.5px solid #AAA;
}
.choice_text {
	font-size: 2.1vh; font-weight: bold !important; padding: 1vh;
}
.big_text {
	font-size: 2.5vh !important;
	/*line-height: 3.5vh;*/
}
.small_text {
	font-size: smaller;
}
.small_comment {
	/*font-size: 1.6vh;*/
	font-size: smaller; font-weight: bold !important;
}
.question_area {
	opacity: 1;
}
.dimarea {
	opacity: 0.4 !important;
	/*background-color: rgba(220, 240, 255, 0.5);*/
}
.sticky_table_wrapper {
	overflow-y: auto; scrollbar-width: thin;
	width: 88%; height: 100%; padding: 0; margin: 0 auto;
	/*box-shadow: 0 1px 1px 0 rgba(50, 50, 50, .1);*/
}
.sticky_table {
	table-layout: fixed; width: 100%;
}
.sticky_table thead th {
	position: -webkit-sticky; position: sticky; top: 0; /* 縦スクロール時に固定する */
	z-index: 1; /* tbody内のセルより手前に表示する */
}
.sticky_table tbody td {
	text-align: center;
}
.sticky_table tbody td .choice_text {
	height: 1.0vh; padding: 0;
}
.sticky_head {
	padding: 8px 4px; background: #F8F8F8;
	font-size: 1.6vh; font-weight: bold !important; line-height: 2.7vh;
}
.sticky_question {
	padding: 8px; background: rgba(220, 240, 255, 0.8);
	font-size: 1.7vh; font-weight: bold !important; line-height: 2.3vh;
}
.big_sticky {
	font-size: 2.1vh !important;
}
.noanswer {
	background: rgba(255, 240, 220, 0.5);
}
/**
 * 固定文字スタイル
 */
#title {
	margin-bottom: 1.5vh; background: linear-gradient(90deg, #FFF, #8DF);
	color: #44A; text-align: center; font-size: 2.3vh; font-weight: bold;
}
#titlestr {
	font-size: 2.5vh;
	min-height: 6vh; display: inline-flex; align-items: center; vertical-align: middle; margin: auto;
}
#qTitle {
	padding: 0vh 2vh 2vh 5vh; height: 5.5vh; background: #FFF; line-height: 2.5vh;
	color: #000; text-align: left; font-size: 2.1vh; font-weight: bold;
}
/**
 * スマホ/タブレット向けの記述
 */
@media screen and (max-width: 768px) { /* タブレット */
	html, body, p { font-size: 2.0vh !important; }
	#qTitle { padding: 1vh 2vh 2vh 5vh; height:8vh; font-size: 1.9vh; }
	.choice_text { font-size: 1.8vh; }
	.question_text { font-size: 1.8vh; }
	.small_text { font-size: 1.6vh; }
}
@media screen and (max-width: 479px) { /* スマホ */
	html, body, p { font-size: 1.65vh !important; }
	#mainpage { height: calc(100% - 5vh); }
	#qTitle { padding: 1vh 2vh 2vh 4vh; height:7vh; font-size: 1.8vh; }
	.swiper-slide { height: calc(100% - 6vh) !important; }
	.choice_text { font-size: 1.6vh; }
	.question_text { font-size: 1.6vh; }
	.small_text { font-size: 1.4vh; }
	div.swal-title { font-size: 2.5vh !important; font-weight: bold !important; }
	div.swal-text { font-size: 2.0vh !important; font-weight: normal !important; }
}
