@charset "UTF-8";
/* =========================================================
   Furemori RE — トップページ専用スタイル
   元テーマ (furemori) style.css から移植
   rem → px 変換済み（旧テーマ 1rem = 10px 基準）
   ========================================================= */

/* =========================================================
   FV（ファーストビュー）
   ========================================================= */
.fv_content {
  position: relative;
}
.fv_content-inner {
  position: relative;
  height: 600px;
  padding-top: 30px;
}
@media screen and (min-width: 768px) {
  .fv_content-inner {
    max-width: none;
    height: 1195px;
    padding-top: 60px;
  }
}
.fv_content-inner-copy {
  width: 240px;
  position: relative;
  z-index: 2;
  left: 20px;
}
@media screen and (min-width: 768px) {
  .fv_content-inner-copy {
    width: 750px;
    position: sticky;
    top: 200px;
  }
}
.fv_content-inner-copy p {
  font-size: var(--font-size--x4l);
  font-weight: 500;
  text-shadow: 0 0 20px rgba(255,255,255,0.9), 0 0 40px rgba(255,255,255,0.6);
}
@media screen and (min-width: 768px) {
  .fv_content-inner-copy p {
    font-size: var(--font-size--x10l);
  }
}
.fv_content-inner-copy span {
  font-size: var(--font-size--xs);
  color: #fff;
}
/* FV スライダー（CSS アニメーション） */
.fv-slider {
  position: absolute;
  top: 80px;
  left: 0;
  width: 100%;
  bottom: 0;
  overflow: hidden;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .fv-slider {
    top: 120px;
  }
}
.fv-slider__track {
  display: flex;
  width: max-content;
  height: 100%;
  animation: fv-scroll 40s linear infinite;
}
.fv-slider__track--sp {
  animation-duration: 40s;
}
.fv-slider__track img {
  height: 100%;
  width: auto;
  object-fit: cover;
  object-position: center top;
  display: block;
  flex-shrink: 0;
}
@media screen and (max-width: 767px) {
  .fv-slider__track img {
    width: 100vw;
  }
}
@keyframes fv-scroll {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}

/* =========================================================
   NEWS エリア
   ========================================================= */
.news_area {
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
  bottom: 40px;
  right: 30px;
  margin: 0;
  margin: 24px 10px 0;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .news_area {
    position: absolute;
    bottom: -155px;
    right: 0;
    z-index: 2;
    width: calc(100% - (var(--contents-padding-side)));
  }
}
.news_area-inner {
  display: block;
  padding: 25px;
  color: var(--color-bg-light);
  background-color: var(--primary-400);
}
.news_area-inner-title {
  margin-bottom: 10px;
  display: flex;
  align-items: center;
  gap: 10px;
}
.news_area-inner-title span {
  border-radius: 20px;
  background-color: var(--color-bg-light);
  color: var(--primary-400);
  padding: 1px 12px;
  font-size: var(--font-size--x2s);
}
.news_area-inner-content a {
  color: #fff;
}
.news_area-inner-content .news_date {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: var(--letter-spacing--md);
  display: block;
  line-height: var(--line-height--xs);
}
.news_area-inner-content p {
  font-size: var(--font-size--xs);
}
@media screen and (min-width: 768px) {
  .news_area-inner-content a {
    display: flex;
    align-items: center;
    gap: 16px;
  }
  .news_area-inner-content .news_date {
    flex-shrink: 0;
  }
  .news_area-inner-content p {
    overflow: hidden;
    white-space: nowrap;
  }
  .news_area-inner-content p span {
    display: inline-block;
    animation: news-marquee 12s linear infinite;
  }
}
@media screen and (max-width: 768px) {
.news_area-inner-content{
  overflow-y: scroll;
  height: 80px;
}
.news_area-inner {
  padding: 5px 25px;
}
}
@keyframes news-marquee {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* =========================================================
   CONCEPT
   ========================================================= */
.concept_section {
  max-width: var(--contents-width-padding);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .concept_section {
    margin-top: 100px;
  }
}
.concept_section-inner {
  padding-bottom: 200px;
}
@media screen and (min-width: 1100px) {
  .concept_section-inner {
    padding-left: 0;
    padding-right: 0;
  }
}
@media screen and (max-width: 767px) {
  .concept_section-inner {
    padding-top: 30px;
    padding-bottom: 60px;
  }
}
.concept_section-content-backtextarea {
  position: relative;
  padding-top: 160px;
}
.concept_section-content-backtextarea .title {
  color: var(--gray-200);
  position: absolute;
  font-family: var(--font-en);
  font-size: var(--font-size--x14l);
  font-weight: 500;
  letter-spacing: 0.08em;
  top: 50%;
  right: 0;
}
@media screen and (max-width: 767px) {
  .concept_section-content-backtextarea .title {
    font-size: var(--font-size--x12l);
    top: 20px;
  }
}
/* backtextarea p — SP専用（元の位置に表示） */
.concept_section-content-backtextarea p {
  position: absolute;
  color: var(--gray-900);
  font-size: var(--font-size--x6l);
  letter-spacing: var(--letter-spacing-md);
  line-height: var(--line-height--sm);
  top: 45%;
  left: 0;
}
.concept_section-flex {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 130px;
}
@media screen and (max-width: 767px) {
  .concept_section-flex {
    flex-direction: column-reverse;
    gap: 30px;
  }
}
.concept_section-flex-text {
  min-width: 340px;
  order: -1;
  font-size: var(--font-size--xl);
  line-height: 2.2;
  letter-spacing: var(--letter-spacing-sm);
}
.concept_section-heading {
  color: var(--gray-900);
  font-size: var(--font-size--x6l);
  letter-spacing: var(--letter-spacing-md);
  line-height: var(--line-height--sm);
  margin-bottom: 30px;
}
.concept_section-flex-text span {
  background: linear-gradient(transparent 70%, var(--primary-300) 70%);
}
.concept_section-flex-img {
  max-width: 890px;
}
@media screen and (max-width: 767px) {
  .concept_section-flex-img {
    max-width: 100%;
  }
}

/* =========================================================
   PICKUP ピックアップ
   ========================================================= */
.pickup_section-inner {
  max-width: var(--contents-width-padding);
  margin: 0 auto;
  padding-top: 60px;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .pickup_section-inner {
    padding-top: 40px;
    padding-bottom: 60px;
  }
}
.pickup_section-inner-title {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 0 15px 22px;
  border-bottom: 1px solid var(--gray-500);
  margin-bottom: 32px;
}
.doctor_section .pickup_section-inner-title {
  border-bottom: 1px solid var(--gray-500);
}
.pickup_section-inner-title h3 {
  font-size: var(--font-size--x2l);
  position: relative;
}
.pickup_section-inner-title h3:before {
  content: "";
  display: inline-block;
  width: 18px;
  height: 16px;
  background-image: url(../img/dot.svg);
  background-repeat: no-repeat;
  background-size: contain;
  position: absolute;
  top: 8px;
  left: -21px;
}
.pickup_section-inner-title span {
  font-weight: 500;
}
.pickup_section-inner .pickup_section-content {
  display: flex;
  justify-content: flex-start;
  gap: 40px;
}
@media screen and (max-width: 767px) {
  .pickup_section-inner .pickup_section-content {
    flex-direction: column;
    gap: 20px;
  }
}
.pickup_section-inner .pickup_section-content + .pickup_section-content {
  margin-top: 60px;
}
.pickup_section-inner .pickup_section-content-textarea h4 {
  font-size: var(--font-size--x5l);
  line-height: var(--line-height--sm);
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid var(--gray-500);
  position: relative;
  margin-left: 10px;
  letter-spacing: var(--letter-spacing-md);
}
.pickup_section-inner .pickup_section-content-textarea h4 span {
  display: inline-block;
  font-size: var(--font-size--x13l);
  margin-right: 8px;
  color: #FAFBFC;
  position: absolute;
  top: -30px;
  left: -14px;
  z-index: -1;
}
.pickup_section-inner .pickup_section-content-textarea h4 .u-accent {
  color: var(--primary-400);
  font-weight: inherit;
}
.pickup_section-inner .pickup_section-content-textarea .subtitle {
  font-size: var(--font-size--xl);
  margin-bottom: 30px;
}
.pickup_section-inner .pickup_section-content-textarea p {
  font-size: var(--font-size--md);
  line-height: var(--line-height--sm);
}
.pickup_section-inner .pickup_section-content .pickup_text {
  font-size: var(--font-size--md);
  line-height: 2;
  letter-spacing: var(--letter-spacing-sm);
}
.pickup_section-content-textarea {
  flex: 1;
  min-width: 0;
}
.pickup_section-content-img {
  flex-shrink: 0;
  width: 45%;
}
@media screen and (max-width: 767px) {
  .pickup_section-content-img {
    width: 100%;
  }
}
.pickup_section-content-img picture {
  display: block;
  overflow: hidden;
}
.pickup_section-inner .pickup_link {
  width: 280px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .pickup_section-inner .pickup_link {
    margin: 30px auto 0;
  }
}

/* =========================================================
   TREATMENT 診療項目
   ========================================================= */
.treatment_section {
  background-color: var(--secondary-600);
}
.treatment_section-inner {
  max-width: var(--contents-width-padding);
  margin: 0 auto;
  padding-bottom: 200px;
  padding-top: 60px;
}
@media screen and (max-width: 767px) {
  .treatment_section-inner {
    padding-bottom: 60px;
  }
}
.treatment_section-inner-title {
  display: flex;
  align-items: center;
  color: #fff;
  margin-bottom: 40px;
}
.treatment_section-inner-title h3 {
  font-size: var(--font-size--x7l);
  position: relative;
  padding-right: var(--space-sm);
  margin-right: var(--space-sm);
}
.treatment_section-inner-title h3:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 1px;
  height: 20px;
  background-color: #fff;
}
.treatment_section-inner-title span {
  letter-spacing: var(--letter-spacing-md);
  font-size: var(--font-size--lg);
}
.treatment_section-content-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .treatment_section-content-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
}
.treatment_section-content-list li {
  width: calc((100% - 20px) / 3);
  list-style: none;
}
@media screen and (max-width: 767px) {
  .treatment_section-content-list li {
    width: auto;
  }
}
.treatment_section-content-list li a {
  padding: var(--space-md);
  color: var(--color-text);
  background: #fff;
  border-radius: var(--radius-md);
display: grid;
  height: 100%;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}
.treatment_section-content-list li a picture {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  height: 100%;
}
.treatment_section-content-list li a picture img {
  width: 100%;
  max-height: 55px;
  margin: 0 auto 12px;
  max-width: 70px;
  object-fit: contain;
}
.treatment_section-content-list li a picture span {
  display: block;
  text-align: center;
  font-size: var(--font-size--x3s);
  color: var(--color-text);
  letter-spacing: 0;
}
.treatment_section-link {
  margin: 30px auto;
  width: 280px;
}
.treatment_section-link-blank {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .treatment_section-link-blank {
    flex-direction: column;
  }
}
.treatment_section-link-blank a {
  width: calc(50% - 10px);
}
@media screen and (max-width: 767px) {
  .treatment_section-link-blank a {
    width: auto;
  }
}

/* =========================================================
   REASON 選ばれる理由
   ========================================================= */
.reason_section {
  background: var(--color-bg-light);
  position: relative;
}
.reason_section:before {
  content: "";
  position: absolute;
  top: 10px;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--primary-300);
  width: calc(100% - 20px);
  height: calc(100% - 20px);
}
.reason_section-inner {
  padding-bottom: 200px;
  position: relative;
  max-width: var(--contents-width-padding);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .reason_section-inner {
    padding-bottom: 60px;
    padding-top: 60px;
  }
}
.reason_section-inner-title {
  font-size: var(--font-size--x3l);
  font-weight: 500;
  line-height: var(--line-height--sm);
  margin-bottom: 30px;
  text-align: center;
  letter-spacing: var(--letter-spacing-md);
}
@media screen and (min-width: 768px) {
  .reason_section-inner-title {
    padding-top: 160px;
    margin-bottom: -10px;
    font-size: var(--font-size--x6l);
  }
}
.reason_section-inner-title-marker {
  background: linear-gradient(transparent 80%, #fff 80%);
}
.reason_section-inner-title-marker .head-num01 {
  font-size: var(--font-size--x8l);
  color: var(--primary-500);
}
.reason_section-inner-title-large {
  color: var(--primary-500);
  font-size: var(--font-size--x10l);
}
@media screen and (min-width: 768px) {
  .reason_section-inner-title-large {
    font-size: var(--font-size--x14l);
  }
}
.reason_section-inner-title-large .head-num02 {
  font-size: 54px;
}
@media screen and (min-width: 768px) {
  .reason_section-inner-title-large .head-num02 {
    font-size: 77px;
  }
}
.reason_section-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -moz-column-gap: 45px;
       column-gap: 45px;
  row-gap: 56px;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .reason_section-list {
    flex-direction: column;
    -moz-column-gap: 40px;
         column-gap: 40px;
  }
}
.reason_section-list__item {
  position: relative;
  z-index: 1;
  display: block;
  width: calc(33.333% - 30px);
}
@media screen and (max-width: 767px) {
  .reason_section-list__item {
    width: 100%;
    z-index: 1;
    display: grid;
    position: relative;
    grid-template-rows: auto 100px;
  }
}
@media screen and (min-width: 768px) {
  .reason_section-list__item:nth-child(2),
  .reason_section-list__item:nth-child(5) {
    transform: translateY(80px);
    padding-bottom: 80px;
  }
}
.reason_section-list__item p {
  font-size: var(--font-size--md);
  line-height: var(--line-height--sm);
  letter-spacing: var(--letter-spacing-sm);
}
.reason_section-list__item p span {
  font-size: 23px;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .reason_section-list__item p span {
    font-size: 36px;
  }
}
.reason_section-list__num {
  position: relative;
  z-index: 1;
  width: 50px;
  height: 50px;
  font-size: 18px;
  margin-bottom: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  white-space: nowrap;
  vertical-align: bottom;
}
@media screen and (min-width: 768px) {
  .reason_section-list__num {
    width: 90px;
    height: 90px;
    font-size: 28px !important;
    margin: 0;
    position: absolute;
    top: 9px;
    left: 10px;
  }
}
.reason_section-list__num:before {
  content: "";
  display: inline-block;
  background-color: currentColor;
  color: var(--primary-400);
  -webkit-mask-image: url(../img/circle01.svg);
          mask-image: url(../img/circle01.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transition: all var(--dur) var(--ease);
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  z-index: -1;
}
.reason_section-list__img {
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .reason_section-list__img {
    grid-row: 1/4;
    grid-column: 2/3;
    max-width: 150px;
    margin-bottom: 0;
  }
}
.reason_section-list__img img {
  display: block;
}
.reason_section-list__head {
  grid-row: 2/3;
  align-self: start;
  font-size: var(--font-size--x3l);
  line-height: var(--line-height--sm);
  font-weight: 500;
}
.reason_section-list__head .u-marker {
  background: linear-gradient(transparent 65%, #fff 65%);
  letter-spacing: inherit;
}
.reason_section-list__txt {
  grid-column: 1/3;
  margin-top: 10px;
}

/* =========================================================
   ABOUT 当院について
   ========================================================= */
.about_section {
  background: var(--color-bg-light);
}
.about_section-inner {
  padding-bottom: 200px;
  max-width: var(--contents-width-padding);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .about_section-inner {
    padding-bottom: 60px;
    padding-top: 60px;
  }
}
.about_section-inner-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.about_section-inner-title h3 {
  padding-right: 20px;
  margin-right: 20px;
  position: relative;
  font-size: var(--font-size--x7l);
}
.about_section-inner-title h3:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 1px;
  height: 20px;
  background-color: var(--gray-900);
}
.about_section-inner-title span {
  font-size: var(--font-size--lg);
}
.about_section-inner-title.u-only-sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .about_section-inner-title.u-only-sp {
    display: flex;
  }
}
.about_section-content {
  padding-top: 100px;
  display: flex;
  flex-wrap: wrap;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: stretch;
}
@media screen and (min-width: 768px) {
  .about_section-content-img,
  .about_section-content-img-figure,
  .about_section-content-img-figure img {
    height: 100%;
  }
  .about_section-content-img-figure img {
    width: 100%;
    object-fit: cover;
  }
}
@media screen and (max-width: 767px) {
  .about_section-content {
    margin-top: 40px;
    padding-top: 0;
  }
}
.about_section-content-img {
  width: calc(50% - 60px);
  margin-right: 40px;
}
@media screen and (max-width: 767px) {
  .about_section-content-img {
    width: 100%;
    margin-right: 0;
  }
}
.about_section-content-img-figure {
  position: relative;
}
.about_section-content-img-figure figcaption {
  position: absolute;
  bottom: 10px;
  right: 10px;
  background-color: var(--primary-400);
  color: #fff;
  padding: 10px 34px;
  font-size: var(--font-size--xs);
  line-height: var(--line-height--sm);
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  width: calc(100% - 20px);
}
.about_section-content-img-figure figcaption .figcaption_title {
  margin-right: 20px;
  padding-right: 20px;
  border-right: 1px solid #fff;
}
.about_section-content-img-figure figcaption .figcaption_name {
  display: flex;
  align-items: center;
}
.about_section-content-img-figure figcaption .figcaption_name span {
  margin-left: 15px;
  font-size: var(--font-size--x2l);
}
.about_section-content-textarea {
  width: calc(50% - 20px);
}
@media screen and (max-width: 767px) {
  .about_section-content-textarea {
    margin-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .about_section-content-textarea {
    width: 100%;
  }
}
.about_section-content-textarea .text {
  margin-bottom: 20px;
  font-size: var(--font-size--md);
}
.about_section-content-textarea .u-only-pc {
  margin-bottom: 40px;
}
@media screen and (max-width: 767px) {
  .about_section-content-textarea .u-only-pc {
    display: none;
  }
}
.about_section-content-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .about_section-content-list {
    flex-direction: column;
    gap: 20px;
  }
}
.about_section-content-list-item {
  width: calc((100% - 60px) / 4);
}
@media screen and (max-width: 767px) {
  .about_section-content-list-item {
    width: 100%;
  }
}
.about_section-content-list-item h4 {
  font-size: var(--font-size--x4l);
  margin-bottom: 12px;
}
.about_section-content-list-item p {
  font-size: var(--font-size--md);
  line-height: var(--line-height--sm);
  letter-spacing: var(--letter-spacing-sm);
}
.about_section-link {
  width: 280px;
  margin: 30px auto;
}

/* =========================================================
   DOCTOR 院長紹介
   ========================================================= */
.doctor_section {
  background: var(--color-bg-light);
}
.doctor_section-inner {
  padding-bottom: 200px;
  max-width: var(--contents-width-padding);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .doctor_section-inner {
    padding-bottom: 60px;
  }
}
.doctor_section-content-textarea {
  margin-top: 20px;
  background-color: var(--color-bg);
  border-radius: 25px 0 0 0;
  padding: 5px 30px;
  font-size: var(--font-size--xs);
}
@media screen and (min-width: 768px) {
  .doctor_section-content-textarea {
    margin-top: 100px;
    display: flex;
    padding: 60px 10px;
    border-radius: 50px 0 0 0;
  }
}
.doctor_section-content-textarea .list_block {
  padding: 20px 0;
  border-bottom: 1px solid var(--gray-500);
}
@media screen and (min-width: 768px) {
  .doctor_section-content-textarea .list_block {
    width: auto;
    max-width: 508px;
    padding: 0 46px;
    border-right: 1px solid var(--gray-500);
    border-bottom: none;
  }
}
.doctor_section-content-textarea .list_block:last-of-type {
  border: none;
}
.doctor_section-content-textarea .list_block-head {
  padding-left: 17px;
  margin: 0;
  position: relative;
  font-size: var(--font-size--xl);
  line-height: var(--line-height--sm);
  color: var(--primary-500);
  font-weight: 500;
  margin-bottom: 10px;
}
.doctor_section-content-textarea .list_block-head:before {
  content: "";
  display: inline-block;
  width: 11px;
  height: 11px;
  background-color: currentColor;
  color: var(--primary-400);
  -webkit-mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all var(--dur) var(--ease);
  position: absolute;
  margin: 0;
  top: 8px;
  left: 0;
}
.doctor_section-content-textarea .list_block .c-layout06__item {
  position: relative;
  padding-left: 11px;
  line-height: var(--line-height--sm);
  font-size: 15px;
}
.doctor_section-content-textarea .list_block .c-layout06__item + .c-layout06__item {
  margin-top: 10px;
}
@media screen and (max-width: 767px) {
  .doctor_section-content-textarea .list_block .c-layout06__item {
    font-size: 13px;
  }
  .doctor_section-content-textarea .list_block .c-layout06__item + .c-layout06__item {
    margin-top: 5px;
  }
}
.doctor_section-content-textarea .list_block .c-layout06__item:before {
  content: "";
  position: absolute;
  top: 5px;
  left: 0;
  width: 6px;
  height: 6px;
  background: url(../img/circle01.svg) no-repeat center center/contain;
}

/* 注釈アイテム（点なし・控えめな見た目） */
.doctor_section-content-textarea .list_block .c-layout06__item--note {
  padding-left: 0;
  margin-top: 12px;
  color: rgba(0, 0, 0, 0.55);
  font-size: 0.92em;
}
.doctor_section-content-textarea .list_block .c-layout06__item--note:before {
  display: none;
}
.doctor_section-content-list {
  display: flex;
  flex-wrap: wrap;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .doctor_section-content-list {
    flex-direction: column;
    gap: 20px;
  }
}
.doctor_section-content-list-item {
  width: calc((100% - 60px) / 4);
}
@media screen and (max-width: 767px) {
  .doctor_section-content-list-item {
    width: 100%;
  }
}
.doctor_section-content-list-item h4 {
  font-size: var(--font-size--x4l);
  margin-bottom: 12px;
}
.doctor_section-content-list-item p {
  font-size: var(--font-size--md);
  line-height: var(--line-height--sm);
  letter-spacing: var(--letter-spacing-sm);
}
.doctor_section-content-img {
  position: relative;
  margin-top: 60px;
  padding-bottom: 25px;
}
.doctor_section-content-img:before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: calc(100% - 25px);
  border: 5px solid var(--secondary-200);
  border-radius: 0 0 25px 0;
}
.doctor_section-content-img .img_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  max-width: 520px;
  margin: auto;
}
.doctor_section-content-img .img_list li {
  width: calc((100% - 40px) / 5);
  align-self: center;
  position: relative;
}
.doctor_section-content-img .img_list li img {
  width: 100%;
  height: auto;
  display: block;
  border: 1px solid rgba(0,0,0,0.06);
}
@media (max-width: 767px) {
  .doctor_section-content-img .img_list {
    max-width: 320px;
  }
  .doctor_section-content-img .img_list li {
    width: calc((100% - 20px) / 3);
  }
}

/* =========================================================
   FEATURE 当院の治療について
   ========================================================= */
.feature_section {
  background: var(--color-bg-light);
  padding-bottom: 60px;
}
.feature_section-inner {
  max-width: var(--contents-width-padding);
  margin: 0 auto;
}
.feature_section-inner-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  padding: 0 0 15px 22px;
  position: relative;
  border-bottom: 1px solid var(--gray-500);
  line-height: var(--line-height--sm);
  font-weight: 500;
  font-size: var(--font-size--lg);
  margin: 0 15px 0 0;
}
.feature_section-inner-title:before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: currentColor;
  color: var(--primary-300);
  -webkit-mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all var(--dur) var(--ease);
  position: absolute;
  margin: 0;
  top: 9px;
  left: 0;
}
.feature_section-inner-title span {
  font-weight: 500;
  font-size: var(--font-size--sm);
}
.feature_section-content {
  padding-top: 13px;
}
@media screen and (min-width: 768px) {
  .feature_section-content {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: baseline;
    margin: 0 var(--contents-padding-side);
    border-bottom: 1px solid var(--gray-500);
    font-weight: 500;
    line-height: var(--line-height--sm);
    padding: 100px 0 15px 30px;
  }
}
@media screen and (min-width: 768px) {
  .feature_section-content_img {
    width: calc(50% - 50px);
  }
}
.feature_section-content_img .feature_copy {
  position: relative;
  font-size: 20px;
  letter-spacing: 0.23em;
  line-height: var(--line-height--sm);
  margin-bottom: 30px;
  font-weight: 500;
}
.feature_section-content_img .feature_copy strong {
  font-weight: 500;
  color: var(--primary-500);
  letter-spacing: inherit;
}
.feature_section-content-listarea {
  font-size: var(--font-size--md);
}
@media screen and (min-width: 768px) {
  .feature_section-content-listarea {
    width: calc(50% - 50px);
  }
}
.feature_section-content-listarea ul {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.feature_section-content-listarea ul .feature_list {
  position: relative;
  padding: 25px 30px;
  background-color: var(--primary-200);
}
.feature_section-content-listarea ul .feature_list-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin-bottom: 5px;
  position: relative;
  font-size: var(--font-size--x3l);
  font-weight: 500;
  color: var(--primary-500);
  z-index: 1;
}
.feature_section-content-listarea ul .feature_list-head-num {
  color: #fff;
  font-family: var(--font-en);
  text-align: center;
  width: 55px;
  height: 54px;
  position: relative;
  z-index: 1;
  margin-right: 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.feature_section-content-listarea ul .feature_list-head-num:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  background-color: currentColor;
  color: var(--primary-400);
  -webkit-mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all var(--dur) var(--ease);
  width: 55px;
  height: 54px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.feature_section-content-listarea ul .feature_list-head-title {
  font-size: var(--font-size--x3l);
  font-weight: 500;
  color: var(--primary-500);
  position: relative;
  z-index: 1;
}
.feature_section-content-listarea ul .feature_list-img {
  position: absolute;
  right: 20px;
  top: 20px;
  width: 110px;
  height: 110px;
  opacity: 0.15;
  z-index: 0;
}
.feature_section-content-listarea ul .feature_list-txt {
  position: relative;
  z-index: 1;
}

/* =========================================================
   FLOW（初診時の流れ）
   ========================================================= */
.flow_section {
  padding: 80px 0;
  background-color: var(--primary-400);
  color: #fff;
}
@media screen and (max-width: 767px) {
  .flow_section {
    padding: 60px 0;
  }
}
.flow_section-inner {
  max-width: var(--contents-width-padding);
  margin: 0 auto;
  display: flex;
  align-items: flex-start;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .flow_section-inner {
    display: block;
  }
}
.flow_section-btn {
  width: 280px;
  margin: 30px auto;
}
.flow_section .section_title {
  margin: 0 0 24px;
  display: flex;
}
.flow_section .section_title-en {
  display: block;
  font-size: var(--font-size--x6l);
  letter-spacing: var(--letter-spacing-md);
  margin-bottom: 6px;
  padding-right: 20px;
  margin-right: 20px;
  position: relative;
  color: #fff;
}
.flow_section .section_title-en:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 1px;
  height: 20px;
  background-color: var(--color-bg-light);
}
.flow_section .section_title-ja {
  display: block;
  font-size: var(--font-size--x6l);
  line-height: var(--line-height--sm);
  letter-spacing: var(--letter-spacing-sm);
}
@media screen and (max-width: 767px) {
  .flow_section .section_title-ja {
    font-size: var(--font-size--x5l);
  }
}
.flow_section-lead {
  font-size: var(--font-size--md);
  line-height: var(--line-height--md);
  margin: 0 0 28px;
}
@media screen and (max-width: 767px) {
  .flow_section-lead {
    margin-bottom: 20px;
  }
}
.flow_section-media {
  position: relative;
  border-radius: var(--radius-md);
}
.flow_section-media img {
  display: block;
  width: 100%;
  height: auto;
}
.flow_section-media-deco {
  position: absolute;
  right: -10px;
  bottom: -10px;
  width: 120px;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .flow_section-media-deco {
    width: 69px;
    position: absolute;
    bottom: -25px;
    left: 10px;
  }
}
.flow_section-media-deco img {
  display: block;
  width: 100%;
  height: auto;
}
.flow_section-btn {
  margin-top: 28px;
}
@media screen and (max-width: 767px) {
  .flow_section-btn {
    margin-top: 22px;
  }
}
.flow_section-steps {
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .flow_section-steps {
    margin-top: 50px;
  }
}

/* アコーディオン */
.flow_step-head {
  position: relative;
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 18px 52px 18px 20px;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  background-color: var(--color-bg-light);
  border-radius: 25px 0 0 0;
  grid-template-columns: 40px 1fr;
}
@media screen and (max-width: 767px) {
  .flow_step-head {
    padding: 20px 40px 20px 20px;
    gap: 12px;
  }
}
.flow_step-head:before,
.flow_step-head:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12px;
  width: 16px;
  height: 2px;
  background-color: var(--primary-500);
  transform: translateY(-50%);
  transition: transform var(--dur) var(--ease);
}
.flow_step-head:after {
  transform: translateY(-50%) rotate(90deg);
}
.flow_step-head.is-active:after {
  transform: translateY(-50%) rotate(0deg);
}
.flow_step:nth-of-type(n + 2) {
  margin-top: 10px;
}
.flow_step-num {
  font-size: var(--font-size--x2l);
  line-height: var(--line-height--none);
  letter-spacing: var(--letter-spacing-sm);
  color: var(--primary-500);
}
@media screen and (max-width: 767px) {
  .flow_step-num {
    font-size: var(--font-size--xl);
  }
}
.flow_step-title {
  font-size: var(--font-size--xl);
  line-height: var(--line-height--sm);
  font-weight: 600;
  color: #333;
}
@media screen and (max-width: 767px) {
  .flow_step-title {
    font-size: var(--font-size--lg);
  }
}
.flow_step-body {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  transition: max-height 0.45s var(--ease), padding 0.35s var(--ease), opacity 0.25s var(--ease);
}
@media screen and (max-width: 767px) {
  .flow_step-body {
    background-color: var(--primary-500);
  }
}
.flow_step-body-inner {
  font-size: var(--font-size--md);
  line-height: var(--line-height--md);
  padding: 16px 20px 20px;
}
.flow_step-head.is-active + .flow_step-body {
  max-height: 500px;
  padding-top: 2px;
  opacity: 1;
}

/* レイアウト比率（PC） */
.flow_section-head {
  width: 46%;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .flow_section-head {
    width: 100%;
  }
}
.flow_section-steps {
  width: 54%;
}
@media screen and (max-width: 767px) {
  .flow_section-steps {
    width: 100%;
  }
}

/* =========================================================
   FAQ よくある質問
   ========================================================= */
.faq_section {
  font-size: var(--font-size--md);
}
.faq_section-inner {
  padding-top: 60px;
  padding-bottom: 60px;
  max-width: var(--contents-width-padding);
  margin: 0 auto;
}
.faq_section-inner-title {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
  white-space: nowrap;
  text-align: left;
}
.faq_section-inner-title h3 {
  font-size: var(--font-size--x7l);
  padding-right: var(--contents-padding-side);
  margin-right: var(--contents-padding-side);
  position: relative;
}
.faq_section-inner-title h3:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 0;
  width: 1px;
  height: 20px;
  background-color: var(--gray-900);
}
.faq_section-inner-title span {
  font-size: var(--font-size--lg);
}
.faq_section-accordion .faq_item {
  border-bottom: 1px solid var(--gray-500);
}
.faq_section-accordion .faq_item-head {
  display: block;
  position: relative;
  padding: 20px 46px;
  cursor: pointer;
}
.faq_section-accordion .faq_item-head:before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  width: 16px;
  height: 2px;
  background-color: var(--primary-500);
}
.faq_section-accordion .faq_item-head:after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 16px;
  height: 2px;
  background-color: var(--primary-500);
  transform: translateY(-50%) rotate(90deg);
  transition: transform var(--dur) var(--ease);
}
.faq_section-accordion .faq_item-label {
  position: absolute;
  width: 36px;
  height: 36px;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  font-size: var(--font-size--x2l);
  color: var(--primary-500);
  font-family: var(--font-en);
  display: flex;
  align-items: center;
  justify-content: center;
}
.faq_section-accordion .faq_item-label:after {
  content: "";
  display: inline-block;
  width: 36px;
  height: 36px;
  background-color: currentColor;
  color: #fff;
  -webkit-mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.faq_section-accordion .faq_item-body {
  position: relative;
  padding: 0 46px 30px;
  overflow: hidden;
  transition: max-height var(--dur) var(--ease);
}
.faq_section-accordion .faq_item-txt .faq_item-label {
  color: #fff;
  top: 0;
  transform: translateY(0);
}
.faq_section-accordion .faq_item-txt .faq_item-label:after {
  content: "";
  display: inline-block;
  width: 36px;
  height: 36px;
  background-color: currentColor;
  color: var(--primary-500);
  -webkit-mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
.faq_section-link {
  width: 280px;
  margin: 30px auto 0;
}

/* =========================================================
   RECRUIT 採用情報
   ========================================================= */
.recruit_section {
  background: var(--color-bg-light);
}
.recruit_section-inner {
  padding: 80px 0 100px;
  max-width: var(--contents-width-padding);
  margin: 0 auto;
}
@media screen and (max-width: 767px) {
  .recruit_section-inner {
    padding-bottom: 60px;
    padding-top: 60px;
  }
}
.recruit_section-inner-title {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  padding: 0 0 15px 22px;
  margin: 0 var(--contents-padding-side);
  position: relative;
  border-bottom: 1px solid var(--gray-500);
  line-height: var(--line-height--sm);
  font-weight: 500;
}
.recruit_section-inner-title:before {
  content: "";
  display: inline-block;
  width: 12px;
  height: 12px;
  background-color: currentColor;
  color: var(--primary-300);
  -webkit-mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  mask-image: url(data:image/svg+xml;utf8,%3Csvg%20viewBox%3D%220%200%2018%2018%22%20fill%3D%22none%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%3Cpath%20d%3D%22M17.778%206.80925C18.8755%2011.4119%2015.7838%2016.2027%2011.1616%2017.5944C6.5393%2018.9862%201.31116%2016.7091%200.211738%2012.0984C-0.887685%207.4877%202.42889%201.71179%207.04306%200.322479C11.6572%20-1.06684%2016.6805%202.20663%2017.778%206.80925Z%22%20fill%3D%22%2373BDD3%22%2F%3E%3C%2Fsvg%3E);
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  transition: all var(--dur) var(--ease);
  position: absolute;
  margin: 0;
  top: 5px;
  left: 0;
}
.recruit_section-inner-title h3 {
  margin: 0 15px 0 0;
  font-size: var(--font-size--lg);
}
.recruit_section-inner-title span {
  font-weight: 500;
  font-size: var(--font-size--sm);
}
.recruit_section-content {
  margin-top: 40px;
  display: flex;
  align-items: center;
  gap: 60px;
}
@media screen and (max-width: 767px) {
  .recruit_section-content {
    flex-direction: column-reverse;
    gap: 0;
    margin-top: 20px;
    padding: 0 var(--contents-padding-side);
  }
}
.recruit_section-content-txt {
  flex: 1;
  position: relative;
  font-size: var(--font-size--md);
}
.recruit_section-content-txt h4 {
  width: -moz-fit-content;
  width: fit-content;
  font-size: var(--font-size--x13l);
  text-transform: uppercase;
  margin: 0 auto 20px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .recruit_section-content-txt h4 {
    margin-top: 20px;
  }
}
.recruit_section-content-txt h4:before {
  content: "";
  position: absolute;
  top: 7px;
  left: -66px;
  width: 70px;
  aspect-ratio: 140/106;
  background: url(../img/ico_join01.png) no-repeat;
  background-size: contain;
}
.recruit_section-content-txt p {
  line-height: 2;
}
.recruit_section-content-img {
  flex: 1;
  overflow: hidden;
  border-radius: 0;
}
.recruit_section-content-img img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}
.recruit_section-link {
  width: 280px;
  margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
  .recruit_section-link {
    margin-top: 20px;
  }
}

/* btn_primary （flowセクション内ボタン） */
.btn_primary {
  text-align: center;
}
.btn_primary-link {
  display: inline-block;
}

/* =========================================================
   Swiper pagination dots カスタマイズ
   ========================================================= */
.swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: rgba(255,255,255,0.5);
  opacity: 1;
}
.swiper-pagination-bullet-active {
  background: #fff;
}

/* =========================================================
   c-head03 (ドクターセクション小見出し)
   ========================================================= */
.c-head03 {
  padding-left: 17px;
  margin: 0;
  position: relative;
  font-size: var(--font-size--md);
  line-height: 1.6;
  font-weight: 500;
}
.c-head03::before {
  content: "";
  display: inline-block;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--primary-500);
  position: absolute;
  left: 0;
  top: 7px;
}
@media screen and (min-width: 768px) {
  .c-head03 { padding-left: 23px; }
  .c-head03::before { width: 13px; height: 13px; }
}

/* btn_sns, link_text → common.css に移動済み */

/* トップページ: アクセスセクション padding-bottom（フッター重なり用） */
.access_section-inner {
  padding-bottom: 200px;
}
@media screen and (max-width: 767px) {
  .access_section-inner {
    padding-bottom: 60px;
  }
}

