#main_visual_area {
  /*height: 1000px;
  background-image: url("../img/key01.jpg");
  background-size:contain;
  background-position: center center;*/
}
#main_visual_area img {
  width: 100%;
}
/*

#intro_area

*/
#intro_area {
  background: #fff;
  color: #0F0F0F;
  padding: 0% 0 1%;
}
#intro-catchphrase {
  font-family: "hiragino-mincho-pron", sans-serif;
  font-weight: 600;
  font-style: normal;
  font-size: 50px;
  text-align: center;
  margin-top: 10%;
}
ul#intro-compare-img {
  display: flex;
  max-width: 1200px;
  margin: 10% auto 3%;
  align-items: center;
}
ul#intro-compare-img img {
  width: 80%;
}
ul#intro-compare-img li, ul#intro-compare-img div {
  display: flex;
  justify-content: center;
  align-items: center;
}
ul#intro-compare-img div.sp {
  display: none;
}
#intro-compare-img-text {
  font-family: "hiragino-mincho-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 26px;
}
#intro-text01 {
  font-family: "hiragino-mincho-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 21px;
  padding: 3% 0 1%;
  text-align: center;
}
@media screen and (max-width:800px) {
  ul#intro-compare-img div.pc {
    display: none;
  }
  ul#intro-compare-img div.sp {
    display: flex;
  }
  ul#intro-compare-img img {
    width: 100%;
  }
}
/*

#gamelist_area

*/
#gamelist_area {
  position: relative;
  background: #0F0F0F;
  color: #fff;
  padding: 0% 0 5%;
}
.triangle01 {
  position: absolute;
  left: 0;
  top: 0;
  margin-top: -1px;
  width: 100%;
  height: 10%;
  background-color: #fff;
  clip-path: polygon(0% 0%, 100% 0%, 100% 5px, 50% 100%, 0% 5px);
  /*clip-path: polygon(0% 0%, 100% 0%, 50% 100%);
    0% 0%: 左上の頂点を横0%、縦0%の位置に設定。
    100% 0%: 右上の頂点を横100%、縦0%の位置に設定。
    50% 100%: 下中央の頂点を横50%、縦100%の位置に設定。*/
}
#gamelist-catchphrase {
  font-family: "ryo-display-plusn", serif;
  font-weight: 700;
  font-style: normal;
  padding: 0 2% 0;
  border-bottom: 1px #FFFFFF solid;
  font-size: 32px;
  margin-top: 10%;
}
#gamelist-textlist_area {
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 100;
  font-style: normal;
  font-size: 21px;
  text-align: center;
  padding: 3% 0 2%;
}
ul#gamelist-textlist {
  font-family: "hiragino-mincho-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  border-top: 1px solid #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
  padding: 5% 0;
}
ul#gamelist-textlist li {
  font-size: 18px;
  padding-bottom: 0.3em;
}
#gamelist-catchphrase {
  padding: 0 2% 1%;
}
ul#gamelist-textlist {
  font-family: "hiragino-mincho-pron", sans-serif;
  font-weight: 300;
  font-style: normal;
  border-top: 1px solid #FFFFFF;
  border-bottom: 1px solid #FFFFFF;
  padding: 5% 0;
  margin-top: 5%;
}
ul#gamelist-textlist li {
  font-size: 18px;
}
ul.gamelist-imglist {
  display: flex;
  max-width: 800px;
  margin: 0 auto;
  justify-content: space-between;
}
ul.gamelist-imglist img {
  width: 100%
}
ul.gamelist-imglist li {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 3%;
  width: 30%;
}
ul.gamelist-imglist li .thumb {
  margin-bottom: 3%;
}
ul.gamelist-imglist li .ajast {
  width: 50%;
}
ul.gamelist-imglist li .text {
  font-size: 21px;
  width: 100%;
  color: #0F0F0F;
  text-align: center;
  background: #FFFFFF;
  font-family: "hiragino-mincho-pron", sans-serif;
  font-weight: 600;
  font-style: normal;
  margin-bottom: 3%;
}
ul.gamelist-imglist a {
  color: #95E3F8;
}
/*

#gamebundle_area

*/
#gamebundle_area {
  background: #FFFFFF;
  padding: 3% 0 8%;
}
.gamebundle_h1 {
  font-family: "ryo-display-plusn", serif;
  font-weight: 700;
  font-style: normal;
  color: #FFFFFF;
  text-align: center;
}
#gamebundle-list01 {
  max-width: 1100px;
  margin: 1% auto 0;
  display: flex;
  justify-content: space-between;
}
#gamebundle-list01 li {
  width: 45%;
}
#gamebundle-list01 li span {
  display: block;
  font-size: 60%;
  margin-top: -3%;
}
@media screen and (max-width:800px) {
  ul#gamelist-textlist li {
    /*font-size: 18px;*/
    font-size: 3.7vw;
  }
  #gamebundle-list01 li span {
    font-size: 68%;
  }
}
#gamebundle-list01 .left-btn {
  padding: 0.5%;
  font-size: 32px;
  background: #5576c4;
}
#gamebundle-list01 .right-btn {
  padding: 0.5%;
  font-size: 32px;
  background: #a32222;
}
/*

#gamebundle_area #gamebundle-special_area

*/
#gamebundle-special_area {
  position: relative;
  width: 100%;
  color: #FFFFFF;
  margin-top: 3%;
}
#gamebundle-special_bg {
  width: 100%;
  color: #FFFFFF;
  background: #1C1B2B;
  clip-path: polygon(0% 0%, 100% 20%, 100% 100%, 0% 80%);
  /* background: url("key01.png");
  background-size: cover;
  background-position: center center;*/
  /*
	background: url("../img/gamebundle/bg.jpg");
	background-size: cover;*/
}
@media screen and (max-width:2108px) {
  #gamebundle-special_bg {
    clip-path: polygon(0% 0%, 100% 15%, 100% 100%, 0% 85%);
  }
}
@media screen and (max-width:1413px) {
  #gamebundle-special_bg {
    clip-path: polygon(0% 0%, 100% 10%, 100% 100%, 0% 90%);
  }
}
@media screen and (max-width:800px) {
  #gamebundle-special_bg {
    clip-path: polygon(0% 0%, 100% 3%, 100% 100%, 0% 97%);
  }
}
#gamebundle-special_bg::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../img/gamebundle/bg.jpg") no-repeat center center;
  background-size: cover;
  opacity: 0.3; /* ここで透過度を設定 */
  z-index: -1; /* 背景画像を後ろに配置 */
}
#gamebundle-special_contents {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  padding: 5% 0 4%;
}
ul.gamebundle-list02 {
  max-width: 1300px;
  margin: 0 auto 1%;
  display: flex;
  justify-content: space-between;
}
ul.gamebundle-list02 li {
  position: relative;
}
ul.gamebundle-list02.wide li {
  margin-top: 5%;
  width: 49%
}
ul.gamebundle-list02.short li {
  margin-top: 5%;
  width: 23%
}
ul.gamebundle-list02 img {
  width: 100%;
}
.gamebundle-special-box {
  border: 0.1rem solid #fff;
  /* clip-path を使ってボーダーの一部を削除 */
  clip-path: polygon(0 0, 50px 0, 50px 1rem, /* ここでボーダーの一部を削除 */ 100px 1rem, 100px 0, 100% 0, 100% 100%, 0 100%);
  border-radius: 10px;
  display: flex;
  flex-direction: column;
}
.box_number {
  position: absolute;
  top: 0;
  left: 0;
  margin-top: -40px;
  margin-left: 51px;
  font-size: 45px;
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 100;
  font-style: normal;
}
.gamebundle-special-box .text_area {
  padding: 1% 1% 0;
}
.gamebundle-special-box .title {
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 22px;
  height: 2em;
  margin-bottom: 1em;
  margin-top: 0.5em;
  line-height: 1.2em
}
.gamebundle-special-box .text {
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 16px;
  line-height: 1.5em;
}
.gamebundle-special-box.wide {
  flex-direction: row;
  padding: 5%;
}
.gamebundle-special-box.wide.ajast .text {
  height: 14em;
}
.gamebundle-special-box.wide .thumb {
  width: 40%;
}
.gamebundle-special-box.wide .text_area {
  width: 60%;
  padding-left: 5%;
}
.gamebundle-special-box.wide .text_area .ajast01 {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  font-weight: bold;
  font-family: "ryo-display-plusn", serif;
  font-weight: 700;
  font-style: normal;
}
.gamebundle-special-box.short {
  padding: 10%;
  flex-direction: column;
}
.gamebundle-special-title {
  width: 620px;
  margin: 0 auto auto;
  background: #5576c4;
  font-size: 27px;
}
#gamebundle-addpillow-title02 {
  width: 620px;
  margin: 0 auto;
  background: #5576c4;
  font-size: 27px;
}
#gamebundle-addpillow-title01 {
  width: 620px;
  margin: 7% auto 3%;
  background: #a32222;
  font-size: 27px;
}
/*

#gamebundle-addpillow_area

*/
#gamebundle-addpillow_area {
  position: relative;
  padding-top: 1%;
}
#gamebundle-addpillow-title02 {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 620px;
  margin: -4% auto 0;
  background: #5576c4;
  font-size: 27px;
}
#gamebundle-addpillow-plas {
  line-height: 0;
  font-size: 80px;
  width: 100px;
  color: #0F0F0F;
  margin: 0% auto 0%;
}
@media screen and (max-width:1800px) {
  #gamebundle-addpillow-plas {
    margin: 2% auto 0%;
  }
}
@media screen and (max-width:1400px) {
  #gamebundle-addpillow-plas {
    margin: 3% auto 1%;
  }
}
#gamebundle-addpillow-box01 {
  max-width: 900px;
  margin: 3% auto 0;
  display: flex;
  border: 1px solid #808080;
  border-radius: 10px;
  padding: 2%;
}
#gamebundle-addpillow-box01 .thumb {
  /*width: 50%;*/
  width: 66%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
#gamebundle-addpillow-box01 img {
  width: 100%
}
#gamebundle-addpillow-box01 .ajast {
  /*width: 100%*/
  width: 69%
}
#gamebundle-addpillow-box01 .text_area {
  overflow: visible; /* はみ出しを許可 */
  white-space: nowrap;
  /* width: 50%;*/
  width: 40%;
  text-align: right;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: center;
}
#gamebundle-addpillow-box01 .ajast02 {
  /*width: 100%*/
  display: flex;
  width: 100%
}
@media screen and (max-width:800px) {
  #gamebundle-addpillow-box01 .thumb {
    /*width: 50%;*/
    width: 40%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
  }
  #gamebundle-addpillow-box01 .ajast {
    /*width: 100%*/
    width: 80%
  }
  #gamebundle-addpillow-box01 .text_area {
    padding: 10% 0 10% 3%;
    width: 60%;
  }
}
#gamebundle-addpillow-box01 .title {
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 24px;
  text-align: right;
  margin-bottom: 0.5em;
}
#gamebundle-addpillow-box01 .text {
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 300;
  font-style: normal;
  font-size: 16px;
  text-align: right;
  margin-bottom: 3em;
  line-height: 1.5em;
}
/*

#preorder_area

*/
#preorder_area {
  width: 100%;
  color: #fff;
  padding: 3% 0;
  background: #0F0F0F;
  background-image: url("../img/pre/bg20.png");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}
#preorder_box {
  display: flex;
  max-width: 800px;
  margin: 0 auto;
}
#preorder_box img {
  width: 100%;
}
#preorder_box .thumb {
  width: 40%;
}
#preorder_box .text_area {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  width: 50%;
  padding-left: 10%;
}
#preorder_box .title {
  font-size: 27px;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 700;
  font-style: normal;
  margin-bottom: 0.5em;
}
#preorder_box .text {
  font-size: 16px;
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 300;
  font-style: normal;
  text-align: left;
  line-height: 1.5em;
}
/*

#banner_area

*/
#banner_area {
  padding: 3% 0;
  background: #F6F6F6;
}
#banner_list {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
#banner_list li {
  width: 50%;
  margin-right: 2%;
}
#banner_list img {
  width: 100%;
}
/*

#spec_area

*/
#spec_area {
  color: #0F0F0F;
  padding: 5% 0 2%;
  background: #fff;
}
#spec-list_area {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
}
.spec-list01 {
  margin: 5% 0;
  width: 100%;
  display: flex;
  flex-direction: column;
  border-left: 1px solid #808080;
  padding: 1% 5%;
  font-size: 14px;
}
.spec-list01 li {
  width: 100%;
  display: flex;
  border-bottom: #fff 1px solid;
}
.spec_head {
  width: 40%;
  background: #434343;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  font-family: "shippori-mincho-b1", sans-serif;
  font-weight: 700;
  font-style: normal;
  padding: 1%;
}
.spec_head.sp {
  display: none;
}
.spec_contents {
  width: 60%;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #EAEAEA;
  color: #070707;
  font-family: "source-han-sans-japanese", sans-serif;
  font-weight: 300;
  font-style: normal;
  padding: 1%;
}
.spec_contents.ajast01 {
  text-align: center;
}
footer {
  width: 100%;
  padding: 1% 0;
  color: #FFFFFF;
  text-align: center;
  background: #595959;
  letter-spacing: 0.1em;
  font-size: 11px;
}
@media screen and (max-width:1300px) {
  .title01 {
    font-size: 2.5vw;
  }
  /*

#intro_area

*/
  #intro-catchphrase {
    font-size: 4vw;
  }
  ul#intro-compare-img {
    margin: 10% auto 3%;
  }
  #intro-compare-img-text {
    font-size: 2vw;
  }
  #intro-text01 {
    font-size: 2.4vw;
  }
  /*

#gamelist_area

*/
  #gamelist-catchphrase {
    font-size: 2.9vw;
  }
  #gamelist-textlist_area {
    font-size: 1.6vw;
  }
  ul.gamelist-imglist a {
    color: #95E3F8;
    font-size: 1.6vw;
  }
  ul.gamelist-imglist li .text {
    font-size: 1.7vw;
  }
  /*

#gamebundle_area #gamebundle-special_area

*/
  #gamebundle-list01 {
    padding: 0 2%;
    justify-content: space-around;
  }
  #gamebundle-list01 .left-btn {
    font-size: 2.5vw;
  }
  #gamebundle-list01 .right-btn {
    font-size: 2.5vw;
  }
  .gamebundle-special-title {
    font-size: 2vw;
    width: 49%;
  }
  .gamebundle-special-box {
    clip-path: polygon(0 0, 20px 0, 20px 1rem, 60px 1rem, 60px 0, 100% 0, 100% 100%, 0 100%);
  }
  .box_number {
    font-size: 3vw;
    margin-top: -2vh;
    margin-left: 1.7vw;
  }
  ul.gamebundle-list02 {
    padding: 0 1%;
  }
  .gamebundle-special-box .title {
    font-size: 1.9vw;
  }
  .gamebundle-special-box .text {
    font-size: 1vw;
  }
  #gamebundle-addpillow-title01 {
    font-size: 2vw;
    width: 49%;
  }
  #gamebundle-addpillow-title02 {
    font-size: 2vw;
    width: 30%;
    margin: -4% auto 0;
  }
  #gamebundle-addpillow-plas {
    font-size: 5vw;
    margin: 4% auto 6%;
  }
  #gamebundle-addpillow-box01 {
    margin: 1% auto 0;
  }
  #gamebundle-addpillow-box01 .title {
    font-size: 2vw;
  }
  #gamebundle-addpillow-box01 .text {
    font-size: 1.2vw;
  }
  /*

#preorder_area

*/
  #preorder_box {
    max-width: 800px;
    margin: 0 auto;
    padding: 0 1%;
  }
  #preorder_box .title {
    font-size: 2.1vw;
  }
  #preorder_box .text {
    font-size: 1.2vw;
  }
  /*

#spec_area

*/
  #spec_area {
    font-size: 1vw;
  }
  #spec-list_area {
    margin: 0 4%;
  }
}
@media screen and (max-width:800px) {
  #main_visual_area {}
  .title01 {
    font-size: 3vw;
  }
  /*

#intro_area

*/
  ul#intro-compare-img {
    margin: 5% auto 3%;
  }
  .triangle01 {
    height: 2%;
  }
  #intro-text01 {
    font-size: 3vw;
    padding: 3% 0 5%;
  }
  /*

#gamebundle_area #gamebundle-special_area

*/
  #gamelist-textlist_area {
    font-size: 3.3vw;
    margin-top: 5%;
  }
  ul.gamelist-imglist {
    flex-direction: column;
    width: 100%;
    justify-content: center;
    align-items: center;
    margin: 8% auto 0;
  }
  ul.gamelist-imglist li {
    width: 64%;
  }
  ul.gamelist-imglist li .text {
    font-size: 21px;
    /*font-size: 3vw;*/
  }
  ul.gamelist-imglist a {
    font-size: 15px;
    /* font-size: 2vw;*/
  }
  #gamelist.area03 {
    /*	display: block;
		justify-content: flex-start;
	align-items: flex-start;
	*/
  }
  /*

#gamebundle_area

*/
  #gamelist-catchphrase {
    text-align: center;
    font-size: 4vw;
    line-height: 1.2em;
  }
  #gamebundle_area {
    padding: 6% 0;
  }
  #gamebundle-list01 {
    flex-direction: column;
    align-items: center;
  }
  #gamebundle-list01 li {
    margin-top: 3%;
  }
  .gamebundle-special-title {
    font-size: 3.6vw;
    width: 74%;
  }
  #gamebundle-list01 li {
    width: 70%;
  }
  #gamebundle-list01 .left-btn {
    font-size: 4vw;
  }
  #gamebundle-list01 .right-btn {
    font-size: 4vw;
  }
  /*

#gamebundle_area #gamebundle-special_area

*/
  ul.gamebundle-list02 {
    flex-direction: column;
    align-items: center;
  }
  ul.gamebundle-list02.wide li {
    width: 80%;
  }
  ul.gamebundle-list02.short li {
    width: 80%;
  }
  .gamebundle-special-box .title {
    font-size: 3.6vw;
  }
  .gamebundle-special-box .text {
    font-size: 3vw;
    height: auto;
  }
  .gamebundle-special-box.wide.ajast .text {
    height: auto;
  }
  #gamebundle-addpillow-title01 {
    margin-top: 10%;
    font-size: 3.6vw;
    width: 70%;
  }
  #gamebundle-addpillow-title02 {
    font-size: 3vw;
    width: 63%;
  }
  #gamebundle-addpillow-box01 {
    margin: 1% 4% 0;
  }
  #gamebundle-addpillow-box01 .title {
    font-size: 3.6vw;
  }
  #gamebundle-addpillow-box01 .text {
    font-size: 3vw;
  }
  #gamebundle-addpillow-box01 .text:last-child {
    margin-bottom: 0em;
  }
  .gamebundle-special-box {
    clip-path: polygon(0 0, 10% 0, 10% 1rem, 20% 1rem, 20% 0, 100% 0, 100% 100%, 0 100%);
  }
  .box_number {
    font-size: 4vw;
    margin-top: -4%;
    margin-left: 13%;
  }
  #preorder_box {
    padding: 0 11%;
  }
  #preorder_box .title {
    font-size: 3.6vw;
  }
  #preorder_box .text {
    font-size: 3vw;
  }
  /*

#banner_area

*/
  #banner_list {
    flex-direction: column;
  }
  #banner_area {
    padding: 8% 0;
  }
  #banner_list {}
  #banner_list li {
    width: 90%;
    margin-right: 0;
    margin-bottom: 3%;
  }
  #banner_list img {}
  /*
	
  /*

#spec_area

*/
  #spec_area {
    font-size: 2vw;
    margin-top: 3%;
  }
  #spec-list_area {
    flex-direction: column;
  }
  .spec-list01 {
    font-size: 3vw;
    margin: 5% 0;
    width: 100%;
    display: flex;
    flex-direction: column;
    border-left: none;
    padding: 1% 0%;
  }
  .spec-list01:first-child {
    margin: 5% 0 0;
  }
  .spec-list01:last-child {
    margin: 2% 0 5%;
  }
}
@media screen and (max-width:530px) {
  ul.gamelist-imglist li .text {
    font-size: 4.0vw;
  }
  ul.gamelist-imglist a {
    font-size: 2.8vw;
  }
}