@charset "UTF-8";
/*//////////////////////////////////////////////////
sscss変数
//////////////////////////////////////////////////*/
/*//////////////////////////////////////////////////
全体
//////////////////////////////////////////////////*/
::-moz-selection {
  background-color: #15136f;
  color: #fff; }

::selection {
  background-color: #15136f;
  color: #fff; }

@font-face {
  font-family: NotoSerifJP-M;
  src: url("font/NotoSerifJP-Medium.otf") format("opentype"); }
html {
  width: 100%;
  height: 100%;
  font-size: 62.5%; }

body {
  width: 100%;
  height: 100%;
  min-width: 375px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  background-color: #fff; }

body, input, textarea, select, button {
  font-size: 1.4rem;
  line-height: 2;
  color: #333;
  font-weight: 500;
  letter-spacing: .1rem;
  -webkit-text-size-adjust: 100%;
  word-wrap: break-word;
  overflow-wrap: break-word;
  -moz-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto;
  -webkit-font-smoothing: subpixel-antialiased;
  font-family: 'NotoSerifJP-M', 游明朝, "Yu Mincho", YuMincho, "Hiragino Mincho ProN", HGS明朝E, serif; }

header, main, footer {
  width: 100%;
  overflow: hidden; }

main, img {
  display: block; }

img {
  flex-shrink: 0; }

input[type="text"], input[type="search"], input[type="email"], input[type="password"], input[type="submit"], input[type="button"], input[type="radio"], input[type="checkbox"], textarea, select, button {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  margin: 0;
  padding: 0;
  background: none;
  border: none;
  border-radius: 0;
  outline: none; }

input[type="submit"], input[type="button"], input[type="radio"], input[type="checkbox"], select, button {
  cursor: pointer; }

input, textarea, select, button {
  outline: 0;
  transition: all .4s; }

::-webkit-input-placeholder {
  color: #757575; }

:-ms-input-placeholder {
  color: #757575; }

::-moz-placeholder {
  color: #757575; }

a {
  text-decoration: none;
  transition: all .4s; }

a:link, a:visited, a:hover {
  color: #333; }

pre {
  white-space: pre-wrap; }

.it {
  font-style: italic; }

.l-space-1 {
  letter-spacing: .1rem; }

.l-space-2 {
  letter-spacing: .2rem; }

.underline {
  text-decoration: underline; }

.cf:after {
  content: '';
  display: block;
  clear: both; }

.fit-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }

.scroll-style {
  overflow: scroll;
  -ms-overflow-style: none;
  scrollbar-width: none; }
  .scroll-style::-webkit-scrollbar {
    display: none; }

.vertical-txt {
  -ms-writing-mode: tb-rl;
  -o-writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl; }

.keep-txt {
  word-break: keep-all;
  white-space: nowrap; }

.margin-0 {
  margin: 0 !important; }

.color-white {
  color: #fff !important; }

.color-font {
  color: #333 !important; }

.color-subfont {
  color: #757575 !important; }

.color-line {
  color: #bdbdbd !important; }

.color-back {
  color: #f0f0f0 !important; }

.color-navy {
  color: #15136f !important; }

.xx-lg {
  font-size: 2.4rem !important; }

.xx-lg-2 {
  font-size: 2.4rem !important; }

.x-lg {
  font-size: 2rem !important; }

.x-lg-2 {
  font-size: 2rem !important; }

.lg {
  font-size: 1.6rem !important; }

.lg-2 {
  font-size: 1.6rem !important; }

.md {
  font-size: 1.4rem !important; }

.sm {
  font-size: 1.2rem !important; }

.x-sm {
  font-size: 1rem !important; }

.spacer-8 {
  display: block;
  width: 100%;
  height: 8px !important; }

.spacer-10 {
  display: block;
  width: 100%;
  height: 12px !important; }

.spacer-20 {
  display: block;
  width: 100%;
  height: 16px !important; }

.spacer-30 {
  display: block;
  width: 100%;
  height: 20px !important; }

.spacer-40 {
  display: block;
  width: 100%;
  height: 32px !important; }

.spacer-60 {
  display: block;
  width: 100%;
  height: 40px !important; }

.spacer-80 {
  display: block;
  width: 100%;
  height: 44px !important; }

.spacer-120 {
  display: block;
  width: 100%;
  height: 60px !important; }

.spacer-160 {
  display: block;
  width: 100%;
  height: 80px !important; }

.gra {
  background: linear-gradient(135deg, #512da8, #15136f); }

.marker {
  background: linear-gradient(transparent 70%, #c7c7dd 0%); }

@media only screen and (min-width: 640px) {
  body, input, textarea, select, button {
    font-size: 1.5rem; }

  .xx-lg {
    font-size: 3rem !important; }

  .xx-lg-2 {
    font-size: 3rem !important; }

  .x-lg {
    font-size: 2.4rem !important; }

  .x-lg-2 {
    font-size: 2.4rem !important; }

  .lg {
    font-size: 1.8rem !important; }

  .lg-2 {
    font-size: 1.8rem !important; }

  .md {
    font-size: 1.5rem !important; }

  .sm {
    font-size: 1.3rem !important; }

  .x-sm {
    font-size: 1.1rem !important; }

  .spacer-10 {
    height: 14px !important; }

  .spacer-20 {
    height: 20px !important; }

  .spacer-30 {
    height: 26px !important; }

  .spacer-40 {
    height: 40px !important; }

  .spacer-60 {
    height: 52px !important; }

  .spacer-80 {
    height: 66px !important; }

  .spacer-120 {
    height: 90px !important; }

  .spacer-160 {
    height: 120px !important; } }
@media only screen and (min-width: 960px) {
  body, input, textarea, select, button {
    font-size: 1.6rem; }

  .xx-lg {
    font-size: 3.6rem !important; }

  .xx-lg-2 {
    font-size: 3.6rem !important; }

  .x-lg {
    font-size: 2.8rem !important; }

  .x-lg-2 {
    font-size: 2.8rem !important; }

  .lg {
    font-size: 2rem !important; }

  .lg-2 {
    font-size: 2rem !important; }

  .md {
    font-size: 1.6rem !important; }

  .sm {
    font-size: 1.4rem !important; }

  .x-sm {
    font-size: 1.2rem !important; }

  .spacer-10 {
    height: 16px !important; }

  .spacer-20 {
    height: 24px !important; }

  .spacer-30 {
    height: 32px !important; }

  .spacer-40 {
    height: 48px !important; }

  .spacer-60 {
    height: 64px !important; }

  .spacer-80 {
    height: 88px !important; }

  .spacer-120 {
    height: 120px !important; }

  .spacer-160 {
    height: 160px !important; } }
@media only screen and (min-width: 1280px) {
  .xx-lg-2 {
    font-size: 4.2rem !important; }

  .x-lg-2 {
    font-size: 3.2rem !important; }

  .lg-2 {
    font-size: 2.2rem !important; } }
@media (hover: hover) {
  .hover-48 {
    transition: all .4s; }
    .hover-48:hover {
      opacity: .48; }

  .hover-64 {
    transition: all .4s; }
    .hover-64:hover {
      opacity: .64; } }
/*//////////////////////////////////////////////////
ローディング
//////////////////////////////////////////////////*/
#loading_cover {
  position: fixed;
  z-index: 100;
  left: 0;
  top: 0;
  width: 100%;
  min-width: 375px;
  height: 100vh;
  background-color: #fff;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }
  #loading_cover .loading-logo {
    display: none;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center; }
    #loading_cover .loading-logo img:nth-of-type(1) {
      width: 120px;
      height: auto; }
    #loading_cover .loading-logo span {
      display: block;
      width: 1px;
      height: 20px;
      background-color: rgba(21, 19, 111, 0.48);
      margin: 0 20px; }
    #loading_cover .loading-logo img:nth-of-type(2) {
      width: 15px;
      height: auto; }

@media only screen and (min-width: 640px) {
  #loading_cover .loading-logo img:nth-of-type(1) {
    width: 180px; }
  #loading_cover .loading-logo span {
    height: 26px;
    margin: 0 26px; }
  #loading_cover .loading-logo img:nth-of-type(2) {
    width: 23px; } }
@media only screen and (min-width: 960px) {
  #loading_cover .loading-logo img:nth-of-type(1) {
    width: 240px; }
  #loading_cover .loading-logo span {
    height: 32px;
    margin: 0 32px; }
  #loading_cover .loading-logo img:nth-of-type(2) {
    width: 30px; } }
/*//////////////////////////////////////////////////
共通レイアウト
//////////////////////////////////////////////////*/
.title-layout {
  display: inline-block;
  line-height: 1.7;
  padding: 12px 16px;
  margin: 0 0 32px; }

.btn-1 a {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
  padding: 16px 58px;
  width: 100%;
  border-radius: 80px;
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  box-sizing: border-box; }
  .btn-1 a::after {
    content: '';
    display: block;
    background-image: url("../img/common/common_icon-exlink.png");
    width: 18px;
    height: 18px;
    background-size: cover;
    position: absolute;
    z-index: 1;
    right: 20px;
    top: 50%;
    transform: translate(0, -55%); }

.wrap-youtube {
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  padding: 0 0 56.25%;
  height: 0;
  overflow: hidden; }
  .wrap-youtube iframe {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }

#pagetop {
  position: fixed;
  z-index: 10;
  right: 8%;
  bottom: 8vw;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  overflow: hidden;
  background-color: #15136f;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all .4s; }
  #pagetop::before {
    content: '';
    display: block;
    background-image: url("../img/common/common_arrow-white.png");
    width: 6px;
    height: 9px;
    background-size: cover;
    transform: rotate(-90deg);
    transition: opacity .4s;
    position: relative;
    z-index: 1;
    left: 0;
    top: -1px; }

@media only screen and (min-width: 640px) {
  .title-layout {
    padding: 14px 20px;
    margin: 0 0 40px; }

  .btn-1 a {
    padding: 20px 70px; }
    .btn-1 a::after {
      right: 26px; }

  #pagetop {
    right: 6%;
    bottom: 6vw;
    width: 40px;
    height: 40px; }
    #pagetop::before {
      width: 6.5px;
      height: 9.75px;
      background-size: cover;
      top: -1.5px; } }
@media only screen and (min-width: 960px) {
  .title-layout {
    padding: 16px 24px;
    margin: 0 0 48px; }

  .btn-1 a {
    padding: 24px 82px; }
    .btn-1 a::after {
      right: 32px; }

  #pagetop {
    right: 4%;
    bottom: 48px;
    width: 40px;
    height: 40px; }
    #pagetop::before {
      content: '';
      display: block;
      background-image: url("../img/common/common_arrow-white.png");
      width: 7px;
      height: 10.5px;
      background-size: cover;
      transform: rotate(-90deg);
      transition: opacity .4s;
      position: relative;
      z-index: 1;
      left: 0;
      top: -2px; } }
@media (hover: hover) {
  .btn-1 a:hover {
    box-shadow: 0 0 18px 6px rgba(21, 19, 111, 0.32); }

  #pagetop:hover::before {
    opacity: .48; } }
/*//////////////////////////////////////////////////
フッター
//////////////////////////////////////////////////*/
footer .outline {
  padding: 60px 0; }
  footer .outline .inner {
    width: 84%;
    max-width: 900px;
    margin: 0 auto; }
    footer .outline .inner h3 {
      margin: 0 0 12px; }
    footer .outline .inner p {
      margin: 0 0 32px; }
    footer .outline .inner .btn-1 {
      margin: 40px 0 0; }
    footer .outline .inner .deadline {
      margin: 12px 0 0;
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      align-items: center; }
footer .sponsor {
  padding: 40px 0; }
  footer .sponsor .gold-2 {
    width: 84%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 32px; }
    footer .sponsor .gold-2 a {
      display: block;
      width: 100%;
      max-width: 200px; }
      footer .sponsor .gold-2 a img {
        width: 100%;
        height: auto; }
  footer .sponsor .gold, footer .sponsor .silver, footer .sponsor .bnr {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center; }
    footer .sponsor .gold a, footer .sponsor .silver a, footer .sponsor .bnr a {
      display: block;
      width: 234px;
      margin: 12px; }
      footer .sponsor .gold a img, footer .sponsor .silver a img, footer .sponsor .bnr a img {
        width: 100%;
        height: auto; }
  footer .sponsor .silver a {
    width: 128px; }
  footer .sponsor .bnr a {
    width: 100px; }
footer .copy {
  padding: 32px;
  text-align: center;
  background-color: #f0f0f0; }

@media only screen and (min-width: 640px) {
  footer .outline {
    padding: 90px 0; }
    footer .outline .inner {
      width: 88%; }
      footer .outline .inner h3 {
        margin: 0 0 14px; }
      footer .outline .inner p {
        margin: 0 0 40px; }
      footer .outline .inner .btn-1 {
        margin: 52px 0 0; }
      footer .outline .inner .deadline {
        margin: 14px 0 0; }
  footer .sponsor {
    padding: 52px 0; }
    footer .sponsor a {
      margin: 14px; }
    footer .sponsor .gold-2 {
      width: 88%;
      gap: 40px; }
      footer .sponsor .gold-2 a {
        margin: 0; }
  footer .copy {
    padding: 40px; } }
@media only screen and (min-width: 960px) {
  footer .outline {
    padding: 120px 0; }
    footer .outline .inner {
      width: 92%; }
      footer .outline .inner h3 {
        margin: 0 0 16px; }
      footer .outline .inner p {
        margin: 0 0 48px; }
      footer .outline .inner .btn-1 {
        margin: 64px 0 0; }
      footer .outline .inner .deadline {
        margin: 16px 0 0; }
  footer .sponsor {
    padding: 64px 0; }
    footer .sponsor a {
      margin: 16px; }
    footer .sponsor .gold-2 {
      width: 92%;
      gap: 48px; }
      footer .sponsor .gold-2 a {
        margin: 0; }
  footer .copy {
    padding: 48px; } }
@media (hover: hover) {
  footer .sponsor a:hover {
    opacity: .64; } }
/*//////////////////////////////////////////////////
フロントページ
//////////////////////////////////////////////////*/
.front-page .hero .txt-wrap {
  padding: 32px 0; }
  .front-page .hero .txt-wrap .logos {
    width: 84%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center; }
    .front-page .hero .txt-wrap .logos .logo-1 {
      width: 120px;
      height: auto; }
      .front-page .hero .txt-wrap .logos .logo-1 img {
        width: 100%;
        height: auto; }
    .front-page .hero .txt-wrap .logos span {
      display: block;
      width: 1px;
      height: 20px;
      background-color: #fff;
      opacity: .48;
      margin: 0 20px; }
    .front-page .hero .txt-wrap .logos .logo-2 {
      width: 15px;
      height: auto; }
      .front-page .hero .txt-wrap .logos .logo-2 img {
        width: 100%;
        height: auto; }
  .front-page .hero .txt-wrap .devider {
    display: block;
    width: 84%;
    height: 1px;
    background-color: #fff;
    opacity: .24;
    margin: 32px auto 20px; }
  .front-page .hero .txt-wrap .btn {
    display: none; }
  .front-page .hero .txt-wrap .txt {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center; }
    .front-page .hero .txt-wrap .txt .txt-inner {
      line-height: 1.7;
      display: inline-block; }
      .front-page .hero .txt-wrap .txt .txt-inner p {
        margin: 16px 0 0; }
.front-page .intro {
  width: 84%;
  padding: 60px 0;
  margin: 0 auto;
  text-align: center;
  opacity: 0;
  transform: translate(0, 60px);
  transition: all 2.4s; }
  .front-page .intro.active {
    opacity: 1;
    transform: translate(0, 0); }
  .front-page .intro h2 {
    line-height: 1.7; }
    .front-page .intro h2 .txt span {
      font-size: 3.6rem; }
  .front-page .intro p {
    margin: 20px 0 0; }
.front-page .movie {
  max-width: 900px;
  margin: 0 auto 60px; }
.front-page .about {
  width: 84%;
  max-width: 900px;
  padding: 0 0 60px;
  margin: 0 auto; }
.front-page .guests {
  width: 84%;
  padding: 0 0 60px;
  margin: 0 auto; }
  .front-page .guests .inner-2 .item-wrap .item {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    background-color: #f0f0f0;
    margin: 0 0 4px; }
    .front-page .guests .inner-2 .item-wrap .item .img {
      width: 40%; }
    .front-page .guests .inner-2 .item-wrap .item .txt {
      width: 60%;
      padding: 12px;
      box-sizing: border-box; }
      .front-page .guests .inner-2 .item-wrap .item .txt p {
        line-height: 1.7; }
  .front-page .guests .inner-2 .item-wrap .item:last-of-type {
    margin: 0; }
.front-page .schedule {
  padding: 60px 0;
  background-color: #f0f0f0; }
  .front-page .schedule .inner {
    width: 84%;
    max-width: 900px;
    margin: 0 auto; }
    .front-page .schedule .inner .title {
      margin: 0 0 32px; }
      .front-page .schedule .inner .title h2 {
        display: inline-block;
        margin: 0 12px 12px 0; }
      .front-page .schedule .inner .title p {
        display: inline-block; }
    .front-page .schedule .inner table {
      width: 100%;
      border: solid 1px #f0f0f0; }
      .front-page .schedule .inner table tr th, .front-page .schedule .inner table tr td {
        width: 50%;
        padding: 12px;
        vertical-align: middle;
        text-align: center;
        line-height: 1.4;
        background-color: #fff;
        border: solid 1px #f0f0f0;
        margin: 12px 0 0; }
      .front-page .schedule .inner table tr th {
        padding: 16px 12px 24px; }
      .front-page .schedule .inner table tr .flex-cell {
        text-align: left; }
        .front-page .schedule .inner table tr .flex-cell span {
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          align-items: center; }
      .front-page .schedule .inner table tr .flex-cell-2 {
        line-height: 2;
        text-align: center; }
        .front-page .schedule .inner table tr .flex-cell-2 .x-sm {
          line-height: 1.7;
          text-align: left;
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          align-items: center;
          margin: 0 0 8px; }
      .front-page .schedule .inner table tr .cell-1 {
        line-height: 2; }
      .front-page .schedule .inner table .back {
        background: linear-gradient(135deg, #512da8, #15136f); }
      .front-page .schedule .inner table .back-gray {
        background-color: #fafafa; }
      .front-page .schedule .inner table .date {
        display: block;
        width: 100%;
        /*margin: 0 0 16px;*/
        margin: 8px 0 0; }
      .front-page .schedule .inner table .btn-1 {
        padding: 8px 40px;
        margin: 0;
        background-color: #fff;
        color: #15136f;
        border-radius: 20px;
        position: relative;
        z-index: 1;
        left: 0;
        top: 0; }
        .front-page .schedule .inner table .btn-1::after {
          content: '';
          display: block;
          background-image: url("../img/common/common_arrow-navy.png");
          width: 8px;
          height: 12px;
          background-size: cover;
          position: absolute;
          z-index: 1;
          right: 12px;
          top: 50%;
          transform: translate(0, -50%); }
        .front-page .schedule .inner table .btn-1.off {
          background-color: #f0f0f0;
          color: #bdbdbd; }
          .front-page .schedule .inner table .btn-1.off::after {
            display: none; }
    .front-page .schedule .inner table.pc {
      display: none; }
    .front-page .schedule .inner table:first-of-type {
      margin: 0; }
.front-page .deadline {
  margin: 12px 0 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }

@media only screen and (min-width: 480px) {
  .front-page .guests .inner-2 .item-wrap .item .img {
    width: 25%; }
  .front-page .guests .inner-2 .item-wrap .item .txt {
    width: 75%; } }
@media only screen and (min-width: 640px) {
  .front-page .hero .txt-wrap {
    padding: 40px 0; }
    .front-page .hero .txt-wrap .logos {
      width: 88%; }
      .front-page .hero .txt-wrap .logos .logo-1 {
        width: 180px; }
      .front-page .hero .txt-wrap .logos span {
        height: 26px;
        margin: 0 26px; }
      .front-page .hero .txt-wrap .logos .logo-2 {
        width: 23px; }
    .front-page .hero .txt-wrap .devider {
      width: 88%;
      margin: 40px auto 26px; }
    .front-page .hero .txt-wrap .txt .txt-inner p {
      margin: 20px 0 0; }
  .front-page .intro {
    width: 88%;
    padding: 90px 0;
    transform: translate(0, 90px); }
    .front-page .intro h2 .txt {
      display: inline-block;
      position: relative;
      z-index: 1;
      left: 0;
      top: 0; }
      .front-page .intro h2 .txt span {
        font-size: 4.2rem; }
      .front-page .intro h2 .txt::before, .front-page .intro h2 .txt::after {
        content: '';
        display: block;
        background-image: url("../img/common/common_line-1.png");
        width: 120px;
        height: 1px;
        background-size: cover;
        position: absolute;
        z-index: 1;
        left: 0;
        top: 50%;
        transform: translate(-160px, -50%); }
      .front-page .intro h2 .txt::after {
        left: auto;
        right: 0;
        transform: translate(160px, -50%) scale(-1, 1); }
    .front-page .intro p {
      margin: 26px 0 0; }
  .front-page .movie {
    margin: 0 auto 90px; }
  .front-page .about {
    width: 88%;
    padding: 0 0 90px; }
  .front-page .guests {
    width: 88%;
    padding: 0 0 90px; }
    .front-page .guests .inner-2 .item-wrap .item {
      margin: 0 0 6px; }
      .front-page .guests .inner-2 .item-wrap .item .img {
        width: 20%; }
      .front-page .guests .inner-2 .item-wrap .item .txt {
        width: 80%;
        padding: 14px; }
  .front-page .schedule {
    padding: 90px 0; }
    .front-page .schedule .inner {
      width: 88%; }
      .front-page .schedule .inner .title {
        margin: 0 0 40px; }
        .front-page .schedule .inner .title h2 {
          margin: 0 18px 12px 0; }
      .front-page .schedule .inner table tr th, .front-page .schedule .inner table tr td {
        padding: 18px; }
      .front-page .schedule .inner table tr th {
        padding: 24px 18px 32px; }
      .front-page .schedule .inner table tr .flex-cell-2 .x-sm {
        margin: 0 0 10px; }
      .front-page .schedule .inner table .date {
        /*margin: 0 0 18px;*/
        margin: 10px 0 0; }
  .front-page .deadline {
    margin: 14px 0 0; } }
@media only screen and (min-width: 960px) {
  .front-page .hero {
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    .front-page .hero .txt-wrap {
      padding: 4vw;
      background: none;
      position: absolute;
      z-index: 2;
      left: 0;
      top: 0;
      width: 100vw;
      height: 100vh;
      box-sizing: border-box; }
      .front-page .hero .txt-wrap .logos {
        width: 100%;
        justify-content: flex-start; }
        .front-page .hero .txt-wrap .logos .logo-1 {
          width: 240px; }
        .front-page .hero .txt-wrap .logos span {
          background-color: #15136f;
          height: 32px;
          margin: 0 32px; }
        .front-page .hero .txt-wrap .logos .logo-2 {
          width: 30px; }
      .front-page .hero .txt-wrap .devider {
        width: 100%;
        background-color: #15136f;
        margin: 4vw 0 0; }
      .front-page .hero .txt-wrap .btn {
        display: block;
        position: absolute;
        z-index: 1;
        right: 4vw;
        top: 4vw; }
        .front-page .hero .txt-wrap .btn a {
          line-height: 1;
          display: flex;
          flex-wrap: wrap;
          justify-content: center;
          align-items: center;
          width: 200px;
          height: 42px;
          border-radius: 21px;
          position: relative;
          z-index: 1;
          left: 0;
          top: 0;
          box-sizing: border-box; }
          .front-page .hero .txt-wrap .btn a::after {
            content: '';
            display: block;
            background-image: url("../img/common/common_icon-exlink.png");
            width: 12px;
            height: 12px;
            background-size: cover;
            position: absolute;
            z-index: 1;
            right: 20px;
            top: 50%;
            transform: translate(0, -55%); }
          .front-page .hero .txt-wrap .btn a:hover {
            box-shadow: 0 0 18px 6px rgba(21, 19, 111, 0.32); }
      .front-page .hero .txt-wrap .txt {
        position: absolute;
        z-index: 1;
        left: 25%;
        top: calc(50% + 4vw);
        transform: translate(-50%, -50%);
        width: 100%; }
        .front-page .hero .txt-wrap .txt .txt-inner {
          color: #15136f !important; }
          .front-page .hero .txt-wrap .txt .txt-inner p {
            margin: 24px 0 0; }
    .front-page .hero .img {
      height: 100vh;
      position: relative;
      z-index: 1;
      left: 0;
      top: 0; }
  .front-page .intro {
    width: 92%;
    padding: 120px 0;
    transform: translate(0, 120px); }
    .front-page .intro h2 .txt span {
      font-size: 4.8rem; }
    .front-page .intro p {
      margin: 32px 0 0; }
  .front-page .movie {
    margin: 0 auto 120px; }
  .front-page .about {
    width: 92%;
    padding: 0 0 120px; }
  .front-page .guests {
    width: 92%;
    padding: 0 0 120px; }
    .front-page .guests .inner-2 .item-wrap {
      display: flex;
      flex-wrap: wrap;
      justify-content: flex-start;
      align-items: stretch; }
      .front-page .guests .inner-2 .item-wrap .item {
        width: 49%;
        margin: 0 2% 2% 0; }
        .front-page .guests .inner-2 .item-wrap .item .img {
          width: 30%; }
        .front-page .guests .inner-2 .item-wrap .item .txt {
          width: 70%;
          padding: 16px; }
        .front-page .guests .inner-2 .item-wrap .item:nth-of-type(2n) {
          margin: 0 0 2%; }
  .front-page .schedule {
    padding: 120px 0; }
    .front-page .schedule .inner {
      width: 92%;
      max-width: 1200px; }
      .front-page .schedule .inner .title {
        margin: 0 0 48px; }
        .front-page .schedule .inner .title h2 {
          margin: 0 24px 12px 0; }
      .front-page .schedule .inner table {
        background: linear-gradient(135deg, #512da8, #15136f); }
        .front-page .schedule .inner table tr th, .front-page .schedule .inner table tr td {
          width: auto;
          max-width: 200px;
          padding: 24px; }
        .front-page .schedule .inner table tr th {
          padding: 32px 24px 40px; }
        .front-page .schedule .inner table tr .flex-cell-2 .x-sm {
          margin: 0 0 12px; }
        .front-page .schedule .inner table .date {
          /*margin: 0 0 20px;*/
          margin: 12px 0 0; }
        .front-page .schedule .inner table .back-no {
          background: none;
          color: #fff; }
      .front-page .schedule .inner table.sp {
        display: none; }
      .front-page .schedule .inner table.pc {
        display: table; } }
@media only screen and (min-width: 1280px) {
  .front-page .guests {
    width: 1200px; }
    .front-page .guests .inner-2 .item-wrap .item .img {
      width: 20%; }
    .front-page .guests .inner-2 .item-wrap .item .txt {
      width: 80%; }
  .front-page .schedule .inner {
    width: 1200px; }
  .front-page .deadline {
    margin: 16px 0 0; } }
@media (hover: hover) {
  .front-page .schedule .inner table .btn-1:hover {
    opacity: .48; }
  .front-page .schedule .inner table .btn-1.off:hover {
    opacity: 1; } }
/*//////////////////////////////////////////////////
固定ページ
//////////////////////////////////////////////////*/
.page-general .title .inner {
  width: 84%;
  margin: 0 auto;
  padding: 45px 0; }
  .page-general .title .inner h1 {
    margin: 12px 0 0; }
  .page-general .title .inner .btn-back {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 160px;
    height: 40px;
    border-radius: 20px;
    margin: 40px 0 0;
    background-color: #fff;
    color: #15136f;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0; }
    .page-general .title .inner .btn-back::after {
      content: '';
      display: block;
      background-image: url("../img/common/common_arrow-navy.png");
      width: 8px;
      height: 12px;
      background-size: cover;
      position: absolute;
      z-index: 1;
      left: 12px;
      top: 50%;
      transform: translate(0, -50%) scale(-1, 1); }
.page-general .content {
  width: 84%;
  max-width: 900px;
  margin: 0 auto;
  padding: 60px 0;
  border-bottom: solid 1px #bdbdbd; }
  .page-general .content.content-404 {
    border-bottom: none; }

@media only screen and (min-width: 640px) {
  .page-general .title .inner {
    width: 88%;
    padding: 66px 0; }
    .page-general .title .inner h1 {
      margin: 14px 0 0; }
    .page-general .title .inner .btn-back {
      margin: 66px 0 0; }
  .page-general .content {
    width: 88%;
    padding: 90px 0; } }
@media only screen and (min-width: 960px) {
  .page-general .title .inner {
    width: 92%;
    padding: 88px 0; }
    .page-general .title .inner h1 {
      margin: 16px 0 0; }
    .page-general .title .inner .btn-back {
      margin: 88px 0 0; }
  .page-general .content {
    width: 92%;
    padding: 120px 0; } }
@media only screen and (min-width: 1280px) {
  .page-general .title .inner {
    width: 1200px; } }
/*//////////////////////////////////////////////////
ブロックレイアウト
//////////////////////////////////////////////////*/
.use-block-layout h2 {
  font-size: 2.0rem;
  margin: 0 0 32px;
  letter-spacing: .2rem; }
.use-block-layout h3 {
  font-size: 1.6rem;
  margin: 0 0 12px;
  letter-spacing: .2rem; }
.use-block-layout em {
  font-style: italic; }
.use-block-layout sup {
  vertical-align: super;
  font-size: 1.0rem; }
.use-block-layout sub {
  vertical-align: sub;
  font-size: 1.0rem; }
.use-block-layout figcaption {
  line-height: 1.7;
  font-size: 1.0rem;
  width: 100%;
  text-align: right; }
.use-block-layout ol {
  line-height: 1.7;
  display: inline-block;
  text-align: left; }
  .use-block-layout ol li {
    list-style: none;
    counter-increment: cnt;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0;
    padding: 0 0 0 24px;
    margin: 8px 0 0; }
    .use-block-layout ol li:first-of-type {
      margin: 0; }
    .use-block-layout ol li::before {
      content: counter(cnt) ".　";
      display: inline-block;
      position: absolute;
      z-index: 1;
      left: 0;
      top: 0; }
  .use-block-layout ol ol {
    font-size: 1.2rem;
    display: block;
    margin: 8px 0 0; }
    .use-block-layout ol ol li {
      counter-increment: none; }
  .use-block-layout ol ul {
    font-size: 1.2rem;
    display: block;
    margin: 8px 0 0; }
    .use-block-layout ol ul li::before {
      top: 7px; }
.use-block-layout ul {
  line-height: 1.7;
  display: inline-block;
  text-align: left; }
  .use-block-layout ul li {
    list-style: none;
    position: relative;
    z-index: 1;
    left: 0;
    top: 0;
    padding: 0 0 0 14px;
    margin: 8px 0 0; }
    .use-block-layout ul li:first-of-type {
      margin: 0; }
    .use-block-layout ul li::before {
      content: '';
      display: inline-block;
      background-color: #333;
      width: 8px;
      height: 8px;
      border-radius: 50%;
      position: absolute;
      z-index: 1;
      left: 0;
      top: 8px; }
  .use-block-layout ul ol {
    font-size: 1.2rem;
    display: block;
    margin: 8px 0 0; }
  .use-block-layout ul ul {
    font-size: 1.2rem;
    display: block;
    margin: 8px 0 0; }
    .use-block-layout ul ul li::before {
      top: 7px; }
  .use-block-layout ul.attention li {
    padding: 0 0 0 18px; }
    .use-block-layout ul.attention li::before {
      content: '※';
      background: none;
      width: auto;
      height: auto;
      border-radius: 0;
      top: 0; }
  .use-block-layout ul.attention.sm li {
    padding: 0 0 0 16px; }
  .use-block-layout ul.attention.x-sm li {
    padding: 0 0 0 14px; }
.use-block-layout p a, .use-block-layout li a, .use-block-layout table a {
  color: #15136f;
  text-decoration: underline; }
.use-block-layout hr {
  width: 100%;
  border: none;
  border-top: solid 1px #bdbdbd; }
.use-block-layout .hr-half {
  width: 50%;
  margin: 0 auto; }
.use-block-layout .hr-quarter {
  width: 25%;
  margin: 0 auto; }
.use-block-layout .wp-block-image {
  max-width: 100%;
  height: auto; }
  .use-block-layout .wp-block-image img {
    max-width: 100%;
    height: auto; }
.use-block-layout .size-thumbnail {
  max-width: 50% !important; }
.use-block-layout .wp-block-gallery .blocks-gallery-grid {
  padding: 0;
  margin: 0; }
  .use-block-layout .wp-block-gallery .blocks-gallery-grid .blocks-gallery-item {
    padding: 0;
    margin: 1px; }
    .use-block-layout .wp-block-gallery .blocks-gallery-grid .blocks-gallery-item::before {
      content: none; }
.use-block-layout .wp-block-gallery .wp-element-caption {
  line-height: 1.7 !important;
  background: #fff !important;
  color: #333 !important;
  text-shadow: none !important;
  position: relative !important; }
.use-block-layout .wp-block-columns .wp-block-column .wp-block-image {
  margin: 0; }
.use-block-layout .wp-block-table {
  line-height: 1.7;
  width: 100%;
  font-size: 1.2rem; }
  .use-block-layout .wp-block-table tr {
    border-bottom: solid 1px #bdbdbd; }
    .use-block-layout .wp-block-table tr:first-of-type {
      border-top: solid 1px #bdbdbd; }
    .use-block-layout .wp-block-table tr td {
      vertical-align: top;
      padding: 12px 12px 12px 0;
      border: none; }
      .use-block-layout .wp-block-table tr td:first-of-type {
        width: 25%; }
.use-block-layout .wp-block-video {
  width: 100%; }
  .use-block-layout .wp-block-video video {
    outline: none; }
.use-block-layout .wrap-youtube {
  position: relative;
  z-index: 1;
  left: 0;
  top: 0;
  padding: 0 0 56.25%;
  height: 0;
  overflow: hidden; }
  .use-block-layout .wrap-youtube iframe {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%; }
.use-block-layout .movie-item .video-js {
  width: 100%;
  height: auto;
  outline: none; }
.use-block-layout .flex-txt {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center; }
.use-block-layout .only-pc {
  display: none; }
.use-block-layout .back-gray {
  background-color: #f0f0f0;
  padding: 20px 24px; }

@media only screen and (min-width: 640px) {
  .use-block-layout h2 {
    font-size: 2.4rem;
    margin: 0 0 40px; }
  .use-block-layout h3 {
    font-size: 1.8rem;
    margin: 0 0 14px; }
  .use-block-layout figcaption {
    font-size: 1.1rem; }
  .use-block-layout ol li {
    padding: 0 0 0 26px; }
  .use-block-layout ol ol {
    font-size: 1.3rem; }
  .use-block-layout ol ul {
    font-size: 1.3rem; }
    .use-block-layout ol ul li::before {
      top: 8px; }
  .use-block-layout ul li {
    padding: 0 0 0 16px; }
    .use-block-layout ul li::before {
      top: 9px; }
  .use-block-layout ul ol {
    font-size: 1.3rem; }
  .use-block-layout ul ul {
    font-size: 1.3rem; }
    .use-block-layout ul ul li::before {
      top: 8px; }
  .use-block-layout ul.attention li {
    padding: 0 0 0 20px; }
  .use-block-layout ul.attention.sm li {
    padding: 0 0 0 18px; }
  .use-block-layout ul.attention.x-sm li {
    padding: 0 0 0 16px; }
  .use-block-layout .size-thumbnail {
    max-width: 25% !important; }
  .use-block-layout .size-medium {
    max-width: 50% !important; }
  .use-block-layout .wp-block-table {
    font-size: 1.3rem; }
    .use-block-layout .wp-block-table tr td {
      padding: 14px 14px 14px 0; }
  .use-block-layout .only-sp {
    display: none; }
  .use-block-layout .only-pc {
    display: block; }
  .use-block-layout .back-gray {
    padding: 30px 36px; } }
@media only screen and (min-width: 960px) {
  .use-block-layout h2 {
    font-size: 2.8rem;
    margin: 0 0 48px; }
  .use-block-layout h3 {
    font-size: 2.0rem;
    margin: 0 0 16px; }
  .use-block-layout figcaption {
    font-size: 1.2rem; }
  .use-block-layout ol li {
    padding: 0 0 0 28px; }
  .use-block-layout ol ol {
    font-size: 1.4rem; }
  .use-block-layout ol ul {
    font-size: 1.4rem; }
    .use-block-layout ol ul li::before {
      top: 9px; }
  .use-block-layout ul li {
    padding: 0 0 0 18px; }
    .use-block-layout ul li::before {
      top: 10px; }
  .use-block-layout ul ol {
    font-size: 1.4rem; }
  .use-block-layout ul ul {
    font-size: 1.4rem; }
    .use-block-layout ul ul li::before {
      top: 9px; }
  .use-block-layout ul.attention li {
    padding: 0 0 0 22px; }
  .use-block-layout ul.attention.sm li {
    padding: 0 0 0 20px; }
  .use-block-layout ul.attention.x-sm li {
    padding: 0 0 0 18px; }
  .use-block-layout .wp-block-table {
    font-size: 1.4rem; }
    .use-block-layout .wp-block-table tr td {
      padding: 16px 16px 16px 0; }
  .use-block-layout .back-gray {
    padding: 40px 48px; } }
@media (hover: hover) {
  .use-block-layout p a, .use-block-layout li a, .use-block-layout table a {
    transition: opacity .4s; }
    .use-block-layout p a:hover, .use-block-layout li a:hover, .use-block-layout table a:hover {
      opacity: .48; } }
