@charset "UTF-8";
body {
  font-family: "Open Sans", sans-serif;
}

main {
  overflow: hidden;
  background-color: #ddd;
  line-height: 1.5;
}

h2,
h3 {
  text-align: center;
  font-size: 2rem;
  line-height: 2;
  font-weight: bold;
}

main > div > div > div {
  max-width: 1000px;
  width: 60%;
  margin: 0 auto;
  padding: 20px 0;
  margin-top: 20px;
}

/* GAME */
#game>p{
 width: 60%;
 max-width: 600px;
 text-align: center;
 margin: 0 auto;
}

/* メイン画像 */
figure{
    display: flex;
    align-items: center;
}
.game_main{
    position: relative;
    margin: 50px auto;
}
.main_img {
  display: block;
  width: 100%;
  max-width: 600px;
  height: auto;
}
figcaption {
  display: block;
  position: relative;
}

.game_play {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
.play_img {
  width: 49%;
}

/* プレイボタン */
a.btn-flat {
  position: absolute;
  overflow: hidden;
  text-decoration: none;
  font-weight: 700;
  padding: 0.5rem 3.5rem;
  color: #fff;
  background: #000;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}
a.btn-flat span {
  position: relative;
  z-index: 1;
}
a.btn-flat:before,a.btn-flat:after{
    position: absolute;
    width: 150%;
  height: 500%;
  content: "";
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);
  background: #c188f0;

}

a.btn-flat:before {
  top: 0;
  left: calc(-150% + 50px);
}
a.btn-flat:after {
  top: -400%;
  right: calc(-150% + 50px);
}

a.btn-flat:hover {
  color: #333;
}
a.btn-flat:hover:before {
  -webkit-transform: rotate(45deg) translateX(0) translateY(-50%);
  transform: rotate(45deg) translateX(0) translateY(-50%);
}
a.btn-flat:hover:after {
  -webkit-transform: rotate(45deg) translateX(0) translateY(50%);
  transform: rotate(45deg) translateX(0) translateY(50%);
}

@media screen and (max-width: 1100px) {
    a.btn-flat{
        display: none;
    }
}
/* テーブル */

table {
  border-collapse: collapse;
  margin: 20px auto;
  padding: 0;
  max-width: 650px;
  width: 80%;
  table-layout: fixed;
  line-height: 1.25;
}

table tr {
  background-color: #fff;
  border: 1px solid #bbb;
  padding: 0.35em;
}
table th,
table td {
  padding: 1em 10px 1em 1em;
  border-right: 1px solid #bbb;
}
table th {
  font-size: 0.85em;
}
table thead tr {
  background-color: #eee;
}
.txt {
  font-size: 0.85em;
}
.price {
  text-align: right;
}

/* アドレッセンスの心象 */
.game_bgc01 {
  background-image: linear-gradient(to top, #aebedd 0%, #2d5292 100%);
}
.game01 h3,
.game01 figcaption {
  color: #eee;
  text-align: center;
  font-family: serif;
}
.game01 h3 {
  font-weight: bold;
}
/* .game01 figcaption {
  padding: 4vw 0;
} */
.game01 .subcaption{
    width: 75%;
    margin: 4vw auto;
    display: block;
    color: #333;
    font-family: "Open Sans", sans-serif;
    font-size: 0.8rem;
}



/* レスポンシブ */
@media screen and (max-width: 780px) {
    h3{
        font-size: 1.5rem;
    }
    main > div > div > div{
        width: 90%;
    }
    .game_main{
        margin: 20px auto;
    }
    figure{
        flex-direction: column;
    }
    .main_img{
        width: 80%;
        margin: 0 auto;
    }
    .play_img{
        width: 100%;
    }
    table thead tr{
      display: none;
    }

    table th,
table td {
  display: block;
  text-align: center;
  border-bottom: 1px solid #bbb;
  border-right: unset;
}
table th{
  background-color: #eee;
}

/* game01_780 */
    
    .game01 .subcaption{
        width: 80%;
    }

}