﻿@charset "utf-8";@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600&&display=swap");@import url("https://fonts.googleapis.com/css2?family=Zen+Old+Mincho+JP:wght@400;600;900&&display=swap");html {  width: 100%;  background: url(../img/back2.jpg) center top ;  background-size: 100%;  font-size: 62.5%;  font-family: "Noto Sans JP", sans-serif;  font-weight: 400;  word-break: break-all;   scroll-behavior: smooth;}body {  width: 100%;  color: #231815;  font-size: 1.8rem;  line-height: 1.6;}@media screen and (max-width: 767px) {  body {  }}img {  display: block;  vertical-align: bottom;  width: 100%;  height: auto}a {  -webkit-transition: .3s;  transition: .3s}a:hover {  opacity: .8}.pc{  display: block;}.sp{  display:none;}@media screen and (max-width: 768px) {.pc{  display:none;}.sp{  display: block;}}main {  position: relative}.inner {}.bg1{  background: url(../img/back1.jpg) center top ;  background-size: cover;  padding: 5% 0;}/* title */#title{  position: relative;  width: 50%;  margin: 0 auto 5% auto;}@media screen and (max-width: 768px) {#title{  width: 70%;}}/* info */section.info {  max-width: 70%;  margin: 0 auto;  padding: 2%;  background: #ede7e0;}section.info h2{  text-align: center;  color: #231815;  font-size: 2.3vw;  line-height: 1.6;  border-bottom: 1px solid #c70044;  padding-bottom: 5%;  margin-bottom: 5%;  overflow: hidden;}section.info h2 .ttl{  font-size: 1.8vw;}section.info h2 .ttl span{  color: #c70044;  font-size: 2.2vw;  font-weight: 600;}section.info h2 .ttl span .small{  font-size: 1.2vw;  display: inline-block;  vertical-align: top;  padding-top: 0.75em;}section.info h2 .sub{  width: 70%;  float: left;  font-size: 1.8vw;  text-align: left;  margin: 1% 0 0 2%;}section.info img.img{  width: 25%;  float: right;  margin: 0 2% 0 0;}section.info img.info-ticket{  width: 35%;  float: right;  margin:0 5% 5% 0;}section.info p.tx1{  clear: both;  width: 50%;  float: left;  margin: 3% 0 1% 5% ;  font-size: 2.5vw;  font-weight: 600;  line-height: 1.6;}section.info p.tx1 .pc{  display: inline-block;}section.info p.tx1 .sp{  display:none;}section.info p.tx2{  width: 55%;  float: left;  margin: 0 0 0 5% ;  font-size: 0.8vw;}section.info p.tx3{  clear: both;  line-height: 1.3;  border-top: 1px solid #c70044;  padding-top: 2%;}@media screen and (max-width: 768px) {section.info {  max-width: 100%;  margin: 0 auto;  padding: 2%;  border: none;}section.info h2{  font-size: 3.1vw;  border-bottom: none;  padding-bottom: 0;  margin-bottom: 0;}section.info h2 .ttl{  font-size: 4.0vw;  margin: 4% 0;}section.info h2 .ttl span{  font-size: 5.8vw;  line-height: 1.3;}section.info h2 .ttl span .small{  font-size: 3vw;}section.info h2 .sub{  width: 100%;  float: none;  font-size: 3.6vw;  text-align: center;  margin: 1% 0 0 2%;}section.info img.img{  width: 40%;  float: none;  margin: 3% auto 0 auto;}section.info img.info-ticket{  width: 80%;  float: none;  margin:0 auto 1% auto;}section.info p.tx1{  width: 90%;  float: none;  font-size: 5.8vw;  text-align: center;  line-height: 1.3;  border-top: 1px solid #c70044;  padding-top: 5%;  margin: 5% auto 8% auto;}section.info p.tx1 .pc{  display:none;}section.info p.tx1 .sp{  display: inline-block;}section.info p.tx2{  width: 80%;  float: none;  margin: 3% auto;  font-size: 1.8vw;}}/* coupon */section.coupon {  position: relative;  max-width: 70%;  margin: 8% auto 5% auto;   padding: 6% 3% 4% 3%;  background: #fff;}section.coupon .img{  width: 90%;  aspect-ratio: 1069 / 210;  margin: 0 auto 3% auto;  background: url(../img/coupon-img_pc.png) no-repeat;  background-size: cover;}section.coupon .tx1{  position: absolute;  top: -16%;  left: 3%;  width: 25%;}section.coupon .tx2{  font-size: 1.1vw;  font-weight: 600;  line-height: 1.3;  padding: 0 5%;  color: #231815;  text-align: center;}section.coupon .tx2 span.pink{  color: #c70044;  margin: 0 0.2em;}section.coupon .tx2 span.big{  font-size: 1.35vw;}section.coupon .tx3{  padding: 3% 5% 1% 5%;}section.coupon .tx3 .left{  display: inline-block;  font-size: 0.7vw;  line-height: 1.3;  float: left;  color: #231815;  overflow: hidden;}section.coupon .tx3 .right{  display: inline-block;  font-size: 1vw;  font-weight: 600;  line-height: 1.3;  float: right;  color: #231815;  overflow: hidden;}@media screen and (max-width: 768px) {section.coupon {  max-width: 100%;  margin: 0 auto 5% auto; }section.coupon .img{  width: 80%;  aspect-ratio: 464 / 428;  background: url(../img/coupon-img_sp.png) no-repeat;  background-size: cover;}section.coupon .tx1{  position: relative;  width: 50%;  margin: 5% auto 10% auto;  top: 0;  left: 0;}section.coupon .tx2{  font-size: 2.5vw;  margin: 0 auto;}section.coupon .tx2 p{  text-align: left;  display: inline-block;}section.coupon .tx2 p .space{  width: 1.5em;}section.coupon .tx2 span.pink{  color: #c70044;  margin: 0 0.2em;}section.coupon .tx2 span.big{  font-size: 3.5vw;}section.coupon .tx3{  padding: 3% 5% 1% 5%;}section.coupon .tx3 .left{  width: 100%;  float: none;  font-size: 2.3vw;}section.coupon .tx3 .right{  width: 100%;  float: none;  font-size: 3.5vw;}}/* art-deco */section.art-deco {  max-width: 70%;  margin: 0 auto 5% auto;  padding: 0 5%;  border-top: 1px solid #c70044;  border-bottom: 1px solid #c70044;  display: flex;  background: url(../img/back3.png);}section.art-deco .img{  width: 45%;  margin-right: 10%;  display: flex;  align-items: center;}section.art-deco .img p{  font-size: 0.7vw;  line-height: 1.3;}section.art-deco .tx{  width: 55%;  padding: 5% 0;}section.art-deco .tx .tx1{  font-size: 1.1vw;  font-weight: 600;  font-family: "Zen Old Mincho", serif;}section.art-deco .tx .tx2{  font-size: 2.8vw;  font-weight: 600;  font-family: "Zen Old Mincho", serif;  line-height: 1.4;}section.art-deco .tx .tx2 span{  font-size: 2.4vw;}section.art-deco .tx .tx3{  color: #c70044;  font-size: 1.6vw;  font-weight: 600;  font-family: "Zen Old Mincho", serif;  margin: 3% 0;}section.art-deco .tx .tx3 span{  float: right;  display: inline-block;  margin-bottom: 3%;}section.art-deco .tx .tx4{  font-size: 1vw;  font-weight: 600;  font-family: "Zen Old Mincho", serif;  margin-bottom: 2%;  clear: both;}section.art-deco .tx .tx5{  font-size: 0.6vw;  font-weight: 600;  font-family: "Zen Old Mincho", serif;  margin-bottom: 2%;}section.art-deco .tx a{  display: inline-block;  background: #c70044;  color: #fff;  border-radius: 100vh;  text-align: center;  font-size: 1vw;  font-weight: 600;  line-height: 1;  padding: 1% 2%;  margin-top: 10%;}@media screen and (max-width: 768px) {section.art-deco {  max-width: 80%;  padding: 0;  border-left: none;  border-right: none;  display:block;  margin-bottom: 20%;}section.art-deco .img{  width: 80%;  margin: 10% auto 2% auto;}section.art-deco .img p{  display: block;  font-size: 1.8vw;  font-weight: 600;  font-family: "Zen Old Mincho", serif;  line-height: 1.3;}section.art-deco .tx{  width: 80%;  margin: 5% auto 0 auto;}section.art-deco .tx .tx1{  font-size: 2.2vw;  text-align: center;}section.art-deco .tx .tx2{  font-size: 5.8vw;  margin-bottom: 3%;  text-align: center;}section.art-deco .tx .tx2 span{  font-size: 4.8vw;  margin-bottom: 3%;  text-align: center;}section.art-deco .tx .tx3{  font-size: 3.2vw;  margin-bottom: 2%;  line-height: 1.4;  text-align: left;}section.art-deco .tx .tx4{  font-size: 3vw;  font-weight: 600;  font-family: "Zen Old Mincho", serif;  margin-bottom: 2%;}section.art-deco .tx .tx5{  font-size: 0.6vw;  font-weight: 600;  font-family: "Zen Old Mincho", serif;  margin-bottom: 2%;}section.art-deco .tx a{  width: 60%;  display: block;  font-size: 3vw;  margin: 10% auto 5% auto;  padding: 2% 0%;}}/* ticket-services */.ticket-services {  width: 100%;  background: #000;}.ticket-services .inner{  max-width: 80%;  margin: 0 auto;  padding: 0;  display: flex;  align-items: center;  flex-wrap: wrap;}.ticket-services .inner .tx1{  width: 25%;  margin-top: -10%;  margin-right: -2%;}.ticket-services .inner .tx1 img{  margin-top: -20%;}.ticket-services .inner .tx2{  width: 60%;  padding: 2.5% 0;}.ticket-services .inner .tx3 {  width: 100%;  padding: 0 0 2% 0;  color: #FFF;  text-align: center;  font-size: calc(8 *(100vw/800));}.ticket-services .inner .tx3 p{  display: inline-block;  text-align: left;}@media screen and (max-width: 768px) {.ticket-services .inner{  max-width: 90%;  margin: 0 auto 0 auto;  padding: 0;  display: flex;  align-items: center;  justify-content: center;  flex-wrap: wrap;}.ticket-services .inner .tx1{  width: 40%;  margin-right: 0;  margin-bottom: 2%;}.ticket-services .inner .tx1 img{  margin-top: -20%;}.ticket-services .inner .tx2{  width: 90%;  padding: 2.5% 0;}.ticket-services .inner .tx3 {  width: 100%;  font-size: 1.4vw;}}/* nav */nav {  width: 100%;  margin: 0 auto;  padding: 0 0 8% 0;  user-select: none;}nav ul {  max-width: 80%;  display: flex;  justify-content: space-between;  align-items: center;  margin: 5% auto 0 auto;  padding: 0;}nav ul li:nth-child(1) {  width: 35.5%;}nav ul li:nth-child(2) {  width: 18.5%;}nav ul li:nth-child(3) {  width: 21.5%;}nav ul li:nth-child(4) {  width: 22.5%;}nav ul li a{  display: flex;  justify-content: center;  align-items: center;  background: #c70044;  color: #fff;  text-align: center;  font-size: 1.5vw;  font-weight: 600;  line-height: 1;  padding: 20px 0;}nav ul li a::before{  content: "";  display: inline-block;  width: 24px;  height: 24px;  margin-right: 10px;  background: url(../img/nav-ico.png) no-repeat ;  background-size: cover;}@media screen and (max-width: 768px) {nav ul {  max-width: 90%;  display: flex;  justify-content: space-between;  align-items: center;  flex-wrap: wrap;  padding: 0;}nav ul li:nth-child(1) {  width: 49.5%;  margin-bottom: 1%;}nav ul li:nth-child(2) {  width: 49.5%;  margin-bottom: 1%;}nav ul li:nth-child(3) {  width: 49.5%;  margin-bottom: 1%;}nav ul li:nth-child(4) {  width: 49.5%;  margin-bottom: 1%;}nav ul li a{  display: flex;  justify-content:flex-start;  font-size: 3.0vw;  padding: 5%;}nav ul li a::before{  content: "";  display: inline-block;  width: 14px;  height: 14px;  margin-right: 10px;  background: url(../img/nav-ico.png) no-repeat ;  background-size: cover;}}/* shops */section.shops{  width: 100%;  margin: 0 auto;  padding: 0 0 5% 0;  user-select: none;}section.shops .inner{  max-width: 80%;  margin: 0 auto;}section.shops h3{  width: 35%;  font-size: 2.2vw;  font-weight: 600;  text-align: center;  margin: 0 auto 5% auto;  padding-bottom: 1.3%;  background: url(../img/shop-title.png) no-repeat center bottom;  background-size: contain;}section.shops ul.shop-list{  max-width: 80%;  margin: 0 auto;  display: flex;  flex-wrap: wrap;}section.shops ul.shop-list > li{  width: 30%;  margin: 0 5% 10% 0;}section.shops ul.shop-list > li:nth-child(3n){  margin: 0 0 10% 0;}section.shops ul.shop-list > li > a{  transition: .3s}section.shops ul.shop-list > li > a:hover {  opacity: .8;}section.shops ul li .shop .shop-img{  margin-bottom: 3%;}section.shops ul li .shop .shop-area{  color: #c70044;  font-size: 0.9vw;}section.shops ul li .shop .shop-name{  font-size: 1.1vw;  font-weight: 600;}section.shops ul li .shop .shop-tel{  font-size: 0.9vw;}section.shops ul li .shop .shop-target{  color: #c70044;  font-size: 0.9vw;  font-weight: 600;  margin-top: 3%;  padding-top: 3%;  border-top: 1px dotted #231815;}section.shops ul li .shop .shop-target.sub{  margin-top: 0;  padding-top: 0;  border-top: none;}section.shops ul li .shop .shop-benefit{  color: #c70044;  font-size: 1.2vw;  font-weight: 600;  line-height: 1.3;  margin-bottom: 2%;}section.shops ul li .shop ul li{  font-size: 0.8vw;}section.shops ul li .shop ul li.ind1{  text-indent: -1em;  padding-left: 1em;}section.shops p.ex{  display: block;  font-size: 1vw;  text-align: center;  margin: 0 auto;}@media screen and (max-width: 768px) {section.shops .inner{  max-width: 90%;  margin: 0 auto;}section.shops h3{  width: 70%;  font-size: 4.5vw;}section.shops ul.shop-list{  max-width: 90%;}section.shops ul.shop-list > li{  width: 100%;  margin: 0 0 20% 0;}section.shops ul.shop-list > li:nth-child(3n){  margin: 0 0 20% 0;}section.shops ul.shop-list > li > a:hover {  opacity: 1;}section.shops ul.shop-list > li .shop .shop-img{  margin-bottom: 5%;}section.shops ul li .shop .shop-area{  font-size: 2.8vw;}section.shops ul li .shop .shop-name{  font-size: 4.0vw;}section.shops ul li .shop .shop-tel{  font-size: 3.0vw;}section.shops ul li .shop .shop-target{  font-size: 3.5vw;}section.shops ul li .shop .shop-benefit{  font-size: 4.0vw;}section.shops ul li .shop ul li{  font-size: 3.0vw;}section.shops p.ex{  font-size: 2vw;}}/* map */section.map{  max-width: 100%;  position: relative;  margin: 0 auto;  padding: 5% 0;}section.map .title{  position: relative;  max-width: 80%;  margin: 0 auto;  padding: 0;}section.map .title p{  position: absolute;  display: inline-block;  background: #c70044;  color: #fff;  margin: calc(-35*(100vh/1920)) 0 0 5%;  padding: 0 0.7em 0.1em 0.7em;  font-size: calc(70*(100vh/1920));  font-weight: 600;  line-height: 1.1;  border-radius: 100vh;  z-index: 1;}section.map .inner{  position: relative;  max-width: 80%;  margin: 0 auto;  padding: 0;}section.map .inner .img{  width: 100%;  aspect-ratio: 1960 / 658;  border-radius: 20px;  border: #c70044 solid 3px;  background: url(../img/map.png) no-repeat center center;  background-size: cover;}@media screen and (max-width: 767px) {section.map{  padding: 10% 0;}section.map .title{  max-width: 100%;}section.map .title p{  margin: calc(-30*(100vh/1920)) 0 0 10%;  padding: 0 0.7em 0.1em 0.7em;  font-size: calc(50*(100vh/1920));}section.map .inner{  width: 90%;  margin: 0 auto;  aspect-ratio: 1 / 1;  overflow: scroll;  cursor: pointer;  scrollbar-width: none;  border: #c70044 solid 3px;}  section.map::-webkit-scrollbar{    display:none;  }  section.map .inner .img{    border-radius: 0;    border: none;    max-width: none;    width: 350%;    margin: auto;  }}#page-top a{    position: fixed;    bottom: 16%;    right: 1%;    z-index: 1;    border: 2px solid #FFF;    font-size: 0.8vw;    text-align: center;    font-weight: bold;    padding: 0.5em 1em ;    background: #c70044;    color: #FFF;    border-radius: 5px;    filter: drop-shadow(0px 0px 5px rgba(0,0,0,0.5));    }@media screen and (max-width: 767px) {#page-top a{    bottom: 16%;    right: 1%;    padding: 0.5em 1em ;    font-size: 1.6vw;    filter: drop-shadow(0px 0px 2px rgba(0,0,0,0.5));   }}footer .banner{  width: 300px;  text-align: center;  margin: 0 auto;  padding: 0;}footer .copyright {  font-size: 1.4rem;  text-align: center;  padding: 2% 0;}@media screen and (max-width: 767px) {footer .banner{  width: 200px;}  footer .copyright {    font-size: 1.2rem;    padding: 2% 0 15% 0;  }}@media screen and (max-width: 767px) {  .pc{    display: none;  }  .sp{  display: inline-block;  }}