body {
   counter-reset: section-counter;
}

.wrapper {
   width: 80%;
   max-width: 1440px;
   margin: 0 auto;
}

.wrapper-min {
   width: 90%;
   max-width: 1200px;
   margin: auto;
}

/* セクションタイトル */
.title {
   font-size: 34px;
   font-weight: bold;
   /* レビュー追加：最初に追加 */
   line-height: 1.3;
   display: flex;
   align-items: center;
   margin-top: 60px;
   margin-bottom: 40px;
   counter-increment: section-counter;
   color: #2ebbd3;
}

.title::before {
   font-size: 30px;
   font-weight: bold;
   display: flex;
   align-items: center;
   justify-content: center;
   width: 60px;
   height: 60px;
   margin-right: 10px;
   content: counter(section-counter, decimal-leading-zero);
   color: #fff;
   border-radius: 50%;
   background: #2ebbd3;
}

/* フォントの調整 */
.sub-title-01,
.sub-title {
   font-size: 24px;
   font-weight: bold;
}

.achievement-title {
   font-size: 20px;
   font-weight: bold;
}

.caption {
   font-size: 20px;
   font-weight: bold;
}

.attention {
   font-size: 16px;
}

/* セクション01,02の画像ヨコ並び */
.curriculum_image,
.certification-image {
   display: flex;
   flex-wrap: wrap;
   justify-content: center;
   margin-top: 60px;

   gap: 20px;
}

.curriculum_image div,
.certification-image div {
   display: flex;
   flex-direction: column;
   width: 30%;
   min-width: 250px;
   text-align: center;

   gap: 20px;
}

.curriculum_image img,
.certification-image img {
   width: 100%;
   height: auto;
   border-radius: 8px;
}

/* レビュー追加2.26：変えたところだけ残す */
@media (max-width: 570px) {

   .curriculum_image div,
   .certification-image div {
      width: 100%;
   }

   .curriculum_image div {
      margin-top: 50px;
   }

   .title {
      font-size: 26px;
      flex-direction: column;

      gap: 20px;
   }
}

/* セクション03,04,05の画像タテ並び */
.course-inner,
.support-inner,
.event-inner {
   display: flex;
   align-items: flex-start;
   flex-wrap: wrap;
   justify-content: space-between;
   margin-bottom: 3rem;

   gap: 2rem;
}

.course-text,
.support-text,
.event-text {
   width: 50%;
}

.course-image,
.support-image,
.event-image {
   flex: 1;
   max-width: 400px;
   text-align: center;
}

.course-image img,
.support-image img,
.event-image img {
   width: 100%;
   height: auto;
   margin-bottom: 20px;
   border-radius: 8px;
}

@media (max-width: 570px) {

   .course-inner,
   .support-inner,
   .event-inner {
      align-items: center;
      flex-direction: column;
   }

   .course-text,
   .support-text,
   .event-text {
      width: 100%;
      text-align: left;
   }

   .course-image,
   .support-image,
   .event-image {
      max-width: 100%;
   }
}

/* 合格実績の背景色 */
.achievement-inner {
   padding: 30px;
   border-radius: 20px;
   background-color: #2ebbd333;
}

/* 合格実績の横並び */
.achievement-inner {
   display: flex;
   flex-wrap: wrap;

   gap: 2rem;
   /* ブロック間の余白 */
}

.achievement-inner>div {
   flex: 1;
   min-width: 300px;
   /* モバイル対応用 */
}

.hair-text {
   margin-bottom: 20px;
}

/* 合格実績の注意書き */
.achievement-text {
   display: flex;
   align-items: center;
   /* 下に余白を追加 */
   flex-wrap: wrap;
   /* 要素間のスペース調整 */
   margin-bottom: 1rem;

   gap: 1rem;
   /* スマホなどで折り返せるように */
}

/* ハッシュタグ風デザイン */
.certification-section h3::before,
.course-section h3::before,
.support-section h3::before,
.event-section h3::before {
   font-weight: bold;
   margin-right: 5px;
   content: "#";
   color: #2ebbd3;
}

/* 余白調整 */

.curriculum_section {
   margin-top: 200px;
}


p.lead {
   margin-bottom: 60px;
}

.sub-title:not(.sub-title-01) {
   margin-bottom: 30px;
}

.certification-image>div:first-child {
   margin-right: 100px;
}

.achievement-text {
   margin-top: 60px;
}

/* レビュー追加2.42：インターンシップ画像サイズ */
@media (max-width: 570px) {
   .certification-image>div:first-child {
      margin-right: 0;
   }
}

.event-inner {
   margin-bottom: 200px;
}