* {
  box-sizing: border-box;
}

html,button {

    font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "メイリオ", sans-serif;
}

body {
    background: url("../images/bg-wool-light.png");
    overflow: overlay;
}


h4 {
    text-align: left;
    font-size: 1.1em;
    margin: 5px 0;
}
h4 span {
    font-size: 1.1em;
    padding: 3px;
    margin: 3px;
    border: 1px solid black;
}

.left {
    text-align: left;
}
.center {
    text-align: center;
}
img {
    width: 100%;
    max-width: 800px;
    height: auto;
}
img.contribution {
    width: 80%;
}
.contribution_div {
    width: 33%;
    display: inline-block;
}

.tab {

    font-family: 'MyFont';
    font-weight: bold;
}
@font-face {
	font-family: 'MyFont';
	src: url("../font/PixelMplus12-Regular.ttf") format('truetype');
}
button {
    background-color: #008542;
    color: white;
    padding: 5px 15px;
}
button:hover {
    background-color: #313131;
}


h3 {
    text-align: center;
    background: rgba(30,30,30,0.3);
    padding: 10px 0;
}

p {
    margin: 5px 0;
}


/* ヘッダー */
.header_wrapper {
    background: url("../images/bg-wool-dark.png");
    padding: 10px 0;
    text-align: center;
    color: #EDBB4A;
}
.main_logo img {
    width: 100%;
    max-width: 700px;
}
.header_title {
    background-color: rgba(255,255,255,.2);
    margin-bottom: 10px;
    padding: 5px 0;
}
.header_address {
    background-color: rgba(255,255,255,.2);
    margin-bottom: 10px;
    padding: 5px 0;
}

.tab {
  width: 95%;
  max-width: 100%;
  margin: auto;
  background: #C6C6C6;
}

.tab-menu {
  display: flex;
}

.tab-item {
  text-align: center;
  padding: 10px 0;
  cursor: pointer;
  color: green;
  list-style: none;
  /* widthを同じ比率で分けあう */
  flex-grow: 1;

  /* 下線以外をつける */
  border-top: 1px solid skyblue;
  border-left: 1px solid skyblue;
  border-right: 1px solid skyblue;
}

.tab-item:not(:first-child) {
  border-left: none;
}

.header_link {
    text-align: center;
    padding: 0.5em;
}
.header_link a {
    margin: 0px;
    padding: 5px;
    /* border-left: 1px solid blue; */
    /* background-color: #00ff49; */
    color: #000;
    font-weight: bold;
    display: inline-block;
    text-decoration: none;
    /* text-shadow: 1px 1px 0px #000; */
    border-right: 1px solid;
    margin-left: -3px;
}
.header_link a:first-child {
    border-left: 1px solid;
}

.content_block {
    width: 90%;
    margin: 1em auto;
    border: solid 1px black;
    padding: 1em;
    box-shadow: 4px 4px 0px 0px rgb(0 0 0 / 20%);
}
.content_p {
    width: 90%;
    margin: 0.5em auto;
    border: solid 1px black;
    padding: 0.3em;
    box-shadow: 4px 4px 0px 0px rgb(0 0 0 / 20%);
}
.thumbnail_div {
    display: inline-block;
    width: auto;
    margin: 0.5em auto;
    border: solid 1px black;
    padding: 0.3em;
    box-shadow: 4px 4px 0px 0px rgb(0 0 0 / 20%);
    width: 50%;
}
.thumbnail_div img {
    /* max-height: 200px; */
    width: 100%;
    max-width:500px;
}

/* アクティブなタブはデザインを変えて選択中であることが解るようにする */
.tab-item.active {
  background: #008542;
  color: white;
}
.tab-item:hover {
  background: #000;
  color: white;
}
.tab-item.active:hover {
  background: #008542;
  color: white;
}

.tab-box {
  height: 500px;
  min-height: 200px;
  display: list-item;
  justify-content: center;
  align-items: center;
  border: 1px solid skyblue;
  overflow-y: scroll;
}

/* コンテンツは原則非表示 */
.tab-content {
  display: none;
  /* font-size: 40px; */
}

/* .showがついたコンテンツのみ表示 */
.tab-content.show {
  display: block;
  width: 100%;
  text-align: center;
}
.shop-icon {
    width: 2em;
    height: 2em;
}
.tab-wrapper {
    width: 100%;
}
.shop-item-text {
    vertical-align: super;
}
.item {
    border: 1px solid #000;
    display: inline-block;
    min-width: 15%;
    width: 22%;
    margin: 5px;
    min-width: 170px;
    background: #8b8b8b;
}
.item:hover {
    background-color: #68ffee;
}
.buy_form {
    text-align: right;
    margin: 10px;
}
.buy_form input[type="number"] {
    width: 5em;
}


.cash {
    padding: 10px 0;
    text-align: center;
}
.now_cash {
    text-align: center;
    border: 3px solid black;
    padding: 4px;
    width: 14em;
    margin: auto;
    background: white;
}

.login_form {
    text-align: center;
    width: 44%;
    margin: auto;
    background: white;
    padding: 1em;
    margin-top: 1em;
    border-radius: 3px;
}

#update_log {
    overflow-y: scroll;
    height: 10em;
}

/* ローディング */
.loading-overlay {
    /* display: none; */
    background: rgba( 26, 26, 26, 0.7 );
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 5;
    top: 0;
}
.loading-overlay-image-container {
    /* display: none; */
    position: fixed;
    z-index: 7;
    top: 50%;
    left: 50%;
    transform: translate( -50%, -50% );
}
.loading-overlay-img {
    width: 50px;
    height: 50px;
    border-radius: 5px;
}

/**
 * バルーン
 */
.red {
    color: red;
}
.blue {
    color: #aaaaff;
}
.purple {
    color: #b53aab;
}

.arrow_box {
  display: none;
  position: absolute;
  width: 200px;
  min-height: 100px;
  background-color: rgba(0, 0, 0, .8);
  padding: 2px;
  font-size: 80%;
  border: 3px solid #4b00ce;
  border-radius: 4px;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  color: #fff;
}
.arrow_box span {
    margin: 4px;
    display: inline-block;
}


@media screen and (min-width: 479px) {
    /*ウィンドウ幅が最大479pxまでの場合に適用*/
    .header_link {
        height: auto;
    }
}
.skin {
    width:32px;
    vertical-align: middle;
}
.user_view {
    width: 19%;
    display: inline-block;
    min-height: 66px;
    /* vertical-align: bottom; */
    text-align: center;
    padding: 0;
}
.user_block {
    padding: 1em;
}
.admin {
    background: #ff000033;
}
.sub_admin {
    background: #0000ff33;
}

.world_review {
    width: 40%;
    display: inline-block;
    vertical-align: top;
}
.copyright {
    color: #FFF;
    background: #000;
    padding: 1em;
}
.red {
    color: red;
}
.blue {
    color: #3737ff;
}
.bold {
    font-weight: bold;
}
.shadow {
    text-shadow: 1px 1px 1px black;
}
.sell_item {
    margin: 1em auto;
}
.sell_item td, .sell_item th{
    border: 1px solid #000;
    padding: 3px;
}
.icon {
    width: 1.5em;
    height: 1.5em;
    margin-left: 5px;
    vertical-align: middle;
}
.update_log_span {
    cursor: pointer;
}
.online_status img {
    box-shadow: 4px 4px 0px 0px rgb(0 255 0 / 20%);
    border: 2px solid #60ff60;
}
.offline_status img {
    box-shadow: 4px 4px 0px 0px rgb(255 0 0 / 20%);
    border: 2px dotted #ff7070;
}
.online_status {
    text-shadow: 1px 1px #60ff60;
}
.offline_status {
    text-shadow: 1px 1px #ff7070;
}


/* モーダル */
/* モーダル表示時に背景固定 */
body.fixed {
    position: fixed;
    width: 100%;
    left: 0;
}
.content {
    display: none;/* 初期状態 */
    position: fixed;
    top: 0;
    width: 100%;/* モーダルは画面いっぱいに */
    height: 100vh;/* モーダルは画面いっぱいに */
}
.overlay {
    width: 100%;/* 黒背景も画面いっぱいに */
    height: 100vh;/* 黒背景も画面いっぱいに */
    background-color: rgba(0, 0, 0, 0.5);
}
/* 配置関連。モーダル自体とは関係なし */
.modal {
    position: absolute;
    background-color: #fff;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 60%;
    height: 80%;
    border-radius: 1em;
    padding: 1em;
    max-width: 1300px;
    min-width: 400px;
    background: url(../images/bg-wool-light.png);
}
.modal__close {
    text-decoration: none;
}
.modal__close_p {
    text-align: right;
}

#myRaderChart_div {
    width: 49%;
    max-width: 400px;
    max-height: 250px;
}
.profile {
    width: 50%;
}
.profile, #myRaderChart_div {
    display: inline-block;
    vertical-align: middle;
}
.profile_skin {
    text-align: center;
}
.profile_skin img {
    width: 60%;
    max-height: 500px;
    max-width: 223px;
}

@media screen and (max-width: 982px) {
    /*ウィンドウ幅が最大982pxまでの場合に適用*/
    .profile, #myRaderChart_div {
        width: 90%;
        margin: auto;
        display: block;
        text-align: center;
    }
    .modal {
        height: 52%;
    }
}
.id_update_toggle, .code_input_toggle {
    cursor: pointer;
}
.sirokuma {
    border-color: red;
    border-bottom-width: 3px;
    border-right-width: 3px;
}
.panda {
    border-color: blue;
    border-bottom-width: 3px;
    border-right-width: 3px;
}
.ribbon14-wrapper {  
  position: relative;
  margin: 15px auto;
  padding: 10px 0;
  box-sizing: border-box;
  }

.ribbon14 {  
  display: inline-block;
  position: absolute;
  top: 0;
  right: 10px;
  margin: 0;
  padding: 10px 0;
  z-index: 0;
  width: 40px;
  text-align: center;
  font-size: 17px;
  color: white;
  background: #ff785b;
  text-shadow: black 1px 1px 1px;
}

.ribbon14:after {
  content: '';
  position: absolute;
  left: 0;
  top: 100%;
  height: 0;
  width: 0;
  border-left: 20px solid #ff785b;
  border-right: 20px solid #ff785b;
  border-bottom: 10px solid transparent;
}

.shop_log {
    overflow-y: scroll;
    height: 15em;
}

.shop_log td {
    border: black solid 1px;
    padding: 3px 0.5em
}
.gatya_chest {
    width:25%;
    margin: 1em;
    display:inline-block;
}

.gatya_arrow_box {
    width: 100%;
}
.gatya_arrow_box td{
    width: 40%;
}
.gatya_arrow_box td:first-child{
    width: 60%;
    text-align: left;
}
.modal.gatya_modal {
    height: 50%;
}

.json_upload {
    text-align: center;
    max-width: 50em;
    margin: auto;
}

#DnDBox {
    text-align: center;
    font-size: 1.5em;
    border: 4px dashed black;
}

#DnDBox p {
    margin: 1em;
}
