@charset "UTF-8";

/* -------------------------------------
        p-mv
-----------------------------------------*/
.p-mv {
  background: transparent url(../../img/gas3/mv-bg.jpg) no-repeat center bottom/cover;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-mv {
    background-image: url(../../img/gas3/mv-bg_sp.jpg);
    overflow: hidden;
  }
}
.p-mv__inner {
  max-width: min(88.5vw, 1688px);
}
@media screen and (max-width: 992px) {
  .p-mv__inner {
    max-width: 900px;
  }
}
.p-mv__content {
  gap: min(1.88vw,60px);
}
@media screen and (max-width: 767px) {
  .p-mv__content {
    gap: 19px;
  }
}
.p-mv__text-area {
  max-width: min(40.25vw, 674px);
}
@media screen and (max-width: 992px) {
  .p-mv__text-area {
    max-width: 100%;
  }
}
.p-mv__title {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
}
.p-mv__title > span:nth-child(1) {
  width: 100%;
}
.p-mv__title .box {
  background-color: #fff;
  border: 3px solid #C54199;
  border-radius: min(0.63vw,10px);
  color: #C54199;
  display: inline-block;
  font-size: min(1.63vw,26px);
  line-height: 1;
  margin-left: min(0.94vw,15px);
  margin-top: min(0.5vw,8px);
  padding-block: min(0.25vw,4px) min(0.5vw,8px);
  text-align: center;
  width: min(10.56vw,169px);
}
@media screen and (max-width: 767px) {
  .p-mv__title .box {
    border-radius: 5px;
    border-width: 2px;
    padding-block: 3px 5px;
    font-size: 16px;
    margin-top: 5px;
    width: 100px;
  }
}
.p-mv__title .box span {
  font-size: min(2.5vw,40px);
}
@media screen and (max-width: 767px) {
  .p-mv__title .box span {
    font-size: 20px;
  }
}
.p-mv__text {
  max-width: min(36.88vw, 674px);
  border-bottom: 1px solid #B3B3B3;
  margin-bottom: min(2vw, 38.4px);
  padding-bottom: min(2vw, 38.4px);
}
@media screen and (max-width: 767px) {
  .p-mv__text {
    max-width: 100%;
  margin-bottom: 26px;
  padding-bottom: 26px;
  }
}
.p-mv__list {
  border: none;
  margin-top: 0;
  padding-top: 0;
}
.p-mv__list-item {
  font-size: min(1.25vw, 20px);
}
@media screen and (max-width: 767px) {
  .p-mv__list-item {
    font-size: 1.5rem;
  }
}
.p-mv__img-area {
  border: 10px solid #fff;
  border-radius: 500px;
  width: calc(740 / 1286 * 100%);
}
@media screen and (max-width: 1920px) {
  .p-mv__img-area {
    border-bottom-right-radius: 0;
    border-right: none;
    border-top-right-radius: 0;
  }
}
@media screen and (max-width: 767px) {
  .p-mv__img-area {
    width: 100%;
  }
}

/* -------------------------------------
        p-about
-----------------------------------------*/
.p-about__detail-case {
  background-color: #F8F3FF;
  border-radius: 30px;
  padding: 60px 56px;
}
@media screen and (max-width: 992px) {
  .p-about__detail-case {
    padding: 30px 20px;
  }
}
.p-about__detail-case + * {
  margin-top: 50px;
}
.p-about__detail-case-title {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.5909090909;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about__detail-case-title {
    font-size: 1.8rem;
  }
}
.p-about__detail-case-title + * {
  margin-top: 20px;
}
.p-about__detail-case-list.l-grid {
  gap: 36px 39px;
}
.p-about__detail-case-list.l-grid + * {
  margin-top: 20px;
}
.p-about__detail-case-image {
  border-radius: 18px;
  overflow: hidden;
}
.p-about__detail-case-image + * {
  margin-top: 10px;
}
.p-about__detail-case-text {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.6111111111;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about__detail-case-text {
    font-size: 1.5rem;
  }
}
.p-about__detail-case-caption {
  display: flex;
  font-size: 1.4rem;
  line-height: 1.7857142857;
}
@media screen and (max-width: 767px) {
  .p-about__detail-case-caption {
    font-size: 1.3rem;
  }
}
.p-about__detail-case-caption::before {
  content: "※";
  display: inline-block;
}
.p-about__lecture.--bg {
  align-items: flex-start;
  background-color: #F8F8F8;
  border-radius: 30px;
  border: none;
  flex-direction: column;
  gap: 15px;
  padding: 50px 70px;
}
@media screen and (max-width: 992px) {
  .p-about__lecture.--bg {
    padding: 30px 20px;
  }
}
.p-about__lecture.--bg .p-about__lecture-item {
  align-items: center;
  border-bottom: 1px solid #CCCCCC;
  padding-bottom: 15px;
  width: 100%;
}
.p-about__target {
  background-color: #F8F3FF;
  border-radius: 30px;
  padding: 60px;
}
@media screen and (max-width: 767px) {
  .p-about__target {
    padding: 40px 20px;
  }
}
.p-about__target > * {
  margin-inline: auto;
  max-width: 840px;
}
.p-about__target + * {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .p-about__target + * {
    margin-top: 40px;
  }
}
.p-about__target + *.p-about__courses {
  margin-top: 70px;
}
@media screen and (max-width: 767px) {
  .p-about__target + *.p-about__courses {
    margin-top: 30px;
  }
}
.p-about__target-title {
  align-items: center;
  display: flex;
  font-size: 2.4rem;
  font-weight: 500;
  gap: 18px;
  justify-content: center;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .p-about__target-title {
    font-size: 1.8rem;
  }
}
.p-about__target-title::before, .p-about__target-title::after {
  background-color: #222;
  content: "";
  display: block;
  height: 1px;
  width: 23px;
}
.p-about__target-title + * {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .p-about__target-title + * {
    margin-top: 30px;
  }
}
.p-about__target-timeline picture {
  display: block;
  width: 100%;
}
.p-about__target-timeline picture img {
  width: 100%;
}
.p-about__target-timeline + * {
  margin-top: 40px;
}
.p-about__target-list.l-grid {
  gap: 30px;
}
@media screen and (max-width: 992px) {
  .p-about__target-list.l-grid {
    grid-template-columns: repeat(1, 1fr);
  }
}
.p-about__target-list.l-grid + * {
  margin-top: 40px;
}
.p-about__target-item {
  background-color: #fff;
  border: 3px solid #E5D8E0;
  border-radius: 30px;
  padding: 37px 27px;
}
@media screen and (max-width: 767px) {
  .p-about__target-item {
    border-width: 2px;
    padding: 28px 13px;
  }
}
.p-about__target-h4 p {
  background-color: #C54199;
  border-radius: 30px;
  color: #fff;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.0625;
  margin-inline: auto;
  padding-inline: 15px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (max-width: 767px) {
  .p-about__target-h4 p {
    font-size: 1.3rem;
  }
}
.p-about__target-h4 p + * {
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .p-about__target-h4 p + * {
    margin-top: 10px;
  }
}
.p-about__target-h4 h4 {
  font-size: 2.2rem;
  font-weight: 500;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about__target-h4 h4 {
    font-size: 1.6rem;
  }
}
.p-about__target-h4 + * {
  margin-top: 15px;
}
.p-about__target-text {
  font-size: 1.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-about__target-text {
    font-size: 1.3rem;
  }
}
.p-about__target-text + * {
  margin-top: 26px;
}
.p-about__target-pic + * {
  margin-top: 20px;
}
.p-about__target-requirements {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.p-about__target-requirements-item {
  border: 2px solid #C54199;
  font-size: 1.8rem;
  letter-spacing: 0.04em;
  max-width: 320px;
  padding: 8px;
  text-align: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-about__target-requirements-item {
    font-size: 1.6rem;
  }
}
.p-about__target-requirements-item em {
  color: #C54199;
  font-weight: 700;
  font-style: normal;
}
.p-about__target-requirements-item .pink {
  color: #C54199;
  font-weight: 700;
}
.p-about__target-requirements-item .years {
  font-size: 2.4rem;
}
@media screen and (max-width: 767px) {
  .p-about__target-requirements-item .years {
    font-size: 2rem;
  }
}
.p-about__target-requirements-plus {
  aspect-ratio: 1/1;
  background: url(../../img/gas3/about-requirements-plus.png) 50%/contain no-repeat;
  display: block;
  width: 30px;
}
@media screen and (max-width: 767px) {
  .p-about__target-requirements-plus {
    width: 20px;
  }
}
.p-about__caution + * {
  margin-top: 40px;
}
.p-about__caution-list li::before {
  -webkit-mask: url(../../img/icon/icon-alert.svg) 50%/contain no-repeat;
          mask: url(../../img/icon/icon-alert.svg) 50%/contain no-repeat;
}
.p-about__detail-link.blank::after {
  -webkit-mask: url(../../img/icon/icon_blank.svg) 50%/contain no-repeat;
          mask: url(../../img/icon/icon_blank.svg) 50%/contain no-repeat;
}

/* -------------------------------------
        p-complete
-----------------------------------------*/
.p-complete::before {
  background: url(../../img/top/complete-bg-left.png) 50%/contain no-repeat;
}
@media screen and (max-width: 767px) {
  .p-complete::before {
    background-image: url(../../img/top/complete-bg_sp.png);
  }
}
.p-complete::after {
  background: url(../../img/top/complete-bg-right.png) 50%/contain no-repeat;
}
.p-complete__list-caption {
  align-items: flex-start;
  display: flex;
  justify-content: center;
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .p-complete__list-caption {
    margin-top: 5px;
  }
}
.p-complete__list-caption::before {
  content: "※";
  display: inline-block;
  font-size: 1.2rem;
  line-height: 2.1666666667;
}
@media screen and (max-width: 767px) {
  .p-complete__list-caption::before {
    font-size: 1rem;
  }
}
.p-complete__list-caption small {
  font-size: 1.2rem;
  line-height: 2.1666666667;
}
@media screen and (max-width: 767px) {
  .p-complete__list-caption small {
    font-size: 1rem;
  }
}

/* -------------------------------------
        p-merit
-----------------------------------------*/
@media screen and (max-width: 767px) {
  .p-merit__table th, .p-merit__table td {
    padding: 10px;
  }
}
.p-merit__table th:nth-child(1) {
  width: 53.4274193548%;
}
@media screen and (max-width: 767px) {
  .p-merit__table th:nth-child(1) {
    width: 46%;
  }
}
.p-merit__table th:nth-child(2) {
  padding-inline: 14px;
  width: 6.0483870968%;
}
@media screen and (max-width: 767px) {
  .p-merit__table th:nth-child(2) {
    width: 13%;
  }
}
.p-merit__table th:nth-child(3) {
  width: 39%;
}
@media screen and (max-width: 767px) {
  .p-merit__table th:nth-child(3) {
    width: 41%;
  }
}
.p-merit__table td {
  padding-inline: 20px;
}
@media screen and (max-width: 767px) {
  .p-merit__table td {
    padding: 10px;
  }
}
.p-merit__table td:nth-child(1) {
  width: 53.4274193548%;
}
@media screen and (max-width: 767px) {
  .p-merit__table td:nth-child(1) {
    width: 46%;
  }
}
.p-merit__table td:nth-child(2) {
  width: 6.0483870968%;
  padding-inline: 14px;
}
@media screen and (max-width: 767px) {
  .p-merit__table td:nth-child(2) {
    padding-inline: 5px;
    width: 13%;
  }
}
.p-merit__table td:nth-child(3) {
  width: 39%;
}
@media screen and (max-width: 767px) {
  .p-merit__table td:nth-child(3) {
    width: 41%;
    padding: 10px;
  }
}
.p-merit__table td .mn {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-merit__table td .mn {
    font-size: 1.2rem;
  }
}
.p-merit__table td small {
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  .p-merit__table td small {
    font-size: 1.2rem;
  }
}
.p-merit__movie-title {
  color: #D43960;
}
.p-merit__movie-btn .c-btn {
  border-color: #D43960;
  color: #D43960;
}
.p-merit__movie-btn .c-btn:hover, .p-merit__movie-btn .c-btn:focus-visible {
  background-color: #D43960;
  color: #fff;
}
/* -------------------------------------
        p-flow
-----------------------------------------*/
.p-flow__h6 {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 1.2222222222;
}
@media screen and (max-width: 767px) {
  .p-flow__h6 {
    font-size: 1.6rem;
  }
}
.p-flow__h6 + * {
  margin-top: 15px;
}
@media screen and (max-width: 767px) {
  .p-flow__h6 + * {
    margin-top: 8px;
  }
}
.p-flow__sub-step.--bgnone {
  background-color: transparent;
  margin-top: 40px;
  padding: 0;
}
@media screen and (max-width: 767px) {
  .p-flow__sub-step.--bgnone {
    margin-top: 20px;
  }
}
.p-flow__sub-step.--bgnone + .p-flow__sub-title {
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .p-flow__sub-step.--bgnone + .p-flow__sub-title {
    margin-top: 20px;
  }
}
.p-flow__list:first-child {
  margin-top: 0;
}
.p-flow__list li.has-inner {
  text-indent: initial;
}
.p-flow__list li.has-inner::before {
  display: none;
}
.p-flow__list li.has-inner .inner {
  text-indent: -0.7em;
}
.p-flow__list li.has-inner .inner::before {
  content: "";
  width: 4px;
  height: 4px;
  display: inline-block;
  background-color: #222;
  border-radius: 50%;
  margin-right: 8px;
  margin-bottom: 3px;
}
.p-flow__list li.has-inner .p-flow__note-area {
  margin-top: 5px;
}
.p-flow__list li em {
  color: #C54150;
  font-style: normal;
  font-weight: 700;
}
.p-flow__list + *.p-flow__h6 {
  margin-top: 40px;
}
.p-flow__text a {
  text-decoration: underline;
}
.p-flow__text a:hover, .p-flow__text a:focus-visible {
  opacity: 0.8;
}