@charset "UTF-8";
/* ブレイクポイント設定 */
/* 色設定 */
/* フォントサイズ */
/* 行間 */
/* 文字間隔 */
/* スタイル調整 */
/* transition */
/* ホバー */
/* 左から右へ光るライン */
/* 基盤 */
html {
  font-size: 62.5%;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 1440px) {
  html {
    font-size: 0.6944444444vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 1.3037809648vw;
  }
}

body {
  color: #2D2D2D;
  background-color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  line-height: 100%;
  letter-spacing: 0;
  width: 100%;
  text-align: left;
  box-sizing: border-box;
  overflow-wrap: break-word;
  position: relative;
}

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

img {
  max-width: 100%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

li {
  list-style: none;
}

span {
  display: inline-block;
}

select {
  line-height: 180%;
  font-family: "游ゴシック体", YuGothic, sans-serif;
  cursor: pointer;
}

option {
  line-height: 180%;
}

select,
::picker(select) {
  -webkit-appearance: base-select;
     -moz-appearance: base-select;
          appearance: base-select;
  border: solid 0.5px rgba(0, 0, 0, 0.6);
  border-radius: 0.5rem;
  color: rgba(0, 0, 0, 0.6);
  padding: 0.4rem 0;
}

/* レイアウト */
.l-wrapper {
  position: relative;
  width: 100%;
  max-width: 144rem;
  margin: 0 auto;
}

.l-inner {
  position: relative;
  width: 100%;
  max-width: 81rem;
  margin: 0 auto;
}

.l-page-inner {
  position: relative;
  width: 100%;
  max-width: 103.8rem;
  margin: 0 auto;
}

@media screen and (max-width: 767px) {
  .l-sp-adjust {
    padding-left: 2.244rem;
    padding-right: 2.244rem;
  }
}

@media screen and (max-width: 767px) {
  .l-sp-adjust2 {
    padding-left: 2.44rem;
    padding-right: 2.44rem;
  }
}

@media screen and (max-width: 767px) {
  .l-sp-adjust3 {
    padding-left: 3.513rem;
    padding-right: 3.513rem;
  }
}

.l-hamburger {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 98;
  width: 100vw;
  height: 100%;
  overflow-y: scroll;
}

.l-hamburger__menu {
  min-height: 100dvh;
  padding: 30rem 0 50rem;
}

.l-point__upper {
  padding-bottom: 10rem;
}
@media screen and (max-width: 767px) {
  .l-point__upper {
    padding-bottom: 13rem;
  }
}

.l-point__lower {
  padding-top: 7rem;
}
@media screen and (max-width: 767px) {
  .l-point__lower {
    padding-top: 13.14rem;
  }
}

@media screen and (max-width: 767px) {
  .l-sp-ajust {
    padding-left: 2.413rem;
    padding-right: 2.413rem;
  }
}

@media screen and (max-width: 767px) {
  .l-sp-ajust02 {
    padding-left: 4.684rem;
    padding-right: 4.684rem;
  }
}

/* コンポーネント */
.c-font-inter {
  font-family: "Inter", sans-serif;
}

.c-yugothic {
  font-family: "游ゴシック体", YuGothic, sans-serif;
}

.c-font-italic {
  font-style: italic;
}

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

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

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

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

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

.c-white {
  color: #fff;
}

.c-main {
  color: #224960;
}

.c-main2 {
  color: #0F3C58;
}

.c-blue {
  color: #0088FF;
}

.c-light-blue {
  color: #009CFF;
}

.c-red {
  color: #F20000;
}

.c-bg-blue {
  background-color: #0088FF;
}

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

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

.c-bg-bg2 {
  background-color: #F5FBFF;
}

.c-thin {
  opacity: 0.6;
}

.c-inline {
  display: inline;
}

.mr {
  margin-right: 1rem;
}

/* ホバー */
.hover-left-to-right a::before {
  transform: translateX(-100%);
  transition: 0.3s;
}
.hover-left-to-right:hover a::before {
  transform: translateX(0);
}

/* 左から右へ光るライン */
.c-light-left-to-right::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, rgba(255, 255, 255, 0.6) 0%, rgba(255, 255, 255, 0.6) 15%, rgba(255, 255, 255, 0) 25%); /* 光の色と広がり */
  transform: skewX(-30deg) translateX(-100%); /* アニメーション開始時の位置 */
  animation: light-sweep 3s linear infinite; /* アニメーションの適用 */
}

/* TOPへ戻るボタン */
.c-top__button {
  position: fixed;
  z-index: 90;
  bottom: 8.8rem;
  right: 9.415rem;
  width: 7.585rem;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .c-top__button {
    display: none;
  }
}

/* ヘッダー */
.c-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99;
  width: 100vw;
  padding: 2.8rem 6rem;
}
@media screen and (max-width: 767px) {
  .c-header {
    padding: 4.881rem 2.342rem;
  }
}

.c-header__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 7rem;
  background: #fff;
  border-radius: 50px;
  box-shadow: 0 4px 4px 0 rgba(0, 0, 0, 0.15);
  padding: 0 6rem;
}
@media screen and (max-width: 767px) {
  .c-header__inner {
    height: 10.138rem;
    padding: 0 4.684rem;
  }
}

.c-site__logo {
  width: 11.955rem;
}
@media screen and (max-width: 767px) {
  .c-site__logo {
    width: 16rem;
  }
}

.c-navi {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 72.6rem;
}
@media screen and (max-width: 767px) {
  .c-navi {
    display: none;
  }
}

.c-navi__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 54.7rem;
}

.c-navi__item a {
  position: relative;
  font-size: 1.6rem;
  font-weight: 600;
  transition: 0.3s;
}
.c-navi__item a::before {
  position: absolute;
  bottom: -1em;
  left: 0;
  content: "";
  width: 100%;
  height: 1.5px;
  background: #009CFF;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: 0.3s;
}
.c-navi__item a:hover {
  color: #009CFF;
}
.c-navi__item a:hover::before {
  transform: scale(1, 1);
  transform-origin: left top;
}

.c-navi__login {
  width: 13.9rem;
  height: 4.3rem;
  border: solid 2px #009CFF;
  border-radius: 2.318rem;
  overflow: hidden;
}
.c-navi__login a {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #009CFF;
  background: #fff;
  font-size: 1.854rem;
  transition: 0.3s;
}
.c-navi__login a::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #009CFF;
}
.c-navi__login:hover a {
  color: #fff;
}

@media screen and (max-width: 767px) {
  .c-hamburger {
    position: fixed;
    z-index: 100;
    top: 9rem;
    right: 7rem;
    width: 5.074rem;
    height: 2.253rem;
    cursor: pointer;
  }
  .c-hamburger div {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 2px;
    background: #0088FF;
  }
  .c-hamburger div:nth-of-type(1) {
    transform: translate(-50%, calc(-50% - 1.126rem));
  }
  .c-hamburger div:nth-of-type(2) {
    transform: translate(-50%, -50%);
  }
  .c-hamburger div:nth-of-type(3) {
    transform: translate(-50%, calc(-50% + 1.126rem));
  }
}

.c-hamnav__inner {
  text-align: center;
  width: 40.594rem;
  margin: 0 auto;
}

.c-hamnav__list {
  display: flex;
  flex-direction: column;
  row-gap: 9rem;
}

.c-hamnav__item a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-size: 3.755rem;
  font-weight: 600;
  color: #fff;
}

.c-hamnav__login {
  width: 31.23rem;
  height: 9.012rem;
  border: solid 2px #009CFF;
  border-radius: 4.352rem;
  margin: 10rem auto 0;
}
.c-hamnav__login a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-size: 4.506rem;
}

.c-hamnav__cta {
  width: 100%;
  height: 10.514rem;
  border: solid 2px #fff;
  border-radius: 6.547rem;
  background: linear-gradient(90deg, #FE6C03 0%, #F48C41 100%);
  margin-top: 3.5rem;
}
.c-hamnav__cta a {
  height: 100%;
}
.c-hamnav__cta a span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-size: 4.506rem;
}

.c-nav_bg {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-nav_bg {
    content: "";
    width: 1.95rem;
    height: 1.95rem;
    position: fixed;
    z-index: -1;
    top: -19.52rem;
    right: -19.52rem;
    display: block;
    background: #009CFF;
    border-radius: 100%;
    transform: scale(0.1);
    transition: all 0.4s linear;
  }
}

.c-nav_bg.open {
  width: 260vw;
  height: 260vw;
  top: -55vw;
  right: -55vw;
  transform: scale(1);
}

.c-nav_bg.close {
  right: 0;
  transform: scale(1) translateY(-100%);
  transition: all 0.1s linear;
}

.c-blue-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 25rem;
  height: 4.8rem;
  border: solid 2px #009CFF;
  border-radius: 3rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-blue-btn {
    width: 48.79rem;
    height: 9.012rem;
    border-radius: 5.632rem;
    margin: 0 auto;
  }
}
.c-blue-btn a {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #fff;
  background: #009CFF;
  transition: 0.3s;
}
.c-blue-btn a::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #fff;
}
.c-blue-btn a span {
  font-size: 1.6rem;
  margin-right: 0.7em;
}
@media screen and (max-width: 767px) {
  .c-blue-btn a span {
    font-size: 3.004rem;
    margin-right: 0.7em;
  }
}
.c-blue-btn a .c-blue-btn__circle {
  position: relative;
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 767px) {
  .c-blue-btn a .c-blue-btn__circle {
    width: 3.903rem;
    height: 3.903rem;
  }
}
.c-blue-btn a .c-blue-btn__circle::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  background: url(../images/Vector.png) no-repeat 50% 50%/contain;
  width: 0.614rem;
  height: 1.061rem;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-blue-btn a .c-blue-btn__circle::before {
    width: 1.198rem;
    height: 1.992rem;
  }
}
.c-blue-btn:hover a {
  color: #009CFF;
}
.c-blue-btn:hover a .c-blue-btn__circle::before {
  transform: translate(calc(-50% + 0.5rem), -50%);
}

.c-white-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 28.8rem;
  height: 6rem;
  border: solid 2px #009CFF;
  border-radius: 3rem;
  overflow: hidden;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-white-btn {
    width: 56.2rem;
    height: 11.264rem;
    border-radius: 5.632rem;
  }
}
.c-white-btn a {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #009CFF;
  background: #fff;
  transition: 0.3s;
}
.c-white-btn a::before {
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 100%;
  background: #009CFF;
}
.c-white-btn a span {
  font-size: 1.6rem;
  margin-right: 0.7em;
}
@media screen and (max-width: 767px) {
  .c-white-btn a span {
    font-size: 3.004rem;
    margin-right: 0.7em;
  }
}
.c-white-btn a .c-white-btn__circle {
  position: relative;
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 767px) {
  .c-white-btn a .c-white-btn__circle {
    width: 3.903rem;
    height: 3.903rem;
  }
}
.c-white-btn a .c-white-btn__circle::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  background: url(../images/Vector\(1\).webp) no-repeat 50% 50%/contain;
  width: 0.614rem;
  height: 1.061rem;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-white-btn a .c-white-btn__circle::before {
    width: 1.198rem;
    height: 1.992rem;
  }
}
.c-white-btn:hover a {
  color: #fff;
}
.c-white-btn:hover a .c-white-btn__circle::before {
  transform: translate(calc(-50% + 0.5rem), -50%);
}

.c-cta {
  color: #fff;
  border: solid 2px #fff;
  border-radius: 5.962rem;
  background: linear-gradient(90deg, #FE6C03 0%, #F48C41 100%);
  overflow: hidden;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  .c-cta {
    border: solid 2.15px #fff;
    border-radius: 10.1rem;
  }
}
.c-cta a {
  height: 100%;
  color: #fff;
  transition: 0.3s;
}
.c-cta a span {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-size: 2.4rem;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .c-cta a span {
    font-size: 3.38rem;
  }
}
.c-cta:hover {
  background: #fff;
}
.c-cta:hover a {
  color: #FE6C03;
}
.c-cta:hover a span::before {
  opacity: 1;
}
.c-cta:hover a span::after {
  display: none;
}

.c-border {
  position: relative;
}
.c-border::before {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  content: "";
  background: url(../images/Line\ 94.webp) no-repeat 50% 50%/cover;
}

.c-form-input {
  width: 100%;
  height: 4.4rem;
  border: solid 0.5px rgba(0, 0, 0, 0.6);
  border-radius: 0.5rem;
  color: rgba(0, 0, 0, 0.6);
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, sans-serif;
  padding-left: 2.4rem;
}
@media screen and (max-width: 767px) {
  .c-form-input {
    height: 8.636rem;
    border-radius: 0.939rem;
  }
}
.c-form-input::-moz-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.c-form-input::placeholder {
  color: rgba(0, 0, 0, 0.6);
}

.c-form-button {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 4.4rem;
  color: #fff;
  border-radius: 1rem;
  font-size: 2rem;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  padding: 2.4rem 0;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  .c-form-button {
    height: 8.26rem;
    border-radius: 1.877rem;
    font-size: 3.755rem;
    padding: 4.506rem 0;
    margin-top: 7.51rem;
  }
}

/* about */
.c-section-title {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 2.033rem;
  font-weight: 600;
  color: #009CFF;
  padding-left: 1.1em;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-section-title {
    font-size: 2.628rem;
    padding-left: 1.2em;
  }
}
.c-section-title::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  background: url(../images/Ellipse\ 24.webp) no-repeat 50% 50%/contain;
  width: 1.779rem;
  height: 1.694rem;
}
@media screen and (max-width: 767px) {
  .c-section-title::before {
    width: 2.785rem;
    height: 2.551rem;
  }
}

.c-section-subtitle {
  font-size: 4rem;
  font-weight: 600;
  text-align: center;
  margin-top: 2.8rem;
}
@media screen and (max-width: 767px) {
  .c-section-subtitle {
    font-size: 6.759rem;
    margin-top: 5rem;
  }
}

/* course */
.c-accordion {
  display: none;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  font-size: 1.4rem;
  line-height: 140%;
  padding: 2rem 3.4rem 0.5rem 3.2rem;
}
@media screen and (max-width: 767px) {
  .c-accordion {
    font-size: 2.628rem;
    padding: 3.75rem 6.636rem 0.939rem 6.245rem;
  }
}

/* faq */
.c-faq__q {
  position: relative;
  font-size: 2rem;
  font-weight: 600;
  line-height: 120%;
  color: #009CFF;
  padding: 0.8rem 0 0.8rem 6.6rem;
}
@media screen and (max-width: 767px) {
  .c-faq__q {
    width: 92%;
    font-size: 3.38rem;
    padding: 1.31rem 0 1.31rem 8.8rem;
  }
}
.c-faq__q::before, .c-faq__q::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: "";
}
.c-faq__q::before {
  left: 0;
  background: url(../images/Group\ 117.webp) no-repeat 50% 50%/contain;
  width: 4.6rem;
  height: 4.6rem;
}
@media screen and (max-width: 767px) {
  .c-faq__q::before {
    width: 7.014rem;
    height: 7.014rem;
  }
}
.c-faq__q::after {
  right: 0;
  background: url(../images/weui_arrow-outlined.png) no-repeat 50% 50%/contain;
  width: 2.4rem;
  height: 2.6rem;
}
@media screen and (max-width: 767px) {
  .c-faq__q::after {
    right: -1.2em;
    width: 3.6rem;
    height: 3.6rem;
  }
}

.c-faq__a {
  display: none;
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff;
  border-radius: 2rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 150%;
  padding: 2.1rem 6.4rem;
  margin-top: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-faq__a {
    border-radius: 3.755rem;
    font-size: 2.628rem;
    line-height: 180%;
    padding: 3.755rem 3.9rem;
    margin-top: 2.253rem;
  }
}

/* bannerセクション */
.c-banner {
  position: relative;
  width: 100vw;
  height: 31.7rem;
  background: url(../images/Rectangle\ 147.webp) no-repeat 50% 50%/cover;
}
@media screen and (max-width: 767px) {
  .c-banner {
    height: 64.4rem;
    overflow: hidden;
  }
}
.c-banner::before, .c-banner::after {
  position: absolute;
  content: "";
}
.c-banner::before {
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: url(../images/Rectangle\ 148@2x.webp) no-repeat 50% 50%/contain;
  width: 100%;
  height: 100%;
}
.c-banner::after {
  bottom: 0;
  right: 0;
  z-index: 1;
  background: url(../images/Clip\ path\ group2.webp) no-repeat 50% 100%/contain;
  clip-path: inset(8.5rem 0 0 0);
  filter: opacity(0.4) brightness(140%);
  width: 100%;
  height: 48.7rem;
}
@media screen and (max-width: 767px) {
  .c-banner::after {
    transform: translateY(0);
    left: 50%;
    transform: translateX(-50%);
    background: url(../images/Clip\ path\ group2_sp.webp) no-repeat 50% 100%/contain;
    height: 71.28rem;
    clip-path: inset(6.88rem 0 0 0);
  }
}

.c-banner__contents {
  position: absolute;
  z-index: 3;
  top: 5.2rem;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .c-banner__contents {
    width: 100%;
    top: 13rem;
  }
}

.c-contents__text--banner {
  font-size: 2.8rem;
  line-height: 130%;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .c-contents__text--banner {
    font-size: 3.755rem;
    margin-bottom: 1.2rem;
  }
}

.c-contents__comment--banner {
  position: relative;
  font-size: 4rem;
  line-height: 130%;
  color: #FFE100;
  margin-bottom: 2.8rem;
}
@media screen and (max-width: 767px) {
  .c-contents__comment--banner {
    font-size: 7.51rem;
    margin-bottom: 4.881rem;
  }
}
.c-contents__comment--banner::before, .c-contents__comment--banner::after {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: "";
  width: 4.4rem;
  height: 4.4rem;
}
@media screen and (max-width: 767px) {
  .c-contents__comment--banner::before, .c-contents__comment--banner::after {
    top: 60%;
    width: 7rem;
    height: 7rem;
  }
}
.c-contents__comment--banner::before {
  left: 2.5rem;
  background: url(../images/Line\ 89.webp) no-repeat 50% 50%/contain;
}
@media screen and (max-width: 767px) {
  .c-contents__comment--banner::before {
    left: 4.2rem;
  }
}
.c-contents__comment--banner::after {
  right: 5rem;
  background: url(../images/Line\ 90.webp) no-repeat 50% 50%/contain;
}
@media screen and (max-width: 767px) {
  .c-contents__comment--banner::after {
    right: 8.1rem;
  }
}

.c-banner__img {
  position: absolute;
  z-index: 3;
  bottom: 0;
  right: 3.2rem;
  width: 42.6rem;
}

.c-banner__dot-bg {
  position: absolute;
  content: "";
  z-index: 2;
}

.dot-bg01 {
  top: -6.5rem;
  left: -6rem;
  background: url(../images/Group_19.webp) no-repeat 50% 50%/cover;
  clip-path: inset(6.5rem 0 0 6rem);
  width: 17.5rem;
  height: 17.5rem;
}
@media screen and (max-width: 767px) {
  .dot-bg01 {
    top: -2rem;
    left: -2.5rem;
    clip-path: inset(2rem 0 0 2.5rem);
  }
}

.dot-bg02 {
  bottom: 0;
  left: 24rem;
  background: url(../images/Group_19.webp) no-repeat 50% 50%/cover;
  clip-path: inset(5.5rem 0 0 0);
  width: 15.9rem;
  height: 15.9rem;
}
@media screen and (max-width: 767px) {
  .dot-bg02 {
    bottom: -11rem;
    left: 3rem;
    clip-path: inset(0 0 11rem 0);
    width: 25rem;
    height: 25rem;
  }
}

.dot-bg03 {
  top: 0;
  right: 0;
  background: url(../images/Group_16.webp) no-repeat 50% 50%/cover;
  width: 15rem;
  height: 16rem;
}
@media screen and (max-width: 767px) {
  .dot-bg03 {
    top: auto;
    bottom: 0;
  }
}

.c-page__title-block {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 39rem;
  background: linear-gradient(135deg, #DBF1FF 0%, #009CFF 50%, #0080CF 100%);
}
@media screen and (max-width: 767px) {
  .c-page__title-block {
    height: 73.22rem;
  }
}

.c-page__title {
  font-size: 4.8rem;
}
@media screen and (max-width: 767px) {
  .c-page__title {
    font-size: 7.51rem;
  }
}

.c-point__title-block {
  text-align: center;
  margin-bottom: 4rem;
}

.c-point__number {
  width: 7.5rem;
  margin: 0 auto 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-point__number {
    width: 14.64rem;
    margin: 0 auto 2.253rem;
  }
}

.c-point__title {
  font-size: 4rem;
  line-height: 130%;
  margin-bottom: 1.6rem;
}
@media screen and (max-width: 767px) {
  .c-point__title {
    font-size: 6.759rem;
    margin-bottom: 3.755rem;
  }
}

.c-point__sub-title {
  font-size: 2rem;
  line-height: 150%;
}
@media screen and (max-width: 767px) {
  .c-point__sub-title {
    font-size: 3.004rem;
  }
}

.c-point__lower-title {
  text-align: center;
  font-size: 3.2rem;
  line-height: 150%;
}
@media screen and (max-width: 767px) {
  .c-point__lower-title {
    font-size: 5.257rem;
  }
}

/* 数1Aページ(セクション)　*/
@media screen and (max-width: 767px) {
  .c-main--math {
    background: #f0f1f4;
    overflow: hidden;
  }
}

.c-page__title-block2 {
  height: 60.6rem;
  background: #2A3441;
  padding-top: 16.5rem;
  padding-left: 9.4rem;
}
@media screen and (max-width: 767px) {
  .c-page__title-block2 {
    height: 113.77rem;
    padding-top: 20.65rem;
    padding-left: 0;
  }
}

.c-title__contents {
  display: flex;
  justify-content: space-between;
  width: 108.9rem;
}
@media screen and (max-width: 767px) {
  .c-title__contents {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
  }
}

.c-title__img {
  width: 62.578rem;
}
@media screen and (max-width: 767px) {
  .c-title__img {
    width: 103vw;
    margin-bottom: 5.257rem;
  }
}

.c-title__content {
  width: 41.3rem;
}
@media screen and (max-width: 767px) {
  .c-title__content {
    width: 72.21rem;
  }
}

.c-title__info {
  display: flex;
  justify-content: space-between;
  width: 17.9rem;
  height: 2.5rem;
  font-size: 1.6rem;
  font-weight: 500;
  margin-bottom: 2.8rem;
}
@media screen and (max-width: 767px) {
  .c-title__info {
    width: 30.73rem;
    height: 4.205rem;
    font-size: 2.628rem;
    margin-bottom: 5.257rem;
  }
}

.c-title__info--left {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 6.7rem;
  height: 100%;
  border: solid 1px #fff;
}
@media screen and (max-width: 767px) {
  .c-title__info--left {
    width: 11.38rem;
  }
}

.c-title__info--right {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 10rem;
  border: solid 1px #fff;
  padding-left: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-title__info--right {
    width: 17.24rem;
  }
}
.c-title__info--right::before {
  position: absolute;
  top: 50%;
  left: 0.5rem;
  transform: translateY(-50%);
  content: "";
  background: url(../images/formkit_time_white.webp) no-repeat 50% 50%/contain;
  width: 1.5rem;
  height: 1.5rem;
}
@media screen and (max-width: 767px) {
  .c-title__info--right::before {
    width: 2.623rem;
    height: 2.623rem;
  }
}

.c-title__heading {
  font-size: 4rem;
  margin-bottom: 3.8rem;
}
@media screen and (max-width: 767px) {
  .c-title__heading {
    font-size: 6.008rem;
    margin-bottom: 6rem;
  }
}

.c-title__text {
  font-size: 1.6rem;
  margin-bottom: 5.1rem;
}
@media screen and (max-width: 767px) {
  .c-title__text {
    font-size: 2.628rem;
    margin-bottom: 8.5rem;
  }
}

.c-title__cta {
  width: 27.6rem;
  height: 5.2rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  .c-title__cta {
    width: 100%;
    height: 8.698rem;
    border-radius: 0.84rem;
  }
}
.c-title__cta a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .c-title__cta a {
    font-size: 3.364rem;
  }
}
.c-title__cta a span {
  position: relative;
  padding-left: 3rem;
}
@media screen and (max-width: 767px) {
  .c-title__cta a span {
    padding-left: 5.5rem;
  }
}
.c-title__cta a span::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  background: url(../images/gridicons_play.webp) no-repeat 50% 50%/contain;
  width: 2.8rem;
  height: 2.8rem;
}
@media screen and (max-width: 767px) {
  .c-title__cta a span::before {
    width: 4.895rem;
    height: 4.895rem;
  }
}

.c-math {
  background: #f0f1f4;
}

.c-math__main {
  display: flex;
  gap: 3.5rem;
  padding-top: 10rem;
  padding-bottom: 12.8rem;
}
@media screen and (max-width: 767px) {
  .c-math__main {
    padding-top: 6.759rem;
    padding-bottom: 0;
  }
}

.c-math__contents {
  width: 89.2rem;
  padding: 6rem 3.3rem;
  margin-left: 9.4rem;
}
@media screen and (max-width: 767px) {
  .c-math__contents {
    width: 72.21rem;
    margin-left: 0;
    margin: 0 auto;
  }
}

.c-math__content {
  margin-bottom: 6.5rem;
}
@media screen and (max-width: 767px) {
  .c-math__content {
    margin-bottom: 12.2rem;
  }
}

.c-content__title--math {
  font-size: 3.2rem;
  font-weight: 600;
  border-bottom: dotted 1px #2D2D2D;
  padding-bottom: 2.75rem;
  margin-bottom: 1.8rem;
}
@media screen and (max-width: 767px) {
  .c-content__title--math {
    font-size: 4.506rem;
  }
}

.c-content__text--math {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 180%;
}
@media screen and (max-width: 767px) {
  .c-content__text--math {
    font-size: 2.628rem;
  }
}

.c-content__point--math {
  margin-bottom: 3.2rem;
}

.c-point__heading--math {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: 180%;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .c-point__heading--math {
    font-size: 3.004rem;
  }
}

.c-content__video {
  width: 82rem;
}
@media screen and (max-width: 767px) {
  .c-content__video {
    width: 100%;
  }
}

.check {
  position: relative;
  padding-left: 1.9rem;
}
.check::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
}

.check-blue {
  padding-left: 1.9rem;
}
@media screen and (max-width: 767px) {
  .check-blue {
    padding-left: 3.3rem;
  }
}
.check-blue::before {
  background: url(../images/Rectangle\ 178.webp) no-repeat 50% 50%/contain;
  width: 0.6rem;
  height: 2rem;
}
@media screen and (max-width: 767px) {
  .check-blue::before {
    width: 1.171rem;
    height: 3.755rem;
  }
}

.check-standard {
  padding-left: 3rem;
}
@media screen and (max-width: 767px) {
  .check-standard {
    padding-left: 5.855rem;
  }
}
.check-standard::before {
  background: url(../images/material-symbols_check-box.png) no-repeat 50% 50%/contain;
  width: 2.4rem;
  height: 2.4rem;
}
@media screen and (max-width: 767px) {
  .check-standard::before {
    top: 0;
    transform: translateY(0);
    width: 4.294rem;
    height: 4.294rem;
  }
}

.check-caution {
  padding-left: 2.6rem;
}
@media screen and (max-width: 767px) {
  .check-caution {
    padding-left: 5.074rem;
  }
}
.check-caution::before {
  background: url(../images/fluent-emoji_warning.webp) no-repeat 50% 50%/contain;
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 767px) {
  .check-caution::before {
    top: 0;
    transform: translateY(0);
    width: 3.9rem;
    height: 3.9rem;
  }
}

.check-ng {
  padding-left: 2.6rem;
}
@media screen and (max-width: 767px) {
  .check-ng {
    padding-left: 5.074rem;
  }
}
.check-ng::before {
  background: url(../images/ion_ban-sharp.webp) no-repeat 50% 50%/contain;
  width: 2rem;
  height: 2rem;
}
@media screen and (max-width: 767px) {
  .check-ng::before {
    top: 0;
    transform: translateY(0);
    width: 3.9rem;
    height: 3.9rem;
  }
}

.point03--math {
  margin-bottom: 0;
}

.c-math__course {
  position: sticky;
  top: 11rem;
  width: 32.4rem;
  height: -moz-fit-content;
  height: fit-content;
  margin-top: 1rem;
}

.c-course__title--math {
  position: relative;
  font-size: 2.4rem;
  padding-left: 2rem;
  margin-bottom: 2.2rem;
}
.c-course__title--math::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  background: url(../images/Ellipse\ 33.webp) no-repeat 50% 50%/contain;
  width: 1.2rem;
  height: 1.2rem;
}

.c-course__contents--math {
  height: 27.9rem;
  font-size: 1.4rem;
  padding-top: 3.2rem;
  padding-left: 2rem;
  border-top: dotted 1px #2D2D2D;
  border-bottom: dotted 1px #2D2D2D;
  margin-bottom: 2.6rem;
}

.c-course__content--math {
  display: flex;
  flex-direction: column;
  row-gap: 2.3rem;
}

.c-content__item--math {
  position: relative;
  transition: 0.3s;
  padding-left: 2rem;
}
.c-content__item--math:hover {
  opacity: 0.3;
}
.c-content__item--math::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  background: url(../images/Polygon\ 20.webp) no-repeat 50% 50%/contain;
  width: 1rem;
  height: 1rem;
}

.c-purchase {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 31.6rem;
  border-radius: 2rem;
}

.c-purchase__contents {
  width: 27.6rem;
  height: 25.2rem;
}

.c-contents__heading--purchase {
  font-size: 2rem;
  margin-bottom: 3.3rem;
}

.c-contents__price--purchase {
  display: flex;
  flex-direction: column;
}

.c-price__main--purchase {
  font-size: 3.6rem;
}

.c-price__sub--purchase {
  font-size: 1.8rem;
  margin-top: 1.8rem;
}

.font-adjust {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .font-adjust {
    font-size: 2.628rem;
  }
}

.c-contents__info--purchase {
  font-size: 1.2rem;
  margin-top: 2.2rem;
}

.c-purchase__button {
  display: flex;
  flex-direction: column;
  row-gap: 0.8rem;
}

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

.c-purchase__price_sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-purchase__price_sp {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 72.21rem;
    height: 27.97rem;
    border-radius: 3.755rem;
    border: solid 1px #C3C3C3;
    margin: 5.257rem auto 0;
  }
}

.c-purchase__contents_sp {
  display: flex;
  flex-direction: column;
  padding-top: 1.5rem;
  padding-left: 4.684rem;
}

.c-contents__price--purchase_sp {
  display: flex;
  flex-direction: column;
}

.c-price__main--purchase_sp {
  font-size: 6.759rem;
}

.c-price__sub--purchase_sp {
  font-size: 3.38rem;
  margin-top: 3.8rem;
}

.c-contents__info--purchase_sp {
  font-size: 2.253rem;
  margin-top: 4.8rem;
}

.c-purchase__cta {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-purchase__cta {
    position: fixed;
    z-index: 10;
    bottom: 0;
    left: 0;
    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: 72.02rem;
  height: 9.012rem;
  font-size: 3.755rem;
}

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

.c-math__banner {
  position: relative;
  width: 100vw;
  height: 55.1rem;
  background: url(../images/Rectangle\ 186.webp) no-repeat 50% 50%/cover;
}
@media screen and (max-width: 767px) {
  .c-math__banner {
    height: 112.08rem;
    background: url(../images/Rectangle\ 186_sp.webp) no-repeat 50% 50%/cover;
  }
}
.c-math__banner::before {
  position: absolute;
  top: 0;
  right: 0;
  content: "";
  background: url(../images/Rectangle\ 187.webp) no-repeat 50% 50%/contain;
  width: 72rem;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .c-math__banner::before {
    top: auto;
    bottom: -0.5rem;
    left: 0;
    background: url(../images/Rectangle\ 195.webp) no-repeat 50% 50%/contain;
    width: 100vw;
    height: 53rem;
  }
}

.c-banner__contents--math {
  position: absolute;
  top: 7.5rem;
  left: calc(50% - 33rem);
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .c-banner__contents--math {
    top: 8rem;
    left: 3rem;
    transform: translateX(0);
  }
}

.c-banner__heading--math {
  display: flex;
  align-items: center;
  font-size: 3.2rem;
  -moz-column-gap: 2.5rem;
       column-gap: 2.5rem;
}
@media screen and (max-width: 767px) {
  .c-banner__heading--math {
    font-size: 3.755rem;
  }
}

.emphasis {
  position: relative;
  z-index: 2;
  line-height: 130%;
  transform: rotate(-8.6deg);
}
.emphasis::before {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 47%;
  transform: translate(-50%, -50%);
  content: "";
  background: url(../images/Ellipse\ 48.webp) no-repeat 50% 50%/contain;
  width: 14.255rem;
  height: 14.255rem;
}
@media screen and (max-width: 767px) {
  .emphasis::before {
    width: 16.57rem;
    height: 16.57rem;
  }
}

.c-banner__title--math {
  position: relative;
  z-index: 1;
  color: #0075DC;
}
.c-banner__title--math::before {
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  content: "";
  background: url(../images/Rectangle\ 182.webp) no-repeat 50% 50%/contain;
  width: 48.7rem;
  height: 6.6rem;
}
@media screen and (max-width: 767px) {
  .c-banner__title--math::before {
    width: 59.72rem;
    height: 7.32rem;
  }
}

.c-banner__content--math {
  margin-top: 4rem;
  margin-left: 12.2rem;
}
@media screen and (max-width: 767px) {
  .c-banner__content--math {
    margin-top: 7.51rem;
    margin-left: 1rem;
  }
}

.c-banner__message--math {
  position: relative;
  padding-bottom: 1.1rem;
}
@media screen and (max-width: 767px) {
  .c-banner__message--math {
    padding-bottom: 0.3rem;
  }
}
.c-banner__message--math::before {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  background: #fff;
  width: 47.7rem;
  height: 1px;
}
@media screen and (max-width: 767px) {
  .c-banner__message--math::before {
    width: 66.36rem;
    height: 0.6px;
  }
}

.c-banner__text--math {
  font-size: 2.8rem;
  line-height: 130%;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .c-banner__text--math {
    font-size: 3.38rem;
    margin-bottom: 1.877rem;
  }
}

.emphasis2 {
  color: #F8F842;
  font-size: 3.2rem;
  margin-left: 0.1em;
}
@media screen and (max-width: 767px) {
  .emphasis2 {
    font-size: 4.13rem;
    margin-left: 0.195rem;
  }
}

.c-banner__supoort--math {
  display: flex;
  flex-direction: column;
  font-size: 2rem;
  row-gap: 3rem;
  margin-top: 3.5rem;
}
@media screen and (max-width: 767px) {
  .c-banner__supoort--math {
    font-size: 2.628rem;
    row-gap: 3.5rem;
    margin-top: 4rem;
  }
}

.c-support__list--math {
  position: relative;
  padding-left: 4rem;
}
@media screen and (max-width: 767px) {
  .c-support__list--math {
    padding-left: 4.8rem;
  }
}
.c-support__list--math::before {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  content: "";
  background: url(../images/gg_check-o.webp) no-repeat 50% 50%/contain;
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 767px) {
  .c-support__list--math::before {
    width: 3.488rem;
    height: 3.488rem;
  }
}

.c-banner__phrase--math {
  position: absolute;
  top: 20rem;
  right: 21.5rem;
  font-size: 3.4rem;
  line-height: 130%;
}
@media screen and (max-width: 767px) {
  .c-banner__phrase--math {
    top: auto;
    bottom: 20rem;
    left: 3rem;
    font-size: 4.13rem;
  }
}
.c-banner__phrase--math p {
  position: relative;
  width: -moz-fit-content;
  width: fit-content;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  .c-banner__phrase--math p {
    margin-bottom: 3.755rem;
  }
}
.c-banner__phrase--math p::before {
  position: absolute;
  bottom: -0.15em;
  left: 0;
  content: "";
  background: #0088FF;
  width: 100%;
  height: 2px;
}
@media screen and (max-width: 767px) {
  .c-banner__phrase--math p::before {
    height: 1.21px;
  }
}

.phrase02--math {
  margin-left: 1.1rem;
}
@media screen and (max-width: 767px) {
  .phrase02--math {
    margin-left: 2.147rem;
  }
}

/* interviewページ */
.c-page__title2 {
  position: relative;
  text-align: center;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 4rem;
  line-height: 130%;
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .c-page__title2 {
    font-size: 6.008rem;
  }
}
.c-page__title2::after {
  position: absolute;
  top: 50%;
  right: -15.5rem;
  transform: translateY(-50%);
  content: "";
}
@media screen and (max-width: 767px) {
  .c-page__title2::after {
    top: 110%;
    left: 50%;
    transform: translateX(-50%) translateY(0);
  }
}

/* to-parentsページ */
.c-content__text--to-parents {
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 160%;
}
.c-content__text--to-parents span {
  display: inline;
}
@media screen and (max-width: 767px) {
  .c-content__text--to-parents {
    font-size: 3.004rem;
    padding-right: 1.5rem;
  }
}

.c-to-parents__content-img {
  border-radius: 2rem;
  overflow: hidden;
}

/* contactページ */
.c-form__label {
  font-size: 2rem;
  font-weight: 500;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-form__label {
    font-size: 3.755rem;
    margin-bottom: 2.8rem;
  }
}

.c-form__input {
  font-size: 2rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  .c-form__input {
    font-size: 3.755rem;
  }
}

.c-form__textarea {
  width: 100%;
  height: 26.8rem;
  resize: vertical;
  border: solid 0.5px rgba(0, 0, 0, 0.6);
  border-radius: 0.5rem;
  font-size: 2rem;
  font-weight: 500;
  padding-top: 1.8rem;
  padding-left: 2.4rem;
}
@media screen and (max-width: 767px) {
  .c-form__textarea {
    height: 50.5rem;
    border-radius: 0.939rem;
    font-size: 3.755rem;
    padding-top: 4.8rem;
  }
}
.c-form__textarea::-moz-placeholder {
  color: rgba(0, 0, 0, 0.6);
}
.c-form__textarea::placeholder {
  color: rgba(0, 0, 0, 0.6);
}

.c-agree {
  display: flex;
  align-items: center;
  font-size: 2rem;
  font-family: "Inter", sans-serif;
  position: relative;
}
@media screen and (max-width: 767px) {
  .c-agree {
    font-size: 3.38rem;
  }
}
.c-agree input {
  display: none;
}
@media screen and (max-width: 767px) {
  .c-agree input {
    width: 3.513rem;
    height: 3.513rem;
    border-radius: 0.939rem;
    margin-right: 2.342rem;
  }
}

.c-checkbox__box {
  width: 1.8rem;
  height: 1.8rem;
  border: solid 0.5px rgba(0, 0, 0, 0.6);
  border-radius: 0.5rem;
  vertical-align: middle;
  overflow: hidden;
  position: relative;
  margin-right: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-checkbox__box {
    width: 3.513rem;
    height: 3.513rem;
    border-radius: 0.939rem;
    margin-right: 1.5rem;
  }
}
.c-checkbox__box::after {
  position: absolute;
  top: 0.2rem;
  left: 0.6rem;
  content: "";
  display: block;
  width: 0.5rem;
  height: 1rem;
  border: solid #fff;
  border-width: 0 0.2rem 0.2rem 0;
  transform: rotate(45deg);
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .c-checkbox__box::after {
    top: 0.375rem;
    left: 1.171rem;
    width: 0.976rem;
    height: 1.952rem;
    border-width: 0 0.375rem 0.375rem 0;
  }
}

.c-agree input:checked + .c-checkbox__box {
  background: #3A7CFF;
  border-color: #3A7CFF;
}

.c-agree input:checked + .c-checkbox__box::after {
  opacity: 1;
}

.c-privacy__link {
  color: #009CFF;
  text-decoration: underline;
}

.c-form__btn {
  width: 32rem;
  height: 7.2rem;
  color: #fff;
  background: #009CFF;
  border-radius: 5rem;
  font-size: 2.4rem;
  font-weight: 600;
  font-family: "Noto Sans JP", sans-serif;
  padding: 2.4rem 0;
  margin: 4rem auto 0;
}
@media screen and (max-width: 767px) {
  .c-form__btn {
    width: 60.05rem;
    height: 13.518rem;
    border-radius: 9.387rem;
    font-size: 4.506rem;
    padding: 4.506rem 0;
  }
}

.c-dropdown {
  position: relative;
  z-index: 1;
}
.c-dropdown::after {
  position: absolute;
  z-index: -1;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  content: "";
  background: url(../images/weui_arrow-outlined_bk.webp) no-repeat 50% 50%/contain;
  width: 3rem;
  height: 3rem;
}
@media screen and (max-width: 767px) {
  .c-dropdown::after {
    right: 1.95rem;
    width: 4.094rem;
    height: 4.094rem;
  }
}

.c-dropdown-selected {
  height: 100%;
  line-height: 220%;
  cursor: pointer;
}

.c-dropdown-list {
  display: none;
  position: absolute;
  z-index: 10;
  top: 100%;
  left: 0;
  width: 100%;
  background: #fff;
  border: solid 0.5px rgba(0, 0, 0, 0.6);
  border-radius: 0.5rem;
  color: rgba(0, 0, 0, 0.6);
  font-size: 2rem;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, sans-serif;
  line-height: 160%;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .c-dropdown-list {
    border-radius: 0.939rem;
    font-size: 3.755rem;
  }
}

.c-dropdown-list li {
  background: #fff;
  cursor: pointer;
  padding-left: 2.4rem;
}
.c-dropdown-list li:hover {
  color: #fff;
  background: #3A7CFF;
}

.c-dropdown-list li:first-child {
  padding-top: 0.4rem;
}

.c-dropdown-list li:last-child {
  padding-bottom: 0.4rem;
}

input[type=date] {
  line-height: 220%;
  cursor: pointer;
  padding-left: 1.9rem;
}

input[type=date]::-webkit-calendar-picker-indicator {
  opacity: 0;
  position: absolute;
  right: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

/* loginページ */
.c-login-form__label {
  font-size: 1.4rem;
  font-weight: 600;
  margin-bottom: 1.2rem;
}
@media screen and (max-width: 767px) {
  .c-login-form__label {
    font-size: 2.628rem;
    margin-bottom: 2.628rem;
  }
}

.c-login-form__input {
  font-size: 1.6rem;
  font-weight: 500;
  font-family: "游ゴシック体", YuGothic, sans-serif;
}
@media screen and (max-width: 767px) {
  .c-login-form__input {
    font-size: 3.004rem;
  }
}

.input-select2 {
  position: relative;
  z-index: 0;
}
.input-select2::after {
  position: absolute;
  z-index: -1;
  top: 65%;
  left: 10.5rem;
  transform: translateY(-50%);
  content: "";
  background: url(../images/uil_calender.webp) no-repeat 50% 50%/contain;
  width: 1.888rem;
  height: 1.888rem;
}
@media screen and (max-width: 767px) {
  .input-select2::after {
    left: 17.5rem;
    width: 3.685rem;
    height: 3.685rem;
  }
}

.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

/* js */
.js-hamnav {
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
}

.js-hamnav.active {
  opacity: 1;
  visibility: visible;
}

.js-hamnav_toRight {
  transform: translateX(-2rem);
  opacity: 0;
  transition: 0.3s;
}

.js-hamnav_toRight.active {
  transform: translateX(0);
  opacity: 1;
}

.js-hamburger div {
  transition: 0.3s;
}

.js-hamburger.active div {
  background: #fff;
}
.js-hamburger.active div:nth-of-type(1) {
  transform: translate(-50%, -50%) rotate(45deg);
  transform-origin: 50% 50%;
}
.js-hamburger.active div:nth-of-type(2) {
  opacity: 0;
}
.js-hamburger.active div:nth-of-type(3) {
  transform: translate(-50%, -50%) rotate(135deg);
  transform-origin: 50% 50%;
}

html.fixed, body.fixed {
  overflow: hidden;
}

.js-header.active {
  display: none;
}

.js-leftToRightText {
  clip-path: inset(0 100% 0 0);
  transition: 0.8s;
}

.js-leftToRightText.active {
  clip-path: inset(0 0 0 0);
}

.js-blue_rotate::before {
  transition: 0.6s;
}

.js-blue_rotate.active::before {
  transform: translate(-50%, -50%);
}

.js-accordion {
  cursor: pointer;
  transition: 0.3s;
}

.js-accordion.active::after {
  background: url(../images/Group\ 148_minus.webp) no-repeat 50% 50%/contain;
}

.js-accordion_q {
  cursor: pointer;
  transition: 0.3s;
}

.js-accordion_q.active::after {
  transform: scaleY(-1);
}

.js-select {
  cursor: pointer;
  transition: 0.3s;
}

.js-select.active {
  color: #009CFF;
  background: #E9EEF3;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  .js-select.active {
    border-radius: 1.877rem;
  }
}

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

.js-fadeUp.active {
  transform: translateY(0);
}

.c-dropdown.open .c-dropdown-list {
  display: block;
}

#submitBtn {
  cursor: not-allowed;
  transition: 0.3s;
}

#submitBtn.active {
  background: #009CFF;
  cursor: pointer;
}

.delay01 {
  transition-delay: 0.1s;
}

.delay02 {
  transition-delay: 0.2s;
}

.delay03 {
  transition-delay: 0.3s;
}

.delay04 {
  transition-delay: 0.4s;
}

.delay10 {
  transition-delay: 1s;
}/*# sourceMappingURL=common.css.map */