/******************************

  養腸セラピー 導入

******************************/

.therapy-intro {
  background: #fff;
}

.therapy-intro-wrap {
  display: flex;
  align-items: center;
  gap: 70px;
  padding-top: 20px;
}

.therapy-intro-content {
  width: calc(55% - 35px);
}

.therapy-label {
  color: #D9AB42;
  font-size: 12px;
  letter-spacing: 0.22em;
}

.therapy-intro-copy {
  padding-top: 15px;
  padding-bottom: 25px;
  color: #965161;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1.7;
  border-bottom: 1px solid #efd3d8;
}

.therapy-intro-text {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding-top: 30px;
}

.therapy-intro-text p {
  line-height: 2;
}

.therapy-intro-image {
  position: relative;
  width: calc(45% - 35px);
  padding-right: 20px;
  padding-bottom: 20px;
}

.therapy-intro-image::before {
  position: absolute;
  right: 0;
  bottom: 0;
  width: calc(100% - 20px);
  height: calc(100% - 20px);
  background: #da8d93;
  border-radius: 20px 20px 80px 20px;
  content: "";
}

.therapy-intro-image img {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  border-radius: 20px 20px 80px 20px;
}

.therapy-intro-image p {
  position: absolute;
  right: 35px;
  bottom: 35px;
  z-index: 2;
  color: #fff;
  font-size: 10px;
  letter-spacing: 0.18em;
}

.therapy-intro-image p span {
  padding-right: 10px;
  font-size: 22px;
}

@media only screen and (max-width: 1024px) {
  .therapy-intro-wrap {
    gap: 45px;
  }

  .therapy-intro-content {
    width: calc(58% - 22.5px);
  }

  .therapy-intro-image {
    width: calc(42% - 22.5px);
  }

  .therapy-intro-image img {
    height: 470px;
  }
}

@media only screen and (max-width: 820px) {
  .therapy-intro-wrap {
    flex-direction: column-reverse;
  }

  .therapy-intro-content,
  .therapy-intro-image {
    width: 100%;
  }

  .therapy-intro-image img {
    height: 420px;
  }
}

@media only screen and (max-width: 767px) {
  .therapy-intro-wrap {
    gap: 40px;
    padding-top: 40px;
  }

  .therapy-intro-copy {
    font-size: 20px;
  }

  .therapy-intro-image img {
    height: 350px;
  }
}

@media only screen and (max-width: 480px) {
  .therapy-intro-image img {
    height: 280px;
  }
}

/******************************

  共通見出し・変化

******************************/

.therapy-section-heading {
  text-align: center;
}

.therapy-section-heading > p {
  color: #D9AB42;
  font-size: 11px;
  letter-spacing: 0.22em;
}

.therapy-section-heading h2 {
  padding-top: 8px;
  color: #965161;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.6;
}

.therapy-section-heading > span {
  display: block;
  padding-top: 15px;
}

.therapy-changes {
  background: #fffbe3;
}

.therapy-check-list {
  display: flex;
  flex-wrap: wrap;
  padding-top: 55px;
  border-top: 1px solid #efd3d8;
  margin-top: 45px;
}

.therapy-check-list li {
  position: relative;
  width: 50%;
  min-height: 55px;
  padding: 13px 25px 13px 55px;
  border-bottom: 1px solid #efd3d8;
}

.therapy-check-list li:nth-child(odd) {
  border-right: 1px solid #efd3d8;
}

.therapy-check-list li::before {
  position: absolute;
  top: 12px;
  left: 15px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  color: #fff;
  font-family: Arial, sans-serif;
  font-size: 16px;
  font-weight: bold;
  background: #da8d93;
  border-radius: 50%;
  content: "✓";
}

.therapy-note {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 40px;
  padding: 25px 30px;
  background: #fff;
  border-left: 4px solid #da8d93;
}

.therapy-note p {
  color: #965161;
  font-weight: 500;
  font-size: 18px;
}

.therapy-note small {
  font-size: 16px;
  line-height: 1.8;
}

@media only screen and (max-width: 767px) {
  .therapy-section-heading h2 {
    font-size: 20px;
  }

  .therapy-check-list {
    flex-direction: column;
    padding-top: 35px;
    margin-top: 30px;
  }

  .therapy-check-list li {
    width: 100%;
  }

  .therapy-check-list li:nth-child(odd) {
    border-right: 0;
  }

  .therapy-note {
    margin-top: 30px;
    padding: 20px;
  }

  .therapy-note small {
    font-size: 13px;
  }
}

/******************************

  心地よい理由

******************************/

.therapy-reason-wrap {
  display: flex;
  align-items: stretch;
}

.therapy-reason-heading {
  width: 38%;
  padding: 45px;
  background: #da8d93;
  border-radius: 20px 0 0 20px;
}

.therapy-reason-heading p {
  color: rgba(255, 255, 255, 0.65);
  font-size: 10px;
  letter-spacing: 0.2em;
}

.therapy-reason-heading h2 {
  padding-top: 15px;
  color: #fff;
  font-size: 25px;
  font-weight: 500;
  line-height: 1.8;
}

.therapy-reason-content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 22px;
  width: 62%;
  padding: 45px 55px;
  background: rgba(255,255,255,0.9);
  border-radius: 0 20px 20px 0;
}

.therapy-reason-content p {
  line-height: 2;
}

@media only screen and (max-width: 767px) {
  .therapy-reason-wrap {
    flex-direction: column;
  }

  .therapy-reason-heading,
  .therapy-reason-content {
    width: 100%;
  }

  .therapy-reason-heading {
    padding: 30px 25px;
    border-radius: 20px 20px 0 0;
  }

  .therapy-reason-heading h2 {
    font-size: 20px;
  }

  .therapy-reason-content {
    padding: 30px 25px;
    border-radius: 0 0 20px 20px;
  }
}

/******************************

  施術の流れ

******************************/

.therapy-flow {
  background: #fffbe3;
}

.therapy-flow-list {
  position: relative;
  display: flex;
  flex-direction: column;
  max-width: 950px;
  margin: 60px auto 0;
}

.therapy-flow-list::before {
  position: absolute;
  top: 40px;
  bottom: 40px;
  left: 54px;
  width: 1px;
  background: #efd3d8;
  content: "";
}

.therapy-flow-list li {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 35px;
  padding-bottom: 35px;
}

.therapy-flow-list li:last-child {
  padding-bottom: 0;
}

.therapy-flow-number {
  position: relative;
  z-index: 1;
  display: flex;
  flex-shrink: 0;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 108px;
  height: 108px;
  color: #fff;
  font-size: 28px;
  line-height: 1;
  background: #da8d93;
  border: 8px solid #fffbe3;
  border-radius: 50%;
}

.therapy-flow-number span {
  padding-bottom: 5px;
  font-size: 9px;
  letter-spacing: 0.15em;
}

.therapy-flow-content {
  flex-grow: 1;
  padding: 25px 30px;
  background: #fff;
  border-radius: 0 20px 0 20px;
}

.therapy-flow-content h3 {
  color: #965161;
  font-size: 22px;
  font-weight: 500;
}

.therapy-flow-content p {
  padding-top: 10px;
  line-height: 1.9;
}

@media only screen and (max-width: 767px) {
  .therapy-flow-list {
    margin-top: 40px;
  }

  .therapy-flow-list::before {
    left: 35px;
  }

  .therapy-flow-list li {
    gap: 15px;
    padding-bottom: 25px;
  }

  .therapy-flow-number {
    width: 70px;
    height: 70px;
    font-size: 21px;
    border-width: 5px;
  }

  .therapy-flow-content {
    padding: 20px;
  }

  .therapy-flow-content h3 {
    font-size: 17px;
  }
}

/******************************

  料金

******************************/

.therapy-price {
  background: #fff;
}

.therapy-price-list {
  display: flex;
  gap: 35px;
  padding-top: 55px;
}

.therapy-price-card {
  position: relative;
  width: calc(50% - 17.5px);
  padding: 40px;
  border: 1px solid #efd3d8;
  border-radius: 20px;
}

.therapy-price-card-support {
  background: #fffbe3;
}

.therapy-price-label {
  display: inline-flex;
    padding: 4px 15px;
    color: #fff;
    font-size: 16px;
    border: 1px solid #da8d93;
    border-radius: 20px;
    background: #da8d93;
}
.therapy-price-label02 {
  display: inline-flex;
  padding: 4px 15px;
  color: #965161;
  font-size: 16px;
  border: 1px solid #efd3d8;
  border-radius: 20px;
}

.therapy-price-card h3 {
  padding-top: 20px;
  color: #965161;
  font-size: 21px;
  font-weight: 500;
}

.therapy-price-value {
  padding: 25px 0;
  color: #965161;
  border-bottom: 1px solid #efd3d8;
}

.therapy-price-value strong {
  font-size: 38px;
  font-weight: 500;
}

.therapy-price-value span {
  padding-left: 8px;
  font-size: 13px;
}

.therapy-price-card dl {
  display: flex;
  gap: 25px;
  padding-top: 22px;
}

.therapy-price-card dl > div {
  display: flex;
  gap: 12px;
}

.therapy-price-card dt {
  color: #777;
}

.therapy-price-card dd {
  color: #965161;
  font-weight: 500;
}

.therapy-caution {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-top: 40px;
  padding: 25px 30px;
      background: #fff9f9;
  border-left: 4px solid #da8d93;
}

.therapy-caution li {
  position: relative;
  padding-left: 18px;
  font-size: 16px;
}

.therapy-caution li::before {
  position: absolute;
  top: 0;
  left: 0;
  color: #965161;
  content: "・";
}

@media only screen and (max-width: 767px) {
  .therapy-price-list {
    flex-direction: column;
    gap: 25px;
    padding-top: 40px;
  }

  .therapy-price-card {
    width: 100%;
    padding: 30px 25px;
  }

  .therapy-price-card h3 {
    font-size: 19px;
  }

  .therapy-price-value strong {
    font-size: 32px;
  }

  .therapy-caution {
    margin-top: 30px;
    padding: 20px;
  }
}

@media only screen and (max-width: 480px) {
  .therapy-price-card dl {
    flex-direction: column;
    gap: 8px;
  }
}

/******************************

  関連コース

******************************/

.therapy-related {
  background: #fffbe3;
}

.therapy-related.white_bg {
  background: #fff;
}

.therapy-related-list {
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
  padding-top: 55px;
}

.therapy-related-list li {
  width: calc(33% - 25px);
}
@media screen and (max-width: 1024px) {
.therapy-related-list li {
  width: calc(50% - 12.5px);
}
}

.therapy-related-list a {
  position: relative;
  display: block;
  padding: 28px 65px 28px 30px;
  background: #fff;
  border-bottom: 2px solid #da8d93;
  opacity: 1;
}
@media screen and (max-width: 767px) {
.therapy-related-list a {
  padding: 15px 50px 10px 20px;
}
}



.therapy-related-list a > span {
  color: #da8d93;
  font-size: 14px;
  letter-spacing: 0.15em;
}

.therapy-related-list h3 {
  padding-top: 5px;
  color: #965161;
  font-size: 22px;
  font-weight: 500;
}

.therapy-related-list i {
  position: absolute;
  top: 50%;
  right: 25px;
  color: #965161;
  font-style: normal;
  transform: translateY(-50%);
  transition: transform 0.3s;
}

.therapy-related-list a:hover i {
  transform: translate(5px, -50%);
}

@media only screen and (max-width: 767px) {
  .therapy-related-list {
    flex-direction: column;
    gap: 15px;
    padding-top: 40px;
  }

  .therapy-related-list li {
    width: 100%;
  }
}

/******************************

  講座・予約導線

******************************/

.therapy-school {
  background: #fff;
  padding: 10px 0 60px;
}

.therapy-school-wrap {
  display: flex;
  align-items: stretch;
  border-top: 2px solid #da8d93;
  border-bottom: 1px solid #efd3d8;
}

.therapy-school-heading {
  width: 38%;
  padding: 40px;
  background: #fffbe3;
}

.therapy-school-heading p{
  color: #efd3d8;
  font-size: 11px;
  letter-spacing: 0.2em;
}

.therapy-school-heading h2 {
  padding-top: 10px;
  color: #965161;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.7;
}

.therapy-school-content {
  width: 62%;
  padding: 40px 50px;
}

.therapy-school-content > p {
  line-height: 1.9;
}

.therapy-school-content .top_btn {
  margin-bottom: 0;
}


.therapy-reservation-buttons {
  display: flex;
  justify-content: center;
  gap: 30px;
    padding-top: 20px;
    padding-bottom: 30px;
}


@media only screen and (max-width: 767px) {
  .therapy-school-wrap {
    flex-direction: column;
  }

  .therapy-school-heading,
  .therapy-school-content {
    width: 100%;
  }

  .therapy-school-heading {
    padding: 30px 25px;
  }

  .therapy-school-heading h2 {
    font-size: 20px;
  }

  .therapy-school-content {
        padding: 20px 10px;
  }

  .therapy-reservation-buttons {
    flex-direction: column;
    align-items: center;
    gap: 15px;
    padding-top: 10px;
  }
  .therapy-reservation-buttons .top_btn{
      margin: 0px 0;
  }
}

.yocho-brew-img{
  width: 200px;
  aspect-ratio: 1/1;
  margin: 0 auto;
}



/******************************

  腸マッサージについて

******************************/

.therapy-selfcare {
  background: #fff;
}

.therapy-selfcare-wrap {
  max-width: 1000px;
  padding-top: 55px;
  margin-right: auto;
  margin-left: auto;
}

.therapy-selfcare-definition {
  padding-bottom: 40px;
  border-bottom: 1px solid #efd3d8;
}

.therapy-selfcare-lead {
  color: #965161;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.9;
  text-align: center;
}

.therapy-selfcare-type {
  display: flex;
  padding-top: 20px;
  margin-top: 30px;
  border-top: 1px solid #efd3d8;
}

.therapy-selfcare-type > div {
  position: relative;
  width: 50%;
  padding: 5px 40px;
}

.therapy-selfcare-type > div + div {
  border-left: 1px solid #efd3d8;
}

.therapy-selfcare-type span {
  color: #efd3d8;
  font-size: 10px;
  letter-spacing: 0.18em;
}

.therapy-selfcare-type h3 {
  padding-top: 5px;
  color: #965161;
  font-size: 19px;
  font-weight: 500;
  line-height: 1.5;
}

.therapy-selfcare-type p {
  padding-top: 8px;
  line-height: 1.8;
}

.therapy-selfcare-note {
  padding-top: 20px;
  color: #777;
  font-size: 16px;
  line-height: 1.8;
  text-align: center;
}

.therapy-selfcare-text {
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding-top: 45px;
}

.therapy-selfcare-text > p {
  line-height: 2;
}

.therapy-selfcare-emphasis {
  padding: 20px 25px;
  background: #fffbe3;
  border-left: 3px solid #da8d93;
}

.therapy-selfcare-emphasis p {
  color: #965161;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.9;
}

@media only screen and (max-width: 767px) {
  .therapy-selfcare-wrap {
    padding-top: 40px;
  }

  .therapy-selfcare-definition {
    padding-bottom: 30px;
  }

  .therapy-selfcare-lead {
    font-size: 18px;
    text-align: left;
  }

  .therapy-selfcare-type {
    flex-direction: column;
    padding-top: 20px;
    margin-top: 25px;
  }

  .therapy-selfcare-type > div {
    width: 100%;
    padding: 20px 5px;
  }

  .therapy-selfcare-type > div + div {
    border-top: 1px solid #efd3d8;
    border-left: 0;
  }

  .therapy-selfcare-note {
    padding-top: 20px;
    text-align: left;
  }

  .therapy-selfcare-text {
    gap: 18px;
    padding-top: 35px;
  }

  .therapy-selfcare-emphasis {
    padding: 18px 20px;
  }

  .therapy-selfcare-emphasis p {
    font-size: 16px;
  }
}


/******************************

  運営組織の関係

******************************/

.therapy-organization {
  padding-top: 90px;
}

.therapy-organization-heading {
  text-align: center;
}

.therapy-organization-heading > p {
  color: #D9AB42;
  font-size: 11px;
  letter-spacing: 0.22em;
}

.therapy-organization-heading h2 {
  padding-top: 8px;
  color: #965161;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.6;
}

.therapy-organization-heading > span {
  display: block;
  padding-top: 15px;
}

.therapy-organization-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 50px;
}

.therapy-organization-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 260px;
  min-height: 210px;
  padding: 30px 25px;
  text-align: center;
  background: #fff;
  border: 1px solid #efd3d8;
  border-radius: 20px;
}

.therapy-organization-item:nth-of-type(2) {
  background: #fffbe3;
  border-color: #da8d93;
}

.therapy-organization-item:nth-of-type(3) {
  border-width: 2px;
  border-color: #da8d93;
}

.therapy-organization-type {
  color: #efd3d8;
  font-size: 9px;
  letter-spacing: 0.13em;
}

.therapy-organization-item > p {
  padding-top: 13px;
  color: #777;
  font-size: 13px;
}

.therapy-organization-item h3 {
  padding-top: 6px;
  color: #965161;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
}

.therapy-organization-item small {
  padding-top: 3px;
  color: #777;
  font-size: 12px;
}

.therapy-organization-arrow {
  display: inline-block;
  flex-shrink: 0;
  width: 0;
  height: 0;
  margin-right: 30px;
  margin-left: 30px;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid #efd3d8;
}

.therapy-organization-description {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 850px;
  padding-top: 35px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.therapy-organization-description p {
  line-height: 1.9;
}

.therapy-organization-buttons {
  display: flex;
  justify-content: center;
  gap: 30px;
  padding-top: 35px;
}

.therapy-organization-buttons .top_btn {
  width: 280px;
  margin: 0;
}

@media only screen and (max-width: 1024px) {
  .therapy-organization-item {
    width: 230px;
  }

  .therapy-organization-arrow {
    margin-right: 20px;
    margin-left: 20px;
  }
}

@media only screen and (max-width: 820px) {
  .therapy-organization-flow {
    flex-direction: column;
  }

  .therapy-organization-item {
    width: 100%;
    max-width: 420px;
    min-height: 0;
  }

  .therapy-organization-arrow {
    margin-top: 20px;
    margin-right: 0;
    margin-bottom: 20px;
    margin-left: 0;
    transform: rotate(90deg);
  }
}

@media only screen and (max-width: 767px) {
  .therapy-organization {
    padding-top: 60px;
  }

  .therapy-organization-heading h2 {
    font-size: 20px;
  }

  .therapy-organization-flow {
    padding-top: 35px;
  }

  .therapy-organization-description {
    padding-top: 30px;
    text-align: left;
  }

  .therapy-organization-buttons {
    flex-direction: column;
    align-items: center;
    gap: 15px;
    padding-top: 30px;
  }
}


/******************************

  運営組織の関係

******************************/

.therapy-organization {
  padding-top: 90px;
}

.therapy-organization-heading {
  text-align: center;
}

.therapy-organization-heading > p {
  color: #D9AB42;
  font-size: 11px;
  letter-spacing: 0.22em;
}

.therapy-organization-heading h2 {
  padding-top: 8px;
  color: #965161;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.therapy-organization-heading > span {
  display: block;
  padding-top: 15px;
}

.therapy-organization-flow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding-top: 50px;
}

.therapy-organization-item {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 260px;
  min-height: 210px;
  padding: 30px 25px;
  text-align: center;
  background: #fffbe3;
  border: 1px solid #efd3d8;
  border-radius: 20px;
}

.therapy-organization-item:nth-of-type(2) {
  background: #fff;
  border-width: 2px;
  border-color: #da8d93;
}

.therapy-organization-item:nth-of-type(3) {
  background: #da8d93;
}

.therapy-organization-type {
    color: #da8d93;
  font-size: 9px;
  letter-spacing: 0.13em;
}

.therapy-organization-item > p {
  padding-top: 13px;
  color: #777;
  font-size: 13px;
}

.therapy-organization-item h3 {
  padding-top: 6px;
  color: #965161;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.6;
}

.therapy-organization-item small {
  padding-top: 3px;
  color: #777;
  font-size: 12px;
}

.therapy-organization-item:nth-of-type(3) .therapy-organization-type,
.therapy-organization-item:nth-of-type(3) > p,
.therapy-organization-item:nth-of-type(3) h3,
.therapy-organization-item:nth-of-type(3) small {
  color: #fff;
}

.therapy-organization-arrow {
  display: inline-block;
  flex-shrink: 0;
  width: 0;
  height: 0;
  margin-right: 30px;
  margin-left: 30px;
  border-top: 7px solid transparent;
  border-bottom: 7px solid transparent;
  border-left: 11px solid #efd3d8;
}

.therapy-organization-description {
  display: flex;
  flex-direction: column;
  gap: 10px;
  max-width: 850px;
  padding-top: 35px;
  margin-right: auto;
  margin-left: auto;
  text-align: center;
}

.therapy-organization-description p {
  line-height: 1.9;
}

.therapy-organization-buttons {
  display: flex;
  justify-content: center;
  gap: 30px;
  padding-top: 35px;
}

.therapy-organization-buttons .top_btn {
  width: 280px;
  margin: 0;
}

@media only screen and (max-width: 1024px) {
  .therapy-organization-item {
    width: 230px;
  }

  .therapy-organization-arrow {
    margin-right: 20px;
    margin-left: 20px;
  }
}

@media only screen and (max-width: 820px) {
  .therapy-organization-flow {
    flex-direction: column;
  }

  .therapy-organization-item {
    width: 100%;
    max-width: 420px;
    min-height: 0;
  }

  .therapy-organization-arrow {
    margin-top: 20px;
    margin-right: 0;
    margin-bottom: 20px;
    margin-left: 0;
    transform: rotate(90deg);
  }
}

@media only screen and (max-width: 767px) {
  .therapy-organization {
    padding-top: 60px;
  }

  .therapy-organization-heading h2 {
    font-size: 20px;
  }

  .therapy-organization-flow {
    padding-top: 35px;
  }

  .therapy-organization-buttons {
    flex-direction: column;
    align-items: center;
    gap: 15px;
    padding-top: 30px;
  }
}

/******************************

  施術コース共通

******************************/

.course-price-wrap {
  max-width: 720px;
  padding: 45px 55px;
  margin: 55px auto 0;
  text-align: center;
  background: #fffbe3;
  border: 1px solid #efd3d8;
  border-radius: 20px;
box-shadow: 8px 8px 0 #efd3d8;
}

.course-price-grade {
  color: #D9AB42;
  font-size: 11px;
  letter-spacing: 0.22em;
}

.course-price-wrap h3 {
  padding-top: 12px;
  color: #965161;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: 0.12em;
}

.course-price-wrap .therapy-price-value {
  max-width: 460px;
  margin: 0 auto;
}

.course-price-wrap dl {
  display: flex;
  justify-content: center;
  gap: 50px;
  padding-top: 25px;
}

.course-price-wrap dl > div {
  display: flex;
  gap: 15px;
}

.course-price-wrap dt {
  color: #777;
}

.course-price-wrap dd {
  color: #965161;
  font-weight: 500;
}

.course-reservation {
  padding-top: 70px;
}

@media only screen and (max-width: 767px) {
  .course-price-wrap {
    padding: 35px 25px;
    margin-top: 40px;
    box-shadow: 5px 5px 0 #DDECE7;
  }

  .course-price-wrap h3 {
    font-size: 20px;
  }

  .course-price-wrap dl {
    gap: 30px;
  }
}

@media only screen and (max-width: 480px) {
  .course-price-wrap dl {
    flex-direction: column;
    align-items: center;
    gap: 8px;
  }
}

/******************************

  指紋スイッチ ビフォーアフター

******************************/

.switch-beforeafter {
  display: flex;
  gap: 35px;
  padding-top: 55px;
}

.switch-beforeafter-item {
  position: relative;
  width: calc(50% - 17.5px);
}

.switch-beforeafter-item p {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 1;
  padding: 5px 15px;
  color: #fff;
  font-size: 11px;
  letter-spacing: 0.18em;
  background: #da8d93;
}

.switch-beforeafter-item img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: 20px;
}

.switch-beforeafter-note {
  padding-top: 15px;
  color: #777;
  font-size: 13px;
  text-align: right;
}

@media only screen and (max-width: 767px) {
  .switch-beforeafter {
    gap: 15px;
    padding-top: 40px;
  }

  .switch-beforeafter-item {
    width: calc(50% - 7.5px);
  }
}

@media only screen and (max-width: 480px) {
  .switch-beforeafter {
    flex-direction: column;
  }

  .switch-beforeafter-item {
    width: 100%;
  }
}

/******************************

  指紋スイッチ メニュー案内

******************************/
.therapy-reason {
  position: relative;
  background-image: url(../images/common/bg01.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.bg02 {
  position: relative;
  background-image: url(../images/common/bg02.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.switch-menu-note {
  position: relative;
  background-image: url(../images/common/bg03.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.switch-menu-note-wrap {
  max-width: 900px;
  padding: 50px 60px;
  margin: 0 auto;
  background: rgba(255, 255, 255, 0.8);
  border-top: 2px solid #da8d93;
  border-bottom: 1px solid #efd3d8;
}

.switch-menu-note-en {
  color: #D9AB42;
  font-size: 11px;
  letter-spacing: 0.22em;
}

.switch-menu-note-wrap h2 {
  padding-top: 10px;
  padding-bottom: 25px;
  color: #965161;
  font-size: 25px;
  font-weight: 500;
  letter-spacing: 0.1em;
}

.switch-menu-note-wrap > p:not(.switch-menu-note-en) {
  line-height: 2;
}

.switch-menu-alert {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 25px 30px;
  margin-top: 30px;
  background: #fffbe3;
  border-left: 4px solid #da8d93;
}

.switch-menu-alert p {
  position: relative;
  padding-left: 18px;
  color: #965161;
  font-weight: 500;
}

.switch-menu-alert p::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}

@media only screen and (max-width: 767px) {
  .switch-menu-note-wrap {
    padding: 35px 25px;
  }

  .switch-menu-note-wrap h2 {
    font-size: 20px;
  }

  .switch-menu-alert {
    padding: 20px;
    margin-top: 25px;
  }
}

/******************************

  指紋スイッチ ビフォーアフター

******************************/

.switch-results-heading {
  text-align: center;
  margin-top: 80px;
}

.switch-results-heading > p {
  color: #D9AB42;
  font-size: 11px;
  letter-spacing: 0.22em;
}

.switch-results-heading h2 {
  padding-top: 8px;
  color: #965161;
  font-size: 30px;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1.6;
}

.switch-results-heading > span {
  display: block;
  padding-top: 15px;
}

.switch-results-gallery {
  display: flex;
  align-items: flex-start;
  gap: 30px;
  padding-top: 55px;
}

.switch-results-main {
  width: calc(50% - 15px);
  padding: 15px;
  background: #fff;
  border: 1px solid #efd3d8;
  border-radius: 20px;
}

.switch-results-sub {
  display: flex;
  flex-direction: column;
  gap: 30px;
  width: calc(50% - 15px);
}

.switch-results-item {
  padding: 15px;
  background: #fff;
  border: 1px solid #efd3d8;
  border-radius: 20px;
}

.switch-results-main img,
.switch-results-item img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 12px;
}

.switch-results-movie {
  max-width: 900px;
  padding-top: 70px;
  margin-right: auto;
  margin-left: auto;
}

.switch-results-movie-heading {
  padding-bottom: 18px;
  border-bottom: 2px solid #da8d93;
}

.switch-results-movie-heading p {
  color: #D9AB42;
  font-size: 11px;
  letter-spacing: 0.22em;
}

.switch-results-movie-heading h3 {
  padding-top: 5px;
  color: #965161;
  font-size: 22px;
  font-weight: 500;
  letter-spacing: 0.08em;
}

.switch-results-movie video {
  display: block;
  width: min(600px, 100%);
  margin: 30px auto 0;
  aspect-ratio: 16 / 9;
  object-fit: contain;
  background: #000;
}

.switch-results-note {
  padding-top: 25px;
  color: #777;
  font-size: 14px;
  text-align: center;
}

@media only screen and (max-width: 820px) {
  .switch-results-gallery {
    flex-direction: column;
  }

  .switch-results-main {
    width: 100%;
  }

  .switch-results-sub {
    width: 100%;
  }
}

@media only screen and (max-width: 767px) {
  .switch-results-heading h2 {
    font-size: 20px;
  }

  .switch-results-gallery {
    gap: 20px;
    padding-top: 40px;
  }

  .switch-results-main {
    padding: 10px;
    box-shadow: 5px 5px 0 #DDECE7;
  }

  .switch-results-sub {
    gap: 20px;
  }

  .switch-results-item {
    padding: 10px;
    box-shadow: 5px 5px 0 #DDECE7;
  }

  .switch-results-movie {
    padding-top: 50px;
  }

  .switch-results-movie-heading h3 {
    font-size: 20px;
  }

  .switch-results-movie video {
    margin-top: 25px;
    border-radius: 15px;
    box-shadow: 5px 5px 0 #DDECE7;
  }
}

.post-content-image-text {
  padding-top: 8px;
  font-weight: 600;
  line-height: 1.7;
}

@media only screen and (max-width: 767px) {
  .post-content-image-text {
    padding-top: 6px;
  }
}