@charset "UTF-8";

/* Resetting */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video, button {
	border: 0;
	font-size:100%;
	font: inherit;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure,
footer, header, main,hgroup, menu, nav, section {
	display: block;
}

:root{
	scroll-padding:145px;
}
html {
	font-size:16px;
}
body {
	color:#373737;
  font-family: "noto-sans-cjk-jp", sans-serif;
	font-optical-sizing: auto;
  font-weight:400;
	line-height:1;
  margin:0;
  position: relative;
}
body.nos {
	overflow:hidden;
}
ol,ul,li{
	list-style: none;
}
sup {
	font-size:80%;
	vertical-align:super;
}
blockquote, q {
	quotes: none;
}
blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}
table {
	border-collapse: inherit;
	border-spacing: 0;
}
input, textarea {
	font-family: "noto-sans-cjk-jp", sans-serif;
}
input[type="submit"],
input[type="button"],
input[type="reset"] {
	appearance:button;
	border:none;
	border-radius:0;
	box-sizing:border-box;
	cursor:pointer;
	-webkit-appearance:button;
}
input[type="text"],
textarea, select, button {
	appearance:none;
	border:none;
	border-radius:0;
	box-sizing:border-box;
	-webkit-appearance:none;
	background:none;
}

a{
	color:#363636;
	text-decoration: none;
}
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
*:focus:not(:focus-visible) {
  outline: none;
}
a:focus-visible,
button:focus-visible,
*:focus-visible {
  outline: 2px solid #1a73e8;
  outline-offset: 2px;
  border-radius: 2px;
}
a.tel_link {
	pointer-events:none;
}
a[inert],
[inert] a,
#globalNavi [inert] p {
	color:#ababab !important;
}
*{
	box-sizing:border-box;
}
img {
	width:auto;
	max-width:100%;
  display:block;
}

.sp {
  display:none !important;
}
.online_button {
	display:none;
}
.ta-r {
	text-align:right;
}
.ibk {
	display:inline-block;
}
.twocol,
.threecol {
	width:100%;
	display:flex;
}
.ttlbox .classin {
	opacity:0;
	transform:translateX(-50%);
	animation:ease 1.5s forwards classinX;
}
.ttlbox h2.classin {
	animation-delay:.05s;
}
@keyframes classinX {
  0% {
    opacity:0;
		transform:translateX(-50%);
	}
  100% {
    opacity:1;
    transform:translateX(0);
	}
}

/* hover */
.online_ticket a::before,
footer .button a::before {
	content:"";
	width:150%;
	height:150%;
	display: block;
	background:#fff;
	position: absolute;
	top:0;
	left:-200%;
	z-index:0;
	transition: ease .4s;
}
.online_ticket a::before {
	background:#222;
}
footer .button a::before {
	background:#d95e28;
}

#wrapper {
	position:relative;
	padding-top:140px;
	overflow: hidden;
}
.inner {
	margin:0 auto;
}
article > section {
	position: relative;
	visibility: visible;
}
article > section > * {
	position: relative;
	z-index: 1;
}

header {
	width:100%;
	background:#fff;
	position:fixed;
	top:0;
	z-index: 9;
}
header .inner {
	max-width:1700px;
	height:140px;
	margin:0 auto;
	position: relative;
	display:flex;
	justify-content:flex-end;
	flex-wrap: wrap;
}
header h1.logo {
	/* width:291px; */
	width: 165px;
	position:absolute;
	/* top:28px; */
	top: 18px;
	left:50px;
	z-index:9;
}
header h1.logo a {
	display:block;
	transition:ease .3s;
}
.topmenu {
	width:1190px;
	display:flex;
	height:60px;
	padding:10px 0 10px 158px;
	background:url(../img/common/topmenu_bg.png) no-repeat 0 0 #222;
	background-size:auto 100%;
	position: relative;
}
.topmenu::before {
	content:"";
	width:100vw;
	height:100%;
	background:#222;
	position:absolute;
	right:1px;
	top:0;
	transform:translateX(100%);
}
.online_ticket {
	width:485px;
}
.online_ticket a {
	color:#222;
	font-size:14px;
	font-weight:700;
	letter-spacing:.1em;
	line-height:1;
	width:100%;
	height:40px;
	padding:0 0 0 72px;
	display:flex;
	align-items:center;
	border-radius:20px;
	background:#fff;
	border:solid 1px #fff;
	position:relative;
	overflow: hidden;
	transition:ease .3s;
}
.online_ticket a .sm {
	position:relative;
	z-index:1;
}
.online_ticket a .st {
	font-size:18px;
	margin-left:1em;
	display:inline-block;
	z-index:1;
}
.online_ticket a .image {
	width:35px;
	height:19px;
	position:absolute;
	z-index: 2;
	top:50%;
	left:24px;
	transform:translateY(-50%);
	transition:ease .3s;
}
.online_ticket a .image::before {
	content:"";
	width:100%;
	height:100%;
	display:block;
	background:url(../img/common/ico_ticket_w.svg) no-repeat 0 0;
	background-size:100% auto;
	transition:ease .3s;
	opacity:0;
	position:absolute;
	top:0;
}
.online_ticket a .image img {
	transition:ease .3s;
}
.searchBox {
	width:300px;
	margin:0 30px;
}
.searchBox form {
	color:#363636;
	position:relative;
}
.searchBox form #SearchBox {
	color:#363636;
	font-size:16px;
	font-weight:500;
	line-height:1;
	width:100%;
	padding:8px 50px 9px 20px;
	display:block;
	background:#fff;
	border-radius:20px;
}
.searchBox form #inputsearch {
	width:24px;
	height:24px;
	background:url(../img/common/ico_search.svg) no-repeat 0 0 !important;
	background-size:100% auto !important;
	position:absolute;
	top:50%;
	right:20px;
	transform:translateY(-50%);
	transition:ease .3s;
}
.langmenu {
	display:flex;
	align-items:center;
	position: relative;
}
#lang_select {
	display:none;
}
.langmenu #langBtn {
	color:#fff;
	font-size:18px;
	font-weight:700;
	padding:11px 0 11px 42px;
	position:relative;
	cursor:pointer;
}
.langmenu:hover #langBtn,
.langmenu:focus-within #langBtn {
	color:#d95e28;
}
.langmenu #langBtn img {
	width:32px;
	position: absolute;
	top:52%;
	left:0;
	transform: translateY(-50%);
}
.langlist {
	width:calc(100% - 42px);
	padding: 15px 0;
	position: absolute;
	bottom:-5px;
	right:0;
	transform: translateY(100%);
	display: block;
	background:#fff;
	border: solid 1px #d95e29;
	border-radius: 10px;
	z-index:2;
	height: 0;
  visibility: hidden;
  opacity: 0;
  transition: ease .3s;
}
.langmenu:hover .langlist,
.langmenu:focus-within .langlist {
	height:auto;
  visibility:visible;
  opacity:1;
}
.langlist a {
	color: #222;
  font-size: 18px;
  font-weight: 600;
	line-height: 1.33;
	letter-spacing: .025em;
	padding: 8px 25px;
	display: block;
	position: relative;
	background: #fff;
	border-radius: 0;
	transition: ease .3s;
}
#globalNavi {
	height:80px;
	padding:34px 0 30px;
}
#globalNavi ul {
	height:16px;
	padding:0 25px 0 0;
	display:flex;
	justify-content:flex-end;
	align-items:center;
}
#globalNavi ul li {
	padding:0 25px;
	border-right:solid 1px #222;
	position: relative;
}
#globalNavi ul li:last-child {
	border-right:0;
}
#globalNavi ul li a {
	color:#000;
	font-size:16px;
	font-weight:600;
	line-height:1;
	letter-spacing:.025em;
	padding:0;
	display:block;
	position:relative;
	transition:ease .3s;
}
#globalNavi ul li a::before {
	content:"";
	width:100%;
	height:2px;
	display:block;
	position:absolute;
	bottom:-8px;
	left:50%;
	transform: translateX(-50%) scale(0);
	transition:ease .3s;
	background:#d95e29;
}
#globalNavi ul li .mohead p {
	color:#000;
	font-size:16px;
	font-weight:600;
	line-height:1;
	letter-spacing:.025em;
	padding:0 0 0 20px;
	background:url(../img/common/ico_arrow_menu.svg) no-repeat 0 6px;
	background-size:14px auto;
	transition:ease .3s;
}
#globalNavi ul li .mohead[inert] p {
	background-image:url(../img/common/ico_arrow_menu_off.svg) !important;
}
#globalNavi ul li .mohead:hover p,
#globalNavi ul li .mohead:focus-within p {
	color:#d95e28;
}
#globalNavi ul.momenu {
	width:100%;
	padding:15px 0;
	display:block;
	background:#fff;
	border: solid 1px #d95e29;
	border-radius:10px;
	position:absolute;
	bottom:-40px;
	left:0;
	transform:translateY(100%);
	height:0;
	visibility:hidden;
	opacity:0;
	transition:ease .3s;
	z-index:5;
}
#globalNavi ul li .mohead::before {
	content:"";
	width:100%;
	height:41px;
	background:transparent;
	position:absolute;
	left:0;
	bottom:-40px;
}
#globalNavi ul li .mohead:hover > ul.momenu,
#globalNavi ul li .mohead:focus-within > ul.momenu {
	height:auto;
	visibility:visible;
	opacity:1;
}
#globalNavi ul.momenu li {
	margin:0;
	padding:0;
	border:0;
}
#globalNavi ul.momenu li + li {
	margin-top:10px;
}
#globalNavi ul.momenu li a {
	color:#222;
	font-size:18px;
	font-weight:600;
	line-height:1.33;
	letter-spacing:.025em;
	padding:8px 25px;
	display:block;
	position:relative;
	background:#fff;
	border-radius:0;
	transition:ease .3s;
}
#globalNavi ul.momenu li a::before {
	display:none;
}
#btnMenu,
#spNavi,
#ticketNavi {
	display:none;
}
footer {
  background:#2a2a2a;
	position:relative;
	z-index:3;
}
footer .inner {
	width:100%;
	max-width:1500px;
	padding:60px 0 40px 60px;
	margin:0 auto;
}
footer .twocol {
	justify-content:space-between;
}
footer .ftleft {
	width:585px;
}
footer .ftright {
	width:calc(100% - 585px);
}
footer .ftlogo {
	width:253px;
}
footer .ftlogo a {
	display: block;
	transition: ease .3s;
}
footer .ftleft p {
	color:#fff;
	font-size:16px;
	line-height:1.75;
	letter-spacing:.1em;
	margin:27px 0 0;
}
footer .ftleft h2 {
	color:#fff;
	font-size:24px;
	line-height:1;
	letter-spacing:.1em;
	margin:30px 0 0;
}
footer .ftleft h2 a {
	color:#fff;
}
footer .button {
	margin:30px 0 0;
}
footer .button a {
	color:#2a2a2a;
	font-size:16px;
	font-weight:500;
	line-height:1;
	letter-spacing:.1em;
	width:320px;
	height:60px;
	margin:0;
	display: flex;
	justify-content: center;
	align-items: center;
	background:#fff;
	border:solid 2px #fff;
	cursor: pointer;
	transition: ease .3s;
	overflow: hidden;
	position: relative;
}
footer .button a .icon {
	padding:0;
	display:inline-block;
	z-index:2;
}
footer .ftsns {
	margin:30px 0 0;
	display: flex;
	align-items: center;
}
footer .ftsns h3 {
	color:#fff;
	font-size:16px;
	font-weight:400;
	line-height:1;
	letter-spacing:.1em;
}
footer .ftsns ul {
	display: flex;
}
footer .ftsns ul li {
	margin:0 0 0 22px;
}
footer .ftsns ul li a i {
	color:#fff;
	font-size:28px;
	transition: ease .3s;
}
footer .ftmenu {
	display: flex;
	flex-wrap: wrap;
}
footer .ftmenu li {
	width:320px;
}
footer .ftmenu li:nth-child(3),
footer .ftmenu li:nth-child(4),
footer .ftmenu li:nth-child(5) {
	margin-top:60px;
}
footer .ftmenu li:nth-child(2) {
	width:480px;
}
footer .ftmenu li:nth-child(4) {
	width:305px;
}
footer .ftmenu li:nth-child(5) {
	width:220px;
}
footer .ftmenu li h4 {
	color:#fff;
	font-size:20px;
	font-weight:700;
	line-height:1;
	letter-spacing:.1em;
	position: relative;
	margin:0 0 20px;
}
footer .ftmenu li p {
	margin:15px 0 0 13px;
}
footer .ftmenu li p a {
	color:#fff;
	font-size:16px;
	font-weight:400;
	line-height:1;
	letter-spacing:.1em;
	display: inline-block;
	position: relative;
}
footer .ftmenu li p a::before {
	content:"";
	width:100%;
	height:1px;
	background:#fff;
	position:absolute;
	bottom:-5px;
	left:0;
	transform:scale(0);
	transition:ease .3s;
}
footer p.copyright {
	color:#fff;
	font-size:14px;
	line-height:1;
	text-align: center;
	margin:125px 0 0;
}
#totopLink {
	width:100%;
	height:0;
  margin:0;
  z-index:5;
  clear:both;
	visibility:visible;
	overflow:visible;
	position:fixed;
	bottom:0;
	right:0;
}
.linkinner {
	max-width:1700px;
	margin:0 auto;
	position: relative;
}
#totopLink a {
  width: 70px;
  height: 70px;
	background:#2a2a2a;
	display:block;
	position:absolute;
	bottom:-71px;
	right:10px;
	transition:all ease 0.3s;
}
#totopLink a img {
	width:38.57%;
	height:auto;
	position: absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}
.fixHead #totopLink a {
	bottom:0px;
	transition:ease .3s;
}
#container {
	position: relative;
	overflow: hidden;
}


@media screen and (max-width:1700px) {
:root{
	scroll-padding:8.52vw;
}
#wrapper {
	padding-top:8.23vw;
}

header .inner {
	height:8.23vw;
}
header h1.logo {
	/* width:17.11vw;
	top:1.64vw;
	left:2.94vw; */
	width:10.11vw;
	top:1vw;
	left:2.94vw;
}
.topmenu {
	width:70vw;
	height:3.52vw;
	padding:.58vw 0 .58vw 9.29vw;
}
.online_ticket {
	width:28.52vw;
}
.online_ticket a {
	font-size:.82vw;
	height:2.35vw;
	padding:0 0 0 4.23vw;
	border-radius:1.17vw;
}
.online_ticket a .st {
	font-size:1.05vw;
}
.online_ticket a .image {
	width:2.05vw;
	height:1.11vw;
	left:1.41vw;
}
.searchBox {
	width:17.64vw;
	margin:0 1.76vw;
}
.searchBox form #SearchBox {
	font-size:.94vw;
	padding:.47vw 2.94vw .52vw 1.17vw;
	border-radius:1.17vw;
}
.searchBox form #inputsearch {
	width:1.41vw;
	height:1.41vw;
	right:1.17vw;
}
.langmenu #langBtn {
	font-size:1.05vw;
	padding:.64vw 0 .64vw 2.47vw;
}
.langmenu #langBtn img {
	width:1.88vw;
}
.langlist {
	width:calc(100% - 2.47vw);
	padding: .88vw 0;
	bottom:-.29vw;
	border-radius:.58vw;
}
.langlist a {
  font-size: 1.05vw;
	padding: .47vw 1.47vw;
}
#globalNavi {
	height:4.7vw;
	padding:2vw 0 1.76vw;
}
#globalNavi ul {
	height:.94vw;
	padding:0 1.47vw 0 0;
}
#globalNavi ul li {
	padding:0 1.47vw;
}
#globalNavi ul li a {
	font-size:.94vw;
}
#globalNavi ul li a::before {
	height:.11vw;
	bottom:-.47vw;
}
#globalNavi ul li .mohead p {
	font-size:.94vw;
	padding:0 0 0 1.17vw;
	background:url(../img/common/ico_arrow_menu.svg) no-repeat 0 .35vw;
	background-size:.82vw auto;
}
#globalNavi ul.momenu {
	padding:.88vw 0;
	border-radius:.58vw;
	bottom:-2.35vw;
}
#globalNavi ul li .mohead::before {
	height:2.41vw;
	bottom:-2.35vw;
}
#globalNavi ul.momenu li + li {
	margin-top:.58vw;
}
#globalNavi ul.momenu li a {
	font-size:1.05vw;
	padding:.47vw 1.47vw;
}

footer .inner {
	max-width:88.23vw;
	padding:3.52vw 0 2.35vw 3.52vw;
}
footer .ftleft {
	width:34.41vw;
}
footer .ftright {
	width:calc(100% - 34.41vw);
}
footer .ftlogo {
	width:13vw;
}
footer .ftleft p {
	font-size:.94vw;
	margin:1.58vw 0 0;
}
footer .ftleft h2 {
	font-size:1.41vw;
	margin:1.76vw 0 0;
}
footer .button {
	margin:1.76vw 0 0;
}
footer .button a {
	font-size:.94vw;
	width:18.82vw;
	height:3.52vw;
}
footer .ftsns {
	margin:1.76vw 0 0;
}
footer .ftsns h3 {
	font-size:.94vw;
}
footer .ftsns ul li {
	margin:0 0 0 1.29vw;
}
footer .ftsns ul li a i {
	font-size:1.64vw;
}
footer .ftmenu li {
	width:18.82vw;
}
footer .ftmenu li:nth-child(3),
footer .ftmenu li:nth-child(4),
footer .ftmenu li:nth-child(5) {
	margin-top:3.52vw;
}
footer .ftmenu li:nth-child(2) {
	width:28.23vw;
}
footer .ftmenu li:nth-child(4) {
	width:17.94vw;
}
footer .ftmenu li:nth-child(5) {
	width:12.94vw;
}
footer .ftmenu li h4 {
	font-size:1.17vw;
	margin:0 0 1.17vw;
}
footer .ftmenu li p {
	margin:.88vw 0 0 .76vw;
}
footer .ftmenu li p a {
	font-size:.94vw;
}
footer p.copyright {
	font-size:.82vw;
	margin:7.35vw 0 0;
}

#totopLink a {
  width: 4.11vw;
  height: 4.11vw;
	bottom:-4.17vw;
	right:.58vw;
}

}


@media screen and (min-width:768px) {
}


@media screen and (max-width:767px) {
.pc,
#globalNavi,
.topmenu .online_ticket,
.topmenu .searchBox,
.langmenu details {
  display:none !important;
}
.sp {
  display:block !important;
}
:root{
	scroll-padding:20vw;
}
#wrapper {
	padding-top:20vw;
}
header {
	height:20vw;
}
header .inner {
	height:auto;
	display:block;
}
header h1.logo {
	/* width:38.8vw;
	top:4.4vw;
	left:2.8vw; */
	width:26.8vw;
	top:1.6vw;
	left:2.8vw;
}
header h1.logo img {
	transition:ease .3s;
}
header.open h1.logo {
	background:url(../img/common/logo_w.png) no-repeat 0 0;
	background-size:100% auto;
}
header.open h1.logo img {
	opacity:0;
}
.topmenu {
	width:100%;
	display:block;
	height:auto;
	padding:0;
	background:none;
	overflow:visible;
	z-index:9;
}
.topmenu::before,
.langmenu #langBtn,
.langmenu .langlist {
	display:none !important;
}
.langmenu {
	display:block;
	width:21.33vw;
	height:8.53vw;
	position:absolute;
	top:5.73vw;
	right:22.66vw;
}
.langmenu::before {
	content:"";
	width:8.53vw;
	height:8.53vw;
	background:url(../img/common/ico_lang_bk.svg) no-repeat 0 0;
	background-size:100% auto;
	position:absolute;
	top:0;
	left:0;
	pointer-events:none;
	transition:ease .3s;
}
.langmenu::after {
	content:"";
	width:2.93vw;
	height:1.86vw;
	background:url(../img/common/ico_arrow_lang_bk.svg) no-repeat 0 0;
	background-size:100% auto;
	position:absolute;
	top:2.93vw;
	right:0;
	pointer-events:none;
	transition:ease .3s;
}
#lang_select {
	color:#222;
	font-size:3.73vw;
	font-weight:700;
	line-height:1;
	width:100%;
	height:8.53vw;
	padding:0 0 0 10.66vw;
	display:block;
	border:0;
	transition:ease .3s;
}
header.open .langmenu::before {
	background-image:url(../img/common/ico_lang.svg);
}
header.open .langmenu::after {
	background-image:url(../img/common/ico_arrow_lang.svg);
}
header.open #lang_select {
	color:#fff;
}
.fixHead #totopLink a {
	bottom:13.33vw;
}
.fixHead #totopLink.ftposi a {
	bottom:0;
}

#btnMenu {
	width:20vw;
	height:20vw;
	position:absolute;
	top:0;
	right:0;
	display:block;
	z-index:9;
}
#btnMenu .icon {
	width:8.325vw;
	height:8vw;
	display: block;
	position:absolute;
	top:50%;
	left:50%;
	transform: translate(-50%,-50%);
}
#btnMenu .icon > span {
	width:100%;
	height:.533vw;
	border-radius:.267vw;
	position:absolute;
	right:0;
	background:#222;
	transition:ease .6s;
}
#btnMenu .icon > span:nth-child(1) {
	width:70%;
	top:0;
}
#btnMenu .icon > span:nth-child(2) {
	width:120%;
	top:35%;
	transform: translateY(-50%);
}
#btnMenu .icon > span.txt {
	color:#222;
	font-family:roboto-condensed, sans-serif;
	font-size:3.2vw;
	font-weight:700;
	bottom:.5em;
	background:transparent;
	transition:ease .3s;
}
#btnMenu .icon > span.txt .cl {
	display:none;
}
#btnMenu.active .icon > span:nth-child(1) {
	width:100%;
	background:#fff;
	transform:rotate(-45deg) translateY(-50%);
	top:25%;
}
#btnMenu.active .icon > span:nth-child(2) {
	width:100%;
	background:#fff;
	transform: rotate(45deg) translateY(50%);
	top:auto;
  bottom:75%;
}
#btnMenu.active .icon > span.txt {
	color:#fff;
}
#btnMenu.active .icon > span.txt .op {
	display:none;
}
#btnMenu.active .icon > span.txt .cl {
	display:inline;
}

#spNavi {
	transition: ease .4s;
  background-color: #d06d38;
  display: flex;
	flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	padding-top:20vw;
  z-index: 8;
  opacity: 0;
  visibility: hidden;
  overflow-y: scroll;
  overflow-x: hidden;
}
#spNavi::before {
	content:"";
	width:100%;
	height:17.33vw;
	display: block;
	position: absolute;
	background:#d06d38;
	position: fixed;
	top:0;
	left:0;
	z-index: 9;
}
#spNavi.active {
	opacity: 1;
  visibility:visible;
}
#spNavi .searchBox {
	width:100%;
	margin:0;
	padding:6.66vw 0 4vw;
	background:transparent;
	border:0;
	position:relative;
	right:0;
	bottom:0;
	transform:none;
	height:auto !important;
	opacity:1 !important;
	visibility:visible !important;
	order:0;
	display:none;
}
#spNavi.active .searchBox {
	display:block;
}
#spNavi .searchBox h2 {
	display:none;
}
#spNavi .searchBox form {
	width:100%;
	max-width: none;
	position: relative;
}
#spNavi .searchBox form #SearchBox {
	color:#373737;
	font-size:3.2vw;
	width:78.66vw;
	padding:3.33vw 5.33vw;
	border-radius:5.86vw;
	background:#fff !important;
}
#spNavi .searchBox form dl dd #inputsearch {
	overflow: hidden;
	text-indent: -999px;
	width:8.53vw;
	height:8.53vw;
	border-radius:4.33vw;
	background:url(../img/common/ico_search_w.svg) no-repeat center center #d06d38 !important;
	background-size:50% auto !important;
	position: absolute;
	top:50%;
	right:2vw;
	transform: translateY(-50%);
}
#spNavi .inner {
	width:100%;
	padding:0 10.66vw;
}
#spNavi .btnavi li {
	margin:4vw 0 0;
	 border-bottom:solid 1px #fff;
}
#spNavi .btnavi li a {
	color:#fff;
	font-size:4vw;
	line-height:1;
	letter-spacing:.1em;
	padding:2.66vw 6.66vw 2.66vw 2.66vw;
	display: block;
	background:url(../img/common/ico_link_w.svg) no-repeat right 2.66vw center;
	background-size:1.46vw auto;
}
#spNavi .bottomLink {
	width:100%;
	display: flex;
	flex-wrap: wrap;
	margin:8vw 0 0;
}
#spNavi .bottomLink li {
	width:33.33vw;
	margin:2.66vw 0 0;
}
#spNavi .bottomLink li:nth-child(odd) {
	width:44.66vw;
}
#spNavi .bottomLink li a {
	color:#fff;
	font-size:3.2vw;
	line-height:1;
	letter-spacing:.1em;
	padding:2.66vw 0;
	display:block;
}
#spNavi .button {
	margin:9.33vw 0 0;
}
#spNavi .button a {
	color:#d06d38;
	font-size:3.2vw;
	font-weight:700;
	letter-spacing:.05em;
	width:64vw;
	height:10.66vw;
	margin:0 auto;
	background:#fff;
	display:flex;
	justify-content: center;
	align-items: center;
}
#spNavi .snsLinks {
	padding:10.66vw 0 16vw;
	display: flex;
	justify-content: center;
}
#spNavi .snsLinks li {
	margin:0 1.73vw;
}
#spNavi .snsLinks li a {
	margin:0 .8vw;
}
#spNavi .snsLinks li i {
	color:#fff;
	font-size:6.4vw;
}

#ticketNavi {
	transition: ease .4s;
  background-color: #efefef;
  display: flex;
	flex-direction: column;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
	padding:20vw 0 13.33vw;
  z-index: 6;
  opacity: 0;
  visibility: hidden;
  overflow-y: scroll;
  overflow-x: hidden;
}
#ticketNavi::before {
	content:"";
	width:100%;
	height:17.33vw;
	display: block;
	position: absolute;
	background:#fff;
	position: fixed;
	top:0;
	left:0;
	z-index: 5;
}
#ticketNavi.active {
	opacity: 1;
  visibility:visible;
}
#ticketNavi h2 {
	color:#373737;
	font-size:3.73vw;
	font-weight:700;
	line-height:1;
	letter-spacing:.05em;
	text-align:center;
	padding:8vw 0;
}
#ticketNavi h2 .st {
	font-size:6.93vw;
	font-weight:900;
	margin:4vw 0 0;
	display:block;
}
#ticketNavi ul {
	width:69.6vw;
	margin:0 auto;
}
#ticketNavi ul li {
	margin:0 0 5.33vw;
}
#ticketNavi ul li a {
	display:block;
	box-shadow:0 0 18px 0 rgba(0, 0, 0, 0.1);
}
#ticketClose {
	color:#222;
	font-family:roboto-condensed, sans-serif;
	font-size:6.4vw;
	font-weight:700;
	line-height:1;
	padding:0 7.46vw 0 0;
	margin:10.66vw auto 0;
	position:relative;
	background:url(../img/common/ico_close.svg) no-repeat right 0 center;
	background-size:4.8vw auto;
}

.online_button {
	width:100%;
	display:block;
	position:fixed;
	bottom:0;
	left:0;
	z-index:7;
}
.online_button button {
	width:100%;
	height:13.33vw;
	background:#d95e28;
	display:flex;
	justify-content: center;
	align-items: center;
}
.online_button button[inert] {
	background:#ababab !important;
}
.online_button button img {
	width:10.66vw;
	height:5.6vw;
}
.online_button button .txt {
	color:#fff;
	font-size:2.93vw;
	font-weight:700;
	line-height:1;
	letter-spacing:.1em;
	padding:0 0 0 4vw;
}
.online_button button .txt .st {
	font-size:4.26vw;
	margin:1.33vw 0 0;
	display: block;
}

footer .inner {
	max-width:none;
	padding:6.66vw 5.33vw 19.33vw;
}
footer .twocol {
	flex-direction: column-reverse;
}
footer .ftleft,
footer .ftright {
	width:100%;
}
footer .ftlogo {
	width:50.53vw;
	order: 1;
}
footer .ftleft {
	display: flex;
	flex-direction: column;
}
footer .ftleft p {
	font-size:2.93vw;
	margin:5.33vw 0 0;
	order: 1;
}
footer .ftleft h2 {
	font-size:4.4vw;
	margin:3.6vw 0 0;
	order: 1;
}
footer .ftleft h2 a {
	display: inline-block!important;
	text-decoration: none;
}
footer .button {
	margin:8vw 0 0;
	order: 1;
}
footer .button a {
	font-size:2.93vw;
	width:55.46vw;
	height:10.66vw;
	margin:0 auto;
}
footer .ftsns {
	margin:13.33vw 0;
	display:block;
}
footer .ftsns h3 {
	font-size:3.46vw;
}
footer .ftsns ul {
	justify-content: center;
	margin:2.66vw auto 0;
}
footer .ftsns ul li {
	margin:0 3.33vw;
}
footer .ftsns ul li a i {
	font-size:7.93vw;
}
footer .spMainNavi {
	width:100%;
	display:block;
}
footer .spMainNavi li {
	padding-top:2.66vw;
}
footer .spMainNavi li a {
	color:#fff;
	font-size:3.46vw;
	font-weight:700;
	line-height:1;
	letter-spacing:0;
	display: block;
	padding:2.66vw 4vw 2.66vw 2.66vw;
	border-bottom:solid 1px #fff;
	background:url(../img/common/ico_link_w.svg) no-repeat right 2vw center;
	background-size:1.33vw auto;
}
footer .spSubNavi {
	width:100%;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
footer .spSubNavi li {
	width:calc(50% - 2vw);
	padding-top:8vw;
}
footer .spSubNavi li a {
	color:#fff;
	font-size:3.2vw;
	font-weight:400;
	line-height:1;
	letter-spacing:.1em;
	display: block;
	padding:0 0 0 2.66vw;
}
footer .ftmenu {
	display: none !important;
}
footer p.copyright {
	font-size:2.4vw;
	margin:13.33vw 0 0;
}
#totopLink a {
  width: 9.46vw;
  height: 9.46vw;
	bottom:-9.47vw;
	right:0;
}

}


@media (hover: hover) {
.searchBox form #inputsearch:hover {
	opacity:.5;
}
#globalNavi ul li .mohead:hover > a,
#globalNavi ul li a:hover,
#globalNavi ul li .mohead:focus > a,
#globalNavi ul li a:focus {
	color:#d95e29;
}
#globalNavi ul li .mohead:hover > a::before,
#globalNavi ul li a:hover::before,
#globalNavi ul li .mohead:focus > a::before,
#globalNavi ul li a:focus::before {
	transform: translateX(-50%) scale(1);
}
footer .ftmenu li p a:hover::before,
footer .ftmenu li p a:focus::before {
	transform:scale(1);
}
header h1.logo a:hover,
footer .ftlogo a:hover,
footer .ftsns ul li a:hover i,
.fixHead #totopLink a:hover,
.fixHead #totopLink a:focus {
	opacity:.7;
}
footer .ftsns ul li a:focus i {
	color:#da6634;
}
footer .button a:hover,
footer .button a:focus {
	color:#fff;
}
footer .button a:hover::before,
.online_ticket a:hover::before,
footer .button a:focus::before,
.online_ticket a:focus::before {
	left:-45%;
}
#globalNavi ul.momenu li a:hover,
#globalNavi ul.momenu li a:focus,
.langlist a:hover,
.langlist a:focus {
	color:#fff;
	background:#d95e29;
}
.online_ticket a:hover,
.online_ticket a:focus {
	color:#fff;
}
.online_ticket a:hover .image::before,
.online_ticket a:focus .image::before {
	opacity:1;
}
.online_ticket a:hover .image img,
.online_ticket a:focus .image img {
	opacity:0;
}

}
