@charset "utf-8";

/* CSS Document */

/***********
mainVisual
************/

.mainVisual {
  position: relative;
  height: 100vh;
  min-height: 700px;
  padding-top: 100px;
  overflow: hidden;
  user-select: none;
}
.mainVisual::before ,
.mainVisual::after {
  content: "";
  display: block;
  width: 50px;
  position: absolute;
  left: 0;
  background-color: var(--color-brand01);
  z-index: 9;
}
.mainVisual::before {
  height: 35%;
  top: 0;
}
.mainVisual::after {
  height: 55%;
  bottom: 0;
}

.mainVisual-container {
  height: 100%;
  position: relative;
}
.mainVisual-container::before {
  content: "";
  display: block;
  width: clamp(200px,33vw, 900px);
  height: clamp(200px,33vw, 900px);
  background: url(../../img/wave_object01.png) no-repeat center center / 100% auto;
  pointer-events: none;
  position: absolute;
  left: 10%;
  top: clamp(-700px,-28vw, -200px);
}
.mainVisual-container::after {
  content: "";
  display: block;
  width: clamp(200px,28vw, 800px);
  height: clamp(200px,28vw, 800px);
  background: url(../../img/wave_object02.png) no-repeat center center / 100% auto;
  pointer-events: none;
  position: absolute;
  left: -2%;
  bottom: -18%;
}

body.is-loaded .mainVisual-container::before {
  opacity: 1;
}


/*
visual
*/

.mainVisual-visual {
  margin-left: 32%;
  height: calc(100% - 150px);
  overflow: hidden;
  position: relative;
  opacity: 0;
}
body.is-loaded .mainVisual-visual {
  opacity: 1;
  transition: 1.5s ease 0.2s;
}
.mainVisual-visual::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: var(--color-brand01);
  opacity: 0.4;
  mix-blend-mode: color;
}
.mainVisual-img {
  width: 100%;
  height: 100%;
}


/* .mainVisual-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mainVisual.is-show .mainVisual-img {
  transform: translateX(-15%);
  transition: transform 20s linear;
} */

/*
text
*/

.mainVisual-block {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  z-index: 10;
  padding-bottom: 150px;
  padding-left: calc(3vw + 50px);
}
.mainVisual-box {
}


.mainVisual-logo {
  width: clamp(120px,14vw, 400px);
  margin-bottom: 1em;
}

.mainVisual-title {
  font-size: clamp(200%,1.8vw, 370%);
  line-height: 1.3;
  margin-bottom: 0.8em;
}
.mainVisual-title small{
  font-size: 50%;
}
.mainVisual-title span {
}

.mainVisual-symbol {
  width: clamp(400px,25vw, 800px);
}
.mainVisual-lead {
  padding-top: 3em;
  display: flex;
  opacity: 0;
}
body.is-loaded .mainVisual-lead {
  opacity: 1;
  transition: 0.5s ease 0.1s;
}
.mainVisual-lead-item {
  border: 1px solid var(--color-brand01);
  background-color: var(--color-base);
  color: var(--color-brand01);
  font-size: clamp(200%,2.4vw, 454%);
  font-weight: 700;
  font-feature-settings: "palt";
  padding: 0.3em 1em 0.4em;
  white-space: nowrap;
  position: relative;
  line-height: 1.2;
}
.mainVisual-lead-item:not(:last-child) {
  margin-right: 1.6em;
}

.mainVisual-lead-item:not(:last-child):before,
.mainVisual-lead-item:not(:last-child)::after{
  content: "";
  display: block;
  width: 1.5em;
  height: 3px;
  margin-top: -1px;
  background-color: var(--color-brand01);
  position: absolute;
  left: calc(100% + 0.1em);
  top: 50%;
}
.mainVisual-lead-item:not(:last-child):before{
  transform: rotate(45deg);
}
.mainVisual-lead-item:not(:last-child):after{
  transform: rotate(-45deg);
}



.mainVisual-flip {
  overflow: hidden;
}
.mainVisual-flip-inner {
  transform: translateY(110%);
}
body.is-loaded .mainVisual-flip.-no00 .mainVisual-flip-inner {
  transform: translateY(0%);
  transition: 0.5s;
  transition-delay: 0.1s;
}
body.is-loaded .mainVisual-flip.-no01 .mainVisual-flip-inner {
  transform: translateY(0%);
  transition: 0.5s;
  transition-delay: 0.2s;
}
body.is-loaded .mainVisual-flip.-no02 .mainVisual-flip-inner {
  transform: translateY(0%);
  transition: 0.5s;
  transition-delay: 0.3s;
}


.mainVisual-lead-text {
  overflow: hidden;
}
.mainVisual-lead-text span {
  display: inline-block;
  transform: translateY(110%);
}
body.is-loaded .mainVisual-lead-text span {
  transform: translateY(0%);
  transition: 0.5s;
}
body.is-loaded .mainVisual-lead-text span:nth-child(1) {
  transition-delay: 0.2s;
}
body.is-loaded .mainVisual-lead-text span:nth-child(2) {
  transition-delay: 0.25s;
}
body.is-loaded .mainVisual-lead-text span:nth-child(3) {
  transition-delay: 0.3s;
}
body.is-loaded .mainVisual-lead-text span:nth-child(4) {
  transition-delay: 0.35s;
}


/*
lower
*/

.mainVisual-text {
  height: 150px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  font-size: 200%;
  font-weight: 700;
  opacity: 0;
}
body.is-loaded .mainVisual-text {
  opacity: 1;
  transition: 0.5s ease 0.2s;
}




/*
slider
*/

.mainVisual-slider{
  opacity: 0;
  transition: all 2s ease 0.1s;
  height: 100%;
}
.mainVisual-slider * {
  height: 100%;
}
body.is-loaded .mainVisual-slider{
  opacity: 1;
}
.mainVisual-slider :not(.slick-dots) li{
  position: relative;
  width: 100%;
}
.mainVisual-slider-img{
  background-color: red;
}
.mainVisual-slider-img > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.slick-animation .mainVisual-slider-img.-zoom{
  animation: amin-mv-zoom 8s linear forwards;
}

@keyframes amin-mv-zoom {
  0% {
    scale: 1;
  }
  100% {
    scale: 1.1;
  }
}

@media screen and (max-width:1024px) {


  .mainVisual {
    height: auto;
    min-height: initial;
    padding-top: 0;
  }
  .mainVisual::before ,
  .mainVisual::after {
    width: 10px;
  }

  .mainVisual-container::before {
    width: clamp(200px,33vw, 900px);
    height: clamp(200px,33vw, 900px);
    left: 2%;
    top: clamp(-700px,-18vw, -200px);
  }
  .mainVisual-container::after {
    width: clamp(200px,28vw, 800px);
    height: clamp(200px,28vw, 800px);
    left: -2%;
    bottom: -18%;
  }

}

@media screen and (max-width:834px) {

  .mainVisual {
  }

  .mainVisual::before ,
  .mainVisual::after {
    width: 5px;
  }

  .mainVisual-container::before {
    width: 300px;
    height: 300px;
    left: 0px;
    top: -200px;
    opacity: 0.5;
  }
  .mainVisual-container::after {
    width: 300px;
    height: 300px;
    left: -50px;
    bottom: -70px;
    opacity: 0.5;
  }

  body.is-loaded .mainVisual-container::before ,
  body.is-loaded .mainVisual-container::after {
    opacity: 0.5;
  }

  /*
  visual
  */

  .mainVisual-visual {
    margin-left: 20%;
    height: calc(100vw + 100px);
    max-height: 80vh;
  }
  body.is-loaded .mainVisual-visual {
    opacity: 0.5;
  }
  .mainVisual-img {
    width: 120%;
    height: 100%;
  }
  .mainVisual-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .mainVisual.is-show .mainVisual-img {
    transform: translateX(-15%);
    transition: transform 20s linear;
  }

  /*
  text
  */

  .mainVisual-logo {
    width: clamp(80px,30vw, 200px);
  }
  .mainVisual-block {
    padding-bottom: 150px;
    padding-left: calc(2vw + 10px);
  }
  .mainVisual-title {
    font-size: clamp(131%,5vw, 200%);
  }
  .mainVisual-title small{
    font-size: 65%;
  }

  .mainVisual-symbol {
    width: clamp(280px,90vw, 400px);
  }
  .mainVisual-lead {
    padding-top: 1em;
  }
  body.is-loaded .mainVisual-lead {
    opacity: 1;
    transition: 0.5s ease 0.1s;
  }
  .mainVisual-lead-item {
    font-size: clamp(116%,4.5vw, 154%);
    padding: 0.3em 0.6em 0.4em;
  }
  .mainVisual-lead-item:not(:last-child) {
    margin-right: 1.6em;
  }

  .mainVisual-lead-item:not(:last-child):before,
  .mainVisual-lead-item:not(:last-child)::after{
    height: 2px;
  }

  /*
  lower
  */

  .mainVisual-text {
    font-size: 116%;
    padding: 1.5em 3vw;
  }
  body.is-loaded .mainVisual-text {
    opacity: 1;
    transition: 0.5s ease 0.2s;
  }

}

/***********
homeHeading
************/

.homeHeading {
}
.homeHeading-subTitle {
  font-weight: 200;
  font-size: 900%;
  font-family: var(--font-family-gothic-en);
  color: var(--color-brand03);
  line-height: 1.1;
}
.homeHeading-title {
  font-size: 170%;
  font-weight: 500;
  line-height: 1.3;
  margin-top: 0.3em;
}
.homeHeading-title > span {
  display: inline-block;
  position: relative;
}
.homeHeading-title > span::after {
  content: "";
  display: block;
  width: 6em;
  height: 1px;
  background-color: var(--color-brand03);
  position: absolute;
  top: 50%;
  left: calc(100% + 0.5em);
  transform: scaleX(0);
  transform-origin: left;
}
.homeHeading.is-show .homeHeading-title > span::after {
  transform: scaleX(1);
  transition: 0.5s ease 0.3s;
}

.homeHeading.-white .homeHeading-subTitle{
  color: var(--color-base);
}
.homeHeading.-white .homeHeading-title > span::after {
  background-color: var(--color-base);
}

@media screen and (max-width:1280px) {

  .homeHeading-subTitle {
    font-size: 739%;
  }
  .homeHeading-title {
    font-size: 139%;
  }

}

@media screen and (max-width:834px) {

  .homeHeading {
  }
  .homeHeading-subTitle {
    font-size: 500%;
  }
  .homeHeading-title {
    font-size: 131%;
    margin-top: 0.8em;
  }
  .homeHeading-title > span::after {
    width: 4em;
  }

}

/***********
homeHeadingSeparate
************/

.homeHeadingSeparate {
  display: flex;
  align-items: center;
}
.homeHeadingSeparate-heading {
  white-space: nowrap;
}

.homeHeadingSeparate-inner {
  padding-left: 5%;
}
.homeHeadingSeparate-text {
  font-size: 139%;
  line-height: 2;
  padding-bottom: 2em;
}

@media screen and (max-width:1280px) {

  .homeHeadingSeparate {
    display: block;
  }
  .homeHeadingSeparate-heading {
    white-space: normal;
  }

  .homeHeadingSeparate-inner {
    padding-left: 0;
    padding-top: 2em;
  }
  .homeHeadingSeparate-text {
  }

}

@media screen and (max-width:834px) {

  .homeHeadingSeparate-text {
    font-size: 116%;
    line-height: 1.8;
  }
}



/***********
homeSeminar
************/

.homeSeminar {
  background: linear-gradient(-225deg, #002cb9 10%, #3e86f1 100%);
  padding-top: 8em;
  padding-bottom: 8em;
  position: relative;
  color: var(--color-base);
  overflow: hidden;
}

.homeSeminar-bg {
  position: absolute;
  left: -100%;
  top: 0;
  width: 200%;
  height: 200%;
  background: url(../../img/wave_bg01.png) ;
}
.homeSeminar.is-show .homeSeminar-bg {
  transform: translate(100vw, -20vw);
  transition: 250s linear;
}


.homeSeminar-container {
  display: flex;
  position: relative;
  z-index: 2;
}
.homeSeminar-heading {
  white-space: nowrap;
  width: 450px;
  padding-top: 5em;
  padding-bottom: 12em;
}
.homeSeminar-inner {
  flex: 1;
}

.homeSeminar-link {
  position: absolute;
  left: 0;
  top: 300px;
}

@media screen and (max-width:1280px) {

  .homeSeminar-heading {
    width: 350px;
    padding-top: 2em;
    padding-bottom: 8em;
  }
  .homeSeminar-link {
    top: 200px;
  }

}

@media screen and (max-width:1024px) {

  .homeSeminar-bg {
    position: absolute;
    left: -100%;
    top: 0;
    width: 200%;
    height: 200%;
    background: url(../../img/wave_bg01.png) ;
    background-size: 300vw auto;
    background-position: center -100vw;
  }
  .homeSeminar-container {
    display: block;
  }
  .homeSeminar-heading {
    white-space: normal;
    width: auto;
    padding-top: 0;
    padding-bottom: 3em;
  }
  .homeSeminar-inner {
    flex: 1;
  }

  .homeSeminar-link {
    position: static;
    text-align: center;
    padding-top: 3em;
  }

}

@media screen and (max-width:834px) {

  .homeSeminar {
    padding-top: 4em;
    padding-bottom: 4em;
  }
  .homeSeminar.is-show .homeSeminar-bg {
    transform: translate(100vw, -20vw);
    transition: 100s linear;
  }

  .homeSeminar-container {
  }
  .homeSeminar-heading {
    padding-top: 0;
    padding-bottom: 3em;
  }

}

/***********
homeAbout
************/

.homeAbout {
  position: relative;
}
.homeAbout-container {
  padding-top: 10em;
  padding-bottom: 10em;
  display: flex;
  position: relative;
  background: url(../../img/exterior_img.png) no-repeat 5% bottom / 560px auto;
}
.homeAbout-inner {
  flex: 1;
}
.homeAbout-heading {
  padding-bottom: 2em;
}
.homeAbout-heading-title {
  font-size: 400%;
  font-weight: 700;
  color: var(--color-brand03);
  line-height: 1.2;
}
.homeAbout-heading-item {
  display: inline-block;
  white-space: nowrap;
  border: 1px solid var(--color-brand03);
  padding: 0 0.2em 0.1em;
  margin-bottom: -1px;
}
.homeAbout-heading-subTitle {
  font-size: 800%;
  font-weight: 300;
  font-family: var(--font-family-gothic-en);
  color: var(--color-brand03);
  line-height: 1.2;
}


.homeAbout-text {
  max-width: 600px;
  font-size: 139%;
  line-height: 2;
}
.homeAbout-link {
  padding-top: 3em;
}
.homeAbout-img {
  width: 50%;
  padding-left: 2%;
}
.homeAbout-chart {
}

@media screen and (max-width:1280px) {

  .homeAbout-container {
    background-size: 33vw auto;
  }
  .homeAbout-heading {
    padding-bottom: 2em;
  }
  .homeAbout-heading-title {
    font-size: 300%;
  }
  .homeAbout-heading-subTitle {
    font-size: 800%;
  }

}

@media screen and (max-width:834px) {

  .homeAbout {
  }
  .homeAbout-container {
    padding-top: 4em;
    padding-bottom: 4em;
    display: block;
    background: none;
  }
  .homeAbout-inner {
  }
  .homeAbout-heading {
    padding-bottom: 2em;
  }
  .homeAbout-heading-title {
    font-size: clamp(170%,7vw, 254%);
  }
  .homeAbout-heading-item {
  }
  .homeAbout-heading-subTitle {
    font-size: clamp(300%,24vw, 800%);
  }


  .homeAbout-text {
    max-width: initial;
    font-size: 116%;
    line-height: 1.8;
  }
  .homeAbout-link {
    padding-top: 3em;
    text-align: center;
  }
  .homeAbout-img {
    width: auto;
    padding-left: 0;
    padding-top: 2em;
  }
  .homeAbout-chart {
    max-width: 400px;
    margin: 0 auto;
  }

}

/***********
homeBase
************/

.homeBase {
  background-color: var(--color-sub01);
  padding-top: 8em;
  padding-bottom: 12em;
}

.homeBase-heading {
  padding-bottom: 6em;
}

@media screen and (max-width:1280px) {

  .homeBase-heading {
    padding-bottom: 1em;
  }

}


@media screen and (max-width:834px) {

  .homeBase {
    padding-top: 4em;
    padding-bottom: 4em;
  }

  .homeBase-heading {
  }


}

/***********
homeNews
************/

.homeNews {
  padding-top: 4em;
  padding-bottom: 8em;
  position: relative;
  overflow: hidden;
}

.homeNews-container {
  display: flex;
  position: relative;
  z-index: 2;
}
.homeNews-heading {
  white-space: nowrap;
  width: 450px;
  padding-bottom: 12em;
}
.homeNews-inner {
  flex: 1;
}

.homeNews-link {
  position: absolute;
  left: 0;
  top: 220px;
}

@media screen and (max-width:1280px) {

  .homeNews-heading {
    width: 350px;
  }
  .homeNews-link {
    top: 160px;
  }

}


@media screen and (max-width:1024px) {

  .homeNews {
  }

  .homeNews-container {
    display: block;
  }
  .homeNews-heading {
    width: auto;
    padding-bottom: 3em;
  }
  .homeNews-inner {
  }

  .homeNews-link {
    position: static;
    text-align: center;
    padding-top: 3em;
  }

}

@media screen and (max-width:834px) {

  .homeNews {
    padding-top: 2em;
    padding-bottom: 4em;
  }
}


/***********
xxxxx
************/
