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

a,
hr {
  padding: 0
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  vertical-align: baseline;
  background: 0 0;
  font-size: 100%
}

ins,
mark {
  background-color: #ff9;
  color: #191919
}

ul,
ol {
  list-style: none
}

blockquote,
q {
  quotes: none
}

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

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

a {
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: 0 0;
  text-decoration: none
}

ins {
  text-decoration: none
}

mark {
  font-style: italic;
  font-weight: 700
}

del {
  text-decoration: line-through
}

abbr[title],
dfn[title] {
  border-bottom: 1px dotted;
  cursor: help
}

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

hr {
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0
}

input,
select {
  vertical-align: middle
}

.defs {
  display: none
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-weight: 500
}

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

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 0;
  font: inherit;
  outline: none
}

textarea {
  resize: vertical
}

input[type=checkbox],
input[type=radio] {
  display: none
}

input[type=submit],
input[type=button],
label,
button,
select {
  cursor: pointer
}

svg {
  vertical-align: top
}

body {
  line-height: 1.2;
  letter-spacing: .06em;
  color: #1e1e1e;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased
}

html {
  font-size: 62.5%
}

body {
  font-size: 1.6rem;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-feature-settings: "pwid"1
}

.fJost {
  font-family: "Jost", sans-serif;
  font-weight: 500
}

.fLato {
  font-family: "Lato", sans-serif;
  font-weight: 700
}

.sBlock,
.mBlock,
.lBlock {
  position: relative;
  width: 100%;
  box-sizing: border-box
}

.sBlock {
  padding-left: calc(11% + 40px);
  padding-right: calc(11% + 40px)
}

@media screen and (max-width: 1024px) {
  .sBlock {
    padding-left: calc(5.5% + 20px);
    padding-right: calc(5.5% + 20px)
  }
}

@media screen and (max-width: 680px) {
  .sBlock {
    padding-left: calc(2.75% + 10px);
    padding-right: calc(2.75% + 10px)
  }
}

.mBlock {
  padding-left: calc(8% + 30px);
  padding-right: calc(8% + 30px)
}

@media screen and (max-width: 1024px) {
  .mBlock {
    padding-left: calc(7% + 15px);
    padding-right: calc(7% + 15px)
  }
}

@media screen and (max-width: 680px) {
  .mBlock {
    padding-left: calc(6% + 7.5px);
    padding-right: calc(6% + 7.5px)
  }
}

.lBlock {
  padding-left: calc(5% + 10px);
  padding-right: calc(5% + 10px)
}

@media screen and (max-width: 1024px) {
  .lBlock {
    padding-left: calc(3% + 10px);
    padding-right: calc(3% + 10px)
  }
}

@media screen and (max-width: 680px) {
  .lBlock {
    padding-left: calc(3% + 10px);
    padding-right: calc(3% + 10px)
  }
}

br.show-m {
  display: none
}

@media screen and (max-width: 1024px) {
  br.show-m {
    display: block
  }
}

br.show-s {
  display: none
}

@media screen and (max-width: 680px) {
  br.show-s {
    display: block
  }
}

[class^=pt_] {
  position: relative
}

[class^=pb_] {
  position: relative
}

.pt_30 {
  padding-top: 30%
}

.pt_28 {
  padding-top: 28%
}

.pt_26 {
  padding-top: 26%
}

.pt_24 {
  padding-top: 24%
}

.pt_22 {
  padding-top: 22%
}

.pt_20 {
  padding-top: 20%
}

.pt_18 {
  padding-top: 18%
}

.pt_16 {
  padding-top: 16%
}

.pt_14 {
  padding-top: 14%
}

.pt_12 {
  padding-top: 12%
}

.pt_10 {
  padding-top: 10%
}

.pt_08 {
  padding-top: 8%
}

.pt_06 {
  padding-top: 6%
}

.pt_04 {
  padding-top: 4%
}

.pt_02 {
  padding-top: 2%
}

.mt_10 {
  margin-top: 10%
}

.mt_08 {
  margin-top: 8%
}

.mt_06 {
  margin-top: 6%
}

.mt_04 {
  margin-top: 4%
}

.mt_02 {
  margin-top: 2%
}

.pb_30 {
  padding-bottom: 30%
}

.pb_28 {
  padding-bottom: 28%
}

.pb_26 {
  padding-bottom: 26%
}

.pb_24 {
  padding-bottom: 24%
}

.pb_22 {
  padding-bottom: 22%
}

.pb_20 {
  padding-bottom: 20%
}

.pb_18 {
  padding-bottom: 18%
}

.pb_16 {
  padding-bottom: 16%
}

.pb_14 {
  padding-bottom: 14%
}

.pb_12 {
  padding-bottom: 12%
}

.pb_10 {
  padding-bottom: 10%
}

.pb_08 {
  padding-bottom: 8%
}

.pb_06 {
  padding-bottom: 6%
}

.pb_04 {
  padding-bottom: 4%
}

.pb_02 {
  padding-bottom: 2%
}

@media screen and (max-width: 1024px) {
  .pt_30 {
    padding-top: 45%
  }

  .pt_28 {
    padding-top: 42%
  }

  .pt_26 {
    padding-top: 39%
  }

  .pt_24 {
    padding-top: 36%
  }

  .pt_22 {
    padding-top: 33%
  }

  .pt_20 {
    padding-top: 30%
  }

  .pt_18 {
    padding-top: 27%
  }

  .pt_16 {
    padding-top: 24%
  }

  .pt_14 {
    padding-top: 21%
  }

  .pt_12 {
    padding-top: 18%
  }

  .pt_10 {
    padding-top: 15%
  }

  .pt_08 {
    padding-top: 12%
  }

  .pt_06 {
    padding-top: 9%
  }

  .pt_04 {
    padding-top: 6%
  }

  .pt_02 {
    padding-top: 3%
  }

  .mt_10 {
    margin-top: 15%
  }

  .mt_08 {
    margin-top: 12%
  }

  .mt_06 {
    margin-top: 9%
  }

  .mt_04 {
    margin-top: 6%
  }

  .mt_02 {
    margin-top: 3%
  }

  .pb_30 {
    padding-bottom: 45%
  }

  .pb_28 {
    padding-bottom: 42%
  }

  .pb_26 {
    padding-bottom: 39%
  }

  .pb_24 {
    padding-bottom: 36%
  }

  .pb_22 {
    padding-bottom: 33%
  }

  .pb_20 {
    padding-bottom: 30%
  }

  .pb_18 {
    padding-bottom: 27%
  }

  .pb_16 {
    padding-bottom: 24%
  }

  .pb_14 {
    padding-bottom: 21%
  }

  .pb_12 {
    padding-bottom: 18%
  }

  .pb_10 {
    padding-bottom: 15%
  }

  .pb_08 {
    padding-bottom: 12%
  }

  .pb_06 {
    padding-bottom: 9%
  }

  .pb_04 {
    padding-bottom: 6%
  }

  .pb_02 {
    padding-bottom: 3%
  }
}

@media screen and (max-width: 680px) {
  .pt_30 {
    padding-top: 67.5%
  }

  .pt_28 {
    padding-top: 63%
  }

  .pt_26 {
    padding-top: 58.5%
  }

  .pt_24 {
    padding-top: 54%
  }

  .pt_22 {
    padding-top: 49.5%
  }

  .pt_20 {
    padding-top: 45%
  }

  .pt_18 {
    padding-top: 40.5%
  }

  .pt_16 {
    padding-top: 36%
  }

  .pt_14 {
    padding-top: 31.5%
  }

  .pt_12 {
    padding-top: 27%
  }

  .pt_10 {
    padding-top: 22.5%
  }

  .pt_08 {
    padding-top: 18%
  }

  .pt_06 {
    padding-top: 13.5%
  }

  .pt_04 {
    padding-top: 9%
  }

  .pt_02 {
    padding-top: 4.5%
  }

  .mt_10 {
    margin-top: 22.5%
  }

  .mt_08 {
    margin-top: 18%
  }

  .mt_06 {
    margin-top: 13.5%
  }

  .mt_04 {
    margin-top: 9%
  }

  .mt_02 {
    margin-top: 4.5%
  }

  .pb_30 {
    padding-bottom: 67.5%
  }

  .pb_28 {
    padding-bottom: 63%
  }

  .pb_26 {
    padding-bottom: 58.5%
  }

  .pb_24 {
    padding-bottom: 54%
  }

  .pb_22 {
    padding-bottom: 49.5%
  }

  .pb_20 {
    padding-bottom: 45%
  }

  .pb_18 {
    padding-bottom: 40.5%
  }

  .pb_16 {
    padding-bottom: 36%
  }

  .pb_14 {
    padding-bottom: 31.5%
  }

  .pb_12 {
    padding-bottom: 27%
  }

  .pb_10 {
    padding-bottom: 22.5%
  }

  .pb_08 {
    padding-bottom: 18%
  }

  .pb_06 {
    padding-bottom: 13.5%
  }

  .pb_04 {
    padding-bottom: 9%
  }

  .pb_02 {
    padding-bottom: 4.5%
  }
}

.textLink.white a .text {
  color: #fff;
  background: linear-gradient(#ffffff, #ffffff) 100% 100%/0 .1rem no-repeat;
  transition: background-size .6s cubic-bezier(0.25, 1, 0.35, 1) 0s
}

.textLink a {
  display: inline-flex;
  align-items: center
}

.textLink a .text {
  color: #1e1e1e;
  display: block;
  font-feature-settings: "palt"1;
  background: linear-gradient(#1e1e1e, #1e1e1e) 100% 100%/0 .1rem no-repeat;
  transition: background-size .6s cubic-bezier(0.25, 1, 0.35, 1) 0s, color .4s ease-out
}

.textLink a:active .text,
.textLink a:focus .text,
.textLink a:hover .text,
.textLink a.current .text {
  background-size: 100% .1rem;
  background-position: 0 100%
}

.touch-on .textLink a:active .text,
.touch-on .textLink a:focus .text,
.touch-on .textLink a:hover .text,
.touch-on .textLink a.current .text {
  background-size: 0;
  background-position: 0 inherit
}

#scrollUpBtn {
  position: fixed;
  bottom: 3%;
  right: 0;
  opacity: 0;
  padding: 5px;
  cursor: pointer;
  overflow: visible;
  z-index: 6;
  visibility: hidden;
  transition: right .4s ease-out .6s, visibility .3s ease-out .4s, opacity .3s ease-out .6s;
  transform: translate3d(0, 0, 0)
}

#scrollUpBtn svg {
  width: 20px;
  height: 80px;
  fill: #000;
  transition: fill .3s ease-out;
  mix-blend-mode: color
}

#scrollUpBtn:hover svg {
  fill: #999
}

#scrollUpBtn.is_show {
  right: 35px;
  opacity: 1;
  visibility: visible
}

@media screen and (max-width: 1024px) {
  #scrollUpBtn.is_show {
    right: 25px
  }
}

@media screen and (max-width: 680px) {
  #scrollUpBtn.is_show {
    right: 15px
  }
}

#preloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  z-index: 20
}

#preloader p {
  font-size: 1.1rem;
  font-weight: 400;
  color: #fff;
  width: 300px;
  text-align: left;
  margin-top: 8px;
  -webkit-animation: blink .5s ease-in-out infinite alternate;
  animation: blink .5s ease-in-out infinite alternate
}

#preloader svg {
  width: 300px;
  height: 65px
}

#preloader #loaderBar {
  width: 300px;
  position: relative;
  padding-top: 2px;
  margin-top: 5px;
  background-color: #fff;
  border-radius: 999px;
  overflow: hidden
}

#preloader #loaderBar span {
  position: absolute;
  top: 0;
  right: 100%;
  bottom: 0;
  left: 0;
  background-color: #1e1e1e;
  width: 100px;
  -webkit-animation: borealisBar 1s linear infinite;
  animation: borealisBar 1s linear infinite;
  height: 2px
}

#preloader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: #1e1e1e;
  z-index: 19
}

.complete #preloader,
.complete #preloader-bg {
  opacity: 0;
  visibility: hidden;
  transition: visibility 0s ease-out .5s, opacity .6s ease-out 0s
}

.modal {
  display: none;
  position: relative
}

.modal__container {
  max-height: calc(90vh - 0px);
  background-color: #fff;
  overflow-y: auto;
  overflow-x: hidden
}

.modal__overlay {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(0, 0, 0, .6)
}

.modal.full .modal__container {
  width: 100%;
  max-height: none;
  height: 100%
}

.modal.full.side-slide .modal__container {
  margin-left: auto;
  width: 30%;
  min-width: 380px;
  max-height: none;
  height: 100%
}

@media screen and (max-width: 680px) {
  .modal.full.side-slide .modal__container {
    min-width: auto;
    width: 75%
  }
}

.modal.full.wide .modal__container {
  margin-left: auto;
  width: 70%;
  min-width: 600px;
  max-height: none;
  height: 100%
}

@media screen and (max-width: 1024px) {
  .modal.full.wide .modal__container {
    min-width: auto;
    width: 80%
  }
}

@media screen and (max-width: 680px) {
  .modal.full.wide .modal__container {
    min-width: auto;
    width: 100%
  }
}

.modal.large .modal__container {
  width: 70vw
}

@media screen and (max-width: 680px) {
  .modal.large .modal__container {
    max-height: 80vh;
    min-width: auto;
    width: 86%
  }
}

.modal.medium .modal__container {
  width: 80vw;
  max-width: 640px
}

@media screen and (max-width: 680px) {
  .modal.medium .modal__container {
    max-height: 100%;
    width: 100%
  }
}

.modal__header {
  position: -webkit-sticky;
  position: sticky;
  top: 0px;
  z-index: 5;
  justify-content: space-between;
  align-items: center;
  background-color: #fff;
  font-feature-settings: "palt"1
}

.modal__header--non-bg {
  background-color: rgba(0, 0, 0, 0)
}

.modal__header-inner {
  margin: 0 20px;
  padding: 26px 40px 26px 0;
  border-bottom: 1px solid #ddd
}

@media screen and (max-width: 680px) {
  .modal__header-inner {
    padding: 21px 40px 21px 0
  }
}

.modal__header-inner--non-border {
  border: none
}

.modal__header--title {
  font-weight: normal;
  width: 100%;
  font-size: 1.4rem;
  color: #1e1e1e
}

.modal__header--text {
  padding-top: 5px;
  width: 100%;
  font-size: 1.2rem
}

.modal__close {
  position: absolute;
  right: 0;
  top: 0;
  display: block;
  width: 30px;
  height: 30px;
  z-index: 2;
  padding: 35px;
  cursor: pointer
}

@media screen and (max-width: 1024px) {
  .modal__close {
    padding: 30px
  }
}

.modal__close::before,
.modal__close::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 27px;
  background: #1e1e1e
}

.modal__close::before {
  transform: translate(-50%, -50%) rotate(45deg)
}

.modal__close::after {
  transform: translate(-50%, -50%) rotate(-45deg)
}

.modal__close:hover {
  transform: rotate(270deg);
  transition: .6s .4s
}

.modal.is-open {
  display: block;
  z-index: 130
}

.modal[aria-hidden=false] .modal__overlay {
  -webkit-animation: mwFadeInY .4s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mwFadeInY .4s cubic-bezier(0.34, 0.07, 0.095, 0.995)
}

.modal[aria-hidden=false] .modal__container {
  -webkit-animation: mwSlideInY .4s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mwSlideInY .4s cubic-bezier(0.34, 0.07, 0.095, 0.995)
}

.modal[aria-hidden=true] .modal__overlay {
  -webkit-animation: mwFadeOut .4s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mwFadeOut .4s cubic-bezier(0.34, 0.07, 0.095, 0.995)
}

.modal[aria-hidden=true] .modal__container {
  -webkit-animation: mwSlideOutY .4s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mwSlideOutY .4s cubic-bezier(0.34, 0.07, 0.095, 0.995)
}

.modal.side-slide[aria-hidden=false] .modal__container {
  -webkit-animation: mwSlideInX .6s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mwSlideInX .6s cubic-bezier(0.34, 0.07, 0.095, 0.995)
}

.modal.side-slide[aria-hidden=true] .modal__container {
  -webkit-animation: mwSlideOutX .6s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mwSlideOutX .6s cubic-bezier(0.34, 0.07, 0.095, 0.995)
}

.modal.wide[aria-hidden=false] .modal__container {
  -webkit-animation: mwSlideInX .6s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mwSlideInX .6s cubic-bezier(0.34, 0.07, 0.095, 0.995)
}

.modal.wide[aria-hidden=true] .modal__container {
  -webkit-animation: mwSlideOutX .6s cubic-bezier(0.34, 0.07, 0.095, 0.995);
  animation: mwSlideOutX .6s cubic-bezier(0.34, 0.07, 0.095, 0.995)
}

.modal .modal__container,
.modal .modal__overlay {
  will-change: transform
}

.modal__content {
  line-height: 1.2
}

.modal_image_item {
  position: relative;
  width: 100%;
  display: block;
  margin-bottom: 4rem
}

@media screen and (max-width: 1024px) {
  .modal_image_item {
    width: 100%
  }
}

.modal_summary {
  padding: 2rem 6rem calc(2rem + 52px) 6rem;
  box-sizing: border-box;
  color: #1e1e1e;
  position: relative;
  z-index: 1
}

@media screen and (max-width: 1024px) {
  .modal_summary {
    width: 100%;
    padding: 2rem 4rem calc(2rem + 52px) 4rem
  }
}

@media screen and (max-width: 680px) {
  .modal_summary {
    width: 100%;
    padding: 2rem 3rem calc(2rem + 52px) 3rem
  }
}

.modal_title {
  font-size: clamp(2.2rem, 1vw, 4.4rem);
  font-weight: 600;
  line-height: 1.4
}

.modal_speaker {
  color: rgba(30, 30, 30, .5);
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  font-weight: 600;
  margin-top: 5px;
  line-height: normal
}

.modal_note {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 5px;
  flex-direction: column
}

.modal_note li {
  margin-top: 15px
}

@media screen and (max-width: 1024px) {
  .modal_note li {
    width: 100%
  }
}

.modal_note .item {
  font-size: clamp(1.1rem, 1vw, 2.2rem);
  color: rgba(30, 30, 30, .4);
  letter-spacing: normal;
  padding-bottom: 5px;
  line-height: 1
}

.modal_note .item_text {
  font-size: clamp(1.4rem, 1vw, 2.8rem);
  color: #1e1e1e;
  font-weight: 600
}

.modal_note .item_text.en {
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  font-weight: 500
}

.modal_note .item_text.small {
  font-size: 74%;
  font-weight: 500
}

.modal_note .item_text .week {
  font-size: clamp(1.1rem, 1vw, 2.2rem)
}

.modal_note .connect {
  display: flex;
  gap: 20px
}

.modal_note .connect_link {
  display: flex;
  align-items: center
}

.modal_note .connect_link .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  background-color: #1e1e1e;
  border-radius: 50%;
  overflow: hidden
}

.modal_note .connect_link .icon svg {
  width: 18px;
  height: 18px;
  fill: #fff
}

.modal_note .connect_link .text {
  display: block;
  font-size: clamp(1.2rem, 1vw, 2.4rem);
  color: #055dd3;
  font-weight: 600;
  margin-left: 5px
}

.modal_note .connect_link:hover .icon svg {
  -webkit-animation: i_slide_r 640ms 1 forwards;
  animation: i_slide_r 640ms 1 forwards
}

.modal_note .connect .text-mail {
  display: inline !important;
  font-size: clamp(1.2rem, 1vw, 2.4rem);
  color: #055dd3;
  font-weight: 600
}

.modal_note .connect .text-mail .connect_link {
  color: #055dd3;
  display: inline !important
}

.modal .modal_text {
  padding-top: 5rem
}

.modal .modal_text h5 {
  font-weight: 600;
  font-size: clamp(1.8rem, 1vw, 3.6rem);
  line-height: normal;
  color: #055dd3
}

.modal .modal_text p {
  font-weight: 600;
  font-size: clamp(1.4rem, 1vw, 2.8rem);
  line-height: normal;
  padding-top: 5px
}

.modal .modal_text p:nth-of-type(n + 2) {
  padding-top: 15px
}

@media screen and (max-width: 680px) {
  .sticky-menu {
    display: none
  }
}

.sticky-menu ul li {
  position: relative
}

.sticky-menu ul li:nth-of-type(1) a,
.sticky-menu ul li:nth-of-type(1) button {
  background-color: #055dd3;
  position: relative
}

.sticky-menu ul li:nth-of-type(2) a {
  background-color: #000
}

.sticky-menu ul li span {
  display: block
}

.sticky-menu ul li a {
  color: #fff;
  position: relative
}

.sticky-menu ul li a:hover svg {
  transition: transform .65s;
  transform: rotateY(360deg)
}

.sticky-menu ul li svg {
  fill: #fff
}

.sticky-menu-side {
  position: fixed;
  left: 0;
  top: 50%;
  z-index: 5;
  overflow: hidden;
  transform: translateY(-50%)
}

.sticky-menu-side ul li {
  transform: translateX(-60px);
  transition: transform .4s ease-out
}

.sticky-menu-side ul li:nth-of-type(1) {
  transition-delay: .4s
}

.sticky-menu-side ul li:nth-of-type(2) {
  transition-delay: .5s;
  margin-top: 5px
}

.sticky-menu-side a,
.sticky-menu-side button {
  width: 36px;
  padding: 6px 0;
  min-height: 135px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  transition: width .4s cubic-bezier(0.25, 1, 0.35, 1);
  box-sizing: border-box
}

.sticky-menu-side a:hover,
.sticky-menu-side button:hover {
  width: 46px
}

.sticky-menu-side .ja {
  font-size: 1.3rem;
  padding-top: 5px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  font-weight: 600
}

.sticky-menu-side svg {
  width: 20px;
  height: 20px
}

.complete .sticky-menu-side.is_show li {
  transform: translateX(0)
}

.complete .sticky-menu-side.is_hide li {
  transform: translateX(-60px)
}

.asideMenu {
  text-align: center
}

.asideMenu ul {
  display: flex;
  gap: 10px;
  justify-content: center
}

.asideMenu li a {
  margin-top: 5px;
  padding-bottom: 0;
  line-height: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 50%
}

.asideMenu li a.twitter {
  background-color: #4999e8
}

.asideMenu li a.facebook {
  background-color: #3877e8
}

.asideMenu li a.line {
  background-color: #70c26f
}

.asideMenu li a.youtube {
  background-color: #e93223
}

.asideMenu li a.instagram {
  background-image: url(data:image/png;base64,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);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat
}

.asideMenu li a .icon {
  display: block;
  overflow: hidden;
  padding: 9px
}

.asideMenu li a .icon svg {
  width: 28px;
  height: 28px;
  fill: #fff
}

.asideMenu li a:hover .icon svg {
  -webkit-animation: i_slide_r 640ms 1 forwards;
  animation: i_slide_r 640ms 1 forwards
}

.moButton {
  -webkit-clip-path: polygon(10% 0%, 100% 0, 90% 100%, 0% 100%);
  clip-path: polygon(10% 0%, 100% 0, 90% 100%, 0% 100%);
  background-color: #055dd3;
  padding: 10px 35px;
  display: flex;
  align-items: center
}

.moButton_wrap {
  display: flex;
  margin-top: 20px
}

.moButton .icon {
  width: 16px;
  height: 16px;
  margin-right: 8px;
  position: relative;
  display: block;
  z-index: 1
}

.moButton .icon::before,
.moButton .icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: 100%;
  background-color: #fff
}

.moButton .icon::before {
  transform: translate(-50%, -50%) rotate(0deg)
}

.moButton .icon::after {
  transform: translate(-50%, -50%) rotate(90deg)
}

.moButton .text {
  font-size: clamp(1.2rem, 1vw, 2.4rem);
  letter-spacing: normal;
  color: #fff;
  position: relative;
  z-index: 1
}

.moButton:hover .icon {
  transform: rotate(270deg);
  transition: .6s .1s
}

.moButton.hover-flash::before {
  background-color: #1e1e1e
}

.toggle_icon {
  width: 22px;
  height: 22px;
  box-sizing: border-box;
  position: relative;
  display: block
}

.toggle_icon_wrap {
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%)
}

.toggle_icon::before,
.toggle_icon::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  margin: auto;
  background-color: #1e1e1e;
  height: 1px;
  transition: transform .3s
}

.toggle_icon::after {
  transform: rotate(90deg)
}

.is_active .toggle_icon::before {
  transform: rotate(180deg)
}

.is_active .toggle_icon::after {
  transform: rotate(180deg);
  opacity: 0
}

.js_accordion_trigger {
  cursor: pointer
}

.js_accordion_content {
  opacity: 0;
  height: 0;
  transition: opacity .2s, padding .2s;
  overflow: hidden
}

.js_accordion_content.is_open {
  opacity: 1 !important;
  height: auto !important;
  padding: 20px 0
}

.scrollFade {
  opacity: 0;
  position: relative
}

.scrollFade.appear {
  opacity: 1;
  transition: opacity .8s ease-out .4s
}

.scrollFade.appear.delay1 {
  transition: opacity 1s ease-in-out .6s
}

.scrollFade.appear.delay2 {
  transition: opacity 1s ease-in-out .8s
}

.scrollFade.appear.delay3 {
  transition: opacity 1s ease-in-out 1s
}

.scrollSlideup {
  transform: translateY(25px);
  opacity: 0;
  position: relative
}

.scrollSlideup.appear {
  transform: translateY(0);
  opacity: 1;
  transition: transform .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) .4s, opacity .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) .6s
}

.scrollSlideup.appear.delay1 {
  transition: transform .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) .6s, opacity .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) .8s
}

.scrollSlideup.appear.delay2 {
  transition: transform .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) .8s, opacity .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1s
}

.scrollSlideup.appear.delay3 {
  transition: transform .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1s, opacity .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1.2s
}

.scrollSlideup.appear.delay4 {
  transition: transform .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1.2s, opacity .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1.4s
}

.scrollSlideup.appear.delay5 {
  transition: transform .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1.4s, opacity .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1.6s
}

.scrollSlideup.appear.delay6 {
  transition: transform .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1.6s, opacity .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1.8s
}

.scrollSlideup.appear.delay7 {
  transition: transform .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1.8s, opacity .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 2s
}

.scrollSlideup.appear.delay8 {
  transition: transform .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 2s, opacity .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 2.2s
}

.scrollSlideup.appear.delay9 {
  transition: transform .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 2.2s, opacity .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 2.4s
}

.scrollSlideup.appear.delay10 {
  transition: transform .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 2.4s, opacity .8s cubic-bezier(0.56, 0.08, 0.09, 0.96) 2.6s
}

.hover-flash {
  overflow: hidden;
  position: relative
}

.hover-flash::before {
  content: "";
  background-color: rgba(255, 255, 255, .1);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: -100%;
  -webkit-clip-path: polygon(50px 0%, 100% 0, calc(100% - 50px) 100%, 0% 100%);
  clip-path: polygon(50px 0%, 100% 0, calc(100% - 50px) 100%, 0% 100%)
}

.hover-flash:hover::before {
  -webkit-animation: hoverFlash .6s cubic-bezier(0.16, 0.43, 0.45, 1) forwards;
  animation: hoverFlash .6s cubic-bezier(0.16, 0.43, 0.45, 1) forwards
}

.animationText span {
  display: inline-block;
  opacity: 0;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1)
}

.complete .animationText.appear span {
  -webkit-animation: slideText 1s forwards;
  animation: slideText 1s forwards
}

@-webkit-keyframes zoom-in {
  0% {
    transform: scale(1.2)
  }

  100% {
    transform: scale(1)
  }
}

@keyframes zoom-in {
  0% {
    transform: scale(1.2)
  }

  100% {
    transform: scale(1)
  }
}

@-webkit-keyframes scrolldownAnimation {
  0% {
    transform: translate(0, 0);
    opacity: 0
  }

  40% {
    opacity: 1
  }

  80% {
    transform: translate(0, 75px);
    opacity: 0
  }

  100% {
    opacity: 0
  }
}

@keyframes scrolldownAnimation {
  0% {
    transform: translate(0, 0);
    opacity: 0
  }

  40% {
    opacity: 1
  }

  80% {
    transform: translate(0, 75px);
    opacity: 0
  }

  100% {
    opacity: 0
  }
}

@-webkit-keyframes blindIn {
  0% {
    transform: scaleX(0)
  }

  100% {
    transform: scaleX(1)
  }
}

@keyframes blindIn {
  0% {
    transform: scaleX(0)
  }

  100% {
    transform: scaleX(1)
  }
}

@-webkit-keyframes blindOut {
  0% {
    transform: scaleX(1)
  }

  100% {
    transform: scaleX(0)
  }
}

@keyframes blindOut {
  0% {
    transform: scaleX(1)
  }

  100% {
    transform: scaleX(0)
  }
}

@-webkit-keyframes borealisBar {
  0% {
    left: 0%;
    right: 100%;
    width: 0%
  }

  10% {
    left: 0%;
    right: 90%;
    width: 20%
  }

  90% {
    right: 0%;
    left: 90%;
    width: 20%
  }

  100% {
    left: 100%;
    right: 0%;
    width: 0%
  }
}

@keyframes borealisBar {
  0% {
    left: 0%;
    right: 100%;
    width: 0%
  }

  10% {
    left: 0%;
    right: 90%;
    width: 20%
  }

  90% {
    right: 0%;
    left: 90%;
    width: 20%
  }

  100% {
    left: 100%;
    right: 0%;
    width: 0%
  }
}

@-webkit-keyframes blink {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@keyframes blink {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@-webkit-keyframes slideText {
  from {
    opacity: 0;
    transform: translateX(60px)
  }

  to {
    opacity: 1;
    transform: translateX(0%)
  }
}

@keyframes slideText {
  from {
    opacity: 0;
    transform: translateX(60px)
  }

  to {
    opacity: 1;
    transform: translateX(0%)
  }
}

@-webkit-keyframes mwFadeIn {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@keyframes mwFadeIn {
  from {
    opacity: 0
  }

  to {
    opacity: 1
  }
}

@-webkit-keyframes mwFadeOut {
  from {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@keyframes mwFadeOut {
  from {
    opacity: 1
  }

  to {
    opacity: 0
  }
}

@-webkit-keyframes mwSlideInY {
  from {
    transform: translateY(5%)
  }

  to {
    transform: translateY(0)
  }
}

@keyframes mwSlideInY {
  from {
    transform: translateY(5%)
  }

  to {
    transform: translateY(0)
  }
}

@-webkit-keyframes mwSlideOutY {
  from {
    transform: translateY(0)
  }

  to {
    transform: translateY(-5%)
  }
}

@keyframes mwSlideOutY {
  from {
    transform: translateY(0)
  }

  to {
    transform: translateY(-5%)
  }
}

@-webkit-keyframes mwSlideInX {
  from {
    transform: translateX(105%)
  }

  to {
    transform: translateX(0)
  }
}

@keyframes mwSlideInX {
  from {
    transform: translateX(105%)
  }

  to {
    transform: translateX(0)
  }
}

@-webkit-keyframes mwSlideOutX {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(105%)
  }
}

@keyframes mwSlideOutX {
  from {
    transform: translateX(0)
  }

  to {
    transform: translateX(105%)
  }
}

@-webkit-keyframes hoverFlash {
  0% {
    transform: translate(-100%, 0)
  }

  100% {
    transform: translate(200%, 0)
  }
}

@keyframes hoverFlash {
  0% {
    transform: translate(-100%, 0)
  }

  100% {
    transform: translate(200%, 0)
  }
}

@-webkit-keyframes flow-out {
  0% {
    transform: translateX(-5%)
  }

  100% {
    transform: translateX(5%)
  }
}

@keyframes flow-out {
  0% {
    transform: translateX(-5%)
  }

  100% {
    transform: translateX(5%)
  }
}

@-webkit-keyframes i_slide_r {
  0% {
    transform: translate(0, 0);
    opacity: 1
  }

  50% {
    transform: translate(10px, 0);
    opacity: 0
  }

  51% {
    transform: translate(-10px, 0);
    opacity: 0
  }

  100% {
    transform: translate(0, 0);
    opacity: 1
  }
}

@keyframes i_slide_r {
  0% {
    transform: translate(0, 0);
    opacity: 1
  }

  50% {
    transform: translate(10px, 0);
    opacity: 0
  }

  51% {
    transform: translate(-10px, 0);
    opacity: 0
  }

  100% {
    transform: translate(0, 0);
    opacity: 1
  }
}

@-webkit-keyframes i_slide_t {
  0% {
    transform: translate(0, 0);
    opacity: 1
  }

  50% {
    transform: translate(0, 10px);
    opacity: 0
  }

  51% {
    transform: translate(0, -10px);
    opacity: 0
  }

  100% {
    transform: translate(0, 0);
    opacity: 1
  }
}

@keyframes i_slide_t {
  0% {
    transform: translate(0, 0);
    opacity: 1
  }

  50% {
    transform: translate(0, 10px);
    opacity: 0
  }

  51% {
    transform: translate(0, -10px);
    opacity: 0
  }

  100% {
    transform: translate(0, 0);
    opacity: 1
  }
}

#menuButton {
  height: 70px;
  width: 70px;
  cursor: pointer;
  position: fixed;
  right: 10px;
  top: 30px;
  z-index: 15;
  border: 0;
  background-color: rgba(0, 0, 0, 0);
  padding: 0
}

@media screen and (max-width: 1024px) {
  #menuButton {
    right: 20px;
    top: 0px
  }
}

@media screen and (max-width: 680px) {
  #menuButton {
    height: 60px;
    width: 60px;
    right: 10px;
    top: 10px
  }
}

#menuButton .hamburger,
#menuButton .cross {
  position: absolute;
  top: calc(50% - 4px);
  left: 50%;
  transform: translate(-50%, -50%)
}

#menuButton .cross {
  top: calc(50% - 10px)
}

#menuButton .hamburger span {
  display: block;
  width: 35px;
  height: 1px;
  margin-bottom: 6px;
  overflow: hidden;
  position: relative
}

#menuButton .hamburger span:last-child {
  margin: 0;
  width: 20px
}

#menuButton .hamburger span::before,
#menuButton .hamburger span::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #fff;
  transform: translateX(-200%);
  transition: transform ease .3s
}

#menuButton .hamburger span::after {
  transform: translateX(0)
}

#menuButton .hamburger span:nth-child(2)::before,
#menuButton .hamburger span:nth-child(2)::after {
  transition-delay: .075s
}

#menuButton .hamburger span:last-child::before,
#menuButton .hamburger span:last-child::after {
  transition-delay: .15s
}

#menuButton .cross span {
  display: block;
  width: 30px;
  height: 1px;
  background-color: #000;
  transform: translateY(50%) rotate(45deg) scaleX(0);
  transition: transform ease 200ms
}

#menuButton .cross span:last-child {
  transform: translateY(-50%) rotate(-45deg) scaleX(0)
}

#menuButton .text {
  font-size: 1.1rem;
  line-height: 1.3;
  letter-spacing: .1rem;
  color: #fff;
  transition: color .3s ease-out;
  bottom: 14px;
  left: 0;
  position: absolute;
  width: 100%;
  text-align: center;
  transition: color .3s ease-out
}

#menuButton:hover .hamburger span::before {
  transform: translateX(0)
}

#menuButton:hover .hamburger span::after {
  transform: translateX(200%)
}

#menuButton.is_active .hamburger span::before {
  transform: translateX(100%)
}

#menuButton.is_active .hamburger span::after {
  transform: translateX(200%)
}

#menuButton.is_active .cross span {
  transition-delay: .45s;
  transform: translateY(50%) rotate(45deg) scaleX(1)
}

#menuButton.is_active .cross span:last-child {
  transform: translateY(-50%) rotate(-45deg) scaleX(1)
}

#menuButton.is_active .text {
  color: #1e1e1e
}

#menuButton.is_active #menuButton_close {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 99
}

#menuButton.difference .hamburger span::before,
#menuButton.difference .hamburger span::after {
  background-color: #000
}

#menuButton.difference .text {
  color: #000
}

#siteNav {
  position: fixed;
  top: 0;
  left: 0;
  overflow: hidden;
  visibility: hidden;
  z-index: 10;
  height: 0;
  width: 100%;
  transition: visibility 0s .8s, height 0s .8s;
  background-color: #f5f5f5
}

#siteNav.is_active {
  height: 100vh;
  visibility: visible;
  transition: visibility 0s .8s, height 0s 0s
}

#siteNav_inner {
  height: 100%;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  position: relative;
  display: flex;
  z-index: 1
}

#siteNav .navigationBody {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  display: flex;
  overflow: hidden;
  align-items: flex-end;
  height: 100%
}

@media screen and (max-width: 1024px) {
  #siteNav .navigationBody {
    display: block;
    padding: 140px 4% 0 4%;
    min-height: auto
  }
}

#siteNav .navigationBody::after,
#siteNav .navigationBody::before {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  border-style: solid
}

#siteNav .navigationBody::before {
  top: 0;
  left: 0;
  border-width: 75vw 110vw 0 0;
  border-color: #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) rgba(0, 0, 0, 0)
}

@media screen and (max-width: 1024px) {
  #siteNav .navigationBody::before {
    border-width: 100vw 110vw 0 0
  }
}

@media screen and (max-width: 680px) {
  #siteNav .navigationBody::before {
    border-width: 180vw 140vw 0 0
  }
}

#siteNav .navigationBody::after {
  bottom: 0;
  right: 0;
  border-width: 0 0 30vw 30vw;
  border-color: rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff rgba(0, 0, 0, 0);
  display: none
}

#siteNav .navigationBody .columnMain {
  box-sizing: border-box;
  padding: 0% 60px 20px 60px;
  position: relative;
  z-index: 1
}

@media screen and (max-width: 1024px) {
  #siteNav .navigationBody .columnMain {
    width: 100%;
    padding: 0
  }
}

#siteNav .pageLink ul li a {
  display: inline-flex
}

#siteNav .pageLink ul li a .text {
  position: relative;
  line-height: 1.2;
  letter-spacing: .04rem;
  font-feature-settings: "palt"1;
  color: #1e1e1e;
  background: linear-gradient(#1e1e1e, #1e1e1e) 100% 100%/0 .1rem no-repeat
}

#siteNav .pageLink ul li a span {
  display: block
}

#siteNav .pageLink ul li a span span {
  display: inline-block;
  padding-right: 4px;
  font-size: clamp(1rem, 1vw, 2rem)
}

#siteNav .pageLink ul li a svg {
  fill: #1e1e1e;
  transition: transform .65s, fill .3s cubic-bezier(0.16, 0.43, 0.45, 1)
}

#siteNav .pageLink ul li a:active .text,
#siteNav .pageLink ul li a:focus .text,
#siteNav .pageLink ul li a:hover .text,
#siteNav .pageLink ul li a.current .text {
  background-size: 100% .1rem;
  background-position: 0 100%
}

#siteNav .pageLink ul li a:hover .text {
  color: #1e1e1e
}

#siteNav .pageLink ul li a:hover svg {
  fill: #1e1e1e;
  transform: rotateY(360deg)
}

#siteNav .pageLink ul:nth-of-type(1) {
  display: flex;
  flex-direction: column
}

#siteNav .pageLink ul:nth-of-type(1) li {
  margin-top: 1.2rem
}

#siteNav .pageLink ul:nth-of-type(1) li a .text {
  font-size: clamp(2.4rem, 2.4vw, 4.8rem);
  line-height: 1;
  padding-bottom: 1px;
  padding-top: 1px;
  font-weight: 600
}

#siteNav .pageLink ul:nth-of-type(1) li a svg {
  width: 36px;
  height: 36px
}

#siteNav .pageLink ul:nth-of-type(1) li a svg+.text {
  margin-left: 10px
}

#siteNav .pageLink ul:nth-of-type(2),
#siteNav .pageLink ul:nth-of-type(3),
#siteNav .pageLink ul:nth-of-type(4) {
  display: flex;
  margin-top: 10px;
  padding-top: 10px;
  gap: 20px
}

#siteNav .pageLink ul:nth-of-type(2) li:nth-of-type(1),
#siteNav .pageLink ul:nth-of-type(3) li:nth-of-type(1),
#siteNav .pageLink ul:nth-of-type(4) li:nth-of-type(1) {
  margin-left: 0
}

#siteNav .pageLink ul:nth-of-type(2) li a .text,
#siteNav .pageLink ul:nth-of-type(3) li a .text,
#siteNav .pageLink ul:nth-of-type(4) li a .text {
  font-size: clamp(1.4rem, 1vw, 2.8rem);
  padding-bottom: 1px;
  padding-top: 1px;
  font-weight: 600
}

#siteNav .pageLink ul:nth-of-type(2) li a svg,
#siteNav .pageLink ul:nth-of-type(3) li a svg,
#siteNav .pageLink ul:nth-of-type(4) li a svg {
  width: 22px;
  height: 22px
}

#siteNav .pageLink ul:nth-of-type(2) li a svg+.text,
#siteNav .pageLink ul:nth-of-type(3) li a svg+.text,
#siteNav .pageLink ul:nth-of-type(4) li a svg+.text {
  margin-left: 5px
}

#siteNav .connectLink {
  margin-top: auto;
  padding-top: 20px
}

#siteNav .asideMenu {
  text-align: left
}

#siteNav .asideMenu .follow {
  line-height: 1;
  letter-spacing: normal;
  font-size: 1.1rem;
  margin-bottom: 8px
}

#siteNav .asideMenu ul {
  display: flex;
  gap: 5px;
  justify-content: flex-start
}

#siteNav .asideMenu li a {
  margin-top: 0px;
  width: 30px;
  height: 30px
}

#siteNav .asideMenu li a .icon {
  display: block;
  overflow: hidden;
  padding: 6px
}

#siteNav .asideMenu li a .icon svg {
  width: 18px;
  height: 18px;
  fill: #fff
}

#siteNav .asideMenu li a:hover .icon svg {
  -webkit-animation: i_slide_r 640ms 1 forwards;
  animation: i_slide_r 640ms 1 forwards
}

#siteNav .copy {
  margin-top: 40px;
  padding-bottom: 40px
}

#siteNav .copy p:nth-of-type(2) {
  font-size: 1.2rem;
  letter-spacing: normal;
  color: rgba(30, 30, 30, .3)
}

#siteNav .copy p:nth-of-type(1) {
  padding-top: 0px;
  font-size: 1.8rem;
  letter-spacing: .1rem;
  color: #055dd3
}

#siteNav .copy p:nth-of-type(3) {
  padding-top: 20px;
  font-size: 1rem;
  letter-spacing: normal;
  font-weight: 400;
  color: rgba(30, 30, 30, .64)
}

#siteNav .columnSide {
  width: 10vw;
  position: fixed;
  top: 0;
  right: 110px;
  height: 100%;
  overflow: hidden;
  display: none
}

#siteNav .hero_slider {
  position: fixed;
  overflow: hidden;
  transform: translateX(5%) scale(1.2);
  width: 100%;
  top: 0;
  left: 0
}

#siteNav .hero_slider::after {
  content: "";
  background-color: rgba(255, 255, 255, .3);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 101
}

#siteNav .swiper-slide-active .slide_content,
#siteNav .swiper-slide-duplicate-active .slide_content,
#siteNav .swiper-slide-prev .slide_content {
  -webkit-animation: flow-out 20s linear 0s 1 normal both;
  animation: flow-out 20s linear 0s 1 normal both;
  transform-origin: center
}

#siteNav .slide_item {
  background-position: center right;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  height: 100vh;
  width: 100%;
  position: relative
}

#blind-effect-in-curtain-1,
#blind-effect-in-curtain-2,
#blind-effect-out-curtain-1,
#blind-effect-out-curtain-2 {
  position: fixed;
  width: 100%;
  height: 100%;
  display: block;
  left: 0;
  top: 0;
  transform: scaleX(0);
  background-color: #055dd3;
  z-index: 12
}

#blind-effect-in-curtain-1 {
  transform-origin: top right
}

#blind-effect-in-curtain-1.is_active {
  -webkit-animation: blindIn .8s cubic-bezier(0.19, 1, 0.22, 1);
  animation: blindIn .8s cubic-bezier(0.19, 1, 0.22, 1)
}

#blind-effect-in-curtain-2 {
  transform-origin: bottom left
}

#blind-effect-in-curtain-2.is_active {
  -webkit-animation: blindOut 1.6s cubic-bezier(0.19, 1, 0.22, 1) .8s;
  animation: blindOut 1.6s cubic-bezier(0.19, 1, 0.22, 1) .8s
}

#blind-effect-out-curtain-1 {
  transform-origin: bottom left
}

#blind-effect-out-curtain-1.is_active {
  -webkit-animation: blindIn .8s cubic-bezier(0.19, 1, 0.22, 1);
  animation: blindIn .8s cubic-bezier(0.19, 1, 0.22, 1)
}

#blind-effect-out-curtain-2 {
  transform-origin: top right
}

#blind-effect-out-curtain-2.is_active {
  -webkit-animation: blindOut 1.6s cubic-bezier(0.19, 1, 0.22, 1) .8s;
  animation: blindOut 1.6s cubic-bezier(0.19, 1, 0.22, 1) .8s
}

#blind-effect-out-curtain-1,
#blind-effect-out-curtain-2 {
  visibility: hidden
}

.complete #blind-effect-out-curtain-1,
.complete #blind-effect-out-curtain-2 {
  visibility: visible;
  transition: visibility 0s 2s
}

.bAttention__container {
  background: #fefefe;
  overflow: hidden;
  width: 100%;
  position: relative
}

.bAttention .attention {
  width: 70%;
  margin: 0 auto
}

@media screen and (max-width: 1240px) {
  .bAttention .attention {
    width: 80%
  }
}

@media screen and (max-width: 1024px) {
  .bAttention .attention {
    width: 90%
  }
}

@media screen and (max-width: 680px) {
  .bAttention .attention {
    width: 100%
  }
}

.bAttention .attention__headline {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgba(221, 221, 221, .5);
  padding-bottom: 15px;
  margin-bottom: 15px
}

.bAttention .attention__headline .icon {
  display: block;
  width: 20px;
  height: 20px;
  margin-right: 5px
}

.bAttention .attention__headline .icon svg {
  fill: #e5002d;
  width: 20px;
  height: 20px
}

.bAttention .attention__headline .text {
  font-size: 1.6rem;
  font-weight: 600;
  color: #e5002d
}

.bAttention .attention__text .headline {
  font-weight: 600;
  padding-bottom: 10px;
  font-size: 1.4rem
}

.bAttention .attention__text p {
  font-size: 1.2rem;
  line-height: normal
}

.bAttention .attention__text p:nth-of-type(n + 2) {
  padding-top: 10px
}

.bBreak__container {
  background: rgba(227, 43, 131, 0);
  overflow: hidden;
  width: 100%;
  position: relative;
  margin-top: calc(10% + 50px)
}

.bBreak__text {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  z-index: 1;
  flex-direction: column;
  justify-content: center;
  align-items: center
}

.bBreak__text_inner {
  padding-bottom: 0
}

.bBreak__text_item01 {
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  color: #055dd3;
  margin-bottom: 20px
}

.bBreak__text_item01 .en {
  font-weight: 500;
  letter-spacing: .2rem
}

.bBreak__text_item01 .ja {
  font-weight: 600
}

.bBreak__text_item02 {
  font-size: clamp(10rem, 1vw, 20rem);
  line-height: .9;
  letter-spacing: normal;
  letter-spacing: 1.35rem;
  mix-blend-mode: darken;
  text-align: center;
  color: rgba(255, 255, 255, .9)
}

@media screen and (max-width: 1024px) {
  .bBreak__text_item02 {
    font-size: clamp(8rem, 1vw, 16rem)
  }
}

@media screen and (max-width: 680px) {
  .bBreak__text_item02 {
    font-size: clamp(5rem, 1vw, 10rem);
    line-height: 1.2;
    letter-spacing: .8rem
  }
}

.bBreak__text_item02 .en {
  display: block
}

.bBreak__text_item02 .ja {
  font-weight: 600
}

.bBreak .break_slider {
  position: relative;
  overflow: hidden
}

.bBreak .break_slider::after {
  content: "";
  background-color: rgba(30, 30, 30, .4);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1
}

.bBreak .swiper-slide-active .slide_content,
.bBreak .swiper-slide-duplicate-active .slide_content,
.bBreak .swiper-slide-prev .slide_content {
  -webkit-animation: zoom-in 20s linear 0s 1 normal both;
  animation: zoom-in 20s linear 0s 1 normal both;
  transform-origin: center
}

.bBreak .slide_item {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  max-height: 800px;
  min-height: 100vh;
  width: 100%;
  position: relative
}

.bMovie__container {
  background: rgba(227, 43, 131, 0);
  overflow: hidden;
  position: relative;
  margin-top: calc(10% + 50px);
  display: flex;
  flex-direction: row;
  padding-left: 10%;
  padding-right: 10%
}

.bMovie__container video {
  cursor: pointer;
  flex-grow: 1;
  flex-shrink: 1;
  width: 100px
}

@media screen and (max-width: 1024px) {
  .bMovie__container {
    padding-left: 2%;
    padding-right: 2%;
    margin-top: calc(5% + 25px)
  }
}

.bClosing__container {
  overflow: hidden;
  width: 100%;
  position: relative;
  color: #fff;
  background-image: url(../images/bClosing_bg.jpg);
  background-position: center 0;
  background-repeat: no-repeat;
  background-size: cover;
  padding-top: 52%;
  padding-left: 6%;
  padding-right: 6%;
  box-sizing: border-box
}

@media screen and (max-width: 1024px) {
  .bClosing__container {
    padding-top: 82%
  }
}

@media screen and (max-width: 680px) {
  .bClosing__container {
    padding-top: 100%
  }
}

.bClosing_inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.bClosing .closing_logo {
  overflow: hidden
}

.bClosing .closing_logo svg {
  fill: #fff;
  height: 62px;
  width: 220px
}

.bClosing .closing_logo span {
  position: absolute;
  left: -999999px
}

.bClosing .closing_title {
  font-size: clamp(2.2rem, 2.2vw, 4.4rem);
  line-height: 1;
  margin-top: 20px;
  margin-bottom: 60px;
  letter-spacing: .2rem
}

.bClosing .follow {
  font-size: clamp(1.2rem, 1vw, 2.2rem);
  margin-bottom: 5px;
  line-height: 1
}

.gFooter__container {
  background: #333;
  background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCEtLSBHZW5lcmF0b3I6IEFkb2JlIElsbHVzdHJhdG9yIDIzLjAuNCwgU1ZHIEV4cG9ydCBQbHVnLUluIC4gU1ZHIFZlcnNpb246IDYuMDAgQnVpbGQgMCkgIC0tPgo8c3ZnIHZlcnNpb249IjEuMSIgaWQ9IuODrOOCpOODpOODvF8xIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiCgkgeT0iMHB4IiB2aWV3Qm94PSIwIDAgNTEwIDMwIiBzdHlsZT0iZW5hYmxlLWJhY2tncm91bmQ6bmV3IDAgMCA1MTAgMzA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj4KPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KCS5zdDB7ZmlsbDojMDA0OTZEO30KCS5zdDF7ZmlsbDojRkZGRkZGO30KCS5zdDJ7ZmlsbDojMDA2OUEyO30KCS5zdDN7ZmlsbDojMDBDNDAwO30KCS5zdDR7ZmlsbDojMDA5OURGO30KCS5zdDV7ZmlsbDojMUY4MDNEO30KCS5zdDZ7ZmlsbDojQzg4OTAwO30KCS5zdDd7ZmlsbDojRkY5ODAwO30KCS5zdDh7ZmlsbDojRjEwMDY3O30KCS5zdDl7ZmlsbDojRkY1QzAwO30KCS5zdDEwe2ZpbGw6I0IxMDA0MDt9Cgkuc3QxMXtmaWxsOiNGRkMxMDA7fQoJLnN0MTJ7ZmlsbDojRkYwQTAwO30KCS5zdDEze2ZpbGw6IzAwQzBFNjt9Cgkuc3QxNHtmaWxsOiMxOUEyMjA7fQoJLnN0MTV7ZmlsbDojRDcwMDIzO30KCS5zdDE2e2ZpbGw6I0ZBMDAzMTt9Cgkuc3QxN3tmaWxsOiNFN0E0MDY7fQo8L3N0eWxlPgo8Zz4KCTxyZWN0IGNsYXNzPSJzdDAiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeT0iMTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMTUiIHk9IjE1IiBjbGFzcz0ic3QyIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjMwIiBjbGFzcz0ic3QzIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjMwIiB5PSIxNSIgY2xhc3M9InN0MSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSI0NSIgY2xhc3M9InN0MSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSI0NSIgeT0iMTUiIGNsYXNzPSJzdDQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iNjAiIGNsYXNzPSJzdDUiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iNjAiIHk9IjE1IiBjbGFzcz0ic3QxIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9Ijc1IiBjbGFzcz0ic3QxIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9Ijc1IiB5PSIxNSIgY2xhc3M9InN0NiIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSI5MCIgY2xhc3M9InN0NyIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSI5MCIgeT0iMTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMTA1IiBjbGFzcz0ic3QxIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjEwNSIgeT0iMTUiIGNsYXNzPSJzdDgiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMTIwIiBjbGFzcz0ic3Q5IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjEyMCIgeT0iMTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMTM1IiBjbGFzcz0ic3QxIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjEzNSIgeT0iMTUiIGNsYXNzPSJzdDEwIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjE1MCIgY2xhc3M9InN0MTEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMTUwIiB5PSIxNSIgY2xhc3M9InN0MSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIxNjUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMTY1IiB5PSIxNSIgY2xhc3M9InN0MTAiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMTgwIiBjbGFzcz0ic3QxMiIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIxODAiIHk9IjE1IiBjbGFzcz0ic3QxIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjE5NSIgY2xhc3M9InN0MSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIxOTUiIHk9IjE1IiBjbGFzcz0ic3QxMyIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIyMTAiIGNsYXNzPSJzdDE0IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjIxMCIgeT0iMTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMjI1IiBjbGFzcz0ic3QxIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjIyNSIgeT0iMTUiIGNsYXNzPSJzdDE1IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjI0MCIgY2xhc3M9InN0MTYiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMjQwIiB5PSIxNSIgY2xhc3M9InN0MSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIyNTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMjU1IiB5PSIxNSIgY2xhc3M9InN0MCIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIyNzAiIGNsYXNzPSJzdDIiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMjcwIiB5PSIxNSIgY2xhc3M9InN0MSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIyODUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMjg1IiB5PSIxNSIgY2xhc3M9InN0MyIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIzMDAiIGNsYXNzPSJzdDQiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMzAwIiB5PSIxNSIgY2xhc3M9InN0MSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIzMTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMzE1IiB5PSIxNSIgY2xhc3M9InN0NSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIzMzAiIGNsYXNzPSJzdDYiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMzMwIiB5PSIxNSIgY2xhc3M9InN0MSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIzNDUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMzQ1IiB5PSIxNSIgY2xhc3M9InN0NyIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIzNjAiIGNsYXNzPSJzdDgiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMzYwIiB5PSIxNSIgY2xhc3M9InN0MSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIzNzUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iMzc1IiB5PSIxNSIgY2xhc3M9InN0OSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSIzOTAiIGNsYXNzPSJzdDEwIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjM5MCIgeT0iMTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iNDA1IiBjbGFzcz0ic3QxIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjQwNSIgeT0iMTUiIGNsYXNzPSJzdDExIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjQyMCIgY2xhc3M9InN0MTMiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iNDIwIiB5PSIxNSIgY2xhc3M9InN0MSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSI0MzUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iNDM1IiB5PSIxNSIgY2xhc3M9InN0MTIiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iNDUwIiBjbGFzcz0ic3QxNSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSI0NTAiIHk9IjE1IiBjbGFzcz0ic3QxIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjQ2NSIgY2xhc3M9InN0MSIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSI0NjUiIHk9IjE1IiBjbGFzcz0ic3QxNCIgd2lkdGg9IjE1IiBoZWlnaHQ9IjE1Ii8+Cgk8cmVjdCB4PSI0ODAiIGNsYXNzPSJzdDE3IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjQ4MCIgeT0iMTUiIGNsYXNzPSJzdDEiIHdpZHRoPSIxNSIgaGVpZ2h0PSIxNSIvPgoJPHJlY3QgeD0iNDk1IiBjbGFzcz0ic3QxIiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KCTxyZWN0IHg9IjQ5NSIgeT0iMTUiIGNsYXNzPSJzdDE2IiB3aWR0aD0iMTUiIGhlaWdodD0iMTUiLz4KPC9nPgo8L3N2Zz4K);
  background-repeat: repeat-x;
  background-size: auto 15px;
  background-position: center 0;
  overflow: hidden;
  width: 100%;
  position: relative;
  color: #fff;
  box-sizing: border-box
}

.gFooter_inner {
  display: flex;
  padding: calc(6rem + 15px) 0 6rem 0
}

@media screen and (max-width: 1240px) {
  .gFooter_inner {
    flex-direction: column
  }
}

.gFooter .footer_guide {
  width: 100%;
  /* padding-right: 10%; */
  box-sizing: border-box
}

@media screen and (max-width: 1240px) {
  .gFooter .footer_guide {
    width: 100%;
    padding-right: 0;
    margin-bottom: 30px
  }
}

.gFooter .footer_logo {
  width: 120px
}

.gFooter .footer_logo svg {
  width: 120px;
  height: 55px;
  fill: #fff
}

.gFooter .footer_title {
  margin-top: 15px;
  font-size: 1.4rem;
  font-weight: 600
}

.gFooter .footer_address {
  margin-top: 5px;
  font-size: 1.2rem;
  font-weight: 500;
  line-height: normal
}

.gFooter .footer_address a {
  color: #fff
}

.gFooter .footer_navi a {
  color: #fff
}

.gFooter .footer_navi a .text {
  padding: 3px 0;
  line-height: 1
}

.gFooter .footer_navi>ul>li {
  margin-bottom: 15px;
  font-weight: 600;
  font-size: 1.4rem;
  line-height: 1
}

.gFooter .footer_navi>ul>li>ul {
  display: flex;
  flex-wrap: wrap;
  gap: 1px 15px;
  margin-top: 5px
}

.gFooter .footer_navi>ul>li>ul>li {
  font-weight: 500;
  font-size: 1.2rem
}

.gFooter .footer_navi>ul:nth-of-type(2) {
  border-top: 1px solid rgba(221, 221, 221, .1);
  display: flex;
  gap: 3px 15px;
  padding-top: 15px
}

.gFooter .footer_navi>ul:nth-of-type(2)>li {
  font-weight: 500;
  font-size: 1.2rem;
  line-height: 1
}

.gFooter .copyright {
  border-top: 1px solid rgba(221, 221, 221, .1);
  padding: 3rem 0;
  font-size: 1.1rem;
  line-height: 1;
  letter-spacing: .04rem
}

.bForum__container {
  background-color: rgba(227, 43, 131, .05);
  width: 100%;
  position: relative;
  color: #e3e3e3;
  transition: background-color .6s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1s
}

.bForum .dText {
  position: relative
}

.bForum .dText_inner {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  overflow: hidden
}

.bForum .dText p {
  font-size: clamp(10rem, 1vw, 20rem);
  line-height: 1;
  color: #000;
  white-space: nowrap
}

.bForum__headcontent {
  font-weight: 600;
  margin-top: 6rem;
  color: #e3e3e3
}

@media screen and (max-width: 1024px) {
  .bForum__headcontent {
    margin-top: 6.5rem
  }
}

.bForum__headcontent .ja {
  font-size: clamp(2.8rem, 1vw, 5.6rem);
  color: #055dd3;
  font-weight: 600
}

.bForum__headcontent .bForum__textbox {
  padding-top: 20px;
  line-height: 1.6;
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  letter-spacing: .2rem
}

@media screen and (max-width: 1024px) {
  .bForum .forum_lists {
    display: flex;
    flex-wrap: wrap;
    gap: 30px
  }
}

.bForum .forum_list {
  padding: 10px;
  background-image: url(../images/bForum_bg.jpg);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
  overflow: hidden;
  box-sizing: border-box
}

.bForum .forum_list_wrap:nth-of-type(n + 2) {
  margin-top: 40px
}

@media screen and (max-width: 1024px) {
  .bForum .forum_list_wrap:nth-of-type(n + 2) {
    margin-top: 0px
  }
}

@media screen and (max-width: 1024px) {
  .bForum .forum_list_wrap {
    width: calc(50% - 15px)
  }
}

@media screen and (max-width: 680px) {
  .bForum .forum_list_wrap {
    width: 100%
  }
}

.bForum .forum_list_inner {
  display: flex;
  align-items: center;
  background-color: #fff
}

@media screen and (max-width: 1024px) {
  .bForum .forum_list_inner {
    height: 100%;
    flex-direction: column
  }
}

.bForum .forum_list_inner.comming {
  padding-top: 35%
}

@media screen and (max-width: 1024px) {
  .bForum .forum_list_inner.comming {
    padding-top: 100%
  }
}

.bForum .forum_list_inner.comming .text {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: clamp(1.6rem, 1.6vw, 3.2rem);
  color: #1e1e1e;
  line-height: 1
}

.bForum .forum_number {
  position: absolute;
  bottom: -16px;
  right: 0;
  font-size: clamp(15rem, 15vw, 30rem);
  color: rgba(30, 30, 30, .08);
  line-height: 1;
  letter-spacing: normal
}

.bForum .forum_image_item {
  padding-top: 35%;
  overflow: hidden;
  position: relative;
  width: 35%
}

@media screen and (max-width: 1024px) {
  .bForum .forum_image_item {
    padding-top: 100%;
    width: 100%
  }
}

.bForum .forum_image_item img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.01)
}

.bForum .forum_summary {
  width: 65%;
  padding: 1rem 4rem;
  box-sizing: border-box;
  color: #1e1e1e;
  position: relative;
  z-index: 1
}

@media screen and (max-width: 1024px) {
  .bForum .forum_summary {
    width: 100%;
    padding: 2rem 2rem
  }
}

.bForum .forum_title {
  font-size: clamp(2.6rem, 1vw, 5.2rem);
  font-weight: 600;
  line-height: 1.4
}

.bForum .forum_speaker {
  color: rgba(30, 30, 30, .5);
  font-size: clamp(1.8rem, 1vw, 3.6rem);
  font-weight: 600;
  margin-top: 5px;
  line-height: normal
}

.bForum .forum_note {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding-top: 5px;
  flex-direction: column
}

.bForum .forum_note li {
  margin-top: 15px
}

@media screen and (max-width: 1024px) {
  .bForum .forum_note li {
    width: 100%
  }
}

.bForum .forum_note .item {
  font-size: clamp(1.1rem, 1vw, 2.2rem);
  color: rgba(30, 30, 30, .4);
  letter-spacing: normal;
  padding-bottom: 5px;
  line-height: 1
}

.bForum .forum_note .item_text {
  font-size: clamp(1.4rem, 1vw, 2.8rem);
  color: #1e1e1e;
  font-weight: 600
}

.bForum .forum_note .item_text.en {
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  font-weight: 500
}

.bForum .forum_note .item_text.small {
  font-size: 74%;
  font-weight: 500
}

.bForum .forum_note .item_text .day,
.bForum .forum_note .item_text .time {
  font-size: clamp(2.4rem, 1vw, 4.8rem)
}

.bForum .forum_note .item_text .week {
  font-size: clamp(1.1rem, 1vw, 2.2rem)
}

.bForum .forum_note .connect {
  display: flex;
  gap: 20px
}

.bForum .forum_note .connect_link {
  display: flex;
  align-items: center
}

.bForum .forum_note .connect_link .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  background-color: #1e1e1e;
  border-radius: 50%;
  overflow: hidden
}

.bForum .forum_note .connect_link .icon svg {
  width: 18px;
  height: 18px;
  fill: #fff
}

.bForum .forum_note .connect_link .text {
  display: block;
  font-size: clamp(1.2rem, 1vw, 2.4rem);
  color: #055dd3;
  font-weight: 600;
  margin-left: 5px
}

.bForum .forum_note .connect_link:hover .icon svg {
  -webkit-animation: i_slide_r 640ms 1 forwards;
  animation: i_slide_r 640ms 1 forwards
}

.sectionProgram.appear .bForum__container {
  background: #1e1e1e
}

.bGuidance__container {
  background: rgba(227, 43, 131, 0);
  overflow: hidden
}

.bGuidance__headline {
  line-height: 1.1
}

.bGuidance__headline .en {
  font-size: clamp(1.8rem, 1vw, 3.6rem)
}

.bGuidance__headline .ja {
  font-size: clamp(1.4rem, 1vw, 2.8rem);
  font-weight: 600
}

.bGuidance .dText {
  position: relative
}

.bGuidance .dText_inner {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%
}

.bGuidance .dText p {
  font-size: clamp(10rem, 1vw, 20rem);
  line-height: 1;
  color: rgba(30, 30, 30, .08)
}

@media screen and (max-width: 680px) {
  .bGuidance .dText p {
    font-size: clamp(8rem, 1vw, 16rem)
  }
}

.bGuidance_item {
  position: relative;
  font-weight: 600
}

.bGuidance_image {
  position: absolute;
  width: 60%;
  padding: 15px;
  box-sizing: border-box
}

@media screen and (max-width: 1240px) {
  .bGuidance_image {
    width: 70%
  }
}

@media screen and (max-width: 1024px) {
  .bGuidance_image {
    width: 100%
  }
}

@media screen and (max-width: 680px) {
  .bGuidance_image {
    position: relative;
    width: 200%
  }
}

.bGuidance_image_item {
  position: relative
}

.bGuidance_image .background {
  position: absolute;
  top: -15px;
  right: 0;
  width: auto;
  height: 100%
}

.bGuidance_image .background img {
  height: 100%;
  width: auto;
  transform: translate(-20%, 0%)
}

.bGuidance_image .picture {
  display: block;
  -webkit-mask-image: url(../images/frame-prallelogram.svg);
  mask-image: url(../images/frame-prallelogram.svg);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: auto 100%;
  mask-size: auto 100%;
  position: relative;
  z-index: 1
}

.bGuidance_image .picture span {
  display: block
}

.bGuidance_item01_inner {
  width: 80%;
  margin: 0 auto
}

@media screen and (max-width: 1240px) {
  .bGuidance_item01_inner {
    width: 100%
  }
}

.bGuidance_item01 .ja {
  font-size: clamp(1.8rem, 1vw, 3.6rem);
  color: #055dd3
}

.bGuidance_item01 .bInfo__textbox {
  padding-top: 20px;
  line-height: 1.8;
  font-size: clamp(1.4rem, 1vw, 2.8rem)
}

.bGuidance_item02_inner {
  width: 60%;
  margin: 6rem auto 0 0
}

@media screen and (max-width: 1240px) {
  .bGuidance_item02_inner {
    width: 50%;
    margin: 6rem 0 0 0
  }
}

@media screen and (max-width: 1024px) {
  .bGuidance_item02_inner {
    margin: 5rem 0 0 0
  }
}

@media screen and (max-width: 680px) {
  .bGuidance_item02_inner {
    width: 100%
  }
}

.bGuidance_item02 .ja {
  font-size: clamp(2.8rem, 1vw, 5.6rem);
  color: #055dd3
}

.bGuidance_item02 .bInfo__textbox {
  padding-top: 20px;
  line-height: 1.6;
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  letter-spacing: .2rem
}

.bGuidance_item02 .dText p {
  white-space: nowrap
}

.bGuidance_item02 .bGuidance_image {
  top: 0;
  right: 0;
  transform: translate(25%, 0%)
}

@media screen and (max-width: 1024px) {
  .bGuidance_item02 .bGuidance_image {
    right: 0;
    left: auto;
    transform: translate(40%, -5%)
  }
}

@media screen and (max-width: 680px) {
  .bGuidance_item02 .bGuidance_image {
    transform: translate(-20%, -5rem)
  }
}

.bGuidance_item03 {
  margin-top: 6%
}

.bGuidance_item03_inner {
  width: 60%;
  margin: 6rem 0 0 auto
}

@media screen and (max-width: 1240px) {
  .bGuidance_item03_inner {
    width: 50%
  }
}

@media screen and (max-width: 1024px) {
  .bGuidance_item03_inner {
    margin: 5rem 0 0 0
  }
}

@media screen and (max-width: 680px) {
  .bGuidance_item03_inner {
    width: 100%
  }
}

.bGuidance_item03 .ja {
  font-size: clamp(2.8rem, 1vw, 5.6rem);
  color: #055dd3
}

.bGuidance_item03 .bInfo__textbox {
  padding-top: 20px;
  line-height: 1.6;
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  letter-spacing: .2rem
}

.bGuidance_item03 .dText p {
  padding-left: 35%;
  white-space: nowrap
}

@media screen and (max-width: 1240px) {
  .bGuidance_item03 .dText p {
    padding-left: 42%
  }
}

@media screen and (max-width: 1024px) {
  .bGuidance_item03 .dText p {
    padding-left: 0
  }
}

.bGuidance_item03 .bGuidance_image {
  top: 0;
  left: 0;
  transform: translate(-25%, 0%)
}

@media screen and (max-width: 1024px) {
  .bGuidance_item03 .bGuidance_image {
    transform: translate(40%, 15%);
    left: auto;
    right: 0
  }
}

@media screen and (max-width: 680px) {
  .bGuidance_item03 .bGuidance_image {
    transform: translate(-20%, -5rem)
  }
}

.gLogo {
  width: 300px;
  position: fixed;
  left: 60px;
  top: 40px;
  z-index: 15
}

@media screen and (max-width: 1024px) {
  .gLogo {
    left: 30px;
    top: 20px
  }
}

@media screen and (max-width: 680px) {
  .gLogo {
    left: 15px;
    top: 20px
  }
}

.gLogo a {
  display: block;
  position: relative
}

.gLogo a span {
  font-weight: bold;
  color: #000;
}

.gLogo a span:first-child {
  position: absolute;
  top: 14px;
  right: -26px;
  font-size: 9px;
  letter-spacing: 0;
  transform: rotate(90deg);
}

.gLogo a span:nth-child(2) {
  display: block;
  font-size: 18.7px;
  margin-bottom: 5px;
}

.gLogo a span:nth-child(3) {
  display: block;
  font-size: 10.7px;
}

.gLogo svg {
  width: 140px;
  height: 40px;
  fill: #000
}

.gNavigation {
  position: absolute;
  right: 110px;
  top: 45px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 10
}

@media screen and (max-width: 1024px) {
  .gNavigation {
    display: none
  }
}

.gNavigation ul {
  display: flex;
  position: relative
}

.gNavigation ul li:nth-of-type(n + 2) {
  margin-left: 15px
}

.gNavigation a {
  display: flex;
  align-items: center;
  font-size: 1.4rem;
  font-weight: 600;
  min-height: 40px;
  position: relative;
  padding-left: 16px
}

.gNavigation a .text {
  padding: 2px 0 2px 0;
  line-height: 1
}

.gNavigation a .icon {
  position: absolute;
  left: 0;
  top: 0;
  width: 24px;
  height: 100%
}

.gNavigation a .icon::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: 50%;
  width: 6px;
  height: 6px;
  border-style: solid;
  border-color: #fff rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #fff;
  border-width: 1px;
  transform: rotate(-135deg) translateY(-50%)
}

.gNavigation a:hover {
  color: #055dd3
}

.gNavigation a:hover .icon {
  -webkit-animation: i_slide_t 640ms 1 forwards;
  animation: i_slide_t 640ms 1 forwards
}

.bHero {
  position: relative
}

.bHero__container {
  overflow: hidden;
  position: relative
}

.bHero__background {
  position: relative;
  overflow: hidden;
  background: linear-gradient(180deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 65%, rgba(227, 43, 131, 0.05) 65%, rgba(227, 43, 131, 0.05) 100%);
  height: 62.272vw
}

@media screen and (max-width: 1024px) {
  .bHero__background {
    transform: scale(1.2);
    transform-origin: top right;
    height: 76vw
  }
}

@media screen and (max-width: 680px) {
  .bHero__background {
    height: 150vw
  }
}

.bHero__background_inner {
  position: relative;
  width: 100%;
  transform: translateX(6.8%)
}

@media screen and (max-width: 1240px) {
  .bHero__background_inner {
    transform: translateX(8.8%)
  }
}

@media screen and (max-width: 680px) {
  .bHero__background_inner {
    transform: translateX(-18%) scale(1.6);
    transform-origin: 0 0
  }
}

.bHero__slash {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 2vw
}

.bHero__clip_object {
  width: 100%;
  height: 67.2727vw;
  -webkit-clip-path: url(#bHeroClip);
  clip-path: url(#bHeroClip);
  background-color: rgba(221, 221, 221, .2)
}

.bHero__clip_object::before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(255, 255, 255, .25);
  z-index: 5
}

.bHero__clippath {
  position: absolute;
  width: 0;
  height: 0
}

.bHero__text {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  box-sizing: border-box;
  padding-bottom: 5%;
  align-items: flex-end
}

@media screen and (max-width: 1024px) {
  .bHero__text {
    padding-bottom: 15%
  }
}

@media screen and (max-width: 1024px) {
  .bHero__text {
    padding-bottom: 0;
    align-items: center
  }
}

@media screen and (max-width: 1240px) {
  .bHero__text .mBlock {
    padding-left: calc(6% + 10px);
    padding-right: calc(6% + 10px)
  }
}

@media screen and (max-width: 680px) {
  .bHero__text .mBlock {
    padding-left: calc(5% + 5px);
    padding-right: calc(5% + 5px)
  }
}

.bHero__text_inner {
  padding-bottom: 8%
}

.bHero__text_item01 {
  font-size: clamp(1.8rem, 1vw, 3.6rem);
  color: #055dd3
}

.bHero__text_item01>h2>span {
  display: inline-block
}

@media screen and (max-width: 1024px) {
  .bHero__text_item01>h2>span {
    background-color: rgba(255, 255, 255, .8)
  }
}

.bHero__text_item01 .en {
  font-weight: 500;
  letter-spacing: .2rem
}

.bHero__text_item01 .ja {
  font-weight: 600;
  margin-top: 2px
}

.bHero__text_item02 {
  margin-top: 10px;
  margin-bottom: 40px
}

.bHero__text_item02 p {
  font-weight: 500;
  display: inline-flex;
  align-items: flex-end;
  line-height: 1;
  font-feature-settings: "palt"1
}

@media screen and (max-width: 1024px) {
  .bHero__text_item02 p {
    background-color: rgba(255, 255, 255, .8)
  }
}

.bHero__text_item02 p .day,
.bHero__text_item02 p .line {
  font-size: clamp(3.4rem, 1vw, 6.8rem)
}

.bHero__text_item02 p .week {
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  margin-bottom: 4px;
  padding-left: 5px
}

.bHero__text_item02 p .line {
  padding-left: 10px;
  padding-right: 10px
}

.bHero__text_item03 {
  font-size: clamp(14rem, 1vw, 28rem);
  line-height: .9;
  letter-spacing: normal;
  letter-spacing: 1.35rem
}

@media screen and (max-width: 1240px) {
  .bHero__text_item03 {
    font-size: clamp(10rem, 1vw, 20rem)
  }
}

@media screen and (max-width: 1024px) {
  .bHero__text_item03 {
    font-size: clamp(10vw, 1vw, 20rem);
    letter-spacing: .55rem
  }
}

@media screen and (max-width: 680px) {
  .bHero__text_item03 {
    letter-spacing: .35rem
  }
}

.bHero__text_item03 .en {
  display: inline-block;
  white-space: nowrap
}

@media screen and (max-width: 1024px) {
  .bHero__text_item03 .en {
    background-color: rgba(255, 255, 255, .8)
  }
}

.bHero__text_item03 .ja {
  font-weight: 600
}

.bHero .hero_slider {
  position: relative;
  overflow: hidden
}

.bHero .hero_slider::after {
  content: "";
  background-color: rgba(255, 255, 255, 0);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1
}

.bHero .swiper-slide-active .slide_content,
.bHero .swiper-slide-duplicate-active .slide_content,
.bHero .swiper-slide-prev .slide_content {
  -webkit-animation: flow-out 20s linear 0s 1 normal both;
  animation: flow-out 20s linear 0s 1 normal both;
  transform-origin: center
}

.bHero .slide_content img {
  position: absolute;
  width: 0;
  height: 0;
  visibility: hidden
}

.bHero .slide_item {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  height: 67.2727vw;
  width: 100%;
  position: relative
}

.bHero .fix_observation {
  position: absolute;
  top: 0;
  left: 0;
  height: 55.272vw;
  width: 100%
}

@media screen and (max-width: 1024px) {
  .bHero .fix_observation {
    height: 76vw
  }
}

@media screen and (max-width: 680px) {
  .bHero .fix_observation {
    height: 140vw
  }
}

.bHero .fix_observation .asideMenu {
  position: absolute;
  bottom: 10%;
  right: 35px;
  display: flex;
  align-items: flex-start
}

@media screen and (max-width: 1240px) {
  .bHero .fix_observation .asideMenu {
    right: 25px
  }
}

@media screen and (max-width: 1024px) {
  .bHero .fix_observation .asideMenu {
    right: 15px
  }
}

@media screen and (max-width: 680px) {
  .bHero .fix_observation .asideMenu {
    bottom: 5%;
    display: none
  }
}

.bHero .fix_observation .asideMenu .follow {
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1;
  letter-spacing: normal;
  font-size: 1.1rem;
  margin-right: 6px
}

.bHero .fix_observation .asideMenu ul {
  display: flex;
  flex-direction: column;
  gap: 5px;
  justify-content: center
}

.bHero .fix_observation .asideMenu li a {
  margin-top: 0px;
  width: 30px;
  height: 30px
}

.bHero .fix_observation .asideMenu li a .icon {
  display: block;
  overflow: hidden;
  padding: 6px
}

.bHero .fix_observation .asideMenu li a .icon svg {
  width: 18px;
  height: 18px;
  fill: #fff
}

.bHero .fix_observation .asideMenu li a:hover .icon svg {
  -webkit-animation: i_slide_r 640ms 1 forwards;
  animation: i_slide_r 640ms 1 forwards
}

.bHero .fix_observation .scroll-down {
  position: absolute;
  left: 35px;
  height: 80px;
  width: 20px;
  bottom: 10%;
  background-color: rgba(0, 0, 0, 0);
  cursor: pointer;
  outline: none;
  z-index: 6;
  transition: all .6s ease-in-out
}

@media screen and (max-width: 1240px) {
  .bHero .fix_observation .scroll-down {
    left: 25px
  }
}

@media screen and (max-width: 1024px) {
  .bHero .fix_observation .scroll-down {
    left: 15px
  }
}

@media screen and (max-width: 680px) {
  .bHero .fix_observation .scroll-down {
    bottom: 5%
  }
}

.bHero .fix_observation .scroll-down:before,
.bHero .fix_observation .scroll-down:after {
  position: absolute;
  background-color: #1e1e1e;
  content: ""
}

.bHero .fix_observation .scroll-down:before {
  top: 0px;
  left: 0;
  width: 7px;
  height: 7px;
  margin-left: -3px;
  border-radius: 100%;
  -webkit-animation: scrolldownAnimation 2s infinite;
  animation: scrolldownAnimation 2s infinite
}

.bHero .fix_observation .scroll-down:after {
  height: 100%;
  width: 1px;
  top: 0;
  left: 0
}

.bHero .fix_observation .scroll-down .text {
  color: #1e1e1e;
  font-size: 1.1rem;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  line-height: 1;
  letter-spacing: normal;
  margin-left: 8px
}

.bInfo__container {
  background: rgba(227, 43, 131, .05)
}

.bInfo__headline {
  line-height: 1.1
}

.bInfo__headline .en {
  font-size: clamp(2rem, 1vw, 4rem)
}

.bInfo__headline .ja {
  font-size: clamp(1.1rem, 1vw, 2.2rem);
  font-weight: 600
}

.bInfo__news_list {
  width: 80%;
  margin: 0 auto
}

@media screen and (max-width: 1240px) {
  .bInfo__news_list {
    width: 90%
  }
}

@media screen and (max-width: 1024px) {
  .bInfo__news_list {
    width: 100%
  }
}

.bInfo__news_list ul {
  list-style: none;
  padding-top: 20px
}

.bInfo__news_list li {
  display: flex;
  position: relative
}

.bInfo__news_list li::before {
  content: "";
  position: absolute;
  background: #ddd;
  height: 1px;
  width: 100%;
  bottom: 0;
  left: 0
}

.bInfo__news_list li:nth-of-type(1) {
  border-top: 1px solid #ddd
}

.bInfo__news_list a {
  display: flex;
  align-items: center;
  padding: 16px 24px 16px 0;
  width: 100%;
  box-sizing: border-box;
  color: #1e1e1e;
  position: relative;
  background: linear-gradient(#055dd3, #055dd3) 100% 100%/0 1px no-repeat;
  transition: background-size .6s cubic-bezier(0.23, 1, 0.32, 1) 0s, color .3s ease-out
}

@media screen and (max-width: 680px) {
  .bInfo__news_list a {
    flex-wrap: wrap
  }
}

.bInfo__news_list a .badge {
  display: block;
  box-sizing: border-box;
  width: 50px;
  margin-right: 15px;
  font-size: 1rem;
  background-color: #055dd3;
  padding: 1px 6px;
  color: #fff;
  text-align: center;
  letter-spacing: normal;
  line-height: normal;
  font-weight: 400
}

.bInfo__news_list a .date {
  display: block;
  box-sizing: border-box;
  margin-right: 15px;
  font-weight: 400;
  font-size: 1.4rem;
  line-height: 1.2
}

.bInfo__news_list a .text {
  display: block;
  font-size: 1.4rem;
  line-height: 1.2
}

@media screen and (max-width: 680px) {
  .bInfo__news_list a .text {
    width: 100%;
    padding-top: 5px
  }
}

.bInfo__news_list a .icon {
  position: absolute;
  right: 0;
  top: 0;
  width: 24px;
  height: 100%
}

.bInfo__news_list a .icon::after {
  content: "";
  position: absolute;
  right: 12px;
  bottom: 50%;
  width: 6px;
  height: 6px;
  border-style: solid;
  border-color: #000 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #000;
  border-width: 1px;
  transform: rotate(-135deg) translateY(-50%)
}

.bInfo__news_list a:hover {
  background-size: 100% 1px;
  background-position: 0 100%;
  color: #055dd3
}

.bInfo__news_list a:hover .icon {
  -webkit-animation: i_slide_t 640ms 1 forwards;
  animation: i_slide_t 640ms 1 forwards
}

.bInfo__news_list a.is_disable {
  pointer-events: none;
  opacity: 1;
  padding: 16px 0 16px 0
}

.bInfo__news_list a.is_disable .icon {
  display: none
}

.bInfo__schedule_list {
  background: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgb(255, 255, 255) 45%, rgba(227, 43, 131, 0) 45%, rgba(227, 43, 131, 0) 100%)
}

.bInfo .schedule_slider {
  padding-top: 20px
}

.bInfo .schedule_slider_inner {
  position: relative;
  box-sizing: content-box;
  margin: 0 auto;
  padding: 0 calc(8% + 30px)
}

@media screen and (max-width: 1024px) {
  .bInfo .schedule_slider_inner {
    padding-left: calc(3% + 10px);
    padding-right: calc(3% + 10px)
  }
}

.bInfo .swiper-slide {
  display: flex;
  flex-direction: column;
  height: 100%
}

.bInfo .swiper-slide:hover .button .icon {
  -webkit-animation: i_slide_t 640ms 1 forwards;
  animation: i_slide_t 640ms 1 forwards
}

.bInfo .slide_content {
  text-align: center;
  height: 100%;
  background-color: #1e1e1e;
  padding: 1rem 4rem;
  box-sizing: border-box;
  color: #fff;
  display: flex;
  flex-direction: column;
  align-items: center
}

.bInfo .slide_content .icon,
.bInfo .slide_content svg {
  width: 30px;
  height: 30px;
  display: block
}

.bInfo .slide_content .icon {
  margin-bottom: 3px
}

.bInfo .slide_content svg {
  fill: #fff
}

.bInfo .slide_content .date {
  font-size: 2.4rem
}

.bInfo .slide_content .text {
  font-size: 1.4rem;
  font-weight: 600
}

.bInfo .slide_content .button {
  font-size: 1.1rem;
  background-color: #fff;
  margin: 5px auto 0 auto;
  line-height: 1;
  padding: 5px 20px 5px 30px;
  letter-spacing: normal;
  box-sizing: border-box;
  border-radius: 9999px;
  color: #1e1e1e;
  position: relative;
  overflow: hidden
}

.bInfo .slide_content .button .text {
  font-size: 1.1rem;
  font-weight: 500
}

.bInfo .slide_content .button .icon {
  position: absolute;
  left: 20px;
  top: -0.05rem;
  width: 24px;
  height: 100%
}

.bInfo .slide_content .button .icon::after {
  content: "";
  position: absolute;
  left: 0px;
  bottom: 50%;
  width: 4px;
  height: 4px;
  border-style: solid;
  border-color: #000 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #000;
  border-width: 1px;
  transform: rotate(-135deg) translateY(-50%)
}

.bInfo .slide_content .badge {
  position: absolute;
  top: 4px;
  left: 6px;
  font-size: 1.2rem;
  letter-spacing: normal;
  line-height: 1
}

.bInfo .slide_content.day1 {
  background-color: #aa61b4
}

.bInfo .slide_content.day1 .button {
  color: #aa61b4
}

.bInfo .slide_content.day1 .button .icon::after {
  border-color: #aa61b4 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #aa61b4
}

.bInfo .slide_content.day2 {
  background-color: #d68e78
}

.bInfo .slide_content.day2 .button {
  color: #d68e78
}

.bInfo .slide_content.day2 .button .icon::after {
  border-color: #d68e78 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #d68e78
}

.bInfo .slide_content.day3 {
  background-color: #60a2b0
}

.bInfo .slide_content.day3 .button {
  color: #60a2b0
}

.bInfo .slide_content.day3 .button .icon::after {
  border-color: #60a2b0 rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #60a2b0
}

.bInfo .slide_content.day4 {
  background-color: #b7282d
}

.bInfo .slide_content.day4 .button {
  color: #b7282d
}

.bInfo .slide_content.day4 .button .icon::after {
  border-color: #b7282d rgba(0, 0, 0, 0) rgba(0, 0, 0, 0) #b7282d
}

:root {
  --easing: cubic-bezier(.2, 1, .2, 1);
  --transition: .8s var(--easing);
  --color-base: #f8f8f8;
  --color-gray: #ddd;
  --color-theme: #055dd3;
  --color-theme-darken: #f12617;
  --box-shadow: .8rem .8rem 1.2rem rgba(0, 0, 0, .05), -.8rem -.8rem 1.2rem #fff;
  --box-shadow-hover: 1rem 1rem 1.5rem rgba(0, 0, 0, .08), -1rem -1rem 1.5rem #fff;
  --box-shadow-inset: inset .8rem .8rem 1.2rem rgba(0, 0, 0, .05), inset -.8rem -.8rem 1.2rem #fff;
  --box-shadow-dark: .8rem .8rem 1.2rem rgba(0, 0, 0, .1), -.8rem -.8rem 1.2rem rgba(#fff, .2)
}

.swiper-button-prev,
.swiper-button-next {
  display: grid;
  place-content: center;
  width: 6.4rem;
  height: 6.4rem;
  cursor: pointer;
  transition: var(--transition)
}

.swiper-button-prev::before,
.swiper-button-next::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: 50%;
  box-shadow: var(--box-shadow)
}

.swiper-button-prev::after,
.swiper-button-next::after {
  width: 1.2rem;
  height: 1.2rem;
  content: "";
  border: solid var(--color-gray);
  border-width: 3px 3px 0 0
}

.swiper-button-prev::after {
  margin-left: .4rem;
  transform: rotate(-135deg)
}

.swiper-button-next::after {
  margin-right: .4rem;
  transform: rotate(45deg)
}

.swiper-button-disabled {
  pointer-events: none;
  opacity: 0
}

.schedule_slider {
  overflow: hidden
}

.schedule_slider .swiper {
  overflow: visible
}

.schedule_slider .swiper-controller {
  display: flex;
  gap: 1.6rem;
  align-items: center;
  justify-content: flex-end;
  margin-top: 3.2rem;
  position: relative;
  border-top: 1px solid #ddd
}

.schedule_slider .swiper-pagination {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  justify-content: flex-start;
  margin: 0 auto 0 0;
  text-align: center;
  top: calc(50% + 5px);
  transform: translateY(-50%)
}

.schedule_slider .swiper-pagination-bullet {
  width: 1.6rem;
  height: 2px;
  cursor: pointer;
  transition: var(--transition);
  vertical-align: top;
  background-color: #1e1e1e;
  border-radius: 0;
  margin: 0 0 0 4px !important
}

.schedule_slider .swiper-pagination-bullet-active {
  width: 4rem;
  background-color: var(--color-theme)
}

.schedule_slider .swiper-button-prev,
.schedule_slider .swiper-button-next {
  width: 46px;
  height: 46px;
  position: relative;
  flex-shrink: 0;
  margin: 0
}

.schedule_slider .swiper-button-prev svg,
.schedule_slider .swiper-button-next svg {
  width: 46px;
  height: 46px
}

.schedule_slider .swiper-button-next {
  right: 0
}

.schedule_slider .swiper-button-prev::before,
.schedule_slider .swiper-button-next::before,
.schedule_slider .swiper-button-prev::after,
.schedule_slider .swiper-button-next::after {
  display: none
}

.schedule_slider .swiper-button-disabled {
  pointer-events: none;
  opacity: .5
}

.schedule_slider .swiper-slide {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content
}

.schedule_slider .slide {
  overflow: hidden;
  width: 26rem
}

.bSchedule__container {
  background: rgba(227, 43, 131, .05);
  overflow: hidden;
  width: 100%;
  position: relative
}

.bSchedule .dText {
  position: relative
}

.bSchedule .dText_inner {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  overflow: hidden
}

@media screen and (max-width: 680px) {
  .bSchedule .dText_inner {
    top: 10%
  }
}

.bSchedule .dText p {
  font-size: clamp(10rem, 1vw, 20rem);
  line-height: 1;
  color: rgba(227, 43, 131, .08);
  white-space: nowrap
}

.bSchedule__headcontent {
  font-weight: 600;
  margin-top: 6rem
}

@media screen and (max-width: 1024px) {
  .bSchedule__headcontent {
    margin-top: 6.5rem
  }
}

.bSchedule__headcontent .ja {
  font-size: clamp(2.8rem, 1vw, 5.6rem);
  color: #055dd3;
  font-weight: 600
}

.bSchedule__headcontent .bSchedule__textbox {
  padding-top: 20px;
  line-height: 1.6;
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  letter-spacing: .2rem
}

.bSchedule .schedule_content {
  margin-top: 30px;
  background-color: #fff
}

.bSchedule .schedule_content .schedule_title {
  display: flex;
  align-items: center;
  line-height: normal;
  padding: 15px 30px 15px 15px;
  gap: 10px;
  transform: translateX(0);
  transition: transform .3s cubic-bezier(0.16, 0.43, 0.45, 1)
}

.bSchedule .schedule_content .schedule_title:hover {
  transform: translateX(10px)
}

.bSchedule .schedule_content .schedule_title .icon,
.bSchedule .schedule_content .schedule_title svg {
  width: 28px;
  height: 28px;
  fill: #1e1e1e
}

.bSchedule .schedule_content .schedule_title .day {
  font-size: clamp(1.2rem, 1vw, 2.4rem)
}

.bSchedule .schedule_content .schedule_title .date {
  font-size: clamp(2.6rem, 1vw, 5.2rem)
}

.bSchedule .schedule_content .schedule_title .week {
  font-size: clamp(1.1rem, 1vw, 2.2rem);
  background-color: #1e1e1e;
  padding: 0 8px;
  color: #fff;
  border-radius: 999px;
  min-width: 46px;
  box-sizing: border-box;
  text-align: center
}

.bSchedule .schedule_content .schedule_day {
  border-bottom: 3px solid #1e1e1e;
  overflow: hidden;
  position: relative
}

.bSchedule .schedule_content .schedule_day1 {
  border-bottom: 3px solid #aa61b4;
  color: #aa61b4
}

.bSchedule .schedule_content .schedule_day1 svg {
  fill: #aa61b4
}

.bSchedule .schedule_content .schedule_day1 .week {
  background-color: #aa61b4
}

.bSchedule .schedule_content .schedule_day2 {
  border-bottom: 3px solid #d68e78;
  color: #d68e78
}

.bSchedule .schedule_content .schedule_day2 svg {
  fill: #d68e78
}

.bSchedule .schedule_content .schedule_day2 .week {
  background-color: #d68e78
}

.bSchedule .schedule_content .schedule_day3 {
  border-bottom: 3px solid #60a2b0;
  color: #60a2b0
}

.bSchedule .schedule_content .schedule_day3 svg {
  fill: #60a2b0
}

.bSchedule .schedule_content .schedule_day3 .week {
  background-color: #60a2b0
}

.bSchedule .schedule_content .schedule_day4 {
  border-bottom: 3px solid #b7282d;
  color: #b7282d
}

.bSchedule .schedule_content .schedule_day4 svg {
  fill: #b7282d
}

.bSchedule .schedule_content .schedule_day4 .week {
  background-color: #b7282d
}

.bSchedule .timetabel {
  padding: 3rem 0
}

.bSchedule .timetabel_head {
  display: flex;
  justify-content: center
}

.bSchedule .timetabel_head .text {
  font-size: clamp(1.4rem, 1vw, 2.8rem);
  background-color: #1e1e1e;
  color: #fff;
  line-height: 1;
  padding: 10px 15px
}

@media screen and (max-width: 1024px) {
  .bSchedule .timetabel .program__detail {
    margin-bottom: 0px
  }
}

@media screen and (max-width: 680px) {
  .bSchedule .timetabel .program__detail {
    margin-bottom: 0px
  }
}

.bSchedule .timetabel .program_lists {
  padding: 60px 20px;
  display: flex;
  flex-wrap: wrap;
  position: relative
}

@media screen and (max-width: 1024px) {
  .bSchedule .timetabel .program_lists {
    flex-direction: column;
    padding-top: 0
  }
}

.bSchedule .timetabel .program_lists::before,
.bSchedule .timetabel .program_lists::after {
  content: "";
  background-color: #1e1e1e;
  position: absolute;
  left: 50%;
  transform: translateX(-50%)
}

.bSchedule .timetabel .program_lists::before {
  width: 1px;
  height: 100%;
  top: 0
}

.bSchedule .timetabel .program_lists::after {
  width: 15%;
  height: 1px;
  bottom: 0
}

.bSchedule .timetabel .program_lists>li {
  width: 50%;
  box-sizing: border-box;
  border-top: 1px solid #1e1e1e;
  padding: 20px;
  position: relative
}

@media screen and (max-width: 1024px) {
  .bSchedule .timetabel .program_lists>li {
    background-color: #fff;
    width: 100%;
    padding-bottom: 0
  }
}

.bSchedule .timetabel .program_lists>li::after {
  content: "";
  width: 10px;
  height: 10px;
  background-color: #1e1e1e;
  border-radius: 50%;
  position: absolute;
  top: -5px;
  z-index: 1
}

.bSchedule .timetabel .program_lists>li:nth-of-type(odd) {
  padding-left: 0
}

@media screen and (max-width: 1024px) {
  .bSchedule .timetabel .program_lists>li:nth-of-type(odd) {
    padding-right: 0;
    margin-top: 6rem
  }
}

@media screen and (max-width: 680px) {
  .bSchedule .timetabel .program_lists>li:nth-of-type(odd) {
    margin-top: 6rem
  }
}

.bSchedule .timetabel .program_lists>li:nth-of-type(odd)::after {
  right: -5px
}

@media screen and (max-width: 1024px) {
  .bSchedule .timetabel .program_lists>li:nth-of-type(odd)::after {
    right: calc(50% - 5px)
  }
}

.bSchedule .timetabel .program_lists>li:nth-of-type(even) {
  margin-top: 10%;
  padding-right: 0
}

@media screen and (max-width: 1024px) {
  .bSchedule .timetabel .program_lists>li:nth-of-type(even) {
    padding-left: 0
  }
}

@media screen and (max-width: 680px) {
  .bSchedule .timetabel .program_lists>li:nth-of-type(even) {
    margin-top: 6rem
  }
}

.bSchedule .timetabel .program_lists>li:nth-of-type(even)::after {
  left: -5px
}

@media screen and (max-width: 1024px) {
  .bSchedule .timetabel .program_lists>li:nth-of-type(even)::after {
    left: calc(50% - 5px)
  }
}

.bSchedule .timetabel .program_time {
  line-height: 1;
  display: flex;
  align-items: center;
  margin-bottom: 10px
}

.bSchedule .timetabel .program_time .icon,
.bSchedule .timetabel .program_time svg {
  width: 22px;
  height: 22px;
  display: block
}

.bSchedule .timetabel .program_time .icon {
  margin-right: 5px
}

.bSchedule .timetabel .program_time svg {
  fill: #1e1e1e
}

.bSchedule .timetabel .program_time .text {
  font-size: clamp(1.8rem, 1vw, 3.6rem)
}

.bSchedule .timetabel .program_title {
  line-height: 1.4;
  font-size: clamp(2.2rem, 1vw, 4.4rem);
  font-weight: 600;
  margin-bottom: 15px
}

.bSchedule .timetabel .program_note {
  display: flex;
  flex-wrap: wrap;
  border-bottom: 1px solid #ddd
}

@media screen and (max-width: 1024px) {
  .bSchedule .timetabel .program_note {
    flex-direction: column
  }
}

.bSchedule .timetabel .program_note>li {
  width: 50%;
  border-top: 1px solid #ddd;
  display: flex;
  align-items: center;
  line-height: 1;
  padding: 15px 10px;
  box-sizing: border-box;
  min-height: 30px
}

@media screen and (max-width: 1024px) {
  .bSchedule .timetabel .program_note>li {
    width: 100%
  }
}

.bSchedule .timetabel .program_note>li:nth-of-type(odd) {
  border-right: 1px solid #ddd;
  padding-left: 0
}

@media screen and (max-width: 1024px) {
  .bSchedule .timetabel .program_note>li:nth-of-type(odd) {
    border-right: none;
    padding-right: 0
  }
}

.bSchedule .timetabel .program_note>li:nth-of-type(even) {
  padding-right: 0
}

@media screen and (max-width: 1024px) {
  .bSchedule .timetabel .program_note>li:nth-of-type(even) {
    padding-left: 0
  }
}

.bSchedule .timetabel .program_note>li .item {
  font-size: clamp(1.1rem, 1vw, 2.2rem);
  color: rgba(30, 30, 30, .4);
  padding-right: 10px;
  letter-spacing: normal
}

.bSchedule .timetabel .program_note>li .item_text {
  font-size: clamp(1.4rem, 1vw, 2.8rem);
  color: #1e1e1e;
  font-weight: 600
}

.bSchedule .timetabel .program_note>li .connect_link {
  display: flex;
  align-items: center
}

.bSchedule .timetabel .program_note>li .connect_link .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  background-color: #1e1e1e;
  border-radius: 50%;
  overflow: hidden
}

.bSchedule .timetabel .program_note>li .connect_link .icon svg {
  width: 11px;
  height: 11px;
  fill: #fff
}

.bSchedule .timetabel .program_note>li .connect_link .text {
  display: block;
  font-size: clamp(1.2rem, 1vw, 2.4rem);
  color: #055dd3;
  font-weight: 600;
  margin-left: 5px
}

.bSchedule .timetabel .program_note>li .connect_link:hover .icon svg {
  -webkit-animation: i_slide_r 640ms 1 forwards;
  animation: i_slide_r 640ms 1 forwards
}

.bSchedule .timetabel_day1 .timetabel_head .text {
  background-color: #aa61b4
}

.bSchedule .timetabel_day1 .program_lists::before,
.bSchedule .timetabel_day1 .program_lists::after {
  content: "";
  background-color: #aa61b4
}

.bSchedule .timetabel_day1 .program_lists>li {
  border-top: 1px solid #aa61b4
}

.bSchedule .timetabel_day1 .program_lists>li::after {
  background-color: #aa61b4
}

.bSchedule .timetabel_day1 .program_time .icon svg {
  fill: #aa61b4
}

.bSchedule .timetabel_day1 .program_time .text {
  color: #aa61b4
}

.bSchedule .timetabel_day2 .timetabel_head .text {
  background-color: #d68e78
}

.bSchedule .timetabel_day2 .program_lists::before,
.bSchedule .timetabel_day2 .program_lists::after {
  content: "";
  background-color: #d68e78
}

.bSchedule .timetabel_day2 .program_lists>li {
  border-top: 1px solid #d68e78
}

.bSchedule .timetabel_day2 .program_lists>li::after {
  background-color: #d68e78
}

.bSchedule .timetabel_day2 .program_time .icon svg {
  fill: #d68e78
}

.bSchedule .timetabel_day2 .program_time .text {
  color: #d68e78
}

.bSchedule .timetabel_day3 .timetabel_head .text {
  background-color: #60a2b0
}

.bSchedule .timetabel_day3 .program_lists::before,
.bSchedule .timetabel_day3 .program_lists::after {
  content: "";
  background-color: #60a2b0
}

.bSchedule .timetabel_day3 .program_lists>li {
  border-top: 1px solid #60a2b0
}

.bSchedule .timetabel_day3 .program_lists>li::after {
  background-color: #60a2b0
}

.bSchedule .timetabel_day3 .program_time .icon svg {
  fill: #60a2b0
}

.bSchedule .timetabel_day3 .program_time .text {
  color: #60a2b0
}

.bSchedule .timetabel_day4 .timetabel_head .text {
  background-color: #b7282d
}

.bSchedule .timetabel_day4 .program_lists::before,
.bSchedule .timetabel_day4 .program_lists::after {
  content: "";
  background-color: #b7282d
}

.bSchedule .timetabel_day4 .program_lists>li {
  border-top: 1px solid #b7282d
}

.bSchedule .timetabel_day4 .program_lists>li::after {
  background-color: #b7282d
}

.bSchedule .timetabel_day4 .program_time .icon svg {
  fill: #b7282d
}

.bSchedule .timetabel_day4 .program_time .text {
  color: #b7282d
}

.bSchedule .ancher_offset {
  display: block;
  position: relative;
  top: calc(-10rem - 30px)
}

.bSeminar__container {
  background-color: rgba(227, 43, 131, .05);
  width: 100%;
  position: relative;
  color: #ddd;
  transition: background-color .6s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1s
}

.bSeminar .dText {
  position: relative
}

.bSeminar .dText_inner {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  overflow: hidden
}

.bSeminar .dText p {
  font-size: clamp(10rem, 1vw, 20rem);
  line-height: 1;
  color: #000;
  white-space: nowrap
}

.bSeminar__headcontent {
  font-weight: 600;
  color: #ddd;
  margin-top: 6rem
}

@media screen and (max-width: 1024px) {
  .bSeminar__headcontent {
    margin-top: 6.5rem
  }
}

.bSeminar__headcontent .ja {
  font-size: clamp(2.8rem, 1vw, 5.6rem);
  color: #055dd3;
  font-weight: 600
}

.bSeminar__headcontent .bSeminar__textbox {
  padding-top: 20px;
  line-height: 1.6;
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  letter-spacing: .2rem;
  padding-bottom: 1rem
}

.bSeminar .seminar_lists {
  display: flex;
  align-items: flex-start;
  gap: 80px 40px;
  flex-wrap: wrap;
  box-sizing: border-box
}

.bSeminar .seminar_list {
  width: calc(33.3333333333% - 26.6666666667px);
  box-sizing: border-box
}

@media screen and (max-width: 1024px) {
  .bSeminar .seminar_list {
    width: calc(50% - 40px)
  }
}

@media screen and (max-width: 680px) {
  .bSeminar .seminar_list {
    width: 100%;
    padding-left: calc(1% + 3px);
    padding-right: calc(1% + 3px)
  }
}

.bSeminar .seminar_inner {
  display: flex;
  align-items: center;
  background-color: #fff
}

.bSeminar .seminar_inner.comming {
  padding-top: 35%
}

.bSeminar .seminar_inner.comming .text {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  color: #1e1e1e;
  line-height: 1
}

.bSeminar .seminar_image_item {
  padding-top: 62.25%;
  overflow: hidden;
  position: relative;
  width: 100%;
  display: block
}

.bSeminar .seminar_image_item img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1.01)
}

.bSeminar .seminar_summary {
  padding: 2rem 0;
  box-sizing: border-box;
  position: relative;
  z-index: 1
}

.bSeminar .seminar_title {
  font-size: clamp(1.8rem, 1vw, 3.6rem);
  font-weight: 600;
  line-height: 1.4
}

.bSeminar .seminar_overview {
  font-size: clamp(1.4rem, 1vw, 2.4rem);
  font-weight: 600;
  margin-top: 5px;
  line-height: normal
}

.bSeminar .seminar_speaker {
  font-size: clamp(1.2rem, 1vw, 2.4rem);
  font-weight: 600;
  margin-top: 5px;
  line-height: normal
}

.bSeminar .seminar_note {
  padding-top: 5px
}

.bSeminar .seminar_note li {
  margin-top: 15px
}

.bSeminar .seminar_note .item {
  font-size: clamp(1.1rem, 1vw, 2.2rem);
  color: rgba(221, 221, 221, .4);
  letter-spacing: normal;
  padding-bottom: 5px;
  line-height: 1
}

.bSeminar .seminar_note .item_text {
  font-size: clamp(1.4rem, 1vw, 2.8rem);
  color: #ddd;
  font-weight: 600
}

.bSeminar .seminar_note .item_text.en {
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  font-weight: 500;
  color: #ddd
}

.bSeminar .seminar_note .item_text.small {
  font-size: 74%;
  font-weight: 500
}

.bSeminar .seminar_note .item_text .day,
.bSeminar .seminar_note .item_text .time {
  font-size: clamp(2rem, 1vw, 4rem)
}

.bSeminar .seminar_note .item_text .week {
  font-size: clamp(1.1rem, 1vw, 2.2rem)
}

.bSeminar .seminar_note .connect {
  display: flex;
  gap: 20px
}

.bSeminar .seminar_note .connect_link {
  display: flex;
  align-items: center
}

.bSeminar .seminar_note .connect_link .icon {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 32px;
  height: 32px;
  background-color: #ddd;
  border-radius: 50%;
  overflow: hidden
}

.bSeminar .seminar_note .connect_link .icon svg {
  width: 18px;
  height: 18px;
  fill: #1e1e1e
}

.bSeminar .seminar_note .connect_link .text {
  display: block;
  font-size: clamp(1.2rem, 1vw, 2.4rem);
  color: #055dd3;
  font-weight: 600;
  margin-left: 5px
}

.bSeminar .seminar_note .connect_link:hover .icon svg {
  -webkit-animation: i_slide_r 640ms 1 forwards;
  animation: i_slide_r 640ms 1 forwards
}

.bSeminar .seminar_note .connect .text-mail {
  display: inline !important;
  font-size: clamp(1.2rem, 1vw, 2.4rem);
  color: #055dd3;
  font-weight: 600
}

.bSeminar .seminar_note .connect .text-mail .connect_link {
  color: #055dd3;
  display: inline !important
}

.bSeminar .seminar_inner {
  display: flex;
  align-items: center;
  background-color: #fff
}

.bSeminar .seminar_inner.comming {
  padding-top: 42%
}

@media screen and (max-width: 680px) {
  .bSeminar .seminar_inner.comming {
    padding-top: 100%
  }
}

.bSeminar .seminar_inner.comming .textbox {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex-direction: column
}

.bSeminar .seminar_inner.comming .icon,
.bSeminar .seminar_inner.comming svg {
  width: 40px;
  height: 40px
}

.bSeminar .seminar_inner.comming .icon {
  margin-bottom: 10px
}

.bSeminar .seminar_inner.comming .icon svg {
  fill: #1e1e1e
}

.bSeminar .seminar_inner.comming .text {
  font-size: clamp(1.6rem, 1.6vw, 3.2rem);
  color: #1e1e1e;
  line-height: 1
}

.sectionProgram.appear .bSeminar__container {
  background: #1e1e1e
}

.bStamprally__container {
  background-color: rgba(227, 43, 131, .05);
  overflow: hidden;
  width: 100%;
  position: relative;
  color: #ddd;
  transition: background-color .6s cubic-bezier(0.56, 0.08, 0.09, 0.96) 1s
}

.bStamprally .dText {
  position: relative
}

.bStamprally .dText_inner {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  width: 100%;
  overflow: hidden
}

.bStamprally .dText p {
  font-size: clamp(10rem, 1vw, 20rem);
  line-height: 1;
  color: #000;
  white-space: nowrap
}

.bStamprally .moButton_wrap {
  justify-content: center
}

.bStamprally .moButton_wrap .moButton {
  cursor: default
}

.bStamprally .moButton_wrap .moButton .fJost {
  font-size: clamp(1rem, 2vw, 2.5rem)
}

@media screen and (max-width: 1024px) {
  .bStamprally .moButton_wrap .moButton {
    width: 80%;
    display: flex;
    justify-content: center
  }

  .bStamprally .moButton_wrap .moButton .fJost {
    font-size: clamp(1.3rem, 2vw, 4rem)
  }
}

.bStamprally .benefits {
  display: flex;
  margin-top: 2rem;
  flex-direction: row;
  -moz-column-count: 2;
  column-count: 2;
  -moz-column-gap: 2rem;
  column-gap: 2rem
}

.bStamprally .benefits picture.benefits-item {
  max-width: 100%
}

@media screen and (max-width: 1024px) {
  .bStamprally .benefits {
    -moz-column-count: 1;
    column-count: 1;
    flex-wrap: wrap;
    row-gap: 2rem
  }
}

.bStamprally__headcontent {
  font-weight: 600;
  margin-top: 6rem;
  color: #ddd
}

@media screen and (max-width: 1024px) {
  .bStamprally__headcontent {
    margin-top: 6.5rem
  }
}

.bStamprally__headcontent .ja {
  font-size: clamp(2.8rem, 1vw, 5.6rem);
  color: #055dd3;
  font-weight: 600
}

.bStamprally__headcontent .bStamprally__textbox {
  padding-top: 20px;
  line-height: 1.6;
  font-size: 14px;
  letter-spacing: .2rem
}

@media screen and (max-width: 1024px) {
  .bStamprally__headcontent .bStamprally__textbox {
    line-height: 2rem;
    font-weight: 400;
    padding-bottom: 20px
  }
}

.bStamprally .stamprally_inner {
  display: flex;
  align-items: center;
  background-color: #fff
}

.bStamprally .stamprally_inner.comming {
  padding-top: 42%
}

@media screen and (max-width: 680px) {
  .bStamprally .stamprally_inner.comming {
    padding-top: 100%
  }
}

.bStamprally .stamprally_inner.comming .textbox {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  flex-direction: column
}

.bStamprally .stamprally_inner.comming .icon,
.bStamprally .stamprally_inner.comming svg {
  width: 40px;
  height: 40px
}

.bStamprally .stamprally_inner.comming .icon {
  margin-bottom: 10px
}

.bStamprally .stamprally_inner.comming .icon svg {
  fill: #1e1e1e
}

.bStamprally .stamprally_inner.comming .text {
  font-size: clamp(1.6rem, 1.6vw, 3.2rem);
  color: #1e1e1e;
  line-height: 1
}

.bStamprally__footcontent {
  font-weight: 600;
  margin-top: 6rem;
  color: #ddd
}

@media screen and (max-width: 1024px) {
  .bStamprally__footcontent {
    margin-top: 20px
  }
}

.bStamprally__footcontent .ja {
  font-size: clamp(2.8rem, 1vw, 5.6rem);
  color: #055dd3;
  font-weight: 600
}

.bStamprally__footcontent .bStamprally__textbox {
  padding-top: 20px;
  line-height: 1.6;
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  letter-spacing: .2rem
}

@media screen and (max-width: 1024px) {
  .bStamprally__footcontent .bStamprally__textbox {
    line-height: 2rem;
    font-weight: 400;
    padding-top: 0;
    font-size: clamp(1.4rem, 1vw, 2.8rem)
  }
}

.bStamprally__footcontent .bStamprally__textbox p {
  margin-top: 1rem
}

.bStamprally__footcontent .bStamprally__smalltextbox {
  margin-top: 6rem;
  line-height: 1.6;
  font-size: clamp(1.6rem, 1vw, 3.2rem);
  letter-spacing: .2rem;
  text-align: center
}

@media screen and (max-width: 1024px) {
  .bStamprally__footcontent .bStamprally__smalltextbox {
    margin-top: 2rem;
    text-align: left;
    font-weight: 400;
    font-size: clamp(1.4rem, 1vw, 2.8rem)
  }
}

.bStamprally__footcontent .bStamprally__btn {
  margin-top: 2rem
}

.bStamprally__footcontent .btn,
.bStamprally__footcontent a.btn,
.bStamprally__footcontent button.btn {
  font-size: 2rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: block;
  margin: auto;
  width: auto;
  max-width: 40rem;
  padding: 1rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  transition: all .3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: .1em;
  color: #212529;
  border-radius: .5rem
}

@media screen and (max-width: 1024px) {

  .bStamprally__footcontent .btn,
  .bStamprally__footcontent a.btn,
  .bStamprally__footcontent button.btn {
    font-size: 1.2rem
  }
}

.bStamprally__footcontent .btn,
.bStamprally__footcontent a.btn {
  color: #fff;
  background-color: #48d1cc
}

.bStamprally__footcontent .btn:hover,
.bStamprally__footcontent a.btn:hover {
  color: #fff;
  background: #00ced1
}

.bStamprally__footcontent a.btn--radius {
  border-radius: 100vh
}

.appear .bStamprally__container {
  background: #1e1e1e
}

.bSupport__container {
  background: #fefefe;
  overflow: hidden;
  width: 100%;
  position: relative;
  border-bottom: 1px solid rgba(221, 221, 221, .5)
}

.bSupport_inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%
}

.bSupport .support_title {
  font-size: clamp(2.2rem, 2.2vw, 4.4rem);
  line-height: 1;
  margin-bottom: 20px;
  text-align: center
}

.bSupport .support_title span {
  display: block
}

.bSupport .support_title .ja {
  font-size: clamp(1.4rem, 1.4vw, 2.8rem);
  font-weight: 600;
  margin-bottom: 5px
}

.bSupport .support_title .en {
  font-size: clamp(.8rem, .8vw, 1.6rem)
}

.bSupport .support_company,
.bSupport .support_join,
.bSupport .support_banner {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px 10px;
  padding-bottom: 30px;
}

.bSupport .support_company li {
  width: calc(100%/3 - 20px/3);
  height: 200px;
}

.bSupport .support_join li {
  width: calc(100%/4 - 30px/4);
  height: 160px;
}

.bSupport .support_banner li {
  width: calc(100%/5 - 40px/5);
  height: 120px;
}

.bSupport .support_company li a,
.bSupport .support_join li a,
.bSupport .support_banner li a {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  text-align: center;
  color: transparent;
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

.bSupport .support_company li a.no-logo,
.bSupport .support_join li a.no-logo,
.bSupport .support_banner li a.no-logo {
  color: black;
  font-weight: bold;
}

@media screen and (max-width: 680px) {
  .bSupport .support_company li {
    width: 100%;
    height: 150px;
  }

  .bSupport .support_join li {
    width: calc(50% - 5px);
    height: 120px;
  }

  .bSupport .support_banner li {
    width: calc(50% - 5px);
    height: 80px;
  }
}

.bSchedule__flyer img {
    display: block;
    max-width: 800px;
    margin: 0 auto 35px;
}

.program__target {
	position: absolute;
    top: 15px;
    right: 15px;
    background-color: #666;
    color: #fff;
    padding: 5px 5px 3px;
    font-size: smaller;
    font-weight: bold;
}

@media screen and (min-width: 681px) {
	.bSchedule__day {
		display: flex;
		gap: 2%;
        justify-content: center;
	}
	.bSchedule__day img {
		width: 48%;
	}
}

.bGuidance_movie iframe {
  display: block;
  width: 100%;
  max-width: 650px;
  height: 400px;
  margin: 0 auto 35px;
}

@media screen and (max-width: 680px) {
  .bGuidance_movie iframe {
    width: calc(100% - 30px);
    height: 250px;
  }
}
