@charset "UTF-8";

/* CSS Document */

/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/

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 {	margin: 0;	padding: 0;	border: 0;	font-size: 100%;	font: inherit;	vertical-align: baseline;	box-sizing:border-box;}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section, main {	display: block;}
body {	line-height: 1;}
ol, ul {	list-style: none;}
blockquote, q {	quotes: none;}
blockquote:before, blockquote:after, q:before, q:after {	content: '';	content: none;}
table {border-collapse: collapse;border-spacing: 0;}


/* アニメーション
-------------------------------------*/
/* ScrollTrigger マーカーを強制的に非表示にする */
.gsap-marker-scroller-end,
.gsap-marker-start,
.gsap-marker-end,
.gsap-marker-scroller-start {
  display: none !important;
}

/*fadein*/
.animated__fadeIn {
  opacity: 0;
  translate: 0 40px;
  transition: opacity 0.8s ease, translate 0.8s ease;
}

.animated__fadeIn.js-show {
  opacity: 1;
  translate: 0 0;
}


@media screen and (min-width: 768px), print {
   /* bese */
body {background-color: #FFFFFF;font-size: 16px;overflow-x: clip;line-height: 1.6;letter-spacing: 0.8px;color: #25252A;}
header{transform: none;max-width: 1920px;position: relative;width: 100%;margin-inline: auto;padding: 30px 160px 27px 41px;display: flex;justify-content: space-between;align-items: center;height: 90px;}
header .header-logo{}
header .h-menu{ display: none;}

/* スクロールで固定した時 */
header.is-active {
   position: fixed;
   top: 0;
   left: 50%;
   transform: translateX(-50%);
   width: 100%;
   max-width: 1920px;
   background: #fff;
   box-shadow: 0px 6px 12px rgba(37, 37, 42, 0.1);
   z-index: 100;
}
/* 初期状態：navは非表示 */
.header-nav {
   opacity: 0;
   pointer-events: none;
   transition: opacity 0.3s ease;
}
.header-nav ul {
   display: flex;
   gap: 40px;
}
.header-nav ul li a {
   font-weight: 500;
   font-size: 14px;
   letter-spacing: 0;
}
/* ヘッダーにis-activeがついたらnavを表示 */
header.is-active .header-nav {
   opacity: 1;
   pointer-events: auto;
}


footer{
   max-width: 1920px;
   width: 100%;
   margin-inline: auto;
   background: #4A4F59;
   padding-bottom: 40px;
   overflow: hidden;
   position:relative;
   z-index: 10;
}
footer .inner {
   width: min(95%, 1600px);
   margin-inline: auto;
   display: flex;
   justify-content: space-between;
   padding: 80px 0 93px;
}
footer .logo {
   margin-bottom: 38px;
}
footer .address {
   font-weight: 400;
   font-size: 14px;
   line-height: 1.85714;
   letter-spacing: 0;
   color: #fff;
   margin-bottom: 9px;
}
footer .priv a{
   font-weight: 400;
   font-size: 14px;
   line-height: 1.85714;
   letter-spacing: 0;
   color: #fff;
   position: relative;
   display: inline-block;
}
footer .priv a::before {
   position: absolute;
   content: "";
   background: url(../images/common/open-icon-w.svg)no-repeat;
   width: 12px;
   height: 12px;
   top: 50%;
   transform: translateY(-50%);
   right: -20px;
   background-size: contain;
}
footer .f-nav {
   padding: 12px 0 0;
}
footer .f-nav ul {
   display: flex;
   gap: 40px;
   margin-bottom: 74px;
}
footer .f-nav ul li a {
   font-weight: 500;
   font-size: 14px;
   line-height: 1.4285;
   letter-spacing: 0;
   color: #fff;
}
footer .btn-list {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 10px;
   margin-left: auto;
   width: 270px;
}
footer .btn-list li a {
   display: block;
   width: 100%;
}
footer .btn-list picture,
footer .btn-list img {
   display: block;
   width: 100%;
   height: auto;
}
footer .btn-list li a {
   display: block;
}
footer .btn-list li a img {
   display: block;
   width: 100%;
   height: auto;
}
footer .copyright {
   font-weight: 400;
   font-size: 12px;
   letter-spacing: 0;
   text-align: center;
   color: #fff;
   display: block;
}

.comment-list {
   font-size: 13px;
   line-height: 1.6;
   color: #4A4F59;
   list-style: none;
   padding-left: 0;
}

.comment-list li + li {
   margin-top: 4px;
}

.comment-list li {
   position: relative;
   padding-left: 1.4em;
}

.comment-list li::before {
   content: "※";
   position: absolute;
   left: 0;
   color: #4A4F59;
   font-size: 0.9em;
   line-height: 1.6;
   display: inline-block;
   width: 1em;
}

.list .comment-list {
   font-size: 12px;
}

.list .comment-list li + li {
   margin-top: 3px;
}

.access table td .list {
   margin-top: 12px;
   font-size: 14px;
   line-height: 1.6;
   list-style: none;
   padding-left: 0;
}

.access table td .list li {
   position: relative;
   padding-left: 1.3em;
}

.access table td .list li::before {
   content: "・";
   position: absolute;
   left: 0;
   top: 0.1em;
   display: inline-block;
   width: 0.8em;
}

.ticket .ticket-place .list .comment-list li {
   font-size: 13px;
   letter-spacing: 0;
   padding-left: 1.4em;
}

.ticket .ticket-place .list .comment-list li::before {
   content: "※";
   font-size: 0.9em;
   width: 1em;
   top: 0.15em;
}

.page-top {
   position: fixed;
   bottom: 20px;
   right: 20px;
   z-index: 10;
   display: none;
 }
.page-top a {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 0;
}
.page-top picture,
.page-top img {
   display: block;
   width: 100%;
   height: auto;
}
 




/*pc・タブレットcss*/
/*pc_defaultset*/
.pc { display: block !important; }
/*pcのみ表示ブロック*/
.pc2 { display: inline-block !important; }
/*pcのみ表示ブロック*/
.sp, .sp2 { display: none !important; }
/*スマホのみ表示ブロック*/
.h_menu { display: none; }
/*スマホ用ヘッダ*/
.sp-header { display: none; }
/*スマホ用メニュー*/
#sp-global-nav { display: none; }
/*スマホ用メニュー*/
.sp-fix-list { display: none; }
/* Antialiasing ※任意　*/
     
html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
 
/* WEB FONTs 游ゴシックかすれ予防*/
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }
.f-min { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
.f-min-02 { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","Sawarabi Mincho","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.f-gothic { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック","Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
.f-shippori {
   font-family: "Shippori Mincho B1", serif;
   font-weight: 400;
   font-style: normal;
}

body { -webkit-text-size-adjust: 100%; }
img { vertical-align: bottom; }
a { text-decoration: none; color: #090909; }
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }

   
/* リンク透明 */
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.ggmap { position: relative; padding-bottom: 56.25%; padding-top: 30px; height: 0; overflow: hidden; }
.ggmap iframe, .ggmap object, .ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }
/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
@font-face { font-family: 'jp-sttl01';
src: url("../font/.eot");
/* IE9以上用 */
src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
/* iOS, Android用 */
/* 念の為指定しておきます */
font-weight: normal;
/* 念の為指定しておきます */
font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
.myWebFontClass { font-family: 'jp-sttl01'; }
}


@media screen and (max-width: 1200px) {
html { overflow: auto; }
/* body { overflow: visible; } */
}


/* ========================================
@media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {
header{padding: 1.563vw 8.338vw 1.407vw 2.137vw;height: 4.69vw;}
header .header-logo img{width: 11.152vw;vertical-align: middle;}
.header-nav ul {
   gap: 2.084vw;
}
.header-nav ul li a {
   font-size: clamp(0.5rem, 0.25rem + 0.52vw, 0.875rem);
   display: block;
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1500px)
======================================== */
@media screen and (min-width:768px) and (max-width:1500px) {
footer{
   padding-bottom: 2.667vw;
}
footer .inner {
   padding: 5.333vw 0 6.2vw;
}
footer .logo {
   margin-bottom: 2.533vw;
}
footer .logo img {
   width: 21.4vw;
}
footer .address {
   font-size: 0.933vw;
   margin-bottom: 0.6vw;
}
footer .priv a{
   font-size: 0.933vw;
}
footer .priv a::before {
   width: 0.8vw;
   height: 0.8vw;
   right: -1.333vw;
}
footer .f-nav {
   padding: 0.8vw 0 0;
}
footer .f-nav ul {
   gap: 2.667vw;
   margin-bottom: 4.933vw;
}
footer .f-nav ul li a {
   font-size: 0.933vw;
}
footer .btn-list {
   gap: 0.667vw;
   width: 18vw;
}
footer .btn-list li a {
   width: 100%;
}
footer .btn-list picture,
footer .btn-list img {
   display: block;
   width: 100%;
   height: auto;
}
footer .btn-list img {
   width: 100%;
   height: auto;
}
footer .copyright {
   font-size: 0.8vw;
}

.page-top {
   position: fixed;
   bottom: 1.333vw;
   right: 1.333vw;
   z-index: 10;
   display: none;
}
.page-top img {
   width: 8vw;
}
 


}



@media screen and (max-width: 767px) {

html{ font-size:62.5%;}

body {background-color: #FFFFFF;  overflow: hidden; font-size: 3.6vw;  -webkit-text-size-adjust: 100%;line-height: 1.6;color: #25252A;}
.pc, .pc2 { display: none !important; }
/*pcのみ表示ブロック*/
.sp { display: block !important; }
/*スマホのみ表示ブロック*/
.sp2 { display: inline-block !important; }
/*スマホのみ表示ブロック*/
.no-br { display: none; }
/*スマホでbrを解除したい場合に使用*/
.sp_display_block { display: block !important; }
/*スマホでflexboxを解除したい場合等に使用*/
.pc-menu{ display: none; }
.side-fix{ display: none; }
.fix-list{ display: none; }
#pc-menu-open{ display: none; }


header{position: relative;padding: 3vw;}
header .header-logo{/* position: absolute; *//* top:0; *//* left:0; */}
header .header-logo img{width: 38.65vw;}
header .h-menu {position: fixed;top: 2vw;right: 1vw;width: 13vw;z-index: 997;}
header .h-menu img {height: 11.5vw;width: auto;}




footer{
   background: #4A4F59;
   padding: 0 0 20vw;
   overflow: hidden;
}
footer .inner {
   width: 77.29vw;
   margin-inline: auto;
   display: grid;
   padding: 0 0 19vw;
}
footer .logo {
   margin-bottom: 9.46vw;
}
footer .address {
   font-weight: 400;
   font-size:3.382vw;
   line-height: 1.85714;
   letter-spacing: 0;
   color: #fff;
   margin-bottom: 6vw;
   text-align: center;
}
footer .priv {
   text-align: center;
   padding: 0 5vw 14.5vw 0;
}
footer .priv a{
   font-weight: 400;
   font-size:3.382vw;
   line-height: 1.85714;
   letter-spacing: 0;
   color: #fff;
   position: relative;
   display: inline-block;
   text-align: center;
}
footer .priv a::before {
   position: absolute;
   content: "";
   background: url(../images/common/open-icon-w.svg)no-repeat;
   width: 2.90vw;
   height: 2.90vw;
   top: 50%;
   transform: translateY(-50%);
   right: -5vw;
   background-size: contain;
}
footer .btn-list {
   display: grid;
   grid-template-columns: repeat(4, minmax(0, 1fr));
   gap: 2.42vw;
   margin-inline: auto;
   width: 65.22vw;
}
footer .btn-list li a {
   display: block;
   width: 100%;
}
footer .btn-list picture,
footer .btn-list img {
   display: block;
   width: 100%;
   height: auto;
}
footer .copyright {
   font-weight: 400;
   font-size:2.898vw;
   letter-spacing: 0;
   text-align: center;
   color: #fff;
   display: block;
}
 
.comment-list {
   font-size: 9px;
   line-height: 1.6;
   color: #4A4F59;
   list-style: none;
   padding-left: 0;
}
 
.comment-list li + li {
   margin-top: 1.4vw;
}

.comment-list li {
   position: relative;
   padding-left: 1.4em;
}

.comment-list li::before {
   content: "※";
   position: absolute;
   left: 0;
   color: #4A4F59;
   font-size: 0.9em;
   line-height: 1.6;
   display: inline-block;
   width: 1em;
}

.list .comment-list {
   font-size: 2.4vw;
}
 
.list .comment-list li + li {
   margin-top: 0.8vw;
}

.access table td .list {
   margin-top: 3vw;
   font-size: 2.8vw;
   line-height: 1.6;
   list-style: none;
   padding-left: 0;
}

.access table td .list li {
   position: relative;
   padding-left: 1.6em;
}

.access table td .list li::before {
   content: "・";
   position: absolute;
   left: 0;
   top: 0.2em;
   display: inline-block;
   width: 1em;
}

.ticket .ticket-place .list .comment-list li {
   font-size: 2.4vw;
}

.ticket .ticket-place .list .comment-list li::before {
   content: "※";
   font-size: 0.9em;
   width: 1em;
   line-height: 1;
   top: 0.35em;
}
 
/* page-top
-------------------------------------*/
.page-top {
   position: relative;
   top: -39vw;
   z-index: 2;
   margin-bottom: -5.2vw;
}
.page-top a {
   display: inline-flex;
   align-items: center;
   justify-content: center;
   padding: 0;
 }
 .page-top a img {
   width: 77.29vw;
   height: auto;
 }


.fit img { object-fit: cover; }
.wysiwyg img { width: auto !important; height: auto !important; }
html { -webkit-font-smoothing: subpixel-antialiased; -moz-osx-font-smoothing: none; overflow-x: hidden; }
/* WEB FONTs 游ゴシックかすれ予防*/
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 100; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 200; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 300; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Medium"); font-weight: 400; }
@font-face { font-family: "Yu Gothic"; src: local("Yu Gothic Bold"); font-weight: bold; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 100; }
@font-face { font-family: "Helvetica Neue"; src: local("Helvetica Neue Regular"); font-weight: 200; }
.f-min { font-family: "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif; }
.f-min-02 { font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3","Sawarabi Mincho","Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif; }
.f-gothic { font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "游ゴシック","Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro",  Verdana, Meiryo, Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;}
.f-shippori {
   font-family: "Shippori Mincho B1", serif;
   font-weight: 400;
   font-style: normal;
}
*:focus { outline: none!important;}
a { -webkit-tap-highlight-color:rgba(0,0,0,0); cursor:pointer;}

body { -webkit-text-size-adjust: 100%; }
img {vertical-align: bottom;max-width: 100%;height: auto;}
a { text-decoration: none; color: #090909; }
a:hover { text-decoration: underline; }
.nobd a:hover { text-decoration: none !important; }
.clearfix { zoom: 1; }
.clearfix:after { display: block; clear: both; height: 0; visibility: hidden; line-height: 0; content: "."; }


/* img-block */
/* アンカーリンク調整 */
.hideAnchor { display: block; height: 0; overflow: hidden; text-indent: -9999px; margin-top: -2vw; padding-bottom: 2vw; }
/* スクロール縦 */
.scroll-y { box-sizing: border-box; overflow-y: scroll; transform: translateZ(0); }
/* リンク透明 */
a img:hover { -ms-filter: "alpha( opacity=80 )"; filter: alpha(opacity=80); opacity: 0.8; }
/* リンク透明にしない */
.noop a img:hover { -ms-filter: "alpha( opacity=100 )"; filter: alpha(opacity=100); opacity: 1.0; }
/*---------------------------------------- 　　外部サービス ----------------------------------------*/
/* ggmap */
/* <div class="ggmap">iframeのコピーしたコード</div> */
.sp-ggmap { position: relative; padding-bottom: 56.25%; padding-top: 5vw; height: 0; overflow: hidden; }
.sp-ggmap iframe, .sp-ggmap object, .sp-ggmap embed { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
/* <div class="youtube"><iframe  src="youtubeのURL?rel=0" frameborder="0" allowfullscreen></iframe></div> */
.youtube { position: relative; width: 100%; padding-top: 56.25%; }
.youtube iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important; }

/*---------------------------------------- 　　webフォント（サーバー置き）　 ----------------------------------------*/
@font-face { font-family: 'jp-sttl01';
/* お好きな名前にしましょう */
src: url("../font/.eot");
/* IE9以上用 */
src: url("../font/bokutachi.eot?#iefix") format("embedded-opentype"), url("../font/NotoSansCJKjp-Medium.woff") format("woff"), url("../font/NotoSansCJKjp-Medium.woff") format("woff");
/* iOS, Android用 */
/* 念の為指定しておきます */
font-weight: normal;
/* 念の為指定しておきます */
font-style: normal; vertical-align: top; margin: 0px; padding: 0px; }
.myWebFontClass { font-family: 'jp-sttl01'; }
}
@media screen and (max-height: 450px) {
   /* 高さ450px以下の場合 andoroidのフォーム対策 ストーカーバナー用　*/
	.sp-fix-list{display: none;}
}