@charset "UTF-8";

/* 共通設定 */
:root {
  --main-fc-color: #2a3133;
  --blue-fc-color: #027d9f;
  --red-fc-color: #db3559;
  --pink-fc-color: #db3559;
}

html {
  font-size: 62.5%;
  margin: 0;
  padding: 0;
  /* font-family: "Noto Serif JP", serif; */
}

body {
  margin: 0;
  padding: 0;
  /* font-family: "Noto Serif JP", serif; */
  /* color: #2a3133; */
  color: #787878;

  background-color: #faf5f3;
  font-family: "Noto Sans JP", sans-serif;
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

a {
  text-decoration: unset;
}

.container {
  max-width: 1300px;
  padding: 0 15px;
}

/* .notosans {
  font-family: 'Noto Sans JP', sans-serif;
} */

.notoserif {
  font-family: "Noto Serif JP", serif;
}

.text-blue,
a.text-blue {
  /* color: #aacddc; */
  color: #b4c9e6;
  font-weight: 700;
}

.text-pink,
a.text-pink {
  color: #d7a0a0;
  font-weight: 700;
}

.text-green,
a.text-green {
  /* color: #c8d7aa; */
  color: #9bc891;
  font-weight: 700;
}

.text-yellow,
a.text-yellow {
  color: #e1c373;
  font-weight: 700;
}

.bg-green {
  background-color: #f5f5eb;
}

.bg-blue {
  background-color: #eef6f8;
}

.bg-yellow {
  background-color: #fffff0;
}

.bg-orange {
  background-color: #f9f1e5;
}

.bg-lightgreen {
  background-color: #f1f7f1;
}

.italic {
  font-style: italic;
}

.fw-500 {
  font-weight: 500;
}

.fw-700 {
  font-weight: 700;
}

.underline {
  text-decoration: underline;
}

@media (min-width: 768) {
  html {
    /* font-size: 15px; */
  }
}

@media (min-width: 1200px) {
  html {
    /* font-size: 16px; */
  }
}

p {
  font-size: 14px;
  line-height: 1.75;
}

@media all and (min-width: 768px) {
  p {
    font-size: 16px;
  }
}

/* 見出しパターン */
.title_pattern1 {
  text-align: center;
  /* color: #fff; */
  /* background: -webkit-linear-gradient(top left, #166983, #439DBA); */
  padding: 20px 15px;
}

.title_pattern1 .title-top {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.03em;
  position: relative;
  padding: 0 25px;
  margin-bottom: 10px;
  display: inline-block;
}

.title_pattern1 .title-top::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  /* background: url(../img/section02/border1.svg) no-repeat center center/contain; */
  width: 18px;
  height: 23px;
}

.title_pattern1 .title-top::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  /* background: url(../img/section02/border2.svg) no-repeat center center/contain; */
  width: 18px;
  height: 23px;
}

.title_pattern1 .title-bottom {
  letter-spacing: 0.03em;
  font-size: 28px;
  font-weight: 600;
}

.title_pattern2 {
  width: 77.3vw;
  height: 22.2vw;
  padding: 0 0 0 5vw;
  background: linear-gradient(90deg, #faebdc, #f0d2d7);
  border-radius: 0 50vw 50vw 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 3vw;
  margin: 0 0 -30px;
  position: relative;
  z-index: 5;
}

.title_pattern2-number {
  /* flex: 0 1 53px; */
  width: 13%;
}

.title_pattern2-text {
  /* font-size: 19px; */
  font-size: clamp(10px, 3vw, 19px);
  line-height: 1.75;
}

.title_pattern2 span {
  /* color: #fbd9ad; */
  /* font-size: 25px; */
  font-size: 1.5em;
  font-weight: 700;
}

@media (min-width: 768px) {
  .title_pattern2 {
    width: 60vw;
    margin: 0 0 -60px;
    justify-content: center;
    padding: 0 5vw 0 10vw;
    max-width: 1000px;
    max-height: 150px;
    gap: 20px;
  }
}

.title_pattern3 {
  text-align: center;
  padding: 10px 15px;
}

.title_pattern3 .title-top {
  font-size: 14px;
  letter-spacing: 0.1em;
  position: relative;
  padding: 0 15px;
}

.title_pattern3 .title-top::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: url(../img/section06/medical-border1.svg) no-repeat center
    center/contain;
  width: 14px;
  height: 18px;
}

.title_pattern3 .title-top::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: url(../img/section06/medical-border2.svg) no-repeat center
    center/contain;
  width: 14px;
  height: 18px;
}

.title_pattern3 .title-bottom {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #dd8c23;
}

@media all and (min-width: 576px) {
  .title_pattern3 {
    padding: 18px 15px;
  }

  .title_pattern3 .title-top {
    font-size: 16px;
    padding: 0 22px;
  }

  .title_pattern3 .title-top::before {
    width: 18px;
    height: 23px;
  }

  .title_pattern3 .title-top::after {
    width: 18px;
    height: 23px;
  }

  .title_pattern3 .title-bottom {
    font-size: 30px;
  }
}

@media all and (min-width: 768px) {
  .title_pattern1 {
    padding: 25px 15px;
  }

  .title_pattern1 .title-top {
    font-size: 20px;
    padding: 0 35px;
  }

  .title_pattern1 .title-top::before {
    width: 22px;
    height: 28px;
  }

  .title_pattern1 .title-top::after {
    width: 22px;
    height: 28px;
  }

  .title_pattern1 .title-bottom {
    font-size: 40px;
  }
}

.title_pattern4 {
  max-width: 790px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin: 0 auto 1em;
  position: relative;
  font-weight: 700;
  text-align: center;
}

.title_pattern4 span {
  color: #d7a0a0;
  font-size: 1.5em;
  margin: 0 0.2em;
}
.green .title_pattern4 span {
  /* color: #c8d7aa; */
  color: #9bc891;
}
.blue .title_pattern4 span {
  /* color: #96b9cd; */
  color: #b4c9e6;
}

.title_pattern4 .title-top {
  position: relative;
  font-size: 16px;
  margin-bottom: 10px;
  padding: 0 20px;
}

.title_pattern4 .title-top::before {
  content: "＼";
  position: absolute;
  top: 50%;
  left: -10px;
  transform: rotate(15deg) translateY(-50%);
  width: 18px;
  height: 23px;
}

.title_pattern4 .title-top::after {
  content: "／";
  position: absolute;
  top: 50%;
  right: 0;
  transform: rotate(-15deg) translateY(-50%);
  width: 18px;
  height: 23px;
}

.title_pattern4 .title-bottom {
  position: relative;
}

@media all and (min-width: 576px) {
  .title_pattern4-inner,
  .reason .title_pattern4-inner,
  .three-mind .title_pattern4-inner {
    height: 220px;
  }

  .title_pattern4 .title-top {
    font-size: 20px;
    margin-bottom: 15px;
    margin-right: 0;
  }
}

/* 見出しパターン */

/* ボタン */
.cmn-btn {
  background-color: #fff;
  color: #787878;
  font-size: 16px;
  position: relative;
  padding: 20px 50px;
  width: 370px;
  display: inline-block;
  text-align: center;
  max-width: 100%;
  transition: 0.3s;
  border-radius: 50px;
  box-shadow: 5px 5px 5px #dddddd;
}

.cmn-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  background: url(../img/cta/icon-arrow.svg) no-repeat center center/cover;
  font-weight: 700;
}

.cmn-btn:hover {
  opacity: 0.7;
}

@media all and (max-width: 400px) {
  .cmn-btn {
    padding: 15px 40px;
  }

  .cmn-btn::after {
    right: 15px;
    width: 15px;
    height: 15px;
  }
}

/* ボタン */

/* 余白 */
.mb-25 {
  margin-bottom: 20px;
}

.mb-50 {
  margin-bottom: 40px;
}

.mb-80 {
  margin-bottom: 60px;
}

.mb-100 {
  margin-bottom: 80px;
}

@media (min-width: 767px) {
  .mb-25 {
    margin-bottom: 25px;
  }

  .mb-50 {
    margin-bottom: 50px;
  }

  .mb-80 {
    margin-bottom: 80px;
  }

  .mb-100 {
    margin-bottom: 100px;
  }
}

/* 余白 */

/* テーブル */
.table-standard,
.table-standard tbody,
.table-standard tr {
  width: 100%;
  font-size: 14px;
}

.table-standard tr {
  border-top: 1px solid #cdcdcd;
}

.table-standard tr:last-of-type {
  border-bottom: 1px solid #cdcdcd;
}

.table-standard th,
.table-standard td {
  display: table-cell;
  border: 1px solid #d6d6d6;
  width: 100%;
}

.table-standard th {
  padding: 8px 10px;
  background-color: #b4b9dc;
  color: #fff;
  font-weight: 500;
  width: 30%;
  /* text-align: center; */

  /* セルの中央寄せにする */
  vertical-align: middle;
  text-align: center;
}

.table-standard td {
  padding: 8px 10px;
  background-color: #fff;
}

.table-standard ul li {
  position: relative;
  display: flex;
}

.table-standard ul li::before {
  content: "⚫︎";
}

@media (min-width: 576px) {
  .table-standard,
  .table-standard tbody,
  .table-standard tr {
    font-size: 16px;
  }

  .table-standard th {
    padding: 10px 15px;
  }

  .table-standard td {
    padding: 10px 15px;
  }
}

/* 外部リンク */
.ex-link {
  padding-right: 20px;
  position: relative;
  text-decoration: underline;
}

.ex-link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 15px;
  height: 15px;
  background: url(../img/section06/external-link.svg) no-repeat center
    center/contain;
}

/* 共通設定 */

/* ヘッダー */
.logo {
  padding: 10px;
}

.logo img {
  width: 66%;
  min-width: 250px;
  max-width: 100%;
}

.logo-text {
  font-size: 12px;
  color: #707070;
  margin-top: 5px;
}

@media all and (min-width: 576px) {
  .logo img {
    width: 310px;
  }

  .logo-text {
    margin-top: 0px;
    display: inline-block;
    vertical-align: middle;
    margin-left: 30px;
  }
}

@media all and (min-width: 768px) {
  .logo {
    padding: 9px 10px;
  }
}

@media all and (max-width: 340px) {
  .logo-text {
    font-size: 11px;
  }
}

/* ヘッダー */
header .container {
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}

.fv {
  text-align: center;
}

.fv img {
  width: 100%;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}

.free-txt {
  font-size: clamp(12px, 3.2vw, 13px);
  margin-top: 15px;
}

/* section01 */
.section01 {
  padding: 20px 0;
}
.section01-bg {
  background-image: url("../img/section01/bg-sp.webp");
  background-size: 100% 100%;
  background-repeat: no-repeat;
  background-position: center top;
  padding: 2rem 0 10rem;
}

.section01-title {
  text-align: center;
  font-size: 30px;
  /* margin-bottom: 20px;kkk */
  padding: 20px 0;
}

.section01-type-wrap {
  max-width: 350px;
  margin: auto;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.bytype {
  position: relative;
  padding-top: 25px;
}

/* .bytype::before {
  content: "";
  position: absolute;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  background: url(../img/section01/arrow.svg) no-repeat center center/contain;
  width: 293px;
  height: 63px;
} */

.bytype-itembox {
  list-style: 1.5;
}

/* .bytype-text1 {
  font-size: 32px;
  margin-bottom: 10px;
} */

/* .bytype-text1 span {
  font-size: 28px;
} */

.bytype-text2 {
  font-size: 20px;
  margin-bottom: 10px;
}

.bytype-text3 {
  font-size: 24px;
  width: fit-content;
  margin: 0 auto 3rem;
  border-bottom: solid 2px #d7a0a0;
}

@media all and (min-width: 768px) {
  .section01 {
    padding: 40px 0;
  }

  .section01-bg {
    background-image: url("../img/section01/bg.webp");
  }

  .section01-title {
    /* margin-bottom: 45px; */
  }

  /* .bytype-text1 {
    margin-bottom: 20px;
  } */

  .bytype-text2 {
    margin-bottom: 15px;
  }

  .bytype-text3 {
    font-size: 32px;
  }

  .bytype {
    padding-top: 62px;
  }

  .section01-type-wrap {
    max-width: 1000px;
    display: flex;
    flex-direction: row;
    gap: 1rem;
  }
}

/* section01 */

/* section02 feature */
.feature {
  padding: 30px 0 0;
}

.feature-tab-row {
  display: flex;
  gap: 5px;
  margin-bottom: -10px;
}

.feature-tab {
  display: inline-block;
  padding: 2em 10px;
  background-color: #f0d7d7;
  cursor: pointer;
  width: 25%;
  color: #fff;
  text-align: center;
  /* font-size: 14px; */
  font-size: clamp(10px, 1.4vw, 18px);
  font-weight: 600;
  position: relative;
  border-radius: 10rem;
}

.feature-tab.active {
  background-color: #d7a0a0;
  position: relative;
}

.feature-tab.active:after {
  content: "";
  position: absolute;
  bottom: -10px;
  left: 50%;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 15px solid transparent;
  border-right: 15px solid transparent;
  border-top: 20px solid #d7a0a0;
}

.feature-tab-contents {
  max-width: 1300px;
  width: 90%;
  margin-left: auto;
  margin-right: auto;
}
.feature-tab-content {
  display: none;
  background-color: #fff;
  padding: 28px 20px;
}

.feature-tab-content.active {
  display: block;
}

.feature-tab-bg {
  padding: 0 4vw;
}

.feature-content-top {
  text-align: center;
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 25px;
  letter-spacing: 0.2em;
}

.feature-img-wrapper {
  max-width: 600px;
  margin: auto;
}

.feature-p {
  max-width: 800px;
  margin: 0 auto 40px;
  text-align: justify;
}

.feature-step {
  border: 1px solid #d7a0a0;
  padding: 20px 15px 0;
  max-width: 800px;
  margin: 0 auto;
}

.feature-step-dl {
  display: flex;
  position: relative;
}

.feature-step .feature-step-dl:not(:last-of-type):before {
  content: "";
  width: 1px;
  height: 100%;
  background-color: #d7a0a0;
  position: absolute;
  top: 0;
  left: 21px;
}

.feature-step-dl dt {
  width: 42px;
  height: 42px;
  background-color: #d7a0a0;
  color: #fff;
  border-radius: 50%;
  font-size: 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  line-height: 1.2;
  position: relative;
  font-family: serif;
}

.feature-step-dl dt::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #d7a0a0;
  width: 1px;
}

.feature-step-dl dt span {
  display: block;
  font-size: 18px;
  font-weight: 700;
}

.feature-step-dl dd {
  width: calc(100% - 42px);
  padding-left: 15px;
  padding-top: 10px;
  padding-bottom: 15px;
}

.feature-step-dl dd h3 {
  font-size: 18px;
  /* font-weight: 600; */
  letter-spacing: 0.03em;
  /* color: #d7a0a0; */
  margin-bottom: 10px;
}

.feature-step-ul li {
  list-style: none;
  position: relative;
  padding-left: 20px;
  font-size: 14px;
  margin-bottom: 5px;
}

.feature-step-ul li::before {
  /* content: "✔"; */
  content: "";
  background: url(../img/section02/icon-check.svg) no-repeat center
    center/contain;
  width: 20px;
  height: 20px;
  position: absolute;
  top: 0;
  left: 0;
}

.asterisk {
  color: #707070;
  font-size: 12px;
  margin-bottom: 15px;
}

/* .feature-step .feature-step-dl:last-of-type dt {
  background-color: #dd8c23;
} */

@media all and (min-width: 576px) {
  .feature-step {
    padding: 20px 50px;
  }

  .feature-step-dl dt {
    width: 60px;
    height: 60px;
    font-size: 14px;
  }

  .feature-step-dl dt span {
    font-size: 24px;
  }

  .feature-step-dl dd {
    width: calc(100% - 60px);
    padding-left: 20px;
    padding-top: 15px;
  }

  .feature-step-ul li {
    padding-left: 30px;
    font-size: 16px;
    margin-bottom: 10px;
  }

  .feature-step .feature-step-dl:not(:last-of-type):before {
    left: 30px;
  }

  .asterisk {
    font-size: 14px;
  }

  .feature-step-dl dd h3 {
    font-size: 24px;
  }
}

@media all and (min-width: 768px) {
  .feature {
    padding: 50px 0 0;
  }

  .feature-tab-row {
    gap: 8px;
    width: 75%;
    margin: 0 auto -15px;
  }

  .feature-tab {
    font-size: clamp(14px, 1.5vw, 18px);
  }

  .feature-content-top {
    font-size: 24px;
    margin-bottom: 40px;
    line-height: 1.66666;
  }

  .feature-tab-content {
    padding: 50px 30px;
  }
}

/* section02 feature*/

/* section03 three-mind*/
.three-mind {
  padding: 30px 0;
}

.three-mind .cotainer {
  max-width: 780px;
}

.three-mind-top1 {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.1em;
  padding-bottom: 20px;
  margin-bottom: 10px;
  position: relative;
  text-align: center;
}

.three-mind-top1:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 660px;
  height: 10px;
  max-width: 100%;
  background: url(../img/section03/three-mind-top1-border.svg) no-repeat center
    center/contain;
}

.three-mind-top2 {
  font-size: 23px;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.3;
  margin-bottom: 24px;
  text-align: center;
}

.three-mind-top2-big {
  font-size: 30px;
}

.three-mind-top3 {
  width: 90%;
  max-width: 550px;
  margin: 10px auto 20px;
}

.three-mind-top3 li {
  color: #ffffff;
  text-align: center;
  font-size: 16px;
  font-weight: 600;
  margin-bottom: 15px;
  padding: 10px 0;
  background-color: #e1b9b9;
  /* background: url(../img/section03/li_frame-blue.svg) no-repeat center center/contain; */
}

.promise-p {
  /* width: 85%;
  max-width: 800px; */
  margin: 0 auto 1em;
  font-size: 16px;
}

.promise-p span {
  font-weight: 700;
}

.promise-content-wrapper {
  background-color: #f5fbfb;
  width: 90%;
  margin: auto;
  /* max-width: 730px; */
  /* margin: 0 -15px 20px; */
  padding: 50px 20px;
}

.onedoctor-text-whatis {
  /* padding: 0 20px; */
  font-weight: 700;
  font-size: 18px;
}

.onedoctor-image-wrapper {
  width: 100%;
  margin: auto;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row;
  /* flex-direction: column; */
  justify-content: center;
  align-items: center;
  margin-bottom: 30px;
  gap: 20px;
}

.onedoctor-image-wrapper picture {
  width: clamp(300px, 40%, 500px);
}
.onedoctor-image-wrapper img {
  width: 100%;
  height: auto;
}

.onedoctor-asterisk {
  font-size: 12px;
  color: #888;
}

.promise-wrap {
  margin-bottom: 40px;
}

.counseling-flow-wrapper {
  background-color: #f0f5fa;
  padding: 30px 20px;
}

.counseling-flow {
  max-width: 760px;
  margin: 0 auto 30px auto;
}

.counseling-flow h3 {
  text-align: center;
  font-size: 22px;
  font-weight: 700;
  color: #96b9cd;
}

.counseling-box {
  /* border: 1px solid #0f7a9d; */
  position: relative;
  margin-bottom: 60px;
  box-shadow: 5px 5px 5px #dddddd;
  border-radius: 15px;
  background-color: #ffffff;
}

/* .counseling-box .counseling-title-wrap::before {
  content: "";
  top: -5px;
  left: 20px;
  position: absolute;
} */

.counseling-flow .counseling-box:not(:last-of-type):after {
  content: url(../img/section03/arrow-under.svg);
  position: absolute;
  bottom: -50px;
  left: 50%;
  transform: translateX(-50%);
  width: 30px;
  height: 30px;
  /* border-left: 11px solid transparent;
  border-right: 11px solid transparent;
  border-top: 20px solid #027d9f; */
}

.counseling-title-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px 18px 30px;
  background: linear-gradient(90deg, #c8e6d7 0%, #aacddc 100%);
  position: relative;
  gap: 10px;
  border-radius: 15px 15px 0 0;
}

.counseling-title {
  color: #fff;
  font-weight: 600;
  font-size: 14px;
  flex: 1;
}

.counseling-flow .step-tag {
  background-color: #fff;
  color: #aacddc;
  font-size: 12px;
  font-weight: 600;
  padding: 5px 10px;
  border-radius: 20px;
  white-space: nowrap;
}

.counseling-staff {
  text-align: center;
  padding: 2px 3px;
  border: 1px solid #fff;
  color: #fff;
  width: auto;
  font-size: 10px;
}

/* .counseling-staff.ishi {
  background-color: #fff;
  color: #027d9f;
} */

.counseling-desc-row {
  display: flex;
  padding: 20px;
  gap: 20px;
}

.counseling-text {
  letter-spacing: 0.028em;
  flex: 1;
  line-height: 1.5;
}

.counseling-box-arrow::after {
  content: "";
  width: 20px;
  height: 20px;
  transform: rotate(45deg);
  border-top: solid 2px #0f7a9d;
  border-right: solid 2px #0f7a9d;
  position: absolute;
  right: -23px;
  top: 50%;
}

.counseling-guide {
  position: relative;
  padding-bottom: 40px;
  padding: 0 15px;
}

.counseling-guide-row {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  margin-bottom: 25px;
}

.counseling-guide-frame {
  /* background: url(../img/section03/counseling-frame.svg) no-repeat center center/contain; */
  width: 335px;
  max-width: 100%;
  font-size: 25px;
  font-weight: 700;
  line-height: 1.44;
  position: relative;
  padding: 20px 30px;
  text-align: center;
  background-color: #ffffff;
  color: #a0c3d7;
  border-top: solid 4px #a0c3d7;
  border-bottom: solid 4px #a0c3d7;
}

.counseling-guide-row .counseling-guide-frame:first-of-type::after {
  content: "※";
  position: absolute;
  font-size: 12px;
  font-family: "Noto Sans JP", sans-serif;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}

.counseling-guide-p {
  text-align: center;
  font-size: 18px;
  font-weight: 600;
  margin-bottom: 60px;
}

.counseling-guide-asterisk {
  max-width: 484px;
  margin: auto;
  font-size: 12px;
  line-height: 2;
  padding-bottom: 3px;
  color: #888;
}

.swiper-pagination1,
.swiper-pagination2 {
  text-align: center;
  margin-top: 15px;
}

/* .counseling-flow .swiper-slide:nth-of-type(1) .counseling-title-wrap::before {
  width: 52px;
  height: 58px;
}

.counseling-flow .swiper-slide:nth-of-type(2) .counseling-title-wrap::before {
  width: 67px;
  height: 57px;
}

.counseling-flow .swiper-slide:nth-of-type(3) .counseling-title-wrap::before {
  width: 63px;
  height: 58px;
}

.counseling-flow .swiper-slide:nth-of-type(4) .counseling-title-wrap::before {
  width: 67px;
  height: 59px;
} */

.d-none {
  display: none;
}

.d-block {
  display: block;
}

@media all and (min-width: 576px) {
  /* .three-mind .title_pattern4 {
    margin-bottom: 80px;
  } */

  .counseling-title {
    font-size: 24px;
  }

  .counseling-staff {
    padding: 2px 5px;
    width: 106px;
    font-size: 15px;
  }

  /* .onedoctor-wrap-inner {
    padding: 0;
  } */
}

@media all and (min-width: 768px) {
  .three-mind {
    padding: 80px 0;
  }

  .three-mind-top1 {
    font-size: 28px;
    padding-bottom: 30px;
    margin-bottom: 30px;
  }

  .three-mind-top1:after {
    height: 19px;
  }

  .three-mind-top2 {
    font-size: 40px;
  }

  .three-mind-top2-big {
    font-size: 48px;
  }

  .three-mind-top3 li {
    font-size: 25px;
    margin-bottom: 24px;
    padding: 20px 0;
  }

  .promise-p {
    font-size: 16px;
    width: 85%;
    max-width: 800px;
    margin: 0 auto 3rem;
  }

  .promise-p span {
    font-size: 1.1em;
  }

  .promise-wrap {
    margin-bottom: 40px;
  }

  .counseling-flow-wrapper {
    padding: 50px 0px;
  }

  .counseling-flow h3 {
    font-size: 43px;
  }

  .swiper-pagination1,
  .swiper-pagination2 {
    text-align: center;
    margin-top: 20px;
  }

  .counseling-flow {
    margin: 0 auto 100px auto;
  }

  .promise-content-wrapper {
    max-width: 1300px;
    margin: 0 auto 50px;
    padding: 100px 20px 50px;
  }

  .counseling-guide-row {
    flex-direction: row;
    gap: 50px;
    margin-bottom: 50px;
  }

  .counseling-guide-asterisk {
    padding-bottom: 50px;
  }

  /* .counseling-box .counseling-title-wrap::before {
    width: 52px;
    height: 58px;
    left: 20px;
  } */

  .d-md-none {
    display: none;
  }

  .d-md-block {
    display: block;
  }
}

@media only screen and (max-width: 767px) {
  .counseling-desc-row {
    /* padding: 0; */
    display: block;
  }

  .counseling-text {
    padding: 15px;
  }

  .counseling-title-wrap {
    padding: 20px 10px;
  }

  .counseling-img img {
    height: 40vw;
    object-fit: cover;
  }

  .counseling-flow .swiper-slide {
    height: auto;
  }

  .counseling-box {
    height: auto;
    min-height: 600px;
    background-color: #fff;
  }

  .counseling-flow .swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 0;
  }
}

.reason {
  padding: 50px 0 30px;
}

.reason-inner {
  max-width: 845px;
  margin: auto;
}

.reason .container {
}

.reason-p {
  font-size: 14px;
  text-align: justify;
}

.reason-p span {
  font-weight: 700;
}

.reason-p-small {
  font-size: 10px;
  color: #888;
  margin-top: 10px;
  text-align: start;
}

.reason-h3 {
  font-size: 14px;
  letter-spacing: 0.03em;
  padding: 1em;
  position: relative;
  background: linear-gradient(90deg, #faebdc, #f0d2d7);
  text-align: center;
  border-radius: 50px;
  width: 100%;
  max-width: 650px;
  margin: 0 auto 20px;
}

.works-item {
  margin-bottom: 24px;
  text-align: justify;
}

.conference-item {
  max-width: 845px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 24px;
  text-align: center;
}

.assessment-about {
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.03em;
  margin-bottom: 20px;
}

.assessment-item {
  /* max-width: 565px; */
  margin-left: auto;
  margin-right: auto;
}

@media (min-width: 768px) {
  .reason-h3 {
    font-size: 28px;
    margin: 1em auto;
  }
  .reason-p {
    font-size: 18px;
  }
  .assessment-about {
    font-size: 30px;
  }
}

.doctor {
  /* margin-bottom: 60px; */
  padding: 40px 0 0;
  background: #ebf0eb;
}

.doctor h2 {
  text-align: center;
  font-size: 24px;
  font-weight: 700;
  color: #9bc891;
}

.doctor_link {
  color: #787878;
}

.doctor_link:hover {
  color: #2a3133;
  opacity: 0.5;
}

.doctor-row {
  margin: 25px auto;
}

.doctor-col {
  margin-bottom: 10px;
  padding: 0 5px;
}

.doctor-col-bg {
  /* background-color: #f5fbfb; */
  height: 100%;
}

.doctor-col img {
  width: 100%;
}

.doctor-text {
  padding: 10px 5px;
  text-align: center;
}

.doctor-position {
  font-size: 1.9vw;
  font-weight: 500;
  color: #9bc891;
  margin-bottom: 5px;
}

/* .doctor-position .doctor-txt-small {
  font-size: 10px;
} */

.doctor-name {
  font-size: 2.4vw;
}

.doctor-plan {
  /* background: url(../img/section05/doctor-experienced-sp.jpg) no-repeat center center/cover; */
  background: linear-gradient(90deg, #faebdc, #f0d2d7);
  padding: 0;
  margin-top: 50px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.doctor-plan-image {
  flex: 1;
  max-width: 200px;
}

.doctor-plan-text {
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 0.03em;
}

.doctor-p-sp {
  font-size: 14px;
  color: #888;
}

@media only screen and (min-width: 576px) {
  .doctor-row {
    margin-top: 40px;
    /* margin-bottom: 50px; */
  }

  .doctor-plan-text {
    font-size: 32px;
    padding: 0 15px;
  }

  /* .doctor-plan-text span {
    font-size: 40px;
  } */

  .doctor {
    margin-bottom: 100px;
  }
}

@media only screen and (min-width: 767px) {
  /* .doctor-col {
    padding: 0 12.5px;
  } */

  /* .counseling-flow .swiper-slide .counseling-title-wrap::before {
    background: none;
  } */

  .doctor-row {
    max-width: 800px;
    margin: 40px auto 0;
  }

  .doctor-text {
    padding: 20px 5px 60px;
  }

  .doctor-position {
    font-size: 16px;
  }

  .doctor-name {
    font-size: 18px;
  }

  .doctor-position .doctor-txt-small {
    font-size: 14px;
  }
}

@media only screen and (max-width: 400px) {
  .doctor-position {
    font-size: 10px;
  }

  .doctor-col {
    padding: 0 3px;
  }

  .doctor-name {
    font-size: 12px;
  }

  .doctor-text {
    padding: 10px 3px;
  }
}

.medical {
  /* margin-bottom: 40px; */
  padding: 50px 0;
}

.medical .container1 > p .text-pink,
.other-treatment p .text-pink {
  font-weight: 700;
}

.medical-type {
  padding: 50px 0;
  text-align: center;
}

/* .medical-type1 {
  background-color: #fefff4;
}

.medical-type2 {
  background-color: #f5fbfb;
}

.medical-type3 {
  background-color: #fff7fb;
} */

/* .medical-type-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0px;
  position: relative;
}

.medical-type-h3 {
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.03em;
  position: relative;
  color: #027d9f;
  z-index: 10;
  text-align: center;
  display: inline-block;
  margin-bottom: 0;
}

.medical-type-h3::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fcee5a;
  width: 100%;
  height: 6px;
  z-index: -1;
}

.medical-type-ul li {
  margin-bottom: 15px;
  position: relative;
  font-size: 16px;
  letter-spacing: 0.03em;
  color: #575757;
  font-weight: 500;
  padding-left: 25px;
}

.medical-type-ul li::before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 19px;
  height: 17px;
  background: url(../img/section06/icon-check.svg) no-repeat center center/contain;
}

.medical-type-text {
  width: 390px;
  max-width: 100%;
} */

/* アコーディオン */
.acc-content-Btn,
.acc-content-Btn2,
.close-btn,
.close-btn2 {
  cursor: pointer;
}

.acc-content-child {
  display: none;
}

/* 閉じておきたい部分につけるセレクタ */
/* //アコーディオン */

/* medical-more */
.medical-more-wrap {
  background-color: #fff;
}

.medical-more-items {
  border: 2px solid #e1b9b9;
  background-color: #ffffff;
}

.green .medical-more-items {
  border-color: #c8d7aa;
}
.blue .medical-more-items {
  border-color: #aacddc;
}

.medical-content {
  position: relative;
  max-width: 760px;
  margin: auto;
  font-weight: 500;
}

.medical-content::before {
  content: "＋";
  position: absolute;
  font-size: 20px;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  color: #ffffff;
  background-color: #e1b9b9;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  padding: 1em;
  /* transition: .3s; */
  /* background: url(../img/section06/icon_open.svg) no-repeat center center/contain; */
}

.green .medical-content::before {
  background-color: #c8d7aa;
}
.blue .medical-content::before {
  background-color: #aacddc;
}

.medical-content.acc-content-opened::before {
  /* background: url(../img/section06/icon_close.svg) no-repeat center center/contain; */
  content: "－";
  position: absolute;
  font-size: 20px;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  color: #ffffff;
  background-color: #e1b9b9;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  padding: 1em;
}

.green .medical-content.acc-content-opened::before {
  background-color: #c8d7aa;
}
.blue .medical-content.acc-content-opened::before {
  background-color: #aacddc;
}

.medical-content-inner {
  padding: 15px 20px 15px 8px;
  position: relative;
}

.medical-content-inner-top {
  font-size: 16px;
}

.medical-content-inner-top span {
  font-size: 20px;
  position: relative;
}

.medical-content-inner-top span::before {
  content: "";
  position: absolute;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  top: -5px;
  left: 50%;
  transform: translateX(-50%);
  background-color: #e1b9b9;
}

.green .medical-content-inner-top span::before {
  background-color: #c8d7aa;
}
.blue .medical-content-inner-top span::before {
  background-color: #aacddc;
}

.medical-more-icon {
  font-size: 28px;
  line-height: 1;
}

.medical-open-inner {
  padding-top: 40px;
}

.container1 {
  max-width: 730px;
  padding: 0 15px;
  margin: auto;
}

.container1.border-tp {
  position: relative;
}

.container1.border-tp::before {
  content: "";
  position: absolute;
  top: -1.5rem;
  width: calc(100% - 30px);
  max-width: 760px;
  left: 50%;
  transform: translateX(-50%);
  height: 1px;
  background-color: #9cc3ce;
}

.medical-whybox {
  /* border: 1px solid #027d9f; */
  padding: 20px 15px;
  margin-bottom: 25px;
}

.medical-whybox-title {
  font-size: 16px;
  /* color: #db3559; */
  font-weight: 700;
  text-align: center;
}

.medical-row {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 40px;
}

.medical-treatment {
  width: 30%;
  max-width: 184px;
  box-shadow: 0 2px 2px rgba(0, 0, 0, 0.16);
  position: relative;
  padding: 10px 5px;
  letter-spacing: 0.1em;
  margin-bottom: 10px;
  transition: 0.3s;
  background-color: #e1b9b9;
  color: #fff;
  font-weight: 700;
  border-radius: 100px;
  font-size: 16px;
}
.green .medical-treatment {
  background-color: #c8d7aa;
}
.blue .medical-treatment {
  background-color: #aacddc;
}

a.medical-treatment:hover {
  opacity: 0.7;
}

.medical-treatment::after {
  content: "▼";
  font-size: 2em;
  color: #e1b9b9;
  position: absolute;
  bottom: -1.5em;
  left: 50%;
  transform: translateX(-50%);
  width: 2em;
  height: 2em;
  /* background: url(../img/section06/medical-arrow.svg) no-repeat center center/contain; */
}
.green .medical-treatment::after {
  color: #c8d7aa;
}
.blue .medical-treatment::after {
  color: #aacddc;
}

.treatment-title-desc {
  font-size: 16px;
  /* padding-bottom: 15px; */
  position: relative;
  padding: 0.5em;
  margin-bottom: 20px;
  background-color: #e1b9b9;
  color: #fff;
}

.green .treatment-title-desc {
  background-color: #c8d7aa;
}

.blue .treatment-title-desc {
  background-color: #aacddc;
}

.treatment-title-desc::after {
  content: "▼";
  position: absolute;
  color: #e1b9b9;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  /* background: url(../img/section06/medical-border3.svg) no-repeat center center/contain; */
  width: 100%;
  height: 10px;
}

.green .treatment-title-desc::after {
  color: #c8d7aa;
}

.blue .treatment-title-desc::after {
  color: #aacddc;
}

.bg-cover.treatment-title-desc::after {
  background-size: cover;
}

.treatment-h3-wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}

.treatment-new-tag {
  background-color: #faebdc;
  border-radius: 50%;
  width: 5em;
  height: 5em;
  display: flex;
  justify-content: center;
  align-items: center;
}
.treatment-large-tag {
  background-color: #faebdc;
  border-radius: 50%;
  width: 10em;
  height: 10em;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.treatment-large-tag.white {
  background-color: #ffffff;
}

.treatment-h3 {
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1.5;
}

.treatment-h3-sub {
  font-size: 16px;
}

.change-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 25px;
  gap: 10px;
}

.change-col {
  max-width: 300px;
}

.change-col-title {
  font-size: 20px;
  /* font-weight: 600; */
  color: #e1b9b9;
  margin-bottom: 5px;
}

.green .change-col-title {
  /* color: #c8d7aa; */
  color: #9bc891;
}

.blue .change-col-title {
  /* color: #96b9cd; */
  color: #b4c9e6;
}

.treatment-descbox {
  /* border: 1px solid #d6d6d6; */
  padding: 20px 10px;
}

.treatment-descbox-title {
  font-size: 14px;
  font-weight: 700;
  margin-bottom: 15px;
  color: #e1b9b9;
  text-align: center;
}
.green .treatment-descbox-title {
  /* color: #c8d7aa; */
  color: #9bc891;
}
.blue .treatment-descbox-title {
  /* color: #aacddc; */
  color: #b4c9e6;
}

.treatment-descbox-p1 {
  font-size: 12px;
}

.treatment-descbox-p1.descbox-grid {
  display: grid;
  /* 1列目はコンテンツの長さに合わせて自動調整、2列目は均等割り付け */
  grid-template-columns: auto auto;
  gap: 10px;
  margin-bottom: 10px;
}

.descbox-grid .desc-tag {
  background-color: #e1b9b9;
  color: #fff;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 30px;
  text-align: center;
}

.green .descbox-grid .desc-tag {
  background-color: #c8d7aa;
}

.blue .descbox-grid .desc-tag {
  background-color: #aacddc;
}

.treatment-descbox-p2 {
  font-size: 12px;
  color: #888;
}

.treatment-pointbox {
  max-width: 600px;
  margin: 40px auto;
  padding: 20px 14px;
  background-color: #fff0f0;
  border-radius: 20px;
}
.green .treatment-pointbox {
  background-color: #f5f5eb;
}
.blue .treatment-pointbox {
  background-color: #ebf5fa;
}

.treatment-pointbox-dl {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  row-gap: 15px;
  max-width: 410px;
  margin: auto;
}

.dg-center {
  display: grid;
  place-items: center;
}

.dg-center .treatment-pointbox-dl {
  max-width: none;
}

.treatment-pointbox-number {
  width: 41px;
  height: 41px;
  background-color: #e1b9b9;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  font-family: serif;
}

.green .treatment-pointbox-number {
  background-color: #c8d7aa;
}
.blue .treatment-pointbox-number {
  background-color: #aacddc;
}

.treatment-pointbox-number-top {
  font-size: 10px;
  font-weight: 400;
  line-height: 1.2;
}

.treatment-pointbox-number-bottom {
  font-size: 16px;
  font-weight: 700;
  line-height: 1;
}

.treatment-pointbox-text {
  width: calc(100% - 41px);
  padding-left: 15px;
  font-size: 14px;
}

.p-small {
  font-size: 12px;
  color: #888;
}

.table-title,
.medical-list-ttl {
  margin-bottom: 15px;
}

.table-title-span1 {
  font-size: 18px;
  color: #b4b9dc;
  padding-right: 20px;
  font-weight: 700;
  display: block;
  margin-bottom: 5px;
}

.table-title-span2 {
  font-size: 12px;
  color: #888;
  display: block;
}

.price-title {
  color: #787878;
  font-size: 16px;
  letter-spacing: 0.03em;
  background: linear-gradient(90deg, #faebdc, #f0d2d7);
  width: fit-content;
  margin: 0 auto 5px;
  padding: 5px 10px;
  border-radius: 50px;
  font-weight: 700;
}

.price-item-span1 {
  font-size: 32px;
  /* font-weight: 600; */
  padding-right: 10px;
}

.price-item-span2 {
  font-size: 16px;
  /* color: #888; */
}

.price-item {
  color: #787878;
  font-weight: 700;
  margin-bottom: 25px;
}

.price-link {
  font-size: 14px;
}

.close-btn-wrap {
  border: 2px solid #e1b9b9;
}
.green .close-btn-wrap {
  border-color: #c8d7aa;
}
.blue .close-btn-wrap {
  border-color: #aacddc;
}

.close-btn-wrap .medical-content::before {
  /* background: url(../img/section06/icon_close.svg) no-repeat center center/contain; */
  content: "－";
  position: absolute;
  font-size: 20px;
  top: 50%;
  right: 10px;
  transform: translateY(-50%);
  width: 30px;
  height: 30px;
  color: #ffffff;
  background-color: #e1b9b9;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 50%;
  padding: 1em;
}

.green .close-btn-wrap .medical-content::before {
  background-color: #c8d7aa;
}

.blue .close-btn-wrap .medical-content::before {
  background-color: #aacddc;
}

.other-treatment {
  max-width: 910px;
  margin: 0 auto 60px;
  padding: 0 15px;
}

.other-treatment-content {
  max-width: 730px;
  margin: auto;
  padding: 0 15px;
  background-color: #e1b9b9;
}
.green .other-treatment-content {
  background-color: #c8d7aa;
}
.blue .other-treatment-content {
  background-color: #aacddc;
}

.other-treatment-content-inner {
  font-size: 14px;
  letter-spacing: 0.1em;
  font-weight: 500;
  color: #ffffff;
  position: relative;
  padding: 15px 30px;
}

.other-treatment-content-inner:after {
  content: "＋";
  position: absolute;
  /* color: #c8d7aa; */
  color: #e1b9b9;
  background-color: #ffffff;
  border-radius: 50%;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 20px;
  height: 20px;
  transition: 0.3s;
}
.green .other-treatment-content-inner:after {
  color: #c8d7aa;
}
.blue .other-treatment-content-inner:after {
  color: #aacddc;
}

.acc-content-opened2 .other-treatment-content-inner:after {
  /* background: url(../img/section06/icon_close.svg) no-repeat center center/contain; */
  content: "－";
}

.other-treatment-more-items.acc-content-opened2 {
  border-bottom: 1px solid #9cc3ce;
}

.other-open {
  padding: 40px 10px;
  max-width: 720px;
  margin: auto;
}

.other-title {
  /* margin-bottom: 30px; */
  font-size: 30px;
  font-weight: 700;
}

.other-title span {
  font-size: 16px;
}

.other-content-border {
  border-bottom: solid 1px #e1b9b9;
  padding-bottom: 40px;
}
.green .other-content-border {
  border-color: #a8b89c;
}

.blue .other-content-border {
  border-color: #aacddc;
}

.close-btn2 {
  display: inline-block;
  text-decoration: underline;
  padding-right: 25px;
  position: relative;
  font-size: 16px;
}

.close-btn2::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  background: url(../img/section06/icon_close2.svg) no-repeat center
    center/contain;
}

.table-standard-asterisk {
  font-size: 12px;
}

.medical-open3 .medical-treatment::after {
}

.thread {
  max-width: 310px;
  padding: 6px 25px;
  font-size: 12px;
  color: #027d9f;
  background-color: #eef6f8;
  display: inline-block;
  position: relative;
}

.thread::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 0 15px 15px;
  border-color: transparent transparent transparent #ffffff;
}

.thread::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 15px 15px 15px 0;
  border-color: transparent #ffffff transparent transparent;
}

.thread.white {
  background-color: #fff;
}

.thread.white::before {
  border-color: transparent transparent transparent #eef6f8;
}

.thread.white::after {
  border-color: transparent #eef6f8 transparent transparent;
}

@media all and (min-width: 576px) {
  .medical-whybox-title {
    font-size: 20px;
  }

  .treatment-pointbox-number {
    width: 50px;
    height: 50px;
  }

  .treatment-pointbox-number-top {
    font-size: 12px;
  }

  .treatment-pointbox-number-bottom {
    font-size: 18px;
  }

  .treatment-pointbox-text {
    width: calc(100% - 50px);
    padding-left: 30px;
    font-size: 18px;
  }

  .treatment-pointbox-dl {
    row-gap: 20px;
  }

  .treatment-pointbox {
    margin: 50px auto;
    padding: 30px 17px;
  }

  .table-title-span1 {
    font-size: 22px;
    display: inline;
  }

  .table-title-span2 {
    font-size: 16px;
    display: inline-block;
  }

  .table-standard-asterisk {
    font-size: 14px;
  }

  .price-title {
    font-size: 18px;
  }

  .other-title {
    margin-bottom: 40px;
    font-size: 32px;
  }

  .other-title span {
    font-size: 20px;
  }

  .other-treatment-content-inner {
    font-size: 20px;
  }

  .other-treatment-content-inner:after {
    width: 30px;
    height: 30px;
  }

  .treatment-descbox-title {
    font-size: 16px;
    /* margin-bottom: 15px; */
  }
}

@media all and (min-width: 768px) {
  .medical-type-row {
    gap: 60px;
  }

  .medical-type-row::before {
    top: 35px;
    left: 47%;
    transform: translateX(-50%);
    width: 90px;
    height: 40px;
  }

  .medical-type-h3 {
    font-size: 32px;
    margin-bottom: 17px;
    z-index: 10;
  }

  .medical-type-row::before {
    content: "";
    position: absolute;
    top: 35px;
    left: 47%;
    transform: translateX(-50%);
    width: 73px;
    height: 32px;
  }

  /* .medical-type1 .medical-type-row::before {
    background: url(../img/section06/type1-text.svg) no-repeat center center/contain;
  }

  .medical-type2 .medical-type-row::before {
    background: url(../img/section06/type2-text.svg) no-repeat center center/contain;
  }

  .medical-type3 .medical-type-row::before {
    background: url(../img/section06/type3-text.svg) no-repeat center center/contain;
  } */

  .medical-type-ul li {
    font-size: 20px;
    padding-left: 35px;
  }

  .treatment-h3 {
    font-size: 32px;
  }

  .treatment-h3-sub {
    font-size: 20px;
  }

  .medical-whybox {
    padding: 40px 30px;
    margin-bottom: 40px;
  }

  .medical-row {
    gap: 20px;
    margin-bottom: 80px;
  }

  /* .medical-treatment::after {
    width: 19px;
    height: 16px;
  } */

  .medical-treatment {
    padding: 10px 20px;
  }

  .change-col-title {
    font-size: 24px;
  }

  .treatment-descbox {
    padding: 20px 40px;
  }

  .other-treatment {
    margin: 0 auto 80px;
  }

  .p-small {
    font-size: 14px;
  }
}

@media all and (max-width: 767px) {
  .medical-type {
    position: relative;
  }

  .medical-type::before {
    content: "";
    position: absolute;
    top: 17px;
    left: 20px;
    width: 73px;
    height: 32px;
  }

  /* .medical-type1::before {
    background: url(../img/section06/type1-text.svg) no-repeat center center/contain;
  }

  .medical-type2::before {
    background: url(../img/section06/type2-text.svg) no-repeat center center/contain;
  }

  .medical-type3::before {
    background: url(../img/section06/type3-text.svg) no-repeat center center/contain;
  } */
}

@media all and (max-width: 480px) {
  .treatment-title-desc {
    font-size: 14px;
  }
}

@media all and (max-width: 400px) {
  .medical-type-h3 {
    margin-bottom: 15px;
  }

  .medical-treatment {
    letter-spacing: 0;
  }
}

@media all and (max-width: 400px) {
  .medical-more-icon {
    font-size: 20px;
  }

  .medical-content-inner-top span {
    font-size: 16px;
  }

  .medical-content-inner-top {
    font-size: 12px;
  }

  /* .medical-content::before {
    top: 27px;
    right: 20px;
    width: 25px;
    height: 25px;
  } */
}

.column {
  padding: 30px 0 40px;
}

.column .bg-yellow {
  position: relative;
  border-radius: 20px;
  box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1);
}

.column-inner {
  max-width: 545px;
  margin: auto;
  padding: 50px 10px 20px;
}

.column-title {
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  color: #e1c373;
  margin-bottom: 30px;
}

.column-pointbox-dl {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  padding-bottom: 15px;
  margin-bottom: 15px;
  /* border-bottom: 1px dashed #fbd9ad; */
}

.column-pointbox-number {
  width: 50px;
  height: 50px;
  border-radius: 50%;
  background-color: #e1c373;
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-family: serif;
}

.column-pointbox-number-top {
  font-size: 12px;
}

.column-pointbox-number-bottom {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.column-pointbox-text {
  font-size: 16px;
  max-width: 257px;
  flex: 1;
}

.column-text1 {
  text-align: center;
  margin: 20px 0;
  font-size: 16px;
  /* font-weight: 700; */
  line-height: 2em;
  text-decoration: underline;
  text-underline-offset: 6px;
}

.column-morebtn {
  border: 1px solid #e1c373;
  background-color: #fff;
  /* color: #e1c373; */
  text-align: center;
  position: relative;
  padding: 10px 50px;
  font-size: 14px;
  /* font-weight: 700; */
  width: 368px;
  margin: auto;
  max-width: 100%;
}

.column-morebtn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  background: url(../img/section07/column-icon.png) no-repeat center
    center/contain;
  width: 28px;
  height: 28px;
}

.column-morebtn.acc-content-opened {
  display: none;
}

.dashed-note {
  background-size: 8px 100%, 100% 3.2em;
  /* line-height: 3.2em; */
  padding-bottom: 1px;
  width: 90%;
  margin: 0 auto 40px;
}

.dashed-note p {
  /* line-height: unset; */
  line-height: 2em;
  margin-bottom: 1em;
}
.dashed-note p span {
  font-weight: 700;
}

.column-text2 {
  font-size: 18px;
  font-weight: 700;
  text-align: center;
  line-height: 1.5em;
}

@media all and (min-width: 576px) {
  .column-title {
    font-size: 20px;
    margin-bottom: 30px;
  }

  .column-pointbox-number {
    width: 80px;
    height: 80px;
  }

  .column-pointbox-number-top {
    font-size: 17px;
  }

  .column-pointbox-number-bottom {
    font-size: 29px;
  }

  .column-pointbox-dl {
    gap: 20px;
    padding-bottom: 20px;
    margin-bottom: 20px;
    /* border-bottom: 1px dashed #fbd9ad; */
  }

  .column-pointbox-text {
    font-size: 20px;
    max-width: 350px;
  }

  .column-text1 {
    margin: 30px 0;
    font-size: 18px;
  }

  .column-morebtn {
    width: 630px;
    font-size: 26px;
    padding: 1em;
  }

  .column-inner {
    padding: 50px 10px;
  }

  .column {
    padding: 85px 0 65px;
  }

  .dashed-note p {
    font-size: 18px;
  }

  .column-text2 {
    font-size: 27px;
  }
}

/* 安心保証制度セクション */

.assurance-container {
  max-width: 700px;
  margin: auto;
  padding: 15px 15px 80px;
}

.assurance-title {
  font-weight: 700;
  margin-bottom: 30px;
  text-align: center;
  line-height: 1.3;
}

.assurance-title-text1 {
  font-size: 28px;
  margin-bottom: 5px;
}

.assurance-title-text2 {
  font-size: 40px;
}

.assurance-row {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 2rem;
  width: 100%;
  margin-bottom: 50px;
}

.assurance-col {
  padding: 0 10px;
  width: 100%;
  max-width: 700px;
}

.assurance-col-inner {
  display: flex;
  align-items: center;
  /* background: url(../img/section08/li-frame.svg) no-repeat center center/contain; */
  background: linear-gradient(90deg, #faebdc, #f0d2d7);
  padding: 0 16px 0 0;
  border-radius: 100px;
}

.assurance-p {
  font-size: 18px;
  font-weight: 500;
  margin-bottom: 45px;
  width: 90%;
  margin: 0 auto 45px;
}

.assurance-col-num {
  font-size: 30px;
  background-color: #fff;
  flex-shrink: 0;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #d7a0a0;
}

.assurance-col-text {
  font-size: 18px;
  padding-left: 24px;
}

@media all and (min-width: 768px) {
  .assurance-col {
    width: 85%;
  }
  .assurance-col-num {
    font-size: 48px;
    width: 80px;
    height: 80px;
  }

  .assurance-col-text {
    font-size: 27px;
    padding-left: 24px;
  }
}

@media all and (max-width: 599px) {
  .clinic-list a {
    /* color: #2a3133; */
    color: #787878;
  }
}

.flow {
  overflow: hidden;
  padding-bottom: 80px;
}

.whole-country {
  /* background: linear-gradient(135deg, #d7ebfa, #ebf5ff 75%,#faffff 100%); */
}

@media (min-width: 768px) {
  .whole-country {
    background: linear-gradient(135deg, #d7ebfa, #ebf5ff 75%, #faffff 100%);
  }
}

.whole-country h2 {
  font-size: 30px;
  text-align: center;
  margin-bottom: 20px;
}

.whole-country-p {
  margin: 40px 0;
  font-size: 18px;
  font-weight: 600;
  text-align: center;
  padding: 0 15px;
}

.clinic-list a,
.clinic-list a:hover {
}

.consultation {
  padding-bottom: 80px;
}

.consultation .container {
  max-width: 720px;
}

.consultation-item {
  border: 2px solid #027d9f;
  background-color: #f5fbfb;
  padding: 20px 10px;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.consultation-img {
  margin-bottom: 20px;
}

.consultation-title {
  font-size: 20px;
  font-weight: 600;
  line-height: 1.5;
  text-align: center;
  color: #027d9f;
  margin-bottom: 15px;
}

.consultation p {
  margin-bottom: 30px;
  font-size: 14px;
}

.consultation-a {
  display: block;
  text-align: center;
  position: relative;
  background-color: #fff;
  border: 1px solid #027d9f;
  font-size: 14px;
  font-weight: 700;
  padding: 20px 40px;
  transition: 0.3s;
}

.consultation-a:hover {
  opacity: 0.7;
}

.consultation-a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  width: 28px;
  height: 28px;
  background: url(../img/blue_btn.svg) no-repeat center center/contain;
}

@media all and (min-width: 576px) {
  .consultation-item {
    padding: 20px;
  }
}

@media all and (min-width: 768px) {
  .consultation {
    padding-bottom: 100px;
  }
}

@media all and (max-width: 360px) {
  .consultation-title {
    font-size: 18px;
  }
}

/* footer */
footer {
  width: 100%;
  padding: 30px 0;
  text-align: center;
}

.footer-img-wrap {
  margin-bottom: 30px;
}

.footer-copy {
  font-size: 12px;
  font-weight: 500;
}

@media all and (min-width: 576px) {
}

@media all and (min-width: 768px) {
  .counseling-img {
    width: 335px;
  }

  .medical-type-text {
    padding-top: 30px;
  }

  .assurance-title-text1 {
    font-size: 25px;
  }

  .assurance-title-text2 {
    font-size: 44px;
  }

  /* .assurance-col {
    width: 70%;
  } */
}

@media all and (min-width: 992px) {
  .medical-content-inner {
    padding: 24px 50px 24px 10px;
  }

  /* .medical-content::before {
    top: 35px;
  } */
}

/* //medical-more */
/* @media only screen and (min-width: 1200px) {
  .doctor-plan-text {
    padding-left: 180px;
  }
} */

@media all and (min-width: 375px) {
  .msp-none {
    display: none;
  }
}

@media all and (min-width: 1400px) {
}

/* 20240626菱田医師追加 */
.col-15 {
  position: relative;
  min-height: 1px;
  width: 20%;
  flex: 0 0 20%;
}

/* 20240626//菱田医師追加 */

/* 20240729 FV下CTA追加 */
.under-dot {
  border-bottom: dotted 1px #fcc5e4;
}

.onedoctor-cta {
  max-width: 1920px;
  margin-inline: auto;
  box-sizing: border-box;
  margin-bottom: 30px;
  padding: 0;
}

.onedoctor-cta-box {
  padding: 15px 0;
  /* border: 1px solid #F7C7E6; */
  margin-bottom: 20px;
  max-width: 600px;
  margin-inline: auto;
}

.onedoctor-cta-box-txt {
  font-size: 17px;
  background-color: #fffdfe;
  line-height: 1.8em;
  text-align: center;
  padding: 3rem 1rem;
  border-radius: 2rem;
}

.onedoctor-cta-bold {
  font-weight: 700;
  font-size: 19px;
  padding-bottom: 0.1em;
  border-bottom: solid 2px #787878;
}

.onedoctor-cta-imgarea {
  position: relative;
  margin-bottom: 40px;
  max-width: 644px;
  margin-inline: auto;
  text-align: center;
}

.onedoctor-cta-doctorarea {
  text-align: center;
}

.onedoctor-cta-doctorarea-txt1 {
  font-size: 19px;
  text-align: center;
  position: relative;
  /* color: #0F7A9D; */
  line-height: 1.35;
  font-weight: 500;
  margin-bottom: 8px;
  padding-inline: 5px;
  letter-spacing: -0.03em;
  display: inline-block;
}

.onedoctor-cta-doctorarea-txt1::before,
.onedoctor-cta-doctorarea-txt1::after {
  content: "";
  background-repeat: no-repeat;
  background-size: contain;
  width: 48px;
  height: 48px;
  position: absolute;
  display: block;
}

.onedoctor-cta-doctorarea-txt1::before {
  background-image: url(../img/onedoctor-cta/onedoctor-cta-banzai-left.svg);
  left: -2rem;
  bottom: 0;
}

.onedoctor-cta-doctorarea-txt1::after {
  background-image: url(../img/onedoctor-cta/onedoctor-cta-banzai-right.svg);
  right: -4rem;
  bottom: 0;
}

/* .onedoctor-cta-doctorarea-pink {
  color: #DB3559;
  font-size: 21px;
  font-weight: 500;
} */

.onedoctor-cta-doctorarea-txt2 {
  margin-top: 6px;
  text-align: center;
  /* color: #0F7A9D; */
  font-size: 17px;
  font-weight: 500;
}

/* .onedoctor-cta-doctorarea-txt2 span {
  font-size: 15px;
  font-weight: 500;
} */

.br-small {
  display: none;
}

@media all and (min-width: 576px) {
  .onedoctor-cta-box {
    margin-bottom: 25px;
  }

  .onedoctor-cta-imgarea {
    margin-bottom: 25px;
  }
}

@media all and (min-width: 768px) {
  .onedoctor-cta {
    margin-bottom: 60px;
  }

  .onedoctor-cta-box-txt {
    font-size: 21px;
  }

  .onedoctor-cta-bold {
    font-size: 23px;
  }

  .onedoctor-cta-box {
    max-width: 600px;
    margin-inline: auto;
  }

  .onedoctor-cta-doctorarea-txt1 {
    font-size: 25px;
  }

  .onedoctor-cta-imgarea {
    max-width: 933px;
    margin-inline: auto;
  }

  .onedoctor-cta-doctorarea-txt2 span {
    font-size: 17px;
  }
}

@media all and (max-width: 360px) {
  .br-small {
    display: block;
  }

  .onedoctor-cta-box {
    padding: 15px 10px;
  }

  .onedoctor-cta-box-txt {
    font-size: 15px;
  }

  .onedoctor-cta-bold {
    font-size: 17px;
  }

  .onedoctor-cta-doctorarea-txt1 {
    font-size: 16px;
  }

  /* .onedoctor-cta-doctorarea-pink {
    font-size: 18px;
  } */

  .onedoctor-cta-doctorarea-txt2 {
    font-size: 16px;
  }

  /* .onedoctor-cta-doctorarea-txt2 span {
    font-size: 14px;
  } */
}

/* //20240729 FV下CTA追加 */

/* 20240830 デンシティ追加 */
.medical-list-ttl {
  margin-bottom: 25px;
}

.medical-list-ul li {
  position: relative;
  /* padding-left: 10px; */
  font-size: 16px;
  list-style: none;
  display: flex;
}

.medical-list-ul li::before {
  content: "⚫︎";
  display: block;
  /* width: 3px;
  height: 3px;
  border-radius: 50%;
  background: #333;
  position: absolute;
  left: 0px;
  top: calc(0.75em - 0px); */
}

.table-link {
  word-break: break-all;
  color: inherit;
}

/* .treatment-top > p {
  display: inline-block;
  background-color: #5F5F5F;
  color: #fff;
  padding: 1px 16.5px 2px;
} */

/* 20240830 //デンシティ追加 */
/*デスクトップ*/
@media all and (min-width: 992px) and (max-width: 1199px) {
}

/*中デバイス*/
@media all and (min-width: 768px) and (max-width: 991px) {
}

/*小デバイス*/
@media all and (min-width: 576px) and (max-width: 767px) {
}

@media all and (max-width: 400px) {
}

/*iPhone5:SE*/
@media all and (max-width: 320px) {
}

/* CTA */
.cta-section {
  padding: 20px 5vw;
  background: linear-gradient(90deg, #faebdc, #f0d2d7);
}
.cta-msg {
  position: relative;
  z-index: 5;
  font-family: "YuGothic", "Yu Gothic", "Helvetica Neue", "Helvetica",
    "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Meiryo", sans-serif;
  margin-bottom: -1px;
}
.cta-msg-txt1 {
  font-size: 20px;
  text-align: center;
  line-height: 1.5em;
  font-weight: 700;
  padding: 20px 0;
  flex: 1;
  text-decoration: underline;
  text-underline-offset: 0.2em;
}
.cta__wrap {
  width: 96%;
  max-width: 581px;
  margin: 0 auto;
}

.sec01-card.repeat {
  width: 96%;
  max-width: 600px;
  margin: 0 auto 0;
}

.cta-top__desc {
  padding: 10px 8px 30px;
  font-feature-settings: "palt";
  letter-spacing: 0.08em;
}
.cta-top__desc p {
  font-size: clamp(14px, 4vw, 18px);
  line-height: 1.75em;
  margin-bottom: 1em;
  text-align: justify;
}

.cta-top__desc p:last-of-type {
  margin-bottom: 0;
}
.sec01-card-links {
  display: grid;
  gap: 12px;
  padding: 12px 24px;
}

.tel-ask {
  margin-top: 16px;
}

@media (min-width: 768px) {
  .cta-msg-txt1 {
    padding: 16px 0;
    font-size: 25px;
  }

  .cta-top {
    padding: 30px;
  }
  .cta-top__desc {
    max-width: 580px;
    margin: auto;
  }

  .cta-top__desc p strong {
    font-size: clamp(16px, 5vw, 20px);
    font-weight: 700;
  }
}

/* --------------- cta btn --------------- */
.cta-btn-wrapper {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  max-width: 520px;
  margin: 0 auto;
}

.c-btn-lead {
  position: relative;
  font-size: 18px;
  letter-spacing: 0.05em;
}

.c-btn-lead:after {
  content: "／";
  right: -17px;
}

.c-btn-lead:before {
  content: "＼";
  left: -17px;
}

@media (min-width: 768px) {
  .cta-btn-wrapper {
    max-width: 500px;
  }
}

/* --------------- footer --------------- */
footer {
  width: 100%;
  padding: 20px 0 100px;
  text-align: center;
}
.footer-copy {
  padding: 0 1em;
}
.page-footer {
  position: fixed;
  bottom: 0;
  left: auto;
  z-index: 9990;
  background-color: #ffffff;
  width: 100%;
  -webkit-box-shadow: 0 0 0.9375vw 0 rgba(0, 0, 0, 0.16);
  box-shadow: 0 0 0.9375vw 0 rgba(0, 0, 0, 0.16);
  height: auto;
  line-height: 1.5;
}

.float-cta__wrap {
  display: flex;
  align-items: stretch;
  justify-content: center;
  max-width: 800px;
  margin: auto;
  padding: 5px;
  gap: 5px;
}
.float-cta__item {
  flex: 1 0 30%;
}
.float-cta__btn {
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  border: 1px solid;
  border-radius: 3px;
  height: 100%;
}
.float-cta__btn-sp {
  display: flex;
}
.float-cta__btn-pc {
  display: none;
}
.float-cta__btn-orange.float-cta__btn {
  border-color: #aacddc;
}
.float-cta__btn-line.float-cta__btn {
  border-color: #c8d7aa;
}
.float-cta__btn-counseling.float-cta__btn {
  border-color: #e1b9b9;
}
.float-cta__sub {
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.1em;
  writing-mode: vertical-rl;
  padding: 5px 3px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.float-cta__btn-orange .float-cta__sub {
  color: #aacddc;
}
.float-cta__btn-line .float-cta__sub {
  color: #c8d7aa;
}
.float-cta__btn-counseling .float-cta__sub {
  color: #e1b9b9;
}
.float-cta__main {
  color: #fff;
  flex: 1;
  padding: 5px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
}
@media (min-width: 600px) {
  .float-cta__main {
    flex-direction: row;
  }
  .float-cta__main-inner {
    margin: auto;
    margin-left: 0;
    padding-right: 10px;
  }
  .float-cta__btn-sp {
    display: none;
  }
  .float-cta__btn-pc {
    display: flex;
  }
}
.float-cta__btn-orange .float-cta__main {
  background-color: #aacddc;
}
.float-cta__btn-line .float-cta__main {
  background-color: #c8d7aa;
}
.float-cta__btn-counseling .float-cta__main {
  background-color: #e1b9b9;
}
.float-cta__main-ttl {
  font-size: 13px;
  font-weight: 500;
}
.float-cta__btn-counseling .float-cta__main-ttl {
  font-size: 11px;
  letter-spacing: -0.05em;
}
@media (min-width: 600px) {
  .float-cta__main-ttl {
    font-size: 16px;
  }
  .float-cta__btn-counseling .float-cta__main-ttl {
    font-size: 15px;
  }
}
.float-cta__main-ttl__sm {
  font-size: 0.7em;
  font-weight: 400;
}
.float-cta__main-desc {
  font-size: 9px;
  line-height: 1.2;
}
@media (min-width: 600px) {
  .float-cta__main-desc {
    font-size: 12px;
  }
}
.float-cta__main::before {
  content: "";
  display: block;
  margin: auto;
}
@media (min-width: 600px) {
  .float-cta__main::before {
    margin: auto;
    margin-right: 0;
  }
}
.float-cta__btn-line .float-cta__main::before {
  width: 22px;
  height: 22px;
  background-image: url("../img/cta-float/icon-line.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
}
.float-cta__btn-tel .float-cta__main::before {
  width: 20px;
  height: 20px;
  background-color: #fff;
  mask-image: url("../img/cta-float/icon-tel.svg");
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
}
.float-cta__btn-counseling .float-cta__main::before {
  width: 22px;
  height: 22px;
  background: url("../img/cta-float/icon-doctor.svg") no-repeat center / contain;
}
@media (min-width: 600px) {
  .float-cta__btn-line .float-cta__main::before {
    width: 30px;
    height: 30px;
  }
  .float-cta__btn-tel .float-cta__main::before {
    width: 28px;
    height: 28px;
  }
  /* .float-cta__btn-line.float-cta__btn-tel .float-cta__main::before {
    display: none;
  }
  .float-cta__btn-line.float-cta__btn-tel .float-cta__main-inner {
    margin-left: auto;
    padding: 0;
  } */
  .float-cta__btn-counseling .float-cta__main::before {
    width: 30px;
    height: 30px;
  }
}
.float-sp-none {
  display: none;
}
@media (min-width: 600px) {
  .float-pc-none {
    display: none;
  }
  .float-pc-inline-block {
    display: inline-block;
  }
}
.ms-4 {
  margin-left: 1.5rem !important;
}
.ms-1 {
  margin-left: 0.25rem !important;
}
/* --------------- //footer --------------- */
