@charset "UTF-8";
/* ブレイクポイント設定 */
/* 色設定 */
/* 配置(フレックス) */
/* 擬似要素の共通基盤 */
/* transition */
/* レスポンシブ */
.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

/* 基盤 */
html {
  font-size: 62.5%;
}
@media screen and (max-width: 1280px) {
  html {
    font-size: 0.78125vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 1.3037809648vw;
  }
}

body {
  color: #2B2B2B;
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  line-height: 1.2;
  width: 100%;
  text-align: center;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}

a {
  position: relative;
  text-decoration: none;
  color: #2B2B2B;
  display: block;
  -webkit-tap-highlight-color: transparent;
}

li {
  list-style: none;
}

span {
  display: block;
}

img {
  width: 100%;
  height: auto;
  max-width: 100%;
  vertical-align: middle;
  -o-object-fit: cover;
     object-fit: cover;
}

/* コンポーネント */
.c-white {
  color: #fff;
}

.c-bg-white {
  background-color: #fff;
}

.c-bg-lightblue {
  background-color: #009CFF;
}

.c-font-600 {
  font-weight: 600;
}

/* ヘッダー(タイトル) */
.header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 15;
  width: 100%;
  height: 12rem;
  background: green;
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .header {
    height: 14rem;
    font-size: 2.2rem;
  }
}

.page-title {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}

/* スクロールでふわっと表示 */
.slide-in04__blank {
  display: flex;
  justify-content: center;
  align-items: center;
  height: calc(100vh - 10rem);
  font-size: 6rem;
}
@media screen and (max-width: 767px) {
  .slide-in04__blank {
    height: calc(100vh - 14rem);
    font-size: 3rem;
  }
}

.slide-in04__contents--upper {
  height: 30vh;
  margin: 15rem 0;
}

/* サイドから */
.slide-in04__content {
  position: relative;
  width: 100vw;
  height: 60rem;
  background: #F9F9F9;
}

.content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: center;
  align-items: center;
  width: 120rem;
  height: 45%;
  overflow: hidden;
  -moz-column-gap: 2rem;
       column-gap: 2rem;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .content {
    width: 90%;
    height: 60%;
    flex-direction: column;
    row-gap: 3rem;
  }
}
.content .content__item {
  width: 45%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .content .content__item {
    width: 100%;
  }
}
.content .content__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100%;
  background: #fff;
  border: solid 1px #E5E5E5;
  text-align: center;
  transition: all 0.3s ease;
  padding: 5rem 0;
}
@media screen and (max-width: 767px) {
  .content .content__item a {
    padding: 3rem 0;
  }
}
.content .content__item a .item__icon {
  position: relative;
  width: 6rem;
  height: 6rem;
  background: #2B2B2B;
  border-radius: 50%;
  border: solid 1px #2B2B2B;
  transition: all 0.3s ease;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .content .content__item a .item__icon {
    width: 4rem;
    height: 4rem;
  }
}
.content .content__item a .item__icon img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 2.5rem;
}
@media screen and (max-width: 767px) {
  .content .content__item a .item__icon img {
    width: 2rem;
  }
}
.content .content__item a span {
  transition: all 0.3s ease;
}
.content .content__item a .item__title--en {
  font-size: 3.2rem;
  font-weight: bold;
  font-family: Heebo, sans-serif;
  letter-spacing: 0.05em;
  line-height: 1.8em;
  margin-top: 0.5rem;
}
@media screen and (max-width: 767px) {
  .content .content__item a .item__title--en {
    font-size: 1.88rem;
  }
}
.content .content__item a .item__title--jp {
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 1.1em;
}
.content .content__item a::after {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 100% 0, 0 100%);
  background: #E5E5E5;
  width: 5rem;
  height: 5rem;
  transition: all 0.3s ease;
}
@media screen and (max-width: 767px) {
  .content .content__item a::after {
    width: 4rem;
    height: 4rem;
  }
}
.content .content__item a:hover {
  border: solid 1px #237eed;
}
.content .content__item a:hover .contact__form__icon {
  background: #237eed;
  border: solid 1px #237eed;
}
.content .content__item a:hover span {
  color: #237eed;
}
.content .content__item a:hover::after {
  background: #237eed;
}

.slide-in04__contents--lower {
  height: 30vh;
}
@media screen and (max-width: 767px) {
  .slide-in04__contents--lower {
    height: 50vh;
  }
}

.slide04__cta {
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 10;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 28.54rem;
  box-shadow: 0 4px 4px 5px rgba(0, 0, 0, 0.16);
  row-gap: 1.5rem;
}

.c-cta__common {
  width: 36rem;
  height: 9rem;
  font-size: 3rem;
}
@media screen and (max-width: 767px) {
  .c-cta__common {
    width: 72rem;
  }
}

.c-button__purchase {
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 1rem;
}

.c-cta__sub--purchase {
  border: solid 1px #A8A8A8;
}

/* js */
.translateRight {
  transform: translateX(-150%);
  transition: 0.3s 0.3s ease;
}

.translateLeft {
  transform: translateX(150%);
  transition: 0.3s 0.3s ease;
}

.is-active {
  transform: translateX(0);
}

.js-fadeUp {
  transform: translateY(100%);
  transition: 0.3s 0.3s ease;
}

.js-fadeUp.active {
  transform: translateY(0);
}/*# sourceMappingURL=style.css.map */