@charset "UTF-8";
/* Scss Document */
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;600;700&family=Noto+Serif+JP:wght@200;300;400;500;600&display=swap");
/* common */
* {
  margin: 0;
  padding: 0;
  font-family: 'Noto Sans JP', sans-serif;
  font-weight: 300;
  font-size: clamp(15px, 2.7vw, 18px);
  box-sizing: border-box;
  list-style-type: none; }

body {
  margin: 0;
  font-size: clamp(15px, 1.2vw, 18px); }

a {
  color: #fff;
  text-decoration: underline; }

a:hover {
  text-decoration: none; }

p {
  line-height: 1.4; }

.fs-smaller {
  font-size: 80%; }

.br-sp {
  display: none; }
  @media (max-width: 480px) {
    .br-sp {
      display: block; } }

.br-sps {
  display: none; }
  @media (max-width: 380px) {
    .br-sps {
      display: block; } }

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

.d-block {
  display: block; }

.mincho {
  font-family: "Shippori Mincho B1", serif; }

.color2 {
  color: #000; }

.w100 {
  width: 100%;
  height: auto; }

.d-block {
  display: block; }

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

.mb {
  margin-bottom: clamp(50px, 10%, 120px); }

.mb-s {
  margin-bottom: clamp(15px, 4%, 60px); }

.mb-0 {
  margin-bottom: 0; }

.mb-5 {
  margin-bottom: 5rem !important; }

.f-l {
  font-size: clamp(18px, 2.8vw, 24px); }

@media (max-width: 480px) {
  .show_pc {
    display: none; } }

.show_sp {
  display: none; }
  @media (max-width: 480px) {
    .show_sp {
      display: block; } }

img {
  width: 100%;
  height: auto; }

/*----- cssの初期化：ここまで -----*/
body {
  background: #000; }

.comming {
  display: block;
  text-align: center;
  padding: 8%;
  background: rgba(255, 255, 255, 0.2);
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  color: rgba(255, 255, 255, 0.5);
  border-radius: 20px; }
  .comming p {
    font-weight: bold;
    font-size: clamp(25px, 3.8vw, 35px);
    color: #fff; }
  .comming img {
    width: 100%;
    height: auto; }
  @media (max-width: 480px) {
    .comming {
      padding: 80px 15px;
      border-radius: 10px; } }

p.small a {
  font-size: 80%;
  text-decoration: none; }
  p.small a i {
    font-size: 80%; }

.effect-fade {
  opacity: 0;
  transform: translate(0, 100px);
  /* フェードインで動く高さを指定 */
  transition: all 2000ms;
  /* フェードインにかかる時間を指定 */ }

.effect-scroll {
  opacity: 1;
  transform: translate(0, 0); }

@keyframes anime_content_bg {
  0% {
    opacity: 0; }
  50% {
    opacity: 0; }
  100% {
    opacity: 1; } }
@keyframes anime_content {
  0% {
    top: 100vh;
    opacity: 0; }
  100% {
    top: 0;
    opacity: 1; } }
.layer {
  display: block;
  background: rgba(0, 0, 0, 0.3);
  width: 100vw;
  height: 100vh;
  position: fixed;
  content: "";
  z-index: 1; }

body {
  position: relative; }
  body:before {
    display: block;
    width: 100%;
    height: 100vh;
    position: fixed;
    content: "";
    top: 0;
    left: 0;
    background: url("images/bg.png") no-repeat #000;
    background-size: cover;
    background-position: center center;
    animation: anime_content_bg 0.3s;
    z-index: -1; }
  body:after {
    display: none;
    width: 100%;
    height: 100vh;
    position: fixed;
    content: "";
    top: 0;
    left: 0;
    opacity: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: -1; }
  body.show-layer:after {
    display: block;
    animation: anime_content_bg 1s both; }

.t1 {
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px, 3vw, 35px);
  margin-bottom: clamp(30px, 3%, 60px);
  color: #fff;
  display: block;
  width: fit-content;
  margin: 0 auto 4% auto;
  position: relative;
  padding-bottom: 15px; }
  .t1:after {
    display: block;
    width: 50px;
    height: 1px;
    content: "";
    background: #fff;
    position: absolute;
    bottom: 0;
    left: calc(50% - 25px); }

.box {
  max-width: 1024px;
  margin-left: auto;
  margin-right: auto;
  color: #FFF; }

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

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

.area01 {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100vw;
  height: 100vh;
  position: relative;
  padding: 0 5%; }
  .area01 .content {
    display: block;
    position: relative;
    width: 100vw;
    height: 100vh;
    animation: anime_content 2s;
    animation-iteration-count: 1;
    box-sizing: border-box; }
    .area01 .content .t {
      display: block;
      height: calc(100vh - 100px);
      width: auto;
      max-width: 100vw;
      margin: 0 auto;
      text-align: center; }
      .area01 .content .t img {
        width: auto;
        max-width: 100vw;
        height: 100%; }
      @media (max-width: 480px) {
        .area01 .content .t {
          width: 100%;
          height: auto; }
          .area01 .content .t img {
            width: 100%;
            height: auto; } }
      @media (max-width: 380px) {
        .area01 .content .t {
          width: 94%; } }
@keyframes scroll_mv {
  0% {
    height: 0px;
    margin-bottom: 40px; }
  50% {
    height: 40px;
    margin-bottom: 0; }
  100% {
    height: 0px;
    margin-bottom: 0; } }
  .area01 .scroll_wrap {
    display: block;
    position: absolute;
    bottom: 0.5em;
    width: 50px;
    left: calc(50% - 25px);
    cursor: pointer;
    text-align: center;
    color: #fff; }
    @media (max-width: 480px) {
      .area01 .scroll_wrap {
        bottom: 2em; } }
    .area01 .scroll_wrap a {
      text-decoration: none; }
      .area01 .scroll_wrap a:hover {
        color: #ccc; }
    .area01 .scroll_wrap .line {
      display: block;
      overflow: hidden;
      content: "";
      width: 1px;
      height: 40px;
      overflow: hidden;
      background: #fff;
      margin-left: auto;
      margin-right: auto;
      animation: scroll_mv 2s infinite; }
      @media (max-width: 480px) {
        .area01 .scroll_wrap .line {
          height: 30px; } }
    .area01 .scroll_wrap p {
      font-size: 13px;
      margin-bottom: 0; }

.area02 {
  display: block;
  background: url("images/bg2.png") no-repeat;
  background-size: cover;
  background-position: top center;
  padding: 5%; }
  @media (max-width: 480px) {
    .area02 {
      padding-top: 100px; } }
  @media (max-width: 380px) {
    .area02 {
      padding-top: 60px; } }
  .area02 .t-4 {
    display: block;
    max-width: 500px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 0; }
  .area02 .txt1 {
    display: flex;
    justify-content: center;
    align-items: center; }
    .area02 .txt1:before {
      display: block;
      content: "";
      width: 60px;
      height: 1px;
      background: #000;
      margin-right: 15px; }
    .area02 .txt1:after {
      display: block;
      content: "";
      width: 60px;
      height: 1px;
      background: #000;
      margin-left: 15px; }
    @media (max-width: 480px) {
      .area02 .txt1:before {
        display: none; }
      .area02 .txt1:after {
        display: none; } }
    .area02 .txt1 p {
      font-family: "Shippori Mincho B1", serif;
      color: #000;
      margin-bottom: 0; }
  .area02 .choreo_wrap {
    display: flex;
    flex-wrap: wrap;
    max-width: 1080px;
    margin-left: auto;
    margin-right: auto; }
    .area02 .choreo_wrap .column {
      width: 20%;
      padding: 5px;
      text-align: center; }
      .area02 .choreo_wrap .column b {
        display: block;
        text-align: center;
        padding: 5px 0 20px; }
      .area02 .choreo_wrap .column.col1 {
        width: 30%; }
        .area02 .choreo_wrap .column.col1 img {
          max-width: 280px; }
      .area02 .choreo_wrap .column.col2 {
        width: 25%; }
      .area02 .choreo_wrap .column.col3 {
        width: 33.333%; }
    @media (max-width: 1024px) {
      .area02 .choreo_wrap .column {
        width: 25%; }
        .area02 .choreo_wrap .column.col1 {
          width: 40%; }
        .area02 .choreo_wrap .column.col2 {
          width: 30%; } }
    @media (max-width: 480px) {
      .area02 .choreo_wrap .column {
        width: 33.3%; }
        .area02 .choreo_wrap .column.col1 {
          width: 55%; }
        .area02 .choreo_wrap .column.col2 {
          width: 45%; }
          .area02 .choreo_wrap .column.col2._sp1 {
            width: 100% !important;
            text-align: center; }
            .area02 .choreo_wrap .column.col2._sp1 img {
              max-width: 220px;
              margin-bottom: 10px; } }
  .area02 .footer_logo {
    display: block;
    text-align: center; }
    .area02 .footer_logo img {
      max-width: 300px; }
      @media (max-width: 480px) {
        .area02 .footer_logo img {
          max-width: 200px; } }

.effect-fade {
  opacity: 0;
  transform: translate(0, 100px);
  /* フェードインで動く高さを指定 */
  transition: all 2000ms;
  /* フェードインにかかる時間を指定 */ }

.effect-scroll {
  opacity: 1;
  transform: translate(0, 0); }

.tbl1 {
  border-collapse: collapse;
  width: fit-content;
  margin-left: auto;
  margin-right: auto; }
  .tbl1 th {
    border: rgba(255, 255, 255, 0.5) 1px solid;
    padding: 15px;
    background: tgba(255, 255, 255, 0.2); }
  .tbl1 td {
    border: rgba(255, 255, 255, 0.5) 1px solid;
    padding: 15px; }

.contents {
  display: block; }
  .contents .titlearea {
    padding: 5%;
    width: 100vw;
    max-width: 1366px;
    margin-left: auto;
    margin-right: auto;
    position: relative; }
    @media (max-width: 1616px) {
      .contents .titlearea.pt {
        padding-top: 90px; } }
    @media (max-width: 480px) {
      .contents .titlearea.pt {
        padding-top: 10vh; } }
    @media (max-width: 500px) {
      .contents .titlearea.pt {
        padding-top: 65px; } }
    @media (max-width: 380px) {
      .contents .titlearea.pt {
        padding-top: 55px; } }
    @media (max-width: 380px) {
      .contents .titlearea.pt {
        padding-top: 45px; } }
    .contents .titlearea img {
      width: 100%;
      height: auto; }
    .contents .titlearea em {
      margin-bottom: 5px; }
    .contents .titlearea h1 {
      padding-top: 30vh;
      margin-bottom: -10%; }
      .contents .titlearea h1.pt-0 {
        padding-top: 0; }
    @media (max-width: 860px) {
      .contents .titlearea h1 {
        padding-top: 0; } }
    .contents .titlearea .datewrap {
      display: flex;
      align-items: baseline;
      /*position: absolute;
      left: 0;
      bottom: 0;
      */
      width: 100%;
      padding: 0 clamp(5px, 5%, 80px); }
      .contents .titlearea .datewrap .date {
        width: 80%; }
      .contents .titlearea .datewrap .place {
        width: 20%;
        padding-left: 20px; }
    .contents .titlearea p {
      display: block;
      text-align: center;
      color: #FFF;
      font-weight: bold;
      font-size: clamp(15px, 2.3vw, 25px); }
  .contents .t01 {
    display: block;
    color: #FFF;
    font-size: clamp(28px, 4vw, 45px);
    margin-bottom: clamp(15px, 3%, 30px);
    font-family: "Shippori Mincho B1", serif;
    text-align: center;
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.8), 0 0 10px rgba(255, 255, 255, 0.6); }
    .contents .t01.type1 {
      margin-top: 20px;
      margin-bottom: -15px; }
      @media (max-width: 480px) {
        .contents .t01.type1 {
          margin-top: 5px;
          margin-bottom: -10px; } }
    .contents .t01.choreo {
      margin-top: -4%; }
      .contents .t01.choreo img {
        max-width: 600px;
        margin-top: -20px; }
  .contents table {
    border-collapse: collapse;
    width: 100%; }
    .contents table th {
      border: #CCC 1px solid;
      background: #efefef;
      padding: 15px;
      color: #202020;
      width: 25%; }
      .contents table th span {
        color: #d20003; }
        .contents table th span:after {
          content: "必須";
          font-size: 11px; }
    .contents table td {
      border: #CCC 1px solid;
      padding: 15px;
      color: #202020; }
      .contents table td p {
        margin: 0; }
    @media (max-width: 480px) {
      .contents table {
        border-bottom: #CCC 1px solid; }
        .contents table th, .contents table td {
          display: block;
          width: 100%;
          padding: 10px;
          border-bottom: none; } }
  .contents .box {
    display: block;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    background: #FFF;
    padding: clamp(40px, 8%, 100px) 4%;
    border-radius: 5px;
    color: #fff; }
    @media (max-width: 1000px) {
      .contents .box {
        margin-left: 15px;
        margin-right: 15px; } }
    .contents .box b.txt1 {
      display: block;
      text-align: center;
      font-size: clamp(16px, 2vw, 23px); }
    .contents .box.mb-0 {
      margin-bottom: 0; }
    .contents .box.nobg {
      background: none; }
    @media (max-width: 480px) {
      .contents .box.sp01 {
        width: calc(100% + 30px);
        margin-left: -15px;
        margin-right: -15px; } }
    .contents .box .dancer {
      display: flex;
      flex-wrap: wrap;
      justify-content: center; }
      .contents .box .dancer.flex-start {
        justify-content: flex-start; }
      .contents .box .dancer li {
        width: 33.3%;
        padding: 1.5%; }
        .contents .box .dancer li.col1 {
          width: 100%; }
        .contents .box .dancer li.col2 {
          width: 50%; }
        .contents .box .dancer li img {
          filter: drop-shadow(0 0 5px rgba(255, 255, 255, 0.5)); }
        .contents .box .dancer li b {
          display: block;
          font-size: 110%;
          font-weight: bold;
          text-align: center;
          text-shadow: 0 0 4px rgba(0, 0, 0, 0.4); }
          .contents .box .dancer li b.smaller {
            font-size: 100%; }
      @media (max-width: 480px) {
        .contents .box .dancer.sp-1col li {
          width: 100%;
          text-align: center; }
          .contents .box .dancer.sp-1col li img {
            max-width: 250px; } }
    .contents .box .ticketWrap {
      display: block;
      text-align: center; }
      .contents .box .ticketWrap.border-top {
        border-top: rgba(255, 255, 255, 0.6) 1px solid;
        padding-top: 30px; }
      .contents .box .ticketWrap b {
        display: block;
        margin-bottom: 20px;
        font-size: clamp(26px, 3.8vw, 38px);
        font-family: "Shippori Mincho B1", serif;
        line-height: 1.3;
        text-shadow: 0 0 5px rgba(255, 255, 255, 0.8), 0 0 10px rgba(255, 255, 255, 0.6); }
        .contents .box .ticketWrap b.haisin {
          font-size: clamp(22px, 3vw, 32px); }
        .contents .box .ticketWrap b span {
          font-size: 80%;
          font-family: "Shippori Mincho B1", serif; }
        .contents .box .ticketWrap b.smaller {
          font-size: clamp(15px, 2.5vw, 18px); }
      .contents .box .ticketWrap p {
        display: block;
        font-size: clamp(18px, 3vw, 23px);
        font-family: "Shippori Mincho B1", serif; }
        .contents .box .ticketWrap p.smaller {
          font-size: clamp(15px, 2.5vw, 18px); }
      .contents .box .ticketWrap .tyuui {
        display: block;
        text-align: left;
        background: rgba(255, 255, 255, 0.2);
        padding: 13px;
        border-radius: 2px;
        margin: 20px auto 30px auto; }
        .contents .box .ticketWrap .tyuui h4 {
          display: block;
          font-size: 14px; }
        .contents .box .ticketWrap .tyuui p {
          font-size: 12px;
          font-weight: normal;
          font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif"; }
      .contents .box .ticketWrap .haisinticket {
        display: block;
        background: #FFF;
        padding: 10px;
        border-radius: 10px;
        color: #000;
        max-width: 380px;
        margin: 10px auto; }
        .contents .box .ticketWrap .haisinticket .peatix {
          display: flex;
          align-items: center;
          justify-content: center; }
          .contents .box .ticketWrap .haisinticket .peatix .icon {
            width: 80px;
            margin-right: 8px; }
          .contents .box .ticketWrap .haisinticket .peatix b {
            color: #000;
            font-weight: bold;
            font-size: 13px;
            font-family: 'M PLUS 1p', sans-serif;
            margin-bottom: 0; }
        .contents .box .ticketWrap .haisinticket p {
          font-size: 15px; }
        .contents .box .ticketWrap .haisinticket a {
          color: #000;
          text-decoration: none; }
    .contents .box .txt1 {
      display: block;
      text-align: center;
      font-size: clamp(18px, 2vw, 25px);
      margin-bottom: 15px;
      font-weight: bold;
      text-shadow: 0 0 4px rgba(0, 0, 0, 0.4); }
      .contents .box .txt1.mincho {
        font-family: "Shippori Mincho B1", serif; }
      .contents .box .txt1.smaller {
        font-size: clamp(16px, 1.8vw, 25px); }
    .contents .box .peatix_start {
      display: block;
      text-align: center; }
      .contents .box .peatix_start b {
        font-size: clamp(18px, 2vw, 25px); }
    .contents .box .tyuui p {
      font-size: 14px; }
      @media (max-width: 480px) {
        .contents .box .tyuui p {
          font-size: 11px; } }
  .contents .photo_guest {
    display: block;
    max-width: 500px;
    margin: 0 auto 30px auto;
    font-size: 0;
    box-shadow: 0 0 10px rgba(255, 255, 255, 0.2); }
    @media (max-width: 480px) {
      .contents .photo_guest {
        margin: 0 20px 15px; } }
  .contents.form {
    padding: 20px; }
    .contents.form .title {
      display: block;
      max-width: 800px;
      margin: 0 auto 20px auto;
      padding: 15px; }
      .contents.form .title img {
        filter: drop-shadow(0 0 10px rgba(0, 0, 0, 0.8)); }
      @media (max-width: 480px) {
        .contents.form .title {
          max-width: 320px;
          margin-bottom: 0; } }
    .contents.form .entry_btn {
      display: block;
      padding: 20px 0;
      text-align: center; }
      .contents.form .entry_btn p {
        margin-bottom: 15px; }
      .contents.form .entry_btn input {
        padding: 10px 20px; }
      .contents.form .entry_btn form {
        display: inline; }
      .contents.form .entry_btn .hiddenBtn {
        display: none; }
    .contents.form td p {
      display: block;
      font-size: 80%;
      padding-top: 5px; }
      .contents.form td p.line-h {
        font-size: 100%;
        line-height: 1.5; }
    .contents.form span.error {
      display: block;
      color: #d10003;
      font-size: 80%; }
    .contents.form .sent_msg {
      display: block;
      margin-bottom: 30px; }
      .contents.form .sent_msg b {
        display: block;
        text-align: center;
        margin-bottom: 15px;
        font-family: "Shippori Mincho B1", serif;
        font-size: 120%; }
      .contents.form .sent_msg p {
        display: block;
        text-align: center; }
    .contents.form .aboutmailaddress {
      display: block; }
      .contents.form .aboutmailaddress p {
        font-size: 80%; }

.peatix a {
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 380px;
  margin: auto;
  padding: 10px;
  background: #FFF;
  border-radius: 8px;
  text-decoration: none;
  transition: all linear 0.3s; }
  .peatix a .icon {
    width: 100px;
    height: auto;
    margin-right: 10px; }
  .peatix a b {
    color: #000;
    font-weight: bold;
    font-size: 14px;
    font-family: 'M PLUS 1p', sans-serif;
    margin-bottom: 0; }
    .peatix a b.smaller {
      font-size: 12px; }
  .peatix a:hover {
    box-shadow: 4px 4px 10px rgba(0, 0, 0, 0.5);
    transition: translate(-4px -4px); }

.ticklet_kotei {
  display: block;
  position: fixed;
  top: 0;
  right: 0;
  width: 200px; }
  @media (max-width: 480px) {
    .ticklet_kotei {
      width: 100%;
      left: 0; } }

.archiveBox {
  display: block;
  border: #fff 1px solid;
  padding: 15px;
  text-align: start; }
  .archiveBox b {
    display: block;
    font-weight: bold;
    margin-bottom: 15px; }
  .archiveBox p {
    display: block;
    font-size: 80%; }

.form-control {
  display: inline; }
  .form-control.w-s {
    width: 80px; }
  .form-control.w-m {
    width: 200px; }
