@charset "UTF-8";

/* ========================================
  @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-communication/hero-bg.png) no-repeat top center / 100% auto;
  aspect-ratio: 1280 / 500;
  z-index: 0;
}
.page-hero__frame::after {
  content: "";
  position: absolute;
  bottom: -2.1rem;
  right: clamp(-6.9rem, -15.775vw + 15.186rem, -1rem);
  width: clamp(15rem, 58.824vw - 45.353rem, 37rem);
  height: auto;
  aspect-ratio: 292 / 170;
  z-index: 1;
  background: url(../images/page-communication/hero-deco.svg) no-repeat center center / 100% auto;
}

.page-hero__contentWrap {
  position: relative;
  width: min(87%, 112rem);
  margin-inline: auto;
  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;
  margin-top: clamp(3rem, -8.021vw + 11.23rem, 0rem);
  text-align: center;
}
.page-hero__title-en {
  width: clamp(50rem, 165.775vw - 120.086rem, 112rem);
  margin-top: -2.9rem;
  position: relative;
}
@media screen and (max-width: 1200px) {
  .page-hero__title-en {
    margin-top: 0;
  }
}
.page-hero__title-caption {
  margin-top: -12rem;
  font-size: clamp(1.4rem, 0.949vw + 0.671rem, 2rem);
  font-weight: 400;
  line-height: calc(29 / 16);
  letter-spacing: 0.08em;
}
.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(2.6rem, 3.743vw - 1.241rem, 4rem);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
}
.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;
}


.page-hero__descBox {
  display: inline-block;
  width: clamp(46rem, 22.152vw + 28.987rem, 60rem);
  margin-top: clamp(1rem, 8.021vw - 7.23rem, 4rem);
  margin-inline: auto;
  padding: min(1.6rem, 1.143vw) min(2.5rem, 1.786vw);
  padding-top: 1.2rem;
  background-color: rgba(255, 255, 255, 0.8);
  text-align: center;
}
.page-hero__descTitle {
  font-size: clamp(1.4rem, 1.337vw + 0.028rem, 1.9rem);
  font-weight: 600;
  line-height: calc(42 / 18);
  color: var(--color-main);
}
.page-hero__descCatch {
  padding-block: 0.5rem;
  font-size: clamp(1.2rem, 0.535vw + 0.651rem, 1.4rem);
  font-weight: 700;
  color: #fff;
  background-color: var(--color-main);
}
.page-hero__descText {
  margin-top: 0.4rem;
  font-size: clamp(1rem, 0.475vw + 0.635rem, 1.3rem);
  font-weight: 500;
  line-height: calc(25 / 13);
  letter-spacing: 0.05em;
  text-align: left;
  color: var(--color-black);
}

.page__heroCta {
  position: relative;
  display: block;
  margin-top: clamp(0.7rem, 5.854vw - 3.796rem, 4.4rem);
  /* margin-top: 4.4rem; */
  width: clamp(26rem, 39.637vw - 4.441rem, 56.6rem);
  margin-inline: auto;
  z-index: 1;
}

.page-hero.thank .page-heroCtaImage img {
  visibility: hidden;
}

/* con1 worry
-------------------------------------*/
#worry.worry {
  position: relative;
  z-index: 2;
}
#worry .worry__inner {
  position: relative;
  width: min(95%, 1100px);
  z-index: 3;
  padding-top: 3.9rem;
  padding-bottom: 12rem;
  background-color: #E0E0E0;
  overflow-x: visible;
  margin-inline: auto;
  transform: translateX(0.8rem);
}
#worry .worry__inner::after {
  content: "";
  position: absolute;
  bottom: -5.9rem;
  left: 50%;
  width: 22.3rem;
  height: 6rem;
  transform: translateX(-50%);
  background: url(../images/page-communication/con1-worry-list-arrow.svg) no-repeat center / contain;
}

#worry .worry__title-wrap {
  text-align: center;
  color: #fff;
}
#worry .worry__title {
  font-size: clamp(2.7rem, 3.788vw - 0.209rem, 3.2rem);
  font-weight: 600;
  line-height: calc(114 / 32);
  letter-spacing: 0;
  color: var(--color-main);
}
#worry .worry__title span::after {
  content: "";
  position: absolute;
  top: -0.8rem;
  left: 50%;
  transform: translate(-50%, -100%);
  display: block;
  width: 0.6rem;
  height: 0.6rem;
  background-color: var(--color-main);
  border-radius: 50%;
}
#worry .worry__list {
  position: relative;
  width: 68rem;
  margin-inline: auto;
}
#worry .worry__list::before,
#worry .worry__list::after {
  content: "";
  position: absolute;
  background-size: contain;
  display: block;
  z-index: 1;
}
#worry .worry__list::before {
  bottom: 2.7rem;
  left: clamp(-37.8rem, -36.867vw + 13.814rem, -14.5rem);
  width: clamp(18rem, 25.316vw - 1.443rem, 34rem);
  aspect-ratio: 388 / 274;
  background-image: url(../images/front-page/con1-worry-list-img01.jpg);
}
@media screen and (max-width: 1550px) {
  #worry .worry__list::before {
    bottom: clamp(-160px, calc(-160px + (70 * (100vw - 1550px) / (768 - 1550))), -90px);
    left: clamp(-350px, calc(-350px + (310 * (100vw - 1550px) / (768 - 1550))), -40px);
    z-index: -1;
  }
}

#worry .worry__list::after {
  top: 4.7rem;
  right: clamp(-17.5rem, -21.361vw + 12.405rem, -4rem);
  width: clamp(15.7rem, 7.911vw + 9.624rem, 20.7rem);
  aspect-ratio: 256 / 300;
  background-image: url(../images/front-page/con1-worry-list-img02.jpg);
}
#worry .worry__item {
  position: relative;
  padding: 1rem 1em 1.2rem 8rem;
  font-size:  1.6rem;
  font-weight: 700;
  line-height: calc(40 / 18);
  letter-spacing: 0.1em;
  background: #fff;
  border: 1px solid var(--color-main);
}
#worry .worry__item:not(:first-child) {
  margin-top: 1rem;
}
#worry .worry__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 3.9rem;
  transform: translateY(-50%);
  width: 2.4rem;
  height: 2.4rem;
  background: url(../images/front-page/con1-worry-checkmark.svg) center / contain no-repeat;
}
#worry .worry__item span {
  font-weight: 700;
  color: var(--color-accent);
}


/* con2 change
-------------------------------------*/
.change {
  position: relative;
  background-color: var(--color-bg-gray);
  z-index: 1;
}
.change::after {
  content: "";
  position: absolute;
  inset: 0;
  top: -7rem;
  background: url(../images/page-communication/con2-change-bg.webp) no-repeat;
  background-size: 100% auto;
  background-position: top;
  z-index: 0;
}
.change__inner {
  padding-top: 3rem;
  padding-bottom: 10.5rem;
  position: relative;
  z-index: 2;
}

.change__frame {
  position: relative;
  width: min(95%, 110rem);
  margin-inline: auto;
  margin-top: 17.3rem;
  padding-top: 8.3rem;
  padding-bottom:  clamp(14.6rem, 32.407vw - 10.289rem, 28.6rem);
  padding-bottom: 11rem;
  padding-inline: clamp(3rem, 27.778vw - 18.333rem, 15rem);
  text-align: center;
  background: url(../images/page-communication/con2-change-frame.png) no-repeat;
  background-size: 100% 100%;
  aspect-ratio: 1100 / 1160;
  transform: translateX(0.7rem);
  z-index: 1;
}
.change__title-en {
  position: absolute;
  top: clamp(-10.6rem, 5.593vw - 16.338rem, -5.6rem);
  left: clamp(-9rem, -9.549vw + 9.333rem, 2rem);
  width: clamp(50rem, 16.297vw + 37.484rem, 60.3rem);
  z-index: -1;
}
.change__title {
  font-size: 3rem;
  font-weight: 600;
  line-height: calc(44 / 30);
  letter-spacing: 0;
  text-align: center;
  color: var(--color-sub);
}
.change__title span {
  padding-bottom: 0.3rem;
  font-size: 4rem;
  font-weight: 600;
  line-height: (114 / 40);
  letter-spacing: 0;
  border-bottom: 1px solid var(--color-sub);
}
.change__lead {
  margin-top: 4.9rem;
  text-align: center;
  font-size: clamp(1.4rem, 0.463vw + 1.044rem, 1.6rem);
  line-height: 2;
  letter-spacing: 0.1em;
}
.change__lead span {
  font-weight: 700;
}
.change__lead-key {
  display: inline-block;
  margin-top: 5.7rem;
  margin-inline: auto;
  padding-left: 1em;
  padding-bottom: 0.4rem;
  font-size: clamp(2.2rem, 0.926vw + 1.489rem, 2.6rem);
  font-weight: 400;
  line-height: calc(32 / 26);
  letter-spacing: 0.1em;
  border-bottom: 1px solid #707070;
}
.change__lead-image {
  margin-top: 5rem;
  width: 100%;
}
.change__text {
  margin-top: 4.6rem;
  letter-spacing: 0.1em;
  text-align: center;
}
.change__catch {
  margin-top: 0.6rem;
  font-size: 3rem;
  font-weight: 400;
  line-height: calc(48 / 30);
  letter-spacing: 0.1em;
  text-align: center;
  color: var(--color-sub);
}

.change__mediaArea {
  position: relative;
  width: clamp(68rem, 74.074vw + 11.111rem, 100rem);
  margin-top: -12.5rem;
  margin-inline: auto;
  padding-top: 9.5rem;
  padding-bottom: 10rem;
  padding-inline: clamp(3rem, 6.944vw - 2.333rem, 6rem);
  background: url(../images/page-communication/con2-change-media-area-bg.webp) no-repeat;
  background-size: 100% 100%;
  transform: translateX(0.7rem);
  z-index: 2;
}
.change__mediaAreaTitle {
  font-size: 3rem;
  font-weight: 600;
  line-height: calc(114 / 30);
  letter-spacing: 0;
  text-align: center;
  color: #fff;
}
.change__mediaArea span {
  padding-bottom: 0.8rem;
  border-bottom: 1px solid #fff;
}
.change__media {
  display: flex;
  gap: 3%;
  margin-top: 1.8rem;
}
.change__mediaText {
  margin-top: 1rem;
  font-size: clamp(1.3rem, 0.694vw + 0.767rem, 1.6rem);
  line-height: 2;
  letter-spacing: 0.1em;
  color: #fff;
}
.change__mediaTextDecoWrap {
  margin-top: 1.7rem;
}

.change__media--1 .change__mediaTextWrap {
  width: 59%;
  min-width: 38rem;
}
.change__media--1 .change__image {
  width: 38%;
}
.change__mediaText--deco {
  display: inline-block;
  font-size: clamp(1.4rem, 0.463vw + 1.044rem, 1.6rem);
  font-size: clamp(1.3rem, 0.694vw + 0.767rem, 1.6rem);
  margin-right: 2rem;
  margin-block: 1.2rem;
  padding: 0.8rem 1rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-black);
  background-color: #fff;
}

.change__media--2 {
  align-items: flex-start;
}
.change__media--2 .change__media {
  gap: 3%;
}
.change__media--2 .change__mediaTextWrap {
  width: 62%;
  min-width: 38rem;
}
.change__media--2 .change__mediaText {
  margin-top: -0.7rem;
  padding-left: 1.7rem;
}
.change__media--2 .change__mediaText:not(:first-child) {
  margin-top: clamp(2rem, 4.747vw - 1.646rem, 5rem);
}
.change__media--2 .change__image {
  width: 35%;
}


.change__media:nth-of-type(even) {
  flex-direction: row-reverse;
  margin-top: 6rem;
}

.change__result {
  position: relative;
  width: min(95%, 110rem);
  margin-top: -0.2rem;
  margin-inline: auto;
  padding-top: clamp(4.3rem, 6.013vw - 0.318rem, 8.1rem);
  padding-bottom: clamp(4.3rem, 7.753vw - 1.654rem, 9.2rem);
  background: url(../images/page-communication/con2-change-image02.jpg) no-repeat;
  background-size: 100% auto;
  transform: translateX(0.8rem);
  z-index: 3;
}
.change__resultDeco {
  position: absolute;
  top: -2rem;
  left: 50%;
  transform: translateX(-44%);
  padding: 1rem 3.5rem;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
  background-color: #fff;
}
.change__resultDeco::after {
  content: "";
  position: absolute;
  bottom: -1.8rem;
  left: 50%;
  width: 3.7rem;
  height: 1.9rem;
  transform: translateX(-50%);
  background: url(../images/page-communication/con2-change-result-deco-arrow.svg) no-repeat;
}
.change__resultTextWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: 0.15em;
  color: #fff;
}
.change__resultText {
  font-size: clamp(2rem, 0.926vw + 1.289rem, 2.4rem);
  line-height: calc(52 / 24);
}
.change__resultText--m {
  font-size: clamp(2.4rem, 1.852vw + 0.978rem, 3.2rem);
  line-height: calc(66 / 32);
  color: #fff;
}
.change__resultText--l {
  position: relative;
  /* margin-top: -0.1rem; */
  font-size: clamp(3.4rem, 1.389vw + 2.333rem, 4rem);
  font-weight: 600;
  line-height: 1.44;
  color: var(--color-sub2);
  border-bottom: 1px solid var(--color-sub2);
}

/*
.change__resultText--l::after {
  content: "";
  position: absolute;
  bottom: -5px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--color-sub2);
}
  */

.change__btmHero {
  position: relative;
  margin-top: clamp(14.6rem, 19.62vw - 0.468rem, 27rem);
  z-index: 1;
}
.change__btmHero::after {
  content: "";
  position: absolute;
  top: -8.6rem;
  right: 0;
  width: min(83.33%, 1600px);
  height: 33.02vw;
  background-color: #CFD5E3;
  z-index: -1
}
.change__btmHeroText {
  position: absolute;
  top: clamp(-7rem, 9.494vw - 14.291rem, -1rem);
  left: clamp(2.5rem, 82.278vw - 60.69rem, 54.5rem);
  z-index: 1;
}
.change__btmHeroText span {
  display: inline-block;
  margin-top: 1.5rem;
  padding: 1.3rem 2.1rem 0.8rem 2rem;
  font-size: clamp(1.6rem, 1.899vw + 0.142rem, 2.8rem);
  font-weight: 600;
  line-height: 1;
  color: #fff;
  background-color: var(--color-main);
}
.change__btmHeroText span:first-of-type {
  margin-top: 0;
}
.change__btmHeroImage {
  position: relative;
  top: -4.1rem;
  width: min(88%, 167rem);
  text-align: left;
  z-index: 0;
}

.change__summary {
  position: relative;
  width: min(95%, 124rem);
  margin-top: clamp(-11.5rem, -6.329vw - 2.639rem, -7.5rem);
  margin-inline: auto;
  padding: 7.1rem 1em 6.3rem;
  text-align: center;
  background-color: var(--color-bg-gray);
  z-index: 2;
}
.change__summaryText {
  font-size: clamp(1.4rem, 0.926vw + 0.689rem, 1.8rem);
  line-height: calc(42 / 18);
  letter-spacing: 0.1em;
}
.change__summaryText span {
  font-size: clamp(1.6rem, 1.389vw + 0.533rem, 2.2rem);
  font-weight: 700;
  line-height: calc(42 / 22);
  letter-spacing: 0.1em;
}
.change__summaryDeco {
  position: relative;
  display: inline-block;
  margin-top: 5rem;
  margin-inline: auto;
  padding: 2.9rem 11.4rem;
  font-size: 1.8rem;
  letter-spacing: 0.1rem;
  background: #CFD5E3;
}
.change__summaryDeco::after {
  content: "";
  position: absolute;
  bottom: -4rem;
  left: 50%;
  width: 8.4rem;
  height: 4.1rem;
  transform: translateX(-50%);
  background: url(../images/page-communication/con2-change-summary-deco-arrow.svg) no-repeat;
}
.change__summaryText-L {
  margin-top: 8.1rem;
  font-size: clamp(2.2rem, 0.926vw + 1.489rem, 2.6rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: var(--color-main);
}
.change__summaryImage {
  margin: 6.3rem auto 5.8rem;
  width: clamp(68rem, 74.074vw + 11.111rem, 100rem);
  transform: translateX(0.8rem);
}
.change__summaryKey {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 2.6rem;
  margin-bottom: 4.5rem;
}
.change__summaryKeyImage {
  width: clamp(58rem, 33.703vw + 32.116rem, 79.3rem);
}
.change__summaryKey span {
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  padding-left: 2rem;
}



/* con3 service
-------------------------------------*/
.service{
  position: relative;
  background: url(../images/page-communication/con3-service-bg.jpg) no-repeat var(--color-bg-gray);
  background-size: 100% auto;
  z-index: 1;
  aspect-ratio: 1920 / 800;
}
.service__inner {
  position: relative;
  padding-top: clamp(4rem, 15.848vw - 8.187rem, 14rem);
  padding-bottom: clamp(22rem, 30.093vw - 1.111rem, 35rem);
  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: 3.9rem;
}
.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: 5.2rem;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1.6;
  text-align: center;
  letter-spacing: 0.1em;
  color: #fff;
}

.service__courseWrap {
  width: min(95%, 124rem);
  margin-top: 4.5rem;
  margin-inline: auto;
  padding: 8.8rem clamp(2rem, 18.519vw - 12.222rem, 10rem);
  background-color: #fff;
}

.service__courseSummary {
  max-width: 100rem;
  margin-inline: auto;
}

.service__summaryList {
  display: flex;
  gap: 1rem;
}
.service__summaryItem {
  display: flex;
  width: calc((100% - 2rem)/ 3);
  border: 1px solid #ADADAD;
  text-align: center;
}
.service__summaryItem:first-child .service__summaryDesc {
  padding-top: 4rem;
}
.service__summaryItem:first-child .service__notesItem {
  margin-top: -0.5rem;
}
.service__summaryItem:nth-child(2) .service__summaryDesc {
  padding-top: 2.3rem;
  padding-left: 1rem;
}
.service__summaryItem:nth-child(3) .service__summaryDesc {
  padding-top: 6.6rem;
}
.service__summaryItem:nth-child(3) .service__notes {
  margin-top: 1.2rem;
  font-size: clamp(1.1rem, 0.475vw + 0.735rem, 1.4rem);
}

.service__summaryPosition,
.service__notes {
  display: block;
}

.service__summaryDef {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  width: 100%;
}
.service__summaryTitle {
  width: 100%;
  padding-block: 2.2rem;
  font-size: 1.6rem;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  background-color: #ADADAD;
  flex-shrink: 0;
}
.service__summaryDesc {
  font-size: clamp(1.3rem, 0.694vw + 0.767rem, 1.6rem);
  line-height: 1;
  letter-spacing: 0.1em;
}
.service__days,
.service__price {
  font-size: clamp(2rem, 1.62vw + 0.756rem, 2.7rem);
  font-weight: 600;
}
.service__notesList {
  margin-top: 2rem;
  padding-bottom: 1.7rem;
  font-size: clamp(1.1rem, 0.316vw + 0.857rem, 1.3rem);
  text-align: left;
}
.service__notesItem {
  line-height: calc(30 / 16);
}
.service__notes {
  margin-top: 0.8rem;
  font-size: 1.4rem;
}

.service__programWrap {
  margin-top: 6rem;
  max-width: 100rem;
  margin-inline: auto;
}
.service__programItem {
  margin-top: 2rem;
  border: 1px solid #1559A3;
}
.service__programDef {
  display: flex;
  align-items: center;
}
.service__programTitle {
  width: 20%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #1559A3;
  align-self: stretch;
}
.service__programDesc {
  width: 80%;
  position: relative;
  padding-left: clamp(2rem, 17.824vw - 11.689rem, 9.7rem);
  padding-block: 4rem;
  padding-right: 1em;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: calc(36 / 16);
  letter-spacing: 0.1em;
  text-indent: 1em;
}
.service__programDescItem {
  position: relative;
  font-size: clamp(1.3rem, 0.694vw + 0.767rem, 1.6rem);
  font-weight: 700;
  line-height: calc(28/ 16);
  letter-spacing: 0.1em;
}
.service__programDescItem::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--color-main);
  border-radius: 50%;
}
.service__programDescItem:not(:first-child) {
  margin-top: 0.4rem;
}



/* con4 profile
-------------------------------------*/
.profile {
  position: relative;
  background-color: var(--color-bg-gray);
}
.profile::before {
  content: "";
  position: absolute;
  top: -17rem;
  left: 0;
  width: min(91.67%, 1760px);
  height: 30.57vw;
  background-color: #CFD5E3;
  z-index: 2;
}
.profile__inner {
  position: relative;
  width: min(95%, 128rem);
  margin-inline: auto;
  padding: 8rem clamp(2rem, 16.204vw - 10.444rem, 9rem) clamp(6rem, 9.259vw - 1.111rem, 10rem);
  background-color: #fff;
  z-index: 3;
}
.profile__title {
  position: absolute;
  top: 0;
  left: 0;
  width: 61.28%;
  transform: translate(3.2rem, -5.8rem);
  z-index: 1;
}
.profile__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 43.5% 1fr;
  grid-template-rows: auto auto;
  align-items: end;
  column-gap: clamp(2.4rem, 4.905vw - 1.367rem, 5.5rem);
  row-gap: clamp(2.4rem, 7.595vw - 3.433rem, 7.2rem);
}
.profile__image {
  grid-row: 1;
  grid-column: 1;
  position: relative;
}
.profile__image > img {
  width: 100%;
}

.profile__body {
  grid-row: 1;
  grid-column: 2;
  align-self: flex-start;
}
.profile__position {
  line-height: 1.2;
}
.profile__nameWrap {
  display: flex;
  align-items: center;
  width: max-content;
  margin-top: clamp(10px, -2.152px + 1.582vw, 20px);
  padding-right: clamp(0rem, 9.494vw - 7.291rem, 6rem);
  padding-bottom: clamp(0.8rem, 2.532vw - 1.144rem, 2.4rem);
  border-bottom: 1px solid #BCBCBC;
  color: #000;
}
.profile__name {
  font-size: clamp(2.8rem, 3.481vw + 0.127rem, 5rem);
  font-weight: 600;
  line-height: calc(60 / 50);
  letter-spacing: 0.05em;
}
.profile__name-ruby {
  margin-left: 0.5rem;
  font-size: clamp(1.2rem, 0.633vw + 0.714rem, 1.6rem);
  font-weight: 400;
  line-height: calc(19 / 16);
  letter-spacing: 0.05em;
}
.profile__sns-list {
  display: flex;
  align-items: center;
  margin-left: 3rem;
  gap: 4rem;
}

.profile__detail {
  margin-top: 3.2rem;
  font-size: clamp(1.4rem, 0.633vw + 0.914rem, 1.8rem);
  line-height: calc(30 / 16);
  letter-spacing: 0.05em;
}
.profile__text {
  margin-top: clamp(0.8rem, 3.006vw - 1.509rem, 2.7rem);
  padding-right: clamp(2rem, 6.329vw - 2.861rem, 6rem);
  font-size: clamp(1.2rem, 0.633vw + 0.714rem, 1.6rem);
  line-height: calc(30 / 16);
  letter-spacing: 0.08em;
}

.profile__list {
  margin-top: clamp(1.8rem, 1.582vw + 0.585rem, 2.8rem);
}
.profile__item {
  position: relative;
  padding-left: 1em;
  font-size: 1.8rem;
  font-size: clamp(12px, 4.709px + 0.949vw, 18px);
  font-weight: 500;
  line-height: calc(34 / 18);
  letter-spacing: 0.05em;
}
.profile__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1rem;
  height: 1rem;
  background-color: #B4BFD8;
  border-radius: 50%;
}

.profile__bottom {
  grid-row: 2;
  grid-column: 1 / -1;
  background: #E4E8F1;
  padding: 4rem clamp(2rem, 4.747vw - 1.646rem, 5rem) 3.3rem;
}
.profile__group {
  display: flex;
  align-items: center;
  gap: 2rem;
  margin-top: 1.8rem;
}
.profile__group:first-child {
  margin-top: 0;
}
.profile__group dt {
  width: 15%;
  padding-block: min(0.86vw, 1.2rem);
  padding-inline: 1.2rem;
  font-size: clamp(1.2rem, 0.633vw + 0.714rem, 1.6rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
  color: var(--color-main);
  border: 1px solid var(--color-main);
}
.profile__group dd {
  flex: 1;
  font-size: clamp(1.2rem, 0.633vw + 0.714rem, 1.6rem);
  font-weight: 500;
  line-height: calc(30 / 16);
  letter-spacing: 0.05em;
  color: #000;
}

.profile__careerList {
  margin-top: 2.9rem;
}
.profile__careerItem {
  font-size: clamp(1.3rem, 0.694vw + 0.767rem, 1.6rem);
  line-height: calc(36 / 16);
  letter-spacing: 0.05em;
}


/* con5 point
-------------------------------------*/
#point.point {
  position: relative;
  overflow: visible;
}
#point.point::before {
  content: "";
  position: absolute;
  top: -34.7rem;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% + 77.9rem);
  background: url(../images/front-page/con2-point-bg.webp) no-repeat center;
  background-size: auto 100%;
  z-index: 0;
  pointer-events: none;
}
#point .point__inner {
  position: relative;
  padding-top: 13.6rem;
}

.point__titleWrap {
  text-align: center;
}
.point__title-en {
  width: 51.2rem;
  margin-inline: auto;
}
.point__title-en img {
  width: 100%;
}
.point__sectionTitle {
  margin-top: -5.6rem;
  color: #fff;
}
#point .point__titleLine {
  display: block;
  font-size: clamp(3rem, 0.316vw + 2.757rem, 3.2rem);
  font-weight: 600;
  line-height: calc(36 / 32);
}
.point__titleRow {
  display: flex !important;
  justify-content: center;
  align-items: center;
  margin-top: 0.4rem;
}
.point__titleWord {
  display: inline-block;
  padding-bottom: 0.8rem;
  font-size: 5rem;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  border-bottom: 1px solid var(--color-sub2);
}
.point__titleNum {
  width: 6.95rem;
  margin-left: 1rem;
}
.point__titleNum img {
  width: 100%;
}

#point .point__list {
  width: min(95%, 1600px);
  margin-inline: auto;
  margin-top: 9.4rem;
}

/* point__item */
#point .point__item {
  width: 90.65%;
  display: grid;
  grid-template-columns: 52% 42%;
  column-gap: 3.1%;
  grid-template-rows: min-content 1fr;
  grid-template-areas:
  "img title"
  "img desc";
}
@media screen and (max-width: 1000px) {
  #point .point__item {
    width: 95%;
    grid-template-columns: 45% 52%;
    column-gap: 3%;
  }
}

#point .point__item:nth-child(odd) {
  margin-left: 0;
  margin-right: auto;
}

#point .point__item:nth-child(even) {
  margin-right: 0;
  margin-left: auto;
  padding-left: clamp(0rem, 14.715vw - 11.301rem, 9.3rem);
  justify-content: end;
  transform: translateX(-5.4rem);
  /* grid-template-columns: 52% 45%; */
  grid-template-columns: 39.4% 54.6%;
  grid-template-areas:
  "title img"
  "desc img";
}


#point .point__imageWrap {
  align-self: start;
  grid-area: img;
}
#point .point__titleWrap {
  align-self: start;
  grid-area: title;
}
#point .point__descWrap  {
  align-self: start;
  grid-area: desc;
}


#point .point__imageWrap img {
  display: block;
  width: 100%;
}
#point .point__pointNum img {
  display: block;
}

#point .point__pointNum {
  width: 8.13rem;
  margin-top: 4.5rem;
}
#point .point__pointNum img {
  width: 100%;
}
#point .point__pointTitle {
  margin-top: 2.5rem;
  font-size: clamp(2.2rem, calc(0.384rem + 2.365vw), 3.6rem);
  font-weight: 600;
  line-height: calc(43 / 36);
  letter-spacing: 0.07em;
  color: #fff;
}
#point .point__pointTitle span {
  display: inline-block;
  white-space: nowrap;
}
#point .point__pointTitle span:not(:first-child) {
  margin-top: 1rem;
}
#point .point__pointTitle span img {
  margin-right: 1rem;
}
#point .point__desc-text {
  margin-top: clamp(1rem, 4.747vw - 2.646rem, 4rem);
  padding-right: clamp(2rem, 7.911vw - 4.076rem, 7rem);
  font-size: clamp(1.4rem, 0.633vw + 0.914rem, 1.8rem);
  line-height: 2.3;
  letter-spacing: 0.1em;
  color: #fff;
}



/* point__item--1st */
#point .point__item--1st .point__pointTitle img {
  width: 31.8rem;
}


/* point__item--2nd */
#point .point__item--2nd {
  margin-top: clamp(4.2rem, 3.733vw + 1.333rem, 8.5rem);
  gap: 4.2%;
}
#point .point__item--2nd .point__pointTitleWrap,
#point .point__item--2nd .point__descWrap {
  min-width: 32rem;
  transform: translateX(clamp(-3rem, 12.931vw - 12.931rem, 0rem));
}
#point .point__item--2nd .point__pointNum {
  margin-top: 7.7rem;
}
#point .point__item--2nd .point__pointTitle {
  margin-top: 2.8rem;
}
#point .point__item--2nd .point__desc-text {
  margin-top: 1.9rem;
  padding-right: 0;
}

/* point__item--3rd */
#point .point__item--3rd {
  margin-top: clamp(4.2rem, 12.184vw - 5.157rem, 11.9rem);
  gap: 3.2%;
}
#point .point__item--3rd .point__pointNum {
  margin-top: 3.2rem;
  padding-left: 0.4rem;
}
#point .point__item--3rd .point__pointTitle {
  margin-top: 2.6rem;
}
#point .point__item--3rd .point__pointTitle span {
  margin-bottom: 0.6rem;
}
#point .point__item--3rd .point__pointTitle img {
  width: 47.3rem;
}
#point .point__item--3rd .point__desc-text {
  margin-top: 1.4rem;
}


#point .point__btnWrap {
  width: min(80%, 1100px);
  margin-top: clamp(3rem, calc(-3rem + 7.8125vw), 12rem);
  margin-top: clamp(-3rem, 11.545vw - 11.867rem, 10.3rem);
  margin-inline: auto;
}
#point .point__btnWrap a img {
  transition: all 0.2s ease;
}
#point .point__btnWrap a img:hover {
  filter: brightness(1.1);
  opacity: 1;
}



/* con6 voice
-------------------------------------*/
.voice {
  position: relative;
}
.voice::before {
  content: "";
  position: absolute;
  inset: 0;
  background: var(--color-bg-gray) url(../images/page-communication/con7-voice-bg.jpg) no-repeat;
  background-size: 100% 100%;
  z-index: -1;
}
.voice__inner {
  margin-top: 6.4rem;
  padding-top: 46.2rem;
  padding-bottom: 16rem;
}
.voice__title-wrap {
  position: relative;
  text-align: center;
}
.voice__title-wrap::before {
  content: "";
  position: absolute;
  top: -8.9rem;
  left: 50%;
  width: 35.42rem;
  height: 4.2rem;
  transform: translateX(-50%);
  background: url(../images/page-communication/con7-voice-title-deco.svg) center/contain no-repeat;
}

.voice__voiceWrap {
  width: min(95%, 1100px);
  margin-top: 7.55rem;
  margin-inline: auto;
  padding: min(4.17vw, 8rem) min(5.21vw, 10rem);
  background: #fff;
}
.voice__panel {
  padding: 5rem 5rem 5.2rem;
  padding-top: 5rem;
  padding-inline: 5rem;
  padding-bottom: 4.4rem;
  background-color: #EFF0F2;
}
.voice__header {
  display: grid;
  grid-template-columns: 90px 1fr;
  column-gap: 4rem;
}
.voice__item:not(:first-child) {
  margin-top: 4rem;
}
.voice__avatar {
  grid-column: 1;
  grid-row: 1 / 3;
  align-self: center;
}
.voice__meta {
  grid-column: 2;
  grid-row: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem;
  margin-top: 0.5rem;
}
.voice__course-name {
  font-weight: 700;
  line-height: calc(19 / 16);
  color: #fff;
  background-color: var(--color-main);
}
.voice__detail {
  font-weight: 500;
  line-height: calc(19 / 16);
  color: var(--color-black);
}
.voice__voice-title {
  grid-column: 2;
  grid-row: 2;
  margin-top: 1.4rem;
  font-size: 2.2rem;
  line-height: calc(40 /22);
  letter-spacing: 0.05em;
}
.voice__line {
  width: 100%;
  height: 1px;
  margin-top: 3.4rem;
  background-color: #D5D5D5;
}
.voice__text {
  margin-top: 2.1rem;
  font-weight: 400;
  line-height: calc(32 / 16);
  letter-spacing: 0.05em;
}

/* con7 FAQ
-------------------------------------*/
.faq {
  background-color: #F5F5F5;
}
.faq__inner {
  padding-top: 16.5rem;
}
.faq__content {
  position: relative;
  padding: 8rem 0 6.5rem;
  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;
}


/* con8 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 {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(95%, 1000px);
  margin-inline: auto;
  color: #A9842C;
  aspect-ratio: 1000 / 167;
  z-index: 1;
}
/* .cta__btn::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: url(../images/page-communication/con9-cta-btn-bg.png) center / contain no-repeat;
  z-index: -1;
  pointer-events: none;
} */

/* con9 message
-------------------------------------*/
.message {
  position: relative;
  min-height: 100%;
  background-color: var(--color-bg-gray);
}
.message::before {
  content: "";
  position: absolute;
  top: clamp(-10rem, 23.148vw - 27.778rem, 0rem);
  left: 0;
  right: 0;
  bottom: 12rem;
  background: url(../images/page-communication/con10-message-bg.webp) no-repeat;
  background-size: 100% 100%;
  background-position: center top;
  transform: translateY(53.5rem);
  z-index: 0;
}
.message__inner {
  position: relative;
  padding-top: 32.45rem;
  z-index: 1;
}
.message__contentLead {
  position: relative;
  width: min(95%, 1280px);
  margin-inline: auto;
  text-align: center;
  background-color: transparent;
}
.message__title_en {
  position: absolute;
  left: -2rem;
  top: clamp(-29rem, 23.734vw - 47.228rem, -14rem)
}
.message__title {
  position: absolute;
  left: clamp(22rem, 97.222vw - 52.667rem, 62rem);
  top: -3.5rem;
  font-size: 2rem;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0;
  color: var(--color-main);
  text-align: left;
}
.message__title span {
    margin-left: 2em;
}
.message__titleImage {
  width: min(95%, 1000px);
  margin-inline: auto;
}
.message__sectionCatch {
  position: relative;
  top: -2.9rem;
  display: inline-block;
  margin-inline: auto;
  padding: 1.4rem 2rem;
  font-size: clamp(2.6rem, 3.241vw + 0.111rem, 4rem);
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: var(--color-main);
  background-color: #fff;
}
.message__sectionLead {
  margin-top: 4.4rem;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #fff;
}

.message__media {
  display: flex;
  gap: 4rem;
  width: min(95%, 1100px);
  padding-left: 5rem;
  margin-top: 7.1rem;
  margin-inline: auto;
}
.message__mediaText {
  width: 49.52%;
  margin-top: -0.7rem;
  font-size: clamp(1.2rem, 1.389vw + 0.133rem, 1.8rem);
  line-height: 2;
  text-align: left;
  letter-spacing: 0.1em;
  color: #fff;
}
.message__mediaImage {
  width: 46.67%;
}

.message__result {
  width: min(100%, 128rem);
  margin-top: 13.9rem;
  margin-inline: auto;
  padding-top: 0;
  padding-inline: clamp(1.6rem, 17.13vw - 11.556rem, 9rem);
  padding-bottom: 9rem;
  background-color: #CFD5E3;
  text-align: center;
}
.message__resultCatch {
  position: relative;
  top: -4.7rem;
  width: min(90rem, 90%);
  margin-inline: auto;
  padding: 3.1rem 0.5em 2.4rem;
  font-size: 2rem;
  line-height: 1.8;
  letter-spacing: 0;
  text-align: center;
  color: #fff;
  background-color: var(--color-sub);
}
.message__resultCatchMain {
  color: #FAEBB7;
  font-size: clamp(2.5rem, 3.472vw - 0.167rem, 4rem);
  font-weight: 600;
}
.message__resultCatchMain span+span {
  margin-left: -0.3em;
}
.message__resultCatch::after {
  content: "";
  position: absolute;
  bottom: -2.4rem;
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/page-communication/con10-message-result-catch-arrow.svg) center / contain no-repeat;
  width: 5.7rem;
  height: 2.5rem;
}

.message__resultUpper,
.message__resultBottom {
  margin-top: 1.4rem;
  font-size: clamp(1.6rem, 0.463vw + 1.244rem, 1.8rem);
  line-height: calc(40 / 18);
  letter-spacing: 0.1em;
}
.message__resultBottom {
  margin-top: 1rem;
}
.message__resultUpper span {
  font-size: 2.4rem;
  font-weight: 700;
}
.message__resultBottom span {
  font-size: 2rem;
  font-weight: 700;
}
.message__resultImage {
  margin-top: 4.5rem;
  max-width: 110rem;
}
.message__resultKey {
  position: relative;
  top: -4rem;
  display: inline-block;
  margin-inline: auto;
}
.message__resultKeyDeco {
  position: absolute;
  top: -1.8rem;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  padding: 0.9rem 3rem 1rem;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: var(--color-main);
}
.message__resultKeyText {
  padding-top: 3.7rem;
  padding-inline: 7rem;
  padding-bottom: 2.1rem;
  font-size: clamp(2rem, 2.315vw + 0.222rem, 3rem);
  font-weight: 400;
  line-height: calc(55 / 30);
  letter-spacing: 0.1em;
  background-color: #fff;
}

.message__centerBlock {
  margin-top: 10rem;
  text-align: center;
}
.message__centerText {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
}
.message__centerLabel {
  margin-top: 1.2rem;
  margin-bottom: 4.4rem;
}
.message__centerLabel span {
  display: inline-block;
  padding-inline: 1.5rem 1.8rem;
  font-size: 2.8rem;
  line-height: calc(45 / 28);
  letter-spacing: 0.1em;
  color: var(--color-main);
  background-color: #fff;
  margin-top: 1.5rem;
}
.message__centerMain {
  display: inline-block;
  margin: 3.2rem auto 4rem;
  font-size: clamp(4.6rem, 2.315vw + 2.822rem, 5.6rem);
  padding-bottom: 1.3rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-sub2);
  border-bottom: 2px solid var(--color-sub2);
}

.message__media02 {
  position: relative;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  width: min(95%, 110rem);
  margin-top: 10.2rem;
  margin-inline: auto;
}
.message__media02text {
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 54.55%;
  padding-top: 3rem;
  padding-inline: clamp(2rem, 6.944vw - 3.333rem, 5rem);
  padding-bottom: 3rem;
  font-size: clamp(1.2rem, 0.926vw + 0.489rem, 1.6rem);
  line-height: calc(36 / 16);
  letter-spacing: 0.1em;
  text-align: left;
  background-color: #CFDBF5;
  z-index: 2;
}
.message__media02Image {
  position: relative;
  top: 0;
  right: 0;
  width: 50%;
  aspect-ratio: 550 / 320;
}

.message__bottom {
  position: relative;
  width: min(95%, 100rem);
  margin-top: 8rem;
  margin-inline: auto;
  padding-bottom: 8.6rem;
  text-align: center;
  color: #fff;
}
.message__bottom::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: clamp(10.8rem, 11.574vw + 1.911rem, 15.8rem);
  background: url(../images/page-communication/con10-message-coach.png) center / contain no-repeat;
  aspect-ratio: 158 / 216;
}
.message__bottomText {
  font-size: 2rem;
  line-height: 1;
  letter-spacing: 0.1em;
}
.message__bottomLabel {
  margin-top: 2rem;
}
.message__bottomLabel span {
  font-size: clamp(3.2rem, 0.926vw + 2.489rem, 3.6rem);
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 70%,
    var(--color-sub) 60%,
    var(--color-sub) 100%
    );
}

/* con10 contact
-------------------------------------*/
.contact {
  position: relative;
  z-index: 1;
}
.contact__inner {
  padding-bottom: 16rem;
}

}


/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
  html,
  body {
    overflow-x: hidden;
    max-width: 100vw;
  }



/* page-hero
-------------------------------------*/

  .page-hero{
    position:relative;
    width:100%;
    padding-top: 21.8vw;
    margin: 0 0 12vw 0;
    background-color:var(--color-bg-gray);
    z-index: 3;
  }
  .page-hero::after{
    content:"";
    display:none;
  }
  .page-hero__inner{
    position:relative;
    width:100%;
    min-height:auto;
    padding-top:1.5vw;
    padding-right:0;
    margin-inline:auto;
    z-index:1;
    background-image:url(../images/page-communication/hero-sp.jpg);
    background-position:0px 0px;
    background-repeat:no-repeat;
    background-size:cover;
  }

/*
  .page-hero__inner::before{
    content:"";
    position:absolute;
    top:10vw;
    left:50%;
    transform:translateX(-50%);
    width:100%;
    height:100%;
    z-index:0;
  }
*/

  .page-hero__inner::after{
    content:"";
    position:absolute;
    bottom: 15vw;
    left: 50%;
    transform: translateX(-50%);
    width: 65.6vw;
    height:auto;
    aspect-ratio:280/198;
    background:url(../images/page-communication/hero-deco.svg) no-repeat top center/100% auto;
    z-index: 2;
  }
  .page-hero__caption{
    position:relative;
    width:100%;
    margin: 0 auto 9vw 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: 58.4vw;
    text-align:center;
    color:#fff;
    z-index:2;
  }
  .page-hero__title-en{
    width:93vw;
    margin-top: 3.7vw;
    margin-inline:auto;
  }
  .page-hero__title-caption{
    margin-top: -29.7vw;
    font-size: 3.5vw;
    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: 3.5vw;
    font-size: 9.6vw;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0;
  }

  .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;
  }

  .page-hero__descBox {
    display: block;
    margin-top: 5.7vw;
    /* margin-inline: var(--sp-guide-2); */
    /* padding-inline: var(--sp-guide-2); */
    padding: 4.3vw 3.5vw 3.5vw;
    background-color: rgba(255, 255, 255, 0.8);
    text-align: center;
  }
  .page-hero__descTitle {
    font-size: 3.4vw;
    font-weight: 600;
    line-height: 1;
    letter-spacing: 0.1em;
    color: var(--color-main);
  }
  .page-hero__descCatch {
    margin-top: 3.9vw;
    padding: 1.6vw 1.2vw;
    font-size: 3.5vw;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: #fff;
    background-color: var(--color-main);
  }
  .page-hero__descText {
    margin-top: 2.9vw;
    font-size: 3.4vw;
    line-height: 1.9;
    letter-spacing: 0.05em;
    text-align: justify;
    color: var(--color-black);
  }
  .page__heroCta {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, 36%);
    width: 90vw;
  }
  .page-heroCtaImage {
    width: 100%;
  }
  .page-heroCtaImage img {
    width: 100%;
  }

  .page-hero.thank .page-heroCtaImage img {
    visibility: hidden;
  }


/* con1 worry
-------------------------------------*/
#worry.worry {
  position: relative;
  z-index: 2;
  background-color: #E0E0E0;
}
.worry__inner::before {
  content: "";
  position: absolute;
  bottom: -15.7vw;
  left: 50%;
  transform: translateX(-50%);
  width: 38vw;
  height: 20vw;
  background: url(../images/page-communication/con1-worry-list-arrow-sp.svg) no-repeat center / contain;
  z-index: 1;
}
#worry .worry__inner {
  position: relative;
  z-index: 3;
  margin-top: -30.8vw;
  padding-top: 42.6vw;
  padding-inline: 5.34vw;
  padding-bottom: 12.1vw;
}

#worry .worry__title-wrap {
  text-align: center;
  color: #fff;
}
#worry .worry__title {
  font-size: 6vw;
  font-weight: 600;
  line-height: 1.8;
  letter-spacing: 0;
  letter-spacing: 0.05em;
  color: var(--color-main);
}

#worry .worry__title.c-catch span::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -100%);
  display: block;
  width: 0.4rem;
  height: 0.4rem;
  background-color: var(--color-main);
  border-radius: 50%;
  transform: translate(-0.3rem, -0.2rem);
}

#worry .worry__list {
  position: relative;
  width: 100%;
  margin-top: 40.2vw;
  margin-inline: auto;
}
#worry .worry__list::before,
#worry .worry__list::after {
  content: "";
  position: absolute;
  background-size: contain;
  display: block;
  z-index: 1;
}
#worry .worry__list::before {
  top: -38vw;
  left: 4.3vw;
  width: 43.5vw;
  background-image: url(../images/page-communication/con1-worry-list-img01.jpg);
  aspect-ratio: 193/137;
  transform: none;
}
#worry .worry__list::after {
  right: 4.7vw;
  top: -31vw;
  width: 33.57vw;
  background-image: url(../images/page-communication/con1-worry-list-img02-sp.jpg);
  aspect-ratio: 139/110;
  transform: none;
  z-index: -1;
}
#worry .worry__item {
  position: relative;
  padding: 3vw 0.5em 2.9vw 12.6vw;
  font-size: 3.9vw;
  font-weight: 700;
  line-height: 1.7;
  letter-spacing: 0.05em;
  background: #fff;
  min-height: 19.3vw;
  display: flex;
  align-items: center;
  border: 1px solid var(--color-main);
}
#worry .worry__item:not(:first-child) {
  margin-top: 3.6vw;
}
#worry .worry__item::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 3.6vw;
  transform: translateY(-50%);
  width: 5.8vw;
  height: 5.8vw;
  background: url(../images/front-page/con1-worry-checkmark.svg) center/contain no-repeat;
}
#worry .worry__item span {
  font-weight: 700;
  color: var(--color-accent);
}
#worry .worry__item:last-child {
  position: relative;
}
#worry .worry__bottom {
  margin-top: 20vw;
  text-align: center;
}
#worry .worry__bottom-text {
  font-size: 5.3vw;
  font-weight: 600;
  line-height: 1.2;
}
#worry .worry__bottom-text img {
  margin-top: 8.9vw;
  margin-bottom: 8.2vw;
}
#worry .worry__bottom-text-sp-bottom {
  font-size: 4.5vw;
  font-weight: 600;
  line-height: 1.2;
}
#worry .worry__bottom-text-sp-bottom span {
  font-size: 8.4vw;
  font-weight: 600;
  line-height: 1.2;
}


/* con2 change
-------------------------------------*/
.change {
  position: relative;
  background-color: var(--color-bg-gray);
  z-index: 1;
}
.change__inner::after {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/page-communication/con2-change-bg-sp.png) no-repeat;
  background-size: 100% 100%;
  background-position: top center;
  z-index: 0;
}
.change__inner {
  padding-top: 25.4vw;
  padding-bottom: 17vw;
  position: relative;
  z-index: 2;
}
.change__frame {
  position: relative;
  margin-inline: var(--sp-guide-1);
  padding: 20vw 0 24.2vw;
  margin-top: 0;
  background: url(../images/page-communication/con2-change-frame-sp.png) no-repeat;
  background-size: 100% 100%;
  aspect-ratio: 1100/1160;
  z-index: 1;
}
.change__title-en {
  position: absolute;
  width: 72.7%;
  margin-inline: auto;
  top: -4vw;
  left: 11vw;
  transform: none;
}
.change__title {
  font-size: 5.8vw;
  font-weight: 600;
  line-height: 1.7;
  letter-spacing: 0;
  text-align: center;
  color: var(--color-sub);
}
.change__title span {
  font-size: 7.7vw;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0;
  border-bottom: 1px solid var(--color-sub);
}
.change__lead {
  width: 84.62%;
  margin-top: 2.6vw;
  margin-inline: auto;
  text-align: left;
  font-size: 3.9vw;
  line-height: 2;
  letter-spacing: 0.1em;
}
.change__lead span {
  font-weight: 700;
}
.change__lead-key {
  display: block;
  margin-top: 5.6vw;
  margin-inline: auto;
  width: 90%;
  text-align: center;
}
.change__lead-keyWrap {
  margin-inline: auto;
}
.change__lead-keyWrap span {
  display: inline-block;
  margin-top: 1.4vw;
  font-size: 5.8vw;
  font-weight: 400;
  line-height: 1.3;
  letter-spacing: 0.1em;
  border-bottom: 1px solid #707070;
}
.change__lead-image {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-top: 10.5vw;
  margin-left: calc(50% - 50vw);
  box-sizing: border-box;
}
.change__text {
  margin-top: 8.5vw;
  letter-spacing: 0.1em;
  text-align: center;
}
.change__catch {
  margin-top: 2.5vw;
  font-size: 6.3vw;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.15em;
  text-align: center;
  color: var(--color-sub);
}
.change__mediaArea {
  position: relative;
  width: 100%;
  margin-top: -20.5vw;
  padding-top: 16.8vw;
  padding-bottom: 14vw;
  padding-inline: var(--sp-guide-2);
  background: url(../images/page-communication/con2-change-media-area-bg-sp.png) no-repeat;
  background-size: 100% 100%;
  z-index: 2;
}
.change__mediaAreaTitle {
  font-size: 6.3vw;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0;
  text-align: center;
  color: #fff;
}
.change__mediaArea span {
  padding-bottom: 1vw;
  border-bottom: 1px solid #fff;
}
.change__media {
  display: flex;
  flex-direction: column-reverse;
  gap: 0.8vw;
  margin-top: 9.1vw;
  margin-inline: 4.8vw;
}
.change__mediaText {
  margin-top: 4.1vw;
  font-size: 3.9vw;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #fff;
}

.change__media--2 .change__mediaText {
  line-height: 2.2;
}
.change__media--2 .change__mediaText--2 {
  margin-top: 9vw !important;
}

.change__mediaText:last-of-type {
  margin-top: 3.1vw;
}
.change__mediaTextDecoWrap {
  display: flex;
  flex-wrap: wrap;
  gap: 2.4vw;
  margin-top: 2.7vw;
}
.change__mediaText--deco {
  display: inline-block;
  padding: 2.2vw 2.4vw 2.3vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  color: var(--color-black);
  background-color: #fff;
}
.change__media:nth-of-type(even) {
  flex-direction: column-reverse;
  margin-top: 7.5vw;
}
.change__result {
  position: relative;
  margin-top: -0.5vw;
  margin-inline: auto;
  padding-block: 12.3vw 10.6vw;
  text-align: center;
  background: url(../images/page-communication/con2-change-image02-sp.jpg) no-repeat;
  background-size: cover;
  background-position: top center;
  z-index: 3;
}
.change__resultDeco {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -60%);
  padding: 2.8vw 9.3vw;
  font-size: 3.4vw;
  line-height: 1;
  letter-spacing: 0.1em;
  background-color: #fff;
}
.change__resultDeco::after {
  content: "";
  position: absolute;
  bottom: -3vw;
  left: 50%;
  transform: translateX(-50%);
  width: 8.9vw;
  height: 4.6vw;
  background: url(../images/page-communication/con2-change-result-deco-arrow.svg) no-repeat;
}
.change__resultTextWrap {
  display: flex;
  flex-direction: column;
  align-items: center;
  letter-spacing: 0.1em;
  color: #fff;
}
.change__resultText {
  font-size: 4.3vw;
  line-height: 1.1;
}
.change__resultText--m {
  margin-top: 3.8vw;
  font-size: 6vw;
  line-height: 1.5;
  color: #fff;
}
.change__resultText--l {
  margin-top: 3.8vw;
}
.change__resultText--l span {
  position: relative;
  font-size: 7.2vw;
  font-weight: 600;
  line-height: 1.6;
  color: var(--color-sub2);
  border-bottom: 1px solid var(--color-sub2);
}

.change__btmHero {
  position: relative;
  margin-top: 21vw;
  z-index: 1;
}
.change__btmHero::after {
  content: "";
  position: absolute;
  top: auto;
  right: auto;
  width: 87%;
  height: 55.31vw;
  background-color: #CFD5E3;
  z-index: -1;
}
.change__btmHeroText {
  position: absolute;
  top: 0;
  left: 6.8vw;
  transform: none;
  z-index: 1;
}
.change__btmHeroText span {
  display: inline-block;
  margin-top: 1.2vw;
  padding: 1.7vw 3.1vw 1.9vw 2.4vw;
  font-size: 4.1vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0;
  color: #fff;
  background-color: var(--color-main);
}
.change__btmHeroText span:first-of-type {
  margin-top: 0;
}
.change__btmHeroImage {
  position: relative;
  top: 4.9vw;
  text-align: left;
  z-index: 0;
}
.change__summary {
  position: relative;
  margin-top: -2.4vw;
  margin-inline: 3.5vw;
  padding: 5.6vw 3.6vw 0;
  text-align: center;
  background-color: var(--color-bg-gray);
  z-index: 2;
}
.change__summaryText {
  font-size: 3.9vw;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: center;
}
.change__summaryText:last-of-type {
  padding-inline: 1vw;
  text-align: left;
}
.change__summaryText span {
  font-size: 4.3vw;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.change__summaryDeco {
  position: relative;
  margin-top: 6.2vw;
  margin-inline: auto;
  padding: 2.4vw;
  font-size: 3.9vw;
  line-height: 2;
  letter-spacing: 0.1em;
  background: #CFD5E3;
}
.change__summaryDeco::after {
  content: "";
  position: absolute;
  bottom: -5.9vw;
  left: 50%;
  transform: translateX(-50%);
  width: 12vw;
  height: 6vw;
  background: url(../images/page-communication/con2-change-summary-deco-arrow.svg) center/contain no-repeat;
}
.change__summaryText-L {
  margin-top: 11.6vw;
  font-size: 5.3vw;
  font-weight: 400;
  line-height: 1.7;
  letter-spacing: 0;
  text-align: left;
  color: var(--color-main);
}
.change__summaryImage {
  margin-top: 6vw;
  margin-bottom: 8.3vw;
  width: 100%;
}
.change__summaryKey {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4.3vw;
  width: 100%;
  margin-top: 3.9vw;
  margin-bottom: 4.8vw;
}
.change__summaryKey span {
  font-size: 4.3vw;
  letter-spacing: 0.1em;
}


/* con3 service
-------------------------------------*/
.service {
  position: relative;
  background: url(../images/page-communication/con3-service-bg-sp.jpg) no-repeat var(--color-bg-gray);
  background-size: 100% auto;
  z-index: 1;
  aspect-ratio: 1920/800;
}
.service__inner {
  position: relative;
  padding-top: 19.6vw;
  padding-bottom: 35.3vw;
  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: 5.9vw;
}
.service__title-en > img {
  width: 14.6vw
}
.service__title {
  font-size: 5.8vw;
  font-weight: 600;
  line-height: 4.8;
  padding-bottom: 7.8vw;
}
.service__title::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 12vw;
  height: 0.2vw;
  background-color: #fff;
}
.service__lead {
  text-align: center;
  margin-top: 2.6vw;
  padding-inline: var(--sp-guide-2);
  font-size: 4.1vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #fff;
}
.service__courseWrap {
  margin-top: 4.8vw;
  margin-inline: var(--sp-guide-1);
  padding: 7.2vw 3.6vw 9.6vw;
  background-color: #fff;
}
.service__summaryList {
  display: flex;
  flex-direction: column;
  gap: 3.6vw;
}
.service__summaryItem {
  display: flex;
  width: 100%;
  border: 1px solid #ADADAD;
}
.service__summaryDef {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  width: 100%;
}
.service__summaryTitle {
  width: 100%;
  padding-block: 3.9vw 4.8vw;
  font-size: 3.4vw;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  color: #fff;
  background-color: #ADADAD;
  flex-shrink: 0;
}
.service__summaryDesc {
  display: flex;
  justify-content: center;
  flex-direction: column;
  flex: 1;
  width: 100%;
  padding-block: 4.8vw 4.4vw;
  padding-inline: 4.8vw;
  font-size: 3.9vw;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
}
.service__days,
.service__price {
  font-size: 5.6vw;
  font-weight: 600;
}
.service__price {
  font-size: 6vw;
}
.service__notesList {
  margin-top: 4.1vw;
  text-align: left;
}
.service__notesItem {
  line-height: 1.9;
}
.service__notes {
  margin-top: 1.9vw;
  font-size: 3.4vw;
}
.service__daysJp {
  font-size: 3.4vw;
}
.service__tax {
  font-size: 2.9vw;
}
.service__summaryPosition {
  font-size: 3.9vw;
}
.service__programWrap {
  margin-top: 9.4vw;
}
.service__programItem {
  margin-top: 3.5vw;
  border: 1px solid #1559A3;
}
.service__programDef {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.service__programTitle {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: 4.1vw 3.6vw;
  font-size: 3.9vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: #1559A3;
  align-self: stretch;
}
.service__programDesc {
  width: 100%;
  position: relative;
  padding: 4.8vw 4.8vw 4.2vw;
  font-size: 3.9vw;
  font-weight: 700;
  line-height: 2.3;
  letter-spacing: 0.1em;
  text-indent: 1em;
}
.service__programDescItem {
  position: relative;
  padding-left: 1em;
  font-size: 3.9vw;
  font-weight: 700;
  line-height: 1.8;
  letter-spacing: 0.1em;
  text-indent: 0;
}
.service__programDescItem:not(:first-child) {
  margin-top: 1.2vw;
}
.service__programDescItem::before {
  content: "";
  position: absolute;
  left: 0;
  top: calc(0.5em * 28/16);
  transform: translateY(-50%);
  width: 1.9vw;
  height: 1.9vw;
  background-color: var(--color-main);
  border-radius: 50%;
}


/* con4 profile
-------------------------------------*/
.profile {
  position: relative;
  background-color: var(--color-bg-gray);
}
.profile::before {
  content: "";
  position: absolute;
  top: auto;
  left: auto;
  width: 100%;
  height: 84.54vw;
  background-color: #CFD5E3;
  transform: translateY(-16.18vw);
  z-index: 2;
}
.profile__inner {
  position: relative;
  margin-inline: var(--sp-guide-1);
  padding: 15.7vw 6vw 9.6vw;
  background-color: #fff;
  z-index: 3;
}
.profile__title {
  position: absolute;
  top: -8vw;
  left: 2.2vw;
  width: 77%;
  transform: none;
  z-index: 1;
}
.profile__wrapper {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: auto auto auto;
  align-items: end;
}
.profile__image {
  grid-row: 1;
  position: relative;
}
.profile__image > img {
  width: 100%;
}
.profile__body {
  grid-row: 2;
  margin-top: 8.9vw;
}
.profile__nameWrap {
  display: flex;
  align-items: center;
  margin-top: 3.6vw;
  padding-bottom: 5.5vw;
  border-bottom: 1px solid #BCBCBC;
  color: #000;
  width: 100%;
}
.profile__position {
  line-height: 1;
}
.profile__name {
  font-size: 6.7vw !important;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.profile__name-ruby {
  font-size: 3.4vw;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
.profile__sns-list {
  display: flex;
  align-items: center;
  margin-left: auto;
  gap: 4.2vw;
  margin-top: -3vw;
}
.profile__detail {
  margin-top: 5vw;
  font-size: 3.9vw;
  line-height: 2;
  letter-spacing: 0.05em;
}
.profile__text {
  margin-top: 6.5vw;
  font-size: 3.9vw;
  line-height: 2;
  letter-spacing: 0.05em;
}
.profile__list {
  margin-top: 6.7vw;
}
.profile__item {
  position: relative;
  margin-top: 2.9vw;
  padding-left: 5vw;
  font-size: 3.9vw;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.profile__item::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 2.4vw;
  height: 2.4vw;
  background-color: #B4BFD8;
  border-radius: 50%;
}
.profile__bottom {
  margin-top: 6.4vw;
  padding: 6vw 4.8vw 4.7vw;
  background: #E4E8F1;
}
.profile__group {
  display: flex;
  flex-direction: column;
  gap: 2.9vw;
  margin-top: 4.8vw;
}
.profile__group:first-child {
  margin-top: 0;
}
.profile__group dt {
  padding-block: 2.9vw 2.2vw;
  font-size: 3.9vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.08em;
  text-align: center;
  color: var(--color-main);
  border: 1px solid var(--color-main);
}
.profile__group dd {
  font-size: 3.9vw;
  line-height: 1.9;
  letter-spacing: 0.05em;
  color: #000;
}
.profile__careerList {
  margin-top: 7.6vw;
}
.profile__careerItem {
  margin-top: 1.7vw;
  font-size: 3.9vw;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

/* con5 point
-------------------------------------*/
#point.point {
  position: relative;
  z-index: 2; }
.point::after {
  content: '';
  position: absolute;
  inset: 0;
  top: -11rem;
  width: 100%;
  height: calc(100% + 11rem);
  background: url(../images/page-communication/con6-point-bg-sp.webp) no-repeat;
  background-size: 100% 100%;
  z-index: -1;
  pointer-events: none;
}
#point .point__inner {
  position: relative;
  z-index: 1;
  padding-top: 14.1vw;
  padding-bottom: 25vw;
  padding-inline: 4.8vw;
}
.point__titleWrap {
  text-align: center;
}
.point__title-en {
  width: 62vw;
  margin-inline: auto;
}
.point__sectionTitle {
  margin-top: -11.4vw;
  color: #fff;
}
#point .point__titleLine {
  display: block;
  margin-top: 2vw;
  font-size: 5.8vw;
  font-weight: 600;
  line-height: 1.4;
}
.point__titleRow {
  display: block;
  margin-top: -5.3vw;
  justify-content: center;
  align-items: center;
}
.point__titleWord {
  display: inline-block;
  padding-bottom: 1.4vw;
  font-size: 7.4vw;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.1em;
  border-bottom: 1px solid var(--color-sub2);
}
.point__titleNum {
  display: inline-block;
  width: 11.6vw;
  height: auto;
  transform: translateY(2.3vw);
}
#point .point__list {
  margin-top: 14vw;
}
#point .point__item {
  display: grid;
  grid-template-columns: 1fr;
  column-gap: 3.91%;
  grid-template-rows: auto auto auto;
  grid-template-areas:
    "title"
    "img"
    "desc";
}
#point .point__imageWrap { grid-area: img; }
#point .point__titleWrap { grid-area: title; }
#point .point__descWrap { grid-area: desc; }
#point .point__item:not(:first-child) {
  margin-top: 13.3vw;
}
#point .point__imageWrap {
  margin-top: 6.8vw;
}
#point .point__imageWrap img {
  display: block;
  width: 100%;
}
#point .point__pointNum img {
  display: block;
  width: 15.5vw;
}
#point .point__pointTitle {
  margin-top: 5.1vw;
  font-size: 7vw;
  font-weight: 600;
  line-height: 1.2;
  letter-spacing: 0.07em;
  color: #fff;
}
#point .point__item picture {
  display: inline-block;
  width: fit-content;
}
#point .point__pointTitle span {
  display: inline-block;
}
#point .point__pointTitle span:not(:first-child) {
  margin-top: 1.9vw;
}
#point .point__pointTitle span img {
  height: 9.2vw;
  width: auto;
  margin-right: 2.4vw;
}
#point .point__desc-text {
  margin-top: 2.4vw;
  padding-inline: 0.7vw;
  font-size: 3.9vw;
  line-height: 1.9;
  letter-spacing: 0.1em;
  color: #fff;
}
#point .point__item--2nd .point__desc-text {
  margin-top: 4.8vw;
  padding-inline: 0;
}

#point .point__item--3rd .point__pointNum {
  margin-top: -0.7vw;
  padding-left: 0.7vw;
}
#point .point__item--3rd .point__imageWrap {
  margin-top: 5.4vw;
}
#point .point__item--3rd .point__desc-text {
  margin-top: 3.2vw;
  padding-inline: 0;
}
#point .point__btnWrap {
  width: 100%;
  margin-top: 13vw;
  margin-inline: auto;
}
#point .point__btnWrap a img {
  transition: all 0.2s ease;
}
#point .point__btnWrap a img:hover {
  filter: brightness(1.1);
  opacity: 1;
}


/* con6 voice
-------------------------------------*/
.voice {
  margin-top: -23.7vw;
  background: url(../images/page-communication/con7-voice-bg-sp.jpg) no-repeat;
  background-size: 100% 100%;
}
.voice__inner {
  padding-top: 53.9vw;
  padding-bottom: 14.5vw;
}
.voice__title-wrap {
  position: relative;
  text-align: center;
}
.voice__title-wrap::before {
  content: "";
  position: absolute;
  top: -7.6vw;
  left: 50%;
  width: 70.57vw;
  aspect-ratio: 292.15/34.62;
  transform: translate(-50%, -100%);
  background: url(../images/front-page/con4-voice-title-deco.svg) center/contain no-repeat;
}
.voice__title-wrap img {
  width: 35.27vw;
}

.voice__voiceWrap {
  width: min(95%, 700px);
  margin-top: 9.3vw;
  margin-inline: auto;
  padding: 4.83vw 2.41vw;
  background: #fff;
}
.voice__panel {
  padding: 7.2vw 4.8vw 6vw;
  background-color: #EFF0F2;
}
.voice__header {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 4.8vw;
}
.voice__item:not(:first-child) {
  margin-top: 4.2vw;
}
.voice__avatar {
  grid-column: 1;
  grid-row: 1;
  align-self: center;
  width: 16.9vw;
  height: 16.9vw;
}
.voice__meta {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  display: flex;
  flex-direction: column;
}
.voice__course-name {
  display: inline-block;
  width: fit-content;
  padding: 1.4vw 2.1vw 1.2vw;
  font-size: 3.3vw;
  font-weight: 700;
  line-height: calc(17/14);
  letter-spacing: 0;
  white-space: nowrap;
  color: #fff;
  background-color: var(--color-main);
}
.voice__detail {
  display: inline-block;
  margin-top: 1vw;
  font-size: 3.9vw;
  font-weight: 500;
  line-height: calc(19/16);
  color: var(--color-black);
}
.voice__voice-title {
  grid-column: 1/-1;
  grid-row: 2;
  margin-top: 6.6vw;
  padding-inline: 0.6vw;
  font-size: 4.8vw;
  line-height: calc(34/20);
  letter-spacing: 0.05em;
}
.voice__line {
  width: 100%;
  height: 1px;
  margin-top: 3.1vw;
  background-color: #D5D5D5;
}
.voice__text {
  margin-top: 2.4vw;
  padding-left: 1.7vw;
  font-size: 3.4vw;
  font-weight: 400;
  line-height: calc(30/14);
  letter-spacing: 0.05em;
}



/* con7 FAQ
-------------------------------------*/
.faq {
  background-color: #F5F5F5;
}
.faq__inner {
  padding-top: 14.5vw;
  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;
}


/* con8 CTA
-------------------------------------*/
#cta,
#cta * {
  pointer-events: auto !important;
  cursor: pointer !important;
}
#cta.cta {
  position: relative;
  margin-top: -51.6vw;
  background-color: #C7A903;
  z-index: 5;
}
.cta__inner {
  padding: 66.9vw var(--sp-guide-2) 12.1vw;
  text-align: center;
}
.cta__btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 540px);
  margin-inline: auto;
  color: #A9842C;
  aspect-ratio: 1000/167;
  z-index: 1;
}
/* .cta__btn::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: url(../images/page-communication/con9-cta-btn-bg.png) center/contain no-repeat;
  z-index: -1;
  pointer-events: none;
} */


/* con9 message
-------------------------------------*/
.message {
  position: relative;
  background-color: #F2F2F0;
}
.message__inner {
  position: relative;
  padding-top: 16.7vw;
  z-index: 2;
}
.message__content {
  padding-block: 18.6vw 13.5vw;
  background-color: #fff;
}
.message__contentWrap {
  position: relative;
  margin-inline: var(--sp-guide-2);
  text-align: center;
}
.message__title_en {
  position: relative;
  width: min(73.19%, 42rem);
  margin-inline: auto;
}
.message__title {
  width: 91.79%;
  margin-top: -2.8vw;
  margin-inline: auto;
  font-size: 4.4vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0;
  color: var(--color-dark-navy);
}
.message__title span {
  display: inline-block;
  margin-top: 3.4vw;
  margin-left: 0.5em;
}
.message__titleImage {
  margin-top: 2.1vw;
  margin-inline: auto;
}
.message__bgArea {
  position: relative;
  z-index: 1;
}
.message__bgArea::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/common/bg-blue-texture.jpg) repeat;
  z-index: -1;
}
.message__sectionCatch {
  position: relative;
  top: -6.8vw;
  width: fit-content;
  margin-inline: auto;
}
.message__sectionCatch span {
  display: inline-block;
  margin-top: 2.4vw;
  padding: 2.2vw 2.4vw;
  font-size: 4.7vw;
  font-weight: 400;
  line-height: 1;
  color: var(--color-main);
  background-color: #fff;
}
.message__sectionCatch span:last-of-type {
  margin-left: 4em;
}
.message__sectionLead {
  margin-top: 1.4vw;
  margin-inline: var(--sp-guide-2);
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #fff;
}

.message__media {
  display: flex;
  flex-direction: column-reverse;
  gap: 7.2vw;
  margin-top: 7.7vw;
  margin-inline: var(--sp-guide-2);
  padding-bottom: 16.4vw;
}
.message__mediaText {
  width: 100%;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0.1em;
  color: #fff;
}
.message__mediaImage {
  width: 100%;
}
.message__result {
  width: 100%;
  padding-bottom: 10.6vw;
  background-color: #CFD5E3;
  text-align: center;
}
.message__resultCatch {
  position: relative;
  top: -9.7vw;
  margin-inline: var(--sp-guide-2);
  padding: 5.8vw 0.4rem 6.0vw;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: 0;
  text-align: center;
  color: #fff;
  background-color: var(--color-sub);
  z-index: 1;
}
.message__resultCatchMain {
  color: #FAEBB7;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-size: 3rem;
  font-weight: 600;
  line-height: calc(46/30);
}
.message__resultCatch::after {
  content: "";
  position: absolute;
  bottom: -6.0vw;
  left: 50%;
  transform: translateX(-50%);
  background: url(../images/page-communication/con10-message-result-catch-arrow.svg) center/contain no-repeat;
  width: 13.8vw;
  height: 6.0vw;
}
.message__resultUpper,
.message__resultBottom {
  /* margin-inline: var(--sp-guide-2); */
  margin-inline: 4.9vw;
  margin-top: 3.4vw;
  font-size: 3.9vw;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: left;
  word-break: break-all;
}
.message__resultUpper span {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: calc(32/18);
}
.message__resultBottom span {
  display: inline;
  font-size: 3.9vw;
  font-weight: 700;
}
.message__resultImage {
  margin-top: 8.3vw;
  width: 100%;
}
.message__resultKey {
  position: relative;
  top: -3.4vw;
  display: inline-block;
  margin-inline: auto;
}
.message__resultKeyDeco {
  position: absolute;
  top: -4.3vw;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  padding: 2.2vw 7.2vw 2.4vw;
  font-size: 1.8rem;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
  background-color: var(--color-main);
}
.message__resultKeyText {
  margin-inline: var(--sp-guide-2);
  padding: 7.5vw 6.6vw 6.5vw;
  font-size: 2.2rem;
  font-weight: 400;
  line-height: calc(36/22);
  letter-spacing: 0.1em;
  background-color: #fff;
}

.message__centerBlock {
  margin-top: 12.1vw;
  text-align: center;
}
.message__centerText {
  font-size: 3.9vw;
  line-height: 1;
  letter-spacing: 0.1em;
  color: #fff;
}
.message__centerLabel {
  margin-top: 2.3vw;
  margin-bottom: 5.5vw;
}
.message__centerLabel span {
  display: inline-block;
  padding-inline: 3.6vw 4.3vw;
  font-size: 4.6vw;
  line-height: calc(29/19);
  color: var(--color-main);
  background-color: #fff;
  margin-top: 2.7vw;
}
.message__centerMain {
  margin: 6vw auto 3.4vw;
}
.message__centerMain span {
  display: inline-block;
  font-size: 8.2vw;
  font-weight: 400;
  line-height: calc(50/34);
  letter-spacing: 0.1em;
  color: var(--color-sub2);
  border-bottom: 2px solid var(--color-sub2);
}
.message__media02 {
  position: relative;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  margin-top: 10.1vw;
}
.message__media02text {
  transform: translateY(-2.4vw);
  margin-inline: var(--sp-guide-3);
  padding: 4.8vw 4.8vw 5.8vw;
  font-size: 3.9vw;
  line-height: calc(32/16);
  letter-spacing: 0.1em;
  text-align: justify;
  background-color: #CFDBF5;
  z-index: 2;
}
.message__media02Image {
  position: relative;
  top: 0;
  right: 0;
  margin-inline: var(--sp-guide-2);
}
.message__bottom {
  position: relative;
  margin-top: 10.7vw;
  margin-inline: var(--sp-guide-2);
  padding-bottom: 11.4vw;
  text-align: center;
  color: #fff;
}
.message__bottomText {
  font-size: 3.9vw;
  line-height: 1;
  letter-spacing: 0.1em;
}
.message__bottomLabel {
  margin-top: 5.1vw;
}
.message__bottomLabel span {
  padding-bottom: 2.4vw;
  font-size: 6.3vw;
  font-weight: 400;
  line-height: calc(46/26);
  letter-spacing: 0;
  background: linear-gradient(
    to bottom,
    transparent 0%,
    transparent 60%,
    var(--color-sub) 60%,
    var(--color-sub) 80%,
    transparent 80%,
    transparent 100%
  );
}


/* con10 contact
-------------------------------------*/
.contact {
  position: relative;
  z-index: 1;
}
.contact__inner {
  padding-bottom: 16rem;
}

}

