@charset "utf-8";
@media (max-width: 1183px){
	.sidebar-l li {
		background:#000 !important;
		line-height:14px;
	}
}
/*===============================*
 * ★Html
 *===============================*/
html {
	height: 100%;
	min-height:900px;
	overflow-y: scroll;
	overflow-x: hidden;
}
/*===============================*
 * ★Body
 *===============================*/
body {
	background:#000;
	height: 100%;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
}
/*===============================*
 * ★Header
 *===============================*/
header {
	height:50px;
	background:#222;
	position: absolute;
	z-index: 1000;
	top: 0;
	width: 100%;
}
/*--------------------*
 * wrapper
 *--------------------*/
header .wrapper {
	color:#fff;
	width: 100%;
	display:flex;
	justify-content: space-between;
}
/*--------------------*
 * leftarea
 *--------------------*/
header .leftarea .logo {
	box-sizing: border-box;
	padding:5px 15px 0px 15px;
	width:200px;
}
header .leftarea .logo img{
	width:inherit;
	height:auto;
}
header .leftarea a{
	width:inherit;
	display:block;
}
/*--------------------*
 * rightarea
 *--------------------*/
header .rightarea {
	display:flex;
	justify-content: space-between;
	gap: 0px 60px;
}
/*--------------------*
 * setting
 *--------------------*/
header .rightarea .setting {
	padding-top:12px;
	width:94px;
	height:50px;
}
header .rightarea .setting ul{
	margin-left:20px;
	height:30px;
	display:flex;
	justify-content: space-between;
	gap: 0px 40px;
}
header .rightarea .setting li{
	line-height:28px;
	display: inline-block;
	position: relative;
}
header .rightarea .setting li:before{
    content: "";
    display: inline-block;
    width: 20px;
    height: 20px;
    background-color: transparent;
    background-image: url('/common/img/header/setting.webp');
    background-position: center;
	background-repeat: no-repeat;
    background-size: contain;
	margin-left:-20px;
    position:absolute;
    top:3px;
	z-index: -1;
}
/*----------------*
 * link
 *----------------*/
header .rightarea a.headerlink {
	color:#fff;
	text-decoration:none;
	cursor:pointer;
	display:block;
	margin-left:-24px;
	padding-left:28px;
	padding-right:6px;
	position: relative;
	border-radius:3px;
	overflow: hidden;
}
header .rightarea a.headerlink:hover {
	box-shadow: 0 0 10px rgba(0,255,255,0.5);
}
header .rightarea a:before {
	content: '';
	position: absolute;
	top: -120%;
	left: -120%;
	width: 350%;
	height: 350%;
	background: linear-gradient(
		0deg, 
		transparent, 
		transparent 30%, 
		rgba(0,255,255,0.3)
	);
	transform: rotate(-45deg);
	transition: all 0.5s ease;
	opacity: 0;
}
header .rightarea a.headerlink:hover:before {
	opacity: 1;
	transform: rotate(-45deg) translateY(100%);
}
/*===============================*
 * ★Main
 *===============================*/
main {
	margin:0px auto;
	max-width:1920px;
	max-height:820px;
	min-height:calc(100% - 100px);
	background-color: #000;
	width:100%;
	height:calc(100% - 80px);
	display:flex;
	justify-content:space-between;
}
/*----------------*
 * main_box
 *----------------*/
.main_box {
	margin-top:50px;
	width:100%;
	position:relative;
	height: calc(100% - 60px);
	max-height: 760px;
	min-width:800px;
}
/*===============================*
 * ★Sidebar
 *===============================*/
.sidebar-l,
.sidebar-r {
	margin-top:50px;
	background:#000;
	max-width:276px;
	width:100%;
	height:calc(100%-50px);
	padding:10px;
	color:#fff;
	min-width:112px;
}
.sidebar-l img,
.sidebar-r img{
	width:100%;
	height:auto;
}
.sidebar-l ul{
	margin:10px;
}
.sidebar-l ul li{
	margin:10px;
	position: relative;
	height: 40px;
	background: #00f0ff;
	clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0% 100%);
}
.sidebar-l ul li:before {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	right: 2px;
	bottom: 2px;
	background: #000;
	clip-path: polygon(0% 0%, 100% 0%, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0% 100%);
	z-index: 0;
}
.sidebar-l ul li a {
	font-size:14px;
	color:#00f3ff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 1;
	height: 100%;
	width: 100%;
	text-decoration: none;
}
/*===============================*
 * ★Footer
 *===============================*/
footer {
	padding:20px;
	height:100px;
	width:100%;
	background:#222;
}
footer .links {
	height:100%;
	width:300px;
	margin-left: auto;
	display: flex;
	flex-direction:column;
	justify-content: flex-end;
}
footer .links ul{
	display: flex;
	justify-content: flex-end;
	font-size:12px;
}
footer .links li:not(:first-child)::before {
	padding:10px;
	align-items:flex-end;
	content:' | '
}
footer .links li,
footer .links li a,
footer .links li a:hover{
	color:#5c5c5c;
	text-decoration:none;
}
/*===============================*
 * ★Overlay
 *===============================*/
.overlay {
	z-index:10000;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	background: rgba(0,0,0,0.7);
	padding: 40px 20px;
	overflow: auto;
	opacity: 0;
	visibility: hidden;
	transition: .3s;
}
.overlay:before{
	content: "";
	display: inline-block;
	vertical-align: middle;
	height: 100%;
}
.overlay.is-active {
	opacity: 1;
	visibility: visible;
}
.overlay .overlay_inner {
	position: relative;
	display: inline-block;
	vertical-align: middle;
	max-width: 800px;
	width: 90%;
}
.overlay .overlay_contents {
	background: rgba(0,0,0,.6);
	text-align: left;
	padding: 30px;
	border-radius:4px;
	font-size:16px;
	line-height:24px;
}
.overlay .overlay_closebutton {
	z-index:110;
	position:absolute;
	right:2px;
	top:7px;
	font-size:20px;
	border-radius:50%;
	color:#000;
	width:30px;
	height:30px;
	cursor:pointer;
}
.overlay .setting_dl {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	color:#fff;
}
.overlay .setting_dl dt {
	width: 40%;
	padding: 30px;
	background-color: #272727;
}
.overlay .setting_dl dd {
	width: 60%;
	padding: 20px;
	background-color: #383838;
	display: flex;
	align-items: center;
}
.overlay .setting_dl .credit {
	color:#919191;
	font-size:12px;
}
.overlay .setting_dl .tright {
	text-align:right;
}
.overlay .setting_dl dt:nth-child(1),
.overlay .setting_dl dt:nth-child(3),
.overlay .setting_dl dt:nth-child(5),
.overlay .setting_dl dt:nth-child(7) {
	border-bottom: 2px solid #4a4a4a;
}
.overlay .setting_dl dd:nth-child(2),
.overlay .setting_dl dd:nth-child(4),
.overlay .setting_dl dd:nth-child(6),
.overlay .setting_dl dd:nth-child(8) {
	border-bottom: 2px solid #4a4a4a;
}
/*-----------------------*
 * icon
 *-----------------------*/
.overlay .setting_dl p {
	position:relative;
	padding-left:21px;
}
.overlay .setting_dl p.langcode:before {
	content: "";
	position: absolute;
	top: -2px;
	left: -10px;
	width: 26px;
	height: 26px;
	content: "";
	background-image: url('/common/img/icon/langcode.webp');
	background-repeat: no-repeat;
	background-size: contain;
}
.overlay .setting_dl p.show_keyboard:before {
	content: "";
	position: absolute;
	top: -2px;
	left: -10px;
	width: 26px;
	height: 26px;
	content: "";
	background-image: url('/common/img/icon/show_keyboard.webp');
	background-repeat: no-repeat;
	background-size: contain;
}
.overlay .setting_dl p.set_bgm:before {
	content: "";
	position: absolute;
	top: -1px;
	left: -10px;
	width: 26px;
	height: 26px;
	content: "";
	background-image: url('/common/img/icon/set_bgm.webp');
	background-repeat: no-repeat;
	background-size: contain;
}
.overlay .setting_dl p.set_volume:before {
	content: "";
	position: absolute;
	top: -1px;
	left: -10px;
	width: 26px;
	height: 26px;
	content: "";
	background-image: url('/common/img/icon/set_volume.webp');
	background-repeat: no-repeat;
	background-size: contain;
}
.overlay .setting_dl p.set_keyboard:before {
	content: "";
	position: absolute;
	top: -1px;
	left: -10px;
	width: 26px;
	height: 26px;
	content: "";
	background-image: url('/common/img/icon/keyboard.webp');
	background-repeat: no-repeat;
	background-size: contain;
}




.overlay .overlay_contents.is-loading,
.overlay .overlay_contents.is-loading:after {
	border-radius: 50%;
	width: 18px;
	height: 18px;
}
.overlay .overlay_contents.is-loading {
	margin: 60px auto;
	font-size: 8px;
	position: relative;
	background-color:transparent !important;
	text-indent: -9999em;
	padding:20px;
	border-top: 10px solid rgba(0, 243, 255, 0.2);
	border-right: 10px solid rgba(0, 243, 255, 0.2);
	border-bottom: 10px solid rgba(0, 243, 255, 0.2);
	border-left: 10px solid #00f3ff;
	transform: translateZ(0);
	animation: is-loading 0.5s infinite linear;
}
@keyframes is-loading {
	0% {
		transform: rotate(0deg);
	}
	100% {
		transform: rotate(360deg);
	}
}





/*-------------------------*
 * volume range
 *-------------------------*/
.range_slider {
	margin-left:86px;
	display:flex;
	align-items: center;
}
.volume_value {
	color:#fff;
	font-size:16px;
	margin-left:5px;
}
input[type="range"] {
	webkit-appearance: none;
	appearance: none;
	touch-action: none;
	margin-block: 0;
	background: transparent;
}
input[type="range"]::-webkit-slider-thumb {
	appearance: none;
}
input[type="range"]::-moz-range-track,
input[type="range"]::-moz-range-thumb {
	border: none;
	box-sizing: border-box;
	background: transparent;
}
input[type="range"].volume_range {
	--track-width: 220px;
	--track-height: 8px;
	--track-color: #a6a6a6;
	--track-border-width: 0;
	--track-border-color: transparent;
	--track-border-radius: 5px;

	--thumb-width: 22px;
	--thumb-height: 22px;
	--thumb-color: linear-gradient(50deg,rgb(23, 87, 108) 0%, rgb(96, 210, 244) 100%);
	--thumb-border-width: 0px;
	--thumb-border-color: #FFFFFF;
	--thumb-border-radius: 50%;
	--thumb-shadow: -2px 2px 2px rgb(11 0 0 / 0.2);

	--progress-width: 50%;
	--progress-color: #009dcd;

	width: var(--track-width);
	height: max(var(--thumb-height), var(--track-height));
}




input[type="range"]::-webkit-slider-runnable-track {
	height: var(--track-height);
	border: solid var(--track-border-width) var(--track-border-color);
	border-radius: var(--track-border-radius);
	background: var(--track-color);
	background: linear-gradient(to right, var(--progress-color) var(--progress-width), var(--track-color) var(--progress-width)) no-repeat;
}

input[type="range"]::-moz-range-track {
	height: var(--track-height);
	border: solid var(--track-border-width) var(--track-border-color);
	border-radius: var(--track-border-radius);
	background: var(--track-color);
	background: linear-gradient(to right, var(--progress-color) var(--progress-width), var(--track-color) var(--progress-width)) no-repeat;
}

input[type="range"]::-webkit-slider-thumb {
	margin-top: calc((var(--thumb-height) - var(--track-height)) / 2 * -1); /* この行だけ違う */
	width: var(--thumb-width);
	height: var(--thumb-height);
	border: solid var(--thumb-border-width) var(--thumb-border-color);
	border-radius: var(--thumb-border-radius);
	background: var(--thumb-color);
	box-shadow: var(--thumb-shadow);
}

input[type="range"]::-moz-range-thumb {
	width: var(--thumb-width);
	height: var(--thumb-height);
	border: solid var(--thumb-border-width) var(--thumb-border-color);
	border-radius: var(--thumb-border-radius);
	background: var(--thumb-color);
	box-shadow: var(--thumb-shadow);
}
/*-------------------------*
 * toggle checkbox
 *-------------------------*/
.overlay .switch_checkbox {
	margin-left:86px;
	cursor: pointer;
	display: inline-block;
	overflow: hidden;
	position: relative;
	text-align: left;
	width: 80px;
	height: 32px;
	border-radius: 38px;
	line-height: 1.4;
	font-size: 14px;
}

.overlay .switch_checkbox input {
	position: absolute;
	left: 0;
	top: 0;
	width: 80px;
	height: 32px;
	padding: 0;
	margin: 0;
	opacity: 0;
	z-index: 2;
	cursor: pointer;
}

.overlay .switch_checkbox .status {
    position: relative;
    width: 80px;
    height: 32px;
    background-color: #ccc;
    -webkit-transition: background 0.25s ease-out 0s;
    transition: background 0.25s ease-out 0s;
}

.overlay .switch_checkbox .status:before {
	content: "";
	display: block;
	position: absolute;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background-color: #a1b1b3;
	top: 5px;
	left: 5px;
	 -webkit-transition: left 0.3s ease-out 0s;
    transition: left 0.3s ease-out 0s;
    z-index: 10;
}

.overlay .switch_checkbox input:checked + .status {
	background-color: #009dcd;
}

.overlay .switch_checkbox input:checked + .status:before {
	left: 52px;
	background-color: #27ae60;
	background: linear-gradient(50deg,rgb(23, 87, 108) 0%, rgb(96, 210, 244) 100%);
}

.overlay .switch_checkbox .checkbox-off,
.overlay .switch_checkbox .checkbox-on {
	float: left;
	color: #fff;
	font-weight: 700;
	padding-top: 8px;
	 -webkit-transition: all 0.3s ease-out 0s;
    transition: all 0.3s ease-out 0s;
}

.overlay .switch_checkbox .checkbox-off {
	margin-left: 34px;
	opacity: 1;
}

.overlay .switch_checkbox .checkbox-on {
	display: none;
	float: right;
	margin-right: 35px;
	opacity: 0;
}

.overlay .switch_checkbox input:checked + .status .checkbox-off {
	display: none;
	opacity: 0;
}

.overlay .switch_checkbox input:checked + .status .checkbox-on {
	display: block;
	opacity: 1;
}
/*-------------------------*
 * radio
 *-------------------------*/
.overlay .switch_radiobox {
	margin-left: 86px;
}
.overlay .switch_radio input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  width: 2rem;
  height: 2rem;
  border: 2px solid #cccccc;
  border-radius: 50%;
  outline: none;
  cursor: pointer;
  margin-right: 5px;
  position: relative;
  padding: 0;
}
.overlay .switch_radio input[type="radio"]:checked {
  border-color: #009dcd;
}
.overlay .switch_radio input[type="radio"]:checked::before {
  content: "";
  display: block;
  width: 20px;
  height: 20px;
  background: #009dcd;
background: linear-gradient(50deg,rgb(23, 87, 108) 0%, rgb(96, 210, 244) 100%);
  border-radius: 50%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
}
.overlay .switch_radio label {
  display: inline-flex;
  align-items: center;
}
.overlay .switch_radio.flex {
	display:flex;
	gap: 0px 20px;
}




.overlay .table_kb {
	width:100%;
}
.overlay .table_kb th,
.overlay .table_kb td {
	padding:10px;
	vertical-align: middle;
}
.overlay .table_kb td {
	width:100%;
}
.overlay .table_kb tr:first-child { 
	border-bottom: 2px solid #fff;
}
.overlay .table_kb img {
	width:50px;
	height:50px;
}



