@import url('https://fonts.googleapis.com/css2?family=Big+Shoulders+Inline+Display:wght@500;600;700;800&display=swap');

@charset "UTF-8";
/*\*/

/* ------------------------------------
 * Over Ride
 * ------------------------------------ */

body.nobg::before {
    content: none;
}

body::before {
    content: "";
    position: fixed;
    display: block;
    top:0;
    left:0;
    z-index:-1;
    width:100%;
    height:100vh;
    /*background: url("../img/main_bg.jpg") no-repeat center center;
    background-size: cover;
    -webkit-background-size: cover;
    -moz-background-size: cover;*/
}
article {
    background: none;
	overflow:hidden;
}
.tabArea li.nav_halltour {
    background-color: #5f5f5f;
}
.tabArea li.nav_halltour a {
    border-bottom: solid 3px #cca94e;
}

@media screen and (max-width: 767px) {
    body::before {
        /*background: url("../img/main_bg_sp.jpg") no-repeat center center;
        background-size: cover;
        -webkit-background-size: cover;
        -moz-background-size: cover;*/
    }
}

/* ------------------------------------
 * Main Visual
 * ------------------------------------ */

#mainvisual {
    position: relative;
    z-index: 9;
    max-height: 100vh;
    min-height: 658px;
    background-color: rgba(0,0,0,0.8);
	overflow:hidden;
}
#mainvisual h1 {
    position: absolute;
	transform:translate(-50%,0);
    top: 0%;
    left: 50%;
    width: 100%;
	animation: fadeIn 2s ease 0s 1 normal;
	-webkit-animation: fadeIn 2s ease 0s 1 normal;
}
}

#mainvisual h1 span {
    display: block;
    /*width: 940px;*/
    margin: 0 auto;
}
#mainvisual h1 img {
    max-width: 100%;
    width: auto !important;
    width: 100%;
}

#mainvisual .toptit {
	position:absolute;
	transform:translate(-50%, -50%);
	top:70%;
	left:50%;
	font-family: 'Big Shoulders Inline Display', cursive;
	font-size:200%;
	width:90%;
	line-height:1.4em;
}

#mainvisual .toptit img {
	width:50%;
	display:block;
	margin:0 auto;
	filter: drop-shadow(0px 5px 20px #000);
}

@media screen and (max-width:767px){
	#mainvisual h1 {
		position:absolute;
		transform:translate(-50%, -50%);
		top:50%;
		left:50%;
	}

	#mainvisual .toptit {
		top:80%;
	}

	#mainvisual .toptit img {
		width:80%;
	}
}

@keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

@-webkit-keyframes fadeIn {
    0% {opacity: 0}
    100% {opacity: 1}
}

#mainvisual h1 a.btn_attention {
    display: inline-block;
    margin: 0 auto 0;
    padding: 0.2em 1.5em;
    background-color: rgba(222, 0, 0, 0.9);
    color: #ffef00;
    border-radius: 5px;
    font-weight: bold;
    text-decoration: none;
    font-size: 2.4rem;
}
#mainvisual h1 a.btn_attention:hover {
    text-decoration: none;
}

@media screen and (max-width: 1000px) {
    #mainvisual h1 span {
        display: block;
        width: 90%;
        margin: 0 auto;
    }
}

@media screen and (max-width: 767px) {
    #mainvisual h1 span {
        width: 100%;
    }
    #mainvisual h1 a.btn_attention {
        font-size: 1.8rem;
    }
}

.caption {
	text-align:center;
}

.caption p {
	margin:1em 0;
}

#qnaire {
	margin:5em 0 8em;
}

.lnkarea {
	background:#fff;
	padding:2em;
	text-align:center;
	color:#000;
}

.lnkarea p {
	font-size:1.2em;
}

.lnkarea p span {
	background:#fafafa;
	display:block;
	padding:0.5em 1em;
	margin:0 0 1em;
	font-size:90%;
}

.lnkarea a {
	display:block;
	width:500px;
	margin:1em auto 0.5em;
	max-width:70%;
	background:#000;
	color:#fff;
	padding:0.5em 1em;
	text-decoration:none;
	font-weight:bold;
	font-size:1.2em;
}

#mainvisual_message {
    background-color: rgba(0,0,0,0.8);
}
#mainvisual_message h1 {
    padding: 5% 0;
}
#mainvisual_message h1 span {
    display: block;
    width: 940px;
    margin: 0 auto;
}
#mainvisual_message h1 img {
    max-width: 100%;
    width: auto !important;
    width: 100%;
}
.message {
    width: 940px;
    margin: 0 auto;
    padding-bottom: 5%;
    text-align: left;
}
.message .text {
    font-size: 1.2rem;
}
.message .membermessage {
    margin: 3em 0 0;
    padding: 1em;
    font-size: 1.5rem;
    background-color: #000;
    border: solid 2px #3e3e3e;
    color: #fff;
}
.message .membermessage h3 {
    padding: 0.5em 1em 1em;
    font-size: 1.8rem;
    text-align: center;
}
.message .membermessage span {
    display: block;
}

.ticket-refund {
    width: 940px;
    margin: 0 auto;
    padding: 1em;
    text-align: left;
    font-size: 1.2rem;
    background-color: #fff;
    border: solid 2px #3e3e3e;
}

@media screen and (max-width: 1000px) {
    #mainvisual_message h1 span {
        display: block;
        width: 90%;
        margin: 0 auto;
    }
    .message {
        width: 90%;
    }
    .ticket-refund {
        width: 90%;
    }
}

@media screen and (max-width: 767px) {
    #mainvisual_message h1 span {
        width: 100%;
    }
}


/* ------------------------------------
 * Movie
 * ------------------------------------ */

.movieArea {
    width: 640px;
    margin: 0 auto;
    padding: 3% 0;
}

@media screen and (max-width: 767px) {
    .movieArea {
        width: 90%;
    }
}


/*--- clearfix ------------------*/

.cleafix:after {
    clear: both;
    display: block;
    height: 0;
    line-height: 0;
    content: ".";
    visibility: hidden;
}


.noticearea {
	font-size:80%;
	padding:2em;
	background:#eeeeee22;
	color:#fff;
	line-height:1.2em;
	font-size:20px;
}

.noticearea h3 {
	font-size:200%;
	text-align:center;
	color:#c22;
}

.noticearea center span {
	background:#c22;
	padding:0.5em 1em;
	margin:0.5em 0;
	font-size:150%;
	border-radius:10px;
	font-weight:bold;
	display:inline-block;
}

.noticearea .ntccaption{
	margin:2em 0;
	padding:1em;
	border:dotted 1px;
	font-size:75%;
}

.noticearea .end_caption{
    margin: 2em 0;
    padding: 1em;
    font-size: 75%;
	text-align:center;
	line-height:2em;
	background:#ffffff80;
	color:#000;
}

.noticearea .txt {
	margin-bottom:2em;
}

.noticearea .txt span {
	position:relative;
	z-index:1;
	display:block;
	font-size:80%;
	font-weight:bold;
	color:#eee;
	margin-bottom:0.5em;
	border-bottom:solid 1px #333;
}

.noticearea .txt span:before {
	position:absolute;
	content:'\025cf';
	font-size:70px;
	color:#cc222299;
	transform:translate(0, -50%);
	top:45%;
	left:-10px;
	z-index:-1;
}

.noticearea .txt a {
	word-break:break-all;
}


.noticearea .txt p {
	position:relative;
	z-index:2;
	font-size:60%;
}

@media screen and (max-width:767px){
	.noticearea {
		line-height:1em;
		padding:2em 1em;
	}

	.noticearea h3 {
		font-size:17px;
	}

	.noticearea .txt span {
		font-size:13px;
	}
	.noticearea center span{
		font-size:13px;
	}

	.noticearea .ntccaption{
		font-size:60%;
	}

	.noticearea .end_caption{
		text-align:left;
		line-height:1.5em;
	}


}


.cleanara {
	padding:5% 0;
}

.cleanara h2 {
	text-align:center;
	padding:0.5em 0;
	border-top:solid 2px;
	border-bottom:solid 2px;
	margin-bottom:0.5em;
}

.cleanara .txt{
	font-size:14px;
	line-height:1.5em;
}

.cleanara .clnbnr {
	margin:2em 0;
}

.cleanara .clnbnr ul {
	display:flex;
	justify-content:center;
}

.cleanara .clnbnr ul li{
	padding:1em;
}

.cleanara .clnbnr ul li img {
	max-width:100%;
}

.enq {
	margin-bottom:5em;
}

.enq .txt {
	background:#ffffffaa;
	padding:2em;
	color:#000;
	font-size:14px;
	margin-bottom:2em;s
}

.enq .txt h3 {
	text-align:center;
	margin-bottom:0.5em;
}

.enq .txt .oder {
	background:#ffffff10;
	padding:1em;
	margin-top:1em;
	text-align:center;
}

.enq .txt .oder h5{
	color:#c22;
}

p.tac {
	position:relative;
}


p.tac .sold {
	position:absolute;
	transform:translate(-50%, -50%) rotate(-5deg);
	top:50%;
	left:50%;
}

p.tac .sold span {
	padding:0.5em 1em;
	background:#cc2222dd;
	color:#fff;
	font-size:200%;
	font-weight:bold;
}

.livearea {
	margin-top:2em;
}

.topcon {
	margin-top:0;
}

.mvarea  ul {
	display:flex;
}

.mvarea ul li {
	margin:0.5%;
	width:50%;
	text-align:center;
}

.mvarea ul li span {
	font-size:1.2em;
}

.mvarea ul li span em {
	display:block;
	font-size:90%;
}

#movie .movie {
	position:relative;
	width:100%;
	padding-top:56.25%;
}


#movie .movie iframe {
	width:100%;
	height:100%;
	position:absolute;
	top:0;
	right:0;
}

@media screen and (max-width:767px){
	.mvarea ul {
		display:block;
	}

	.mvarea ul li {
		width:100%;
		margin:2.5em 0;
	}
}

#goods {
	padding-top:5em;
}

#tolive {
	margin:3em 0 5em;
}


.pc-only {
	display:block;
}
.sp-only {
	display:none;
}

@media screen and (max-width:767px){
	.pc-only {
		display:none;
	}
	.sp-only {
		display:block;
	}
}

h2.jpntit {
	font-size:3.0rem;
}
