@charset "UTF-8";

/* ==== color ========================== */
:root {
  --color-black: #333333;
  --color-white: #ffffff;
  --color-bg-w: rgb(207 180 101 / 12%);
  --color-red: #c3181f;


  --noto-ckj: "noto-sans-cjk-jp", sans-serif;
  --ryumin: "a-otf-ryumin-pr6n", serif;
  --din-Condensed: "din-condensed", sans-serif;
  --jost: "Jost", sans-serif;
}


/*================================================
 *  一般・共通設定
 ================================================*/
html {
  /* =========
  1440px 1rem = 10px =========*/
  font-size: 0.69444vw;
  scroll-behavior: smooth;
  background: var(--color-white);
  color: var(--color-black);
}

body {
  font-weight: 500;
  letter-spacing: 0.05em;
  font-family: var(--noto-ckj);
}

a {
  display: block;
  text-decoration: none;
  transition: all .4s;
}

a:hover {
  opacity: .6;
}

img {
  max-width: 100%;
  display: block;
}

strong {
  font-weight: bold;
}

small {
  font-size: smaller;
}

ul,
ol,
dl {
  margin: 0;
}

ul li {
  list-style: none;
}

ol li {
  list-style: decimal;
}

li {
  margin-left: 0;
}

/* タイトル */
.fuki_hd {
  text-align: center;
  font-family: var(--ryumin);
  letter-spacing: 0.075em;
  font-feature-settings: "palt";
  font-size: 4.4rem;
  position: relative;
  padding-bottom: 6rem;
}

.fuki_hd::before {
  position: absolute;
  content: "";
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  display: inline-block;
  height: 4.25rem;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.hd_bg {
  background: #3e3a39;
  color: var(--color-white);
  font-family: var(--jost);
  font-weight: 300;
  text-transform: uppercase;
  font-size: 6rem;
  padding: 2rem 0;
  text-align: center;
}

.--mt10 {
  margin-top: 1rem;
}

@media screen and (max-width:767px) {
  html {
    /* =========
  750px 1rem = 10px =========*/
    font-size: 1.3333vw;
  }

  .hd_bg {
    font-size: 5rem;
  }
}

/*================================================
 *  section btn
 ================================================*/
section {
  position: relative;
}

.section--100 {
  padding-top: 10rem;
}

/*================================================
 *  banner
 ================================================*/
#banner {
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: 10;
  background: var(--color-white);
  width: 100%;
}

#banner .ctabtnArea {
  padding: 10px 0;
  gap: 3rem;
}

#banner .ctabtnArea li a {
  font-size: 1.4rem;
  max-height: 5rem;
  max-width: 20rem;
  padding-right: 3rem;
  border: 0.3rem solid var(--color-white);
}

#banner .ctabtnArea li a img,
#banner .ctabtnArea li a img:last-of-type {
  max-width: 3rem;
}

@media screen and (max-width:767px) {
  #banner .ctabtnArea li a {
    font-size: 2.4rem;
    max-height: 6rem;
    max-width: 28rem;
  }
}

/*================================================
 *  mv
 ================================================*/
#mv {
  background: var(--color-bg-w);
}

#mv .pre {
  position: absolute;
  width: 84.7rem;
  bottom: 5rem;
  left: 50%;
  transform: translateX(-50%);
}

.mv_btn {
  position: absolute;
  top: 1.5rem;
  right: 19.3rem;
  gap: 1.5rem;
}

.mv_btn li a {
  width: 13.6rem;
  height: 4.1rem;
  font-size: 1.65rem;
  background: #00a65a;
  color: var(--color-white);
  border-radius: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mv_btn li a img {
  width: 3.3rem;
  margin-right: 0.5rem;
}

.mv_btn li:nth-child(2) a {
  background: transparent;
  border: 1px solid var(--color-white);
}


@media screen and (max-width:767px) {
  .mv_btn {
    display: none;
  }

  #mv .pre {
    width: 51.5rem;
    bottom: 9rem;
  }
}

/*================================================
* campaign
================================================*/
#campaign {
  background: var(--color-bg-w);
}

@media screen and (max-width:767px) {}

/*================================================
* ctabtnArea
================================================*/
.ctabtnArea {
  background: #8393a1;
  gap: 6rem;
  padding: 3rem 0;
}

.ctabtnArea li a {
  width: 30.8rem;
  height: 8rem;
  font-size: 2.8rem;
  background: #00a65a;
  color: var(--color-white);
  border-radius: 10rem;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0.5rem solid var(--color-white);
  position: relative;
  padding-right: 5rem;
}

.ctabtnArea li a img {
  width: 5.4rem;
  margin-right: 0.5rem;
}

.ctabtnArea li a img:last-of-type {
  position: absolute;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}

.ctabtnArea li:nth-child(2) a {
  background: #1d3b55;
}

@media screen and (max-width:767px) {
  .ctabtnArea li a {
    width: 29rem;
    height: 7.5rem;
    font-size: 2.6rem;
  }

  .ctabtnArea li a img {
    width: 5rem;
    margin-right: 1rem;
  }
}


/*================================================
* about
================================================*/
#about {
  background: url(../images/about_bg.webp) no-repeat center top/cover;
  height: 100%;
  padding-top: 7rem;
  padding-bottom: 17rem;
}

#about h2 {
  width: 99.3rem;
  margin: 0 auto 5.6rem;
}

#about h3 {
  font-size: 4.4rem;
}

#about h3 span {
  font-size: 3.5rem;
}

#about h3::before {
  background-image: url(../images/about_fuki.webp);
  width: 38.4rem;
}


.katachi img {
  width: 98rem;
  margin: 4.5rem auto 6.5rem;
}

.about__txt {
  text-align: center;
  font-size: 2rem;
  line-height: 2.4;
  font-weight: 500;
}

.about__txt span {
  color: var(--color-red);
}

.about__txt strong {
  color: var(--color-white);
  background: var(--color-red);
  font-size: 2.4rem;
  padding: 0 0.5rem;
  margin: 0 0.5rem;
  font-weight: bold;
}


@media screen and (max-width:767px) {
  #about {
    background: url(../images/about_bg_sp.webp) no-repeat center top/cover;
    height: 100%;
    padding-top: 7rem;
    padding-bottom: 17rem;
  }

  #about h2 {
    width: 67.5rem;
  }

  .katachi img {
    width: 60rem;
  }

  .about__txt {
    width: 65.5rem;
    margin: 0 auto;
    font-size: 2.5rem;
    text-align: left;
    letter-spacing: 0.05em;
  }

  .about__txt strong {
    font-size: 3rem;
  }
}

/*================================================
* chigai
================================================*/

#chigai h2::before {
  background-image: url(../images/chigai_fuki.webp);
  width: 44.2rem;
}

.chigai__list {
  margin: 4.5rem auto 0;
  gap: 10rem 4.5rem;
  width: 99rem;
}

.chigai__list li {
  width: 29rem;
  text-align: center;
  border: 0.5rem solid var(--color-black);
  padding: 2rem 0;
  position: relative;
  line-height: 1.6;
}

.chigai__list li h3 {
  font-size: 2.6rem;
  font-weight: bold;
}

.chigai__list li h3 span {
  font-size: 2.8rem;
  line-height: 2;
}

.chigai__list li p {
  font-size: 1.8rem;
  margin-top: 1rem;
  font-feature-settings: "palt";
}

.chigai__list li p span {
  display: block;
}

.chigai__list li .--20 {
  font-size: 2rem;
}

.chigai__list li .--16 {
  font-size: 1.6rem;
}

.chigai__list li .--17 {
  font-size: 1.7rem;
}

.chigai__list li .--15 {
  font-size: 1.5rem;
}

.chigai__list li .num {
  font-size: 6.2rem;
  font-family: var(--din-Condensed);
  font-weight: bold;
  background: var(--color-white);
  position: absolute;
  top: -4rem;
  left: 2rem;
  padding: 0 0.5rem;
  margin: 0;
  line-height: 1;
}

.chigai__list li img {
  width: auto;
  height: 8rem;
  margin: 0 auto 1rem;
}

.chigai__list li img.he110 {
  height: 11rem;
}

.chigai__list li img.width250 {
  width: 25rem;
  height: auto;
  margin: 1rem auto;
}

.chigai__list li ul {
  width: 15rem;
  margin-left: auto;
  margin-right: 2rem;
  margin-top: 6rem;
}

.chigai__list li ul li {
  width: auto;
  font-size: 1.6rem;
  color: var(--color-white);
  background: rgb(120 112 32 / 80%);
  text-align: center;
  border: none;
  padding: 0.3rem 0;
  border-radius: 1rem;
  margin-bottom: 1rem;
}

.chigai__list li:nth-child(7) img:nth-of-type(2) {
  position: absolute;
  width: 11.5rem;
  height: auto;
  margin: 0;
  left: 0;
  bottom: 1rem;
  z-index: -1;
}


#chigai h4 {
  text-align: center;
  font-weight: bold;
  font-size: 4rem;
  line-height: 2;
  padding: 12rem 0;
}

@media screen and (max-width:767px) {
  .chigai__list {
    margin: 4.5rem auto 0;
    gap: 10rem 2.5rem;
    width: 100%;
  }

  .chigai__list li {
    padding: 3rem 0;
    width: 32rem;
  }

  .chigai__list li h3 {
    font-size: 2.8rem;
  }

  .chigai__list li p {
    font-size: 2.2rem;
  }

  .chigai__list li .--17,
  .chigai__list li .--16 {
    font-size: 1.8rem;
  }

  .chigai__list li:nth-child(6) .--15 {
    text-align: left;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 1rem auto 0;
  }

  #chigai h4 {
    font-size: 3.8rem;
  }
}

/*================================================
* merihari
================================================*/
.meri__top {
  position: relative;
}

.meri__top h2 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
  font-family: var(--ryumin);
  color: var(--color-white);
  font-size: 5rem;
  background: rgb(8 11 14 / 70%);
  z-index: 1;
  font-weight: bold;
  padding: 0.4rem 0 1rem;
  letter-spacing: 0;
}

.meri__middle {
  width: 106rem;
  padding-top: 13rem;
  margin: 0 auto;
  position: relative;
}

.meri__middle>img {
  width: 43.4rem;
  position: absolute;
  top: -15rem;
  right: -4rem;
}

.meri__middle h3 {
  font-size: 3.8rem;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}

.meri__middle h3::before {
  background-image: url(../images/meri_fuki.webp);
  width: 64.5rem;
}


.meri__middle ul {
  width: 52.8rem;
  margin-top: 4rem
}

.meri__middle ul li {
  font-size: 2rem;
  color: #333a46;
  background: rgb(199 178 153 / 33%);
  line-height: 1.5;
  margin-bottom: 2rem;
  padding: 1rem 0 1rem 3rem;
}

.meri__middle ul li:nth-child(even) {
  background: #f2f2f2;
}

.meri__middle ul:nth-of-type(2) {
  width: 44.6rem;
}

.meri__middle .inner02 ul li {
  background: #f2f2f2;
}

.meri__middle .inner02 ul li:nth-child(even) {
  background: rgb(199 178 153 / 33%);
}

.meri__middle .outer {
  position: relative;
}

.meri__middle .inner01 {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: 8rem;
  position: absolute;
  right: 0;
  bottom: -20rem;
}

.meri__middle .inner img {
  width: 36.4rem;
}

.meri__middle .inner p {
  font-size: 3.2rem;
  line-height: 1.6;
}

.meri__middle .inner02 {
  margin-top: 10rem;
  margin-bottom: 5rem;
}


.meri__under div {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  text-align: center;
}

.meri__under div h2 {
  font-size: 4.8rem;
}

.meri__under div h3 {
  font-size: 3.8rem;
  font-family: var(--ryumin);
  margin-top: 3rem;
  line-height: 1.8;
}


@media screen and (max-width:767px) {
  .meri__top h2 {
    font-size: 4rem;
    font-feature-settings: "palt";
    letter-spacing: 0.1em;
  }

  .meri__middle {
    width: 65rem;
    padding-top: 3rem;
  }

  .meri__middle h3 {
    text-align: left;
  }

  .meri__middle h3::before {
    width: 64.5rem;
    height: 4.2rem;
    left: 33rem;
  }

  .meri__middle>img {
    width: 22rem;
    top: -13.6rem;
    right: 0rem;
  }

  .meri__middle .inner img {
    width: 33rem;
  }

  .meri__middle .inner01 {
    width: 100%;
    margin-right: 0;
    flex-direction: row-reverse;
    align-items: end;
    justify-content: end;
  }

  .meri__middle ul {
    width: 100%;
  }

  .meri__middle ul li {
    font-size: 2.4rem;
    padding: 1.5rem 0 1.5rem 6rem;
  }

  .meri__middle .inner p {
    margin-right: -5rem;
  }

  .meri__middle .inner02 {
    margin-top: 26rem;
    margin-bottom: 1rem;
    position: relative;
    justify-content: end;
  }

  .meri__middle .inner02 div {
    width: 77%;
  }

  .meri__middle .inner02 img {
    position: absolute;
    left: -9rem;
    top: -4rem;
  }

  .meri__middle .inner02 p {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: 3rem;
  }

  .meri__under div h2 {
    font-size: 4.4rem;
  }

  .meri__under div {
    top: 55%;
  }

  .meri__under div h3 {
    font-size: 3rem;
  }
}

/*================================================
* facility
================================================*/
#facility {
  padding-bottom: 16rem;
}

#facility h3 {
  text-align: center;
  font-size: 3.8rem;
  font-weight: bold;
  line-height: 1.88;
  margin-top: 4rem;
}

#facility .outer {
  background: url(../images/facility_bg.webp) no-repeat center top/cover;
  height: 100%;
  padding-bottom: 11rem;
}

#facility .outer img {
  width: 100rem;
  margin: 3.5rem auto;
}

#facility div.flex {
  width: 84rem;
  margin: -4rem auto 0;
  gap: 3rem 0;
}

#facility div.flex span {
  display: block;
  background: #998675;
  color: var(--color-white);
  font-size: 2.6rem;
  text-align: center;
  line-height: 1;
  padding: 1rem 3rem;
  border-radius: 1.5rem;
}

#facility div.flex p {
  width: 100%;
  font-size: 1.8rem;
  line-height: 2.1;
  font-weight: 400;
}

#facility ul {
  display: grid;
  gap: 4rem;
  grid-template-columns: repeat(3, 1fr);
  width: 86rem;
  margin: 7rem auto 0;
}

#facility ul li {
  background: var(--color-white);
  border: 0.3rem solid #dbdcdc;
  border-radius: 1rem;
  box-shadow: -0.8rem 0.8rem 0.8rem rgb(35 24 21 / 15%);
  padding: 2rem 0;
  text-align: center;
  font-size: 2rem;
  line-height: 1.5;
}

#facility ul li img {
  width: 13rem;
  margin: 0 auto 1rem;
}

@media screen and (max-width:767px) {
  #facility .outer {
    background-image: url(../images/facility_bg_sp.webp);
    padding-bottom: 30rem;
  }

  #facility h3 {
    font-size: 3.2rem;
  }

  #facility div.flex {
    width: 100%;
    margin: -4rem auto 0;
    gap: 3rem 0;
  }

  #facility ul {
    width: 89%;
    gap: 1.5rem;
    font-feature-settings: "palt";
    margin: 4rem auto 0;
  }

  #facility .outer img {
    width: 69.3rem;
    margin: 5.5rem auto 3.5rem;
  }

  #facility div.flex {
    justify-content: center;
    gap: 1rem;
  }

  #facility div.flex span {
    font-size: 2.3rem;
    padding: 1rem 2rem;
  }

  #facility div.flex p {
    font-size: 2.4rem;
    width: 67rem;
    margin: 0 auto;
    font-feature-settings: "palt";
  }

  #facility ul li img {
    width: 9rem;
  }
}

/*================================================
* gymArea
================================================*/
#gymArea {
  background: var(--color-bg-w);
  padding-bottom: 2rem;
}

#gymArea h2 {
  font-family: var(--jost);
  font-size: 9.8rem;
  margin-left: 19rem;
}

#gymArea h2 img {
  width: 15rem;
  display: inline-block;
  margin-right: 1rem;
}

.gym__top h3 {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: rgb(8 11 14 / 70%);
  color: var(--color-white);
  width: 100%;
  text-align: center;
  font-family: var(--ryumin);
  font-size: 4.4rem;
  line-height: 1.4;
  padding: 1rem;
}

.gym__middle {
  position: relative;
}

.gym__middle h3 {
  width: 31.5rem;
  margin: 0 auto;
}

.gym__middle p {
  font-size: 2rem;
  text-align: center;
  line-height: 2;
  margin: 2rem 0;
  position: relative;
  z-index: 1;
  font-weight: 400;
}

.gym__middle h4 {
  text-align: center;
  font-size: 4.4rem;
  font-weight: bold;
  line-height: 1.6;
  position: relative;
  z-index: 1;
  padding-bottom: 86rem;
}

.gym__middle--bg {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}

.gym__middle--bg img {
  width: 97.1rem;
  margin: 0 auto;
}

.gym__middle h5 {
  text-align: center;
  color: var(--color-white);
  font-size: 3rem;
  width: 33.3rem;
  height: 34.5rem;
  background: #1d3b55;
  border-radius: 100rem;
  position: absolute;
  bottom: 2rem;
  right: 19rem;
  line-height: 1.8;
  display: grid;
  place-content: center;
  z-index: 1;
}

.gym__bg {
  background: #ffffff;
  border-radius: 3.5rem;
  width: 120rem;
  margin: 0 auto;
  padding: 8rem 7.5rem 8rem 0;
  box-shadow: -0.5rem 0.5rem 0.5rem rgb(35 24 21 / 15%);
}

.gym__bg .inner {
  padding: 0 0 0 11rem;
}

.gym__bg h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: flex-end;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  align-items: end;
  font-size: 2.2rem;
  font-weight: bold;
  border-bottom: 1px solid;
  padding-bottom: 1rem;
  margin-bottom: 4rem;
}

.gym__bg h3 span {
  display: block;
  font-family: var(--din-Condensed);
  font-weight: bold;
  font-size: 5rem;
  margin-right: auto;
}

.gym__bg p {
  font-size: 2rem;
  line-height: 1.8;
  margin-bottom: 2rem;
}

.gym__bg p span {
  font-size: 1.7rem;
  margin-top: 2rem;
  line-height: 1.8;
}

.gym__bg .inner02 h3 {
  margin-left: 11rem;
  margin-top: 8rem;
}

.gym__bg .inner02 img {
  width: 110rem;
  margin-left: auto;
}

@media screen and (max-width:767px) {
  #gymArea {
    padding-bottom: 10rem;
  }

  #gymArea h2 {
    font-size: 5.5rem;
    margin-left: 4%;
  }

  #gymArea h2 img {
    width: 8.5rem;
  }

  .gym__bg {
    width: 92%;
    padding: 8rem 2.5rem 8rem 0;
    margin-top: -3rem;
    z-index: 1;
    position: relative;
  }

  .gym__top h3 {
    font-size: 3.5rem;
  }

  .gym__middle h3 {
    width: 26rem;
    margin: 4rem auto 0;
  }

  .gym__middle p {
    font-size: 2.4rem;
    width: 93%;
    text-align: left;
    margin: 0 auto 5rem;
    letter-spacing: 0;
  }

  .gym__middle h4 {
    font-size: 3.4rem;
    padding-bottom: 55rem;
  }

  .gym__middle--bg img {
    width: 46.6rem;
    margin-left: 8rem;
  }

  .gym__middle h5 {
    font-size: 2.6rem;
    width: 27.8rem;
    height: 28.8rem;
    font-feature-settings: "palt";
    bottom: 5rem;
    right: 5rem;
  }


  .gym__bg .inner {
    padding: 0 0 0 2.5rem;
  }

  .gym__bg .inner02 h3 {
    margin-left: 2.5rem;
    margin-top: 8rem;
  }

  .gym__bg h3 span {
    font-size: 3.5rem;
  }

  .gym__bg p {
    font-size: 2.4rem;
    margin-top: 2rem;
  }

  .gym__bg p span {
    font-size: 1.8rem;
  }
}

/*================================================
* beginner
================================================*/
#beginner {
  background: var(--color-bg-w);
}

#beginner h2 {
  text-align: center;
  font-size: 4.4rem;
  font-weight: bold;
  line-height: 1.6;
  margin: 3rem 0;
}

.beginner__cnt {
  margin-top: 7rem;
}

.beginner__cnt .num {
  text-align: center;
  font-family: var(--din-Condensed);
  font-size: 8.2rem;
  font-weight: bold;
  line-height: 1;
}

.beginner__cnt .inner {
  background: var(--color-white);
  border-radius: 4rem;
  width: 118.3rem;
  margin: 1rem auto 0;
  box-shadow: -0.5rem 0.5rem 0.5rem rgb(35 24 21 / 15%);
  padding: 4rem 0;
}

.beginner__cnt h3 {
  text-align: center;
  font-family: var(--din-Condensed);
  font-size: 7rem;
  font-weight: bold;
  letter-spacing: 0.1em;
  margin-bottom: 5rem;
  z-index: 1;
  position: relative;
}

.beginner__cnt h3 img {
  display: inline-block;
  width: 5rem;
  margin-right: 1rem;
}

.beginner__cnt h3 span {
  display: block;
  font-family: var(--noto-ckj);
  font-size: 3.2rem;
  letter-spacing: 0.075em;
  margin-top: 2rem;
}

.beginner__cnt h3 .gl {
  position: absolute;
  font-size: 2.4rem;
  display: grid;
  place-content: center;
  background: #998675;
  width: 14.8rem;
  aspect-ratio: 1/1;
  border-radius: 1000px;
  color: var(--color-white);
  letter-spacing: 0;
  top: -13%;
  right: 23%;
}

.beginner__txt div {
  width: 46.6rem;
  margin-right: 4rem;
}

.beginner__cnt h4 {
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.78;
  font-feature-settings: "palt";
  margin-bottom: 2rem;
}

.beginner__cnt p {
  font-size: 1.8rem;
  line-height: 2.1;
  font-feature-settings: "palt";
  font-weight: 400;
}

.beginner__txt img {
  width: 53.7rem;
}

.beginner__cnt ul {
  gap: 4.5rem;
  margin-top: 6rem;
}

.beginner__cnt ul li {
  width: 50rem;
  padding: 2rem;
  border: 1px solid var(--color-black);
  position: relative;
}

.beginner__cnt ul li:first-child:before {
  position: absolute;
  content: "〉";
  font-size: 4.2rem;
  font-weight: 500;
  color: #284856;
  top: 6rem;
  right: -5.5rem;
}

.beginner__cnt ul li h5 {
  font-size: 3rem;
  font-weight: bold;
}

.beginner__cnt ul li h5 span {
  font-size: 2.3rem;
  background: #284856;
  color: var(--color-white);
  display: inline-block;
  border-radius: 1000px;
  font-weight: 500;
  padding: 0.5rem 1.6rem 0.8rem;
}

.beginner__cnt ul li p {
  font-size: 2rem;
  line-height: 1.6;
  width: 38rem;
  margin: 1rem auto;
  font-feature-settings: "palt";
}


.beginner__cnt p.ac {
  font-size: 1.6rem;
  margin-top: 3rem;
  font-weight: 400;
}

.beginner__cnt.__cnt02 .inner {
  padding-bottom: 46rem;
  position: relative;
}

.beginner__cnt.__cnt02 .inner picture>img {
  width: 105rem;
  position: absolute;
  bottom: 7%;
  left: 50%;
  transform: translateX(-50%);
}

.beginner__cnt.__cnt02 .inner div {
  width: 51rem;
  margin: 0 auto;
  z-index: 1;
  position: relative;
}

#beginner h6 {
  text-align: center;
  font-size: 4.4rem;
  font-weight: bold;
  line-height: 1.6;
  margin: 12rem 0 0;
  padding-bottom: 5rem;
}

@media screen and (max-width:767px) {
  #beginner h2 {
    font-size: 3.8rem;
  }

  .beginner__cnt .inner {
    width: 92%;
  }

  .beginner__cnt h3 {
    font-size: 6rem;
  }

  .beginner__cnt h3 img {
    width: 4rem;
  }

  .beginner__cnt h3 span {
    font-size: 2.8rem;
  }

  .beginner__cnt h3 .gl {
    font-size: 2.7rem;
    width: 16.8rem;
    top: -27%;
    right: 5%;
    transform: rotate(-6deg);
  }

  .beginner__txt div {
    width: 60.2rem;
    margin: 0;
  }

  .beginner__cnt h4 {
    text-align: center;
    font-size: 3.4rem;
  }

  .beginner__cnt p {
    font-size: 2.4rem;
  }

  .beginner__txt img {
    width: 83%;
  }

  .beginner__cnt ul li {
    width: 29rem;
    padding: 2rem;
    border: 1px solid var(--color-black);
    position: relative;
  }

  .beginner__cnt ul li:first-child:before {
    top: 18rem;
  }

  .beginner__cnt ul li h5 {
    font-size: 3.6rem;
    text-align: center;
    line-height: 1.4;
  }

  .beginner__cnt ul li h5 span {
    display: block;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto 1rem;
    padding: 0.5rem 3rem 0.5rem;
  }

  .beginner__cnt ul li p {
    font-size: 2.3rem;
    width: 24rem;
    margin: 1rem auto 1rem;
    font-weight: 400;
  }

  .beginner__cnt p.ac {
    font-size: 2.2rem;
  }

  .beginner__cnt.__cnt02 .inner div {
    width: 59rem;
  }

  .beginner__cnt.__cnt02 p:not(.num) {
    width: 61%;
    margin-left: auto;
  }

  .beginner__cnt.__cnt02 .inner {
    padding-bottom: 79rem;
  }

  .beginner__cnt.__cnt02 .inner picture>img {
    width: 63.3rem;
    bottom: 2%;
  }

  #beginner h6 {
    font-size: 3.3rem;
    margin: 4rem 0 0;
    padding-bottom: 3rem;
  }
}


/*================================================
* voice
================================================*/
#voice {
  background: var(--color-bg-w);
}

#voice>img {
  width: 9.6rem;
  margin: 0 auto;
}

#voice ul {
  margin-left: 18rem;
  margin-top: 3em;
  padding-bottom: 1rem;
}

#voice ul li {
  display: flex;
  align-items: center;
  justify-content: start;
  gap: 1.5rem;
  margin-bottom: 7rem;
  position: relative;
}

#voice ul li div {
  text-align: center;
}

#voice ul li div h3 {
  font-size: 2.1rem;
  background: #ec7690;
  color: var(--color-white);
  border-radius: 1000px;
  padding: 1rem 2rem;
}

#voice ul li:nth-child(2) div h3 {
  background: #998675;
}

#voice ul li:nth-child(3) div h3 {
  background: #db9b38;
}

#voice ul li div h4 {
  font-size: 2.4rem;
  font-weight: bold;
  margin: 1.5rem 0;
}

#voice ul li p {
  font-size: 1.8rem;
  line-height: 1.7;
}

#voice ul li img {
  width: 31.1rem;
}

#voice ul li>p {
  width: 24rem;
}

#voice ul li>img.bg {
  position: absolute;
}

#voice ul li:first-child>img.bg {
  width: 47.8rem;
  right: 20rem;
  bottom: -6rem;
}

#voice ul li:nth-child(2)>img.bg {
  width: 36.8rem;
  right: 13rem;
  bottom: -4rem;
}

#voice ul li:nth-child(3)>img.bg {
  width: 40.6rem;
  right: 13rem;
  bottom: -8rem;
}

#voice h5 {
  text-align: center;
  font-size: 4.4rem;
  font-weight: bold;
  line-height: 1.6;
  padding: 3rem 0;
  background: var(--color-white);
}

@media screen and (max-width:767px) {
  #voice {
    overflow: hidden;
  }

  #voice h5 {
    font-size: 3.8rem;
    padding-bottom: 6rem;
  }

  #voice ul {
    width: 100%;
    overflow: hidden;
    margin: 0 auto;
  }

  #voice ul li {
    width: 93%;
    margin-right: auto;
    margin-left: auto;
    flex-wrap: wrap;
    flex-direction: row-reverse;
    gap: 1rem 2em;
  }

  #voice ul li img {
    width: 28.2rem;
  }

  #voice ul li div h4 {
    font-size: 2.8rem;
    text-align: left;
  }

  #voice ul li div h3 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    padding: 1rem 5rem;
  }

  #voice ul li p {
    text-align: left;
  }

  #voice ul li>p {
    font-size: 2.4rem;
    width: 34.3rem;
  }

  #voice ul li:first-child>img.bg {
    width: 44rem;
    right: -3rem;
    bottom: -5rem;
  }

  #voice ul li:nth-child(2)>img.bg {
    width: 32.8rem;
    right: 0rem;
    bottom: -4rem;
  }

  #voice ul li:nth-child(3)>img.bg {
    width: 37.6rem;
    right: -1rem;
    bottom: -13rem;
  }
}

/*================================================
* personal
================================================*/
.personal__top {
  background: url(../images/personal_bg.webp) no-repeat center bottom/cover;
  height: 100%;
  padding-top: 2rem;
  padding-bottom: 59rem;
}

.personal__top h3 {
  width: 70rem;
  margin: 4.5rem auto;
}

.personal__top h4 {
  font-size: 2.8rem;
  background: #1d3b55;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding: 1rem 3rem;
  color: var(--color-white);
}

.personal__top p {
  text-align: center;
  font-size: 4rem;
  margin-top: 4rem;
}


.personal__middle h3 {
  text-align: center;
  font-size: 4rem;
  line-height: 1.85;
  font-feature-settings: "palt";
  font-weight: bold;
  margin-bottom: 3rem;
}

.personal__middle ul {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 101rem;
  margin: 0 auto;
}

.personal__middle ul li {
  width: 24rem;
  height: 23.3rem;
  display: grid;
  place-content: center;
  font-size: 2.2rem;
  line-height: 1.8;
  text-align: center;
  position: relative;
  z-index: 2;
}

.personal__middle ul li::before {
  position: absolute;
  content: "";
  background: url(../images/personal_list.webp) no-repeat center/cover;
  width: 100%;
  height: 100%;
}

.personal__middle p {
  font-size: 2rem;
  line-height: 1.7;
  width: 50rem;
  margin-left: auto;
  margin-right: 28rem;
  position: absolute;
  top: 9rem;
  right: 0;
  font-weight: 400;
}

.personal__middle>.relative>img {
  width: 109.6rem;
  margin-top: -6rem;
  margin-left: 12.2rem;
}


#personal .dakara {
  text-align: center;
  font-family: var(--ryumin);
  color: var(--color-white);
  font-size: 7rem;
  line-height: 1.56;
  background: #6a7188;
  padding: 4rem 0;
}

#personal .dakara span {
  color: #fcee21;
}

@media screen and (max-width:767px) {
  .personal__top {
    background: url(../images/personal_bg_sp.webp) no-repeat center bottom / cover;
    padding-top: 0;
    padding-bottom: 59rem;
  }

  .personal__top h3 {
    width: 61rem;
    margin: 4.5rem auto;
  }

  .personal__top h4 {
    width: 67rem;
    text-align: center;
    line-height: 1.6;
  }

  .personal__middle h3 {
    font-size: 3.6rem;
    margin-top: 3rem;
    margin-bottom: 5rem;
  }

  .personal__middle ul {
    width: 93.33%;
    flex-wrap: wrap;
    justify-content: start;
    gap: 1rem 1.5rem;
  }

  .personal__middle ul li {
    width: 29rem;
    height: 28.3rem;
    font-size: 2.8rem;
    letter-spacing: 0;
  }

  .personal__middle ul li:nth-child(3) {
    margin-left: auto;
  }

  #personal .personal__middle {
    overflow: hidden;
  }

  .personal__middle p {
    font-size: 2.4rem;
    width: 59rem;
    margin-right: auto;
    top: -12rem;
    right: 7rem;
  }

  .personal__middle>.relative>img {
    width: 80.6rem;
    margin-top: 15rem;
    margin-left: -0.8rem;
  }

  #personal .dakara {
    font-size: 5.3rem;
  }
}

/*================================================
* shisei
================================================*/
#shisei {
  padding-top: 5rem;
  padding-bottom: 13rem;
}

#shisei h2.fuki_hd {
  font-size: 3rem;
  font-family: var(--noto-ckj);
  line-height: 2;
}

#shisei h2.fuki_hd::before {
  background-image: url(../images/shisei_fuki.webp);
  width: 103.4rem;
  height: 5.3rem;
}

#shisei h3 {
  text-align: center;
  font-size: 7rem;
  line-height: 1.6;
  color: #1d3b55;
  font-weight: bold;
  letter-spacing: 0.15em;
  font-feature-settings: "palt";
  font-family: var(--ryumin);
}

#shisei ul {
  display: grid;
  gap: 2.4rem;
  grid-template-columns: repeat(3, 1fr);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 4rem auto 0;
}

#shisei ul li {
  height: 30.9rem;
  aspect-ratio: 1 / 1;
  background: #1d3b55;
  color: #ffff00;
  font-size: 2.4rem;
  text-align: center;
  line-height: 1.9;
  border-radius: 100000px;
  display: grid;
  place-content: center;
}

#shisei .bunseki__list {
  width: 106rem;
  margin: 6rem auto 0;
}

.bunseki__list dt {
  font-size: 2.2rem;
  padding-left: 1.5rem;
  border-left: 0.5rem solid #1d3b55;
  padding-bottom: 3rem;
}

.bunseki__list dt span {
  font-size: 3.4rem;
  font-family: var(--din-Condensed);
  margin-right: 1rem;
}

.bunseki__list dd {
  padding-left: 1.5rem;
  border-left: 0.5rem solid #1d3b55;
}

.bunseki__list dd p {
  font-size: 1.8rem;
  font-weight: 400;
  line-height: 2;
  font-feature-settings: "palt";
}

.bunseki__list dd p span {
  font-size: 2.5rem;
  font-weight: 500;
  margin-bottom: 2rem;
  display: block;
}

.bunseki__list dd h4 {
  font-size: 2.4rem;
  color: #1d3b55;
  font-weight: 500;
  line-height: 1.6;
  margin-top: 1rem;
}

/* 1つめ */
.bunseki__list dd:first-of-type .flex img {
  width: 50rem;
  margin-right: 2rem;
}

.bunseki__list dd:first-of-type {
  margin-bottom: 8rem;
  position: relative;
}

.bunseki__list dd:first-of-type .flex p {
  width: 47rem;
}

.bunseki__list dd:first-of-type p img {
  width: 19rem;
  margin: 3rem 0 1rem;
}

.bunseki__list dd:first-of-type>img {
  position: absolute;
  width: 35rem;
  bottom: -16rem;
  right: 0rem;
}

/* 2つめ */
.bunseki__list dd:nth-of-type(2) .flex img {
  width: 22.4rem;
  margin-right: 2rem;
}

.bunseki__list dd:nth-of-type(2) .flex p {
  width: 64rem;
}

/* 3つめ */
.bunseki__list:nth-of-type(2) dd>img {
  width: 39rem;
  top: -20rem;
  right: -6rem;
}

.bunseki__list:nth-of-type(2) dd .flex img {
  width: 31.2rem;
}

.bunseki__list:nth-of-type(2) dd .flex p {
  width: 45rem;
}

#shisei h5 {
  text-align: center;
  color: var(--color-white);
  font-size: 3.8rem;
  font-weight: bold;
  line-height: 1.9;
  background: #6a7188;
  padding: 4rem 0;
  margin-top: 6rem;
}



@media screen and (max-width:767px) {
  #shisei h2.fuki_hd {
    font-size: 3.2rem;
  }

  #shisei h2.fuki_hd::before {
    width: 64.5rem;
    height: 4.2rem;
  }

  #shisei h3 {
    font-size: 6rem;
  }

  #shisei ul {
    width: 100%;
    grid-template-columns: repeat(1, 1fr);
  }

  #shisei ul li {
    width: 67.5rem;
    aspect-ratio: unset;
    margin: 0 auto;
    font-size: 3.4rem;
    height: 16rem;
    border-radius: 4rem;
    line-height: 1.6;
  }

  #shisei .bunseki__list {
    width: 93%;
    margin: 6rem auto 0;
  }

  .bunseki__list dt {
    font-size: 2.5rem;
  }

  .bunseki__list dt span {
    font-size: 4rem;
  }

  .bunseki__list dd {
    position: relative;
  }

  .bunseki__list dd p {
    font-size: 2.4rem;
  }

  .bunseki__list dd p span {
    font-size: 3rem;
    line-height: 1.6;
  }

  .bunseki__list dd p span.pc {
    display: none;
  }

  .bunseki__list dd p.inner {
    width: 57%;
  }

  .bunseki__list dd .flex img {
    margin-left: auto;
  }

  .bunseki__list dd h4 {
    font-size: 3rem;
    margin-top: 3rem;
  }

  .bunseki__list dd:first-of-type .flex p {
    font-size: 2.4rem;
    width: 100%;
  }

  .bunseki__list dd:first-of-type p img {
    width: 23rem;
    margin: 3rem 0 1rem;
  }

  .bunseki__list dd:first-of-type>img {
    width: 30rem;
    bottom: 15rem;
    right: 0rem;
  }

  .bunseki__list dd:first-of-type .flex img {
    width: 100%;
  }

  .bunseki__list dd:nth-of-type(2) .flex {
    flex-direction: row-reverse;
  }

  .bunseki__list dd:nth-of-type(2) .flex img {
    width: 27.4rem;
    margin: 0;
    position: absolute;
    top: -6rem;
    right: 14%;
  }

  .bunseki__list dd:nth-of-type(2) .flex p {
    width: 100%;
  }

  .bunseki__list:nth-of-type(2) dd>img {
    display: none;
  }

  .bunseki__list:nth-of-type(2) dd div img {
    margin-bottom: 3rem;
  }

  #shisei h5 {
    font-size: 2.8rem;
  }
}

/*================================================
* price
================================================*/
#price h3 {
  text-align: center;
  font-size: 3.2rem;
  font-weight: bold;
  margin: 5rem 0 3rem;
}

#price img {
  width: 100rem;
  margin: 0 auto 10rem;
}

@media screen and (max-width:767px) {
  #price img {
    width: 100%;
  }
}

/*================================================
* faq
================================================*/
#faq h3 {
  text-align: center;
  font-size: 2.8rem;
  margin: 6rem 0;
}

#faq dl {
  width: 99rem;
  margin: 0 auto;
  line-height: 1.9;
  padding-bottom: 4rem;
}

#faq dl dt span,
#faq dl dd span {
  font-size: 7.5rem;
  font-family: var(--jost);
  font-weight: 300;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

#faq dl dt span {
  color: #273133;
  left: 1.5rem;
}

#faq dl dd span {
  color: #c30d23;
  left: 4rem;
}

#faq dl dt {
  position: relative;
  font-size: 2rem;
  padding: 3rem 2rem 3rem 10rem;
  background: #f2f2f2;
}

#faq dl dd {
  position: relative;
  font-size: 1.9rem;
  padding: 3rem 2rem 3rem 11rem;
  border-bottom: 1px solid #cccccc;
  margin-bottom: 4rem;
}

#faq dl dd img {
  width: 33.4rem;
  display: inline-block;
}

@media screen and (max-width:767px) {
  #faq dl {
    width: 100%;
    margin: 0 auto;
    padding-bottom: 0;
  }

  #faq dl dt {
    font-size: 2.3rem;
  }

  #faq dl dd {
    font-size: 2.5rem;
    margin-bottom: 0;
    padding-bottom: 4rem;
  }

  #faq dl dt span,
  #faq dl dd span {
    font-size: 5.5rem;
    left: 2.5rem;
    top: 5.5rem;
  }

  #faq dl dd span {
    left: 4.5rem;

  }

  #faq dl dd img {
    margin-top: 1rem;
  }
}

/*================================================
* access
================================================*/
#access {
  background: var(--color-bg-w);
  padding-bottom: 10rem;
  margin-bottom: 5rem;
}

#access>img {
  width: 48.3rem;
  margin: 6rem auto;
}

#access>p {
  text-align: center;
  font-size: 2.2rem;
  line-height: 2;
}

#access>p span {
  font-size: 2.5rem;
  margin-left: 1rem;
}

#access>p.border {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 1rem 5.5rem;
  border: 1px solid;
  margin: 0 auto;
  letter-spacing: 0.15em;
}

#access iframe {
  display: block;
  width: 100%;
  height: 55rem;
  margin: 5rem 0;
}

@media screen and (max-width:767px) {
  #access {
    margin-bottom: 10rem;
  }

  #access>p {
    font-size: 2.6rem;
  }

  #access>p span {
    display: block;
    margin-top: 2rem;
    font-size: 2.6rem;
  }

  #access iframe {
    height: 45rem;
  }

  #access>p.border {
    width: 60.5rem;
    padding: 1rem 2.5rem;
  }
}