@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Lato:400,700|Noto+Sans+JP:400,700');
/* RESET
--------------------------------------------------- */
*,*::before,*::after{box-sizing:border-box;}
body,h1,h2,h3,h4,p,figure,blockquote,dl,dd,ul,ol{margin:0;padding:0;}
ul,ol{list-style:none;}
html:focus-within{scroll-behavior:smooth;}
body{min-height:100vh;text-rendering:optimizeSpeed;line-height:1.5;position: relative;}
a:not([class]){text-decoration-skip-ink:auto;}
img,picture{max-width:100%;display:block;margin:0 auto;}
input,button,textarea,select{font:inherit;}
@media(prefers-reduced-motion:reduce){
	html:focus-within{scroll-behavior:auto;}
	*,
	*::before,
	*::after{animation-duration:.01ms !important;
			animation-iteration-count:1 !important;
			transition-duration:.01ms !important;
			scroll-behavior:auto !important;}
	}
html{font-size: 62.5%;}
body{position: relative;}
table,th,td{border-width: 0;}

/* COMMON
--------------------------------------------------- */
.contents a { display: block; color:#FFEE00; text-decoration: underline; }
.contents a:visited { color:#FFEE00; text-decoration: underline;}
.contents a:hover{ color: #FFEE00;  text-decoration: none;}
.contents a.link {
	display: inline-block;
	color: #000;
}
.contents a.link:before{
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	margin: 0 0 0 5px;
	padding: 0 5px 0 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #000;
}
.contents a.link:hover:before{
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	margin: 0 0 0 5px;
	padding: 0 5px 0 0;
	border-style: solid;
	border-width: 5px 0 5px 5px;
	border-color: transparent transparent transparent #000;
}
.contents .no-pc { display: none;}
.contents br.no-pc { display: none; }
.contents .no-sp { display: block;}
.contents .sub-txt { font-size: 1.4rem;}
.contents .tax { padding: 0 0 0 .25em; font-size: 1.2rem; font-weight: normal;}
.contents em { color:#D70000; font-style: normal; font-weight: bold;}
.contents strong { font-style: normal; font-weight: bold;}
.contents .strikethrough { color:#666; text-decoration: line-through;}
.contents .caution {
    color: #666;
    padding: .5em 0 0 1em;
    font-size: 1.2rem;
    line-height: 1.4;
    text-indent: -1em;
}
.contents .caution::before { 
    content: "※";
    color: #666;
}
.contents .txt-c { text-align: center;}
.contents .txt-l { text-align: left;}
.contents .txt-r { text-align: right;}

@media screen and (max-width: 1024px) {
	.contents .sub-txt { font-size: 1.2rem;}
    .contents .no-pc { display: block; }
    .contents br.no-pc { display: inline; }
    .contents .no-sp { display: none; }
    .contents .caution {
        padding: .25em 0 0 1em;
    }    
}
@media screen and (max-width: 599px) {
	.contents a.link:before{
		margin: 0 0 0 3px;
		padding: 0 3px 0 0;
		border-width: 3px 0 3px 3px;
	}
	.contents a.link:hover:before{
		margin: 0 0 0 3px;
		padding: 0 3px 0 0;
		border-width: 3px 0 3px 3px;
	}
	.contents .sub-txt,
    .contents .caution,
    .contents .tax{
        font-size: 1.0rem ;
    } 
	.contents .caution {
		text-align: left;
	}
}

/* LAYOUT
--------------------------------------------------- */
.contents {
    width: 100%;
    min-width: 320px;
	 background: #1D190E;
    color: #1D190E;
    font-family: 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
    font-size: 1.6rem;
    font-weight: normal;
    line-height: 1.6;
    overflow: hidden;
    position: relative;   
    text-align: center;
}
.contents-area {
    width: 100%;
    border: 10px solid #C7990C;
    margin: 0 auto ;
    padding: 0 20px;
    background: #FFF;
    text-align: center;
}
.contents-inner {
    width: 100%;
    margin: 0 auto;
    padding: 40px 0;
    text-align: center;
}
.contents-box{
    width: 100%;
    margin: 0 auto;
    position: relative;
}
.contents-box + .contents-box {
	margin-top: 40px;
}
@media all and (max-width: 1024px){
    .contents {
        font-size: 1.4rem;
        line-height: 1.5;
    }
    .contents-area {
        padding: 0 10px;
    } 
	.contents-area {
		border-top: none;
	}
	.contents-area-first {
		border-top: 10px solid #C7990C!important;
	}
    .contents-inner{
        padding: 30px 0;
    }
    .contents-box + .contents-box {
        margin-top: 30px;
    }
}
@media all and (max-width: 599px){
    .contents {
        font-size: 1.2rem;
        line-height: 1.35;
    }	
    .contents-area {
        padding: 0 5px;
        border: 5px solid #C7990C;
    }
    .contents-inner{
        padding: 20px 0;
    }
    .contents-box + .contents-box {
        margin-top: 20px;
    }
}

/* HEADDING
--------------------------------------------------- */
.contents h1 {
}
.contents h2{
	color: #FFF;
	font-weight:bold;
	font-size: 2.0rem;
	padding: .5em 1em;
	margin: 0 0 5px;
	text-align: center;
}
.contents h3{
    margin-top: 10px;
	padding: 5px 1em;
	font-size: 1.4rem;
	font-weight: normal;
    background: #F2F0EC;
	color: #FFF;
	border-left: 10px solid #1D190E;
	border-right: 10px solid #1D190E;
    text-align: center;
}
.contents #TOYOKAWA h2,
.contents #TOYOKAWA h3 {
    background-color: #C30000;
}
.contents #YOKOHAMA h2,
.contents #YOKOHAMA h3 {
    background-color: #008CD6;
}
.contents #NAGOYA h2,
.contents #NAGOYA h3 {
    background-color: #992F3B;
}
.contents #OSAKA h2,
.contents #OSAKA h3 {
    background-color: #093fa6;
}
.contents #SHONAN h2,
.contents #SHONAN h3 {
    background-color: #5bc43e;
}
.contents #OKAYAMA h2,
.contents #OKAYAMA h3 {
    background-color: #2E69A4;
}
.contents #SENDAI h2,
.contents #SENDAI h3 {
    background-color: #ffc700;
}
.contents #TACHIKAWA h2,
.contents #TACHIKAWA h3 {
    background-color: #e4007f;
}
.contents #NIIGATA h2,
.contents #NIIGATA h3 {
    background-color: #FF6600;
}
.contents #SAPPORO h2,
.contents #SAPPORO h3 {
    background-color: #254e68;
}
.contents #CHIBA h2,
.contents #CHIBA h3 {
    background-color: #4062ED;
}
.contents #HIROSHIMA h2,
.contents #HIROSHIMA h3 {
    background-color: #51308f;
}
.contents #MIYAZAKI h2,
.contents #MIYAZAKI h3 {
    background-color: #F67A05;
}
.contents #KAGOSHIMA h2,
.contents #KAGOSHIMA h3 {
    background-color: #21305F;
}
.contents #KITAKYUSHU h2,
.contents #KITAKYUSHU h3 {
    background-color: #005BAC;
}
.contents #NAGOYA h2,
.contents #NAGOYA h3 {
    background-color: #005BAC;
}
@media all and (max-width: 1024px){
    .contents h2{
        font-size: 1.8rem;
    }
}
@media all and (max-width: 599px){
    .contents h2{
        font-size: 1.6rem;
        padding: .25em .5em;
        text-align: center;
    }
    .contents h3{
        font-size: 1.2rem;
    }
}
/* CAMPAIGN
--------------------------------------------------- */
.campaign-bnr {
	max-width: 750px;	
	width: 100%;
	margin: 10px auto;
	text-align: center;
}
/* HERO
--------------------------------------------------- */
.hero {
    width: 100%;
    margin: 0 auto 20px;
    text-align: center;
}
.hero li{
    padding: 0 0 1em;
}

.hero img { 
    max-width: auto;
	width : 100%;
}
@media all and (max-width: 1024px){
    .hero {
        margin: 0 auto 10px;
    }
}
@media all and (max-width: 599px){
}
/* TABS
--------------------------------------------------- */
.tabs {
    max-width: 1000px;
	margin: 20px auto 0;
    font-size: 0;
}
.tabs .tab-list ul{
    position: relative;
}
.tabs .tab-list li{
    display: inline-block;
    vertical-align: bottom;
}
.tabs .tab-list-two li{
    width: 50%;
    margin: 0;
}
.tabs .tab-list-three li{
    width: 33.3333333%;
}
.tabs .tab-list li a {
    display: block;
    text-align: center;
	padding: 8px;
	background: #0A2B6F;    
    border: 1px solid #1D190E;
	border-bottom: none; 
	border-radius: 10px 10px 0 0;
	color: #C7990C;    
	font-size: 1.8rem;
    font-weight: bold;
}
.tabs .tab-list li a:hover {
    padding: 10px 8px;
    color: #FFF000;
}
.tabs .tab-list li .on {
    display: block;
    text-align: center;
	padding: 12px 8px;
    background-color: #C7990C;
	border-radius: 10px 10px 0 0;
    color: #1D190E;
	font-size: 1.8rem;
    font-weight: bold;
}
@media all and (max-width: 1024px){
    .tabs {
        margin: 10px 0 0;
    }
    .tabs .tab-list-two li, .tabs .tab-list-three li{
        width: 100%;
    }
    .tabs .tab-list li a {
        border-radius: 10px 10px 0 0;
        font-size: 1.2rem;
        line-height: 1.2;
    }
    .tabs .tab-list li a:hover {
        padding: 8px;
    }
    .tabs .tab-list li.no-sp {
        display: none;
    }
}
/* TABLE
--------------------------------------------------- */
.table-overview {
    width: 100%;
    margin: 20px auto 0;
    border-collapse: collapse!important;
	border-width: 0!important;
    table-layout: auto;
}
.table-overview th { 
    display: table-cell;
    padding: 22px .5em 0;
    font-size: 1.2rem;
	white-space: nowrap;
    vertical-align: top;
}
.table-overview td { 
    display: table-cell;
    padding: 10px;
	text-align: left;
}
.table-overview tbody th { font-weight: normal;}
.table-overview tbody td { font-size: 1.6rem;  font-weight: bold;}
.table-overview .overview-lead { font-size: 2.4rem;}
.table-overview .overview-map { text-align: center;}
.table-overview .overview-area {
    margin: 0 0 10px;
    padding: 10px;
    background: #F2F0EC;
    text-align: center;}
.table-overview .overview-area .overview-lead { font-size: 1.8rem; font-weight: bold;}
.table-overview .overview-map img{ max-width: 490px; width: 100%; margin: 0 auto;}

.list-schedule {
	max-width: 600px;
    margin: 20px auto;
}
.list-schedule li + li{
    margin: 20px auto 0;
}
.list-schedule li:last-child {
    text-align: left;
}
.table-info{
    width: 100%;
    background-color: #FFF;
    border-collapse: collapse;
    border: 1px #CCC solid;
    color: #000;
	font-size: 1.4rem;
    table-layout: auto;
}
table.table-info th,
table.table-info td{
    border: 1px #CCC solid;
    padding: 10px 8px;
	font-weight: bold;
    text-align: center;
    vertical-align: middle!important;
    line-height: 1.2;
}
.table-info th{
    background: #ecf2de;
}
.table-reserved{
	width: 100%;
	margin: 0;
	border-collapse: collapse;
	border: 1px solid #CCC;
	background: #fff;
	font-size: 1.4rem;
	text-align: center;
}
.table-reserved thead th {
	padding: 10px 8px;
	border: 1px solid #CCC;
    background: #99B2CC;
	text-align: center;
}
.table-reserved tbody th {
	padding: 10px 8px;
	border: 1px solid #CCC;
	background: #336699;
	color: #FFF;
	line-height: 1.2;
	text-align: center;
}
.table-reserved td{
	padding: 10px;
	font-weight: bold;
    border: 1px solid #CCC;
	line-height: 1.2;
	text-align: center;
	vertical-align: middle;
}
.table-reserved tbody th.re-a {
	background: #EE6464;
}
.table-reserved tbody th.re-b {
	background: #F7B548;
}
.table-reserved tbody th.re-c {
	background: #8AC597;
}
.table-reserved tbody th.re-rb {
	background: #0069B7;
}
.table-reserved tbody th.re-ry {
	background: #FFF852;
	color: #000;
}
.table-reserved tbody th.re-rg {
	background: #009B44;
}


table.table-info td.saledate{
    padding: 5px 8px;
	background: #FFC;
    color: #0000B2;
	line-height: 1.5;
}
.royal-price{ 
    margin: 0 0 10px;
    font-size: 1.6rem;
    font-weight: bold;
}
.nowrap {
    white-space: nowrap;
}
.price-lead-box {
	background: #000;
}
.price-lead-box img {
	width: 60%;
}
@media all and (max-width: 1024px){
	.table-overview th { 
		padding: 1em 5px;
    }
    .table-overview .overview-lead { font-size: 1.6rem;}
    .table-overview .overview-area .overview-lead { font-size: 1.4rem;}
}
@media all and (max-width: 599px){
    .table-overview {
        margin: 10px auto 0;
    }
    .table-overview th { 
        display: block;
        width: 100%;
		padding: 3px 5px;
        border: 1px solid #EEE;
        color: #666;
		text-align: center;
    }
    .table-overview td { 
        display: block;
        width: 100%;
        padding: 5px 5px 10px;
    }
    .table-overview .overview-lead { 
        font-size: 1.4rem;
    }
    .table-overview .overview-map { 
        padding: 0 0 15px;
        text-align: center;
    }
    .table-overview .overview-area {
        margin: 5px 0 0;
        padding: 5px;
        font-size: 1.2rem;
    }
    .table-overview .overview-area .overview-lead { 
        font-size: 1.2rem;
        line-height: 1.2;
    }
    .table-overview .overview-map img{ width: 100%;}
    .royal-price{ 
        margin: 0 0 8px;
        font-size: 1.4rem;
    }
    .list-schedule {
        margin: 10px auto;
    }
    .list-schedule li + li{
        margin: 10px auto 0;
    }
    table .notice {
        text-align :left;
    }
}
/* ticket-detail
--------------------------------------------------- */
.ticket-detail {
    margin: 20px 0 0;
    position: relative;
    font-size: 0;
}
.ticket-detail .map-area {
    display: inline-block;    
    width: 35%;
    vertical-align: top;
}
.ticket-detail .map-area img{    
	max-width: 80%;
	margin: 0 auto;
}
.ticket-detail .info-area {
    display: inline-block;
    width: 65%;
    vertical-align: top;
}
.ticket-detail .pic-reserved {
    width: 200px;
    margin: 20px auto 0;
}
.info-area {
    padding: 20px;
    background: #f5f5f5;
}
@media all and (max-width: 1024px){
    .ticket-detail {
        margin: 5px 0 0;
    }
    .ticket-detail .map-area{
        display: block;    
        width: 100%;
        padding: 0 0 10px;
        text-align: center;
    }
    .ticket-detail .map-area img{    
        max-width: 300px;
    }
    .ticket-detail .info-area{
        display: block;
        width: 100%;
    }
}
@media all and (max-width: 599px){
    .info-area{
        padding: 5px;
        background: #f5f5f5;
    }
}

/* announce
--------------------------------------------------- */
.announce {
    width: 100%;
    margin: 10px auto 20px;
    padding: 2em 4em;
    background: #FFF;
    border: 4px #CCC double;
    color: #333;
    line-height: 1.6;
    text-align: center;
}
.announce p + p {
    margin-top: 1em;
}
.announce-title {
    margin: 0 auto;
    color: #D00;
    font-size: 2rem;
    font-weight: bold;
    text-align: center;
}
.announce-txt {
    text-align: left;
}
.announce a {
    display: inline-block;
}
.contents .announce a{ color: #1111cc; transition: color .3s; text-decoration: underline;}
.contents .announce a:visited{ color:#1111CC;}
.contents .announce a:hover{ color:orange;}

@media screen and (max-width: 1024px) {
    .announce {
        padding: 2em;
    }
    .announce-title {
        font-size: 1.8rem;
    }
}
@media screen and (max-width: 599px) {
    .announce {
        margin: 0 auto 10px;
        padding: 2em 1.4em;
        line-height: 1.4;
    }
    .announce p + p {
        margin-top: .5em;
    }
    .announce-title {
        font-size: 1.6rem;
    }
}
/* NOTES
--------------------------------------------------- */
.notes {
  padding: .5em 1em 0 2em;
  font-size: 1.2rem;
  line-height: 1.4;
  text-align: left;
  text-indent: -1em;
  list-style: none;
}
.notes li::before{
  content: "※";  
}

.notes li + li{
  margin-top: .25em;
}

@media all and (max-width: 599px){
    .notes {
        margin: 10px 0 0;
        padding:1em .5em 1em 1.5em;
    }
    .note br,
    .ticket-detail .notes br{
        display: none;
    }
    
}

/* BUTTON
--------------------------------------------------- */
.btn-wrap {
    margin: 20px auto;
}
.btn-area {
    margin: 5px auto;
}
.btn-area p + p {
    margin-top: 8px;
}
.btn-ticket {
    display: block;
    max-width: 680px;
	width: 100%;
    margin: 0 auto;
    padding: 1em;
    background: #D70000;
    border-radius: 50px;
    color: #FFF!important;
    cursor: pointer;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 1.2;
	position: relative;
    text-align: center;
    text-decoration: none!important;
    transition: .25s;
}
.btn-ticket:before {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 10px;
	width: 0;
	height: 0;
	margin-top: -6px;
	border: 6px solid transparent;
	border-left: 10px solid #fff;
}
.btn-outside {
    display: block;
	max-width: 460px;
	width: 92%;
	margin: 0 auto 0;
    padding: .5em 2em;
    color: #FFF;
    background: #002870;
    border-radius: 200px;
	font-size: 1.4rem;
	font-weight: bold;
    text-align: center;
    text-decoration: none!important;
    transition: .25s;
}
.btn-inside {
    display: block;
	max-width: 460px;
	width: 92%;
	margin: 0 auto 0;
    padding: .5em 2em;
    color: #002870!important;
    background: #5bc43e;
    border-radius: 200px;
    text-align: center;
    text-decoration: none!important;
    transition: .25s;
}
.btn-ticket:hover {
    color: #FFF!important;
    background: #fe9a03;
    text-decoration: none;
}
.btn-outside:hover {
    color: #002870!important;
    background: #FFEE00;
}
.btn-inside:hover {
    color: #002870!important;
    background: #FFEE00;
}
.btn-non {
    display: block;
    max-width: 400px;
	width: 80%;
    margin: 0 auto;
    padding: .75em 1em;
    background: #CCC;
    border-radius: 50px;
    color: #333!important;
    font-size: 1.4rem;
    line-height: 1;
	pointer-events: none;
    text-align: center;
	text-decoration: none!important;	
}  
 @media screen and (max-width: 1024px) {
	 .btn-wrap-pc {
		 display: none;
	 }
	.btn-area {
		margin: 0 auto;
		font-size: 1.4rem;
	}
    .btn-ticket {
        font-size: 1.2rem;
    }
    .btn-non {
        font-size: 1.2rem;
    }    
}
 @media screen and (max-width: 599px) {
	.btn-area {
		font-size: 1.2rem;
	}
    .btn-ticket {
        font-size: 1.2rem;
    }
	.btn-ticket:before {
		right: 3px;
		margin-top: -4px;
		border: 4px solid transparent;
		border-left: 6px solid #fff;
	}
	.btn-outside {
		font-size: 1.2rem;
	}
}   