@charset "UTF-8";
.pc___only {
  display: block;
}
@media (max-width: 600px) {
  .pc___only {
    display: none;
  }
}

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

*,
*::before,
*::after {
  box-sizing: border-box;
}

body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

ul[role=list],
ol[role=list] {
  list-style: none;
}

li {
  list-style: none;
}

html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeSpeed;
  font-feature-settings: "palt";
  font-family: "游ゴシック", "Yu Gothic", "游ゴシック体", YuGothic, sans-serif;
  overflow-x: hidden;
  animation: bgchange 40s ease infinite; /*変化の時間を変更したい場合は20sの部分を好きな時間に変更*/
}
@media (max-width: 600px) {
  body {
    line-height: 2rem;
  }
}

@keyframes bgchange {
  0% {
    background-color: #4dccff;
  } /*変化させたい色*/
  15% {
    background-color: #ffe24a;
  } /*変化させたい色*/
  30% {
    background-color: #fb891f;
  } /*変化させたい色*/
  45% {
    background-color: #ff404a;
  } /*変化させたい色*/
  60% {
    background-color: #00a23f;
  } /*変化させたい色*/
  75% {
    background-color: #103f99;
  } /*変化させたい色*/
  100% {
    background-color: #4dccff;
  } /*変化させたい色*/
}
a:not([class]) {
  -webkit-text-decoration-skip: ink;
          text-decoration-skip-ink: auto;
}

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

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

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

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
main #loading .load_txt {
  position: fixed;
  top: 100%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  color: #fff;
}
main #hero {
  width: 100%;
  height: 100vh;
}
main #hero .main_v {
  position: relative;
  margin-top: 30px;
  width: 0%;
  margin-right: auto;
  margin-left: auto;
  height: 85vh;
}
main #hero .main_v video {
  -o-object-fit: cover;
     object-fit: cover;
  width: 100%;
  height: 100%;
  border-radius: 20px;
}
main #hero .main_v .main_catch {
  position: absolute;
  left: 2rem;
  top: 100%;
  transform: translateY(-50%);
  font-size: 4.5rem;
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.2em;
  opacity: 0;
}
@media (max-width: 600px) {
  main #hero .main_v .main_catch {
    font-size: 7.5vw;
  }
}
main #hero .main_logo {
  width: 340px;
  margin: auto;
  text-align: center;
  opacity: 0;
}
main #hero .main_logo img {
  width: 100%;
}

.wrapper {
  display: none;
}
@media (max-width: 600px) {
  .wrapper header {
    display: none;
  }
}
.wrapper header div {
  display: flex;
  justify-content: center;
  gap: 2rem;
  align-items: center;
  width: 80%;
  max-width: 1350px;
  margin: auto;
}
.wrapper header div a {
  color: #fff;
  font-weight: 900;
  font-size: 1rem;
}

.contents {
  opacity: 1;
}

.container {
  width: 100%;
  margin: 0 auto;
}
.container h2 img {
  width: 50%;
  max-width: 180px;
  margin: auto;
  margin-top: 2rem;
  margin-bottom: 2rem;
}

/* スライダーのwrapper */
.infinite-slider .swiper-wrapper {
  transition-timing-function: linear;
}

/* スライド */
.infinite-slider .swiper-slide {
  width: 300px;
  transition: 0.2s;
}
.infinite-slider .swiper-slide:nth-last-of-type(odd) {
  transform: translateY(40px);
}
.infinite-slider .swiper-slide:hover {
  opacity: 0.8;
}
.infinite-slider .swiper-slide p {
  color: #fff;
  opacity: 1;
  font-size: large;
}
.infinite-slider .swiper-slide .topic___title {
  font-weight: 900;
  font-size: 1.3rem;
}
@media (max-width: 600px) {
  .infinite-slider .swiper-slide .topic___title {
    font-size: 1rem;
    width: 80%;
  }
}
.infinite-slider .swiper-slide .topic___tag {
  background: #222;
  border-radius: 20px;
  font-size: 0.8rem;
  padding: 0.5em;
  display: inline-block;
}
@media (max-width: 600px) {
  .infinite-slider .swiper-slide .topic___tag {
    margin-top: 0.8rem;
    font-size: 0.6rem;
    padding: 0.25rem 0.5rem;
  }
}
.infinite-slider .swiper-slide img {
  width: 85%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 20px;
}

#about {
  background-color: #fff;
  width: 95%;
  margin-top: 10%;
  padding-top: 10%;
  padding-bottom: 10%;
  border-radius: 0 200px 50px 0;
}
@media (max-width: 600px) {
  #about {
    border-radius: 0 50px 50px 0;
  }
}
#about p {
  font-size: 3vw;
  font-weight: 900;
  padding-left: 2rem;
}
@media (max-width: 600px) {
  #about p {
    font-size: 5vw;
    line-height: 3rem;
  }
}
#about p span {
  -webkit-background-clip: text;
          background-clip: text;
  animation: bgchange 40s ease infinite;
  color: transparent;
  transform: translateY(-20px);
  opacity: 0;
}

.head__sticky__menu {
  position: fixed;
  top: 2%;
  opacity: 0;
  left: 0;
  width: 100%;
  height: 150px;
  z-index: -1;
  background-color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.head__sticky__menu div {
  transform: translateY(-30px);
  opacity: 0;
}
.head__sticky__menu .logo {
  width: 200px;
  height: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
  animation: bgchange 40s ease infinite; /*変化の時間を変更したい場合は20sの部分を好きな時間に変更*/
  border-radius: 0 0 30px 0;
}
.head__sticky__menu .logo svg {
  width: 70%;
  margin-top: 8%;
}
.head__sticky__menu .logo svg .st0 {
  fill: #fff;
}
.head__sticky__menu .menu {
  margin-left: auto;
  margin-right: 2rem;
  font-weight: 900;
  color: #333;
  display: flex;
  justify-content: center;
  gap: 2rem;
}
.head__sticky__menu .menu a {
  display: block;
}
@media (max-width: 600px) {
  .head__sticky__menu .menu a {
    display: none;
  }
}
.head__sticky__menu .cta {
  height: 100%;
  font-weight: 900;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-left: 1rem;
  padding-right: 1rem;
  animation: bgchange 40s ease infinite; /*変化の時間を変更したい場合は20sの部分を好きな時間に変更*/
}

@media (max-width: 600px) {
  #users {
    margin-top: 10%;
    display: none;
  }
}
#users .swiper-container {
  width: 100%;
  height: 100vh;
  position: relative;
}
#users .swiper-container .swiper-over {
  position: absolute;
  width: 30vw;
  top: 20%;
  opacity: 0;
  right: 40px;
  z-index: 995;
}
@media (max-width: 600px) {
  #users .swiper-container .swiper-over {
    right: 50%;
    transform: translateX(50%);
    width: 80%;
    top: 5%;
  }
}
#users .swiper-container .page_link {
  position: absolute;
  bottom: 4rem;
  right: 4rem;
  font-weight: 900;
  color: #fff;
  border: 2px solid #fff;
  font-size: 1rem;
  letter-spacing: 0.1em;
  transition: 0.3s;
  z-index: 995;
  padding: 1rem 2rem;
  border-radius: 50%;
}
@media (max-width: 600px) {
  #users .swiper-container .page_link {
    display: none;
  }
}
#users .swiper-container .swiper-wrapper {
  filter: blur(30px);
  opacity: 0;
}
#users .swiper-container .swiper-wrapper a {
  position: relative;
  transition: 0.3s;
}
#users .swiper-container .swiper-wrapper a .link_txt {
  position: absolute;
  bottom: -10%;
  left: 40px;
  background-color: #fff;
  color: #333;
  padding: 3rem 2rem;
  width: 40%;
  border-radius: 30px;
  transition: 0.3s;
}
@media (max-width: 600px) {
  #users .swiper-container .swiper-wrapper a .link_txt {
    bottom: -15%;
    left: 50%;
    transform: translateX(-50%);
    width: 90%;
    line-height: 2rem;
    letter-spacing: 1.75;
  }
}
#users .swiper-container .swiper-wrapper a .link_txt span {
  font-size: 2rem;
  font-weight: 900;
  display: block;
}
@media (max-width: 600px) {
  #users .swiper-container .swiper-wrapper a .link_txt span {
    margin-bottom: 1em;
    line-height: 3rem;
  }
}
#users .swiper-container .swiper-wrapper a:hover .link_txt {
  background-color: #180054;
  color: #fff;
}
#users .swiper-container .swiper-wrapper .swiper-slide {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
#users .swiper-container:hover .page_link {
  color: #fff;
  transform: scale(1.15);
  display: inline-block;
  background-color: #fb891f;
  border: none;
}

#kyousitu {
  width: 90%;
  margin: auto;
  margin-top: 10%;
  max-width: 1350px;
}
@media (max-width: 600px) {
  #kyousitu {
    margin-top: 30vh;
  }
}
#kyousitu h2 {
  width: 35%;
  margin: auto;
}
@media (max-width: 600px) {
  #kyousitu h2 {
    width: 80%;
  }
}
#kyousitu h2 img {
  width: 100%;
}
#kyousitu .flex-box {
  display: flex;
  justify-content: space-around;
  width: 100%;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
  #kyousitu .flex-box {
    display: block;
  }
}
#kyousitu .flex-box .point {
  background-color: #fff;
  width: 48%;
  padding-left: 2rem;
  padding-right: 2rem;
  padding-top: 2rem;
  padding-bottom: 2rem;
  margin-top: 2rem;
  border-radius: 30px;
  font-weight: 900;
  position: relative;
  transform: translateX(-200px);
  opacity: 0;
}
@media (max-width: 600px) {
  #kyousitu .flex-box .point {
    width: 100%;
    padding-left: 1rem;
    padding-right: 1rem;
    line-height: 2rem;
  }
}
#kyousitu .flex-box .point nav {
  position: absolute;
  background-color: #103f99;
  color: #fff;
  font-size: 1.2rem;
  top: 1rem;
  left: 0.5rem;
  padding: 0.5rem;
  font-weight: 500;
  border-radius: 30px;
  animation: bgchange 40s ease infinite; /*変化の時間を変更したい場合は20sの部分を好きな時間に変更*/
}
#kyousitu .flex-box .point img {
  width: 100%;
  height: 350px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 30px;
}
@media (max-width: 600px) {
  #kyousitu .flex-box .point img {
    height: 20vh;
  }
}
#kyousitu .flex-box .point div h3 {
  font-size: 1.75rem;
  color: #fb891f;
  font-weight: 900;
}
@media (max-width: 600px) {
  #kyousitu .flex-box .point div h3 {
    line-height: 2rem;
    margin-top: 1rem;
    margin-bottom: 1rem;
  }
}
@media (max-width: 600px) {
  #kyousitu .flex-box .point div p {
    display: none;
  }
}
#kyousitu .flex-box .point:first-of-type, #kyousitu .flex-box .point:last-of-type {
  width: 100%;
  display: flex;
  justify-content: flex-start;
  align-content: center;
}
@media (max-width: 600px) {
  #kyousitu .flex-box .point:first-of-type, #kyousitu .flex-box .point:last-of-type {
    display: block;
  }
}
#kyousitu .flex-box .point:first-of-type img, #kyousitu .flex-box .point:last-of-type img {
  width: 50%;
}
@media (max-width: 600px) {
  #kyousitu .flex-box .point:first-of-type img, #kyousitu .flex-box .point:last-of-type img {
    width: 100%;
  }
}
#kyousitu .flex-box .point:first-of-type div, #kyousitu .flex-box .point:last-of-type div {
  padding-left: 40px;
  display: flex;
  justify-content: flex-start;
  align-content: flex-start;
  flex-direction: column;
}
@media (max-width: 600px) {
  #kyousitu .flex-box .point:first-of-type div, #kyousitu .flex-box .point:last-of-type div {
    padding-left: 0;
  }
}
#kyousitu .flex-box .point:first-of-type div h3, #kyousitu .flex-box .point:last-of-type div h3 {
  font-size: 2rem;
  color: #fb891f;
  font-weight: 900;
}
@media (max-width: 600px) {
  #kyousitu .flex-box .point:first-of-type div h3, #kyousitu .flex-box .point:last-of-type div h3 {
    font-size: 1.6rem;
  }
}
#kyousitu .flex-box .point:first-of-type div a, #kyousitu .flex-box .point:last-of-type div a {
  margin-top: auto;
  margin-left: auto;
  display: inline-block;
  color: #333;
  border: 1px solid #333;
  font-weight: 900;
  text-align: center;
  padding: 1rem 1rem;
  border-radius: 50px;
  transition: 0.4s;
  width: 50%;
  font-size: 0.9rem;
  min-width: 200px;
}
@media (max-width: 600px) {
  #kyousitu .flex-box .point:first-of-type div a, #kyousitu .flex-box .point:last-of-type div a {
    margin-top: 10%;
  }
}
#kyousitu .flex-box .point:first-of-type div a:hover, #kyousitu .flex-box .point:last-of-type div a:hover {
  background-color: #fb891f;
  transform: scale(1.05);
  border: none;
  color: #fff;
}

#studio {
  width: 95%;
  background-color: #fff;
  border-radius: 0 50px 50px 0;
  margin-top: 15%;
  padding-top: 10%;
  padding-bottom: 10%;
  padding-left: 10%;
  padding-right: 5%;
  position: relative;
  z-index: 2;
}
#studio h3 {
  font-size: 2rem;
}
@media (max-width: 600px) {
  #studio h3 {
    font-size: 7.5vw;
  }
}
#studio .mark_txt {
  position: absolute;
  left: -36%;
  top: 33%;
  font-size: 9vw;
  font-weight: 900;
  color: #103f99;
  opacity: 0.2;
  transform: rotate(90deg);
}
#studio .studio_list {
  display: flex;
  justify-content: space-around;
  width: 100%;
  align-items: flex-start;
  flex-wrap: wrap;
}
@media (max-width: 600px) {
  #studio .studio_list {
    flex-direction: column;
  }
}
#studio .studio_list .child {
  width: 32%;
  height: 480px;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  margin-top: 2rem;
  border-radius: 30px;
  background-color: #fff;
  border: 1px solid #103f99;
  transition: 0.3s;
  opacity: 0;
  transform: translateY(50px);
}
@media (max-width: 600px) {
  #studio .studio_list .child {
    width: 100%;
    height: auto;
  }
}
#studio .studio_list .child:hover {
  background-color: #00a23f;
}
#studio .studio_list .child:hover .studio_name {
  color: #fff;
}
#studio .studio_list .child img {
  width: 100%;
  height: 300px;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 30px;
}
@media (max-width: 600px) {
  #studio .studio_list .child img {
    display: none;
  }
}
#studio .studio_list .child p {
  color: #333;
}
#studio .studio_list .child .studio_name {
  color: #103f99;
  font-size: 1.75rem;
  font-weight: 900;
}
#studio .studio_list .child .studio_addres {
  font-weight: 900;
  font-size: 0.8rem;
  color: #333;
}

#hapyou {
  width: 100%;
  transform: translateY(-150px);
  position: relative;
  z-index: 0;
}
@media (max-width: 600px) {
  #hapyou {
    transform: translateX(0);
    margin-top: 10%;
    height: 100vh;
    display: none;
  }
}
#hapyou .bg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 600px) {
  #hapyou .bg {
    -o-object-position: left bottom;
       object-position: left bottom;
  }
}
#hapyou div .title {
  width: 580px;
  position: absolute;
  top: 230px;
  left: 4rem;
  z-index: 2;
}
@media (max-width: 600px) {
  #hapyou div .title {
    top: 10%;
    left: 0;
  }
}
#hapyou div .txt {
  position: absolute;
  bottom: 3rem;
  left: 4rem;
  color: #fff;
  z-index: 2;
  font-weight: 900;
  font-size: 1.3rem;
}
@media (max-width: 600px) {
  #hapyou div .txt {
    left: 1rem;
    bottom: 5rem;
    font-size: 1.1rem;
  }
}
#hapyou div .txt a {
  color: #fff;
  display: inline-block;
  font-size: 1rem;
  margin-top: 1rem;
  position: relative;
  padding: 1.5rem 2rem;
  border: #fff 2px solid;
  border-radius: 50%;
  transition: 0.4s;
}
#hapyou div .txt a:hover {
  background-color: #fb891f;
  transform: scale(1.05);
  border: none;
}

#price {
  width: 90%;
  max-width: 1350px;
  border-radius: 30px;
  transform: translateY(-100px);
  margin: auto;
  background-color: #180054;
  padding-top: 4rem;
  padding-bottom: 4rem;
}
@media (max-width: 600px) {
  #price {
    transform: translateY(0);
    margin-top: 10%;
  }
}
#price h2 {
  width: 35%;
  margin: auto;
}
@media (max-width: 600px) {
  #price h2 {
    width: 80%;
  }
}
#price h2 img {
  width: 100%;
  opacity: 0;
  transform: translateY(100px);
}
#price .line {
  width: 90%;
  margin: auto;
  height: 4px;
  background-color: #fff;
  margin-top: 40px;
}
#price .price___container {
  display: flex;
  justify-content: center;
  align-content: center;
  color: #fff;
  width: 90%;
  margin: auto;
  margin-top: 40px;
}
@media (max-width: 600px) {
  #price .price___container {
    flex-direction: column;
    width: 100%;
  }
}
#price .price___container div {
  transform: translateY(50px);
  opacity: 0;
}
#price .price___container .price___txt {
  width: 50%;
  font-size: 2rem;
  font-weight: 900;
  padding-left: 3rem;
}
@media (max-width: 600px) {
  #price .price___container .price___txt {
    width: 100%;
    font-size: 1.7rem;
  }
}
#price .price___container .price___txt a {
  display: inline-block;
  color: #fff;
  background-color: #ff404a;
  border-radius: 30px;
  padding-left: 4rem;
  padding-right: 4rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  font-size: 1.6rem;
  margin-top: 1rem;
  transition: 0.3s;
}
@media (max-width: 600px) {
  #price .price___container .price___txt a {
    margin-top: 3rem;
    margin-bottom: 3rem;
  }
}
#price .price___container .price___txt a:hover {
  transform: scale(1.05);
  background-color: #e7e000;
}
#price .price___container .price___tag {
  width: 50%;
  font-size: 2rem;
  color: #fff;
  font-weight: 900;
}
@media (max-width: 600px) {
  #price .price___container .price___tag {
    font-size: 1.6rem;
    width: 100%;
  }
}
#price .price___container .price___tag .tag___parts {
  background-color: #0c002a;
  margin-top: 1rem;
  display: inline-block;
  padding: 0.5rem 2rem;
}
#price .price___container .price___tag .tag___parts::before {
  content: "#";
  color: #e7e000;
}

#teacher {
  width: 90%;
  max-width: 1350px;
  margin: auto;
  margin-top: 1rem;
}
#teacher h2 {
  width: 70%;
  margin: auto;
  transform: translateY(50px);
  opacity: 0;
}
@media (max-width: 600px) {
  #teacher h2 {
    width: 100%;
  }
}
#teacher h2 img {
  width: 100%;
}
#teacher .flex-box {
  display: flex;
  justify-content: space-around;
  align-content: center;
  flex-wrap: wrap;
  margin-top: 3rem;
  gap: 1rem;
}
#teacher .flex-box a {
  width: 23%;
  padding: 1.5rem;
  background-color: #fff;
  border-radius: 30px;
  text-align: center;
  transform: translateY(50px);
  opacity: 0;
}
@media (max-width: 600px) {
  #teacher .flex-box a {
    width: 47%;
  }
}
#teacher .flex-box a:hover {
  background-color: #fbfee4;
  transform: scale(1.025);
}
#teacher .flex-box a:hover img {
  animation-name: rotateYAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
#teacher .flex-box a img {
  width: 100%;
}
#teacher .flex-box a .teacehr_name {
  font-size: 1rem;
  font-weight: 900;
  margin-top: 1rem;
}
#teacher .flex-box a .en {
  font-size: 0.6rem;
}

@keyframes rotateYAnime {
  from {
    transform: rotateY(0);
  }
  to {
    transform: rotateY(-360deg);
  }
}
#column {
  width: 100%;
  margin-top: 10%;
  position: relative;
  background-color: #180054;
  border-radius: 200px 200px 0 0;
  padding-top: 5%;
  padding-bottom: 10%;
}
@media (max-width: 600px) {
  #column {
    border-radius: 50px 50px 0 0;
  }
}
#column h2 {
  width: 60%;
  margin: auto;
  transform: translateY(100px);
  opacity: 0;
}
@media (max-width: 600px) {
  #column h2 {
    width: 95%;
  }
}
#column h2 img {
  width: 100%;
}
#column .mark_txt {
  position: absolute;
  left: 0%;
  top: 0%;
  font-size: 9vw;
  font-weight: 900;
  color: #fff;
  opacity: 0.2;
  writing-mode: vertical-lr;
  white-space: nowrap;
}
#column .column_container {
  width: 90%;
  max-width: 1350px;
  margin: auto;
}
#column .column_container .main_column {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding-left: 9vw;
  min-height: 50vh;
}
@media (max-width: 600px) {
  #column .column_container .main_column {
    flex-direction: column;
    margin-top: 15%;
    min-height: 0;
  }
}
#column .column_container .main_column .tag {
  position: absolute;
  top: -1rem;
  left: 1rem;
  font-size: 0.8rem;
  font-weight: 900;
  color: #fff;
  border-radius: 30px;
  padding: 1rem 2rem;
  background-color: #fb891f;
  z-index: 997;
}
@media (max-width: 600px) {
  #column .column_container .main_column .tag {
    position: absolute;
    top: -2rem;
    left: -1rem;
    font-size: 0.8rem;
    font-weight: 900;
    color: #fff;
    border-radius: 30px;
    padding: 0.5rem 1rem;
    background-color: #fb891f;
    z-index: 997;
  }
}
#column .column_container .main_column .img {
  width: 60%;
  position: relative;
}
@media (max-width: 600px) {
  #column .column_container .main_column .img {
    width: 100%;
  }
}
#column .column_container .main_column .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 30px;
  transition: 0.3s;
}
#column .column_container .main_column .txt {
  width: 40%;
  padding-left: 20px;
  padding-top: 5rem;
}
@media (max-width: 600px) {
  #column .column_container .main_column .txt {
    width: 100%;
    padding-top: 1rem;
  }
}
#column .column_container .main_column .txt p {
  width: 100%;
}
#column .column_container .main_column .txt .midashi {
  font-weight: 900;
  font-size: 2vw;
  color: #fff;
  letter-spacing: 0.1em;
}
@media (max-width: 600px) {
  #column .column_container .main_column .txt .midashi {
    font-size: 6vw;
  }
}
#column .column_container .main_column .txt .content_txt {
  width: 100%;
  font-size: 1rem;
  color: #fff;
  font-weight: 900;
  margin-top: 1.5rem;
}
@media (max-width: 600px) {
  #column .column_container .main_column .txt .content_txt {
    font-size: 3vw;
  }
}
#column .column_container .main_column .txt .link {
  font-size: 1rem;
  width: 80%;
  color: #fff;
  font-weight: 900;
  letter-spacing: 0.1em;
  margin-top: 2rem;
  position: relative;
  transition: 0.3s;
  overflow: hidden;
}
@media (max-width: 600px) {
  #column .column_container .main_column .txt .link {
    font-size: 3vw;
  }
}
#column .column_container .main_column .txt .link span {
  display: block;
  width: 100%;
  height: 3px;
  margin-top: 0.5rem;
  background-color: #fff;
}
#column .column_container .main_column:hover img {
  filter: blur(1px) brightness(80%);
}
#column .column_container .main_column:hover .link {
  color: #fb891f;
}
#column .column_container .main_column:hover .link span {
  animation-name: line_stream;
  animation-duration: 0.5s;
  animation-fill-mode: forwards;
}
@keyframes line_stream {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
#column .column_container .column_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  gap: 3rem;
  flex-wrap: wrap;
  padding-left: 9vw;
  margin-top: 5rem;
}
#column .column_container .column_flex a {
  display: block;
  width: 47%;
}
@media (max-width: 600px) {
  #column .column_container .column_flex a {
    width: 100%;
  }
}
#column .column_container .column_flex a:hover img {
  filter: blur(4px) brightness(80%);
}
#column .column_container .column_flex a:hover .title,
#column .column_container .column_flex a:hover .honbun {
  color: #fb891f;
}
#column .column_container .column_flex a img {
  width: 100%;
  border-radius: 30px;
  transition: 0.3s;
}
#column .column_container .column_flex a p {
  margin-top: 0.5rem;
  font-weight: 900;
  color: #fff;
  transition: 0.3s;
}
@media (max-width: 600px) {
  #column .column_container .column_flex a p {
    font-size: 3vw;
    font-weight: 500;
  }
}
#column .column_container .column_flex a .tag {
  background-color: #fb891f;
  padding: 0.1rem 2rem;
  display: inline-block;
  border-radius: 30px;
}
#column .column_container .column_flex a .title {
  font-size: 1.6rem;
  font-weight: 900;
}

#contact {
  width: 100%;
  background-color: #180054;
}
#contact .contact-wrap {
  background-color: #fff;
  border-radius: 200px 200px 0 0;
  padding-top: 2%;
  text-align: center;
  padding-top: 10%;
}
@media (max-width: 600px) {
  #contact .contact-wrap {
    border-radius: 50px 50px 0 0;
  }
}
#contact .contact-wrap svg {
  width: 50%;
  max-width: 280px;
  margin: auto;
}
#contact .contact-wrap svg .st0 {
  animation: fillchange 40s ease infinite;
}
@keyframes fillchange {
  0% {
    fill: #4dccff;
  } /*変化させたい色*/
  15% {
    fill: #ffe24a;
  } /*変化させたい色*/
  30% {
    fill: #fb891f;
  } /*変化させたい色*/
  45% {
    fill: #ff404a;
  } /*変化させたい色*/
  60% {
    fill: #00a23f;
  } /*変化させたい色*/
  75% {
    fill: #103f99;
  } /*変化させたい色*/
  100% {
    fill: #4dccff;
  } /*変化させたい色*/
}
#contact .contact-wrap .taiken_link {
  width: 90%;
  max-width: 800px;
  border-radius: 30px;
  margin: auto;
  display: block;
  padding: 2rem;
  background-color: #0c002a;
  text-align: center;
  font-weight: 900;
  margin-top: 5%;
  color: #fff;
  font-size: 1rem;
  transition: 0.3s;
  transform: translateY(100px);
  opacity: 0;
}
#contact .contact-wrap .taiken_link:hover {
  background-color: #ff404a;
  transform: scale(1.05);
}
#contact .contact-wrap .taiken_link img {
  width: 60%;
  margin: auto;
}
#contact .contact-wrap .links_flex {
  display: flex;
  justify-content: space-between;
  width: 90%;
  max-width: 800px;
  margin: auto;
  padding-bottom: 10%;
}
@media (max-width: 600px) {
  #contact .contact-wrap .links_flex {
    flex-direction: column;
  }
}
#contact .contact-wrap .links_flex a {
  width: 31%;
  margin-top: 4rem;
  transform: translateY(100px);
  opacity: 0;
}
@media (max-width: 600px) {
  #contact .contact-wrap .links_flex a {
    width: 100%;
  }
}
#contact .contact-wrap .links_flex a img {
  width: 100%;
  transition: 0.2s;
}
#contact .contact-wrap .links_flex a img:hover {
  opacity: 0.8;
  transform: scale(1.05);
}
#contact .footer {
  animation: bgchange 40s ease infinite;
  border-radius: 200px 200px 0 0;
  padding-top: 10%;
  min-height: 70vh;
}
@media (max-width: 600px) {
  #contact .footer {
    border-radius: 50px 50px 0 0;
    min-height: 0;
    padding-bottom: 10%;
  }
}
#contact .footer .footer_logo {
  width: 50%;
  max-width: 280px;
  margin: auto;
}
#contact .footer .footer_logo img {
  width: 100%;
}
#contact .footer .footer_link {
  width: 90%;
  max-width: 1350px;
  margin: auto;
  margin-top: 4rem;
}
#contact .footer .footer_link a {
  padding: 1rem 2rem;
  display: inline-block;
  color: #333;
  font-size: 1.5rem;
  background-color: #fff;
  border-radius: 30px;
  font-weight: 900;
  margin-top: 1rem;
  transition: 0.2s;
  margin-right: 1rem;
}
#contact .footer .footer_link a:hover {
  background-color: #ff404a;
  transform: scale(1.05);
  color: #fff;
}
#contact .cr {
  display: block;
  width: 100%;
  text-align: center;
  background-color: #333;
  color: #fff;
  font-size: 0.6rem;
}

.follower {
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  transform: translate(-50%, -50%);
  width: 200px;
  height: 200px;
  z-index: 1000;
  transition: transform linear 0.2s;
  background-image: url(../img/view.svg);
  background-position: center;
  background-size: 100%;
  background-repeat: no-repeat;
  opacity: 0;
}
.follower.is-active {
  opacity: 1;
}

#UnderPage {
  width: 100%;
  padding-top: 15%;
  background-color: #fff;
  padding-bottom: 10%;
}
#UnderPage h1 {
  font-size: 46px;
  font-weight: 900;
  letter-spacing: 0.1em;
  line-height: 1em;
  width: 80%;
  max-width: 1450px;
  margin: auto;
}
@media (max-width: 600px) {
  #UnderPage h1 {
    margin-top: 30%;
  }
}
#UnderPage h1 span {
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.1em;
  display: block;
  color: #fb891f;
}
#UnderPage .pankuzu {
  width: 80%;
  max-width: 1450px;
  margin: auto;
  margin-top: 5rem;
}
@media (max-width: 600px) {
  #UnderPage .pankuzu {
    margin-top: 2rem;
  }
}
#UnderPage .pankuzu a {
  font-size: 12px;
  margin-right: 2rem;
}
#UnderPage .pankuzu a.here {
  color: #888;
}
#UnderPage .under_v {
  margin-top: 5%;
  width: 100%;
}
#UnderPage .under_v div {
  width: 100%;
  border-radius: 200px 200px 0 0;
  position: relative;
}
#UnderPage .under_v div img {
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 50px 50px 50px 50px;
  width: 98%;
  margin: auto;
}
#UnderPage .under_v div h3 {
  position: absolute;
  left: 10%;
  top: 10%;
  font-size: 3.2vw;
  font-weight: 900;
  letter-spacing: 0.2em;
  line-height: 1.5em;
  color: #fff;
}
#UnderPage .under_v div p {
  position: absolute;
  left: 10%;
  bottom: 10%;
  font-size: 1.6vw;
  font-weight: 900;
  letter-spacing: 0.2em;
  line-height: 1.5em;
  color: #fff;
}
@media (max-width: 600px) {
  #UnderPage .under_v div p {
    display: none;
  }
}
#UnderPage .goaisatsu {
  width: 90%;
  max-width: 1480px;
  margin: auto;
  margin-top: 5%;
}
#UnderPage .goaisatsu h5 {
  font-weight: 900;
  font-size: 20px;
  line-height: 3em;
  color: #fb891f;
  margin-bottom: 0;
}
#UnderPage .goaisatsu p {
  font-size: 24px;
  font-weight: 700;
}
@media (max-width: 600px) {
  #UnderPage .goaisatsu p {
    font-size: 4vw;
    font-weight: 500;
    letter-spacing: 1.75;
    line-height: 2.5rem;
  }
}

#blank_footer {
  background-color: #180054;
  width: 100%;
  height: 30vh;
  margin-top: 10%;
}

#UnderPrice {
  background-color: #fff;
  width: 80%;
  max-width: 1480px;
  margin: auto;
  padding-top: 5%;
  margin-top: 5%;
  border-radius: 50px;
  padding-left: 5%;
  padding-right: 5%;
  padding-bottom: 5%;
}
@media (max-width: 600px) {
  #UnderPrice {
    width: 96%;
  }
}
#UnderPrice div {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  border-bottom: 1px solid #333;
}
#UnderPrice div p {
  font-size: 20px;
  font-weight: 900;
  color: #333;
  line-height: 5rem;
}
@media (max-width: 600px) {
  #UnderPrice div p {
    line-height: 3rem;
    font-size: 3vw;
  }
}
#UnderPrice div p:first-of-type {
  width: 50%;
  padding-left: 2.5rem;
}
@media (max-width: 600px) {
  #UnderPrice div p:first-of-type {
    padding-left: 0;
    width: 75%;
  }
}
#UnderPrice div p:nth-of-type(2) {
  margin-left: 3rem;
}
@media (max-width: 600px) {
  #UnderPrice div p:nth-of-type(2) {
    margin-left: 3vw;
    line-height: 1.5rem;
    opacity: 0.5;
  }
}

#UnderColumn {
  width: 100%;
  min-height: 100vh;
  padding-top: 10%;
  padding-bottom: 10%;
}
#UnderColumn .allColumn {
  width: 80%;
  max-width: 1480px;
  margin: auto;
}
@media (max-width: 600px) {
  #UnderColumn .allColumn {
    width: 98%;
  }
}
#UnderColumn .allColumn a {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  border-radius: 50px;
  overflow: hidden;
  background-color: #f7f7f7;
  margin-top: 5%;
}
@media (max-width: 600px) {
  #UnderColumn .allColumn a {
    flex-direction: column;
  }
}
#UnderColumn .allColumn a:hover img {
  transform: scale(1.025);
}
#UnderColumn .allColumn a:hover .arrows {
  background-color: #333;
  color: #fff;
}
#UnderColumn .allColumn a .columnImg {
  width: 50%;
  height: 100%;
  max-height: 480px;
  overflow: hidden;
}
@media (max-width: 600px) {
  #UnderColumn .allColumn a .columnImg {
    width: 100%;
  }
}
#UnderColumn .allColumn a .columnImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  transition: 0.5s;
}
#UnderColumn .allColumn a .colmnTxt {
  width: 50%;
  padding: 4rem;
}
@media (max-width: 600px) {
  #UnderColumn .allColumn a .colmnTxt {
    width: 100%;
    padding: 0.5rem;
    padding-bottom: 2rem;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}
#UnderColumn .allColumn a .colmnTxt .title {
  font-size: 2rem;
  font-weight: 900;
}
@media (max-width: 600px) {
  #UnderColumn .allColumn a .colmnTxt .title {
    font-size: 1.5rem;
    margin-top: 1rem;
  }
}
#UnderColumn .allColumn a .colmnTxt .cat {
  display: inline-block;
  font-weight: 900;
  font-size: 0.8rem;
  color: #fff;
  background-color: #0c002a;
  border-radius: 2rem;
  padding: 0.25rem 1rem;
  margin-top: 0.5rem;
}
@media (max-width: 600px) {
  #UnderColumn .allColumn a .colmnTxt .cat {
    font-size: 3vw;
  }
}
#UnderColumn .allColumn a .colmnTxt .intro {
  font-size: 1rem;
  color: #666;
  margin-top: 2rem;
  line-height: 2rem;
}
@media (max-width: 600px) {
  #UnderColumn .allColumn a .colmnTxt .intro {
    font-size: 3vw;
  }
}
#UnderColumn .allColumn a .colmnTxt .arrows {
  font-weight: 900;
  position: absolute;
  bottom: 1rem;
  right: 3rem;
  padding: 0.5rem 2rem;
  border: 1px solid #333;
  border-radius: 50px;
  transition: 0.5s;
}
@media (max-width: 600px) {
  #UnderColumn .allColumn a .colmnTxt .arrows {
    display: none;
  }
}

#ColumnPage {
  width: 100%;
  padding-bottom: 5%;
}
#ColumnPage .ColumnHero {
  width: 100%;
}
#ColumnPage .ColumnHero img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
#ColumnPage .ColumnTXT {
  width: 60%;
  margin: auto;
  margin-top: 5%;
  background-color: #fff;
  border-radius: 50px;
  padding-top: 5%;
  padding-bottom: 5%;
}
@media (max-width: 600px) {
  #ColumnPage .ColumnTXT {
    margin-top: 30%;
    width: 96%;
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
#ColumnPage .ColumnTXT h3 {
  font-size: 32px;
  font-weight: 900;
  width: 90%;
  margin: auto;
}
@media (max-width: 600px) {
  #ColumnPage .ColumnTXT h3 {
    margin-bottom: 5rem;
  }
}
#ColumnPage .ColumnTXT h3 span {
  display: inline-block;
  font-weight: 900;
  font-size: 0.8rem;
  color: #fff;
  background-color: #0c002a;
  border-radius: 2rem;
  padding: 0.25rem 1rem;
}
@media (max-width: 600px) {
  #ColumnPage .ColumnTXT h3 span {
    margin-top: 1.5rem;
  }
}
#ColumnPage .ColumnTXT p {
  width: 90%;
  margin: auto;
  font-weight: 500;
  font-size: 20px;
  line-height: 1.75;
  margin-top: 1rem;
  margin-bottom: 2.5rem;
}
@media (max-width: 600px) {
  #ColumnPage .ColumnTXT p {
    font-size: 16px;
  }
}
#ColumnPage .ColumnTXT img {
  width: 90%;
  margin: auto;
  margin-top: 0.5rem;
  border-radius: 50px;
}
#ColumnPage .ColumnTXT iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}

#PartnerPage {
  width: 100%;
  padding-top: 10%;
  padding-bottom: 10%;
}
#PartnerPage .main___partner {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  width: 80%;
  max-width: 1480px;
  margin: auto;
}
@media (max-width: 600px) {
  #PartnerPage .main___partner {
    flex-direction: column;
    margin-top: 30vh;
    width: 100%;
  }
}
#PartnerPage .main___partner .img {
  width: 50%;
}
@media (max-width: 600px) {
  #PartnerPage .main___partner .img {
    width: 100%;
  }
}
#PartnerPage .main___partner .img img {
  width: 100%;
  border-radius: 50px;
}
#PartnerPage .main___partner .txt {
  width: 60%;
  text-align: left;
  color: #fff;
  padding-left: 3rem;
  background-color: #180054;
  padding-top: 3rem;
  padding-bottom: 3rem;
  padding-right: 3rem;
  border-radius: 50px;
  transform: translateX(-10%) translateY(10%);
}
@media (max-width: 600px) {
  #PartnerPage .main___partner .txt {
    width: 100%;
    transform: translateX(0%) translateY(-10%);
    padding: 3rem 1rem;
  }
}
#PartnerPage .main___partner .txt h4 {
  font-size: 2.5rem;
  border-bottom: 4px dotted #fff;
  padding-bottom: 1rem;
}
#PartnerPage .main___partner .txt h4 small {
  font-size: 1.5rem;
}
#PartnerPage .main___partner .txt h4 span {
  display: block;
  font-size: 1.25rem;
}
#PartnerPage .main___partner .txt p {
  margin-top: 4rem;
  font-size: 1.5rem;
  font-weight: 900;
  letter-spacing: 1.75;
}
#PartnerPage .PartnerFAQ {
  width: 80%;
  max-width: 1480px;
  margin: auto;
  margin-top: 10%;
  background-color: #f7f7f7;
  border-radius: 50px;
  padding: 5rem;
}
@media (max-width: 600px) {
  #PartnerPage .PartnerFAQ {
    width: 100%;
    padding: 5rem 1rem;
  }
}
#PartnerPage .PartnerFAQ .qa {
  width: 100%;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 4px dotted #fb891f;
}
#PartnerPage .PartnerFAQ .qa .q {
  font-size: 2.5rem;
  font-weight: 900;
}
#PartnerPage .PartnerFAQ .qa .a {
  font-size: 1.5rem;
  font-weight: 900;
}
#PartnerPage .back {
  background-color: #180054;
  color: #f7f7f7;
  font-weight: 900;
  text-align: center;
  display: block;
  width: 80%;
  max-width: 1480px;
  margin: auto;
  margin-top: 10%;
  padding: 2rem 1rem;
  border-radius: 50px;
  transition: 0.4s;
  font-size: 2rem;
}
#PartnerPage .back:hover {
  background-color: #fb891f;
  transform: scale(1.01);
}

/*========= ナビゲーションのためのCSS ===============*/
#menu___container {
  /*position:fixed;にし、z-indexの数値を大きくして前面へ*/
  position: fixed;
  z-index: 999;
  /*ナビのスタート位置と形状*/
  top: 0;
  right: -120%;
  width: 100%;
  height: 100vh; /*ナビの高さ*/
  animation: bgchange 40s ease infinite;
  /*動き*/
  transition: all 0.6s;
}

/*アクティブクラスがついたら位置を0に*/
#menu___container.panelactive {
  right: 0;
}

/*ナビゲーションの縦スクロール*/
#menu___container.panelactive #menu___item {
  /*ナビの数が増えた場合縦スクロール*/
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 100vh; /*表示する高さ*/
  overflow: auto;
  -webkit-overflow-scrolling: touch;
}

/*ナビゲーション*/
#menu___container ul {
  /*ナビゲーション天地中央揃え*/
  position: absolute;
  z-index: 999;
  top: 50%;
  left: 50%;
  padding: 0;
  transform: translate(-50%, -50%);
  width: 100%;
}

/*リストのレイアウト設定*/
#menu___container li {
  list-style: none;
  text-align: center;
}

#menu___container li a {
  padding: 1rem 2rem;
  display: inline-block;
  color: #333;
  font-size: 1.5rem;
  background-color: #fff;
  border-radius: 30px;
  font-weight: 900;
  margin-top: 1rem;
  transition: 0.2s;
  margin-right: 1rem;
}

/*========= ボタンのためのCSS ===============*/
.menu___btn {
  position: fixed;
  z-index: 9999; /*ボタンを最前面に*/
  top: 90px;
  left: 0px;
  background-color: #e7e000;
  animation: bgchange 40s ease infinite;
  cursor: pointer;
  width: 50px;
  height: 50px;
  display: none;
}
@media (max-width: 600px) {
  .menu___btn {
    display: block;
  }
}

.menu___btn span {
  display: inline-block;
  transition: all 0.4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
  background-color: #ffffff;
  width: 45%;
}

.menu___btn span:nth-of-type(1) {
  top: 15px;
}

.menu___btn span:nth-of-type(2) {
  top: 23px;
}

.menu___btn span:nth-of-type(3) {
  top: 31px;
}

.menu___btn.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}

.menu___btn.active span:nth-of-type(2) {
  opacity: 0;
}

.menu___btn.active span:nth-of-type(3) {
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}/*# sourceMappingURL=flat_24.css.map */