
/* デフォルト
--------------------------------------------------*/
html, body {
  margin: 0;
  padding: 0;
  width: 100%;
  background-color: #FFF;
  color: #FFF;
  font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 12px;
}

body, div, dl, dt, dd, h1, h2, h3, h4, h5, h6, p, img, ul, li {
  margin: 0;
  padding: 0;
}

body {
  display: none;
}

img {
  vertical-align: bottom;
}

/* テキスト
--------------------------------------------------*/
.text1 {
  font-size: 14px;
  line-height: 160%;
}

.text2 {
  font-size: 15px;
  line-height: 160%;
  text-align: left;
}

.text3 {
  font-size: 16px;
  line-height: 150%;
}

.text4 {
  font-size: 15px;
  line-height: 150%;
}

.black {
  color: #000;
}

.purple {
  color: #A846E2;
}

/* リンク
--------------------------------------------------*/
a, a:link, a:active, a:visited {
  color: #FFF;
  font-style: normal;
  text-decoration: none;
}

a:hover, a:active {
  border: none;
  outline: none;
}

a:focus, *:focus {
  outline: none;
}

a {
  display: block;
  -webkit-transition: opacity 0.3s ease-out;
  transition: opacity 0.3s ease-out;
  transform: perspective(0);
}

.opacity:hover {
  opacity: 0.6;
}

/* スペース調整
--------------------------------------------------*/
.pt6 {
  padding-top: 6px;
}

.pt10 {
  padding-top: 10px;
}

.pt20 {
  padding-top: 20px;
}

.pt30 {
  padding-top: 30px;
}

.pt40 {
  padding-top: 40px;
}

.pt50 {
  padding-top: 50px;
}

.pt60 {
  padding-top: 60px;
}

.pt70 {
  padding-top: 70px;
}

.pt80 {
  padding-top: 80px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb80 {
  padding-bottom: 80px;
}

/* コンテナー
--------------------------------------------------*/
.container {
  width: 100%;
  max-width: 1200px;
  margin: auto;
}

/* モーダル
--------------------------------------------------*/
.package, .download, .original, .animation {
  position: relative;
  width: 100%;
  max-width: 1200px;
  background: #FFF;
  text-align: center;
}

.close_modal {
  position: absolute;
  top: 28px;
  right: 28px;
}

.close_modal img {
  width: 30px;
  height: 30px;
  border-radius: 30px;
}

.top_modal {
  margin: auto;
}

.top_modal img {
  width: 100%;
  max-width: 460px;
}

.official {
  margin: 0 2px 0 4px;
  padding: 0 5%;
}

.official_modal {
  width: 100%;
  margin-left: -1px;
  margin-bottom: 20px;
}

.official_modal a {
  display: block;
  width: 100%;
}

.official_modal p {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.list_modal {
  margin-left: 4px;
  padding: 0 5%;
}

.shop_modal, .series_modal {
  float: left;
  width: 33.3%;
  margin-left: -1px;
  margin-bottom: 20px;
}

.official_bana {
  position: relative;
  width: 70%;
  min-width: 380px;
  max-width: 620px;
  margin: auto;
}

.official_bana img:not(.tokuten_icon) {
  width: 100%;
  height: auto;
}

.bana {
  position: relative;
  width: 70%;
  max-width: 200px;
  margin: auto;
}

.bana img:not(.tokuten_icon) {
  width: 100%;
  height: auto;
}

.tokuten_icon {
  position: absolute;
  top: -12px;
  left: -20px;
  width: 80px;
}

.comingsoon {
  position: absolute;
  top: 0;
  left: 0;
  width: 200px;
  height: 80px;
}

.border_modal {
  height: 20px;
  margin-bottom: 10px;
  border: solid #C2C1CA;
  border-width: 1px 1px 0;
}

.shop_modal a, .series_modal a {
  display: block;
  width: 100%;
}

.shop_modal p, .series_modal p {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.bottom_modal {
  width: 200px;
  margin: auto;
}

.bottom_modal img {
  width: 100%;
}

.clear {
  clear: both;
}

@media screen and (max-width: 800px) {

/* モーダル
--------------------------------------------------*/
.official {
  margin: 0 1px 0 3px;
  padding: 0 5%;
}

.list_modal {
  margin-left: 3px;
  padding: 0 5%;
}

.shop_modal, .series_modal {
  float: left;
  width: 50%;
  margin-left: -1px;
  margin-bottom: 20px;
}

/* リンク
--------------------------------------------------*/
.opacity:hover {
  opacity: 1.0;
}

/* テキスト
--------------------------------------------------*/
.text1 {
  font-size: 13px;
}

.text2 {
  font-size: 14px;
}

.text3 {
  font-size: 15px;
}

.text4 {
  font-size: 14px;
}

/* スペース調整
--------------------------------------------------*/
.pt10 {
  padding-top: 9px;
}

.pt20 {
  padding-top: 18px;
}

.pt30 {
  padding-top: 27px;
}

.pt40 {
  padding-top: 36px;
}

.pt50 {
  padding-top: 45px;
}

.pt60 {
  padding-top: 54px;
}

.pt70 {
  padding-top: 63px;
}

.pt80 {
  padding-top: 72px;
}

.pb10 {
  padding-bottom: 9px;
}

.pb20 {
  padding-bottom: 18px;
}

.pb30 {
  padding-bottom: 27px;
}

.pb40 {
  padding-bottom: 36px;
}

.pb50 {
  padding-bottom: 45px;
}

.pb60 {
  padding-bottom: 54px;
}

.pb70 {
  padding-bottom: 63px;
}

.pb80 {
  padding-bottom: 72px;
}
}

@media screen and (max-width: 500px) {

/* モーダル
--------------------------------------------------*/
.close_modal {
  position: absolute;
  top: 18px;
  right: 18px;
}

.official {
  margin: 0 0 0 2px;
  padding: 0 5%;
}

.official_modal {
  width: 100%;
  margin: 0 1px;
  margin-bottom: 15px;
}

.official_bana {
  position: relative;
  width: 100%;
  min-width: 180px;
  max-width: 180px;
  margin: auto;
}

.official_bana img:not(.tokuten_icon) {
  width: 100%;
  height: auto;
}

.border_modal {
  height: 20px;
  margin-bottom: 2px;
  border: solid #C2C1CA;
  border-width: 1px 0 0;
}

.shop_modal, .series_modal {
  float: left;
  width: 100%;
  margin-left: -1px;
  margin-bottom: 15px;
}

.bana {
  position: relative;
  width: 70%;
  max-width: 180px;
  margin: auto;
}

.bana img:not(.tokuten_icon) {
  width: 100%;
  height: auto;
}

.bottom_modal {
  width: 180px;
  margin: auto;
}

/* テキスト
--------------------------------------------------*/
.text1 {
  font-size: 13px;
}

.text2 {
  font-size: 13px;
}

.text3 {
  font-size: 15px;
}

.text4 {
  font-size: 14px;
}

/* スペース調整
--------------------------------------------------*/
.pt10 {
  padding-top: 8px;
}

.pt20 {
  padding-top: 16px;
}

.pt30 {
  padding-top: 24px;
}

.pt40 {
  padding-top: 32px;
}

.pt50 {
  padding-top: 40px;
}

.pt60 {
  padding-top: 48px;
}

.pt70 {
  padding-top: 56px;
}

.pt80 {
  padding-top: 64px;
}

.pb10 {
  padding-bottom: 8px;
}

.pb20 {
  padding-bottom: 16px;
}

.pb30 {
  padding-bottom: 24px;
}

.pb40 {
  padding-bottom: 32px;
}

.pb50 {
  padding-bottom: 40px;
}

.pb60 {
  padding-bottom: 48px;
}

.pb70 {
  padding-bottom: 56px;
}

.pb80 {
  padding-bottom: 64px;
}
}
