@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Hind:wght@700&family=M+PLUS+1p:wght@500;700;800&display=swap");
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

body {
  line-height: 1; }

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

nav ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  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; }

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; }
  img[usemap] {
    border-width: 0; }
  a img {
    border-width: 0;
    text-decoration: none; }

ul, li {
  list-style: none; }

html {
  font-size: 62.5%; }

body {
  margin: 0;
  padding: 0;
  background-color: #13A1F5;
  color: #fff;
  font-size: 2rem;
  line-height: 2;
  font-family: "M PLUS 1p", "游ゴシック体", "YuGothic", "Yu Gothic", "ヒラギノ角ゴ Pro W6", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  -webkit-text-size-adjust: none; }
  @media screen and (max-width: 640px) {
    body {
      font-size: 1.6rem;
      line-height: 2; } }

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

a {
  text-decoration: none;
  color: #FAFA96; }
  a:hover {
    text-decoration: none; }

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

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

/* 全体
/*+---------------------------------*/
/* --- PCでのみ表示 --- */
.pc-only {
  display: block; }
  @media screen and (max-width: 800px) {
    .pc-only {
      display: none; } }

/* --- スマホでのみ表示 --- */
.sp-only {
  display: none; }
  @media screen and (max-width: 800px) {
    .sp-only {
      display: block; } }

/* ダイビングwithドルフィン
/*+---------------------------------*/
/* --- main --- */
.main {
  display: block;
  overflow: hidden;
  height: 100%;
  position: relative;
  padding-bottom: 406px; }
  @media screen and (max-width: 800px) {
    .main {
      padding-bottom: 160px; } }

/* fixed image */
.fixed-image {
  background: url("../img/fixed-bg_pc.jpg") top center no-repeat;
  background-size: 120% 100%;
  padding-top: 50%;
  position: absolute;
  width: 100%;
  -webkit-transition: .1s;
  transition: .1s;
  z-index: -1; }
  .fixed-image.-fixed {
    position: fixed;
    top: 0; }
  @media screen and (max-width: 800px) {
    .fixed-image {
      background-image: url("../img/fixed-bg_sp.jpg");
      background-size: 100% 100%;
      padding-top: 100%; } }

/* --- footer --- */
.footer {
  background-color: #FFF;
  padding-bottom: 80px;
  position: relative; }
  .footer::before {
    background: url("../img/footer-bg_pc.png") top 1px center no-repeat;
    background-size: cover;
    content: "";
    height: 266px;
    position: absolute;
    top: -266px;
    left: 0;
    width: 100%; }
  @media screen and (max-width: 800px) {
    .footer {
      padding-bottom: 64px; }
      .footer::before {
        background-image: url("../img/footer-bg_sp.png");
        background-size: 100% 100%;
        height: 120px;
        top: -120px; } }

/* --- pagetop --- */
.pagetop-wrap {
  position: absolute;
  top: -342px;
  right: 4%;
  width: 90px; }
  @media screen and (max-width: 800px) {
    .pagetop-wrap {
      top: -164px;
      right: 6.4%;
      width: 72px; } }

.pagetop-button {
  background: url("../img/icon-pagetop.svg") top center no-repeat;
  background-size: 40px auto;
  display: block;
  padding-top: 48px;
  width: 100%; }
  .pagetop-button__text {
    color: #FAFA6E;
    display: block;
    font-family: "Hind", sans-serif;
    font-size: 2.0rem;
    font-weight: 700;
    line-height: 1.4;
    text-align: center; }
  .pagetop-button:hover {
    background-image: url("../img/icon-pagetop-hover.svg"); }
    .pagetop-button:hover .pagetop-button__text {
      color: #023386; }
  @media screen and (max-width: 800px) {
    .pagetop-button {
      background-size: 32px auto;
      padding-top: 36px; }
      .pagetop-button__text {
        font-size: 1.6rem; } }

/* --- sns list --- */
.sns-list {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-left: auto;
  margin-right: auto;
  max-width: 368px;
  width: 78.93333%; }
  .sns-list__item {
    width: 48px; }
    .sns-list__item img {
      vertical-align: bottom; }
    .sns-list__item a {
      display: block;
      -webkit-transition: .3s;
      transition: .3s; }
      .sns-list__item a:hover {
        opacity: 0.64; }
  @media screen and (max-width: 800px) {
    .sns-list {
      max-width: 296px; }
      .sns-list__item {
        width: 13.51351%; } }

/* --- copyright --- */
.copyright {
  color: #023386;
  font-size: 1.2rem;
  font-weight: 400;
  line-height: 1.4;
  margin-top: 64px;
  text-align: center; }
  @media screen and (max-width: 800px) {
    .copyright {
      margin-top: 48px; } }

/* --- MV --- */
.main-visual {
  background: url("../img/mv-bg_pc.jpg") top center no-repeat;
  background-size: 100% 100%;
  padding-top: 22.5%;
  position: relative;
  width: 100%;
  z-index: 1; }
  @media screen and (max-width: 800px) {
    .main-visual {
      background-image: url("../img/mv-bg_sp.jpg");
      padding-top: 38.4%; } }

.mv-title {
  display: grid;
  place-items: center;
  padding-top: 16.125%;
  padding-bottom: 16.125%; }
  .mv-title__image {
    max-width: 1085px;
    width: 67.8125%; }
    .mv-title__image img {
      margin-left: auto;
      margin-right: auto; }
  @media screen and (max-width: 800px) {
    .mv-title {
      padding-top: 36.26667%;
      padding-bottom: 56.26667%; }
      .mv-title__image {
        width: 74.66667%; } }

.mv-catch {
  cursor: auto;
  color: #023386;
  font-family: "Hind", sans-serif;
  font-size: 1.6rem;
  font-size: 1vw;
  line-height: 1.4;
  position: absolute;
  right: 4%;
  bottom: 11.375%;
  text-align: center;
  white-space: nowrap;
  width: 5.625%; }
  .mv-catch .mv-scroll-parts {
    display: block;
    margin-top: 8px;
    stroke: #023386;
    margin-right: auto;
    margin-left: auto;
    width: 11.11111%; }
    .mv-catch .mv-scroll-parts img {
      margin-left: auto;
      margin-right: auto; }
  @media screen and (max-width: 800px) {
    .mv-catch {
      font-size: 1.4rem;
      font-size: 3.733vw;
      right: 0;
      bottom: 17.61006%;
      width: 100%; }
      .mv-catch .mv-scroll-parts {
        margin-top: 7px;
        width: 6.66667%; } }

/* --- heading --- */
.en-title {
  background: -webkit-gradient(linear, left top, left bottom, color-stop(65%, transparent), color-stop(65%, #FAFA6E));
  background: linear-gradient(transparent 65%, #FAFA6E 65%);
  color: #023386;
  display: inline-block;
  font-family: "Hind", sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1; }
  @media screen and (max-width: 640px) {
    .en-title {
      background: -webkit-gradient(linear, left top, left bottom, color-stop(70%, transparent), color-stop(70%, #FAFA6E));
      background: linear-gradient(transparent 70%, #FAFA6E 70%);
      font-size: 2.4rem; } }

.heading-level2 {
  font-size: 5.8rem;
  font-weight: 900;
  line-height: 1.4;
  margin-top: 30px; }
  @media screen and (max-width: 640px) {
    .heading-level2 {
      font-size: 3.6rem;
      margin-top: 20px; } }

.heading-level3 {
  background: url("../img/heading-level3-parts.png") left top no-repeat;
  background-size: 27px auto;
  font-size: 4.0rem;
  font-weight: 900;
  line-height: 1.4;
  margin-top: 30px;
  padding-top: 4px;
  padding-bottom: 4px;
  padding-left: 40px; }
  .heading-level3.-margintop-none {
    margin-top: 0; }
  @media screen and (max-width: 640px) {
    .heading-level3 {
      background-size: 16px auto;
      font-size: 2.8rem;
      margin-top: 22px;
      padding-top: 2px;
      padding-bottom: 2px;
      padding-left: 24px; } }

.heading-level4 {
  font-size: 2.8rem;
  font-weight: 900;
  line-height: 1.4; }
  @media screen and (max-width: 800px) {
    .heading-level4.-sp-textcenter {
      text-align: center; } }
  @media screen and (max-width: 640px) {
    .heading-level4 {
      font-size: 2.2rem; }
      .heading-level4.-sp-sizesmall {
        font-size: 2.0rem; } }

/* --- text --- */
.text-box {
  margin-top: 48px; }
  .text-box.-margintop-narrow {
    margin-top: 32px; }
  .text-box .common-paragraph {
    font-weight: 700;
    -webkit-transform: rotate(0.03deg);
        -ms-transform: rotate(0.03deg);
            transform: rotate(0.03deg); }
    .text-box .common-paragraph.-lineheight-narrow {
      line-height: 1.4; }
    .text-box .common-paragraph.-margintop-8 {
      margin-top: 8px; }
  @media screen and (max-width: 800px) {
    .text-box {
      margin-top: 32px; } }

.newline {
  display: inline-block; }

/* --- image box --- */
.image-box {
  margin-top: 64px;
  text-align: center; }
  .image-box img {
    margin-left: auto;
    margin-right: auto; }
  .image-box.-margintop-none {
    margin-top: 0; }
  .image-box.-sizemedium {
    max-width: 480px; }
  @media screen and (max-width: 800px) {
    .image-box {
      margin-top: 40px;
      margin-left: auto;
      margin-right: auto;
      width: 85.62691%; }
      .image-box.-sizemedium {
        max-width: 100%; }
      .image-box.-sp-sizesmall {
        width: 75.84098%; }
      .image-box.-sp-sizetiny {
        width: 67.27829%; } }

/* --- textlink --- */
.textlink-wrap {
  margin-top: 40px; }
  .textlink-wrap.-margintop-wide {
    margin-top: 80px; }
  @media screen and (max-width: 800px) {
    .textlink-wrap {
      margin-top: 32px; }
      .textlink-wrap.-margintop-wide {
        margin-top: 64px; } }

.textlink {
  background: url("../img/icon-link.svg") left center no-repeat;
  background-size: 28px auto;
  display: inline-block;
  font-weight: 700;
  line-height: 1.4;
  padding-left: 40px;
  -webkit-transform: rotate(0.03deg);
      -ms-transform: rotate(0.03deg);
          transform: rotate(0.03deg); }
  .textlink .icon-blank {
    display: inline-block;
    position: relative; }
    .textlink .icon-blank::after {
      background: url("../img/icon-blank.svg") right center no-repeat;
      background-size: 10px auto;
      content: "";
      display: inline-block;
      margin-left: 8px;
      position: relative;
      top: -2px;
      height: 10px;
      width: 10px; }
  .textlink .icon-pdf {
    display: inline-block;
    position: relative; }
    .textlink .icon-pdf::after {
      background: url("../img/icon-pdf.svg") right center no-repeat;
      background-size: 12px auto;
      content: "";
      display: inline-block;
      margin-left: 8px;
      position: relative;
      top: -2px;
      height: 12px;
      width: 12px; }
  .textlink:hover {
    background-image: url("../img/icon-link-hover.svg");
    color: #023386; }
    .textlink:hover .icon-blank::after {
      background-image: url("../img/icon-blank-hover.svg"); }
  @media screen and (max-width: 800px) {
    .textlink {
      background-size: 20px auto;
      padding-left: 28px; } }

/* --- button --- */
.common-button {
  background: url("../img/button-bg.png") center center no-repeat;
  background-size: auto auto;
  margin-top: 64px;
  padding-top: 91px;
  padding-bottom: 91px;
  padding-left: 3.33333%;
  padding-right: 3.33333%;
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
  width: 100%; }
  .common-button a {
    background-color: #FAFA6E;
    border-radius: 80px;
    -webkit-box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.32);
            box-shadow: 0 6px 0 0 rgba(0, 0, 0, 0.32);
    color: #023386;
    display: block;
    font-size: 3.2rem;
    font-weight: 900;
    line-height: 1.4;
    padding: 38px;
    position: relative;
    top: 0;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    max-width: 800px;
    -webkit-transition: .1s;
    transition: .1s;
    -webkit-transform: rotate(0.03deg);
        -ms-transform: rotate(0.03deg);
            transform: rotate(0.03deg);
    width: 100%; }
    .common-button a:hover {
      background-color: #023386;
      -webkit-box-shadow: none;
              box-shadow: none;
      color: #FAFA6E;
      top: 6px; }
  @media screen and (max-width: 640px) {
    .common-button {
      background-size: auto 100%;
      padding-top: 32px;
      padding-bottom: 32px;
      padding-left: 7.2%;
      padding-right: 7.2%; }
      .common-button a {
        border-radius: 44px;
        -webkit-box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.32);
                box-shadow: 0 4px 0 0 rgba(0, 0, 0, 0.32);
        font-size: 2.0rem;
        padding: 16px 32px;
        max-width: 311px; }
        .common-button a:hover {
          top: 4px; } }

/* --- movie --- */
.movie-box {
  margin-top: 64px;
  margin-left: auto;
  margin-right: auto;
  max-width: 960px;
  padding-top: 45%;
  position: relative;
  width: 100%; }
  .movie-box iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%; }
  @media screen and (max-width: 800px) {
    .movie-box {
      margin-top: 40px;
      margin-left: auto;
      margin-right: auto;
      padding-top: 55%;
      width: 97.85933%; } }

/* --- event detail --- */
.detail-box {
  border-top: 2px solid #ADE4FF;
  border-bottom: 2px solid #ADE4FF;
  margin-top: 32px;
  padding-top: 40px;
  padding-bottom: 40px; }
  .detail-box dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    line-height: 1.4;
    margin-left: auto;
    margin-right: auto;
    max-width: 920px;
    width: 100%;
    -webkit-transform: rotate(0.03deg);
        -ms-transform: rotate(0.03deg);
            transform: rotate(0.03deg); }
    .detail-box dl + dl {
      margin-top: 14px; }
    .detail-box dl dt {
      text-align: right;
      min-width: 8.69565%; }
    .detail-box dl dd {
      width: 86.08696%; }
      .detail-box dl dd .size-small {
        display: inline-block;
        font-size: 1.4rem; }
  @media screen and (max-width: 800px) {
    .detail-box {
      margin-top: 24px;
      padding-top: 24px;
      padding-bottom: 24px; }
      .detail-box dl {
        display: block; }
        .detail-box dl + dl {
          margin-top: 16px; }
        .detail-box dl dt {
          text-align: left;
          min-width: 100%; }
        .detail-box dl dd {
          margin-top: 8px;
          padding-left: 5.50459%;
          width: 100%; }
          .detail-box dl dd .size-small {
            font-size: 1.2rem; } }

.schedule-box {
  margin-top: 40px; }
  .schedule-box dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    line-height: 1.4;
    width: 100%;
    -webkit-transform: rotate(0.03deg);
        -ms-transform: rotate(0.03deg);
            transform: rotate(0.03deg); }
    .schedule-box dl + dl {
      margin-top: 14px; }
    .schedule-box dl dt {
      text-align: right;
      min-width: 10.44304%; }
    .schedule-box dl dd {
      width: 81.96203%; }
      .schedule-box dl dd .-pc-margintop-8 {
        display: block;
        margin-top: 8px; }
  @media screen and (max-width: 800px) {
    .schedule-box {
      margin-top: 34px; }
      .schedule-box dl {
        display: block; }
        .schedule-box dl + dl {
          margin-top: 16px; }
        .schedule-box dl dt {
          text-align: left; }
        .schedule-box dl dd {
          margin-top: 8px;
          padding-left: 5.50459%;
          width: 100%; }
          .schedule-box dl dd .-pc-margintop-8 {
            margin-top: 0; } }

/* --- 2column --- */
.column-two-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .column-two-box.-alignitem-center {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .column-two-box__item {
    -ms-flex-preferred-size: 560px;
        flex-basis: 560px;
    -ms-flex-negative: 0;
        flex-shrink: 0; }
    .column-two-box__item.-narrow {
      -ms-flex-preferred-size: 288px;
          flex-basis: 288px; }
    .column-two-box__item.-wide {
      -ms-flex-preferred-size: 632px;
          flex-basis: 632px; }
    .column-two-box__item.-left-shrink {
      -ms-flex-negative: 1;
          flex-shrink: 1;
      margin-right: 5%; }
    .column-two-box__item.-right-shrink {
      -ms-flex-negative: 1;
          flex-shrink: 1;
      margin-left: 5%; }
    .column-two-box__item img {
      max-width: 100%;
      height: auto; }
  @media screen and (max-width: 980px) {
    .column-two-box {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .column-two-box.-sp-columnreverse {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
            -ms-flex-direction: column-reverse;
                flex-direction: column-reverse; }
      .column-two-box__item + .column-two-box__item {
        margin-top: 40px; }
      .column-two-box__item.-left-shrink {
        -ms-flex-preferred-size: 70%;
            flex-basis: 70%;
        margin-left: auto;
        margin-right: auto; }
      .column-two-box__item.-right-shrink {
        -ms-flex-preferred-size: 70%;
            flex-basis: 70%;
        margin-left: auto;
        margin-right: auto; }
      .column-two-box__item.-sp-margintop-none {
        margin-top: 0; }
      .column-two-box__item.-sp-margintop-add {
        margin-top: 40px; } }
  @media screen and (max-width: 800px) {
    .column-two-box__item {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }
      .column-two-box__item.-narrow {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; }
      .column-two-box__item.-wide {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%; } }

/* --- 3column --- */
.column-three-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 32px; }
  .column-three-box__item {
    width: 31.2%; }
    .column-three-box__item .text-box {
      margin-top: 24px; }
      .column-three-box__item .text-box .common-paragraph {
        font-size: 1.4rem; }
  @media screen and (max-width: 800px) {
    .column-three-box {
      display: block; }
      .column-three-box__item {
        width: 100%; }
        .column-three-box__item + .column-three-box__item {
          margin-top: 40px; }
        .column-three-box__item .text-box {
          margin-top: 16px; }
          .column-three-box__item .text-box .common-paragraph {
            text-align: center; } }

/* --- section inner --- */
.section-box__inner {
  margin-left: auto;
  margin-right: auto;
  max-width: 1200px;
  width: 87.2%; }

/* --- section --- */
.section-box {
  padding-bottom: 64px; }

.section-second-box {
  margin-top: 120px;
  margin-left: auto;
  margin-right: auto;
  max-width: 1000px;
  width: 100%; }
  .section-second-box.-margintop-narrow {
    margin-top: 80px; }
  .section-second-box.-margintop-small {
    margin-top: 64px; }
  .section-second-box.-square-box {
    background-color: rgba(255, 255, 255, 0.16);
    margin-top: 110px;
    padding: 80px; }
    .section-second-box.-square-box.-margintop-narrow {
      margin-top: 80px; }
  @media screen and (max-width: 800px) {
    .section-second-box {
      margin-top: 64px; }
      .section-second-box.-margintop-narrow {
        margin-top: 80px; }
      .section-second-box.-margintop-small {
        margin-top: 64px; }
      .section-second-box.-square-box {
        margin-top: 64px;
        margin-right: -7.4%;
        margin-left: -7.4%;
        padding-top: 48px;
        padding-bottom: 48px;
        padding-right: 6.93333%;
        padding-left: 6.93333%;
        width: auto; }
        .section-second-box.-square-box.-margintop-narrow {
          margin-top: 56px; } }

.section-third-box {
  margin-top: 80px; }
  @media screen and (max-width: 800px) {
    .section-third-box {
      margin-top: 56px; } }
