@charset "UTF-8";
#news .p-news_head .list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #news .p-news_head .list {
    gap: 1rem;
    grid-template-columns: repeat(2, 1fr);
  }
}
#news .p-news_head .list_item a {
  width: 100%;
  height: 6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #3AA0E7;
  background-color: #fff;
  border-radius: 5.6rem;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #news .p-news_head .list_item a {
    height: 5rem;
  }
}
#news .p-news_head .list_item a.is-active {
  background-color: #3AA0E7;
  color: #fff;
}
#news .p-news_list {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  #news .p-news_list {
    margin-top: 6rem;
  }
}
#news .p-news_item {
  border-bottom: 1px solid #F0F0F0;
}
#news .p-news_item:last-child {
  border: none;
}
#news .p-news_item a {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.2rem 0;
  padding: 4rem 0;
}
@media screen and (max-width: 767px) {
  #news .p-news_item a {
    flex-direction: column;
    gap: 0.8rem;
    align-items: flex-start;
    padding: 2.5rem 0;
  }
}
@media screen and (min-width: 768px) {
  #news .p-news_item a:hover .p-news_item_date, #news .p-news_item a:hover .p-news_item_link {
    color: #3AA0E7;
  }
  #news .p-news_item a:hover .p-news_item_badge {
    background-color: #3AA0E7;
    color: #fff;
  }
}
#news .p-news_item a .c-arrow-btn {
  flex: none;
  margin-left: 2rem;
}
@media screen and (max-width: 767px) {
  #news .p-news_item a .c-arrow-btn {
    margin-top: 1rem;
    margin-left: auto;
  }
}
#news .p-news_item_info {
  display: flex;
  align-items: center;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  #news .p-news_item_info {
    border: none;
  }
}
#news .p-news_item_date {
  font-family: "Inter", sans-serif;
  font-size: 1.8rem;
  color: #6F7073;
  width: 14rem;
  letter-spacing: 0.1em;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  #news .p-news_item_date {
    border-right: none;
    padding-right: 0;
    font-size: 1.1rem;
    width: 8rem;
  }
}
#news .p-news_item_badge {
  width: 20rem;
  height: 2.6rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #3AA0E7;
  border-radius: 4.2rem;
  color: #fff;
  transition: 0.3s;
  margin-right: 4.2rem;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  #news .p-news_item_badge {
    width: 12rem;
    height: 2rem;
    font-size: 1rem;
  }
}
#news .p-news_item_link {
  flex: 1;
  font-size: 1.8rem;
  text-decoration: underline;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  line-height: 1.8;
  transition: 0.3s;
}
@media screen and (max-width: 767px) {
  #news .p-news_item_link {
    font-size: 1.3rem;
  }
}
#news {
  /* お知らせ詳細
  ---------------------------------------------------------------------------- */
}
#news .p-news-detail .p-news_item_info {
  display: flex;
  align-items: center;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .p-news_item_info {
    gap: 0;
  }
}
#news .p-news-detail .p-news_item_badge {
  width: auto;
  height: 4.5rem;
  margin-right: 0;
  padding: 0 3rem;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .p-news_item_badge {
    height: 3.2rem;
    padding: 0 1.6rem;
    font-size: 1.2rem;
    margin-right: 2rem;
  }
}
#news .p-news-detail .p-news_item_date {
  width: auto;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .p-news_item_date {
    width: auto;
  }
}
#news .p-news-detail .ttl {
  margin-top: 2rem;
  font-size: 3.4rem;
  font-weight: 500;
  line-height: 1.5;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .ttl {
    font-size: 2.2rem;
  }
}
#news .p-news-detail .img {
  margin-top: 3rem;
  border-radius: 1rem;
  overflow: hidden;
}
#news .p-news-detail .img img {
  width: 100%;
  height: auto;
  display: block;
}
#news .p-news-detail .content {
  margin-top: 4rem;
  font-size: 1.6rem;
  line-height: 1.9;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .content {
    font-size: 1.4rem;
  }
}
#news .p-news-detail .content p {
  margin-top: 1.6em;
}
#news .p-news-detail .content p:first-child {
  margin-top: 0;
}
#news .p-news-detail .content img {
  max-width: 100%;
  height: auto;
  display: block;
}
#news .p-news-detail .content a {
  text-decoration: underline;
  color: #3AA0E7;
}
#news .p-news-detail .content h2 {
  margin-top: 6rem;
  font-size: 2.8rem;
  font-weight: 500;
  line-height: 1.5;
  color: #3AA0E7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .content h2 {
    margin-top: 4rem;
    font-size: 2rem;
  }
}
#news .p-news-detail .content h2:first-child {
  margin-top: 0;
}
#news .p-news-detail .content h3 {
  margin-top: 4rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #3AA0E7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .content h3 {
    margin-top: 3rem;
    font-size: 1.7rem;
  }
}
#news .p-news-detail .content h4 {
  margin-top: 4rem;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1.5;
  color: #6F7073;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .content h4 {
    margin-top: 3rem;
    font-size: 1.6rem;
  }
}
#news .p-news-detail .content ul,
#news .p-news-detail .content ol {
  margin-top: 1.6em;
}
#news .p-news-detail .content ul li {
  position: relative;
  padding-left: 1.6em;
  margin-top: 0.6em;
}
#news .p-news-detail .content ul li:first-child {
  margin-top: 0;
}
#news .p-news-detail .content ul li::before {
  content: "●";
  position: absolute;
  left: 0;
  color: #3AA0E7;
}
#news .p-news-detail .content ol {
  padding-left: 1.6em;
}
#news .p-news-detail .content ol li {
  list-style-type: decimal;
  margin-top: 0.6em;
  padding-left: 0.4em;
}
#news .p-news-detail .content ol li:first-child {
  margin-top: 0;
}
#news .p-news-detail .content figure {
  margin-top: 1.6em;
}
#news .p-news-detail .content figure:first-child {
  margin-top: 0;
}
#news .p-news-detail .content figure img {
  border-radius: 1rem;
}
#news .p-news-detail .content figure figcaption {
  margin-top: 1rem;
  font-size: 1.4rem;
  line-height: 1.7;
}
#news .p-news-detail .content .wp-block-columns {
  display: flex;
  gap: 3rem;
  margin-top: 1.6em;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .content .wp-block-columns {
    flex-direction: column;
    gap: 1.6em;
  }
}
#news .p-news-detail .content .wp-block-column {
  flex: 1;
  min-width: 0;
}
#news .p-news-detail .content table {
  width: 100%;
  margin-top: 1.6em;
  border-collapse: collapse;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .content table {
    font-size: 1.3rem;
  }
}
#news .p-news-detail .content table th,
#news .p-news-detail .content table td {
  border: 1px solid #E2E2E2;
  padding: 1.5rem 2rem;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .content table th,
  #news .p-news-detail .content table td {
    padding: 1rem;
  }
}
#news .p-news-detail .content table th {
  background-color: rgba(238, 246, 251, 0.6);
  font-weight: 500;
  text-align: center;
}
#news .p-news-detail .content blockquote {
  margin-top: 1.6em;
  padding: 2rem;
  background-color: #F5F5F5;
  border-radius: 0.8rem;
}
#news .p-news-detail .content blockquote::before {
  content: "“";
  display: block;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 1;
  color: #333;
}
#news .p-news-detail .content blockquote p {
  margin-top: 0.4rem;
  font-size: 1.4rem;
  line-height: 1.5;
  color: #777;
}
#news .p-news-detail .content blockquote cite {
  display: block;
  margin-top: 0.8rem;
  font-size: 1.3rem;
  font-style: normal;
  color: #777;
}
#news .p-news-detail .content .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 1.5rem;
  margin-top: 1.6em;
  padding: 2.1rem 9.3rem 2.1rem 3rem;
  background: #FFFFFF;
  border: 1px solid #3AA0E7;
  border-radius: 5rem;
  color: #3AA0E7;
  font-size: 1.8rem;
  line-height: 1;
  text-decoration: none;
  position: relative;
}
@media screen and (min-width: 768px) {
  #news .p-news-detail .content .wp-block-button__link {
    transition: background-color 0.3s, color 0.3s;
    cursor: pointer;
  }
  #news .p-news-detail .content .wp-block-button__link:hover {
    background-color: #3AA0E7;
    color: #FFFFFF;
    opacity: 1;
  }
  #news .p-news-detail .content .wp-block-button__link:hover::after {
    background-color: #fff;
  }
}
#news .p-news-detail .content .wp-block-button__link::after {
  content: "";
  position: absolute;
  right: 2rem;
  top: 50%;
  transform: translateY(-50%);
  width: 1.7rem;
  height: 1.36rem;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/icon_arrow.svg);
  background-color: #3AA0E7;
}
#news .p-news-detail .content .wp-block-button__link:hover::after {
  background-color: #fff;
}
#news .p-news-detail .p-case-nav {
  margin: 8rem 12rem 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .p-case-nav {
    margin: 15rem 0 0;
    gap: 5rem;
    justify-content: center;
  }
}
#news .p-news-detail .p-case-nav .prev,
#news .p-news-detail .p-case-nav .next {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.8rem;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .p-case-nav .prev,
  #news .p-news-detail .p-case-nav .next {
    font-size: 1.4rem;
  }
}
#news .p-news-detail .p-case-nav .next {
  flex-direction: row-reverse;
  margin-left: auto;
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .p-case-nav .next {
    margin-left: 0;
  }
}
#news .p-news-detail .p-case-nav .back {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  #news .p-news-detail .p-case-nav .back {
    top: -9rem;
    width: 100%;
  }
}

#menu-detail {
  /* アンカータブナビ
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-tab-nav {
  margin-top: 6.5rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-tab-nav {
    margin-top: 3rem;
  }
}
#menu-detail .p-tab-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2rem 8.5rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-tab-nav ul {
    gap: 0;
  }
}
@media screen and (max-width: 767px) {
  #menu-detail .p-tab-nav li {
    width: 100%;
  }
}
#menu-detail .p-tab-nav a {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-tab-nav a {
    justify-content: space-between;
    width: 100%;
    font-size: 1.5rem;
    gap: 0.6rem;
    padding: 1rem 0;
    border-bottom: 1px solid #E7E7E7;
  }
}
#menu-detail .p-tab-nav a .c-arrow-btn.-down {
  width: 2.3rem;
  height: 2.3rem;
}
#menu-detail .p-tab-nav a .c-arrow-btn.-down::after {
  width: 1.4rem;
}
#menu-detail {
  /* リード文
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-lead {
  margin-top: 11.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-lead {
    margin-top: 6rem;
  }
}
#menu-detail {
  /* お悩みチェックリスト
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-worry {
  margin-top: 9.1rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-worry {
    margin-top: 5rem;
  }
}
#menu-detail .p-worry .ttl {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 7rem;
  background: #BCC7D0;
  border-radius: 1rem 1rem 0 0;
  color: #FFFFFF;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-worry .ttl {
    height: 5rem;
    font-size: 1.5rem;
    text-align: center;
  }
}
#menu-detail .p-worry .body {
  padding: 4.2rem 3rem 4.1rem;
  background: #EDF4F9;
  border-radius: 0 0 1rem 1rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-worry .body {
    padding: 2rem;
  }
}
#menu-detail .p-worry .list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem 4rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-worry .list {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
}
#menu-detail .p-worry .list.-col1 {
  grid-template-columns: 1fr;
  gap: 1.6rem;
}
#menu-detail .p-worry .list li {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 2.2rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-worry .list li {
    font-size: 1.4rem;
  }
}
#menu-detail .p-worry .check {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2rem;
  height: 3.2rem;
  border-radius: 50%;
  background: #BCC7D0;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-worry .check {
    width: 1.6rem;
    height: 1.6rem;
  }
}
#menu-detail .p-worry .check::after {
  content: "✓";
  color: #fff;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-worry .check::after {
    font-size: 1rem;
  }
}
#menu-detail .p-worry .note {
  margin-top: 3.1rem;
  text-align: center;
  color: #3AA0E7;
  font-size: 2.2rem;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-worry .note {
    margin-top: 1.5rem;
    text-align: left;
    font-size: 1.3rem;
  }
}
#menu-detail {
  /* 当グループの治療方針
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-policy {
  margin-top: 12.5rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-policy {
    margin-top: 6rem;
  }
}
#menu-detail .p-policy .list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-top: 6.5rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-policy .list {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 3rem;
  }
}
#menu-detail .p-policy .list.-col2 {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  #menu-detail .p-policy .list.-col2 {
    grid-template-columns: 1fr;
  }
}
#menu-detail .p-policy .list li {
  padding: 5rem 2.9rem;
  background: #FFFFFF;
  border: 1px solid #3AA0E7;
  border-radius: 1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-policy .list li {
    padding: 4rem 2rem;
  }
}
#menu-detail .p-policy .list .ttl {
  font-family: "Inter", sans-serif;
  font-size: 2.4rem;
  font-weight: 500;
  color: #3AA0E7;
  line-height: 1.5;
  letter-spacing: 0.1em;
  text-align: center;
  width: calc(100% + 4rem);
  margin-left: -2rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-policy .list .ttl {
    font-size: 2.4rem;
  }
}
#menu-detail .p-policy .list .txt {
  margin-top: 1.8rem;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-policy .list .txt {
    margin-top: 1.3rem;
  }
}
#menu-detail .p-policy .annotation {
  margin-top: 2.8rem;
  text-align: right;
  font-size: 1.1rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-policy .annotation {
    margin-top: 2rem;
    text-align: left;
    font-size: 1.1rem;
  }
}
#menu-detail {
  /* 3つの特徴
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-feature {
  margin-top: 13.9rem;
  padding: 16rem 0;
  background: #EEF6FB;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature {
    margin-top: 6rem;
    padding: 6rem 0;
  }
}
#menu-detail .p-feature .heading .ttl {
  text-align: center;
  font-size: 3.2rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .heading .ttl {
    font-size: 2rem;
  }
}
#menu-detail .p-feature .heading .lead {
  margin-top: 2rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .heading .lead {
    margin-top: 1.6rem;
    text-align: left;
    font-size: 1.3rem;
  }
}
#menu-detail .p-feature .list {
  margin-top: 8rem;
  display: flex;
  flex-direction: column;
  gap: 8rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .list {
    margin-top: 5rem;
    gap: 6rem;
  }
}
#menu-detail .p-feature .list > li {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .list > li {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
#menu-detail .p-feature .list > li.-reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .list > li.-reverse {
    flex-direction: column-reverse;
  }
}
#menu-detail .p-feature .txt {
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .txt.-order02 {
    order: 2;
  }
}
#menu-detail .p-feature .num {
  font-family: "Inter", sans-serif;
  font-weight: 700;
  font-size: 3.2rem;
  color: #3AA0E7;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .num {
    font-size: 3rem;
    line-height: 1.3;
  }
}
#menu-detail .p-feature .txt .ttl {
  margin-top: 0.7rem;
  font-size: 2.4rem;
  color: #3AA0E7;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .txt .ttl {
    margin-top: 0;
    font-size: 2rem;
  }
}
#menu-detail .p-feature .body {
  margin-top: 0.7rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .body {
    font-size: 1.4rem;
  }
}
#menu-detail .p-feature .img {
  width: 50rem;
  border-radius: 1rem 1rem 0 0;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .img {
    width: 100%;
  }
  #menu-detail .p-feature .img.-order02 {
    order: 2;
  }
}
#menu-detail .p-feature .img img {
  border-radius: 1rem;
}
#menu-detail .p-feature .img.-l {
  width: 58rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .img.-l {
    width: 100%;
  }
}
#menu-detail .p-feature .img.-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 29.4rem;
  background: #EEF6FB;
  border: 1px dashed #3AA0E7;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .img.-placeholder {
    height: 22rem;
  }
}
#menu-detail .p-feature .img.-placeholder p {
  font-size: 1.4rem;
  color: #6F7073;
  letter-spacing: 0.05em;
}
#menu-detail .p-feature .img-group {
  width: 58rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .img-group {
    width: 100%;
  }
}
#menu-detail .p-feature .img-group .img {
  width: auto;
}
#menu-detail .p-feature .img-group img {
  border-radius: 1rem;
  width: 100%;
}
#menu-detail .p-feature .plan-cards {
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2.7rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .plan-cards {
    order: 1;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
#menu-detail .p-feature .plan-cards .plan-card {
  background: #FFFFFF;
  border-radius: 0.5rem;
  text-align: center;
  padding: 4rem 3rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .plan-cards .plan-card {
    padding: 3rem 2rem 2rem;
  }
}
#menu-detail .p-feature .plan-cards .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 3.9rem;
  padding: 0 2rem;
  background: #3AA0E7;
  border-radius: 10rem;
  color: #FFFFFF;
  width: 35.6rem;
  text-align: center;
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .plan-cards .badge {
    width: 100%;
    height: 3rem;
    font-size: 1.2rem;
  }
}
#menu-detail .p-feature .plan-cards .ttl {
  margin-top: 1rem;
  font-size: 2.4rem;
  font-weight: 700;
  color: #3AA0E7;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .plan-cards .ttl {
    font-size: 1.8rem;
  }
}
#menu-detail .p-feature .plan-cards .ttl span {
  font-size: 1.6rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .plan-cards .ttl span {
    font-size: 1.3rem;
  }
}
#menu-detail .p-feature .plan-cards .txt {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .plan-cards .txt {
    font-size: 1.3rem;
  }
}
#menu-detail .p-feature .plan-cards .bullets {
  margin-top: 2rem;
  margin-left: 2rem;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .plan-cards .bullets {
    margin-left: 0;
  }
}
#menu-detail .p-feature .plan-cards .bullets li {
  position: relative;
  padding-left: 1.6rem;
  font-size: 1.6rem;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .plan-cards .bullets li {
    font-size: 1.3rem;
  }
}
#menu-detail .p-feature .plan-cards .bullets li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0.8rem;
  color: #3AA0E7;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .plan-cards .bullets li::before {
    top: 0.4rem;
  }
}
#menu-detail .p-feature .type-cards {
  margin-top: 10rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 7.5rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .type-cards {
    grid-template-columns: 1fr;
    gap: 5rem;
    margin-top: 3rem;
  }
}
#menu-detail .p-feature .type-cards::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  left: 50%;
  width: 3rem;
  height: 3rem;
  background: url(../img/common/icon_batu.svg) no-repeat center center/contain;
}
#menu-detail .p-feature .type-cards .type-card {
  padding: 3.8rem 3rem;
  background: #fff;
  border: 1px solid #3AA0E7;
  border-radius: 0.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .type-cards .type-card {
    padding: 3rem 2rem;
  }
}
#menu-detail .p-feature .type-cards .ttl {
  font-size: 2.4rem;
  font-weight: 700;
  color: #3AA0E7;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .type-cards .ttl {
    font-size: 1.8rem;
  }
}
#menu-detail .p-feature .type-cards .txt {
  margin-top: 1.3rem;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .type-cards .txt {
    font-size: 1.3rem;
  }
}
#menu-detail .p-feature .type-cards .bullets {
  margin-top: 2rem;
  margin-left: 5rem;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .type-cards .bullets {
    margin-left: 0;
  }
}
#menu-detail .p-feature .type-cards .bullets li {
  position: relative;
  padding-left: 1.6rem;
  font-size: 1.6rem;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .type-cards .bullets li {
    font-size: 1.3rem;
  }
}
#menu-detail .p-feature .type-cards .bullets li::before {
  content: "●";
  position: absolute;
  left: 0;
  top: 0.8rem;
  color: #3AA0E7;
  font-size: 1rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .type-cards .bullets li::before {
    top: 0.4rem;
  }
}
#menu-detail .p-feature .cards {
  margin-top: 6rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .cards {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 3rem;
  }
}
#menu-detail .p-feature .cards li {
  padding: 5rem 2.9rem;
  background: #FFFFFF;
  border: 1px solid #3AA0E7;
  border-radius: 1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .cards li {
    padding: 3rem 2rem;
  }
}
#menu-detail .p-feature .cards .ttl {
  font-size: 2.4rem;
  font-weight: 500;
  color: #3AA0E7;
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .cards .ttl {
    font-size: 1.8rem;
  }
}
#menu-detail .p-feature .cards .txt {
  margin-top: 1.8rem;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .cards .txt {
    font-size: 1.3rem;
  }
}
#menu-detail .p-feature .combo-label {
  margin-top: 1rem;
  font-size: 1.4rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
}
#menu-detail .p-feature .combo-box {
  margin: 1rem auto 0;
  max-width: 57rem;
  display: flex;
  background: #FFFFFF;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .combo-box {
    flex-direction: column;
  }
}
#menu-detail .p-feature .combo-box li {
  flex: 1;
  padding: 2rem 1rem;
  text-align: center;
  position: relative;
}
#menu-detail .p-feature .combo-box li::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  width: 1px;
  height: 8.8rem;
  background-color: #B0B5BA;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .combo-box li::before {
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: calc(100% - 3rem);
    height: 1px;
  }
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .combo-box li {
    border-left: none;
  }
}
#menu-detail .p-feature .combo-box li:first-child::before {
  content: none;
}
#menu-detail .p-feature .combo-box .ttl {
  font-size: 1.6rem;
  font-weight: 700;
  text-align: center;
  color: #6F7073;
  margin-top: 0;
}
#menu-detail .p-feature .combo-box .txt {
  font-size: 1.4rem;
  line-height: 1.6;
  text-align: center;
  font-weight: 400;
}
#menu-detail .p-feature .compare {
  margin-top: 5rem;
  display: flex;
  align-items: flex-start;
  gap: 8rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .compare {
    margin-top: 4rem;
    flex-direction: column;
    gap: 4rem;
  }
}
#menu-detail .p-feature .compare_txt {
  flex: 1;
  min-width: 0;
}
#menu-detail .p-feature .compare_txt .ttl {
  font-size: 2.4rem;
  color: #6F7073;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .compare_txt .ttl {
    font-size: 1.8rem;
  }
}
#menu-detail .p-feature .compare_txt .body {
  margin-top: 2rem;
}
#menu-detail .p-feature .compare_txt .body strong {
  font-weight: 700;
  color: #3AA0E7;
}
#menu-detail .p-feature .compare_chart {
  flex: none;
  width: 47rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .compare_chart {
    width: 100%;
  }
}
#menu-detail .p-feature .compare .chart_card {
  padding: 1.9rem 2.7rem 3rem;
  background: #FFFFFF;
  border-radius: 1rem;
}
#menu-detail .p-feature .compare .chart_ttl {
  font-size: 2.2rem;
  color: #6F7073;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .compare .chart_ttl {
    font-size: 1.6rem;
  }
}
#menu-detail .p-feature .compare .chart_data {
  margin-top: 0.7rem;
}
#menu-detail .p-feature .compare .chart_data .row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  padding: 1.3rem 0;
}
#menu-detail .p-feature .compare .chart_data .row:not(:last-child) {
  border-bottom: 1px solid rgba(58, 160, 231, 0.3);
}
#menu-detail .p-feature .compare .chart_data .row dt {
  flex: none;
  font-weight: 700;
  font-size: 1.6rem;
}
#menu-detail .p-feature .compare .chart_data .row dd {
  font-size: 1.6rem;
}
#menu-detail .p-feature .compare .chart_data .row dd .num {
  font-size: 2.4rem;
  color: #6F7073;
}
#menu-detail .p-feature .compare .chart_data .row dd .num.u-key {
  color: #3AA0E7;
}
#menu-detail .p-feature .compare .chart_note {
  margin-top: 1rem;
  padding: 1.1rem 2rem;
  background: #3AA0E7;
  border-radius: 0.5rem;
  color: #FFFFFF;
  font-size: 1.6rem;
  line-height: 1.8;
}
#menu-detail .p-feature .compare .chart_source {
  margin-top: 1.2rem;
  font-size: 1.2rem;
  color: #6F7073;
}
#menu-detail .p-feature .compare_note {
  margin-top: 6rem;
  text-align: center;
  color: #3AA0E7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .compare_note {
    margin-top: 3rem;
  }
}
#menu-detail .p-feature .compare_note .sm, #menu-detail .p-feature .compare_note .lg {
  display: block;
}
#menu-detail .p-feature .compare_note .sm {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .compare_note .sm {
    font-size: 1.4rem;
  }
}
#menu-detail .p-feature .compare_note .lg {
  margin-top: 0.5rem;
  font-size: 2.7rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .compare_note .lg {
    font-size: 1.8rem;
  }
}
#menu-detail .p-feature .compare_btn {
  display: flex;
  justify-content: center;
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .compare_btn {
    margin-top: 3rem;
  }
}
#menu-detail .p-feature .c-secttl {
  margin-top: 10rem;
}
#menu-detail .p-feature .approach {
  margin-top: 6.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .approach {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 3rem;
  }
}
#menu-detail .p-feature .approach li {
  background: #FFFFFF;
  border-radius: 1rem;
  overflow: hidden;
}
#menu-detail .p-feature .approach .img {
  width: 100%;
}
#menu-detail .p-feature .approach .img img {
  width: 100%;
  aspect-ratio: 38/20;
  object-fit: cover;
}
#menu-detail .p-feature .approach .body {
  padding: 2rem 3rem 3rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .approach .body {
    padding: 2rem;
  }
}
#menu-detail .p-feature .approach .ttl {
  font-size: 2.4rem;
  color: #3AA0E7;
  text-align: center;
}
#menu-detail .p-feature .approach .txt {
  margin-top: 0.3rem;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: left;
}
#menu-detail .p-feature .approach .badge {
  display: inline-flex;
  align-items: center;
  margin-top: 2rem;
  padding: 0.2rem 0.9rem;
  background: #9FA0A0;
  border-radius: 0.5rem;
  color: #FFFFFF;
  font-size: 1.3rem;
  letter-spacing: 0.1em;
}
#menu-detail .p-feature .approach .notes {
  margin-top: 1rem;
}
#menu-detail .p-feature .approach .notes li {
  background: none;
  font-size: 1.6rem;
  line-height: 1.8;
}
#menu-detail .p-feature .program {
  margin-top: 8rem;
  padding: 4rem 14rem 4rem 6.4rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3.6rem;
  border-radius: 1rem;
  background: url(../img/ceramic/img_program_bg.png) no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .program {
    margin-top: 3rem;
    padding: 3rem 2rem;
    display: block;
  }
}
#menu-detail .p-feature .program .ttl {
  font-size: 3.2rem;
  font-weight: 700;
  color: #FFFFFF;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-feature .program .ttl {
    font-size: 1.8rem;
  }
}
#menu-detail .p-feature .program .txt {
  margin-top: 1.2rem;
  line-height: 1.8;
  color: #FFFFFF;
}
#menu-detail {
  /* 抜歯即時埋入／All-on-4
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-treatment {
  margin-top: 15rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment {
    margin-top: 6rem;
  }
}
#menu-detail .p-treatment.-implant .l-wrap {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment.-implant .l-wrap {
    display: block;
  }
}
#menu-detail .p-treatment.-implant .heading {
  width: 78rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment.-implant .heading {
    width: 100%;
  }
}
#menu-detail .p-treatment.-implant .c-secttl02 {
  align-items: flex-start;
}
#menu-detail .p-treatment.-implant .img {
  width: 32rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment.-implant .img {
    width: 20rem;
    margin: 3rem auto 0;
  }
}
#menu-detail .p-treatment .heading .sub {
  font-size: 2.4rem;
  color: #6F7073;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .heading .sub {
    font-size: 1.5rem;
  }
}
#menu-detail .p-treatment .heading .ttl {
  margin-top: 1.5rem;
  font-size: 4rem;
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .heading .ttl {
    margin-top: 1rem;
    font-size: 2.2rem;
  }
}
#menu-detail .p-treatment .heading .lead {
  margin-top: 4rem;
  font-size: 1.6rem;
  line-height: 1.9;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .heading .lead {
    margin-top: 2rem;
    font-size: 1.3rem;
    text-align: left;
  }
}
#menu-detail .p-treatment .box {
  margin-top: 12.3rem;
  padding: 8.9rem 14rem 6rem;
  background: #F8FCFF;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .box {
    margin-top: 6rem;
    padding: 6rem 2rem;
  }
}
#menu-detail .p-treatment .box.-mt {
  margin-top: 16rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .box.-mt {
    margin-top: 5rem;
  }
}
#menu-detail .p-treatment .box .img-box {
  margin: 4rem auto;
  max-width: 84rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .box .img-box {
    gap: 2rem;
    margin: 3rem auto;
  }
}
#menu-detail .p-treatment .box .ttl {
  font-family: "Inter", sans-serif;
  font-size: 3.2rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
  line-height: 1.9;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .box .ttl {
    font-size: 2rem;
  }
}
#menu-detail .p-treatment .box .lead {
  margin-top: 1rem;
  font-size: 1.6rem;
  line-height: 1.9;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .box .lead {
    font-size: 1.3rem;
    text-align: left;
  }
}
#menu-detail .p-treatment .box .sub {
  margin-top: 2.4rem;
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .box .sub {
    margin-top: 2rem;
    font-size: 1.6rem;
  }
}
#menu-detail .p-treatment .steps {
  margin-top: 2.3rem;
  text-align: left;
}
#menu-detail .p-treatment .steps li {
  display: flex;
  align-items: center;
  gap: 3.6rem;
  padding: 2.5rem 0;
  border-top: 1px solid rgba(58, 160, 231, 0.3);
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .steps li {
    align-items: flex-start;
    gap: 1rem;
    padding: 1.6rem 0;
  }
}
#menu-detail .p-treatment .steps li:last-child {
  border-bottom: 1px solid rgba(58, 160, 231, 0.3);
}
#menu-detail .p-treatment .steps .num {
  flex: none;
  width: 6rem;
  text-align: center;
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 3.2rem;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .steps .num {
    line-height: 1.4;
    width: 3rem;
    font-size: 1.8rem;
  }
}
#menu-detail .p-treatment .steps .txt {
  flex: 1;
  min-width: 0;
}
#menu-detail .p-treatment .steps .txt .ttl {
  font-size: 2.4rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
  line-height: 1.9;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .steps .txt .ttl {
    line-height: 1.5;
    font-size: 1.8rem;
  }
}
#menu-detail .p-treatment .steps .txt .body {
  font-size: 1.6rem;
  line-height: 1.9;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .steps .txt .body {
    font-size: 1.2rem;
    margin-left: -4rem;
  }
}
#menu-detail .p-treatment .c-btn_link {
  margin-top: 4.4rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .c-btn_link {
    margin-top: 3rem;
  }
}
#menu-detail .p-treatment .intro {
  margin-top: 6rem;
  display: flex;
  align-items: center;
  gap: 6rem;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .intro {
    flex-direction: column;
    margin-top: 3rem;
    gap: 2rem;
  }
}
#menu-detail .p-treatment .intro .txt {
  flex: 1;
  min-width: 0;
  font-size: 1.6rem;
  line-height: 1.9;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .intro .txt {
    font-size: 1.3rem;
  }
}
#menu-detail .p-treatment .intro .img {
  flex: none;
  width: 32.7rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .intro .img {
    width: 100%;
    max-width: 32.7rem;
  }
}
#menu-detail .p-treatment .intro .img img {
  width: 100%;
  height: auto;
  display: block;
}
#menu-detail .p-treatment .cards {
  margin-top: 10rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .cards {
    margin-top: 5rem;
  }
}
#menu-detail .p-treatment .cards_ttl {
  text-align: center;
  font-size: 2.4rem;
  color: #6F7073;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .cards_ttl {
    font-size: 1.8rem;
  }
}
#menu-detail .p-treatment .cards .list {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .cards .list {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 3rem;
  }
}
#menu-detail .p-treatment .cards .list li {
  padding: 5rem 2.9rem;
  background: #FFFFFF;
  border: 1px solid #3AA0E7;
  border-radius: 1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .cards .list li {
    padding: 3rem 2rem;
  }
}
#menu-detail .p-treatment .cards .list .ttl {
  font-size: 2.4rem;
  font-weight: 500;
  color: #3AA0E7;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .cards .list .ttl {
    font-size: 1.8rem;
  }
}
#menu-detail .p-treatment .cards .list .txt {
  margin-top: 1.8rem;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-treatment .cards .list .txt {
    font-size: 1.3rem;
  }
}
#menu-detail {
  /* 治療の流れ例
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-flow {
  margin-top: 15rem;
  padding: 16rem 0;
  background: #FBFBFB;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow {
    margin-top: 6rem;
    padding: 6rem 0;
  }
}
#menu-detail .p-flow.-mt0 {
  margin-top: 0;
}
#menu-detail .p-flow .list {
  margin-top: 5.4rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .list {
    margin-top: 3rem;
  }
}
#menu-detail .p-flow .list.-wrap li {
  flex-wrap: wrap;
}
#menu-detail .p-flow .list.-wrap li .txt {
  width: 100%;
  padding-left: 4rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .list.-wrap li .txt {
    padding-left: 0;
  }
}
#menu-detail .p-flow .list li {
  display: flex;
  align-items: center;
  padding: 1.4rem 1rem;
  border-top: 1px solid #E6E6E6;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .list li {
    flex-wrap: wrap;
    padding: 1.6rem 0;
  }
}
#menu-detail .p-flow .list li:last-child {
  border-bottom: 1px solid #E6E6E6;
}
#menu-detail .p-flow .list li.-nowrap {
  flex-wrap: nowrap;
}
#menu-detail .p-flow .list .num {
  flex: none;
  font-family: "Inter", sans-serif;
  font-size: 2.8rem;
  width: 4rem;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .list .num {
    font-size: 2rem;
    width: 3rem;
    padding-left: 0.5rem;
  }
}
#menu-detail .p-flow .list .badge {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 9.7rem;
  height: 2.8rem;
  padding: 0 1.4rem;
  background: #3AA0E7;
  border-radius: 4.2rem;
  color: #FFFFFF;
  font-size: 1.6rem;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .list .badge {
    min-width: 6.4rem;
    min-width: 6rem;
    height: 2.2rem;
    font-size: 1.1rem;
    margin-right: 1.2rem;
  }
}
#menu-detail .p-flow .list li .ttl {
  flex: none;
  font-weight: 500;
  font-size: 2.2rem;
  color: #3AA0E7;
  margin-right: 2rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .list li .ttl {
    font-size: 1.4rem;
    flex: 1;
  }
}
#menu-detail .p-flow .list .txt {
  font-size: 1.6rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .list .txt {
    font-size: 1.2rem;
    width: 100%;
  }
  #menu-detail .p-flow .list .txt.-sp-auto {
    width: auto;
  }
}
#menu-detail .p-flow .list .txt.-l {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .list .txt.-l {
    font-size: 1.4rem;
  }
}
#menu-detail .p-flow .note {
  margin-top: 3rem;
  text-align: center;
  font-size: 1.4rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .note {
    margin-top: 2rem;
    font-size: 1.1rem;
  }
}
#menu-detail .p-flow .note.-left {
  text-align: left;
}
#menu-detail .p-flow .note.-l {
  font-size: 1.8rem;
}
#menu-detail .p-flow .stage-group {
  margin-top: 5.4rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .stage-group {
    margin-top: 3rem;
  }
}
#menu-detail .p-flow .stage-group:last-child {
  margin-top: 9rem;
  position: relative;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .stage-group:last-child {
    margin-top: 6rem;
  }
}
#menu-detail .p-flow .stage-group:last-child::before {
  content: "";
  position: absolute;
  top: -6rem;
  transform: translateX(-50%);
  left: 50%;
  width: 3.2rem;
  height: 3.2rem;
  background: url(../img/common/icon_arrow_bottom_02.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .stage-group:last-child::before {
    top: -4.5rem;
    width: 2.4rem;
    height: 2.4rem;
  }
}
#menu-detail .p-flow .stage {
  padding: 1.1rem 0;
  background: #3AA0E7;
  border-radius: 1rem;
  color: #FFFFFF;
  text-align: center;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .stage {
    font-size: 1.3rem;
    padding: 0.7rem 0;
  }
}
#menu-detail .p-flow .steps {
  margin: 1rem 6rem 0rem 10rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .steps {
    margin: 1rem;
  }
}
#menu-detail .p-flow .steps li {
  margin-top: 1rem;
  display: flex;
  align-items: baseline;
  gap: 1rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .steps li {
    flex-direction: column;
    gap: 0.4rem;
  }
}
#menu-detail .p-flow .steps .ttl {
  flex: none;
  width: 22rem;
  font-size: 2.2rem;
  font-weight: 500;
  color: #3AA0E7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-flow .steps .ttl {
    width: 100%;
    font-size: 1.7rem;
  }
}
#menu-detail {
  /* 治療費用の目安
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-price {
  margin-top: 16rem;
  padding-bottom: 21rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price {
    margin-top: 6rem;
    padding-bottom: 8rem;
  }
}
#menu-detail .p-price .table {
  width: 100%;
  margin-top: 3rem;
  border-collapse: collapse;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .table {
    margin-top: 2rem;
  }
}
#menu-detail .p-price .table tr {
  display: flex;
  align-items: center;
  border-top: 1px solid #E6E6E6;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .table tr {
    flex-direction: column;
    align-items: flex-start;
  }
}
#menu-detail .p-price .table tr:last-child {
  border-bottom: 1px solid #E6E6E6;
}
#menu-detail .p-price .table th {
  padding: 2.8rem 1.3rem;
  text-align: left;
  font-weight: 500;
  font-size: 2.2rem;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .table th {
    padding: 1.6rem 0 0;
    font-size: 1.4rem;
  }
}
#menu-detail .p-price .table td {
  padding: 2.8rem 1.3rem;
  text-align: right;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .table td {
    padding: 0 0 1.6rem;
    font-size: 1.3rem;
  }
}
#menu-detail .p-price .table td span {
  font-size: 1.2rem;
  margin-left: 6.6rem;
}
#menu-detail .p-price .row {
  margin: 3rem 5rem 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 5rem;
  padding: 2.8rem 1.3rem;
  border-top: 1px solid #E6E6E6;
  border-bottom: 1px solid #E6E6E6;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .row {
    margin: 2rem 0 0;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.2rem;
    padding: 1.6rem 0;
  }
}
#menu-detail .p-price .row .item {
  display: flex;
  align-items: baseline;
  gap: 1.5rem;
  font-size: 2rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .row .item {
    font-size: 1.4rem;
    flex-wrap: wrap;
    gap: 0.5rem 1.5rem;
  }
}
#menu-detail .p-price .row .item strong {
  font-weight: 700;
  color: #3AA0E7;
}
#menu-detail .p-price .row .item sup {
  font-size: 0.6em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .row .item sup {
    font-size: 0.7em;
  }
}
#menu-detail .p-price .row .note {
  margin: 0 0 0 auto;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .row .note {
    margin-left: 0;
  }
}
#menu-detail .p-price .row-group-ttl {
  margin-top: 3rem;
  font-size: 1.8rem;
  font-weight: 700;
  margin-left: 5rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .row-group-ttl {
    margin-left: 0;
    margin-top: 2rem;
    font-size: 1.4rem;
  }
}
#menu-detail .p-price .row-group-ttl + .row {
  margin-top: 1.2rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .row-group-ttl + .row {
    margin-top: 1rem;
  }
}
#menu-detail .p-price .note {
  margin-top: 1.5rem;
  text-align: right;
  font-size: 1.2rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .note {
    text-align: left;
    font-size: 1rem;
  }
}
#menu-detail .p-price .note.-left {
  text-align: left;
  margin-left: 5rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .note.-left {
    margin-left: 0;
  }
}
#menu-detail .p-price .lead {
  margin-top: 10rem;
  background-color: #FCFEFF;
  border: 1px solid #E2E7EB;
  padding: 2.6rem;
  border-radius: 1rem;
  text-align: center;
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .lead {
    margin-top: 8rem;
    font-size: 1.6rem;
    padding: 2.5rem 1.5rem;
  }
}
#menu-detail .p-price .c-btn_link {
  display: flex;
  margin: 8.7rem auto 0;
  width: 53rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .c-btn_link {
    margin-top: 3rem;
    width: 26rem;
  }
  #menu-detail .p-price .c-btn_link::after {
    right: 2rem;
  }
}
#menu-detail .p-price dl {
  margin-top: 16rem;
  padding: 9.8rem 7rem;
  background: #FBFBFB;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price dl {
    margin-top: 8rem;
    padding: 5rem 3rem;
  }
}
#menu-detail .p-price dl dt {
  font-weight: 700;
  font-size: 1.4rem;
}
#menu-detail .p-price dl dt:not(:first-child) {
  margin-top: 2.4rem;
}
#menu-detail .p-price dl dd {
  margin-top: 0.4rem;
  font-size: 1.4rem;
  line-height: 1.8;
}
#menu-detail .p-price .warranty {
  margin-top: 12rem;
  padding: 8rem 6rem;
  background: #FCFEFF;
  border: 1px solid #E2E7EB;
  border-radius: 1rem;
  display: flex;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .warranty {
    margin-top: 6rem;
    flex-direction: column;
    padding: 3rem 2rem;
    gap: 2rem;
  }
}
#menu-detail .p-price .warranty .ttl {
  flex: none;
  width: 22.6rem;
  font-size: 2.4rem;
  line-height: 1.7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .warranty .ttl {
    width: 100%;
    font-size: 1.8rem;
  }
}
#menu-detail .p-price .warranty .body {
  flex: 1;
  min-width: 0;
  font-size: 1.6rem;
  line-height: 1.9;
  letter-spacing: 0.05em;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-price .warranty .body {
    font-size: 1.3rem;
  }
}
#menu-detail .p-price .warranty .body p {
  margin-top: 1.6rem;
}
#menu-detail .p-price .warranty .body p:first-child {
  margin-top: 0;
}
#menu-detail .p-price .warranty .body strong {
  font-weight: 700;
}
#menu-detail .p-price .warranty .body .note {
  margin-top: 1.6rem;
  font-size: 1.2rem;
  text-align: left;
}
#menu-detail {
  /* リスク・副作用等の注意文言
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-risk {
  margin-top: 16rem;
  padding: 8rem 0;
  background: #FBFBFB;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-risk {
    margin-top: 6rem;
    padding: 4rem 0;
  }
}
#menu-detail .p-risk dt {
  font-weight: 700;
  font-size: 1.4rem;
}
#menu-detail .p-risk dt:not(:first-child) {
  margin-top: 3rem;
}
#menu-detail .p-risk dd {
  margin-top: 0.4rem;
  font-size: 1.4rem;
  line-height: 1.8;
}
#menu-detail {
  /* よくあるご質問
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-faq {
  margin-top: 16rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-faq {
    margin-top: 6rem;
  }
}
#menu-detail .p-faq .list {
  margin-top: 3.4rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-faq .list {
    margin-top: 2rem;
  }
}
#menu-detail .p-faq .item {
  padding: 2rem 0;
  border-top: 1px solid #E6E6E6;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-faq .item {
    padding: 1.6rem 0;
  }
}
#menu-detail .p-faq .item:last-child {
  border-bottom: 1px solid #E6E6E6;
}
#menu-detail .p-faq dt {
  font-size: 2.4rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-faq dt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    font-size: 1.8rem;
    cursor: pointer;
  }
}
#menu-detail .p-faq .icon {
  display: none;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-faq .icon {
    display: block;
    flex: none;
    position: relative;
    width: 1.8rem;
    height: 1.8rem;
  }
  #menu-detail .p-faq .icon::before, #menu-detail .p-faq .icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: #3AA0E7;
    transform: translate(-50%, -50%);
    transition: transform 0.2s, opacity 0.2s;
  }
  #menu-detail .p-faq .icon::before {
    width: 100%;
    height: 2px;
  }
  #menu-detail .p-faq .icon::after {
    width: 2px;
    height: 100%;
  }
}
#menu-detail .p-faq dd {
  margin-top: 0.3rem;
  font-size: 1.6rem;
  line-height: 1.9;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-faq dd {
    margin-top: 0.6rem;
    font-size: 1.4rem;
    display: none;
  }
}
@media screen and (min-width: 768px) {
  #menu-detail .p-faq dd {
    display: block !important;
    height: auto !important;
  }
}
#menu-detail .p-faq .item.is-open .icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}
#menu-detail {
  /* その他の治療メニュー
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-other {
  margin-top: 20rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-other {
    margin-top: 10rem;
  }
}
#menu-detail .p-other .list {
  margin-top: 5.4rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-other .list {
    margin-top: 3rem;
    display: flex;
    gap: 1.5rem;
    overflow-x: auto;
    margin-left: -1.5rem;
    margin-right: -1.5rem;
    padding: 0 1.5rem 1rem;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  #menu-detail .p-other .list::-webkit-scrollbar {
    display: none;
  }
}
#menu-detail .p-other .card {
  display: block;
  position: relative;
  padding: 2rem 2rem 7rem;
  background: #EEF6FB;
  border-radius: 1rem;
  height: 100%;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-other .card {
    flex: none;
    width: 26rem;
    padding: 1.6rem 1.6rem 6rem;
    scroll-snap-align: start;
  }
}
#menu-detail .p-other .card.-current .img::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(100, 100, 100, 0.2);
}
#menu-detail .p-other .img {
  position: relative;
  border-radius: 0.5rem;
  overflow: hidden;
}
#menu-detail .p-other .img img {
  width: 100%;
  height: 14.8rem;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-other .img img {
    height: 12rem;
  }
}
#menu-detail .p-other .card .ttl {
  margin-top: 1.4rem;
  font-size: 1.8rem;
  color: #3AA0E7;
  line-height: 1.4;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-other .card .ttl {
    margin-top: 1rem;
    font-size: 1.4rem;
  }
}
#menu-detail .p-other .card .ttl.-s {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-other .card .ttl.-s {
    font-size: 1.4rem;
  }
}
#menu-detail .p-other .en {
  margin-top: 0.2rem;
  font-family: "Inter", sans-serif;
  font-size: 1.4rem;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-other .en {
    font-size: 1.1rem;
  }
}
#menu-detail .p-other .c-arrow-btn {
  position: absolute;
  bottom: 2rem;
  left: 2rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-other .c-arrow-btn {
    bottom: 1.4rem;
  }
}
#menu-detail {
  /* まずは治療後の安心を（プロソケア）
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-care-cta {
  margin-top: 7rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-cta {
    margin-top: 6rem;
  }
}
#menu-detail .p-care-cta .card {
  max-width: 62.8rem;
  margin: 3rem auto 0;
  padding: 3rem;
  text-align: center;
  background: #FFFFFF;
  border: 1px solid #3AA0E7;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-cta .card {
    margin-top: 3rem;
    padding: 3rem 2rem 2.4rem;
  }
}
#menu-detail .p-care-cta .card .ttl {
  font-family: "Inter", sans-serif;
  font-size: 2.4rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-cta .card .ttl {
    font-size: 1.8rem;
  }
}
#menu-detail .p-care-cta .card .price {
  margin-top: 0.5rem;
  text-align: center;
}
#menu-detail .p-care-cta .card .price .num {
  font-size: 1.8rem;
  font-weight: 500;
  color: #6F7073;
}
#menu-detail .p-care-cta .card .price .note {
  margin-left: 0.3rem;
  font-size: 1.2rem;
  color: #6F7073;
}
#menu-detail .p-care-cta .card .lead-note {
  margin-top: 0.8rem;
  font-size: 1.2rem;
  color: #6F7073;
}
#menu-detail .p-care-cta .card .badges {
  margin-top: 2rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1.6rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-cta .card .badges {
    flex-direction: column;
    gap: 1rem;
  }
}
#menu-detail .p-care-cta .card .badge {
  padding: 0.7rem 2rem;
  background: #EBF7FF;
  color: #3AA0E7;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  border-radius: 0.4rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-cta .card .badge {
    font-size: 1.4rem;
  }
}
#menu-detail {
  /* プロソケアという新しい考え方
  ---------------------------------------------------------------------------- */
}
#menu-detail .p-care-about {
  margin-top: 15rem;
  padding: 14rem 0;
  background: #EEF6FB;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about {
    margin-top: 7rem;
    padding: 5rem 0;
  }
}
#menu-detail .p-care-about .head {
  display: flex;
  align-items: center;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .head {
    flex-direction: column;
    gap: 2.5rem;
  }
}
#menu-detail .p-care-about .head_text {
  flex: 1;
  min-width: 0;
}
#menu-detail .p-care-about .head_text .ttl {
  font-size: 3.2rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .head_text .ttl {
    font-size: 2.2rem;
    text-align: center;
  }
}
#menu-detail .p-care-about .head_text .txt {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 1.9;
  letter-spacing: 0.05em;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .head_text .txt {
    margin-top: 1.5rem;
    font-size: 1.3rem;
  }
}
#menu-detail .p-care-about .photo {
  flex: none;
  width: 44rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .photo {
    width: 100%;
  }
}
#menu-detail .p-care-about .photo img {
  width: 100%;
  height: 30rem;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .photo img {
    height: 22rem;
  }
}
#menu-detail .p-care-about .features {
  margin-top: 9rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .features {
    margin-top: 5rem;
  }
}
#menu-detail .p-care-about .features_head {
  text-align: center;
}
#menu-detail .p-care-about .features_head .ttl {
  font-size: 2.4rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .features_head .ttl {
    font-size: 1.8rem;
  }
}
#menu-detail .p-care-about .features_head .sub {
  margin-top: 1.2rem;
  font-size: 1.8rem;
  color: #6F7073;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .features_head .sub {
    font-size: 1.3rem;
  }
}
#menu-detail .p-care-about .features_list {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .features_list {
    margin-top: 2.5rem;
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
#menu-detail .p-care-about .features_list .item {
  padding: 3rem;
  background: #FFFFFF;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .features_list .item {
    padding: 2rem 2rem 3rem;
  }
}
#menu-detail .p-care-about .features_list .num {
  font-family: "Inter", sans-serif;
  font-size: 4.6rem;
  font-weight: 500;
  line-height: 1.3;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .features_list .num {
    font-size: 3.2rem;
  }
}
#menu-detail .p-care-about .features_list .ttl {
  margin-top: 1rem;
  font-size: 2.2rem;
  color: #3AA0E7;
  letter-spacing: 0.02em;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .features_list .ttl {
    font-size: 1.8rem;
  }
}
#menu-detail .p-care-about .features_list .txt {
  margin-top: 1.2rem;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .features_list .txt {
    font-size: 1.3rem;
  }
}
#menu-detail .p-care-about .features_list .tags {
  margin-top: 1.8rem;
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
#menu-detail .p-care-about .features_list .tags span {
  display: block;
  line-height: 1.5;
  padding: 0.6rem 1.6rem;
  background: #3AA0E7;
  color: #FFFFFF;
  font-size: 1.4rem;
  border-radius: 10rem;
}
@media screen and (max-width: 767px) {
  #menu-detail .p-care-about .features_list .tags span {
    font-size: 1.2rem;
    padding: 0.5rem 1.2rem;
  }
}

#information {
  /* 医院情報（八丁堀本院／広島駅院 共通）
  ---------------------------------------------------------------------------- */
}
#information .p-clinic {
  margin-top: 16rem;
}
@media screen and (max-width: 767px) {
  #information .p-clinic {
    margin-top: 6rem;
  }
}
#information .p-clinic .name {
  font-size: 2.8rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .name {
    font-size: 2rem;
  }
}
#information .p-clinic .top {
  margin-top: 3.8rem;
  display: flex;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .top {
    margin-top: 2rem;
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
#information .p-clinic .info-box {
  flex: 1;
  padding-top: 4rem;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .info-box {
    padding-top: 0;
  }
}
#information .p-clinic .info-box .info {
  margin-top: 2rem;
}
#information .p-clinic .info-box .row {
  display: flex;
  gap: 1rem;
  margin-top: 1rem;
}
#information .p-clinic .info-box .row:first-child {
  margin-top: 0;
}
#information .p-clinic .info-box .row dt {
  flex: none;
  width: 8rem;
  font-weight: 700;
  font-size: 1.6rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .info-box .row dt {
    width: 7rem;
    font-size: 1.3rem;
  }
}
#information .p-clinic .info-box .row dd {
  font-size: 1.6rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .info-box .row dd {
    font-size: 1.3rem;
  }
}
#information .p-clinic .p-contact_schedule {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .p-contact_schedule {
    margin-top: 2rem;
  }
}
#information .p-clinic .top .img {
  flex: none;
  width: 56.8rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .top .img {
    width: 100%;
  }
}
#information .p-clinic .top .img img {
  width: 100%;
  height: 38.6rem;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .top .img img {
    height: 22rem;
  }
}
#information .p-clinic .map {
  margin-top: 7rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .map {
    margin-top: 3rem;
  }
}
#information .p-clinic .map iframe {
  width: 100%;
  height: 35.5rem;
  display: block;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .map iframe {
    height: 24rem;
  }
}
#information .p-clinic .access {
  margin-top: 4rem;
  display: flex;
  gap: 1.7rem;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .access {
    margin-top: 2rem;
    flex-direction: column;
    gap: 0.5rem;
  }
}
#information .p-clinic .access .label {
  flex: none;
  width: 8rem;
  font-weight: 700;
  font-size: 1.6rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .access .label {
    font-size: 1.3rem;
  }
}
#information .p-clinic .access .txt {
  font-size: 1.6rem;
  line-height: 1.7;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .access .txt {
    font-size: 1.2rem;
  }
}
#information .p-clinic .gallery {
  margin-top: 8rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .gallery {
    margin-top: 5rem;
  }
}
#information .p-clinic .gallery .ttl {
  font-size: 2.4rem;
  color: #6F7073;
  text-align: center;
  letter-spacing: 0.2em;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .gallery .ttl {
    font-size: 1.8rem;
  }
}
#information .p-clinic .gallery .lead {
  margin-top: 1.5rem;
  font-size: 1.6rem;
  text-align: center;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .gallery .lead {
    font-size: 1.3rem;
  }
}
#information .p-clinic .gallery .list {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 2rem;
  text-align: left;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .gallery .list {
    margin-top: 2.5rem;
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}
#information .p-clinic .gallery .list.-col2 {
  grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
  #information .p-clinic .gallery .list.-col2 {
    grid-template-columns: 1fr;
  }
}
#information .p-clinic .gallery .list .img {
  border-radius: 0.5rem;
  overflow: hidden;
}
#information .p-clinic .gallery .list .img img {
  width: 100%;
  object-fit: cover;
}
#information .p-clinic .gallery .list .img.-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 21.9rem;
  background: #EEF6FB;
  border: 1px dashed #3AA0E7;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .gallery .list .img.-placeholder {
    height: 20rem;
  }
}
#information .p-clinic .gallery .list .img.-placeholder p {
  font-size: 1.4rem;
  color: #6F7073;
}
#information .p-clinic .gallery .list .ttl {
  margin-top: 1.5rem;
  font-size: 1.8rem;
  color: #6F7073;
  text-align: left;
  letter-spacing: normal;
}
#information .p-clinic .gallery .list .txt {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.8;
  color: #6F7073;
  text-align: left;
}
#information .p-clinic .gallery .slider-wrap {
  text-align: left;
  margin: 2.8rem calc(50% - 50vw) 0 0;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .gallery .slider-wrap {
    margin-top: 2.5rem;
    padding-left: 1.5rem;
  }
}
#information .p-clinic .gallery .slider .slick-track {
  display: flex;
}
#information .p-clinic .gallery .slider .slick-list {
  padding-bottom: 1rem;
}
#information .p-clinic .gallery .slider .slick-slide {
  width: 36rem;
  margin-right: 2rem;
  height: auto;
}
@media screen and (max-width: 767px) {
  #information .p-clinic .gallery .slider .slick-slide {
    width: 26rem;
    margin-right: 1.5rem;
  }
}
#information .p-clinic .gallery .slide .img {
  border-radius: 0.5rem;
  overflow: hidden;
  aspect-ratio: 560/340;
}
#information .p-clinic .gallery .slide .img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#information .p-clinic .gallery .slide .img.-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #EEF6FB;
  border: 1px dashed #3AA0E7;
}
#information .p-clinic .gallery .slide .img.-placeholder p {
  font-size: 1.4rem;
  color: #6F7073;
}
#information .p-clinic .gallery .slide .ttl {
  margin-top: 1rem;
  font-size: 1.8rem;
  color: #6F7073;
  text-align: left;
  letter-spacing: normal;
}
#information .p-clinic .gallery .slide .txt {
  font-size: 1.4rem;
  line-height: 1.8;
  color: #6F7073;
  text-align: left;
}
#information {
  /* 関連ページ（当グループのご紹介／初めての方へ／医院情報・アクセス）
  ---------------------------------------------------------------------------- */
}
#information .p-related {
  margin-top: 20rem;
}
@media screen and (max-width: 767px) {
  #information .p-related {
    margin-top: 10rem;
  }
}
#information .p-related .list {
  margin-top: 6.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #information .p-related .list {
    margin-top: 3rem;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
#information .p-related .card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 26rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #information .p-related .card {
    height: 17rem;
  }
}
#information .p-related .card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#information .p-related .card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(236, 206, 238, 0.7), rgba(145, 189, 252, 0.7) 50%, rgba(127, 187, 255, 0.7));
}
#information .p-related .card p {
  position: relative;
  z-index: 1;
  color: #FFFFFF;
  font-size: 2.2rem;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #information .p-related .card p {
    font-size: 1.6rem;
  }
}

#privacy .p-section-main {
  padding: 11rem 0 16rem;
}
@media screen and (max-width: 767px) {
  #privacy .p-section-main {
    padding: 6rem 0;
  }
}
#privacy .p-section-main dl + .c-secttl {
  margin-top: 8rem;
}
@media screen and (max-width: 767px) {
  #privacy .p-section-main dl + .c-secttl {
    margin-top: 5rem;
  }
}
#privacy .p-section-main dl .item {
  margin-top: 2.8rem;
}
#privacy .p-section-main dl .item dt {
  font-weight: 700;
}
#privacy .p-section-main dl .item dd {
  margin-top: 1rem;
}
#privacy .p-section-main dl .item dd p + p {
  margin-top: 1.6rem;
}
#privacy .p-section-main dl .item dd ol, #privacy .p-section-main dl .item dd ul {
  margin-top: 1.6rem;
}
#privacy .p-section-main dl .item dd ol li, #privacy .p-section-main dl .item dd ul li {
  margin-top: 0.4rem;
}
#privacy .p-section-main dl .item dd ol li:first-child, #privacy .p-section-main dl .item dd ul li:first-child {
  margin-top: 0;
}
#privacy .p-section-main dl .item dd ul li {
  position: relative;
  padding-left: 1.4rem;
}
#privacy .p-section-main dl .item dd ul li::before {
  content: "・";
  position: absolute;
  left: 0;
}
#privacy .p-section-main dl .item dd a {
  color: #3AA0E7;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  #privacy .p-section-main dl .item dd a {
    transition: opacity 0.3s;
    cursor: pointer;
  }
  #privacy .p-section-main dl .item dd a:hover {
    opacity: 0.7;
  }
}
#privacy .p-section-main dl .item dd .sub {
  margin-top: 2.4rem;
}
#privacy .p-section-main dl .item dd .sub:first-child {
  margin-top: 0;
}
#privacy .p-section-main dl .item dd .sub .sub_ttl {
  font-weight: 700;
}

#about {
  /* リード文
  ---------------------------------------------------------------------------- */
}
#about .p-lead {
  margin-top: 11.5rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #about .p-lead {
    margin-top: 6rem;
  }
}
#about {
  /* 当グループの3つの強み
  ---------------------------------------------------------------------------- */
}
#about .p-strengths {
  margin-top: 15rem;
}
@media screen and (max-width: 767px) {
  #about .p-strengths {
    margin-top: 6rem;
  }
}
#about .p-strengths .list {
  margin-top: 4.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #about .p-strengths .list {
    margin-top: 3rem;
    grid-template-columns: 1fr;
    gap: 5rem;
  }
}
#about .p-strengths li {
  text-align: center;
}
#about .p-strengths .badge {
  padding-top: 1rem;
  width: 30rem;
  height: 30rem;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  border: 5px solid transparent;
  border-radius: 50%;
  background: linear-gradient(#FAFAFF, #FAFAFF) padding-box, linear-gradient(0deg, #ECCEEE 0%, #91BDFC 50%, #7FBBFF 100%) border-box;
}
@media screen and (max-width: 767px) {
  #about .p-strengths .badge {
    width: 22rem;
    height: 22rem;
    border-width: 3px;
  }
}
#about .p-strengths .badge .en {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 3.2rem;
  color: #3AA0E7;
  text-transform: uppercase;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #about .p-strengths .badge .en {
    font-size: 2.2rem;
  }
}
#about .p-strengths .badge .jp {
  margin-top: 0.8rem;
  font-family: "Inter", sans-serif;
  font-size: 1.9rem;
  color: #3AA0E7;
  letter-spacing: 0.3em;
}
@media screen and (max-width: 767px) {
  #about .p-strengths .badge .jp {
    font-size: 1.4rem;
  }
}
#about .p-strengths .card {
  margin: 5rem 3rem 0 4rem;
}
@media screen and (max-width: 767px) {
  #about .p-strengths .card {
    margin: 3rem 0 0;
  }
}
#about .p-strengths .card .ttl {
  font-size: 2.4rem;
  color: #3AA0E7;
  letter-spacing: 0.1em;
  text-align: center;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #about .p-strengths .card .ttl {
    font-size: 1.8rem;
  }
}
#about .p-strengths .card .txt {
  margin-top: 1.8rem;
  text-align: left;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #about .p-strengths .card .txt {
    font-size: 1.3rem;
  }
}
#about {
  /* デジタル機器／カウンセリング（画像+テキスト 交互）
  ---------------------------------------------------------------------------- */
}
#about .p-feature {
  margin-top: 15rem;
  padding: 16rem 0;
  background: #EEF6FB;
}
@media screen and (max-width: 767px) {
  #about .p-feature {
    margin-top: 6rem;
    padding: 6rem 0;
  }
}
#about .p-feature .list {
  display: flex;
  flex-direction: column;
  gap: 10rem;
}
@media screen and (max-width: 767px) {
  #about .p-feature .list {
    gap: 6rem;
  }
}
#about .p-feature .list li {
  display: flex;
  align-items: center;
  gap: 9rem;
}
@media screen and (max-width: 767px) {
  #about .p-feature .list li {
    flex-direction: column-reverse;
    gap: 2rem;
  }
}
#about .p-feature .list li.-reverse {
  flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
  #about .p-feature .list li.-reverse {
    flex-direction: column-reverse;
  }
}
#about .p-feature .txt {
  flex: 1;
  min-width: 0;
}
#about .p-feature .ttl {
  font-size: 3rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #about .p-feature .ttl {
    font-size: 2rem;
  }
}
#about .p-feature .lead {
  margin-top: 2.4rem;
  font-size: 2.4rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #about .p-feature .lead {
    font-size: 1.6rem;
    margin-top: 1rem;
  }
}
#about .p-feature .body {
  margin-top: 0.7rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #about .p-feature .body {
    font-size: 1.3rem;
  }
}
#about .p-feature .img {
  flex: none;
  width: 50rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #about .p-feature .img {
    width: 100%;
  }
}
#about .p-feature .img img {
  width: 100%;
  height: 29.4rem;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  #about .p-feature .img img {
    height: 22rem;
  }
}
#about {
  /* 衛生管理・感染対策について
  ---------------------------------------------------------------------------- */
}
#about .p-hygiene {
  margin-top: 16rem;
  padding-bottom: 14rem;
}
@media screen and (max-width: 767px) {
  #about .p-hygiene {
    margin-top: 6rem;
    padding-bottom: 8rem;
  }
}
#about .p-hygiene .list {
  margin-top: 6rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #about .p-hygiene .list {
    margin-top: 3rem;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
#about .p-hygiene .list li {
  display: flex;
  align-items: center;
  gap: 3rem;
  padding: 3rem;
  background: #F8FCFF;
  border: 1px solid #3AA0E7;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  #about .p-hygiene .list li {
    flex-direction: column;
    gap: 1rem;
    padding: 2rem;
    text-align: center;
  }
}
#about .p-hygiene .list .ttl {
  flex: none;
  width: 17rem;
  font-size: 2rem;
  color: #3AA0E7;
  text-align: center;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  #about .p-hygiene .list .ttl {
    width: 100%;
    font-size: 1.8rem;
  }
}
#about .p-hygiene .list .txt {
  flex: 1;
  min-width: 0;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #about .p-hygiene .list .txt {
    font-size: 1.3rem;
  }
}

#guide {
  /* リード文（専門家が連携し...）
  ---------------------------------------------------------------------------- */
}
#guide .p-lead {
  margin-top: 16rem;
}
@media screen and (max-width: 767px) {
  #guide .p-lead {
    margin-top: 6rem;
  }
}
#guide {
  /* 自由診療と保険診療の違い
  ---------------------------------------------------------------------------- */
}
#guide .p-difference {
  margin-top: 13.7rem;
  padding: 8.6rem 7.5rem;
  background: #F4FAFF;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  #guide .p-difference {
    margin-top: 6rem;
    padding: 6rem 0;
  }
}
#guide .p-difference .ttl {
  text-align: center;
  font-size: 2.4rem;
  color: #6F7073;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #guide .p-difference .ttl {
    font-size: 1.8rem;
  }
}
#guide .p-difference .intro {
  margin-top: 1.4rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #guide .p-difference .intro {
    margin-top: 1rem;
    font-size: 1.3rem;
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  #guide .p-difference .table-box {
    overflow-x: scroll;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #guide .p-difference .table-box::-webkit-scrollbar {
    display: none;
  }
}
#guide .p-difference .table {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  #guide .p-difference .table {
    margin-top: 2rem;
    width: 54rem;
  }
}
#guide .p-difference .table .row {
  display: flex;
  align-items: baseline;
  gap: 2rem;
  padding: 1.3rem 0;
  background-color: #fff;
  border-top: 1px solid rgba(58, 160, 231, 0.2);
}
@media screen and (max-width: 767px) {
  #guide .p-difference .table .row {
    align-items: center;
  }
}
#guide .p-difference .table .row:last-child {
  border-bottom: 1px solid rgba(58, 160, 231, 0.2);
}
#guide .p-difference .table .row.-header {
  border-top: none;
  background: transparent;
}
#guide .p-difference .table .row.-header .item {
  font-weight: 700;
}
@media screen and (max-width: 767px) {
  #guide .p-difference .table .row.-header .item {
    font-size: 1.3rem;
  }
}
#guide .p-difference .table .label {
  flex: none;
  width: 17rem;
  font-size: 1.9rem;
  color: #6F7073;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #guide .p-difference .table .label {
    width: 13rem;
    font-size: 1.3rem;
    font-weight: 700;
  }
}
#guide .p-difference .table .item {
  flex: 1;
  min-width: 0;
  font-size: 1.9rem;
  color: #6F7073;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #guide .p-difference .table .item {
    font-size: 1.3rem;
  }
}
#guide .p-difference .table .item.-key {
  color: #3AA0E7;
  flex: auto;
  width: 23rem;
}
@media screen and (max-width: 767px) {
  #guide .p-difference .table .item.-key {
    width: auto;
    flex: 1;
  }
}
#guide .p-difference .note {
  margin-top: 5rem;
  text-align: center;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #guide .p-difference .note {
    margin-top: 2rem;
    font-size: 1.3rem;
    text-align: left;
  }
}
#guide {
  /* プロソデンタルクリニックグループの3つの強み
  ---------------------------------------------------------------------------- */
}
#guide .p-merit {
  margin-top: 10.6rem;
}
@media screen and (max-width: 767px) {
  #guide .p-merit {
    margin-top: 5rem;
  }
}
#guide .p-merit .list {
  margin-top: 6.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #guide .p-merit .list {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 3rem;
  }
}
#guide .p-merit li {
  padding: 3rem 2.9rem;
  background: #FFFFFF;
  border: 1px solid #3AA0E7;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  #guide .p-merit li {
    padding: 3rem 2rem;
  }
}
#guide .p-merit .num {
  font-family: "Inter", sans-serif;
  font-weight: 500;
  font-size: 4.6rem;
  color: #3AA0E7;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #guide .p-merit .num {
    line-height: 1.4;
    font-size: 3.6rem;
  }
}
#guide .p-merit .ttl {
  margin-top: 1rem;
  font-size: 2.2rem;
  font-weight: 500;
  color: #3AA0E7;
  line-height: 1.5;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  #guide .p-merit .ttl {
    font-size: 1.8rem;
  }
}
#guide .p-merit .ttl span {
  font-size: 1.5rem;
}
#guide .p-merit .txt {
  margin-top: 1.8rem;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #guide .p-merit .txt {
    font-size: 1.3rem;
  }
}
#guide {
  /* 当グループから患者様へのお約束
  ---------------------------------------------------------------------------- */
}
#guide .p-promise {
  margin-top: 22rem;
  padding: 16rem 0;
  background: #EEF8FF;
}
@media screen and (max-width: 767px) {
  #guide .p-promise {
    margin-top: 10rem;
    padding: 6rem 0;
  }
}
@media screen and (max-width: 767px) {
  #guide .p-promise .c-secttl02_lead {
    font-size: 2.2rem;
  }
}
#guide .p-promise .list {
  margin-top: 6.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #guide .p-promise .list {
    margin-top: 3rem;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
#guide .p-promise li {
  background: #F7FCFF;
  border-radius: 1rem;
  overflow: hidden;
}
#guide .p-promise .img img {
  width: 100%;
  object-fit: cover;
  display: block;
}
#guide .p-promise .body {
  padding: 2.5rem 3rem 3.5rem;
}
@media screen and (max-width: 767px) {
  #guide .p-promise .body {
    padding: 2rem;
  }
}
#guide .p-promise .ttl {
  font-size: 2.2rem;
  font-weight: 500;
  color: #3AA0E7;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #guide .p-promise .ttl {
    font-size: 1.8rem;
  }
}
#guide .p-promise .txt {
  margin-top: 1.6rem;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #guide .p-promise .txt {
    font-size: 1.3rem;
  }
}
#guide {
  /* 歯のロストスパイラル
  ---------------------------------------------------------------------------- */
}
#guide .p-spiral-intro {
  margin-top: 16rem;
}
@media screen and (max-width: 767px) {
  #guide .p-spiral-intro {
    margin-top: 6rem;
  }
}
@media screen and (max-width: 767px) {
  #guide .p-spiral-intro .c-secttl02_lead {
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  #guide .p-spiral-intro .c-secttl02_ttl {
    font-size: 2rem;
  }
}
#guide .p-spiral {
  margin-top: 7.3rem;
}
@media screen and (max-width: 767px) {
  #guide .p-spiral {
    margin-top: 3rem;
  }
}
#guide .p-spiral .inner {
  border-radius: 1rem;
  background-color: #F8F8F8;
  padding: 4.8rem 6rem;
}
@media screen and (max-width: 767px) {
  #guide .p-spiral .inner {
    padding: 3rem 2rem;
  }
}
#guide .p-spiral .ttl {
  text-align: center;
  font-size: 2.2rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #guide .p-spiral .ttl {
    font-size: 1.6rem;
  }
}
#guide .p-spiral .img {
  margin-top: 3.8rem;
}
@media screen and (max-width: 767px) {
  #guide .p-spiral .img {
    margin-top: 2rem;
    overflow-x: auto;
    padding-bottom: 1rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #guide .p-spiral .img::-webkit-scrollbar {
    display: none;
  }
}
#guide .p-spiral .img img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #guide .p-spiral .img img {
    width: 76rem;
    max-width: none;
  }
}
#guide .p-spiral_scrollbar {
  display: none;
}
@media screen and (max-width: 767px) {
  #guide .p-spiral_scrollbar {
    display: block;
    margin-top: 0.4rem;
    width: 100%;
    height: 0.6rem;
    background: rgba(58, 160, 231, 0.15);
    border-radius: 10rem;
    overflow: hidden;
  }
}
#guide .p-spiral_scrollbar_thumb {
  height: 100%;
  background: #3AA0E7;
  border-radius: 10rem;
}
#guide {
  /* 再発を防ぎ、歯を守る治療プロセス
  ---------------------------------------------------------------------------- */
}
#guide .p-process {
  margin-top: 7.3rem;
}
@media screen and (max-width: 767px) {
  #guide .p-process {
    margin-top: 3rem;
  }
}
#guide .p-process .inner {
  border-radius: 1rem;
  background-color: #F7FEFF;
  padding: 4.8rem 8rem;
}
@media screen and (max-width: 767px) {
  #guide .p-process .inner {
    padding: 3rem 2rem;
  }
}
#guide .p-process .ttl {
  text-align: center;
  font-size: 2.2rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #guide .p-process .ttl {
    font-size: 1.6rem;
  }
}
#guide .p-process .img {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  #guide .p-process .img {
    margin-top: 2rem;
    overflow-x: auto;
    padding-bottom: 1rem;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  #guide .p-process .img::-webkit-scrollbar {
    display: none;
  }
}
#guide .p-process .img img {
  display: block;
  width: 100%;
}
@media screen and (max-width: 767px) {
  #guide .p-process .img img {
    width: 70rem;
    max-width: none;
  }
}
#guide .p-process_scrollbar {
  display: none;
}
@media screen and (max-width: 767px) {
  #guide .p-process_scrollbar {
    display: block;
    margin-top: 0.4rem;
    width: 100%;
    height: 0.6rem;
    background: rgba(58, 160, 231, 0.15);
    border-radius: 10rem;
    overflow: hidden;
  }
}
#guide .p-process_scrollbar_thumb {
  height: 100%;
  background: #3AA0E7;
  border-radius: 10rem;
}
#guide .p-process-note {
  margin-top: 10.4rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #guide .p-process-note {
    margin-top: 5rem;
    font-size: 1.3rem;
    text-align: left;
  }
}
#guide {
  /* PROSTHO IMPLANT／CERAMIC／HEALTH 診療グループ導線
  ---------------------------------------------------------------------------- */
}
#guide .p-menu-links {
  margin-top: 4.8rem;
}
@media screen and (max-width: 767px) {
  #guide .p-menu-links {
    margin-top: 4rem;
  }
  #guide .p-menu-links .c-secttl_sub {
    font-size: 1.9rem;
  }
}
#guide .p-menu-links .list {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #guide .p-menu-links .list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
#guide .p-menu-links li {
  padding: 3rem;
  background: #FFFFFF;
  border: 1px solid #3AA0E7;
  border-radius: 1rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #guide .p-menu-links li {
    padding: 3rem 2rem;
  }
}
#guide .p-menu-links .en {
  font-family: "Inter", sans-serif;
  font-size: 3.2rem;
  line-height: 1.2;
  color: #3AA0E7;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #guide .p-menu-links .en {
    font-size: 2.4rem;
  }
}
#guide .p-menu-links .jp {
  font-size: 1.8rem;
  text-align: center;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #guide .p-menu-links .jp {
    font-size: 1.4rem;
  }
}
#guide .p-menu-links .links {
  margin-top: 2.4rem;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
}
@media screen and (max-width: 767px) {
  #guide .p-menu-links .links {
    margin-top: 2rem;
  }
}
#guide .p-menu-links .c-btn_link {
  width: 100%;
  padding-right: 3rem;
}
#guide .p-menu-links .c-btn_link::after {
  right: 2rem;
}
#guide {
  /* ご予約・初診の流れ
  ---------------------------------------------------------------------------- */
}
#guide .p-visit-flow {
  margin-top: 16rem;
  padding: 16rem 0;
  background: #F6FAFF;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow {
    margin-top: 6rem;
    padding: 6rem 0;
  }
}
#guide .p-visit-flow .lead {
  margin-top: 1.4rem;
  text-align: center;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .lead {
    margin-top: 1rem;
    font-size: 1.3rem;
    text-align: left;
  }
}
#guide .p-visit-flow .lead .-l {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .lead .-l {
    font-size: 1.5rem;
  }
}
#guide .p-visit-flow .list {
  margin-top: 5.4rem;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .list {
    margin-top: 3rem;
  }
}
#guide .p-visit-flow li {
  display: flex;
  align-items: center;
  gap: 6rem;
  padding: 5rem 0;
  border-top: 1px solid #D6D6D6;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow li {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
    padding: 3rem 0;
  }
}
#guide .p-visit-flow li:last-child {
  border-bottom: 1px solid #D6D6D6;
}
#guide .p-visit-flow .txt {
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .txt {
    width: 100%;
  }
}
#guide .p-visit-flow .head {
  display: flex;
  align-items: center;
  gap: 1.8rem;
}
#guide .p-visit-flow .num {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.46rem;
  height: 4.46rem;
  background: #3AA0E7;
  border-radius: 50%;
  color: #FFFFFF;
  font-family: "Inter", sans-serif;
  font-size: 2.7rem;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .num {
    width: 3.6rem;
    height: 3.6rem;
    font-size: 2rem;
  }
}
#guide .p-visit-flow .ttl {
  font-size: 2.4rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .ttl {
    font-size: 1.8rem;
  }
}
#guide .p-visit-flow .body {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 1.9;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .body {
    margin-top: 1.2rem;
    font-size: 1.3rem;
  }
}
#guide .p-visit-flow .buttons {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .buttons {
    margin-top: 1.6rem;
  }
}
#guide .p-visit-flow .c-btn_link {
  width: 33rem;
  padding-right: 3rem;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .c-btn_link {
    width: 100%;
  }
}
#guide .p-visit-flow .c-btn_link::after {
  right: 2rem;
}
#guide .p-visit-flow .c-btn_link.-l {
  width: 41.8rem;
  font-size: 2rem;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .c-btn_link.-l {
    width: 100%;
    font-size: 1.8rem;
  }
}
#guide .p-visit-flow .c-btn_link.-blank::after {
  right: 7rem;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .c-btn_link.-blank::after {
    right: 5rem;
  }
}
#guide .p-visit-flow .hours {
  margin-top: 1.5rem;
  font-size: 1.4rem;
  color: #6F7073;
}
#guide .p-visit-flow .img {
  flex: none;
  width: 43.7rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .img {
    width: 100%;
  }
}
#guide .p-visit-flow .img img {
  width: 100%;
  height: 30rem;
  object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  #guide .p-visit-flow .img img {
    height: 22rem;
  }
}
#guide {
  /* よくあるご質問
  ---------------------------------------------------------------------------- */
}
#guide .p-faq {
  margin-top: 16rem;
}
@media screen and (max-width: 767px) {
  #guide .p-faq {
    margin-top: 8rem;
  }
}
#guide .p-faq .list {
  margin-top: 3.4rem;
}
@media screen and (max-width: 767px) {
  #guide .p-faq .list {
    margin-top: 2rem;
  }
}
#guide .p-faq .item {
  padding: 2rem 0;
  border-top: 1px solid #E6E6E6;
}
@media screen and (max-width: 767px) {
  #guide .p-faq .item {
    padding: 1.6rem 0;
  }
}
#guide .p-faq dt {
  font-size: 2.4rem;
  color: #3AA0E7;
  letter-spacing: 0.05em;
  line-height: 1.9;
}
@media screen and (max-width: 767px) {
  #guide .p-faq dt {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.2rem;
    font-size: 1.8rem;
    cursor: pointer;
  }
}
#guide .p-faq .icon {
  display: none;
}
@media screen and (max-width: 767px) {
  #guide .p-faq .icon {
    display: block;
    flex: none;
    position: relative;
    width: 1.8rem;
    height: 1.8rem;
  }
  #guide .p-faq .icon::before, #guide .p-faq .icon::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    background: #3AA0E7;
    transform: translate(-50%, -50%);
    transition: transform 0.2s, opacity 0.2s;
  }
  #guide .p-faq .icon::before {
    width: 100%;
    height: 2px;
  }
  #guide .p-faq .icon::after {
    width: 2px;
    height: 100%;
  }
}
#guide .p-faq dd {
  margin-top: 0.3rem;
  font-size: 1.6rem;
  line-height: 1.9;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #guide .p-faq dd {
    margin-top: 0.6rem;
    font-size: 1.4rem;
    display: none;
  }
}
@media screen and (min-width: 768px) {
  #guide .p-faq dd {
    display: block !important;
    height: auto !important;
  }
}
#guide .p-faq dd a {
  color: #3AA0E7;
}
@media screen and (min-width: 768px) {
  #guide .p-faq dd a {
    transition: opacity 0.3s;
    cursor: pointer;
  }
  #guide .p-faq dd a:hover {
    opacity: 0.7;
  }
}
#guide .p-faq .item.is-open .icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) rotate(90deg);
}
#guide {
  /* 症例紹介／料金表 リンク
  ---------------------------------------------------------------------------- */
}
#guide .p-page-links {
  margin-top: 13rem;
  display: flex;
  justify-content: center;
  gap: 4.1rem;
}
@media screen and (max-width: 767px) {
  #guide .p-page-links {
    margin-top: 6rem;
    flex-direction: column;
    gap: 1.5rem;
  }
}
#guide .p-page-links .c-btn_link {
  width: 57rem;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  #guide .p-page-links .c-btn_link {
    width: calc(100% - 3rem);
    margin-left: 1.5rem;
    justify-content: flex-start;
    padding-left: 3rem;
  }
}
#guide .p-page-links .c-btn_link::after {
  right: 2rem;
}
@media screen and (max-width: 767px) {
  #guide .p-page-links .c-btn_link.-price::before {
    right: 26rem;
  }
}

#case {
  background-color: #F4FBFF;
  /* 治療メニューから症例を探す（絞り込み）
  ---------------------------------------------------------------------------- */
}
#case .p-case-filter ul {
  margin-top: 2.4rem;
  padding: 3rem 5rem;
  display: flex;
  flex-wrap: wrap;
  gap: 2.6rem 7rem;
  background: #FFFFFF;
  border: 1px solid #3AA0E7;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  #case .p-case-filter ul {
    margin-top: 1.6rem;
    padding: 2rem;
    gap: 1rem 1.6rem;
  }
}
#case .p-case-filter li a {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.8rem;
  color: #6F7073;
  letter-spacing: 0.1em;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #case .p-case-filter li a {
    font-size: 1.3rem;
  }
}
#case .p-case-filter li a .dot {
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  background: #F8FCFF;
  border: 1px solid #3AA0E7;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  #case .p-case-filter li a .dot {
    width: 1.6rem;
    height: 1.6rem;
  }
}
#case .p-case-filter li a .dot::after {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  background: #3AA0E7;
  border-radius: 50%;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  #case .p-case-filter li a .dot::after {
    width: 0.9rem;
    height: 0.9rem;
  }
}
#case .p-case-filter li a.is-active {
  color: #3AA0E7;
}
#case .p-case-filter li a.is-active .dot::after {
  opacity: 1;
}
#case {
  /* 症例一覧
  ---------------------------------------------------------------------------- */
}
#case .p-case-list {
  margin-top: 9rem;
}
@media screen and (max-width: 767px) {
  #case .p-case-list {
    margin-top: 5rem;
  }
}
#case .p-case-list > .ttl {
  font-size: 2.4rem;
  color: #6F7073;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #case .p-case-list > .ttl {
    font-size: 1.8rem;
  }
}
#case .p-case-list .list {
  margin-top: 3rem;
  display: flex;
  flex-direction: column;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #case .p-case-list .list {
    margin-top: 2rem;
    gap: 2rem;
  }
}
#case .p-case-list .card {
  display: block;
  padding: 6rem 6rem 4rem;
  background: #FFFFFF;
  border-radius: 1rem;
  box-shadow: 0 0.4rem 0.2rem rgba(170, 170, 170, 0.25);
}
@media screen and (max-width: 767px) {
  #case .p-case-list .card {
    flex-direction: column;
    padding: 3rem 2rem;
    gap: 2rem;
  }
}
#case .p-case-list .txt {
  flex: 1;
  min-width: 0;
}
#case .p-case-list .badges {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
#case .p-case-list .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 3.5rem;
  padding: 0 2rem;
  background: #3AA0E7;
  border-radius: 10rem;
  color: #FFFFFF;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  #case .p-case-list .badge {
    height: 2.8rem;
    padding: 0 1.5rem;
    font-size: 1.2rem;
  }
}
#case .p-case-list .ttl {
  margin-top: 1.4rem;
  font-size: 3.2rem;
  font-weight: 500;
  color: #3AA0E7;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #case .p-case-list .ttl {
    margin-top: 1rem;
    font-size: 2rem;
  }
}
#case .p-case-list .desc {
  margin-top: 1.4rem;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #case .p-case-list .desc {
    margin-top: 0.8rem;
    font-size: 1.3rem;
  }
}
#case .p-case-list .flex {
  margin-top: 2rem;
  display: flex;
  gap: 5rem;
}
@media screen and (max-width: 767px) {
  #case .p-case-list .flex {
    width: 100%;
    flex-direction: column;
    gap: 2rem;
  }
}
#case .p-case-list .flex .p-cases_item_meta {
  margin-top: 0;
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: normal;
  gap: 0 2rem;
}
@media screen and (max-width: 767px) {
  #case .p-case-list .flex .p-cases_item_meta {
    gap: 1rem;
  }
}
#case .p-case-list .p-cases_item_images {
  margin-top: 0;
  width: 58rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.7rem;
}
@media screen and (max-width: 767px) {
  #case .p-case-list .p-cases_item_images {
    width: 100%;
    flex-direction: row;
  }
}
#case .p-case-list .p-cases_item_images img {
  width: 28.3rem;
  height: 18.1rem;
  border-radius: 0.5rem;
  object-fit: cover;
}
@media screen and (max-width: 767px) {
  #case .p-case-list .p-cases_item_images img {
    height: auto;
    aspect-ratio: 283/181;
  }
}
#case .p-case-list .empty {
  margin-top: 3rem;
  padding: 6rem 2rem;
  text-align: center;
  font-size: 1.6rem;
  color: #6F7073;
  display: none;
}
#case .p-case-list .empty.is-show {
  display: block;
}

#case-detail {
  background-color: #F4FBFF;
  /* 症例ヘッダー（バッジ・タイトル・年代性別）
  ---------------------------------------------------------------------------- */
}
#case-detail .p-case-header .badges {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}
#case-detail .p-case-header .badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 3.5rem;
  padding: 0 2rem;
  background: #3AA0E7;
  border-radius: 10rem;
  color: #FFFFFF;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-header .badge {
    height: 2.8rem;
    padding: 0 1.5rem;
    font-size: 1.2rem;
  }
}
#case-detail .p-case-header .ttl {
  margin-top: 1.6rem;
  font-size: 3.2rem;
  font-weight: 500;
  color: #3AA0E7;
  line-height: 1.5;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-header .ttl {
    margin-top: 1.2rem;
    font-size: 2rem;
  }
}
#case-detail .p-case-header .attr {
  margin-top: 1rem;
  font-size: 1.6rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-header .attr {
    font-size: 1.3rem;
  }
}
#case-detail .p-section-main {
  margin-bottom: 15rem;
}
@media screen and (max-width: 767px) {
  #case-detail .p-section-main {
    margin-bottom: 8rem;
  }
}
#case-detail {
  /* BEFORE / AFTER 写真
  ---------------------------------------------------------------------------- */
}
#case-detail .p-case-photos {
  margin-top: 5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-photos {
    margin-top: 3rem;
    grid-template-columns: 1fr;
  }
}
#case-detail .p-case-photos .label {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-photos .label {
    font-size: 1.3rem;
  }
}
#case-detail .p-case-photos .img {
  margin-top: 0.8rem;
  border-radius: 0.7rem;
  overflow: hidden;
  background: #E2E2E2;
}
#case-detail .p-case-photos .img img {
  width: 100%;
  height: 31.5rem;
  object-fit: cover;
  display: block;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-photos .img img {
    height: 22rem;
  }
}
#case-detail {
  /* 期間・通院回数／費用目安
  ---------------------------------------------------------------------------- */
}
#case-detail .p-case-meta {
  margin-top: 5rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.5rem 4.5rem;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-meta {
    margin-top: 3rem;
    gap: 1rem 2rem;
  }
}
#case-detail .p-case-meta .meta_item {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.6rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-meta .meta_item {
    font-size: 1.3rem;
  }
}
#case-detail .p-case-meta .tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.9rem;
  background: #9FA0A0;
  border-radius: 0.5rem;
  color: #FFFFFF;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-meta .tag {
    font-size: 1.1rem;
  }
}
#case-detail {
  /* ご相談内容／カウンセリング・ご提案／治療内容
  ---------------------------------------------------------------------------- */
}
#case-detail .p-case-block {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-block {
    margin-top: 3rem;
  }
}
#case-detail .p-case-block .ttl {
  font-size: 2rem;
  font-weight: 700;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-block .ttl {
    font-size: 1.6rem;
  }
}
#case-detail .p-case-block hr {
  margin-top: 1.8rem;
  border: none;
  border-top: 1px solid #E0E0E0;
}
#case-detail .p-case-block .txt {
  margin-top: 1.8rem;
  font-size: 1.8rem;
  line-height: 1.7;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-block .txt {
    margin-top: 1.4rem;
    font-size: 1.4rem;
  }
}
#case-detail {
  /* 副作用・リスクなど
  ---------------------------------------------------------------------------- */
}
#case-detail .p-case-risk {
  margin-top: 5rem;
  padding: 2.9rem 3rem;
  background: #F7F7F7;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-risk {
    margin-top: 3rem;
    padding: 2rem;
  }
}
#case-detail .p-case-risk .ttl {
  font-size: 1.8rem;
  font-weight: 700;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-risk .ttl {
    font-size: 1.4rem;
  }
}
#case-detail .p-case-risk .txt {
  margin-top: 0.2rem;
  font-size: 1.8rem;
  line-height: 1.7;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-risk .txt {
    font-size: 1.3rem;
  }
}
#case-detail {
  /* 前の症例／次の症例／症例一覧へ戻る
  ---------------------------------------------------------------------------- */
}
#case-detail .p-case-nav {
  margin: 8rem 12rem 0;
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-nav {
    margin: 15rem 0 0;
    gap: 5rem;
    justify-content: center;
  }
}
#case-detail .p-case-nav .prev,
#case-detail .p-case-nav .next {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  font-size: 1.8rem;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-nav .prev,
  #case-detail .p-case-nav .next {
    font-size: 1.4rem;
  }
}
#case-detail .p-case-nav .next {
  flex-direction: row-reverse;
}
#case-detail .p-case-nav .back {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  #case-detail .p-case-nav .back {
    top: -10rem;
    width: 100%;
  }
}

#specialists .p-lead {
  margin-top: 15rem;
}
@media screen and (max-width: 767px) {
  #specialists .p-lead {
    margin-top: 8rem;
  }
}
#specialists .p-section-main {
  padding: 11rem 0;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main {
    padding: 6rem 0;
  }
}
#specialists .p-section-main .block {
  margin-top: 18rem;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block {
    margin-top: 10rem;
  }
}
#specialists .p-section-main .block:nth-child(2) {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block:nth-child(2) {
    margin-top: 4rem;
  }
}
#specialists .p-section-main .block .flex {
  display: flex;
  align-items: flex-start;
  gap: 10rem;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .flex {
    flex-direction: column;
    align-items: center;
    gap: 5rem;
  }
}
#specialists .p-section-main .block .flex .img-box {
  width: 40rem;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .flex .img-box {
    width: 30rem;
  }
}
#specialists .p-section-main .block .flex .img-box .img img {
  width: 100%;
}
#specialists .p-section-main .block .flex .img-box .name {
  margin-top: 1.5rem;
  text-align: center;
  line-height: 1.7;
}
#specialists .p-section-main .block .flex .img-box .name span {
  font-size: 2.4rem;
  display: block;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .flex .img-box .name span {
    font-size: 2.2rem;
  }
}
#specialists .p-section-main .block .flex .txt-box {
  flex: 1;
}
#specialists .p-section-main .block .flex .txt-box .ttl {
  font-size: 2.4rem;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .flex .txt-box .ttl {
    font-size: 1.8rem;
  }
}
#specialists .p-section-main .block .flex .txt-box .txt {
  margin-top: 2.5rem;
}
#specialists .p-section-main .block .career-box.-flex {
  margin-top: 6.5rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 6rem;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .career-box.-flex {
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
  }
}
#specialists .p-section-main .block .career-box.-flex .box:nth-child(n+2) {
  margin-top: 0;
}
#specialists .p-section-main .block .career-box .box:nth-child(n+2) {
  margin-top: 6rem;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .career-box .box:nth-child(n+2) {
    margin-top: 5rem;
  }
}
#specialists .p-section-main .block .career-box .box dl .item:nth-child(n+2) {
  margin-top: 7rem;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .career-box .box dl .item:nth-child(n+2) {
    margin-top: 3rem;
  }
}
#specialists .p-section-main .block .career-box .box dl .item dt {
  font-size: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #D6D6D6;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .career-box .box dl .item dt {
    font-size: 1.8rem;
  }
}
#specialists .p-section-main .block .career-box .box dl .item dd {
  margin-top: 2rem;
}
#specialists .p-section-main .block .career-box .box dl .item .history .row {
  display: flex;
}
#specialists .p-section-main .block .career-box .box dl .item .history dt {
  flex: none;
  width: 8rem;
  padding-bottom: 0;
  border-bottom: none;
  font-size: 1.6rem;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .career-box .box dl .item .history dt {
    width: 6.5rem;
    font-size: 1.3rem;
  }
}
#specialists .p-section-main .block .career-box .box dl .item .history dd {
  flex: 1;
  min-width: 0;
  margin-top: 0;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .career-box .box dl .item .history dd {
    font-size: 1.3rem;
  }
}
#specialists .p-section-main .block .career-box .box dl .item .quals {
  margin-top: 2rem;
  font-size: 1.6rem;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .career-box .box dl .item .quals {
    font-size: 1.3rem;
  }
}
#specialists .p-section-main .block .career-box .box .btn {
  margin-top: 5rem;
}
@media screen and (max-width: 767px) {
  #specialists .p-section-main .block .career-box .box .btn {
    margin-top: 3rem;
  }
}
#specialists {
  /* 関連ページ（当グループについて／初めての方へ／医院情報・アクセス）
  ---------------------------------------------------------------------------- */
}
#specialists .p-related {
  margin-top: 20rem;
}
@media screen and (max-width: 767px) {
  #specialists .p-related {
    margin-top: 10rem;
  }
}
#specialists .p-related .list {
  margin-top: 6.5rem;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #specialists .p-related .list {
    margin-top: 3rem;
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
}
#specialists .p-related .card {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 26rem;
  border-radius: 1rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #specialists .p-related .card {
    height: 20rem;
  }
}
#specialists .p-related .card img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#specialists .p-related .card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(236, 206, 238, 0.3), rgba(145, 189, 252, 0.3) 50%, rgba(127, 187, 255, 0.3));
}
#specialists .p-related .card p {
  position: relative;
  z-index: 1;
  color: #FFFFFF;
  font-size: 2.2rem;
  text-align: center;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  #specialists .p-related .card p {
    font-size: 1.6rem;
  }
}

#reqruit {
  /* リード文
  ---------------------------------------------------------------------------- */
}
#reqruit .p-lead {
  margin-top: 9rem;
}
@media screen and (max-width: 767px) {
  #reqruit .p-lead {
    margin-top: 5rem;
  }
}
#reqruit {
  /* 選考プロセス
  ---------------------------------------------------------------------------- */
}
#reqruit .p-process {
  margin-top: 9rem;
}
@media screen and (max-width: 767px) {
  #reqruit .p-process {
    margin-top: 5rem;
  }
}
#reqruit .p-process > .ttl {
  text-align: center;
  font-size: 2.2rem;
  color: #6F7073;
  letter-spacing: 0.05em;
}
#reqruit .p-process .steps {
  margin-top: 4rem;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 3.4rem;
}
@media screen and (max-width: 767px) {
  #reqruit .p-process .steps {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}
#reqruit .p-process .steps {
  position: relative;
}
#reqruit .p-process .steps::before {
  content: "";
  position: absolute;
  top: 3.6rem;
  left: 50%;
  transform: translateX(-50%);
  width: calc(100% - 20rem);
  height: 1px;
  background-color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #reqruit .p-process .steps::before {
    left: 3.6rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: calc(100% - 10rem);
  }
}
#reqruit .p-process li {
  position: relative;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #reqruit .p-process li {
    padding-left: 10rem;
  }
}
#reqruit .p-process .num {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 7.2rem;
  height: 7.2rem;
  margin: 0 auto;
  background: #3AA0E7;
  border-radius: 50%;
  color: #FFFFFF;
  padding-bottom: 0.5rem;
}
@media screen and (max-width: 767px) {
  #reqruit .p-process .num {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
  }
}
#reqruit .p-process .num .en {
  font-size: 1.1rem;
  letter-spacing: 0.1em;
  opacity: 0.8;
}
#reqruit .p-process .num .n {
  font-size: 2.3rem;
  line-height: 1;
}
#reqruit .p-process .ttl {
  margin-top: 1.6rem;
  font-size: 2rem;
  font-weight: 500;
  color: #6F7073;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #reqruit .p-process .ttl {
    text-align: left;
    margin-top: 0;
    font-size: 1.8rem;
  }
}
#reqruit .p-process .txt {
  margin-top: 0.8rem;
  font-size: 1.4rem;
  line-height: 1.7;
  color: #6F7073;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #reqruit .p-process .txt {
    text-align: left;
  }
}
#reqruit .p-process .note {
  margin-top: 5.3rem;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.9;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #reqruit .p-process .note {
    margin-top: 4rem;
    text-align: left;
  }
}
#reqruit {
  /* 募集要項
  ---------------------------------------------------------------------------- */
}
#reqruit .p-recruit {
  margin-top: 9rem;
  margin-bottom: 9rem;
}
@media screen and (max-width: 767px) {
  #reqruit .p-recruit {
    margin-top: 5rem;
  }
}
#reqruit .p-recruit > .ttl {
  text-align: center;
  font-size: 2.2rem;
  color: #6F7073;
  letter-spacing: 0.05em;
}
#reqruit .p-recruit .tabs {
  margin-top: 4rem;
  margin-bottom: 4rem;
  display: flex;
  border: 1px solid #D8E8F4;
  border-radius: 0.6rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #reqruit .p-recruit .tabs {
    margin-top: 2.5rem;
  }
}
#reqruit .p-recruit .tabs button {
  flex: 1;
  padding: 1.6rem 2rem;
  background: #FFFFFF;
  border: none;
  border-right: 1px solid #D8E8F4;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  color: #6F7073;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #reqruit .p-recruit .tabs button {
    padding: 1.2rem 1rem;
    font-size: 1.3rem;
  }
}
#reqruit .p-recruit .tabs button:last-child {
  border-right: none;
}
#reqruit .p-recruit .tabs button.is-active {
  background: #3AA0E7;
  color: #FFFFFF;
}
#reqruit .p-recruit .panel {
  display: none;
}
#reqruit .p-recruit .panel.is-active {
  display: block;
}
#reqruit .p-recruit .table {
  margin-top: 4rem;
  border: 1px solid #D8E8F4;
  border-radius: 0.6rem;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  #reqruit .p-recruit .table {
    margin-top: 2.5rem;
  }
}
#reqruit .p-recruit .row {
  display: flex;
  border-bottom: 1px solid #D8E8F4;
}
@media screen and (max-width: 767px) {
  #reqruit .p-recruit .row {
    flex-direction: column;
  }
}
#reqruit .p-recruit .row:last-child {
  border-bottom: none;
}
#reqruit .p-recruit dt {
  flex: none;
  width: 19rem;
  padding: 1.6rem 2rem;
  background: #F0F7FD;
  font-weight: 500;
  font-size: 1.6rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #reqruit .p-recruit dt {
    width: 100%;
    padding: 1.2rem 1.5rem;
    font-size: 1.3rem;
  }
}
#reqruit .p-recruit dd {
  flex: 1;
  min-width: 0;
  padding: 2rem 2.4rem;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #reqruit .p-recruit dd {
    padding: 1.2rem 1.5rem;
    font-size: 1.3rem;
  }
}
#reqruit .p-recruit dd ul li {
  position: relative;
  line-height: 2;
  padding-left: 1.4rem;
}
#reqruit .p-recruit dd ul li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: #3AA0E7;
}
#reqruit .p-recruit dd .note {
  margin-top: 0.8rem;
  font-size: 1.2rem;
}
#reqruit .p-recruit dd .tags {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.8rem;
}
#reqruit .p-recruit dd .tags span {
  display: inline-flex;
  align-items: center;
  padding: 0.3rem 1.1rem;
  border: 1px solid #3AA0E7;
  border-radius: 0.4rem;
  color: #3AA0E7;
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  #reqruit .p-recruit dd .tags span {
    font-size: 1.2rem;
  }
}
#reqruit .p-recruit .apply-btn {
  margin: 6rem auto 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding-right: 2rem;
  background: #3AA0E7;
  border-radius: 5.6rem;
  color: #FFFFFF;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
  width: 46rem;
  height: 6.4rem;
  text-align: center;
  position: relative;
}
@media screen and (min-width: 768px) {
  #reqruit .p-recruit .apply-btn {
    transition: background-color 0.3s, color 0.3s;
    cursor: pointer;
  }
  #reqruit .p-recruit .apply-btn:hover {
    background-color: #3AA0E7;
    color: #FFFFFF;
    opacity: 1;
  }
  #reqruit .p-recruit .apply-btn:hover::after {
    background-color: #fff;
  }
}
@media screen and (max-width: 767px) {
  #reqruit .p-recruit .apply-btn {
    margin-top: 4rem;
    padding: 1.6rem;
    font-size: 1.4rem;
    width: 100%;
  }
}
#reqruit .p-recruit .apply-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2rem;
  width: 1.7rem;
  height: 1.36rem;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../images/common/icon_arrow.svg);
  background-color: #FFFFFF;
}

#price {
  /* 2カラムレイアウト（サイドナビ＋本文）
  ---------------------------------------------------------------------------- */
}
#price .p-price-layout {
  margin-top: 4rem;
  display: flex;
  align-items: flex-start;
  gap: 14.2rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-layout {
    margin-top: 0;
    flex-direction: column;
    align-items: stretch;
    gap: 4rem;
  }
}
#price .p-price-nav {
  flex: none;
  width: 24rem;
  position: sticky;
  top: 14rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-nav {
    width: 100%;
    position: static;
  }
}
#price .p-price-nav .label {
  font-size: 1.4rem;
  letter-spacing: 0.2em;
  color: #3AA0E7;
}
#price .p-price-nav ul {
  margin-top: 1.6rem;
}
#price .p-price-nav li a {
  display: block;
  padding: 1rem 0 1rem 1.8rem;
  border-left: 2px solid #D6D6D6;
  font-size: 1.3rem;
  color: #6F7073;
}
@media screen and (min-width: 768px) {
  #price .p-price-nav li a {
    transition: opacity 0.3s;
    cursor: pointer;
  }
  #price .p-price-nav li a:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  #price .p-price-nav li a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.6rem;
    width: 100%;
    padding: 1rem 0;
    border-left: none;
    border-bottom: 1px solid #E7E7E7;
    font-size: 1.5rem;
  }
}
#price .p-price-nav li a .c-arrow-btn.-down {
  display: none;
}
@media screen and (max-width: 767px) {
  #price .p-price-nav li a .c-arrow-btn.-down {
    display: flex;
    flex: none;
    width: 2.3rem;
    height: 2.3rem;
  }
  #price .p-price-nav li a .c-arrow-btn.-down::after {
    width: 1.4rem;
  }
}
#price .p-price-nav li a.is-current {
  border-left-color: #3AA0E7;
  color: #3AA0E7;
}
#price .p-price-main {
  flex: 1;
  min-width: 0;
}
#price {
  /* 自由診療について
  ---------------------------------------------------------------------------- */
}
#price .p-price-intro {
  background-color: #F0F5FB;
  padding: 4rem 3.2rem;
  border-radius: 1rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-intro {
    padding: 3rem 2rem;
  }
}
#price .p-price-intro .ttl {
  font-size: 1.8rem;
  font-weight: 500;
  color: #6F7073;
}
#price .p-price-intro .txt {
  margin-top: 1.2rem;
  font-size: 1.4rem;
  line-height: 1.9;
  color: #6F7073;
}
#price .p-price-heading {
  margin-top: 6rem;
  display: flex;
  align-items: baseline;
  gap: 2rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-heading {
    margin-top: 4rem;
    flex-direction: column;
    gap: 0.5rem;
  }
}
#price .p-price-heading .ttl {
  font-size: 2.2rem;
  font-weight: 500;
  color: #6F7073;
}
#price .p-price-heading .note {
  flex: none;
  font-size: 1.4rem;
  color: #6F7073;
}
#price {
  /* 治療セクション
  ---------------------------------------------------------------------------- */
}
#price .p-price-section {
  margin-top: 10rem;
  scroll-margin-top: 12rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-section {
    margin-top: 10rem;
  }
}
#price .p-price-section:first-of-type {
  margin-top: 4rem;
}
#price .p-price-section .head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  padding-bottom: 1.7rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-section .head {
    flex-wrap: wrap;
    gap: 1rem 2rem;
  }
}
#price .p-price-section .ttl {
  font-weight: 500;
  color: #3AA0E7;
  letter-spacing: 0.08em;
}
#price .p-price-section .ttl span {
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-section .ttl span {
    font-size: 1.8rem;
  }
}
#price .p-price-section .detail-link {
  flex: none;
  display: inline-flex;
  align-items: center;
  gap: 2.2rem;
  font-size: 1.8rem;
  color: #3AA0E7;
}
@media screen and (max-width: 767px) {
  #price .p-price-section .detail-link {
    width: 100%;
    gap: 1rem;
  }
  #price .p-price-section .detail-link .c-arrow-btn {
    width: 3.2rem;
  }
}
#price .p-price-group {
  margin-top: 4rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-group {
    margin-top: 3rem;
  }
}
#price .p-price-group:first-child {
  margin-top: 3rem;
}
#price .table {
  margin-top: 0.5rem;
}
.p-price-group > #price .table:first-child {
  margin-top: 0;
}
#price .table.-mt20 {
  margin-top: 2rem;
}
#price .table .row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 2rem;
  padding: 1.3rem 0;
  border-bottom: 1px solid #D8E2EE;
}
@media screen and (max-width: 767px) {
  #price .table .row {
    padding: 1.3rem 0;
  }
  #price .table .row.-wrap {
    flex-wrap: wrap;
    row-gap: 0.5rem;
  }
  #price .table .row.-wrap dd {
    flex: auto;
    text-align: left;
  }
}
#price .table .row.-mt30 {
  margin-top: 3rem;
}
@media screen and (max-width: 767px) {
  #price .table .row.-mt30 {
    margin-top: 2rem;
  }
}
#price .table .row:first-child {
  border-top: 1px solid #D8E2EE;
}
#price .table .row dt {
  font-size: 1.6rem;
  font-weight: 500;
}
@media screen and (max-width: 767px) {
  #price .table .row dt {
    font-size: 1.3rem;
  }
}
#price .table .row dd {
  flex: none;
  text-align: right;
  font-size: 1.6rem;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #price .table .row dd {
    flex: 1;
    min-width: 0;
    font-size: 1.3rem;
  }
}
#price .p-price-info {
  padding: 3.2rem;
  background: #F0F5FB;
  border-radius: 1.2rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-info {
    padding: 2rem;
  }
}
#price .p-price-info .ttl {
  font-size: 1.8rem;
  font-weight: 500;
  color: #6F7073;
  letter-spacing: 0.03em;
}
#price .p-price-info .txt {
  margin-top: 1.2rem;
  font-size: 1.6rem;
  line-height: 1.9;
  color: #6F7073;
}
#price .p-price-info .txt strong {
  font-weight: 700;
}
#price .p-price-risk {
  margin-top: 4rem;
  padding: 2rem;
  background: #F5F5F5;
  border-radius: 0.8rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-risk {
    margin-top: 2rem;
  }
}
#price .p-price-risk .ttl {
  font-size: 1.3rem;
  font-weight: 700;
  color: #6F7073;
}
#price .p-price-risk .ttl.-mt20 {
  margin-top: 2rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-risk .ttl.-mt20 {
    margin-top: 1rem;
  }
}
#price .p-price-risk .txt {
  margin-top: 0.4rem;
  font-size: 1.4rem;
  line-height: 1.8;
}
#price .p-price-risk .txt p + p {
  margin-top: 1.2rem;
}
#price .p-price-risk .txt strong {
  display: block;
  margin-top: 1.6rem;
  font-weight: 500;
  color: #6F7073;
}
#price .p-price-risk .txt strong:first-child {
  margin-top: 0;
}
#price .p-price-txt {
  margin-top: 1rem;
  font-size: 1.2rem;
  line-height: 1.9;
  color: #6F7073;
}
#price .p-price-txt.-right {
  text-align: right;
}
#price .p-price-txt.-l {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-txt.-l {
    font-size: 1.6rem;
  }
}
#price .p-price-txt.-normal {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  #price .p-price-txt.-normal {
    font-size: 1.4rem;
  }
}
#price {
  /* お支払方法／医療費控除
  ---------------------------------------------------------------------------- */
}
#price .p-price-payment .item {
  margin-top: 2rem;
}
#price .p-price-payment .item:first-child {
  margin-top: 3rem;
}
#price .p-price-payment .ttl {
  font-size: 1.8rem;
  color: #6F7073;
}
#price .p-price-payment .txt {
  margin-top: 1.2rem;
  font-size: 1.6rem;
  line-height: 1.9;
  color: #6F7073;
}
#price .p-price-payment .cards {
  margin-top: 2rem;
  width: 100%;
  max-width: 40rem;
}
#price {
  /* 医療費控除のご案内
  ---------------------------------------------------------------------------- */
}
#price .p-price-method {
  margin: 6rem 0;
}

/* お問い合わせページ
---------------------------------------------------------------------------- */
#contact-form {
  /* ご予約案内
  ---------------------------------------------------------------------------- */
}
#contact-form .p-contact-intro .inner {
  background: #EEF6FB;
  border-radius: 1.2rem;
  padding: 4rem 4rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-intro .inner {
    padding: 4rem 2rem;
  }
}
#contact-form .p-contact-intro .ttl {
  text-align: center;
  font-size: 2rem;
  color: #3AA0E7;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-intro .ttl {
    font-size: 1.6rem;
  }
}
#contact-form .p-contact-intro .buttons {
  margin-top: 3rem;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3rem;
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-intro .buttons {
    flex-direction: column;
    gap: 1.5rem;
  }
}
#contact-form .p-contact-intro .buttons .c-btn_link {
  width: 41.8rem;
  justify-content: center;
  font-size: 2rem;
  padding: 3rem 0;
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-intro .buttons .c-btn_link {
    width: 100%;
    font-size: 1.6rem;
    padding: 2rem 0;
  }
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-intro .buttons .c-btn_link.-tel {
    padding-left: 2rem;
  }
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-intro .buttons .c-btn_link.-blank::after {
    right: 5.3rem;
  }
}
#contact-form .p-contact-intro .note {
  margin-top: 1rem;
  font-size: 1.6rem;
  color: #6F7073;
  margin-left: 5rem;
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-intro .note {
    font-size: 1.2rem;
    margin-left: 0;
  }
}
#contact-form {
  /* お問い合わせフォーム
  ---------------------------------------------------------------------------- */
}
#contact-form .p-contact-form {
  margin-top: 9rem;
  margin-bottom: 5rem;
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-form {
    margin-top: 5rem;
    margin-bottom: 8rem;
  }
}
#contact-form .p-contact-form form {
  border-top: 1px solid #E6E6E6;
}
#contact-form .p-contact-form form.wpcf7cp-form-hide {
  display: none;
}
#contact-form .p-contact-form .row {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  padding: 3rem 0;
  border-bottom: 1px solid #E6E6E6;
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-form .row {
    flex-direction: column;
    gap: 1rem;
    padding: 2rem 0;
  }
}
#contact-form .p-contact-form .row.js-contactField {
  display: none;
}
#contact-form .p-contact-form .row.js-contactField.is-show {
  display: flex;
}
#contact-form .p-contact-form .label {
  flex: none;
  width: 26rem;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding-top: 1.2rem;
  line-height: 1.8;
  font-size: 1.6rem;
  font-weight: 700;
  color: #6F7073;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-form .label {
    width: 100%;
    padding-top: 0;
  }
}
#contact-form .p-contact-form .required {
  flex: none;
  padding: 0.3rem 1.2rem;
  background: #3AA0E7;
  border-radius: 10rem;
  color: #FFFFFF;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.1em;
}
#contact-form .p-contact-form .required.-optional {
  background: #9AB9D7;
}
#contact-form .p-contact-form .field {
  flex: 1;
  min-width: 0;
}
#contact-form .p-contact-form input[type=text],
#contact-form .p-contact-form input[type=email],
#contact-form .p-contact-form input[type=tel],
#contact-form .p-contact-form select,
#contact-form .p-contact-form textarea {
  width: 100%;
  padding: 1rem 2rem;
  background: #F6F7F8;
  border: 1px solid #E6E6E6;
  border-radius: 0.5rem;
  font-size: 1.6rem;
  color: #6F7073;
}
#contact-form .p-contact-form input[type=text]::placeholder,
#contact-form .p-contact-form input[type=email]::placeholder,
#contact-form .p-contact-form input[type=tel]::placeholder,
#contact-form .p-contact-form select::placeholder,
#contact-form .p-contact-form textarea::placeholder {
  color: #AAACB1;
}
#contact-form .p-contact-form select {
  background-image: url(../images/common/icon_arrow_bottom_02.svg);
  background-repeat: no-repeat;
  background-position: right 2rem center;
  background-size: 1.3rem auto;
  padding: 1rem 5rem 1rem 2rem;
}
#contact-form .p-contact-form select:required:invalid {
  color: #AAACB1;
}
#contact-form .p-contact-form select option {
  color: #6F7073;
}
#contact-form .p-contact-form textarea {
  height: 28.4rem;
  resize: vertical;
}
#contact-form .p-contact-form .field {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  width: 100%;
}
#contact-form .p-contact-form .field.-select {
  position: relative;
}
#contact-form .p-contact-form .field.-select::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2rem;
  width: 2rem;
  height: 2rem;
  z-index: 1;
  background: url(../img/common/icon_arrow_bottom_02.svg) no-repeat center center/contain;
}
#contact-form .p-contact-form .wpcf7-form-control-wrap {
  width: 100%;
}
#contact-form .p-contact-form .file-btn {
  cursor: pointer;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  border: 1px solid #3AA0E7;
  background-color: #fff;
  white-space: nowrap;
  padding: 2rem 5rem;
  color: #3AA0E7;
  border-radius: 0.5rem;
  text-align: center;
}
#contact-form .p-contact-form .file-btn input[type=file] {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}
#contact-form .p-contact-form .file-btn::after {
  content: none;
}
#contact-form .p-contact-form .file-btn .wpcf7-form-control-wrap {
  position: static;
}
#contact-form .p-contact-form .wpcf7-not-valid-tip {
  position: absolute;
  left: 0;
  bottom: -1.6rem;
  font-size: 1.4rem;
}
#contact-form .p-contact-form .file-name {
  font-size: 1.6rem;
  color: #6F7073;
}
#contact-form .p-contact-form .privacy {
  margin-top: 2rem;
  border: none;
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-form .privacy {
    margin-top: 0;
  }
}
#contact-form .p-contact-form .privacy .label {
  padding-top: 0;
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-size: 1.6rem;
  font-weight: 700;
  color: #6F7073;
}
#contact-form .p-contact-form .privacy .field {
  display: block;
}
#contact-form .p-contact-form .privacy .field .wpcf7-list-item-label {
  display: block;
  margin-top: 2rem;
}
#contact-form .p-contact-form .privacy .txt {
  font-size: 1.6rem;
  letter-spacing: 0.1em;
  line-height: 1.8;
  color: #6F7073;
}
#contact-form .p-contact-form .privacy .txt a {
  color: #3AA0E7;
  text-decoration: underline;
}
@media screen and (min-width: 768px) {
  #contact-form .p-contact-form .privacy .txt a {
    transition: opacity 0.3s;
    cursor: pointer;
  }
  #contact-form .p-contact-form .privacy .txt a:hover {
    opacity: 0.7;
  }
}
#contact-form .p-contact-form .privacy .agree {
  margin-top: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #6F7073;
  cursor: pointer;
}
#contact-form .p-contact-form .privacy .agree input[type=checkbox] {
  display: none;
}
#contact-form .p-contact-form .privacy .agree .checkbox {
  position: relative;
  flex: none;
  width: 2.2rem;
  height: 2.2rem;
  border: 2px solid #3AA0E7;
  border-radius: 0.3rem;
}
#contact-form .p-contact-form .privacy .agree input:checked + .checkbox::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0.6rem;
  height: 1.1rem;
  border: solid #3AA0E7;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -50%) rotate(45deg);
}
#contact-form .p-contact-form .privacy .wpcf7-acceptance label {
  margin-top: 1rem;
  display: inline-flex;
  align-items: center;
  gap: 1rem;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  color: #6F7073;
  cursor: pointer;
}
#contact-form .p-contact-form .privacy .wpcf7-acceptance input[type=checkbox] {
  display: none;
}
#contact-form .p-contact-form .privacy .wpcf7-acceptance .wpcf7-list-item-label {
  position: relative;
  padding-left: 3.2rem;
}
#contact-form .p-contact-form .privacy .wpcf7-acceptance .wpcf7-list-item-label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 2.2rem;
  height: 2.2rem;
  border: 2px solid #3AA0E7;
  border-radius: 0.3rem;
}
#contact-form .p-contact-form .privacy .wpcf7-acceptance .wpcf7-list-item-label::after {
  content: "";
  position: absolute;
  left: 0.8rem;
  top: 50%;
  width: 0.6rem;
  height: 1.1rem;
  border: solid #3AA0E7;
  border-width: 0 2px 2px 0;
  transform: translate(0, -70%) rotate(45deg);
  opacity: 0;
}
#contact-form .p-contact-form .privacy .wpcf7-acceptance input[type=checkbox]:checked + .wpcf7-list-item-label::after {
  opacity: 1;
}
#contact-form .p-contact-form .btn-box {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5rem;
  margin: 6rem auto 0;
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-form .btn-box {
    margin-top: 4rem;
  }
}
#contact-form .p-contact-form .btn {
  width: 34rem;
  height: 6.4rem;
  position: relative;
}
#contact-form .p-contact-form .btn::before {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2rem;
  width: 1.5rem;
  height: 1.2rem;
  mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../img/common/icon_arrow.svg);
  background-color: #FFFFFF;
  pointer-events: none;
  transition: background-color 0.3s;
}
@media screen and (min-width: 768px) {
  #contact-form .p-contact-form .btn:hover::before {
    background-color: #3AA0E7;
  }
}
#contact-form .p-contact-form .submit-btn {
  display: block;
  width: 100%;
  height: 100%;
  background: #3AA0E7;
  border: 1px solid #3AA0E7;
  border-radius: 5.6rem;
  color: #FFFFFF;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  transition: background-color 0.3s, color 0.3s;
}
@media screen and (min-width: 768px) {
  #contact-form .p-contact-form .submit-btn {
    cursor: pointer;
  }
  #contact-form .p-contact-form .submit-btn:hover {
    background-color: #FFFFFF;
    color: #3AA0E7;
  }
}
@media screen and (max-width: 767px) {
  #contact-form .p-contact-form .submit-btn {
    width: 100%;
  }
}
#contact-form .p-contact-form .wpcf7-spinner {
  display: none !important;
}
#contact-form .wpcf7-response-output {
  display: none !important;
}
#contact-form #wpcf7cpcnf {
  position: static;
}
#contact-form #wpcf7cpcnf table,
#contact-form #wpcf7cpcnf tbody {
  display: block;
  width: 100%;
}
#contact-form #wpcf7cpcnf tr {
  display: flex;
  align-items: flex-start;
  gap: 3rem;
  padding: 3rem 0;
  border-bottom: 1px solid #E6E6E6;
}
@media screen and (max-width: 767px) {
  #contact-form #wpcf7cpcnf tr {
    flex-direction: column;
    gap: 1rem;
    padding: 2rem 0;
  }
}
#contact-form #wpcf7cpcnf th {
  flex: none;
  width: 26rem;
  padding-top: 1.2rem;
  line-height: 1.8;
  font-size: 1.6rem;
  font-weight: 700;
  color: #6F7073;
  letter-spacing: 0.1em;
  text-align: left;
  padding: 0;
  border: none;
}
#contact-form #wpcf7cpcnf th p {
  margin: 0;
}
@media screen and (max-width: 767px) {
  #contact-form #wpcf7cpcnf th {
    width: 100%;
    padding-top: 0;
  }
}
#contact-form #wpcf7cpcnf td {
  flex: 1;
  min-width: 0;
  font-size: 1.6rem;
  line-height: 1.8;
  color: #6F7073;
  border: none;
  padding: 0;
}
#contact-form #wpcf7cpcnf td p {
  margin: 0;
}
#contact-form #wpcf7cpcnf .wpcf7cp-btns {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 3rem;
  margin: 6rem auto 0;
}
@media screen and (max-width: 767px) {
  #contact-form #wpcf7cpcnf .wpcf7cp-btns {
    gap: 0;
    margin-top: 4rem;
    flex-direction: column;
  }
}
#contact-form #wpcf7cpcnf button.wpcf7cp-cfm-edit-btn,
#contact-form #wpcf7cpcnf button.wpcf7cp-cfm-submit-btn {
  width: 34rem;
  height: 6.4rem;
  border-radius: 5.6rem;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  #contact-form #wpcf7cpcnf button.wpcf7cp-cfm-edit-btn,
  #contact-form #wpcf7cpcnf button.wpcf7cp-cfm-submit-btn {
    width: 100%;
  }
}
#contact-form #wpcf7cpcnf button.wpcf7cp-cfm-edit-btn {
  background: #FFFFFF;
  border: 1px solid #3AA0E7;
  color: #3AA0E7;
}
@media screen and (min-width: 768px) {
  #contact-form #wpcf7cpcnf button.wpcf7cp-cfm-edit-btn {
    transition: background-color 0.3s, color 0.3s;
    cursor: pointer;
  }
  #contact-form #wpcf7cpcnf button.wpcf7cp-cfm-edit-btn:hover {
    background-color: #3AA0E7;
    color: #FFFFFF;
    opacity: 1;
  }
  #contact-form #wpcf7cpcnf button.wpcf7cp-cfm-edit-btn:hover::after {
    background-color: #fff;
  }
}
#contact-form #wpcf7cpcnf button.wpcf7cp-cfm-submit-btn {
  background: #3AA0E7;
  border: none;
  color: #FFFFFF;
}
@media screen and (min-width: 768px) {
  #contact-form #wpcf7cpcnf button.wpcf7cp-cfm-submit-btn {
    transition: opacity 0.3s;
    cursor: pointer;
  }
  #contact-form #wpcf7cpcnf button.wpcf7cp-cfm-submit-btn:hover {
    opacity: 0.7;
  }
}
#contact-form .cf7-cf-turnstile {
  margin-top: 3rem !important;
  display: flex;
  justify-content: center;
}

/* お問い合わせ完了（サンクス）ページ
---------------------------------------------------------------------------- */
#thanks .p-thanks {
  padding: 9rem 0 20rem;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #thanks .p-thanks {
    padding: 8rem 0 10rem;
  }
}
#thanks .p-thanks .icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.2rem;
  height: 7.2rem;
  margin: 0 auto;
  border: 1.5px solid #3AA0E7;
  border-radius: 50%;
}
@media screen and (max-width: 767px) {
  #thanks .p-thanks .icon {
    width: 6rem;
    height: 6rem;
  }
  #thanks .p-thanks .icon img {
    width: 2.2rem;
    height: 2.2rem;
  }
}
#thanks .p-thanks .ttl {
  font-family: "Inter", sans-serif;
  font-size: 7rem;
  color: #3AA0E7;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #thanks .p-thanks .ttl {
    font-size: 3.6rem;
    margin-top: 1rem;
  }
}
#thanks .p-thanks .lead {
  font-size: 2rem;
  color: #3AA0E7;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  #thanks .p-thanks .lead {
    font-size: 1.5rem;
  }
}
#thanks .p-thanks .txt {
  margin: 5rem auto 0;
  max-width: 92rem;
  font-size: 1.8rem;
  line-height: 1.8;
  text-align: center;
  color: #6F7073;
}
@media screen and (max-width: 767px) {
  #thanks .p-thanks .txt {
    margin-top: 3rem;
    font-size: 1.3rem;
    text-align: left;
  }
}
#thanks .p-thanks .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  width: 27.3rem;
  height: 6.4rem;
  margin-top: 8rem;
  background: #3AA0E7;
  border-radius: 5.6rem;
  color: #FFFFFF;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
@media screen and (min-width: 768px) {
  #thanks .p-thanks .btn {
    transition: opacity 0.3s;
    cursor: pointer;
  }
  #thanks .p-thanks .btn:hover {
    opacity: 0.7;
  }
}
@media screen and (max-width: 767px) {
  #thanks .p-thanks .btn {
    width: 100%;
    margin-top: 4rem;
  }
}/*# sourceMappingURL=under.css.map */