@charset "UTF-8";
/*===============================

    Reset

================================*/
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

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

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

/* change colours to suit your needs */
ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

/* change colours to suit your needs */
mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

/* change border colour to suit your needs */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #cccccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-repeat: no-repeat;
}

button {
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

/*===============================

    Base

================================*/
html {
  color: #333333;
  font-size: 16px;
}

@media screen and (max-width: 320px) {
  html {
    font-size: 14px;
  }
}

@media screen and (min-width: 481px) {
  html {
    font-size: 18px;
  }
}

body {
  font-family: "ten-mincho", "Shippori Mincho", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
  background-image: url(../images/site_bg.png);
  background-size: 240px;
}

a {
  color: #333333;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
  -webkit-backface-visibility: hidden;
}

.img {
  text-align: center;
}

.inner {
  max-width: 580px;
  margin: auto;
  padding: 0 10px;
}

/*===============================

    Utility

================================*/
.fixedBgImg {
  position: relative;
}

.fixedBgImg::before {
  content: "";
  display: block;
  width: 100%;
  height: 100vh;
  background: url(../images/bg.jpg);
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
}

.huti {
  text-shadow: #333333 2px 0px, #333333 -2px 0px, #333333 0px -2px, #333333 0px 2px, #333333 2px 2px, #333333 -2px 2px, #333333 2px -2px, #333333 -2px -2px, #333333 1px 2px, #333333 -1px 2px, #333333 1px -2px, #333333 -1px -2px, #333333 2px 1px, #333333 -2px 1px, #333333 2px -1px, #333333 -2px -1px;
}

.txt-center {
  text-align: center;
}

.txt-bold {
  font-weight: bold;
}

.txt-link {
  color: #BB8B10;
  text-decoration: underline;
}

.hukidashi {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-weight: bold;
  text-align: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.hukidashi::before, .hukidashi::after {
  content: "";
  display: block;
  height: 0;
  width: 0;
  border-top: 1.25em solid #FFFFFF;
  border-bottom: 0px solid transparent;
  border-left: 0.125em solid transparent;
  border-right: 0.125em solid transparent;
}

.hukidashi::before {
  -webkit-transform: rotate(-12deg);
  transform: rotate(-12deg);
  margin-right: 0.5em;
}

.hukidashi::after {
  -webkit-transform: rotate(12deg);
  transform: rotate(12deg);
  margin-left: 0.5em;
}

.iframeWrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}

.iframeWrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.flexbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

.lock {
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .flexbox-pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
  }
}

@media screen and (max-width: 768px) {
  .pc {
    display: none;
  }
}

@media screen and (min-width: 769px) {
  .sp {
    display: none;
  }
}

/*===============================

    animation

================================*/
.effectFadeIn {
  opacity: 0;
  -webkit-transition: all 3s;
  transition: all 3s;
}

.effectFadeIn.effectScroll {
  opacity: 1;
}

.effectFadeUp {
  opacity: 0;
  -webkit-transform: translate(0, 45px);
  transform: translate(0, 45px);
  -webkit-transition: all 1s;
  transition: all 1s;
}

.effectFadeUp.effectScroll {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.effectFadeRight {
  opacity: 0;
  -webkit-transform: translate(45px, 0);
  transform: translate(45px, 0);
  -webkit-transition: all 1s;
  transition: all 1s;
}

.effectFadeRight.effectScroll {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.effectFadeLeft {
  opacity: 0;
  -webkit-transform: translate(-45px, 0);
  transform: translate(-45px, 0);
  -webkit-transition: all 1s;
  transition: all 1s;
}

.effectFadeLeft.effectScroll {
  opacity: 1;
  -webkit-transform: translate(0, 0);
  transform: translate(0, 0);
}

.effectZoom {
  -webkit-transition: all 6s;
  transition: all 6s;
}

.effectZoom.effectScroll {
  -webkit-transform: scale(1.1);
  transform: scale(1.1);
}

.effectMaker {
  font-weight: bold;
  background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, rgba(253, 242, 161, 0.6)));
  background: -webkit-linear-gradient(transparent 50%, rgba(253, 242, 161, 0.6) 50%);
  background: linear-gradient(transparent 50%, rgba(253, 242, 161, 0.6) 50%);
  background-repeat: no-repeat;
  background-size: 200% 100%;
  background-position: 200% 0;
  -webkit-transition: 2.5s;
  transition: 2.5s;
}

.effectMaker.effectScroll {
  background-position: 100% 0;
}

.floatingEffect {
  -webkit-animation: fuwafuwa 3s infinite;
  animation: fuwafuwa 3s infinite;
}

@-webkit-keyframes fuwafuwa {
  0% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
  50% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}

@keyframes fuwafuwa {
  0% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
  50% {
    -webkit-transform: translateY(20px);
    transform: translateY(20px);
  }
  100% {
    -webkit-transform: translateY(0px);
    transform: translateY(0px);
  }
}

/*===============================

    Layout

================================*/
/*
    メインコンテンツ上下余白
================================*/
#mainContents {
  overflow: hidden;
}

/*
    余白
================================*/
.sc {
  padding: 40px 0;
}

.sc_inner {
  margin-top: 2.5rem;
}

/*===============================

    Component

================================*/
/*
    セクション見出し
================================*/
.sc_header {
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}

.sc_header::after {
  content: "";
  display: block;
  width: 100%;
  height: 8px;
  background-image: url(../images/sc_header_dotted.svg);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  margin-top: 0.5em;
}

.heading {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  color: #020202;
  background: -webkit-linear-gradient(358.91deg, #BB8B10 0%, #DCBD6E 51.66%, #BB8B10 100%);
  background: linear-gradient(91.09deg, #BB8B10 0%, #DCBD6E 51.66%, #BB8B10 100%);
  padding: 0.4em;
  outline: solid 1px rgba(255, 255, 255, 0.4);
  outline-offset: -3px;
}

/*
    見出し
================================*/
.ttl-team {
  font-size: 1.5rem;
  text-align: center;
  font-weight: bold;
  background-color: #ED0800;
  line-height: 1.5;
  padding: 14px 8px;
  border: solid 2px #DDDDDD;
  margin-top: 3rem;
  margin-bottom: 1rem;
  position: relative;
  overflow: hidden;
}

.ttl-team span {
  position: relative;
  z-index: 1;
}

.ttl-team::before {
  font-size: 5rem;
  content: attr(data-attack);
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  color: rgba(0, 0, 0, 0.12);
  font-weight: bold;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}

.ttl-team-aka {
  color: #FFFFFF;
  background-color: #ED0800;
}

.ttl-team-shiro {
  color: #bb8b10;
  background-color: #fff;
  border: solid 2px #bb8b10;
}

.ttl-team-shiro::before {
  color: rgba(186, 138, 16, 0.12);
}

/*
    背景動画
================================*/
.bgVideo {
  display: none;
}

@media screen and (min-width: 769px) {
  .bgVideoWrap {
    position: fixed;
    z-index: -1;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    overflow: hidden;
  }
  .bgVideoWrap::after {
    display: block;
    content: "";
    width: 100%;
    height: 100%;
    background: url(../images/yokojima.png);
    position: fixed;
    top: 0;
    left: 0;
  }
  .bgVideo {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    width: 177.77777778vh;
    /* 16:9 の幅→16 ÷ 9＝ 177.77% */
    height: 56.25vw;
    /* 16:9の幅 → 9 ÷ 16 = 56.25% */
    min-height: 100%;
    min-width: 100%;
  }
}

/*
    リスト
================================*/
.list {
  line-height: 1.5;
  list-style: disc;
  padding-left: 25px;
}

/*
    タイムテーブル
================================*/
.timetable {
  counter-reset: num;
  line-height: 1.5;
  margin-top: 1.5rem;
}

.timetable_item {
  position: relative;
  padding-left: 1.875rem;
}

.timetable_item + .timetable_item {
  margin-top: 0.875rem;
}

.timetable_item::before {
  counter-increment: num;
  content: counter(num);
  display: block;
  font-size: 0.75rem;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  width: 1.66667em;
  height: 1.66667em;
  background-color: #ED0800;
  line-height: 1.5em;
  border-radius: 50%;
  position: absolute;
  top: 0.41667em;
  left: 0;
}

.timetable_item:nth-child(even)::before {
  color: #FFFFFF;
  background-color: #bb8b10;
}

.timetable_singer {
  font-weight: bold;
}

.timetable_singer_shop {
  font-size: 0.875rem;
  margin-right: 0.5em;
}

.timetable_song {
  font-size: 0.875rem;
  margin-top: 0 !important;
  color: rgba(255, 255, 255, 0.8);
}

.timetable_song::before {
  content: "♪ ";
  display: inline-block;
  font-weight: bold;
}

/*
    プレイリスト
================================*/
.playlist {
  counter-reset: num;
  margin-top: 1.625rem;
}

.playlist_item {
  position: relative;
  padding-left: 0.8125rem;
}

.playlist_item > .flexbox .playlist_img {
  width: 25%;
}

.playlist_item > .flexbox .playlist_body {
  width: 75%;
  padding-left: 0.75rem;
}

.playlist_item + .playlist_item {
  margin-top: 1.625rem;
}

.playlist_item::before {
  counter-increment: num;
  content: counter(num);
  display: block;
  font-size: 0.875rem;
  color: #FFFFFF;
  font-weight: bold;
  text-align: center;
  width: 1.85714em;
  height: 1.85714em;
  background-color: #ED0800;
  line-height: 1.71429em;
  border-radius: 50%;
  position: absolute;
  top: -0.92857em;
  left: 0;
  z-index: 2;
}

.playlist_img img {
  border: solid 2px #ED0800;
  border-radius: 8px;
}

.playlist_singer {
  font-size: 1.25rem;
  font-weight: bold;
  line-height: 1.5;
}

.playlist_singer_shop {
  font-size: 0.7em;
  color: #ED0800;
  display: block;
}

.playlist_song {
  color: #5E5E5E;
  margin-top: 0.3125rem;
  overflow: hidden;
  background-color: #fff;
  padding: 6px;
  border-radius: 4px;
  line-height: 1.4;
  -webkit-box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.07);
  box-shadow: 0px 0px 20px rgba(0, 0, 0, 0.07);
}

.playlist_song::before {
  content: "♪ ";
  display: inline-block;
  font-weight: bold;
  color: #c04aff;
}

.playlist-shiro .playlist_img img {
  border-color: #bb8b10;
}

.playlist-shiro .playlist_item::before {
  color: #FFFFFF;
  background-color: #bb8b10;
}

.playlist-shiro .playlist_singer_shop {
  color: #bb8b10;
}

/*
    フォーム
================================*/
form {
  line-height: 1.8;
  font-size: 1rem;
}

form dl {
  margin: 0 auto;
  overflow: hidden;
}

form dl dt {
  overflow: hidden;
  position: relative;
  font-weight: 400;
}

form dl dt.required::after {
  content: "※必須";
  display: inline-block;
  color: #cd2020;
  margin-left: 0.5rem;
  display: inline-block;
  line-height: 1;
  border-radius: 4px;
  font-weight: normal;
}

form dl dt .optional {
  display: none;
}

form dl dd .radio {
  color: #FFFFFF;
}

form dl dd .radio input[type="radio"] {
  margin-right: 8px;
}

form dl dd .radio label {
  padding-top: 0;
}

form dl dt {
  width: 100%;
  padding: 1.5rem 0 0;
}

form dl dd {
  width: 100%;
  padding: 0.5rem 0 0;
}

form dl dd.flexbox {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

form input[type="text"],
form input[type="email"],
form input[type="tel"],
form input[type="date"],
form input[type="time"],
form input[type="number"],
form select,
form textarea {
  width: 100%;
  padding: 12px;
  border: solid 1px #BB8B10;
  background: #EAEAEA;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  font-size: 100%;
}

form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="tel"]:focus,
form input[type="date"]:focus,
form input[type="time"]:focus,
form input[type="number"]:focus,
form select:focus,
form textarea:focus {
  outline: none;
}

@media screen and (min-width: 769px) {
  form input[type="text"],
  form input[type="email"],
  form input[type="tel"],
  form input[type="date"],
  form input[type="time"],
  form input[type="number"],
  form select,
  form textarea {
    padding: 12px 16px;
  }
}

form select {
  font-size: 100%;
  border: solid 1px #E9E9E9;
  background: #EAEAEA;
  border: solid 1px #BB8B10;
  background-repeat: no-repeat;
  background-size: 12px 8px;
  background-position: right 6px center;
  width: 100%;
}

form select:focus {
  outline: auto 1px #BB8B10;
}

select::-ms-expand {
  display: none;
}

form textarea {
  display: block;
  width: 100%;
  resize: vertical;
  height: 300px;
}

form input[type="radio"],
form input[type="checkbox"] {
  margin-top: -3px;
}

form label {
  display: block;
  padding: 12px 0;
}

form label:hover {
  cursor: pointer;
}

form ul {
  margin-left: -1em;
}

form ul li {
  display: inline-block;
  margin-left: 1em;
}

form input[type="button"],
form input[type="submit"] {
  border-radius: 0;
  border: none;
  -webkit-appearance: none;
  cursor: pointer;
}

form input[type="button"]:hover {
  cursor: pointer;
}

#form_submit_button, .form_submit_button {
  font-family: inherit;
  display: block;
  width: 100%;
  margin: 2.5rem auto 0;
  color: #FFFFFF;
  background-color: #3381FF;
  text-shadow: 1px 2px 0px rgba(0, 0, 0, 0.25);
  text-align: center;
  font-size: 1.125rem;
  font-weight: 400;
  padding: 1em 1em;
  overflow: hidden;
  position: relative;
}

#form_submit_button::before, .form_submit_button::before {
  display: block;
  position: absolute;
  z-index: 1;
  left: -100%;
  top: -50vh;
  content: '';
  width: 3rem;
  height: 100vh;
  -webkit-transform: rotate(5deg);
  transform: rotate(5deg);
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, #ffffff), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, #ffffff 50%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #ffffff 50%, rgba(255, 255, 255, 0) 100%);
  -webkit-animation: highLight 3s ease-in-out 0s infinite;
  animation: highLight 3s ease-in-out 0s infinite;
}

@-webkit-keyframes highLight {
  from {
    left: -5%;
  }
  15%,
  100% {
    left: 105%;
  }
}

@keyframes highLight {
  from {
    left: -5%;
  }
  15%,
  100% {
    left: 105%;
  }
}

.form .error_blank, .form .error_format, .form .error_match {
  font-size: 0.875rem;
  color: #FF5454;
  font-weight: normal;
}

.form .mt {
  margin-top: 1rem;
}

.form-confirm p {
  padding: 6px 0;
}

@media screen and (min-width: 769px) {
  .form-confirm p {
    padding: 10px 0;
  }
}

.form-complete {
  text-align: center;
}

.form-complete_ttl {
  color: #BB8B10;
  font-weight: bold;
  font-size: 1.125rem;
}

.form-complete_txt {
  font-size: 0.875rem;
  margin-top: 1.5rem;
}

@media screen and (min-width: 769px) {
  .form-complete_ttl {
    font-size: 1.25rem;
  }
  .form-complete_txt {
    font-size: 1.0625rem;
  }
}

.contactComplete {
  padding-top: 7.5rem;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  min-height: calc(100vh - 130px);
}

.contactComplete_ttl {
  font-size: 1.5rem;
  font-weight: bold;
  text-align: center;
}

.contactComplete_read {
  margin-top: 1rem;
}

.contactComplete_link {
  text-align: center;
  margin-top: 1rem;
}

.contactComplete_link a {
  color: #BB8B10;
  text-decoration: underline;
}

.contactComplete_link a:hover {
  color: #fe3276;
}

.btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  width: 100%;
  max-width: 320px;
  margin: 1rem 0 0;
  padding: 1em 0.5em;
  border: solid 1px #00B900;
  color: #00B900;
  text-align: center;
  line-height: 1.5;
  font-weight: bold;
  letter-spacing: 1px;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
}

.btn-center {
  margin-left: auto;
  margin-right: auto;
}

.btn-right {
  margin-left: auto;
}

.btn-shine {
  background: -webkit-gradient(linear, left top, left bottom, from(#00ec00), to(#00B900));
  background: -webkit-linear-gradient(#00ec00, #00B900);
  background: linear-gradient(#00ec00, #00B900);
  border: 1px solid #00B900;
  color: #fff !important;
  text-decoration: none !important;
  text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.25);
  overflow: hidden;
  border-radius: 3rem;
}

.btn-shine:hover {
  opacity: 0.8;
}

.btn-shine::before {
  display: block;
  position: absolute;
  z-index: 1;
  left: -100%;
  top: -50vh;
  content: '';
  width: 3rem;
  height: 100vh;
  -webkit-transform: rotate(5deg);
  transform: rotate(5deg);
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, #ffffff), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, #ffffff 50%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #ffffff 50%, rgba(255, 255, 255, 0) 100%);
  -webkit-animation: highLight 3s ease-in-out 0s infinite;
  animation: highLight 3s ease-in-out 0s infinite;
}

@keyframes highLight {
  from {
    left: -5%;
  }
  15%,
  100% {
    left: 105%;
  }
}

/*
    サイトフッター
================================*/
#siteFooter {
  color: #fff;
  background-color: #333;
  padding: 1rem;
}

#siteFooter .copyright {
  font-size: 0.75rem;
  text-align: center;
}

/*
    画面下部オーバーレイ
================================*/
.overlayArea {
  display: none;
  position: fixed;
  width: 100%;
  bottom: 0;
  left: 0;
  z-index: 100;
  padding: 10px 0;
  background-color: rgba(0, 0, 0, 0.8);
}

.overlayArea .hukidashi {
  color: #FFFFFF;
  text-align: center;
  margin-bottom: 10px;
  font-weight: normal;
}

@media screen and (min-width: 769px) {
  .overlayArea .hukidashi {
    font-size: 1.25rem;
  }
}

.overlayArea_btn {
  display: block;
  color: #FFFFFF;
  background-color: #3381FF;
  text-shadow: 1px 2px 0px rgba(0, 0, 0, 0.25);
  text-align: center;
  padding: 1em;
  letter-spacing: 1px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  overflow: hidden;
}

@media screen and (min-width: 769px) {
  .overlayArea_btn {
    font-size: 1.25rem;
  }
}

.overlayArea_btn::before {
  display: block;
  position: absolute;
  z-index: 1;
  left: -100%;
  top: -50vh;
  content: '';
  width: 3rem;
  height: 100vh;
  -webkit-transform: rotate(5deg);
  transform: rotate(5deg);
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(50%, #ffffff), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, #ffffff 50%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, #ffffff 50%, rgba(255, 255, 255, 0) 100%);
  -webkit-animation: highLight 3s ease-in-out 0s infinite;
  animation: highLight 3s ease-in-out 0s infinite;
}

@keyframes highLight {
  from {
    left: -5%;
  }
  15%,
  100% {
    left: 105%;
  }
}

.confetti {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: -1;
}

.confetti span {
  position: absolute;
  top: -10%;
  left: 0;
  width: 10px;
  height: 15px;
}

@media screen and (min-width: 769px) {
  .confetti span {
    width: 15px;
    height: 20px;
  }
}

/* add animation */
.confetti span:nth-child(2n+1) {
  -webkit-animation: confetti-anim-1 10s 0s linear infinite;
  animation: confetti-anim-1 10s 0s linear infinite;
}

.confetti span:nth-child(2n+2) {
  -webkit-animation: confetti-anim-2 10s 0s linear infinite;
  animation: confetti-anim-2 10s 0s linear infinite;
}

/* side position */
.confetti span:nth-child(1) {
  left: 0%;
}

.confetti span:nth-child(2) {
  left: 2%;
}

.confetti span:nth-child(3) {
  left: 4%;
}

.confetti span:nth-child(4) {
  left: 6%;
}

.confetti span:nth-child(5) {
  left: 8%;
}

.confetti span:nth-child(6) {
  left: 10%;
}

.confetti span:nth-child(7) {
  left: 12%;
}

.confetti span:nth-child(8) {
  left: 14%;
}

.confetti span:nth-child(9) {
  left: 16%;
}

.confetti span:nth-child(10) {
  left: 18%;
}

.confetti span:nth-child(11) {
  left: 20%;
}

.confetti span:nth-child(12) {
  left: 22%;
}

.confetti span:nth-child(13) {
  left: 24%;
}

.confetti span:nth-child(14) {
  left: 26%;
}

.confetti span:nth-child(15) {
  left: 28%;
}

.confetti span:nth-child(16) {
  left: 30%;
}

.confetti span:nth-child(17) {
  left: 32%;
}

.confetti span:nth-child(18) {
  left: 34%;
}

.confetti span:nth-child(19) {
  left: 36%;
}

.confetti span:nth-child(20) {
  left: 38%;
}

.confetti span:nth-child(21) {
  left: 40%;
}

.confetti span:nth-child(22) {
  left: 42%;
}

.confetti span:nth-child(23) {
  left: 44%;
}

.confetti span:nth-child(24) {
  left: 46%;
}

.confetti span:nth-child(25) {
  left: 48%;
}

.confetti span:nth-child(26) {
  left: 50%;
}

.confetti span:nth-child(27) {
  left: 52%;
}

.confetti span:nth-child(28) {
  left: 54%;
}

.confetti span:nth-child(29) {
  left: 56%;
}

.confetti span:nth-child(30) {
  left: 58%;
}

.confetti span:nth-child(31) {
  left: 60%;
}

.confetti span:nth-child(32) {
  left: 62%;
}

.confetti span:nth-child(33) {
  left: 64%;
}

.confetti span:nth-child(34) {
  left: 66%;
}

.confetti span:nth-child(35) {
  left: 68%;
}

.confetti span:nth-child(36) {
  left: 70%;
}

.confetti span:nth-child(37) {
  left: 72%;
}

.confetti span:nth-child(38) {
  left: 74%;
}

.confetti span:nth-child(39) {
  left: 76%;
}

.confetti span:nth-child(40) {
  left: 78%;
}

.confetti span:nth-child(41) {
  left: 80%;
}

.confetti span:nth-child(42) {
  left: 82%;
}

.confetti span:nth-child(43) {
  left: 84%;
}

.confetti span:nth-child(44) {
  left: 86%;
}

.confetti span:nth-child(45) {
  left: 88%;
}

.confetti span:nth-child(46) {
  left: 90%;
}

.confetti span:nth-child(47) {
  left: 92%;
}

.confetti span:nth-child(48) {
  left: 94%;
}

.confetti span:nth-child(49) {
  left: 96%;
}

.confetti span:nth-child(50) {
  left: 98%;
}

/* colors */
.confetti span:nth-child(5n+1) {
  background: #EEB19C;
}

.confetti span:nth-child(5n+2) {
  background: #F3DBD1;
}

.confetti span:nth-child(5n+3) {
  background: #F0B39E;
}

.confetti span:nth-child(5n+4) {
  background: #E69C95;
}

.confetti span:nth-child(5n+5) {
  background: #F5DDD3;
}

/* animation-duration */
.confetti span:nth-child(4n+1) {
  -webkit-animation-duration: 5s;
  animation-duration: 5s;
}

.confetti span:nth-child(4n+2) {
  -webkit-animation-duration: 12s;
  animation-duration: 12s;
}

.confetti span:nth-child(4n+3) {
  -webkit-animation-duration: 8s;
  animation-duration: 8s;
}

.confetti span:nth-child(4n+4) {
  -webkit-animation-duration: 6s;
  animation-duration: 6s;
}

/* animation-delay */
.confetti span:nth-child(11n+1) {
  -webkit-animation-delay: 0s;
  animation-delay: 0s;
}

.confetti span:nth-child(11n+2) {
  -webkit-animation-delay: 9s;
  animation-delay: 9s;
}

.confetti span:nth-child(11n+3) {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.confetti span:nth-child(11n+4) {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

.confetti span:nth-child(11n+5) {
  -webkit-animation-delay: 6s;
  animation-delay: 6s;
}

.confetti span:nth-child(11n+6) {
  -webkit-animation-delay: 7s;
  animation-delay: 7s;
}

.confetti span:nth-child(11n+7) {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

.confetti span:nth-child(11n+8) {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.confetti span:nth-child(11n+9) {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.confetti span:nth-child(11n+10) {
  -webkit-animation-delay: 11s;
  animation-delay: 11s;
}

.confetti span:nth-child(11n+11) {
  -webkit-animation-delay: 10s;
  animation-delay: 10s;
}

/* animation */
@-webkit-keyframes confetti-anim-1 {
  0% {
    top: -10%;
    -webkit-transform: translateX(0) rotateX(0) rotateY(0);
    transform: translateX(0) rotateX(0) rotateY(0);
  }
  100% {
    top: 100%;
    -webkit-transform: translateX(20vw) rotateX(180deg) rotateY(360deg);
    transform: translateX(20vw) rotateX(180deg) rotateY(360deg);
  }
}
@keyframes confetti-anim-1 {
  0% {
    top: -10%;
    -webkit-transform: translateX(0) rotateX(0) rotateY(0);
    transform: translateX(0) rotateX(0) rotateY(0);
  }
  100% {
    top: 100%;
    -webkit-transform: translateX(20vw) rotateX(180deg) rotateY(360deg);
    transform: translateX(20vw) rotateX(180deg) rotateY(360deg);
  }
}

@-webkit-keyframes confetti-anim-2 {
  0% {
    top: -10%;
    -webkit-transform: translateX(0) rotateX(0) rotateY(0);
    transform: translateX(0) rotateX(0) rotateY(0);
  }
  100% {
    top: 100%;
    -webkit-transform: translateX(-20vw) rotateX(180deg) rotateY(360deg);
    transform: translateX(-20vw) rotateX(180deg) rotateY(360deg);
  }
}

@keyframes confetti-anim-2 {
  0% {
    top: -10%;
    -webkit-transform: translateX(0) rotateX(0) rotateY(0);
    transform: translateX(0) rotateX(0) rotateY(0);
  }
  100% {
    top: 100%;
    -webkit-transform: translateX(-20vw) rotateX(180deg) rotateY(360deg);
    transform: translateX(-20vw) rotateX(180deg) rotateY(360deg);
  }
}

/*===============================

    Page

================================*/
/*
    トップビジュアル
================================*/
.topVisual img {
  width: 100%;
}

.topvisual_img {
  max-width: 80%;
  margin: 0 auto;
}

/*
    イントロ
================================*/
.about {
  padding-bottom: 60px;
}

@media screen and (min-width: 769px) {
  .about {
    background-size: 1000px;
  }
}

.about .inner {
  max-width: 340px;
}

@media screen and (min-width: 481px) {
  .about .inner {
    max-width: 580px;
  }
}

.about_header {
  text-align: center;
  line-height: 1.5;
}

.about_header_ttl {
  color: #ED0800;
  font-size: 2.5rem;
  text-shadow: 2px 2px 0px rgba(165, 105, 0, 0.3);
}

.about_read {
  line-height: 2.0;
  margin-top: 1rem;
}

.about .box {
  margin-top: 2.5rem;
}

.summary {
  line-height: 1.8;
}

.summary_ttl {
  font-size: 1rem;
  font-weight: bold;
  text-align: center;
  line-height: 1.5;
  color: #020202;
  background: -webkit-linear-gradient(358.91deg, #BB8B10 0%, #DCBD6E 51.66%, #BB8B10 100%);
  background: linear-gradient(91.09deg, #BB8B10 0%, #DCBD6E 51.66%, #BB8B10 100%);
  padding: 0.25em;
  outline: solid 1px #BB8B10;
  outline-offset: 1px;
  margin-top: 2rem;
}

.summary_ttl:first-child {
  margin-top: 0;
}

.summary_body {
  margin-top: 0.625rem;
}

.summary_body p + p {
  margin-top: 0.625rem;
}

.summary .txt-bold {
  font-size: 1.375rem;
}

.box {
  background: url(../images/box_bg.png);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  border: solid 2px #BB8B10;
  padding: 2rem;
  position: relative;
}

.box_header {
  text-align: center;
  line-height: 1.5;
  margin-bottom: 2.5rem;
}

.box_header_ttl {
  color: #ED0800;
  font-size: 2.125rem;
  font-weight: bold;
  text-shadow: 2px 2px 0px rgba(165, 105, 0, 0.3);
}

.box_note {
  margin-top: 0.625rem;
  line-height: 1.5;
}

/*
    ギャラリー
================================*/
.gallery_img {
  margin-top: 2.5rem;
}

.gallery_img_item {
  text-align: center;
}

.gallery_img_item + .gallery_img_item {
  margin-top: 2rem;
}

/*
    アクセス
================================*/
.access {
  margin-top: 3.75rem;
}

.access .sc_header {
  max-width: 79%;
  margin-left: auto;
  margin-right: auto;
}

.access_address {
  text-align: center;
  line-height: 1.8;
  margin-top: 1.5rem;
}

.access_map {
  margin-left: -10px;
  margin-right: -10px;
  margin-top: 2.5rem;
}

.access_map .iframeWrap {
  padding-top: 85%;
}

@media screen and (min-width: 769px) {
  .access_map .iframeWrap {
    padding-top: 56.25%;
  }
}

.access_detail {
  line-height: 1.8;
  margin-top: 2rem;
  max-width: 580px;
  margin-left: auto;
  margin-right: auto;
}

.access_detail_ttl {
  color: #FFFFFF;
  border-bottom: solid 1px rgba(187, 139, 16, 0.6);
  padding-left: 1em;
  position: relative;
  font-size: 1.125rem;
  padding-bottom: 0.125rem;
}

.access_detail_ttl::before {
  content: "";
  display: block;
  width: 0.5em;
  height: 0.5em;
  background-color: #BB8B10;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 0.7em;
  left: 0;
}

.access_detail_body {
  color: #FFFFFF;
  margin-top: 1rem;
}

.access_detail_body + .access_detail_ttl {
  margin-top: 2rem;
}

.access_detail_body .list {
  line-height: 1.8;
}

.access_detail_body .list li + li {
  margin-top: 0.5rem;
}

/*
    出店一覧
================================*/
#shop {
  padding-top: 0;
}

.shops > .flexbox {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  margin: -8% 0 0 -4.05%;
}

.shops > .flexbox .shops_item {
  width: 45.95%;
  margin: 8% 0 0 4.05%;
}

@media screen and (min-width: 769px) {
  .shops > .flexbox {
    margin: -7% 0 0 -3.474%;
  }
  .shops > .flexbox .shops_item {
    width: 29.859%;
    margin: 7% 0 0 3.474%;
  }
}

.shop_body {
  margin-top: 0.625rem;
}

.shop_body_name {
  font-size: 1rem;
  font-weight: 400;
  text-align: center;normal
  color: #555;
}

.shop_body_txt {
  font-size: 0.75rem;
  color: #B6B6B6;
}

#cast .shops > .flexbox {
  margin: 0 0 0 0;
}

.cast-ttl {
    font-size: 24px;
    text-align: center;
    color: #969696;
    font-weight: normal;
}

/*
    キャスト一覧
================================*/
.casts > .flexbox {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: -4.25% 0 0 -4.25%;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.casts > .flexbox .casts_item {
  width: 45.75%;
  margin: 4.25% 0 0 4.25%;
}

@media screen and (min-width: 769px) {
  .casts > .flexbox {
    margin: -2.82% 0 0 -2.82%;
  }
  .casts > .flexbox .casts_item {
    width: 22.18%;
    margin: 2.82% 0 0 2.82%;
  }
}

.cast {
  background-color: #1A1A1A;
  -webkit-box-shadow: 0px 0px 20px rgba(255, 184, 0, 0.07);
  box-shadow: 0px 0px 20px rgba(255, 184, 0, 0.07);
  color: #fff;
  line-height: 1.5;
}

.cast_body {
  text-align: center;
  padding: 0.4375rem 0.25rem 0.625rem;
}

.cast_body_shop {
  font-size: 0.75rem;
  font-weight: 400;
  color: #BB8B10;
}

.cast_body_name {
  font-size: 1rem;
}

.cast_body_txt {
  font-size: 0.75rem;
  color: #B6B6B6;
}

.cast-a .cast_body_shop {
  color: #BB8B10;
}

.cast-b .cast_body_shop {
  color: #D00087;
}

.cast-c .cast_body_shop {
  color: #178923;
}

/*
    全キャスト一覧
================================*/
#allCast .heading {
  margin-top: 2.5rem;
  margin-bottom: 1.25rem;
}

.allCasts > .flexbox {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: -10.82% 0 0 -2.43%;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.allCasts > .flexbox .allCasts_item {
  width: 30.9%;
  margin: 10.82% 0 0 2.43%;
}

@media screen and (min-width: 769px) {
  .allCasts > .flexbox .allCasts_item {
    width: 22.18%;
  }
}

.allCasts .cast {
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.allCasts .cast_img {
  position: relative;
}

.allCasts .cast_img img {
  border-radius: 8px;
}

.allCasts .cast_body {
  padding: 0;
  margin-top: 0.4375rem;
}

@media screen and (min-width: 769px) {
  .allCasts .cast_body_shop {
    font-size: 0.75rem;
  }
}

.allCasts .cast_body_name {
  font-size: 1rem;
}

@media screen and (min-width: 769px) {
  .allCasts .cast_body_name {
    font-size: 1rem;
  }
}

.allCasts .cast_body_txt {
  font-size: 0.625rem;
}

/*
    紅組・白組キャスト設定
================================*/
.allCasts-aka .cast_body_shop {
  color: #ED0800;
}

.allCasts-aka .cast_img img {
  border: solid 2px #ED0800;
}

.allCasts-shiro .cast_img img {
  border: solid 2px #bb8b10;
}

/*
    スタッフ
================================*/
#staff {
  background: -webkit-gradient(linear, left top, left bottom, from(#111111), color-stop(12.89%, rgba(17, 17, 17, 0.5))), url(../images/sc_staff_bg.jpg);
  background: -webkit-linear-gradient(top, #111111 0%, rgba(17, 17, 17, 0.5) 12.89%), url(../images/sc_staff_bg.jpg);
  background: linear-gradient(180deg, #111111 0%, rgba(17, 17, 17, 0.5) 12.89%), url(../images/sc_staff_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  padding-top: 0;
  padding-bottom: 60px;
  margin-top: 40px;
}

#staff .sc_header-border {
  max-width: 79%;
  margin-left: auto;
  margin-right: auto;
}

.closing .inner {
  max-width: 340px;
}

@media screen and (min-width: 481px) {
  .closing .inner {
    max-width: 580px;
  }
}

.closing .box {
  color: #fff;
  margin-top: 2.5rem;
  background: url(../images/box_bg.jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.box_form {
  margin-top: 40px;
  margin-left: -1.25rem;
  margin-right: -1.25rem;
}

.box_form form dl dt {
  color: #333333;
}

.box_form form input[type="text"],
.box_form form input[type="email"],
.box_form form input[type="tel"],
.box_form form input[type="date"],
.box_form form input[type="time"],
.box_form form input[type="number"],
.box_form form select,
.box_form form textarea {
  border: none;
  background: #fff;
}

.box_form form dl dd .radio {
  color: #333333;
}

.notes {
  color: #9C9C9C;
}

.notes_ttl {
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 0.3125em;
}

#closing {
  padding: 60px 0;
}

@media screen and (min-width: 769px) {
  #closing {
    background-size: 1000px;
  }
}

#form .inner {
  max-width: 580px;
}

.form_read {
  line-height: 2.0;
  margin-top: 1rem;
}

.form_note {
  line-height: 1.5;
  margin-top: 0.5rem;
}

.about {

}

.about_ttl {
  text-align:center;
  font-size:1.3em;
  margin-top:0px;
  font-weight:bold;
  line-height: 1.8;
  text-align: center;
}

.about_desc {
   margin: 2em auto;
   text-align:left;
   max-width:600px;
  line-height: 1.8;
}

.about_desc p + p {
  margin-top: 1em;
}

.ttl {
  font-family: Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;
  background: #0c9;
  color: #fff;
  width: 100%;
  padding: 1em;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  letter-spacing: 0.05em;
  text-shadow: 0px 1px 2px rgb(0 0 0 / 52%);
  box-shadow: 0px 3px 0px rgb(0 127 96);
  margin-top: 48px;
}

.ttl-blue {
  background: #3366FF;
  box-shadow: 0px 3px 0px #3653a9;
}

.ttl-green {
  background: #0c9;
  box-shadow: 0px 3px 0px #007f60;
}

.ttl-pink {
  background: #FF0099;
  box-shadow: 0px 3px 0px #a20061;
}

.widget {
  width: 100%;
  max-width: 420px;
  margin-top:30px;
  overflow:hidden;
  -webkit-overflow-scrolling:no;
  background-color:#3366FF;
}

.widget-green {
  background-color:#00CC99;
}

.widget-pink {
  background-color:#FF0099;
}

.widget_ttl {
  padding: 8px;
  font-weight:bold;
  color:#fff;
  font-family: Helvetica Neue,Arial,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;
}

.widget_content {
  position: relative;
  width: 100%;
  height: 246px;
}

.widget_content iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.counsel {
  background-color: #fff0c9;
}

.counsel p {
  line-height: 1.8;
}

.counsel_img {
  text-align: center;
  margin-top: 1rem;
}

.counsel_img img {
  border: solid 1px #878787;
}

/*
    ページトップへ
================================*/
#siteFooter {
  position: relative;
}

#pageTop {
  position: fixed;
  right: 14px;
  bottom: 14px;
  display: none;
}

#pageTop_btn {
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #804019;
}

#pageTop_btn::before {
  content: "";
  display: block;
  width: 19%;
  height: 19%;
  border-top: 3px solid #fff;
  border-left: 3px solid #fff;
  position: absolute;
  top: 54%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%) rotate(45deg);
  transform: translate(-50%, -50%) rotate(45deg);
}

.shuffle {
  visibility: hidden;
}

.shuffle > div {
  margin: 30px auto 0;
}

.wow {
  visibility: hidden;
}

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