@charset "utf-8";/* CSS Document */.clearfix { display: inline-table; }    /* Hides from IE-mac \*/  * html .clearfix { height: 1%; }  .clearfix { display: block; }  /* End hide from IE-mac */  body{  font: 14px/1.6 "Hiragino Kaku Gothic Pro",Osaka,"メイリオ","ＭＳ Ｐゴシック","MS PGothic",Verdana,Arial,sans-serif;  margin: 0 auto;  background-color: #000000;  width: 100%;  max-width: 720px;  position: relative;  z-index: 0;}@media all and (-ms-high-contrast: none){  body{    max-width: 1920px;    min-width: 100%;  }}.header {  margin: 0 auto;  width: 100%;  text-align: center;  font-size: 0px;}.header img {  width: 100%;}.story {  text-align: center;  font-size: 0px;}.story img{  width: 100%;} #story {  width: 100%;  margin: 0 auto;  margin-top: 34px;}.character,.gallery,#spec {  width: 100%;  margin: 0 auto;}.character img {    width: 100%;}.char_inner {    position: relative;    background-image: url("../images/chara_bg.jpg");    background-size: cover;    background-position: top center;    background-repeat: no-repeat;}.kamicchu {    width: 28.5%;    padding: 12px 0 0 24px;}.kamicchu p {    color: #fff;    font-size: 18px;    line-height: 1.5em;}.kamicchu a {    display: block;    width: 100%;    height: auto;}.sub_title {    color: #fff;    font-size: 40px;    font-weight: 900;    position: absolute;    top: 11%;    left: 36%;}.char_inner ul li {    list-style: none;}.char_inner ul {    display: flex;    flex-wrap: wrap;    justify-content: space-around;    align-items: center;    padding: 0 0 36px 0;    width: 100%;}.char_inner li a {    display: block;}.char_inner li {    width: 30%;    margin: 12px 0;}.chara_tabs {  width: 100%;  margin: 0 auto;}.chara_tabs li {  width: 13.3%;  display: inline-block;  margin-right: 4%;  margin-bottom: 32px;}.chara_tabs li img {  width: 100%;  height: auto;}a img {            display: block;            width: 100%;            height: auto;        }.chara_tabs li:nth-child(5) {  margin-right: 0;}.chara_tabs.c_2 li:nth-child(5) {  margin-right: 4%;}.chara_tabs.c_2 li:nth-child(6) {  margin-right: 0;}.chara_tabs.c_3 li {  width: 12.5%;  display: inline-block;  margin-right: 2%;  margin-bottom: 32px;}.chara_tabs.c_4 li {  width: 12.5%;  display: inline-block;  margin-right: 2%;  margin-bottom: 32px;}.chara_tabs.c_3 li:nth-child(5) {  margin-right: 2%;}.chara_tabs.c_3 li:nth-child(6) {  margin-right: 2%;}.chara_tabs.c_3 li:nth-child(6) {  margin-right: 0;}.chara_tabs.c_4 li:nth-child(5) {  margin-right: 2%;}.chara_tabs.c_4 li:nth-child(6) {  margin-right: 2%;}.chara_tabs.c_4 li:nth-child(7) {  margin-right: 0;}.menu{  width: 100%;  position: relative;  margin: 0 auto;  padding: 0;  text-align: center;  background: url("../images/chara_nav_bg.png") no-repeat;  z-index: 5;  margin-top: 10px;  font-size: 0;}.chara_tab_content {    width: 100%;    min-width: 95%;    overflow: hidden;    margin: 0 auto;    font-size: 0;    padding-bottom: 20px;}.chara_img {    position: relative;    text-align: center;}.chara_img img {    width: 100%;    max-width: 1334px;}.gallery img {    width: 100%;}.gallery_inner {    position: relative;    background-image: url("../images/gallery_bg.jpg");    background-size: cover;    background-position: top center;    background-repeat: no-repeat;}.gallery_inner ul, li {    list-style: none;}.gallery_inner ul {    display: flex;    flex-wrap: wrap;    justify-content: space-around;    align-items: center;    padding: 0 24px;}.gallery_inner li {    width: 15%;    padding: 12px 0;}.gallery_inner li img {    width: 100%;}.cg_title img {  width: 25%;}.cg_title {  text-align: center;  margin:0 auto;  position: relative;}.cg_list {  width: 100%;  margin: 0 auto;  font-size: 0;  margin-top: 20px;  text-align: center;}.eventcg li {  display: inline-block;  margin-right: 16px;  margin-bottom: 28px;  width: 32%;}.eventcg li img {  width: 100%;}.eventcg li:nth-child(3n) {  margin-right: 0;}.footer_line {  width: 100%;  height: 7px;}#spec img {    width: 100%;}table {    width: 100%;    border-collapse: collapse;    margin-top: 20px;    color: #fff;    background-image: url("../images/spec.jpg");    background-size: cover;    background-position: top center;    background-repeat: no-repeat;  }  th, td {    border: 1px solid #a9a9a9;    padding: 10px;    text-align: left;    vertical-align: top;    padding: 3px;  }    .category-header {    background-color: transparent;    border-top: 1px solid #a9a9a9;    border-bottom: 1px solid #a9a9a9;    font-weight: bold;    font-size: 18px;  }    .note {    font-size: 12px;    margin-top: 5px;  }  .sub-header {    text-align: center;  } .flex-container {    display: flex;    gap: 20px; /* テーブル間のスペース */    flex-wrap: wrap; /* 画面幅が狭い場合に折り返す */  }  .game-spec-table, .staff-table {    flex: 1; /* 利用可能なスペースを均等に分配 */    min-width: 300px; /* テーブルがこれ以上小さくならないようにする */  }  /* セルに背景色がある場合（画像にはないが、もし必要なら） */  .cell-highlight {    background-color: #330000; /* 例として赤っぽい色 */  }footer {  text-align: center;}footer img {	width: 35%;    display: block;    margin: 48px auto 0 auto;}.title {  text-align:center;  margin-top: 25px;}.title_link {  margin: 25px 0;}.title_link a {  margin: 30px 0;  display: block;}.special {  text-align:center;  margin-top: 25px;}.special_image {  display: block;  width: 700px;  margin: 0 auto;  font-size: 0;  margin-top: 25px;}.special_image li {  display: inline-block;  width: 220px;  padding-right: 20px;  margin-bottom: 35px;}.special_image li:nth-child(3n) {  padding-right: 0;}.miko-main {    width: 100%;    position: relative;}.miko-main img {    width: 100%;}.miko-main a {    position: absolute;    bottom: 28px;    font-family: kosugi-maru, sans-serif;    font-weight: 400;    font-style: normal;    font-size: 28px;    color: #000;    text-decoration: none;}.miko-main a.back {    left: 36px;}.miko-main a.next {    right: 36px;}@media screen and (min-width: 0px) and (max-width: 760px) { body {  width: 100%!important;}.header img {  width: 100%;}.nav {  width: 100%;}#spec {  width: 100%;}.spec_box {  font-size: 32px;}}@media screen and (min-width: 0px) and (max-width: 760px) and (-ms-high-contrast: none){  .spec_box {    font-size: 2vw;  }}