*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}


html {
	border:none;
}
:root {
	--theme-bg: #000;
	--key-color: #E62514;/*red*/
	--slide-width: 720px;
}


body {
  font-size: 14px;
  font-family: "Roboto", "Noto Sans JP", sans-serif;
  color: #000;
  font-weight: 400;
  line-height: 1.8em;
}
a { outline: none;}
a:link { color:#000; text-decoration:underline; }
a:visited { color:#000; text-decoration:underline; }
a:hover { color:#000; text-decoration:none; }
a:active { color:#000; }

ul, li, p, h1, h2, h3, h4, h5, h6, dl, dt, dd {
  margin: 0;
  padding: 0;
}
ul{list-style:none;}
img {
	border:0;
}

/* -----外コンテナ----- */
#container {
	padding:0px;
	width:100%;
}

div#contents{
	width:100%;
	
	text-align:center;
}


/* -----ヘッダー----- */
header {
  position: relative;
  z-index: 9;
  top: 0;
  width: 100%;
  box-sizing: border-box;
  transition: all 0.3s;
  height: 120px;
}
.h_title {
  width: 100%;
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 2px #000 solid;
  padding: 20px 30px;
  position: relative;
  z-index: 2;
  background-color: #000;
  transition: all 0.3s;
}
header picture{
  padding: 0; margin: 0;
  box-sizing: border-box;
}
header img {
  /*max-width: 155px;*/
  height:32px;
  transition: all 0.3s;
}
/*nav*/
.h_nav {
  position: relative;
  z-index: 1;
}
.h_nav_wrap {
  /*border-bottom: 2px solid #000;*/
  padding: 0 30px;
  background-color: #fff;
  position: relative;
  z-index: 8;
}
.h_nav_wrap ul {
  text-align: center;
  list-style:none;
  box-sizing: border-box;
}
.h_nav_wrap ul li {
  display: inline-block;
  z-index: 10;
  padding: 0;
 position:relative;
}
.h_nav_wrap ul li a {
  display: block;
  padding: 10px;
  font-weight: 700;
  text-decoration: none;
  position: relative;
}
.h_nav_wrap ul li a:hover::after {
  transform: scale(1, 1);
  transform-origin: left top;
}
.h_nav_wrap ul li a::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 4px;
  left: 0;
  right: 0;
  margin: auto;
  bottom: 0px;
  background-color: #E62514;
  transform: scale(0, 1);
  transform-origin: right top;
  /*transition: transform 0.3s;*/
}


ul#gmenu {
	min-width: 565px;
	margin:0px;
	padding:0px;
}

ul#gmenu li {
	margin-right:2px;
	padding:0px;
	list-style:none;
	float:left;
}


#mainimage {
	background-color:#111111;
	width:100%;
	height:480px;
	margin:0px;
	clear:both;
}


#footer{
	width:100%;
	bottom: 0;
	margin:0px;
	padding:10px;
	text-align:center;
	height:122px;
	background-color:#000;
	color:#fff;
}

#footernavi {
	display: flex;
	align-content:center;
	justify-content:center;
	gap:20px;
	margin:15px 0px;
}
#footernavi a {
	position:relative;
	color:#fff;
	font-size:14px;
	font-weight:700;
	padding: 0 0 0 20px;
	text-decoration:none;
}
#footernavi a:before{
/*
	position: absolute;
	content: "";
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background-color: #E62514;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
*/
}
#footernavi a:hover {
	font-weight:900;
}


#contentsbox {
	display:table;
	width:80%;
	text-align:center;
	margin:20px auto;
}
#leftbox {
	width:400px;
	float:left;
}
#loginbox {
	width:100%;
	text-align:left;
	font-size:0.9rem;
	line-height:2em;
	padding:22px;
	background-color:#f0f0f0;
	color:#000;
}
#loginbox .leftside{text-indent:3em;width:50%;}
#loginbox .rightside{width:50%;}
#loginbox .leftside>*{width:calc(100% - 3em); display:block;}
#loginbox dl{margin-bottom:20px;}
#loginbox dl, #loginbox dt, #loginbox dd {
	width:100%;
}
#loginbox input[name='id'], #loginbox input[name='pw']{
	width: calc(100% - 3em);
	font-size: .9em;
	padding: 2px 3px;
	ime-mode: disabled;
	height: 3em;
}
#loginbox button[type='submit']{
	width: calc(100% - 3em);
	height:3.5em;
	font-size: .9em;
	border:1px solid #888;
	background-color:#222;
	color:white;
	font-weight:500;
}
#loginbox button[type='submit']:hover{
	background-color:#555;
}
#loginbox ul li{
	display:block;
	margin:5px 0;
}

#loginbox ul li a{
/*
	color:#000;
	font-weight:700;
*/
}

#rightbox {
	float:right;
	width:calc( 100% - 450px); /* ref: #leftbox width */
	text-align:left;
}
.tx {
	font-size:.95rem;;
	line-height:1.7em;
}
.kakoi {
	border:1px solid #ccc;
	padding:20px;
	font-size:0.85rem;
	/*line-height:1.5em;*/
	word-break: break-all;
}

.kakoi p{
	margin:5px 0px 10px 0px;
}

.redtx {
	color:#c00;
}

.bannerbox {
	width: var(--slide-width);
	display:flex;
	gap:20px;
	justify-content:center;
	margin:40px auto 50px;
	font-size:0.8rem;
	text-align:center;
}

.bannerbox .item {
	padding-bottom:2px;
}

#copyright {
	font-size:10px;
	font-family:Arial, Helvetica, sans-serif;
	margin:10px 0px;
}

.flexrow{
display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-content: center;
}
.flexrow >*{
	display:inline-block;
}
.serverstatus{
	text-align:center;
	margin:1em 0;
	padding:0 2em;
}
.serverstatus.notify{/* server maint */
	background-color:#c71e15;
	color:white;
}
.serverstatus.ready{
	background-color:#f0f0f0;
	color:#eee;

}
.button:link{text-decoration:none;color: white;}
.button:active{text-decoration:none;color: white;}
.button:visited{text-decoration:none;color: white;}
.button{
	height: 3rem;
	display: inline-block;
	background-color: #222;
	color: white;
	line-height: 3rem;
	padding:0 15px;
	text-decoration: none;
	font-size: .8rem;
	text-overflow: ellipsis;
	overflow: hidden;
}
.button:hover{background-color:#555;}

/* slick.js override */
.slick-slide{box-sizing:border-box;
	opacity:.2 !important;
	margin:0 !important;
	transition:opacity .33s linear !important;
}
.slick-slide.slick-current{opacity:1 !important;}
.slick-slide img{/*slideを幅一杯に表示し、見切れた部分はクロップする*/
  display: block;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden !important;
}
