@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Staatliches&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap");
.only-pc {
  display: none; }
  @media (min-width: 766px) and (max-width: 768px) {
    .only-pc {
      display: none; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    .only-pc {
      display: inline; } }
  @media (min-width: 769px) {
    .only-pc {
      display: inline; } }

.only-sppc {
  display: block; }
  @media (min-width: 766px) and (max-width: 768px) {
    .only-sppc {
      display: none; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    .only-sppc {
      display: block; } }
  @media (min-width: 769px) {
    .only-sppc {
      display: block; } }

.only-tabsp {
  display: block; }
  @media (min-width: 766px) and (max-width: 768px) {
    .only-tabsp {
      display: block; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    .only-tabsp {
      display: none; } }
  @media (min-width: 769px) {
    .only-tabsp {
      display: none; } }

.only-tab {
  display: none; }
  @media (min-width: 766px) and (max-width: 768px) {
    .only-tab {
      display: block; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    .only-tab {
      display: none; } }
  @media (min-width: 769px) {
    .only-tab {
      display: none; } }

.only-pctab {
  display: none; }
  @media (min-width: 766px) and (max-width: 768px) {
    .only-pctab {
      display: inline-block; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    .only-pctab {
      display: inline-block; } }
  @media (min-width: 769px) {
    .only-pctab {
      display: inline-block; } }

.only-tabpc {
  display: none; }
  @media (min-width: 766px) and (max-width: 768px) {
    .only-tabpc {
      display: inline-block; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    .only-tabpc {
      display: inline-block; } }
  @media (min-width: 769px) {
    .only-tabpc {
      display: inline-block; } }

.only-sp {
  display: inline-block; }
  @media (min-width: 766px) and (max-width: 768px) {
    .only-sp {
      display: none; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    .only-sp {
      display: none; } }
  @media (min-width: 769px) {
    .only-sp {
      display: none; } }

.wideimg {
  position: relative;
  width: 100%;
  overflow: hidden; }

.wideimg::before {
  content: " ";
  display: block;
  padding-top: 30%; }

.wideimg > img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  height: auto; }

.sqimg {
  position: relative;
  width: 100%;
  overflow: hidden; }

.sqimg::before {
  content: " ";
  display: block;
  padding-top: 90%; }

.sqimg > img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  height: auto; }

.sqimg-tabpc {
  position: relative;
  width: 100%;
  overflow: hidden; }

.sqimg-tabpc::before {
  content: " ";
  display: block;
  padding-top: 60%; }
  @media (min-width: 766px) and (max-width: 768px) {
    .sqimg-tabpc::before {
      padding-top: 90%; } }
  @media (min-width: 769px) {
    .sqimg-tabpc::before {
      padding-top: 90%; } }

.sqimg-tabpc > img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  width: 100%;
  height: auto; }

html {
  background: fff;
  color: 333;
  overflow-y: scroll; }

body {
  font: 13px/1.22 arial,helvetica,clean,sans-serif;
  *font-size: small;
  *font: x-small;
  margin-top: 0px;
  margin-right: 0px;
  margin-bottom: 0px;
  margin-left: 0px; }

table {
  font-size: inherit;
  font: 100%; }

a img, img {
  border: 0; }

figure, blockquote, dd, div, dl, dt,
h1, h2, h3, h4, h5, h6,
li, ol, p, pre, span, td, th, ul {
  margin: 0;
  padding: 0; }

abbr, acronym {
  border: 0; }

address, caption, cite, code, dfn, em, th, strong, var {
  font-style: normal;
  font-weight: normal; }

caption, th {
  text-align: left; }

code, kbd, pre, samp, tt {
  font-family: monospace;
  line-height: 100%; }

* + html code, kbd, pre, samp, tt {
  font-size: 108%; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

ol, ul {
  list-style: none; }

q:before, q:after {
  content: ''; }

button, fieldset, form, input, label, legend, select, textarea {
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  margin: 0;
  padding: 0; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 100%; }

hr {
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none;
  background-color: #FFF;
  color: #FFF; }

body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  line-height: 140%;
  letter-spacing: 0;
  width: 100%;
  height: 100%;
  text-align: left;
  margin: 0;
  padding: 0px;
  font-size: 14px;
  background-color: #f7f6ef;
  color: #000; }
  @media (min-width: 766px) and (max-width: 768px) {
    body {
      font-size: 15px;
      letter-spacing: 0.5px; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    body {
      font-size: 17px;
      letter-spacing: 0.5px; } }
  @media (min-width: 769px) {
    body {
      font-size: 17px;
      letter-spacing: 0.5px; } }

html {
  font-size: 13px;
  -webkit-text-size-adjust: 100%; }
  @media (min-width: 766px) and (max-width: 768px) {
    html {
      font-size: 15px; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    html {
      font-size: 17px; } }
  @media (min-width: 769px) {
    html {
      font-size: 17px; } }

form {
  margin: 0;
  padding: 0px; }

li {
  line-height: 140%; }

h1 {
  margin: 0;
  padding: 0px;
  font-weight: normal; }

strong {
  font-weight: bolder; }

img {
  border: none; }

a:link {
  color: #000; }

a:visited {
  color: #000; }

a:hover {
  color: #000; }

a:active {
  color: #000; }

a {
  line-height: 140%;
  text-decoration: none; }

p {
  margin: 0;
  padding: 0px; }

.small {
  font-size: 0.9em; }

.float {
  animation: float 2s linear infinite;
  transform-origin: 50% 50%; }

@keyframes float {
  0% {
    transform: translateY(0); }
  50% {
    transform: translateY(-6px); }
  100% {
    transform: translateY(0); } }
.inner {
  width: 90%;
  margin: 0 auto;
  margin: 0 auto; }
  @media (min-width: 766px) and (max-width: 768px) {
    .inner {
      width: 90%; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    .inner {
      width: 1000px; } }
  @media (min-width: 769px) {
    .inner {
      width: 1000px; } }

section img {
  max-width: 100%;
  height: auto; }

dl.is-empty {
  height: 0;
  width: 0; }

a.linkc:link {
  color: #3e89ca;
  font-weight: bolder;
  text-decoration: underline; }

#rwdMenuWrap .logo {
  width: 80%;
  margin: 25px auto; }

#rwdMenuWrap .logo img {
  max-width: 100%;
  height: auto; }

body::before {
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 28vh;
  background-repeat: no-repeat;
  background: url(../images/mv-bg.png) center bottom no-repeat;
  background-size: cover; }
  @media (min-width: 769px) {
    body::before {
      height: 70vh; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    body::before {
      height: 70vh; } }

header#tophead h1 img {
  max-width: 100%;
  height: auto; }

#pcnavi {
  display: none; }
  @media (min-width: 769px) {
    #pcnavi {
      display: block;
      background-color: #07bbc3;
      position: fixed;
      width: 100%;
      top: 0;
      left: 0;
      z-index: 2;
      padding: .5rem 2rem;
      box-sizing: border-box;
      text-align: center;
      box-shadow: 0px 1px 9px -5px rgba(0, 0, 0, 0.6); } }

header #pcnavi {
  opacity: 0;
  top: -62px; }

#pcnavi ul {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: left;
  /*--- safari（PC）用 ---*/
  justify-content: left;
  align-items: center; }

#pcnavi ul li {
  padding: 0 1.5rem;
  font-size: 15px;
  font-weight: bolder;
  border-right: 1px solid #ccc;
  line-height: 1; }
  @media (min-width: 769px) and (max-width: 1140px) {
    #pcnavi ul li {
      font-size: 13px;
      padding: 0 1rem;
      letter-spacing: 0; } }

#pcnavi ul li.logo {
  width: 150px;
  border: none; }
  @media (min-width: 769px) and (max-width: 1140px) {
    #pcnavi ul li.logo {
      width: 100px; } }

#pcnavi ul li.logo img {
  max-width: 100%;
  height: auto; }

#pcnavi ul li a:link {
  color: #fff; }

#pcnavi ul li a:visited {
  color: #fff; }

#pcnavi ul li a:hover {
  color: yellow; }

#pcnavi ul li span {
  display: block;
  font-size: 11px;
  font-family: "Staatliches", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  opacity: 0.8;
  line-height: 1.3; }

#spobi {
  background-color: #fff;
  padding: .5rem 1.5rem;
  position: fixed;
  z-index: 97;
  top: -62px;
  box-shadow: 0px 1px 9px -5px rgba(0, 0, 0, 0.6);
  width: 100%;
  box-sizing: border-box; }
  @media (min-width: 769px) {
    #spobi {
      display: none; } }

#spobi .logo {
  width: 30%; }
  @media (min-width: 766px) and (max-width: 768px) {
    #spobi .logo {
      width: 110px; } }

#spobi .logo img {
  max-width: 100%;
  height: auto; }

#pagetitle {
  padding: 102px 0 65px 0;
  color: #fff;
  text-align: center;
  letter-spacing: 0px;
  font-size: 1.65rem;
  font-weight: bolder;
  line-height: 1.3;
  text-shadow: black 1px 1px 5px, black -1px 1px 5px, black 1px -1px 5px, black -1px -1px 5px; }
  @media (min-width: 766px) and (max-width: 768px) {
    #pagetitle {
      padding: 150px 0 85px 0; } }
  @media (min-width: 769px) {
    #pagetitle {
      height: 200px;
      padding: 100px 0 40px 0;
      font-size: 2.7rem;
      padding: 20vh 0 0 0;
      line-height: 1.3;
      text-shadow: black 1px 1px 8px, black -1px 1px 8px, black 1px -1px 8px, black -1px -1px 8px; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    #pagetitle {
      font-size: 2.6rem; } }

#pagetitle .en {
  font-size: .4em;
  display: block;
  line-height: 1.3; }

#pagetitle .small {
  font-size: .9em; }

.cont {
  padding: 0rem 0 1px 0;
  background-color: #f7f6efed;
  backdrop-filter: blur(6px); }

.cont2 {
  padding: 1px 0 1px 0;
  background-color: #f7f6efed;
  backdrop-filter: blur(6px); }

.maskP {
  position: relative;
  display: inline-block;
  overflow: hidden; }

.mask {
  background-color: #fcd82e;
  height: 100%;
  width: 100%;
  display: inline-block;
  position: absolute; }

.coming {
  height: 20vh;
  margin: 1rem auto;
  background-color: #ffffff78;
  text-align: center;
  position: relative;
  color: #ccc; }

.coming p {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%); }

.yureru {
  animation: yureruA 3s ease infinite; }

@keyframes yureruA {
  0% {
    transform: translateY(0); }
  5% {
    transform: translateY(0); }
  10% {
    transform: translateY(0); }
  20% {
    transform: translateY(-8px); }
  25% {
    transform: translateY(0); }
  50% {
    transform: translateY(-8px); }
  100% {
    transform: translateY(0); } }
.yureru2 {
  animation: yureruB 4s ease infinite; }

@keyframes yureruB {
  0% {
    transform: translateY(0); }
  5% {
    transform: translateY(0); }
  10% {
    transform: translateY(0); }
  20% {
    transform: translateY(-8px); }
  25% {
    transform: translateY(0); }
  30% {
    transform: translateY(-8px); }
  50% {
    transform: translateY(0); }
  100% {
    transform: translateY(0); } }
footer {
  background-color: #f7f6ef94;
  backdrop-filter: blur(6px); }

footer #sponser {
  text-align: center;
  background-color: #fff;
  padding: 3rem 0; }

footer #sponser h4 {
  font-weight: bolder;
  padding: 0 0 .5rem 0; }

footer #sponser p {
  padding: 0 0 1.5rem 0; }

footer #sponser ul {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap;
  align-items: center;
  align-items: top;
  padding: 0 0 2rem 0; }

footer #sponser ul li {
  width: 45%; }
  @media (min-width: 766px) and (max-width: 768px) {
    footer #sponser ul li {
      width: 20%; } }
  @media (min-width: 769px) {
    footer #sponser ul li {
      width: 23%; } }

footer #sponser ul li.yoko {
  width: 55%; }
  @media (min-width: 766px) and (max-width: 768px) {
    footer #sponser ul li.yoko {
      width: 22%; } }
  @media (min-width: 769px) {
    footer #sponser ul li.yoko {
      width: 25%; } }

footer #copy {
  text-align: center;
  background-color: #5f7e51;
  color: #fff;
  padding: 1rem 0;
  font-size: .85rem; }

/*主な共通部分は省略*/
a.btn-sns {
  font-size: 2rem;
  line-height: 50px;
  width: 50px;
  height: 50px;
  padding: 0;
  letter-spacing: 0;
  color: #fff;
  padding: 1rem;
  border-radius: 50%;
  font-weight: bolder;
  font-family: "Font Awesome 5 Brands"; }

a.btn-sns:hover {
  color: #fff; }

a.btn-sns--instagram {
  background: #d6249f;
  background: -webkit-linear-gradient(45deg, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%);
  background: linear-gradient(45deg, #fdf497 0%, #fdf497 5%, #fd5949 45%, #d6249f 60%, #285aeb 90%); }

a.btn-sns--twitter {
  background: #1da1f2; }

.btn2,
a.btn2,
button.btn2 {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529; }

.btn-wrap {
  margin: 30px 0;
  text-align: center; }

a.btn-c {
  font-size: 1.1rem;
  position: relative;
  padding: 0.75rem 2.5rem 1rem 2.5rem;
  color: #fff;
  background: #b50f1c;
  -webkit-box-shadow: 0 5px 0 #a02626;
  box-shadow: 0 5px 0 #a02626; }
  @media (min-width: 769px) {
    a.btn-c {
      font-size: 1.2rem; } }

a.btn-c span {
  font-size: 0.85rem;
  position: absolute;
  top: 5px;
  box-sizing: border-box;
  letter-spacing: 0;
  left: calc(50% - 115px);
  display: block;
  padding: 0.2rem .5rem;
  width: 230px;
  color: #b50f1c;
  border: 2px solid #b50f1c;
  border-radius: 0.5rem;
  background: #fff;
  -webkit-box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0 3px 3px rgba(0, 0, 0, 0.1); }
  @media (min-width: 769px) {
    a.btn-c span {
      left: calc(50% - 140px);
      width: 280px; } }

a.btn-c:hover {
  -webkit-transform: translate(0, 1px);
  transform: translate(0, 1px);
  color: #fff;
  background: #b50f1c;
  -webkit-box-shadow: 0 2px 0 #b50f1c;
  box-shadow: 0 2px 0 #b50f1c; }

a.btn-c:hover:before {
  left: 2rem; }

.btn-ticket {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem; }

/*ボタン周りの余白用*/
.btn-wrap {
  width: 90%;
  margin: 1.5rem auto; }

a.btn-ticket {
  line-height: 1.2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 0 auto;
  padding: 0;
  width: 100%;
  background-color: #ea5022; }

a.btn-ticket .left {
  width: 80%;
  padding: 1rem 0;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  -webkit-transform-origin: top left;
  transform-origin: top left;
  border: 2px solid #e94919;
  border-right: 0;
  background: #fff;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

a.btn-ticket .left span {
  font-size: .8em;
  letter-spacing: 0; }

a.btn-ticket .left span.txt1 {
  font-size: 1.1em;
  color: #e94919; }

a.btn-ticket .left span.txt2 {
  font-size: .85em;
  color: #999; }

a.btn-ticket .left em {
  font-size: .9em;
  font-style: normal;
  display: block;
  color: #e94919; }

a.btn-ticket .right {
  position: relative;
  width: 10%;
  height: 100%;
  -webkit-transition: all 0.6s;
  transition: all 0.6s;
  -webkit-transform-origin: top left;
  transform-origin: top left;
  color: #fff;
  border-left: 2px dotted #fff;
  background: #e94919;
  -webkit-transform-style: preserve-3d;
  transform-style: preserve-3d; }

a.btn-ticket .right span {
  font-size: .9rem;
  line-height: 1;
  position: absolute;
  left: calc(60% - .5rem);
  display: inline-block;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
  -webkit-transform-origin: bottom left;
  transform-origin: bottom left; }

@media (min-width: 769px) {
  .pcl-flex {
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-pack: justify;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: justify;
    /*--- IE10 ---*/
    -webkit-justify-content: space-between;
    /*--- safari（PC）用 ---*/
    justify-content: space-between; } }

#footer-sns {
  padding: 3rem 0; }

#footer-sns ul {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: center;
  /*--- safari（PC）用 ---*/
  justify-content: center;
  padding: 1rem 0; }

#footer-sns ul li {
  margin: 1rem .5rem; }

#footer-sns .logo {
  width: 60%;
  margin: 0 auto; }
  @media (min-width: 769px) {
    #footer-sns .logo {
      width: 300px; } }

.btn {
  text-align: center; }

.btn a {
  background-color: #b50f1c;
  font-size: 1.1rem;
  margin: 0 auto;
  display: inline-block;
  font-family: "Staatliches", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  position: relative;
  box-sizing: border-box;
  overflow: hidden;
  padding: 1rem 2rem;
  color: #FFF;
  font-weight: bolder;
  border-bottom: solid 4px #750b13;
  text-decoration: none;
  -webkit-transition: all .3s;
  transition: all .3s; }

.btn a:hover {
  background-color: #960a15; }

.pop dl:nth-of-type(1) .photo {
  -webkit-animation: popup 0.3s ease-in-out 0.2s 1 forwards;
  animation: popup 0.3s ease-in-out 0.2s 1 forwards; }

.pop dl:nth-of-type(2) .photo {
  -webkit-animation: popup 0.3s ease-in-out 0.3s 1 forwards;
  animation: popup 0.3s ease-in-out 0.3s 1 forwards; }

.pop dl:nth-of-type(3) .photo {
  -webkit-animation: popup 0.3s ease-in-out 0.4s 1 forwards;
  animation: popup 0.3s ease-in-out 0.4s 1 forwards; }

.pop dl:nth-of-type(4) .photo {
  -webkit-animation: popup 0.3s ease-in-out 0.5s 1 forwards;
  animation: popup 0.3s ease-in-out 0.5s 1 forwards; }

.pop dl:nth-of-type(5) .photo {
  -webkit-animation: popup 0.3s ease-in-out 0.6s 1 forwards;
  animation: popup 0.3s ease-in-out 0.6s 1 forwards; }

.pop dl:nth-of-type(6) .photo {
  -webkit-animation: popup 0.3s ease-in-out 0.7s 1 forwards;
  animation: popup 0.3s ease-in-out 0.7s 1 forwards; }

.pop dl:nth-of-type(7) .photo {
  -webkit-animation: popup 0.3s ease-in-out 0.8s 1 forwards;
  animation: popup 0.3s ease-in-out 0.8s 1 forwards; }

.pop dl:nth-of-type(8) .photo {
  -webkit-animation: popup 0.3s ease-in-out 0.9s 1 forwards;
  animation: popup 0.3s ease-in-out 0.9s 1 forwards; }

.pop dl:nth-of-type(9) .photo {
  -webkit-animation: popup 0.3s ease-in-out 1s 1 forwards;
  animation: popup 0.3s ease-in-out 1s 1 forwards; }

.pop dl:nth-of-type(10) .photo {
  -webkit-animation: popup 0.3s ease-in-out 1.1s 1 forwards;
  animation: popup 0.3s ease-in-out 1.1s 1 forwards; }

.pop dl:nth-of-type(11) .photo {
  -webkit-animation: popup 0.3s ease-in-out 1.2s 1 forwards;
  animation: popup 0.3s ease-in-out 1.2s 1 forwards; }

@-webkit-keyframes popup {
  80% {
    transform: scale(1.1);
    opacity: 0.5; }
  100% {
    transform: scale(1);
    opacity: 1; } }
@keyframes popup {
  80% {
    transform: scale(1.1);
    opacity: 0.5; }
  100% {
    transform: scale(1);
    opacity: 1; } }
/* ------------------------------
   MEDIAQUERIES LAYOUT
------------------------------ */
@media only screen and (max-width: 800px) {
  #mobile-header ul {
    width: 100%; }

  #mobile-header ul li {
    width: 20%; } }
/* ------------------------------
   MEDIAQUERIES[SP]LAYOUT
------------------------------ */
#spnavi {
  display: none; }

@media only screen and (max-width: 1080px) {
  #spnavi {
    display: none; }

  #menuOverlay {
    position: fixed; }

  #switchBtnArea {
    width: 100%;
    background: #000;
    border-bottom: #aaa 1px solid;
    position: fixed;
    z-index: 99;
    opacity: 0;
    top: -62px;
    font-family: "Montserrat","ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","Meiryo","メイリオ","ＭＳ Ｐゴシック",sans-serif; }

  #switchBtnArea #switchBtn {
    top: 6px;
    right: 10px;
    padding: 5px;
    width: 35px;
    height: 35px;
    display: block;
    position: absolute;
    border-radius: 0px; }

  #switchBtnArea #switchBtn span {
    left: 10px;
    width: 25px;
    height: 3px;
    display: block;
    position: absolute;
    background-color: #221E20;
    border-radius: 2px;
    transition: all 0.2s linear; }

  #switchBtnArea #switchBtn span:nth-of-type(1) {
    top: 13px;
    transform: rotate(0); }

  #switchBtnArea #switchBtn span:nth-of-type(2) {
    top: 22px;
    transform: scale(1); }

  #switchBtnArea #switchBtn span:nth-of-type(3) {
    top: 31px;
    transform: rotate(0); }

  #switchBtnArea #switchBtn.btnClose {
    background: transparent; }

  #switchBtnArea #switchBtn.btnClose span:nth-of-type(1) {
    background-color: #221E20;
    top: 15px;
    transform: rotate(-45deg); }

  #switchBtnArea #switchBtn.btnClose span:nth-of-type(2) {
    background-color: #221E20;
    transform: scale(0); }

  #switchBtnArea #switchBtn.btnClose span:nth-of-type(3) {
    background-color: #221E20;
    top: 15px;
    transform: rotate(45deg); }

  #switchBtnArea #switchBtn.btnClose::after {
    bottom: -12px;
    color: #fff; }

  #rwdMenuWrap {
    width: 60%;
    background: #fcd82e;
    overflow: auto;
    z-index: 98;
    padding: 8px 0 10px 0;
    position: fixed;
    height: 100%;
    left: 100%; }

  #rwdMenuWrap ul li a:link {
    color: #000; }

  #rwdMenuWrap ul li a:visited {
    color: #000; }

  #rwdMenuWrap ul {
    width: 100%; }

  #rwdMenuWrap ul li {
    text-align: center;
    width: 85%;
    font-size: 13px;
    color: #fff;
    margin: 0 auto;
    padding: 0px 15px;
    font-weight: bolder;
    letter-spacing: 1px;
    border-bottom: 1px solid #7979792e; }

  #rwdMenuWrap ul li span {
    display: block;
    font-size: 0.85rem;
    font-family: "Staatliches", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }

  #rwdMenuWrap ul li:first-of-type {
    margin: 10vh auto 0 auto !important; }

  #rwdMenuWrap ul li a {
    color: #fff;
    padding: 10px 0px; }

  #rwdMenuWrap ul li.comming {
    opacity: 0.3; }

  #rwdMenuWrap ul li a.line {
    display: none; }

  #rwdMenuWrap ul li a.line small {
    display: none; }

  #rwdMenuWrap ul .ch1 {
    padding: 10px 0 0 0; }

  #rwdMenuWrap ul.child li {
    padding: 0px 0;
    border: none; }

  #rwdMenuWrap ul.child li a {
    padding: 5px 20px;
    text-align: left;
    display: block;
    color: #555;
    transition: all 0.4s cubic-bezier(0.06, 0.03, 0.24, 1.02) 0s; }

  #rwdMenuWrap ul#social-links {
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-pack: justify;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: justify;
    /*--- IE10 ---*/
    -webkit-justify-content: space-between;
    /*--- safari（PC）用 ---*/
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    flex-wrap: wrap;
    padding: 5px;
    width: 90%;
    margin: 0 auto; }

  #rwdMenuWrap ul#social-links li {
    width: 18%;
    border: none; }

  #rwdMenuWrap nav .btn1 {
    margin: 10px 0 15px 0; }

  #rwdMenuWrap nav .btn a {
    width: 200px;
    display: block;
    margin: 0 auto;
    border: 1px solid #888;
    padding: 5px;
    color: #000;
    text-align: center;
    font-size: 12px;
    line-height: 2; }

  #rwdMenuWrap #telnum {
    display: none; }

  #rwdMenuWrap #mobile-tel {
    font-size: 12px;
    width: 80%;
    margin: 0 auto;
    padding: 15px 0 10px 0;
    letter-spacing: 1px;
    line-height: 1.8;
    display: block; }

  #rwdMenuWrap #mobile-tel h5 {
    font-weight: bolder;
    line-height: 1.8; }

  #rwdMenuWrap #mobile-tel a {
    text-decoration: underline; }

  #rwdMenuWrap #mobile-tel .tel-link a {
    border-bottom: none; }

  #contents {
    width: 100%; }

  #rwdMenuWrap .fix {
    position: static; }

  #mobile-tel {
    display: block; } }
/* ------------------------------
   CLEARFIX ELEMENTS
------------------------------ */
#mobile-header > ul:before,
#mobile-header > ul:after {
  content: " ";
  display: table; }

#mobile-header > ul:after {
  clear: both; }

#mobile-header > ul {
  *zoom: 1; }

#rwdMenuWrap ul li a {
  display: block;
  width: 100%; }

#rwdMenuWrap ul li.noline {
  border: none;
  padding: 5px 15px 5px 35px; }

#rwdMenuWrap ul li.last {
  border: none;
  padding: 5px 15px 15px 35px; }

#tophead {
  padding: 10vh 0 0 0;
  background-color: #ffffff73;
  text-align: center;
  position: relative; }
  @media (min-width: 769px) {
    #tophead {
      padding: 20vh 0 0vh 0; } }

#tophead .illust {
  position: relative;
  width: 100%;
  margin: 0 auto; }
  @media (min-width: 769px) {
    #tophead .illust {
      width: 90%; } }

#tophead .illust img {
  max-width: 100%;
  height: auto; }

#tophead #mv-left {
  position: absolute;
  width: 38%;
  bottom: -12%;
  left: 62%;
  z-index: 0; }
  @media (min-width: 769px) {
    #tophead #mv-left {
      left: 70%;
      width: 30%; } }

#tophead #mv-right {
  position: absolute;
  width: 37%;
  bottom: -12%;
  left: -5%;
  z-index: 0; }
  @media (min-width: 769px) {
    #tophead #mv-right {
      left: 0%;
      width: 30%; } }

#tophead h1 {
  width: 90%;
  margin: 0 auto; }
  @media (min-width: 769px) {
    #tophead h1 {
      width: 60%; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    #tophead h1 {
      width: 60%; } }

#tophead .day {
  text-shadow: #f7f6ef 1px 1px 5px, #f7f6ef -1px 1px 5px, #f7f6ef 1px -1px 5px, #f7f6ef -1px -1px 5px;
  text-align: center;
  font-size: 3.2rem;
  font-weight: bolder;
  font-family: "Staatliches", sans-serif;
  line-height: 1.2;
  letter-spacing: 0; }
  @media (min-width: 769px) {
    #tophead .day {
      font-size: 8rem;
      text-shadow: #f7f6ef 1px 1px 8px, #f7f6ef -1px 1px 8px, #f7f6ef 1px -1px 8px, #f7f6ef -1px -1px 8px;
      letter-spacing: .5px; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    #tophead .day {
      font-size: 8rem; } }

#tophead .wd {
  font-size: 1.2rem; }
  @media (min-width: 769px) {
    #tophead .wd {
      font-size: 3rem; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    #tophead .wd {
      font-size: 3rem; } }

#tophead .year {
  font-size: 2rem; }
  @media (min-width: 769px) {
    #tophead .year {
      font-size: 3.5rem; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    #tophead .year {
      font-size: 3.5rem; } }

#tophead .place {
  text-shadow: white 1px 1px 5px, white -1px 1px 5px, white 1px -1px 5px, white -1px -1px 5px;
  text-align: center;
  font-size: 1.3rem;
  font-weight: bolder;
  padding: 0rem 0 5rem 0; }
  @media (min-width: 769px) {
    #tophead .place {
      font-size: 2rem; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    #tophead .place {
      font-size: 2rem; } }

#top-about {
  padding: 2.5rem 0;
  background-color: #fcd82e; }

#top-about p {
  padding: 1rem 0; }

#top-about h2 {
  font-size: 1.3rem;
  font-weight: bolder;
  padding: 1rem 0;
  text-align: center;
  line-height: 1.3; }
  @media (min-width: 769px) {
    #top-about h2 {
      font-size: 1.5rem; } }
  @media (min-width: 769px) and (max-width: 1140px) {
    #top-about h2 {
      font-size: 1.4rem; } }

.youtube {
  text-align: center;
  padding: 2rem 0 .5rem 0; }

.youtube iframe {
  width: 85%;
  height: auto;
  margin: 0 auto;
  display: block;
  height: 180px; }
  @media (min-width: 766px) and (max-width: 768px) {
    .youtube iframe {
      width: 450px;
      height: 250px; } }
  @media (min-width: 769px) {
    .youtube iframe {
      width: 600px;
      height: 330px; } }

#top-contents {
  background-color: #f7f6efad;
  padding: 1.5rem 0 2.5rem 0;
  backdrop-filter: blur(10px); }

#top-contents h3 {
  font-family: "Staatliches", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif;
  font-weight: bolder;
  text-align: center;
  padding: 2.5rem 0 1rem 0;
  font-size: 1.7rem; }
  @media (min-width: 769px) {
    #top-contents h3 {
      font-size: 2.3rem; } }

#top-contents h3 span {
  display: block;
  text-align: center;
  font-size: 0.8rem; }
  @media (min-width: 769px) {
    #top-contents h3 span {
      padding: 1rem 0 0 0;
      font-size: 1rem; } }

#top-contents li {
  text-align: center;
  font-weight: bolder;
  font-size: 1.05rem; }

#top-contents li a:focus, #top-contents li *:focus {
  outline: none; }

#top-contents li img {
  width: 100%;
  height: 140px;
  object-fit: cover;
  /* この一行を追加するだけ！ */ }
  @media (min-width: 766px) and (max-width: 768px) {
    #top-contents li img {
      height: 170px; } }
  @media (min-width: 769px) {
    #top-contents li img {
      height: 290px; } }

#top-contents ul {
  padding: 1.5rem 0 2rem 0;
  overflow: hidden; }

#top-contents .btn a {
  width: 60%; }
  @media (min-width: 769px) {
    #top-contents .btn a {
      width: auto;
      min-width: 200px; } }

#top-contents .katagaki {
  display: block;
  color: #666;
  font-size: 0.85rem;
  line-height: 1; }

.slick-slide {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  transform: scale(0.9); }

.is--active {
  transform: scale(1); }

#top-bn {
  background-color: #eee; }

#top-bn ul {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap;
  padding: 2rem 0; }

#top-bn ul li {
  width: 47%;
  padding: .5rem 0; }
  @media (min-width: 766px) and (max-width: 768px) {
    #top-bn ul li {
      width: 23%; } }
  @media (min-width: 769px) {
    #top-bn ul li {
      width: 28%; } }

#top-bn ul li:hover {
  opacity: 0.8; }

@media (min-width: 769px) {
  #top-bn ul li:last-of-type {
    display: none; } }

#aboutus {
  padding: 0 0 0rem 0; }
  @media (min-width: 769px) {
    #aboutus {
      text-align: center;
      line-height: 1.8;
      padding: 0 0 3rem 0; } }

#about {
  padding: 2rem 0 0 0; }

#aboutus h2 {
  font-size: 1.2rem;
  font-weight: bolder;
  padding: 1rem 0 2.5rem 0;
  text-align: center; }
  @media (min-width: 769px) {
    #aboutus h2 {
      padding: 4rem 0;
      font-size: 2rem;
      line-height: 1.4; } }

.about-tit {
  position: relative;
  padding: 1.2rem;
  text-align: center;
  background: #ffda2e;
  font-weight: bolder;
  margin: 1rem 0 1rem 0;
  font-size: 1.2rem; }
  @media (min-width: 769px) {
    .about-tit {
      padding: 1.5rem 0;
      font-size: 1.5rem; } }

.about-tit:before,
.about-tit:after {
  position: absolute;
  content: ''; }

.about-tit:before {
  top: -40px;
  left: calc(50% - 40px);
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: #ffda2e;
  z-index: 0; }

.about-tit i {
  font-size: 25px;
  line-height: 60px;
  position: absolute;
  z-index: 1;
  top: -40px;
  left: calc(50% - 30px);
  width: 60px;
  height: 60px;
  text-align: center;
  color: #af9527; }

.about-tit span {
  position: relative;
  z-index: 1; }

#about01, #about02, #about03 {
  padding: 4rem 0 3rem 0; }

@media (min-width: 766px) and (max-width: 768px) {
  #about .pcl-flex {
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-pack: justify;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: justify;
    /*--- IE10 ---*/
    -webkit-justify-content: space-between;
    /*--- safari（PC）用 ---*/
    justify-content: space-between;
    align-items: center; } }

#about01 .img, #about02 .img, #about03 .img {
  padding: .5rem 0 1rem 0; }
  @media (min-width: 766px) and (max-width: 768px) {
    #about01 .img, #about02 .img, #about03 .img {
      width: 40%; } }
  @media (min-width: 769px) {
    #about01 .img, #about02 .img, #about03 .img {
      width: 40%; } }

#about .img {
  position: relative;
  margin: 0 0 2rem 0; }

#about .img .sub {
  position: absolute;
  width: 35%;
  bottom: -1rem;
  right: 0rem;
  z-index: 2; }

#about .circle img {
  width: 90%;
  border-radius: 55% 45% 55% 45% / 44% 50% 50% 56%; }

@media (min-width: 766px) and (max-width: 768px) {
  #about01 .txt, #about02 .txt, #about03 .txt {
    width: 55%; } }
@media (min-width: 769px) {
  #about01 .txt, #about02 .txt, #about03 .txt {
    width: 55%; } }

@media (min-width: 769px) {
  #about01 .pcl-flex, #about02 .pcl-flex, #about03 .pcl-flex {
    align-items: center; } }

#about .btn {
  padding: 1.5rem 0; }
  @media (min-width: 766px) and (max-width: 768px) {
    #about .btn {
      padding: 2.5rem 0; } }
  @media (min-width: 769px) {
    #about .btn {
      padding: 2.5rem 0; } }

#about .kadai {
  background-color: #fff;
  padding: 2rem;
  border: 2px solid #ccc;
  position: relative;
  margin: 5rem 0 0 0; }

#about .kadai h4 {
  position: absolute;
  top: -0.8rem;
  background-color: #f6f5ef;
  color: #000;
  padding: 0 .25rem;
  text-align: center;
  font-weight: bolder;
  font-size: 1.1rem; }

#about .kadai span {
  position: absolute;
  top: -3rem;
  color: orange;
  font-weight: bolder;
  left: 0;
  transform: rotate(-1deg); }

#guideline {
  background-color: #eeedd4;
  padding: 3rem 0; }

#guideline h2 {
  font-size: 1.2rem;
  font-weight: bolder;
  padding: 0rem 0 2.5rem 0;
  text-align: center; }
  @media (min-width: 769px) {
    #guideline h2 {
      padding: 2rem 0  3rem 0;
      font-size: 2rem;
      line-height: 1.4; } }

#guideline dl {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  padding: 1rem 0;
  border-top: 2px dotted #dcdab1; }
  @media (min-width: 769px) {
    #guideline dl {
      font-size: 1.1rem; } }

#guideline dl:last-of-type {
  border-bottom: 2px dotted #dcdab1; }

#guideline dl dt {
  width: 25%;
  text-align: center;
  font-weight: bolder;
  font-size: 0.95rem; }
  @media (min-width: 769px) {
    #guideline dl dt {
      font-size: 1.1rem; } }

#guideline dl dd {
  width: 70%; }

#guideline .biko {
  color: #666;
  padding: 1rem 0;
  font-size: 0.85rem; }

#guideline dd a:link {
  text-decoration: underline;
  color: #666; }

#guideline dd a:visited {
  text-decoration: underline;
  color: #666; }

@media (min-width: 769px) {
  a.btn-ticket .right span {
    font-size: 1.1rem;
    opacity: 0.6; } }

@media (min-width: 766px) and (max-width: 768px) {
  .btn-wrap {
    width: 50%; } }
@media (min-width: 769px) {
  .btn-wrap {
    padding: 3rem 0; } }

@media (min-width: 769px) {
  a.btn-ticket .left span.txt2 {
    font-size: .9rem; } }

@media (min-width: 769px) {
  a.btn-ticket .left:hover {
    background-color: #fdf2e5; } }

@media (min-width: 769px) {
  a.btn-ticket {
    font-size: 1.4rem;
    width: 400px; } }

@media (min-width: 766px) and (max-width: 768px) {
  #guest .pcl-flex {
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-pack: justify;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: justify;
    /*--- IE10 ---*/
    -webkit-justify-content: space-between;
    /*--- safari（PC）用 ---*/
    justify-content: space-between;
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    flex-wrap: wrap; } }
@media (min-width: 769px) {
  #guest .pcl-flex {
    -webkit-flex-wrap: wrap;
    /*--- safari（PC）用 ---*/
    flex-wrap: wrap; } }

#guest h3 {
  font-size: 1.5rem;
  font-weight: bolder;
  padding: 1rem 0 1rem 0;
  text-align: center;
  font-family: "Staatliches", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }
  @media (min-width: 769px) {
    #guest h3 {
      padding: 1rem 0  1rem 0;
      font-size: 2rem;
      line-height: 1.4; } }

.guest-prof {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: space-between;
  /*--- safari（PC）用 ---*/
  justify-content: space-between;
  -webkit-flex-wrap: wrap;
  /*--- safari（PC）用 ---*/
  flex-wrap: wrap;
  border-bottom: 2px dotted #ccc;
  padding: 1rem 0; }
  @media (min-width: 766px) and (max-width: 768px) {
    .guest-prof {
      border: none;
      width: 45%;
      display: block;
      align-items: center;
      padding: 1rem;
      box-sizing: border-box;
      padding: 2.5rem 0; } }
  @media (min-width: 769px) {
    .guest-prof {
      border: none;
      width: 31%;
      display: block;
      align-items: center;
      padding: 1rem;
      box-sizing: border-box;
      padding: 2.5rem 0; } }

.bnone {
  border: none; }

@media (min-width: 766px) and (max-width: 768px) {
  #guest dl.is-empty {
    width: 45%; } }
@media (min-width: 769px) {
  #guest dl.is-empty {
    width: 31%; } }

.guest-prof .photo {
  width: 40%; }
  @media (min-width: 766px) and (max-width: 768px) {
    .guest-prof .photo {
      width: 100%; } }
  @media (min-width: 769px) {
    .guest-prof .photo {
      width: 100%; } }

.guest-prof .photo img {
  border-radius: 50%; }

.guest-prof .txt {
  width: 55%; }
  @media (min-width: 766px) and (max-width: 768px) {
    .guest-prof .txt {
      width: 100%; } }
  @media (min-width: 769px) {
    .guest-prof .txt {
      width: 100%;
      padding: 0 .5rem; } }

.guest-prof .icon {
  background-color: #b5020e;
  color: #fff;
  font-weight: bolder;
  padding: .5rem 1rem;
  display: inline-block;
  font-size: .9rem;
  margin: 1rem 0 0 0;
  line-height: 1; }

.guest-prof .icon2 {
  background-color: #5f7e51;
  color: #fff;
  font-weight: bolder;
  padding: .5rem 1rem;
  display: inline-block;
  font-size: .9rem;
  margin: 1rem 0 0 0;
  line-height: 1; }

.guest-prof .icon3 {
  background-color: #f3cf2c;
  color: #fff;
  font-weight: bolder;
  padding: .5rem 1rem;
  display: inline-block;
  font-size: .9rem;
  margin: 1rem 0 0 0;
  line-height: 1; }

.guest-prof .katagaki {
  font-size: 0.9em;
  color: #666;
  padding: 1rem 0 .2rem 0;
  line-height: 1.1;
  letter-spacing: 0; }

.guest-prof .name {
  font-size: 1.2rem;
  font-weight: bolder;
  padding: 0rem 0 1rem 0; }
  @media (min-width: 769px) {
    .guest-prof .name {
      font-size: 1.3rem;
      line-height: 1.1; } }

.guest-prof .honbun {
  padding: 1rem 0;
  color: #333;
  font-size: 0.95rem;
  letter-spacing: 0px;
  line-height: 1.4; }

.guest-prof .honbun p {
  padding: 0rem 0 .5rem 0; }

.guest-prof .honbun a:link {
  text-decoration: underline;
  color: #c5a302; }

.guest-prof .honbun a:visited {
  text-decoration: underline;
  color: #c5a302; }

#guest h3 span {
  display: block;
  text-align: center;
  font-size: 0.8rem; }
  @media (min-width: 769px) {
    #guest h3 span {
      padding: .5rem 0 0 0;
      font-size: 1rem; } }

#guest01 h3 {
  background-color: #ac030f;
  color: #fff; }

#guest02 h3 {
  background-color: #5f7e51;
  color: #fff; }

#guest03 h3 {
  background-color: #f3cf2c;
  color: #fff; }

#guest01 dl .photo, #guest02 dl .photo, #guest03 dl .photo {
  opacity: 0;
  transform: scale(0.9); }

#timetable {
  padding: 2rem 0 0 0; }

#timetable h2 {
  font-size: 1.7rem;
  font-weight: bolder;
  padding: 1rem 0 1rem 0;
  text-align: center;
  font-family: "Staatliches", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }
  @media (min-width: 766px) and (max-width: 768px) {
    #timetable h2 {
      padding: 1rem 0  1rem 0;
      font-size: 2rem;
      line-height: 1.4; } }
  @media (min-width: 769px) {
    #timetable h2 {
      padding: 1rem 0  1rem 0;
      font-size: 2rem;
      line-height: 1.4; } }

#timetable h2 span {
  display: block;
  text-align: center;
  font-size: 0.8rem; }
  @media (min-width: 766px) and (max-width: 768px) {
    #timetable h2 span {
      padding: 0rem 0 0 0;
      font-size: 1rem; } }
  @media (min-width: 769px) {
    #timetable h2 span {
      padding: 0rem 0 0 0;
      font-size: 1rem; } }

@media (min-width: 766px) and (max-width: 768px) {
  #timetable .pcl-flex {
    display: -webkit-box;
    /*--- Androidブラウザ用 ---*/
    display: -ms-flexbox;
    /*--- IE10 ---*/
    display: -webkit-flex;
    /*--- safari（PC）用 ---*/
    display: flex;
    -webkit-box-pack: justify;
    /*--- Androidブラウザ用 ---*/
    -ms-flex-pack: justify;
    /*--- IE10 ---*/
    -webkit-justify-content: space-between;
    /*--- safari（PC）用 ---*/
    justify-content: space-between; } }

@media (min-width: 766px) and (max-width: 768px) {
  #schedule {
    width: 60%; } }
@media (min-width: 769px) {
  #schedule {
    width: 65%; } }

#schedule h3 {
  background-color: #000;
  color: #fff;
  padding: .5rem 1rem;
  font-weight: bolder;
  font-size: 1.1rem; }

#schedule ol {
  background-color: #fff;
  border: 1px solid #ccc; }

#schedule ol li {
  display: -webkit-box;
  /*--- Androidブラウザ用 ---*/
  display: -ms-flexbox;
  /*--- IE10 ---*/
  display: -webkit-flex;
  /*--- safari（PC）用 ---*/
  display: flex;
  -webkit-box-pack: justify;
  /*--- Androidブラウザ用 ---*/
  -ms-flex-pack: justify;
  /*--- IE10 ---*/
  -webkit-justify-content: left;
  /*--- safari（PC）用 ---*/
  justify-content: left;
  padding: 1rem 0;
  font-size: 13px;
  border-bottom: 2px dotted #ccc; }
  @media (min-width: 766px) and (max-width: 768px) {
    #schedule ol li {
      font-size: 16px; } }
  @media (min-width: 769px) {
    #schedule ol li {
      font-size: 1rem; } }

#schedule ol li .time {
  width: 13%;
  padding: 0 1rem;
  font-size: 0.95em;
  color: #666; }

#schedule ol li .txt {
  width: 80%;
  font-size: 13px; }
  @media (min-width: 766px) and (max-width: 768px) {
    #schedule ol li .txt {
      font-size: 16px; } }
  @media (min-width: 769px) {
    #schedule ol li .txt {
      font-size: 1rem; } }

#schedule ol li:nth-child(odd) {
  background-color: #eee; }

#schedule ol li:last-of-type {
  border: none; }

#boothtime {
  margin: 3rem 0 0 0;
  position: relative; }
  @media (min-width: 766px) and (max-width: 768px) {
    #boothtime {
      width: 35%;
      padding: 3rem 0 0 0; } }
  @media (min-width: 769px) {
    #boothtime {
      width: 30%;
      padding: 3rem 0 0 0; } }

#boothtime h3 {
  position: absolute;
  left: 1rem;
  top: -.5rem;
  background: #f7f6efed;
  color: #000;
  padding: 0 .5rem;
  font-weight: bolder;
  font-size: 1.1rem; }
  @media (min-width: 766px) and (max-width: 768px) {
    #boothtime h3 {
      top: 2.5rem; } }
  @media (min-width: 769px) {
    #boothtime h3 {
      top: 2.5rem; } }

#boothtime .waku {
  border: 2px solid #000;
  padding: 1.5rem 1rem 1rem 1rem; }

#boothtime dl {
  border-bottom: 1px solid #ccc;
  padding: .5rem 0; }

#boothtime dl:last-of-type {
  border: none; }

#boothtime dt {
  padding: .25rem 0 .5rem 0; }

#boothtime dd {
  padding: 0 1rem;
  color: #666;
  font-size: 0.95rem;
  line-height: 1.3; }

#timetable .biko {
  color: #666;
  padding: 2rem 0 1rem 0;
  font-size: 0.9rem; }
  @media (min-width: 766px) and (max-width: 768px) {
    #timetable .biko {
      text-align: center; } }
  @media (min-width: 769px) {
    #timetable .biko {
      text-align: center; } }

#areamap {
  padding: 3rem 0; }

#areamap h2 {
  font-size: 1.7rem;
  font-weight: bolder;
  padding: 1rem 0 1rem 0;
  text-align: center;
  font-family: "Staatliches", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }
  @media (min-width: 769px) {
    #areamap h2 {
      padding: 1rem 0  1rem 0;
      font-size: 2rem;
      line-height: 1.4; } }

#areamap h2 span {
  display: block;
  text-align: center;
  font-size: 0.8rem; }
  @media (min-width: 769px) {
    #areamap h2 span {
      padding: 0rem 0 0 0;
      font-size: 1rem; } }

#faq .inner {
  padding: 0 0 2rem 0; }
  @media (min-width: 769px) {
    #faq .inner {
      width: 900px;
      padding: 0 0 3rem 0rem; } }

@media (min-width: 769px) {
  #notice .inner {
    width: 900px;
    padding: 0 0 3rem 0rem; } }

#faq dl {
  margin: 0 0 1rem 0; }

#faq dl dt {
  padding: .5rem;
  position: relative;
  border-bottom: 1px solid #ccc; }
  @media (min-width: 769px) {
    #faq dl dt {
      font-size: 1.1rem;
      padding: 1rem;
      border-bottom: 1px solid #ccc; } }

#faq dl dt:before {
  content: 'Q:';
  font-size: 1.1rem;
  font-weight: bolder; }

@media (min-width: 769px) {
  #faq dt:hover {
    text-decoration: underline; } }

#faq dt:active {
  text-decoration: none; }

#faq dd {
  border: 1px solid #ccc;
  border-top: none; }

#faq dl dd {
  padding: 1rem;
  font-size: .9rem;
  display: none;
  background-color: #ffffff8c; }
  @media (min-width: 769px) {
    #faq dl dd {
      padding: 1rem;
      font-size: .95rem; } }

#faq dt.close:after {
  position: absolute;
  content: "+";
  right: 1rem;
  color: #999; }

#faq dt.open:after {
  position: absolute;
  content: "-";
  right: 1rem;
  color: #ccc; }

#faq h2 {
  font-size: 1.7rem;
  font-weight: bolder;
  padding: 1rem 0 1.5rem 0;
  text-align: center;
  font-family: "Staatliches", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }
  @media (min-width: 769px) {
    #faq h2 {
      padding: 1rem 0  2rem 0;
      font-size: 2rem;
      line-height: 1.4; } }

#faq h2 span {
  display: block;
  text-align: center;
  font-size: 0.8rem; }
  @media (min-width: 769px) {
    #faq h2 span {
      padding: 0rem 0 0 0;
      font-size: 1rem; } }

#faq {
  background-color: #eeedd4;
  padding: 3rem 0; }

#notice {
  padding: 2rem 0 0 0; }

#notice h2 {
  font-size: 1.7rem;
  font-weight: bolder;
  padding: 1rem 0 1.5rem 0;
  text-align: center;
  font-family: "Staatliches", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Meiryo", "メイリオ", "ＭＳ Ｐゴシック", sans-serif; }
  @media (min-width: 769px) {
    #notice h2 {
      padding: 1rem 0  2rem 0;
      font-size: 2rem;
      line-height: 1.4; } }

#notice h2 span {
  display: block;
  text-align: center;
  font-size: 0.8rem; }
  @media (min-width: 769px) {
    #notice h2 span {
      padding: 0rem 0 0 0;
      font-size: 1rem; } }

#notice h3 {
  font-size: 1.1rem;
  border-left: 6px solid #6b8094;
  font-weight: bolder;
  background-color: #6b8094;
  color: #fff;
  padding: .5rem 0 .5rem 1rem;
  margin: 0 0 1rem 0; }
  @media (min-width: 769px) {
    #notice h3 {
      border-left: 8px solid #6b8094;
      margin: 0 0 2rem 0;
      font-size: 1.5rem;
      line-height: 1.4; } }

#notice ul {
  padding: 0 0 2rem 0; }

#notice ul li {
  padding: 0 0 1.2rem 0;
  color: #333;
  line-height: 1.3;
  font-size: .9rem; }
  @media (min-width: 769px) {
    #notice ul li {
      font-size: .95rem; } }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

/*# sourceMappingURL=style.css.map */
