/* 文字の大きさをスマホ対応 */
/* base */
html {
  overflow-y: scroll;
  font-size: 62.5%;
}
html, body { height: 100%; }
body {
  margin: 0px;
  padding: 0px;
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #fff;
  background-color: rgba(36,36,36,0.9);
}
/* tag */
.name img {
  height: 17px;
}
input, select, img {
  vertical-align: middle;
}
p {
  text-align:center;
}
/* A */
a {
    color: #fff;
}

/* select */
select{
  outline:none;
  text-indent: 0.01px;
  text-overflow: '';
  background: none transparent;
  vertical-align: middle;
  font-size: inherit;
  color: inherit;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  padding: 2px;
}
select option{
  background-color: #000;
  color: #fff;
}
select::-ms-expand {
  display: none;
}
select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 #828c9a;
}
/* 大きさ調整 */
select {
  height: 45px;
}
input[type="text"], input[type="password"] {
  height: 40px;
  background-color: #222;
  color: #fff;
}

/* btn_Green */
.btn_g {
    background-color: #2B6121;
    box-shadow: 0 3px 0 #2B6121;
}
.btn_g:hover {
    background-color: #4B8141;
    box-shadow: 0 3px 0 #43a148;
}
.btn_g:active {
    background-color: #4B8141;
}
/* btn_Red */
.btn_r {
    background-color: #a33;
    box-shadow: 0 3px 0 #833;
}
.btn_r:hover {
    background-color: #a66;
    box-shadow: 0 3px 0 #a66;
}
.btn_r:active {
    background-color: #a66;
}
/* btn_Blue */
.btn_b {
    background-color: #33a;
    box-shadow: 0 3px 0 #338;
}
.btn_b:hover {
    background-color: #66a;
    box-shadow: 0 3px 0 #66a;
}
.btn_b:active {
    background-color: #66a;
}
/* Btn */
input[type="submit"], input[type="button"], button {
  border-radius: 4px 4px 4px 4px;
  color: #fff;
  font-weight: bold;
  -webkit-transition: none;
  transition: none;
  text-shadow: 0 1px 1px rgba(0,0,0,0.3);
  margin: 0px 0px 5px 0px;
  vertical-align:middle;
  overflow:visible;
  line-height: 1;
  height: 48px;
  width: 70%;
  cursor: pointer;
}
/* input */
input[type=radio], input[type=checkbox]{
  display: none;
}
.input_label {
  position: relative; /* ボックスの位置を指定する */
  padding: 0 0 0 42px; /* ボックス内側の余白を指定する */
  cursor: pointer;
}
.input_label:hover:after {
  border-color: #aaa; /* ボックスの境界線を実線で指定する */
}
.input_label:after, .input_label:before{
  position: absolute; /* ボックスの位置を指定する */
  content: ""; /* ボックスのコンテンツ */
  display: block; /* ブロックレベル要素化する */
  top: 15px; /* 上部から配置の基準位置を決める */
}
.input_label:after {
  left: 15px; /* 左から配置の基準位置を決める */
  margin-top: -10px; /* チェック枠の位置 */
  width: 15px; /* ボックスの横幅を指定する */
  height: 15px; /* ボックスの高さを指定する */
  border: 2px solid #eee; /* ボックスの境界線を実線で指定する */
  border-radius: 6px; /* ボックスの角丸を指定する */
}
.input_label:before {
  left: 21px; /* 左から配置の基準位置を決める */
  margin-top: -7px; /* チェックマークの位置 */
  width: 5px; /* ボックスの横幅を指定する */
  height: 9px; /* ボックスの高さを指定する */
  border-right: 3px solid #3191dd; /* 境界線（右）のスタイルを指定する */
  border-bottom: 3px solid #3191dd; /* 境界線（下）のスタイルを指定する */
  transform: rotate(45deg); /* 要素を回転させる */
  opacity: 0; /* 要素を透過指定する */
}
input[type=radio]:checked + .input_label:before,
input[type=checkbox]:checked + .input_label:before {
  opacity: 1; /* 要素を表示する */
}
/* tr, th, td */
.table_color th {
  background: linear-gradient(#222, #050505);
}
.table_color td {
  background: rgba(56,56,56,0.5);
}
/* テーブル入れ替え用背景 */
.tDnD_whileDrag {
  background: rgba(56,56,56,0.9);
}
/* all */
.point {
  width: 18px;
  height: 18px;
  position: absolute;
  z-index:100;
  right: 2px;
  top: 2px;
}
.main_bgcolor {
  background: rgba(56,120,56,0.3);
}
.bgcolor_red {
  background: rgba(120,56,56,0.3);
}
.bgcolor_yellow {
  background: rgba(200,100,56,0.6);
}
.centering {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform : translate(-50%,-50%);
  transform : translate(-50%,-50%);
  text-align: center;
}
/* bg */
.bg:before {
  content: "";
  position: fixed;
  left: 0;
  right: 0;
  z-index: -2;
  display: block;
  opacity: 0.1;
  width: 100%;
  height: 100%;
  -webkit-filter: blur(5px);
  -moz-filter: blur(5px);
  -o-filter: blur(5px);
  -ms-filter: blur(5px);
  filter: blur(5px);
}
.bg {
  width: 100%;
}
.main:before {
  content: "";
  position: fixed;
  left: 0; right: 0;
  margin: auto;
  z-index: -1;
  display: block;
  width: 900px;
  height: 100%;
  opacity: 0.6;
  border: 1px solid #222;
  background-color: #111;
}
.main {
  width: 900px;
  position: relative;
  margin: 0px auto;
}
.main_large {
  width: 100%;
  position: relative;
  margin: 0px auto;
}
.bottom {
  width: 900px;
  position: relative;
  margin: 0px auto;
  background: rgba(56,120,56,0.3);
  text-align: center;
}
.bottom_large {
  width: 100%;
  position: relative;
  margin: 0px auto;
  background: rgba(56,120,56,0.3);
  text-align: center;
}
/* top */
.main_top {
  width: 100%;
  height: 100px;
  position: relative;
  background: rgba(56,120,56,0.3);
}
.main_top .top_img {
  position: absolute;
  z-index: 1;
  cursor: pointer;
}
.main_top .top_img .top_img_size {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  border: 3px #333 solid;
  background-color: #222;
}
.main_top .top_img .top_img_size:hover {
  background-color: #444;
}
.main_top .top_img .top_img_bar {
  width: 40px;
  height: 10px;
  position: absolute;
  left: 0px; right: 0px;
  margin: auto;
  bottom: 16px;
}
.main_top .top_meisyo {
  width: 60px;
  height: 60px;
  border-radius: 50%;
  position: absolute;
  z-index: 3;
  right: 20px;
  top: 20px;
  border: 3px #030 solid;
  cursor: pointer;
}
.main_top .top_meisyo:hover {
  border: 3px #252 solid;
}
.main_top .top_name {
  width: 355px;
  height: 60px;
  border-radius: 2px;
  position: absolute;
  z-index: 2;
  left: 190px;
  top: 20px;
  border: 1px #333 inset;
  background-color: #222;
}
.main_top .top_point {
  width: 180px;
  height: 60px;
  border-radius: 2px;
  position: absolute;
  z-index: 2;
  left: 565px;
  top: 20px;
  border: 1px #333 inset;
  background-color: #222;
}
.main_top .top_bar {
  width: 100%;
  height: 32px;
  position: absolute;
  z-index: 3;
  left: 0px;
  top: 0px;
  border-bottom: 1px #333 inset;
}
.main_top .top_name .top_name_box {
  width: 100%;
  height: 30px;
  position: absolute;
  z-index: 3;
  left: 0px;
  text-align: center;
  padding: 3px;
}
.main_top .top_point .top_point_box {
  width: 100%;
  height: 30px;
  position: absolute;
  z-index: 3;
  left: 0px;
  text-align: center;
  padding: 3px;
}
.main_top .top_point .top_point_img {
  width: 20px;
  height: 20px;
  vertical-align: middle;
}
.main_top .top_title {
  width: 100%;
  position: absolute;
  z-index: 2;
  left: 0; right: 0;
  top: 30px;
  margin: auto;
  text-align: center;
  cursor: pointer;
}
.main_top .top_back {
  width: 48px;
  height: 48px;
  position: absolute;
  z-index: 3;
  left: 30px;
  top: 24px;
  cursor: pointer;
}
.main_top .top_back:hover {
  background: rgba(56,120,56,0.1);
}
/* option */
.main_option {
  width: 100%;
  position: absolute;
  z-index: 1;
  left: 0px;
  top: 100px;
}
.main_option .option_img {
  position: absolute;
  z-index: 2;
}
.main_option .option_img .option_img_size {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px #333 solid;
  background-color: #111;
  cursor: pointer;
}
.main_option .option_img .option_img_size:hover {
  background-color: #333;
}
.main_option .option_img .bar_html {
  height: 10px;
  position: absolute;
  left: -2px;
  bottom: 16px;
  z-index: 3;
}
/* menu */
.main_menu {
  width: 900px;
  height: 100px;
  position: fixed;
  z-index: 5;
  left: 0px;
  right: 0px;
  margin: auto;
  bottom: 0px;
  background: rgba(16,16,16,1);
}
.main_menu .menu_bar {
  width: 100px;
  height: 50px;
  position: absolute;
  z-index: 6;
  background: rgba(56,56,56,0.1);
  transform:skewX(-30deg);
  cursor: pointer;
}
.main_menu .menu_bar:hover {
  background: rgba(56,120,56,0.3);
}
.main_menu .menu_bar .menu_img{
  width: 60px;
  height: 60px;
  position: absolute;
  z-index: 7;
  left: 10px;
  bottom: 10px;
  transform:skewX(30deg);
}
.main_menu .menu_bar .menu_html{
  width: 60px;
  height: 60px;
  position: absolute;
  z-index: 8;
  left: 40px;
  top: 30px;
  transform:skewX(30deg);
}
.main_menu .menu_bar .point {
  width: 18px;
  height: 18px;
  position: absolute;
  right: 40px;
  top: -20px;
  transform:skewX(30deg);
}
.main_menu .menu_bar .bar_html {
  width: 40px;
  height: 10px;
  position: absolute;
  left: 5px;
  bottom: 44px;
  color: #fff;
  font-weight: bold;
  z-index: 7;
  transform:skewX(30deg);
}
/* game */
.main_game {
  width: 900px;
  position: fixed;
  z-index: 5;
  left: 0px;
  right: 0px;
  margin: auto;
  bottom: 100px;
  background: rgba(56,120,56,0.1);
}
.main_game .game_img {
  position: absolute;
  z-index: 6;
  cursor: pointer;
}
.main_game .game_img:hover {
  background: rgba(56,120,56,0.1);
}
.main_game .game_img .game_img_size{
  width: 60px;
  height: 60px;
}
.main_game .game_img .game_img_title{
  font-size:1.8rem;
  margin:auto;
  position:absolute;
  z-index:99;
  top:0px;
  left:5px;
  text-align:center;
  font-weight:bold;
  color:#fff;
  text-shadow:1px 1px 0 #300;
}
/* main_html_top */
.main_html_top {
  width: 710px;
  position: relative;
  z-index: 1;
  left: 0px;
  right: 0px;
  top: 0px;
  margin: auto;
  padding: 5px;
}
.html_center {
  left: 0px;
  right: 0px;
  margin: auto;
  background: rgba(56,56,56,0.1);
  border-bottom: 1px #333 inset;
}
.html_finish {
  width: 100%;
  height: 115px;
}
.html_finish_story {
  width: 100%;
  height: 300px;
}
.main_html_top .img_circle, .main_html .img_circle {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: 2px #333 solid;
  background-color: #111;
  cursor: pointer;
}
/* main_html */
.main_html {
  width: 890px;
  position: relative;
  z-index: 1;
  left: 0px;
  right: 0px;
  top: 0px;
  margin: auto;
  padding: 5px;
}
.main_html_large {
  width: 95%;
  position: relative;
  z-index: 1;
  left: 0px;
  right: 0px;
  top: 0px;
  margin: auto;
  padding: 5px;
}

/*
  拡張表示
*/

/* ballon */
.balloon-left {
  position: relative;
  display: inline-block;
  margin: 10px 0 10px 10px;
  padding: 7px 10px;
  width: 600px;
  color: #fff;
  background: rgba(120,56,56,0.6);
  border-radius: 8px;
  text-align: left;
  font-size: 2.5rem;
}

.balloon-left:before {
  content: "";
  position: absolute;
  top: 50%;
  left: -30px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid rgba(120,56,56,0.6);
}

.balloon-left p {
  margin: 0;
  padding: 0;
}

.balloon-right {
  position: relative;
  display: inline-block;
  margin: 10px 10px 10px 0;
  padding: 7px 10px;
  width: 600px;
  color: #fff;
  background: rgba(56,120,56,0.6);
  border-radius: 8px;
  text-align: left;
  font-size: 2.5rem;
}

.balloon-right:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 100%;
  margin-top: -15px;
  border: 15px solid transparent;
  border-left: 15px solid rgba(56,120,56,0.6);
}

.balloon-right p {
  margin: 0;
  padding: 0;
}

/* view_update */
.view_update {
  text-align:left;
  padding:5px 2px 5px 10px;
  background: linear-gradient(#062, #031);
  background: rgba(56,120,56,0.3);
  border-bottom: solid 1px rgba(56,120,56,0.35);
}
.view_update .update_add {
  color: red;
}
.view_update .close_add {
  color: gray;
  cursor: pointer;
}
.view_update .update_main {
  text-align:left;
  padding:10px;
  font-weight: normal;
  margin:3px;
  display:none;
  box-shadow: 0px 1px 1px 1px #111 inset;
  background: rgba(56,56,56,0.8);
}

/* vs */
@import url('https://fonts.googleapis.com/css?family=Anton');
@import url('https://fonts.googleapis.com/css?family=M+PLUS+1p');

.winner{
  display: inline-block;
  font-family: 'Anton', sans-serif;
  font-size: 10rem;
  font-weight:bold;
  color:#EE3333;
  letter-spacing:-0.04rem;

  text-shadow:
    4px 4px 0 #000,
    -2px 2px 0 #000,
    2px -2px 0 #000,
    -2px -2px 0 #000;
  -webkit-text-stroke: 2px #FFF;
  text-stroke: 2px #FFF;
  padding: 40px;
}

.vs{
  display: inline-block;
  font-family: 'Anton', sans-serif;
  font-size: 4rem;
  color:#a33;
  letter-spacing:-0.04rem;
  font-weight: bold;

  text-shadow:
    4px 4px 0 #000,
    -2px 2px 0 #000,
    2px -2px 0 #000,
    -2px -2px 0 #000;
  -webkit-text-stroke: 2px #FFF;
  text-stroke: 2px #FFF;
  padding:0 0.2rem;
}

/* Card */
.card {
    display: block;
    margin: auto;
    text-align: left;
    width: 300px;
    height: 400px;
}
.card th {
  background: linear-gradient(#555, #050505);
}
.card td {
  background: rgba(56,56,56,1);
}
.card .pc {
  top:20px;
  left:158px;
}
.card .bt {
  top:5px;
  left:158px;
}
@media only screen and (min-width: 480px) and (max-width: 1024px) {
  .card .bt {
    top:20px;
  }
  .card .card_tb th, .card .card_tb td {
    height:5px;
    padding:0px 6px;
  }
  .card .card_tb .disp_no {
    display:none;
  }
}

/* game */
.bg .game_o {
    background-color: #072B00;
}
.bg .game_u {
    background-color: #171B10;
}
.bg .score_board {
    background-color: #000;
    border: 1px solid #222;
}

.bg .game_board {
    color: #fff;
    opacity: 0.9;
    line-height: 1em;
}
.bg .game_board td {
  padding: 10px;
  background: rgba(56,120,56,0.2);
}
.bg .game_board th {
  padding: 10px;
  background: rgba(0,0,0,0.2);
}

/* chall */
@media only screen and (min-width: 1025px) {
  .bt_pc {
    display: inline;
  }
  .bt_sp {
    display: none;
  }
}
@media only screen and (min-width: 480px) and (max-width: 1024px) {
  .bt_pc {
    display: none;
  }
  .bt_sp {
    display: inline;
  }
}

/* 説明ボード */
.html_board {
  position: relative;
  margin: 1.5rem 3rem;
  padding: 1rem 1.4rem;
  color: #fff;
  background-color: #000;
  border: 2px solid #000;
  border-radius: 5px;
  box-shadow: 0 0 0 4px #fff inset;
  text-align: left;
}

/* media_type */
.input_label, .card .card_tb, .bg .game_board {
  font-size: 2rem;
}
.main_top .top_title {
  font-size: 3rem;
}
.card, .card .card_tb .font-m {
  font-size: 0.9rem;
}
.html_board {
  font-size: 2rem;
}
.class_top_smp {
}

/* pc */
@media only screen and (min-width: 1025px) {
  body {
    font-size: 2rem;
  }
  table {
    font-size: 2rem;
  }
  input[type="text"], input[type="password"], input[type="submit"], input[type="button"], button {
    font-size: 2rem;
  }
}
/* mobile */
@media only screen and (min-width: 480px) and (max-width: 1024px) {
  body {
    font-size: 2rem;
  }
  table {
    font-size: 2rem;
  }
  input[type="text"], input[type="password"], input[type="submit"], input[type="button"], button {
    font-size: 2.4rem;
  }
}
/* mobile chrome */
@media screen and (min-width: 480px) and (max-width: 1024px) and (-webkit-min-device-pixel-ratio: 0) {
  .class_top_smp {
    font-size: 1.6em;
  }
}
