@charset "UTF-8";
/* ======================================================================
 reset
====================================================================== */
/*
  Josh's Custom CSS Reset
  https://www.joshwcomeau.com/css/custom-css-reset/
*/
*, *::before, *::after {
  box-sizing: border-box;
}

* {
  margin: 0;
}

html {
  overflow-y: scroll;
}

body {
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%;
}

input, button, textarea, select {
  font: inherit;
}

p, h1, h2, h3, h4, h5, h6 {
  overflow-wrap: break-word;
}

ul {
  list-style: none;
  padding-left: 0;
}

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,
input, select, textarea {
  box-sizing: border-box;
}

html {
  /* Sets a specific default `font-size` for user with `rem` type scales.*/
  font-size: 62.5%;
  /* Changes the default tap highlight to be completely transparent in iOS.*/
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

body {
  color: #555555;
  line-height: 1.6;
  background: #fff;
  font-family: "Noto Sans JP", 游ゴシック体, "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Avenir, "Helvetica Neue", Helvetica, Arial, Verdana, Roboto, sans-serif;
  font-weight: 400;
  word-wrap: break-word;
  word-break: break-all;
  min-width: 1300px;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  body {
    min-width: inherit;
  }
}

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

strong {
  font-weight: bold;
}

a {
  transition: opacity 0.2s;
}
a:link {
  color: #555555;
  text-decoration: none;
  cursor: pointer;
}
a:visited {
  color: #555555;
  text-decoration: none;
}
a:hover {
  color: #555555;
  text-decoration: none;
  opacity: 0.8;
}
a:active {
  color: #555555;
  text-decoration: none;
}

a[href^=tel] {
  color: #555555;
}

:focus-ring {
  outline: none;
}

.contain {
  width: 1300px;
  min-width: 1300px;
  margin: 0 auto;
  padding: 0 20px;
}

/* input */
input, textarea, select {
  display: block;
  margin: 0;
  padding: 0;
  outline: none;
  border: none;
  -o-border-image: none;
     border-image: none;
  background: transparent;
  font-family: inherit;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input::-ms-expand, textarea::-ms-expand, select::-ms-expand {
  display: none;
}

textarea {
  resize: vertical;
}

input:-moz-placeholder-shown, textarea:-moz-placeholder-shown {
  color: #555555;
}

input:placeholder-shown, textarea:placeholder-shown {
  color: #555555;
}
input::-moz-placeholder, textarea::-moz-placeholder {
  color: #555555;
}
input::placeholder, textarea::placeholder {
  color: #555555;
}
input:focus:-moz-placeholder-shown, textarea:focus:-moz-placeholder-shown {
  color: #555555;
}
input:focus:placeholder-shown, textarea:focus:placeholder-shown {
  color: #555555;
}
input:focus::-moz-placeholder, textarea:focus::-moz-placeholder {
  color: #555555;
}
input:focus::placeholder, textarea:focus::placeholder {
  color: #555555;
}

/* ======================================================================
 layout
====================================================================== */
/* =================================
 l-footer
================================= */
.l-footer {
  padding-bottom: 78px;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding-bottom: calc(100 /750*100vw);
  }
}
.l-footer__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 20px;
}
@media screen and (max-width: 768px) {
  .l-footer__logo {
    width: calc(568 /750*100vw);
    margin-inline: auto;
    margin-bottom: calc(20 /750*100vw);
  }
}
.l-footer__copy {
  font-size: 1.1rem;
  color: #777777;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l-footer__copy {
    font-size: calc(18 /750*100vw);
  }
}

/* ======================================================================
 layout
====================================================================== */
/* =================================
 l-content__size
================================= */
.l-content__size-sp-1 {
  padding: 0 4%;
}
@media screen and (min-width: 1025px) {
  .l-content__size-sp-1 {
    max-width: 1300px;
    margin: 0 auto;
  }
}

.l-content__size-pc-1 {
  width: 1300px;
  margin: 0 auto;
  padding-inline: 50px;
}
@media screen and (max-width: 768px) {
  .l-content__size-pc-1 {
    width: auto;
    padding: 0 calc(30 /750*100vw);
  }
}

/* =================================
 l-header
================================= */
.l-header {
  z-index: 998;
  position: relative;
}
.l-header__logo {
  margin: 30px 0 -69px 30px;
}
@media screen and (max-width: 768px) {
  .l-header__logo {
    width: calc(380 /750*100vw);
    margin: calc(18 /750*100vw) auto calc(-69 /750*100vw);
  }
}

/* =================================
 l-header__sp
================================= */
.l-header__sp {
  z-index: 998;
}

/* =================================
 l-menu__sp
================================= */
.l-menu__sp {
  z-index: 999;
}

/* ======================================================================
 layout
====================================================================== */
/* =================================
 l_loader
================================= */
.l_loader {
  z-index: 1000;
}

/* =================================
 l_breadcrumbs
================================= */
/* =================================
 l_main_visual
================================= */
/* =================================
 l_main
================================= */
/* ======================================================================
 layout
====================================================================== */
/* =================================
 l_side
================================= */
.l_side {
  z-index: 996;
}

@keyframes bound {
  0% {
    transform: matrix3d(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  3.4% {
    transform: matrix3d(0.316, 0, 0, 0, 0, 0.407, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  4.7% {
    transform: matrix3d(0.45, 0, 0, 0, 0, 0.599, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  6.81% {
    transform: matrix3d(0.659, 0, 0, 0, 0, 0.893, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  9.41% {
    transform: matrix3d(0.883, 0, 0, 0, 0, 1.168, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  10.21% {
    transform: matrix3d(0.942, 0, 0, 0, 0, 1.226, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  13.61% {
    transform: matrix3d(1.123, 0, 0, 0, 0, 1.332, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  14.11% {
    transform: matrix3d(1.141, 0, 0, 0, 0, 1.331, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  17.52% {
    transform: matrix3d(1.208, 0, 0, 0, 0, 1.239, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  18.72% {
    transform: matrix3d(1.212, 0, 0, 0, 0, 1.187, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  21.32% {
    transform: matrix3d(1.196, 0, 0, 0, 0, 1.069, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  24.32% {
    transform: matrix3d(1.151, 0, 0, 0, 0, 0.96, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  25.23% {
    transform: matrix3d(1.134, 0, 0, 0, 0, 0.938, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  29.03% {
    transform: matrix3d(1.063, 0, 0, 0, 0, 0.897, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  29.93% {
    transform: matrix3d(1.048, 0, 0, 0, 0, 0.899, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  35.54% {
    transform: matrix3d(0.979, 0, 0, 0, 0, 0.962, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  36.74% {
    transform: matrix3d(0.972, 0, 0, 0, 0, 0.979, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  41.04% {
    transform: matrix3d(0.961, 0, 0, 0, 0, 1.022, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  44.44% {
    transform: matrix3d(0.966, 0, 0, 0, 0, 1.032, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  52.15% {
    transform: matrix3d(0.991, 0, 0, 0, 0, 1.006, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  59.86% {
    transform: matrix3d(1.006, 0, 0, 0, 0, 0.99, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  63.26% {
    transform: matrix3d(1.007, 0, 0, 0, 0, 0.992, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  75.28% {
    transform: matrix3d(1.001, 0, 0, 0, 0, 1.003, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  85.49% {
    transform: matrix3d(0.999, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  90.69% {
    transform: matrix3d(0.999, 0, 0, 0, 0, 0.999, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  100% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
}
@keyframes small-1 {
  0% {
    transform: matrix3d(0.5, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  1.2% {
    transform: matrix3d(0.691, 0, 0, 0, 0, 0.691, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  2.3% {
    transform: matrix3d(0.967, 0, 0, 0, 0, 0.967, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  3.5% {
    transform: matrix3d(1.207, 0, 0, 0, 0, 1.207, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  4.6% {
    transform: matrix3d(1.281, 0, 0, 0, 0, 1.281, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  5.91% {
    transform: matrix3d(1.192, 0, 0, 0, 0, 1.192, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  7.11% {
    transform: matrix3d(1.028, 0, 0, 0, 0, 1.028, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  8.31% {
    transform: matrix3d(0.892, 0, 0, 0, 0, 0.892, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  9.51% {
    transform: matrix3d(0.845, 0, 0, 0, 0, 0.845, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  11.91% {
    transform: matrix3d(0.979, 0, 0, 0, 0, 0.979, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  14.31% {
    transform: matrix3d(1.086, 0, 0, 0, 0, 1.086, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  19.22% {
    transform: matrix3d(0.953, 0, 0, 0, 0, 0.953, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  24.12% {
    transform: matrix3d(1.026, 0, 0, 0, 0, 1.026, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  29.03% {
    transform: matrix3d(0.986, 0, 0, 0, 0, 0.986, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  33.93% {
    transform: matrix3d(1.008, 0, 0, 0, 0, 1.008, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  38.74% {
    transform: matrix3d(0.996, 0, 0, 0, 0, 0.996, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  43.64% {
    transform: matrix3d(1.002, 0, 0, 0, 0, 1.002, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  48.55% {
    transform: matrix3d(0.999, 0, 0, 0, 0, 0.999, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  53.45% {
    transform: matrix3d(1.001, 0, 0, 0, 0, 1.001, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  58.26% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  63.16% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  68.07% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  72.97% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  77.88% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  82.68% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  87.59% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  92.49% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  97.4% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  100% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
}
@keyframes big4-1 {
  0% {
    transform: matrix3d(3, 0, 0, 0, 0, 3, 0, 0, 0, 0, 1, 0, 0, -150, 0, 1);
  }
  1.6% {
    transform: matrix3d(2.421, 0, 0, 0, 0, 2.421, 0, 0, 0, 0, 1, 0, 0, -81.848, 0, 1);
  }
  2.2% {
    transform: matrix3d(2.143, 0, 0, 0, 0, 2.143, 0, 0, 0, 0, 1, 0, 0, -62.523, 0, 1);
  }
  3.15% {
    transform: matrix3d(1.689, 0, 0, 0, 0, 1.689, 0, 0, 0, 0, 1, 0, 0, -38.993, 0, 1);
  }
  4.3% {
    transform: matrix3d(1.178, 0, 0, 0, 0, 1.178, 0, 0, 0, 0, 1, 0, 0, -20.454, 0, 1);
  }
  6.26% {
    transform: matrix3d(0.558, 0, 0, 0, 0, 0.558, 0, 0, 0, 0, 1, 0, 0, -5.963, 0, 1);
  }
  6.41% {
    transform: matrix3d(0.527, 0, 0, 0, 0, 0.527, 0, 0, 0, 0, 1, 0, 0, -5.42, 0, 1);
  }
  8.51% {
    transform: matrix3d(0.33, 0, 0, 0, 0, 0.33, 0, 0, 0, 0, 1, 0, 0, -2.002, 0, 1);
  }
  9.41% {
    transform: matrix3d(0.365, 0, 0, 0, 0, 0.365, 0, 0, 0, 0, 1, 0, 0, -1.763, 0, 1);
  }
  10.91% {
    transform: matrix3d(0.525, 0, 0, 0, 0, 0.525, 0, 0, 0, 0, 1, 0, 0, -1.733, 0, 1);
  }
  12.51% {
    transform: matrix3d(0.759, 0, 0, 0, 0, 0.759, 0, 0, 0, 0, 1, 0, 0, -1.664, 0, 1);
  }
  13.31% {
    transform: matrix3d(0.875, 0, 0, 0, 0, 0.875, 0, 0, 0, 0, 1, 0, 0, -1.562, 0, 1);
  }
  15.72% {
    transform: matrix3d(1.134, 0, 0, 0, 0, 1.134, 0, 0, 0, 0, 1, 0, 0, -1.086, 0, 1);
  }
  18.02% {
    transform: matrix3d(1.21, 0, 0, 0, 0, 1.21, 0, 0, 0, 0, 1, 0, 0, -0.634, 0, 1);
  }
  18.77% {
    transform: matrix3d(1.202, 0, 0, 0, 0, 1.202, 0, 0, 0, 0, 1, 0, 0, -0.517, 0, 1);
  }
  22.82% {
    transform: matrix3d(1.04, 0, 0, 0, 0, 1.04, 0, 0, 0, 0, 1, 0, 0, -0.151, 0, 1);
  }
  25.03% {
    transform: matrix3d(0.963, 0, 0, 0, 0, 0.963, 0, 0, 0, 0, 1, 0, 0, -0.077, 0, 1);
  }
  27.53% {
    transform: matrix3d(0.934, 0, 0, 0, 0, 0.934, 0, 0, 0, 0, 1, 0, 0, -0.037, 0, 1);
  }
  37.04% {
    transform: matrix3d(1.021, 0, 0, 0, 0, 1.021, 0, 0, 0, 0, 1, 0, 0, -0.002, 0, 1);
  }
  46.55% {
    transform: matrix3d(0.994, 0, 0, 0, 0, 0.994, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  50% {
    transform: matrix3d(0.997, 0, 0, 0, 0, 0.997, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  56.16% {
    transform: matrix3d(1.002, 0, 0, 0, 0, 1.002, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  65.67% {
    transform: matrix3d(0.999, 0, 0, 0, 0, 0.999, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  75.18% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  84.68% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  94.29% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
  100% {
    transform: matrix3d(1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1);
  }
}
@keyframes up {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes down {
  0% {
    transform: translateY(-20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
/* アニメーション */
.animation {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 5%;
  box-sizing: border-box;
}
.animation div {
  width: 23%;
  height: 300px;
  margin: 0 0 2.5vw;
  padding: 3%;
  box-sizing: border-box;
  background: #09c;
}

.c-sa {
  opacity: 0;
}
.c-sa.show {
  opacity: 1;
}

.c-sa__lr {
  transform: translate(-100px, 0);
  transition: transform 0.5s ease;
}
.c-sa__lr.show {
  transform: translate(0, 0);
}

.c-sa__rl {
  transform: translate(100px, 0);
  transition: transform 0.5s ease;
}
.c-sa__rl.show {
  transform: translate(0, 0);
}

.c-sa__up.show {
  animation: up 1s ease-in-out;
}

.c-sa__down.show {
  animation: down 1s ease-in-out;
}

.c-sa__scaleUp {
  transform: scale(0.5);
  transition: transform 0.5s ease;
}
.c-sa__scaleUp.show {
  transform: scale(1);
}

.c-sa__scaleDown {
  transform: scale(1.5);
  transition: transform 0.5s ease;
}
.c-sa__scaleDown.show {
  transform: scale(1);
}

.c-sa__rotateL {
  transform: rotate(180deg);
  transition: transform 0.5s ease;
}
.c-sa__rotateL.show {
  transform: rotate(0);
}

.c-sa__rotateR {
  transform: rotate(-180deg);
  transition: transform 0.5s ease;
}
.c-sa__rotateR.show {
  transform: rotate(0);
}

.c-sa__bound.show {
  animation: bound 1000ms linear both;
}

.c-sa__big.show {
  animation: big4-1 1500ms linear both;
}

.c-sa__small {
  transform: scale(0.5);
}
.c-sa__small.show {
  animation: small-1 1500ms linear both;
  transform: scale(1);
}

.c-sa__lr--path {
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  transition: 0.4s cubic-bezier(0.37, 0, 0.63, 1);
  transition-property: -webkit-clip-path;
  transition-property: clip-path;
  transition-property: clip-path, -webkit-clip-path;
}
@media screen and (max-width: 768px) {
  .c-sa__lr--path {
    transition: 0.2s cubic-bezier(0.37, 0, 0.63, 1);
  }
}
.c-sa__lr--path.show {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}

.p-index__mv-img {
  margin-inline: -400px;
  margin-bottom: -244px;
}
@media screen and (max-width: 768px) {
  .p-index__mv-img {
    margin: 0 calc(-30 /750*100vw) calc(-507 /750*100vw);
    background: #000;
  }
}
.p-index__mv-btn {
  display: flex;
  justify-content: center;
  margin-bottom: 119px;
}
@media screen and (max-width: 768px) {
  .p-index__mv-btn {
    margin-bottom: calc(161 /750*100vw);
  }
}
.p-index__contents {
  background: url(../img/bg_middle.png) center top/auto repeat-y;
  position: relative;
  padding-top: 113px;
  padding-bottom: 138px;
}
@media screen and (max-width: 768px) {
  .p-index__contents {
    background: url(../img/sp/bg_middle.png) center top/100% no-repeat;
    padding-top: calc(90 /750*100vw);
    padding-bottom: calc(178 /750*100vw);
  }
}
.p-index__contents:before {
  content: "";
  background: url(../img/bg_top.png) center bottom/auto no-repeat;
  position: absolute;
  top: -34px;
  left: 0;
  width: 100%;
  height: 34px;
}
@media screen and (max-width: 768px) {
  .p-index__contents:before {
    background: url(../img/sp/bg_top.png) center bottom/100% no-repeat;
    top: calc(-55 /750*100vw);
    height: calc(55 /750*100vw);
  }
}
.p-index__contents-campaign {
  position: relative;
  margin-right: -17px;
  margin-bottom: 58px;
}
@media screen and (max-width: 768px) {
  .p-index__contents-campaign {
    margin-right: 0;
    margin-bottom: calc(72 /750*100vw);
  }
}
.p-index__contents-campaign img {
  margin-top: -226px;
}
@media screen and (max-width: 768px) {
  .p-index__contents-campaign img {
    margin-top: calc(-180 /750*100vw);
  }
}
.p-index__contents-present {
  display: flex;
  justify-content: flex-end;
  margin-bottom: -27px;
}
@media screen and (max-width: 768px) {
  .p-index__contents-present {
    margin-bottom: calc(-29 /750*100vw);
  }
}
.p-index__contents-schedule {
  margin-right: -4px;
  margin-bottom: 60px;
}
@media screen and (max-width: 768px) {
  .p-index__contents-schedule {
    margin-right: 0;
    margin-bottom: calc(83 /750*100vw);
  }
}
.p-index__contents-about {
  display: flex;
  justify-content: center;
  margin-bottom: -45px;
}
@media screen and (max-width: 768px) {
  .p-index__contents-about {
    margin-inline: calc(-30 /750*100vw);
    margin-bottom: calc(-65 /750*100vw);
  }
}
.p-index__contents-btn-regist {
  display: flex;
  justify-content: center;
  margin-bottom: 50px;
}
@media screen and (max-width: 768px) {
  .p-index__contents-btn-regist {
    width: calc(610 /750*100vw);
    margin-inline: auto;
    margin-bottom: calc(50 /750*100vw);
  }
}
.p-index__contents-btn-contact {
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .p-index__contents-btn-contact {
    width: calc(550 /750*100vw);
    margin-inline: auto;
  }
}
.p-index__note {
  position: relative;
  padding-block: 62px 80px;
}
@media screen and (max-width: 768px) {
  .p-index__note {
    padding-block: calc(70 /750*100vw) calc(97 /750*100vw);
  }
}
.p-index__note:before {
  content: "";
  background: url(../img/bg_footer_top.png) center bottom/auto no-repeat;
  position: absolute;
  top: -30px;
  left: 0;
  width: 100%;
  height: 30px;
}
@media screen and (max-width: 768px) {
  .p-index__note:before {
    background: url(../img/sp/bg_footer_top.png) center bottom/100% no-repeat;
    top: calc(-47 /750*100vw);
    height: calc(47 /750*100vw);
  }
}
.p-index__note-box {
  background: #f4f4f4;
  border: 1px solid #d5d5d5;
  border-radius: 20px;
  margin-inline: 100px;
  padding: 30px 50px;
}
@media screen and (max-width: 768px) {
  .p-index__note-box {
    border-radius: calc(15 /750*100vw);
    margin-inline: calc(30 /750*100vw);
    padding: calc(50 /750*100vw) calc(30 /750*100vw);
  }
}
.p-index__note-box-ttl {
  font-size: 1.8rem;
  color: #000;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 768px) {
  .p-index__note-box-ttl {
    font-size: calc(24 /750*100vw);
    margin-bottom: calc(50 /750*100vw);
  }
}
.p-index__note-box-list {
  list-style: disc;
  font-size: 1.3rem;
  margin-left: 1.5em;
}
@media screen and (max-width: 768px) {
  .p-index__note-box-list {
    font-size: calc(20 /750*100vw);
  }
}

@media screen and (min-width: 769px) {
  .u-pc {
    display: block;
  }
  .u-sp {
    display: none;
  }
}
@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
  .u-sp {
    display: block;
  }
}