﻿@charset "UTF-8";

/*---------------------------------
サイトのcss
---------------------------------*/

* {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
}

/* html, body
---------------------------------*/
html,
body {
    width: 100%;
    font-size: 14px;
    color: #000000;
    background: #fff;
    line-height: 1.7;
    font-family: 'Noto Sans CJK JP', 'Noto Sans JP', sans-serif;
    /* font-family: "游明朝体", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Sans Japanese",-apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI","ヒラギノ角ゴ ProN W3", Meiryo, sans-serif; */
}
body:lang(en) {
    font-family: 'Noto Sans', sans-serif;
}
body:lang(sc) {
    font-family: 'Noto Sans CJK SC', 'Noto Sans SC', sans-serif;
}
body:lang(tc) {
    font-family: 'Noto Sans CJK TC', 'Noto Sans TC', sans-serif;
}
body:lang(ko) {
    font-family: 'Noto Sans CJK KR', 'Noto Sans KR', sans-serif;
}

/* section
---------------------------------*/
section {
    padding: 2rem 0;
}

/* article
---------------------------------*/
article {
    padding: 1.5rem 0;
}

/* p
---------------------------------*/
p {
    margin: 0;
    padding: 0;
}
article > p {
    padding: 0.2rem 0 0 0;
}

/* blockquote
---------------------------------*/
blockquote {
    font-size: 1rem;
    margin: 0 0 1rem 0;
    border-left: none;
    padding: 0;
}

/* font-awesomeのcss捻じ曲げ
---------------------------------*/
i {
    margin: 0 0.4rem;
}

/* magnific-popupのcss捻じ曲げ
---------------------------------*/
.mfp-wrap {
    position: fixed;
    top: 3vh;
    left: 50%;
    width: 1070px;
    height: 94vh;
    margin-left: -535px;
}
.mfp-container {
    text-align: center;
    position: absolute;
    width: 100%;
    height: auto;
    left: 0;
    top: 0;
    padding: 0 8px;
    box-sizing: border-box;
    background-color: #fff !important;
    opacity: 0.95 !important;
}
.mfp-content {
    padding: 25px 35px 25px 25px;
}
.mfp-close {
    width: 44px;
    height: 44px;
    line-height: 44px;
    position: relative;
    text-decoration: none;
    text-align: center;
    opacity: 0.65;
    padding: 0 0 18px 10px;
    color: #fff;
    font-style: normal;
    font-size: 28px;
    font-family: Arial, Baskerville, monospace;
    bottom: 5;
    text-align: center;
    margin: 20px auto 20px auto;
    background-color: #333 !important;
    border-radius: 50%;
    color: #fff !important;
}
@media screen and (max-width:1070px) {
    .mfp-wrap {
        width: 85%;
        margin-left: -42.5%;
    }
    .mfp-content {
        padding: 25px 10px;
    }
}
@media screen and (max-width:767px) {
    .mfp-wrap {
        width: 90%;
        margin-left: -45%;
    }
    .mfp-content {
        padding: 20px 5px;
    }
}

/* toastrのcss捻じ曲げ
---------------------------------*/
.toast-top-right {
    top: 115px !important;
    right: 0 !important;
}
.toast-message {
    font-size: 0.9rem;
}

/* h
---------------------------------*/
h1 {
    font-size: 2.0rem;
    margin: 0;
}
h2 {
    font-size: 1.8rem;
    margin: 0;
}
h3 {
    font-size: 1.6rem;
    margin: 0;
}
h4 {
    font-size: 1.2rem;
    margin: 0;
}
h5 {
    font-size: 1.0rem;
    margin: 0;
}
article > h1.h-underline,
article > h2.h-underline,
article > h3.h-underline,
article > h4.h-underline,
article > h5.h-underline {
    padding: 0 0 0.8rem 0;
    margin: 0 0 1.25rem 0;
    border-bottom: 0.15rem solid #000000;
}
@media screen and (max-width:543px) {
    h1 {
        font-size: 1.9rem;
    }
    h2 {
        font-size: 1.7rem;
    }
    h3 {
        font-size: 1.5rem;
    }
    h4 {
        font-size: 1.2rem;
    }
    h5 {
        font-size: 1.0rem;
        margin: 0;
    }
}

/* ul
---------------------------------*/
ul {
    margin: 0;
    padding: 0;
}
ul > li {
    list-style: none;
}
ul.disc {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    margin-left: 1.3rem !important;
}
ul.disc > li {
    list-style: disc;
    margin: 0.3rem 0rem;
}
@media screen and (max-width:767px) {
    ul.disc {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
        margin-left: 0.8rem !important;
    }
}

/* ol
---------------------------------*/
ol {
    margin: 0;
    padding: 0;
    margin-left: 1.5rem;
}
ol > li {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    list-style-type: decimal;
}
ol.parentheses {
    padding: 0;
    margin-left: 2rem;
}
ol.parentheses > li {
    list-style-type: none;
    list-style-position: inside;
    counter-increment: cnt;
}
ol.parentheses > li:before {
    display: marker;
    content: "(" counter(cnt) ") ";
    margin-left: -2rem;
}
ol.parentheses2 {
    padding: 0;
    margin-left: 1.3rem;
}
ol.parentheses2 > li {
    list-style-type: none;
    list-style-position: inside;
    counter-increment: cnt;
}
ol.parentheses2 > li:before {
    display: marker;
    content: counter(cnt) ") ";
    margin-left: -1.3rem;
}

/* a
---------------------------------*/
a {
    text-decoration: none;
}
a:hover,
a:active,
a:focus {
    cursor: pointer;
    outline: none;
}
a.link {
    color: #777;
    text-decoration: underline;
    font-weight: 600;
}
a.link:hover,
a.link:active,
a.link:focus {
    color: #000000;
    outline: none;
}

/* img
---------------------------------*/
img {
    max-width: 100%;
    height: auto !important;
    vertical-align: baseline;
}
a > img:hover {
    opacity: 0.7;
    filter: alpha(opacity=70);
    -ms-filter: "alpha(opacity=70)";
    outline: none;
}

/* button
---------------------------------*/
button {
    outline: none !important;
}

/* textarea
---------------------------------*/
textarea {
    width: 100%;
}

/* テーブル
---------------------------------*/
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%;
}

/* プレースホルダのカラー
---------------------------------*/
::-webkit-input-placeholder {
    color: #bbb;
}

/* wrap
---------------------------------*/
.wrap {
    width: 100%;
    padding: 0;
    position: relative;
    overflow: hidden;
    background: #ffffff;
}

/* header
---------------------------------*/
header {
     border-bottom: 0.12rem solid #ebebeb;
     margin-bottom: 2rem;
}
header .navbar {
    margin-bottom: 0;
    position: relative;
    padding: 0.75rem 0;
}
header .navbar-default {
    background-color: #ffffff;
    border-color: #ffffff;
}
header .navbar-brand {
    color: #111;
    font-size: 1.5rem;
    text-decoration: none;
    display: inline-block;
    margin: 0 !important;
    padding: 0;
    height: 3.8rem;

    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;

    -webkit-box-pack:start;
    -webkit-justify-content:flex-start;
    -ms-flex-pack:start;
    justify-content:flex-start;

    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
    align-items:center;
}
header .navbar-brand .inlineblock {
    display: inline-block;
}
header .navbar-brand > img {
    width: 10.2rem;
    margin: 0 0.55rem 0 -0.25rem;
}
header .navbar-nav {
    column-gap: 1rem !important;
}
header .navbar-right {
    margin-right: -15px !important;
    height: 3.8rem;

    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;

    -webkit-box-align:center;
    -webkit-align-items:center;
    -ms-flex-align:center;
    align-items:center;
}
header .navbar-light .navbar-toggler {
    padding-right: 0;
    color: transparent;
    border: none;
    border-radius: 0;
}
header .navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'><path stroke='rgba(0, 0, 0, 1)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>");
}
header .navbar-default .navbar-nav > li > a {
    font-size: 1rem;
    color: #000000;
    text-align: center;
}
.navbar-default .navbar-toggler:focus,
.navbar-default .navbar-toggler:hover {
    background-color: #fff;
}
.navbar-default .navbar-toggler {
    border: none;
    margin-top: 0.85rem;
}
.navbar-default .navbar-toggler .icon-bar {
    background-color: #000;
}
.nav-sp {
    display: none;
    position: fixed;
    z-index: 1050;
    background: rgba(0,0,0,0.95);
    width: 100%;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow-y: auto;
}
.nav-sp .navbar-toggler {
    margin-top: 1.2rem;
    margin-bottom: 0;
    color: #fff;
}
.nav-sp .navbar-brand {
    display:-webkit-box;
    display:-webkit-flex;
    display:-ms-flexbox;
    display:flex;

    -webkit-box-pack:start;
    -webkit-justify-content:flex-start;
    -ms-flex-pack:start;
    justify-content:flex-start;

    float: none;
    font-size: 1.2rem;
    color: #fff;
    padding-left: 15px;
}
.nav-sp > ul {
    padding: 0 1rem;
    margin-top: 2rem;
}
.nav-sp > ul > li {
    padding: 25px 0;
    text-align: center;
}
.nav-sp > ul > li a {
    padding: 0.5rem 0;
    color: #fff;
}
@media screen and (max-width:900px) {
    header .navbar-brand {
        font-size: 1.2rem;
    }
}
@media screen and (max-width:767px) {
    header .navbar-brand {
        width: 85%;
    }
    .nav-sp .navbar-brand {
        width: auto;
        margin-top: 0.75rem !important;
    }
    header .navbar-nav > li {
        padding-top: 0.5rem;
        padding-bottom: 0.5rem;
    }
    header .navbar-header img {
        width: 2.8rem;
        vertical-align: middle;
        padding: 0;
        margin: 0 0.5rem 0 0.7rem;
    }
}
@media screen and (max-width:467px) {
    header .navbar-brand:lang(en) {
        font-size: 1rem;
    }
    .nav-sp .navbar-brand:lang(en) {
        font-size: 1rem;
    }
    header .navbar-header img {
        width: 2.5rem;
        vertical-align: middle;
        padding: 0;
    }
}


/* footer
---------------------------------*/
footer {
    background: #fff;
    padding: 0;
    margin: 3.5rem 0 0 0;
}
footer .container {
    max-width: 900px;
}
footer .service-link {
    text-align: center;
    color: #000000;
    font-weight: 600;
    padding: 2rem 0;
}
footer .service-link ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
footer .service-link ul li {
    width: 8rem;
    padding: 0.5rem;
}
footer .service-link a {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    border: 1px solid #b2b2b2;
    padding: 0.25rem 0;
    text-decoration: none;
    height: 4rem;
    color: #111;
    font-weight: 700;
}
footer .link {
    text-align: center;
    padding: 2rem 0;
    border-top: 0.12rem solid #ebebeb;
}
footer .link ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
}
footer .link ul li {
    padding: 0.5rem 2rem 0.5rem 0;
}
footer .link a {
    color: #000000;
    text-decoration: none;
}
footer .copylight {
    color: #000000;
    font-weight: 600;
    font-size: 0.85rem;
    text-align: center;
    padding: 1.5rem 0 3rem 0;
}
@media screen and (max-width:767px) {
    footer .service-link ul li {
        width: 6.7rem;
        padding: 0.4rem;
    }
}

/* text-brand
---------------------------------*/
.text-brand {
    color: #000000;
}

/* box-white
---------------------------------*/
.box-white {
/*
    background: #fff;
    margin: 4rem auto 4rem auto;
    padding: 1rem 3rem 2rem 3rem;
    -webkit-box-shadow: 0 8px 17px 2px rgba(0,0,0,0.14), 0 3px 14px 2px rgba(0,0,0,0.12), 0 5px 5px -3px rgba(0,0,0,0.2);
    box-shadow: 0 8px 17px 2px rgba(0,0,0,0.14), 0 3px 14px 2px rgba(0,0,0,0.12), 0 5px 5px -3px rgba(0,0,0,0.2);
    position: relative;
    z-index: 13;
*/
}
@media screen and (max-width:767px) {
    .box-white {
/*
        margin: 2.5rem auto 5rem auto;
        padding: 1rem;
*/
    }
}

/* nav-category
---------------------------------*/
.nav-category {
}
.nav-category ul {
    padding: 0 0 2rem 0;
}
.nav-category ul li {
    display: inline-block;
}
.nav-category ul li a {
    background: #fff;
    color: #ff0000;
    border: 1px solid #ff0000;
    display: inline-block;
    padding: 0.4rem 0.65rem;
    margin-right: 0.35rem;
    font-weight: 600;
    position: relative;
    text-decoration: none;
    position: relative;
}
.nav-category ul li a.active {
    background: #ff0000;
    color: #fff;
}
.nav-category ul li a.active:after {
    content: "";
    position: absolute;
    top: 2.4rem;
    left: 50%;
    width: 1.8rem;
    margin-left: -0.9rem;
    border-top: 0.9rem solid #ff0000;
    border-right: 0.9rem solid transparent;
    border-bottom: 0.9rem solid transparent;
    border-left: 0.9rem solid transparent;
}
.nav-category ul li a:hover,
.nav-category ul li a:active,
.nav-category ul li a:focus {
    background: #ff0000;
    color: #fff;
}

/* event
---------------------------------*/
.event {
    margin: 2rem 0;
}
.event-thumb {
    margin: 0;
}
.event-image {
    text-align: center;
    max-width: 500px;
    margin: 0 auto 2.5rem auto;
}
.event-category {
    font-size: 0.9rem;
    display: inline-block;
    background: #000000;
    color: #fff;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    margin: 0 0 0.5rem 0;
}
.venue_name {
    font-size: 0.9rem;
    display: inline-block;
    background: #000000;
    color: #fff;
    font-weight: 600;
    padding: 0.2rem 0.5rem;
    margin: 0 0 0.5rem 0;
}
.event-term {
    font-size: 0.85rem;
    padding: 0 0 0.25rem 0;
}
.event-title {
    display: block;
    padding: 0;
    font-size:  1.8rem;
    font-weight: 600;
    line-height: 2.3rem;
}
.event-text {
    display: block;
    padding: 2rem 0 0 0;
}
.event-list {
}
.event-list .event {
    background: #fff;
    -webkit-box-shadow: 0 8px 17px 2px rgba(0,0,0,0.05), 0 3px 14px 2px rgba(0,0,0,0.05), 0 5px 5px -3px rgba(0,0,0,0.05);
    box-shadow: 0 8px 17px 2px rgba(0,0,0,0.05), 0 3px 14px 2px rgba(0,0,0,0.05), 0 5px 5px -3px rgba(0,0,0,0.05);
    padding: 1.5rem;
    margin: 0 0 2rem 0;
    width: 100%;
}
@media screen and (max-width:767px) {
    .event-image {
        max-width: 100%;
        width: 100%;
        margin: 0 auto 2rem auto;
    }
}
@media screen and (max-width:543px) {
    .event-wrap {
        margin: 0 auto;
    }
    .event-thumb {
        max-width: 100%;
        width: 100%;
    }
    .event-list .event {
        padding: 1rem;
    }
}

/* release
---------------------------------*/
.release {
}
.release-title {
    display: inline-block;
    padding: 0.1rem 1rem;
    margin: 0.25rem 0 0.25rem -0.15rem;
    color: #000000;
    border-radius: 2rem;
    border: 0.1rem solid #000000;
    font-size: 1.1rem;
    min-width: 16rem;
    text-align: center;
}
.release-term {
    display: block;
    margin: 0.7rem 0 0 0;
}
.release-summary {
    padding: 1rem 0 0 0;
}
.release-summary ul.release-perform {
    margin: 0.5rem 0 0 0;
}
.release-summary ul.release-perform > li {
    padding: 1rem;
    border-bottom: 0.1rem solid #bbb;
}
.release-summary ul.release-perform > li:first-child {
    border-top: 0.1rem solid #bbb;
}
.release-notice {
    margin: 1rem 0 0 0;
    padding: 1.5rem;
    border: 1px solid #bbb;
    line-height: 2.2rem;
}
.release-list {
    padding: 1rem 0 0 0;
}
.release-list .release {
    border-top: 1px solid #ddd;
    padding: 0;
}
.release-list .release a {
    color: #222;
    display: block;
    padding: 1.2rem 0.5rem;
    position: relative;
    text-decoration: none;
}
.release-list .release a:hover,
.release-list .release a:active,
.release-list .release a:focus {
    text-decoration: none;
}
.release-list .release a:after {
    content: "\f138";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    color: #000000;
    font-size: 2.0rem;
    position: absolute;
    right: 0.5rem;
    top: 35%;
}
@media screen and (max-width:991px) {
    .release-title {
        padding: 0.1rem 0.8rem;
        font-size: 1rem;
    }
    .release-notice {
        padding: 1rem 1rem 1.5rem 1rem;
    }
    .release-list .release a:after {
        top: 55%;
    }
}

/* perform-title
---------------------------------*/
.perform-title {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 2.0rem;
    padding: 0 0 0.6rem 0;
}

/* perform-list
---------------------------------*/
.perform-list {
}
.perform-list table {
}
.perform-list table tr {
}
.perform-list table tr td {
    border-bottom: 0.13rem solid #ccc;
    vertical-align: middle;
    padding: 1.5rem 1rem;
}
.perform-list table tr td:first-child {
    width: 60%;
}
.perform-list table tr td:last-child {
    width: 40%;
}
.perform-list > ul {
}
.perform-list > ul > li {
    padding: 1.5rem 0.5rem;
}
.perform-list > ul > li.option {
    padding-top: 30px;
}
@media screen and (max-width:767px) {
    .perform-list table tr td {
        display: block;
        width: 100%;
    }
    .perform-list table tr td:first-child {
        width: 100%;
        border-bottom: 0.13rem solid #fff;
        padding: 1.5rem 1rem 0 1rem;
    }
    .perform-list table tr td:last-child {
        width: 100%;
        border-bottom: 0.13rem solid #ccc;
    }
}

/* seat-type
---------------------------------*/
.seat-type {
}
.seat-type > ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    width: 100%;
    list-style: none;
}
.seat-type > ul > li {
    position: relative;
    width: 23%;
    padding: 1.5rem 1rem;
    margin: 1rem 1%;
    border: solid 1px #333;
    text-align: center;
}
.seat-type .seat-type-selected {
    width: 180px;
    margin: 0;
    padding: 5px 0;
    font-size: 1.0em;
    border-radius: 3px;
    background-color: #000000;
    border: 1px solid #000000;
    color: #fff;
    font-weight: 600;
    margin: 0 auto;
}
@media screen and (max-width:1070px) {
    .seat-type > ul > li {
        width: 47%;
    }
}
@media screen and (max-width:767px) {
    .seat-type > ul > li {
        width: 100%;
        margin: 1rem 0;
    }
}

/* select-seat-type-list
---------------------------------*/
.select-seat-type-list {
    padding: 4rem 2rem;
    background: #fff0f0;
}
.select-seat-type-list > h2 {
}
.select-seat-type-list > ul {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    width: 100%;
    list-style: none;
    margin-bottom: 1rem;
}
.select-seat-type-list > ul > li {
    width: 30%;
    margin: 1% 1% 0 0;
    background: #fff0f0;
    border: 1px solid #333;
    padding: 1rem;
}
.select-seat-type-list > ul > li > .order-detail-seq {
    border-bottom: 3px solid #000000;
    display: inline-block;
    font-weight: 600;
    padding: 0.1rem 0.25rem;
    margin-bottom: 1.5rem;
}
@media screen and (max-width:991px) {
    .select-seat-type-list > ul > li {
        width: 33%;
    }
}
@media screen and (max-width:767px) {
    .select-seat-type-list > ul > li {
        width: 100%;
    }
}
@media screen and (max-width:543px) {
    .select-seat-type-list > ul > li {
        width: 100%;
    }
}

/* breadcrumb-nav
---------------------------------*/
ul.breadcrumb-nav {
    margin: 1.5rem 0 0 0;
}
ul.breadcrumb-nav li {
    display: inline-block;
}
ul.breadcrumb-nav li a {
    color: #000000;
}
ul.breadcrumb-nav li a:hover {
    opacity: 0.6;
    text-decoration: none;
}
ul.breadcrumb-nav i {
    margin: 0 1rem;
}

/* news
---------------------------------*/
.news {
    margin: 2rem 0 1rem 0;
    padding: 2rem;
    background: #f8f7f7;
/*
    -webkit-box-shadow: 0 8px 17px 2px rgba(0,0,0,0.14), 0 3px 14px 2px rgba(0,0,0,0.12), 0 5px 5px -3px rgba(0,0,0,0.2);
    box-shadow: 0 8px 17px 2px rgba(0,0,0,0.14), 0 3px 14px 2px rgba(0,0,0,0.12), 0 5px 5px -3px rgba(0,0,0,0.2);
*/
}
.news .news-header {
    border-bottom: 1px solid #bbb;
}
.news .news-header .news-date {
    font-size: 0.95rem;
    display: inline-block;
}
.news .news-header .news-category {
    font-size: 0.9rem;
    display: inline-block;
    font-weight: 600;
    padding: 0.1rem 0.4rem;
    margin-right: 0.5rem;
    min-width: 140px;
    text-align: center;
}
.news .news-header .news-title {
    display: block;
    font-size: 1.5em;
    padding: 1rem 0 1rem 0;
    line-height: 2.4rem;
}
.news .news-content {
    padding: 2rem 0 0 0;
}
.news-list {
    padding: 0 2rem;
    margin: 2rem 0;
    background: #f8f7f7;
}
.news-list h1,
.news-list h2,
.news-list h3 {
    margin-bottom: 4rem;
    position: relative;
}
.news-list h1:after,
.news-list h2:after,
.news-list h3:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 3.5rem;
    width : 6rem ;
    margin: 0 auto;
}
.news-list .news {
    border-bottom: 1px solid #bbb;
    margin: 0;
    padding: 2rem 0;
}
.news-list .news:last-child {
    border-bottom: none;
}
.news-list .news .news-header {
    padding: 0;
    margin: 0;
    border-bottom: none;
}
.news-list .news .news-header .news-title {
    font-size: 1.4em;
    font-weight: normal;
    line-height: 2.1rem;
    margin-top: 1rem;
    padding: 0.5rem 0 0 0;
}
.news-list .news .news-header a {
    text-decoration: none;
    color: #000000;
    display: block;
    position: relative;
}
@media screen and (max-width:767px) {
    .news {
        padding: 2rem 1rem;
    }
    .news-list {
        padding: 0 1rem;
    }
}

/* page
---------------------------------*/
.page-title {
    margin: 3rem 0 3rem 0;
    font-size: 1.9rem;
    line-height: 3.0rem;
    text-align: center;
    position: relative;
    padding: 0;
}
/*
.page-title:after,
.page-title:after,
.page-title:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1rem;
    border-bottom: 2px solid #000000;
    width : 6.5rem ;
    margin: 0 auto;
}
*/
.page-discripton {
    padding: 0 0 2rem 0;
}
.page-content {
    padding: 1rem 0 2rem 0;
}

/* price-info
---------------------------------*/
.price-info {
    padding: 0.5rem 0 0 0;
}
.price-info .order-detail {
    padding: 1rem 0 0 0;
}
.price-info .order-detail h3 {
    border-bottom: 1px solid #333;
    display: inline-block;
    margin: 0 0 1rem 0;
    padding: 0.2rem 0.2rem 0.2rem 0.2rem;
    font-weight: 600;
}
.price-info table {
    margin: 1rem 0 0 0;
}
.price-info table tr th,
.price-info table tr td {
    border-top: 1px solid #ddd;
    padding: 0.5rem;
}
.price-info table tr th {
    background: #ddd;
}
.price-info table tr th:nth-child(2),
.price-info table tr th:nth-child(3),
.price-info table tr th:nth-child(4),
.price-info table tr td:nth-child(2),
.price-info table tr td:nth-child(3),
.price-info table tr td:nth-child(4) {
    text-align: center;
}
.price-info .total-price {
    border-top: 1px solid #ddd;
    text-align: right;
    padding: 0.5rem;
}
@media screen and (max-width:767px) {
    .price-info table tr th:nth-child(1),
    .price-info table tr td:nth-child(1) {
        width: 45%;
    }
}

/* credit-info
---------------------------------*/
.credit-info {
    padding: 1.5rem;
    border: 1px solid #ddd;
    margin: 3rem 0 3rem 0;
}

/* 規約のスクロール付きwrap
---------------------------------*/
.terms-wrap-scroll {
    border: 1px solid #ddd;
    padding: 2rem 1rem;
    height: 30vh;
    overflow-y: scroll;
}
@media screen and (max-width:767px) {
    .terms-wrap-scroll {
        height: 50vh;
    }
}

/* よくある質問
---------------------------------*/
.faq-content h1 {
    font-size: 20px;
    line-height: 29px;
    font-weight: 600;
    color: #000000;
    padding: 1.5rem 0;
}
.faq-content section {
    padding: 0 0 1.5rem 0;
}
.faq-content .faq {
    padding: 0 0 1rem 0;
    max-width: 766px;
    margin-left: auto;
    margin-right: auto;
}
.faq-content .faq h1 {
    font-size: 16px;
    line-height: 24px;
    font-weight: bold;
    line-height: 1.9rem;
    padding: 1rem 0.5rem 1rem 0.5rem;
    color: #000000;
    cursor: pointer;
    display:flex;
    display:-webkit-flex;
}
.faq-content .faq h1 .question {
    display:inline-block;
    width:85%;
}
.faq-content .faq h1 .mark {
    background: #fff;
    display: inline-block;
    margin-left: 20px;
    padding: 0;
    position: relative;
}
.faq-content .faq h1 .mark-to-open{
    float:right;
    content: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='currentColor' class='bi bi-plus-lg' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M8 2a.5.5 0 0 1 .5.5v5h5a.5.5 0 0 1 0 1h-5v5a.5.5 0 0 1-1 0v-5h-5a.5.5 0 0 1 0-1h5v-5A.5.5 0 0 1 8 2Z'/></svg>");
}
.faq-content .faq h1 .mark-to-close{
    float:right;
    content: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='currentColor' class='bi bi-dash-lg' viewBox='0 0 16 16'><path fill-rule='evenodd' d='M2 8a.5.5 0 0 1 .5-.5h11a.5.5 0 0 1 0 1h-11A.5.5 0 0 1 2 8Z'/></svg>");
}
.faq-content .faq h1 i {
    margin-left: 0;
}
.faq-content .faq p {
    display: none;
    font-size: 16px;
    line-height: 24px;
    padding: 1rem 0.9rem 1rem 1rem;
    width:92%;
}
@media screen and (max-width:543px) {
    .faq-content h1 {
        font-size: 18px;
        line-height: 26px;
    }
    .faq-content .faq h1 {
        font-size: 14px;
        line-height: 20px;
        display:flex;
        display:-webkit-flex;
    }
    .faq-content .faq p {
        font-size: 14px;
        line-height: 28px;
        width:95%;
    }
}
/* hist-list
---------------------------------*/
.hist-list {
    margin-top: -0.5rem;
}
.hist-list .hist {
    background: #fff;
    -webkit-box-shadow: 0 8px 17px 2px rgba(0,0,0,0.14), 0 3px 14px 2px rgba(0,0,0,0.12), 0 5px 5px -3px rgba(0,0,0,0.2);
    box-shadow: 0 8px 17px 2px rgba(0,0,0,0.14), 0 3px 14px 2px rgba(0,0,0,0.12), 0 5px 5px -3px rgba(0,0,0,0.2);
    padding: 2rem;
    margin: 0 0 3rem 0;
}
.hist-list .hist .seat-type > ul > li {
    text-align: left;
}

/* applicaton-status
---------------------------------*/
.applicaton-status {
    display: inline-block;
    padding: 0.37rem;
    font-size: 1.1rem;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    background-color: #aaa;
    min-width: 10rem;
    margin: 0.5rem 0;
}
.applicaton-status-none {
    background-color: #f8b85c;
}
.applicaton-status-win {
    background-color: #4ebaee;
}
.applicaton-status-cancel-waiting {
    background-color: #6de66d;
}
.applicaton-status-revive-win {
    background-color: #4ebaee;
}
.applicaton-status-lose {
    background-color: #aaa;
}
.applicaton-status-invalid {
    background-color: #aaa;
}

/* application-status-message
---------------------------------*/
.application-status-message {
    padding: 3rem 1.5rem;
    margin: 1rem 0 0 0;
    background: #fff0f0;
}
.application-status-message > h1 {
    font-size: 1.8rem;
    font-weight: 600;
    text-align: center;
    margin: 0.5rem 0 2.5rem 0;
}
.application-status-message .pay-info {
    padding: 0.75rem 0;
}
.application-status-message .pay-info p {
    padding: 0.5rem 0;
}
.application-status-message .win-list {
    padding: 1.5rem;
    margin: 3rem 0 0 0;
    border: 0.1rem solid #000;
}
.application-status-message .win-list .header {
    padding: 0.75rem 0.2rem 0 0.2rem;
    font-weight: 600;
    text-align: center;
}
.application-status-message .win-list .win-info {
    border-bottom: 1px solid #aaa;
    padding: 1.5rem 0;
}
.application-status-message .win-list .win-info .order-detail-seq {
    border-bottom: 1px solid #000000;
    display: inline-block;
    margin: 0 0 1rem 0;
    padding: 0.2rem 0.2rem 0.2rem 0.2rem;
    font-weight: 600;
}
.application-status-message .win-list .total-price {
    text-align: center;
    padding: 2rem 0 1rem 0;
}

/* 同意事項
---------------------------------*/
.agree {
    border: 1px solid #bbb;
    padding: 1.25rem;
    margin: 0 0 1.5rem 0;
    line-height: 2.5rem;
}

/* google-map埋め込み
---------------------------------*/
.google-map {
    position: relative;
    width: 60%;
    padding-top: 56.25%;
    margin: 0 auto;
}
.google-map iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
@media screen and (max-width:991px) {
    .google-map {
        width: 100%;
    }
}

/* youtube動画埋め込み
---------------------------------*/
.youtube {
    position: relative;
    width: 80%;
    padding-top: 56.25%;
    margin: 0 auto;
}
.youtube iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100% !important;
    height: 100% !important;
}
@media screen and (max-width:991px) {
    .youtube {
        width: 100%;
    }
}

/* 会員メニュー
---------------------------------*/
ul.menu {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    width: 100%;
}
ul.menu li {
    margin: 1rem;
}
ul.menu li a {
    color:#000000;
    display:inline-block;
    width: 300px;
    height: 56px;
    background-color: #F1F1F1;
    opacity: 1;
    font-size:16px;
    line-height:24px;
    padding-left:32px;
    padding-top:16px;
    text-align:left;
}
ul.menu li span {
    display:inline-block;
    width: 300px;
}
ul.menu li a:hover,
ul.menu li a:focus,
ul.menu li a:active {
    background-color: #CFCFCF
}
ul.menu li a svg {
    float:right;
    margin-top:3px;
    margin-right:18px;
}
/* イベント・発売情報情報表示の共通部用
---------------------------------*/
.event-release {
    margin: 3rem 0 1rem 0;
    padding: 1rem 1.5rem 1rem 1.5rem;
    position:relative;
    border-left: 0.3rem solid #000000;
}
.event-release h1 {
    font-weight: 600;
}

/* nicEdit用
---------------------------------*/
.nictext {
}
.nictext ul {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem;
    margin-left: 1.3rem !important;
}
.nictext ul > li {
    list-style: disc;
    margin: 0.3rem 0rem;
}
@media screen and (max-width:767px) {
    .nictext ul {
        margin-top: 0.5rem;
        margin-bottom: 0.5rem;
        margin-left: 0.8rem !important;
    }
}

/* タイトル用
---------------------------------*/
@media screen and (min-width: 680px){
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 767px){
  .pc { display:none; }
  .sp { display:block; }
}
.bottom0 {
    padding-bottom: 0px!important;
}
.top0-left50-bottom0 {
    padding-top: 0px!important;
    padding-left: 50px!important;
    padding-bottom: 0px!important;
}

/* order-no
---------------------------------*/
.order-no {
}
.order-no .order-no-label {
    font-weight: normal;
    display: inline;
}
.order-no .order-no-value {
    font-size: 1.5em;
    font-weight: 600;
    color: #a94442;
    display: inline;
}
@media screen and (max-width:767px) {
    .order-no .order-no-label {
        display: block;
    }
    .order-no .order-no-value {
        display: block;
    }
}

/* selectize
---------------------------------*/
.selectize-dropdown,
.selectize-input,
.selectize-input input {
    color: #424242 !important;
    font-weight: normal !important;
    font-style: normal !important;
    font-stretch: normal !important;
    line-height: normal !important;
    letter-spacing: 0.1px !important;
}
.selectize-input,
.selectize-control.single .selectize-input.input-active {
    background: #fafafa !important;
}
.selectize-input {
    border: solid 1px #dfdfdf !important;
    padding: 6px !important;
    height: 42px !important;
    -webkit-box-shadow: none !important;
    box-shadow: none !important;
}
.selectize-input > .item {
    padding: 4px 0 0 !important;
    height: 30px !important;
}
.selectize-input > input {
    margin: 0 !important;
    height: 30px !important;
}
.selectize-control.single .selectize-input:after {
    content: none !important;
}

/* Zabuto Calendar
---------------------------------*/
div.zabuto_calendar .table tr td div.day {
    background-color: #e6e2e2 !important;
}
div.zabuto_calendar .table tr td.event-styled div.day {
    background-color: #fff !important;
    color: #000 !important;
}
div.zabuto_calendar .table tr td.event-styled.selected-date div.day {
    font-weight: bold !important;
    color: #fff !important;
    background-color: #000000 !important;
}
div.zabuto_calendar .table-bordered > tr.calendar-dow-header > th,
div.zabuto_calendar .table-bordered > tr.calendar-dow > td {
    border: 1px solid #ddd !important;
}
div.zabuto_calendar .table-bordered > tr.calendar-dow-header,
div.zabuto_calendar .table-bordered > tr.calendar-dow {
    border-top: none;
}
div.zabuto_calendar .table > tr.calendar-month-header > td > div.calendar-month-navigation > span > span.glyphicon-chevron-left {
    display: inline-block;
    background-image: url(./icons/chevron-left.svg);
    content: '';
    background-repeat: no-repeat;
    width:16px;
    height:16px;
    padding:0px;
}
div.zabuto_calendar .table > tr.calendar-month-header > td > div.calendar-month-navigation > span > span.glyphicon-chevron-right {
    display: inline-block;
    background-image: url(./icons/chevron-right.svg);
    content: '';
    background-repeat: no-repeat;
    width:16px;
    height:16px;
    padding:0px;
}
div.zabuto_calendar .table-bordered tr.calendar-month-header td:last-child {
    border-right: 1px solid #ddd;
}
.available-legend {
    color: #ff6969;
}
div.zabuto_calendar .table tr td div.today {
    position: relative;
}
div.zabuto_calendar .table tr td div.today:before {
    position: absolute;
    content: ' ';
    top: 0;
    right: 20%;
    bottom: 7px;
    left: 20%;
    border-bottom: solid;
    border-color: #000;
    border-width: 1px;
}

/* perform-category
---------------------------------*/
.perform-category {
    padding: 3rem 4rem 4rem 1rem;
    border-bottom: 0.1rem solid #111;
}
.perform-category .select {
    margin: 10px 0 0 0;
}
.perform-category .select input[type="radio"] {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    margin-left: -30px;
    margin-right: 15px;
}
.perform-category .select .radio label {
    margin: 20px 0 0 0;
    font-size: 1rem;
    padding-left: 35px;
}

/* ticket-date
---------------------------------*/
.ticket-date {
    padding: 4rem 1rem;
    border-bottom: 0.1rem solid #111;
}
.ticket-date .select , .ticket-date .display {
    margin: 30px 0 0 0;
	padding-left: 0.5rem;
}
.ticket-date .display > span {
    font-size: 1.4rem;
}

/* timetable
---------------------------------*/
.timetable {
    padding: 4rem 1rem;
    border-bottom: 0.1rem solid #111;
    display: none;
}
.timetable .select > ul > li {
    padding: 1.5rem 0.5rem;
}
.timetable .display {
    padding: 1.5rem 0.5rem;
}
.timetable .display > span {
    font-size: 1.4rem;
}
.time > ul {
    display: flex;
    -webkit-justify-content: flex-start;
    justify-content: flex-start;
    flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    width: 100%;
    list-style: none;
}
.time > ul > li {
    position: relative;
    width: 18%;
    padding: 1rem 1rem;
    margin: 1rem 1%;
    text-align: center;
    border: solid 1px #333;
    border-radius: 3px;
    cursor: pointer;
}
.time .time-selected {
    background-color: #000;
    color: #fff;
    cursor: auto;
}
.time .time-disable {
    background-color: #fff;
    color: #999;
    cursor: auto;
}
@media screen and (max-width:1200px) {
    .timetable .time > ul > li {
        width: 47%;
    }
}
@media screen and (max-width:767px) {
    .timetable .time > ul > li {
        width: 100%;
        margin: 1rem 0;
    }
}

/* ticket-area
---------------------------------*/
.ticket-area {
    padding: 4rem 1rem;
    display: none;
}

/* coupon-area
---------------------------------*/
.coupon-area {
    padding: 0rem 1rem;
    display: none;
}

/* stock-status
---------------------------------*/
.stock-status {
    color: #fff;
    background: #000000;
    border-radius: 12px;
    width: 100px;
    text-align: center;
    margin: 5px 0 5px 10px;
    font-size: 14px;
    display: inline-block;
}

/* kv
---------------------------------*/
.kv {
    position: relative;
    z-index: 20;
    width: 800px;
    margin-left: auto;
    margin-right: auto;
}
.kv .slider img {
    width: 100%;
}
@media screen and (max-width:767px) {
    .kv {
        width: auto;
    }
}

/* btn-upload
---------------------------------*/
.btn-upload {
    display: inline-block;
    overflow: hidden;
    position: relative;
    padding: 0.5rem 0;
    color: #000000;
    background-color: #fff;
    border: 1px solid #000000;
    -webkit-box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.3);
    box-shadow: 0 4px 5px 0 rgba(0,0,0,0.14), 0 1px 10px 0 rgba(0,0,0,0.12), 0 2px 4px -1px rgba(0,0,0,0.3);
    width: 180px;
    text-align: center;
    -webkit-transition: all .4s ease;
    transition: all .4s ease;
    margin: 0;
    font-size: 1.0em;
    border-radius: 3px;
    cursor: pointer;
}
.btn-upload:hover, .btn-upload:focus {
    opacity: 0.8;
}
.btn-upload input[type="file"] {
    opacity: 0;
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0);
    position: absolute;
    right: 0;
    top: 0;
    margin: 0;
    cursor: pointer;
    height: 30px;
    font-size: 15px;
}