@CHARSET "UTF-8";
/*=====================================*/
/* RESET */
div,pre,header,nav,article,section,footer {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
table,tr,th,td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	vertical-align: baseline;
	background: transparent;
	box-sizing: border-box;
}
h1,h2,h3,h4,h5,h6,p,form,figure {
	margin: 0;
	padding: 0;
	outline: 0;
	font-size: 100%;
	font-weight: normal;
	vertical-align: baseline;
	background: transparent;
	box-sizing: border-box;
}
input,select,textarea,label,span,ol,ul,li,dl,dt,dd,a,img {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: normal;
	font-size: 14px;
	vertical-align: baseline;
	background: transparent;
	box-sizing: border-box;
}
input[type="button"]{
	-webkit-appearance: none;
	appearance: none;
}
select {
	-webkit-appearance: none;
	appearance: none;
}
strong,em {
	font-size: 100%;
	font-weight: bold;
	font-style: normal;
}
ol,ul {
	list-style-type: none;
}
img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
	margin: 0;
}
pre {
	overflow-wrap: break-word;
	white-space: pre-wrap;
	overflow: auto;
}
a,
a:link,
a:visited {
	color: #555;
	text-decoration: none;
}
a:active,
a:hover {
	color:#000;
	text-decoration: none;
}
/*-------------------------------------*/
/* BASE */
body {
	position: relative;
	margin: 0;
	padding: 0;
	font-family: -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
	font-size: 14px;
	line-height: 2.0;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	color: #333;
	background-color: #2f4f4f;
}
body > .inner {
	position: relative;
	margin: 0;
	padding: 0;
	background-color: #ffffff; /* 背景色 */
}
/*-------------------------------------*/
/* 確認画面背景 */
#backbord {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: #000;
	opacity: 0.8;
	z-index: 85;
}
/*-------------------------------------*/
/* プログレス */
#progress {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
	z-index: 85;
}
#progress img {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: auto;
	opacity: 0.5;
	filter: opacity(0.5) drop-shadow(0 0 0 blue);
	z-index: 86;
}
/*-------------------------------------*/
/* イメージビュー */
#viewer {
	position: absolute;
	display: none;
	z-index: 86;
	opacity: 1.0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
}
#viewer img {
	z-index: 91;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: auto;
	max-height: 800px;
	max-width: 800px;
	opacity: 0.0;
	animation: viewer_img_slow 0.5s ease-in forwards;
}
@keyframes viewer_img_slow {
  0%   { opacity: 0.0; }
  100% { opacity: 1.0; }
}
/*-------------------------------------*/
#viewer video {
	z-index: 91;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: auto;
	max-width: 600px;
	max-height: 600px;
	opacity: 1.0;
}
/*-------------------------------------*/
/* ヘッダー */
header {
	clear: both;
	position: relative;
	margin: 0;
	padding: 0;
}
header:after {
	content: "";
	clear: both;
	display: block;
}
header > .inner {
	position: relative;
	width: 100%;
	max-width: 1080px;
	min-width: 360px;
	margin: 0 auto;
	padding: 0;
	#background: transparent;
	#background-image: url("../img/sp.png"); /* ヘッダー画像 */
	#background-repeat: no-repeat;
	#background-position: center center;
	#background-size: cover;
	background-color: #FFFFFF;
    z-index: 80;
	border: none;
}
/* ヘッダー・トップ・メニュー */
header .head_guide {
	position: relative;
	display: flex;
	flex-direction: row;
	justify-content: space-between;
	flex-wrap: wrap;
	width: auto;
	height: auto;
	min-height: 38px;
	margin: 0;
	padding: 0;
	background: transparent;
	border-bottom: solid 2px #008080;
}
header .head_guide:after {
	content: "";
	clear: both;
	display: block;
}
/*-------------------------------------*/
/* ページ */
.pages {
	clear: both;
	position: relative;
	margin: 0;
	padding: 0;
}
.pages:after {
	content: "";
	clear: both;
	display: block;
}
.pages > .inner {
	position: relative;
	width: 100%;
	max-width: 1080px;
	min-width: 360px;
	margin: 0 auto;
	padding: 0;
	background-color: #FFFFFF;
    z-index: 80;
}
/*-------------------------------------*/
/* フッター */
footer {
	clear: both;
	position: relative;
	margin: 0;
	padding: 0;
	background-color: #2f4f4f;
}
footer::after {
	content: "";
	clear: both;
	display: block;
}
footer > .inner {
	position: relative;
	width: 100%;
	max-width: 1080px;
	min-width: 360px;
	margin: 0 auto;
	padding: 0;
    z-index: 80;
	background-color: #2f4f4f;
}
/*=====================================*/
/* END */
