@charset "UTF-8";
/* ----------------------------- リセット */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, var, b, i,
dl dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%;
}

/*body{line-height:1;}*/
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:before, blockquote:after,
q:before, q:after {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  vertical-align: baseline;
  background: transparent;
}

ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none;
}

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

img {
  vertical-align: top;
  /*font-size:0;*/
  line-height: 0;
}

sup {
  font-size: 8px;
}

em {
  font-style: normal;
}

/* ----------------------------- 全体 */
html {
  font-size: 62.5%;
}

body {
  font-size: 15px;
  font-size: 1.5rem;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 400;
  line-height: 200%;
  color: #28282A;
  background: #E2E2E2;
  position: relative;
  -webkit-text-size-adjust: 100%;
  letter-spacing: 1px;
  min-width: 1280px;
  word-break: break-all;
  font-feature-settings: "palt" 1;
}
body br {
  font-family: sans-serif;
}
body.is-kv1finish .l-nav,
body.is-kv1finish .l-fixed,
body.is-kv1finish .l-ticket {
  opacity: 1;
}

::-webkit-input-placeholder {
  color: #dbdbdb;
}

:-ms-input-placeholder {
  color: #dbdbdb;
}

::-moz-placeholder {
  color: #dbdbdb;
}

::-placeholder {
  color: #dbdbdb;
}

a {
  color: #2f9dd6;
  text-decoration: underline;
}
a:hover {
  color: #2f9dd6;
  text-decoration: none;
}
a, a img {
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
a:hover {
  opacity: 0.7;
  -ms-filter: "alpha(opacity=70)";
  filter: alpha(opacity=70);
}

@media screen and (min-width: 769px) {
  .sp-only {
    display: none !important;
  }
}
@media screen and (max-width: 768px) {
  .pc-only {
    display: none !important;
  }
}
img,
.bx-wrapper img {
  max-width: 100%;
  height: auto;
}

/*=======================================
ヘッダー
=========================================*/
.l-nav {
  position: fixed;
  right: 0;
  top: 20px;
  right: 13px;
  z-index: 9999;
  display: flex;
  justify-content: flex-end;
  opacity: 0;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
.l-nav ul {
  display: flex;
}
.l-nav li a,
.l-nav li .anchor {
  display: block;
  text-decoration: none;
  color: #28282A;
  font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 120%;
  font-style: italic;
  font-weight: 700;
  position: relative;
  padding-top: 20px;
  padding-bottom: 20px;
  cursor: pointer;
}
.l-nav li a:before,
.l-nav li .anchor:before {
  display: block;
  content: "";
  position: absolute;
  border-bottom: 1px solid #28282A;
  width: 0;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
  bottom: 16px;
}
.l-nav li a:hover,
.l-nav li .anchor:hover {
  opacity: 1;
}
.l-nav .link {
  margin-right: 28px;
}
.l-nav .link li a {
  padding-left: 15px;
  padding-right: 15px;
}
.l-nav .link li a:before {
  left: 15px;
}
.l-nav .link li a:hover:before {
  width: calc(100% - 15px * 2);
}
.l-nav .language li a,
.l-nav .language li .anchor {
  padding-left: 7px;
  padding-right: 7px;
}
.l-nav .language li a:before {
  left: 7px;
}
.l-nav .language li a:hover:before {
  width: calc(100% - 7px * 2);
}
.l-nav .language li .anchor:before {
  width: calc(100% - 7px * 2);
  left: 7px;
}

.l-fixed {
  position: fixed;
  top: 0;
  height: 100%;
  left: 36px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  z-index: 9999;
  opacity: 0;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
.l-fixed:before {
  display: block;
  content: "";
  border-right: 1px solid #28282A;
  height: 100px;
  margin-bottom: 50px;
}
.l-fixed ul {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.l-fixed li {
  margin-bottom: 20px;
}
.l-fixed li img {
  vertical-align: top;
}
.l-fixed p {
  font-size: 12px;
  font-size: 1.2rem;
  font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  line-height: 120%;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  text-orientation: upright;
  font-weight: 700;
  font-style: italic;
}

.l-ticket {
  position: absolute;
  right: 83px;
  bottom: 160px;
  z-index: 1999;
  cursor: pointer;
}
.l-ticket a {
  position: relative;
  display: block;
  -webkit-transition: none;
  transition: none;
}
.l-ticket a span {
  -webkit-transform: scale(1);
  transform: scale(1);
  -webkit-transition: 0.4s ease all;
  transition: 0.4s ease all;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.l-ticket a span:before {
  display: block;
  content: "";
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  background: url(../img/top/kv_icon1-txt.svg) no-repeat center;
  background-size: contain;
  animation: 9s linear infinite kvTicket;
}
@keyframes kvTicket {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(360deg);
  }
}
.l-ticket a img {
  -webkit-transition: 0.4s ease all;
  transition: 0.4s ease all;
  position: relative;
  top: 0;
}
.l-ticket a:hover {
  opacity: 1;
}
.l-ticket a:hover span {
  -webkit-transform: scale(1.15);
  transform: scale(1.15);
}
.l-ticket a:hover img {
  top: 5px;
}

/*=======================================
ローディング
=========================================*/
.l-loading {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 19999;
  background: #E2E2E2;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 100%;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
  opacity: 1;
}
.l-loading img {
  opacity: 0;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
  vertical-align: top;
}
.l-loading .progress {
  width: 100%;
  height: 12px;
  position: absolute;
  left: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  font-size: 18px;
  font-size: 1.8rem;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "リュウミン R-KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  opacity: 1;
}
.l-loading .progress .progressbar-text {
  font-size: 20px;
  font-size: 2rem;
  font-family: Urbanist, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-style: italic;
  letter-spacing: 3px;
  font-weight: 500;
  left: 50px !important;
  top: auto !important;
  bottom: 42px !important;
  -webkit-transform: translate(0, 0) !important;
  transform: translate(0, 0) !important;
  color: #28282A !important;
}
.l-loading .progress svg {
  width: 100%;
  height: 12px;
}
.l-loading.is-loading img {
  opacity: 1;
}

/*=======================================
ページタイトル
=========================================*/
/*=======================================
コンテンツ
=========================================*/
/*=======================================
フッター
=========================================*/
.l-footer {
  padding-bottom: 54px;
  position: relative;
  z-index: 9;
  background: #E2E2E2;
}
.l-footer__official {
  margin-bottom: 60px;
}
.l-footer__official a {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  display: block;
  text-align: center;
  text-decoration: none;
  font-size: 40px;
  font-size: 4rem;
  letter-spacing: 10px;
  padding: 85px 20px 75px;
  font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 700;
  line-height: 120%;
  position: relative;
  color: #28282A;
  background: transparent;
}
.l-footer__official a:hover {
  opacity: 1;
  background: linear-gradient(93.57deg, #B44545 16.25%, #7B9CAD 66.71%);
  color: #fff;
  border-top-color: #fff;
  border-bottom-color: #fff;
}
.l-footer__official a:hover .icon {
  border-color: #fff;
  background: url(../img/common/footer_official_icon1-white.svg) no-repeat center;
  background-size: 36px 36px;
}
.l-footer__official a:hover .icon img {
  opacity: 0;
}
.l-footer__official .icon {
  position: absolute;
  right: 0;
  bottom: -1px;
  border: 1px solid #28282A;
  line-height: 0;
}
.l-footer__official .icon img {
  vertical-align: middle;
}
.l-footer-wrap {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-left: 80px;
  padding-right: 80px;
}
.l-footer-wrap .pagetop {
  position: absolute;
  top: 0;
  right: 80px;
}
.l-footer-wrap .pagetop a {
  display: block;
  font-size: 18px;
  font-size: 1.8rem;
  font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  line-height: 200%;
  font-style: italic;
  font-weight: 600;
  padding-right: 40px;
  background: url(../img/common/icon_pagetop.svg) no-repeat right center;
  background-size: 25px 32px;
  color: #28282A;
  text-decoration: none;
}
.l-footer__sns {
  margin-bottom: 138px;
  width: 100%;
}
.l-footer__sns ul {
  display: flex;
  justify-content: center;
  align-items: center;
}
.l-footer__sns li {
  margin-left: 21px;
  margin-right: 21px;
  line-height: 100%;
}
.l-footer__sns li img {
  vertical-align: top;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
.l-footer__sns li a {
  display: block;
  background-position: center top;
  background-size: contain;
  background-repeat: no-repeat;
}
.l-footer__sns li a:hover {
  opacity: 1;
}
.l-footer__sns li a:hover img {
  opacity: 0;
}
.l-footer__sns li.instagram a:hover {
  background-image: url(../img/common/icon_sns-instagram-alt.svg);
}
.l-footer__sns li.facebook a:hover {
  background-image: url(../img/common/icon_sns-facebook-alt.svg);
}
.l-footer__sns li.twitter a:hover {
  background-image: url(../img/common/icon_sns-twitter-alt.svg);
}
.l-footer__logo {
  margin-left: 30px;
}
.l-footer__logo h1 {
  margin-bottom: 52px;
}
.l-footer__logo ul {
  display: flex;
  align-items: center;
}
.l-footer__logo li {
  margin-right: 40px;
}
.l-footer__copyright {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-direction: column;
}
.l-footer__copyright > div {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
.l-footer__copyright .benefit {
  margin-right: 20px;
}
.l-footer__copyright .achievement,
.l-footer__copyright .achievement a {
  display: flex;
  align-items: center;
}
.l-footer__copyright .achievement p {
  margin-left: 20px;
}
.l-footer__copyright .achievement p:first-child {
  margin-left: 0;
}
.l-footer__copyright .copyright {
  margin-top: 56px;
  text-align: right;
  font-size: 12px;
  font-size: 1.2rem;
  letter-spacing: 0.03em;
  font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 500;
  font-style: italic;
}

/* ----------------------------- タブレット（769～1024px） */
/* ----------------------------- スマホ（～768px） */
@media screen and (max-width: 768px) {
  body {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 180%;
    min-width: initial;
  }

  .l-nav__sp {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 8999;
    background: url(../img/common/nav_bg1.jpg) no-repeat center top;
    background-size: cover;
    padding: 82px 42px 24px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .l-nav__sp .wrap {
    overflow: auto;
  }
  .l-nav__sp .nav {
    margin-bottom: 38px;
  }
  .l-nav__sp .nav li {
    font-size: 28px;
    font-size: 2.8rem;
    font-weight: 700;
    font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
    letter-spacing: 0.3px;
    line-height: 150%;
    font-style: italic;
  }
  .l-nav__sp .nav li a {
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
    color: #28282A;
    text-decoration: none;
    line-height: 110%;
  }
  .l-nav__sp .nav li a span {
    display: inline-block;
    background: url(../img/common/arrow_1.svg) no-repeat right center;
    background-size: 18px 18px;
    padding-right: 26px;
  }
  .l-nav__sp .nav li li {
    font-size: 17px;
    font-size: 1.7rem;
    padding-left: 12px;
  }
  .l-nav__sp .nav li li a {
    padding-top: 8px;
    padding-bottom: 8px;
  }
  .l-nav__sp .sns {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 46px;
  }
  .l-nav__sp .sns li {
    margin-left: 15px;
    margin-right: 15px;
  }
  .l-nav__sp .language {
    display: flex;
    justify-content: center;
    align-items: center;
    font-style: italic;
    font-weight: 700;
    font-size: 15px;
    font-size: 1.5rem;
    letter-spacing: 0.3px;
    font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
    margin-bottom: 30px;
  }
  .l-nav__sp .language p {
    display: inline-block;
    background: url(../img/common/icon_language.svg) no-repeat left center;
    background-size: 16px 16px;
    padding-left: 33px;
  }
  .l-nav__sp .language a {
    text-decoration: none;
    color: #28282A;
  }
  .l-nav__sp .copyright {
    text-align: center;
    font-size: 9px;
    font-size: 0.9rem;
    letter-spacing: 0.3px;
    font-weight: 500;
    font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  }
  .l-nav__sp-btn {
    position: fixed;
    padding: 10px 15px;
    margin-right: -15px;
    right: 33px;
    top: 28px;
    z-index: 9999;
  }
  .l-nav__sp-btn span {
    display: block;
    width: 40px;
    height: 15px;
    position: relative;
  }
  .l-nav__sp-btn span:before, .l-nav__sp-btn span:after {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    border-top: 3px solid #28282A;
    -webkit-transition: 0.6s ease all;
    transition: 0.6s ease all;
  }
  .l-nav__sp-btn span:before {
    top: 0;
  }
  .l-nav__sp-btn span:after {
    bottom: 0;
  }
  .l-nav__sp-btn.is-open span:before {
    top: calc(50% - 2px);
    -webkit-transform: rotate(-25deg);
    transform: rotate(-25deg);
  }
  .l-nav__sp-btn.is-open span:after {
    bottom: calc(50% - 1px);
    -webkit-transform: rotate(25deg);
    transform: rotate(25deg);
  }

  .l-ticket {
    width: 80px;
    right: 38px;
    bottom: 38px;
  }

  .l-loading {
    padding-left: 30px;
    padding-right: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .l-footer-wrap .pagetop {
    text-align: center;
    top: -60px;
    right: 30px;
  }
  .l-footer-wrap .pagetop a {
    background-size: 17px 23px;
    background-position: center top;
    padding-top: 23px;
    padding-right: 0;
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 130%;
  }
  .l-footer__official {
    border-top: 0;
    border-bottom: 0;
    margin-bottom: 102px;
  }
  .l-footer__official a {
    background: linear-gradient(93.57deg, #B44545 16.25%, #7B9CAD 66.71%);
    font-size: 20px;
    font-size: 2rem;
    padding: 50px;
    line-height: 150%;
    color: #fff;
  }
  .l-footer__official .icon {
    border-color: #fff;
  }
  .l-footer__sns {
    margin-bottom: 64px;
  }
  .l-footer__sns li {
    margin-left: 12px;
    margin-right: 12px;
  }
  .l-footer__sns li img {
    width: 29px;
  }
  .l-footer__logo {
    margin-left: 0;
    width: 100%;
  }
  .l-footer__logo h1 {
    text-align: center;
    margin-bottom: 50px;
  }
  .l-footer__logo h1 img {
    width: 200px;
  }
  .l-footer__copyright > div {
    flex-wrap: wrap;
  }
  .l-footer__copyright .benefit img {
    width: 100px;
  }
  .l-footer__copyright .achievement p {
    margin-left: 13px;
  }
  .l-footer__copyright .achievement img {
    width: 54px;
  }
  .l-footer__copyright .logo {
    padding-top: 20px;
    margin-top: 30px;
    border-top: 1px solid #000;
    display: flex;
    justify-content: space-between;
    width: 100%;
  }
  .l-footer__copyright .copyright {
    text-align: center;
    font-size: 10px;
    font-size: 1rem;
    line-height: 100%;
    text-transform: uppercase;
    margin-top: 30px;
  }
}
/*=======================================
ページ
=========================================*/
.u-mt0 {
  margin-top: 0px !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-mt60 {
  margin-top: 60px !important;
}

.u-mt70 {
  margin-top: 70px !important;
}

.u-mt80 {
  margin-top: 80px !important;
}

.u-mt90 {
  margin-top: 90px !important;
}

.u-mb0 {
  margin-bottom: 0px !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-mb90 {
  margin-bottom: 90px !important;
}

.u-pt0 {
  padding-top: 0px !important;
}

.u-pt5 {
  padding-top: 5px !important;
}

.u-pt10 {
  padding-top: 10px !important;
}

.u-pt15 {
  padding-top: 15px !important;
}

.u-pt20 {
  padding-top: 20px !important;
}

.u-pt25 {
  padding-top: 25px !important;
}

.u-pt30 {
  padding-top: 30px !important;
}

.u-pt40 {
  padding-top: 40px !important;
}

.u-pt50 {
  padding-top: 50px !important;
}

.u-pt60 {
  padding-top: 60px !important;
}

.u-pt70 {
  padding-top: 70px !important;
}

.u-pt80 {
  padding-top: 80px !important;
}

.u-pt90 {
  padding-top: 90px !important;
}

.u-pb0 {
  padding-bottom: 0px !important;
}

.u-pb5 {
  padding-bottom: 5px !important;
}

.u-pb10 {
  padding-bottom: 10px !important;
}

.u-pb15 {
  padding-bottom: 15px !important;
}

.u-pb20 {
  padding-bottom: 20px !important;
}

.u-pb25 {
  padding-bottom: 25px !important;
}

.u-pb30 {
  padding-bottom: 30px !important;
}

.u-pb40 {
  padding-bottom: 40px !important;
}

.u-pb50 {
  padding-bottom: 50px !important;
}

.u-pb60 {
  padding-bottom: 60px !important;
}

.u-pb70 {
  padding-bottom: 70px !important;
}

.u-pb80 {
  padding-bottom: 80px !important;
}

.u-pb90 {
  padding-bottom: 90px !important;
}

.u-col {
  color: #B44545;
}
.u-col__red {
  color: #F33;
}
.u-col__blue {
  color: #36F;
}

.u-mincho {
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "リュウミン R-KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.u-gothic {
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}

.u-italic {
  font-style: italic;
}

.u-bold {
  font-style: bold;
}

.u-underline {
  font-style: underline;
}

.u-center {
  text-align: center !important;
}
.u-center th, .u-center td {
  text-align: center !important;
}

.u-right {
  text-align: right !important;
}
.u-right th, .u-right td {
  text-align: right !important;
}

.u-left {
  text-align: left !important;
}
.u-left th, .u-left td {
  text-align: left !important;
}

.u-top {
  vertical-align: top !important;
}
.u-top th, .u-top td {
  vertical-align: top !important;
}

.u-middle {
  vertical-align: middle !important;
}
.u-middle th, .u-middle td {
  vertical-align: middle !important;
}

.u-bottom {
  vertical-align: bottom !important;
}
.u-bottom th, .u-bottom td {
  vertical-align: bottom !important;
}

.u-indent {
  text-indent: -1em;
  padding-left: 1em;
}

.u-anchor {
  position: relative;
  margin-top: -70px;
  padding-top: 70px;
}

.c-wrap {
  max-width: 1700px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 40px;
  padding-right: 40px;
}

.c-wrap-separate {
  padding-left: 90px;
  padding-right: 90px;
}

.u-bg1 {
  background: #f6f6f6;
}

.c-separate1 {
  border-bottom: 1px solid #efefef;
  padding-bottom: 60px;
  margin-bottom: 60px;
}

.c-table1 table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 3px;
}
.c-table1 th,
.c-table1 td {
  line-height: 150%;
  padding: 15px 25px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  vertical-align: middle;
}
.c-table1 th {
  font-size: 20px;
  font-size: 2rem;
  background: #4fb3af;
  width: 228px;
  text-align: center;
  color: #fff;
  letter-spacing: 0.1em;
}
.c-table1 td {
  font-size: 16px;
  font-size: 1.6rem;
  background: #fff;
}

.c-table__nostyle {
  width: 100%;
}
.c-table__nostyle th, .c-table__nostyle td {
  padding: 2px 0 !important;
  border: 0;
  font-weight: normal;
  text-align: left;
  vertical-align: top;
  background: transparent;
}

.js-tab__content {
  display: none;
}
.js-tab__content.is-active {
  display: block;
}

.u-googlemap-wrap {
  position: relative;
  padding-bottom: 67.3462%;
  height: 0;
  overflow: hidden;
}
.u-googlemap-wrap iframe,
.u-googlemap-wrap object,
.u-googlemap-wrap embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.u-googlecalendar-wrap {
  position: relative;
  padding-bottom: 100%;
  height: 0;
  overflow: hidden;
}
.u-googlecalendar-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.u-youtube-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.u-youtube-wrap iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}

.js-animateMask {
  -webkit-transition: 0.6s ease-in-out clip-path;
  transition: 0.6s ease-in-out clip-path;
  clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
}
.js-animateMask.is--animate {
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
}

/* フェードインしながら少し上へ */
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.js-animate {
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
}
.js-animate.is--animate {
  -webkit-animation: fadeInUp 0.8s 1 ease-in-out;
  animation: fadeInUp 0.8s 1 ease-in-out;
  -webkit-animation-fill-mode: backwards;
  animation-fill-mode: backwards;
  opacity: 1;
  -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
}
.js-animate--delay1 {
  -webkit-animation-delay: 0.1s !important;
  animation-delay: 0.1s !important;
}
.js-animate--delay2 {
  -webkit-animation-delay: 0.2s !important;
  animation-delay: 0.2s !important;
}
.js-animate--delay3 {
  -webkit-animation-delay: 0.3s !important;
  animation-delay: 0.3s !important;
}
.js-animate--delay4 {
  -webkit-animation-delay: 0.4s !important;
  animation-delay: 0.4s !important;
}
.js-animate--delay5 {
  -webkit-animation-delay: 0.5s !important;
  animation-delay: 0.5s !important;
}
.js-animate--delay6 {
  -webkit-animation-delay: 0.6s !important;
  animation-delay: 0.6s !important;
}
.js-animate--delay7 {
  -webkit-animation-delay: 0.7s !important;
  animation-delay: 0.7s !important;
}
.js-animate--delay8 {
  -webkit-animation-delay: 0.8s !important;
  animation-delay: 0.8s !important;
}
.js-animate--delay9 {
  -webkit-animation-delay: 0.9s !important;
  animation-delay: 0.9s !important;
}
.js-animate--delay10 {
  -webkit-animation-delay: 1s !important;
  animation-delay: 1s !important;
}
.js-animate--delay11 {
  -webkit-animation-delay: 1.1s !important;
  animation-delay: 1.1s !important;
}
.js-animate--delay12 {
  -webkit-animation-delay: 1.2s !important;
  animation-delay: 1.2s !important;
}
.js-animate--delay13 {
  -webkit-animation-delay: 1.3s !important;
  animation-delay: 1.3s !important;
}
.js-animate--delay14 {
  -webkit-animation-delay: 1.4s !important;
  animation-delay: 1.4s !important;
}
.js-animate--delay15 {
  -webkit-animation-delay: 1.5s !important;
  animation-delay: 1.5s !important;
}
.js-animate--delay16 {
  -webkit-animation-delay: 1.6s !important;
  animation-delay: 1.6s !important;
}
.js-animate--delay17 {
  -webkit-animation-delay: 1.7s !important;
  animation-delay: 1.7s !important;
}
.js-animate--delay18 {
  -webkit-animation-delay: 1.8s !important;
  animation-delay: 1.8s !important;
}
.js-animate--delay19 {
  -webkit-animation-delay: 1.9s !important;
  animation-delay: 1.9s !important;
}
.js-animate--delay20 {
  -webkit-animation-delay: 2s !important;
  animation-delay: 2s !important;
}
.js-animate--delay21 {
  -webkit-animation-delay: 2.1s !important;
  animation-delay: 2.1s !important;
}
.js-animate--delay22 {
  -webkit-animation-delay: 2.2s !important;
  animation-delay: 2.2s !important;
}
.js-animate--delay23 {
  -webkit-animation-delay: 2.3s !important;
  animation-delay: 2.3s !important;
}
.js-animate--delay24 {
  -webkit-animation-delay: 2.4s !important;
  animation-delay: 2.4s !important;
}
.js-animate--delay25 {
  -webkit-animation-delay: 2.5s !important;
  animation-delay: 2.5s !important;
}
.js-animate--delay26 {
  -webkit-animation-delay: 2.6s !important;
  animation-delay: 2.6s !important;
}
.js-animate--delay27 {
  -webkit-animation-delay: 2.7s !important;
  animation-delay: 2.7s !important;
}
.js-animate--delay28 {
  -webkit-animation-delay: 2.8s !important;
  animation-delay: 2.8s !important;
}
.js-animate--delay29 {
  -webkit-animation-delay: 2.9s !important;
  animation-delay: 2.9s !important;
}
.js-animate--delay30 {
  -webkit-animation-delay: 3s !important;
  animation-delay: 3s !important;
}
.js-animate--delay31 {
  -webkit-animation-delay: 3.1s !important;
  animation-delay: 3.1s !important;
}
.js-animate--delay32 {
  -webkit-animation-delay: 3.2s !important;
  animation-delay: 3.2s !important;
}
.js-animate--delay33 {
  -webkit-animation-delay: 3.3s !important;
  animation-delay: 3.3s !important;
}
.js-animate--delay34 {
  -webkit-animation-delay: 3.4s !important;
  animation-delay: 3.4s !important;
}
.js-animate--delay35 {
  -webkit-animation-delay: 3.5s !important;
  animation-delay: 3.5s !important;
}
.js-animate--delay36 {
  -webkit-animation-delay: 3.6s !important;
  animation-delay: 3.6s !important;
}
.js-animate--delay37 {
  -webkit-animation-delay: 3.7s !important;
  animation-delay: 3.7s !important;
}
.js-animate--delay38 {
  -webkit-animation-delay: 3.8s !important;
  animation-delay: 3.8s !important;
}
.js-animate--delay39 {
  -webkit-animation-delay: 3.9s !important;
  animation-delay: 3.9s !important;
}
.js-animate--delay40 {
  -webkit-animation-delay: 4s !important;
  animation-delay: 4s !important;
}
.js-animate--duration1 {
  -webkit-animation-duration: 0.1s !important;
  animation-duration: 0.1s !important;
}
.js-animate--duration2 {
  -webkit-animation-duration: 0.2s !important;
  animation-duration: 0.2s !important;
}
.js-animate--duration3 {
  -webkit-animation-duration: 0.3s !important;
  animation-duration: 0.3s !important;
}
.js-animate--duration4 {
  -webkit-animation-duration: 0.4s !important;
  animation-duration: 0.4s !important;
}
.js-animate--duration5 {
  -webkit-animation-duration: 0.5s !important;
  animation-duration: 0.5s !important;
}
.js-animate--duration6 {
  -webkit-animation-duration: 0.6s !important;
  animation-duration: 0.6s !important;
}
.js-animate--duration7 {
  -webkit-animation-duration: 0.7s !important;
  animation-duration: 0.7s !important;
}
.js-animate--duration8 {
  -webkit-animation-duration: 0.8s !important;
  animation-duration: 0.8s !important;
}
.js-animate--duration9 {
  -webkit-animation-duration: 0.9s !important;
  animation-duration: 0.9s !important;
}
.js-animate--duration10 {
  -webkit-animation-duration: 1s !important;
  animation-duration: 1s !important;
}
.js-animate--duration11 {
  -webkit-animation-duration: 1.1s !important;
  animation-duration: 1.1s !important;
}
.js-animate--duration12 {
  -webkit-animation-duration: 1.2s !important;
  animation-duration: 1.2s !important;
}
.js-animate--duration13 {
  -webkit-animation-duration: 1.3s !important;
  animation-duration: 1.3s !important;
}
.js-animate--duration14 {
  -webkit-animation-duration: 1.4s !important;
  animation-duration: 1.4s !important;
}
.js-animate--duration15 {
  -webkit-animation-duration: 1.5s !important;
  animation-duration: 1.5s !important;
}
.js-animate--duration16 {
  -webkit-animation-duration: 1.6s !important;
  animation-duration: 1.6s !important;
}
.js-animate--duration17 {
  -webkit-animation-duration: 1.7s !important;
  animation-duration: 1.7s !important;
}
.js-animate--duration18 {
  -webkit-animation-duration: 1.8s !important;
  animation-duration: 1.8s !important;
}
.js-animate--duration19 {
  -webkit-animation-duration: 1.9s !important;
  animation-duration: 1.9s !important;
}
.js-animate--duration20 {
  -webkit-animation-duration: 2s !important;
  animation-duration: 2s !important;
}
.js-animate--duration21 {
  -webkit-animation-duration: 2.1s !important;
  animation-duration: 2.1s !important;
}
.js-animate--duration22 {
  -webkit-animation-duration: 2.2s !important;
  animation-duration: 2.2s !important;
}
.js-animate--duration23 {
  -webkit-animation-duration: 2.3s !important;
  animation-duration: 2.3s !important;
}
.js-animate--duration24 {
  -webkit-animation-duration: 2.4s !important;
  animation-duration: 2.4s !important;
}
.js-animate--duration25 {
  -webkit-animation-duration: 2.5s !important;
  animation-duration: 2.5s !important;
}
.js-animate--duration26 {
  -webkit-animation-duration: 2.6s !important;
  animation-duration: 2.6s !important;
}
.js-animate--duration27 {
  -webkit-animation-duration: 2.7s !important;
  animation-duration: 2.7s !important;
}
.js-animate--duration28 {
  -webkit-animation-duration: 2.8s !important;
  animation-duration: 2.8s !important;
}
.js-animate--duration29 {
  -webkit-animation-duration: 2.9s !important;
  animation-duration: 2.9s !important;
}
.js-animate--duration30 {
  -webkit-animation-duration: 3s !important;
  animation-duration: 3s !important;
}
.js-animate--duration31 {
  -webkit-animation-duration: 3.1s !important;
  animation-duration: 3.1s !important;
}
.js-animate--duration32 {
  -webkit-animation-duration: 3.2s !important;
  animation-duration: 3.2s !important;
}
.js-animate--duration33 {
  -webkit-animation-duration: 3.3s !important;
  animation-duration: 3.3s !important;
}
.js-animate--duration34 {
  -webkit-animation-duration: 3.4s !important;
  animation-duration: 3.4s !important;
}
.js-animate--duration35 {
  -webkit-animation-duration: 3.5s !important;
  animation-duration: 3.5s !important;
}
.js-animate--duration36 {
  -webkit-animation-duration: 3.6s !important;
  animation-duration: 3.6s !important;
}
.js-animate--duration37 {
  -webkit-animation-duration: 3.7s !important;
  animation-duration: 3.7s !important;
}
.js-animate--duration38 {
  -webkit-animation-duration: 3.8s !important;
  animation-duration: 3.8s !important;
}
.js-animate--duration39 {
  -webkit-animation-duration: 3.9s !important;
  animation-duration: 3.9s !important;
}
.js-animate--duration40 {
  -webkit-animation-duration: 4s !important;
  animation-duration: 4s !important;
}

/* フェードインしながら少し右へ */
@-webkit-keyframes fadeInRight {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(-20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.js-animateFadeInRight {
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
}
.js-animateFadeInRight.is--animate {
  -webkit-animation: fadeInRight 0.8s 1 ease-in-out;
  animation: fadeInRight 0.8s 1 ease-in-out;
  -webkit-animation-fill-mode: backwards;
  animation-fill-mode: backwards;
  opacity: 1;
  -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
}

/* フェードインしながら少し左へ */
@-webkit-keyframes fadeInLeft {
  0% {
    opacity: 0;
    -webkit-transform: translateX(20px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateX(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(20px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.js-animateFadeInLeft {
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
}
.js-animateFadeInLeft.is--animate {
  -webkit-animation: fadeInLeft 0.8s 1 ease-in-out;
  animation: fadeInLeft 0.8s 1 ease-in-out;
  -webkit-animation-fill-mode: backwards;
  animation-fill-mode: backwards;
  opacity: 1;
  -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
}

/* フェードインしながら少し上へ */
@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translateY(40px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(40px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.js-animateFadeInUp {
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
}
.js-animateFadeInUp.is--animate {
  -webkit-animation: fadeInUp 0.8s 1 ease-in-out;
  animation: fadeInUp 0.8s 1 ease-in-out;
  -webkit-animation-fill-mode: backwards;
  animation-fill-mode: backwards;
  opacity: 1;
  -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
}

/* フェードインのみ */
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.js-animateFadeIn {
  opacity: 0;
  -ms-filter: "alpha(opacity=0)";
  filter: alpha(opacity=0);
}
.js-animateFadeIn.is--animate {
  -webkit-animation: fadeIn 0.8s 1 ease-in-out;
  animation: fadeIn 0.8s 1 ease-in-out;
  -webkit-animation-fill-mode: backwards;
  animation-fill-mode: backwards;
  opacity: 1;
  -ms-filter: "alpha(opacity=100)";
  filter: alpha(opacity=100);
}

/* ----------------------------- スマホ（～1040px） */
@media screen and (max-width: 1040px) {
  .c-table1 table,
  .c-table1 thead,
  .c-table1 tbody,
  .c-table1 tr,
  .c-table1 th,
  .c-table1 td {
    display: block;
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .c-table1 tr {
    margin-bottom: 3px;
  }
  .c-table1 tr:last-child {
    margin-bottom: 0;
  }
  .c-table1 th {
    text-align: left;
    font-size: 16px;
    font-size: 1.6rem;
  }

  [class*="c-wrap"] {
    padding-left: 20px;
    padding-right: 20px;
  }
  [class*="c-wrap"] [class*="c-wrap"] {
    padding-left: 0;
    padding-right: 0;
  }

  .js-table-xscroll__wrap {
    width: 100%;
    overflow-x: auto;
  }
  .js-table-xscroll__in {
    width: 1000px;
  }
}
/*=======================================
トップページ
=========================================*/
.p-top__kv {
  position: relative;
}
.p-top__kv .inner {
  overflow: hidden;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}
.p-top__kv .line1,
.p-top__kv .line2 {
  display: block;
  content: "";
  position: fixed;
  top: -38vw;
  right: -10.7vw;
  width: 0;
  height: 660px;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
  -webkit-transform: rotate(-36.2deg);
  transform: rotate(-36.2deg);
  transform-origin: right top;
}
.p-top__kv .line1 {
  background: #B44545;
  z-index: 1;
}
.is-kv .p-top__kv .line1 {
  width: 100%;
}
.p-top__kv .line2 {
  background: #61899D;
  z-index: 1;
}
.p-top__kv .view {
  height: 200vh;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 50vh;
}
.p-top__kv .mountain {
  position: sticky;
  width: 100%;
  height: 27.037vh;
  left: 0;
  bottom: 0;
  z-index: 8;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
  background: url(../img/top/kv_img1.png) no-repeat center top;
}
.p-top__kv.is-kv1 .line1 {
  width: 200%;
}
.p-top__kv.is-kv3 .line2 {
  width: 200%;
}
.p-top__kv-block1 .wrap {
  padding-left: 9vw;
  height: 100vh;
  position: sticky;
  left: 0;
  top: 0;
  z-index: 9;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.p-top__kv-block1 .i1,
.p-top__kv-block1 .i2 {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-size: 100% auto;
  z-index: 2;
  opacity: 0;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
.p-top__kv-block1 .i1 {
  background-position: center top;
}
.p-top__kv-block1 .i2 {
  background-position: center 40%;
}
.p-top__kv-block1 h1 {
  font-size: 101px;
  font-size: 10.1rem;
  line-height: 120%;
  font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 700;
  font-style: italic;
  margin-bottom: 6px;
}
.p-top__kv-block1 h1,
.p-top__kv-block1 h2 {
  position: relative;
  z-index: 4;
  opacity: 0;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
.p-top__kv-block1 p {
  font-size: 17px;
  font-size: 1.7rem;
  letter-spacing: 6px;
  display: flex;
  align-items: center;
  font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-style: italic;
  position: relative;
  z-index: 4;
  opacity: 0;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
.p-top__kv-block1 p img {
  margin-left: 40px;
}
.p-top__kv-block1 .icon1 {
  position: absolute;
  z-index: 19;
  left: 0;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
  width: 100%;
  text-align: center;
}
.p-top__kv-block1.block1 .i1 {
  background-image: url(../img/top/kv1_icon1.png);
}
.p-top__kv-block1.block1 .i2 {
  background-image: url(../img/top/kv1_icon2.png);
}
.p-top__kv-block1.block1 .wrap {
  padding-top: 9.224vw;
}
.p-top__kv-block1.block1.is-active .i1 {
  opacity: 1;
  transition-delay: 0.8s;
}
.p-top__kv-block1.block1.is-active .i2 {
  opacity: 1;
  transition-delay: 1.2s;
}
.p-top__kv-block1.block1.is-active h1,
.p-top__kv-block1.block1.is-active p {
  opacity: 1;
  transition-delay: 0.5s;
}
.p-top__kv-block1.block1 h1,
.p-top__kv-block1.block1 p,
.p-top__kv-block1.block1 .i1,
.p-top__kv-block1.block1 .i2 {
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
.p-top__kv-block1.block2 .i1 {
  background-image: url(../img/top/kv2_bg1.png);
}
.p-top__kv-block1.block2 .wrap {
  padding-top: 10.6149vw;
}
.p-top__kv-block1.block2 .icon1 {
  bottom: 16vh;
}
.p-top__kv-block1.block2.is-active .i1 {
  opacity: 1;
  transition-delay: 0.8s;
}
.p-top__kv-block1.block2.is-active h2 {
  opacity: 1;
  transition-delay: 0.5s;
}
.p-top__kv-block1.block2.is-active .icon1 {
  opacity: 1;
  transition-delay: 1.1s;
}
.p-top__kv-block1.block3 {
  margin-bottom: -15vh;
}
.p-top__kv-block1.block3 .i1 {
  background-image: url(../img/top/kv3_bg1.png);
}
.p-top__kv-block1.block3 .wrap {
  padding-top: 10.6149vw;
  height: 88vh;
}
.p-top__kv-block1.block3 .icon1 {
  bottom: 0;
}
.p-top__kv-block1.block3.is-active .i1 {
  opacity: 1;
  transition-delay: 0.8s;
}
.p-top__kv-block1.block3.is-active h2 {
  opacity: 1;
  transition-delay: 0.5s;
}
.p-top__kv-block1.block3.is-active .icon1 {
  opacity: 1;
  transition-delay: 1.1s;
}
.p-top__kv-block2 {
  position: relative;
  z-index: 29;
}
.p-top__kv-block2:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 100%;
  height: 50%;
  background: #E2E2E2;
  bottom: 0;
  z-index: 1;
}
.p-top__kv-block2 img {
  object-fit: contain;
  position: relative;
  z-index: 9;
}
.p-top-over {
  background: #E2E2E2;
  position: relative;
  z-index: 9;
}
.p-top-wrap {
  overflow: hidden;
}
.p-top__yakebi {
  padding-top: 566px;
  margin-bottom: 398px;
  background: url(../img/top/kv_img1.png) no-repeat center -27.037vh;
  position: relative;
}
.p-top__yakebi:before, .p-top__yakebi:after {
  display: block;
  content: "";
  position: absolute;
}
.p-top__yakebi:before {
  width: 0;
  height: 332px;
  top: 200px;
  right: -180px;
  background: #B44545;
  z-index: 1;
  -webkit-transform: rotate(-36.2deg);
  transform: rotate(-36.2deg);
  transform-origin: right top;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
  transition-delay: 0.5s;
}
.p-top__yakebi:after {
  right: 0;
  top: 25%;
  z-index: 8;
  background: url(../img/top/yakebi_bg1.png) no-repeat;
  width: 511px;
  height: 586px;
}
.p-top__yakebi.is--animate:before {
  width: 200%;
}
.p-top__yakebi > * {
  position: relative;
  z-index: 9;
}
.p-top__yakebi-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 140px;
}
.p-top__yakebi-heading .video {
  width: 52.0833%;
}
.p-top__yakebi-heading .video img,
.p-top__yakebi-heading .video video,
.p-top__yakebi-heading .video .js-movie {
  object-fit: cover;
  width: 100%;
  height: 640px;
}
@media screen and (min-width: 2050px) {
  .p-top__yakebi-heading .video .js-movie iframe.playerBox {
    -webkit-transform: scale(1.6);
    transform: scale(1.6);
  }
}
.p-top__yakebi-heading .box1 {
  width: 47.9167%;
  display: flex;
  justify-content: center;
}
.p-top__yakebi-heading .box1-wrap {
  max-width: 404px;
  margin-left: auto;
  margin-right: auto;
}
.p-top__yakebi-heading .box1 .h {
  margin-bottom: 100px;
  position: relative;
  margin-left: -75px;
}
.p-top__yakebi-heading .box1 .title {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
  font-size: 23px;
  font-size: 2.3rem;
  margin-bottom: 26px;
  font-weight: 400;
  text-align: center;
}
.p-top__yakebi-heading .box1 .title div {
  display: flex;
  align-items: flex-end;
  flex-direction: column;
}
.p-top__yakebi-heading .box1 .title span {
  padding: 3px 6px 0;
  padding-bottom: 0;
  display: inline-block;
  position: relative;
  z-index: 1;
  color: #fff;
  margin-bottom: 7px;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.p-top__yakebi-heading .box1 .title span:last-child {
  margin-bottom: 0;
}
.p-top__yakebi-heading .box1 .title span:before {
  display: block;
  content: "";
  position: absolute;
  background: #28282A;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
}
.p-top__yakebi-heading .box1 .txt1 {
  margin-bottom: 40px;
}
.p-top__yakebi-heading .box1 .spec {
  display: flex;
  padding-left: 17px;
}
.p-top__yakebi-heading .box1 .spec li {
  width: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 17px;
  padding-right: 25px;
}
.p-top__yakebi-heading .box1 .spec li + li {
  border-left: 1px solid #28282A;
  padding-left: 32px;
  padding-right: 0;
}
.p-top__yakebi-heading .box1 .spec li.degree p .no {
  margin-right: 5px;
}
.p-top__yakebi-heading .box1 .spec li.degree p .unit {
  vertical-align: text-bottom;
}
.p-top__yakebi-heading .box1 .spec h4 {
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 120%;
}
.p-top__yakebi-heading .box1 .spec p {
  text-align: right;
  font-family: Urbanist, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-style: italic;
}
.p-top__yakebi-heading .box1 .spec p .no {
  font-size: 25px;
  font-size: 2.5rem;
  letter-spacing: 3px;
  margin-right: 10px;
}
.p-top__yakebi-heading .box1 .spec p .unit {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
.p-top__yakebi-heading .box1 .note {
  margin-top: 52px;
  text-align: right;
  font-size: 10px;
  font-size: 1rem;
  letter-spacing: 1px;
}
.p-top__yakebi-heading .box1 .note a {
  color: #28282A;
  text-decoration: none;
}
.p-top__yakebi-heading .box1 .note a:hover {
  text-decoration: underline;
}
.p-top__yakebi-point {
  display: flex;
  align-items: center;
  position: relative;
}
.p-top__yakebi-point:after {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  bottom: -65%;
  z-index: -1;
  background: url(../img/top/yakebi_bg2.png) no-repeat;
  width: 1010px;
  height: 1249px;
}
.p-top__yakebi-point .t {
  width: 29.53%;
  text-align: center;
}
.p-top__yakebi-point .block1 {
  width: 70.47%;
}
.p-top__yakebi-point .img {
  display: flex;
  justify-content: space-between;
  margin-bottom: 66px;
}
.p-top__yakebi-point .img .i1 {
  width: 36.86%;
  padding-top: 162px;
}
.p-top__yakebi-point .img .i2 {
  width: 52.7017%;
}
.p-top__yakebi-point .img img {
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
.p-top__yakebi-point .txt1 {
  margin-right: 18.9489%;
  margin-left: auto;
  max-width: 480px;
}
.p-top__giant {
  margin-bottom: 258px;
  position: relative;
}
.p-top__giant:before, .p-top__giant:after {
  display: block;
  content: "";
  position: absolute;
}
.p-top__giant:before {
  width: 0;
  height: 332px;
  top: -320px;
  left: -180px;
  background: #61899D;
  z-index: 1;
  -webkit-transform: rotate(30deg);
  transform: rotate(30deg);
  transform-origin: left top;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
  transition-delay: 0.5s;
}
.p-top__giant:after {
  left: 0;
  top: -20%;
  z-index: 8;
  background: url(../img/top/giant_bg1.png) no-repeat;
  width: 452px;
  height: 794px;
}
.p-top__giant.is--animate:before {
  width: 200%;
}
.p-top__giant > * {
  position: relative;
  z-index: 9;
}
.p-top__giant-heading {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 90px;
  position: relative;
}
.p-top__giant-heading:after {
  display: block;
  content: "";
  position: absolute;
  right: 0;
  bottom: -50%;
  z-index: -1;
  background: url(../img/top/giant_bg2.png) no-repeat;
  width: 1145px;
  height: 1265px;
}
.p-top__giant-heading .h {
  width: 100%;
  padding-left: 12%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin-bottom: 100px;
}
.p-top__giant-heading .video {
  width: 52.0833%;
}
.p-top__giant-heading .video img,
.p-top__giant-heading .video video,
.p-top__giant-heading .video .js-movie {
  object-fit: cover;
  width: 100%;
  height: 640px;
}
.p-top__giant-heading .box1 {
  width: 47.9167%;
  display: flex;
  justify-content: center;
  padding-top: 17px;
}
.p-top__giant-heading .box1-wrap {
  max-width: 380px;
  margin-left: auto;
  margin-right: auto;
}
.p-top__giant-heading .box1 .title {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  font-size: 23px;
  font-size: 2.3rem;
  margin-bottom: 33px;
  font-weight: 400;
  text-align: center;
}
.p-top__giant-heading .box1 .title span {
  padding: 3px 6px 0;
  padding-bottom: 0;
  display: inline-block;
  position: relative;
  z-index: 1;
  color: #fff;
  margin-bottom: 7px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.p-top__giant-heading .box1 .title span:last-child {
  margin-bottom: 0;
}
.p-top__giant-heading .box1 .title span:before {
  display: block;
  content: "";
  position: absolute;
  background: #28282A;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
}
.p-top__giant-heading .box1 .txt1 {
  margin-bottom: 50px;
}
.p-top__giant-heading .box1 .spec {
  display: flex;
}
.p-top__giant-heading .box1 .spec li {
  width: 50%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding-left: 17px;
  padding-right: 25px;
}
.p-top__giant-heading .box1 .spec li + li {
  border-left: 1px solid #28282A;
  padding-left: 32px;
  padding-right: 0;
}
.p-top__giant-heading .box1 .spec li.degree p .no {
  margin-right: 5px;
}
.p-top__giant-heading .box1 .spec li.degree p .unit {
  vertical-align: text-bottom;
}
.p-top__giant-heading .box1 .spec h4 {
  font-weight: 400;
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 120%;
}
.p-top__giant-heading .box1 .spec p {
  text-align: right;
  font-family: Urbanist, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-style: italic;
}
.p-top__giant-heading .box1 .spec p .no {
  font-size: 25px;
  font-size: 2.5rem;
  letter-spacing: 3px;
  margin-right: 10px;
}
.p-top__giant-heading .box1 .spec p .unit {
  font-size: 16px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
.p-top__giant-heading .box1 .note {
  margin-top: 52px;
  text-align: right;
  font-size: 10px;
  font-size: 1rem;
  letter-spacing: 1px;
}
.p-top__giant-heading .box1 .note a {
  color: #28282A;
  text-decoration: none;
}
.p-top__giant-heading .box1 .note a:hover {
  text-decoration: underline;
}
.p-top__giant-point {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
}
.p-top__giant-point .t {
  width: 29.53%;
  text-align: right;
  padding-top: 40px;
  padding-right: 8vw;
}
.p-top__giant-point .block1 {
  width: 1010px;
}
.p-top__giant-point .img {
  display: flex;
  justify-content: space-between;
  margin-bottom: 55px;
}
.p-top__giant-point .img .i1 {
  width: 53.6633%;
}
.p-top__giant-point .img .i2 {
  width: 37.4257%;
  padding-top: 127px;
}
.p-top__giant-point .img img {
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
.p-top__giant-point .txt1 {
  margin-left: 12.8712%;
  max-width: 480px;
}
.p-top__lead {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  padding-bottom: 133px;
  position: relative;
}
.p-top__lead:before {
  display: block;
  content: "";
  position: absolute;
  z-index: 0;
  left: 0;
  top: -558px;
  width: 100%;
  height: calc(100% + 558px);
  background: url(../img/top/lead_bg1.png) no-repeat center top;
}
.p-top__lead > * {
  position: relative;
  z-index: 1;
}
.p-top__lead .en {
  font-size: 94px;
  font-size: 9.4rem;
  letter-spacing: 0.3px;
  font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 700;
  font-style: italic;
  line-height: 55%;
  color: #d9d9d9;
  opacity: 0.5;
  width: 100%;
  margin-left: -7px;
}
.p-top__lead .img1 {
  width: 67.8125%;
}
.p-top__lead .img1 img {
  height: 676px;
  object-fit: cover;
}
.p-top__lead .box1 {
  position: relative;
  margin-left: -6.1458vw;
  background: #28282A;
  padding: 45px 72px 40px 70px;
  color: #E3E3E3;
  margin-bottom: 66px;
  max-width: 487px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.p-top__lead .box1 .h {
  font-size: 28px;
  font-size: 2.8rem;
  letter-spacing: 0.1em;
  line-height: 160%;
  font-family: "Noto Serif JP", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "リュウミン R-KL", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  margin-bottom: 40px;
  font-weight: 400;
}
.p-top__lead .box1 p {
  font-size: 14px;
  font-size: 1.4rem;
  letter-spacing: 1px;
}
.p-top__ticket {
  background: #B44545;
  text-align: center;
}
.p-top__ticket a {
  display: block;
  padding-top: 164px;
  padding-bottom: 164px;
}
.p-top__ticket a:hover {
  opacity: 1;
}
.p-top__ticket a:hover img {
  opacity: 0;
}
.p-top__ticket a:hover li:before {
  opacity: 1;
}
.p-top__ticket img {
  vertical-align: top;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
.p-top__ticket li {
  position: relative;
}
.p-top__ticket li:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../img/top/ticket_txt1-black.svg) no-repeat center top;
  background-size: contain;
  opacity: 0;
  -webkit-transition: 0.6s ease all;
  transition: 0.6s ease all;
}
.p-top__information {
  padding-top: 83px;
  padding-bottom: 132px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-top__information .h {
  width: 100%;
  text-align: center;
  margin-bottom: 79px;
}
.p-top__information .map {
  width: 53.5416%;
}
.p-top__information .map iframe {
  vertical-align: top;
  filter: grayscale(1);
  width: 100%;
}
.p-top__information .box1 {
  padding-top: 20px;
  padding-left: 30px;
  padding-right: 30px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  width: 46.4584%;
}
.p-top__information .box1-wrap {
  max-width: 366px;
  margin-left: auto;
  margin-right: auto;
}
.p-top__information .box1 .t {
  font-size: 23px;
  font-size: 2.3rem;
  font-weight: 400;
  margin-bottom: 20px;
}
.p-top__information .box1 p {
  font-size: 13px;
  font-size: 1.3rem;
  line-height: 200%;
}
.p-top__information .box1 .access {
  margin-top: 28px;
}
.p-top__information .box1 .access .t {
  font-size: 18px;
  font-size: 1.8rem;
  font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 600;
  font-style: italic;
  margin-bottom: 10px;
}
.p-top__information .box1 .access p {
  line-height: 180%;
}
.p-top__information .box1 .access .tel {
  font-size: 15px;
  font-size: 1.5rem;
  display: flex;
  flex-wrap: wrap;
}
.p-top__information .box1 .access .tel a {
  text-decoration: none;
  color: #28282A;
  margin-right: 30px;
}
.p-top__information .box1 .access .tel img {
  vertical-align: middle;
  margin-left: 6px;
  margin-right: 6px;
}
.p-top__information .box1 .access .btn {
  margin-top: 40px;
}
.p-top__information .box1 .access .btn a {
  display: block;
  background: #28282A;
  color: #fff;
  text-decoration: none;
  text-align: center;
  font-family: "Josefin Sans", "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 500;
  font-style: italic;
  letter-spacing: 3px;
  text-align: center;
  padding: 15px 20px;
}
.p-top__information .box1 .access .btn span {
  display: inline-block;
  position: relative;
  padding-right: 80px;
}
.p-top__information .box1 .access .btn span:before {
  display: block;
  content: "";
  position: absolute;
  border-top: 1px solid #fff;
  width: 50px;
  top: 50%;
  right: 0;
}

/* ----------------------------- タブレット（769～1024px） */
/* ----------------------------- スマホ（～768px） */
@media screen and (max-width: 768px) {
  .p-top__kv .line1,
  .p-top__kv .line2 {
    top: -50px;
    right: 0;
    height: 280px;
  }
  .p-top__kv .mountain {
    top: 61vh;
    height: 39vh;
    background-size: auto 200px;
  }
  .p-top__kv .mountain:before {
    display: block;
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% - 200px);
    background-color: #E2E2E2;
  }
  .p-top__kv.is-kv .line1 {
    width: 280%;
  }
  .p-top__kv-block1 .wrap {
    padding-left: 30px;
  }
  .p-top__kv-block1 .i1,
  .p-top__kv-block1 .i2 {
    background-size: cover;
  }
  .p-top__kv-block1 h1 {
    font-size: 66px;
    font-size: 6.6rem;
    line-height: 120%;
  }
  .p-top__kv-block1 p {
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 150%;
  }
  .p-top__kv-block1 p img {
    width: 130px;
    margin-left: 20px;
  }
  .p-top__kv-block1.block1 .wrap {
    padding-top: 23.5vw;
  }
  .p-top__kv-block1.block1 .i1 {
    background-image: url(../img/top/kv1_icon1_sp.png);
  }
  .p-top__kv-block1.block1 .i2 {
    background-image: url(../img/top/kv1_icon2_sp.png);
  }
  .p-top__kv-block1.block2 .wrap {
    padding-top: 37vw;
  }
  .p-top__kv-block1.block2 .icon1 {
    top: 0;
    bottom: auto;
  }
  .p-top__kv-block1.block3 {
    margin-bottom: -27vh;
  }
  .p-top__kv-block1.block3 .wrap {
    padding-top: 37vw;
  }
  .p-top__kv-block1.block3 .icon1 {
    top: 0;
    bottom: auto;
  }
  .p-top__yakebi {
    background: none;
    padding-top: 140px;
    margin-bottom: 118px;
  }
  .p-top__yakebi:before {
    top: 0;
    height: 280px;
  }
  .p-top__yakebi:after {
    top: 55%;
    height: 720px;
  }
  .p-top__yakebi.is--animate:before {
    width: 250%;
  }
  .p-top__yakebi-heading {
    display: block;
  }
  .p-top__yakebi-heading .h {
    text-align: right;
    padding-right: 18px;
    margin-bottom: 58px;
  }
  .p-top__yakebi-heading .h img {
    width: 259px;
  }
  .p-top__yakebi-heading .video {
    width: auto;
    margin-bottom: 47px;
  }
  .p-top__yakebi-heading .video img,
  .p-top__yakebi-heading .video video,
  .p-top__yakebi-heading .video .js-movie {
    height: 96.8vw;
  }
  .p-top__yakebi-heading .box1 {
    display: block;
    width: auto;
    padding-left: 43px;
    padding-right: 43px;
    margin-bottom: 80px;
  }
  .p-top__yakebi-heading .box1 .title {
    font-size: 20px;
    font-size: 2rem;
    margin-bottom: 32px;
    align-items: flex-start;
  }
  .p-top__yakebi-heading .box1 .txt1 {
    margin-bottom: 30px;
  }
  .p-top__yakebi-heading .box1 .spec {
    padding-left: 0;
  }
  .p-top__yakebi-heading .box1 .note a {
    text-decoration: underline;
  }
  .p-top__yakebi-point {
    display: block;
  }
  .p-top__yakebi-point:after {
    display: none;
  }
  .p-top__yakebi-point .t {
    width: auto;
    position: absolute;
    top: 77.86vw;
    left: 8.8vw;
  }
  .p-top__yakebi-point .t img {
    width: 24px;
  }
  .p-top__yakebi-point .img {
    display: block;
    margin-bottom: 40px;
  }
  .p-top__yakebi-point .img .i1 {
    width: auto;
    padding-top: 0;
    margin-right: 53px;
    margin-bottom: 29px;
  }
  .p-top__yakebi-point .img .i2 {
    width: auto;
    margin-left: 23.4666vw;
  }
  .p-top__yakebi-point .txt1 {
    margin-right: 43px;
    margin-left: 23.4666vw;
    max-width: initial;
  }
  .p-top__yakebi-point .block1 {
    width: auto;
  }
  .p-top__giant {
    margin-bottom: 138px;
  }
  .p-top__giant:before {
    height: 280px;
    top: 10px;
  }
  .p-top__giant:after {
    display: none;
  }
  .p-top__giant.is--animate:before {
    width: 250%;
  }
  .p-top__giant-heading {
    display: block;
  }
  .p-top__giant-heading:after {
    width: 270%;
    bottom: -88%;
    background-position: right center;
    background-size: 80% auto;
  }
  .p-top__giant-heading .h {
    padding-left: 32px;
    margin-bottom: 60px;
  }
  .p-top__giant-heading .box1 {
    width: auto;
    padding-top: 0;
    padding-left: 43px;
    padding-right: 43px;
  }
  .p-top__giant-heading .video {
    margin-bottom: 40px;
    width: auto;
  }
  .p-top__giant-heading .video img,
  .p-top__giant-heading .video video,
  .p-top__giant-heading .video .js-movie {
    height: 96.8vw;
  }
  .p-top__giant-point {
    display: block;
  }
  .p-top__giant-point .t {
    width: auto;
    position: absolute;
    top: 77.86vw;
    right: 8.8vw;
    padding-top: 0;
    padding-right: 0;
  }
  .p-top__giant-point .t img {
    width: 24px;
  }
  .p-top__giant-point .img {
    display: block;
    margin-bottom: 40px;
  }
  .p-top__giant-point .img .i1 {
    width: auto;
    padding-top: 0;
    margin-left: 53px;
    margin-bottom: 29px;
  }
  .p-top__giant-point .img .i2 {
    width: auto;
    padding-top: 0;
    margin-right: 23.4666vw;
  }
  .p-top__giant-point .txt1 {
    margin-left: 43px;
    margin-right: 23.4666vw;
    max-width: initial;
  }
  .p-top__giant-point .block1 {
    width: auto;
  }
  .p-top__lead {
    display: block;
  }
  .p-top__lead:before {
    top: -318px;
    background-image: url(../img/top/lead_bg1_sp.png);
    background-size: 100% 100%;
  }
  .p-top__lead .en {
    font-size: 60px;
    font-size: 6rem;
    line-height: 100%;
    padding-left: 21px;
    color: #D9D9D9;
    opacity: 1;
  }
  .p-top__lead .img1 {
    width: auto;
  }
  .p-top__lead .img1 img {
    height: 431px;
  }
  .p-top__lead .box1 {
    margin-top: -25px;
    margin-left: 43px;
    margin-bottom: 0;
    padding: 43px 60px 52px;
  }
  .p-top__lead .box1 .h {
    font-size: 22px;
    font-size: 2.2rem;
    margin-bottom: 30px;
  }
  .p-top__ticket a {
    padding-top: 80px;
    padding-bottom: 80px;
    position: relative;
    color: #E3E3E3;
  }
  .p-top__ticket a:before {
    display: block;
    content: "";
    position: absolute;
    right: 0;
    bottom: 0;
    background: url(../img/ticket_icon1.svg) no-repeat right bottom;
    width: 38px;
    height: 38px;
  }
  .p-top__ticket li img {
    width: 255px;
  }
  .p-top__information {
    padding: 110px 43px 45px;
    flex-direction: column;
  }
  .p-top__information .h {
    margin-bottom: 60px;
    text-align: left;
  }
  .p-top__information .h img {
    width: 190px;
  }
  .p-top__information .box1 {
    width: auto;
    padding-left: 0;
    padding-right: 0;
    padding-top: 0;
    margin-bottom: 60px;
  }
  .p-top__information .box1-wrap {
    max-width: initial;
  }
  .p-top__information .box1 .t {
    font-size: 19px;
    font-size: 1.9rem;
  }
  .p-top__information .box1 p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .p-top__information .box1 .access {
    margin-top: 20px;
  }
  .p-top__information .box1 .access .address {
    margin-bottom: 28px;
  }
  .p-top__information .box1 .access .btn a {
    font-size: 18px;
    font-size: 1.8rem;
  }
  .p-top__information .map {
    order: 3;
    width: auto;
    position: relative;
    margin-left: -43px;
    margin-right: -43px;
  }
  .p-top__information .map iframe {
    height: 400px;
    vertical-align: top;
  }
}
/*=======================================
英語ページ
=========================================*/
.is-en {
  word-break: keep-all;
  font-family: Urbanist, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
}
.is-en .p-top__yakebi-heading .box1-wrap {
  max-width: 460px;
}
.is-en .p-top__yakebi-heading .box1 .title div {
  align-items: flex-start;
}
.is-en .p-top__yakebi-heading .box1 .title span {
  width: auto;
  padding-left: 1px;
  padding-right: 1px;
}
.is-en .p-top__yakebi-heading .box1 .title i {
  font-style: normal;
}
.is-en .p-top__yakebi-heading .box1 .spec h4 {
  margin-bottom: 7px;
}
.is-en .p-top__yakebi-heading .box1 .txt1 {
  padding-left: 20px;
}
.is-en .p-top__yakebi-point .txt1 {
  max-width: 580px;
}
.is-en .p-top__giant-heading .box1-wrap {
  max-width: 430px;
}
.is-en .p-top__giant-heading .box1 .title span {
  width: auto;
  padding-left: 1px;
  padding-right: 1px;
}
.is-en .p-top__giant-heading .box1 .title i {
  font-style: normal;
}
.is-en .p-top__giant-heading .box1 .spec h4 {
  margin-bottom: 7px;
}
.is-en .p-top__lead .box1 .h {
  font-size: 23px;
  font-size: 2.3rem;
  font-family: Urbanist, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
  font-weight: 500;
  line-height: 170%;
}
.is-en .p-top__lead .box1 p {
  font-size: 16px;
  font-size: 1.6rem;
}
.is-en .p-top__information .map {
  width: 50%;
}
.is-en .p-top__information .box1 {
  width: 50%;
}
.is-en .p-top__information .box1-wrap {
  max-width: 410px;
}
.is-en .p-top__information .box1 .t {
  line-height: 170%;
}
.is-en .p-top__information .box1 p {
  font-size: 16px;
  font-size: 1.6rem;
}
.is-en .p-top__information .box1 p.address {
  font-size: 14px;
  font-size: 1.4rem;
  margin-bottom: 16px;
}

/* ----------------------------- タブレット（769～1024px） */
/* ----------------------------- スマホ（～768px） */
@media screen and (max-width: 768px) {
  .is-en .p-top__yakebi-heading .box1 {
    padding-left: 35px;
    padding-right: 35px;
  }
  .is-en .p-top__yakebi-heading .box1 .title div {
    display: block;
    text-align: left;
  }
  .is-en .p-top__yakebi-heading .box1 .title span {
    padding: 0;
    margin-bottom: 0;
  }
  .is-en .p-top__yakebi-heading .box1 .title span:before {
    display: none;
  }
  .is-en .p-top__yakebi-heading .box1 .title i {
    padding: 3px 6px 0;
    padding-bottom: 0;
    display: inline-block;
    position: relative;
    z-index: 1;
    color: #fff;
    margin-bottom: 7px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .is-en .p-top__yakebi-heading .box1 .title i:before {
    display: block;
    content: "";
    position: absolute;
    background: #28282A;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
  }
  .is-en .p-top__yakebi-heading .box1 .txt1 {
    padding-left: 0;
  }
  .is-en .p-top__giant-heading .box1 .title {
    display: block;
    text-align: left;
  }
  .is-en .p-top__giant-heading .box1 .title span {
    padding: 0;
    margin-bottom: 0;
  }
  .is-en .p-top__giant-heading .box1 .title span:before {
    display: none;
  }
  .is-en .p-top__giant-heading .box1 .title i {
    padding: 3px 6px 0;
    padding-bottom: 0;
    display: inline-block;
    position: relative;
    z-index: 1;
    color: #fff;
    margin-bottom: 7px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .is-en .p-top__giant-heading .box1 .title i:before {
    display: block;
    content: "";
    position: absolute;
    background: #28282A;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: -1;
  }
  .is-en .p-top__lead .box1 .h {
    font-family: Urbanist, "Noto Sans JP", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, YuGothic, "游ゴシック体", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
    position: relative;
    margin-right: -30px;
  }
  .is-en .p-top__lead .box1 p {
    font-size: 14px;
    font-size: 1.4rem;
  }
  .is-en .p-top__information .map,
  .is-en .p-top__information .box1 {
    width: auto;
  }
}
