:root {
  --jp: "Noto Serif JP", sans-serif;
  --160: 160%;
  --main-color: #234431;
  --white: white;
  --jp2: "Noto Sans JP", sans-serif;
  --main: #333;
  --gray-bg: #f1f2f2;
}

h1 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 38px;
  font-weight: 700;
  line-height: 44px;
}

h2 {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 32px;
  font-weight: 700;
  line-height: 36px;
}

p {
  margin-bottom: 0;
}

a {
  text-decoration: none;
}

.sg-body {
  letter-spacing: .05em;
  flex-flow: column;
  display: flex;
  font-family: var(--jp)
}

.body {
  font-family: var(--jp);
  line-height: var(--160);
  text-align: center;
  background-color: #fcfcfc;
  font-weight: 400;
}

.nav-bar {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.link {
  text-decoration: none;
}

.logo_txt {
  font-family: var(--jp);
  color: #303030;
  letter-spacing: .1em;
  word-break: keep-all;
  font-size: clamp(20px, 1.666vw, 24px);
  font-weight: 400;
  line-height: 100%;
  text-decoration: none;
}

.header-button-text {
  z-index: 1;
  font-family: var(--jp);
  letter-spacing: .1em;
  white-space: nowrap;
  font-weight: 400;
  position: relative;
}

.button-bg-change {
  opacity: 0;
  background-image: linear-gradient(259deg, #ea5532 58%, #ea9132);
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.slide-nav-menu {
  display: none;
}

.brand-logo {
  flex-flow: row;
  justify-content: center;
  align-items: center;
  transition: all .5s;
}

.brand-logo:hover {
  opacity: .7;
}

.header-button {
  color: #303030;
  padding-top: 23px;
  padding-bottom: 23px;
  font-weight: 500;
  line-height: 100%;
  text-decoration: none;
  transition: all .5s;
}

.header-button:hover {
  opacity: .7;
}

.header-button.w--current {
  color: #303030;
}

.header-button.cta {
  color: #fff;
  background-image: linear-gradient(259deg, #ea9132, #ea5532 57.69%);
  padding-left: 40px;
  padding-right: 40px;
  font-weight: 700;
  position: relative;
}

.header-button.cta:hover {
  opacity: 1;
}

.label-menu-icon {
  display: none;
}

.nav-menu {
  grid-column-gap: clamp(5px, 1vw, 20px);
  grid-row-gap: clamp(5px, 1vw, 20px);
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.navbar-wrapper {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  color: #fcfcfc;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  min-width: 100%;
  margin-left: 0;
  margin-right: 0;
  display: flex;
}

.navbar-2 {
  z-index: 50;
  background-color: #fcfcfc;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 20px clamp(20px, 3.5vw, 60px);
  display: block;
  position: fixed;
  top: 0;
}

.header-text.white {
  color: var(--white);
}

.div-block {
  background-image: url('../images/KV.png');
  background-position: 50%;
  background-size: auto;
}

.fv-section {
  aspect-ratio: 1440 / 702;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  margin-top: 100px;
  display: flex;
  position: relative;
}

.fv-bg {
  background-image: url('../images/KV.png');
  background-position: 0 0;
  background-size: auto;
  width: 100%;
}

.fv_title-contents {
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.fv_sub_title {
  font-family: var(--jp);
  letter-spacing: 4.2px;
  font-size: clamp(28px, 2.916vw, 42px);
  line-height: 84px;
}

.fv_title {
  font-family: var(--jp);
  text-align: left;
  letter-spacing: 6px;
  font-size: clamp(40px, 4.166vw, 60px);
  line-height: 200%;
}

._1200px-wrapper {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 94%;
  max-width: 1200px;
  display: flex;
}

._1200px-wrapper._98 {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 98%;
  display: flex;
}

._1200px-wrapper.fv {
  justify-content: center;
  align-items: flex-start;
}

.movie-section {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-top: 120px;
  padding-bottom: 60px;
  display: flex;
}

.movie {
  aspect-ratio: 1920 / 1080;
  width: 100%;
  margin-left: 6.25%;
  margin-right: 6.25%;
}

.about-section {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 120px;
  display: flex;
}

.img-section {
  aspect-ratio: 32 / 15;
  width: 100%;
}

.img-section._1 {
  background-size: cover;
}

.about-contents {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  grid-template-rows: auto auto;
  grid-template-columns: 1.9fr 1.6fr;
  grid-auto-columns: 1fr;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-right: 0%;
  display: flex;
}

.about_txt-contents {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  flex-flow: column;
  justify-content: center;
  align-items: flex-start;
  display: flex;
}

.about_title {
  font-family: var(--jp);
  color: var(--main-color);
  text-align: left;
  letter-spacing: .1em;
  margin-top: 0;
  margin-bottom: 0;
  font-size: clamp(32px, 2.777vw, 40px);
  font-weight: 700;
  line-height: 160%;
}

._20px-main-text {
  font-family: var(--jp2);
  color: var(--main);
  text-align: left;
  margin-bottom: 0;
  font-size: 20px;
  font-weight: 400;
  line-height: 240%;
}

._20px-main-text.align-center {
  text-align: center;
}

._20px-main-text.align-center._0-05em {
  letter-spacing: .05em;
}

._20px-main-text.mobile {
  display: none;
}

._20px-main-text.mobile-none.center, ._20px-main-text.center {
  text-align: center;
}

._20px-main-text.white {
  font-family: var(--jp);
  color: var(--white);
  line-height: 160%;
}

._20px-main-text.white.jp {
  font-family: var(--jp);
  line-height: 160%;
}

.about_contents-1, .about_contents-2 {
  grid-column-gap: clamp(40px, 5.555vw, 80px);
  grid-row-gap: clamp(40px, 5.555vw, 80px);
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 100%;
  display: flex;
}

.about_img-contents {
  grid-column-gap: clamp(20px, 3.3333vw, 48px);
  grid-row-gap: clamp(20px, 3.3333vw, 48px);
  justify-content: flex-start;
  align-items: center;
  max-width: 525.979px;
  display: flex;
}

.about-image-top-wrapper {
  aspect-ratio: 512 / 397;
  width: 43%;
  max-width: 512px;
}

.exsample-section {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 120px;
  padding-bottom: 60px;
  display: flex;
}

.important-section {
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 120px;
  display: flex;
  position: relative;
}

.ex-contents {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  background-image: url('../images/658c87f8621f33b65318707e1af90e1f4fd1b407.png');
  background-position: 50% 0;
  background-size: cover;
  border-radius: 30px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 50px;
  display: flex;
}

._1000px-wrapper {
  width: 94%;
  max-width: 1000px;
}

.section-title {
  font-family: var(--jp);
  color: var(--main-color);
  letter-spacing: .1em;
  font-size: 40px;
  font-weight: 700;
  line-height: 180%;
}

.div-block-3 {
  background-color: #fff;
  width: 56%;
  margin-top: 1.95313%;
  padding-top: 2.92969%;
}

.ex_title-contents {
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-bottom: 30px;
  padding-top: 10px;
  padding-bottom: 10px;
  display: flex;
}

.fv-wrapper {
  grid-column-gap: 44px;
  grid-row-gap: 44px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  display: flex;
}

.link-button {
  background-color: var(--main-color);
  border-radius: 100px;
  justify-content: center;
  align-items: center;
  width: 23vw;
  max-width: 336px;
  padding-top: 10px;
  padding-bottom: 10px;
  display: flex;
  position: relative;
}

.link-button.header {
  justify-content: flex-start;
  align-items: center;
  width: 33%;
  max-width: none;
  margin-left: clamp(0px, 17.8174vw - 176.57px, 80px);
  padding: 10px clamp(20px, 4.5vw, 76px) 10px clamp(16px, 2.29vw, 33px);
  transition-property: all;
  transition-duration: .5s;
  transition-timing-function: ease;
}

.link-button.header:hover {
  opacity: .8;
}

.button-text {
  color: #fff;
  letter-spacing: .1em;
  font-size: clamp(14px, 1.25vw, 18px);
  line-height: 180%;
}

.button-yajirushi {
  position: absolute;
  right: 10%;
  transform: translate(0, 1px);
}

.bg-wrapper {
  z-index: -999;
  justify-content: center;
  align-items: flex-start;
  width: 100%;
  height: 100%;
  display: flex;
  position: absolute;
  top: 0;
}

.keep-text {
  word-break: keep-all;
  display: inline-block;
}

.about-img-2 {
  aspect-ratio: 210 / 436;
  cursor: pointer;
  width: 40%;
  max-width: 210px;
}

.about-img-3 {
  aspect-ratio: 267 / 275;
  cursor: pointer;
  width: 50.9496%;
  max-width: 268px;
}

.bg-image {
  object-fit: cover;
  object-position: 50% 0%;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.bg-image.mobile {
  display: none;
}

.nayami-card-wrapper {
  grid-column-gap: 2px;
  grid-row-gap: 2px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  max-width: 560px;
  display: flex;
}

.nayami-card {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  background-color: #fff;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-top: 15px;
  padding-bottom: 15px;
  padding-left: 20px;
  display: flex;
}

._20px-list-text {
  font-family: var(--jp);
  font-size: 20px;
  line-height: 140%;
}

._20px-list-text.green {
  color: var(--main-color);
  font-weight: 700;
}

._20px-list-text.green.height-200 {
  line-height: 200%;
}

._20px-list-text.green.non-bold {
  letter-spacing: .1em;
  font-weight: 400;
}

._20px-list-text.align-center {
  text-align: center;
}

._20px-list-text.align-center._240 {
  line-height: 240%;
}

.nayami-under-wrapper {
  justify-content: flex-end;
  align-items: center;
  width: 100%;
  display: flex;
}

.sec-title-wrapper {
  grid-column-gap: 40px;
  grid-row-gap: 40px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  display: flex;
}

.important-wrapper {
  grid-column-gap: 80px;
  grid-row-gap: 80px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
}

.important-text-wrapper {
  grid-column-gap: 30px;
  grid-row-gap: 30px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  display: flex;
}

.inportant-card-wrapper {
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  display: flex;
}

.important-card {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  background-color: var(--gray-bg);
  border-radius: 20px;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  width: 47.8%;
  padding: 15px 20px;
  display: flex;
}

.important-card-text {
  font-family: var(--jp);
  color: var(--main-color);
  text-align: center;
  letter-spacing: .1em;
  font-size: 20px;
  font-weight: 600;
  line-height: 140%;
}

.important-card-under-text {
  color: var(--main-color);
  text-align: center;
  letter-spacing: .1em;
  font-size: 16px;
  line-height: 140%;
}

.img-section-image {
  width: 100%;
  height: 100%;
}

.splide__list {
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  height: auto;
  display: flex;
}

.grand-prix {
  aspect-ratio: 1;
  object-fit: cover;
  width: 100%;
}

.main-18px {
  color: #da0238;
  font-family: Noto Serif JP, sans-serif;
  font-size: 18px;
}

.splide__slide {
  width: 100%;
}

.splide__arrows {
  z-index: 10;
  justify-content: space-between;
  align-items: center;
  display: flex;
  position: absolute;
  top: 0%;
  bottom: 0%;
}

.splide__arrows.left {
  left: -6%;
}

.splide__arrows.right {
  right: -6%;
}

.splide {
  justify-content: center;
  align-items: center;
  width: 100%;
  margin-top: 80px;
  display: flex;
  position: relative;
  z-index:1;
}

.teacher-card {
  grid-row-gap: 8px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

.teacher-card-image-area {
  justify-content: center;
  align-items: center;
  width: 100%;
  display: flex;
  position: relative;
}

.teacher-card-tag {
  background-color: #f8f6f2e6;
  min-width: 156px;
  padding: 8px;
  position: absolute;
  bottom: 0;
  right: 0;
}

.splide__arrow {
  color: #000;
  letter-spacing: 3px;
  background-color: #0000;
  justify-content: center;
  align-items: center;
  width: 100%;
  font-family: Montserrat, sans-serif;
  font-size: 15px;
  font-weight: 300;
  line-height: 120%;
  display: flex;
}

.splide__arrow.splide__arrow--next {
  border: 2px solid var(--main-color);
  background-color: #fff;
  background-image: url('../images/右.svg');
  background-position: 50%;
  background-size: auto;
  border-radius: 100px;
  width: 46px;
  height: 46px;
  padding: 0;
  font-family: Montserrat, sans-serif;
}

.splide__arrow.splide__arrow--next:hover {
  text-decoration: none;
}

.splide__arrow.splide__arrow--prev {
  border: 2px solid var(--main-color);
  background-color: #fff;
  background-image: url('../images/左.svg');
  background-position: 50%;
  background-size: auto;
  border-radius: 100px;
  width: 46px;
  height: 46px;
  padding-left: 0;
  padding-right: 0;
  font-family: Montserrat, sans-serif;
}

.splide__arrow.splide__arrow--prev:hover {
  text-decoration: none;
}

.sub-txt-14px {
  color: #222;
  font-family: Noto Sans JP, sans-serif;
  font-size: 14px;
}

.splide__track {
  z-index: 1 !important;
  width: 100%;
  padding-top: 20px;
  padding-bottom: 20px;
  position: relative;
}

.main-txt-12px {
  color: #222;
  font-family: Noto Serif JP, sans-serif;
  font-size: 12px;
}

.main-txt-12px.lh-150.weight-500 {
  justify-content: center;
  align-items: center;
  display: flex;
}

.column-section {
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-top: 60px;
  padding-bottom: 60px;
  display: flex;
}

.column-card {
  grid-row-gap: 30px;
  background-color: var(--white);
  text-align: left;
  border-radius: 10px;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 30px;
  display: flex;
  box-shadow: 0 0 4px #134a281a;
}

.column-card-image {
  aspect-ratio: 338 / 244;
  object-fit: cover;
  width: 100%;
}

.column-titles {
  grid-row-gap: 12px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 100%;
  display: flex;
}

._24px-main-txt {
  color: var(--main-color);
  letter-spacing: .1em;
  font-size: 24px;
}

._24px-main-txt.non-bold {
  justify-content: space-between;
  align-items: center;
  font-weight: 400;
  display: flex;
}

._24px-main-txt._500 {
  font-weight: 500;
}

._24px-main-txt._0-1em {
  letter-spacing: .1em;
}

.text-block {
  font-size: 12px;
}

.column-linkblock {
  grid-column-gap: 12px;
  color: #333;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  font-size: 18px;
  text-decoration: none;
  display: flex;
}

.column-linkblock-line {
  background-color: var(--main);
  width: 40px;
  height: 1px;
}

.what-you-can-do-section {
  justify-content: center;
  align-items: center;
  width: 100%;
  padding-top: 120px;
  padding-bottom: 120px;
  display: flex;
}

.whatyoucando-wrapper {
  grid-row-gap: 80px;
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding-top: 80px;
  display: flex;
}

._3things-wrapper {
  grid-column-gap: 3%;
  grid-row-gap: 40px;
  flex-flow: wrap;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  display: flex;
}

._3things-card {
  grid-row-gap: 20px;
  background-color: var(--white);
  text-align: center;
  border-radius: 30px;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  width: 46%;
  padding: 24px;
  display: flex;
  box-shadow: 10px 10px 40px #0000001a;
}

.book-image {
  aspect-ratio: 156 / 103;
}

.hand-heart {
  aspect-ratio: 113 / 100;
}

.people-image {
  aspect-ratio: 140 / 102;
}

.show-app-section {
  background-image: url('../images/cta.png');
  background-position: 50%;
  background-size: cover;
  flex-flow: column;
  justify-content: space-between;
  align-items: center;
  padding-top: 100px;
  padding-bottom: 100px;
  display: flex;
}

.app-top-wrapper {
  grid-row-gap: 30px;
  text-align: center;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  width: 100%;
  padding: 40px 4% 60px;
  display: flex;
}

.comment-wrapper {
  grid-column-gap: 16px;
  grid-row-gap: 16px;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.comment-card {
  background-color: var(--white);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  width: 30%;
  padding-top: 24px;
  padding-bottom: 24px;
  display: flex;
  position: relative;
}

.polygon-comment {
  aspect-ratio: 40 / 30;
  width: 40px;
  position: absolute;
  bottom: -19px;
  transform: rotate(90deg);
}

.app-windows-wrapper {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  flex-flow: wrap;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  grid-auto-columns: 1fr;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  display: flex;
}

.app-image {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.app-windows-div {
  aspect-ratio: 167 / 269;
  width: 32%;
  min-width: 380px;
  background-color: white;
}

.app-bottom-wrapper {
  grid-row-gap: 60px;
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-bottom: 60px;
  display: flex;
}

.link-to-app-botton {
  background-color: var(--main-color);
  border-radius: 60px;
  justify-content: center;
  align-items: center;
  padding: 24px 60px 24px 100px;
  transition: all .5s;
  display: flex;
  position: relative;
}

.link-to-app-botton:hover {
  opacity: .8;
}

.image {
  aspect-ratio: 33 / 48;
  width: 29px;
  position: absolute;
  left: 15%;
}

.sewanin-section {
  flex-flow: column;
  justify-content: flex-start;
  align-items: center;
  padding-top: 120px;
  padding-bottom: 60px;
  display: none;
}

.sewanin-wrapper {
  grid-column-gap: 5.4%;
  text-align: left;
  justify-content: space-between;
  align-items: stretch;
  width: 100%;
  display: flex;
}

.person-detail {
  flex-flow: column;
  justify-content: flex-start;
  align-items: flex-start;
  width: 52%;
  display: flex;
}

.person-detail.bottom {
  padding-top: 40px;
  padding-bottom: 40px;
}

.sewanin-top {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding-bottom: 30px;
  display: flex;
}

.sewanin-line {
  background-color: var(--main-color);
  width: 60%;
  height: 1px;
}

._28px-main-txt {
  color: var(--main-color);
  font-size: 28px;
  line-height: var(--160);
  font-weight: 700;
}

._28px-main-txt._600 {
  letter-spacing: .1em;
  font-weight: 600;
}

.sewanin-p-wrap {
  width: 100%;
}

.person-image-wrap {
  justify-content: flex-end;
  align-items: stretch;
  width: 42%;
  display: flex;
}

.person-image-wrap.min {
  width: auto;
  max-width: 236px;
}

.person-image {
  aspect-ratio: 167 / 196;
  object-fit: cover;
  width: 100%;
}

.garelly-info {
  border: 2px solid var(--main-color);
  border-radius: 10px;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  padding: 24px 48px;
  display: flex;
}

.text-span {
  font-weight: 700;
}

.sewaninn-sec-section {
  justify-content: center;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 120px;
  display: flex;
}

.copylight-section {
  background-color: var(--main-color);
  flex-flow: column;
  justify-content: center;
  align-items: center;
  padding-top: 54px;
  padding-bottom: 54px;
  display: flex;
}

.copylight {
  color: var(--white);
  font-size: 12px;
}

.ai-kanji {
  aspect-ratio: 67 / 108;
  width: 9%;
  position: absolute;
  top: -40px;
  left: 5%;
}

.sabisii-kannji {
  aspect-ratio: 41 / 26;
  width: 18%;
  position: absolute;
  top: 140px;
  right: 4%;
}

.ku-kanji {
  z-index: -1;
  aspect-ratio: 160 / 113;
  width: 16%;
  position: absolute;
  bottom: 220px;
  left: 8%;
}

.samisii2-kanji {
  aspect-ratio: 135 / 294;
  width: 9%;
  position: absolute;
  bottom: 100px;
  right: 10%;
}

.mobile {
  display: none;
}

.see-more-txt {
  font-size: 16px;
}

.phone-num {
  color: var(--main);
  -webkit-text-decoration: none;
  text-decoration: none;
}

.copylight-div {
  position: absolute;
  left: 50%;
  transform: translate(-50%);
}

.link-wrapper {
  grid-column-gap: 10px;
  grid-row-gap: 10px;
  justify-content: flex-start;
  align-items: center;
  display: flex;
}

.footer-wrapper {
  justify-content: space-between;
  align-items: center;
  width: 100%;
  display: flex;
}

.footer-link {
  transition: all .5s;
}

.footer-link:hover {
  opacity: .8;
}

.blanc-div {
  width: 0;
}

._16px-main-text {
  color: var(--white);
}

._18px-main-text {
  color: var(--white);
  letter-spacing: .2em;
  font-size: 18px;
  line-height: 180%;
}

._18px-main-text.header {
  white-space: nowrap;
  font-size: clamp(14px, 1.25vw, 18px);
}

.div-block-4 {
  grid-column-gap: 20px;
  grid-row-gap: 20px;
  justify-content: space-between;
  align-items: center;
  justify-content: center;
  width: 100%;
  display: flex;
}

.swiper-lightbox {
  z-index: 100;
  opacity: 0;
  background-color: #23443166;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: opacity .3s;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
}

.swiper-slide {
  cursor: pointer;
}

.swiper-slide._2 {
  aspect-ratio: 167 / 196;
}

.embed-block, .code-embed {
  width: 100%;
  height: 100%;
}

@media screen and (min-width: 1440px) {
  .fv-section {
    justify-content: flex-start;
    align-items: flex-start;
    padding-top: 160px;
    padding-left: 120px;
  }

  .bg-wrapper {
    margin-left: -120px;
  }
}

@media screen and (max-width: 991px) {
  .slide-nav-menu {
    z-index: 98;
    grid-column-gap: 16px;
    grid-row-gap: 16px;
    background-color: var(--main-color);
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    height: 0;
    transition: all .3s;
    display: flex;
    position: fixed;
    top: 0;
    left: 0;
    overflow: hidden;
  }

  .slide-nav-menu.active {
    background-color: var(--main-color);
    height: 100vh;
    padding-top: 94px;
  }

  .menu-button-2 {
    justify-content: center;
    align-items: center;
    display: flex;
  }

  .header-button {
    justify-content: center;
    align-items: center;
    padding-top: 20px;
    padding-bottom: 20px;
    display: flex;
  }

  .header-button.cta {
    justify-content: flex-end;
    align-items: center;
    height: 65px;
    margin-top: 60px;
    padding: 18px 24px 18px 0;
    display: flex;
  }

  .mobile-soudan-text {
    letter-spacing: .8px;
    font-weight: 600;
    line-height: 180%;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
  }

  .label-menu-icon {
    z-index: 99;
    justify-content: center;
    align-items: center;
    display: flex;
    position: relative;
  }

  .nav-menu {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
    background-color: #fff;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    height: 100vh;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
  }

  .navbar-wrapper {
    justify-content: space-between;
    align-items: center;
    display: flex;
  }

  .mobile-nav-inside {
    background-color: var(--main-color);
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
    max-width: 750px;
    height: 100vh;
    padding-top: 40px;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
  }

  .navbar-2 {
    padding-left: clamp(20px, 5.5vw, 80px);
    padding-right: clamp(20px, 5.5vw, 80px);
  }

  .header-text.white {
    font-size: 16px;
  }

  .fv-section {
    margin-top: 95px;
  }

  .fv_sub_title {
    font-size: 24px;
  }

  .fv_title {
    font-size: 32px;
  }

  .movie-section {
    padding-top: 100px;
    padding-bottom: 40px;
  }

  .about-section {
    padding-top: 40px;
    padding-bottom: 100px;
  }

  .about_title {
    font-size: 24px;
  }

  ._20px-main-text {
    font-size: 18px;
  }

  .about_contents-1, .about_contents-2 {
    grid-column-gap: 16px;
    grid-row-gap: 16px;
  }

  .exsample-section {
    padding-top: 100px;
    padding-bottom: 40px;
  }

  .important-section {
    padding-bottom: 100px;
  }

  .ex-contents {
    padding: 32px;
  }

  .section-title {
    font-size: 32px;
  }

  .link-button {
    width: 28vw;
  }

  .link-button.header {
    grid-column-gap: 23px;
    grid-row-gap: 23px;
    background-color: var(--white);
    justify-content: center;
    align-items: center;
    width: 250px;
    margin-top: 50px;
    margin-left: 0;
    padding: 9px 27px 9px 29px;
  }

  .splide__arrows.right{
    right: -10%;
  }

  .splide__arrows.left{
    left: -10%;
  }

  .button-yajirushi {
    right: 6%;
  }

  .button-yajirushi.header {
    position: static;
  }

  ._20px-list-text {
    font-size: 18px;
  }

  .important-wrapper {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
  }

  .important-text-wrapper {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
  }

  .important-card-under-text {
    font-size: 14px;
  }

  .splide__list {
    justify-content: space-between;
    align-items: stretch;
  }

  .splide__slide {
    justify-content: center;
    align-items: stretch;
    height: auto;
    display: flex;
  }

  .splide {
    width: 85%;
    margin-top: 45px;
  }

  .teacher-card {
    min-width: 290.828px;
    max-width: 290.828px;
  }

  .splide__arrow.splide__arrow--next, .splide__arrow.splide__arrow--prev {
    font-size: 14px;
  }

  .sub-txt-14px {
    font-size: 13px;
  }

  .column-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  ._24px-main-txt {
    font-size: 20px;
  }

  ._24px-main-txt._500.title {
    font-size: 24px;
  }

  .what-you-can-do-section {
    padding-top: 100px;
    padding-bottom: 100px;
  }

  .whatyoucando-wrapper {
    grid-row-gap: 60px;
    padding-top: 60px;
  }

  ._3things-wrapper {
    align-items: stretch;
  }

  .show-app-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .app-top-wrapper {
    padding: 20px 2% 50px;
  }

  .comment-card {
    width: 32%;
  }

  .app-windows-wrapper {
    display: none;
  }

  .app-windows-wrapper.mobile {
    display: flex;
  }

  .app-windows-div {
    justify-content: center;
    align-items: center;
    width: 100%;
    max-width: 500px;
    display: flex;
  }

  .app-bottom-wrapper {
    grid-row-gap: 44px;
    padding-bottom: 40px;
  }

  .sewanin-section {
    padding-top: 100px;
    padding-bottom: 40px;
  }

  .sewanin-top {
    padding-bottom: 20px;
  }

  .sewanin-line {
    width: 55%;
  }

  ._28px-main-txt {
    font-size: 24px;
  }

  .garelly-info {
    padding-left: 40px;
    padding-right: 40px;
  }

  .sewaninn-sec-section {
    padding-bottom: 100px;
  }

  .copylight-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .ku-kanji {
    bottom: 101px;
    left: 1%;
  }

  .see-more-txt {
    font-size: 14px;
  }

  ._18px-main-text.header {
    color: var(--main-color);
    font-size: 14px;
  }

  .embed-block {
    width: 100%;
    min-width: 100%;
    height: 100%;
  }
}

@media screen and (max-width: 767px) {
  .sg-body {
    overflow: hidden;
  }

  .logo_txt {
    font-size: clamp(20px, 1.9vw, 24px);
  }

  .slide-nav-menu {
    top: 0;
  }

  .slide-nav-menu.active {
    z-index: 98;
    height: 100vh;
  }

  .header-button {
    border-bottom-style: none;
    justify-content: center;
    align-items: center;
  }

  .mobile-nav-inside {
    justify-content: flex-start;
    align-items: center;
    padding-top: 40px;
  }

  .navbar-2 {
    border-radius: 5px;
    width: calc(100% - 15px);
    margin-top: 8px;
    margin-left: 7.5px;
    margin-right: 7.5px;
    padding-top: 10px;
    padding-bottom: 10px;
    box-shadow: 0 4px 10px #0000001a;
  }

  .splide__arrow.splide__arrow--next, .splide__arrow.splide__arrow--prev {
    width: 35px;
    height: 35px;
  }

  .splide__arrows.right {
    right: -8%;
  }

  .splide__arrows.left {
    left: -8%;
  }

  .fv-section {
    aspect-ratio: 375 / 660;
    justify-content: flex-start;
    align-items: center;
    max-height: 100vh;
    margin-top: 0;
    padding-top: 154px;
  }

  .fv_title {
    font-size: 30px;
  }

  ._1200px-wrapper {
    width: 90%;
  }

  ._1200px-wrapper._98 {
    width: 94%;
  }

  .movie-section {
    padding-top: 80px;
    padding-bottom: 28px;
  }

  .about-section {
    padding-bottom: 80px;
  }

  .about-contents {
    grid-column-gap: 60px;
    grid-row-gap: 60px;
  }

  .about_txt-contents {
    text-align: left;
  }

  .about_txt-contents._2 {
    grid-column-gap: 24px;
    grid-row-gap: 24px;
  }

  .about_title {
    font-size: 22px;
  }

  ._20px-main-text {
    font-size: 16px;
  }

  ._20px-main-text.align-center {
    font-size: 14px;
    line-height: 200%;
  }

  ._20px-main-text.mobile {
    display: block;
  }

  ._20px-main-text.mobile-none {
    display: none;
  }

  .about_contents-1 {
    grid-row-gap: 60px;
    flex-flow: column;
  }

  .about_contents-2 {
    grid-row-gap: 60px;
    flex-flow: column-reverse;
  }

  .about_img-contents {
    justify-content: space-between;
    align-items: center;
  }

  .about-image-top-wrapper {
    width: 80%;
    max-width: 360px;
  }

  .exsample-section {
    padding-top: 80px;
  }

  .important-section {
    padding-top: 40px;
    padding-bottom: 80px;
  }

  .ex-contents {
    padding: 60px 20px 40px;
  }

  .section-title {
    font-size: 22px;
  }

  .ex_title-contents {
    margin-bottom: 20px;
  }

  .link-button {
    width: 275px;
    max-width: 275px;
  }

  .link-button.header {
    grid-column-gap: 22px;
    grid-row-gap: 22px;
    width: 220px;
    padding-right: 27px;
  }

  .button-yajirushi.header {
    position: static;
  }

  .bg-wrapper {
    clip-path: ellipse(180% 100% at 50% 0);
    max-height: 100%;
  }

  .bg-image {
    display: none;
  }

  .bg-image.mobile {
    object-fit: cover;
    object-position: 50% 50%;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    width: 160%;
    max-width: none;
    display: block;
    overflow: hidden;
  }

  ._20px-list-text {
    font-size: 16px;
  }

  .nayami-under-wrapper {
    margin-top: 22px;
  }

  .important-wrapper {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
  }

  .important-text-wrapper {
    grid-column-gap: 18px;
    grid-row-gap: 18px;
  }

  .inportant-card-wrapper {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    flex-flow: wrap;
    justify-content: center;
    align-items: flex-start;
  }

  .important-card {
    min-width: 323px;
  }

  .important-card-text {
    font-size: 18px;
  }

  .important-card-under-text {
    font-size: 12px;
  }

  .splide__list {
    min-width: 100%;
  }

  .splide__slide {
    width: 100%;
    min-width: 100%;
  }

  .splide {
    width: 100%;
    margin-top: 30px;
  }

  ._24px-main-txt {
    font-size: 18px;
  }

  ._24px-main-txt.non-bold {
    font-size: 16px;
  }

  ._24px-main-txt._500.min-titl {
    font-size: 20px;
  }

  .what-you-can-do-section {
    padding-top: 80px;
    padding-bottom: 80px;
  }

  .whatyoucando-wrapper {
    grid-row-gap: 40px;
    padding-top: 40px;
  }

  ._3things-wrapper {
    grid-row-gap: 24px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
  }

  ._3things-card {
    width: 80%;
    padding-top: 16px;
    padding-bottom: 16px;
  }

  .book-image, .hand-heart, .people-image {
    max-width: 120px;
  }

  .show-app-section {
    padding-top: 60px;
    padding-bottom: 60px;
    overflow: hidden;
  }

  .app-top-wrapper {
    padding: 32px 0% 40px;
  }

  .comment-wrapper {
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
  }

  .comment-card {
    width: 60%;
    min-width: 300px;
  }

  .app-windows-wrapper {
    flex-flow: row;
    justify-content: flex-start;
    align-items: stretch;
  }

  .app-windows-wrapper.mobile {
    justify-content: center;
    align-items: stretch;
  }

  .app-windows-div {
    width: 100%;
    max-width: 450px;
  }

  .app-bottom-wrapper {
    grid-row-gap: 28px;
    justify-content: flex-start;
    align-items: center;
    width: 100%;
  }

  .sewanin-section {
    padding-top: 80px;
    padding-bottom: 32px;
  }

  .sewanin-wrapper {
    grid-row-gap: 24px;
    flex-flow: column;
    justify-content: flex-start;
    align-items: center;
  }

  .person-detail {
    width: 100%;
  }

  .person-detail.bottom {
    justify-content: flex-start;
    align-items: center;
    padding-bottom: 0;
  }

  .sewanin-top {
    padding-bottom: 16px;
  }

  ._28px-main-txt {
    font-size: 20px;
  }

  .person-image-wrap {
    width: 60%;
  }

  .sewaninn-sec-section {
    padding-top: 40px;
    padding-bottom: 40px;
  }

  .sabisii-kannji {
    top: 194px;
  }

  .ku-kanji {
    bottom: 448px;
  }

  .samisii2-kanji {
    bottom: 35px;
  }

  .mobile-none {
    display: none;
  }

  .mobile {
    display: block;
  }

  .mobile-fv-wrap {
    position: absolute;
    top: 0;
  }

  .fv-bottom-mobile {
    background-color: var(--main);
    width: 100%;
    height: 100px;
    display: none;
    position: absolute;
    bottom: 0;
  }

  .copylight-div {
    position: static;
    transform: none;
  }

  .footer-wrapper {
    grid-column-gap: 10px;
    grid-row-gap: 10px;
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }

  .blanc-div {
    display: none;
  }

  .sewanin-desc-wrapper {
    width: 100%;
  }

  ._16px-main-text {
    color: var(--white);
  }

  ._18px-main-text.header {
    font-size: 12px;
  }

  .div-block-4 {
    flex-flow: column;
    justify-content: center;
    align-items: center;
  }
}

@media screen and (max-width: 479px) {
  .logo_txt {
    font-size: clamp(16px, 1.9vw, 24px);
  }

  .brand-logo {
    padding-left: 0;
  }

  .arrow-white {
    z-index: 1;
    position: relative;
  }

  .mobile-soudan-text {
    z-index: 1;
    font-size: 15px;
  }

  .navbar-2 {
    padding-left: 20px;
    padding-right: 6px;
  }

  .header-text.white {
    font-size: 14px;
  }

  .fv_sub_title {
    letter-spacing: 2px;
    font-size: 18px;
    line-height: 140%;
  }

  .fv_title {
    letter-spacing: 2px;
    white-space: nowrap;
    font-size: 22px;
    line-height: 180%;
  }

  .movie-section {
    padding-top: 80px;
    padding-bottom: 30px;
  }

  .about_txt-contents {
    grid-column-gap: 40px;
    grid-row-gap: 40px;
    width: 100%;
  }

  .about_txt-contents._2 {
    width: 100%;
  }

  .about_title {
    font-size: 20px;
  }

  ._20px-main-text {
    font-size: 14px;
  }

  .about-image-top-wrapper {
    width: 100%;
  }

  .ex-contents {
    background-position: 100%;
    background-size: auto;
    padding-top: 50px;
    padding-bottom: 50px;
  }

  .section-title {
    font-size: 20px;
  }

  .fv-wrapper {
    grid-column-gap: 20px;
    grid-row-gap: 20px;
  }

  .link-button {
    grid-column-gap: 17px;
    grid-row-gap: 17px;
    justify-content: flex-start;
    align-items: center;
    width: 62vw;
    max-width: 208.938px;
    padding-top: 9px;
    padding-bottom: 9px;
    padding-left: 8%;
  }

  .link-button.header {
    justify-content: flex-start;
    align-items: center;
    width: 190px;
    min-width: 190px;
    max-width: 190px;
  }

  .button-text {
    font-size: clamp(14px, 1.25vw, 18px);
  }

  .button-yajirushi {
    position: static;
  }

  .nayami-card {
    text-align: left;
    padding-right: 25px;
  }

  .important-card {
    width: 100%;
    min-width: auto;
  }

  .important-card-text {
    font-size: 16px;
    line-height: 180%;
  }

  .splide__arrows.left{
    left: -10px;
  }
  .splide__arrows.right{
    right: -10px;
  }

  .splide {
    margin-top: 20px;
  }

  .splide__arrow.splide__arrow--next, .splide__arrow.splide__arrow--prev {
    width:30px;
    height:30px;
    min-width: auto;
    padding: 10px;
    font-size: 12px;
  }

  .splide__track {
    justify-content: center;
    align-items: center;
    display: flex;
    overflow: visible;
  }

  .column-card {
    grid-row-gap: 20px;
  }

  ._3things-card {
    grid-row-gap: 16px;
    width: 100%;
  }

  .book-image, .hand-heart, .people-image {
    max-width: 100px;
  }

  .show-app-section {
    background-position: 50% 0;
  }

  .app-top-wrapper {
    padding-top: 28px;
    padding-bottom: 30px;
  }

  .comment-card {
    min-width: 240px;
  }

  .app-windows-div {
    min-width: 320px;
  }

  .link-to-app-botton {
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: 321px;
    padding: 16px 30px 16px 50px;
  }

  .image {
    width: 22px;
    position: static;
  }

  .sewanin-line {
    width: 45%;
    min-width: 111px;
  }

  ._28px-main-txt {
    font-size: 18px;
  }

  ._28px-main-txt.title {
    font-size: 20px;
  }

  .person-image-wrap {
    width: 86%;
  }

  .copylight-section {
    padding-top: 30px;
    padding-bottom: 30px;
  }

  .ai-kanji {
    width: 14%;
    top: 0;
  }

  .sabisii-kannji {
    width: 24%;
    top: 287px;
    transform: rotate(-28deg);
  }

  .ku-kanji {
    width: 20%;
    bottom: 330px;
  }

  .samisii2-kanji {
    width: 11%;
    bottom: 106px;
    right: 5%;
  }

  .see-more-txt {
    font-size: 12px;
  }

  .footer-wrapper {
    flex-flow: column;
  }

  ._18px-main-text.header {
    font-size: 10px;
    font-weight: 400;
  }
}


