@charset "UTF-8";

html {
  font-size: 100%;
  scroll-behavior: smooth;
}

body {
  color: #333;
  font-family: "Noto Sans JP", sans-serif;
}

a {
  text-decoration: none;
  color: #333;
}

img {
  max-width: 100%;
  vertical-align: bottom;
  object-fit: cover;
}

li {
  list-style: none;
}

.pc {
  display: block;
}

.sp {
  display: none;
}

/*-------------------------------------------
HEADER
-------------------------------------------*/

.header {
  margin: 0 auto;
  max-width: 1940px;
  padding-left: 1.5%;
}

.header__inner {
  display: flex;
  justify-content: space-between;
}

.header__logo {
  margin-top: 15px;
  width: 266px;
}

.header__link {
  width: 387px;
  display: flex;
}

.header__link__phone {
  width: 65%;
  display: block;
  background-color: #ee8579;
  font-size: 1.1875rem;
  font-weight: 500;
  color: #fff;
  text-align: center;
  padding: 15px 0px;
}

.header__link__phone img {
  width: 25px;
  margin-top: 5px;
  margin-right: 5px;
}

.header__link__phone span {
  font-size: 1.5rem;
}

.header__link__web {
  width: 35%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: #245595;
  font-size: 1.1875rem;
  font-weight: 500;
  color: #fff;
}

/*-------------------------------------------
MV
-------------------------------------------*/

.mv {
  margin: 0 auto;
  max-width: 1940px;
}

/*-------------------------------------------
CTA
-------------------------------------------*/

.cta {
  margin: 0 auto;
  max-width: 1940px;
  background-color: #fef7f4;
  padding-top: 85px;
  padding-bottom: 100px;
  padding-left: 20px;
  padding-right: 20px;
}

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

.cta__img {
  width: 46%;
}

.cta__text {
  width: 50%;
}

.cta__title {
  font-size: 1.75rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .1em;
  color: #ee8479;
}

.cta-other .cta__title {
  text-align: center;
}

.cta__description {
  margin-top: 10px;
  font-size: 1.2rem;
  font-weight: 500;
  color: #454342;
}

.cta__btn1 {
  margin-top: 25px;
  display: block;
  background-color: #ee827a;
  border-radius: 20px;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  text-align: center;
  padding: 15px;
  position: relative;
}

.cta__btn1 span {
  font-size: 1.35rem;
}

.cta__btn1 img {
  width: 40px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 50px;
}

.cta__btn2 {
  margin-top: 20px;
  display: block;
  background-color: #89c9d8;
  border-radius: 20px;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  text-align: center;
  padding: 15px;
  position: relative;
}

.cta__btn2 span {
  font-size: 1.35rem;
}

.cta__btn2 img {
  width: 40px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 50px;
}

/*-------------------------------------------
DOCTOR
-------------------------------------------*/

.doctor {
  margin: 0 auto;
  max-width: 1940px;
  background-image: url(../img/doctor-bg.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 100px;
  padding-bottom: 100px;
}

.doctor__inner {
  margin: 0 auto;
  max-width: 1750px;
  padding-left: 20px;
  padding-right: 20px;
}

.doctor__title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .2em;
  color: #4a453f;
}

.doctor__title__decoration {
  margin: 0 auto;
  margin-top: 5px;
  width: 30%;
  max-width: 574px;
}

.doctor__top {
  margin-top: 30px;
  position: relative;
}

.doctor__greeting {
  position: absolute;
  top: 70px;
  left: 0;
  z-index: 2;
  width: 62.5%;
  border-top-left-radius: 100px;
  background: linear-gradient(135deg,
      #8ea7c4 0%,
      #6f90b8 40%,
      #4370a9 100%);
  padding-top: 50px;
  padding-bottom: 50px;
  padding-left: 80px;
  padding-right: 200px;
}

.doctor__greeting__title {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  font-size: 1.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  color: #fff;
}

.doctor__greeting__title img {
  width: 20%;
  max-width: 150px;
}

.doctor__greeting__content {
  margin-top: 30px;
  font-size: 1.35rem;
  font-weight: 500;
  letter-spacing: .1em;
  line-height: 1.3666;
  color: #fff;
}

.doctor__greeting__name {
  margin-top: 15px;
  font-size: 1rem;
  font-weight: 600;
  color: #fff;
  text-align: right;
}

.doctor__greeting__name span {
  font-size: 1.125rem;
}

.doctor__img {
  margin: 0 0 0 auto;
  width: 47%;
  position: relative;
  z-index: 3;
}

.doctor__bottom {
  margin: 0 auto;
  width: 92%;
  transform: translateY(-70px);
  margin-bottom: -70px;
  padding-top: 210px;
  background-color: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
  padding-bottom: 70px;
  padding-left: 20px;
  padding-right: 20px;
}

.doctor__bottom__box {
  margin: 0 auto;
  width: 88%;
  display: flex;
  justify-content: space-between;
}

.doctor__career {
  width: 45%;
}

.doctor__career__title {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
  border-bottom: 2px solid #b4a892;
  padding-bottom: 10px;
}

.doctor__career__list {
  margin-top: 15px;
}

.doctor__career__list li {
  margin-top: 10px;
  font-size: 1.2rem;
  font-weight: 500;
}

.doctor__career__list li:first-of-type {
  margin-top: 0px;
}

.doctor__belonging {
  width: 45%;
}

.doctor__belonging__title {
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1;
  border-bottom: 2px solid #b4a892;
  padding-bottom: 10px;
}

.doctor__belonging__list {
  margin-top: 15px;
}

.doctor__belonging__list li {
  margin-top: 10px;
  font-size: 1.2rem;
  font-weight: 500;
}

.doctor__belonging__list li:first-of-type {
  margin-top: 0px;
}

.doctor__achievements {
  margin-top: 50px;
}

/*-------------------------------------------
WHAT
-------------------------------------------*/

.what {
  margin: 0 auto;
  max-width: 1940px;
  padding-top: 190px;
  position: relative;
}

.what-bg {
  width: 40%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
}

.what-bg img {
  width: 100%;
  height: 100%;
}

.what__title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .2em;
  color: #ed8378;
}

.what__title__decoration {
  margin: 0 auto;
  width: 30%;
  max-width: 580px;
}

.what__box {
  margin: 0 auto;
  margin-top: 100px;
  max-width: 1740px;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  align-items: end;
}

.what__img {
  width: 50%;
}

.what__text {
  width: 50%;
  background-color: #fef7f4;
  padding-top: 75px;
  padding-bottom: 110px;
  padding-left: 50px;
  padding-right: 50px;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: .2em;
  line-height: 1.35;
  color: #67625c;
}

/*-------------------------------------------
MERIT
-------------------------------------------*/

.merit-demerit-container {
  background-image: url(../img/merit-demerit-container-bg.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  margin: 0 auto;
  max-width: 1940px;
  padding-top: 120px;
  padding-bottom: 150px;
}

.merit__title {
  text-align: center;
  letter-spacing: .04em;
  color: #ee8579;
  font-size: 2.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
}

.merit__title__decoration {
  margin: 0 auto;
  width: 30%;
  max-width: 580px;
}

.merit__list {
  margin: 0 auto;
  margin-top: 90px;
  max-width: 1740px;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  justify-content: space-between;
}

.merit__list li {
  width: 31.7%;
  background-color: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
  padding-bottom: 40px;
}

.merit__list__top {
  transform: translateY(-30px);
  margin-bottom: -30px;
  display: flex;
  align-items: center;
}

.merit__list__title {
  background-color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.2;
  padding-top: 20px;
  padding-left: 30px;
  padding-right: 40px;
}

.merit__list__number {
  color: #ee867a;
  font-size: 5rem;
  font-weight: normal;
  font-family: "Lora", serif;
  transform: rotate(-10deg) translateX(-30px) translateY(10px);
}

.merit__list__text {
  margin-top: 40px;
  padding-left: 30px;
  padding-right: 30px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .1em;
  color: #67625c;
}

/*-------------------------------------------
DEMERIT
-------------------------------------------*/

.demerit {
  margin-top: 120px;
}

.demerit__title {
  text-align: center;
  letter-spacing: .04em;
  color: #376393;
  font-size: 2.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
}

.demerit__title__decoration {
  margin: 0 auto;
  width: 30%;
  max-width: 580px;
}

.demerit__list {
  margin: 0 auto;
  margin-top: 90px;
  max-width: 1740px;
  padding-left: 20px;
  padding-right: 20px;
  display: flex;
  justify-content: space-between;
}

.demerit__list li {
  width: 31.7%;
  background-color: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
  padding-bottom: 40px;
}

.demerit__list__top {
  transform: translateY(-30px);
  margin-bottom: -30px;
  display: flex;
  align-items: center;
}

.demerit__list__title {
  background-color: #fff;
  font-size: 1.4rem;
  font-weight: 600;
  letter-spacing: .1em;
  line-height: 1.2;
  padding-top: 20px;
  padding-left: 30px;
  padding-right: 40px;
}

.demerit__list__number {
  color: #376393;
  font-size: 5rem;
  font-weight: normal;
  font-family: "Lora", serif;
  transform: rotate(-10deg) translateX(-30px) translateY(10px);
}

.demerit__list__text {
  margin-top: 40px;
  padding-left: 30px;
  padding-right: 30px;
  font-size: 1.125rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .1em;
  color: #67625c;
}

/*-------------------------------------------
SUITABLE
-------------------------------------------*/

.suitable {
  margin-top: 120px;
  padding-left: 20px;
  padding-right: 20px;
}

.suitable__title {
  text-align: center;
  letter-spacing: .2em;
  color: #4a453f;
  font-size: 2.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
}

.suitable__title__decoration {
  margin: 0 auto;
  margin-top: 10px;
  width: 30%;
  max-width: 580px;
}

.suitable__list {
  margin: 0 auto;
  margin-top: 40px;
  max-width: 1700px;
  background-color: #fff;
  padding-top: 60px;
  padding-bottom: 70px;
  padding-left: 90px;
  padding-right: 60px;
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}

.suitable__list li {
  width: 47%;
  display: flex;
  align-items: center;
  gap: 20px;
  font-size: 1.25rem;
  letter-spacing: .1em;
}

.suitable__list li img {
  width: 30px;
}

/*-------------------------------------------
COMPARISON
-------------------------------------------*/

.comparison {
  margin: 0 auto;
  max-width: 1940px;
  background-image: url(../img/comparison-bg.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 140px;
  padding-bottom: 140px;
  padding-left: 20px;
  padding-right: 20px;
}

.comparison__title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  letter-spacing: .04em;
  color: #000;
}

.comparison__title__decoration {
  margin: 0 auto;
  margin-top: 5px;
  width: 17.5%;
  max-width: 340px;
}

.comparison__text {
  margin-top: 20px;
  text-align: center;
  font-size: 1.75rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .04em;
  color: #000;
}

.cross-table {
  margin: 0 auto;
  margin-top: 60px;
  max-width: 1700px;
}

.cross-table__inner {
  width: 100%;
  text-align: center;
  table-layout: fixed;
  border-collapse: collapse;
}

.cross-table__header {
  padding: 30px;
  background-color: #fff;
  border-bottom: 0.75px solid #000;
  font-size: 1.25rem;
  font-weight: 600;
  vertical-align: middle;
}

.cross-table__header.transparent {
  background-color: transparent;
  padding: 0;
}

.cross-table__header.first {
  background-color: #70a6c1;
  font-size: 1.5rem;
  font-weight: normal;
  color: #fff;
  padding: 10px;
}

.cross-table__header.second {
  background-color: #376393;
  font-size: 1.5rem;
  font-weight: normal;
  color: #fff;
  padding: 10px;
}

.cross-table__header.third {
  background-color: #70a6c1;
  font-size: 1.5rem;
  font-weight: normal;
  color: #fff;
  padding: 10px;
}

.cross-table__text {
  padding: 0px 15px;
  border-bottom: 0.75px solid #000;
  vertical-align: middle;
  text-align: left;
  background-color: #70a6c1;
  height: 130px;
}

.cross-table__text span {
  height: 100%;
  display: block;
  display: flex;
  align-items: center;
  padding-left: 10px;
  padding-right: 10px;
  background-color: #fff;
}

.cross-table__text.second {
  background-color: #376393;
}

.cross-table__img {
  padding-top: 0;
  padding-bottom: 15px;
}

.cross-table__header-row:first-child .cross-table__header {
  border-bottom-width: 0;
}

.cross-table__body-row:last-child .cross-table__text {
  border-bottom: 10px solid #70a6c1;
}

.cross-table__body-row:last-child .cross-table__text.second {
  border-bottom: 10px solid #376393;
}

@media screen and (max-width:768px) {
  .cross-table {
    border-right-width: 0;
    overflow-x: auto;
  }

  .cross-table__inner {
    width: auto;
    min-width: 100%;
  }

  .cross-table__header:last-child,
  .cross-table__text:last-child {
    border-right-width: 1px;
  }

  .cross-table__header--md-sticky {
    /* position: sticky;
    position: -webkit-sticky; */
    left: 0;
  }
}

/*-------------------------------------------
REASON
-------------------------------------------*/

.reason {
  margin: 0 auto;
  max-width: 1940px;
  background-image: url(../img/reason-bg.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 130px;
  padding-bottom: 130px;
  padding-left: 40px;
  padding-right: 40px;
}

.reason__title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  letter-spacing: .04em;
  color: #4a453f;
}

.reason__title__decoration {
  margin: 0 auto;
  margin-top: 10px;
  width: 36.6%;
  max-width: 710px;
}

.reason__img {
  margin: 0 auto;
  margin-top: 80px;
  max-width: 614px;
}

.reason__list {
  margin: 0 auto;
  margin-top: 100px;
  max-width: 1600px;
}

.reason__list li {
  margin-top: 180px;
  position: relative;
}

.reason__list li:first-of-type {
  margin-top: 0;
}

.reason__list__img {
  width: 48%;
  position: relative;
  z-index: 2;
}

.reason__list li:nth-of-type(even) .reason__list__img {
  margin: 0 0 0 auto;
}

.reason__list__text {
  width: 64%;
  background-color: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
  position: absolute;
  top: 100px;
  right: 0;
}

.reason__list li:nth-of-type(even) .reason__list__text {
  right: auto;
  left: 0;
}

.reason__list__text__inner {
  padding-left: 200px;
  padding-right: 50px;
  padding-bottom: 60px;
  box-shadow: 15px 15px 0px 0px #376393;
}

.reason__list li:nth-of-type(even) .reason__list__text__inner {
  padding-left: 50px;
  padding-right: 200px;
}

.reason__list__number {
  color: #376393;
  font-size: 1.9rem;
  font-weight: bold;
  font-style: italic;
  font-family: "Noto Serif JP", serif;
  display: flex;
  align-items: end;
  transform: translateY(-75px) translateX(-20px);
  margin-bottom: -75px;
}

.reason__list li:nth-of-type(even) .reason__list__number {
  justify-content: flex-end;
}

.reason__list__number span {
  font-size: 7.2rem;
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1;
  transform: translateY(20px);
}

.reason__list__title {
  margin-top: 40px;
  color: #000;
  font-size: 1.785rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .04em;
  line-height: 1.522;
  padding-bottom: 10px;
  padding-left: 15px;
  padding-right: 15px;
  border-bottom: 1px solid #376393;
}

.reason__list__description {
  margin-top: 30px;
  font-size: 1.125rem;
  color: #000;
  letter-spacing: .1em;
  line-height: 1.244;
}

/*-------------------------------------------
CASE
-------------------------------------------*/

.case {
  margin: 0 auto;
  max-width: 1940px;
  background-image: url(../img/case-bg.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 170px;
  padding-left: 20px;
  padding-right: 20px;
}

.case__title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  letter-spacing: .2em;
  color: #4a453f;
}

.case__title__decoration {
  margin: 0 auto;
  margin-top: 10px;
  width: 36.6%;
  max-width: 710px;
}

.case__first {
  margin: 0 auto;
  margin-top: 200px;
  max-width: 1700px;
  background-color: #ecf3fe;
  position: relative;
  padding-bottom: 70px;
}

.case__first__title {
  background-color: #376393;
  width: 376px;
  height: 60px;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.15rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .08em;
  text-align: center;
  position: absolute;
  top: -60px;
  left: 0;
}

.case__first__title span.number {
  font-size: 2.5rem;
  font-weight: 500;
}

.case__first__title span.name {
  font-size: 1.5rem;
  font-weight: 500;
}

.case__first__img {
  display: flex;
  position: relative;
}

.case__first__before {
  width: 50%;
}

.case__first__after {
  width: 50%;
}

.case__arrow {
  width: 60px;
  position: absolute;
  top: 130px;
  left: 50%;
  transform: translateX(calc(-50% + 5px));
}

.case__first__detail {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  padding-left: 4%;
  padding-right: 4%;
}

.case__first__list1 {
  width: 48%;
  display: flex;
  flex-wrap: wrap;
}

.case__first__list1 dt {
  width: 24%;
  background-color: #376393;
  color: #fff;
  padding: 15px;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 2px solid #dbe8fc;
}

.case__first__list1 dt:first-of-type {
  border-top: 0px;
}

.case__first__list1 dd {
  width: 76%;
  background-color: #fff;
  color: #000;
  padding: 15px;
  border-top: 2px solid #dbe8fc;
}

.case__first__list1 dd:first-of-type {
  border-top: 0px;
}

.case__first__list2 {
  width: 48%;
  display: flex;
  flex-wrap: wrap;
}

.case__first__list2 dt {
  width: 24%;
  background-color: #376393;
  color: #fff;
  padding: 15px;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-top: 2px solid #dbe8fc;
}

.case__first__list2 dt:first-of-type {
  border-top: 0px;
}

.case__first__list2 dd {
  width: 76%;
  background-color: #fff;
  color: #000;
  padding: 15px;
  border-top: 2px solid #dbe8fc;
}

.case__first__list2 dd:first-of-type {
  border-top: 0px;
}

.case__second {
  margin: 0 auto;
  margin-top: 140px;
  max-width: 1700px;
  background-color: #ecf3fe;
  position: relative;
  padding-bottom: 70px;
}

.case__second__title {
  background-color: #376393;
  width: 376px;
  height: 60px;
  color: #fff;
  text-transform: uppercase;
  font-size: 1.15rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .08em;
  text-align: center;
  position: absolute;
  top: -60px;
  left: 0;
}

.case__second__title span.number {
  font-size: 2.5rem;
  font-weight: 500;
}

.case__second__title span.name {
  font-size: 1.5rem;
  font-weight: 500;
}

.case__second__img {
  display: flex;
  position: relative;
}

.case__second__before {
  width: 50%;
}

.case__second__after {
  width: 50%;
}

.case__second__detail {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
  padding-left: 4%;
  padding-right: 4%;
}

.case__second__list1 {
  width: 48%;
  display: flex;
  flex-wrap: wrap;
}

.case__second__list1 dt {
  width: 24%;
  background-color: #376393;
  color: #fff;
  padding: 15px;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  border-top: 2px solid #dbe8fc;
}

.case__second__list1 dt:first-of-type {
  border-top: 0px;
}

.case__second__list1 dd {
  width: 76%;
  background-color: #fff;
  color: #000;
  padding: 15px;
  border-top: 2px solid #dbe8fc;
}

.case__second__list1 dd:first-of-type {
  border-top: 0px;
}

.case__second__list2 {
  width: 48%;
  display: flex;
  flex-wrap: wrap;
}

.case__second__list2 dt {
  width: 24%;
  background-color: #376393;
  color: #fff;
  padding: 15px;
  font-size: 1rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-top: 2px solid #dbe8fc;
}

.case__second__list2 dt:first-of-type {
  border-top: 0px;
}

.case__second__list2 dd {
  width: 76%;
  background-color: #fff;
  color: #000;
  padding: 15px;
  border-top: 2px solid #dbe8fc;
}

.case__second__list2 dd:first-of-type {
  border-top: 0px;
}

/*-------------------------------------------
FLOW
-------------------------------------------*/

.flow {
  margin: 0 auto;
  max-width: 1940px;
  padding-top: 190px;
  padding-left: 20px;
  padding-right: 20px;
  position: relative;
}

.flow-bg {
  width: 42.4%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: -2;
}

.flow__title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  letter-spacing: .08em;
  color: #4a453f;
}

.flow__title__decoration {
  margin: 0 auto;
  margin-top: 10px;
  width: 24.4%;
  max-width: 475px;
}

.flow__list {
  margin: 0 auto;
  margin-top: 140px;
  max-width: 1470px;
  padding-bottom: 120px;
  position: relative;
}

.flow__list::after {
  content: "";
  display: inline-block;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
  width: 66%;
  max-width: 975px;
  background-color: #efefef;
  height: 100%;
}

.flow__list li {
  margin-top: 170px;
  position: relative;
}

.flow__list li:first-of-type {
  margin-top: 0;
}

.flow__list__img {
  width: 32%;
}

.flow__list li:nth-of-type(even) .flow__list__img {
  margin: 0 0 0 auto;
}

.flow__list__text {
  background-color: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
  width: 70%;
  position: absolute;
  top: 75px;
  right: 0;
  z-index: 2;
  padding-top: 70px;
  padding-bottom: 70px;
  padding-left: 100px;
  padding-right: 100px;
}

.flow__list li:nth-of-type(even) .flow__list__text {
  right: auto;
  left: 0;
}

.flow__list__number {
  position: absolute;
  top: -30px;
  left: -30px;
  width: 200px;
  height: 60px;
  text-transform: uppercase;
  background-color: #376393;
  color: #fff;
  padding: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .08em;
  line-height: 1;
}

.flow__list li:nth-of-type(even) .flow__list__number {
  left: auto;
  right: -30px;
}

.flow__list__title {
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  letter-spacing: .08em;
  font-size: 1.75rem;
  color: #000;
}

.flow__list__description {
  margin-top: 30px;
  font-size: 1.125rem;
  letter-spacing: .08em;
  line-height: 1.52;
  color: #000;
}

/*-------------------------------------------
PRICE
-------------------------------------------*/

.price {
  margin: 0 auto;
  max-width: 1940px;
  background-color: #edf3f9;
  padding-top: 140px;
  padding-bottom: 105px;
  padding-left: 20px;
  padding-right: 20px;
}

.price__title {
  text-align: center;
  font-size: 2.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  letter-spacing: .2em;
  color: #376393;
}

.price__title__decoration {
  margin: 0 auto;
  margin-top: 10px;
  width: 21.6%;
  max-width: 420px;
}

.price__box {
  margin: 0 auto;
  margin-top: 55px;
  max-width: 1510px;
  display: flex;
  justify-content: space-between;
}

.price__content {
  width: 28.2%;
  background-color: #fff;
  border: 1.5px solid #e5dcca;
  padding-top: 40px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 10px;
}

.price__content__title {
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  color: #67625c;
}

.price__content__list {
  margin-top: 25px;
}

.price__content__list li {
  border-top: 2px solid #e5dcca;
  padding: 20px 15px;
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  color: #67625c;
}

.price__cost {
  width: 34.6%;
  background-color: #fff;
  border: 1.5px solid #9d8f75;
  padding-top: 40px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 10px;
}

.price__cost__title {
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  color: #67625c;
}

.price__cost__list {
  margin-top: 25px;
}

.price__cost__list li {
  border-top: 2px solid #e5dcca;
  padding: 17px 15px;
  font-size: 1.875rem;
  font-weight: 500;
  text-align: center;
  color: #67625c;
}

.price__installment {
  width: 34.6%;
  background-color: #fff;
  border: 1.5px solid #c9bda6;
  padding-top: 40px;
  padding-left: 20px;
  padding-right: 20px;
  border-radius: 10px;
}

.price__installment__title {
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  color: #67625c;
}

.price__installment__list {
  margin-top: 25px;
}

.price__installment__list li {
  border-top: 2px solid #e5dcca;
  padding: 17px 15px;
  font-size: 1.875rem;
  font-weight: 500;
  text-align: center;
  color: #67625c;
}

.price__asterisk {
  margin: 0 auto;
  margin-top: 70px;
  width: fit-content;
  color: #474441;
  font-size: 1.4rem;
  font-weight: 500;
}

.price__description {
  margin: 0 auto;
  margin-top: 40px;
  width: fit-content;
  color: #474441;
  font-size: 1.875rem;
  font-weight: 500;
}

/*-------------------------------------------
GUARANTEE
-------------------------------------------*/

.guarantee {
  margin: 0 auto;
  max-width: 1940px;
  background-image: url(../img/guarantee-bg.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 130px;
  padding-bottom: 130px;
  padding-left: 20px;
  padding-right: 20px;
}

.guarantee__inner {
  margin: 0 auto;
  max-width: 1700px;
  background-color: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
  border: 1px solid #ed8378;
  padding-top: 90px;
  padding-bottom: 75px;
  padding-left: 140px;
  padding-right: 80px;
}

.guarantee__title {
  text-align: center;
  font-size: 2.25rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  letter-spacing: .2em;
  color: #ed8378;
}

.guarantee__title__decoration {
  margin: 0 auto;
  margin-top: 5px;
  width: 21.6%;
  max-width: 420px;
}

.guarantee__box {
  margin-top: 95px;
  display: flex;
  justify-content: space-between;
  gap: 60px;
}

.guarantee__implant__title {
  color: #ea9794;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: .04em;
}

.guarantee__implant__list {
  margin-top: 15px;
}

.guarantee__implant__list li {
  color: #535353;
  font-size: 1.25rem;
  letter-spacing: .04em;
}

.guarantee__method {
  margin-top: 35px;
}

.guarantee__method__title {
  color: #ea9794;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: .04em;
}

.guarantee__method__list {
  margin-top: 15px;
}

.guarantee__method__list li {
  color: #535353;
  font-size: 1.25rem;
  letter-spacing: .04em;
}

.guarantee__attention__title {
  color: #ea9794;
  font-size: 1.25rem;
  font-weight: 500;
  letter-spacing: .04em;
}

.guarantee__attention__list {
  margin-top: 15px;
}

.guarantee__attention__list li {
  color: #535353;
  font-size: 1.25rem;
  letter-spacing: .04em;
}

/*-------------------------------------------
RISK
-------------------------------------------*/

.risk {
  margin: 0 auto;
  max-width: 1940px;
  background-image: url(../img/risk-bg.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 140px;
  padding-bottom: 190px;
  padding-left: 20px;
  padding-right: 20px;
}

.risk__inner {
  margin: 0 auto;
  max-width: 1700px;
  background-color: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
  padding-top: 100px;
  padding-bottom: 90px;
}

.risk__title {
  text-align: center;
  font-size: 2.125rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  letter-spacing: .2em;
  color: #233a55;
}

.risk__title__decoration {
  margin: 0 auto;
  margin-top: 10px;
  width: 24.7%;
  max-width: 480px;
}

.risk__description {
  margin: 0 auto;
  margin-top: 40px;
  width: 78%;
  max-width: 1327px;
  color: #000;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: .036em;
}

.risk__box {
  margin: 0 auto;
  margin-top: 20px;
  width: 88%;
  max-width: 1496px;
  background-color: #f2f7fc;
  padding-top: 60px;
  padding-bottom: 60px;
  padding-left: 110px;
  padding-right: 35px;
  display: flex;
  justify-content: space-between;
}

.risk__list1 {
  width: 44%;
}

.risk__list1 li {
  margin-top: 25px;
}

.risk__list1 li:first-of-type {
  margin-top: 0px;
}

.risk__list__title {
  font-size: 1.25rem;
  font-weight: 500;
}

.risk__list__text {
  font-size: 1.25rem;
}

.risk__list2 {
  width: 44%;
}

.risk__list2 li {
  margin-top: 25px;
}

.risk__list2 li:first-of-type {
  margin-top: 0px;
}

/*-------------------------------------------
FAQ
-------------------------------------------*/

.faq {
  margin: 0 auto;
  max-width: 1940px;
  background-image: url(../img/faq-bg.png);
  background-size: cover;
  background-position: center top;
  background-repeat: no-repeat;
  padding-top: 65px;
  padding-bottom: 110px;
  padding-left: 20px;
  padding-right: 20px;
}

.faq__title {
  text-align: center;
  color: #000;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.3;
}

.faq__list {
  margin: 0 auto;
  margin-top: 60px;
  max-width: 1700px;
}

.faq__list li {
  margin-top: 30px;
  background-color: #fff;
  box-shadow: 0px 0px 15px -5px #777777;
  padding-top: 40px;
  padding-bottom: 40px;
  padding-left: 50px;
  padding-right: 50px;
}

.faq__list li:first-of-type {
  margin-top: 0;
}

.faq__list__title {
  padding-bottom: 20px;
  border-bottom: 0.75px solid #233a55;
  color: #000;
  font-size: 1.5rem;
  font-weight: 600;
  letter-spacing: .1em;
  display: flex;
  align-items: center;
  gap: 30px;
  padding-left: 50px;
}

.faq__list__title span {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  background-color: #233a55;
  color: #fff;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
}

.faq__list__text {
  margin-top: 35px;
  display: flex;
  align-items: center;
  gap: 30px;
  color: #000;
  padding-left: 50px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.54;
}

.faq__list__text span {
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  font-size: 2rem;
  font-weight: 500;
}

/*-------------------------------------------
ACCESS
-------------------------------------------*/

.access {
  margin: 0 auto;
  max-width: 1940px;
  padding-top: 80px;
  padding-bottom: 40px;
  padding-left: 20px;
  padding-right: 20px;
}

.access__title {
  text-align: center;
  font-size: 2.125rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  line-height: 1;
  letter-spacing: .2em;
  color: #515151;
}

.access__title__decoration {
  margin: 0 auto;
  margin-top: 10px;
  width: 24.7%;
  max-width: 480px;
}

.access__text1 {
  margin-top: 30px;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  color: #000;
}

.access__text2 {
  margin-top: 10px;
  text-align: center;
  font-size: 1.25rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  color: #000;
}

.access__box {
  margin: 0 auto;
  margin-top: 70px;
  max-width: 1700px;
  display: flex;
  justify-content: space-between;
}

.access__cta {
  width: 50%;
}

.access__cta__address {
  margin-top: 30px;
  background-color: #e5dcca;
  color: #67625c;
  border-radius: 15px;
  text-align: center;
  line-height: 1;
  padding: 13px 10px;
}

.access__cta__title {
  margin-top: 60px;
  text-align: center;
  font-size: 1.5rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  color: #000;
  letter-spacing: .1em;
}

.access__cta__description {
  margin-top: 10px;
  font-size: 1.125rem;
  font-weight: 500;
  color: #000;
  letter-spacing: .1em;
  line-height: 1.13;
  text-align: center;
}

.access__cta__btn1 {
  margin-top: 25px;
  height: 100px;
  background-color: #4779b7;
  border-radius: 20px;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 15px;
  position: relative;
}

.access__cta__btn1 span {
  font-size: 1.35rem;
}

.access__cta__btn1 img {
  width: 40px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 50px;
}

.access__cta__btn2 {
  margin-top: 25px;
  height: 100px;
  background-color: #70a6c1;
  border-radius: 20px;
  font-size: 1.5rem;
  font-weight: bold;
  font-family: "Noto Serif JP", serif;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px;
  position: relative;
}

.access__cta__btn2 span {
  font-size: 1.35rem;
}

.access__cta__btn2 img {
  width: 40px;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  right: 50px;
}

.access__information {
  width: 45%;
}

.access__information__title {
  margin-top: 20px;
  text-align: center;
  font-size: 1.75rem;
  font-weight: 600;
  font-family: "Noto Serif JP", serif;
  color: #000;
  letter-spacing: .1em;
}

.access__information__table {
  margin-top: 10px;
  padding-left: 5px;
  padding-right: 5px;
}

/*-------------------------------------------
FOOTER
-------------------------------------------*/

.footer {
  margin: 0 auto;
  max-width: 1940px;
  background-color: #376393;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 35px;
  padding-bottom: 35px;
}

.footer__copyright {
  font-size: 0.875rem;
  text-align: center;
  color: #fff;
}

/*-------------------------------------------
SP
-------------------------------------------*/
@media screen and (max-width: 900px) {

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  /*-------------------------------------------
  HEADER
  -------------------------------------------*/

  .header {
    padding-top: 5px;
    padding-left: 10px;
    padding-right: 10px;
    position: sticky;
    z-index: 999;
    top: 0;
    background: #ffffffb0;
    padding-bottom: 5px;
  }

  .header__inner {
    display: block;
  }

  .header__logo {
    margin-top: 0px;
    width: 175px;
  }

  #g-nav {
    position: fixed;
    z-index: 999;
    top: -120%;
    left: 0;
    width: 100%;
    height: 100vh;
    background: #fff;
    transition: all 0.6s;
  }

  #g-nav.panelactive {
    top: 0;
  }

  #g-nav.panelactive #g-nav-list {
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }

  #g-nav ul {
    position: absolute;
    z-index: 999;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }

  #g-nav li {
    text-align: center;
  }

  #g-nav li a {
    color: #000;
    padding: 12px;
    display: block;
    letter-spacing: .1em;
    font-size: 1rem;
    font-weight: 600;
    white-space: nowrap;
  }

  .openbtn {
    position: fixed;
    top: 0;
    right: 0;
    z-index: 1000;
    background: #4779b7;
    cursor: pointer;
    width: 50px;
    height: 50px;
  }

  .openbtn span {
    display: inline-block;
    transition: all .4s;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    height: 2px;
    border-radius: 5px;
    background: #fff;
    width: 30px;
  }


  .openbtn span:nth-of-type(1) {
    top: 10px;
  }

  .openbtn span:nth-of-type(2) {
    top: 18px;
  }

  .openbtn span:nth-of-type(3) {
    top: 26px;
  }

  .openbtn span:nth-of-type(3)::after {
    content: "Menu";
    position: absolute;
    top: 5px;
    left: 1px;
    color: #fff;
    font-size: 0.6rem;
    text-transform: uppercase;
  }

  .openbtn.active span:nth-of-type(1) {
    top: 14px;
    left: 12px;
    transform: translateY(6px) rotate(-45deg);
    width: 25px;
  }

  .openbtn.active span:nth-of-type(2) {
    opacity: 0;
  }

  .openbtn.active span:nth-of-type(3) {
    top: 26px;
    left: 12px;
    transform: translateY(-6px) rotate(45deg);
    width: 25px;
  }

  .openbtn.active span:nth-of-type(3)::after {
    content: "Close";
    transform: translateY(0) rotate(-45deg);
    top: 7px;
    left: 10.5px;
  }

  .header__link {
    display: none;
  }

  .header__list {
    margin-top: 10px;
    display: flex;
    justify-content: space-between;
  }

  .header__list li {
    background-color: #2054a4;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
  }

  .header__list li:first-of-type {
    width: 31%;
  }

  .header__list li:nth-of-type(2) {
    width: 28%;
    background-color: #14b0e8;
  }

  .header__list li:last-of-type {
    width: 35.5%;
  }

  .header__list li a {
    display: block;
    width: 100%;
    color: #fff;
    text-transform: capitalize;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1;
    padding: 10px;
  }

  /*-------------------------------------------
  MV
  -------------------------------------------*/

  .mv {
    margin-top: 12px;
    position: relative;
    background-color: #fef7f4;
  }

  .mv img {
    width: 100%;
  }

  .mv__text {
    width: 74.66%;
    position: absolute;
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
  }

  /*-------------------------------------------
  CTA
  -------------------------------------------*/

  .cta {
    padding-top: 35px;
    padding-bottom: 50px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .cta__inner {
    flex-direction: column;
    gap: 20px;
  }

  .cta__img {
    width: 84%;
  }

  .cta__text {
    width: 100%;
  }

  .cta__title {
    font-size: 0.9375rem;
    text-align: center;
  }

  .cta__description {
    margin: 0 auto;
    margin-top: 3px;
    max-width: 84%;
    font-size: 0.875rem;
    color: #37313f;
  }

  .cta__btn1 {
    margin-top: 20px;
    border-radius: 15px;
    font-size: 0.84375rem;
    letter-spacing: .1em;
    padding: 10px;
  }

  .cta__btn1 span {
    font-size: 0.8125rem;
  }

  .cta__btn1 img {
    width: 20px;
    right: 40px;
  }

  .cta__btn2 {
    margin-top: 10px;
    border-radius: 15px;
    font-size: 0.91rem;
    letter-spacing: .1em;
    padding: 10px;
  }

  .cta__btn2 span {
    font-size: 0.83rem;
  }

  .cta__btn2 img {
    width: 20px;
    right: 40px;
  }

  /*-------------------------------------------
  DOCTOR
  -------------------------------------------*/

  .doctor {
    padding-top: 35px;
    padding-bottom: 45px;
  }

  .doctor__inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .doctor__title {
    font-size: 1.4375rem;
    line-height: 1;
  }

  .doctor__title__decoration {
    margin-top: 0px;
    width: 69.33%;
    max-width: 260px;
  }

  .doctor__greeting {
    margin-top: 30px;
    position: static;
    top: auto;
    left: auto;
    width: 100%;
    border-top-left-radius: 0px;
    padding-top: 30px;
    padding-bottom: 25px;
    padding-left: 18px;
    padding-right: 18px;
  }

  .doctor__greeting__title {
    gap: 6px;
    font-size: 1.0625rem;
  }

  .doctor__greeting__title img {
    width: 60px;
  }

  .doctor__greeting__content {
    margin-top: 20px;
    font-size: 0.9375rem;
    letter-spacing: .1em;
    line-height: 1.733;
  }

  .doctor__greeting__name {
    margin-top: 20px;
    font-size: 0.9375rem;
  }

  .doctor__greeting__name span {
    font-size: 0.9375rem;
  }

  .doctor__img {
    display: none;
  }

  .doctor__img-sp {
    margin: 0 auto;
    max-width: 400px;
  }

  .doctor__bottom {
    width: 100%;
    transform: translateY(0px);
    margin-bottom: 0px;
    padding-top: 30px;
    padding-bottom: 30px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .doctor__bottom__box {
    width: 100%;
    flex-direction: column;
    gap: 30px;
  }

  .doctor__career {
    width: 100%;
  }

  .doctor__career__title {
    font-size: 0.875rem;
    padding-bottom: 6px;
  }

  .doctor__career__list {
    margin-top: 13px;
  }

  .doctor__career__list li {
    margin-top: 7px;
    font-size: 0.875rem;
    font-weight: 600;
  }

  .doctor__belonging {
    width: 100%;
  }

  .doctor__belonging__title {
    font-size: 0.875rem;
    padding-bottom: 6px;
  }

  .doctor__belonging__list {
    margin-top: 13px;
  }

  .doctor__belonging__list li {
    margin-top: 7px;
    font-size: 0.875rem;
    font-weight: 600;
  }

  .doctor__achievements {
    margin-top: 30px;
  }

  /*-------------------------------------------
  WHAT
  -------------------------------------------*/

  .what {
    padding-top: 35px;
  }

  .what-bg {
    width: 45.866%;
  }

  .what__title {
    font-size: 1.4375rem;
  }

  .what__title__decoration {
    width: 72%;
    max-width: 270px;
  }

  .what__box {
    margin-top: 25px;
    padding-left: 31px;
    padding-right: 31px;
    align-items: center;
    flex-direction: column;
  }

  .what__img {
    width: 100%;
  }

  .what__text {
    width: 100%;
    padding-top: 25px;
    padding-bottom: 25px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 0.9375rem;
    line-height: 1.266;
  }

  /*-------------------------------------------
  MERIT
  -------------------------------------------*/

  .merit-demerit-container {
    padding-top: 45px;
    padding-bottom: 45px;
  }

  .merit__title {
    letter-spacing: .2em;
    color: #ed8378;
    font-size: 1.4375rem;
  }

  .merit__title__decoration {
    width: 72%;
    max-width: 270px;
  }

  .merit__list {
    margin-top: 20px;
    max-width: 340px;
    align-items: center;
    flex-direction: column;
    gap: 25px;
  }

  .merit__list li {
    width: 100%;
    padding-bottom: 20px;
  }

  .merit__list__top {
    transform: translateY(-25px);
    margin-bottom: -25px;
    display: flex;
    align-items: center;
  }

  .merit__list__title {
    font-size: 1rem;
    padding-top: 15px;
    padding-left: 25px;
  }

  .merit__list__number {
    font-size: 3.25rem;
    transform: rotate(-10deg) translateX(-25px) translateY(-5px);
  }

  .merit__list__text {
    margin-top: 15px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 0.875rem;
    line-height: 1.43;
  }

  /*-------------------------------------------
  DEMERIT
  -------------------------------------------*/

  .demerit {
    margin-top: 35px;
  }

  .demerit__title {
    font-size: 1.4375rem;
  }

  .demerit__title__decoration {
    width: 72%;
    max-width: 270px;
  }

  .demerit__list {
    margin-top: 20px;
    max-width: 340px;
    align-items: center;
    flex-direction: column;
    gap: 25px;
  }

  .demerit__list li {
    width: 100%;
    padding-bottom: 20px;
  }

  .demerit__list__top {
    transform: translateY(-25px);
    margin-bottom: -25px;
    display: flex;
    align-items: center;
  }

  .demerit__list__title {
    font-size: 1rem;
    padding-top: 15px;
    padding-left: 25px;
  }

  .demerit__list__number {
    font-size: 3.25rem;
    transform: rotate(-10deg) translateX(-25px) translateY(-5px);
  }

  .demerit__list__text {
    margin-top: 15px;
    padding-left: 20px;
    padding-right: 20px;
    font-size: 0.875rem;
    line-height: 1.43;
  }

  /*-------------------------------------------
  SUITABLE
  -------------------------------------------*/

  .suitable {
    margin-top: 35px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .suitable__title {
    font-size: 1.25rem;
    line-height: 1;
  }

  .suitable__title__decoration {
    margin-top: 0px;
    width: 61.33%;
    max-width: 230px;
  }

  .suitable__list {
    margin-top: 30px;
    box-shadow: 0px 0px 15px -5px #777777;
    padding-top: 45px;
    padding-bottom: 40px;
    padding-left: 20px;
    padding-right: 20px;
    flex-wrap: nowrap;
    flex-direction: column;
    gap: 20px;
  }

  .suitable__list li {
    width: 100%;
    gap: 12px;
    font-size: 0.875rem;
    letter-spacing: .05em;
  }

  .suitable__list li img {
    width: 15px;
  }

  /*-------------------------------------------
  COMPARISON
  -------------------------------------------*/

  .comparison {
    padding-top: 40px;
    padding-bottom: 70px;
    padding-left: 30px;
    padding-right: 0px;
  }

  .comparison__title {
    font-size: 1.125rem;
    line-height: 1;
  }

  .comparison__title__decoration {
    margin-top: 0px;
    width: 34.1%;
    max-width: 128px;
  }

  .comparison__text {
    margin-top: 10px;
    font-size: 0.875rem;
    font-weight: 500;
  }

  .cross-table {
    margin-top: 50px;
    width: 100%;
    overflow-x: auto;
  }

  .cross-table__inner {
    table-layout: fixed;
    width: 970px;
    min-width: 970px;
  }

  .cross-table__inner th,
  .cross-table__inner td {
    box-sizing: border-box;
  }

  .cross-table__inner th:first-child,
  .cross-table__inner td:first-child {
    width: 19.6%;
  }

  .cross-table__inner th:nth-child(2),
  .cross-table__inner td:nth-child(2),
  .cross-table__inner th:nth-child(3),
  .cross-table__inner td:nth-child(3),
  .cross-table__inner th:nth-child(4),
  .cross-table__inner td:nth-child(4) {
    width: 26.8%;
  }

  .cross-table__header {
    font-size: 1rem;
    font-weight: 500;
  }

  .cross-table__header.first {
    font-size: 1.25rem;
    font-weight: 500;
    padding-top: 20px;
    padding-left: 7px;
    padding-right: 7px;
    padding-bottom: 0;
  }

  .cross-table__header.second {
    font-size: 1.25rem;
    font-weight: 500;
    padding-top: 20px;
    padding-left: 7px;
    padding-right: 7px;
    padding-bottom: 0;
  }

  .cross-table__header.third {
    font-size: 1.25rem;
    font-weight: 500;
    padding-top: 20px;
    padding-left: 7px;
    padding-right: 7px;
    padding-bottom: 0;
  }

  .cross-table__text {
    padding: 0px 7px;
    height: 85px;
    font-size: 0.875rem;
  }

  .cross-table__text span {
    padding-left: 5px;
  }

  .cross-table__img img {
    width: 100%;
    height: 180px;
    padding-bottom: 0px;
  }

  .cross-table__body-row:last-child .cross-table__text {
    border-bottom: 7px solid #70a6c1;
  }

  .cross-table__body-row:last-child .cross-table__text.second {
    border-bottom: 7px solid #376393;
  }

  /*-------------------------------------------
  REASON
  -------------------------------------------*/

  .reason {
    padding-top: 55px;
    padding-bottom: 40px;
    padding-left: 0px;
    padding-right: 0px;
    background-image: url(../img/reason-bg-sp.png);
  }

  .reason__title {
    font-size: 1.125rem;
  }

  .reason__title__decoration {
    margin-top: 0px;
    width: 74.66%;
    max-width: 280px;
  }

  .reason__img {
    margin-top: 30px;
    width: 89.33%;
    max-width: 400px;
  }

  .reason__list {
    margin-top: 50px;
  }

  .reason__list li {
    margin-top: 30px;
  }

  .reason__list__img {
    margin: 0 0 0 auto;
    width: 76.5%;
    max-width: 290px;
    z-index: 1;
  }

  .reason__list li:nth-of-type(even) .reason__list__img {
    margin: 0;
  }

  .reason__list__text {
    margin: 0 auto;
    width: 81.33%;
    max-width: 305px;
    position: relative;
    top: auto;
    right: auto;
    z-index: 200;
    transform: translateY(-25px);
    margin-bottom: -25px;
  }

  .reason__list li:nth-of-type(even) .reason__list__text {
    right: auto;
    left: auto;
  }

  .reason__list__text__inner {
    padding-left: 15px;
    padding-right: 15px;
    padding-bottom: 20px;
    box-shadow: 6px 6px 0px 0px #376393;
  }

  .reason__list li:nth-of-type(even) .reason__list__text__inner {
    padding-left: 15px;
    padding-right: 15px;
  }

  .reason__list__number {
    font-size: 0.6875rem;
    align-items: center;
    transform: translateY(-15px) translateX(0px);
    margin-bottom: -15px;
  }

  .reason__list__number span {
    font-size: 2.6875rem;
    transform: translateY(0px);
  }

  .reason__list__title {
    margin: 0 auto;
    margin-top: 10px;
    width: fit-content;
    font-size: 0.9375rem;
    line-height: 1.266;
    padding-bottom: 10px;
  }

  .reason__list__description {
    margin-top: 15px;
    font-size: 0.8125rem;
    line-height: 1.38;
  }

  /*-------------------------------------------
  CASE
  -------------------------------------------*/

  .case {
    padding-top: 30px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .case__title {
    font-size: 1.4375rem;
  }

  .case__title__decoration {
    margin-top: 0px;
    width: 80%;
    max-width: 300px;
  }

  .case__first {
    margin-top: 70px;
    padding-bottom: 30px;
  }

  .case__first__title {
    width: fit-content;
    height: 35px;
    font-size: 0.8125rem;
    top: -35px;
    line-height: 1;
    padding: 7px 15px;
  }

  .case__first__title span.number {
    font-size: 1.5rem;
  }

  .case__first__title span.name {
    font-size: 0.9375rem;
  }

  .case__first__img {
    flex-direction: column;
  }

  .case__first__before {
    width: 100%;
  }

  .case__first__after {
    width: 100%;
  }

  .case__arrow {
    display: none;
  }

  .case__first__detail {
    margin-top: 30px;
    flex-direction: column;
    padding-left: 16px;
    padding-right: 16px;
  }

  .case__first__list1 {
    width: 100%;
  }

  .case__first__list1 dt {
    padding: 10px;
    font-size: 0.8125rem;
  }

  .case__first__list1 dd {
    padding: 10px;
    font-size: 0.8125rem;
  }

  .case__first__list2 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }

  .case__first__list2 dt {
    padding: 10px;
    font-size: 0.8125rem;
  }

  .case__first__list2 dt:first-of-type {
    border-top: 2px solid #dbe8fc;
  }

  .case__first__list2 dd {
    padding: 10px;
    font-size: 0.8125rem;
  }

  .case__first__list2 dd:first-of-type {
    border-top: 2px solid #dbe8fc;
  }

  .case__second {
    margin-top: 60px;
    padding-bottom: 30px;
  }

  .case__second__title {
    width: fit-content;
    height: 35px;
    font-size: 0.8125rem;
    top: -35px;
    line-height: 1;
    padding: 7px 15px;
  }

  .case__second__title span.number {
    font-size: 1.5rem;
  }

  .case__second__title span.name {
    font-size: 0.9375rem;
  }

  .case__second__img {
    flex-direction: column;
  }

  .case__second__before {
    width: 100%;
  }

  .case__second__after {
    width: 100%;
  }

  .case__second__detail {
    margin-top: 30px;
    flex-direction: column;
    padding-left: 16px;
    padding-right: 16px;
  }

  .case__second__list1 {
    width: 100%;
  }

  .case__second__list1 dt {
    padding: 10px;
    font-size: 0.8125rem;
  }

  .case__second__list1 dd {
    padding: 10px;
    font-size: 0.8125rem;
  }

  .case__second__list2 {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }

  .case__second__list2 dt {
    padding: 10px;
    font-size: 0.8125rem;
  }

  .case__second__list2 dt:first-of-type {
    border-top: 2px solid #dbe8fc;
  }

  .case__second__list2 dd {
    padding: 10px;
    font-size: 0.8125rem;
  }

  .case__second__list2 dd:first-of-type {
    border-top: 2px solid #dbe8fc;
  }

  /*-------------------------------------------
  FLOW
  -------------------------------------------*/

  .flow {
    padding-top: 35px;
    padding-left: 0px;
    padding-right: 0px;
  }

  .flow__title {
    font-size: 1.125rem;
  }

  .flow__title__decoration {
    margin-top: 0px;
    width: 34.66%;
    max-width: 130px;
  }

  .flow__list {
    margin-top: 20px;
    padding-bottom: 40px;
  }

  .flow__list::after {
    width: 50%;
    max-width: 375px;
  }

  .flow__list li {
    margin-top: 40px;
  }

  .flow__list__img {
    width: 67.4%;
  }

  .flow__list__text {
    margin: 0 auto;
    width: 90%;
    position: relative;
    top: auto;
    right: auto;
    padding-top: 25px;
    padding-bottom: 27px;
    padding-left: 30px;
    padding-right: 30px;
  }

  .flow__list li:nth-of-type(even) .flow__list__text {
    left: auto;
  }

  .flow__list__number {
    top: -53px;
    left: auto;
    right: 25px;
    width: 95px;
    height: 32px;
    padding: 6px;
    font-size: 1.0625rem;
  }

  .flow__list li:nth-of-type(even) .flow__list__number {
    left: 25px;
    right: auto;
  }

  .flow__list__title {
    text-align: center;
    font-size: 1.125rem;
  }

  .flow__list__description {
    margin-top: 15px;
    font-size: 0.875rem;
    line-height: 1.357;
  }

  /*-------------------------------------------
  PRICE
  -------------------------------------------*/

  .price {
    padding-top: 35px;
    padding-bottom: 40px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .price__title {
    font-size: 1.125rem;
  }

  .price__title__decoration {
    margin-top: 0px;
    width: 42.66%;
    max-width: 160px;
  }

  .price__box {
    margin-top: 20px;
    flex-wrap: wrap;
    row-gap: 12px;
  }

  .price__content {
    width: 30%;
    padding-top: 15px;
    padding-left: 5px;
    padding-right: 5px;
  }

  .price__content__title {
    font-size: 0.8125rem;
  }

  .price__content__list {
    margin-top: 13px;
  }

  .price__content__list li {
    border-top: 1px solid #e5dcca;
    padding: 5px 0px;
    font-size: 0.8125rem;
    line-height: 1.25;
  }

  .price__cost {
    width: 66%;
    padding-top: 15px;
    padding-left: 5px;
    padding-right: 5px;
  }

  .price__cost__title {
    font-size: 0.9375rem;
  }

  .price__cost__list {
    margin-top: 13px;
  }

  .price__cost__list li {
    border-top: 1px solid #9d8f75;
    padding: 5px 0px;
    font-size: 1.1875rem;
  }

  .price__installment {
    width: 66%;
    border: 1.5px solid #9d8f75;
    padding-top: 15px;
    padding-left: 5px;
    padding-right: 5px;
  }

  .price__installment__title {
    font-size: 0.9375rem;
  }

  .price__installment__list {
    margin-top: 13px;
  }

  .price__installment__list li {
    border-top: 1px solid #9d8f75;
    padding: 5px 0px;
    font-size: 1.1875rem;
  }

  .price__asterisk {
    margin-top: 22px;
    font-size: 0.9375rem;
  }

  .price__description {
    margin-top: 10px;
    font-size: 1.0625rem;
  }

  /*-------------------------------------------
  GUARANTEE
  -------------------------------------------*/

  .guarantee {
    padding-top: 35px;
    padding-bottom: 40px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .guarantee__inner {
    padding-top: 20px;
    padding-bottom: 30px;
    padding-left: 20px;
    padding-right: 10px;
  }

  .guarantee__title {
    font-size: 1.125rem;
  }

  .guarantee__title__decoration {
    margin-top: 0px;
    width: 44%;
    max-width: 165px;
  }

  .guarantee__box {
    margin-top: 12px;
    flex-direction: column;
    gap: 15px;
  }

  .guarantee__implant__title {
    font-size: 0.9375rem;
    font-weight: normal;
  }

  .guarantee__implant__list {
    margin-top: 8px;
  }

  .guarantee__implant__list li {
    font-size: 0.875rem;
    color: #000;
  }

  .guarantee__method {
    margin-top: 15px;
  }

  .guarantee__method__title {
    font-size: 0.9375rem;
  }

  .guarantee__method__list {
    margin-top: 8px;
  }

  .guarantee__method__list li {
    font-size: 0.875rem;
    color: #000;
  }

  .guarantee__attention__title {
    font-size: 0.9375rem;
  }

  .guarantee__attention__list {
    margin-top: 8px;
  }

  .guarantee__attention__list li {
    font-size: 0.875rem;
    color: #000;
  }

  /*-------------------------------------------
  RISK
  -------------------------------------------*/

  .risk {
    padding-top: 40px;
    padding-bottom: 45px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .risk__inner {
    padding-top: 30px;
    padding-bottom: 25px;
    padding-left: 15px;
    padding-right: 15px;
  }

  .risk__title {
    font-size: 1.125rem;
  }

  .risk__title__decoration {
    margin-top: 0px;
    width: 65.6%;
    max-width: 225px;
  }

  .risk__description {
    margin-top: 20px;
    width: 100%;
    font-size: 0.9375rem;
    font-weight: 400;
  }

  .risk__box {
    margin-top: 25px;
    width: 100%;
    padding-top: 20px;
    padding-bottom: 22px;
    padding-left: 10px;
    padding-right: 20px;
    flex-direction: column;
  }

  .risk__list1 {
    width: 100%;
  }

  .risk__list1 li {
    margin-top: 15px;
  }

  .risk__list__title {
    font-size: 0.875rem;
  }

  .risk__list__text {
    font-size: 0.875rem;
    line-height: 1.5;
  }

  .risk__list2 {
    margin-top: 15px;
    width: 100%;
  }

  .risk__list2 li {
    margin-top: 15px;
  }

  /*-------------------------------------------
  FAQ
  -------------------------------------------*/

  .faq {
    padding-top: 30px;
    padding-bottom: 40px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .faq__title {
    font-size: 1.125rem;
    line-height: 1.222;
  }

  .faq__list {
    margin-top: 30px;
  }

  .faq__list li {
    margin-top: 20px;
    padding-top: 15px;
    padding-bottom: 18px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .faq__list__title {
    font-size: 0.9375rem;
    gap: 15px;
    padding-bottom: 8px;
    padding-left: 0px;
  }

  .faq__list__title span {
    width: 24px;
    height: 24px;
    font-size: 1.1875rem;
  }

  .faq__list__text {
    margin-top: 18px;
    gap: 15px;
    padding-left: 0px;
    font-size: 0.875rem;
    line-height: 1.5;
  }

  .faq__list__text span {
    width: 24px;
    height: 24px;
    font-size: 1.1875rem;
  }

  /*-------------------------------------------
  ACCESS
  -------------------------------------------*/

  .access {
    padding-top: 40px;
    padding-bottom: 15px;
    padding-left: 16px;
    padding-right: 16px;
  }

  .access__title {
    font-size: 1.125rem;
  }

  .access__title__decoration {
    margin-top: 0px;
    width: 57.33%;
    max-width: 215px;
  }

  .access__text1 {
    display: none;
  }

  .access__text2 {
    display: none;
  }

  .access__text-sp {
    margin: 0 auto;
    margin-top: 20px;
    width: fit-content;
    font-size: 0.9375rem;
    font-weight: 600;
    font-family: "Noto Serif JP", serif;
    line-height: 1.466;
    text-align: left;
  }

  .access__box {
    margin-top: 20px;
    flex-direction: column;
  }

  .access__cta {
    width: 100%;
  }

  .access__logo {
    margin: 0 auto;
    max-width: 267px;
  }

  .access__cta__banner {
    margin-top: 15px;
  }

  .access__cta__title-small {
    margin-top: 35px;
    text-align: center;
    font-size: 1.125rem;
    font-weight: 500;
    letter-spacing: .06em;
    line-height: 1.22;
    color: #000;
  }

  .access__map-sp {
    margin-top: 10px;
  }

  .access__cta__address {
    margin-top: 16px;
    border-radius: 30px;
    font-size: 0.9375rem;
    line-height: 1;
    padding: 11px 8px;
  }

  .access__cta__title {
    margin-top: 35px;
    font-size: 1.125rem;
    font-weight: 500;
    font-family: "Noto Sans JP", sans-serif;
  }

  .access__cta__description {
    margin-top: 10px;
    font-size: 0.9375rem;
    line-height: 1.266;
  }

  .access__cta__btn1 {
    margin-top: 12px;
    height: 53px;
    border-radius: 30px;
    font-size: 0.9375rem;
    padding: 10px;
  }

  .access__cta__btn1 span {
    font-size: 0.875rem;
  }

  .access__cta__btn1 img {
    width: 20px;
    right: 40px;
  }

  .access__cta__btn2 {
    margin-top: 8px;
    height: 53px;
    border-radius: 30px;
    font-size: 0.9375rem;
    padding: 10px;
  }

  .access__cta__btn2 span {
    font-size: 0.875rem;
  }

  .access__cta__btn2 img {
    width: 20px;
    right: 40px;
  }

  .access__information {
    width: 100%;
  }

  .access__information__title {
    font-size: 1.125rem;
    font-weight: 500;
  }

  .fixed-btn {
    width: 100%;
    height: 51px;
    position: fixed;
    bottom: 0;
    left: 0;
    display: flex;
    z-index: 500;
  }

  .fixed-btn__tel {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: #e59014;
    color: #fff;
    font-size: 1.175rem;
    font-weight: 600;
    line-height: 1;
    padding: 12px;
    border-right: 1px solid #fff;
    text-align: center;
  }

  .fixed-btn__contact {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    background-color: #e59014;
    color: #fff;
    font-size: 1.075rem;
    font-weight: 600;
    line-height: 1;
    padding: 12px;
    text-align: center;
  }

  /*-------------------------------------------
  FOOTER
  -------------------------------------------*/

  .footer {
    padding-top: 15px;
    padding-bottom: 15px;
    margin-bottom: 37px;
  }

  .footer__copyright {
    font-size: 0.75rem;
  }
}

/* Googleマップ */
.access__map,
.access__map iframe {
  width: 100%;
}

.fixed-footer {
  display: none;
}

@media(max-width:767px) {
  .fixed-footer {
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    height: 64px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    z-index: 9999;
    border-top: 1px solid rgba(0, 0, 0, .08);
  }

  .fixed-footer__btn {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    text-decoration: none;
    height: 64px;
  }

  .fixed-footer__btn--tel {
    background: #ee827a;
    color: #fff;
  }

  .fixed-footer__btn--web {
    background: #7292b9;
    /* 好きな色に変更OK */
    color: #fff;
  }

  /* フッター固定で下が隠れないように */
  body {
    padding-bottom: 64px;
  }

  .fixed-footer__btn {
    gap: 10px;
    /* アイコンと文字の間 */
    font-size: 16px;
  }

  .fixed-footer__btn i {
    font-size: 18px;
    line-height: 1;
  }

  .fixed-footer {
    padding: 8px;
    gap: 8px;
    background: #ffffffb1;
    backdrop-filter: blur(6px);
  }

  .fixed-footer__btn {
    border-radius: 12px;
    padding-bottom: 8px;
  }
}