@charset "UTF-8";
/*
 * Chrome renders extra-wide &nbsp; characters for the Hoefler Text font.
 * This results in a jumping cursor when typing in both the Classic and block
 * editors. The following font-face override fixes the issue by manually inserting
 * a custom font that includes just a Hoefler Text space replacement for that
 * character instead.
 */
@font-face {
  font-family: "NonBreakingSpaceOverride";
  src: url(data:application/font-woff2;charset=utf-8;base64,d09GMgABAAAAAAMoAA0AAAAACDQAAALTAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP0ZGVE0cGh4GYACCahEICjx3CywAATYCJANUBCAFhiEHgWwbXQfILgpsY+rQRRARwyAs6uL7pxzYhxEE+32b3aeHmifR6tklkS9hiZA0ewkqGRJE+H7/+6378ASViK/PGeavqJyOzsceKi1s3BCiQsiOdn1r/RBgIJYEgCUhbm/8/8/h4saPssnTNkkiWUBrTRtjmQSajw3Ui3pZ3LYDPD+XG2C3JA/yKAS8/rU5eNfuGqRf4eNNgV4YAlIIgxglEkWe6FYpq10+wi3g+/nUgvgPFczNrz/RsTgVm/zfbPuHZlsuQECxuyqBcQwKFBjFgKO8AqP4bAN9tFJtnM9xPcbNjeXS/x1wY/xU52f5W/X1+9cnH4YwKIaoRRAkUkj/YlAAeF/624foiIDBgBmgQBeGAyhBljUPZUm/l2dTvmpqcBDUOHdbPZWd8JsBAsGr4w8/EDn82/bUPx4eh0YNrQTBuHO2FjQEAGBwK0DeI37DpQVqdERS4gZBhpeUhWCfLFz7J99aEBgsJCHvUGAdAPp4IADDCAPCEFMGpMZ9AQpTfQtQGhLbGVBZFV8BaqNyP68oTZgHNj3M8kBPfXTTC9t90UuzYhy9ciH0grVlOcqyCytisvbsERsEYztiznR0WCrmTksJwbSNK6fd1Rvr25I9oLvctUoEbNOmXJbqgYgPXEHJ82IUsrCnpkxh23F1rfZ2zcRnJYoXtauB3VTFkFXQg3uoZYD5qE0kdjDtoDoF1h2bulGmev5HbYhbrjtohQSRI4aNOkffIcT+d3v6atpaYh3JvPoQsztCcqvaBkppDSPcQ3bw3KaCBo1f5CJWTZEgW3LjLofYg51MaVezrx8xZitYbQ9KYeoRaqQdVLwSEfrKXLK1otCWOKNdR/YwYAfon5Yk8O2MJfSD10dPGA5PIJJQMkah0ugMJiv6x4Dm7LEa8xnrRGGGLAg4sAlbsA07sAt76DOsXKO3hIjtIlpnnFrt1qW4kh6NhS83P/6HB/fl1SMAAA==) format("woff2"), url(data:application/font-woff;charset=utf-8;base64,d09GRgABAAAAAAUQAA0AAAAACDQAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAE9AAAABwAAAAchf5yU0dERUYAAATYAAAAHAAAAB4AJwAbT1MvMgAAAaAAAABJAAAAYJAcgU5jbWFwAAACIAAAAF4AAAFqUUxBZ2dhc3AAAATQAAAACAAAAAgAAAAQZ2x5ZgAAApAAAAAyAAAAPL0n8y9oZWFkAAABMAAAADAAAAA2Fi93Z2hoZWEAAAFgAAAAHQAAACQOSgWaaG10eAAAAewAAAAzAAAAVC7TAQBsb2NhAAACgAAAABAAAAAsAOQBAm1heHAAAAGAAAAAHQAAACAAWQALbmFtZQAAAsQAAAF6AAADIYvD/Adwb3N0AAAEQAAAAI4AAADsapk2o3jaY2BkYGAA4ov5mwzj+W2+MnCzXwCKMNzgCBSB0LfbQDQ7AxuI4mBgAlEAFKQIRHjaY2BkYGD3+NvCwMDBAALsDAyMDKhAFAA3+wH3AAAAeNpjYGRgYBBl4GBgYgABEMnIABJzAPMZAAVmAGUAAAB42mNgZlJhnMDAysDCKsKygYGBYRqEZtrDYMT4D8gHSmEHjgUFOQwODAqqf9g9/rYwMLB7MNUAhRlBcsxBrMlASoGBEQAj8QtyAAAAeNrjYGBkAAGmWQwMjO8gmBnIZ2NA0ExAzNjAAFYJVn0ASBsD6VAIDZb7AtELAgANIgb9AHjaY2BgYGaAYBkGRgYQSAHyGMF8FgYPIM3HwMHAxMDGoMCwQIFLQV8hXvXP//9AcRCfAcb///h/ygPW+w/vb7olBjUHCTCyMcAFGZmABBO6AogThgZgIUsXAEDcEzcAAHjaY2BgECMCyoEgACZaAed42mNgYmRgYGBnYGNgYAZSDJqMgorCgoqCjECRXwwNrCAKSP5mAAFGBiRgyAAAi/YFBQAAeNqtkc1OwkAUhU/5M25cEhcsZick0AwlBJq6MWwgJkAgYV/KAA2lJeUn+hY+gktXvpKv4dLTMqKycGHsTZNv7px7z50ZAFd4hYHjdw1Ls4EiHjVncIFnzVnc4F1zDkWjrzmPW+NNcwGlzIRKI3fJlUyrEjZQxb3mDH2fNGfRx4vmHKqG0JzHg6E0F9DOlFBGBxUI1GEzLNT4S0aLuTtsGAEUuYcQHkyg3KmIum1bNUvKlrjbbAIleqHHnS4iSudpQcySMYtdFiXlAxzSbAwfMxK6kZoHKhbjjespMTioOPZnzI+4ucCeTVyKMVKLfeAS6vSWaTinuZwzyy/Dc7vaed+6KaV0kukdPUk6yOcctZPvvxxqksq2lEW8RvHjMEO2FCl/zy6p3NEm0R9OFSafJdldc4QVeyaaObMBO0/5cCaa6d9Ggyubxire+lEojscdjoWUR1xGOy8KD8mG2ZLO2l2paDc3A39qmU2z2W5YNv5+u79e6QfGJY/hAAB42m3NywrCMBQE0DupWp/1AYI7/6DEaLQu66Mrd35BKUWKJSlFv1+rue4cGM7shgR981qSon+ZNwUJ8iDgoYU2OvDRRQ99DDDECAHGmGCKmf80hZSx/Kik/LliFbtmN6xmt+yOjdg9GztV4tROnRwX/Bsaaw51nt4Lc7tWaZYHp/MlzKx51LZs5htNri+2AAAAAQAB//8AD3jaY2BkYGDgAWIxIGZiYARCESBmAfMYAAR6AEMAAAABAAAAANXtRbgAAAAA2AhRFAAAAADYCNuG) format("woff");
}
/* If we add the border using a regular CSS border, it won't look good on non-retina devices,
 * since its edges can look jagged due to lack of antialiasing. In this case, we are several
 * layers of box-shadow to add the border visually, which will render the border smoother. */
/* Calculates maximum width for post content */
/* Nested sub-menu padding: 10 levels deep */
/* Ensure all font family declarations come with non-latin fallbacks */
/* Build our non-latin font styles */
.p-successor {
  line-height: 1.8;
  font-size: 18px;
  color: #111;
  /* ==============================================
  メインビジュアル
  ============================================== */
  /* ==============================================
  どうなれるか
  ============================================== */
  /* ==============================================
  講座の特徴
  ============================================== */
  /* ==============================================
  他の講座との違い
  ============================================== */
  /* ==============================================
  こんな社長におすすめ
  ============================================== */
  /* ==============================================
  カリキュラム
  ============================================== */
  /* ==============================================
  受講までの流れ
  ============================================== */
  /* ==============================================
  講師紹介
  ============================================== */
  /* ==============================================
  講座を作った理由
  ============================================== */
  /* ==============================================
  CTA
  ============================================== */
  /* ==============================================
  FAQ
  ============================================== */
  /* ==============================================
  受講者の声
  ============================================== */
  /* ==============================================
  固定申込み追従ボタン
  ============================================== */
}
@media screen and (max-width: 820px) {
  .p-successor {
    line-height: 1.6;
    font-size: 16px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor {
    font-size: 14px;
    line-height: 1.5;
  }
}
.p-successor h2 {
  font-size: 48px;
  font-weight: bold;
  color: #af252d;
  text-align: center;
}
@media screen and (max-width: 820px) {
  .p-successor h2 {
    font-size: 35px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor h2 {
    font-size: 28px;
  }
}
.p-successor .bg_wrapper {
  width: 90%;
  max-width: 1500px;
  margin: 0 auto;
}
.p-successor .wrapper {
  width: 90%;
  max-width: 1200px;
  margin: 0 auto;
}
.p-successor .mv {
  height: 715px;
  background-image: url("images/mv_successor.jpg");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
@media screen and (max-width: 820px) {
  .p-successor .mv {
    background-image: url("images/lp_mv_tb.jpg");
    line-height: 1.8;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .mv {
    background-image: url("images/lp_mv_sp.jpg");
    height: 353px;
    background-position: 70% top;
  }
}
.p-successor .mv_wrapper {
  padding-top: 130px;
}
@media screen and (max-width: 576px) {
  .p-successor .mv_wrapper {
    padding-top: 75px;
  }
}
.p-successor .mv_subcopy {
  display: inline-block;
  font-size: clamp(1.6rem, 2.03125vw, 3.9rem);
  font-weight: bold;
  color: #fff;
  background: #af252d;
  padding: 3px 20px;
  width: auto;
  max-width: 100%;
}
@media screen and (max-width: 576px) {
  .p-successor .mv_subcopy {
    font-size: 16px;
  }
}
.p-successor .mv_copy {
  font-size: clamp(3.5rem, 5.4166666667vw, 10.4rem);
  font-weight: bold;
}
@media screen and (max-width: 820px) {
  .p-successor .mv_copy {
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .mv_copy {
    font-size: 35px;
  }
}
.p-successor .mv_text {
  max-width: 678px;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 820px) {
  .p-successor .mv_text {
    font-size: 18px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .mv_text {
    font-size: 14px;
  }
}
.p-successor .problem {
  background: url("images/grid.jpg") repeat;
  padding: 70px 0;
}
@media screen and (max-width: 576px) {
  .p-successor .problem {
    padding: 30px 0;
  }
}
.p-successor .problem_wrapper {
  background-color: #fff;
  max-width: 1200px;
  width: 90%;
  margin: -250px auto 0;
  padding: 50px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 576px) {
  .p-successor .problem_wrapper {
    margin: -90px auto 0;
    padding: 20px;
  }
}
.p-successor .problem_title {
  font-size: 36px;
}
@media screen and (max-width: 820px) {
  .p-successor .problem_title {
    font-size: 22px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .problem_title {
    font-size: 16px;
  }
}
.p-successor .problem_list {
  margin-top: 32px;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  gap: 0.7rem;
}
@media screen and (max-width: 576px) {
  .p-successor .problem_list {
    margin-top: 18px;
  }
}
.p-successor .problem_list li {
  counter-increment: num;
  position: relative;
  padding-left: 2em;
}
.p-successor .problem_list li::before {
  content: counter(num, decimal-leading-zero) " ";
  position: absolute;
  left: 0;
  top: 0;
  font-weight: bold;
  color: #af252d;
}
.p-successor .feature,
.p-successor .difference {
  background: url("images/grid.jpg") repeat;
}
.p-successor .feature_list {
  width: 100%;
  max-width: 730px;
  margin: 32px auto 0;
  margin-top: 32px;
  display: flex;
  flex-direction: column;
  gap: 1rem;
  list-style: none;
}
.p-successor .feature_list li {
  position: relative;
  padding-left: 2em;
}
.p-successor .feature_list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.3em;
  width: 20px;
  height: 20px;
  background: url("images/icon_check.png") no-repeat center/contain;
}
.p-successor .difference {
  padding: 70px 0;
}
@media screen and (max-width: 576px) {
  .p-successor .difference {
    padding: 30px 0;
  }
}
.p-successor .difference_table_box {
  position: relative;
}
@media screen and (max-width: 576px) {
  .p-successor .difference_table_box {
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.p-successor .difference_table_box .scroll_notice {
  margin-top: 10px;
  font-size: 13px;
  color: #111;
  text-align: right;
  margin-bottom: 2px;
  display: none;
}
@media screen and (max-width: 576px) {
  .p-successor .difference_table_box .scroll_notice {
    display: block;
  }
}
.p-successor .difference_table {
  margin-top: 20px;
  background-color: #f9efec;
  border-collapse: collapse;
  line-height: 1.6;
  border: 2px solid #af252d;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 576px) {
  .p-successor .difference_table {
    min-width: 800px;
    margin-top: 10px;
  }
}
.p-successor .difference_table th,
.p-successor .difference_table td {
  border: 1px solid #bababa;
  padding: 16px;
  vertical-align: center;
  text-align: left;
}
@media screen and (max-width: 576px) {
  .p-successor .difference_table th,
.p-successor .difference_table td {
    padding: 10px;
  }
}
.p-successor .difference_table td:nth-child(2) {
  background-color: #fff;
}
.p-successor .difference_table thead th {
  text-align: center;
  font-weight: bold;
}
.p-successor .difference_table tbody th {
  width: 10%;
  font-weight: bold;
}
@media screen and (max-width: 820px) {
  .p-successor .difference_table tbody th {
    width: 15%;
  }
}
.p-successor .difference_table tbody td {
  width: 40%;
}
.p-successor .recommend {
  background-color: #f5f5f5;
  padding: 50px 0 70px;
  position: relative;
  z-index: 0;
}
@media screen and (max-width: 576px) {
  .p-successor .recommend {
    padding: 30px 0 30px;
  }
}
.p-successor .recommend::before {
  content: "";
  position: absolute;
  top: -200px;
  left: 0;
  width: 100%;
  height: 300px;
  background: #f5f5f5;
  -webkit-clip-path: ellipse(70% 100% at 50% 100%);
          clip-path: ellipse(70% 100% at 50% 100%);
  z-index: -1;
}
.p-successor .recommend_wrapper {
  border: 2px solid #d4761c;
  max-width: 1200px;
}
.p-successor .recommend_title {
  white-space: nowrap;
  color: #111;
  font-size: clamp(28px, 3.33vw, 36px);
  font-weight: bold;
  position: absolute;
  top: 27px;
  left: 50%;
  transform: translateX(-50%);
  padding: 0 20px;
  background: #f5f5f5;
}
@media screen and (max-width: 820px) {
  .p-successor .recommend_title {
    font-size: 22px;
    padding: 0 10px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .recommend_title {
    font-size: 16px;
    top: 20px;
  }
}
.p-successor .recommend_list {
  padding: 70px 100px 50px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(470px, 1fr));
  gap: 24px;
}
@media screen and (max-width: 820px) {
  .p-successor .recommend_list {
    padding: 40px 25px 40px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .recommend_list {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.p-successor .recommend_list li {
  counter-increment: num;
  background: #fff;
  border-radius: 5px;
  padding: 30px;
  display: flex;
  align-items: flex-start;
  position: relative;
}
@media screen and (max-width: 576px) {
  .p-successor .recommend_list li {
    padding: 10px;
  }
}
.p-successor .recommend_list li::before {
  content: counter(num, decimal-leading-zero);
  font-size: 48px;
  font-weight: bold;
  color: #af252d;
  opacity: 0.08;
  position: absolute;
  top: 22px;
  left: 0;
  line-height: 0;
}
@media screen and (max-width: 576px) {
  .p-successor .recommend_list li::before {
    font-size: 30px;
    top: 12px;
  }
}
.p-successor .recommend_content {
  display: flex;
  align-items: flex-start;
  gap: 10px;
}
.p-successor .recommend_content p {
  font-weight: bold;
}
.p-successor .recommend_icon {
  width: 50px;
  height: 50px;
  flex-shrink: 0;
}
@media screen and (max-width: 576px) {
  .p-successor .recommend_icon {
    width: 30px;
    height: 30px;
  }
}
.p-successor .curriculum {
  background: url("images/curriculum_back.jpg") no-repeat;
  padding: 80px 0;
  text-align: center;
}
@media screen and (max-width: 576px) {
  .p-successor .curriculum {
    padding: 30px 0;
    background-size: cover;
    background-position: 3% center;
  }
}
.p-successor .curriculum_list {
  margin-top: 35px;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 32px;
  margin-bottom: 60px;
}
@media screen and (max-width: 820px) {
  .p-successor .curriculum_list {
    grid-template-columns: 1fr;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .curriculum_list {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.p-successor .curriculum_item {
  background: #fff;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  padding: 20px;
  text-align: left;
}
.p-successor .curriculum_item_title {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #fff;
  background: #d4761c;
  padding: 10px;
  margin: -20px -20px 0px;
}
.p-successor .curriculum_item ul {
  margin-top: 20px;
  padding-left: 20px;
  list-style: disc;
}
.p-successor .curriculum_item ul li {
  margin-bottom: 8px;
  line-height: 1.6;
}
.p-successor .curriculum_price {
  font-size: 36px;
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 820px) {
  .p-successor .curriculum_price {
    font-size: 25px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .curriculum_price {
    font-size: 16px;
  }
}
.p-successor .curriculum_price::before {
  content: "";
  position: absolute;
  z-index: 1;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 120px solid transparent;
  border-right: 120px solid transparent;
  border-top: 60px solid #f9efec;
}
@media screen and (max-width: 576px) {
  .p-successor .curriculum_price::before {
    border-left: 60px solid transparent;
    border-right: 60px solid transparent;
    border-top: 30px solid #f9efec;
  }
}
.p-successor .curriculum_price_group {
  padding-top: 60px;
  margin: 0 auto;
  display: inline-block;
  border-bottom: 2px solid #111;
}
@media screen and (max-width: 576px) {
  .p-successor .curriculum_price_group {
    padding-top: 30px;
  }
}
.p-successor .curriculum_price_group p {
  margin: 10px 0;
  white-space: nowrap;
  text-align: center;
}
.p-successor .curriculum_price_group p .num {
  font-size: 86px;
  color: #d4761c;
  margin: 0 30px;
}
@media screen and (max-width: 820px) {
  .p-successor .curriculum_price_group p .num {
    font-size: 55px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .curriculum_price_group p .num {
    font-size: 40px;
  }
}
.p-successor .curriculum_price_note {
  font-size: 24px;
  margin-top: 25px;
  text-align: center;
}
@media screen and (max-width: 820px) {
  .p-successor .curriculum_price_note {
    font-size: 18px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .curriculum_price_note {
    font-size: 14px;
  }
}
.p-successor .flow {
  background: #f5f5f5;
  padding: 60px 0;
}
@media screen and (max-width: 576px) {
  .p-successor .flow {
    padding: 30px 0;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .flow_title {
    margin-bottom: 20px;
  }
}
.p-successor .flow_steps {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}
@media screen and (max-width: 820px) {
  .p-successor .flow_steps {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media screen and (max-width: 576px) {
  .p-successor .flow_steps {
    grid-template-columns: repeat(1, 1fr);
  }
}
@media screen and (max-width: 576px) and (max-width: 576px) {
  .p-successor .flow_steps {
    width: 70%;
    margin: 0 auto;
  }
}
.p-successor .flow .flow_step {
  margin-top: 40px;
  display: flex;
  flex-direction: column;
  border-left: 1px solid #bababa;
  background: #fff;
}
@media screen and (max-width: 820px) {
  .p-successor .flow .flow_step {
    margin-top: 15px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .flow .flow_step {
    margin-top: 0px;
    border-left: none;
  }
}
.p-successor .flow .flow_step:first-child {
  border-left: none;
}
.p-successor .flow .flow_step_head {
  background: #f9efec;
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  padding: 7px 0;
}
@media screen and (max-width: 576px) {
  .p-successor .flow .flow_step_head {
    padding: 2px 20px;
    font-size: 15px;
  }
}
.p-successor .flow .flow_step_body {
  font-size: clamp(14px, 1.2vw, 18px);
  background: #fff;
  text-align: center;
  padding: clamp(3%, 5vw, 10%);
  line-height: 1.6;
}
@media screen and (max-width: 576px) {
  .p-successor .flow .flow_step_body {
    padding: 10px 20px;
  }
}
.p-successor .flow_btn {
  margin-top: 55px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #d4761c;
  color: #fff;
  font-size: 26px;
  font-weight: bold;
  padding: 35px 100px;
  border-radius: 100px;
}
@media screen and (max-width: 820px) {
  .p-successor .flow_btn {
    padding: 25px 40px;
    font-size: 20px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .flow_btn {
    font-size: 14px;
    padding: 15px 20px;
    margin-top: 25px;
  }
}
.p-successor .flow_btn .arrow {
  margin-left: 20px;
  font-size: 24px;
}
@media screen and (max-width: 820px) {
  .p-successor .flow_btn .arrow {
    margin-left: 10px;
    font-size: 18px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .flow_btn .arrow {
    font-size: 12px;
  }
}
.p-successor .teacher {
  background: #f5f5f5;
  padding: 60px 0 600px;
  position: relative;
}
@media screen and (max-width: 820px) {
  .p-successor .teacher {
    padding-top: 10px;
  }
}
.p-successor .teacher_box {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid #af252d;
  padding: 5%;
  background: #fff;
}
.p-successor .teacher_box::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 3px;
  height: 105px;
  background: #af252d;
  margin-top: -30px;
}
@media screen and (max-width: 576px) {
  .p-successor .teacher_box::after {
    height: 45px;
    margin-top: -20px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .teacher_box {
    border: 3px solid #af252d;
  }
}
.p-successor .teacher_wrapper {
  max-width: 800px;
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
}
@media screen and (max-width: 576px) {
  .p-successor .teacher_wrapper {
    flex-direction: column;
  }
}
.p-successor .teacher_label {
  text-align: left;
  font-size: 21px;
  font-weight: bold;
  color: #af252d;
  margin-bottom: 6px;
}
@media screen and (max-width: 820px) {
  .p-successor .teacher_label {
    font-size: 18px;
  }
}
.p-successor .teacher_company {
  font-weight: bold;
  margin-bottom: 0px;
}
@media screen and (max-width: 820px) {
  .p-successor .teacher_company {
    font-size: 14px;
  }
}
.p-successor .teacher_name {
  font-size: 43px;
  font-weight: bold;
  margin-bottom: 8px;
  line-height: 1.5;
}
@media screen and (max-width: 820px) {
  .p-successor .teacher_name {
    font-size: 30px;
  }
}
.p-successor .teacher_profile {
  width: 65%;
}
@media screen and (max-width: 576px) {
  .p-successor .teacher_profile {
    width: 100%;
  }
}
.p-successor .teacher_skills {
  font-size: 18px;
  margin-bottom: 25px;
  font-weight: bold;
  line-height: 1.5;
}
@media screen and (max-width: 820px) {
  .p-successor .teacher_skills {
    font-size: 14px;
  }
}
.p-successor .teacher_info {
  font-size: 15px;
}
@media screen and (max-width: 820px) {
  .p-successor .teacher_info {
    font-size: 13px;
  }
}
.p-successor .teacher_info li {
  margin-bottom: 5px;
}
.p-successor .teacher_info li span {
  display: inline-block;
  width: 60px;
}
@media screen and (max-width: 820px) {
  .p-successor .teacher_info li span {
    display: block;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .teacher_info li span {
    display: inline-block;
    width: 40px;
  }
}
.p-successor .teacher_image img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 576px) {
  .p-successor .teacher_image {
    margin-top: 25px;
  }
}
.p-successor .teacher_text {
  max-width: 800px;
  margin-right: auto;
  margin-left: auto;
  margin-top: 56px;
  line-height: 1.8;
}
@media screen and (max-width: 820px) {
  .p-successor .teacher_text {
    margin-top: 30px;
  }
}
.p-successor .reason {
  background: url("images/reason_back.jpg") no-repeat center/cover;
  line-height: 2.4;
  padding: 200px 0 100px;
  text-align: center;
}
@media screen and (max-width: 820px) {
  .p-successor .reason {
    text-align: left;
    line-height: 2.2;
    padding: 100px 0 80px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .reason {
    padding: 315px 0 30px;
  }
}
.p-successor .reason_title {
  font-size: 39px;
  font-weight: bold;
  margin-bottom: 35px;
  color: #111;
}
@media screen and (max-width: 820px) {
  .p-successor .reason_title {
    font-size: 24px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .reason_title {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.p-successor .reason_quote {
  font-weight: bold;
}
.p-successor .reason_text strong {
  font-weight: 700;
}
.p-successor .cta {
  position: relative;
  background: url("images/cta_back.jpg") no-repeat center/cover;
  text-align: center;
  padding: 80px 0;
  color: #fff;
}
@media screen and (max-width: 576px) {
  .p-successor .cta {
    padding: 20px 0;
  }
}
.p-successor .cta_inner {
  width: 90%;
  max-width: 1000px;
  margin: 0 auto;
}
.p-successor .cta_message {
  width: 60%;
  margin: 0 auto;
  font-size: 21px;
  margin-bottom: 40px;
  font-weight: bold;
}
@media screen and (max-width: 820px) {
  .p-successor .cta_message {
    width: 100%;
    margin-bottom: 20px;
    font-size: 18px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .cta_message {
    font-size: 14px;
  }
}
.p-successor .cta_btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #d41c1c;
  color: #fff;
  font-size: clamp(22px, 3vw, 40px);
  font-weight: bold;
  padding: 30px 70px;
  border-radius: 100px;
}
@media screen and (max-width: 820px) {
  .p-successor .cta_btn {
    padding: 25px 20px;
    font-size: 20px;
    width: 95%;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .cta_btn {
    padding: 15px 20px;
    font-size: 14px;
  }
}
.p-successor .cta_btn .arrow {
  margin-left: 20px;
  font-size: 24px;
}
@media screen and (max-width: 820px) {
  .p-successor .cta_btn .arrow {
    margin-left: 10px;
    font-size: 18px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .cta_btn .arrow {
    font-size: 12px;
  }
}
.p-successor .faq {
  padding: 80px 0;
  /* active時 → 縦棒を90°回転させて横棒と重なる */
}
@media screen and (max-width: 576px) {
  .p-successor .faq {
    padding: 30px 0;
  }
}
.p-successor .faq_list {
  max-width: 1000px;
  margin: 40px auto 0;
}
.p-successor .faq_item {
  margin-bottom: 30px;
  border: 1px solid #d5d5d5;
}
.p-successor .faq_question {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 20px;
  background: #fff4f2;
  font-size: 18px;
  font-weight: bold;
  border: none;
  cursor: pointer;
  /* ＋アイコン */
}
@media screen and (max-width: 820px) {
  .p-successor .faq_question {
    padding: 10px;
  }
}
.p-successor .faq_question .faq_q {
  color: #d4761c;
  font-weight: bold;
  margin-right: 12px;
  font-size: 25px;
}
@media screen and (max-width: 820px) {
  .p-successor .faq_question .faq_q {
    font-size: 16px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .faq_question .faq_q {
    font-size: 14px;
  }
}
.p-successor .faq_question .faq_text {
  flex: 1;
  text-align: left;
  color: #111;
}
@media screen and (max-width: 820px) {
  .p-successor .faq_question .faq_text {
    font-size: 16px;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .faq_question .faq_text {
    font-size: 14px;
  }
}
.p-successor .faq_question .toggle {
  width: 20px;
  height: 20px;
  position: relative;
  /* 横棒 */
  /* 縦棒 */
}
.p-successor .faq_question .toggle::before, .p-successor .faq_question .toggle::after {
  content: "";
  position: absolute;
  background: #111;
  transition: transform 0.3s ease;
}
.p-successor .faq_question .toggle::before {
  top: 50%;
  left: 0;
  width: 100%;
  height: 2px;
  transform: translateY(-50%);
}
.p-successor .faq_question .toggle::after {
  top: 0;
  left: 50%;
  width: 2px;
  height: 100%;
  transform: translateX(-50%);
}
@media screen and (max-width: 576px) {
  .p-successor .faq_question .toggle {
    width: 14px;
    height: 14px;
  }
  .p-successor .faq_question .toggle::before {
    height: 1px;
  }
  .p-successor .faq_question .toggle::after {
    width: 1px;
  }
}
.p-successor .faq .faq_item.active .faq_question .toggle::after {
  transform: translateX(-50%) rotate(90deg);
}
.p-successor .faq .faq_answer {
  display: none;
  background: #fff;
  padding: 20px;
  font-size: 16px;
  line-height: 1.6;
}
.p-successor .faq_item.active .faq_answer {
  display: block;
}
.p-successor .voice {
  background: #f5f5f5;
  padding: 60px 0 80px;
  /* 上段：プロフィール＋写真を横並びに */
  /* 下段：質問と回答 */
}
@media screen and (max-width: 820px) {
  .p-successor .voice_wrapper {
    width: 75%;
  }
}
@media screen and (max-width: 576px) {
  .p-successor .voice_wrapper {
    width: 90%;
  }
}
.p-successor .voice_title {
  margin-bottom: 40px;
}
@media screen and (max-width: 576px) {
  .p-successor .voice_title {
    margin-bottom: 20px;
  }
}
.p-successor .voice_list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  gap: 30px;
}
@media screen and (max-width: 576px) {
  .p-successor .voice_list {
    grid-template-columns: 1fr;
  }
}
.p-successor .voice_item {
  max-width: 600px;
  border-top: 2px solid #af252d;
  padding: 20px 30px;
  background: #fff;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 576px) {
  .p-successor .voice_item {
    padding: 10px 20px;
  }
}
.p-successor .voice_header {
  display: grid;
  grid-template-columns: 1fr 180px;
  gap: 20px;
  align-items: stretch;
  margin-bottom: 20px;
}
@media screen and (max-width: 576px) {
  .p-successor .voice_header {
    grid-template-columns: 1fr;
  }
}
.p-successor .voice_info {
  font-weight: bold;
}
.p-successor .voice_image {
  width: 100%;
  display: flex;
  align-items: flex-start;
}
.p-successor .voice_image img {
  width: 100%;
  height: auto;
  display: block;
}
@media screen and (max-width: 576px) {
  .p-successor .voice_image img {
    width: 70%;
    margin: 0 auto;
  }
}
.p-successor .voice_content dl {
  margin: 0;
}
.p-successor .voice_content dl dt {
  background: #f9efec;
  padding: 2px 10px;
  font-weight: bold;
  margin-top: 10px;
}
.p-successor .voice_content dl dd {
  padding: 10px;
  margin: 0;
  font-size: 14px;
  line-height: 1.6;
}
.p-successor .fixed-btn {
  line-height: 1.5;
  position: fixed;
  right: 20px;
  bottom: 20px;
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: #d41c1c;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  z-index: 1000;
  cursor: pointer;
  text-decoration: none;
  padding: 8px;
}
.p-successor .fixed-btn:hover {
  opacity: 0.9;
}
.p-successor .fixed-btn .line-0 {
  font-size: 17px;
}
.p-successor .fixed-btn .text-sp {
  display: none;
}
.p-successor .fixed-btn .text-pc {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-successor .fixed-btn .arrow {
  font-size: 0.7em;
  vertical-align: middle;
}
@media (max-width: 576px) {
  .p-successor .fixed-btn {
    width: 100%;
    height: 50px;
    border-radius: 0;
    right: 0;
    bottom: 0;
    font-size: 16px;
    line-height: 60px;
    justify-content: center;
  }
  .p-successor .fixed-btn .text-pc {
    display: none;
  }
  .p-successor .fixed-btn .text-sp {
    display: inline;
  }
  .p-successor .fixed-btn .arrow {
    font-size: 0.5em;
  }
}
/*# sourceMappingURL=style-successor.css.map */