@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700&display=swap");

html {
    background: #ffffff;
    font-family: 'Noto Sans JP', sans-serif, "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
    -ms-text-size-adjust: 100%;
    -webkit-text-size-adjust: 100%;
    position: relative;
}

body {
    line-height: 1.6;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    color: #061933;
    margin: 0;
    width: 100%;
    position: relative;
    z-index: 1;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
    display: block;
}

iframe {
    overflow-y: hidden;
    z-index: 1 !important;
}

#special_event {
    position: relative;
    z-index: 5;
    /*background: #c64159;*/
    overflow: hidden;
    background-image: url(../img/bg_base.png);
    background-size: contain;
    background-repeat: repeat-y;
}

#special_event img {
    max-width: 100%;
}

#special_event * {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/*#special_event .ticket_reservation_scheduler * {
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
}*/

img[usemap] {
    max-width: 100%;
    height: auto;
}

/*-----------------------------------------------------------

	base setting

-----------------------------------------------------------*/
p {
    margin: 0 0 0 0;
}

a {
    text-decoration: none;
    color: #fff;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

a:hover {
    color: #f1b009;
}

a:focus {
    outline: none;
}

.pc {
    display: block !important;
}

@media print,
screen and (max-width: 900px) {
    .pc {
        display: none !important;
    }
}

.sp {
    display: none !important;
}

@media print,
screen and (max-width: 900px) {
    .sp {
        display: block !important;
    }
}

/*-----------------------------------------------------------

	text setting

-----------------------------------------------------------*/
h2 img,
h3 img,
h4 img,
.img img {
    pointer-events: none !important;
}

.flt {
    text-decoration: line-through;
}

.fcG {
    color: #a4a4a4;
}

.fcB {
    color: #abebef;
}

.fcY {
    color: #ffa282;
}

.note {
    color: #858585;
    font-size: 12px;
}

/* clearfix */
.cf:before,
.cf:after {
    content: " ";
    display: table;
}

.cf:after {
    clear: both;
}

.cf {
    *zoom: 1;
}

/*-----------------------------------------------------------

	header
    
-----------------------------------------------------------*/
.remodal-overlay {
    background-color: rgba(6, 25, 51, 0.9);
}

.remodal {
    position: absolute;
    width: 100%;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
    padding-bottom: 0;
}

.remodal-overlay.remodal-is-opening,
.remodal-overlay.remodal-is-closing {
    -webkit-animation-duration: 0.2s;
    animation-duration: 0.2s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.remodal-overlay.remodal-is-opening {
    -webkit-animation-name: remodal-overlay-opening-keyframes;
    animation-name: remodal-overlay-opening-keyframes;
}

.remodal-overlay.remodal-is-closing {
    -webkit-animation-name: remodal-overlay-closing-keyframes;
    animation-name: remodal-overlay-closing-keyframes;
}

.remodal {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
}

.remodal.remodal-is-opening,
.remodal.remodal-is-closing {
    -webkit-animation-duration: 0.2s;
    animation-duration: 0.2s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards;
}

.remodal.remodal-is-opening {
    -webkit-animation-name: remodal-opening-keyframes;
    animation-name: remodal-opening-keyframes;
}

.remodal.remodal-is-closing {
    -webkit-animation-name: remodal-closing-keyframes;
    animation-name: remodal-closing-keyframes;
}

/* Keyframes */
@-webkit-keyframes remodal-opening-keyframes {
    from {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        opacity: 0;
    }

    to {
        -webkit-transform: none;
        transform: none;
        opacity: 1;
        -webkit-filter: blur(0);
        filter: blur(0);
    }
}

@keyframes remodal-opening-keyframes {
    from {
        -webkit-transform: scale(1.05);
        transform: scale(1.05);
        opacity: 0;
    }

    to {
        -webkit-transform: none;
        transform: none;
        opacity: 1;
        -webkit-filter: blur(0);
        filter: blur(0);
    }
}

@-webkit-keyframes remodal-closing-keyframes {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    to {
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
        opacity: 0;
        -webkit-filter: blur(0);
        filter: blur(0);
    }
}

@keyframes remodal-closing-keyframes {
    from {
        -webkit-transform: scale(1);
        transform: scale(1);
        opacity: 1;
    }

    to {
        -webkit-transform: scale(0.95);
        transform: scale(0.95);
        opacity: 0;
        -webkit-filter: blur(0);
        filter: blur(0);
    }
}

@-webkit-keyframes remodal-overlay-opening-keyframes {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes remodal-overlay-opening-keyframes {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@-webkit-keyframes remodal-overlay-closing-keyframes {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes remodal-overlay-closing-keyframes {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

.header {
    position: relative;
    background: rgba(6, 25, 51, 1.0);
    z-index: 10;
    /*box-shadow: 2px 2px 4px rgba(0,0,0,0.4);*/
}

.header.is_fix {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 101;
}

.header_inner {
    max-width: 1000px;
    margin: 0 auto;
    padding: 5px 10px;
    overflow: hidden;
}

@media print,
screen and (max-width: 900px) {
    .header_inner {
        padding: 5px 0;
    }
}

.header_logo {
    width: 13%;
    float: left;
    margin-right: 4%;
    font-size: 0;
}

@media print,
screen and (max-width: 1000px) {
    .header_logo {
        width: 11%;
        margin-right: 3%;
    }
}

@media print,
screen and (max-width: 900px) {
    .header_logo {
        float: none;
        width: auto;
        margin: 0 auto;
        text-align: center;
    }
}

.header_logo img {
    width: 100%;
}

@media print,
screen and (max-width: 900px) {
    .header_logo img {
        width: auto;
        height: 48px;
    }
}

.gl_nav {
    height: 60px;
    padding-right: 20px;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: space-around;
    justify-content: space-around;
    font-family: heisei-maru-gothic-std, sans-serif;
    font-weight: 400;
    font-style: normal;
}

@media print,
screen and (max-width: 1000px) {
    .gl_nav {
        height: 42px;
        font-size: 15px;
    }
}

@media print,
screen and (max-width: 900px) {
    .gl_nav {
        display: none;
    }
}

.gl_nav li a {
    display: block;
}

.header_menu_btn,
.header_close_btn {
    display: none;
}

@media print,
screen and (max-width: 900px) {

    .header_menu_btn,
    .header_close_btn {
        position: absolute;
        display: block;
        width: 40px;
        height: 40px;
        right: 4%;
        top: 50%;
        margin-top: -20px;
    }
}

.header_menu_btn img,
.header_close_btn img {
    width: 100%;
}

.sp_header {
    position: relative;
}

.sp_nav {
    padding: 10px 4% 60px;
}

.sp_nav img {
    max-width: 100%;
}

.sp_gl_nav {
    text-align: left;
    padding-bottom: 30px;
    font-family: heisei-maru-gothic-std, sans-serif;
    font-weight: 400;
    font-style: normal;
}

.sp_gl_nav li {
    position: relative;
    font-size: 16px;
    letter-spacing: 0.075em;
    border-bottom: 1px dashed #fff;

}

.sp_gl_nav li a {
    display: block;
    padding: 13px 0;
    padding-left: 50px;
    text-decoration: none;

}

.sp_gl_nav li:before {
    content: "";
    position: absolute;
    left: 10px;
    top: 50%;
    width: 23px;
    height: 23px;
    margin-top: -11px;
    background: no-repeat 0 0;
    -webkit-background-size: 23px;
    background-size: 23px;
    background-image: url(../img/icon_arromhand.png);
}

/*
.sp_gl_nav .nav_special:before {
  background-image: url(../img/icon_special.png);
}

.sp_gl_nav .nav_story:before {
  background-image: url(../img/icon_story.png);
}

.sp_gl_nav .nav_game_features:before {
  background-image: url(../img/icon_game_features.png);
}

.sp_gl_nav .nav_ticket:before {
  background-image: url(../img/icon_ticket.png);
}

.sp_gl_nav .nav_goods:before {
  background-image: url(../img/icon_goods.png);
}

.sp_gl_nav .nav_game_limitations:before {
  background-image: url(../img/icon_game_limitations.png);
}

.sp_gl_nav .nav_faq:before {
  background-image: url(../img/icon_faq.png);
}

.sp_gl_nav .nav_attention:before {
  background-image: url(../img/icon_attention.png);
}
*/
.sp_ticket_btn {
    padding-bottom: 50px;
}

.sp_ticket_btn img {
    width: 100%;
}

/*-----------------------------------------------------------

	common parts
    
-----------------------------------------------------------*/
.contents_inner {
    max-width: 1000px;
    margin: 0 auto;
}

@media print,
screen and (max-width: 1000px) {
    .contents_inner {
        margin: 0 4%;
    }
}

/*
.dot_top {
  display: block;
}

.dot_top:before, .dot_top:after {
  content: "";
  position: absolute;
  width: 59px;
  height: 60px;
  top: -30px;
  background: url(../img/dot.png) no-repeat 0 0;
  -webkit-background-size: 59px;
  background-size: 59px;
}

.dot_top:before {
  left: -30px;
}

.dot_top:after {
  right: -30px;
}

.dot_bottom {
  display: block;
}

.dot_bottom:before, .dot_bottom:after {
  content: "";
  position: absolute;
  width: 59px;
  height: 60px;
  bottom: -30px;
  background: url(../img/dot.png) no-repeat 0 0;
  -webkit-background-size: 59px;
  background-size: 59px;
}

.dot_bottom:before {
  left: -30px;
}

.dot_bottom:after {
  right: -30px;
}
*/

.link_ticket {
    position: absolute;
    right: 0px;
    bottom: 240px;
    z-index: 10;
    width: 180px;
}

@media print,
screen and (max-width: 1240px) {
    .link_ticket {
        width: 140px;
    }
}

@media print,
screen and (max-width: 900px) {
    .link_ticket {
        position: fixed;
        max-width: 120px;
        width: 29%;
        bottom: 10px;
        visibility: hidden;
        opacity: 0;
        -webkit-transition: all 0.2s ease;
        transition: all 0.2s ease;
    }
}

.link_ticket a {
    display: inline-block;
}

.link_ticket a:hover {
    opacity: .6;
}

.link_ticket.is_fix {
    position: fixed;
    bottom: 10px;
}

@media print,
screen and (max-width: 900px) {
    .link_ticket.is_fix {
        bottom: 0;
    }
}

.link_ticket.is_fade {
    opacity: 1;
    visibility: visible;
}

/*-----------------------------------------------------------

	main_visual
    
-----------------------------------------------------------*/
.main_visual {
    position: relative;
    overflow: hidden;
    /*padding-bottom: 60px;*/
    /*background: url(../img/main_visual_bg.png) no-repeat center top;*/
    -webkit-background-size: 100%;
    background-size: 100%;
    /* margin-bottom: -190px;*/
}

@media print,
screen and (max-width: 900px) {
    .main_visual {
        margin-bottom: 0;
    }
}

.main_visual .contents_inner {
    position: relative;
}

@media print,
screen and (max-width: 900px) {
    .main_visual {
        /*padding-bottom: 20px;*/
        -webkit-background-size: cover;
        background-size: cover;
    }
}

.main_visual_img {
    text-align: center;
    margin: 0 auto;
    padding: 10px 0;
    /*max-width: 860px;*/
}


.logo_scrap_b {
    width: 120px;
    position: absolute;
    top: 10px;
    left: 10px;
}

@media print,
screen and (max-width: 900px) {
    .main_visual_img {
        /*padding-top: 25px;*/
        max-width: 480px;
    }

    .logo_scrap_b {
        width: 100px;
        position: absolute;
        top: 0px;
        left: 0px;
    }
}

@media print,
screen and (max-width: 1240px) {
    .main_visual_img img {
        /*width: 70%;*/
    }
}


.main_visual_img .text {
    text-align: center;
    margin: 10px auto 0;
}

.main_visual_img .text img {
    text-align: center;
    margin: 0 auto ;
}

.main_visual_img .text span {
    font-size: 120%;
    font-family: tbcgothic-std, sans-serif;
    font-weight: 800;
    font-style: normal;
    line-height: 1;
}


@media print,
screen and (max-width: 1240px) {
    .main_visual_img .text {
        width: 80%;
    }
}

@media print,
screen and (max-width: 900px) {
    .main_visual_img .text {
        width: 100%;
        margin-top: 20px;
        margin-bottom: 30px;
        font-size: 15px;
    }
}

.main_visual_copy {
    position: absolute;
    right: -100px;
    top: 50px;
}

@media print,
screen and (max-width: 1240px) {
    .main_visual_copy {
        right: 0;
    }
}

@media print,
screen and (max-width: 1000px) {
    .main_visual_copy {
        max-width: 100px;
    }
}

@media print,
screen and (max-width: 900px) {
    .main_visual_copy {
        top: 20px;
        width: 8.5%;
    }
}

.main_visual_copy_sp_left {
    display: none;
}

@media print,
screen and (max-width: 900px) {
    .main_visual_copy_sp_left {
        display: block;
        position: absolute;
        left: 0;
        top: 20px;
        width: 7.8%;
    }
}

.share_block {
    position: absolute;
    text-align: right;
   right: 10px;
    bottom: 120px;
}

@media print,
screen and (max-width: 1240px) {
    .share_block {
    right: 0px;
    bottom: 80px;
    }
}

@media print,
screen and (max-width: 900px) {
    .share_block {
     position: absolute;
    right: 0px;
    bottom: 90px;
    }
}

.share_block .created {
    width: 113px;
    margin: 0 auto 35px;
}

@media print,
screen and (max-width: 900px) {
    .share_block .created {
        width: 70px;
        margin-bottom: 20px;
    }
}

.share_block .title {
    width: 90px;
    margin: 0 auto 20px;
}

@media print,
screen and (max-width: 900px) {
    .share_block .title {
        width: 85px;
        margin-bottom: 10px;
    }
}

.share_block .sns_list li {
    width: 30px;
    margin: 0 auto 20px;
}

@media print,
screen and (max-width: 900px) {
    .share_block .sns_list li {
        /*display: inline-block;*/
        margin: 0 10px 0;
    }
}

.share_block .sns_list a {
    display: inline-block;
    background-color: rgba(255,255,255,.8);
    border-radius: 5px;
    padding: 3px;
}

.share_block .sns_list a:before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background: no-repeat 0 0;
    -webkit-background-size: 24px;
    background-size: 24px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.share_block .sns_list .tw a:before {
    background-image: url(../img/icon_tw_s_blue.png);
}

.share_block .sns_list .tw a:hover:before {
    background-image: url(../img/icon_tw_s_blue.png);
}

.share_block .sns_list .li a:before {
    background-image: url(../img/icon_li_s_green.png);
}

.share_block .sns_list .li a:hover:before {
    background-image: url(../img/icon_li_s_green.png);
}

.share_block .sns_list .fb a:before {
    background-image: url(../img/icon_fb_s_blue.png);
}

.share_block .sns_list .fb a:hover:before {
    background-image: url(../img/icon_fb_s_blue.png);
}


/*-----------------------------------------------------------

	loading
    
-----------------------------------------------------------*/

.loader-wrap {
    position: fixed;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    background: #c64159;
    z-index: 1000;
}

.loader,
.loader:before,
.loader:after {
    border-radius: 50%;
    width: 2.5em;
    height: 2.5em;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation: load7 1.8s infinite ease-in-out;
    animation: load7 1.8s infinite ease-in-out;
}

.loader {
    color: #ffffff;
    font-size: 10px;
    margin: 80px auto;
    position: relative;
    text-indent: -9999em;
    -webkit-transform: translateZ(0);
    -ms-transform: translateZ(0);
    transform: translateZ(0);
    -webkit-animation-delay: -0.16s;
    animation-delay: -0.16s;
}

.loader:before,
.loader:after {
    content: '';
    position: absolute;
    top: 0;
}

.loader:before {
    left: -3.5em;
    -webkit-animation-delay: -0.32s;
    animation-delay: -0.32s;
}

.loader:after {
    left: 3.5em;
}

@-webkit-keyframes load7 {

    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em;
    }

    40% {
        box-shadow: 0 2.5em 0 0;
    }
}

@keyframes load7 {

    0%,
    80%,
    100% {
        box-shadow: 0 2.5em 0 -1.3em;
    }

    40% {
        box-shadow: 0 2.5em 0 0;
    }
}


/*-----------------------------------------------------------

	main_visual
    
-----------------------------------------------------------*/
.special {
    position: relative;
    /*padding-top: 60px;*/
    padding-bottom: 60px;
    /*margin-bottom: -120px;*/
    /*background: #fff url(../img/stripe_pattern.png) repeat center center;*/
    z-index: 1;
}

@media print,
screen and (max-width: 900px) {
    .special {
        /*padding-top: 40px;*/
        padding-bottom: 40px;
        margin-top: 0;
        margin-bottom: 0px;
    }
}

.special_title {
    background: #FFF;
    text-align: center;
    margin-bottom: 35px;
    box-shadow: 0px 0px 0px 5px #FFF;
    border: dashed 2px #ab372f;
    padding: 8px 0;
}

@media print,
screen and (max-width: 900px) {
    .special_title {
        margin-bottom: 20px;
        padding: 8px 0;
    }
}

.special_title img {
    height: 27px;
    vertical-align: bottom;
    
}

@media print,
screen and (max-width: 900px) {
    .special_title img {
        height: 24px;
    }
}

.special_bnr {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content:center;
    height: auto;
    align-items: flex-start;
}

.special_bnr li {
    width: 315px;
    height: auto;
    margin-right: 10px;
    border: 1px solid #ccc;
}

.special_bnr li:last-child {
    margin-right: 0;
}

.special_bnr li a {
    display: -webkit-flex;
    display: flex;
    align-items: flex-start;
}

.special_bnr li img {
    height: auto;
}

@media print,
screen and (max-width: 900px) {
    .special_bnr {
        flex-wrap:wrap;
    }
    .special_bnr li {
        width: 45%;
        margin-bottom: 10px;
    }
}

/*-----------------------------------------------------------

	news
    
-----------------------------------------------------------*/
.news {
    /*background-image:url(../img/stripe_pattern.png);
    background-repeat: repeat;*/
    /*padding-top: 60px;*/
    padding-bottom: 60px;
    position: relative;
}

@media print,
screen and (max-width: 900px) {
    .news {
        /*padding-top: 30px;*/
        padding-bottom: 30px;
    }
}

.news .contents_inner {
    display: -webkit-flex;
    display: flex;
}

@media print,
screen and (max-width: 900px) {
    .news .contents_inner {
        display: block;
    }
}

.news_title {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    flex-shrink: 0;
    width: 230px;
    padding: 40px 30px 40px 0;
    font-size: 0;
}

@media print,
screen and (max-width: 900px) {
    .news_title {
        display: block;
        text-align: center;
        width: 100%;
        padding: 0 0 15px;
    }
}

.news_title img {
    height: 100px;
}

@media print,
screen and (max-width: 900px) {
    .news_title img {
        height: 80px;
    }
}

.news_info {
    position: relative;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    padding: 25px 46px 30px;
    border: 1px solid #061933;
    background-color: rgba(255, 255, 255, 0.7);
}

@media print,
screen and (max-width: 900px) {
    .news_info {
        display: block;
        padding: 20px 20px 30px 20px;
    }
}

.news_list {
    width: 100%;
    height: 200px;
    overflow-y: scroll;
}

.news_list li {
    border-bottom: 1px dashed #061933;
    letter-spacing: 0.05em;
    margin-bottom: 5px;
}

.news_list li > span {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    width: 100%;
    padding: 10px 0 15px;
}

.news_list li a .text {
    text-decoration: underline;
}

.news_list li a {
    color:#061933;!important
}

.news_list li a:link {
    color:#061933;
}

@media print,
screen and (max-width: 900px) {
    .news_list li > span {
        display: block;
    }
}

.news_list li a {
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.news_list li a:hover {
    color: #f1b009;
    text-decoration: none;
}

.news_list li .date {
    flex-shrink: 0;
    padding-right: 10px;
    padding-bottom: 3px;
    font-size: 14px;
    font-weight: bold;
}

@media print,
screen and (max-width: 900px) {
    .news_list li .date {
        display: block;
        padding-right: 0;
        padding-bottom: 5px;
    }
}

.news_list li .text {
    width: 100%;
    font-size: 15px;
}

@media print,
screen and (max-width: 900px) {
    .news_list li .text {
        font-size: 13px;
        display: block;
    }
}

/*-----------------------------------------------------------
	#photo setting
-----------------------------------------------------------*/

#photo {
    width: 100%;
    padding: 30px 0 0 0;
    overflow: hidden;
}

#photo .section_wrap {
    width: 100%;
    position: relative;
}

#photo .images {
    width: 100%;
    position: relative;
    height: 180px;
}

#photo ul {
    list-style: none;
    position: absolute;
    top: 0;

    left: 0;
    /*width: 1560px; 6枚の場合*/
    /*width: 2080px; 8枚の場合*/
    width: 2340px;
    height: 100%;
    margin-left: -115px;
}

#photo ul li {
    width: 230px;
    line-height: 0;
    position: absolute;
    top: 0;
    left: 0;
    box-shadow: 0px 0px 8px -2px #000000;
}

#photo ul li img {
    width: 100%;
    height: auto;
    /* 	box-shadow: 0px 8px 15px 0px rgba(8, 1, 3, 0.5); */
}

#photo ul li:nth-child(1) {
    left: 0;
}

#photo ul li:nth-child(2) {
    left: 260px;
}

#photo ul li:nth-child(3) {
    left: 520px;
}

#photo ul li:nth-child(4) {
    left: 780px;
}

#photo ul li:nth-child(5) {
    left: 1040px;
}

#photo ul li:nth-child(6) {
    left: 1300px;
}

#photo ul li:nth-child(7) {
    left: 1560px;
}

#photo ul li:nth-child(8) {
    left: 1820px;
}

#photo ul li:nth-child(9) {
    left: 2080px;
}

/*

#photo ul li:nth-child(9) { left: 2640px; }
#photo ul li:nth-child(10) { left: 2970px; }
#photo ul li:nth-child(11) { left: 3300px; }
#photo ul li:nth-child(12) { left: 3630px; }
#photo ul li:nth-child(13) { left: 3960px; }
#photo ul li:nth-child(14) { left: 4290px; }
#photo ul li:nth-child(15) { left: 4620px; }
#photo ul li:nth-child(16) { left: 4950px; }
#photo ul li:nth-child(17) { left: 5280px; }
*/


#photo .loopanime {
    -webkit-animation: image_list_animation 60s linear infinite;
    animation: image_list_animation 50s linear infinite;
}

@-webkit-keyframes image_list_animation {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-1560px);
    }
}

@keyframes image_list_animation {
    0% {
        transform: translateX(0%);
    }

    100% {
        transform: translateX(-1560px);
    }
}


/*-----------------------------------------------------------

	cm

-----------------------------------------------------------*/
.cm {
    padding-bottom: 60px;
    background: url(../img/stripe_pattern.png) repeat center center;
}

@media print,
screen and (max-width: 900px) {
    .cm {
        padding-bottom: 60px;
    }
}

.cm_title {
    background: #f1b009;
    text-align: center;
    margin-bottom: 35px;
    padding: 13px 0;
    font-size: 0;
}

@media print,
screen and (max-width: 900px) {
    .cm_title {
        margin-bottom: 20px;
        padding: 8px 0;
    }
}

.cm_title img {
    height: 27px;
    vertical-align: bottom;
}

@media print,
screen and (max-width: 900px) {
    .cm_title img {
        height: 20px;
    }
}

.cm_movie {
    background: #1a1a1a;
}

.cm_movie_inner {
    max-width: 750px;
    margin: 0 auto;
}

.cm_movie_box {
    margin: 0 auto;
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.cm_movie_box iframe,
.cm_movie_box object,
.cm_movie_box embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*-----------------------------------------------------------

	story

-----------------------------------------------------------*/
.story {
    background: #f2b507 url(../img/story_bg.png) no-repeat top center;
    -webkit-background-size: 100%, auto;
    background-size: 100%, auto;
    padding: 60px 0 60px;
    /*overflow: hidden;*/
}

@media print,
screen and (max-width: 900px) {
    .story {
        padding: 40px 0 60px;
    }
}

.story_title {
    width: 760px;
    margin: -30px auto 0 auto;
}

@media print,
screen and (max-width: 1000px) {
    .story_title {
        width: 100%;
    }
}

@media print,
screen and (max-width: 900px) {
    .story_title {
        width: 100%;
    }
}

.story_title img {
    width: 100%;
    max-width: 480px !important;
    margin: 0 auto;
}

.story_text {
    position: relative;
    padding: 40px 0 90px;
    background-color: rgba(6, 25, 51, 0.8);
    -webkit-background-size: cover;
    background-size: cover;
    font-family: heisei-maru-gothic-std, sans-serif;
    font-weight: 400;
    font-style: normal;
}



@media print,
screen and (max-width: 900px) {
    .story_text {
        padding: 30px 20px 120px;
    }
}

.story_text p {
    text-align: center;
    padding: 15px;
    font-size: 18px;
    line-height: 2;
    letter-spacing: 0.05em;
    text-shadow: 3px 3px 2px #4f310e;
    color: #fff;
}

.story_text p span {
    display: inline;
    padding: 0 4px 4px;
    color: #f1b009;
    font-size: 120%;
    font-weight: bold;

}

@media print,
screen and (max-width: 900px) {
    .story_text p {
        text-align: left;
        font-size: 16px;
        padding: 10px 0;
    }
}

@media print,
screen and (max-width: 425px) {
    .story_text p {
        font-size: 13px;
        line-height: 1.5;
    }
}

.story_text img {
    margin: 0 auto;
    padding: 15px 0;
}

@media print,
screen and (max-width: 900px) {
    .story_text .point img {
        padding-left: 26%;
    }
}

.story_text_obj {
    position: absolute;
    left: -120px;
    bottom: -60px;
}

@media print,
screen and (max-width: 900px) {
    .story_text_obj {
        left: -3%;
        bottom: -20%;
        width: 42%;
        max-width: 240px;
    }
}

@media print,
screen and (max-width: 425px) {
    .story_text_obj {
        left: -10%;
        bottom: -13%;
        width: 50%;
        max-width: 160px;
    }
}

/*-----------------------------------------------------------

	game_features

-----------------------------------------------------------*/
.game_features {
    background-color: rgba(6, 25, 51, 1);
    background-image: url(../img/stripe_pattern.png) repeat center center;
    background-size: 100%;
}

.game_features .img_break {
    background: url(../img/img_break.png) no-repeat bottom center;
    background-size: cover;
    height: 10vw;
}

.game_features .bg_style {

    padding: 40px 0;
}

@media print,
screen and (max-width: 900px) {
    .game_features {
        /* padding: 60px 0;*/
    }

    .game_features .img_break {
        height: 15vw;
    }
}

.game_features_title {
    text-align: center;
    margin-bottom: 35px;
    padding: 0;
    font-size: 0;
}

@media print,
screen and (max-width: 900px) {
    .game_features_title {
        padding: 10px 0;
    }
}

.game_features_title img {
    height: 150px;
    vertical-align: bottom;
}

@media print,
screen and (max-width: 900px) {
    .game_features_title img {
        height: auto;
    }
}

.game_play_title {
    background-image: url(../img/bg_ttl_y.png);
    background-repeat: no-repeat;
    background-position: top right;
    background-size: cover;
    margin-bottom: 35px;
    height: 90px;
    /* box-shadow: 0px 0px 0px 5px #f1b009;
    border: dashed 2px #061933;*/
}

.game_play_title img {
    vertical-align: middle;
    height: 90px;
}


@media print,
screen and (max-width: 900px) {
    .game_play_title {
        padding: 0;
        height: 60px;
    }

    .game_play_title img {
        height: 60px;
    }
}

.game_features_mv {
    text-align: center;
}

.game_features_mv img {
    margin: 0 auto;
}

.game_features_copy {
    text-align: center;
    color: #fff;
    padding-bottom: 40px;
    font-size: 16px;
    letter-spacing: 0.07em;
}

@media print,
screen and (max-width: 900px) {
    .game_features_copy {
        font-size: 13px;
        padding-bottom: 30px;
    }
}

.game_features_info {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    padding-bottom: 40px;
}


.game_point_title {
    text-align: center;
    margin-bottom: 35px;
    padding: 0;
}

@media print,
screen and (max-width: 900px) {
    .game_point_title {
        padding: 10px 0;
    }
}

.game_point_title img {
    height: 160px;
    vertical-align: bottom;
}

@media print,
screen and (max-width: 900px) {
    .game_point_title img {
        height: 120px;
    }
}

@media print,
screen and (max-width: 900px) {
    .game_features_info {
        display: block;
        padding-bottom: 0;
    }
}

.game_features_info li {
    width: 315px;
    text-align: center;
}

@media print,
screen and (max-width: 900px) {
    .game_features_info li {
        width: 100%;
        margin-bottom: 2rem;
    }
}

@media print,
screen and (max-width: 900px) {
    .game_features_info li > img {
        /*width: 50%;
      max-width: 160px;*/
    }
}

.game_features_info .list01 > img {
    /* margin-right: -25px;*/
}

.game_features_info .title {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    color: #fff;
    font-size: 16px;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: 0.05em;
    text-align: left;
    margin-bottom: 10px;
}

@media print,
screen and (max-width: 900px) {
    .game_features_info .title {
        display: block;
        text-align: center;
    }
}

.game_features_info .title img {
    flex-shrink: 0;
    margin-right: 10px;
}

@media print,
screen and (max-width: 900px) {
    .game_features_info .title img {
        display: block;
        margin: 0 auto;
        width: 45px;
        padding-bottom: 10px;
    }
}

.game_features_info .info_img {
    margin: 0 auto;
    width: 180px;
}

.game_features_tw_btn {
    width: 500px;
    margin: 0 auto;
    -webkit-box-shadow: 0 0 10px 0 rgba(205, 58, 51, 0.8);
    box-shadow: 0 0 10px 0 rgba(205, 58, 51, 0.8);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

@media print,
screen and (max-width: 900px) {
    .game_features_tw_btn {
        width: 100%;
    }
}

.game_features_tw_btn:hover {
    -webkit-box-shadow: 0 0 0 0 rgba(205, 58, 51, 0.8);
    box-shadow: 0 0 0 0 rgba(205, 58, 51, 0.8);
}

.game_features_tw_btn .tw_btn {
    position: relative;
    display: block;
    margin: 0 auto;
    padding: 20px 30px;
    border: 1px solid #fff;
    background: #000;
    font-size: 15px;
    -webkit-box-shadow: 0 0 10px 0 rgba(205, 58, 51, 0.8) inset;
    box-shadow: 0 0 10px 0 rgba(205, 58, 51, 0.8) inset;
}

@media print,
screen and (max-width: 900px) {
    .game_features_tw_btn .tw_btn {
        text-align: center;
        padding-left: 20px;
    }
}

.game_features_tw_btn .tw_btn span {
    position: relative;
    padding-left: 40px;
    display: block;
}

@media print,
screen and (max-width: 900px) {
    .game_features_tw_btn .tw_btn span {
        padding-left: 26px;
    }
}

.game_features_tw_btn .tw_btn span:before {
    content: "";
    left: 0;
    top: 1px;
    position: absolute;
    display: inline-block;
    width: 26px;
    height: 26px;
    margin-right: 10px;
    background: url(../img/icon_tw_s_blue.png) no-repeat 0 0;
    -webkit-background-size: 26px;
    background-size: 26px;
}

@media print,
screen and (max-width: 900px) {
    .game_features_tw_btn .tw_btn span:before {
        top: 50%;
        margin-top: -13px;
    }
}

.game_features_tw_btn .tw_btn span strong {
    font-size: 19px;
    padding-right: 8px;
}

@media print,
screen and (max-width: 900px) {
    .game_features_tw_btn .tw_btn span strong {
        display: block;
        font-size: 17px;
    }
}

.game_features_tw_btn .tw_btn:after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 7px;
    border-color: transparent transparent transparent #fff;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.game_features_tw_btn .tw_btn:hover {
    -webkit-box-shadow: 0 0 0 0 rgba(205, 58, 51, 0.8) inset;
    box-shadow: 0 0 0 0 rgba(205, 58, 51, 0.8) inset;
    background: #fff;
    color: #161e29;
}

.game_features_tw_btn .tw_btn:hover:after {
    border-color: transparent transparent transparent #161e29;
}

/*-----------------------------------------------------------

	ticket

-----------------------------------------------------------*/
.ticket_area {
    padding: 60px 0;
}

@media print,
screen and (max-width: 900px) {
    .ticket_area {
        padding: 60px 0;
        background-size: 150%;
    }
}

.ticket_title {
    text-align: center;
    margin-bottom: 10px;
    padding: 0.2em 0.5em;
}

.ticket_title img {
    max-height: 120px;
}

@media print,
screen and (max-width: 900px) {
    .ticket_title {
        padding: 0;
    }
}


@media print,
screen and (max-width: 900px) {
    .ticket_title img {
        height: 80px;
    }
}

.ticket_second_title {
    text-align: center;
    color: #00b2d4;
    font-size: 28px;
    letter-spacing: 0.05em;
    margin-bottom: 40px;
}

@media print,
screen and (max-width: 900px) {
    .ticket_second_title {
        font-size: 20px;
        margin-bottom: 25px;
    }
}

.ticket_overview {
    position: relative;
    border: 1px solid #fff;
    background-color: rgba(6, 25, 51, 0.9);
    padding: 20px 100px 30px;
    margin-bottom: 60px;
}

@media print,
screen and (max-width: 900px) {
    .ticket_overview {
        padding: 20px 14px 10px;
        margin-bottom: 60px;
    }
}

.ticket_overview_item {
    padding-bottom: 30px;
    color: #fff;
}

@media print,
screen and (max-width: 900px) {
    .ticket_overview {
        padding-bottom: 25px;
        margin-bottom: 0;
    }
}

.ticket_overview_item h3 {
    color: #00b2d4;
    padding-bottom: 13px;
    margin-bottom: 20px;
    font-size: 18px;
    letter-spacing: 0.05em;
    border-bottom: 2px solid #00b2d4;
}

.ticket_overview_item h4 {
    margin-bottom: 5px;

}

.ticket_overview_item p {
    padding-left: 1em;
    font-size: 13px;
    letter-spacing: 0.05em;
}

.ticket_overview_item p strong {
    font-size: 13px;
}

.ticket_overview_item p a {
    text-decoration: underline;
}

.ticket_overview_item p a:link {
    cursor: pointer;
}

.ticket_overview_item .bnr_clubmail{
    max-width: 240px;
    margin: 10px auto;    
}

.ticket_overview_item a.outlink {
    display: block;
    padding: 0.5em 1em;
    margin: 0 auto;
    background-color: #00b2d4 ;
    border-radius: 4px;
    max-width: 480px;
    text-decoration: none;
    color: #061933;
}

.ticket_overview_item a.outlink:visited {
    color: #061933;
}

@media print,
screen and (max-width: 900px) {
    .ticket_overview_item h3 {
        font-size: 16px;
    }

    .ticket_overview_item p {
        font-size: 12px;
    }

}



.ticket_entry {
    padding-top: 60px;
    padding-bottom: 60px;
}

@media print,
screen and (max-width: 900px) {
    .ticket_entry {
        padding-bottom: 60px;
    }
}

.ticket_entry_flow li {
    margin-bottom: 15px;
}

.ticket_entry_flow li:last-child {
    margin-bottom: 0;
}

.ticket_entry_flow dl {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
}

.ticket_entry_flow dl dt {
    flex-shrink: 0;
    margin-right: 20px;
}

@media print,
screen and (max-width: 900px) {
    .ticket_entry_flow dl dt {
        margin-right: 10px;
    }
}

.ticket_entry_flow dl dd {
    width: 100%;
    padding: 30px;
    border: 1px solid #fff;
    background: rgba(0, 0, 0, 0.4);
    font-size: 16px;
    color: #fff;
    letter-spacing: 0.05em;
}

.ticket_entry_flow dl dd strong {
    font-size: 16px;
    font-weight: bold;
}

@media print,
screen and (max-width: 900px) {
    .ticket_entry_flow dl dd {
        padding: 20px;
        font-size: 12px;
    }
}

.ticket_price {
    padding-bottom: 60px;
}

@media print,
screen and (max-width: 900px) {
    .ticket_price {
        padding-bottom: 45px;
    }
}

.ticket_price_list {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    margin-bottom: 40px;
}

@media print,
screen and (max-width: 900px) {
    .ticket_price_list {
        display: block;
        margin-bottom: 20px;
    }
}

.ticket_price_list_item {
    width: 380px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    background: #fff;
    text-align: center;
}

@media print,
screen and (max-width: 900px) {
    .ticket_price_list_item {
        width: 100%;
        margin-bottom: 15px;
    }
}

.ticket_price_list_item .title {
    padding: 15px 10px;
    -webkit-border-radius: 6px 6px 0 0;
    border-radius: 6px 6px 0 0;
    background: #c9c9c9;
    letter-spacing: 0.05em;
    font-size: 21px;
}

@media print,
screen and (max-width: 900px) {
    .ticket_price_list_item .title {
        padding: 10px 10px;
        font-size: 15px;
    }
}

.ticket_price_list_item .fee {
    padding: 20px 10px 25px;
    -webkit-border-radius: 0 0 6px 6px;
    border-radius: 0 0 6px 6px;
    font-size: 18px;
    letter-spacing: 0.05em;
    background: #fff;
}

.ticket_price_list_item .fee strong {
    font-weight: bold;
    font-size: 120%;

}

@media print,
screen and (max-width: 900px) {
    .ticket_price_list_item .fee {
        padding: 10px 10px 15px;
        font-size: 16px;
    }
}

.ticket_price_list_item .tbl-r02 {
    margin: 0 auto;
}

.ticket_price_list_item .tbl-r02 th {
    background: #e9727e;
    border: solid 1px #ccc;
    color: #fff;
    padding: 10px;
}

.ticket_price_list_item .tbl-r02 td {
    border: solid 1px #ccc;
    padding: 10px;
}

@media screen and (max-width: 640px) {
    .ticket_price_list_item .last td:last-child {
        border-bottom: solid 1px #ccc;
        width: 100%;
    }

    .ticket_price_list_item .tbl-r02 {
        width: 100%;
    }

    .ticket_price_list_item .tbl-r02 th,
    .ticket_price_list_item .tbl-r02 td {
        border-bottom: none;
        display: block;
        width: 100%;
    }

    .ticket_price_list_item .tbl-r02 th {
        padding: 5px;
    }
}

.ticket_reservation .ticket_second_title {
    color: #00b2d4;
}

.ticket_reservation_scheduler {
    -webkit-border-radius: 6px;
    border-radius: 6px;
    background: #e5e5e5;
    padding: 40px 0;
}

@media print,
screen and (max-width: 900px) {
    .ticket_reservation_scheduler {
        padding: 20px 30px 35px;
    }
}

.ticket_reservation_notes {
    color: #fff;
    font-size: 14px;
    letter-spacing: 0.05em;
}

.ticket_reservation_notes a {
    color: #fff;
    text-decoration: underline;
}

@media print,
screen and (max-width: 900px) {
    .ticket_reservation_notes {
        font-size: 12px;
    }
}

.ticket_reservation_notes li {
    margin-bottom: 5px;
}

@media print,
screen and (max-width: 900px) {
    .ticket_reservation_notes li {
        margin-bottom: 5px;
        margin-left: 5px;
    }
}

.ticket_reservation_notes li:last-child {
    margin-bottom: 0;
}


/*チケットカレンダースケジューラー上書き*/


.ticketWrap .detailsBox {
    min-height: 280px;
}

.ticket_reservation .ticketWrap .detailsBox .tit {
    font-size: 18px;
}

.ticket_reservation .ticketWrap .detailsBox .tit .tit01 {
    font-size: 18px;
}

.ticketWrap .naviBox ul li.cr .scheduleBox {
    background: #00b2d4;
}

.ticketWrap .naviBox .nextBtn {
    background: #999;
}

.ticketWrap .naviBox .prevBtn {
    background: #999;
}

.ticketWrap {
    background-color: #061933;
}

.ticketWrap .detailsBox .details ul li .scheduleBox.few .state span:before {
    content: "○";
}

@media screen and (max-width: 860px) {
    .ticket_reservation .ticketWrap .detailsBox .details h4 {
        line-height: 1.5;
    }

    .ticket_reservation .ticketWrap .detailsBox .details a.scrap {
        font-size: 12px;
    }
}


/*-----------------------------------------------------------

	profile

-----------------------------------------------------------*/
.profile {
    padding: 60px 0;
}

@media print,
screen and (max-width: 900px) {
    .profile {
        padding: 40px 0 35px;
    }
}

.profile_title {
    text-align: center;
   margin-bottom: 35px;
    padding: 0;
}



@media print,
screen and (max-width: 900px) {
    .profile_title {
        padding: 10px 0;
        margin-bottom: 0px;
    }
}

.profile_title img {
    height: 96px;
    vertical-align: bottom;
}

@media print,
screen and (max-width: 900px) {
    .profile_title img {
        height: 72px;
    }
}

.profile_list_item {
     background: rgba(255, 255, 255, 0.8);
     background-size: auto;
     padding: 1.5rem 2rem;
     -webkit-border-radius: 6px;
     border-radius: 6px;
     color: #061933;
     min-height: 265px;
     margin-bottom: 25px;
     letter-spacing: 0.05em;
 }

.profile_list_item .flex {
   display: flex;
    -webkit-display: flex;
    justify-content: space-between;
    margin-top: 20px;
}

.profile_list_item .side_l {
    width: 70%;
    margin-right: 20px;
}

.profile_list_item .sign{
    text-align: right;
    width: 100%;
    padding: 10px 0;
    display: block;
}

.profile_list_item .img {
    width: 240px;
}

.profile_list_item .img img {
    width: 100%;
}

@media print,
screen and (max-width: 900px) {
   .profile_list_item .flex {
        flex-direction: column;
        /*padding: 1rem;*/
    }

    .profile_list_item .side_l {
        width: 100%;
        margin-right: 0;
    }

    .profile_list_item .img {
        width: 60%;
        max-width: 240px;
        margin: 20px auto 0;
    }
    
    .profile_list_item .img.wide {
        width: 90%;
        max-width: 320px;
    }
}

.profile_list_item .title {
   /*display: flex;
    -webkit-display: flex;*/
    font-size: 20px;
    padding: 10px 0 10px;
    font-family: tbudmincho-std, sans-serif;
    font-weight: 900;
    font-style: normal;
}

.profile_list_item .title span {
    font-size: 14px;
}
@media print,
screen and (max-width: 900px) {
    .profile_list_item .title {
        font-size: 18px;
        padding: 0 0 5px;
    }
    .profile_list_item .title span {
    font-size: 13px;
}
}

.profile_list_item .sub {
    font-size: 14px;
    padding-bottom: 15px;
}

@media print,
screen and (max-width: 900px) {
    .profile_list_item .sub {
        padding-bottom: 10px;
    }
}

.profile_list_item .sub span {
    font-size: 13px;
    padding-left: 30px;
}

@media print,
screen and (max-width: 900px) {
    .profile_list_item .sub span {
        display: block;
        padding-left: 0;
    }
}

.profile_list_item .text {
    font-size: 13px;
    line-height: 1.8;
    letter-spacing: 0.05em;
}

.profile_list_item .text a, .profile_list_item .text a:link {
    color: cornflowerblue;
    font-weight: bold;
    
}

@media print,
screen and (max-width: 900px) {
    .profile_list_item .text {
        font-size: 12px;
    }
}

/*-----------------------------------------------------------

	goods

-----------------------------------------------------------*/
.goods {
    padding: 60px 0;
    /*background: url(../img/stripe_pattern.png) repeat center center;*/
}
.goods_title {
    text-align: center;
    color: #061933;
    font-size: 28px;
    letter-spacing: 0.05em;
    margin-bottom: 40px;
}

.goods .flexstyle {
    display: flex;
    justify-content: space-between;
}

.goods_list_item {
    width: 32%;
    padding: 1.5%;
    background-color: #061933;
    -webkit-border-radius: 6px;
    border-radius: 6px;
    color: #fff;
    min-height: 265px;
    margin-bottom: 25px;
    letter-spacing: 0.05em;
}

.goods_list_item .title {
    font-size: 16px;
    padding: 10px 0 5px;
    text-align: center;
}

.goods_list_item .img {
    width: 95%;
    margin: 10px auto;
}

.goods_list_item .fee {
    font-size: 18px;
    padding-bottom: 15px;
}

.goods_list_item .fee span {
font-size: 14px;
}

.goods_list_item .text {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.05em;
}

.goods .btn {
    margin: 0 auto;
}

.goods .btn a {
    display: block;
    padding: 1em 1em;
    margin: 0 auto;
    background-color: #00b2d4;
    border-radius: 4px;
    max-width: 400px;
    text-decoration: none;
    color: #061933;
    text-align: center;
}

@media print,
screen and (max-width: 900px) {
    .goods .flexstyle {
        flex-direction: column;
    }
    .goods_list_item {
        width: 100%;
        padding: 15px ;
    }
}

/*-----------------------------------------------------------

	game_description

-----------------------------------------------------------*/
.game_description {
    /*background: url(../img/game_description_bg.png) no-repeat center bottom, url(../img/game_description_bg2.png) no-repeat left top;
  background-color: #1b2831;
  -webkit-background-size: 100% auto , 100%;
  background-size: 100% auto , 100%;*/
    padding: 0;
    background: url(../img/game_description_bg.png) repeat-y 0 0;
    background-size: 100%;
}

.game_description .deco_top {
    background: url(../img/deco_top.png) no-repeat right top;
    background-size: 100%;
}

.game_description .deco_bottom {
    background: url(../img/deco_bottom.png) no-repeat left bottom;
    background-size: 100%;
}

.game_description .contents_inner {
    padding-top: 40px;
    padding-bottom: 40px;
}

.game_description .flexbox {
    display: flex;
}

@media print,
screen and (max-width: 900px) {
    .game_description .deco_top {
        background: url(../img/deco_top.png) no-repeat right top;
        background-size: 170%;
    }

    .game_description .deco_bottom {
        background: url(../img/deco_bottom.png) no-repeat left bottom;
        background-size: 170%;
    }
}

.game_description_second_title {
    text-align: center;
    color: #fff;
    font-size: 28px;
    letter-spacing: 0.05em;
    margin-bottom: 40px;

}

@media print,
screen and (max-width: 900px) {
    .game_description_second_title {
        font-size: 20px;
        margin-bottom: 15px;
        margin-top: 20px;
    }
}

.game_description_item {
    max-width: 860px;
    position: relative;
    padding: 30px;
    margin: 30px auto;
    text-align: center;
    color: #061933;
    border-radius: 8px;
    /*-webkit-box-shadow: 0 10px 6px -6px rgba(0, 0, 0, .3) inset 2px 2px 10px 10px rgba(215,44,92,0.2);
    -moz-box-shadow: 0 10px 6px -6px rgba(0, 0, 0, .3) inset 2px 2px 10px 10px rgba(215,44,92,0.2);
    box-shadow: 0 10px 6px -6px rgba(0, 0, 0, .3), inset 2px 2px 10px 10px rgba(215,44,92,0.2);*/
    background-color: rgba(255, 227, 231, .98);
}

@media print,
screen and (max-width: 900px) {
    .game_description_item {
        padding-right: 20px;
        padding-left: 20px;
        padding-bottom: 30px;
    }
}


/*.game_description_item:last-of-type {
  padding-bottom: 0;
}*/



.game_description_item .title {
    font-size: 22px;
    letter-spacing: 0.08em;
    padding-bottom: 15px;
    font-family: heisei-maru-gothic-std, sans-serif;
    font-weight: 400;
    font-style: normal;
    margin-top: 30px;

}

.game_description_item .title span {
    font-size: 14px;
}



@media print,
screen and (max-width: 900px) {
    .game_description_item .title {
        font-size: 20px;
    }
}

/*
.game_description_item .title span:after {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 28px;
  height: 45px;
  background: url(../img/game_description_title_obj.png) no-repeat 0 0;
  -webkit-background-size: 28px;
  background-size: 28px;
}
*/

.game_description_item .img {
    position: absolute;
    width: 460px;
    right: 0;
    top: 0;
}

@media print,
screen and (max-width: 900px) {
    .game_description_item .img {
        position: static;
        width: 100%;
        margin-bottom: 40px;
    }
}

.game_description_item .img img {
    width: 100%;
}

.game_description_item .img .img_movie {
    margin: 0 auto;
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%;
}

.game_description_item .img .img_movie iframe,
.game_description_item .img .img_movie object,
.game_description_item .img .img_movie embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.game_description_item .text {
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-size: 16px;
    padding-top: 10px;
    line-height: 2;
}

@media print,
screen and (max-width: 900px) {
    .game_description_item .text {
        font-size: 12px;
        text-align: left;
    }
}

.game_description_item .btn {
    margin-top: 40px;
}

@media print,
screen and (max-width: 900px) {
    .game_description_item .btn {
        margin-top: 30px;
    }
}

.game_description_item .btn span {
    display: inline-block;
    text-align: center;
    width: 340px;
    -webkit-box-shadow: 0 0 10px 0 rgba(205, 58, 51, 0.5);
    box-shadow: 0 0 10px 0 rgba(205, 58, 51, 0.5);
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

@media print,
screen and (max-width: 900px) {
    .game_description_item .btn span {
        width: 100%;
    }
}

.game_description_item .btn span:hover {
    -webkit-box-shadow: 0 0 0 0 rgba(205, 58, 51, 0.5);
    box-shadow: 0 0 0 0 rgba(205, 58, 51, 0.5);
}

.game_description_item .btn span a {
    position: relative;
    display: block;
    margin: 0 auto;
    padding: 15px 30px;
    border: 1px solid #fff;
    background: #000;
    font-size: 16px;
    -webkit-box-shadow: 0 0 10px 0 rgba(205, 58, 51, 0.5) inset;
    box-shadow: 0 0 10px 0 rgba(205, 58, 51, 0.5) inset;
}

.game_description_item .btn span a:after {
    content: "";
    position: absolute;
    right: 20px;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 6px 0 6px 7px;
    border-color: transparent transparent transparent #fff;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.game_description_item .btn span a:hover {
    background: #fff;
    color: #161e29;
    -webkit-box-shadow: 0 0 0 0 rgba(205, 58, 51, 0.5) inset;
    box-shadow: 0 0 0 0 rgba(205, 58, 51, 0.5) inset;
}

.game_description_item .btn span a:hover:after {
    border-color: transparent transparent transparent #161e29;
}

.game_description_item.reverse {
    padding-right: 0;
    padding-left: 500px;
}

@media print,
screen and (max-width: 900px) {
    .game_description_item.reverse {
        padding-right: 20px;
        padding-left: 20px;
    }
}

.game_description_item.reverse .img {
    right: auto;
    left: 0;
}

.game_description_obj {
    position: absolute;
    z-index: 3;
}

.game_description_obj.obj_headphone {
    left: -100px;
    top: 160px;
}

@media print,
screen and (max-width: 900px) {
    .game_description_obj.obj_headphone {
        top: auto;
        left: -5px;
        bottom: 90px;
    }
}

@media print,
screen and (max-width: 900px) {
    .game_description_obj.obj_headphone img {
        width: 100px;
    }
}

.game_description_personality_read {
    text-align: center;
    color: #fff;
    padding-top: 20px;
    padding-bottom: 60px;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.07em;
}

@media print,
screen and (max-width: 900px) {
    .game_description_personality_read {
        font-size: 13px;
        padding-top: 10px;
        padding-bottom: 30px;
    }
}

.game_description_personality_list {
    overflow: hidden;
}

.game_description_personality_list li {
    float: left;
    width: 320px;
    margin-right: 20px;
    margin-bottom: 60px;
    text-align: center;
    letter-spacing: 0.05em;
}

@media print,
screen and (max-width: 1000px) {
    .game_description_personality_list li {
        width: 48%;
        margin-right: 4%;
    }
}

@media print,
screen and (max-width: 900px) {
    .game_description_personality_list li {
        width: 48%;
        margin-right: 4%;
        margin-bottom: 20px;
    }
}

.game_description_personality_list li:nth-child(3n) {
    margin-right: 0;
}

@media print,
screen and (max-width: 1000px) {
    .game_description_personality_list li:nth-child(3n) {
        margin-right: 4%;
    }
}

.game_description_personality_list li:nth-child(3n+1) {
    clear: both;
}

@media print,
screen and (max-width: 1000px) {
    .game_description_personality_list li:nth-child(3n+1) {
        clear: none;
    }
}

@media print,
screen and (max-width: 1000px) {
    .game_description_personality_list li:nth-child(2n) {
        margin-right: 0;
    }
}

@media print,
screen and (max-width: 1000px) {
    .game_description_personality_list li:nth-child(2n+1) {
        clear: clear;
    }
}

.game_description_personality_list li p {
    padding-top: 20px;
}

@media print,
screen and (max-width: 900px) {
    .game_description_personality_list li p {
        padding-top: 0;
        font-size: 13px;
    }
}

.game_description_personality_list li p span {
    display: block;
    font-size: 12px;
}

@media print,
screen and (max-width: 900px) {
    .game_description_personality_list li p span {
        font-size: 11px;
    }
}

.game_description_personality_list a {
    display: block;
}

.game_description_personality_list a img {
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease;
}

.game_description_personality_list a:hover img {
    opacity: .7;
}

.personality_box {
    max-width: 1000px;
    margin: 0 auto;
    background: none;
    overflow: hidden;
}

.personality_box_photo {
    float: left;
    width: 420px;
}

@media print,
screen and (max-width: 900px) {
    .personality_box_photo {
        width: 100%;
        margin-bottom: 20px;
    }
}

.personality_box_photo img {
    width: 100%;
}

.personality_box_info {
    color: #fff;
    letter-spacing: 0.05em;
    padding-left: 450px;
}

@media print,
screen and (max-width: 900px) {
    .personality_box_info {
        padding-left: 0;
    }
}

.personality_box_info .title {
    font-size: 24px;
    font-weight: bold;
    padding-bottom: 15px;
}

@media print,
screen and (max-width: 900px) {
    .personality_box_info .title {
        font-size: 20px;
        padding-bottom: 10px;
    }
}

.personality_box_info .text {
    line-height: 1.8;
    font-size: 15px;
}

@media print,
screen and (max-width: 900px) {
    .personality_box_info .text {
        font-size: 14px;
    }
}

/*-----------------------------------------------------------

	etc

-----------------------------------------------------------*/
.etc {
    padding-top: 60px;
    padding-bottom: 60px;
    /* background: url(../img/stripe_pattern.png) repeat center center;*/
}

@media print,
screen and (max-width: 900px) {
    .etc {
        padding-top: 40px;
    }
}

.game_limitations_title {
    text-align: center;
    margin-bottom: 10px;
    padding: 0.2em 0.5em;
}

@media print,
screen and (max-width: 900px) {
    .game_limitations_title {
        padding: 0;
    }
}

.game_limitations_title img {
    height: 80px;
    vertical-align: bottom;
}

@media print,
screen and (max-width: 900px) {
    .game_limitations_title img {
        height: 80px;
    }
}

.faq_title {
    text-align: center;
    margin-bottom: 10px;
    padding: 0.2em 0.5em;
}

@media print,
screen and (max-width: 900px) {
    .faq_title {
        padding: 5px 0;
    }
}

.faq_title img {
    height: 80px;
    vertical-align: bottom;
}

@media print,
screen and (max-width: 900px) {
    .faq_title img {
        height: 80px;
    }
}

.attention_title {
    background: #f1b009;
    text-align: center;
    margin-bottom: 35px;
    box-shadow: 0px 0px 0px 5px #f1b009;
    border: dashed 2px #061933;
    padding: 0.2em 0.5em;
}

@media print,
screen and (max-width: 900px) {
    .attention_title {
        padding: 0;
    }
}

.attention_title img {
    height: 60px;
    vertical-align: bottom;
}

@media print,
screen and (max-width: 900px) {
    .attention_title img {
        height: 60px;
    }
}

.etc_info {
    position: relative;
    padding: 80px 100px 20px;
    border: 1px solid #fff;
    background-color: rgba(6, 25, 51, 0.9);
    color: #fff;
}

@media print,
screen and (max-width: 900px) {
    .etc_info {
        padding: 30px 20px 0;
    }
}

.game_limitations_list {
    padding-bottom: 20px;
}

@media print,
screen and (max-width: 900px) {
    .game_limitations_list {
        padding-bottom: 15px;
    }
}

.game_limitations_list dl {
    padding-bottom: 30px;
    margin-bottom: 20px;
    overflow: hidden;
    border-bottom: 1px solid #bb935e;
}

@media print,
screen and (max-width: 900px) {
    .game_limitations_list dl {
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
}

.game_limitations_list dl:last-child {
    border-bottom: 0;
}

.game_limitations_list dt {
    clear: both;
    float: left;
    width: 40%;
    color: #f1b009;
    padding-bottom: 13px;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 0.05em;
}

@media print,
screen and (max-width: 900px) {
    .game_limitations_list dt {
        float: none;
        width: 100%;
        padding-bottom: 10px;
        font-size: 14px;
    }
}

.game_limitations_list dd {
    float: left;
    width: 60%;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.05em;
    padding-left: 20px;
}

@media print,
screen and (max-width: 900px) {
    .game_limitations_list dd {
        width: 100%;
        font-size: 12px;
        padding-left: 0;
    }
}

.game_limitations_list dd .font_big {
    position: relative;
    font-size: 21px;
    top: -0.15em;
    padding-right: 8px;
    vertical-align: middle;
    color: #f1b009;
    -webkit-font-smoothing: subpixel-antialiased;
    -moz-osx-font-smoothing: auto;
}

.faq_list {
    padding-bottom: 20px;
}

@media print,
screen and (max-width: 900px) {
    .faq_list {
        padding-bottom: 0;
    }
}

.faq_list dt {
    position: relative;
    color: #f1b009;
    margin-bottom: 8px;
    padding-left: 32px;
    font-size: 17px;
    font-weight: bold;
    letter-spacing: 0.05em;
}

@media print,
screen and (max-width: 900px) {
    .faq_list dt {
        font-size: 12px;
    }
}

.faq_list dt span {
    position: absolute;
    left: 0;
    top: -5px;
    font-size: 22px;
    padding-right: 8px;
}

@media print,
screen and (max-width: 900px) {
    .faq_list dt span {
        font-size: 20px;
    }
}

.faq_list dd {
    padding-left: 33px;
    padding-bottom: 30px;
    margin-bottom: 20px;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.05em;
    border-bottom: 1px solid #bb935e;
}

.faq_list dd:last-of-type {
    border-bottom: 0;
}

@media print,
screen and (max-width: 900px) {
    .faq_list dd {
        font-size: 12px;
        padding-bottom: 20px;
        margin-bottom: 20px;
    }
}

.attention_list {
    padding-bottom: 45px;
}

@media print,
screen and (max-width: 900px) {
    .attention_list {
        padding-bottom: 20px;
    }
}

.attention_list li {
    position: relative;
    margin-bottom: 15px;
    padding-left: 30px;
    font-size: 15px;
    line-height: 1.8;
    letter-spacing: 0.05em;
}

@media print,
screen and (max-width: 900px) {
    .attention_list li {
        font-size: 14px;
    }
}

.attention_list li:before {
    content: "";
    position: absolute;
    left: 0;
    top: 6px;
    width: 14px;
    height: 14px;
    background: #fff;
}

@media print,
screen and (max-width: 900px) {
    .attention_list li:before {
        top: 6px;
        width: 13px;
        height: 13px;
    }
}


.bnrArea {
    margin: 0 auto 60px;  
}


.bnrArea .bnr_clubmail {
    text-align: center;
    max-width: 460px;
    margin: 0 auto;
}

@media print,
screen and (max-width: 900px) {
.bnrArea {
    margin: 0 1rem 0;  
}
}
/*-----------------------------------------------------------

	footer

-----------------------------------------------------------*/
.footer_share {
    padding-top: 60px;
    text-align: center;
    background: #061933;
}

.footer .bnr_clubmail {
    text-align: center;
    margin: 20px auto;
    max-width: 320px;
}

@media print,
screen and (max-width: 900px) {
    .footer_share {
        padding-top: 60px;
    }
}

.footer_share_title {
    padding-bottom: 15px;
    max-width: 200px;
    margin: 0 auto;
}

@media print,
screen and (max-width: 900px) {
    .footer_share_title {
        padding-bottom: 10px;
    }
}

.footer_share_title img {
    margin: 0 auto;

}

@media print,
screen and (max-width: 900px) {
    .footer_share_title img {
        height: 45px;
    }
}

.footer_share_sns {
    font-size: 0;
}

.footer_share_sns li {
    display: inline-block;
    margin: 0 5px;
}

@media print,
screen and (max-width: 900px) {
    .footer_share_sns li {
        width: 33.3333333%;
        margin: 0;
    }
}

@media print,
screen and (max-width: 900px) {
    .footer_share_sns li:last-child {
        margin-right: 0;
    }
}

.footer_share_sns a {
    display: inline-block;
}

.footer_share_sns a:hover {
    opacity: .6;
}

.footer {
    padding-top: 57px;
    padding-bottom: 60px;
    color: #fff;
    text-align: center;
    background: #061933;
}

@media print,
screen and (max-width: 900px) {
    .footer {
        padding-top: 40px;
        padding-bottom: 60px;
    }
}

.footer_copyright {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 1.8;
}

@media print,
screen and (max-width: 900px) {
    .footer_copyright {
        font-size: 13px;
    }
}

/*------------------------------ここからカレンダー*/

/*API*/
#ticket_api {
    display: none;
    opacity: 0;
    transition: opacity;
    background: none;
    margin: 0px auto;
    position: relative;
    z-index: 1;
}

#ticket_api.on {
    display: block;
    animation: ticket_on 0.2s forwards;
}

@keyframes ticket_on {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
    }
}

#ticket_api .note {
    margin: 30px auto 0 auto;
    color: #ffffff;
    line-height: 1.6;
    font-size: 12px;
}

#ticket_api .note a {
    color: #ffffff;
}

#ticket_api .note a:hover {
    text-decoration: none;
}

/*スケジュール*/

#schedule-2 {
    width: 100%;
    position: relative;
}

#schedule-2:before {
    content: "";
    display: block;
    width: 100%;
    padding-top: 4%;
    position: absolute;
    top: 0;
    left: 0;
}

#schedule-2:after {
    content: "";
    display: block;
    width: 100%;
    padding-top: 4%;
    position: absolute;
    bottom: 0;
    left: 0;
}

#schedule-2 .schedule-2-wrap {
    width: 100%;
    position: relative;
    z-index: 2;
}

#schedule-2 .schedule-2-wrap .area-select-wrap .area-arrow {
    display: none;
}

#schedule-2 .schedule-2-wrap .area-select {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
}

#schedule-2 .schedule-2-wrap .area-select .area-bt {
    width: 80px;
    height: 80px;
    margin: 4px;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    cursor: pointer;
}

#schedule-2 .schedule-2-wrap .area-select .area-bt span {
    color: #061933;
    font-size: 12px;
}

#schedule-2 .schedule-2-wrap .area-select .area-bt.active {}

#schedule-2 .schedule-2-wrap .area-select .area-bt.active span {
    color: #fff;
}

#schedule-2 .schedule-2-wrap .area-space {
    /*padding: 20px 0; */
}

#schedule-2 .schedule-2-wrap .area-block {
    display: none;
}

#schedule-2 .schedule-2-wrap .area-block.active {
    display: block;
}

#schedule-2 .schedule-2-wrap .about-fc {
    text-align: center;
    margin: 60px auto;
}

#schedule-2 .schedule-2-wrap .about-fc h6 {
    margin-bottom: 12px;
}

#schedule-2 .schedule-2-wrap .about-fc p {
    width: 100%;
    max-width: 600px;
    margin: auto;
    margin-bottom: 1.3em;
    text-align: left;
}

#schedule-2 .schedule-2-wrap .about-fc ul {
    width: 100%;
    max-width: 600px;
    margin: 20px auto;
}

#schedule-2 .schedule-2-wrap .about-fc li {
    text-align: left;
    font-size: 12px;
    margin-bottom: 8px;
}

#schedule-2 .schedule-2-wrap .about-fc li span {
    font-size: 10px;
}

#schedule-2 .schedule-2-wrap .area-wrap {
    width: 100%;
    max-width: 840px;
    margin: 20px auto;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-switch {
    /*width: calc(100% - 80px);*/
    height: 48px;
    display: block;
    background-color: #00b2d4;
    position: relative;
    cursor: pointer;
    margin: auto;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-switch:hover {
    opacity: 0.85;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-switch:before,
#schedule-2 .schedule-2-wrap .area-wrap .area-switch:after {
    content: "";
    height: 100%;
    width: 60px;
    display: block;
    position: absolute;

    top: 0;
    left: -39px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-switch:after {
    left: initial;
    right: -39px;
    transform: rotateY(180deg);
}

#schedule-2 .schedule-2-wrap .area-wrap .area-switch span {
    text-align: center;
    width: calc(100% - 40px);
    max-width: 300px;
    width: fit-content;
    display: block;
    line-height: 2.4em;
    color: #061933;
    font-weight: 100;
    position: relative;
    margin: auto;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-switch span:before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    background-image: url("../img/arrow_b.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    position: absolute;
    top: 10px;
    left: -30px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-switch span:after {
    left: initial;
    right: -30px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-switch.open span:before,
#schedule-2 .schedule-2-wrap .area-wrap .area-switch.open span:after {
    transform: rotate(-90deg);
}

#schedule-2 .schedule-2-wrap .area-wrap .area-header {
    /*width: calc(100% - 120px);*/
    padding: 20px;
    text-align: center;
    background: rgba(0, 0, 0, 0.4);
    position: relative;
    margin: auto;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-header:before,
#schedule-2 .schedule-2-wrap .area-wrap .area-header:after {
    content: "";
    height: 100%;
    width: 60px;
    position: absolute;
    top: 0;
    left: -38px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-header:after {
    left: initial;
    right: -38px;
    transform: rotateY(180deg);
}

#schedule-2 .schedule-2-wrap .area-wrap .area-header h4 {
    /*font-size: 21px;*/
    margin-bottom: 15px;
    color: #fff;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-header h5 {
    font-size: 14px;
    color: #fff;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-header .date {
    font-size: 16px;
    color: #fff;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents {
    display: none;
    padding: 4% 3%;
    /*width: 80%;*/
    background-color: #eef6ff;
    position: relative;
}


#schedule-2 .schedule-2-wrap .area-wrap .area-contents:before,
#schedule-2 .schedule-2-wrap .area-wrap .area-contents:after {
    content: "";
    height: 100%;
    width: 66px;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents:after {
    left: initial;
    right: 0;
    transform: rotateY(180deg);
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .ticket-table.fc {
    margin-top: 80px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .map {
    position: relative;
    z-index: 1;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .stage {
    width: 100%;
    text-align: center;
    padding: 0;
    position: relative;
    z-index: 1;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .stage .stage-name {
    font-family: 'Noto Serif JP', serif;
    font-size: 30px;
    font-weight: 700;
    color: #061933;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .stage .stage-address {
    font-size: 14px;
    padding: 12px 0;
    color: #061933;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .access {
    text-align: center;
    font-size: 12px;
    position: relative;
    z-index: 1;
    color: #061933;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .area-price {
    margin-top: 40px;
    position: relative;
    z-index: 1;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .ticket-details {
    position: relative;
    z-index: 1;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .ticket-details h6 {
    color: #061933;
    border-bottom: 1px solid #061933;
    padding-bottom: 6px;
    font-size: 18px;
    margin-bottom: 12px;
    margin-top: 40px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .ticket-details h6.ticket-cat {
    color: #061933;
    font-weight: 600;
    font-family: sans-serif;
    padding-bottom: 0;
    border: none;
    margin-top: 0;
    margin-bottom: 4px;
    font-size: 15px;
    margin-top: 30px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .ticket-details .faq-bt {
    display: block;
    width: 240px;
    color: #d4145a;
    text-align: center;
    font-size: 14px;
    margin: 40px auto;
    border-bottom: 1px solid #d4145a;
    padding-bottom: 4px;
    font-weight: 400;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide {
    width: 100%;
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    flex-wrap: wrap;
    text-align: center;
    margin: 40px auto 80px;
    border-bottom: 4px solid #061933;
    position: relative;
    z-index: 1;
    color: #061933;
    display: none;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide h6 {
    margin-bottom: 8px;
    font-size: 16px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide.hide {
    display: none;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide .s100 {
    width: 100%;
    padding: 20px 0;
    border: 1px solid #061933;
    border-bottom: none;
    border-top: 4px solid #061933;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide .s100 span {
    font-size: 14px;
    color: #061933;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide .s100:hover {
    background-color: #957b00;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide .s100:hover span {
    color: #fff;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide .s33 {
    width: calc(100% / 3 - 1px);
    padding: 20px 0;
    border: 1px solid #061933;
    border-left: none;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    transition: all 0.3s;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide .s33:nth-of-type(2) {
    width: calc(100% / 3 - 2px);
    border-left: 1px solid #061933;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide .s33 span {
    font-size: 14px;
    color: #061933;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide .s33:hover {
    background-color: #957b00;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide .s33:hover span {
    color: #fff;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide a.coming {
    position: relative;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide a.coming:after {
    content: "COMING SOON";
    width: 100%;
    padding: 23px 0;
    background-color: rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 0;
    left: 0;
    color: #fff;
    text-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
    font-size: 12px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide a.coming:hover span {
    color: #957b00;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .area-schedule {
    width: 100%;
    margin: 40px auto;
    display: block;
    position: relative;
    z-index: 1;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .area-schedule .schedule-sin {
    width: 100%;
    margin-bottom: 30px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .area-schedule .schedule-sin .schedule-sin-details {
    display: block;
    text-align: center;
    font-size: 14px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .area-schedule .schedule-sin .schedule-sin-details a {
    display: inline-block;
    color: #fff;
    background-color: #957b00;
    padding: 8px 12px;
    font-size: 12px;
    border-radius: 4px;
    margin-top: 8px;
}

#schedule-2 .schedule-2-wrap .area-wrap .area-contents .credit {
    font-size: 14px;
    position: relative;
    z-index: 1;
    color: #061933;
}

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

    #schedule-2 {
        /*padding-top: 130px;*/
    }

    #schedule-2 .schedule-2-wrap .area-select-wrap {
        width: 100%;
        position: relative;
    }

    #schedule-2 .schedule-2-wrap .area-select-wrap .area-arrow {
        position: absolute;
        display: block;
        width: 8%;
        height: 100%;
        top: 0;
        bottom: 0;
        margin: auto;
    }

    #schedule-2 .schedule-2-wrap .area-select-wrap .area-arrow img {
        width: 100%;
        height: 100%;
    }

    #schedule-2 .schedule-2-wrap .area-select-wrap .area-arrow.prev {
        left: -3%;
    }

    #schedule-2 .schedule-2-wrap .area-select-wrap .area-arrow.next {
        right: -3%;
    }

    #schedule-2 .schedule-2-wrap .area-select {
        overflow: scroll;
        -webkit-overflow-scrolling: touch;
        overflow-scrolling: touch;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        -webkit-justify-content: start;
        justify-content: start;
        padding: 8px;
        width: 84%;
        margin: auto;
    }

    #schedule-2 .schedule-2-wrap .area-select .area-bt {
        flex-shrink: 0;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-switch:before {
        left: -38px;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-switch:after {
        right: -38px;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-header .date {
        font-size: 14px;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-contents:before {
        width: 60px;
        left: 2px;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-contents:after {
        width: 60px;
        right: 2px;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-contents .ticket-table.fc {
        margin-top: 40px;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-contents .stage .stage-name {
        font-size: 21px;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-contents .stage .stage-address {
        font-size: 12px;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide .s100 span {
        font-size: 10px;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-contents .playguide .s33 span {
        font-size: 10px;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-contents .area-schedule .schedule-sin .schedule-sin-header {
        font-size: 14px;
    }

    #schedule-2 .schedule-2-wrap .area-wrap .area-contents .area-schedule .schedule-sin .schedule-sin-details {
        font-size: 14px;
    }
}

/*
アニメーション
-------------------------*/

.fadein {
    opacity: 0;
    transform: translate(0, 60px);
    transition: all 1000ms;
}

.fadein.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}

/*---------------------------------
アコーディオンボックス
--------------------------------*/
.acbox{
    width: auto;
    font-size:0px; /* ラベルと開く部分を分離する時は数値を入れる */
    margin:0; /* ボックス全体の位置調整 */
    }
    
    .acbox label{
    width: auto;
    font-size: 14px; /* ラベルの文字サイズ */
    font-weight: bold;
    text-align: center;
    background: rgba(6, 25, 51, 1.0);; /* ラベルの背景色 */
    position: relative;
    display: block;
    padding:8px;
    border-radius: 4px; /* ラベルの角の丸み */
    cursor: pointer;
    color: #fff;
    }
    
    .acbox label:hover{
    background: rgba(6, 25, 51, 1.0);; /* ラベルにマウスを乗せた時の背景色 */
    }
    
    .acbox input{
    display: none;
    }
    
    .acbox label:after{
    color: #fff;
    content:"▼"; /* ラベルのアイコン */
    position: absolute;
    top: 50%;
    right: 15px;
    margin-top: -14px;
    }
    
    .acbox input:checked ~ label::after {
    content:"▲"; /* ラベルをクリックした後のアイコン */
    }
    
    .acbox div{
    height: 0px;
    overflow: hidden;
    opacity: 0;
    transition: 0.15s; /* 開閉スピードの設定 */
    }
    
    .acbox input:checked ~ div{
    height: auto;
    padding: 18px; /* 開いた部分の枠内の余白 */
    border-radius: 0px;
    background: #fff; /* 開いた部分の背景色 */
    opacity: 1;
    }
    
    .acbox input:checked ~ label {
    background: #000; /* クリック後のラベルの背景色 */
    }
    
    .acbox-under{
    font-size: 13px; /* 開いた部分の文字サイズ */
    line-height: 1.5;
    color: #555; /* 開いた部分の文字色 */
    }
  
    .taisaku_info {
      margin:0 auto 40px auto;
      width: 90%;
      max-width: 960px;
      padding: 1rem;
      background: rgba(255, 255, 255, 0.70) !important;
      font-size: 90%;
      border: 1px solid #061933;
    }
    
    .taisaku_info h2 {
      color: #000;
      font-weight: bold;
      font-size: 110%;
      text-align: center;
    }
    .taisaku_info .txt {
    text-align: left;
    margin-bottom: 10px;
    margin-top: 10px;
    color:#000;
    }

    .ticket-details .btn {
        width: auto;
        font-size: 14px;
        font-weight: bold;
        text-align: center;
        background: #e9727e;
        position: relative;
        display: block;
        padding: 8px;
        margin: 1rem auto 0;
        border-radius: 4px;
        cursor: pointer;
        color: #fff;
        max-width: 480px;
    }
    
    .ticket-details .btn a {
      color: #fff;
    }
  