@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&display=swap");
.main {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  letter-spacing: 0.05em;
}
.main p {
  letter-spacing: 0.05em;
  word-break: break-all;
}
.main .z3 {
  z-index: 3;
}
.main .alc {
  align-items: center;
}
.main .ib {
  display: inline-block;
}
.main .rad10 {
  border-radius: 1rem;
}
.main .txt_yf {
  color: #fff78c;
}
.main .txt_yf2 {
  color: #ffe200;
}
.main .txt_bl3 {
  color: #3963bb;
}
.main .bg_aqua {
  background: #eaeef8;
}
.main .bg_aqua2 {
  background: #ecf4f8;
}
.main .bg_bl3 {
  background-color: #3963bb;
}
.main .bg_w {
  background-color: #fff;
}
.main .font-r {
  font-family: "Roboto", sans-serif;
}
.main .font-o {
  font-family: "Oswald", sans-serif;
}
.main .cc {
  display: grid;
  place-items: center;
}
.main .marker_y1 {
  background: linear-gradient(transparent 70%, #fff126 0%);
  padding: 0.2rem;
}
.main .marker_y2 {
  background: linear-gradient(transparent 65%, #ffe200 0%);
}
.main .palt {
  font-feature-settings: "palt";
}
.main .lh18 {
  line-height: 1.8;
}
.main .lh16 {
  line-height: 1.6;
}
.main .lh1 {
  line-height: 1;
}
.main .lh2 {
  line-height: 2;
}
.main .ls01 {
  letter-spacing: 0.1em;
}
.main .ls05 {
  letter-spacing: 0.05em;
}
.main .ls08 {
  letter-spacing: 0.08em;
}
.main .fb900 {
  font-weight: 900;
}
.main .fb600 {
  font-weight: 600;
}
.main .fb500 {
  font-weight: 500;
}
.main .pd_50 {
  padding: 5rem 0;
}

@media screen and (min-width: 768px) {
  .main .box1000 {
    max-width: 96%;
  }
  .main .box1100 {
    max-width: 96%;
    width: 110rem;
    margin-inline: auto;
  }
  .main .rad20 {
    border-radius: 2rem;
  }
  .main .txt70 {
    font-size: 7rem;
  }
  .main .txt54 {
    font-size: 5.4rem;
  }
  .main .txt48 {
    font-size: 4.8rem;
  }
  .main .txt46 {
    font-size: 4.6rem;
  }
  .main .txt42 {
    font-size: 4.2rem;
  }
  .main .txt39 {
    font-size: 3.9rem;
  }
  .main .nowrap_pc {
    white-space: nowrap;
  }
  .main .mt_10 {
    margin-top: -1rem;
  }
  .main .flex-center {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
}
@media screen and (max-width: 767px) {
  .main * {
    line-height: 1.68;
  }
  .main .rad20 {
    border-radius: 1rem;
  }
  .main .txt54 {
    font-size: 4rem;
  }
  .main .txt48 {
    font-size: 2.8rem;
  }
  .main .txt46 {
    font-size: 2.6rem;
  }
  .main .txt16,
  .main .txt14sp {
    font-size: 1.4rem;
  }
  .main .txt9sp {
    font-size: 0.9rem;
  }
  .main .txt10sp {
    font-size: 1rem;
  }
  .main .txt11sp {
    font-size: 1.1rem;
  }
  .main .txt12sp {
    font-size: 1.2rem;
  }
  .main .txt13sp {
    font-size: 1.3rem;
  }
  .main .txt15sp {
    font-size: 1.5rem;
  }
  .main .txt16sp {
    font-size: 1.6rem;
  }
  .main .txt17sp {
    font-size: 1.7rem;
  }
  .main .txt18sp {
    font-size: 1.8rem;
    line-height: 1.6;
  }
  .main .txt20sp {
    font-size: 2rem;
  }
  .main .txt22sp {
    font-size: 2.2rem;
  }
  .main .txt24sp {
    font-size: 2.4rem;
  }
  .main .txt28sp {
    font-size: 2.8rem;
  }
  .main .txt30sp {
    font-size: 3rem;
  }
  .main .txt32sp {
    font-size: 3.2rem;
  }
  .main .pd_50 {
    padding: 4rem 0;
  }
  .main .sp_nowrap {
    white-space: nowrap;
  }
  .main .lh1sp {
    line-height: 1;
  }
  .main .flex-center_sp,
  .main .flex-center.sp {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .main .flex-start_sp,
  .main .flex-start.sp {
    display: flex;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
  .main .justify_sp,
  .main .justify.sp {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .main .column_sp {
    display: flex;
    flex-direction: column;
  }
}
.p-instagram {
  font-family: "Montserrat", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Sans", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif;
}

.zen {
  font-family: "Zen Kaku Gothic New", "Roboto", "Montserrat", "Noto Sans JP", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Sans", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif !important;
}
.zen b {
  font-family: "Roboto";
}

.noto {
  font-family: "Noto Sans JP", "Roboto", "Montserrat", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Sans", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif !important;
}

.noto-roboto {
  font-family: "Roboto", "Noto Sans JP", "Montserrat", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Sans", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif !important;
}

.montserrat {
  font-family: "Montserrat", "Zen Kaku Gothic New", "Roboto", "Noto Sans JP", "Montserrat", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Sans", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "Lucida Grande", "Lucida Sans Unicode", Arial, Verdana, sans-serif !important;
}

.txt-center {
  text-align: center !important;
}

.b-band {
  background: rgba(78, 125, 156, 0.8862745098);
  padding: 1.1rem 11.5rem;
  display: grid;
  justify-content: center;
  align-items: center;
  grid-template-columns: 74.6rem 12.1rem 23rem;
  gap: 4.3rem;
  width: 100%;
  transform: translateX(-10.2rem);
}
@media screen and (max-width: 480px), print {
  .b-band {
    width: -moz-fit-content;
    width: fit-content;
    padding: 0;
    gap: 0;
    grid-template-columns: 1fr;
    justify-content: start;
    background: #0D5A8D;
    transform: none;
  }
}
.b-band .band-img03 {
  margin-left: -2.5rem;
}

.bg-blue {
  background: #ECF4F8;
}

.underline {
  text-decoration: underline;
}
.underlinea:hover {
  text-decoration: none;
}

.noflex {
  display: block !important;
}

.btn-column {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2rem;
}

.red-btn {
  background: #DE3B5E !important;
}

.b-content {
  width: -moz-fit-content;
  width: fit-content;
  background-color: #fff;
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 1.4rem;
  padding-block: 0;
  margin-top: 2.2rem;
  padding-right: 1.4rem;
}
@media screen and (max-width: 480px), print {
  .b-content {
    margin-top: 0;
    padding: 0.6rem 2.1rem 0.2rem;
    display: grid;
    grid-template-columns: 10.2rem 1fr;
    gap: 1.6rem;
  }
}
.b-content__ttl {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.6rem;
  font-weight: bold;
  background-color: #18509E;
  color: #FFF;
  white-space: nowrap;
  position: relative;
  padding: 0.65rem 0.95rem;
  line-height: 1.35;
}
@media screen and (max-width: 480px), print {
  .b-content__ttl {
    background-color: transparent;
    color: #3963BB;
    font-size: 1.4rem;
    white-space: nowrap;
    padding: 0;
    line-height: 1.8 !important;
  }
}
.b-content__ttl::before {
  content: "";
  position: absolute;
  right: 0.3rem;
  top: -0.8rem;
  background-image: url(../images/flag-icon.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  display: block;
  width: 3.5rem;
  height: 4rem;
  gap: 0.6rem;
}
@media screen and (max-width: 480px), print {
  .b-content__ttl::before {
    content: none;
  }
}
.b-content__list {
  display: flex;
  gap: 0.65rem;
  font-size: 2rem;
  font-weight: bold;
  font-family: "Noto Sans JP", sans-serif;
}
@media screen and (max-width: 480px), print {
  .b-content__list {
    flex-wrap: wrap;
    gap: 0.4rem;
  }
}
.b-content__list li {
  background: linear-gradient(to right, #4cb5c7, #3b6fd1);
  color: #fff;
  padding: 1px 0.5rem;
  border-radius: 0.3rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 480px), print {
  .b-content__list li {
    font-size: 1.4rem;
    padding: 0 0.38rem;
    font-weight: bold;
    line-height: 1.4;
  }
}
.b-content #s01 .bg01 {
  box-sizing: border-box;
}
.b-content #s01 .bg01 .txt46 {
  font-size: min(5vw, 4.5rem);
}
.b-content #s01 .bg01 .img01 {
  max-width: 36%;
}
.b-content #s01 .bg01.bg_listing {
  height: 46rem;
  padding: 6.5rem 0;
}
.b-content #s01 .bg01.bg_listing:before {
  display: block;
  content: "";
  width: 61.6rem;
  height: 30rem;
  top: 0;
  right: calc(50% + 18.5rem);
  margin: auto;
  position: absolute;
  background: url(/img/listing/bg01.png) right bottom no-repeat;
  background-size: auto 100%;
}
.b-content #s01 .bg01.bg_listing:after {
  display: block;
  content: "";
  width: 61.7rem;
  height: 25.5rem;
  bottom: 0;
  left: calc(50% + 20.5rem);
  margin: auto;
  position: absolute;
  background: url(/img/listing/bg02.png) left top no-repeat;
  background-size: auto 100%;
}
.b-content #s01 .bg01.bg_indeed {
  height: 46rem;
  padding: 6.5rem 0;
}
.b-content #s01 .bg01.bg_indeed:before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  background: url(/img/recruit/indeed2025/bg01.jpg) 50% 50% no-repeat;
  background-size: cover;
}
.b-content #s01 .bg01.bg_indeed .img01 img {
  width: 27.8rem;
  height: auto;
}
.b-content #s01 .bg01.bg_wm {
  padding: 7.5rem 0 6.7rem;
}
.b-content #s01 .bg01.bg_wm:before {
  display: block;
  content: "";
  width: 37rem;
  height: 100%;
  top: 0;
  left: 0;
  margin: auto;
  position: absolute;
  background: url(/img/marketing/bg01.png) 0 50% no-repeat;
  background-size: auto 100%;
}
.b-content #s01 .bg01.bg_wm:after {
  display: block;
  content: "";
  width: 39.6rem;
  height: 100%;
  bottom: 0;
  right: 0;
  margin: auto;
  position: absolute;
  background: url(/img/marketing/bg02.png) right 50% no-repeat;
  background-size: auto 100%;
}
.b-content #s01 .bg02 {
  padding: 5rem 0;
  background-color: #f6f7fc;
}
.b-content #s01 .bg02 .clm3 {
  gap: 3.5rem;
}
.b-content #s01 .bg02 .clm3 .inbox {
  flex: 1;
  background-color: #fff;
  padding: 3.5rem 2rem 2.2rem;
  box-sizing: border-box;
  border-top: solid 0.5rem #3963bb;
}
.b-content #s01 .bg02 .clm3 .txt24 {
  min-height: 4em;
  display: grid;
  place-items: center;
  letter-spacing: 0.05em;
}

.line-label {
  background: #FFF;
  font-size: 2.2rem;
  color: #3963BB;
  display: inline-block;
  padding: 0.4em 1em 0.3em;
  border-radius: 4em;
  margin-bottom: 0.5em;
  line-height: 1.2 !important;
}
@media screen and (max-width: 767px) {
  .line-label {
    font-size: 1.4rem;
  }
}

#s01 .clm3 .inbox {
  background: #CCF3F6;
  background: linear-gradient(144deg, rgb(204, 243, 246) 0%, rgb(213, 226, 242) 100%);
  position: relative;
  padding: 2rem;
}
#s01 .clm3 .inbox .deco {
  position: absolute;
  right: 1rem;
  top: 1rem;
  max-width: 10rem;
  width: 30%;
}
#s01 .clm3 .inbox .img {
  border-radius: 1.5rem;
  overflow: hidden;
}
#s01 .clm3 .inbox p {
  text-align: left;
}
@media screen and (max-width: 767px) {
  #s01 .clm3 .inbox .img img {
    width: 100%;
  }
}

.bg_grade_tit_wrap .fuki {
  padding: 1.2rem 2.7rem !important;
}

.s-mv {
  padding: 1.2em 0;
  background: #000;
  overflow: hidden;
  position: relative;
  background: url(../images/mv-bg.webp) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .s-mv {
    height: auto;
  }
}
.s-mv__inner {
  width: 110rem;
  height: 100%;
  margin-inline: auto;
  position: relative;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .s-mv__inner {
    width: auto;
    padding-inline: 2rem;
  }
}
.s-mv__content {
  width: 37em;
  height: auto;
  text-align: left;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .s-mv__content {
    width: 100%;
    position: static;
    transform: none;
  }
}
.s-mv__catch {
  width: -moz-fit-content;
  width: fit-content;
  background: #FFF;
  font-size: 3.6rem;
  font-weight: 900;
  color: #2388AD;
  padding-inline: 0.5em;
  line-height: 1.3 !important;
}
@media screen and (max-width: 767px) {
  .s-mv__catch {
    font-size: 2rem;
    font-weight: bold;
    width: auto;
    padding: 0.2em 0.5em;
    text-align: center;
    line-height: 1 !important;
    display: inline-block;
    padding-inline: 0.5em;
  }
}
.s-mv__catch .num {
  font-weight: bold;
  font-size: 130%;
  line-height: 1.2;
}
.s-mv__headline {
  font-weight: 900;
  margin-top: 0.8rem;
  font-size: 5.2rem;
  line-height: 1 !important;
}
@media screen and (max-width: 767px) {
  .s-mv__headline {
    font-size: clamp(2.6rem, 8vw, 4rem);
    margin-bottom: 0.4em;
  }
}
.s-mv__headline span {
  color: #FFF9AC;
  font-size: 105%;
  letter-spacing: 0.05em;
  line-height: 1.3 !important;
  -webkit-text-stroke: 0.5rem #31333C;
  text-stroke: 0.5rem #31333C;
  paint-order: stroke;
}
.s-mv__headline span .dot {
  font-weight: 400;
  margin: 0 -0.3em;
  font-size: 90%;
}
.s-mv__desc {
  font-size: 1.6rem;
  margin-top: 1rem;
  width: 100%;
  font-weight: bold;
  padding-left: 0.2rem;
  line-height: 1.8 !important;
  letter-spacing: 0.04em !important;
}
@media screen and (max-width: 767px) {
  .s-mv__desc {
    width: 100%;
    font-size: 1.3rem;
    letter-spacing: 0.03em !important;
    padding-left: 0;
    margin-top: 0.3rem;
    line-height: 1.7 !important;
    gap: 0.4rem;
  }
}
.s-mv__right {
  position: absolute;
  left: calc(50% + 10rem);
  top: 1em;
  width: 58rem;
}
@media screen and (max-width: 767px) {
  .s-mv__right {
    width: 35.6rem;
    position: static;
    margin-top: 0.3rem;
    margin-bottom: -10.9rem;
    margin-inline: auto;
    padding-left: 1rem;
  }
}
.s-mv__right .s-mv__mock {
  bottom: auto;
  top: 0;
}
.s-mv__price {
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  top: 0;
  left: 6rem;
  z-index: 1;
  background: #fff;
  border-radius: 1rem 1rem 0 0;
  padding-left: 2.7rem;
  padding-right: 1.5rem;
  padding-block: 2.4rem;
  width: fit-content;
  display: flex;
  align-items: center;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  .s-mv__price {
    gap: 0.7rem;
    left: 0;
    height: 4.3rem;
    width: 22.6rem;
    padding-left: 1rem;
    padding-right: 0;
    padding-block: 0;
    line-height: 1.25 !important;
    border-radius: 0 1.2rem 0 0;
  }
}
.s-mv__price-label {
  font-family: "Noto Sans JP", sans-serif;
  background: #3963BB;
  border-radius: 0.5rem;
  color: #fff;
  font-size: 3.3rem;
  font-weight: bold;
  padding-inline: 0.9rem;
  padding-block: 0.4rem;
  line-height: 1.3 !important;
}
@media screen and (max-width: 767px) {
  .s-mv__price-label {
    font-size: 1.2rem;
    line-height: 1 !important;
    padding-inline: 0.6rem;
    padding-block: 0.4rem;
    border-radius: 0.3rem;
  }
}
.s-mv__amount {
  font-family: "Montserrat", sans-serif;
  font-size: 7.3rem;
  font-weight: 700;
  line-height: 0.7 !important;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .s-mv__amount {
    font-size: 3.5rem;
    transform: translateY(0.3rem);
  }
}
.s-mv__amount-unit {
  font-size: 4.4rem;
  font-weight: bold;
  transform: translateY(-0.5rem);
  letter-spacing: 0.03em;
  display: inline-block;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .s-mv__amount-unit {
    font-size: 2rem;
    transform: translateY(-0.3rem);
  }
}
.s-mv__amount-comma {
  font-family: "Montserrat", sans-serif;
  font-size: 6.4rem;
  font-weight: 700;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .s-mv__amount-comma {
    font-size: 3.1rem;
  }
}
.s-mv__mock {
  position: absolute;
  width: 52rem;
  left: -1.5rem;
  bottom: -13.3rem;
}
@media screen and (max-width: 767px) {
  .s-mv__mock {
    position: static;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  .sns-logo-list {
    height: auto;
    gap: 0.5em 1em;
  }
}

@media screen and (max-width: 767px) {
  #s01 .clm3 .inbox {
    width: max(30rem, 70%);
  }
}

.s-needs__content {
  max-width: 115rem;
  width: 100%;
  margin-inline: auto;
  display: grid;
  align-items: center;
  grid-template-columns: 50rem 1fr;
  padding-top: 5.2rem;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  .s-needs__content {
    grid-template-columns: 1fr;
    padding: 3rem 2rem;
    box-sizing: border-box;
    gap: 2rem;
  }
}
.s-needs .section-inner {
  padding-block: 5.7rem 5.2rem;
}
@media screen and (max-width: 767px) {
  .s-needs .section-inner {
    padding-block: 2.7rem;
  }
}
.s-needs .no_img_txt {
  width: 100%;
  counter-reset: my-counter;
  padding: 3rem 0 6rem;
}
@media screen and (max-width: 767px) {
  .s-needs .no_img_txt {
    padding: 0 0 4rem;
  }
}
.s-needs .no_img_txt li {
  background: linear-gradient(90deg, #ccf3f6 0%, #d5e2f2 100%);
  counter-increment: my-counter;
  position: relative;
  padding-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
  .s-needs .no_img_txt li {
    overflow: hidden;
  }
}
.s-needs .no_img_txt li .txt_box {
  padding: 0;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .s-needs .no_img_txt li .txt_box {
    padding: 4rem 3rem 4rem 50%;
  }
}
.s-needs .no_img_txt li .txt_box h3 {
  margin: 0 auto 1rem;
}
.s-needs .no_img_txt li .txt_box h3 span {
  background: #fff;
  line-height: 2;
  padding: 0.2rem 1rem;
  border-radius: 0.5rem;
}
.s-needs .no_img_txt li .txt_box p {
  line-height: 2;
}
@media screen and (min-width: 768px) {
  .s-needs .no_img_txt li {
    margin: 7rem auto 0;
    border-radius: 2rem;
  }
  .s-needs .no_img_txt li:first-of-type {
    margin-top: 0;
  }
  .s-needs .no_img_txt li .img {
    width: min(56rem, 50%);
    position: absolute;
    top: -3rem;
    left: -2rem;
  }
  .s-needs .no_img_txt li .img img {
    border-radius: 2rem;
  }
  .s-needs .no_img_txt li .img::after {
    display: block;
    content: "";
    margin: auto;
    position: absolute;
    z-index: 4;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .s-needs .no_img_txt li:nth-of-type(even) .txt_box {
    padding: 4rem 50% 4rem 3rem;
  }
}
@media screen and (min-width: 768px) {
  .s-needs .no_img_txt li:nth-of-type(even) .img {
    left: inherit;
    right: -2rem;
  }
}
@media screen and (max-width: 767px) {
  .s-needs .no_img_txt li {
    margin: 0 auto 0;
    border-radius: 1.5rem;
    background: linear-gradient(135deg, #ccf3f6 40%, #d5e2f2 100%);
  }
  .s-needs .no_img_txt li .txt_box {
    padding: 2.2rem;
  }
  .s-needs .no_img_txt li .txt_box h3 {
    font-size: 2rem;
  }
  .s-needs .no_img_txt li .txt_box h3 span {
    border-radius: 0.2rem;
    padding: 0.3rem 1rem;
  }
}
.s-needs .no_img_txt li .gradient-bg {
  width: calc(100% - 8rem);
  margin-inline: auto;
  background: linear-gradient(100deg, #07b6d1, #3963bb);
  border-radius: 0.5rem;
  padding: 2rem 3rem 2.5rem;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .s-needs .no_img_txt li .gradient-bg {
    width: calc(100% - 4.6rem);
    padding-inline: 1.5rem;
    padding-block: 1rem 2.5rem;
  }
}
.s-needs .no_img_txt li .gradient-bg .heading {
  text-align: center;
  font-size: 2.4rem;
  font-weight: bold;
  color: white;
  margin-bottom: 1rem;
}
@media screen and (max-width: 767px) {
  .s-needs .no_img_txt li .gradient-bg .heading {
    font-size: 1.6rem;
  }
  .s-needs .no_img_txt li .gradient-bg .heading * {
    line-height: 1;
  }
}
.s-needs .no_img_txt li .gradient-bg .heading .in-num {
  font-size: 4.5rem;
  font-family: var(--monteserrat);
}
@media screen and (max-width: 767px) {
  .s-needs .no_img_txt li .gradient-bg .heading .in-num {
    font-size: 3rem;
  }
}
.s-needs .no_img_txt li .gradient-bg .heading .txt_y {
  font-size: 2.7rem;
  margin-inline: 0.5rem;
  transform: translate(0, 0.3rem);
}
@media screen and (max-width: 767px) {
  .s-needs .no_img_txt li .gradient-bg .heading .txt_y {
    font-size: 1.7rem;
    margin-inline: 0.2rem;
  }
}
.s-needs .no_img_txt li .gradient-bg p {
  color: white;
}
@media screen and (max-width: 767px) {
  .s-needs .no_img_txt li .gradient-bg p {
    font-size: 1.2rem;
    line-height: 1.6;
  }
}
.s-needs .inline_wrap {
  width: min(70rem, 90%);
  margin-inline: auto;
  aspect-ratio: 960/749;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  .s-needs .inline_wrap {
    margin-bottom: 2.5rem;
  }
}
.s-needs .inline_wrap iframe {
  width: 100%;
  height: 100%;
}
.s-needs .point_clm3 {
  gap: 3.5rem;
  display: flex;
}
@media screen and (max-width: 767px) {
  .s-needs .point_clm3 {
    flex-direction: column;
    gap: 1.5rem;
  }
}
.s-needs .point_clm3 li {
  padding: 0 1rem 2rem;
  background-color: #eaeef8;
  border-radius: 0.8rem;
  flex: 1;
}
.s-needs .point_clm3 li i {
  background-color: #3963bb;
  color: #fff;
  border-radius: 0 0 0.8rem 0.8rem;
  line-height: 3.6rem;
  padding: 0 1.4rem;
}
.s-needs .point_clm3 li i .txt22 {
  padding-left: 0.4rem;
}
.s-needs .point_clm3 li .txt25 {
  font-size: 2.4rem;
  letter-spacing: 0.02rem;
  margin: 1.5rem auto 2rem;
}
@media screen and (max-width: 767px) {
  .s-needs .point_clm3 li .txt25 {
    font-size: 1.7rem;
  }
}
.s-needs .point_clm3 li .img {
  padding: 0 1rem;
  overflow: hidden;
}
.s-needs .point_clm3 li:first-child:before {
  display: block;
  content: "";
  width: 9.7rem;
  height: 9.9rem;
  bottom: 0.5rem;
  left: 0.5rem;
  margin: auto;
  position: absolute;
  background: url(/img/service/school/p01_av01.png) 50% 50% no-repeat;
  background-size: 100% auto;
  z-index: 5;
}
.s-needs .point_clm3 li:first-child:after {
  display: block;
  content: "";
  width: 7.2rem;
  height: 11rem;
  bottom: 0.8rem;
  right: 0.3rem;
  margin: auto;
  position: absolute;
  background: url(/img/service/school/p01_av02.png) 50% 50% no-repeat;
  background-size: 100% auto;
  z-index: 5;
}
.s-needs .point_clm3 li .p01 img {
  border-radius: 0.6rem;
}
.s-needs .point_clm3 li .p02 img {
  border-radius: 0.6rem;
}
.s-needs .point_clm3 li .p02:before {
  display: block;
  content: "";
  width: 10.5rem;
  height: 12.7rem;
  bottom: -1.2rem;
  left: 0.2rem;
  margin: auto;
  position: absolute;
  background: url(/img/service/school/p02_av01.png) 50% 50% no-repeat;
  background-size: 100% auto;
}
.s-needs .point_clm3 li .p03:before {
  display: block;
  content: "";
  width: 8rem;
  height: 11.3rem;
  top: -3rem;
  right: 0.2rem;
  margin: auto;
  position: absolute;
  background: url(/img/service/school/p03_av01.png) 50% 50% no-repeat;
  background-size: 100% auto;
}

.c-creative {
  background: linear-gradient(to bottom, #CCF3F6, #D5E2F2);
  width: 78rem;
  margin-inline: auto;
  padding: 4.7rem 6rem 4rem;
  border-radius: 1.5rem;
  position: relative;
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .c-creative {
    padding: 1.6rem 1.8rem 2.3rem;
    width: calc(100% - 4rem);
    border-radius: 0.5rem;
  }
}
.c-creative__fukidashi {
  white-space: nowrap;
  font-size: 2rem !important;
}
@media screen and (max-width: 767px) {
  .c-creative__fukidashi {
    font-size: 1.2rem !important;
  }
}
.c-creative__fukidashi-highlight {
  color: #FFF132;
}
.c-creative__title {
  font-size: 3.6rem;
  color: #3963BB;
}
@media screen and (max-width: 767px) {
  .c-creative__title {
    font-size: 2rem;
  }
}
.c-creative__price {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 3rem;
}
@media screen and (max-width: 767px) {
  .c-creative__price {
    margin-bottom: 1.2rem;
  }
}
.c-creative__price-label {
  font-size: 2.2rem;
  background: #3963BB;
  border-radius: 0.3rem;
  padding: 0.2rem 1rem;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-creative__price-label {
    font-size: 1.3rem;
    padding: 0.2rem 0.5rem;
  }
}
.c-creative__price-amount {
  font-size: 7rem;
  color: #000000;
  font-weight: bold;
  margin-left: 0.7rem;
  line-height: 1 !important;
}
@media screen and (max-width: 767px) {
  .c-creative__price-amount {
    font-size: 4.1rem;
  }
}
.c-creative__price-unit {
  font-size: 2.2rem;
}
.c-creative__price-tax {
  font-size: 1.6rem;
  display: block;
}
@media screen and (max-width: 767px) {
  .c-creative__price-tax {
    font-size: 1rem;
  }
}
.c-creative__price-currency {
  font-size: 4rem;
  font-weight: bold;
  display: block;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-creative__price-currency {
    font-size: 2.3rem;
    line-height: 0.9 !important;
    padding-bottom: 0.4rem;
  }
}
.c-creative__description {
  background: #FFFFFF;
  border-radius: 1rem;
  text-align: left;
  padding: 2.4rem 2.9rem 3.2rem;
  line-height: 2 !important;
  font-size: 1.6rem !important;
}
@media screen and (max-width: 767px) {
  .c-creative__description {
    padding: 1.5rem;
    font-size: 1.3rem !important;
  }
}
.c-creative .btn_rose {
  width: 41rem !important;
  margin-inline: auto;
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  .c-creative .btn_rose {
    width: 100% !important;
  }
}
.c-creative .btn_rose a {
  background: #3963BB !important;
}
.c-creative .btn_rose a span {
  font-size: 2rem !important;
}
@media screen and (max-width: 767px) {
  .c-creative .btn_rose a span {
    font-size: 1.6rem !important;
  }
}

#service #s02 {
  padding-bottom: 2rem;
}
#service #s02 .h2_wrap {
  padding: 3.5rem 1rem 2rem !important;
}
#service #s02 .bubble-heading {
  font-size: 3.8rem;
}
@media screen and (max-width: 767px) {
  #service #s02 .bubble-heading {
    font-size: 1.8rem;
    max-width: 19em;
    margin-left: auto;
    margin-right: auto;
  }
}
@media screen and (max-width: 767px) {
  #service #s02 .bubble-heading:before {
    width: 7rem;
    height: 5rem;
    margin-right: -1.5em;
  }
}
@media screen and (max-width: 767px) {
  #service #s02 .bubble-heading:after {
    width: 7rem;
    height: 5rem;
    margin-left: -1.5em;
  }
}

#member {
  margin-top: 8.2rem;
}
@media screen and (max-width: 767px) {
  #member .fuki {
    width: 19rem !important;
  }
  #member .bg_grade_tit_wrap .fuki {
    padding: 1rem 2.7rem !important;
  }
  #member .bg_grade_tit_wrap {
    padding-top: 3.6rem !important;
  }
}
#member .txt40 .txt_w {
  line-height: 6.2rem;
  padding: 0 1rem;
}
#member .img_hanso {
  margin-bottom: 2rem;
}
#member .fuki {
  width: 28rem;
}
#member .stit_bb {
  margin: 7rem auto 4rem;
  line-height: 9.2rem;
  border-top: 0.2rem solid #3963bb;
  border-bottom: 0.2rem solid #3963bb;
}
#member .swiper {
  padding-block: 4.5rem;
}
@media screen and (min-width: 768px) {
  #member .clm3 {
    gap: 4.2rem 3.5rem;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }
  #member .clm3::after {
    content: "";
    width: calc((100% - 7rem) / 3);
  }
  #member .clm3 .swiper-slide {
    width: calc((100% - 7rem) / 3);
  }
  #member .clm3 .swiper-slide .db {
    display: block;
  }
  #member .clm3 .swiper-slide .txt22 {
    margin: 2.4rem auto 1.4rem;
    height: 6.4rem;
    display: grid;
    place-items: center;
  }
  #member .clm3 .swiper-slide .txt22.lh3 {
    height: 9.6rem;
  }
  #member .clm3 .swiper-slide h4.txt22 {
    margin-block: 3rem;
  }
  #member .clm3 .swiper-slide .img {
    margin-top: 1.1rem;
  }
}
#member .swiper-button-next,
#member .swiper-button-prev {
  display: none;
}
#member .price_box {
  width: min(110rem, 96%);
  position: relative;
  margin: 6rem auto 0;
  padding: 3.5rem;
  background: linear-gradient(90deg, #ccf3f6 0%, #d5e2f2 100%);
}
#member .price_box .img {
  width: 43rem;
}
#member .price_box .img img {
  border-radius: 1rem;
}
#member .price_box .txt_box {
  padding-top: 1.5rem;
  width: calc(100% - 48rem);
  text-align: left;
  padding-bottom: 0.4rem;
  text-align: left;
}
#member .price_box .txt_box h3 {
  margin: 0.9rem auto 2rem;
}
#member .price_box + .btn_rose {
  margin-top: -5.2rem;
}

@media screen and (max-width: 767px) {
  #member {
    padding: 3rem 0 4rem;
  }
  #member:has(.bg_grade_tit_wrap) {
    padding: 0 0;
  }
  #member > .txt40 {
    line-height: 3.6rem;
  }
  #member > .txt40 .txt_w {
    line-height: 3.8rem;
    padding: 0 1rem;
    margin-right: 0.5rem;
  }
  #member .img_hanso {
    width: 40rem;
    padding: 2rem 1rem 1.4rem 0;
    box-sizing: border-box;
  }
  #member .txt32 {
    margin: 2rem auto 1.4rem;
    font-size: 1.9rem;
    line-height: 2.8rem;
  }
  #member .txt32 .txt40 {
    font-size: 2.4rem;
  }
  #member .stit_bb {
    margin: 4.8rem auto 3rem;
    line-height: 5.6rem;
    border-top: 0.2rem solid #3963bb;
    border-bottom: 0.2rem solid #3963bb;
  }
  #member .clm3 {
    width: 30rem !important;
  }
  #member .clm3 .swiper-slide {
    width: 30rem !important;
  }
  #member .clm3 .swiper-slide .db {
    display: block;
  }
  #member .clm3 .swiper-slide .txt22 {
    margin: 1.2rem auto 1.4rem;
    line-height: 2.8rem;
    font-size: 2rem;
  }
  #member .clm3 .swiper-slide .txt18 {
    font-size: 1.3rem;
  }
  #member .clm3 .swiper-slide .txt16 {
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
  #member .clm3 .swiper-slide .img {
    margin-top: 1.1rem;
  }
  #member .swiper .swiper-button-next,
  #member .swiper .swiper-button-prev {
    color: #fff;
    background-color: #3963bb;
    width: 3.5rem;
    height: 6rem;
    top: 40%;
    display: flex;
  }
  #member .swiper .swiper-button-next:after,
  #member .swiper .swiper-button-prev:after {
    font-size: 2.4rem;
  }
  #member .swiper .swiper-button-prev {
    left: 0.5rem;
  }
  #member .swiper .swiper-button-next {
    right: 0.5rem;
  }
  #member .price_box {
    position: relative;
    margin: 4.5rem auto 0;
    padding: 2rem;
    background: linear-gradient(135deg, #ccf3f6 0%, #d5e2f2 100%);
  }
  #member .price_box .img img {
    border-radius: 1rem;
  }
  #member .price_box .txt_box {
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
  #member .price_box .txt_box h3 {
    margin: 0 auto 1.5rem;
  }
  #member .price_box + .btn_rose {
    margin-top: -2.2rem;
  }
}
#faq_box {
  margin-top: 6rem;
  padding: 5rem 0 7rem;
  background: #ECF4F8;
}
@media screen and (max-width: 767px) {
  #faq_box {
    margin-top: 4rem;
    padding-block: 3rem 5rem;
  }
}
#faq_box .txt40 {
  font-size: 3rem;
}
#faq_box .txt20 {
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #faq_box .txt20 {
    font-size: 1.6rem;
  }
}
#faq_box dl {
  margin: 0 auto 3.6rem;
}
#faq_box dt {
  position: relative;
  padding-left: 3.6rem;
  margin-bottom: 1.7rem;
}
#faq_box dt i {
  position: absolute;
  top: 0.2rem;
  left: 0;
  margin: auto;
  width: 3rem;
  height: 3rem;
  line-height: 2.8rem;
  color: #fff;
  border-radius: 3rem;
  background-color: #3963bb;
  display: inline-block;
  font-size: 1.6rem;
}
#faq_box dt i:before {
  display: block;
  content: "";
  top: calc(100% - 0.2rem);
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  width: 0;
  height: 0;
  border-left: 0.4rem solid transparent;
  border-right: 0.4rem solid transparent;
  border-top: 0.6rem solid #3963bb;
}
#faq_box dd {
  position: relative;
  margin-bottom: 3.6rem;
}
#faq_box dd .txt_box {
  padding: 1.5em;
  background-color: #FFF;
  box-sizing: border-box;
}
#faq_box dd p {
  line-height: 1.8;
}
#faq_box dd p:first-of-type {
  margin-bottom: 1rem;
}
#faq_box dd .txt16 {
  font-weight: 500;
}
#faq_box dd .grad-item {
  height: 10rem;
  box-sizing: border-box;
}
#faq_box dd .grad-item::before {
  z-index: 99;
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 16rem;
  background: linear-gradient(rgba(243, 245, 247, 0) 0%, #FFF 96%);
}
#faq_box dd .grad-btn.round {
  width: 14rem;
  height: 4rem;
  border-radius: 2.4rem;
  background: #eaeef8;
  border: 1px solid #eaeef8;
  box-sizing: border-box;
  color: #3963bb;
  line-height: 3.8rem;
  bottom: 0;
}
#faq_box dd .grad-btn.round span {
  display: inline-block;
  font-size: 1.4rem;
  padding-left: 2.2rem;
  position: relative;
  background-image: none;
}
#faq_box dd .grad-btn.round span::before {
  content: "";
  display: block;
  width: 1.5rem;
  height: 2rem;
  background-image: url(/img/listing/btn_ar_blue.svg);
  background-size: contain;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
#faq_box dd .grad-trigger:checked ~ .grad-item {
  height: auto;
}
#faq_box dd .grad-trigger:checked ~ .grad-item::before {
  display: none;
}
#faq_box .avt dd .txt_box {
  border-radius: 1rem;
  width: calc(100% - 2rem);
}
#faq_box .avt dd::before {
  display: block;
  content: "";
  width: 4rem;
  height: 4rem;
  top: -1rem;
  right: 0;
  margin: auto;
  position: absolute;
  background: url(/img/consulting/a_avator.jpg) 50% 50% no-repeat;
  background-size: 100% auto;
  border-radius: 50%;
}
#faq_box .waku_box {
  background: #FFF;
  border: 0.3rem solid #3963bb;
  padding: 2.3rem 3.6rem;
  gap: 2rem;
  align-items: center;
  height: 17rem;
  margin-bottom: 0 !important;
}
@media screen and (max-width: 767px) {
  #faq_box .waku_box {
    flex-wrap: wrap;
    height: auto;
    padding: 2.7rem 2rem;
  }
}
#faq_box .waku_box .txt24 {
  margin-inline: auto;
  padding-left: 8.5rem;
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  #faq_box .waku_box .txt24 {
    padding-left: 5rem;
    font-size: min(1.6rem, 4.2vw);
  }
}
#faq_box .waku_box .txt24:before {
  display: block;
  content: "";
  width: 7rem;
  height: 7rem;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
  position: absolute;
  background: url(/img/listing/i_q.svg) 50% 50% no-repeat #eaeef8;
  background-size: 1.3rem auto;
  border-radius: 3.5rem;
}
@media screen and (max-width: 767px) {
  #faq_box .waku_box .txt24:before {
    width: 4rem;
    height: 4rem;
  }
}
@media screen and (max-width: 767px) {
  #faq_box .waku_box .btn_b {
    width: 100%;
  }
}
#faq_box .waku_box .btn_b a {
  width: 40rem;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 8.4rem;
  background: #3963bb;
  border-radius: 5rem;
  color: #fff;
  border: 0.2rem solid #fff;
  box-shadow: 0 0.5rem 0 rgba(0, 0, 0, 0.16);
  box-sizing: border-box;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #faq_box .waku_box .btn_b a {
    width: 100%;
    height: 6rem;
  }
}
#faq_box .waku_box .btn_b a span {
  background: url(/img/listing/btn_ar2.png) 100% 52% no-repeat;
  background-size: 1.5rem auto;
  padding-right: 2.2rem;
  font-size: 2.2rem;
}
@media screen and (max-width: 767px) {
  #faq_box .waku_box .btn_b a span {
    font-size: 1.5rem;
  }
}
#faq_box .waku_box .btn_b a span em {
  color: #ffff8e;
}

.c-fukidashi {
  font-size: 2.4rem;
  color: #fff;
  background: #3963BB;
  display: inline-block;
  padding: 0.8rem 3.6rem;
  border-radius: 999.9rem;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-fukidashi {
    font-size: 1.3rem;
    white-space: nowrap;
    padding: 0.3rem 1.7rem;
    letter-spacing: 0.1em;
  }
}
.c-fukidashi::after {
  content: "";
  position: absolute;
  clip-path: polygon(50% 100%, 0 0, 100% 0);
  background: #3963BB;
  width: 2rem;
  height: 1rem;
  bottom: -1rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .c-fukidashi::after {
    width: 1rem;
    height: 0.5rem;
    bottom: -0.5rem;
  }
}

.mt60 {
  margin-top: 6rem;
}

.mt30 {
  margin-top: 3rem;
}

.consul_box2025 {
  background: url(/img/consulting/bg_consul.png) 50% 50% no-repeat;
  background-size: cover;
  padding: 3.9rem 1rem 4.6rem;
  position: relative;
}
.consul_box2025:before {
  display: block;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  background: linear-gradient(90deg, #1885c3 40%, #3963bb 100%);
  z-index: -1;
}
.consul_box2025 .bg_bl3 {
  height: 5rem;
  padding: 0 2.3rem;
  border-radius: 0.5rem;
  vertical-align: middle;
  border-radius: 0.5rem;
  background: rgba(57, 99, 187, 0.5);
}
.consul_box2025 .bg_bl3 * {
  vertical-align: middle;
  line-height: 5rem;
}
.consul_box2025 .img_cons {
  position: absolute;
  bottom: 0;
  margin: auto;
  width: 33.7rem;
  height: 43.8rem;
}
.consul_box2025 .kaede {
  right: calc(50% + 29rem);
}
.consul_box2025 .tsugaya {
  left: calc(50% + 29rem);
}
@media screen and (max-width: 767px) {
  .consul_box2025 {
    padding: 3rem 1rem;
    background: url(/img/consulting/bg_consul.png) 0 50% no-repeat;
    background-size: cover;
    background-size: auto 100%;
  }
  .consul_box2025 .txt_consul img {
    width: 29rem;
  }
  .consul_box2025 .bg_bl3 {
    height: 3.6rem;
    padding: 0 1.4rem;
  }
  .consul_box2025 .bg_bl3 * {
    line-height: 3.6rem;
  }
  .consul_box2025 .img_cons {
    width: 17.2rem;
    height: 22.3rem;
  }
  .consul_box2025 .kaede {
    right: calc(50% + 7rem);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .consul_box2025 .kaede {
    right: auto;
    left: -20%;
    width: 50%;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .consul_box2025 .tsugaya {
    left: calc(50% + 5rem);
  }
}
@media screen and (max-width: 767px) and (max-width: 767px) {
  .consul_box2025 .tsugaya {
    right: -14%;
    left: auto;
    width: 50%;
    height: auto;
  }
}
@media screen and (max-width: 767px) {
  .consul_box2025 .btn_rose a {
    font-size: 1.8rem;
  }
}
@media screen and (max-width: 767px) {
  .consul_box2025 .txt_sub {
    margin: -1em auto 2em !important;
    width: 65%;
    position: relative;
    z-index: 1;
    text-align: left;
  }
  .consul_box2025 .txt_sub br {
    display: none;
  }
}
.consul_box2025 .btn_txt {
  margin: 1.2rem auto -2rem;
  position: relative;
  width: 18rem;
  line-height: 4.2rem;
  border-radius: 2.05rem;
  background: #fff78c;
  box-shadow: 0 0.3rem 0 rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  align-items: center;
  position: relative;
  z-index: 5;
}
.consul_box2025 .btn_txt .font-r {
  padding: 0 0.3rem;
}
.consul_box2025 .btn_txt:before {
  display: block;
  content: "";
  top: 100%;
  left: 0;
  right: 0;
  margin: auto;
  position: absolute;
  width: 0;
  height: 0;
  border-left: 0.6rem solid transparent;
  border-right: 0.6rem solid transparent;
  border-top: 0.8rem solid #fff78c;
}
@media screen and (max-width: 767px) {
  .consul_box2025 .btn_txt {
    margin: -1rem auto -1.5rem;
    width: 13.7rem;
    line-height: 3rem;
  }
  .consul_box2025 .btn_txt .font-r {
    font-size: 2.4rem;
    padding: 0 0.2rem;
    line-height: 3rem;
  }
}

.main-contents #s03 #promise01 {
  margin-top: 5rem !important;
}
@media screen and (max-width: 767px) {
  .main-contents #s03 #promise01 {
    margin-top: 2.2rem !important;
  }
}

#promise01 {
  padding-bottom: 10rem !important;
}
@media screen and (max-width: 767px) {
  #promise01 {
    padding-bottom: 5rem !important;
  }
}
#promise01 .promise-content {
  background: #fff;
  padding: 3rem 4rem 4.6rem;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  #promise01 .promise-content {
    padding: 2rem;
  }
}
#promise01 .promise-content__heading {
  font-size: 2.4rem;
  line-height: 1.7 !important;
}
@media screen and (max-width: 767px) {
  #promise01 .promise-content__heading {
    font-size: 1.6rem;
    text-align: left;
    line-height: 1.5 !important;
  }
}
#promise01 .promise-content__heading-highlight {
  color: #DE3B5E;
}
#promise01 .promise-content__body {
  margin-top: 3rem;
  text-align: left;
  font-size: 1.8rem;
  line-height: 2 !important;
}
@media screen and (max-width: 767px) {
  #promise01 .promise-content__body {
    font-size: 1.3rem !important;
    display: grid;
    gap: 1.8rem;
    margin-top: 2rem !important;
  }
}
#promise01 .promise-content__img {
  width: 39rem;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  padding-left: 3rem;
  border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
  #promise01 .promise-content__img {
    order: 1;
    padding-left: 0;
  }
}
#promise01 .slide-animation {
  padding-bottom: 0;
}

.download-container {
  max-width: 96rem;
  width: calc(100vw - 4rem);
  background: #CCF3F6;
  background: linear-gradient(144deg, rgb(204, 243, 246) 0%, rgb(213, 226, 242) 100%);
  border-radius: 1em;
  padding: clamp(1em, 5vw, 2em);
  display: flex;
  align-items: stretch;
  gap: clamp(1em, 5vw, 2em);
  margin: clamp(2em, 6vw, 3em) auto;
  box-sizing: border-box;
}
.download-container .thumb {
  max-width: 31rem;
  width: 40%;
  position: relative;
  overflow: hidden;
  border-radius: 0.5em;
}
.download-container .thumb:before {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.4);
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.download-container .thumb .thumb-bg {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
  height: 100%;
  filter: blur(2rem);
}
.download-container .thumb .thumb-main {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 100%;
  height: auto;
  z-index: 1;
}
.download-container .textarea {
  flex: 1;
  text-align: left;
}
.download-container .textarea span {
  line-height: 1;
  background: #FFF;
  color: #3963BB;
  padding: 0.5em;
  display: inline-block;
}
.download-container .textarea .btn-download {
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
  line-height: 1.6;
  background-color: #3963bb;
  border-radius: 5rem;
  border: 0.2rem solid #fff;
  padding: 0.6em 2em;
}
.download-container .textarea .btn-download span {
  background: url(/img/price/ic-arrow-right.png) 100% 50% no-repeat;
  background-size: 0.6rem auto;
  padding-right: 1em;
  color: #FFF;
}
.download-container .textarea .btn-download:hover {
  opacity: 0.8;
}
@media screen and (max-width: 767px) {
  .download-container {
    flex-direction: column;
  }
  .download-container .thumb {
    max-width: 100%;
    width: 100%;
  }
}

@media screen and (max-width: 767px) {
  #promise02 {
    margin-top: 2.7rem;
    padding-bottom: 3rem;
  }
}
#promise02 .txt-center {
  text-align: center !important;
}
@media screen and (max-width: 767px) {
  #promise02 .txt-center {
    text-align: left !important;
  }
}
@media screen and (max-width: 767px) {
  #promise02 .bubble {
    width: 20.5rem !important;
  }
}
#promise02 .promise-logo-list {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 13rem;
  margin-block: 1.5rem 2.8rem;
}
@media screen and (max-width: 767px) {
  #promise02 .promise-logo-list {
    gap: 3.3rem;
  }
}
#promise02 .promise-logo-list .item .logo-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 19.5rem;
  margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
  #promise02 .promise-logo-list .item .logo-wrapper {
    height: 9.7rem;
  }
}
#promise02 .promise-logo-list .item .logo-wrapper .logo-google {
  width: 20.2rem;
}
@media screen and (max-width: 767px) {
  #promise02 .promise-logo-list .item .logo-wrapper .logo-google {
    width: 10.2rem;
  }
}
#promise02 .promise-logo-list .item .logo-wrapper .logo-yahoo {
  width: 27rem;
}
@media screen and (max-width: 767px) {
  #promise02 .promise-logo-list .item .logo-wrapper .logo-yahoo {
    width: 14.3rem;
  }
}
#promise02 .promise-logo-list .item .desc-wrapper {
  font-size: 1.5rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #promise02 .promise-logo-list .item .desc-wrapper {
    font-size: 1rem;
    font-weight: bold;
  }
}
#promise02 .promise-logo-list .item .desc-wrapper .in-strong {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  #promise02 .promise-logo-list .item .desc-wrapper .in-strong {
    font-size: 1.2rem;
  }
}
#promise02 .link {
  color: #3963bb;
  text-decoration: underline;
}
#promise02 .industry-wrapper {
  background: linear-gradient(to bottom, #ccf3f6, #d5e2f2);
  border-radius: 1rem;
  position: relative;
  padding: 2rem 3.5rem 5rem;
  margin-top: 4.5rem;
}
@media screen and (max-width: 767px) {
  #promise02 .industry-wrapper {
    margin-top: 4rem;
    padding: 2rem 1.5rem 2.5rem;
  }
}
#promise02 .industry-wrapper .bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34rem;
  height: 4rem;
  border-radius: 5rem;
  background-color: #3963bb;
  color: white;
  font-size: 2rem;
  font-weight: bold;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}
@media screen and (max-width: 767px) {
  #promise02 .industry-wrapper .bubble {
    font-size: 1.3rem;
    width: 16.5rem;
    height: 2.5rem;
  }
}
#promise02 .industry-wrapper .bubble::after {
  content: "";
  display: block;
  border: solid 1rem transparent;
  border-top-color: #3963bb;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  #promise02 .industry-wrapper .bubble::after {
    border-width: 0.5rem;
  }
}
#promise02 .industry-wrapper .heading-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
}
#promise02 .industry-wrapper .heading-wrapper .illust1 {
  width: 9.8rem;
  margin-top: -2.5rem;
}
@media screen and (max-width: 767px) {
  #promise02 .industry-wrapper .heading-wrapper .illust1 {
    width: 6rem;
    margin-top: -0.5rem;
  }
}
#promise02 .industry-wrapper .heading-wrapper .illust2 {
  width: 9.6rem;
  margin-top: -2.5rem;
}
@media screen and (max-width: 767px) {
  #promise02 .industry-wrapper .heading-wrapper .illust2 {
    width: 5.9rem;
    margin-top: -0.5rem;
  }
}
#promise02 .industry-wrapper .heading-wrapper .heading {
  font-size: 3.2rem;
  color: #3963bb;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #promise02 .industry-wrapper .heading-wrapper .heading {
    font-size: 2rem;
    line-height: 1.3;
    white-space: nowrap;
  }
}
#promise02 .industry-list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #promise02 .industry-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 0.7rem;
    justify-content: center;
  }
}
#promise02 .industry-list .item {
  display: flex;
  align-items: center;
  gap: 1.9rem;
  background-color: white;
  position: relative;
  padding: 1rem;
  border-radius: 1rem;
  box-shadow: 0 0 0.5rem 0.2rem rgba(0, 0, 0, 0.1);
  overflow: hidden;
  transition: opacity 0.3s;
}
@media (hover: hover) {
  #promise02 .industry-list .item:hover {
    opacity: 0.8;
  }
}
@media screen and (max-width: 767px) {
  #promise02 .industry-list .item {
    width: calc(50% - 0.4rem);
    height: 5rem;
    padding: 0.5rem;
    box-sizing: border-box;
    gap: 1rem;
    border-radius: 0.4rem;
  }
}
#promise02 .industry-list .item .image {
  width: 8rem;
}
@media screen and (max-width: 767px) {
  #promise02 .industry-list .item .image {
    width: 4rem;
  }
}
#promise02 .industry-list .item .image img {
  border-radius: 0.6rem;
}
#promise02 .industry-list .item .text {
  font-size: 2rem;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  #promise02 .industry-list .item .text {
    font-size: 1.5rem;
  }
}
#promise02 .industry-list .item .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #3963bb;
  position: absolute;
  bottom: 0;
  right: 0;
  width: 3rem;
  aspect-ratio: 1/1;
  border-radius: 1rem 0 1rem 0/1rem 0 1rem 0;
}
@media screen and (max-width: 767px) {
  #promise02 .industry-list .item .arrow {
    width: 1.8rem;
    border-radius: 0.4rem 0 0.4rem 0/0.4rem 0 0.4rem 0;
  }
}
#promise02 .industry-list .item .arrow img {
  width: 1.4rem;
}
@media screen and (max-width: 767px) {
  #promise02 .industry-list .item .arrow img {
    width: 0.8rem;
  }
}
#promise02 .button-wrapper {
  margin-top: 5.5rem;
  width: 52rem;
  max-width: 100%;
  position: relative;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  #promise02 .button-wrapper {
    margin-top: 2.6rem;
  }
}
#promise02 .button-wrapper .button-bubble {
  position: absolute;
  top: -1rem;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #fff78c;
  border-radius: 5rem;
  font-size: 1.6rem;
  font-weight: bold;
  color: #3963bb;
  width: 36.2rem;
  height: 4rem;
  z-index: 1;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  #promise02 .button-wrapper .button-bubble {
    font-size: 1rem;
    width: 24rem;
    height: 2rem;
    top: 0;
  }
}
#promise02 .button-wrapper .button-bubble::after {
  content: "";
  border: solid transparent 1rem;
  border-top-color: #fff78c;
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translate(-50%, 0);
}
@media screen and (max-width: 767px) {
  #promise02 .button-wrapper .button-bubble::after {
    border-width: 0.5rem;
  }
}
#promise02 .button-wrapper .button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.5rem;
  width: 100%;
  height: 7.5rem;
  border: solid 0.2rem white;
  border-radius: 4rem;
  background: linear-gradient(80deg, #3963bb, #39aabb);
  color: white;
  font-weight: bold;
  font-size: 2rem;
  box-shadow: 0 0 0.5rem 0.2rem rgba(0, 0, 0, 0.2);
  transition: opacity 0.3s;
}
@media screen and (max-width: 767px) {
  #promise02 .button-wrapper .button {
    font-size: 1.2rem;
    height: 4.7rem;
  }
}
@media (hover: hover) {
  #promise02 .button-wrapper .button:hover {
    opacity: 0.7;
  }
}
#promise02 .button-wrapper .button img {
  width: 0.8rem;
}
#promise02 .txt_box2 {
  border-radius: 1rem;
  padding: 2rem;
}
@media screen and (max-width: 767px) {
  #promise02 .txt_box2 {
    border: 1px solid #dee7f0;
  }
}
#promise02 .txt_box2.waku {
  border: 1px solid #dee7f0;
}
@media screen and (min-width: 768px) {
  #promise02 .txt_box2 {
    padding: 3.5rem 4rem 4rem;
    border: 1px solid #DEE7F0;
  }
  #promise02 .txt_box2 .txt_img.justify:has(.img_badge) .txt_box {
    width: calc(100% - 30.5rem);
  }
  #promise02 .txt_box2 .txt_img.justify:has(.pro02_02) .txt_box {
    width: calc(100% - 40rem);
  }
  #promise02 .txt_box2 .txt_img.justify:has(.pro04_02) .txt_box {
    width: calc(100% - 30rem);
  }
}
#promise02 .txt_box2 .p_logo img {
  margin-bottom: 0.8rem;
}
#promise02 .txt_box2 .p_logo + .p_logo {
  margin-top: 1.5rem;
}
@media screen and (max-width: 767px) {
  #promise02 .txt_box2 .img_badge {
    align-items: flex-end;
    gap: 3.6rem;
  }
  #promise02 .txt_box2 .img_badge .img_kbox {
    width: 16rem;
    padding-bottom: 1rem;
  }
  #promise02 .txt_box2 .img_badge .img_indeed {
    width: 8.7rem;
  }
  #promise02 .txt_box2.waku .pro02_02 {
    margin-bottom: 2rem;
  }
  #promise02 .txt_box2.waku .txt_box {
    gap: 1rem;
  }
}
#promise02 .txt_box2 h4.bg_aqua {
  line-height: 1.4 !important;
  padding: 0.5em !important;
}

#s05 {
  padding: 0;
}
@media screen and (max-width: 767px) {
  #s05 .case_box .i_wrap i.txt26 {
    font-size: 1.5rem;
    line-height: 1.2;
    padding: 0.5rem 2rem 0.7rem;
    height: auto;
    display: flex;
    flex-direction: column;
  }
  #s05 .case_box .i_wrap i.txt26.-notext {
    padding: 0 2rem;
  }
}
#s05 .case_box .bg_blue02.-notext {
  border-radius: 1.5rem;
}
#s05 .case_box .bg_blue02.-notext h3 {
  line-height: 1.4 !important;
}
#s05 .case_box .bg_blue02.-notext .sub-txt {
  background: #0D2789;
  padding: 0.5em 1em;
  line-height: 1;
  border-radius: 2em;
  margin-top: 0.5em;
  display: inline-block;
}
@media screen and (max-width: 767px) {
  #s05 .case_box .bg_blue02 {
    padding: 2em 1em 1.5em;
  }
}
#s05 .flex-box {
  display: flex;
  gap: 4%;
  margin-top: 3.5rem;
}
#s05 .flex-box .-half {
  width: 48%;
  margin: 0;
}
@media screen and (max-width: 767px) {
  #s05 .flex-box {
    flex-direction: column;
    gap: 2.5rem;
  }
  #s05 .flex-box .-half {
    width: 100%;
  }
}

#s04 {
  padding-top: 10rem !important;
}
@media screen and (max-width: 767px) {
  #s04 {
    padding-top: 2rem !important;
  }
  #s04 .intro-sub {
    margin-inline: 0 !important;
  }
}

@media screen and (max-width: 767px) {
  .compare_chart_wrap .compare_chart {
    width: 70rem !important;
  }
  .compare_chart_wrap .compare_chart .dl_tc {
    width: 13.8rem !important;
    border-radius: 0.5rem !important;
    position: relative;
  }
  .compare_chart_wrap .compare_chart .dl_tc::before {
    content: "";
    height: 100%;
    width: 100%;
    border: 0.4rem solid #b7cfff;
    border-radius: 0.5rem !important;
    position: absolute;
    left: -0.2rem;
    top: -0.2rem;
    pointer-events: none;
  }
  .compare_chart_wrap .compare_chart .employee {
    height: 13.4rem !important;
  }
}
#price_box {
  background: #fff !important;
}
#price_box .bg_aqua {
  background: #F5F7FC !important;
}
#price_box .unyo {
  background: #F5F9FC !important;
}
#price_box .font-r.txt52.lh1 {
  font-size: 5.2rem !important;
}
#price_box .font-r.txt52.lh1 .txt60 {
  font-size: 6rem !important;
}
#price_box .font-r.txt52.lh1 .txt32 {
  font-size: 3.2rem !important;
}

#price_box .p_box_wrap .p_box .txt_wrap {
  padding: 2rem 4rem 3.5rem !important;
}
@media screen and (max-width: 767px) {
  #price_box .p_box_wrap .p_box .txt_wrap {
    padding: 0 2.7rem 2.5rem !important;
  }
}
#price_box .p_box_wrap .p_box .txt16.mb15 {
  margin-top: 1rem;
}

@media screen and (min-width: 768px) {
  #inq_box {
    margin-top: 5rem;
  }
}
@media screen and (min-width: 481px), print {
  #main_contents {
    padding-top: 4rem;
  }
  #main_contents .txt_consul {
    width: 58rem;
    margin-inline: auto;
  }
}
.compare_chart .creative {
  height: 16.8rem !important;
}

@media screen and (max-width: 767px), print {
  .compare_chart .creative {
    height: 12.8rem !important;
  }
}
.yellow {
  color: #FFF132;
}

.btn_rose a {
  letter-spacing: 0.05em;
  text-align: center;
  color: #fff;
  background: #de3b5e;
  line-height: 9.4rem;
  width: 56rem;
  height: 10rem;
  border-radius: 5rem;
  border: 0.3rem solid #fff;
  box-shadow: 0 0.5rem 0 rgba(0, 0, 0, 0.16);
  box-sizing: border-box;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .btn_rose a {
    font-size: 2.9rem;
  }
}
@media screen and (max-width: 767px) {
  .btn_rose a {
    line-height: 5.6rem;
    width: min(34.5rem, 100%);
    height: 6rem;
    border: 0.2rem solid #fff;
  }
}
.btn_rose a.mail span {
  background: url(/img/listing/i_mail.svg) 0 52% no-repeat;
  padding-left: 4rem;
}
@media screen and (max-width: 767px) {
  .btn_rose a.mail span {
    background-size: 1.9rem auto;
    padding-left: 2.4rem;
  }
}
@media screen and (min-width: 768px) {
  .btn_rose a.ar {
    width: 50rem;
    line-height: 7.8rem;
  }
}
.btn_rose a.ar span {
  background: url(/img/recruit/btn_ar.svg) 100% 52% no-repeat;
  background-size: 0.9rem auto;
  padding-right: 1.6rem;
}
@media screen and (max-width: 767px) {
  .btn_rose a.ar {
    line-height: 5.6rem;
    height: 6rem;
  }
}
.btn_rose a.i_fuki span {
  padding-left: 3.8rem;
  background: url(/img/consulting/i_fuki.svg) 0 50% no-repeat;
  background-size: 3rem auto;
}
@media screen and (max-width: 767px) {
  .btn_rose a.i_fuki span {
    padding-left: 2.4rem;
    background-size: 1.8rem auto;
  }
}
@media screen and (min-width: 768px) {
  .btn_rose a.w600 {
    font-size: 2.6rem;
    line-height: 8.8rem;
    width: 60rem;
    height: 9.3rem;
    background-color: #3963bb;
  }
}
.btn_rose a:hover {
  opacity: 0.8;
}

@media screen and (min-width: 768px) {
  #price_box {
    background-color: #eaeef8;
    padding: 6rem 0;
    font-size: 2.2rem;
  }
  #price_box .stit_bb {
    border-bottom: 0.2rem solid #3963bb;
    border-top: 0.2rem solid #3963bb;
    line-height: 7.3rem;
  }
  #price_box .txt22 {
    margin: 3.3rem auto;
  }
  #price_box .price_table {
    width: 82rem;
    margin: 0 auto 5.6rem;
  }
  #price_box .price_table th {
    padding: 2rem 2rem;
    vertical-align: middle;
    background: #3963bb;
    color: #fff;
  }
  #price_box .price_table td {
    font-weight: bold;
    background-color: #fff;
    text-align: center;
    padding: 1rem 0.6rem;
    border: 1px solid #e3e5ec;
    vertical-align: middle;
    height: 6.4rem;
    box-sizing: border-box;
  }
  #price_box .price_table .bg_aq {
    width: 33rem;
    background-color: #f3f9ff;
  }
  #price_box .price_table .bg_aq.recruit {
    background-color: #F5F8F9;
  }
  #price_box .price_table.price02 tr:nth-child(odd) td {
    background-color: #f3f7fb;
  }
  #price_box .exp_txt.recruit {
    display: grid;
    justify-content: center;
  }
  #price_box .detail_box {
    padding: 4rem 5rem 5rem;
    background: #fff;
    box-shadow: 0 0 2rem rgba(78, 85, 110, 0.05);
  }
  #price_box .detail_box + .detail_box {
    margin-top: 2rem;
  }
  #price_box .detail_box + .detail_box.mt0 {
    margin-top: 0;
  }
  #price_box .detail_box ol {
    counter-reset: listnum; /* カウンターをリセット */
    list-style: none; /* 標準のスタイルは消す */
  }
  #price_box .detail_box ol li {
    padding-left: 1.8em;
  }
  #price_box .detail_box ol li + li {
    margin-top: 2rem;
  }
  #price_box .detail_box ol li p {
    color: #333;
    padding-top: 0.6rem;
  }
  #price_box .detail_box ol li::before {
    counter-increment: listnum;
    content: counter(listnum);
    font-family: "Roboto", sans-serif;
    width: 2.4rem;
    height: 2.4rem;
    color: #fff;
    border-radius: 1.2rem;
    background-color: #3963bb;
    display: inline-block;
    margin-right: 0.8rem;
    line-height: 2.4rem;
    text-align: center;
    position: absolute;
    top: 0.3rem;
    left: 0;
    font-weight: normal;
  }
  #price_box .detail_box ol li::before {
    counter-increment: listnum;
    content: counter(listnum);
    font-family: "Roboto", sans-serif;
    width: 2.4rem;
    height: 2.4rem;
    color: #fff;
    border-radius: 1.2rem;
    background-color: #3963bb;
    display: inline-block;
    margin-right: 0.8rem;
    line-height: 2.4rem;
    text-align: center;
    position: absolute;
    top: 0.3rem;
    left: 0;
    font-weight: normal;
  }
  #price_box.recruit .detail_box ol li::before {
    background-color: #39A6BB !important;
  }
  #price_box .p_box_wrap {
    gap: 5rem;
  }
  #price_box .p_box_wrap .p_box {
    flex: 1;
    background-color: #fff;
  }
  #price_box .p_box_wrap .bg_blue02 {
    line-height: 8rem;
  }
  #price_box .p_box_wrap .txt52 {
    font-size: 5.2rem;
    letter-spacing: 0.1em;
  }
  #price_box .p_box_wrap .txt60 {
    font-size: 6rem;
  }
  #price_box .p_box_wrap ol {
    margin-top: 2.5rem;
  }
  #price_box .p_box_wrap ol li {
    line-height: 1.5;
  }
  #price_box .p_box_wrap ol li + li {
    margin-top: 1rem;
  }
  #price_box .price_box__ttl--recruit {
    border-color: #39A6BB !important;
    color: #39A6BB !important;
  }
  #price_box .price_box__tableTtl--recruit {
    background-color: #39A6BB !important;
  }
  #price_box.recruit .btn_rose a {
    background: #39A6BB;
    max-width: 78rem !important;
    width: 100% !important;
  }
  .main {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 600;
    letter-spacing: 0.05em;
  }
  .main section p {
    letter-spacing: 0.05em;
  }
  .main section .lh2 {
    line-height: 2;
  }
  .main section h2.txt40.ls01 {
    font-weight: 900;
  }
  .main .box1000 {
    max-width: 96%;
  }
  .box1100 {
    max-width: 96%;
    width: 115rem;
    margin-inline: auto;
  }
  .z3 {
    z-index: 3;
  }
  .alc {
    align-items: center;
  }
  .ib {
    display: inline-block;
  }
  .nowrap_pc {
    white-space: nowrap;
  }
  .txt_yf {
    color: #fff78c !important;
  }
  .font-k {
    font-family: "Hiragino Kaku Gothic Pro";
  }
  .marker_y2 {
    background: linear-gradient(transparent 70%, #fff126 0%);
    padding: 0.2rem;
  }
  .txt48 {
    font-size: 4.8rem;
  }
  .palt {
    font-feature-settings: "palt";
  }
  .lh2 {
    line-height: 2;
  }
  .ls01 {
    letter-spacing: 0.1em;
  }
  .ls05 {
    letter-spacing: 0.05em;
  }
  .ls08 {
    letter-spacing: 0.08em;
  }
  .fb900 {
    font-weight: 900;
  }
  .fb600 {
    font-weight: 600;
  }
  .fb400 {
    font-weight: 400;
  }
  .marker_y2 {
    background: linear-gradient(transparent 65%, #fff126 0%);
  }
  .flex-center {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .bg_w {
    background-color: #fff;
  }
  .font-r {
    font-family: "Roboto", sans-serif;
  }
  .font-o {
    font-family: "Oswald", sans-serif;
  }
  .stit_blue2024 {
    padding: 4rem 0 5rem;
  }
  .stit_blue2024 .txt25 {
    margin-bottom: 1.3rem;
  }
  .stit_blue2024 .txt43 {
    font-size: 4.3rem;
    line-height: 1.44;
  }
  .btn_rose a {
    letter-spacing: 0.05em;
    text-align: center;
    color: #fff;
    background: #de3b5e;
    line-height: 9.4rem;
    width: 56rem;
    height: 10rem;
    border-radius: 5rem;
    border: 0.3rem solid #fff;
    box-shadow: 0 0.5rem 0 rgba(0, 0, 0, 0.16);
    box-sizing: border-box;
    overflow: hidden;
  }
  .btn_rose a.mail span {
    font-size: 2.9rem;
    background: url(/img/listing/i_mail.svg) 0 52% no-repeat;
    padding-left: 4rem;
  }
  .btn_rose a.ar {
    width: 58rem;
  }
  .btn_rose a.ar span {
    background: url(/img/price/ic-arrow-right.png) 100% 50% no-repeat;
    background-size: 0.9rem auto;
    padding-right: 2.5rem;
    font-size: 2.6rem;
  }
  .btn_rose {
    display: flex;
    justify-content: center;
  }
  .btn_rose a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 8rem !important;
  }
  .btn_rose a span {
    font-size: 2.2rem !important;
  }
  .btn_rose--wrap {
    line-height: 1.5;
    display: grid;
    gap: 2.5rem;
  }
  .btn_rose--blue a {
    background: #3963BB;
  }
  .btn_rose--blue a {
    width: 67.4rem !important;
  }
}
@media screen and (max-width: 767px) {
  #price_box {
    background-color: #eaeef8;
    padding: 3.2rem 0 5rem;
  }
  #price_box .stit40 {
    font-size: 3rem;
    margin-bottom: 1.5rem;
  }
  #price_box .stit_bb {
    border-bottom: 0.2rem solid #3963bb;
    border-top: 0.2rem solid #3963bb;
    line-height: 1.4;
    padding: 1rem 0;
    font-size: 2rem;
  }
  #price_box .txt22 {
    margin: 1.5rem auto 2.5rem;
    line-height: 2.8rem;
  }
  #price_box .price_table {
    width: 100%;
    margin: 0 auto 2rem;
  }
  #price_box .price_table th {
    padding: 0.8rem 0.5rem 1rem;
    vertical-align: middle;
    background: #3963bb;
    color: #fff;
  }
  #price_box .price_table th .txt22 {
    font-size: 1.8rem;
    line-height: 1;
  }
  #price_box .price_table th .txt18 {
    font-size: 1.2rem;
    letter-spacing: 0.03rem;
    display: block;
    line-height: 1.5;
  }
  #price_box .price_table td {
    font-weight: bold;
    background-color: #fff;
    text-align: center;
    padding: 0 0.4rem;
    border: 1px solid #e3e5ec;
    vertical-align: middle;
    height: 6rem;
    box-sizing: border-box;
  }
  #price_box .price_table td.txt32 {
    font-size: 2rem;
  }
  #price_box .price_table td .txt40 {
    font-size: 2.4rem;
  }
  #price_box .price_table td .txt36 {
    font-size: 2.2rem;
  }
  #price_box .price_table .bg_aq {
    background-color: #f3f9ff;
    width: 50%;
    font-size: 1.4rem;
  }
  #price_box .price_table.price02 tr:nth-child(odd) td {
    background-color: #f3f7fb;
  }
  #price_box .price_table.price02 td {
    height: 5rem;
  }
  #price_box .price_table.price02 td.tL {
    font-size: 1.4rem;
  }
  #price_box .exp_txt {
    margin-bottom: 5rem;
  }
  #price_box .detail_box {
    padding: 1.8rem 1.5rem;
    background: #fff;
    box-shadow: 0 0 2rem rgba(78, 85, 110, 0.05);
  }
  #price_box .detail_box + .detail_box {
    margin-top: 2rem;
  }
  #price_box .detail_box .txt28.l2 {
    line-height: 1.1;
    padding: 1.4rem 0.4rem 0.5rem;
    font-size: 2.4rem;
  }
  #price_box .detail_box .txt24 {
    margin-bottom: 1rem;
  }
  #price_box .detail_box .txt18 {
    font-size: 1.4rem;
    line-height: 2.4rem;
    margin-bottom: 0.6rem;
  }
  #price_box .detail_box .txt52 {
    padding: 1.2rem 0 1rem;
    font-size: 4.2rem;
  }
  #price_box .detail_box .txt60 {
    font-size: 5rem;
    letter-spacing: 0.05em;
  }
  #price_box .detail_box ol {
    counter-reset: listnum; /* カウンターをリセット */
    list-style: none; /* 標準のスタイルは消す */
  }
  #price_box .detail_box ol li {
    padding-left: 1.8em;
  }
  #price_box .detail_box ol li + li {
    margin-top: 0.8rem;
  }
  #price_box .detail_box ol li p {
    color: #333;
    padding-top: 0.2rem;
    font-size: 1.2rem;
    line-height: 2rem;
  }
  #price_box .detail_box ol li::before {
    counter-increment: listnum;
    content: counter(listnum);
    font-family: "Hiragino Kaku Gothic Pro";
    width: 2rem;
    height: 2rem;
    font-size: 1.3rem;
    color: #fff;
    border-radius: 1.2rem;
    background-color: #3963bb;
    display: inline-block;
    margin-right: 0.8rem;
    line-height: 2rem;
    text-align: center;
    position: absolute;
    top: 0.3rem;
    left: 0;
    font-weight: normal;
  }
  #price_box .detail_box ol + .txt12sp {
    margin-top: 2rem;
    line-height: 2rem;
  }
  #price_box .price_box__ttl--recruit {
    border-color: #39A6BB !important;
    color: #39A6BB !important;
  }
  #price_box .price_box__tableTtl--recruit {
    background-color: #39A6BB !important;
  }
  #price_box.recruit .btn_rose a {
    background: #39A6BB;
    max-width: 78rem !important;
    width: 100% !important;
  }
  #price_box.recruit .detail_box ol li::before {
    background-color: #39A6BB !important;
  }
  .btn_rose a {
    letter-spacing: 0.05em;
    text-align: center;
    color: #fff;
    background: #de3b5e;
    line-height: 6.6rem;
    width: min(34.5rem, 100%);
    height: 7rem;
    border-radius: 5rem;
    border: 0.2rem solid #fff;
    box-shadow: 0 0.5rem 0 rgba(0, 0, 0, 0.16);
    box-sizing: border-box;
    overflow: hidden;
  }
  .btn_rose a.mail span {
    font-size: 1.8rem;
    background: url(/img/listing/i_mail.svg) 0 52% no-repeat;
    background-size: 1.9rem auto;
    padding-left: 2.4rem;
  }
  .btn_rose a.ar {
    line-height: 5.6rem;
    height: 6rem;
  }
  .btn_rose a.ar span {
    background: url(/img/price/ic-arrow-right.png) 100% 50% no-repeat;
    background-size: 0.6rem auto;
    padding-right: 1.8rem;
    font-size: 1.6rem;
  }
  .btn_rose {
    display: flex;
    justify-content: center;
  }
  .btn_rose a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 8rem !important;
    line-height: 1.5 !important;
    height: 6rem !important;
  }
  .btn_rose a span {
    font-size: 1.6rem !important;
  }
  .btn_rose--wrap {
    line-height: 1.5;
    display: grid;
    gap: 2.5rem;
  }
  .btn_rose--blue a {
    background: #3963BB;
    height: 7rem !important;
  }
}
.txt_emerald {
  color: #39A6BB;
}

.text_yf2 {
  color: #f6dc07 !important;
}

.h2_wrap .text_yf2,
.h2_wrap span.text_yf2,
.h2_wrap h1 .text_yf2,
.h2_wrap h1 span.text_yf2 {
  color: #f6dc07 !important;
}

.highlight {
  display: inline !important;
  background: linear-gradient(to bottom, transparent calc(100% - 0.8rem), #fff700 calc(100% - 0.8rem));
  font-weight: bold;
}

.fw100 {
  font-weight: 100 !important;
}

.fw200 {
  font-weight: 200 !important;
}

.fw300 {
  font-weight: 300 !important;
}

.fw400 {
  font-weight: 400 !important;
}

.fw500 {
  font-weight: 500 !important;
}

.fw600 {
  font-weight: 600 !important;
}

.fw700 {
  font-weight: 700 !important;
}

@media screen and (min-width: 768px) {
  #indeed2025 .h2_wrap {
    padding: 1.5rem 1rem 2rem !important;
  }
}
.h2_wrap {
  background-color: #3963bb;
  color: #fff;
  padding: 2.2rem 1rem 2.1rem;
  position: relative;
}
.h2_wrap .text_yf2,
.h2_wrap span.text_yf2,
.h2_wrap h1 .text_yf2,
.h2_wrap h1 span.text_yf2 {
  color: #f6dc07 !important;
}

.main .txt_yf2 {
  color: #ffe200;
}

html {
  scroll-behavior: inherit !important;
  scroll-padding-top: 4rem;
}

.mt0 {
  margin-top: 0px !important;
}

.mb0 {
  margin-bottom: 0px !important;
}

.mt10 {
  margin-top: 10px !important;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mt20 {
  margin-top: 20px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mt30 {
  margin-top: 30px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mt40 {
  margin-top: 40px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mt50 {
  margin-top: 50px !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.mt60 {
  margin-top: 60px !important;
}

.mb60 {
  margin-bottom: 60px !important;
}

.mt70 {
  margin-top: 70px !important;
}

.mb70 {
  margin-bottom: 70px !important;
}

.mt80 {
  margin-top: 80px !important;
}

.mb80 {
  margin-bottom: 80px !important;
}

.mt90 {
  margin-top: 90px !important;
}

.mb90 {
  margin-bottom: 90px !important;
}

.mt100 {
  margin-top: 100px !important;
}

.mb100 {
  margin-bottom: 100px !important;
}

@media screen and (max-width: 767px) {
  .sp-mt0 {
    margin-top: 0px !important;
  }
  .sp-mb0 {
    margin-bottom: 0px !important;
  }
  .sp-mt10 {
    margin-top: 10px !important;
  }
  .sp-mb10 {
    margin-bottom: 10px !important;
  }
  .sp-mt20 {
    margin-top: 20px !important;
  }
  .sp-mb20 {
    margin-bottom: 20px !important;
  }
  .sp-mt30 {
    margin-top: 30px !important;
  }
  .sp-mb30 {
    margin-bottom: 30px !important;
  }
  .sp-mt40 {
    margin-top: 40px !important;
  }
  .sp-mb40 {
    margin-bottom: 40px !important;
  }
  .sp-mt50 {
    margin-top: 50px !important;
  }
  .sp-mb50 {
    margin-bottom: 50px !important;
  }
  .sp-mt60 {
    margin-top: 60px !important;
  }
  .sp-mb60 {
    margin-bottom: 60px !important;
  }
  .sp-mt70 {
    margin-top: 70px !important;
  }
  .sp-mb70 {
    margin-bottom: 70px !important;
  }
  .sp-mt80 {
    margin-top: 80px !important;
  }
  .sp-mb80 {
    margin-bottom: 80px !important;
  }
  .sp-mt90 {
    margin-top: 90px !important;
  }
  .sp-mb90 {
    margin-bottom: 90px !important;
  }
  .sp-mt100 {
    margin-top: 100px !important;
  }
  .sp-mb100 {
    margin-bottom: 100px !important;
  }
}
.pt0 {
  padding-top: 0px !important;
}

.pb0 {
  padding-bottom: 0px !important;
}

.pt10 {
  padding-top: 10px !important;
}

.pb10 {
  padding-bottom: 10px !important;
}

.pt20 {
  padding-top: 20px !important;
}

.pb20 {
  padding-bottom: 20px !important;
}

.pt30 {
  padding-top: 30px !important;
}

.pb30 {
  padding-bottom: 30px !important;
}

.pt40 {
  padding-top: 40px !important;
}

.pb40 {
  padding-bottom: 40px !important;
}

.pt50 {
  padding-top: 50px !important;
}

.pb50 {
  padding-bottom: 50px !important;
}

.pt60 {
  padding-top: 60px !important;
}

.pb60 {
  padding-bottom: 60px !important;
}

.pt70 {
  padding-top: 70px !important;
}

.pb70 {
  padding-bottom: 70px !important;
}

.pt80 {
  padding-top: 80px !important;
}

.pb80 {
  padding-bottom: 80px !important;
}

.pt90 {
  padding-top: 90px !important;
}

.pb90 {
  padding-bottom: 90px !important;
}

.pt100 {
  padding-top: 100px !important;
}

.pb100 {
  padding-bottom: 100px !important;
}

@media screen and (max-width: 767px) {
  .sp-pt0 {
    padding-top: 0px !important;
  }
  .sp-pb0 {
    padding-bottom: 0px !important;
  }
  .sp-pt10 {
    padding-top: 10px !important;
  }
  .sp-pb10 {
    padding-bottom: 10px !important;
  }
  .sp-pt20 {
    padding-top: 20px !important;
  }
  .sp-pb20 {
    padding-bottom: 20px !important;
  }
  .sp-pt30 {
    padding-top: 30px !important;
  }
  .sp-pb30 {
    padding-bottom: 30px !important;
  }
  .sp-pt40 {
    padding-top: 40px !important;
  }
  .sp-pb40 {
    padding-bottom: 40px !important;
  }
  .sp-pt50 {
    padding-top: 50px !important;
  }
  .sp-pb50 {
    padding-bottom: 50px !important;
  }
  .sp-pt60 {
    padding-top: 60px !important;
  }
  .sp-pb60 {
    padding-bottom: 60px !important;
  }
  .sp-pt70 {
    padding-top: 70px !important;
  }
  .sp-pb70 {
    padding-bottom: 70px !important;
  }
  .sp-pt80 {
    padding-top: 80px !important;
  }
  .sp-pb80 {
    padding-bottom: 80px !important;
  }
  .sp-pt90 {
    padding-top: 90px !important;
  }
  .sp-pb90 {
    padding-bottom: 90px !important;
  }
  .sp-pt100 {
    padding-top: 100px !important;
  }
  .sp-pb100 {
    padding-bottom: 100px !important;
  }
}
.lh11 {
  line-height: 1.1 !important;
}

.lh12 {
  line-height: 1.2 !important;
}

.lh13 {
  line-height: 1.3 !important;
}

.lh14 {
  line-height: 1.4 !important;
}

.lh15 {
  line-height: 1.5 !important;
}

.lh16 {
  line-height: 1.6 !important;
}

.lh17 {
  line-height: 1.7 !important;
}

.lh18 {
  line-height: 1.8 !important;
}

.lh19 {
  line-height: 1.9 !important;
}

.lh20 {
  line-height: 2 !important;
}

@media screen and (max-width: 767px), print {
  .sp-lh11 {
    line-height: 1.1 !important;
  }
  .sp-lh12 {
    line-height: 1.2 !important;
  }
  .sp-lh13 {
    line-height: 1.3 !important;
  }
  .sp-lh14 {
    line-height: 1.4 !important;
  }
  .sp-lh15 {
    line-height: 1.5 !important;
  }
  .sp-lh16 {
    line-height: 1.6 !important;
  }
  .sp-lh17 {
    line-height: 1.7 !important;
  }
  .sp-lh18 {
    line-height: 1.8 !important;
  }
  .sp-lh19 {
    line-height: 1.9 !important;
  }
  .sp-lh20 {
    line-height: 2 !important;
  }
}
@media screen and (max-width: 767px) {
  #price_box .font-r.txt52.lh1 .txt49sp {
    font-size: 4.9rem !important;
  }
  #price_box .p_box_wrap .p_box .txt52.txt42sp {
    font-size: 4.2rem !important;
  }
  #instagram #price_box .p_box_wrap .p_box .txt16.mb15 {
    margin-top: -0.5rem;
  }
  #instagram #price_box .p_box_wrap .p_box ol li {
    margin-top: 0.5rem !important;
    white-space: nowrap;
  }
  #instagram #price_box .txt22 {
    margin: 1.5rem auto;
  }
}
#instagram .main .h2_wrap {
  background-color: #214DAA !important;
  padding: 1rem 1rem 0.7rem;
}
@media screen and (max-width: 767px) {
  #instagram .main .h2_wrap {
    padding: 1rem;
  }
  #instagram .main .h2_wrap .p-instagram {
    line-height: 1.2;
  }
  #instagram .main .h2_wrap .p-instagram span {
    line-height: 1.2;
  }
}
#instagram #s01 {
  padding: 4.8rem 0 6rem;
}
@media screen and (max-width: 767px) {
  #instagram #s01 {
    padding: 3.7rem 0 6rem;
  }
  #instagram #s01 h2 span:first-child {
    margin-bottom: 0.4rem;
  }
}

.teacher-illust {
  width: 26rem;
}/*# sourceMappingURL=style.css.map */