@charset "UTF-8";

.f-red{}



/* ========================================
    @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px), print {

/* page-hero
-------------------------------------*/
.page-hero {
  width: calc(100% - calc(min(4.65vw, 8rem)));
  position: relative;
  background-color: var(--color-bg-gray);
}
.page-hero::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: min(4.65vw, 8rem);
  transform: translateX(100%);
  height: 100%;
  background: url(../images/common/bg-blue-texture.jpg) repeat;
  z-index: 1;
}

.page-hero__inner {
  position: relative;
  width: min(95%, 128rem);
  padding-top: clamp(4.6rem, 12.5vw - 5rem, 12.5rem);
  margin-inline: auto;
  z-index: 1;
  transform: translateX(clamp(0rem, 9.038vw - 12.654rem, 4.7rem)); /* 1400px ~ 1920px */
}

.page-hero__frame {
  position: relative;
  width: min(100%, 128rem);
  margin-inline: auto;
  color: #fff;
  z-index: 1;
}
.page-hero__frame::before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../images/page-coaching/hero-bg.png) no-repeat top center / 100% auto;
  aspect-ratio: 1280 / 500;
  z-index: 0;
}
.page-hero__frame::after {
  content: "";
  position: absolute;
  bottom: 0rem;
  right: 3rem;
  width: clamp(12rem, 27.057vw - 8.78rem, 29.1rem);
  height: auto;
  aspect-ratio: 292 / 170;
  z-index: 0;
  background: url(../images/page-coaching/hero-deco.svg) no-repeat center center / 100% auto;
}

.page-hero__contentWrap {
  position: relative;
  width: min(87%, 112rem);
  margin-inline: auto;
  padding-bottom: clamp(3.1rem, 8.703vw - 3.584rem, 8.6rem);
  z-index: 1;
}
.page-hero__caption {
  position: relative;
  padding-top: clamp(1rem, 2.532vw - 0.944rem, 2.6rem);
  padding-left: clamp(1rem, 2.532vw - 0.944rem, 2.6rem);
  font-size: clamp(1.2rem, 0.26vw + 1rem, 1.5rem);
}
.page-hero__caption::after {
  content: "";
  position: absolute;
  bottom: clamp(-1.2rem, -0.949vw + 0.129rem, -0.6rem);
  left: clamp(0.8rem, 2.532vw - 1.144rem, 2.4rem);
  width: 4rem;
  height: 1px;
  background-color: #fff;
}
.page-hero__textWrap {
  position: relative;
  text-align: center;
}
.page-hero__title-en {
  position: relative;
  width: clamp(62.1rem, 78.956vw + 1.462rem, 112rem);
  padding-top: clamp(2rem, 3.165vw - 0.43rem, 4rem);
}
.page-hero__title-caption {
  margin-top: -4.8rem;
  font-size: clamp(1.4rem, 2.215vw - 0.301rem, 2.8rem);
  font-weight: 400;
  line-height: calc(29 / 16);
  letter-spacing: 0;
}
.page-hero__title-caption span {
  margin-left: 1.3rem;
  padding: 0.4rem 0.7rem 0.4rem 1.3rem;
  letter-spacing: 0.08em;
  color: var(--color-main);
  background-color: #fff;
}
.page-hero__title-caption img {
  margin-left: 1rem;
  transform: translate(0.4rem, clamp(-0.8rem, -0.434vw + 0.033rem, -0.3rem));
  height: clamp(2rem, 1.389vw + 0.933rem, 3.6rem);
}
.page-hero__pageTitle {
  margin-top: clamp(0rem, 1.128vw - 0.867rem, 1.3rem);
  font-size: clamp(3.4rem, 4.114vw + 0.241rem, 6rem);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  position: relative;
  z-index: 10;
}
.page-hero__pageTitle span {
  padding-bottom: 0.4rem;
  border-bottom: 1px solid #fff;
}
.page-hero__subTitle {
  display: inline-block;
  margin-top: 3rem;
  padding: 1.7rem 8.2rem 1.6rem;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.page-hero__subTitle span+span {
  margin-left: 1.5rem;
}

.human-photo{
position: absolute;
        bottom: -86px;
left: -80px;
}



/* con1 courseAbout
-------------------------------------*/
.courseAbout {
  background-color: var(--color-bg-gray);
}
.courseAbout__inner {
  text-align: center;
  padding-bottom: 3.5rem;
}
.courseAbout__titleWrap span {
  display: block;
}
.courseAbout__title {
  position: relative;
  margin-top: 3rem;
  padding-bottom: 4.3rem;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  color:  var(--color-dark-navy);
}
.courseAbout__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 5rem;
  height: 1px;
  background-color: var(--color-dark-navy);
}
.courseAbout__image {
  position: relative;
  width: 100%;
  margin-top: 5.8rem;
  z-index: 1;
}

.courseAbout__frame {
  position: relative;
  width: min(95%, 1100px);
  margin-top: clamp(-5.7rem, -4.098vw + 0.448rem, -2.7rem);
  margin-bottom: clamp(-16rem, 30.132vw - 39.171rem, 0rem);
  margin-inline: auto;
  padding-left: clamp(2.2rem, 4.747vw - 1.446rem, 5.2rem);
  padding-right: clamp(3.6rem, 1.582vw + 2.385rem, 4.6rem);
background-image:url(../images/page-coaching/con1-course-about-frame-line.png);
background-position:center center;
background-repeat:repeat-y;
background-size:contain;
  z-index: 2;
}

.courseAbout__frame::before{
content: '';
display: inline-block;
width: 1100px;
height: 40px;
position: absolute; top:-20px; left:0%;right: 0;
background-image: url(../images/page-coaching/con1-course-about-frame-h.png);
background-size: contain;
background-repeat: no-repeat;
}

.courseAbout__frame::after{
content: '';
display: inline-block;
width: 1100px;
height: 40px;
position: absolute; bottom:-40px; left:0%;right: 0;
background-image: url(../images/page-coaching/con1-course-about-frame-f.png);
background-size: contain;
background-repeat: no-repeat;
}



.courseAbout__flexWrap{
  display: flex;
  justify-content: space-between;
  padding: 0 0 50px 0;
}
.courseAbout__textArea {
  margin-top: clamp(2.8rem, 7.911vw - 3.276rem, 5.8rem);
  width: 58.3%;
}
.courseAbout__imageArea {
  margin-top: 4.5rem;
  width: 41.7%;
}

.courseAbout__desc {
  padding-left: 2.9rem;
  padding-right: 4.5rem;
  font-size: clamp(1.2rem, 0.753vw + 0.621rem, 1.6rem);
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: justify;
}
.courseAbout__desc:not(:first-child) {
  /* margin-top: clamp(1.6rem, 5.461vw - 2.6rem, 4.5rem); */
  margin-top: clamp(1.3rem, 3.165vw - 1.13rem, 3.3rem);
}
.courseAbout__desc span {
  font-weight: 700;
}

.courseAbout__mediaImage {
  margin-top: clamp(0rem, 9.177vw - 7.048rem, 5.8rem);
}

.courseAbout__mediaImage figcaption {
  margin-right: clamp(1.2rem, 0.633vw + 0.714rem, 1.6rem);
  /* margin-bottom: clamp(1.5rem, 4.747vw - 2.146rem, 4.5rem); */
  font-size: clamp(1.2rem, 0.633vw + 0.714rem, 1.6rem);
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
}
.courseAbout__mediaImage picture {
  margin-top: clamp(2.5rem, 3.165vw + 0.07rem, 4.5rem);
}


/* con2 courseStep
-------------------------------------*/
.courseStep {
  position: relative;
  z-index: 0;
}
.courseStep::after {
  content: "";
  position: absolute;
  inset: 0;
  background: #F5F5F5 url(../images/page-coaching/con2-step-bg.webp) top center / cover no-repeat;
  z-index: -1;
}
.courseStep__inner {
  padding-top: 27rem;
  padding-bottom: 35rem;
}
.courseStep__titleWrap {
  position: relative;
  color: #fff;
}
.courseStep__titleWrap span {
  display: block;
  text-align: center;
  line-height: 1;
}
.courseStep__title-en {
  margin-bottom: 2.3rem;
}
.courseStep__title-en > img {
  height: 1.141rem;
}

.courseStep__title {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: calc(114 / 24);
  padding-bottom: 4.2rem;
  letter-spacing: 0;
}
.courseStep__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 5rem;
  height: 1px;
  background-color: #fff;
}



/* ステップナビゲーション */
.courseStep__frame {
  position: relative;
  display: flex;
  justify-content:center;
  gap: 4.5rem;
  width: min(95%, 1100px);
  margin-inline: auto;
  transform: translateX(clamp(0rem, 9.231vw - 12.923rem, 4.8rem));
}
.courseStep__stepNav {
  position: sticky;
  top: 0;
  left: 0;
  max-width: 28rem;
  min-width: 20rem;
  padding-top: 6rem;
  height: fit-content;
  align-self: start;
}
@media screen and (max-width: 1000px) {
  .courseStep__stepNav {
    display: none;
  }
}
.courseStep__stepNavList {
  display: inline-block;
}

.courseStep__stepNavItem:not(:last-child) {
  position: relative;
}
.courseStep__stepNavItem:not(:last-child)::after {
  content: "";
  position: absolute;
  left: 1.65rem;
  top: 3.3rem;
  width: 1px;
  height: 0;
  background-color: #C7A904;
  transform-origin: top;
  transition: height 0.5s ease, opacity 0.3s ease;
  opacity: 0;
  z-index: 1;
}

.courseStep__stepNavNum {
  position: relative;
  display: flex;
  align-items: center;
  flex-shrink: 0;
  height: 3.3rem;
}
.courseStep__stepNavNum img {
  height: 3.3rem;
  width: auto;
}

.courseStep__stepNavLink {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  color: #fff;
  cursor: pointer !important;
}
.courseStep__stepNavLink * {
  cursor: pointer !important;
}
.courseStep__stepNavLabel {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}
.courseStep__stepNavTitle {
  font-size: clamp(1.7rem, 0.791vw + 1.092rem, 2.2rem);
  font-weight: 600;
  line-height: 1;
  display: flex;
  align-items: center;
  height: 3.3rem;
}
.courseStep__stepNavSubTitle {
  font-size: 1.4rem;
  font-weight: 600;
}

.corseStep__stepNavCaption {
  font-size: 14px;
  letter-spacing: 0.05em;
}

/*　位置調整 */
/* 1.現状把握 */
.courseStep__stepNavItem:first-child {
  margin-top: 0;
}
/* 2.真のゴール設定 */
.courseStep__stepNavItem:nth-child(2) {
  margin-top: 5rem;
}
/* 3.自己理解 */
.courseStep__stepNavItem:nth-child(3) {
  margin-top: 5.4rem;
}
/* 4.チーム・他者理解 */
.courseStep__stepNavItem:nth-child(4) {
  margin-top: 5rem;
}
/* 5.アプローチ方法 */
.courseStep__stepNavItem:nth-child(5) {
  margin-top: 4.7rem;
}

/* ステップナビゲーションのアクティブステップのスタイル */
.courseStep__stepNavNum .step-nav-img-active {
  display: none;
}
.courseStep__stepNavNum .step-nav-img-default {
  display: block;
}
.courseStep__stepNavLink.is-active .courseStep__stepNavNum .step-nav-img-active {
  display: block;
}
.courseStep__stepNavLink.is-active .courseStep__stepNavNum .step-nav-img-default {
  display: none;
}
.courseStep__stepNavLink.is-active .courseStep__stepNavTitle {
  color: #DEC981;
}

.courseStep__stepNavItem:not(:last-child).is-active::after {
  height: var(--line-height, calc(6rem + 3.3rem));
  opacity: 1;
}


/* ステップコンテンツ */
.courseStep__stepWrap {
  display: flex;
  justify-content: flex-end;
  max-width: 773px;
  margin-top: 6.6rem;
}
.courseStep__item {
  display: grid;
  grid-template-columns: auto 40.72%;
  grid-template-rows: auto auto;
  column-gap: 4rem;
  row-gap: 2.2rem;
  padding: 4rem;
  padding-bottom: 3.7rem;
  background-color: #fff;
}
.courseStep__item:not(:first-child) {
  margin-top: 3rem;
}
.courseStep__itemTitle {
  grid-row: 1;
  grid-column: 1;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  height: fit-content;
}
.courseStep__itemTitleNum {
  width: 4rem;
  height: 4rem;
  flex-shrink: 0;
}
.courseStep__itemTitleLabel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 1rem;
  margin-top: -0.7rem;
}
.courseStep__itemTitle--top {
  align-items: flex-start;
}


.courseStep__mainTitle {
  font-size: 2.6rem;
  font-weight: 600;
  line-height: calc;
  height: 4rem;
}
.corseStep__itemCaption {
  font-size: 1.6rem;
  font-weight: 600;
  line-height: calc(28 / 16);
  letter-spacing: 0;
  margin-top: -0.1rem;
  margin-left: 0.3rem;
}
.courseStep__itemImage {
  grid-column: 2;
  grid-row: 1 / -1;
}
.courseStep__itemDesc {
  grid-column: 1;
  grid-row: 2;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.16rem;
}
.courseStep__itemDesc span {
  font-weight: 700;
}

/* ステップコンテンツの個別スタイル */
/* 1.現状把握 */
.courseStep__item:first-child .courseStep__itemImage {
  margin-top: 1rem;
}

/* 2.真のゴール設定 */
.courseStep__item:nth-child(2) {
  padding-bottom: 3.6rem;
}
.courseStep__item:nth-child(2) .corseStep__itemCaption {
  font-size: 1.4rem;
}

.courseStep__item:nth-child(2) .courseStep__itemDesc {
  margin-top: -0.5rem;
}
.courseStep__item:nth-child(2) .courseStep__itemImage {
  margin-top: 0;
}

/* 3.自己理解 */
.courseStep__item:nth-child(3) {
  padding-bottom: 3.5rem;
}
.courseStep__item:nth-child(3) .courseStep__itemTitle {
  margin-top: -0.3rem;
}
.courseStep__item:nth-child(3) .courseStep__itemTitleLabel {
  margin-top: 0;
}

/* 4.チーム・他者理解 */
.courseStep__item:nth-child(4) .corseStep__itemCaption {
  margin-top: -0.4rem;
}
.courseStep__item:nth-child(4) .courseStep__itemDesc {
  margin-top: -0.6rem;
}

/* 5.アプローチ方法 */
.courseStep__item:nth-child(5) .courseStep__itemDesc {
  margin-top: -5.3rem;
}


/* con3 ctaArea01
-------------------------------------*/
.ctaArea01 {
  background-color: var(--color-bg-gray);
}
.ctaSArea01__inner {
  margin-top: -4rem;
  text-align: center;
  padding-bottom: 18.4rem;
}
.ctaArea01__title {
  position: relative;
  display: inline-block;
  padding-bottom: 1.5rem;
  font-size: 5rem;
  font-weight: 600;
  line-height: calc(60 / 50);
  color: var(--color-main);
}
.ctaArea01__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 5px;
  background: url(../images/page-coaching/con3-ctaArea-line.svg) no-repeat;
}
.ctaArea01__lead {
  margin-top: 1.8rem;
  font-size: 3.2rem;
  font-weight: 600;
  line-height: calc(60 / 32);
  color: var(--color-main);
}
.ctaArea01__desc {
  margin-top: 1.7rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: calc(42 / 20);
  letter-spacing: 0.1em;
  color: var(--color-black);
}
.ctaArea01__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;

  width: min(95%, 1040px);
  margin-top: 4.5rem;
  background: url(../images/page-coaching/con3-ctaArea-btn.svg) no-repeat 50% / 100% 100%;
  aspect-ratio: 1000 / 120;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  color: #987522;
  cursor: pointer;
}


/* con4 service
-------------------------------------*/
.service__priceArea {
  position: relative;
  background-image:url(../images/page-coaching/con4-service-bg.jpg);
  background-position:center top 0px;
  background-repeat:no-repeat;
  background-size:auto;
  z-index: 1;
  padding: 0px 0px 20rem 0px;
}

.service__priceArea-inner {
  position: relative;
  padding-top: clamp(4rem, 15.848vw - 8.187rem, 14rem);
  z-index: 2;
}
.service__titleWrap {
  position: relative;
  color: #fff;
}
.service__titleWrap span {
  display: block;
  text-align: center;
  line-height: 1;
}
.service__title-en {
  margin-bottom: 3rem;
}
.service__title-en > img {
  height: 1.426rem;
}
.service__title {
  font-size: 3.2rem;
  font-weight: 600;
  line-height: calc(114 / 24);
  padding-bottom: 4.2rem;
}
.service__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 5rem;
  height: 1px;
  background-color: #fff;
}
.service__lead {
  margin-top: clamp(2rem, 3.165vw - 0.43rem, 3rem);
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}

.service__lead02 {
  margin-top:3rem;
  margin-bottom: 0rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
}


.service__priceList {
  width: min(90%, 915px);
  margin-top: clamp(2rem, 4.747vw - 1.646rem, 3rem);
  margin-inline: auto;
}


.service__priceArea-inner .service-subttl{ text-align: center;font-size: clamp(2rem, 0.791vw + 1.392rem, 2rem); color: #fff;margin:60px 0px 15px 0px;}
.service__priceArea-inner .service-table{width: min(90%, 915px);margin-inline: auto;border: 1px solid #fff; }
.service__priceArea-inner .service-table tr{}
.service__priceArea-inner .service-table th{padding:1.6rem 0 1.2rem 0;color: #fff;font-size: 1.8rem;border-left: 1px solid #fff; background-color: #ADADAD; text-align: center;}
.service__priceArea-inner .service-table th.th-01{ width: 20%;}
.service__priceArea-inner .service-table th.th-02{ width: 40%;}
.service__priceArea-inner .service-table td{ text-align: center; background: #fff; padding:1.5rem 0 0rem 0;font-size: clamp(2.2rem, 0.791vw + 1.592rem, 2.7rem); font-weight: 600;color: var(--color-dark-navy); letter-spacing: 0.1em;}
.service__priceArea-inner .service-table td:last-child{padding:1.5rem 0 1.5rem 0;}
.service__priceArea-inner .service-table .tax {font-size: 1.8rem;font-weight: 500;line-height: calc(54 / 18);letter-spacing: 0.1em;color: var(--color-dark-navy);}



.service__group {
  display: flex;
  align-items: stretch;
  margin-top: 1rem;
}
.service__time {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 30.58%;
  padding-top: clamp(1.6rem, 2.057vw + 0.02rem, 2.9rem);
  padding-bottom: clamp(1.6rem, 1.741vw + 0.263rem, 2.7rem);
  padding-inline: 0.8rem;
  font-size: clamp(2rem, 0.791vw + 1.392rem, 2rem);
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #ADADAD;
  border: 1px solid #fff;
}
.service__price {
  flex: 1;
  display:block;
  align-items: center;
  padding:1.5rem 0 0.1rem 2.8rem;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-dark-navy);
  background-color: #fff;
}
.service__discount,
.service__regular {
  font-size: clamp(2.2rem, 0.791vw + 1.592rem, 2.7rem);
  font-weight: 600;
  letter-spacing: 0.1em;
}
.service__discount {
  display: block;
  margin: 0 0 0.5rem 0;
}
.service__regular {
  display: inline-flex;
  align-items: center;
  position: relative;
  margin-right: 0.6rem;
}
.service__price .tax {
  font-size: 1.8rem;
  font-weight: 500;
  line-height: calc(54 / 18);
  letter-spacing: 0.1em;
  color: var(--color-dark-navy);
}
.service__regular::before,
.service__regular::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-dark-navy);
  transform: translateX(-3%);
}
.service__regular::before {
  top: 48%;
}
.service__regular::after {
  bottom: 44%;
}
.service__priceWrap {
  display: flex;
  align-items: center;
}
.service__group:nth-of-type(2) .service__priceWrap span.tax {
  font-size: 1.9rem
}

.service__priceWrap img {
  margin-right: 1rem;
  margin-left: 2.8rem;
}

/* table */
.service__tableArea {
  background-color: var(--color-bg-gray);
  padding: 8rem 0 18.8rem;
  margin:-18rem 0px 0px 0px;
}
.service__table {
  position: relative;
  z-index: 2;
  width: min(95%, 112rem);
  margin-inline: auto;
  border-spacing: 0;
  margin-top:-5rem;
  transform: translateX(1rem);
}
@media screen and (max-width: 1600px) {
  .service__table {
    margin-top: clamp(-41rem, -8.681vw + 2.667rem, -1rem);
  }
}

.service__table tbody tr {
  height: auto;
}

/* table -header */
.service__tableHeader {
  padding-block: 4.5rem;
  padding-inline: 2rem;
  text-align: center;
  vertical-align: middle;
}
.service__tableHeader img {
  display: block;
  margin: 0 auto;
}
.service__tableHeader--label {
  width: 14.4%;
  background-color: transparent;
}
.service__tableHeader--before {
  background-color: #6A769B;
}
.service__tableHeader--after {
  position: relative;
  display: flex;
  background-color: #C6A905;
}
.service__tableHeader--after::before {
  content: "";
  position: absolute;
  top: -10px;
  left: 0;
  width: 100%;
  height: 10px;
  background-color: #C6A905;
}

/* table -body */
.service__tableLabel {
  padding: 2rem 1.5rem;
  font-size: 1.6rem;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  background-color: #fff;
  border-bottom: 1px solid #E0E0E0;
}
.service__tableLabel > * {
  display: block;
  margin-top: 0.2rem;
  margin-inline: auto;
}
.service__tableCell {
  height: 16rem;
  padding-inline: clamp(1.6rem, 1.476vw + 0.467rem, 3.3rem) clamp(1.6rem, 0.347vw + 1.333rem, 2rem);
  padding-block: clamp(1.6rem, 5.263vw - 2.447rem, 2.5rem);
  font-size: clamp(1.2rem, 1.732vw - 0.132rem, 1.6rem);
  text-align: left;
  letter-spacing: 0.1em;
  vertical-align: middle;
  background-color: #EAEAEA;
  border-bottom: 1px solid #D8D8D8;
}
.service__tableCell ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.service__tableCell li {
  margin: 0;
  padding: 0;
}

.service__tableCell--before {
  width: 33.9%;
  font-size: clamp(1.3rem, 0.26vw + 1.1rem, 1.6rem);
  font-weight: 500;
  line-height: calc(30 / 18);
  letter-spacing: 0.1em;
}

.service__tableCell--after {
  width: 50%;
  padding-left: clamp(1.6rem, 4.167vw - 1.6rem, 6.4rem);
  font-size: clamp(1.3rem, 0.434vw + 0.967rem, 1.8rem);
  font-weight: 700;
  line-height: calc(34  /18);
  letter-spacing: 0.1em;
  border-left: 3px solid #C6A905;
  border-right: 3px solid #C6A905;
  background-color: #fff;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.16);
}

.service__table tbody tr:last-child .service__tableCell {
  border-bottom: none;
}
.service__table tbody tr:first-child .service__tableCell--after {
  border-top: 3px solid #C6A905;
}
.service__table tbody tr:last-child .service__tableCell--after {
  position: relative;
  border-bottom: 3px solid #C6A905;
}
.service__table tbody tr:last-child .service__tableCell--after::before{
  content: "";
  position: absolute;
  bottom: -7px;
  left: -3px;
  width: 100%;
  height: 7px;
  border-left: 3px solid #C6A905;
  border-right: 3px solid #C6A905;
  background-color: #fff;
}
.service__table tbody tr:last-child .service__tableCell--after::after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: -3px;
  width: calc(100% + 6px);
  height: 3px;
  background-color: #C6A905;
}


/* con5 change
-------------------------------------*/
.change {
  background-color: #F5F5F5;
}
.change__inner {
  position: relative;
  padding: 0 0 13.3rem;
  z-index: 2;
}
.change__titleArea {
  position: relative;
  padding-top: clamp(6rem, 9.494vw - 1.291rem, 12rem);
  padding-bottom: 6.6rem;
  text-align: center;
  background: url(../images/page-coaching/con5-change-bg.jpg) no-repeat;
  background-size: cover;
  background-position: center bottom;
  z-index: 1;
  text-align: center;
  aspect-ratio: 1920 / 400;
}
.change__titleWrap {
  position: relative;
  display: inline-block;
  text-align: center;
  z-index: 2;
}
.change__title-en {
  margin-inline: auto;
}
.change__title {
  position: relative;
  margin-top: -8rem;
  padding-bottom: 2.1rem;
  font-size: clamp(3.4rem, 2.215vw + 1.699rem, 4.8rem);
  font-weight: 600;
  line-height: calc(60 / 50);
  letter-spacing: 0.05em;
  color: #fff;
}
.change__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 5px;
  background: url(../images/page-coaching/con5-change-title-underline.svg) no-repeat;
}
.change__bgArea {
  padding-top: 10rem;
  background: url(../images/page-coaching/con5-change-media-area-bg.webp) no-repeat;
  background-size: 100% 60%;
}
.change__mediaArea {
  max-width: 128rem;
  margin-inline: auto;
}
.change__media {
  display: flex;
  flex-direction: row-reverse;
  gap: clamp(2rem, 6.329vw - 2.861rem, 6rem);
  max-width: min(95%,114rem);
}

.change__media--media1 {
  position: relative;
  justify-content: flex-start;
  margin-right: auto;
}
.change__mediaTextArea {
  width: 46.84%;
  margin-right: auto;
}
.change__mediaImage {
  width: 46.49%;
}
.change__media--media1 .change__mediaImage picture,
.change__media--media1 .change__mediaImage img {
  mix-blend-mode: luminosity;
}
.change__mediaText {
  flex: 1;
  font-size: clamp(1.4rem, 0.391vw + 1.099rem, 1.6rem);
  font-weight: 500;
  line-height: calc(36 / 16);
  letter-spacing: 0.1em;
  color: #fff;
  transform: translateY(1rem);
  margin-left: 0.4rem;
}

.change__mediaList {
  margin-top: 3.4rem;
  margin-bottom: 0.9rem;
}
.change__mediaItem {
  position: relative;
  margin-top: 1rem;
  padding: 1.4rem 1rem 1.4rem 4.6rem;
  font-size: clamp(1.4rem, 0.391vw + 1.099rem, 1.6rem);
  font-weight: 400;
  line-height: calc(30 / 16);
  letter-spacing: 0.1em;
  background: #fff;
}
.change__mediaItem::before {
  content: "";
  position: absolute;
  left: 2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.1rem;
  height: 1.1rem;
  background-color: #868686;
  border-radius: 50%;
}

.change__media--media2 {
  margin-top: 7.9rem;
  flex-direction: row;
  justify-content: flex-end;
  gap: 1.4rem;
  margin-left: auto;
  transform: translateX(clamp(-7rem, -11.076vw + 8.506rem, 0));
}
.change__media--media2 .change__mediaTextArea {
  width: 36.32%;
}
.change__media--media2 .change__mediaTextArea {
  width: 48%;
}
.change__media--media2 .change__mediaText {
  margin-left: 0;
}
.change__media--media2 .change__mediaImage {
  width: 48.49%;
}

.change__point {
  width: min(1280px, 95%);
  margin-top: 10rem;
  margin-inline: auto;
}
.change__pointTitle {
  position: relative;
  padding: 3.3rem 0 3.8rem;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  background-color: var(--color-main);
}
.change__pointTitle::after {
  content: "";
  position: absolute;
  bottom: -1.6rem;
  left: 50%;
  width: 6.4rem;
  height: 1.8rem;
  transform: translateX(-50%);
  background: url(../images/page-coaching/con5-change-point-title-arrow.svg) no-repeat;
}
.change__pointTitle > img {
  width: 3.54rem;
}
.change__pointContent {
  padding-block: 6.5rem 7.4rem;
  background-color: #EDEEF0;
  text-align: center;
}
.change__pointList {
  display: flex;
  justify-content: center;
  gap: clamp(2rem, 28.169vw - 19.662rem, 4rem);
}
.change__pointItem {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 21rem;
  height: 21rem;
  border: 1px solid #AB951D;
  outline: 1px solid #AB951D;
  outline-offset: -6px;
  border-radius: 50%;
}
.change__pointNum {
  width: 1.9rem;
}
.change__pointText {
  margin-top: 1.5rem;
  margin-bottom: 1.7rem;
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-sub);
}
.change__pointItem:nth-of-type(1) .change__pointImage { transform: translateY(0); }
.change__pointItem:nth-of-type(2) .change__pointImage { transform: translateY(-3px); }
.change__pointItem:nth-of-type(3) .change__pointImage { transform: translateY(-3px); }

.change__pointList02 {
  margin-top: 5rem;
}
.change__pointItem02 {
  margin-top: 1em;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  text-align: center;
}
.change__pointItem02--center {
  margin-top: 2rem;
}
.change__pointItem02--bottom {
  margin-top: 2.2rem;
}

.change__bottom {
  margin-top: 6rem;
}
.change__bottomTextWrap {
  text-align: center;
  margin-bottom: 5.4rem;
}
.change__bottomText {
  margin-top: 2rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}
.change__bottomText--upper {
  margin-top: 3rem;
}
.change__bottomText--lower {
  margin-top: 0;
}
.change__bottomText-em {
  display: inline-block;
  margin: 1.7rem auto 4.4rem;
  padding-block: 1rem;
  padding-left: 2rem;
  padding-right: 1.5rem;
  font-size: clamp(2.4rem, 4.225vw - 0.849rem, 2.7rem);
  font-weight: 600;
  line-height: calc(43 / 27);
  letter-spacing: 0.1em;
  color: #DEC981;
  background-color: var(--color-main);
}

.change__bottomMedia {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: min(95%, 110rem);
  margin-inline: auto;
  gap: 5.34rem;
  z-index: 1;
}
.change__bottomMedia::after {
  content: "";
  position: absolute;
  top: 2.7rem;
  bottom: 2.7rem;
  left: 0;
  right: 0;
  background-color: #fff;
  z-index: -1;
}
.change__bottomMediaImage {
  width: 34.55%;
}
.change__bottomMediaText {
  width: 42%;
  padding-block: 4rem ;
  font-size: clamp(1.4rem, 0.928vw + 0.686rem, 1.8rem);
  font-weight: 400;
  line-height: calc(34 / 18);
  letter-spacing: 0.1em;
}
@media screen and (max-width: 1000px) {
  .change__bottomMediaText {
    width: 50%;
  }
}


/* con6 FAQ
-------------------------------------*/
.faq {
  background-color: #F5F5F5;
}
.faq__content {
  position: relative;
  padding: 8rem 0;
  width: min(95%, 1100px);
  margin-inline: auto;
  border: 1px solid var(--color-dark-navy);
  background-color: #fff;
  z-index: 10;
}
.faq__titleWrap {
  position: relative;
  color: var(--color-dark-navy);
}
.faq__titleWrap span {
  display: block;
  text-align: center;
  line-height: 1;
}
.faq__title-en {
  margin-bottom: 2rem;
}
.faq__title-en > img {
  height: 1.426rem;
}
.faq__title {
  font-size: 2.4rem;
  font-weight: 600;
  line-height: 1;
  padding-bottom: 4.4rem;
}
.faq__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 5rem;
  height: 1px;
  background-color: var(--color-dark-navy);
}

.faq__faq-wrap {
  width: min(95%, 85rem);
  margin-inline: auto;
  padding-top: 4rem;
}
.faq__faq-group {
  border-bottom: 1px solid #D3D3D3;
}
.faq__question {
  display: flex;
  align-items: flex-start;
  padding-block: 3.4rem;
  cursor: pointer;
  transition: margin-bottom 0.3s ease, padding-bottom 0.3s ease;
}
.faq__question.is-open {
  padding-bottom: 0;
  margin-bottom: 1.9rem;
}
.faq__icon {
  flex-shrink: 0;
}
.faq__icon > img {
  width: 2.28rem;
  height: auto;
  transform: translateY(5px);
}
.faq__text {
  padding-left: 2rem;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: calc(30 / 18);
  letter-spacing: 0.1em;
}
.faq__line {
  position: relative;
  width: 2.4rem;
  height: 2.4rem;
  margin-left: auto;
  align-self: center;
  flex-shrink: 0;
  transform: translate(-5px, 1px);
}
.faq__line::before,
.faq__line::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 2.4rem;
  height: 1px;
  background-color: var(--color-dark-navy);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.faq__line::before {
  transform: translate(-50%, -50%);
}
.faq__line::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq__question.is-open .faq__line::after {
  transform: translate(-50%, -50%) rotate(90deg) scale(0);
  opacity: 0;
}
.faq__answer {
  max-height: 0;
  margin-inline: auto;
  padding-inline: 4.6rem 1em;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: calc(30 / 16);
  letter-spacing: 0.1em;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease, padding-top 0.3s ease, padding-bottom 0.3s ease;
  overflow: hidden;
}

.faq__question.is-open + .faq__answer {
  max-height: 500px;
  opacity: 1;
  padding-top: 0;
  padding-bottom: 2.5rem;
}


/* con7 CTA
-------------------------------------*/
#cta.cta {
  position: relative;
  margin-top: -8rem;
  background-color: #C7A903;
  z-index: 5;
}
.cta__inner {
  padding-block: 15rem 12rem;
  text-align: center;
}
.cta__btn {
  display: inline-block;
  width: min(95%, 1000px);
  margin-inline: auto;
}


/* con8 message
-------------------------------------*/
.message {
  background-color: var(--color-bg-gray);
}
.message__inner {
  padding-top: clamp(19.9rem, 20.882vw + 3.842rem, 28.9rem);
}
.message__content {
  /* position: relative; */
  padding-block: 15rem 7rem;
  background-color: #fff;
}
.message__contentWrap {
  position: relative;
  width: min(95%, 1280px);
  margin-inline: auto;
  text-align: center;
}
.message__title_en {
  position: absolute;
  left: 0;
  top: -27.7rem;
}
.message__title {
  font-size: clamp(2.6rem, 4.58vw - 0.922rem, 3.2rem);
  font-weight: 600;
  line-height: calc(50 / 32);
  letter-spacing: 0;
  color: var(--color-dark-navy);
}
.message__desc {
  margin-top: 4.4rem;
  font-size: clamp(1.4rem, 1.527vw + 0.226rem, 1.6rem);
  font-weight: 400;
  line-height: calc(34 / 16);
  letter-spacing: 0.1em;
}
.message__desc--bottom {
  margin-top: 5.1rem;
}
.message__desc span {
  font-weight: 700;
}
.message__imageWrap {
  margin-top: 5.3rem;
  display: flex;
  justify-content: center;
  gap: 1rem;
}
.message__image {
  width: min(33.36%, 427px);
}
.message__desc-key {
  display: inline-block;
  margin: 2.6rem auto 2.3rem;
  padding: 1.2rem 2rem 1.2rem 2.4rem;
  font-size: clamp(2.4rem, 3.053vw + 0.052rem, 2.8rem);
  font-weight: 600;
  line-height: calc(48 / 28);
  color: #DEC981;
  background-color: var(--color-dark-navy);
}
.message__desc-endLead {
  margin-top: 3.2rem;
  font-size: clamp(1.8rem, 1.527vw + 0.626rem, 2rem);
  line-height: calc(44 / 20);
  letter-spacing: 0.1em;
  font-weight: normal;
}

.message__desc-endLead span{
  font-weight: bold;
}

.message__bottom {
  position: relative;
  width: min(95%, 1000px);
  margin-inline: auto;
  padding:  0;
  padding-top: clamp(3rem, 22.901vw - 14.611rem, 6rem);
  padding-bottom: clamp(3.2rem, 22.901vw - 14.411rem, 6.2rem);
  padding-bottom: 5.2rem;
  display: flex;
  gap: 8rem;
}
.message__bottom::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5.2rem;
  background: url(../images/page-coaching/con8-message-bottom-arrow.svg) no-repeat;
}
.message__bottom-image {
  width: 37.9%;
  margin-top: 3.5rem;
}
.message__bottom-textWrap {
  width: 54%;
  margin-right: auto;
}
.message__bottom-text {
  font-size: clamp(1.4rem, 1.527vw + 0.226rem, 1.6rem);
  font-weight: 500;
  line-height: calc(34 / 16);
  letter-spacing: 0.1em;
  margin-top: -1rem;
}
.message__bottom-text-key {
  margin-block: clamp(2.2rem, 22.901vw - 15.411rem, 5.2rem);
  margin-top: 3.4rem;
  margin-bottom: 4.3rem;
  font-size: clamp(1.6rem, 1.527vw + 0.426rem, 1.8rem);
  font-weight: normal;
  line-height: calc(38 / 18);
  letter-spacing: 0.1em;
}

.message__bottom-text-key span{
  font-weight: bold;
}

.message__bottom-text-en span {
  font-weight: 600;
}


/* contact
-------------------------------------*/
.contact {
  background: url("../images/page-coaching/con9-contact-bg.png") no-repeat var(--color-bg-gray);
  background-size: 100% auto;
  aspect-ratio: 1920 / 1200;
}
.contact__inner {
  padding: clamp(5rem, 16.077vw - 7.363rem, 10rem) 0 16rem;
  text-align: center;
}
.contact__title {
  position: relative;
  display: inline-block;
  margin-inline: auto;
  padding: 5.7rem 6rem clamp(2rem, 12.987vw - 7.987rem, 5rem);
  font-size: clamp(2.4rem, 2.572vw + 0.422rem, 3.2rem);
  font-weight: 600;
  line-height: calc(38 / 32);
  letter-spacing: 0.1em;
  color: var(--color-dark-navy);
}
.contact__title::before,
.contact__title::after {
  content: "";
  position: absolute;
  background: url(../images/page-coaching/con9-contact-title-deco.svg) no-repeat;
  width: 7rem;
  height: 7rem;
}
.contact__title::before {
  top: clamp(2rem, -3.165vw + 4.43rem, 0rem);
  left: clamp(-4.6rem, -9.494vw + 8.691rem, 1.4rem);
}
.contact__title::after {
  bottom: clamp(-0.8rem, 1.582vw - 3.015rem, -1.8rem);
  right: clamp(-6rem, -7.911vw + 5.076rem, -1rem);
  transform: rotate(180deg);
}

.contact__leadWrap {
  display: flex;
  justify-content: center;
  align-items: flex-end;
  gap: clamp(3.2rem, 12.862vw - 6.691rem, 7.2rem);
  width: min(100%, 1100px);
  margin-top: clamp(0rem, 19.293vw - 14.836rem, 6rem);
  margin-top: 2.7rem;
  margin-inline: auto;
}
.contact__image {
  width: 24.36%;
  transform: translateX(1.8rem);
}
.contact__textArea {
  width: 43.64%;
  margin-bottom: 5.2rem;
  text-align: left;
  transform: translateX(1.8rem);
}
@media screen and (max-width: 1080px) {
  .contact__textArea {
    width: 60%;
    padding-bottom: 3rem;
    padding-right: clamp(0rem, 22.436vw - 17.231rem, 7rem);
  }
}

.contact__lead {
  font-size: 1.6rem;
  line-height: calc(34 / 16);
  letter-spacing: 0.1em;
}
.contact__lead-key {
  display: inline-block;
  margin-block: clamp(2.2rem, 6.431vw - 2.745rem, 4.2rem);
  margin-top: 3.3rem;
  margin-bottom: 3.2rem;
  padding-bottom: 4px;
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #101B41;
  border-bottom: 1px solid #101B41;
}
}




@media screen and (min-width:768px) and (max-width:1919px) {
.human-photo{
position: absolute;
bottom: 3.063vw;
left: -5.167vw;
width: 12vw;
}
}

@media screen and (min-width:768px) and (max-width:1000px) {
  .ctaArea01__btn {
    font-size: 2rem;
  }
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1170px)
======================================== */
@media screen and (min-width:768px) and (max-width:1170px) {
.courseAbout__frame{position: relative;width:93.8vw;background-image:url(../images/page-coaching/con1-course-about-frame-line.png);background-position:center center;background-repeat:repeat-y;background-size:contain;z-index: 2;}
.courseAbout__frame::before{content: '';display: inline-block;width:93.8vw;height: 2.08vw;position: absolute;top:-1.5vw;left:0%;right: 0;background-image: url(../images/page-coaching/con1-course-about-frame-h.png);background-size: contain;background-repeat: no-repeat;}
.courseAbout__frame::after{content: '';display: inline-block;width:93.8vw;height: 2.08vw;position: absolute;bottom:-2.08vw;left:0%;right: 0;background-image: url(../images/page-coaching/con1-course-about-frame-f.png);background-size: contain;background-repeat: no-repeat;}
}



/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
  /* thanks */
#coaching .borderwrap:nth-of-type(1) {
  margin-top: 20vw;
}


/* page-hero
-------------------------------------*/
.page-hero{
  position:relative;
  width:100%;
  padding-top: 11.8vw;
   margin: 0 0 16vw 0;
  background-color:var(--color-bg-gray);
}
.page-hero::after{
  content:"";
  display:none;
}
.page-hero__inner{
  position:relative;
  width:100%;
  min-height:auto;
  padding-top:9.5vw;
  padding-right:0;
  margin-inline:auto;
  z-index:1;
}
.page-hero__inner::before{
  content:"";
  position:absolute;
  top:10vw;
  left:50%;
  transform:translateX(-50%);
  width:100%;
  height:100%;
  background:url(../images/page-coaching/hero-sp.jpg) no-repeat top center/100% auto;
  z-index:0;
}
.page-hero__inner::after{
content: "";
position: absolute;
bottom: -17vw;
left: 65vw;
transform: translateX(-50%);
width: 44.2vw;
height: auto;
aspect-ratio: 280 / 198;
background: url(../images/page-coaching/hero-deco.svg) no-repeat top center / 100% auto;
z-index: 2;
}
.page-hero__caption{
  position:relative;
  width:100%;
  margin-inline:auto;
  top:0;
  left:0;
  font-size:3vw;
  letter-spacing:0.09em;
  text-align:left;
  color:#fff;
  padding-left:5.3vw;
}
.page-hero__caption::after{
  content:"";
  position:absolute;
  bottom: -2.9vw;
  left: 5.3vw;
  width: 9.8vw;
  height: 1px;
  background-color:#fff;
}
.page-hero__frame{
  position:relative;
  padding-top: 5vw;
  padding-bottom: 23vw;
  text-align:center;
  color:#fff;
  z-index:2;
}
.page-hero__title-en{
  width:93vw;
  margin-top:6.7vw;
  margin-inline:auto;
}
.page-hero__title-caption{
  margin-top: -19.9vw;
  font-size:4.2vw;
  font-weight:400;
  line-height:1.6;
  letter-spacing: 0.1em;
}
.page-hero__title-caption span {
  display: inline-block;
  margin-left: 0.8rem;
  margin-top: 1rem;
  padding: 0.22rem 0.54rem 0.28rem 0.66rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.08em;
  color: var(--color-main);
  background-color: #fff;
}
.page-hero__pageTitle{
  margin-top: 1.7vw;
  font-size: 9.6vw;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}
.page-hero__pageTitle span{
  padding-bottom:1vw;
  border-bottom:1px solid #fff;
}
.page-hero__descBox{
  display:block;
  width:89vw;
  margin-top:6vw;
  margin-inline:auto;
  padding:5vw 5vw;
  background-color:rgba(255,255,255,0.8);
  text-align:center;
}
.page-hero__descTitle{
  font-size:4.2vw;
  font-weight:600;
  line-height:1.6;
  color:var(--color-pink);
}
.page-hero__descText{
  margin-top:3.3vw;
  font-size:3.3vw;
  font-weight:500;
  line-height:1.8;
  letter-spacing:0.05em;
  text-align:left;
  color:var(--color-black);
}
.page-hero__subTitle {
  width: calc(100% - var(--sp-guide-3)*2);
  max-width: 84｡6vw;
  margin-top: 4.8vw;
  padding: 4vw 0 3.3vw;
  display: inline-block;
  font-size: 3.86vw;
  font-weight: 400;
  line-height: 1;
  border-top: 1px solid #fff;
  border-bottom: 1px solid #fff;
}
.page-hero__subTitle img {
  width: auto;
  height: 5vw;
}
.page-hero__subTitle span+span {
  margin-left: 2vw;
  letter-spacing: 0.07em;
}

.human-photo{
position: absolute;
bottom: -10vw;
left: 1vw;
width: 27vw;
}




  /* breadcrumb
-------------------------------------*/
.breadcrumb {
  display: none;
}


/* con1 courseAbout
-------------------------------------*/
.courseAbout {
  background-color: var(--color-bg-gray);
}
.courseAbout__inner {
  padding-top: 20vw;
  text-align: center;
  padding-bottom: 12.4vw;
}
.courseAbout__title-en img {
  width: auto;
  height: 4.5vw;
}
.courseAbout__titleWrap span {
  display: block;
}
.courseAbout__title {
  position: relative;
  margin-top: 3.8vw;
  padding-bottom: 6.2vw;
  font-size: 5.8vw;
  font-weight: 600;
  line-height: calc(36 / 24);
  color: var(--color-dark-navy);
}
.courseAbout__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 12.07vw;
  height: 0.24vw;
  background-color: var(--color-dark-navy);
}
.courseAbout__image {
  margin-top: 9.7vw;
  position: relative;
  width: 100%;
  height: auto;
  overflow: hidden;
  text-align: center;
  z-index: 1;
}
.courseAbout__image img {
  width: auto;
  height: 31.4vw;
  object-fit: cover;
  object-position: center;
}


.courseAbout__frame {
  position: relative;
  width: calc(100% - var(--sp-guide-1)*2);
  max-width: 154.47vw;
  margin-top: -5.07vw;
  margin-inline: auto;
  padding-bottom: 11.6vw;
  background: url(../images/page-coaching/con1-course-about-frame-line-sp.png) no-repeat;
  background-size: 100% 100%;
  background-position: center 0;
  z-index: 2;
}

.courseAbout__frame::before{content: '';display: inline-block; width: 94.2vw;height: 5.08vw;position: absolute;top:-3.5vw;left:0%;right: 0;background-image: url(../images/page-coaching/con1-course-about-frame-h-sp.png);background-size: cover;background-repeat: no-repeat;}
.courseAbout__frame::after{content: '';display: inline-block;width: 94.2vw;height: 6.08vw;position: absolute;bottom:-4.08vw;left:0%;right: 0;background-image: url(../images/page-coaching/con1-course-about-frame-f-sp.png);background-size: cover;background-repeat: no-repeat;}


.courseAbout__frame-inner {
  padding-bottom: 9.66vw;
}
.courseAbout__flexWrap {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 0;
}
.courseAbout__textArea {
  width: 100%;
  padding: 6.14vw 7.2vw 0;
}
.courseAbout__desc {
  font-size: 3.86vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: left;
}
.courseAbout__desc:not(:first-child) {
  margin-top: 7.73vw;
}
.courseAbout__desc span {
  font-weight: 700;
}
.courseAbout__imageArea {
  width: 100%;
  margin-top: 10.9vw;
}
.courseAbout__imageArea img {
  width: min(80%, 96.62vw);
  height: auto;
}
.courseAbout__mediaImage {
  width: 100%;
}
.courseAbout__mediaImage figcaption {
  margin-bottom: 6.04vw;
  font-size: 3.86vw;
  font-weight: 700;
  text-align: center;
  line-height: 2;
  letter-spacing: 0.1em;
}


/* con2 courseStep
-------------------------------------*/
.courseStep {
  position: relative;
  z-index: 0;
}
.courseStep::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/page-coaching/con2-step-bg-sp.png) no-repeat #F5F5F5;
  background-size: 100% 100%;
  background-position: center 0;
  z-index: -1;
}
.courseStep__inner {
  padding-top: 22.9vw;
  padding-bottom: 33.7vw;
}
.courseStep__titleWrap {
  position: relative;
  color: #fff;
}
.courseStep__titleWrap span {
  display: block;
  text-align: center;
  line-height: 1;
}
.courseStep__title-en {
  margin-bottom: 4.4vw;
}
.courseStep__title-en > img {
  height: 2.8vw;
}
.courseStep__title {
  font-size: 6vw;
  font-weight: 600;
  line-height: 1.45 !important;
  padding-bottom: 6.0vw;
}
.courseStep__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 12.1vw;
  height: 0.2vw;
  background-color: #fff;
}
.courseStep__stepNav {
  display: none;
}
.courseStep__stepWrap {
  display: flex;
  max-width: 154.7vw;
  padding-inline: var(--sp-guide-2);
  margin-top: 9.7vw;
  margin-inline: auto;
}
.courseStep__item {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  align-items: start;
  padding: 7.2vw 4.8vw 6.2vw;
  background-color: #fff;
}

.courseStep__item:nth-of-type(2) {
  padding-bottom: 5.3vw;
}
.courseStep__item:nth-of-type(3) {
  padding-bottom: 6vw;
}
.courseStep__item:nth-of-type(4) {
  padding-bottom: 7.1vw;
}
.courseStep__item:nth-of-type(4) .courseStep__itemDesc {
  margin-top: 5｡4vw;
}

.courseStep__item:not(:first-child) {
  margin-top: 4.8vw;
}
.courseStep__itemTitle {
  grid-row: 1;
  display: flex;
  align-items: baseline;
  gap: 3.6vw;
}
.courseStep__itemTitle--top {
  align-items: flex-start;
}
.courseStep__itemTitleNum {
  width: 7.2vw;
  height: 7.2vw;
  flex-shrink: 0;
}
.courseStep__itemTitleLabel {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 2.4vw;
}
.courseStep__mainTitle {
  font-size: 4.8vw;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  height: 7.2vw;
}
.corseStep__itemCaption {
  font-size: 3.4vw;
  font-weight: 600;
  line-height: calc(24 / 14);
  letter-spacing: 0;
}
.courseStep__itemImage {
  grid-row: 2;
  height: 48.3vw;
  width: 100%;
  max-width: 96.6vw;
  margin-top: 4.8vw;
  justify-self: center;
  overflow: hidden;
}
.courseStep__itemImage img {
  width: 100%;
  /* height: 48.3vw; */
  object-fit: cover;
  object-position: center;
}
.courseStep__itemDesc {
  grid-row: 3;
  margin-top: 2.9vw;
  font-size: 3.4vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}


/* con3 ctaArea01
-------------------------------------*/
.ctaArea01 {
  background-color: var(--color-bg-gray);
}
.ctaSArea01__inner {
  padding: 8.2vw var(--sp-guide-2) 19.3vw;
  text-align: center;
}
.ctaArea01__title {
  position: relative;
  display: inline-block;
  padding-bottom: 1.9vw;
  font-size: 8.0vw;
  font-weight: 600;
  line-height: calc(43 / 33);
  letter-spacing: 0.08em;
  text-align:center;
  color: var(--color-main);
}
.ctaArea01__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 1.2vw;
  background: url(../images/page-coaching/con3-ctaArea-line_sp.svg) no-repeat;
}
.ctaArea01__lead {
  margin-top: 3.4vw;
  font-size: 6.3vw;
  font-weight: 600;
  line-height: calc(40 / 26);
  color: var(--color-main);
}
.ctaArea01__lead span {
  letter-spacing: 0.05em;
}
.ctaArea01__desc {
  margin-top: 4.1vw;
  font-size: 3.9vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: var(--color-black);
}
.ctaArea01__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 2.4vw;
  width: min(100%, 154.7vw);
  margin-top: 8.5vw;
  background: url(../images/page-coaching/con3-ctaArea-btn-sp.svg) no-repeat 50% / 100% 100%;
  aspect-ratio: 370 / 103;
  font-size: 3.8vw;
  font-weight: 600;
  line-height: calc(28 / 18);
  color: #987522;
  cursor: pointer;
}


/* con4 service
-------------------------------------*/
.service__inner {
  padding-bottom: 19.2vw;
}
.service__priceArea {
  position: relative;
  z-index: 1;
  aspect-ratio: 1920 / 866;
}
.service__priceArea::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/page-coaching/con4-service-bg-sp.jpg) no-repeat;
  background-size: 100% auto;
  max-height: 140vw;
  z-index: 2;
}
.service__priceArea::after {
  content: "";
  position: absolute;
  inset: 0;
  background-color: var(--color-bg-gray);
  opacity: 0.7;
  z-index: 1;
}
.service__priceArea-inner {
  position: relative;
  padding-top: 19.3vw;
  padding-inline: var(--sp-guide-2);
  z-index: 2;
}
.service__titleWrap {
  position: relative;
  color: #fff;
}
.service__titleWrap span {
  display: block;
  text-align: center;
  line-height: 1;
}
.service__title-en {
  margin-bottom: 6vw;
}
.service__title-en > img {
  height: 2.8vw;
}
.service__title {
  font-size:  5.8vw;
  font-weight: 600;
  line-height: 1.5;
  padding-bottom: 7.9vw;
}
.service__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 12vw;
  height: 0.24vw;
  background-color: #fff;
}
.service__lead {
  margin-top:  3.3vw;
  font-size: 3.8vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: left;
  color: #fff;
}

.service__lead02 {
  margin-top:  3.3vw;
  font-size: 3.2vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0;
  text-align: left;
}

.service__priceList {
  width: min(100%, 144vw);
  margin-top: 5.8vw;
  margin-inline: auto;
}
.service__group {
  display: flex;
  flex-direction: column;
  margin-top: 4.8vw;
}



.service__priceArea-inner .service-subttl{text-align:center;font-size:4.83vw;color:#fff;margin:7.49vw 0 2.62vw 0;letter-spacing:0.25vw;}
.service__priceArea-inner .service-table{width:100%;margin-inline:auto;border:0.24vw solid #fff;}
.service__priceArea-inner .service-table tr{}
.service__priceArea-inner .service-table th{padding:3.86vw 0 2.90vw 0;color:#fff;font-size:3.35vw;border-left:0.24vw solid #fff;background-color:#ADADAD;text-align:center;letter-spacing:0.25vw;}
.service__priceArea-inner .service-table th.th-01{width:20%;}
.service__priceArea-inner .service-table th.th-02{width:40%;}
.service__priceArea-inner .service-table td{text-align:center;background:#fff;padding:3.62vw 0 0 0;font-size:5.8vw;font-weight:600;color:var(--color-dark-navy);letter-spacing:0.25vw;}
.service__priceArea-inner .service-table tr:last-child{}
.service__priceArea-inner .service-table .tax{font-size:3.4vw;font-weight:500;line-height:3;letter-spacing:0.25vw;color:var(--color-dark-navy);}



.service__time {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  padding: 2.9vw 1em 2.4vw;
  font-size: 4.3vw;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #ADADAD;
  border: 1px solid #fff;
}
.service__price {
  flex: 1;
  display: block;
  justify-content: center;
  align-items: center;
  padding: 3.4vw 4.3vw 2vw;
  font-size: 3.4vw;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-dark-navy);
  background-color: #fff;
}
.service__discount,
.service__regular {
  font-size: 5.8vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
}
.service__discount {
  display: flex;
  width: 60vw;
  margin: 0 auto 2vw;
  align-items: center;
}
.service__discount span {
  font-size: 3.4vw;
  letter-spacing: 0.1em;
  position: relative;
  top: 0.5vw;
  color: var(--color-dark-navy);
}
.service__regular {
  display: inline-flex;
  align-items: center;
  position: relative;
  margin-right: 1.4vw;
}
.service__regular span {
  font-size: 3.4vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-dark-navy);
}
.service__regular::before,
.service__regular::after {
  content: "";
  position: absolute;
  left: 0;
  width: 100%;
  height: 0.24vw;
  background-color: var(--color-dark-navy);
  transform: translateX(-3%);
}
.service__regular::before {
  top: 48%;
}
.service__regular::after {
  bottom: 44%;
}
.service__priceWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.service__priceWrap img {
  padding-top: 1.2vw;
  padding-bottom: 1.2vw;
  transform: rotate(90deg);
}

/* table */
.service__tableArea {
  background-color: var(--color-bg-gray);
  padding: 11.4vw 0 6vw;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.service__table {
  width: min(95%, 1100px);
  min-width: 1100px;
  margin-inline: auto;
  border-spacing: 0;
}
.service__table tbody tr {
  height: auto;
}
.service__tableHeader {
  padding: 10.9vw 4.8vw 9.6vw;
  text-align: center;
  vertical-align: middle;
}
.service__tableHeader img {
  display: block;
  margin: 0 auto;
}
.service__tableHeader--label {
  width:8.6%;
  background-color: #F5F5F5;
}
.service__tableHeader--before {
  background-color: #6A769B;
}
.service__tableHeader--after {
  position: relative;
  display: flex;
  background-color: #C6A905;
  box-shadow: 0 1.2vw 2.4vw rgba(0, 0, 0, 0.16);
}
.service__tableHeader--after::before {
  content: "";
  position: absolute;
  top: -2.4vw;
  left: 0;
  width: 100%;
  height: 2.4vw;
  background-color: #C6A905;
}

/* table -body */
.service__tableLabel {
  width: 24.6vw;
  padding: 4.8vw 3.6vw;
  font-size: 3.9vw;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  background-color: #fff;
  border-bottom: 1px solid #E0E0E0;
}
.service__tableLabel > * {
  display: block;
  margin-top: 0.5vw;
  margin-inline: auto;
}
.service__tableCell {
  height: 38.6vw;
  padding: 4.8vw 9vw;
  font-size: 3.9vw;
  text-align: left;
  vertical-align: middle;
  background-color: #EAEAEA;
  border-bottom: 1px solid #D8D8D8;
}
.service__tableCell ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.service__tableCell li {
  margin: 0;
  padding: 0;
}
.service__tableCell--before {
  width: 34.6%;
  font-size: 3.9vw;
  font-weight: 500;
  line-height: calc(30 / 18);
  letter-spacing: 0.1em;
}
.service__tableCell--after {
  width: 50.89%;
  font-size: 4.3vw;
  font-weight: 700;
  line-height: calc(34 / 18);
  letter-spacing: 0.1em;
  border-left: 0.7vw solid #C6A905;
  border-right: 0.7vw solid #C6A905;
  background-color: #fff;
  box-shadow: 1.2vw 1.2vw 2.4vw rgba(0, 0, 0, 0.16);
}
.service__table tbody tr:last-child .service__tableCell {
  border-bottom: none;
}
.service__table tbody tr:first-child .service__tableCell--after {
  border-top: 0.7vw solid #C6A905;
}
.service__table tbody tr:last-child .service__tableCell--after {
  position: relative;
  border-bottom: 0.7vw solid #C6A905;
}
.service__table tbody tr:last-child .service__tableCell--after::before {
  content: "";
  position: absolute;
  bottom: -1.7vw;
  left: -0.7vw;
  width: 100%;
  height: 1.7vw;
  border-left: 0.7vw solid #C6A905;
  border-right: 0.7vw solid #C6A905;
  background-color: #fff;
}
.service__table tbody tr:last-child .service__tableCell--after::after {
  content: "";
  position: absolute;
  bottom: -2.4vw;
  left: -0.7vw;
  width: calc(100% + 1.4vw);
  height: 0.7vw;
  background-color: #C6A905;
}

/* スクロールバー */
.fake-scroll-wrap {
  position: relative;
  width: 100%;
  padding-bottom: 14px; /* バーの高さぶんスペース */
}

/* 実際のスクロール領域 */
.fake-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}
.fake-scroll::-webkit-scrollbar {
  display: none;
}

/* 背景バー（中央揃え 89.4%） */
.fake-bar-bg {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 89.4%;
  height: 8px;
  transform: translateX(-50%);
  background: #e5e5e5;
  z-index: 10;
}

/* 動くバー（中央の 89.4% の中を動く） */
.fake-bar {
  position: absolute;
  bottom: 0;
  left: calc(50% - 44.7%); /* 背景バーの左端位置（89.4% ÷ 2 = 44.7%） */
  height: 8px;
  width: 30%; /* JSで上書き */
  transform: translateX(var(--fake-left, 0px)); /* 左端から動く */
  background: #B5B5B5;
  z-index: 11;
}



/* con5 change
-------------------------------------*/
.change {
  background-color: #F5F5F5;
}
.change__inner {
  position: relative;
  padding: 0 0 20.5vw;
  z-index: 2;
}
.change__titleArea {
  position: relative;
  padding-top: 13.0vw;
  padding-bottom: 12.8vw;
  text-align: center;
  background: url(../images/page-coaching/con5-change-bg-sp.jpg) no-repeat;
  background-size: cover;
  background-position: center bottom;
  z-index: 1;
  text-align: center;
}
.change__titleWrap {
  position: relative;
  display: inline-block;
  text-align: center;
  z-index: 2;
}
.change__title-en {
  width: 66.7vw;
  margin-inline: auto;
}
.change__title {
  position: relative;
  margin-top: -13.6vw;
  padding-bottom: 2vw;
  font-size: 7.7vw;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: 0;
  color: #fff;
  transform: translateX(2.9vw);
}
.change__title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1.2vw;
  background: url(../images/page-coaching/con5-change-title-underline_sp.svg) no-repeat;
}
.change__title span {
  display: block;
  transform: translateX(-1.9vw);
}
.change__bgArea {
  padding-top: 10.1vw;
  background: url(../images/page-coaching/con5-change-media-area-bg-sp.webp) no-repeat;
  background-size: 100% 70%;
}
.change__media {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.2vw;
  margin-inline: auto;
  padding-inline: var(--sp-guide-2);
}
.change__mediaTextArea {
  width: 100%;
  margin-right: auto;
}
.change__mediaImage {
  width: min(100%, 120.8vw);
  margin-top: 3.6vw;
}
.change__media--media1 img {
   mix-blend-mode: luminosity;
}
.change__mediaText {
  flex: 1;
  font-size: 3.9vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #fff;
}
.change__mediaList {
  margin-top: 5.8vw;
  margin-bottom: 5.6vw;
  max-width: 154.6vw;
  margin-inline: auto;
}
.change__mediaItem {
  position: relative;
  margin-top: 2.4vw;
  padding: 3.4vw 2.4vw 3.4vw 11.1vw;
  font-size: 3.9vw;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: 0.1em;
  background: #fff;
}
.change__mediaItem::before {
  content: "";
  position: absolute;
  left: 4.8vw;
  top: 50%;
  transform: translateY(-50%);
  width: 2.7vw;
  height: 2.7vw;
  background-color: #868686;
  border-radius: 50%;
}
.change__media--media2 {
  margin-top: 7.5vw;
  flex-direction: column;
  gap: 2.4vw;
}
.change__media--media2 .change__mediaTextArea {
  width: 100%;
}
.change__media--media2 .change__mediaImage {
  width: 65.4vw;
  text-align: center;
}

.change__point {
  width: 100%;
  margin-top: 4.8vw;
  margin-inline: auto;
  padding: var(--sp-guide-2);
}
.change__pointTitle {
  position: relative;
  padding: 1.3vw 0 3.5vw 3.3vw;
  font-size: 4.3vw;
  font-weight: 600;
  line-height: 2.55;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  background-color: var(--color-main);
}
.change__pointTitle::after {
  content: "";
  position: absolute;
  bottom: -3.9vw;
  left: 50%;
  width: 15.4vw;
  height: 4.3vw;
  transform: translateX(-50%);
  background: url(../images/page-coaching/con5-change-point-title-arrow.svg) no-repeat;
}
.change__pointTitle > img {
  width: 9vw;
}
.change__pointContent {
  padding-block: 11.1vw 7.7vw;
  background-color: #EDEEF0;
  text-align: center;
}
.change__pointList {
  display: flex;
  justify-content: center;
  gap: clamp(0.5rem, 5.666vw - 1.846rem, 2.5rem);
}
.change__pointItem {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 26.6vw;
  height: 26.6vw;
  border: 1px solid #AB951D;
  outline: 1px solid #AB951D;
  outline-offset: -6px;
  border-radius: 50%;
}

.change__pointNum {
  width: 3.1vw;
  line-height: 1;
}

.change__pointText {
  margin-top: 2.4vw;
  margin-bottom: 2.4vw;
  font-size: 3.6vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-sub);
}

.change__pointImage {
  display: flex;
  align-items: flex-start;
  align-self: center;
  height: auto;
}
.change__pointImage img {
  width: 100%;
  height: auto;
  display: block;
}

/* 個別指定（px→vw 変換） */
.change__pointItem:nth-of-type(1) .change__pointImage {
  width: 5.7vw;
  transform: translateY(0);
}
.change__pointItem:nth-of-type(2) .change__pointImage {
  width: 4.7vw;
  transform: translateY(-0.7vw);
}
.change__pointItem:nth-of-type(3) .change__pointImage {
  width: 7.7vw;
  transform: translateY(-0.7vw);
}

.change__pointList02 {
  margin-top: 7.2vw;
}
.change__pointItem02 {
  margin-top: 1em;
  font-size: 3.9vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
}

.change__bottom {
  padding-inline: var(--sp-guide-2);
  text-align: left;
}
.change__bottomTextWrap {
  max-width: 130.4vw;
  margin-inline: auto;
  text-align: left;
}
.change__bottomText {
  margin-top: 1em;
  font-size: 3.9vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
}

.change__bottomText:first-of-type {
  margin-top: 0;
}
.change__bottomText:nth-of-type(2) {
  margin-top: 7.2vw;
}
.change__bottomText:first-of-type(3) {
  margin-top: 0;
}
.change__bottomText:first-of-type(4) {
  margin-top: 0;
}
.change__bottomText-em {
  display: inline-block;
  margin: 3.4vw auto 1.4vw;
  padding: 2vw 3.6vw 1.4vw;
  font-size: 4.3vw;
  text-align: center;
  font-weight: 600;
  line-height: calc(30 / 18);
  letter-spacing: 0.1em;
  color: var(--color-sub2);
  background-color: var(--color-main);
}
.change__bottomMedia {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  margin-top: 3.4vw;
  margin-inline: auto;
  padding-inline: var(--sp-guide-2);
  gap: 3.9vw;
  z-index: 1;
}
.change__bottomMedia::after {
  content: "";
  position: absolute;
  top: 2.4vw;
  bottom: -3.4vw;
  left: 0;
  right: 0;
  background-color: #fff;
  z-index: -1;
}
.change__bottomMediaImage {
  width: 89%;
  text-align: center;
}
.change__bottomMediaText {
  width: 100%;
  font-size: 3.9vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.1em;
}


/* con6 FAQ
-------------------------------------*/
.faq {
  background-color: #F5F5F5;
}
.faq__inner {
  padding-inline: var(--sp-guide-1);
}
.faq__content {
  position: relative;
  margin-inline: var(--sp-guide-1);
  padding: 12vw 0 12.5vw;
  margin-inline: auto;
  border: 1px solid var(--color-dark-navy);
  background-color: #fff;
  z-index: 10;
}
.faq__titleWrap {
  position: relative;
  color: var(--color-dark-navy);
}
.faq__titleWrap span {
  display: block;
  text-align: center;
  line-height: 1;
}
.faq__title-en {
  margin-bottom: 4.830vw;
}
.faq__title-en > img {
  height: 3.443vw;
}
.faq__title {
  font-size: 5.797vw;
  font-weight: 600;
  line-height: 1;
  padding-bottom: 8.209vw;
}
.faq__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 12.077vw;
  height: 0.241vw;
  background-color: var(--color-dark-navy);
}
.faq__faq-wrap {
  margin-inline: auto;
  padding-inline: 6.038vw;
  padding-top: 9.661vw;
}
.faq__faq-group {
  border-bottom: 0.241vw solid #D3D3D3;
}
.faq__question {
  display: flex;
  align-items: flex-start;
  padding: 5.312vw 2.659vw 5.312vw 1.207vw;
  cursor: pointer;
  transition: margin-bottom 0.3s ease, padding-bottom 0.3s ease;
}
.faq__question.is-open {
  padding-bottom: 0;
  margin-bottom: 3.382vw;
}
.faq__icon {
  flex-shrink: 0;
  margin-top: 1.2vw;
}
.faq__icon > img {
  width: 5.424vw;
  height: auto;
}
.faq__text {
  padding-left: 6.2vw;
  padding-right: 4.8vw;
  font-size: 3.863vw;
  font-weight: 700;
  line-height: calc(30 / 16);
  letter-spacing: 0.1em;
}
.faq__line {
  position: relative;
  width: 5.797vw;
  height: 5.797vw;
  margin-left: auto;
  align-self: flex-start;
  flex-shrink: 0;
  transform: translate(0.6vw, 0.9vw);
}
.faq__line::before,
.faq__line::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5.797vw;
  height: 0.241vw;
  background-color: var(--color-dark-navy);
  transition: transform 0.3s ease, opacity 0.3s ease;
}
.faq__line::before {
  transform: translate(-50%, -50%);
}
.faq__line::after {
  transform: translate(-50%, -50%) rotate(90deg);
}
.faq__question.is-open .faq__line::after {
  transform: translate(-50%, -50%) rotate(90deg) scale(0);
  opacity: 0;
}
.faq__answer {
  max-height: 0;
  margin-inline: auto;
  padding-inline: 13.043vw 10.628vw;
  font-size: 3.382vw;
  font-weight: 500;
  line-height: calc(26 / 14);
  letter-spacing: 0.1em;
  opacity: 0;
  transition: max-height 0.3s ease, opacity 0.3s ease, padding-top 0.3s ease, padding-bottom 0.3s ease;
  overflow: hidden;
}
.faq__question.is-open + .faq__answer {
  max-height: 500px;
  opacity: 1;
  padding-top: 0;
  padding-bottom: 3.382vw;
}



/* con7 CTA
-------------------------------------*/
#cta.cta {
  position: relative;
  margin-top: -51.2vw;
  background-color: #C7A903;
  z-index: 5;
}
.cta__inner {
  padding: 66.1vw var(--sp-guide-2) 12.1vw;
  text-align: center;
}
.cta__btn {
  display: inline-block;
  width: min(100%, 130.4vw);
  margin-inline: auto;
}


/* con8 message
-------------------------------------*/
.message {
  background-color: #F2F2F0;
}
.message__inner {
  padding-top: 39.4vw;
}
.message__content {
  padding-block: 18vw 20.7vw;
  background-color: #fff;
}
.message__contentWrap {
  position: relative;
  margin-inline: var(--sp-guide-2);
  text-align: center;
}
.message__title_en {
  position: absolute;
  top: -36.5vw;
  left: 50%;
  transform: translateX(-50%);
  width: 81.89%;
}
.message__title {
  font-size: 5.3vw;
  font-weight: 600;
  line-height: 1.636;
  letter-spacing: 0;
  color: var(--color-dark-navy);
}
.message__desc {
  margin-top: 6.8vw;
  font-size: 3.9vw;
  font-weight: 400;
  line-height: 2.125;
  letter-spacing: 0.1em;
  text-align: left;
}
.message__desc span {
  font-weight: 700;
}
.message__imageWrap {
  margin-top: 5.6vw;
  display: flex;
  justify-content: center;
  gap: 1.4vw;
}
.message__image {
  width: 50%;
}
.message__desc-key {
  display: inline-block;
  margin: 4.1vw auto;
  padding: 3.4vw 1.7vw 3.4vw 4.8vw;
  font-size: 4.8vw;
  font-weight: 600;
  line-height: 1.7;
  color: #DEC981;
  background-color: var(--color-dark-navy);
}
.message__desc-endLead {
  margin-top: 8.5vw;
  font-size: 4.3vw;
  font-weight: normal;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: left;
}

.message__desc-endLead span{
  font-weight: bold;
}

.message__bottom {
  position: relative;
  margin-inline: auto;
  padding: 14.5vw 5.2vw 13vw;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 7.2vw;
}
.message__bottom::after {
  content: "";
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -7.2vw;
  width: 20vw;
  height: auto;
  background: url(../images/page-coaching/con8-message-bottom-arrow.svg) no-repeat;
  background-size: contain;
  aspect-ratio: 83/31;
}
.message__bottom-image {
  width: 72.43%;
  margin-top: -19.3vw;
}
.message__bottom-textWrap {
  width: 100%;
  margin-right: auto;
}
.message__bottom-text {
  font-size: 3.9vw;
  font-weight: 500;
  line-height: 2.125;
  letter-spacing: 0.1em;
}
.message__bottom-text-key {
  margin-block: 5.8vw;
  font-size: 4.3vw;
  font-weight: normal;
  line-height: 2.11;
  letter-spacing: 0.1em;
}

.message__bottom-text-key span{
  font-weight: bold;
}

.message__bottom-text-en span {
  font-weight: 600;
}


/* con9 contact
-------------------------------------*/
.contact {
  position: relative;
  background-size: 100% auto;
  aspect-ratio: 1920/1200;
  background-color: #fff;
}
.contact::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../images/page-coaching/con9-contact-bg-sp.png") no-repeat;
  background-size: contain;
  z-index: 0;
}

.contact__inner {
  position: relative;
  z-index: 1;
  padding: 14.7vw 0 24.2vw;
  text-align: center;
}
.contact__title {
  position: relative;
  display: inline-block;
  margin-inline: auto;
  padding: 4.8vw 4.8vw;
  font-size: 5.3vw;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: var(--color-dark-navy);
}
.contact__title::before,
.contact__title::after {
  content: "";
  position: absolute;
  background: url(../images/page-coaching/con9-contact-title-deco.svg) no-repeat;
  width: 12.1vw;
  height: 12.1vw;
}
.contact__title::before {
  top: -0.6vw;
  left: -5.6vw;
}
.contact__title::after {
  bottom: -0.7vw;
  right: -5.6vw;
  transform: rotate(180deg);
}
.contact__leadWrap {
  display: flex;
  flex-direction: column-reverse;
  justify-content: center;
  align-items: center;
  gap: 5.2vw;
  margin-top: 8.5vw;
  margin-inline: auto;
  padding-inline: 4.8vw;
}
.contact__image {
  width: 31.3%;
}
.contact__textArea {
  width: 100%;
  text-align: left;
}
.contact__lead {
  font-size: 3.9vw;
  line-height: 2.125;
  letter-spacing: 0.1em;
}
.contact__lead-key {
  display: flex;
  flex-wrap: wrap;
  margin-block: 6.3vw 7vw;
  font-size: 4.8vw;
  line-height: 1.6;
  letter-spacing: 0.1em;
  color: #101B41;
}
.contact__lead-key span {
  display: inline-block;
  border-bottom: 1px solid #101B41;
}

}



/* ========================================
  @media screen and (max-width: 413px)
======================================== */
@media screen and (max-width: 413px) {

.page-hero__caption {
  font-size: clamp(1rem, 2.151vw + 0.312rem, 1.2rem);
}
.page-hero__title-caption {
  font-size: clamp(1.4rem, 4.301vw + 0.024rem, 1.8rem);
}
.page-hero__pageTitle {
  font-size: clamp(3rem, 10.753vw - 0.441rem, 4rem);
}
.page-hero__subTitle {
  margin-top: clamp(1rem, 32.258vw - 9.323rem, 4rem);
}
.courseAbout__desc,
.courseAbout__image figcaption,
.change__mediaText,
.change__mediaItem,
.change__bottomText,
.change__bottomMediaText,
.faq__text,
.message__desc,
.message__bottom-text,
.contact__lead {
  font-size: clamp(1.2rem, 4.301vw - 0.176rem, 1.6rem);
}
.ctaArea01__btn {
  /* font-size: clamp(1.4rem, 4.301vw + 0.024rem, 1.8rem); */
}
.change__title {
  font-size: clamp(2.6rem, 6.452vw + 0.535rem, 3.2rem);
}
.change__pointTitle {
  font-size: clamp(1.3rem, 5.376vw - 0.42rem, 1.8rem);
}
.change__pointItem02 {
  font-size: clamp(1.1rem, 5.376vw - 0.62rem, 1.6rem);
}
.change__pointItem {
  width: clamp(9rem, 21.505vw + 2.118rem, 11rem);
  height: clamp(9rem, 21.505vw + 2.118rem, 11rem);
}
.change__pointText {
  font-size: clamp(1.3rem, 2.151vw + 0.612rem, 1.5rem);
}

.faq__faq-wrap {
  padding-inline: clamp(0.4rem, 22.581vw - 6.826rem, 2.5rem);
}
.faq__text {
  padding-left: clamp(0.8rem, 19.355vw - 5.394rem, 2.6rem);
  padding-right: clamp(0.8rem, 16.129vw - 4.361rem, 2.3rem);
}
.faq__answer {
  padding-left: clamp(3.4rem, 21.505vw - 3.482rem, 5.4rem);
}

.message__inner {
  padding-top: clamp(10.3rem, 64.516vw - 10.345rem, 16.3rem);
}
.message__title,
.contact__title {
  font-size: clamp(1.8rem, 4.301vw + 0.424rem, 2.2rem);
}
.message__desc-key,
.contact__lead-key {
  font-size: clamp(1.4rem, 6.452vw - 0.665rem, 2rem);
}
.message__desc-endLead {
  font-size: clamp(1.4rem, 4.301vw + 0.024rem, 1.8rem);
}
.message__title_en {
  top: clamp(-15rem, -29.032vw - 3.01rem, -12.3rem)
}
.message__bottom-text-key {
  font-size: clamp(1.4rem, 4.301vw + 0.024rem, 1.8rem);
}
}