@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

html {
  box-sizing: border-box;
  height: 100%;
  font-size: 62.5%;
  scroll-behavior: smooth;
}
*, ::before, ::after {
  box-sizing: inherit;
}
body {
  scroll-behavior: smooth;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 100%;
  background: #f3f5f7;
  color: #424242;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 18px;
  line-height: 1.7;
  margin: 0;
  overflow-x: hidden;
}
body:has(.thanks) {
  display: grid;
  grid-template-rows: auto 1fr auto;
  grid-template-columns: 100%;
  min-height: 100vh;
}
main {
  overflow-x: hidden;
}
.sp-only {
  display: none;
}
p {
  margin: 0;
  line-height: 1.7;
}
img, video {
  max-width: 100%;
  vertical-align: middle;
}
figure {
  margin: 0;
}
figure img {
  max-width: 100%;
  height: auto;
}
.wp-block-columns {
  display: flex;
}
.wp-block-columns {
  margin: 0;
}
.has-text-align-center {
  text-align: center;
}
.button__green>.wp-block-button,
.button__red>.wp-block-button {
  width: 100%;
}
figure.aligncenter img {
  margin: 0 auto;
}
.wp-block-button__link {
  font-size: 16px;
  display: block;
  text-align: center;
  border: 2px solid;
  font-weight: bold;
  box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease-in-out;

}
.button__green .wp-block-button__link {
  background-color: #e8380d;
  color: #fff;
  border-color: #fff;
}
.button__green .wp-block-button__link:hover {
  opacity: .8;
}
.button__red .wp-block-button__link {
  background-color: #fff;
  color: #e60012;
  border-color: #e60012;
}
.button__red .wp-block-button__link:hover {
  background-color: #e60012;
  color: #fff;
  border-color: #fff;
}
@media (max-width: 1280px) {
  p,
  ul li {
    font-size: 14px;
  }
  .button__green>.wp-block-button, .button__red>.wp-block-button {
    height: 50px;
  }
  .wp-block-button__link {
    font-size: 14px;
  }
}
@media (max-width: 767px) {
  .sp-only {
    display: block;
  }
  .pc-only {
    display: none;
  }
}

/* 以下追加 */
* {
  margin: 0;
  padding: 0; }

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%;
  /* font-size: 62.5%; */
  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: '';
  content: none; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  /* font-size: 62.5%; */
  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 #cccccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

a {
  color: inherit;
  transition: opacity 0.2s;
  text-decoration: none; }
  a:hover {
    opacity: 0.9;
    text-decoration: none; }

li {
  list-style: none; }

sup {
  vertical-align: 0.5em;
  font-size: 0.8em; }

.slick-list {
  height: auto !important; }

.slick-list .slick-slide {
  height: auto !important; }

.slick-dots {
  display: block;
  height: 27px;
  line-height: 0px;
  margin-top: 0px;
  list-style: none;
  text-align: left;
  position: absolute;
  bottom: -69px;
  left: 50%;
  transform: translate(-50%, 0px); }

.slick-dots li {
  position: relative;
  display: inline-block;
  width: 27px;
  height: 27px;
  margin: 0 5px;
  padding: 0;
  cursor: pointer;
  border: 1px solid;
  border-radius: 100%; }
  .slick-dots li.slick-active button:before {
    width: 17px;
    height: 17px;
    border-radius: 100%;
    background: #000000; }
  .slick-dots li button {
    font-size: 0;
    line-height: 0;
    display: block;
    width: 27px;
    height: 27px;
    cursor: pointer;
    color: transparent;
    border: none;
    outline: none;
    background: none;
    opacity: 1.0;
    position: relative; }
    .slick-dots li button:before {
      content: "";
      display: block;
      width: 15px;
      height: 15px;
      border-radius: 100%;
      position: absolute;
      top: 47%;
      left: 47%;
      transform: translate(-50%, -50%); }

/* custom */
a {
  transition: 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  a:hover {
    opacity: 0.6; }

@keyframes mask {
  0% {
    height: 0px; }
  100% {
    height: 270px; } }

@keyframes fadeIn {
  0% {
    opacity: 0.0; }
  100% {
    opacity: 1.0; } }

@keyframes expansion {
  0% {
    top: -64px; }
  100% {
    top: 64px; } }

@keyframes expansion {
  0% {
    top: -168px; }
  100% {
    top: 168px; } }

@keyframes showBtn {
  0% {
    -webkit-clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%);
            clip-path: polygon(0% 0%, 0% 0%, 0% 100%, 0% 100%); }
  100% {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
            clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); } }

@keyframes showBtn2 {
  0% {
    -webkit-clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
            clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%); }
  100% {
    -webkit-clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%);
            clip-path: polygon(100% 0%, 100% 0%, 100% 100%, 100% 100%); } }

@keyframes sliderAnimation {
  0% {
    transform: translate(0%, 0px); }
  100% {
    transform: translate(-50%, 0px); } }

@media only screen and (min-width: 1280px) {
  .is-sp {
    display: none !important; }
  html {
    scroll-padding-top: 111px;
    scroll-behavior: smooth; }
  body {
    font-family: "Noto Sans JP", sans-serif;
    color: #000;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: 'palt' on;
    background: #131313; }
  img {
    display: block;
    max-width: 100%; }
  a {
    color: inherit;
    transition: opacity 0.2s;
    text-decoration: none; }
    a:active, a:hover {
      opacity: 0.5;
      text-decoration: none; }
  .sup {
    display: inline-block;
    transform: scale(0.75) translate(0px, -20%); }
  .modal-video {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.75);
    z-index: 10000;
    opacity: 0.0;
    pointer-events: none;
    transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 100000; }
    .modal-video.show {
      opacity: 1.0;
      pointer-events: auto; }
    .modal-video .inner {
      width: calc(100% - 40px - 40px);
      max-width: 1280px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      .modal-video .inner:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 56.25%; }
      .modal-video .inner .btn-close {
        position: absolute;
        right: 0px;
        top: -50px;
        display: block;
        width: 50px;
        height: 50px; }
        .modal-video .inner .btn-close:before, .modal-video .inner .btn-close:after {
          content: "";
          display: block;
          width: 50px;
          height: 1px;
          background: white;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .modal-video .inner .btn-close:before {
          transform: translate(-50%, calc(-50%)) rotate(45deg); }
        .modal-video .inner .btn-close:after {
          transform: translate(-50%, calc(-50%)) rotate(-45deg); }
      .modal-video .inner video, .modal-video .inner iframe {
        position: absolute;
        top: 0%;
        left: 0px;
        width: 100%;
        height: 100%; }
}

@media only screen and (max-width: 1279px) {
  .is-pc {
    display: none !important; }
  html {
    scroll-behavior: smooth; }
  body {
    font-family: "Noto Sans JP", sans-serif;
    color: #000;
    -webkit-font-smoothing: antialiased;
    font-feature-settings: 'palt' on;
    background: #131313; }
  img {
    display: block;
    max-width: 100%; }
  a {
    color: inherit;
    transition: opacity 0.2s;
    text-decoration: none; }
    a:active, a:hover {
      opacity: 0.5;
      text-decoration: none; }
  .sup {
    display: inline-block;
    transform: scale(0.75) translate(0px, -20%); }
  .btn-menu {
    display: block;
    position: fixed;
    z-index: 2000;
    right: 20px;
    top: 65px;
    width: 33px;
    height: 33px;
    border-radius: 4px;
    background: #FFF;
    z-index: 100; }
    .btn-menu:before, .btn-menu:after {
      display: block;
      content: "";
      width: 16px;
      height: 1px;
      background: black;
      position: absolute;
      top: 50%;
      left: 50%; }
    .btn-menu:before {
      transform: translate(-50%, calc(-50% - 3.5px)); }
    .btn-menu:after {
      transform: translate(-50%, calc(-50% + 3.5px)); }
  .modal-video {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.75);
    z-index: 10000;
    opacity: 0.0;
    pointer-events: none;
    transition: 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    z-index: 1000; }
    .modal-video.show {
      opacity: 1.0;
      pointer-events: auto; }
    .modal-video .inner {
      width: calc(100% - 40px - 40px);
      max-width: 1280px;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
      .modal-video .inner:before {
        display: block;
        content: "";
        width: 100%;
        padding-top: 56.25%; }
      .modal-video .inner .btn-close {
        position: absolute;
        right: 0px;
        top: -50px;
        display: block;
        width: 50px;
        height: 50px; }
        .modal-video .inner .btn-close:before, .modal-video .inner .btn-close:after {
          content: "";
          display: block;
          width: 50px;
          height: 1px;
          background: white;
          position: absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          transition: transform 0.2s cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .modal-video .inner .btn-close:before {
          transform: translate(-50%, calc(-50%)) rotate(45deg); }
        .modal-video .inner .btn-close:after {
          transform: translate(-50%, calc(-50%)) rotate(-45deg); }
      .modal-video .inner video, .modal-video .inner iframe {
        position: absolute;
        top: 0%;
        left: 0px;
        width: 100%;
        height: 100%; }
  .menu {
    position: fixed;
    top: 0px;
    left: 0px;
    width: 100vw;
    height: 100%;
    padding-top: 56px;
    padding-left: 20px;
    padding-right: 20px;
    transition: opacity 0.2s ease-in;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
    z-index: 10000;
    opacity: 0.0;
    pointer-events: none;
    transition: opacity 0.4s cubic-bezier(0.23, 1, 0.32, 1);
    background: white; }
    .menu .btn-close {
      display: block;
      position: fixed;
      z-index: 2000;
      right: 20px;
      top: 65px;
      width: 33px;
      height: 33px;
      border-radius: 4px;
      background: #FFF;
      z-index: 100; }
      .menu .btn-close:before, .menu .btn-close:after {
        display: block;
        content: "";
        width: 45px;
        height: 1px;
        background: black;
        position: absolute;
        top: 50%;
        left: 50%; }
      .menu .btn-close:before {
        transform: translate(-50%, -50%) rotate(45deg); }
      .menu .btn-close:after {
        transform: translate(-50%, -50%) rotate(-45deg); }
    .menu.show {
      opacity: 1.0;
      pointer-events: auto; }
    .menu .logo {
      width: 231px;
      margin-bottom: 60px; }
      .menu .logo img {
        width: 100%; }
    .menu nav {
      padding-left: 13px; }
      .menu nav ul li {
        margin-bottom: 25px; }
        .menu nav ul li:last-child {
          margin-bottom: 0px; }
        .menu nav ul li a {
          display: block;
          position: relative; }
          .menu nav ul li a .label {
            font-size: 18px;
            font-style: normal;
            font-weight: 600;
            line-height: 186%;
            /* 33.48px */ }
          .menu nav ul li a .icon {
            position: absolute;
            width: 30px;
            height: 30px;
            background: #F3C422;
            border-radius: 39px;
            top: 50%;
            right: 20px;
            transform: translate(0px, -50%); }
            .menu nav ul li a .icon img {
              width: 13px;
              position: absolute;
              top: 50%;
              left: 50%;
              transform: translate(-50%, -50%) rotate(-90deg);
              filter: invert(1); }
            .menu .login a {
              width: 100%;
              display: block;
              text-align: center;
              font-weight: bold;
              font-size: 18px;
              border: 1px solid rgba(0,0,0,.15);
              padding-block: 8px;
              border-radius: 5px;
              line-height: 186%;
              margin-top: 24px;
              transition: all .2s;

              &:hover {
                opacity: 1;
                background: #f6f5f4;
              }
            }
}

.error404 {
  background: #131313;
  .pagetop {
    display: none;
  }
  .logo {
    img {
      margin: 0 auto;
    width: 360px;
    margin-bottom: 60px;
    }
  }
  header {
    box-shadow: 0px 0px 10px rgba(0,0,0,0.3);
  }
  .container {
    background: #fff;
  }
  .page404 {
    padding-top: 300px;
        padding-bottom: 300px;
        position: relative;
        @media (max-width: 767px) {
          padding-top: 60px;
        padding-bottom: 90px;
        padding-left: 20px;
        padding-right: 20px;
        position: relative;
        }

  }
  .inner {
    position: relative;
    text-align: center;
    max-width: 1600px;
    margin: 0 auto;
    h1 {
      font-size: 46px;
      margin-bottom: 50px;
    }
    p {
      font-size: 20px;
      margin-bottom: 10px;
    }
    .btn {
      margin: 0 auto;
    width: 360px;
    a {
      max-width: 360px;
    background: #FFDD29;
    padding: 20px 20px;
    font-size: 20px;
    margin-top: 39px;
    display: block;
    width: 100%;
    width: 360px;
    font-weight: bold;
    border-radius: 31px;
    }
  }
  }


}