@charset "UTF-8";
/* CSS Document */
/* CSS Document -- _func.scss */
/**
		* Noto Sans CJK JP: https://www.google.com/get/noto/#sans-jpan
		*/
body input, body table, body select, #mailformpro textarea, #mailformpro button, #mfp_overlay #mfp_overlay_inner table#mfp_confirm_table tr th, #mfp_overlay #mfp_overlay_inner table#mfp_confirm_table tr td, #mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_submit,
#mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_reset,
#mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_button {
  font-family: "Noto Sans JP",Verdana,"游ゴシック",YuGothic,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","メイリオ",Meiryo,sans-serif;
  font-weight: 400; }

body {
  font-family: "YakuHanJP", "Noto Sans JP", Verdana, "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, sans-serif;
  font-weight: 400; }

body a, #wrapper #header > .container > #nav > .list > .ul > ul > li > a, #wrapper #header > .container > .sns > .list > .ul > ul > li > a, #wrapper #footer > .container > #footerLogo > a, #mailformpro button, #mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_submit,
#mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_reset,
#mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_button {
  -webkit-transition: all 0.2s cubic-bezier(0.72, 0.31, 0.31, 0.98);
  -o-transition: all 0.2s cubic-bezier(0.72, 0.31, 0.31, 0.98);
  transition: all 0.2s cubic-bezier(0.72, 0.31, 0.31, 0.98); }

#wrapper #header > .container > #nav > .list > .ul > ul > li > a:hover, #wrapper #header > .container > .sns > .list > .ul > ul > li > a:hover, #wrapper #footer > .container > #footerLogo > a:hover, #wrapper #contents > .container #main > div > .container > .box a:hover, #wrapper #contents #index > #main > #iTicket > .container > .box > .btn a:hover {
  opacity: 0.7; }

.remodal-close {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

#wrapper #contents > .container #main > div > .container > .box .text > .p {
  text-align: justify;
  text-justify: inter-ideograph; }

body .container {
  *zoom: 1; }
  body .container:before, body .container:after {
    content: ' ';
    display: table; }
  body .container:after {
    clear: both; }

body {
  color: #04235E;
  word-wrap: break-word;
  text-align: justify;
  text-justify: distribute; }
  body .container {
    width: auto;
    padding: 0px;
    margin: 0 auto; }
  body input, body table, body select {
    color: #04235E; }

ul.decimal li {
  list-style-type: decimal;
  margin-left: 1.5em; }

ul.disc li {
  list-style-type: disc;
  margin-left: 1.5em; }

.att {
  text-indent: -1em;
  margin-left: 1em; }
  .att:before {
    content: '※'; }

.alignnone {
  display: block;
  margin: 0px;
  padding: 0px; }

.alignleft {
  display: inline;
  float: left;
  margin-right: 2em;
  margin-bottom: 1.4em; }

.alignright {
  display: inline;
  float: right;
  margin-left: 2em;
  margin-bottom: 1.4em; }

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto; }

#wrapper #contents > .container #main > div > .container > .box .text > .p {
  padding: 0;
  margin: 0;
  font-size: 115.3847%;
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-weight: 600; }
  #wrapper #contents > .container #main > div > .container > .box .text > .p > p {
    margin-bottom: 1.4em; }
    #wrapper #contents > .container #main > div > .container > .box .text > .p > p:last-child {
      margin-bottom: 0; }
  @media only screen and (min-width: 0px) and (max-width: 767px) {
    #wrapper #contents > .container #main > div > .container > .box .text > .p {
      font-size: 107.76923%;
      line-height: 1.8;
      letter-spacing: 0.1em; } }

.remodal-close {
  -webkit-transition: all 0.25s cubic-bezier(0.72, 0.31, 0.31, 0.98);
  -o-transition: all 0.25s cubic-bezier(0.72, 0.31, 0.31, 0.98);
  transition: all 0.25s cubic-bezier(0.72, 0.31, 0.31, 0.98);
  cursor: pointer;
  width: 50px;
  height: 40px;
  padding: 0 0;
  margin: 4% 4%;
  position: absolute;
  top: 0;
  right: 0;
  z-index: 20000; }
  .remodal-close > span {
    -webkit-transition: all 0.25s cubic-bezier(0.72, 0.31, 0.31, 0.98);
    -o-transition: all 0.25s cubic-bezier(0.72, 0.31, 0.31, 0.98);
    transition: all 0.25s cubic-bezier(0.72, 0.31, 0.31, 0.98);
    display: block;
    width: 80%;
    height: 4px;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    background-color: #000; }
    .remodal-close > span.top, .remodal-close > span:first-child {
      top: 4px;
      bottom: auto; }
    .remodal-close > span.bottom, .remodal-close > span:last-child {
      top: auto;
      bottom: 4px; }
  .remodal-close:hover > span {
    opacity: 0.6; }

.remodal-close > span {
  width: 100%;
  zoom: 1; }
  .remodal-close > span.top, .remodal-close > span:first-child {
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    -o-transform: rotate(-45deg); }
  .remodal-close > span.middle, .remodal-close > span:nth-child(2) {
    opacity: 0;
    width: 0;
    visibility: hidden; }
  .remodal-close > span.bottom, .remodal-close > span:last-child {
    margin-bottom: -2px !important;
    top: 0;
    left: 0;
    bottom: 50%;
    right: 0;
    transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    -moz-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    -o-transform: rotate(45deg); }

.grecaptcha-badge {
  visibility: hidden; }

.it__On {
  -webkit-transition: all 1s cubic-bezier(0.62, 0.41, 0.41, 0.98);
  -o-transition: all 1s cubic-bezier(0.62, 0.41, 0.41, 0.98);
  transition: all 1s cubic-bezier(0.62, 0.41, 0.41, 0.98);
  opacity: 1;
  visibility: visible;
  position: relative; }

.it__OnA01 {
  top: 0px; }

.it__OnA02 {
  left: 0px; }

.it__OnA03 {
  bottom: 0px; }

.it__OnA04 {
  right: 0; }

.it__OnA05 {
  -webkit-filter: blur(0px);
  filter: blur(0px); }

.it__SetA01, .it__SetA02, .it__SetA03, .it__SetA04, .it__SetA05, .it__Set {
  -webkit-transition: all 0s ease !important;
  -o-transition: all 0s ease !important;
  transition: all 0s ease !important;
  opacity: 0;
  visibility: hidden;
  position: relative; }

.it__SetA01 {
  top: -50px; }

.it__SetA02 {
  left: -50px; }

.it__SetA03 {
  bottom: -50px; }

.it__SetA04 {
  right: -50px; }

.it__SetA05 {
  -webkit-filter: blur(10px);
  filter: blur(10px); }

/* --------  swiper_set用｜プラグイン/swiper設定  -------- */
/* --------  parallax_set用  -------- */
/* --------  function lightcaseFunc用｜プラグイン/lightcase設定  -------- */
/* CSS Document -- _default.scss */
html {
  overflow-y: auto;
  font-size: 15px; }

body {
  font-size: 100%;
  font-size: 13px;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  text-size-adjust: 100%;
  overflow-wrap: anywhere;
  /* 収まらない場合に折り返す */
  word-break: normal;
  /* 単語の分割はデフォルトに依存 */
  line-break: strict;
  /* 禁則処理を厳格に適用 */ }
  body input[type="button"], body input[type="submit"] {
    -webkit-appearance: none; }

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

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, fieldset, p, blockquote, th, td {
  margin: 0;
  padding: 0;
  border-top-style: none;
  border-right-style: none;
  border-bottom-style: none;
  border-left-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0;
  max-width: 100%; }

h1, h2, h3, h4, h5, h6 {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 400; }

ul li {
  list-style-type: none; }

ol li {
  list-style-type: decimal;
  margin-left: 1.5em; }

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

a:link, a:visited {
  text-decoration: none; }

label {
  cursor: pointer; }

object, embed {
  vertical-align: top; }

img, abbr, acronym, fieldset {
  border: 0;
  vertical-align: top;
  max-width: 100%;
  height: auto; }

*, *::before, *::after {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* CSS Document -- _base.scss */
/* --------  base  -------- */
body {
  font-size: 13px;
  line-height: 2;
  letter-spacing: 0.1em;
  font-weight: 400;
  overflow-x: visible !important;
  -webkit-font-feature-settings: "palt";
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased; }
  body a {
    color: #04235E; }
    body a:hover, body a.hover, body a.focus, body a.current {
      color: #04235E;
      text-decoration: none; }

/* --------  layout  -------- */
#wrapper {
  min-width: 1000px;
  background: #FFF url(../images/bcg_body.jpg) repeat top center; }
  #wrapper .pc__p {
    display: block; }
  #wrapper .sp__p {
    display: inline-block; }
  #wrapper .pc {
    display: block; }
  #wrapper .sp {
    display: none; }
  #wrapper #header {
    -webkit-transition: all 0.2s cubic-bezier(0.72, 0.31, 0.31, 0.98);
    -o-transition: all 0.2s cubic-bezier(0.72, 0.31, 0.31, 0.98);
    transition: all 0.2s cubic-bezier(0.72, 0.31, 0.31, 0.98);
    opacity: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    min-width: 1000px;
    margin: 0;
    padding: 0;
    z-index: 1000; }
    #wrapper #header > .container {
      width: 100%;
      max-width: 960px;
      position: relative;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      #wrapper #header > .container > #nav > .hamburger {
        display: none; }
      #wrapper #header > .container > #nav > .list > .ul > ul, #wrapper #header > .container > .sns > .list > .ul > ul {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        #wrapper #header > .container > #nav > .list > .ul > ul > li, #wrapper #header > .container > .sns > .list > .ul > ul > li {
          margin-right: 1px; }
          #wrapper #header > .container > #nav > .list > .ul > ul > li:first-child a, #wrapper #header > .container > .sns > .list > .ul > ul > li:first-child a {
            border-radius: 0 0 0 4px; }
          #wrapper #header > .container > #nav > .list > .ul > ul > li:last-child, #wrapper #header > .container > .sns > .list > .ul > ul > li:last-child {
            margin-right: 0; }
            #wrapper #header > .container > #nav > .list > .ul > ul > li:last-child a, #wrapper #header > .container > .sns > .list > .ul > ul > li:last-child a {
              border-radius: 0 0 4px 0; }
          #wrapper #header > .container > #nav > .list > .ul > ul > li > a, #wrapper #header > .container > .sns > .list > .ul > ul > li > a {
            opacity: 0.9;
            background-color: #04235E;
            display: block; }
      #wrapper #header > .container > .sns {
        margin-left: auto; }
    #wrapper #header.fix {
      position: fixed;
      -webkit-animation-name: fadeIn;
      animation-name: fadeIn;
      -webkit-animation-duration: 0.3s;
      animation-duration: 0.3s;
      -webkit-animation-fill-mode: forwards;
      animation-fill-mode: forwards; }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }
    @media only screen and (min-width: 0px) and (max-width: 767px) {
      #wrapper #header {
        min-width: 100%; }
        #wrapper #header > .container > #nav > .hamburger {
          border-radius: 5px;
          opacity: 0.9;
          display: none;
          position: fixed;
          top: 5px;
          right: 5px;
          margin: auto;
          width: 70px;
          height: 70px;
          z-index: 1100;
          cursor: pointer;
          background-color: #04235E; }
          #wrapper #header > .container > #nav > .hamburger > span {
            -webkit-transition: all 0.2s cubic-bezier(0.72, 0.31, 0.31, 0.98);
            -o-transition: all 0.2s cubic-bezier(0.72, 0.31, 0.31, 0.98);
            transition: all 0.2s cubic-bezier(0.72, 0.31, 0.31, 0.98);
            width: 46.6667%;
            height: 1px;
            margin: auto;
            display: block;
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background-color: #FFF;
            -moz-transform: rotate(0deg);
            -webkit-transform: rotate(0deg);
            -o-transform: rotate(0deg);
            -ms-transform: rotate(0deg);
            transform: rotate(0deg); }
            #wrapper #header > .container > #nav > .hamburger > span:nth-child(1) {
              top: -17px; }
            #wrapper #header > .container > #nav > .hamburger > span:nth-child(3) {
              bottom: -17px; }
          #wrapper #header > .container > #nav > .hamburger.on > span:nth-child(1) {
            top: 0px;
            -moz-transform: rotate(-30deg);
            -webkit-transform: rotate(-30deg);
            -o-transform: rotate(-30deg);
            -ms-transform: rotate(-30deg);
            transform: rotate(-30deg); }
          #wrapper #header > .container > #nav > .hamburger.on > span:nth-child(2) {
            opacity: 0; }
          #wrapper #header > .container > #nav > .hamburger.on > span:nth-child(3) {
            left: 0px;
            bottom: 0px;
            -moz-transform: rotate(30deg);
            -webkit-transform: rotate(30deg);
            -o-transform: rotate(30deg);
            -ms-transform: rotate(30deg);
            transform: rotate(30deg); }
        #wrapper #header > .container > #nav > .list {
          display: none; }
        #wrapper #header > .container > .sns {
          display: none; }
        #wrapper #header.fix > .container > #nav > .hamburger {
          display: block; }
        #wrapper #header.on > .container {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-wrap: wrap;
          flex-wrap: wrap;
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          -webkit-box-pack: center;
          -ms-flex-pack: center;
          justify-content: center;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          padding: 0 10.00005% 0 !important;
          width: 100%;
          height: 100%;
          position: fixed; }
          #wrapper #header.on > .container:after {
            opacity: 0.9;
            content: "";
            display: block;
            position: fixed;
            top: 0;
            right: 0;
            width: 100%;
            height: 100vh;
            background-color: #04235E;
            z-index: -1; }
          #wrapper #header.on > .container > #nav {
            width: 100%;
            margin: 0; }
            #wrapper #header.on > .container > #nav > .list {
              display: block;
              margin-bottom: 16.6667%; }
              #wrapper #header.on > .container > #nav > .list > .ul > ul {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                -webkit-box-orient: vertical;
                -webkit-box-direction: normal;
                -ms-flex-direction: column;
                flex-direction: column;
                -webkit-box-align: start;
                -ms-flex-align: start;
                align-items: flex-start;
                -ms-flex-line-pack: start;
                align-content: flex-start; }
                #wrapper #header.on > .container > #nav > .list > .ul > ul > li {
                  width: 100%;
                  margin-right: auto;
                  margin-bottom: 0%; }
                  #wrapper #header.on > .container > #nav > .list > .ul > ul > li:last-child {
                    margin-bottom: 0; }
                  #wrapper #header.on > .container > #nav > .list > .ul > ul > li > a {
                    font-size: 107.76923%; }
                    #wrapper #header.on > .container > #nav > .list > .ul > ul > li > a:before {
                      margin-right: 10px; }
                    #wrapper #header.on > .container > #nav > .list > .ul > ul > li > a img {
                      width: 50%; }
          #wrapper #header.on > .container > #nav > .list > .ul > ul > li > a, #wrapper #header.on > .container > .sns > .list > .ul > ul > li > a {
            background: none;
            text-align: center; }
          #wrapper #header.on > .container > .sns {
            margin: 0;
            display: block;
            width: 100%; }
            #wrapper #header.on > .container > .sns > .list > .ul {
              width: 50%;
              margin: 0 auto; }
              #wrapper #header.on > .container > .sns > .list > .ul > ul {
                display: -webkit-box;
                display: -ms-flexbox;
                display: flex;
                -ms-flex-wrap: wrap;
                flex-wrap: wrap;
                -webkit-box-pack: center;
                -ms-flex-pack: center;
                justify-content: center;
                -webkit-box-align: center;
                -ms-flex-align: center;
                align-items: center; }
                #wrapper #header.on > .container > .sns > .list > .ul > ul > li {
                  width: 50%; }
                  #wrapper #header.on > .container > .sns > .list > .ul > ul > li > a {
                    display: block;
                    width: auto; }
                    #wrapper #header.on > .container > .sns > .list > .ul > ul > li > a img {
                      width: 100%; }
                  #wrapper #header.on > .container > .sns > .list > .ul > ul > li:first-child {
                    margin-right: 0; } }
  #wrapper #mainImages {
    margin: 0 auto 0px;
    width: 100%;
    height: 100vh;
    min-height: 960px; }
    #wrapper #mainImages > .container > #fadeImage {
      margin: 0 auto;
      width: 100%;
      max-width: 960px;
      height: auto; }
      #wrapper #mainImages > .container > #fadeImage ul {
        position: relative; }
        #wrapper #mainImages > .container > #fadeImage ul li {
          position: absolute;
          margin: auto;
          top: 0;
          left: 0;
          right: 0; }
    @media only screen and (min-width: 0px) and (max-width: 767px) {
      #wrapper #mainImages {
        margin: 0 auto 30px;
        height: 50vh;
        min-height: auto; } }
  #wrapper #contents {
    position: relative; }
    #wrapper #contents > .container {
      padding: 0;
      margin: 0 auto; }
      @media only screen and (min-width: 0px) and (max-width: 767px) {
        #wrapper #contents > .container #main > div > .container {
          padding: 0 20px; } }
  #wrapper #footer {
    background-color: #04235E; }
    #wrapper #footer > .container {
      position: relative;
      width: 100%;
      max-width: 960px;
      height: auto;
      padding: 30px 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
      #wrapper #footer > .container > #footerLogo {
        width: 245px;
        margin-bottom: 1em; }
      #wrapper #footer > .container > #footerInfo {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-left: auto; }
        #wrapper #footer > .container > #footerInfo span {
          font-size: 123.0769%;
          line-height: 1.8;
          letter-spacing: 0.1em;
          font-weight: 600;
          color: #FFF;
          margin-right: 1em; }
          #wrapper #footer > .container > #footerInfo span.title {
            margin-right: 0em; }
            #wrapper #footer > .container > #footerInfo span.title:after {
              content: "｜"; }
          #wrapper #footer > .container > #footerInfo span:last-child {
            margin-right: 0; }
      #wrapper #footer > .container > #copyright {
        width: 100%;
        display: block;
        text-align: center; }
        #wrapper #footer > .container > #copyright > .p {
          font-size: 100%;
          line-height: 1.8;
          letter-spacing: 0.1em;
          color: #FFF; }
    @media only screen and (min-width: 0px) and (max-width: 767px) {
      #wrapper #footer > .container {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center; }
        #wrapper #footer > .container > #footerLogo {
          margin: 0 auto 1em; }
        #wrapper #footer > .container > #footerInfo {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
          -ms-flex-direction: column;
          flex-direction: column;
          margin: 0 auto 1em; }
          #wrapper #footer > .container > #footerInfo span {
            margin: auto; }
            #wrapper #footer > .container > #footerInfo span.title {
              margin: auto;
              text-align: center; }
              #wrapper #footer > .container > #footerInfo span.title:after {
                display: none; }
            #wrapper #footer > .container > #footerInfo span:last-child {
              margin-right: auto; }
        #wrapper #footer > .container > #copyright > .p {
          font-size: 92.3077%;
          line-height: 1.8;
          letter-spacing: 0.1em; } }
  @media only screen and (min-width: 0px) and (max-width: 767px) {
    #wrapper {
      min-width: 0px; }
      #wrapper .pc__p {
        display: inline-block; }
      #wrapper .sp__p {
        display: block; }
      #wrapper .pc {
        display: none; }
      #wrapper .sp {
        display: block; } }

/* --------  loading  -------- */
#loader {
  display: block;
  width: 100%;
  height: 100%;
  position: fixed;
  background: #FFF;
  top: 0;
  left: 0;
  z-index: 2000;
  color: #000; }
  #loader #loaderBox {
    width: auto;
    height: auto;
    text-align: center;
    position: fixed;
    z-index: 2000;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -100%);
    -ms-transform: translate(-50%, -100%);
    transform: translate(-50%, -100%); }
    #loader #loaderBox #barArea {
      width: 60px;
      margin: 0px auto;
      height: 1px;
      background: #000;
      position: relative;
      /* .circle1,.circle2,.circle3{
					@include radius(3px);
					width: 3px;
					height: 3px;
					background-color: $bk;
					display: block;
					position: absolute;
					top: -1px;
					left: -1px;
				}
				.circle2{
					left: auto;
					right: 0px;
				}
				.circle3{
					left: 50%;
					margin-left: -2px;
				} */ }
      #loader #loaderBox #barArea #bar {
        width: 0;
        background: #000;
        height: 1px; }
    #loader #loaderBox #percent {
      width: 60px;
      padding: 0px 0 0px 1em;
      margin: 0 auto -1px;
      height: auto;
      color: #000 !important;
      text-align: center;
      font-size: 73%;
      letter-spacing: 0.1em; }
  #loader.loaderANI {
    -webkit-transition: all 0.8s cubic-bezier(0.72, 0.31, 0.31, 0.98);
    -o-transition: all 0.8s cubic-bezier(0.72, 0.31, 0.31, 0.98);
    transition: all 0.8s cubic-bezier(0.72, 0.31, 0.31, 0.98); }
    #loader.loaderANI #loaderBox {
      -webkit-transition: all 0.6s cubic-bezier(0.72, 0.31, 0.31, 0.98);
      -o-transition: all 0.6s cubic-bezier(0.72, 0.31, 0.31, 0.98);
      transition: all 0.6s cubic-bezier(0.72, 0.31, 0.31, 0.98);
      opacity: 0; }
    #loader.loaderANI.loaderFADE {
      opacity: 0; }
  #loader.loaderOFF {
    opacity: 0;
    z-index: -10000 !important;
    visibility: hidden; }

/* --------  remodal  -------- */
.remodal-wrapper {
  overflow: auto scroll;
  overflow-x: auto;
  overflow-y: scroll; }

.remodal-close > span {
  background-color: #000; }

.remodal-close:before {
  display: none; }

div#mailComplete {
  width: 100%;
  height: 100%;
  margin: auto;
  top: 0;
  left: 0; }
  div#mailComplete br.sp {
    display: none; }
  div#mailComplete > .container {
    width: 100%;
    height: 100%;
    display: table;
    position: absolute;
    margin: auto;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0; }
    div#mailComplete > .container > .box {
      display: table-cell;
      vertical-align: middle;
      overflow: hidden; }
      div#mailComplete > .container > .box h3 {
        font-size: 184.6154%;
        font-weight: 700;
        line-height: 1.6;
        margin-bottom: 1.6em; }
      div#mailComplete > .container > .box > .text {
        width: 80%;
        margin: auto; }
        div#mailComplete > .container > .box > .text > .p {
          font-size: 115.3847%;
          line-height: 2; }
          div#mailComplete > .container > .box > .text > .p > p {
            margin-bottom: 1.1em; }
  @media only screen and (min-width: 0px) and (max-width: 767px) {
    div#mailComplete br.pc {
      display: none; }
    div#mailComplete br.sp {
      display: inline; }
    div#mailComplete > .container {
      display: block;
      height: auto;
      margin: auto;
      position: relative; }
      div#mailComplete > .container > .box {
        display: block;
        padding: 10% 0 30%; }
        div#mailComplete > .container > .box > .text {
          width: 90%; } }

/* --------  mailformpro  -------- */
#mailformpro textarea {
  font-weight: 400; }

#mailformpro button {
  border: 0;
  cursor: pointer;
  font-weight: 400; }

#mfp_overlay #mfp_overlay_inner {
  padding: 30px;
  margin: 30px auto 0; }
  #mfp_overlay #mfp_overlay_inner h4 {
    margin-bottom: 1.4em; }
  #mfp_overlay #mfp_overlay_inner table#mfp_confirm_table tr {
    background-color: #FFF; }
    #mfp_overlay #mfp_overlay_inner table#mfp_confirm_table tr th, #mfp_overlay #mfp_overlay_inner table#mfp_confirm_table tr td {
      padding: 10px 15px;
      font-size: 106%;
      font-weight: 400; }
    #mfp_overlay #mfp_overlay_inner table#mfp_confirm_table tr.mfp_achroma {
      background-color: #FFF; }
  #mfp_overlay #mfp_overlay_inner div.mfp_buttons {
    padding: 40px 0 0; }
    #mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_submit,
    #mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_reset,
    #mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_button {
      width: 45%;
      padding: 10px;
      border: none;
      background: none;
      text-shadow: none;
      -webkit-box-shadow: none;
      box-shadow: none;
      background-color: #000;
      color: #FFF;
      font-weight: 400; }
      #mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_submit:hover,
      #mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_reset:hover,
      #mfp_overlay #mfp_overlay_inner div.mfp_buttons .mfp_element_button:hover {
        background: none;
        text-shadow: none;
        -webkit-box-shadow: none;
        box-shadow: none;
        background-color: #000; }

@media only screen and (min-width: 0px) and (max-width: 767px) {
  #mfp_overlay #mfp_overlay_inner {
    width: auto; }
    #mfp_overlay #mfp_overlay_inner table#mfp_confirm_table tr th, #mfp_overlay #mfp_overlay_inner table#mfp_confirm_table tr td {
      display: block;
      width: 100%;
      padding: 10px 15px;
      margin: 0;
      float: none;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    #mfp_overlay #mfp_overlay_inner table#mfp_confirm_table tr td {
      padding-bottom: 30px; }
    #mfp_overlay #mfp_overlay_inner table#mfp_confirm_table tr:last-child td {
      padding-bottom: 15px; } }

/* CSS Document -- _cont.scss */
/* --------  contents  -------- */
#wrapper #contents > .container {
  /*共通項目*/
  position: relative;
  width: 100%;
  margin: 0 auto;
  padding: 0; }
  #wrapper #contents > .container #main {
    margin-bottom: 120px; }
    #wrapper #contents > .container #main > div {
      position: relative;
      width: 100%;
      margin: 0 auto 60px;
      max-width: 960px; }
      @media only screen and (min-width: 0px) and (max-width: 767px) {
        #wrapper #contents > .container #main > div {
          max-width: 100%;
          margin: 0 auto 30px; } }
      #wrapper #contents > .container #main > div > .container .secTitle {
        border-radius: 5px 5px 0 0;
        background-color: #04235E;
        text-align: center; }
    @media only screen and (min-width: 0px) and (max-width: 767px) {
      #wrapper #contents > .container #main {
        margin-bottom: 60px; } }

#wrapper #contents #index > #main > #iNews > .container > h2.title {
  font-size: 138.4615%;
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin: 0 auto 2em;
  text-align: center; }
  #wrapper #contents #index > #main > #iNews > .container > h2.title span {
    position: relative;
    display: inline-block; }
    #wrapper #contents #index > #main > #iNews > .container > h2.title span:after {
      content: "";
      position: absolute;
      left: 0;
      bottom: 0;
      width: 100%;
      height: 2px;
      background-color: #04235E; }

#wrapper #contents #index > #main > #iNews > .container > .box > h3 {
  font-size: 138.4615%;
  line-height: 1.8;
  letter-spacing: 0.1em;
  font-weight: bold;
  margin-bottom: 1em;
  text-align: center; }

#wrapper #contents #index > #main > #iNews > .container > .box > .text > .p p {
  text-align: center; }

#wrapper #contents #index > #main > #iNews > .container > .box > .text > .p span {
  color: #CE0808; }
  #wrapper #contents #index > #main > #iNews > .container > .box > .text > .p span a {
    color: #CE0808;
    text-decoration: underline; }

#wrapper #contents #index > #main > #iSchedule > .container > .box > .img {
  position: relative; }
  #wrapper #contents #index > #main > #iSchedule > .container > .box > .img:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 2px solid #04235E;
    z-index: 1; }

#wrapper #contents #index > #main > #iTicket > .container > .box {
  border: 2px solid #04235E;
  background-color: #FFF;
  position: relative; }
  #wrapper #contents #index > #main > #iTicket > .container > .box > .img span:last-child:before {
    border-top: 0px;
    border-bottom: 0px; }
  #wrapper #contents #index > #main > #iTicket > .container > .box > .btn {
    margin: 30px auto 40px;
    width: 300px; }
    #wrapper #contents #index > #main > #iTicket > .container > .box > .btn a {
      border-radius: 5px;
      color: #FFF;
      font-size: 115.3847%;
      line-height: 1.8;
      letter-spacing: 0.1em;
      font-weight: 600;
      padding: 1em;
      background-color: #04235E;
      display: block;
      text-align: center; }
  #wrapper #contents #index > #main > #iTicket > .container > .box > .other > h3 {
    background-color: #CE0808;
    font-size: 153.8462%;
    line-height: 2;
    letter-spacing: 0.03em;
    font-weight: 600;
    color: #FFF;
    text-align: center;
    padding: 5px;
    border-top: 2px solid #04235E;
    border-bottom: 2px solid #04235E; }
  #wrapper #contents #index > #main > #iTicket > .container > .box > .other > .list {
    background-color: #FFF; }
    #wrapper #contents #index > #main > #iTicket > .container > .box > .other > .list > .ul > ul {
      padding: 30px 30px; }
      #wrapper #contents #index > #main > #iTicket > .container > .box > .other > .list > .ul > ul > li {
        font-size: 107.76923%;
        line-height: 1.8;
        letter-spacing: 0.1em;
        font-weight: 600;
        margin-left: 0em;
        text-indent: -0.6em;
        margin-bottom: 0.6em; }
        #wrapper #contents #index > #main > #iTicket > .container > .box > .other > .list > .ul > ul > li:before {
          content: "・"; }
        #wrapper #contents #index > #main > #iTicket > .container > .box > .other > .list > .ul > ul > li:last-child {
          margin-bottom: 0; }
    @media only screen and (min-width: 0px) and (max-width: 767px) {
      #wrapper #contents #index > #main > #iTicket > .container > .box > .other > .list > .ul > ul {
        padding: 30px 30px; }
        #wrapper #contents #index > #main > #iTicket > .container > .box > .other > .list > .ul > ul > li {
          font-size: 92.3077%;
          line-height: 1.8;
          letter-spacing: 0.1em; } }

@media only screen and (min-width: 0px) and (max-width: 767px) {
  #wrapper #contents #index > #main > #iTicket > .container > .box > .btn {
    margin: 0px auto 30px;
    width: 80%; }
  #wrapper #contents #index > #main > #iTicket > .container > .box > .other > h3 {
    font-size: 115.3847%;
    line-height: 1.8;
    letter-spacing: 0.1em; }
  #wrapper #contents #index > #main > #iTicket > .container > .box > .other > .list > .ul > ul {
    padding: 15px; }
    #wrapper #contents #index > #main > #iTicket > .container > .box > .other > .list > .ul > ul > li {
      font-size: 92.3077%;
      line-height: 1.8;
      letter-spacing: 0.1em; } }

#wrapper #contents #index > #main > #iMap > .container > .box > .img {
  text-align: center; }

#wrapper #contents #index > #main > #iSns > .container > .box {
  width: 480px;
  margin: 0 auto; }
  #wrapper #contents #index > #main > #iSns > .container > .box > #pagePlugin {
    width: 100%;
    max-width: 100%;
    margin-bottom: 30px; }
  #wrapper #contents #index > #main > #iSns > .container > .box > .btn > ul {
    display: -ms-grid;
    display: grid;
    gap: 14px;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    /* 2列 */ }
  @media only screen and (min-width: 0px) and (max-width: 767px) {
    #wrapper #contents #index > #main > #iSns > .container > .box {
      width: 100%; }
      #wrapper #contents #index > #main > #iSns > .container > .box > #pagePlugin {
        width: 100%; }
      #wrapper #contents #index > #main > #iSns > .container > .box > .btn {
        margin-top: 30px; }
        #wrapper #contents #index > #main > #iSns > .container > .box > .btn > ul {
          gap: 7px; } }

@media only screen and (min-width: 0px) and (max-width: 767px) {
  #wrapper #contents #index > #main > #iSns > .container > .box {
    width: 100%; } }

#wrapper #contents #index > #main > #iVolunteer > .container > .box {
  position: relative;
  padding: 30px 30px 60px;
  background-color: #FFF;
  border: 2px solid #04235E; }
  #wrapper #contents #index > #main > #iVolunteer > .container > .box > .title {
    font-size: 307.6923%;
    line-height: 1.8;
    letter-spacing: 0.1em;
    font-weight: 600;
    text-align: center;
    position: relative;
    padding-bottom: 10px;
    margin-bottom: 30px; }
    #wrapper #contents #index > #main > #iVolunteer > .container > .box > .title:before {
      content: "";
      display: block;
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 2px;
      background-color: #04235E; }
  #wrapper #contents #index > #main > #iVolunteer > .container > .box > .text {
    margin-bottom: 30px; }
    #wrapper #contents #index > #main > #iVolunteer > .container > .box > .text > .p {
      text-align: center; }
      #wrapper #contents #index > #main > #iVolunteer > .container > .box > .text > .p span {
        color: #CE0808; }
  #wrapper #contents #index > #main > #iVolunteer > .container > .box > .btn {
    width: 100%;
    margin: 0 auto 30px;
    text-align: center; }
  #wrapper #contents #index > #main > #iVolunteer > .container > .box > .list {
    margin: 0 auto 30px;
    width: 780px; }
    #wrapper #contents #index > #main > #iVolunteer > .container > .box > .list > .ul > ul {
      display: -ms-grid;
      display: grid;
      gap: 26px;
      -ms-grid-columns: (1fr)[2];
      grid-template-columns: repeat(2, 1fr);
      /* 2列 */ }
  #wrapper #contents #index > #main > #iVolunteer > .container > .box > .img {
    text-align: center; }

@media only screen and (min-width: 0px) and (max-width: 767px) {
  #wrapper #contents #index > #main > #iVolunteer > .container > .box {
    padding: 30px 20px 30px; }
    #wrapper #contents #index > #main > #iVolunteer > .container > .box > .title {
      font-size: 153.8462%;
      line-height: 2;
      letter-spacing: 0.03em;
      padding-bottom: 10px;
      margin-bottom: 30px; }
    #wrapper #contents #index > #main > #iVolunteer > .container > .box > .text {
      margin-bottom: 30px; }
      #wrapper #contents #index > #main > #iVolunteer > .container > .box > .text > .p {
        text-align: justify; }
    #wrapper #contents #index > #main > #iVolunteer > .container > .box > .btn {
      margin: 0 auto 30px; }
    #wrapper #contents #index > #main > #iVolunteer > .container > .box > .list {
      margin: 0 auto 30px;
      width: 100%; }
      #wrapper #contents #index > #main > #iVolunteer > .container > .box > .list > .ul > ul {
        -ms-grid-columns: 1fr;
        grid-template-columns: 1fr;
        /* スマホなど画面幅768px以下は1列 */ }
    #wrapper #contents #index > #main > #iVolunteer > .container > .box > .img {
      text-align: center; } }

#wrapper #contents #index > #main > #iSponcer {
  margin: 0 auto; }
  #wrapper #contents #index > #main > #iSponcer > .container > .title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 2em; }
    #wrapper #contents #index > #main > #iSponcer > .container > .title span.title {
      font-size: 138.4615%;
      line-height: 1.8;
      letter-spacing: 0.1em;
      font-weight: bold; }
    #wrapper #contents #index > #main > #iSponcer > .container > .title span.date {
      font-size: 100%;
      line-height: 1.8;
      letter-spacing: 0.1em;
      font-weight: bold;
      margin-left: 1em; }
  #wrapper #contents #index > #main > #iSponcer > .container > .box > #sponcer > .banner > .ul > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #wrapper #contents #index > #main > #iSponcer > .container > .box > #sponcer > .banner > .ul > ul > li {
      margin: 0 0.5em 2em; }
  #wrapper #contents #index > #main > #iSponcer > .container > .box > #supporter > .list > .ul > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #wrapper #contents #index > #main > #iSponcer > .container > .box > #supporter > .list > .ul > ul > li {
      text-align: center;
      margin-bottom: 2em;
      font-weight: bold; }
      #wrapper #contents #index > #main > #iSponcer > .container > .box > #supporter > .list > .ul > ul > li:nth-child(1) {
        font-size: 115.3847%;
        line-height: 1.8;
        letter-spacing: 0.1em; }
      #wrapper #contents #index > #main > #iSponcer > .container > .box > #supporter > .list > .ul > ul > li:nth-child(2) {
        font-size: 107.76923%;
        line-height: 1.8;
        letter-spacing: 0.1em; }
      #wrapper #contents #index > #main > #iSponcer > .container > .box > #supporter > .list > .ul > ul > li:nth-child(3) {
        font-size: 100%;
        line-height: 1.8;
        letter-spacing: 0.1em; }
      #wrapper #contents #index > #main > #iSponcer > .container > .box > #supporter > .list > .ul > ul > li:nth-child(4) {
        font-size: 92.3077%;
        line-height: 1.8;
        letter-spacing: 0.1em; }
      #wrapper #contents #index > #main > #iSponcer > .container > .box > #supporter > .list > .ul > ul > li:nth-child(5) {
        font-size: 84.6154%;
        line-height: 1.8;
        letter-spacing: 0.1em; }
      #wrapper #contents #index > #main > #iSponcer > .container > .box > #supporter > .list > .ul > ul > li:nth-child(6) {
        font-size: 76.9231%;
        line-height: 1.8;
        letter-spacing: 0.1em; }
  #wrapper #contents #index > #main > #iSponcer > .container > .box > #specialThanks h3 {
    text-align: center;
    font-weight: bold;
    font-size: 76.9231%;
    line-height: 1.8;
    letter-spacing: 0.1em; }
  #wrapper #contents #index > #main > #iSponcer > .container > .box > #specialThanks > .list > .ul > ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    #wrapper #contents #index > #main > #iSponcer > .container > .box > #specialThanks > .list > .ul > ul > li {
      text-align: center;
      margin-bottom: 2em;
      font-weight: bold;
      font-size: 76.9231%;
      line-height: 1.8;
      letter-spacing: 0.1em; }
  #wrapper #contents #index > #main > #iSponcer > .container > .box > #specialThanks > .text > .p {
    font-size: 76.9231%;
    line-height: 1.8;
    letter-spacing: 0.1em;
    text-align: center; }
