@charset "UTF-8";
/*---------------
  デバッグ用ここから
---------------*/
/*
a[href=""]:empty::before {
  content: "⚠ hrefが空です";
  color: red;
  font-size: 0.8em;
  background: rgba(255, 0, 0, 0.05);
  padding: 2px 4px;
  border-radius: 4px;
  animation: blink-text 1s infinite;
  display: inline-block;
  pointer-events: none;
}
a[href=""]:not(:empty) {
  outline: 2px dashed red;
  outline-offset: 2px;
  animation: blink-outline 0.5s infinite;
}
@keyframes blink-outline {
  0%, 100% {
    outline-color: red;
  }
  50% {
    outline-color: transparent;
  }
}
@keyframes blink-text {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.2;
  }
}
*/
/*---------------
  デバッグ用ここまで
---------------*/
:root {
  --red: #EA3B28;
  --header_height: 85px;
}
@media (max-width: 767px) {
  :root {
    --header_height: 56px;
  }
}

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

li {
  list-style: none;
}

img {
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", "YuGothic", "メイリオ", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  color: #222;
  -webkit-font-smoothing: antialiased;
}

@media (max-width: 1256px) {
  .pc {
    display: none;
  }
}

@media (max-width: 767px) {
  .pc_tb {
    display: none;
  }
}

.sp {
  display: none;
}
@media (max-width: 767px) {
  .sp {
    display: block;
  }
}

.js-animation {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}

.js-animation.is-animated {
  opacity: 1;
  transform: translateY(0);
}

.m-note_list--item {
  font-size: 12px;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
}
.m-note_list--item.no_indent {
  padding-left: 0;
  text-indent: 0;
}
.m-note_list--item + .m-note_list--item {
  margin-top: 4px;
}
.m-note_list--item > span {
  color: #FB3535;
}
@media (max-width: 767px) {
  .m-note_list--item {
    font-size: 10px;
  }
}

.m-sp_label {
  display: none;
}
@media (max-width: 767px) {
  .m-sp_label {
    color: #222;
    width: fit-content;
    padding-left: 15px;
    padding-right: 15px;
    border-radius: 9999px;
    background-color: #eaecf0;
    font-size: 10px;
    line-height: 1.5;
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    column-gap: 8px;
  }
  .m-sp_label:before {
    content: "";
    background-image: url("/etf/special/bullbear/images/m-sp_label-bgimg.png");
    background-repeat: no-repeat;
    background-size: contain;
    width: 16px;
    height: 17px;
  }
  .m-sp_label.white {
    background-color: #fff;
  }
}

@media (max-width: 1256px) {
  .m-wrap {
    padding-left: 5.55vw;
    padding-right: 5.55vw;
  }
}

/*--------------------------------------------------------------------------------
footer
--------------------------------------------------------------------------------*/
.footer {
  background: #222222;
  color: #ffffff;
  padding: 60px 20px 150px 20px;
}

.footer-01 > ul {
  font-size: 14px;
  line-height: 1.5;
  font-weight: bold;
}

.footer-01 > ul > li + li {
  margin-top: 24px;
}

.footer-01 > ul > li > a {
  position: relative;
  color: #ffffff;
  text-decoration: none;
}

.footer-02 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 48px;
  border-top: solid 1px #707070;
}

.footer-02-01 {
  order: 1;
  margin: 24px 0 0 0;
}

.footer-02-01-inner > dl {
  font-size: 10px;
  line-height: 1.6;
}

.footer-02-01-inner > dl > dt {
  font-weight: bold;
}

.footer-02-01-inner > dl > dt > span {
  padding: 0 0 0 1em;
}

.footer-02-01-inner-copyright {
  margin-top: 16px;
  font-size: 10px;
  line-height: 1.5;
  font-weight: bold;
}

.footer-02-02 {
  order: 0;
  margin: 48px auto 0 auto;
  width: 189px;
}

.footer-02 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 48px;
  border-top: solid 1px #707070;
}

/* ロゴ&ナビ無し */
.footer.footer-v2 {
  padding: 60px 20px;
}

.footer-03-inner > dl {
  font-size: 10px;
  line-height: 1.6;
}

.footer-03-inner > dl > dt {
  font-weight: bold;
}

.footer-03-inner > dl > dt > span {
  padding: 0 0 0 10px;
}

.footer-03-inner > dl > dt > br,
.footer-03-inner > dl > dd > br {
  display: none;
}

.footer-03-inner > dl > dd {
  margin: 16px 0 0 0;
}

.footer-03-inner-copyright {
  margin-top: 16px;
  font-size: 10px;
  line-height: 1.5;
  font-weight: bold;
}

@media screen and (min-width: 768px) {
  .footer {
    padding: 64px 60px 48px 60px;
  }
  .footer-wrap {
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
  }
  .footer-01 > ul {
    margin: -16px -20px 0 0;
    line-height: 32px;
  }
  .footer-01 > ul > li {
    display: inline-block;
    padding: 0 40px 0 0;
    margin: 16px 40px 0 0;
    border-right: solid 1px #ffffff;
  }
  .footer-01 > ul > li + li {
    padding: 0 40px 0 0;
    margin: 16px 40px 0 0;
  }
  .footer-01 > ul > li:last-child {
    padding: 0 0 0 0;
    margin: 16px 0 0 0;
    border-right: none;
  }
  .footer-01 > ul > li > a {
    transition: all 0.4s;
  }
  .footer-01 > ul > li > a:hover {
    color: #1265D6;
  }
  .footer-02 {
    display: flex;
    width: 100%;
    padding: 50px 0 0 0;
    margin: 0 0 0 0;
    border-top: none;
  }
  .footer-02-01 {
    order: 1;
    flex: 1;
    margin: 0 0 0 0;
    padding: 0 0 0 60px;
    text-align: right;
  }
  .footer-02-01-inner {
    display: inline-block;
    text-align: left;
  }
  .footer-02-01-inner > dl {
    font-size: 12px;
    line-height: 1.6;
  }
  .footer-02-02 {
    order: 0;
    width: 189px;
    margin: 0 0 0 0;
  }
  /* ロゴ&ナビ無し */
  .footer.footer-v2 {
    padding: 64px 60px 48px 60px;
    text-align: center;
  }
  .footer-03-inner > dl {
    font-size: 12px;
    line-height: 1.6;
  }
  .footer-03-inner > dl > dt > br,
  .footer-03-inner > dl > dd > br {
    display: block;
  }
}
.header {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-left: 40px;
  padding-right: 32px;
}
@media (max-width: 767px) {
  .header {
    padding-inline: 16px;
    padding-top: 16px;
  }
}
.header--logo_link {
  display: block;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .header--logo_link {
    margin-top: 0;
    max-width: 169px;
  }
}
.header--link {
  border-radius: 8px;
  background: #222;
  padding: 8px 16px;
  color: #fff;
  font-size: 20px;
  line-height: 1.5;
  margin-top: 32px;
}
@media (max-width: 767px) {
  .header--link {
    margin-top: 0;
    padding: 4px 8px;
    font-size: 14px;
  }
}

.risk {
  padding-top: 128px;
  padding-bottom: 128px;
}
@media (max-width: 767px) {
  .risk {
    padding-top: 32px;
    padding-bottom: 80px;
  }
}
.risk--ttl {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 32px;
  font-weight: bold;
  line-height: 1.5;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
@media (max-width: 767px) {
  .risk--ttl {
    font-size: 20px;
    padding-inline: 14px;
  }
}
.risk--desc {
  max-width: 1176px;
  margin: 0 auto;
  margin-top: 40px;
  padding: 24px 40px;
  border-radius: 8px;
  border: 1px solid #222;
  font-size: 16px;
  line-height: 2;
}
.risk--desc > .red {
  color: var(--red);
}
.risk--desc > .bold {
  font-weight: bold;
}
@media (max-width: 767px) {
  .risk--desc {
    padding: 16px 20px;
    margin-top: 32px;
    font-size: 14px;
  }
}

.disclaimer {
  background-color: #f5f5f5;
  padding-top: 128px;
  padding-bottom: 128px;
}
@media (max-width: 767px) {
  .disclaimer {
    padding-top: 80px;
    padding-bottom: 80px;
  }
}
.disclaimer--content {
  max-width: 1176px;
  margin: 0 auto;
}
.disclaimer--heading {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  row-gap: 4px;
  padding-bottom: 16px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221176%22%20height%3D%221%22%20viewBox%3D%220%200%201176%201%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%200.5H1176%22%20stroke%3D%22url%28%23paint0_linear_283_14714%29%22%2F%3E%3Cdefs%3E%3ClinearGradient%20id%3D%22paint0_linear_283_14714%22%20x1%3D%220%22%20y1%3D%221%22%20x2%3D%221176%22%20y2%3D%221%22%20gradientUnits%3D%22userSpaceOnUse%22%3E%3Cstop%20stop-color%3D%22%23309EBA%22%2F%3E%3Cstop%20offset%3D%221%22%20stop-color%3D%22%23D84821%22%2F%3E%3C%2FlinearGradient%3E%3C%2Fdefs%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: bottom left;
}
@media (max-width: 767px) {
  .disclaimer--heading {
    padding-bottom: 8px;
  }
}
.disclaimer--heading_ttl {
  margin-right: 8px;
  font-weight: 800;
  font-size: 24px;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .disclaimer--heading_ttl {
    margin-right: 0;
    font-size: 20px;
  }
}
.disclaimer--heading_desc {
  font-weight: 600;
  font-size: 16px;
  line-height: 1.5;
}
@media (max-width: 767px) {
  .disclaimer--heading_desc {
    font-size: 14px;
  }
}
.disclaimer--list {
  margin-top: 8px;
}
.disclaimer--item {
  position: relative;
  padding-left: 1em;
  text-indent: -1em;
  color: #000;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
}
.disclaimer--item.red {
  color: var(--red);
}
.disclaimer--item > .bold {
  font-weight: bold;
}
.disclaimer--item + .disclaimer--item {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .disclaimer--item {
    font-size: 12px;
  }
}
.disclaimer--desc {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.7;
}
.disclaimer--desc--indent {
  padding-left: 1em;
  text-indent: -1em;
}
.disclaimer--desc.bold {
  font-weight: 600;
}
.disclaimer--desc.red {
  color: var(--red);
}
.disclaimer--desc > .red {
  color: var(--red);
}
.disclaimer--desc > .medium {
  font-weight: 500;
}
.disclaimer--desc > .bold {
  font-weight: bold;
}
.disclaimer--desc + .disclaimer--desc {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .disclaimer--desc {
    font-size: 14px;
  }
}
.disclaimer--note_list {
  margin-top: 12px;
}
.disclaimer--note_item {
  color: #333;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  padding-left: 1em;
  text-indent: -1em;
}
.disclaimer--note_item:before {
  content: "※";
}
.disclaimer--note_item.red {
  color: var(--red);
}
.disclaimer--note_item + .disclaimer--note_item {
  margin-top: 4px;
}
@media (max-width: 767px) {
  .disclaimer--note_item {
    font-size: 10px;
  }
}
.disclaimer--head {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
}
@media (max-width: 767px) {
  .disclaimer--head {
    font-size: 16px;
  }
}
.disclaimer--lead {
  font-size: 18px;
  font-weight: 700;
  line-height: 1.5;
  color: #000;
}
@media (max-width: 767px) {
  .disclaimer--lead {
    font-size: 14px;
  }
}
.disclaimer--subhead {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: #333;
}
@media (max-width: 767px) {
  .disclaimer--subhead {
    font-size: 14px;
  }
}
.disclaimer--note_list + .disclaimer--heading, .disclaimer--list + .disclaimer--heading {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .disclaimer--note_list + .disclaimer--heading, .disclaimer--list + .disclaimer--heading {
    margin-top: 32px;
  }
}
.disclaimer--heading + .disclaimer--list {
  margin-top: 32px;
}
@media (max-width: 767px) {
  .disclaimer--heading + .disclaimer--list {
    margin-top: 24px;
  }
}
.disclaimer--heading + .disclaimer--desc {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--heading + .disclaimer--desc {
    margin-top: 16px;
  }
}
.disclaimer--desc + .disclaimer--list {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--list {
    margin-top: 12px;
  }
}
.disclaimer--desc + .disclaimer--note_list {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--note_list {
    margin-top: 16px;
  }
}
.disclaimer--list + .disclaimer--note_list {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--list + .disclaimer--note_list {
    margin-top: 16px;
  }
}
.disclaimer--desc + .disclaimer--head {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--head {
    margin-top: 32px;
  }
}
.disclaimer--list + .disclaimer--heading_desc, .disclaimer--note_list + .disclaimer--heading_desc {
  margin-top: 28px;
}
@media (max-width: 767px) {
  .disclaimer--list + .disclaimer--heading_desc, .disclaimer--note_list + .disclaimer--heading_desc {
    margin-top: 20px;
  }
}
.disclaimer--head + .disclaimer--desc {
  margin-top: 4px;
}
.disclaimer--head + .disclaimer--lead {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--head + .disclaimer--lead {
    margin-top: 8px;
  }
}
.disclaimer--head + .disclaimer--heading_desc {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--head + .disclaimer--heading_desc {
    margin-top: 16px;
  }
}
.disclaimer--desc + .disclaimer--lead {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--lead {
    margin-top: 8px;
  }
}
.disclaimer--desc + .disclaimer--heading_desc {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--heading_desc {
    margin-top: 16px;
  }
}
.disclaimer--desc + .disclaimer--subhead {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--subhead {
    margin-top: 8px;
  }
}
.disclaimer--lead + .disclaimer--list {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .disclaimer--lead + .disclaimer--list {
    margin-top: 4px;
  }
}
.disclaimer--lead + .disclaimer--desc {
  margin-top: 4px;
}
@media (max-width: 767px) {
  .disclaimer--lead + .disclaimer--desc {
    margin-top: 4px;
  }
}
.disclaimer--heading_desc + .disclaimer--desc {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .disclaimer--heading_desc + .disclaimer--desc {
    margin-top: 8px;
  }
}
.disclaimer--heading_desc + .disclaimer--list {
  margin-top: 4px;
}
@media (max-width: 767px) {
  .disclaimer--heading_desc + .disclaimer--list {
    margin-top: 4px;
  }
}
.disclaimer--heading_desc + .disclaimer--note_list {
  margin-top: 4px;
}
@media (max-width: 767px) {
  .disclaimer--heading_desc + .disclaimer--note_list {
    margin-top: 4px;
  }
}
.disclaimer--subhead + .disclaimer--heading_desc {
  margin-top: 4px;
}
@media (max-width: 767px) {
  .disclaimer--subhead + .disclaimer--heading_desc {
    margin-top: 4px;
  }
}
.disclaimer--subhead + .disclaimer--desc {
  margin-top: 8px;
}
@media (max-width: 767px) {
  .disclaimer--subhead + .disclaimer--desc {
    margin-top: 4px;
  }
}
.disclaimer--desc + .disclaimer--subhead-wide {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--subhead-wide {
    margin-top: 16px;
  }
}
.disclaimer--note_list + .disclaimer--note_list {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--note_list + .disclaimer--note_list {
    margin-top: 12px;
  }
}
.disclaimer--heading + .disclaimer--head {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--heading + .disclaimer--head {
    margin-top: 12px;
  }
}
.disclaimer--note_list + .disclaimer--head {
  margin-top: 24px;
}
@media (max-width: 767px) {
  .disclaimer--note_list + .disclaimer--head {
    margin-top: 16px;
  }
}
.disclaimer--subhead + .disclaimer--lead {
  margin-top: 16px;
}
@media (max-width: 767px) {
  .disclaimer--subhead + .disclaimer--lead {
    margin-top: 12px;
  }
}
.disclaimer--desc + .disclaimer--heading {
  margin-top: 56px;
}
@media (max-width: 767px) {
  .disclaimer--desc + .disclaimer--heading {
    margin-top: 40px;
  }
}

.fixed_scroll {
  position: absolute;
  z-index: 3;
  left: 40px;
  top: 627px;
  writing-mode: vertical-rl;
  text-decoration: none;
  color: #222;
  font-family: "Noto Serif JP", serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
}
.fixed_scroll::after {
  content: "";
  display: inline-block;
  width: 15px;
  height: 56px;
  margin-top: 16px;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2215%22%20height%3D%2256%22%20viewBox%3D%220%200%2015%2056%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M1%2054.2969L13.6484%2041.6484L14.3555%2042.3555L1%2055.7109V56H0V0H1V54.2969Z%22%20fill%3D%22black%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  animation: scroll_arrow 2s ease-in-out infinite;
}
@media (max-width: 767px) {
  .fixed_scroll {
    font-size: calc(12 / 375 * 100vw);
    left: calc(16 / 375 * 100vw);
    top: calc(410 / 375 * 100vw);
  }
}

@keyframes scroll_arrow {
  0% {
    opacity: 0;
    transform: translateY(-8px);
  }
  30% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(8px);
  }
}
.visual {
  --z-firework_img: 0;
  --z-cloud_wrap: 1;
  --z-halo_img: 2;
  --z-festa_img: 3;
  --z-box_img: 4;
  --z-lead: 5;
  --z-desc: 6;
  --z-ttl: 7;
  position: relative;
  z-index: 1;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20filter%3D%22url%28%23filter0_n_522_9128%29%22%3E%3Crect%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22white%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3Cfilter%20id%3D%22filter0_n_522_9128%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2280%22%20height%3D%2280%22%20filterUnits%3D%22userSpaceOnUse%22%20color-interpolation-filters%3D%22sRGB%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%2F%3E%3CfeBlend%20mode%3D%22normal%22%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%2F%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.5%200.5%22%20stitchTiles%3D%22stitch%22%20numOctaves%3D%223%22%20result%3D%22noise%22%20seed%3D%22843%22%20%2F%3E%3CfeColorMatrix%20in%3D%22noise%22%20type%3D%22luminanceToAlpha%22%20result%3D%22alphaNoise%22%20%2F%3E%3CfeComponentTransfer%20in%3D%22alphaNoise%22%20result%3D%22coloredNoise1%22%3E%3CfeFuncA%20type%3D%22discrete%22%20tableValues%3D%221%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20%22%2F%3E%3C%2FfeComponentTransfer%3E%3CfeComposite%20operator%3D%22in%22%20in2%3D%22shape%22%20in%3D%22coloredNoise1%22%20result%3D%22noise1Clipped%22%20%2F%3E%3CfeFlood%20flood-color%3D%22rgba%280%2C%200%2C%200%2C%200.05%29%22%20result%3D%22color1Flood%22%20%2F%3E%3CfeComposite%20operator%3D%22in%22%20in2%3D%22noise1Clipped%22%20in%3D%22color1Flood%22%20result%3D%22color1%22%20%2F%3E%3CfeMerge%20result%3D%22effect1_noise_522_9128%22%3E%3CfeMergeNode%20in%3D%22shape%22%20%2F%3E%3CfeMergeNode%20in%3D%22color1%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3C%2Fsvg%3E"), linear-gradient(180deg, #1557BA 0%, #2EA8C7 26.92%, #FFF 55.29%, #FFFAEC 73.56%, #F03F0E 100%);
  background-blend-mode: multiply, normal;
  padding-top: 40px;
  min-height: 987px;
  overflow-x: clip;
}
@media (max-width: 767px) {
  .visual {
    min-height: calc(618 / 375 * 100vw);
    padding-top: calc(121 / 375 * 100vw);
    background-size: 40px 40px, auto auto;
  }
}
.visual--halo_img_picture {
  display: contents;
}
.visual--halo_img {
  position: absolute;
  z-index: var(--z-halo_img);
  top: 100px;
  left: 50%;
  transform: translateX(-50%);
  animation: fadeIn 1.2s ease-out 2s both;
}
@media (max-width: 767px) {
  .visual--halo_img {
    max-width: initial;
    width: calc(440 / 375 * 100vw);
    top: calc(150 / 375 * 100vw);
  }
}
.visual--firework_img {
  position: absolute;
  z-index: var(--z-firework_img);
  left: 50%;
  transform: translateX(-50%);
  top: 0;
  width: 1287px;
}
@media (max-width: 767px) {
  .visual--firework_img {
    width: calc(513 / 375 * 100vw);
    top: calc(50 / 375 * 100vw);
  }
}
.visual--cloud_wrap {
  position: absolute;
  z-index: var(--z-cloud_wrap);
  top: 363px;
  left: 0;
  right: 0;
  overflow: hidden;
}
@media (max-width: 767px) {
  .visual--cloud_wrap {
    top: calc(169 / 375 * 100vw);
  }
}
.visual--cloud_track {
  display: flex;
  width: max-content;
  animation: cloudMove 60s linear infinite;
}
.visual--cloud_img_picture {
  display: contents;
}
.visual--cloud_img {
  flex-shrink: 0;
}
@media (max-width: 767px) {
  .visual--cloud_img {
    width: calc(648 / 375 * 100vw);
  }
}
.visual--festa_img {
  mask-image: linear-gradient(to right, transparent 0, black 100px, black calc(100% - 100px), transparent 100%);
  display: block;
  width: 1920px;
  height: 600px;
  max-width: initial;
  position: relative;
  z-index: var(--z-festa_img);
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  animation: slideUpFadeInCenter 0.6s ease-out 1s both;
}
@media (max-width: 767px) {
  .visual--festa_img {
    mask-image: none;
    width: calc(375 / 375 * 100vw);
    height: auto;
  }
}
.visual--ttl {
  --offset: -267px;
  position: relative;
  z-index: var(--z-ttl);
  top: var(--offset);
  margin-bottom: var(--offset);
}
@media (max-width: 767px) {
  .visual--ttl {
    --offset: calc(-60 / 375 * 100vw);
  }
}
.visual--label_img {
  display: block;
  margin: 0 auto;
  margin-bottom: -40px;
  animation: slideUpFadeIn 0.6s ease-out 1.2s both;
}
@media (max-width: 767px) {
  .visual--label_img {
    width: calc(244 / 375 * 100vw);
    margin-bottom: calc(-16 / 375 * 100vw);
  }
}
.visual--ttl_img {
  display: block;
  margin: 0 auto;
  animation: slideUpFadeIn 0.6s ease-out 1.4s both;
  padding-inline: 60px;
}
@media (max-width: 767px) {
  .visual--ttl_img {
    padding-inline: 0;
    width: calc(343 / 375 * 100vw);
  }
}
.visual--lead {
  position: relative;
  z-index: var(--z-lead);
  font-family: "Noto Serif JP", serif;
  font-weight: 900;
  font-size: 56px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  margin-top: 24px;
  animation: slideUpFadeIn 0.6s ease-out 1.5s both;
  padding-inline: 60px;
}
@media (max-width: 767px) {
  .visual--lead {
    padding-inline: 0;
    font-size: calc(26 / 375 * 100vw);
    line-height: 1.3;
    letter-spacing: 0;
  }
}
.visual--desc {
  position: relative;
  z-index: var(--z-desc);
  font-family: "Noto Serif JP", serif;
  font-weight: bold;
  font-size: 32px;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
  animation: slideUpFadeIn 0.6s ease-out 1.65s both;
}
@media (max-width: 767px) {
  .visual--desc {
    font-size: calc(16 / 375 * 100vw);
    margin-top: calc(4 / 375 * 100vw);
  }
}
.visual--box_img {
  position: relative;
  z-index: var(--z-box_img);
  display: block;
  margin: 0 auto;
  margin-top: 24px;
  animation: slideUpFadeIn 0.6s ease-out 1.8s both;
}
@media (max-width: 767px) {
  .visual--box_img {
    width: calc(282 / 375 * 100vw);
    margin-top: calc(16 / 375 * 100vw);
  }
}

@keyframes spinBam {
  0% {
    opacity: 0;
    transform: rotate(-12deg) scale(0.5);
  }
  55% {
    opacity: 1;
    transform: rotate(-12deg) scale(1.15);
  }
  75% {
    transform: rotate(-12deg) scale(0.94);
  }
  90% {
    transform: rotate(-12deg) scale(1.06);
  }
  100% {
    opacity: 1;
    transform: rotate(-12deg) scale(1);
  }
}
@keyframes cloudMove {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideUpFadeIn {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideUpFadeInCenter {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
@keyframes cloudFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-8px);
  }
}
@keyframes cloudFloatCenter {
  0%, 100% {
    transform: translateX(-50%) translateY(0);
  }
  50% {
    transform: translateX(-50%) translateY(-8px);
  }
}
.visual_seacloud {
  --z-img: 2;
  --z-left_img: 1;
  --z-right_img: 1;
  position: absolute;
  top: calc(100% - 115px);
  left: 0;
  right: 0;
}
@media (max-width: 767px) {
  .visual_seacloud {
    top: auto;
    bottom: calc(-63 / 375 * 100vw);
  }
}
.visual_seacloud--img_picture {
  display: contents;
}
.visual_seacloud--img {
  z-index: var(--z-img);
  position: relative;
  max-width: initial;
  left: 50%;
  transform: translateX(-50%);
  animation: cloudFloatCenter 5s ease-in-out infinite;
}
@media (max-width: 767px) {
  .visual_seacloud--img {
    width: calc(523 / 375 * 100vw);
  }
}
.visual_seacloud--left_img_picture {
  display: contents;
}
.visual_seacloud--left_img {
  z-index: var(--z-left_img);
  position: absolute;
  left: 0;
  top: -59px;
  animation: cloudFloat 5s ease-in-out 0.7s infinite;
}
@media (max-width: 767px) {
  .visual_seacloud--left_img {
    width: calc(212 / 375 * 100vw);
    left: calc(-134 / 375 * 100vw);
  }
}
.visual_seacloud--right_img_picture {
  display: contents;
}
.visual_seacloud--right_img {
  z-index: var(--z-right_img);
  position: absolute;
  right: -173px;
  top: -59px;
  animation: cloudFloat 5s ease-in-out 1.5s infinite;
}
@media (max-width: 767px) {
  .visual_seacloud--right_img {
    width: calc(222 / 375 * 100vw);
    top: calc(-75 / 375 * 100vw);
    right: calc(-122 / 375 * 100vw);
  }
}

.concept--content {
  max-width: 1176px;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .concept--content {
    width: fit-content;
  }
}
.concept--ttl {
  font-family: "Noto Serif JP", serif;
  font-size: 112px;
  font-weight: 900;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .concept--ttl {
    font-size: 38px;
  }
}
.concept--desc {
  margin-top: 80px;
  font-size: 32px;
  font-weight: bold;
  line-height: 2.4;
}
.concept--desc > .red {
  color: var(--red);
}
@media (max-width: 767px) {
  .concept--desc {
    margin-top: 40px;
    font-size: 16px;
    word-break: keep-all;
    overflow-wrap: anywhere;
  }
}
.concept--desc_note {
  display: block;
  font-weight: normal;
  margin-top: 40px;
  font-size: 20px;
  line-height: 1.7;
  padding-left: 1em;
  text-indent: -1em;
}
@media (max-width: 767px) {
  .concept--desc_note {
    margin-top: 16px;
    font-size: 12px;
  }
}

@keyframes float {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(20px);
  }
  100% {
    transform: translateX(0);
  }
}
.concept_info_wrap {
  position: relative;
  overflow-x: clip;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2280%22%20height%3D%2280%22%20viewBox%3D%220%200%2080%2080%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cg%20filter%3D%22url%28%23filter0_n_387_4345%29%22%3E%3Crect%20width%3D%2280%22%20height%3D%2280%22%20fill%3D%22black%22%2F%3E%3C%2Fg%3E%3Cdefs%3E%3Cfilter%20id%3D%22filter0_n_387_4345%22%20x%3D%220%22%20y%3D%220%22%20width%3D%2280%22%20height%3D%2280%22%20filterUnits%3D%22userSpaceOnUse%22%20color-interpolation-filters%3D%22sRGB%22%3E%3CfeFlood%20flood-opacity%3D%220%22%20result%3D%22BackgroundImageFix%22%2F%3E%3CfeBlend%20mode%3D%22normal%22%20in%3D%22SourceGraphic%22%20in2%3D%22BackgroundImageFix%22%20result%3D%22shape%22%2F%3E%3CfeTurbulence%20type%3D%22fractalNoise%22%20baseFrequency%3D%220.5%200.5%22%20stitchTiles%3D%22stitch%22%20numOctaves%3D%223%22%20result%3D%22noise%22%20seed%3D%22843%22%20%2F%3E%3CfeColorMatrix%20in%3D%22noise%22%20type%3D%22luminanceToAlpha%22%20result%3D%22alphaNoise%22%20%2F%3E%3CfeComponentTransfer%20in%3D%22alphaNoise%22%20result%3D%22coloredNoise1%22%3E%3CfeFuncA%20type%3D%22discrete%22%20tableValues%3D%221%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%201%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%200%20%22%2F%3E%3C%2FfeComponentTransfer%3E%3CfeComposite%20operator%3D%22in%22%20in2%3D%22shape%22%20in%3D%22coloredNoise1%22%20result%3D%22noise1Clipped%22%20%2F%3E%3CfeFlood%20flood-color%3D%22rgba%28255%2C%20255%2C%20255%2C%200.1%29%22%20result%3D%22color1Flood%22%20%2F%3E%3CfeComposite%20operator%3D%22in%22%20in2%3D%22noise1Clipped%22%20in%3D%22color1Flood%22%20result%3D%22color1%22%20%2F%3E%3CfeMerge%20result%3D%22effect1_noise_387_4345%22%3E%3CfeMergeNode%20in%3D%22shape%22%20%2F%3E%3CfeMergeNode%20in%3D%22color1%22%20%2F%3E%3C%2FfeMerge%3E%3C%2Ffilter%3E%3C%2Fdefs%3E%3C%2Fsvg%3E"), url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%22240%22%20height%3D%22240%22%20viewBox%3D%220%200%20240%20240%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M240%20240H120V120H240V240ZM120%20120H0V0H120V120Z%22%20fill%3D%22%23E7DBAA%22%2F%3E%3C%2Fsvg%3E"), linear-gradient(180deg, #FAE6BC 0%, #E6CC94 100%);
  background-size: 80px 80px, 240px 240px, auto;
  background-blend-mode: screen, normal, normal;
  padding-top: 311px;
  padding-bottom: 211px;
}
@media (max-width: 767px) {
  .concept_info_wrap {
    padding-top: 176px;
    padding-bottom: 187px;
  }
}
.concept_info_wrap--cloud_img {
  position: absolute;
  animation: float 4s ease-in-out infinite;
}
.concept_info_wrap--cloud_img-01 {
  top: 156px;
  left: calc(50% - 893px);
}
.concept_info_wrap--cloud_img-02 {
  top: 510px;
  left: calc(50% - 1047px);
  animation-delay: 0.8s;
}
.concept_info_wrap--cloud_img-03 {
  top: 510px;
  right: calc(50% - 858px);
  animation-delay: 1.4s;
}
.concept_info_wrap--cloud_img-04 {
  top: 995px;
  left: calc(50% + 431px);
  animation-delay: 2s;
}
@media (max-width: 1256px) {
  .concept_info_wrap--cloud_img {
    display: none;
  }
}
@media (max-width: 767px) {
  .concept_info_wrap--cloud_img {
    display: block;
  }
  .concept_info_wrap--cloud_img-01 {
    width: 230px;
    left: -59px;
    top: 87px;
  }
  .concept_info_wrap--cloud_img-02 {
    display: none;
  }
  .concept_info_wrap--cloud_img-03 {
    width: 273px;
    right: -115px;
    top: 286px;
  }
  .concept_info_wrap--cloud_img-04 {
    width: 310px;
    left: auto;
    right: -86px;
    top: 761px;
  }
}

.info {
  padding-top: 168px;
  position: relative;
}
.info--ttl {
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 56px;
  font-weight: 900;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .info--ttl {
    font-size: 24px;
  }
}
.info--lead_wrap {
  position: relative;
  overflow-x: clip;
  margin-top: 24px;
}
@media (max-width: 767px) {
  .info--lead_wrap {
    margin-top: 16px;
  }
}
.info--lead_img {
  display: block;
  margin: 0 auto;
}
@media (max-width: 767px) {
  .info--lead_img {
    width: 289px;
  }
}
.info--lead_cat_img {
  position: absolute;
  left: calc(50% - 585px);
  top: 0;
}
@media (max-width: 767px) {
  .info--lead_cat_img {
    left: calc(50% - 136px - 10px);
    top: 65px;
    width: 136px;
  }
}
.info--lead_label {
  position: absolute;
  left: calc(50% + 215px);
  top: 150px;
  display: inline-flex;
  transform: rotate(-12deg);
  padding: 5px 24px 12px 24px;
  justify-content: center;
  align-items: center;
  gap: 10px;
  background: var(--red, #EA3B28);
  box-shadow: 0 6px 12px 0 rgba(0, 0, 0, 0.16);
  color: #FFF;
  text-align: center;
  font-family: "Noto Serif JP", serif;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.3;
  opacity: 0;
}
.info--lead_label.is-active {
  animation: spinBam 0.7s ease-out forwards;
}
@media (max-width: 767px) {
  .info--lead_label {
    left: calc(50% + 3px);
    top: 85px;
    font-size: 24px;
    padding: 3px 12px 8px 12px;
  }
}

.ifree_banner {
  padding-bottom: 168px;
}
@media (max-width: 767px) {
  .ifree_banner {
    padding-bottom: 120px;
  }
}
.ifree_banner--ttl {
  padding-top: 210px;
  padding-bottom: 56px;
  background-color: #5FBDD5;
  position: relative;
  overflow: clip;
}
.ifree_banner--ttl:before {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%224909%22%20height%3D%22900%22%20viewBox%3D%220%200%204909%20900%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%200L4909%20542L0%20899.5V0Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  width: 4909px;
  height: 900px;
  top: -91px;
  left: calc(50% - 2454.5px);
  transform-origin: left top;
  scale: 0 1;
  transition: 1s;
}
.is-animated .ifree_banner--ttl:before {
  scale: 1 1;
}
@media (max-width: 767px) {
  .ifree_banner--ttl {
    padding-top: calc(86 / 375 * 100vw);
    padding-bottom: calc(24 / 375 * 100vw);
  }
  .ifree_banner--ttl:before {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%221537%22%20height%3D%22326%22%20viewBox%3D%220%200%201537%20326%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M0%200L1537%20164L0%20326V0Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
    width: calc(1537 / 375 * 100vw);
    height: calc(326 / 375 * 100vw);
    left: calc(50% - 1537 / 375 * 100vw / 2);
    top: calc(-8 / 375 * 100vw);
  }
}
.ifree_banner--ttl_lead_img {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  display: block;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.is-animated .ifree_banner--ttl_lead_img {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.5s;
}
@media (max-width: 767px) {
  .ifree_banner--ttl_lead_img {
    width: calc(287 / 375 * 100vw);
  }
}
.ifree_banner--ttl_logo_img {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  display: block;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
.is-animated .ifree_banner--ttl_logo_img {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.5s;
}
@media (max-width: 767px) {
  .ifree_banner--ttl_logo_img {
    width: calc(295 / 375 * 100vw);
  }
}
.ifree_banner--ttl_txt_img {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 0.6s ease, transform 0.6s ease;
  display: block;
  margin: 0 auto;
  margin-top: 30px;
  position: relative;
  z-index: 1;
}
.is-animated .ifree_banner--ttl_txt_img {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.7s;
}
@media (max-width: 767px) {
  .ifree_banner--ttl_txt_img {
    width: calc(229 / 375 * 100vw);
    margin-top: calc(4 / 375 * 100vw);
  }
}
.ifree_banner--series_img_picture {
  display: block;
  padding-top: 35px;
  padding-bottom: 35px;
  text-align: center;
}
@media (max-width: 767px) {
  .ifree_banner--series_img_picture {
    padding-top: calc(16 / 375 * 100vw);
    padding-bottom: calc(16 / 375 * 100vw);
  }
}
@media (max-width: 767px) {
  .ifree_banner--series_img {
    width: calc(326 / 375 * 100vw);
  }
}
.ifree_banner--link {
  border-radius: 999px;
  background: linear-gradient(90deg, #0F77BD 0%, #47B6EF 100%);
  box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.16);
  padding: 40px 240px;
  display: block;
  width: fit-content;
  margin: 0 auto;
  margin-top: 40px;
}
@media (hover: hover) {
  .ifree_banner--link {
    transition: 0.2s;
  }
  .ifree_banner--link:hover {
    opacity: 0.8;
  }
}
@media (max-width: 767px) {
  .ifree_banner--link {
    padding: calc(16 / 375 * 100vw) calc(40 / 375 * 100vw);
    margin-top: calc(16 / 375 * 100vw);
  }
}
.ifree_banner--link_txt {
  color: #FFF;
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  line-height: 1.5;
  display: flex;
  align-items: center;
  column-gap: 24px;
}
.ifree_banner--link_txt:after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20width%3D%2240%22%20height%3D%2240%22%20viewBox%3D%220%200%2040%2040%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M38.334%2020C38.334%2030.1252%2030.1252%2038.333%2020%2038.333C9.87493%2038.3328%201.66699%2030.1251%201.66699%2020C1.66703%209.87493%209.87496%201.66717%2020%201.66699C30.1252%201.66699%2038.3339%209.87482%2038.334%2020ZM30%2020C30%2019.6717%2029.8804%2019.3555%2029.665%2019.1064L29.5674%2019.0049L22.2207%2012.0596C21.6552%2011.5253%2020.7511%2011.5376%2020.2012%2012.0869C19.6513%2012.6368%2019.6632%2013.516%2020.2285%2014.0508L25.0527%2018.6113H11.4287C10.6398%2018.6113%2010%2019.233%2010%2020C10%2020.7671%2010.6397%2021.3887%2011.4287%2021.3887H25.0527L20.2285%2025.9492C19.6631%2026.484%2019.6513%2027.3632%2020.2012%2027.9131C20.7511%2028.4625%2021.6552%2028.4748%2022.2207%2027.9404L29.5674%2020.9961C29.8439%2020.7346%2030%2020.375%2030%2020Z%22%20fill%3D%22white%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-size: contain;
  width: 40px;
  height: 40px;
}
@media (max-width: 767px) {
  .ifree_banner--link_txt {
    font-size: calc(20 / 375 * 100vw);
    column-gap: calc(12 / 375 * 100vw);
  }
  .ifree_banner--link_txt:after {
    width: calc(24 / 375 * 100vw);
    height: calc(24 / 375 * 100vw);
  }
}

/*# sourceMappingURL=style.css.map */
