@charset "utf-8";
/* reset
--------------------------------------------------- */
.contents *, .contents *:before, .contents *:after {
    -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, div, p,
dl, dt, dd, ol, ul, li,
h1, h2, h3, h4, h5, h6 {
	margin: 0;
	padding: 0;
	border: 0;
    font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}
html { font-size: 62.5%; }
dl, dt, dd,  ul, li { list-style:none; }

/* ----- clearfix ----- */
.clearfix:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
}
 .clearfix {
    display: inline-table;
    min-height: 1%;
}
 /* Hides from IE-mac */
* html .clearfix {
    height: 1%;
}
.clearfix {
    display: block;
}
/* End hide from IE-mac */

/* common
--------------------------------------------------- */
.contents a{ /*color: #1A0DAB;*/ color: #FFF;}
.contents a:hover{ color:#F2AE2F;}
.contents img { width: 100%;}
.contents .no-pc { display: none;}
.contents br.no-pc { display: none; }
.contents .no-sp { display: inline;}
.contents .no-tb { display: none;}
.contents .xs { font-size: 1.2rem;}
.contents .tax { padding: 0 .25em; font-size: 1.2rem; font-weight: normal;}
.contents .end { color:#CCC;}
.contents em { color:#EFD830; font-style: normal; font-size:110%; font-weight: bold;}
.contents strong { color:#DD3431; font-style: normal; font-size:110%; font-weight: bold;}
.contents .strikethrough { color:#666; text-decoration: line-through;}
.contents strong { font-style: normal; font-size:110%; font-weight: bold;}
.contents .caution {
    padding: .5em 1em 0 1em;
    color: #555;
    font-size: 12px!important;
    text-indent: -1em;
}
.contents .caution::before {
    content: "※";
    color: #999;
}
.contents .advance { background: #fe9a03;}
.contents .public { background: #C00;}

.contents .advance, .contents .public{
    margin: 0 5px 0 0;
    padding: .5em 2em;
    color: #FFF;
    font-size: 1.4rem;
    vertical-align: middle;
}
.hidden-xs {
    font-size: 10px!important;
    text-align: left;
}
@media screen and (max-width: 768px) {
    .contents .no-pc { display: block; }
    .contents br.no-pc { display: inline; }
    .contents .no-sp { display: none; }
    .contents .advance, .contents .public{
        display: block;
        width: 100%;
        margin: 0 auto 5px;
        padding: .25em 2em;
        text-align: center;
        vertical-align:top;
    }
}
@media screen and (max-width: 480px) {
    .contents .no-tb { display: block;}
    .contents .caution {
        font-size: 1.0rem;
        line-height: 1.2;
    }
    .contents .advance, .contents .public{
        font-size: 1.2rem;
    }
}

/* campaign-banner
--------------------------------------------------- */
.contents .campaign-bn {
  max-width: 700px;
  margin: 10px auto;
  background: #FFF;
  text-align: center;
}

/* layout
--------------------------------------------------- */
.contents {
    width: 100%;
    min-width: 320px;
    color: #222624;
    font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
    font-size: 1.4rem;
    line-height: 1.15;
    text-align: center;
}
.contents-wrap {
    width: 100%;
    padding: 80px 20px;
    background: #111;
}
.contents-wrap-flex {
    display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	-webkit-justify-content: center;
	-ms-justify-content    : center;
	justify-content        : center;
	-webkit-align-items: stretch;
	-ms-align-items    : stretch;
	align-items        : stretch;
}
.contents-wrap-flex dl + dl{
    margin-left: 20px;
}
.contents-wrap-flex dl dt{
    font-weight: bold;
}
.contents-wrap-first {
    background-image: url("../images/bg01.jpg");
}
.contents-wrap-second {
    background-image: url("../images/bg02.jpg");
}
.contents-wrap-end {
    background-image: url("../images/bg01.jpg");
}
.contents-wrap-first,
.contents-wrap-second,
.contents-wrap-end {
    background-position: center center;
    background-attachment: fixed;
    background-size: cover;
    background-repeat: no-repeat
}
.contents-wrap-first {
    background-position: center top;
}
.contents-wrap-end {
    background-position: center bottom;
}
.contents-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0;
}
.contents-box {
    margin: 0 auto;
    padding: 20px;
    background: #111;
    border-radius: 10px;
    box-shadow: 0 0 10px 0 #111;
}
.contents-box + .contents-box {
    margin: 40px auto 0;
}
.contents-box-inner {
    margin: 10px 0 0;
    padding: 20px;
    background: #FFF;
}
@media screen and (max-width: 768px) {
    .contents-wrap {
        padding: 30px 15px;
    }
    .contents-box + .contents-box {
        margin: 30px auto 0;
    }
    .contents-wrap-flex {
        display: block;
    }
    .contents-wrap-flex dl + dl{
        margin-left: 0;
    }
    .contents-box-inner {
        margin: 0;
        padding: 10px;
    }
}
@media screen and (max-width: 480px) {
    .contents-wrap {
        padding: 20px 10px;
    }
    .contents-box {
        padding: 10px;
    }
    .contents-box + .contents-box {
        margin: 20px auto 0;
    }
    .contents-box-inner {
        padding: 5px;
    }
}
/* hedding
--------------------------------------------------- */
.contents h1 {
    margin: 0 auto 10px;
    padding: 0 0 10px;
    border-bottom: 1px solid #FFF;
    color: #FFF;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 24px;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    text-shadow: 0px 0px 1px #F2AE2F,
	             0px 0px 2px #F2AE2F,
	             0px 0px 3px #F2AE2F,
	             0px 0px 4px #F2AE2F,
	             0px 0px 5px #F2AE2F,
	             0px 0px 6px #F2AE2F;
}
.contents h2 {
    display: block;
    margin: 0 auto;
	/*color: #F2AE2F;*/
    padding: 0 0 .5em;
    color: #ECC45C;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-feature-settings : "palt";
	font-size: 24px!important;
	font-weight: bold;
    position: relative;
}
/*
.contents h2::before,
.contents h2::after{
    content: "";
    width: 30px;
    height: 30px;
    margin: 0 0 0 -35px;
    background: url(../images/ic_title02.png) center top no-repeat;
    background-size: cover;
    position: absolute;
}
.contents h2::after {
    margin: 0 0 0 5px;
}
*/
.contents h3 {
    display: inline-block;
    margin:0 auto;
    padding: 5px 20px;
    background: #666;
    color: #FFF;
    font-size: 14px!important;
}

@media screen and (max-width: 768px) {
    .contents h1 {
        font-size: 14px!important;
    }
    .contents h2 {
        font-size: 20px!important;
    }
    /*
    .contents h2::before,
    .contents h2::after{
        content: "";
        width: 24px;
        height: 24px;
        margin: 0 0 0 -29px;
    }
    .contents h2::after {
        margin: 0 0 0 5px;
    }*/
    .contents h3 {
        padding: 5px 10px;
        }
}
@media screen and (max-width: 480px) {
    .contents h1 {
        margin: 0 auto 10px;
        padding: 0 0 10px;
        font-size: 18px!important;
    }
    .contents h2 {
        font-size: 18px!important;
    }
    /*
    .contents h2::before,
    .contents h2::after{
        content: "";
        width: 20px;
        height: 20px;
        margin: 2px 0 0 -25px;
    }
    .contents h2::after {
        margin: 2px 0 0 5px;
    }
    */
    .contents h3 {
        padding: 5px;
        display: block;
        border-radius: 0;
    }
}

/* hero
--------------------------------------------------- */
.hero {
    width: 100%;
}
.hero-inner {
    max-width: 800px;
    margin: 0 auto;
}
.hero-inner img {
    max-width: 291px;
    margin: 0 auto 20px;
}
.outline {
    width: 100%;
    margin: 0 auto;
    padding: 40px;
    background: rgba(17, 0, 44, .8);
    border-radius: 10px;
    box-shadow: 0 0 10px 0 #F2E7AC;
    color: #FFF;
    font-size: 1.6rem;
    line-height: 1.6;
    text-align: left;
}
.lead {
    width: 100%;
    padding: 40px;
    color: #FF0;
    text-align: center;
}
.outline p + p {
    margin: .5em 0 0;
}
@media all and (max-width: 768px){
    .outline{
        padding: 30px;
        font-size: 1.4rem;
    }
}
@media all and (max-width: 480px){
    .hero-inner {
        text-align: center;
    }
    .outline{
        width: 100%;
        padding: 15px;
        font-size: 1.2rem;
        line-height: 1.4;
    }
    .lead {
        padding: 10px 5px;
    }
    .to-official {
        font-size: 1.2rem;
    }
}

/* LIST
--------------------------------------------------- */
dl.list-main{
    width: 100%;
    background: #FFF;
}
dl.list-main dt{
    padding: 16px 5px;
    background: #383480;
    color:#FFF;
    font-size: 16px!important;
    text-align: center;
}
dl.list-main dd{
    padding: 15px 10px 25px;
    font-size: 16px!important;
    line-height: 1.4;
    text-align: center;
}
dl.list-main dd p{
    padding: 0 0 10px;
    font-size: 16px!important;
}
@media all and (max-width: 768px){}
@media all and (max-width: 480px){
    dl.list-main dt{
        padding: 5px;
        font-size: 14px!important;
    }
    dl.list-main dd{
        padding: 14px 5px;
        font-size: 14px!important;
    }
    dl.list-main dd p{
        padding: 0 0 10px;
        font-size: 14px!important;
    }
}
/* TABLE
--------------------------------------------------- */
.table-schedule {
    width: 100%;
    background: #F8F9F9;
    border-collapse: collapse;
    table-layout: fixed;
    text-align: center;
    word-break: break-all;
    word-wrap: break-word;
}
.table-schedule th,
.table-schedule td {
    padding: 14px;
    text-align: center;
    border: 1px solid #FFF;
    line-height: 1.4;
}
.table-schedule thead th {
    background: #666;
    color:#FFF;
}
.table-schedule tbody th {
    width: 25%;
    background: #383480;
    color:#FFF;
}
.table-schedule tbody td {
    background: #E9F4F9;
    font-size: 18px!important;
}
.table-schedule tr:nth-child(2n){ background: #FFF; }
.table-schedule td::before {
    float: left;
}
.table-schedule-inner{
    display: inline-block;
    margin: 0 auto;
    text-align: left;
}
.table-schedule-inner p + p,
.table-schedule-inner dl + dl {
    margin: 10px auto 0;
}
.table-schedule-inner dl dt,
.table-schedule-inner dl dd {
    display: inline-block;
}
.table-schedule img{
    margin: 20px auto 0;
    border: 1px solid #666;
}
.table-trio td:last-of-type{
    width: 25%;
}

@media all and (max-width: 768px){
    .table-schedule {
        border: 2px solid #FFF;
    }
    .table-schedule th,
    .table-schedule td {
        display: block;
        height: auto;
        padding: 3px 5px;
        border: none;
        font-size: 14px!important;
    }
    .table-schedule thead th {
        display: none;
    }
    .table-schedule tbody th {
        width: 100%;
    }
    .table-schedule tbody td {
        font-size: 16px!important;
    }
    .table-schedule td:before {
        content: attr(aria-label);
        width: 90px;
        color: #333;
        font-size: 14px!important;
        float: left;
        }
    .table-schedule-inner{
        display: block;
        text-align: center;
    }
    .table-schedule-inner dl dt,
    .table-schedule-inner dl dd {
        display: block;
    }
    .table-schedule-inner dl dd {
        padding: 0 .5em;
    }
}
@media all and (max-width: 480px){
    .table-schedule {
        border: 2px solid #FFF;
    }
    .table-schedule tbody th {
        padding: 5px;
        font-size: 12px!important;
    }
    .table-schedule tbody td {
        font-size: 14px!important;
    }
}
/* PICTURE TICKET
--------------------------------------------------- */
.picticket-area {
	padding: 40px;
	border-top: 4px solid #EFD830;
	border-bottom: 4px solid #EFD830;
	background: #11002C;
    color: #FFF;
    text-align: left;
    position: relative;
}
.picticket-image {
    position: absolute;
    top: -20px;
    right: 6%;
}
.picticket-image img{
    max-width: 120px;
    transform: rotate(15deg);
    box-shadow: 0 0 10px 0 #F2E7AC;
}
.picticket-area-inner{
    width: 70%;
}
.picticket-title{
    margin: 0 0 10px;
    padding: 0 20px 0 0;
}
.picticket-lead{
    margin: 0 0 8px;
    font-size: 18px!important;
    font-weight: bold;
    line-height: 1.3;
}
@media all and (max-width: 768px){
    .picticket-area {
        margin: 0 0 20px;
        padding: 40px 20px 20px;
    }
    .picticket-lead{
        font-size: 1.4rem;
    }
    .picticket-image {
        position: absolute;
        top: 0;
        right: 10%;
    }
    .picticket-image img{
        max-width: 80px;
    }
}
@media all and (max-width: 480px){
    .picticket-area{
        border: none;
    }
    .picticket-area-inner{
        width: 100%;
    }
    .picticket-area {
        margin: 0 0 10px;
        padding: 10px;
    }
    .picticket-image {
        margin:0 auto;
        position: relative;
        top: auto;
        right: auto;
        text-align: center;
    }
    .picticket-title{
        margin: 20px 0 10px;
        padding: 0;
    }
    .picticket-lead{
        padding: 0;
    }
}
/* ACCESS
--------------------------------------------------- */
.pict_map {
    max-width: 940px;
    margin: 0 auto;
}

/* NOTES
--------------------------------------------------- */
.notice {
    margin: 0;
    padding: 0 0 10px 10px;
    color: #666;
    font-size: 1.2rem;
    font-weight: normal;
    line-height: 1.4;
}
.notice::before { content: "※"; }
.picticket-area .notice {
    color: #CCC;
}
.notes {
    margin: 10px 0 0;
    padding: 20px 40px 20px 20px;
    background: #EFEFEF;
    border-radius: 4px;
    color: #333;
    line-height: 1.4;
    text-align: left;
    text-indent: -1em;
}
.notes li + li {
    margin: 10px 0 0;
    }
.notes li::before {
    content:"※";
    }
.notes li{
    padding-left: 14px;
}
.notes li,
.notes li p,
.notes li dt,
.notes li dd {
    font-size: 14px!important;
}
.notes + h3 {
    margin-top: 20px;
}
.notes-inner {
    padding: 0 0 0 16px;
    line-height: 1.6;
    text-indent: 0;
}

@media screen and (max-width: 768px) {
    .note {
        text-align: left;
    }
    .notes {
        margin: 5px 0 0;
        padding: 10px 20px 10px 10px;
        font-size: 12px!important;
    }
    .notes li,
    .notes li p,
    .notes li dt,
    .notes li dd{
        font-size: 12px!important;
    }
    .notes + h3 {
        margin-top: 10px;
    }
}
@media screen and (max-width: 480px) {
    .notes {
        margin: 0;
        padding: 5px 10px 5px 5px;
        border-radius: 0;
        font-size: 10px!important;
    }
    .notes + h3 {
        margin-top: 5px;
    }
    .notes-inner {
        padding: 0 0 0 10px;
        line-height: 1.4;
    }
}
/* CONTACT
--------------------------------------------------- */
.contact a{
    display: block;
    width: 100%;
    margin: 0 auto;
    padding: 1em;
    background-color: #121121;
    color: #FFF;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: bold;
    font-size: 20px!important;
    text-align: center;
}
.contact a:hover{
    color: #F2AE2F;
}
.contact a span{
	display: inline-block;
	position: relative;
	vertical-align: middle;
}
.contact a span::after{
	content: "";
	width: 6px;
	top: 20%;
	left: -10px;
	border: 6px solid transparent;
	border-left: 6px solid #FFF;
	position: absolute;
	vertical-align: middle;
}
@media screen and (max-width: 480px) {
    .contact a{
        padding: 1.5rem .5em;
        font-size: 16px!important;
    }
}
/* BUTTON
--------------------------------------------------- */
.contents .btnV {
    display: block;
    width: 80%;
    margin: 0 auto;
    padding: 1em .5em;
    border-bottom: 4px solid #c40202;
    border-radius: 4px;
    background: #F00000 none repeat scroll 0 0;
    color: #fff !important;
    font-size: 18px!important;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    white-space: nowrap;
}
.contents .btnV:hover {
    background: #F79A01 none repeat scroll 0 0;
    border-top: 4px solid #F60;
    border-bottom: none;
}
.contents .btnV + .btnV{
    margin: 10px auto 0;
}
.contents .btnN {
    display: block;
    width: 80%;
    margin: 0 auto;
    padding: .5em 1em;
    background-color: #ccc;
    border-radius: 2px;
    color:#fff;
    font-size: 14px!important;
    font-weight: normal;
    text-align: center;
    white-space: nowrap;
}
@media screen and (max-width: 768px) {
    .contents .btnV {
        width: 90%;
        padding: 1em;
    }
}
@media screen and (max-width: 480px) {
}
/*  TOP BUTTON -------------------- */
#topButton { display: none ; }
#topButton a{
	position: fixed;
	bottom: 30px;
	right:5px;
	height: 44px;
	width: 40px;
	z-index: 9999;
	padding-top: 3px;
	font-size: 1.4rem;
	line-height: 1.2;
	text-align: center ;
	text-decoration: none;
	color:#181818;
	background: #f8f8f8;
	-webkit-box-shadow: 0 0 3px rgba(0,0,0,.6);
	box-shadow: 0 0 3px rgba(0,0,0,.6);
	border-radius: 5px;
	border: 1px solid #666;
	display:block;
	-webkit-transition:all 0.3s ;
	-moz-transition:all 0.3s ;
	transition:all 0.3s ;
	cursor: pointer;
	}
#topButton a:hover { opacity: 0.85 ;}
