@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Special+Gothic+Expanded+One&family=Zen+Kaku+Gothic+New:wght@700&display=swap");
/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block;
}

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

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

table {
  border-collapse: collapse;
  border-spacing: 0;
}

body {
  font-family: "Zen Kaku Gothic New", sans-serif;
  letter-spacing: 0.05em;
}
body * {
  box-sizing: border-box;
}

a {
  text-decoration: none;
}
@media print, screen and (min-width: 768px) {
  a {
    transition: opacity ease 0.4s;
  }
  a:hover {
    transition: opacity ease 0.4s;
    opacity: 0.75;
  }
}

img {
  max-width: 100%;
}

.goth {
  font-family: "Special Gothic Expanded One", "Zen Kaku Gothic New", sans-serif;
}

.fw400 {
  font-weight: 400;
}

.fw700 {
  font-weight: 700;
}

.flex {
  display: flex;
}

.inner {
  max-width: min(83.333vw, 1200px);
  padding: 0 min(3.472vw, 50px);
  width: 100%;
  margin: 0 auto;
}
@media only screen and (max-width: 767px) {
  .inner {
    max-width: none;
    padding: 0 6.667vw;
  }
}

.forPC {
  display: block;
}
@media only screen and (max-width: 767px) {
  .forPC {
    display: none;
  }
}

.forSP {
  display: none;
}
@media only screen and (max-width: 767px) {
  .forSP {
    display: block;
  }
}

.ttls {
  font-size: min(6.944vw, 100px);
  color: #fff;
  margin-bottom: min(3.472vw, 50px);
}
@media only screen and (max-width: 767px) {
  .ttls {
    font-size: 14.667vw;
    margin-bottom: 6.667vw;
  }
}
.ttls span {
  display: block;
  font-size: min(2.083vw, 30px);
  padding-top: 0.8em;
}
@media only screen and (max-width: 767px) {
  .ttls span {
    font-size: 5.333vw;
    padding-top: 0.6em;
  }
}
.ttls.type02 {
  font-size: min(4.861vw, 70px);
}
@media only screen and (max-width: 767px) {
  .ttls.type02 {
    font-size: 8.8vw;
  }
}
.ttls.type02 span {
  font-size: min(2.083vw, 30px);
}
@media only screen and (max-width: 767px) {
  .ttls.type02 span {
    font-size: 4.8vw;
  }
}

.fadeIn {
  opacity: 0;
  transform: translateY(40px);
  transition: all ease 0.4s;
}
.fadeIn.is-active {
  opacity: 1;
  transform: translateY(0);
  transition: all ease 0.4s;
}

/* HTML: <div class="loader"></div> */
.loaderWrap {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 999;
}

.loader {
  height: 60px;
  aspect-ratio: 1;
  padding: 10px;
  border-radius: 50%;
  box-sizing: border-box;
  position: relative;
  -webkit-mask: conic-gradient(#000 0 0) content-box, conic-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask: conic-gradient(#000 0 0) content-box exclude, conic-gradient(#000 0 0);
  filter: blur(12px);
}

.loader:before {
  content: "";
  position: absolute;
  inset: 0;
  background: conic-gradient(rgba(0, 0, 0, 0) 35%, #2965c0, rgba(0, 0, 0, 0) 65%);
  animation: l1 1.5s linear infinite;
}

@keyframes l1 {
  to {
    rotate: 1turn;
  }
}
.nav {
  position: absolute;
  top: min(2.778vw, 40px);
  left: 0;
  width: 100%;
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .nav {
    top: 1.333vw;
  }
}
.nav ul {
  justify-content: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .nav ul {
    flex-wrap: wrap;
  }
}
.nav ul li {
  margin-right: min(2.778vw, 40px);
}
@media only screen and (max-width: 767px) {
  .nav ul li {
    margin-right: 1em;
    margin-top: 0.7em;
  }
}
@media only screen and (max-width: 767px) {
  .nav ul li:nth-child(3) {
    margin-right: 0;
  }
}
.nav ul li:last-child {
  margin-right: 0;
}
.nav ul li a {
  color: #fff;
  display: inline-flex;
  align-items: center;
  font-size: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .nav ul li a {
    font-size: 3.733vw;
    line-height: 0;
  }
}
.nav ul li a i {
  background: url(/assets/img/arrow.png) no-repeat center/contain;
  display: inline-block;
  width: 0.8em;
  height: 0.8em;
  margin-right: 0.4em;
}
.nav ul li.sns a {
  font-size: min(1.042vw, 15px);
  border: 1px solid #fff;
  width: min(11.528vw, 166px);
  height: min(2.569vw, 37px);
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: min(1.285vw, 18.5px);
}
@media only screen and (max-width: 767px) {
  .nav ul li.sns a {
    font-size: 2.4vw;
    width: 26.4vw;
    height: 5.867vw;
    border-radius: 5.867vw;
  }
}
.nav ul li.sns a i {
  background: url(/assets/img/x.svg) no-repeat center/contain;
  width: 1.2em;
  height: 1.2em;
}

@keyframes zoom-in {
  0% {
    transform: scale(1.15);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes zoom-out {
  0% {
    transform: scale(1);
  }
  to {
    transform: scale(1);
  }
}
.mainvisual {
  position: relative;
  height: min(55.556vw, 800px);
}
@media only screen and (max-width: 767px) {
  .mainvisual {
    height: 144vw;
  }
}
.mainvisual h1, .mainvisual h2 {
  position: absolute;
  z-index: 1;
}
.mainvisual h1 {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: min(41.667vw, 600px);
}
@media only screen and (max-width: 767px) {
  .mainvisual h1 {
    width: 50.667vw;
    transform: translateX(-50%);
    top: 32.933vw;
  }
}
.mainvisual h2 {
  left: min(5.556vw, 80px);
  top: min(9.028vw, 130px);
  width: min(13.194vw, 190px);
}
@media only screen and (max-width: 767px) {
  .mainvisual h2 {
    width: 14.733vw;
    top: 24vw;
    left: 5.333vw;
  }
}
.mainvisual h2 span {
  color: #fff;
  display: inline-block;
  background-image: linear-gradient(-45deg, #1E4472 0%, #2A6098 100%);
  padding: 0.5em 0.5em 0.5em 0.3em;
  letter-spacing: 0.1em;
}
.mainvisual h2 span em {
  text-combine-upright: all;
}
.mainvisual__nav {
  position: absolute;
  z-index: 1;
  bottom: min(2.083vw, 30px);
  right: min(2.083vw, 30px);
  width: min(23.819vw, 343px);
}
@media only screen and (max-width: 767px) {
  .mainvisual__nav {
    width: 64vw;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
    bottom: 16vw;
  }
}
.mainvisual__nav p {
  background: url(../img/kv_parts_bg.png) no-repeat center center/contain;
}
.mainvisual__nav .flex {
  display: flex;
}
@media only screen and (max-width: 767px) {
  .mainvisual .splide {
    height: 100%;
  }
}
@media only screen and (max-width: 767px) {
  .mainvisual .splide__track {
    height: 100%;
  }
}
.mainvisual .splide__slide {
  width: 100%;
  height: min(55.556vw, 800px);
}
@media only screen and (max-width: 767px) {
  .mainvisual .splide__slide {
    height: 100%;
  }
}
.mainvisual .splide__slide:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transform-origin: center;
  animation: zoom-out 4s linear 0s 1 normal both;
}
.mainvisual .splide__slide--01:before {
  background: url(../img/kv_img01.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 767px) {
  .mainvisual .splide__slide--01:before {
    background: url(../img/kv_img01_sp.jpg) no-repeat center center/cover;
  }
}
.mainvisual .splide__slide--02:before {
  background: url(../img/kv_img02.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 767px) {
  .mainvisual .splide__slide--02:before {
    background: url(../img/kv_img02_sp.jpg) no-repeat center center/cover;
  }
}
.mainvisual .splide__slide--03:before {
  background: url(../img/kv_img03.jpg) no-repeat center center/cover;
}
@media only screen and (max-width: 767px) {
  .mainvisual .splide__slide--03:before {
    background: url(../img/kv_img03_sp.jpg) no-repeat center center/cover;
  }
}
.mainvisual .splide__slide.is-active:before {
  transform-origin: center;
  transition: all ease-out 5s;
  animation: zoom-in 4s ease-out 0s 1 normal both;
}
.mainvisual .splide__pagination {
  justify-content: flex-start;
  padding: min(2.083vw, 30px);
  bottom: 0;
}
.mainvisual .splide__pagination__page {
  border-radius: 0;
  background-color: #fff;
  opacity: 1;
  margin: 0 min(0.556vw, 8px);
}
.mainvisual .splide__pagination__page.is-active {
  background-color: #007edf;
  transform: none;
}
.mainvisual__scroll {
  position: absolute;
  left: 50%;
  bottom: 1em;
  transform: translateX(-50%);
  writing-mode: vertical-rl;
}
@media only screen and (max-width: 767px) {
  .mainvisual__scroll {
    transform: none;
    left: auto;
    right: 2.667vw;
  }
}
.mainvisual__scroll:before {
  animation: scroll 2s infinite;
  background-color: #fff;
  top: 0;
  content: "";
  height: 6em;
  left: -1.5em;
  margin: auto;
  position: absolute;
  right: 0;
  width: 1px;
}
.mainvisual__scroll span {
  color: #fff;
  font-size: min(1.111vw, 16px);
}
@media only screen and (max-width: 767px) {
  .mainvisual__scroll span {
    font-size: 2.933vw;
  }
}

@keyframes scroll {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  51% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}
.sec01 {
  padding: min(11.528vw, 166px) 0 min(23.958vw, 345px);
  background: url(../img/sec01_bg.jpg) no-repeat center top/cover;
}
@media only screen and (max-width: 767px) {
  .sec01 {
    background: url(../img/sec01_bg_sp.jpg) no-repeat center top/cover;
    padding: 18.667vw 0 88vw;
  }
}
.sec01 .copy {
  padding-left: min(36.111vw, 520px);
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .sec01 .copy {
    padding-left: 0;
  }
}
.sec01 .copy h2 {
  font-size: min(3.611vw, 52px);
  line-height: 1.9;
  margin-bottom: min(3.194vw, 46px);
}
@media only screen and (max-width: 767px) {
  .sec01 .copy h2 {
    font-size: 8.267vw;
    margin-bottom: 5.333vw;
    text-align: center;
    padding-left: 0.5em;
  }
}
.sec01 .copy h2 span {
  display: block;
}
.sec01 .copy h3 {
  font-size: min(1.528vw, 22px);
  line-height: 2.1;
  margin-bottom: min(3.472vw, 50px);
}
@media only screen and (max-width: 767px) {
  .sec01 .copy h3 {
    font-size: 4vw;
    margin-bottom: 6vw;
  }
}
.sec01 .copy h3 span {
  display: block;
  padding-top: 1.2em;
}
@media only screen and (max-width: 767px) {
  .sec01 .copy h3 span {
    padding-top: 1em;
  }
}
.sec01 .copy p {
  width: min(28.333vw, 408px);
  margin-left: min(9.028vw, 130px);
}
@media only screen and (max-width: 767px) {
  .sec01 .copy p {
    width: 70.667vw;
    margin: 0 auto;
  }
}

@keyframes flicker {
  0%, 19%, 21%, 23%, 25%, 54%, 56%, 100% {
    text-shadow: -0.2rem -0.2rem 1rem #fff, 0.2rem 0.2rem 1rem #fff, 0 0 2rem var(--neon-text-color), 0 0 4rem var(--neon-text-color), 0 0 6rem var(--neon-text-color), 0 0 8rem var(--neon-text-color), 0 0 10rem var(--neon-text-color);
    box-shadow: 0 0 0.5rem #fff, inset 0 0 0.5rem #fff, 0 0 2rem var(--neon-border-color), inset 0 0 2rem var(--neon-border-color), 0 0 4rem var(--neon-border-color), inset 0 0 4rem var(--neon-border-color);
  }
  20%, 24%, 55% {
    text-shadow: none;
    box-shadow: none;
  }
}
.sec02 {
  background-image: linear-gradient(90deg, rgb(0, 25, 54) 0%, rgb(20, 44, 77) 70%, rgb(40, 62, 99) 100%);
}
.sec02 .bg {
  background: url(../img/sec02_bg.png) no-repeat;
  background-position: top min(33.472vw, 482px) right;
  background-size: min(78.75vw, 1134px) auto;
}
@media only screen and (max-width: 767px) {
  .sec02 .bg {
    background: url(../img/sec02_bg_sp.png) no-repeat;
    background-position: top 120vw right;
    background-size: 100% auto;
  }
}
.sec02 .main {
  width: min(53.958vw, 777px);
  margin: 0 auto;
  position: relative;
  top: min(-5.556vw, -80px);
  background: url(../img/sec02_ttl_bg2.png) no-repeat center/contain;
}
@media only screen and (max-width: 767px) {
  .sec02 .main {
    width: 100%;
    top: -10.667vw;
    margin-bottom: 9.333vw;
  }
}
.sec02 .rules {
  margin-top: min(-5.556vw, -80px);
  justify-content: space-between;
  max-width: min(68.056vw, 980px);
  margin: 0 auto min(10.417vw, 150px);
}
@media only screen and (max-width: 767px) {
  .sec02 .rules {
    margin-top: -10.667vw;
    flex-wrap: wrap;
    justify-content: center;
    max-width: none;
  }
}
.sec02 .rules li {
  font-size: min(2.361vw, 34px);
  text-align: center;
  color: #fff;
  background: url(../img/01@2x.png) no-repeat center right min(3.472vw, 50px);
  background-size: min(9.167vw, 132px) auto;
}
@media print, screen and (min-width: 768px) {
  .sec02 .rules li div {
    width: min(30.278vw, 436px);
  }
}
@media print, screen and (min-width: 768px) {
  .sec02 .rules li {
    width: 50%;
    display: flex;
    justify-content: center;
  }
}
@media only screen and (max-width: 767px) {
  .sec02 .rules li {
    font-size: 6.667vw;
    width: 100%;
    background-position: top 13.867vw right;
    background-size: 25.067vw auto;
  }
}
@media print, screen and (min-width: 768px) {
  .sec02 .rules li:first-child {
    justify-content: flex-start;
    border-right: 1px solid #4f617e;
    width: 52%;
  }
}
@media only screen and (max-width: 767px) {
  .sec02 .rules li:first-child {
    margin-bottom: 7.467vw;
    padding-bottom: 7.467vw;
    border-bottom: 1px solid #4f617e;
  }
}
@media print, screen and (min-width: 768px) {
  .sec02 .rules li:last-child {
    justify-content: flex-end;
  }
}
.sec02 .rules li span {
  display: block;
}
.sec02 .rules li span.small {
  font-size: min(1.528vw, 22px);
  margin-bottom: 1em;
}
@media only screen and (max-width: 767px) {
  .sec02 .rules li span.small {
    font-size: 4.267vw;
  }
}
.sec02 .rules li span.goth {
  font-size: min(2.778vw, 40px);
  margin-bottom: 0.5em;
}
@media only screen and (max-width: 767px) {
  .sec02 .rules li span.goth {
    font-size: 7.467vw;
    margin-bottom: 0.4em;
  }
}
.sec02 .rules li p {
  padding-top: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .sec02 .rules li p {
    padding-top: 4vw;
  }
}
.sec02 .rules li p a {
  font-size: min(1.389vw, 20px);
  display: inline-flex;
  width: min(23.333vw, 336px);
  height: min(5.417vw, 78px);
  align-items: center;
  justify-content: center;
  color: #fff;
  background: url(../img/rules_btn01.png) no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .sec02 .rules li p a {
    font-size: 4vw;
    width: 60vw;
    height: 13.333vw;
    background: url(../img/rules_btn01_sp.png) no-repeat center center/contain;
  }
}
.sec02 .rules li p a i {
  display: inline-block;
  background: url(../img/blank.svg) no-repeat center/contain;
  width: 0.85em;
  height: 0.85em;
  margin-left: 0.5em;
}
.sec02 .rules li:last-child {
  background: url(../img/02@2x.png) no-repeat center right;
  background-size: min(11.458vw, 165px) auto;
}
@media print, screen and (min-width: 768px) {
  .sec02 .rules li:last-child {
    width: 48%;
  }
}
@media only screen and (max-width: 767px) {
  .sec02 .rules li:last-child {
    background-size: 30.667vw auto;
  }
}
.sec02 .rules li:last-child a {
  background: url(../img/rules_btn02.png) no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .sec02 .rules li:last-child a {
    background: url(../img/rules_btn02_sp.png) no-repeat center center/contain;
  }
}
.sec02 .pickup {
  margin-bottom: min(6.944vw, 100px);
}
@media only screen and (max-width: 767px) {
  .sec02 .pickup {
    margin-bottom: 13.333vw;
  }
}
.sec02 .pickup ul {
  justify-content: center;
}
@media only screen and (max-width: 767px) {
  .sec02 .pickup ul {
    display: block;
  }
}
.sec02 .pickup ul li {
  width: min(35.417vw, 510px);
}
@media only screen and (max-width: 767px) {
  .sec02 .pickup ul li {
    width: 100%;
  }
}
.sec02 .pickup ul li .img {
  --color: #00A8DF;
  --blur: 1.75rem;
  --box-blur: calc(0.5 * var(--blur));
  --glow: var(--color);
  display: block;
  border-width: 4px;
  border-color: #00A8DF;
  border-style: solid;
  border-radius: min(1.389vw, 20px);
  padding: min(0.417vw, 6px);
  box-shadow: inset 0 0 0 2px rgba(0, 0, 0, 0.15), 0 0 0 2px rgba(0, 0, 0, 0.15), inset 0 0 var(--box-blur) var(--glow), 0 0 var(--box-blur) var(--glow);
}
@media only screen and (max-width: 767px) {
  .sec02 .pickup ul li .img {
    border-radius: 2.667vw;
    padding: 1.067vw;
    border-width: 0.667vw;
  }
}
.sec02 .pickup ul li .txt {
  font-size: min(1.528vw, 22px);
  display: block;
  padding-top: 1em;
  line-height: 1.8;
  color: #fff;
}
@media only screen and (max-width: 767px) {
  .sec02 .pickup ul li .txt {
    font-size: 4.267vw;
    line-height: 1.6;
  }
}
@media print, screen and (min-width: 768px) {
  .sec02 .pickup ul li:nth-child(even) {
    margin-left: min(3.472vw, 50px);
  }
}
@media only screen and (max-width: 767px) {
  .sec02 .pickup ul li:nth-child(n+2) {
    margin-top: 8vw;
  }
}
.sec02 .pickup ul li.none {
  text-align: center;
}
.sec02 .pickup ul li.none .txt {
  padding-top: 0;
}
.sec02 .pickup ul li a:not([href]) {
  opacity: 1;
}
@media print, screen and (min-width: 768px) {
  .sec02 .pickup ul li a:not([href]):hover {
    opacity: 1;
  }
}
.sec02 .schedule {
  margin-bottom: min(2.778vw, 40px);
}
@media only screen and (max-width: 767px) {
  .sec02 .schedule {
    margin-bottom: 8vw;
  }
}
.sec02 .voice {
  background-color: #001a2d;
  border-radius: min(0.833vw, 12px);
  padding: min(4.167vw, 60px) min(2.778vw, 40px);
  margin-bottom: min(8.333vw, 120px);
}
@media only screen and (max-width: 767px) {
  .sec02 .voice {
    padding: 10.667vw 8vw;
    margin-bottom: 12vw;
    border-radius: 1.6vw;
  }
}
.sec02 .voice ul li {
  background-color: #003362;
  color: #fff;
  border-radius: min(1.389vw, 20px);
  padding: min(2.778vw, 40px);
  line-height: 1.9;
  margin-bottom: min(2.083vw, 30px);
  position: relative;
}
@media only screen and (max-width: 767px) {
  .sec02 .voice ul li {
    font-size: 3.733vw;
    border-radius: 2.667vw;
    margin-bottom: 4vw;
    padding: 4vw 5.333vw;
  }
}
.sec02 .voice ul li:last-child {
  margin-bottom: 0;
}
.sec02 .voice ul li:before {
  content: "";
  display: block;
  background: url(../img/triangle.png) no-repeat center/contain;
  position: absolute;
  bottom: min(-1.389vw, -20px);
  right: min(4.861vw, 70px);
  width: min(4.375vw, 63px);
  height: min(2.569vw, 37px);
}
@media only screen and (max-width: 767px) {
  .sec02 .voice ul li:before {
    width: 5.333vw;
    height: 5.333vw;
    bottom: -3.467vw;
    right: 9.333vw;
  }
}
.sec02 .voice ul li .date {
  display: block;
}
@media only screen and (max-width: 767px) {
  .sec02 .voice ul li .date {
    font-size: 4vw;
  }
}
.sec02 .voice ul li.none::before {
  display: none;
}
.sec02 .gallery {
  padding: 0 min(7.639vw, 110px);
  padding-bottom: min(10.417vw, 150px);
}
@media only screen and (max-width: 767px) {
  .sec02 .gallery {
    padding: 0 4vw 13.333vw;
  }
}
.sec02 .gallery h2 {
  width: min(36.458vw, 525px);
  margin: 0 auto min(2.778vw, 40px);
  background: url(../img/gallery_bg.png) no-repeat center center/contain;
}
@media only screen and (max-width: 767px) {
  .sec02 .gallery h2 {
    width: 100%;
    margin-bottom: 4vw;
  }
}
.sec02 .gallery #gallery__slider {
  margin-bottom: min(0.833vw, 12px);
}
@media only screen and (max-width: 767px) {
  .sec02 .gallery #gallery__slider {
    margin-bottom: 12px;
  }
}
.sec02 .gallery #thumb__slider .splide__slide {
  filter: brightness(0.45);
  transition: filter ease 0.4s;
  border: none;
}
.sec02 .gallery #thumb__slider .splide__slide.is-active {
  border: none;
  filter: brightness(1);
  transition: filter ease 0.4s;
}
.sec02 .gallery #thumb__slider .splide__arrow {
  background: url(../img/arrow_right.png) no-repeat center center/contain;
  opacity: 1;
}
@media only screen and (max-width: 767px) {
  .sec02 .gallery #thumb__slider .splide__arrow {
    width: 1.6em;
    height: 1.6em;
  }
}
.sec02 .gallery #thumb__slider .splide__arrow--next {
  right: -3em;
}
@media only screen and (max-width: 767px) {
  .sec02 .gallery #thumb__slider .splide__arrow--next {
    right: -2.4em;
  }
}
.sec02 .gallery #thumb__slider .splide__arrow--prev {
  background: url(../img/arrow_left.png) no-repeat center center/contain;
  left: -3em;
}
@media only screen and (max-width: 767px) {
  .sec02 .gallery #thumb__slider .splide__arrow--prev {
    left: -2.4em;
  }
}
.sec02 .gallery #thumb__slider .splide__arrow svg {
  display: none;
}

.sec03 {
  padding-top: min(6.944vw, 100px);
}
@media only screen and (max-width: 767px) {
  .sec03 {
    padding-top: 13.333vw;
  }
}
.sec03 .inner h2 {
  color: #333;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .sec03 .inner h2 {
    font-size: 12vw;
  }
}
@media only screen and (max-width: 767px) {
  .sec03 .inner h2 span {
    font-size: 4.8vw;
  }
}
.sec03 .inner .info {
  margin-bottom: min(4.861vw, 70px);
}
@media only screen and (max-width: 767px) {
  .sec03 .inner .info {
    display: block;
    margin-bottom: 8vw;
  }
}
.sec03 .inner .info__img {
  width: min(34.722vw, 500px);
  line-height: 0;
}
@media only screen and (max-width: 767px) {
  .sec03 .inner .info__img {
    width: 100%;
  }
}
.sec03 .inner .info__content {
  width: calc(100% - min(34.722vw, 500px));
  background-color: #001222;
  color: #fff;
  padding: min(4.167vw, 60px) min(4.861vw, 70px) 0;
}
@media only screen and (max-width: 767px) {
  .sec03 .inner .info__content {
    width: 100%;
    padding: 10.667vw 8vw 8vw;
  }
}
.sec03 .inner .info__content h3 {
  width: min(30.556vw, 440px);
  margin-bottom: min(1.389vw, 20px);
}
@media only screen and (max-width: 767px) {
  .sec03 .inner .info__content h3 {
    width: 100%;
    margin-bottom: 4vw;
  }
}
.sec03 .inner .info__content .address {
  font-size: min(1.389vw, 20px);
  margin-bottom: min(1.389vw, 20px);
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .sec03 .inner .info__content .address {
    font-size: 3.733vw;
    margin-bottom: 3.467vw;
  }
}
.sec03 .inner .info__content .address a {
  display: inline-flex;
  align-items: center;
  background-color: #fff;
  font-size: min(1.111vw, 16px);
  line-height: 1;
  color: #001a2d;
  padding: 0.25em 0.5em;
}
@media only screen and (max-width: 767px) {
  .sec03 .inner .info__content .address a {
    font-size: 3.467vw;
    padding: 0.3em 0.5em 0.4em;
    line-height: 0;
    margin-top: 0.5em;
  }
}
.sec03 .inner .info__content .address a svg {
  margin-left: 0.15em;
}
@media only screen and (max-width: 767px) {
  .sec03 .inner .info__content .address a svg {
    width: 0.95em;
    height: 0.95em;
  }
}
.sec03 .inner .info__content .route {
  font-size: min(1.111vw, 16px);
  margin-bottom: min(2.083vw, 30px);
}
@media only screen and (max-width: 767px) {
  .sec03 .inner .info__content .route {
    font-size: 3.467vw;
    margin-bottom: 3.467vw;
  }
}
.sec03 .inner .info__content .route li {
  position: relative;
  padding-left: 1.2em;
  line-height: 1.8;
}
.sec03 .inner .info__content .route li:before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
}
.sec03 .inner .info__content .time {
  align-items: center;
}
.sec03 .inner .info__content .time p {
  border: 1px solid #fff;
  width: min(7.083vw, 102px);
  height: min(4.306vw, 62px);
  display: grid;
  place-content: center;
  margin-right: min(1.389vw, 20px);
  font-size: min(1.111vw, 16px);
}
@media only screen and (max-width: 767px) {
  .sec03 .inner .info__content .time p {
    font-size: 3.733vw;
    width: 22.4vw;
    height: 13.333vw;
    margin-right: 4vw;
  }
}
.sec03 .inner .info__content .time ul li {
  font-size: min(1.389vw, 20px);
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .sec03 .inner .info__content .time ul li {
    font-size: 3.733vw;
  }
}

.map iframe {
  width: 100%;
  height: min(27.778vw, 400px);
}
@media only screen and (max-width: 767px) {
  .map iframe {
    height: 53.333vw;
  }
}

.contact {
  padding: min(6.944vw, 100px) 0;
  color: #333;
}
@media only screen and (max-width: 767px) {
  .contact {
    padding: 8vw 0 10.667vw;
  }
}
.contact__wrap {
  border: 8px solid #333;
  align-items: center;
  padding: min(2.639vw, 38px) min(2.361vw, 34px);
}
@media only screen and (max-width: 767px) {
  .contact__wrap {
    padding: 8vw 6.667vw;
    border-width: 1.067vw;
    display: block;
  }
}
.contact__wrap .ttl {
  font-size: min(3.333vw, 48px);
  padding-right: min(2.778vw, 40px);
}
@media only screen and (max-width: 767px) {
  .contact__wrap .ttl {
    padding-right: 0;
    font-size: 10.667vw;
    text-align: center;
    padding-bottom: 3.333vw;
    margin-bottom: 3.333vw;
    position: relative;
  }
}
@media only screen and (max-width: 767px) {
  .contact__wrap .ttl:after {
    content: "";
    display: block;
    width: 10.267vw;
    height: 0.533vw;
    background-color: #333;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0;
  }
}
.contact__wrap .flex {
  padding-left: min(2.778vw, 40px);
  border-left: 1px solid #1A1A1A;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .contact__wrap .flex {
    padding-left: 0;
    border: none;
    display: block;
  }
}
.contact__wrap .flex .txt {
  font-size: min(1.319vw, 19px);
  line-height: 1.8;
}
@media only screen and (max-width: 767px) {
  .contact__wrap .flex .txt {
    font-size: 3.467vw;
    text-align: center;
    letter-spacing: 0;
    margin-bottom: 2.667vw;
  }
}
.contact__wrap .flex a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: min(1.389vw, 20px);
  color: #fff;
  background-color: #1A1A1A;
  width: min(18.75vw, 270px);
  height: min(4.861vw, 70px);
  border-radius: min(2.569vw, 37px);
}
@media only screen and (max-width: 767px) {
  .contact__wrap .flex a {
    font-size: 5.333vw;
    width: 70.667vw;
    height: 15.2vw;
    border-radius: 7.733vw;
    margin: 0 auto;
  }
}
.contact__wrap .flex a i {
  display: block;
  width: 0.9em;
  height: 0.9em;
  background: url(../img/blank.svg) no-repeat center center/contain;
  margin-left: 0.4em;
}

.copyright {
  font-size: min(1.111vw, 16px);
  color: #fff;
  height: min(5.556vw, 80px);
  display: grid;
  place-content: center;
  background-color: #1A1A1A;
}
@media only screen and (max-width: 767px) {
  .copyright {
    height: 13.333vw;
    font-size: 2.667vw;
    border-radius: 5.333vw 5.333vw 0 0;
  }
}

#pagetop {
  position: fixed;
  bottom: 50px;
  right: 50px;
  width: min(4.167vw, 60px);
  opacity: 0;
  visibility: hidden;
  transition: all ease 0.4s;
}
#pagetop.fix {
  transition: all ease 0.4s;
  opacity: 1;
  visibility: visible;
}
@media only screen and (max-width: 767px) {
  #pagetop {
    width: 9.867vw;
    right: 7.067vw;
    bottom: 9.733vw;
  }
}/*# sourceMappingURL=style.css.map */