@charset "shift_jis";
html {
  scroll-behavior: smooth;
  font-size: 10px;
}
/* common */
body {
  width: 100%;
  background: transparent;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
.serif {
  font-family: "Noto Serif JP", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
@media screen and (max-width: 999px){body > div {overflow-x: hidden;}}
@media screen and (min-width: 1000px){
  .container {
    width: 1100px;
    margin: 0 auto;
  }
  main {
    width: 790px;
    margin-right: 10px;
  }
  aside {width: 300px;}
}
main section:last-of-type {margin-bottom: 60px;}
/* color */
:root{
  --color-common: #000;
  --color-txt: #000;/* text */
  --color-headline: #fd780f;/* h2 */
  --color-sub-title: #a0a0a0;
  --color-bg: #f8f8f8;
  --color-border: #bcbcbc;

  --color-primary: #b32638;
  --color-secondary: #3a58a4;
  --color-tertiary: #c8a063;
  --color-white: #fff;
  --color-gray: #a0a0a0;
  --color-red: #f00;
  --color-blue: blue;

  --color-border-rgb: 225, 225, 225;
  --color-active: #ffa5a7;
  --color-overlay: rgba( 0, 0, 0, .5);
}
.shadow {box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .2);}
/* font */
body{font-size: 1.4em;line-height: 1.3;color: var(--color-txt);}
a{color: var(--color-txt);}
h2.section-title {
  font-size: 2rem;color: var(--color-headline);
}/*
h2::after {
  content: attr(data-title);
  padding: 0 1em;
}*/
.sub-title{
  margin-bottom: 16px;
  color: var(--color-sub-title);
}
/* more */
/*
h2.section-title .more {
  position: absolute;top: 50%;right: .8em;
  transform: translateY(-50%);
}
h2.section-title .more a {color: var(--color-tertiary);text-indent: .4em;}
*/
/* accordion */
/*
@media screen and (max-width: 999px){
  h2.toggle-btn{cursor: pointer;pointer-events: all;}
  h2.toggle-btn span {position: absolute;right: 1em;}
  h2.toggle-btn.active span i {transform: scaleY(-1);}
  .toggle{display: none;}
}
@media screen and (min-width: 1000px){
  h2.toggle-btn {pointer-events: none;}
  .toggle{display: block;}
}
*/
.bold {font-weight: 700;}
.small {font-size: 85.75%;}
.align-center {text-align: center;}
.align-left {text-align: left;}
.align-right {text-align: right;}
.indent {text-indent: 100%;white-space: nowrap;overflow: hidden;}
.ellipsis {overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.radius {border-radius: 4px;}
/* link
.link-btn a {
  width: 11em;max-width: 200px;
  margin: 20px auto;padding: 1em;
  text-align: center;color: var(--color-txt);
  background: #c3b173;
  display: block;
  -webkit-transition: all .3s ease;transition: all .3s ease;
}
@media screen and (min-width: 1000px){
  .link-btn a {font-size: 16px;}
}
.link-btn a:hover{
  color: #c3b173;
  background: var(--color-txt);
}*/
/* flex */
.flex {
  display: flex !important;
}
.flex.wrap {flex-wrap: wrap;}
.flex.center {justify-content: center;}
.flex.between {justify-content: space-between;}
.flex.around {justify-content: space-around;}
.flex.start {justify-content: flex-start;}
@media screen and (min-width: 1000px){
  .flex_ge-1000{display: flex !important;}
  .flex_ge-1000.wrap{flex-wrap: wrap;}
  .flex_ge-1000.center {justify-content: center;}
  .flex_ge-1000.between {justify-content: space-between;}
  .flex_ge-1000.around {justify-content: space-around;}
  .flex_ge-1000.start {justify-content: flex-start;}
}
/* hidden */
@media screen and (max-width: 999px){.hidden_lt-1000{display:none !important}}
@media screen and (min-width: 1000px){.hidden_ge-1000{display:none !important}}
/* main-visual */
@media screen and (max-width: 999px){
  .main-visual {
    height: 60vh !important;
  }
  .main-visual a {
    height: 60vh;
    background-repeat: no-repeat;background-size: contain;background-position: center;
  }
}
@media screen and (min-width: 1000px){
  .main-visual {height: 100vh !important;}
  .main-visual a {
    height: 100vh;
    background-repeat: no-repeat;background-size: cover;background-position: center;
  }
}
/* header */
.top-header {}
.head-wrap {
  width: 100%;height: 30px;
  margin: 0 auto;padding: 2px;
  //position: absolute;top: 0;
  //z-index: 99;
  background: rgb(255 255 255 / 80%);
}
@media screen and (min-width: 1000px){
  .head-wrap {height: 60px;}
}
.head-wrap .inner {align-items: center;}
.head-wrap h1 {height: 26px;}
@media screen and (min-width: 1000px){
  .head-wrap h1 {height: 54px;}
}
/* section */
main section, aside section {margin-top: 20px;}

/* event */
.top-event li {
  margin-bottom: 10px;
  border: solid 3px var(--color-secondary);
}

/* aside */
@media screen and (min-width: 1000px){.diary iframe{height: 550px !important;}}
.aside-list li {padding: 3px;}
.aside-list li:not(:last-of-type) {border-bottom: dotted 2px var(--color-common);}
.aside-list a {color: var(--color-primary);}
.aside-list a:hover {color: var(--color-secondary);}
/*
.aside-content.event .thumb {
  width: 80px;height: auto;max-height: 120px;
  overflow: hidden;
}
.aside-content.event li > div {
  width: calc( 100% - 80px);
  padding-left: 3px;
}
*/
/* top-concept */
.top-concept-img {}
@media screen and (max-width: 999px){
  .top-concept dl {padding-left: 12px;padding-right: 12px;}
}
.top-concept dl {padding-top: 20px;}
.top-concept dt {
  color: var(--color-red);
}
.top-concept dd {margin-top: 10px;}
/* shop */
.shop-news {margin-bottom: 10px;}
.shop-news p:not(:first-of-type),
.shop-data p:not(:first-of-type) {margin-top: 5px;}
.shop-news-title {
  padding-bottom: .1em;
  font-size: 120%;
  border-bottom: dashed 1px var(--color-border);
}
.shop-data-name {font-size: 120%;}
@media screen and (max-width: 999px){
  .shop-data dt {
    padding: 6px;
    background: #f1f1f1;
  }
  .shop-data dd {padding: 6px;}
  .shop-data-map a, .shop-data-tel a {
    width: 80%;max-width: 480px;height: 3em;
    margin: 0 auto;
    color: var(--color-white);line-height: 3em;font-weight: 700;
    background: #c8a063;
    border: solid 1px #c8a063;border-radius: 3px;
    display: block;
  }
}
@media screen and (min-width: 1000px){
  .shop-data dl {padding: 2px 0;}
  .shop-data dd {padding: 4px 0;}
  .shop-data-map a {color: var(--color-blue);}
  .shop-data-map a::before {
    content: "[";
    padding-right: 2px;
  }
  .shop-data-map a::after {
    content: "]";
    padding-left: 2px;
  }
}
.shop-data i {
  margin-right: .2em;
  font-weight: normal;font-size: 140%;
  vertical-align: middle;
}
/* copy btn */
input#address {
  width: 100%;
  line-height: 2em;
}
.shop-data-address {overflow: hidden;}
.shop-data-address button {
  margin-right: 2px;
  float: right;
}
/* group-bnr */
.group-bnr {
  width: 96%;
  margin: 10px auto 0;
  gap: 6px;
}
@media screen and (min-width: 1000px){.group-bnr {width:100%;}}
.group-bnr li {width: calc( calc( 100% - 6px ) / 2 )}
@media screen and (min-width: 1000px){.group-bnr li {width:100%;}}

/* topics */
main .topics {margin-top: 20px;}
main .topics li {
  padding: .4em;
  border-bottom: solid 1px var(--color-border);
}
@media screen and (max-width: 999px){
  main .topics li:first-of-type {border-top: solid 1px var(--color-border);}
}
@media screen and (min-width: 1000px){
  main .topics li {
    width: calc( 100% / 2 );
  }
  main .topics li:first-of-type,
  main .topics li:nth-of-type(2) {
    border-top: solid 1px var(--color-border);
  }
  main .topics li:nth-of-type(odd) {
    border-left: solid 1px var(--color-border);
    border-right: solid 1px var(--color-border);
  }
  main .topics li:nth-of-type(even) {
    border-right: solid 1px var(--color-border);
  }
}
main .topics .thumb {
  width: 5em;height: auto;
}
@media screen and (max-width: 999px){
  main .topics .thumb {width: 4em;height: auto;max-height: 90px;}
  main .topics li div {
    width: calc( 100% - 4em );
    padding-left: .4em;
  }
  main .topics .text {
    height: 2.6em;
    overflow: hidden;
  }
}
@media screen and (min-width: 1000px){
  main .topics .thumb {width: 5em;height: auto;}
  main .topics li div {
    width: calc( 100% - 5em );
    padding-left: .4em;
  }
}
main .topics .thumb img {
  width: 100%;
  object-fit: cover;
}
main .topics .title {font-size: 120%;color: var(--color-primary);}
main .topics .more {
  margin-top: 1em;
  color: var(--color-primary);
}

/* bottom menu */
.bottom-menu {
  width: 100%;height: 50px;
  position: fixed;bottom: 0;left: 0;
}
.bottom-menu > ul {
  height: 50px;
  background: #c73234;
  position: relative;
  z-index: 9999;
}
.bottom-menu > ul li {
  width: calc( 100% / 5 );max-width: 130px;
}
.bottom-menu > ul li a {
  width: 60px;
  margin: 0 auto;padding-top: 34px;padding-bottom: 6px;
  font-size: 10px;line-height: 1;color: var(--color-white);
  display: block;
}
.bottom-menu > ul li.cast a {
  background: url("../../temp1/img/nav/cast-icon.svg") no-repeat;
  background-position: 50% 8px;background-size: auto 22px;
}
.bottom-menu > ul li.schedule a {
  background: url("../../temp1/img/nav/schedule-icon.svg") no-repeat;
  background-position: 50% 8px;background-size: auto 22px;
}
.bottom-menu > ul li.net a {
  background: url("../../temp1/img/nav/net-icon.svg") no-repeat;
  background-position: 50% 8px;background-size: auto 22px;
}
.bottom-menu > ul li.tel a {
  background: url("../../temp1/img/nav/tel-icon.svg") no-repeat;
  background-position: 50% 8px;background-size: auto 22px;
}
/*
.bottom-menu > ul a {
  height: 50px;
  line-height: 50px;color: var(--color-white);
  display: block;
}*/
.hamburger {
  width: 50px;height: 50px;
  position:fixed;bottom:10px;left: 0;
  z-index: 9999;
  background: #c73234;
  cursor: pointer;
}
.hamburger span {
  width: 45%;height: 3px;
  position: absolute;left: 14px;
  display: inline-block;
  transition: all .3s;
  border-radius: 2px;
  background: #fff;
}
.hamburger span:nth-of-type(1) {top: 15px;}
.hamburger span:nth-of-type(2) {top:23px;}
.hamburger span:nth-of-type(3) {top:31px;}
.hamburger.active span:nth-of-type(1) {
  width: 30%;
  top: 18px;left: 18px;
  transform: translateY(6px) rotate(-45deg);
}
.hamburger.active span:nth-of-type(2) {opacity: 0;}
.hamburger.active span:nth-of-type(3) {
  width: 30%;
  top: 30px;left: 18px;
  transform: translateY(-6px) rotate(45deg);
}
.hamburger {
  position: absolute;bottom: 0;left: 50%;
  transform: translate(-50%, 0);
}

.nav-close {
  width: 50px;height: 50px;
  position:fixed;top:10px;right: 0;
  z-index: 9999;
  cursor: pointer;
  background: transparent;
}
.nav-close span {
  width: 45%;height: 3px;
  position: absolute;left: 14px;
  display: inline-block;
  border-radius: 2px;
  background: #fff;
}
.nav-close span:nth-of-type(1) {
  top: 18px;left: 18px;
  transform: translateY(6px) rotate(-45deg);
}
.nav-close span:nth-of-type(2) {
  top: 30px;left: 18px;
  transform: translateY(-6px) rotate(45deg);
}

#gnav {
  width: 100%;height: 100vh;
  position: fixed;top: 0;left: 0;
  z-index : 99;
  background: rgba(255, 190, 140, .95);
  transform: translateY(1000%);
  transition: all .3s;
}
#gnav .gnav-inner {
  width: 100%;max-width: 650px;height: calc( 100vh - 50px );
  position: fixed;left: 50%;
  transform: translate(-50%, 0);
  z-index: 9999;
  overflow: auto;
}

#gnav .gnav-inner ul {
  width: 100%;
  margin-top: 24px;
  gap: 10px 8px;
}
#gnav .gnav-inner ul:first-of-type{
  margin-top: 68px;
}
#gnav .gnav-inner li {
  width: calc( calc( 100% - 8px ) / 2 );height: 2.8em;
}
#gnav .gnav-inner ul:first-of-type li {
  height: auto !important;
}
#gnav .gnav-inner ul:first-of-type li a {
  height: auto !important;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .2);
}
#gnav .gnav-inner ul:nth-of-type(2) li a {
  background: rgb(255 255 255 / 80%);
  border-radius: 3px;
}
#gnav .gnav-inner ul:nth-of-type(3) li a {
  background: #c73234;
  color: var(--color-white);
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .2);
}
#gnav .gnav-inner a {
  height: 2.8em;
  line-height: 2.8em;
  display: block;
}

#gnav.active {
  opacity: 100;
  display: block;
  transform: translateY(0%);
}
/* gnav
#gnav.open {
  width: 100%;height: 100vh;
  position: fixed;top: 0;
  z-index: 999;
}
.nav-overlay {
  width: 100%;height: 130px;
  position: fixed;bottom: -30px;
  z-index: 998;
  background: #ffbe8c;
  transform: scale(0);
  transition: all .4s;
}
.nav-overlay.overlay-open{transform: scale(100);}

.gnav-inner {
  width: 100%;max-width: 650px;height: calc( 100vh - 50px );
  display: none;
  position: fixed;left: 50%;
  transform: translate(-50%, 0);
  z-index: 9999;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}
#gnav.open .gnav-inner {
  display: block;
}

#gnav .gnav-inner ul {
  width: 100%;
  opacity: 0;
}
#gnav.open .gnav-inner ul {opacity: 1;}

#gnav.open .gnav-inner li {
  animation-name: gnavAnima;animation-duration: 1s;animation-delay: .2s;animation-fill-mode: forwards;
  opacity:0;
}
@keyframes gnavAnima{
  0% {opacity: 0;}
  100% {opacity: 1;}
}

#gnav .gnav-inner ul {
  margin-top: 24px;
  gap: 10px 8px;
}
#gnav .gnav-inner li {
  width: calc( calc( 100% - 8px ) / 2 );height: 2.8em;
}
#gnav .gnav-inner ul:first-of-type li {
  height: auto !important;
}
#gnav .gnav-inner ul:first-of-type li a {
  height: auto !important;
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .2);
}
#gnav .gnav-inner ul:nth-of-type(2) li a {
  background: rgb(255 255 255 / 80%);
  border-radius: 3px;
}
#gnav .gnav-inner ul:nth-of-type(3) li a {
  background: #c73234;
  color: var(--color-white);
  box-shadow: 0px 1px 3px 0px rgba(0, 0, 0, .2);
}
#gnav.open  .gnav-inner a {
  height: 2.8em;
  line-height: 2.8em;
  display: block;
}
*/
/* footer */
footer {
  width: 100%;
  margin-top: 40px;
}
.sns ul {
  padding: 8px 1em;
  align-items: center;
  background: #ffa5a74f;
}
.sns li {
  width: 40px;
  margin: 8px;
}
footer .copy {
  padding: 20px 10px 60px;
  align-items: center;
}
footer .copy p {width: 100%;}