.cta__top {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 22px;
  margin-bottom: 40px;
}

.cta__top .cta__top-item {
  border-radius: 20px;
  overflow: hidden;
}

.cta__top dl {
  display: flex;
}

.cta__top-item.cta__top-item--1 {
  background: #FFFDE2;
}

.cta__top-item.cta__top-item--1 .title,
.cta__top-item.cta__top-item--1 .link {
  color: #5CA431;
}

.cta__top-item.cta__top-item--2 {
  background: #FFF3F4;
}

.cta__top-item.cta__top-item--2 .title,
.cta__top-item.cta__top-item--2 .link {
  color: #FE7D90;
}

.cta__top dt {
  flex-basis: 214.76px;
}

.cta__top dd {
  flex: auto;
  padding: 15px 37px;
  align-self: center;
}

.cta__top .title {
  font-weight: bold;
  margin-bottom: 10px;
}

.cta__top-item.cta__top-item--1 .title {
  font-size: 30px;
}

.cta__top-item.cta__top-item--2 .title {
  font-size: 25px;
  margin-top: -5px;
}

.cta__top p {
  font-size: 17px;
  line-height: calc(28/17);
}

.cta__top .link {
  font-weight: bold;
  margin-top: 13.5px;
}

.cta__top .lbl {
  font-size: 14px;
  color: #fff;
  background: #FE7D90;
  border-radius: 999px;
  padding: 0px 12px;
  display: inline-block;
  line-height: 1.5;
}

.cta__top a:hover {
  opacity: .7;
}

.cta__box {
  display: block;
  padding: 15px;
  position: relative;
}

.cta__box:hover {
  opacity: .7;
}

.cta__box .inner {
  border: 2px solid #FE7D90;
  padding: 0 20px;
}

.cta__box .wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 1040px;
  margin: 0 auto;
}

.cta__box .inner .image {
  display: flex;
  align-items: center;
  margin-top: -12px;
  flex-shrink: 0;
}

.cta__box .inner .image .fig {
  max-width: 102px;
  position: relative;
  top: 17px;
  margin-left: 39px;
  /* z-index: -1; */
}

.cta__box .inner .image .text {
  max-width: 276.39px;
  position: relative;
  top: 12px;
}

.cta__box .lbl {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 176px;
  height: 43px;
  background: #FE7D90;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 18px;
  font-weight: bold;
  color: #fff;
}

.cta__box .lbl:before {
  content: '';
  width: 0px;
  height: 0px;
  border-style: solid;
  border-width: 0 0 43px 16px;
  border-color: transparent transparent #fe7d90 transparent;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(-100%);
}

.cta__box .inner .content {
  flex-basis: 574px;
  flex-shrink: 0;
  margin-left: 30px;
  margin-top: -12px;
}

.cta__box .content .box {
  display: flex;
  align-items: center;
}

.cta__box .box__item.box__item--1 {
  width: 43.37%;
}

.cta__box .box__item.box__item--2 {
  width: 53.65%;
}

.cta__box .content .box>svg {
  margin: 0 -11px;
  position: relative;
}

.cta__box .box__item {
  background: #FFF3F4;
  min-height: 113px;
  border-radius: 10px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  padding: 15px;
  font-weight: bold;
}

.cta__box .box__item.box__item--1 p {
  font-size: 17px;
  line-height: calc(28/17);
}

.cta__box .box__item.box__item--1 p strong {
  font-size: 36px;
  line-height: 1.2;
}

.cta__box .box__item.box__item--2 p {
  font-size: 20px;
  line-height: 1.3;
  /* display: flex; */
  /* flex-direction: column; */
  /* width: 100%; */
  margin-top: -20px;
}

.cta__box .box__item.box__item--2 p strong {
  font-size: 22px;
}

.cta__box .box__item.box__item--2 p small {
  font-size: 13px;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
  text-align: left;
  font-weight: 500;
}

.cta__box .box__item.box__item--2 p span {
  position: relative;
  /* flex-direction: column; */
}

.cta__box:before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 6px solid #FE7D90;
  z-index: 1;
  pointer-events: none;
  box-sizing: border-box;
}

section.cta {
  padding: 120px 0;
}

section#difference .intro {
  text-align: center;
  margin-bottom: 50px;
}

section#difference .intro__lbl {
  width: 220.42px;
  margin: 0 auto 11.7px;
  line-height: 1;
}

section#difference .intro__ttl {
  font-size: 26px;
  font-weight: bold;
  margin-bottom: 10px;
}

section#difference .intro__ttl span {
  color: #FF7D90;
}

section#difference .c-table th {
  text-align: center;
}

section#salary-difference {
  padding-top: 120px;
}

section#salary-difference .intro {
  text-align: center;
  margin-bottom: 60px;
}

section#salary-difference .intro .title {
  font-size: 26px;
}

section#salary-difference .intro .title strong {
  font-size: 32px;
  background: linear-gradient(to bottom, #FF7B8E, #FF90A3);
  color: #fff;
  display: inline-block;
  line-height: 1.3;
  padding: 0 10px;
  margin-left: 7px;
}

section#salary-difference .intro .p1 {
  font-weight: bold;
}

section#salary-difference .intro .p2 {
  font-weight: bold;
  margin-top: 30px;
}

section#salary-difference .intro .p2 span {
  color: #FE7D90;
}

section#salary-difference .c-table tr>* {
  text-align: center;
}

section#salary-difference .c-table {
  margin-bottom: 40px;
  margin-top: 40px;
}

section#salary-difference .list__item:not(:first-child) {
  margin-top: 50px;
}

section#salary-difference .list__item .c-ttl01 {
  margin-bottom: 40px;
}

section#benefits {
  background: #FFF2F4;
  padding: 120px 0;
}

.c-boxContent {
  background: #FFF;
  box-shadow: 0 6px 16px rgba(0, 0, 0, .16);
  border-radius: 20px;
  padding: 50px 15px 45px;
}

.c-boxContent__inner {
  max-width: 1200px;
  margin: 0 auto;
}

.c-boxContent h3 {
  background: linear-gradient(to bottom, #FF7B8E, #FF90A3);
  font-size: 20px;
  font-weight: bold;
  color: #FFF;
  padding: 7px 16.5px;
  margin-bottom: 20px;
}

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

.c-boxContent p span {
  background: #FFF6C6;
}

.c-boxContent .p1 {
  font-weight: 500;
  margin-top: 5px;
}

.c-boxContent__list .item:not(:first-child) {
  margin-top: 50px;
}

.c-boxContent a {
  text-decoration: underline;
  color: #FE7D90;
  text-underline-offset: 5px;
}

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

section#duties .intro {
  text-align: center;
  margin-bottom: 70px;
}

section#duties .intro__lbl {
  width: 220.42px;
  max-width: 100%;
  margin: 0 auto 11.7px;
}

section#duties .intro__ttl {
  font-size: 26px;
  font-weight: bold;
  line-height: calc(47/26);
}

section#duties .intro__ttl span {
  color: #FF7D90;
}

section#why {
  background: #FFF2F4;
  padding: 120px 0;
}

section#duties {
  padding-bottom: 120px;
}

section#why .list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20.5px;
}

section#why .list__item {
  background: #FFF;
  border-radius: 20px;
  box-shadow: 0 6px 30px rgba(0, 0, 0, .16);
  overflow: hidden;
}

section#why .list__item .title {
  background: linear-gradient(to bottom, #FF7B8E, #FF90A3);
  font-size: 24px;
  font-weight: bold;
  text-align: center;
  color: #FFF;
  min-height: 71px;
  display: flex;
  align-items: center;
  justify-content: center;
}

section#why .list__item .content {
  padding: 30px 22px;
}

section#why .list__item li {
  position: relative;
  font-weight: bold;
  padding-left: 15px;
}

section#why .list__item li:before {
  content: '';
  position: absolute;
  top: 11px;
  left: 0;
  width: 7px;
  height: 7px;
  background: #FE7D90;
  border-radius: 50%;
}

section#why .list__item ul {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 5px;
}

section#chart {
  padding: 120px 0;
}

section#chart .intro {
  text-align: center;
  font-weight: bold;
  margin-bottom: 45px;
  line-height: 2.2;
}

section#chart .intro span {
  color: #FF7D90;
}

section#chart .intro strong {
  font-size: 20px;
  /* line-height: calc(47/20); */
  /* margin-top: 5px; */
  display: inline-block;
  position: relative;
  /* top: -20px; */
}

section#chart .chart {
  max-width: 970px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}

section#chart .chart .info {
  flex-basis: 175px;
  flex-shrink: 0;
}

section#chart .chart .image {
  position: relative;
}

section#chart .chart .image__chart {
  max-width: 619px;
}

section#chart .chart .image__fig {
  position: absolute;
  top: 28.6px;
  width: 78.32px;
  right: -44px;
  z-index: -1;
}

section#chart .chart .info dl {
  display: flex;
  align-items: center;
  font-weight: bold;
}

section#chart .chart .info dt {
  width: 11px;
  height: 11px;
  flex-shrink: 0;
  margin-right: 8px;
}

section#recommend {
  background: #FFF2F4;
  padding: 120px 0;
}

section#recommend .box {
  background: #fff;
  display: flex;
  border-radius: 20px;
  padding: 50px;
  align-items: center;
}

section#recommend .image {
  flex-basis: 363.97px;
}

section#recommend .content {
  flex: auto;
  padding-left: 40px;
}

section#recommend .content li {
  display: flex;
  align-items: flex-start;
}

section#recommend .content li .icon {
  flex-basis: 33.5px;
  flex-shrink: 0;
  margin-right: 8.5px;
}

section#recommend .content li p {
  font-size: 20px;
  font-weight: bold;
  line-height: calc(28.8/20);
}

section#recommend .content li .note {
  font-size: 14px;
  font-weight: 500;
}

section#recommend .content ul {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 19px;
}

section#recommend .content li p span {
  color: #FF7D90;
}

section#recommend .content li>div {
  padding-top: 2px;
}

section#opencampus {
  background: #FBF8F9;
  padding: 120px 0;
  overflow: hidden;
}

.op-wrap {
  position: relative;
}

.op-fig1 {
  position: absolute;
  width: 296.96px;
  top: -50px;
  left: -140px;
}

.op-fig2 {
  position: absolute;
  width: 208.37px;
  bottom: -115px;
  right: -145px;
}

@media (min-width: 768px) {
  a.c-campusList__item {
    width: calc(25% - 20px);
  }
}

.c-campusList {
  max-width: 100%;
}

._category._category--head {
  color: #FFF;
  height: 57px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 18px;
  margin-bottom: 20px;
  border-radius: 10px;
}

@media (max-width: 1140px) {
  .cta__box .wrap {
    flex-direction: column;
  }

  .cta__box .inner .content {
    flex-basis: unset;
    margin: 0;
  }

  .cta__box .inner .image {
    margin-top: 0;
  }

  .cta__box .inner .image .fig {
    top: 0;
  }

  .cta__box .inner {
    padding: 30px 20px 45px;
  }

  ._category._category--head {
    font-size: 14px;
    height: 50px;
  }
}

@media (max-width: 767px) {
  a.c-campusList__item {
    width: calc(25% - 10px);
  }

  section.cta {
    padding: 80px 0;
  }

  .cta__top {
    grid-template-columns: repeat(1, minmax(0, 1fr));
  }

  .cta__top dl {
    display: block;
  }

  .cta__top dd {
    padding: 20px 20px 30px;
  }

  .cta__top p {
    font-size: 15px;
    line-height: calc(25.5/15);
  }

  .cta__top .link {
    font-size: 16px;
  }

  .cta__top-item.cta__top-item--2 .title {
    font-size: 24px;
    margin-top: -2.5px;
  }

  .cta__top .title {
    margin-bottom: 5px;
  }

  .cta__top {
    margin-bottom: 20px;
  }

  .cta__box .content .box {
    display: block;
  }

  .cta__box .box__item {
    width: 100% !important;
    padding: 20px 15px;
  }

  .cta__box .box__item.box__item--2 p {
    font-size: 16px;
    margin-top: -10px;
    line-height: 1.4;
  }

  .cta__box .box__item.box__item--2 p strong {
    font-size: 20px;
  }

  .cta__box .box__item.box__item--2 p small {
    font-size: 10px;
    bottom: -2px;
  }

  .cta__box .content .box>svg {
    margin: -15px auto;
    width: 38px;
    height: 38px;
    display: block;
  }

  section#difference .intro__lbl {
    width: 180px;
    margin-bottom: 6px;
  }

  section#difference .intro__ttl {
    font-size: 18px;
  }

  section#difference .intro {
    margin-bottom: 35px;
  }

  section#salary-difference {
    padding-top: 80px;
  }

  section#salary-difference .intro .title {
    font-size: 18px;
  }

  section#salary-difference .intro .title strong {
    font-size: 22px;
    margin-left: 0;
  }

  section#salary-difference .intro .p2 {
    margin-top: 20px;
  }

  section#salary-difference .intro {
    margin-bottom: 40px;
  }

  section#salary-difference .c-table {
    margin-top: 30px;
    margin-bottom: 30px;
  }

  section#salary-difference .list__item .c-ttl01 {
    margin-bottom: 30px;
  }

  section#benefits {
    padding: 80px 0;
  }

  .c-boxContent {
    padding: 35px 15px;
  }

  .c-boxContent h3 {
    font-size: 16px;
    padding: 5px 12px;
    margin-bottom: 15px;
  }

  .c-boxContent__list .item:not(:first-child) {
    margin-top: 30px;
  }

  section#duties .intro__lbl {
    width: 110.21px;
    margin-bottom: 6px;
  }

  section#duties .intro__ttl {
    font-size: 18px;
  }

  section#duties .intro {
    margin-bottom: 40px;
  }

  section#duties {
    padding-bottom: 80px;
  }

  section#why {
    padding: 80px 0;
  }

  section#why .list {
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 25px;
  }

  section#why .list__item .title {
    font-size: 18px;
    min-height: 50px;
  }

  section#why .list__item .content {
    padding: 20px 15px 25px;
  }

  section#why .list__item li:before {
    top: 10px;
  }

  section#introduction {
    padding: 80px 0;
  }

  section#chart {
    padding: 80px 0;
  }

  section#chart .intro strong {
    font-size: 17px;
  }

  section#chart .chart {
    flex-direction: column-reverse;
  }

  section#chart .chart .image__chart {
    max-width: 310px;
    margin-bottom: 20px;
  }

  section#chart .chart .image__fig {
    width: 39px;
    top: 14px;
    right: -22px;
  }

  section#recommend {
    padding: 80px 0;
  }

  section#recommend .box {
    display: block;
    padding: 30px 15px 35px;
  }

  section#recommend .content {
    padding-left: 0;
    margin-top: 25px;
  }

  section#recommend .content li .icon {
    flex-basis: 25px;
  }

  section#recommend .content li .icon svg {
    width: 25px;
  }

  section#recommend .content li p {
    font-size: 17px;
  }

  section#recommend .content li .note {
    font-size: 13px;
  }

  section#recommend .content li>div {
    padding-top: 4px;
  }

  section#recommend .content ul {
    gap: 15px;
  }

  section#opencampus {
    padding: 80px 0;
  }

  .op-fig1 {
    width: calc(296.96px/2);
    top: -25px;
    left: -70px;
  }

  .op-fig2 {
    width: calc(208.37px/2);
    bottom: calc(-115px/2);
    right: calc(-145px/2);
  }

  a.c-campusList__item {
    width: 48.5%;
  }

  ._category._category--head {
    font-size: 11px;
    height: 40px;
    margin-bottom: 10px;
  }
}

/* 2025-09-03 */
@media (max-width: 767px) {
  .cta__box .inner .image .text {
    width: 77.4%;
    top: 0;
  }

  .cta__box .inner .image .fig {
      width: 19.83%;
      margin-left: 0;
      margin-top: 6.4px;
  }

  .cta__box .inner .image {
      align-items: flex-start;
  }
}

/* 2025-09-04 */
.c-table .bg-pinkbold {
    background: #FF7F92!important;
}

.c-boxContent a {
    color: #333;
}

h3.ttl.ttl--ja.color-pinkbold {
    color: #FF7D90;
}

@media (max-width: 767px) {
  .c-table.c-table--2cols table {
    width: 100%;
  }
}