@charset "UTF-8";
/*------------------------------------------------------------
	index（トップページ専用）
	※ヘッダー・フッター・医院情報ボックス等の下層ページと共通のパーツは common.scss
------------------------------------------------------------*/
/*------------------------------------------------------------
	mainVisual（PC 1536×810〔写真は900まで〕/ SP 375×596〔写真は660まで〕）
------------------------------------------------------------*/
#main .mainVisual {
  height: 81rem;
  font-feature-settings: "palt";
}
@media all and (max-width: 896px) {
  #main .mainVisual {
    height: 59.6rem;
  }
}
#main .mainVisual .photoBox {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 90rem;
}
@media all and (max-width: 896px) {
  #main .mainVisual .photoBox {
    height: 66rem;
  }
}
#main .mainVisual .slideList {
  position: relative;
  height: 100%;
}
#main .mainVisual .slideList li {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 1.5s ease;
}
#main .mainVisual .slideList li.is-active {
  opacity: 1;
}
#main .mainVisual .slideList:not(.is-init) > li:first-child {
  opacity: 1;
}
#main .mainVisual .slideList.is-init li:not(.is-active) {
  opacity: 0;
}
#main .mainVisual .slideList picture {
  display: block;
  height: 100%;
}
#main .mainVisual .slideList img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#main .mainVisual .slideNav {
  position: absolute;
  top: 80rem;
  left: 50%;
  z-index: 2;
  display: flex;
  align-items: center;
  height: 1rem;
  transform: translateX(-50%);
}
@media all and (max-width: 896px) {
  #main .mainVisual .slideNav {
    top: 60.8rem;
  }
}
#main .mainVisual .slideNav button {
  padding: 0;
  font-size: 0;
  border: 0;
  background: none;
  cursor: pointer;
  transition: 0.4s ease;
}
#main .mainVisual .slideNav .dots {
  display: flex;
  align-items: center;
  margin: 0 2.2rem;
}
#main .mainVisual .slideNav .dots li {
  width: 0.6rem;
  height: 0.6rem;
}
#main .mainVisual .slideNav .dots li + li {
  margin-left: 2rem;
}
#main .mainVisual .slideNav .dots button {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.7);
}
@media (hover: hover) {
  #main .mainVisual .slideNav .dots button:hover {
    opacity: 0.6;
  }
}
#main .mainVisual .slideNav .dots .is-active button {
  background-color: #957b50;
}
#main .mainVisual .slideNav .prev,
#main .mainVisual .slideNav .next {
  position: relative;
  width: 0.6rem;
  height: 1rem;
}
#main .mainVisual .slideNav .prev::before,
#main .mainVisual .slideNav .next::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0.707rem;
  height: 0.707rem;
  content: "";
  border-top: 1px solid rgba(255, 255, 255, 0.7);
  border-left: 1px solid rgba(255, 255, 255, 0.7);
}
@media (hover: hover) {
  #main .mainVisual .slideNav .prev:hover,
  #main .mainVisual .slideNav .next:hover {
    opacity: 0.6;
  }
}
#main .mainVisual .slideNav .prev::before {
  transform: translate(-15%, -50%) rotate(-45deg);
}
#main .mainVisual .slideNav .next::before {
  transform: translate(-85%, -50%) rotate(135deg);
}
#main .mainVisual .content {
  height: 100%;
}
@media all and (max-width: 896px) {
  #main .mainVisual .content {
    max-width: 37.5rem;
  }
}
#main .mainVisual .textBox {
  color: #fff;
}
#main .mainVisual .textBox::before {
  position: absolute;
  top: 37.6rem;
  left: 0;
  width: 77rem;
  height: 24rem;
  content: "";
  border-radius: 50%;
  background-color: rgba(50, 48, 39, 0.34);
  filter: blur(6.645rem);
  mix-blend-mode: multiply;
  pointer-events: none;
}
@media all and (max-width: 896px) {
  #main .mainVisual .textBox::before {
    top: 23.2rem;
    left: 1.6rem;
    width: 34.4rem;
    height: 15.7rem;
    filter: blur(3.235rem);
  }
}
#main .mainVisual .ttl {
  position: absolute;
  top: 42.1rem;
  left: 8.1rem;
  font-family: "Shippori Mincho", serif;
  font-size: 4.2rem;
  font-weight: 500;
  line-height: 6.8rem;
  letter-spacing: 0.26em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  #main .mainVisual .ttl {
    top: 23.9rem;
    left: 50%;
    font-size: 2.8rem;
    line-height: 4.2rem;
    text-align: center;
    transform: translateX(-50%);
  }
}
#main .mainVisual .subTtl {
  position: absolute;
  top: 59.4rem;
  isolation: isolate;
  left: 8.2rem;
  font-size: 2.2rem;
  line-height: 1.5;
  letter-spacing: 0.26em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  #main .mainVisual .subTtl {
    top: 38.2rem;
    left: 50%;
    font-size: 1.2rem;
    transform: translateX(-50%);
  }
}
#main .mainVisual .subTtl::before {
  position: absolute;
  top: -1.1rem;
  left: -3.5rem;
  z-index: -1;
  width: 67.9rem;
  height: 4.8rem;
  content: "";
  background: linear-gradient(90deg, rgba(225, 207, 174, 0) 0%, #a99167 48.558%, rgba(225, 207, 174, 0) 100%);
}
@media all and (max-width: 896px) {
  #main .mainVisual .subTtl::before {
    top: -1rem;
    left: 50%;
    width: 33.5rem;
    height: 3.4rem;
    background: linear-gradient(90deg, rgba(169, 145, 103, 0) 0%, rgba(169, 145, 103, 0.7) 27.885%, rgba(169, 145, 103, 0.7) 66.827%, rgba(225, 207, 174, 0) 100%);
    transform: translateX(-50%);
  }
}
#main .mainVisual .pointList {
  position: absolute;
  top: 67.8rem;
  left: 8.5rem;
  display: flex;
  gap: 2rem;
  font-size: 1rem;
}
@media all and (max-width: 896px) {
  #main .mainVisual .pointList {
    top: 48.2rem;
    right: 0;
    left: 0;
    flex-wrap: wrap;
    gap: 0.9rem 1rem;
    width: 33.6rem;
    margin: 0 auto;
    font-size: 0.608rem;
  }
}
#main .mainVisual .pointList li {
  position: relative;
  flex-shrink: 0;
  height: 7.8em;
  color: #43382f;
}
@media all and (max-width: 896px) {
  #main .mainVisual .pointList li {
    isolation: isolate;
    border-radius: 2em 0;
    background: linear-gradient(180deg, #f4f2ef 0%, #e3ddd6 100%);
  }
}
#main .mainVisual .pointList li::before {
  position: absolute;
  inset: 0;
  content: "";
  border-radius: 2em 0;
  background: linear-gradient(180deg, #e3d2b1 0%, #957b50 100%);
  mix-blend-mode: screen;
}
#main .mainVisual .pointList img {
  position: absolute;
}
#main .mainVisual .pointList p {
  position: absolute;
  top: 1.6em;
  white-space: nowrap;
}
#main .mainVisual .pointList small {
  display: block;
  font-size: 1.2rem;
  line-height: 1.5;
}
@media all and (max-width: 896px) {
  #main .mainVisual .pointList small {
    font-size: 0.9rem;
    letter-spacing: 0.03em;
  }
}
#main .mainVisual .pointList .txt {
  display: block;
  margin-top: -0.0556em;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8em;
  font-weight: 500;
  line-height: 1.2778;
}
#main .mainVisual .pointList .txt em {
  font-size: 1.6667em;
  font-style: normal;
  line-height: 0.7667;
}
#main .mainVisual .pointList .item01 {
  width: 15.4em;
}
#main .mainVisual .pointList .item01 img {
  top: 2em;
  left: 2.8em;
  width: 2.3em;
}
#main .mainVisual .pointList .item01 p {
  left: 6em;
}
#main .mainVisual .pointList .item02 {
  width: 18.2em;
}
#main .mainVisual .pointList .item02 img {
  top: 2.6em;
  left: 2.2em;
  width: 2.9em;
}
#main .mainVisual .pointList .item02 p {
  left: 5.9em;
}
#main .mainVisual .pointList .item02 small {
  padding-left: 0.2rem;
}
#main .mainVisual .pointList .item03 {
  width: 18.2em;
}
#main .mainVisual .pointList .item03 img {
  top: 2.4em;
  left: 2em;
  width: 3em;
}
#main .mainVisual .pointList .item03 p {
  left: 5.4em;
  text-align: center;
}
#main .mainVisual .pointList .item04 {
  width: 15.4em;
}
#main .mainVisual .pointList .item04 img {
  top: 2.2em;
  left: 1.9em;
  width: 2.27em;
}
#main .mainVisual .pointList .item04 p {
  left: 4.9em;
}
@media all and (max-width: 896px) {
  #main .mainVisual .pointList .item04 {
    margin-left: 3.1rem;
  }
}
#main .mainVisual .pointList .item04 .txt {
  margin-top: 0.1em;
  font-size: 2em;
  line-height: 1.15;
}
@media all and (max-width: 896px) {
  #main .mainVisual .pointList .item04 small {
    letter-spacing: -0.08em;
  }
}
#main .mainVisual .pointList .item05 {
  width: 26.6em;
}
#main .mainVisual .pointList .item05 img {
  top: 2em;
  left: 1.9em;
  width: 3em;
}
#main .mainVisual .pointList .item05 p {
  left: 5.5em;
}
#main .mainVisual .pointList .item05 .txt {
  margin-top: 0.15em;
  font-size: 2em;
  line-height: 1.15;
  letter-spacing: -0.04em;
}
#main .mainVisual .pointList .item05 .s {
  font-size: 0.8em;
}

/*------------------------------------------------------------
	info（News＋医院情報）
	PC top 810 / 高さ 1130、SP top 596 / 高さ 1299
	背景（上端が弧を描くクリーム色の面）は MV 写真の下部に重なり、
	下は policy の上まで伸びる（Figma の Union 形状）
------------------------------------------------------------*/
.info {
  display: flow-root;
  padding: 16rem 0 5.3rem;
}
@media all and (max-width: 896px) {
  .info {
    padding: 9.1rem 0 0;
  }
}
.info::before {
  position: absolute;
  top: 4.1rem;
  bottom: -12.2rem;
  left: 0;
  z-index: -1;
  width: 100%;
  content: "";
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 30' preserveAspectRatio='none'%3E%3Cpath d='M768 0C1043.09 0 1303.57 10.5751 1536 29.4531V30H0V29.4531C232.43 10.5751 492.911 0 768 0Z' fill='%23F8F4EC'/%3E%3C/svg%3E") no-repeat center top/100% 2.95rem, linear-gradient(#f8f4ec, #f8f4ec) no-repeat left 2.9rem/100% calc(100% - 2.9rem);
  pointer-events: none;
}
@media all and (max-width: 896px) {
  .info::before {
    top: 4.3rem;
    bottom: -14.65rem;
    background-size: 100% 0.73rem, 100% calc(100% - 0.7rem);
    background-position: center top, left 0.7rem;
  }
}
.info .newsBox {
  display: flex;
  align-items: center;
  width: 100rem;
  height: 6.7rem;
  margin: 0 auto;
  padding-top: 0.4rem;
  border-bottom: 1px solid rgba(77, 77, 77, 0.4);
}
@media all and (max-width: 896px) {
  .info .newsBox {
    display: block;
    width: auto;
    height: auto;
    margin: 0 2rem;
    padding: 0 0 1.1rem;
    position: relative;
  }
}
.info .ttl {
  flex-shrink: 0;
  width: 9.4rem;
  margin-left: 0.2rem;
  position: relative;
  top: -0.33rem;
  line-height: 0;
}
@media all and (max-width: 896px) {
  .info .ttl {
    position: absolute;
    top: -1.3rem;
    left: -0.4rem;
    margin: 0;
  }
}
.info .ttl .comEn {
  font-size: 4.23rem;
}
.info .newsList {
  flex: 1;
  min-width: 0;
  margin-left: 4.75rem;
}
@media all and (max-width: 896px) {
  .info .newsList {
    margin: 0;
  }
}
.info .newsList a {
  display: flex;
  align-items: center;
  padding-right: 3.2rem;
  position: relative;
  transition: 0.4s ease;
}
@media all and (max-width: 896px) {
  .info .newsList a {
    flex-wrap: wrap;
    padding-right: 0;
  }
}
.info .newsList a::after {
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 1rem;
  height: 1.6rem;
  margin-top: -0.8rem;
  content: "";
  background-color: #8e7a55;
  clip-path: polygon(100% 50%, 0 0, 54% 50%, 0 100%);
}
@media all and (max-width: 896px) {
  .info .newsList a::after {
    top: 3.9rem;
    right: -0.1rem;
    width: 0.8rem;
    height: 1.4rem;
    margin-top: 0;
  }
}
@media (hover: hover) {
  .info .newsList a:hover {
    opacity: 0.6;
  }
}
.info .newsList .date {
  flex-shrink: 0;
  width: 9.6rem;
  font-family: "EB Garamond", serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2.5rem;
  letter-spacing: 0.05em;
}
@media all and (max-width: 896px) {
  .info .newsList .date {
    width: 7.6rem;
    margin-left: 11.9rem;
    font-size: 1.2rem;
    line-height: 2rem;
  }
}
.info .newsList .cat {
  flex-shrink: 0;
  width: 8.8rem;
  background-color: #fff;
  font-feature-settings: "palt";
  border-radius: 1.25rem;
  font-size: 1.3rem;
  line-height: 2.5rem;
  letter-spacing: 0.06em;
  text-align: center;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .info .newsList .cat {
    width: 7rem;
    font-size: 1rem;
    line-height: 2rem;
  }
}
.info .newsList .txt {
  flex: 1;
  min-width: 0;
  margin-left: 3.4rem;
  overflow: hidden;
  font-feature-settings: "palt";
  font-size: 1.6rem;
  line-height: 2.5rem;
  letter-spacing: 0.1em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .info .newsList .txt {
    flex: none;
    width: 100%;
    margin: 1.5rem 0 0;
    padding-right: 2rem;
    font-size: 1.4rem;
    line-height: 2rem;
  }
}
.info .comClinic {
  margin-top: 7.6rem;
}
@media all and (max-width: 896px) {
  .info .comClinic {
    margin-top: 4rem;
    margin-bottom: -2.6rem;
  }
}

/*------------------------------------------------------------
	policy（診療理念）
	PC frame 1940〜 / DOM高さ 1772（下の背景は infographic の下に 76px 潜り込む）
	SP frame 1895〜 / DOM高さ 1551（同 66px）
------------------------------------------------------------*/
.policy {
  position: relative;
  overflow-x: clip;
  padding-bottom: 8.2rem;
}
@media all and (max-width: 896px) {
  .policy {
    padding-bottom: 5rem;
  }
}
.policy::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 12.2rem;
  content: "";
  background-color: #f8f4ec;
}
@media all and (max-width: 896px) {
  .policy::before {
    top: 2.6rem;
    height: 12.05rem;
  }
}
.policy::after {
  position: absolute;
  top: 70.8rem;
  bottom: -7.6rem;
  left: 0;
  z-index: -1;
  width: 100%;
  content: "";
  background-color: #f0edeb;
}
@media all and (max-width: 896px) {
  .policy::after {
    top: 46.2rem;
    bottom: -6.6rem;
  }
}
.policy .gold {
  color: #957b50;
}
.policy .bgArea {
  position: absolute;
  top: 5.2rem;
  left: 0;
  width: 100%;
  height: 65.6rem;
  overflow: hidden;
  background: url(../img/index/policy_bg.webp) center top -8.6rem/auto 132.8rem no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 30' preserveAspectRatio='none'%3E%3Cpath d='M768 0C1043.09 0 1303.57 10.5751 1536 29.4531V30H0V29.4531C232.43 10.5751 492.911 0 768 0Z'/%3E%3C/svg%3E") center top/100% 3rem no-repeat, linear-gradient(#000, #000) left 2.9rem/100% calc(100% - 2.9rem) no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 30' preserveAspectRatio='none'%3E%3Cpath d='M768 0C1043.09 0 1303.57 10.5751 1536 29.4531V30H0V29.4531C232.43 10.5751 492.911 0 768 0Z'/%3E%3C/svg%3E") center top/100% 3rem no-repeat, linear-gradient(#000, #000) left 2.9rem/100% calc(100% - 2.9rem) no-repeat;
}
@media all and (max-width: 896px) {
  .policy .bgArea {
    top: 7.2rem;
    height: 39rem;
    background-position: center top -2.1rem;
    background-size: auto 89.1rem;
    -webkit-mask-size: 100% 0.75rem, 100% calc(100% - 0.7rem);
    mask-size: 100% 0.75rem, 100% calc(100% - 0.7rem);
    -webkit-mask-position: center top, left 0.7rem;
    mask-position: center top, left 0.7rem;
  }
}
.policy .bgPhoto {
  position: absolute;
  top: -36rem;
  left: calc(50% - 40.8rem);
  width: 79.3rem;
  max-width: none;
  height: auto;
  opacity: 0.1;
}
@media all and (max-width: 896px) {
  .policy .bgPhoto {
    top: -12.4rem;
    left: calc(50% - 17.36rem);
    width: 34.23rem;
  }
}
.policy .reason {
  box-sizing: border-box;
  height: 70.8rem;
  padding-top: 18.9rem;
}
@media all and (max-width: 896px) {
  .policy .reason {
    height: 46.2rem;
    padding-top: 12.6rem;
  }
}
.policy .circleList li {
  position: absolute;
  overflow: hidden;
  border-radius: 50%;
}
.policy .circleList li img {
  display: block;
  width: 100%;
  height: auto;
}
.policy .circleList .item01 {
  top: 0.8rem;
  left: -1.6rem;
  width: 39.1rem;
}
@media all and (max-width: 896px) {
  .policy .circleList .item01 {
    top: 5rem;
    left: -2.2rem;
    width: 11rem;
  }
}
.policy .circleList .item02 {
  top: 29.3rem;
  left: 126.8rem;
  width: 22.5rem;
}
@media all and (max-width: 896px) {
  .policy .circleList .item02 {
    top: 37.9rem;
    left: -1.3rem;
    width: 7.5rem;
  }
}
.policy .circleList .item03 {
  top: 61.3rem;
  left: 23.3rem;
  width: 17.9rem;
}
@media all and (max-width: 896px) {
  .policy .circleList .item03 {
    top: 40.5rem;
    right: -1.3rem;
    left: auto;
    width: 9.8rem;
  }
}
.policy .circleList .item04 {
  top: 2.1rem;
  left: 108.3rem;
  width: 15.5rem;
}
@media all and (max-width: 896px) {
  .policy .circleList .item04 {
    top: 16.2rem;
    right: -1.7rem;
    left: auto;
    width: 6.5rem;
  }
}
.policy .reasonTtl {
  position: relative;
  font-family: "Shippori Mincho", serif;
  font-size: 4rem;
  font-weight: 500;
  line-height: 6.2rem;
  letter-spacing: 0.12em;
  text-align: center;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .policy .reasonTtl {
    font-size: 2.2rem;
    line-height: 3.4rem;
  }
}
.policy .checkList {
  position: relative;
  width: fit-content;
  margin: 3rem 0 0 calc(50% - 23.1rem);
}
@media all and (max-width: 896px) {
  .policy .checkList {
    margin: 1.5rem 0 0 calc(50% - 15.45rem);
  }
}
.policy .checkList li {
  min-height: 2.72rem;
  padding-left: 2.8rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 2.72rem;
  letter-spacing: 0.09em;
  white-space: nowrap;
  background: url(../img/index/policy_check.webp) left top/2.6rem auto no-repeat;
}
@media all and (max-width: 896px) {
  .policy .checkList li {
    min-height: 1.82rem;
    padding-left: 1.87rem;
    font-size: 1.5rem;
    line-height: 1.82rem;
    background-size: 1.735rem auto;
  }
}
.policy .checkList li + li {
  margin-top: 1.95rem;
}
@media all and (max-width: 896px) {
  .policy .checkList li + li {
    margin-top: 1.3rem;
  }
}
.policy .reasonTxt {
  position: relative;
  margin-top: 3.9rem;
  font-family: "Shippori Mincho", serif;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 3.8rem;
  letter-spacing: 0.12em;
  text-align: center;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .policy .reasonTxt {
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 2.6rem;
    letter-spacing: 0;
  }
}
.policy .main {
  position: static;
  padding-left: 12.2rem;
}
@media all and (max-width: 896px) {
  .policy .main {
    position: relative;
    padding: 0 2rem 0 1.8rem;
  }
}
.policy .ttl {
  position: relative;
  width: 29rem;
  margin-top: 19.3rem;
}
@media all and (max-width: 896px) {
  .policy .ttl {
    width: 16.6rem;
    margin-top: 5rem;
  }
}
.policy .ttl .comEn {
  height: 1.044em;
  font-size: 12.26rem;
}
@media all and (max-width: 896px) {
  .policy .ttl .comEn {
    font-size: 7.02rem;
  }
}
.policy .ttl .ja {
  position: absolute;
  top: 10.7rem;
  left: 1.1rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.6rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .policy .ttl .ja {
    top: 6.125rem;
    left: 0.6rem;
  }
}
.policy .photo {
  position: absolute;
  top: 90rem;
  right: 0;
  left: calc(50% + 6.6rem);
  height: 52.2rem;
  overflow: hidden;
  border-radius: 3rem 0 0 3rem;
}
@media all and (max-width: 896px) {
  .policy .photo {
    position: relative;
    top: auto;
    right: auto;
    left: auto;
    height: auto;
    margin: 3.97rem 0 0 0.2rem;
    aspect-ratio: 335/200;
    border-radius: 2rem;
  }
}
.policy .photo img {
  position: absolute;
  top: -2.1rem;
  left: -15.9rem;
  width: max(97.6rem, 100% + 15.9rem);
  max-width: none;
  height: auto;
}
@media all and (max-width: 896px) {
  .policy .photo img {
    top: -7%;
    left: -15.42%;
    width: 124.61%;
  }
}
.policy .photo::after {
  position: absolute;
  inset: 0;
  content: "";
  background: linear-gradient(196.7deg, rgba(255, 255, 255, 0) 57.4%, #fff 102.9%);
}
@media all and (max-width: 896px) {
  .policy .photo::after {
    background: linear-gradient(180deg, rgba(255, 255, 255, 0) 46%, #fff 108.9%);
  }
}
.policy .catch {
  position: relative;
  z-index: 1;
  margin-top: 5.5rem;
  font-family: "Shippori Mincho", serif;
  font-size: 4.8rem;
  font-weight: 500;
  line-height: 7.6rem;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .policy .catch {
    margin-top: -2.4rem;
    font-size: 2.6rem;
    line-height: 3.8rem;
  }
}
.policy .txtBox {
  position: relative;
  z-index: 1;
  width: 103.2rem;
  margin-top: 5rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  line-height: 3.6rem;
  letter-spacing: 0.12em;
}
@media all and (max-width: 896px) {
  .policy .txtBox {
    width: auto;
    margin-top: 1.8rem;
    font-size: 1.5rem;
    line-height: 3rem;
  }
}
.policy .txtBox p + p {
  margin-top: 2rem;
}
@media all and (max-width: 896px) {
  .policy .txtBox p + p {
    margin-top: 1rem;
  }
}
.policy .txtBox .ls {
  letter-spacing: 0.1318em;
}
@media all and (max-width: 896px) {
  .policy .txtBox .ls {
    letter-spacing: 0.14em;
  }
}
.policy .comBtn {
  position: relative;
  z-index: 1;
  margin: 5.8rem 0 0 -0.4rem;
}
@media all and (max-width: 896px) {
  .policy .comBtn {
    margin: 2.6rem 0 0 0.2rem;
  }
  .policy .comBtn a {
    font-size: 1.5rem;
  }
}

/*------------------------------------------------------------
	infographic（数字で見る“通いやすさ”）
	PC frame 3712〜 / DOM高さ 812（背景は上端から 20px 下・弓なりカーブ）
	SP frame 3446〜 / DOM高さ 704
------------------------------------------------------------*/
.infographic {
  position: relative;
  padding: 18.3rem 0 10.4rem;
}
@media all and (max-width: 896px) {
  .infographic {
    padding: 5.8rem 0 5.1rem;
  }
}
.infographic::before {
  position: absolute;
  top: 2rem;
  bottom: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  content: "";
  background: url(../img/index/infographic_bg.webp) center top -15.1rem/max(159.5rem, 100%) auto no-repeat;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 30' preserveAspectRatio='none'%3E%3Cpath d='M768 0C1043.09 0 1303.57 10.5751 1536 29.4531V30H0V29.4531C232.43 10.5751 492.911 0 768 0Z'/%3E%3C/svg%3E") center top/100% 3rem no-repeat, linear-gradient(#000, #000) left 2.9rem/100% calc(100% - 2.9rem) no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 30' preserveAspectRatio='none'%3E%3Cpath d='M768 0C1043.09 0 1303.57 10.5751 1536 29.4531V30H0V29.4531C232.43 10.5751 492.911 0 768 0Z'/%3E%3C/svg%3E") center top/100% 3rem no-repeat, linear-gradient(#000, #000) left 2.9rem/100% calc(100% - 2.9rem) no-repeat;
}
@media all and (max-width: 896px) {
  .infographic::before {
    top: 0;
    background-position: center top -3.7rem;
    background-size: auto 90.3rem;
    -webkit-mask-size: 100% 0.75rem, 100% calc(100% - 0.7rem);
    mask-size: 100% 0.75rem, 100% calc(100% - 0.7rem);
    -webkit-mask-position: center top, left 0.7rem;
    mask-position: center top, left 0.7rem;
  }
}
.infographic .en {
  position: absolute;
  top: -7.1rem;
  left: calc(50% - 45rem);
  font-size: 19.17rem;
  opacity: 0.15;
  pointer-events: none;
}
@media all and (max-width: 896px) {
  .infographic .en {
    top: -1.7rem;
    left: calc(50% - 17.15rem);
    font-size: 7.3rem;
  }
}
.infographic .ttl {
  position: relative;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: 4.4rem;
  font-weight: 700;
  line-height: 6.6rem;
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .infographic .ttl {
    font-size: 2.4rem;
    line-height: 3.6rem;
  }
}
.infographic .ttl .q01,
.infographic .ttl .q02 {
  display: inline-block;
  width: 2.2rem;
  vertical-align: top;
}
@media all and (max-width: 896px) {
  .infographic .ttl .q01,
  .infographic .ttl .q02 {
    width: 1.32rem;
  }
}
.infographic .ttl .q01 svg,
.infographic .ttl .q02 svg {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 22/16;
  fill: #957b50;
}
.infographic .ttl .q01 {
  margin: 1.3rem 0.4rem 0 0.34rem;
}
@media all and (max-width: 896px) {
  .infographic .ttl .q01 {
    margin: 0.78rem 0.1rem 0 0.17rem;
  }
}
.infographic .ttl .q02 {
  margin: 1.7rem 0 0 0.4rem;
}
@media all and (max-width: 896px) {
  .infographic .ttl .q02 {
    margin: 0.5rem 0 0 0;
  }
}
.infographic .dataList {
  display: flex;
  justify-content: space-between;
  width: 140.1rem;
  margin: 5.8rem auto 0;
}
@media all and (max-width: 896px) {
  .infographic .dataList {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.9rem 1.4rem;
    width: auto;
    margin: 3.5rem 2rem 0;
  }
}
.infographic .dataList li {
  position: relative;
  width: 21rem;
  height: 21rem;
  color: #e3d2b1;
  background-color: #957b50;
  border-radius: 2rem;
  font-feature-settings: "palt";
}
@media all and (max-width: 896px) {
  .infographic .dataList li {
    width: auto;
    height: auto;
    aspect-ratio: 1;
    border-radius: 1rem;
    container-type: inline-size;
  }
}
.infographic .dataList li:nth-child(even) {
  color: #957b50;
  background-color: #e3d2b1;
}
.infographic .dataList li > * {
  --u: .1rem;
}
@media all and (max-width: 896px) {
  .infographic .dataList li > * {
    --u: calc(100cqw / 210);
  }
}
.infographic .dataList .icon {
  position: absolute;
  left: 50%;
  height: auto;
  transform: translateX(-50%);
}
.infographic .dataList .label,
.infographic .dataList .num,
.infographic .dataList .sub {
  position: absolute;
  left: 0;
  width: 100%;
  text-align: center;
  white-space: nowrap;
}
.infographic .dataList .label {
  top: calc(var(--u) * 73);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: calc(var(--u) * 16);
  line-height: calc(var(--u) * 22);
  letter-spacing: 0.07em;
}
@media all and (max-width: 896px) {
  .infographic .dataList .label {
    font-size: calc(var(--u) * 18.5);
  }
}
.infographic .dataList .num {
  top: calc(var(--u) * 116);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: calc(var(--u) * 36);
  font-weight: 700;
  line-height: calc(var(--u) * 32);
}
.infographic .dataList .num em {
  font-size: calc(var(--u) * 66);
  font-style: normal;
}
.infographic .dataList .sub {
  top: calc(var(--u) * 170);
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: calc(var(--u) * 13);
  line-height: calc(var(--u) * 22);
  letter-spacing: 0.07em;
}
@media all and (max-width: 896px) {
  .infographic .dataList .sub {
    font-size: calc(var(--u) * 18.5);
  }
}
.infographic .dataList .item01 .icon {
  top: calc(var(--u) * 27);
  width: calc(var(--u) * 23);
}
.infographic .dataList .item02 .icon {
  top: calc(var(--u) * 29);
  width: calc(var(--u) * 33);
}
.infographic .dataList .item02 .label {
  top: calc(var(--u) * 71);
}
.infographic .dataList .item03 .icon {
  top: calc(var(--u) * 32);
  width: calc(var(--u) * 46);
}
.infographic .dataList .item04 .icon {
  top: calc(var(--u) * 24);
  width: calc(var(--u) * 36);
}
.infographic .dataList .item04 .label {
  top: calc(var(--u) * 71);
}
.infographic .dataList .item05 .icon {
  top: calc(var(--u) * 24);
  width: calc(var(--u) * 27);
}
.infographic .dataList .item06 .icon {
  top: calc(var(--u) * 20);
  width: calc(var(--u) * 42);
}
@media all and (max-width: 896px) {
  .infographic .dataList .item06 .sub {
    letter-spacing: -0.08em;
  }
}
.infographic .subTtl {
  position: relative;
  margin-top: 4.7rem;
  font-family: "Shippori Mincho", serif;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 6.2rem;
  letter-spacing: 0.07em;
  text-align: center;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .infographic .subTtl {
    margin-top: 3.4rem;
    font-size: 2.2rem;
    line-height: 3.2rem;
  }
}
.infographic .subTtl .mark {
  position: relative;
  z-index: 0;
  display: inline-block;
}
.infographic .subTtl .mark::before {
  position: absolute;
  top: 3.8rem;
  left: 2rem;
  z-index: -1;
  width: 24.4rem;
  height: 1.5rem;
  content: "";
  background-color: rgba(227, 210, 177, 0.5);
}
@media all and (max-width: 896px) {
  .infographic .subTtl .mark::before {
    top: 1.8rem;
    left: 0.3rem;
    width: 17.8rem;
  }
}
.infographic .txt {
  position: relative;
  margin-top: 1rem;
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "Noto Sans JP", sans-serif;
  font-size: 1.7rem;
  line-height: 3.6rem;
  letter-spacing: 0.12em;
  text-align: center;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .infographic .txt {
    margin: 2.6rem 2rem 0;
    font-size: 1.4rem;
    line-height: 2.6rem;
    text-align: left;
    white-space: normal;
  }
}
@media all and (max-width: 896px) {
  .infographic .txt span {
    display: block;
  }
}
@media all and (max-width: 896px) {
  .infographic .txt span + span {
    margin-top: 1rem;
  }
}

/*------------------------------------------------------------
	feature（当院の6つの特徴）
	PC node 163:2928 / SP node 163:2982
------------------------------------------------------------*/
.feature {
  padding: 11.9rem 0 6rem;
  overflow-x: clip;
}
@media all and (max-width: 896px) {
  .feature {
    padding: 4rem 0 3.2rem;
  }
}
.feature::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 297.2rem;
  background: #f7f7f6;
  content: "";
}
@media all and (max-width: 896px) {
  .feature::before {
    height: 450.8rem;
  }
}
.feature .headLine {
  position: relative;
  width: 43.5em;
  height: 16.7em;
  margin-left: calc(50% - 23.1rem);
  font-size: 1rem;
  font-weight: 500;
}
@media all and (max-width: 896px) {
  .feature .headLine {
    margin-left: calc(50% - 13.85rem);
    font-size: 0.6414rem;
  }
}
.feature .headLine .six,
.feature .headLine .ja01,
.feature .headLine .ja02 {
  position: absolute;
  display: block;
  font-family: "Shippori Mincho", serif;
  white-space: nowrap;
}
.feature .headLine .six {
  top: 0.0266em;
  left: 0.1812em;
  width: 0.471em;
  height: 0.753em;
  color: #957b50;
  font-size: 20.7em;
  line-height: 0.608em;
  text-indent: -0.045em;
}
.feature .headLine .ja01 {
  top: 0.7806em;
  left: 3.3004em;
  color: #43382f;
  font-size: 5.06em;
  line-height: 0.82em;
  text-indent: -0.118em;
}
.feature .headLine .ja02 {
  top: 1.3889em;
  left: 2.2222em;
  color: #43382f;
  font-size: 7.02em;
  line-height: 0.824em;
  text-indent: -0.08em;
}
.feature .headLine .en {
  position: absolute;
  top: 5.1em;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15.83em;
  height: 10.89em;
}
.feature .headLine .comEn {
  color: #e3d2b1;
  font-size: 5.2em;
  letter-spacing: 0.01em;
  rotate: -15.53deg;
}
.feature {
  /* 特徴（共通） */
}
.feature .featureItem {
  position: relative;
  isolation: isolate;
}
@media all and (max-width: 896px) {
  .feature .featureItem {
    display: flow-root;
    margin: 5.5rem 2rem 0;
    padding: 0 0 3rem;
    background: #efeae2;
  }
}
.feature .photo {
  position: relative;
}
.feature .photo img {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 2rem;
  object-fit: cover;
}
@media all and (max-width: 896px) {
  .feature .photo {
    width: auto;
    height: auto;
    margin: -3.1rem 2rem 0;
    aspect-ratio: 295/160;
  }
}
.feature .bubble {
  position: absolute;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20.9rem;
  height: 20.9rem;
  border-radius: 50%;
  background: rgba(149, 123, 80, 0.75);
  color: #f0edeb;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
}
.feature .bubble .in {
  display: block;
}
@media all and (max-width: 896px) {
  .feature .bubble {
    top: 3.1rem;
    right: -3.4rem;
    left: auto;
    width: 14rem;
    height: 14rem;
    font-size: 1.2rem;
  }
}
.feature .num {
  position: absolute;
  color: #957b50;
  font-family: "EB Garamond", serif;
  font-size: 15.4rem;
  font-weight: 400;
  line-height: 1.305;
  white-space: nowrap;
  opacity: 0.18;
  pointer-events: none;
}
@media all and (max-width: 896px) {
  .feature .num {
    top: auto;
    right: -0.5rem;
    bottom: -3.3rem;
    left: auto;
    font-size: 11rem;
    line-height: 1.31;
  }
}
.feature .txtBox {
  position: relative;
}
@media all and (max-width: 896px) {
  .feature .txtBox {
    width: auto;
    margin: 1.8rem 1.9rem 0 2.1rem;
  }
}
.feature .ttl {
  color: #43382f;
  font-family: "Shippori Mincho", serif;
  font-weight: 500;
  line-height: 5.2rem;
  font-feature-settings: "palt";
  letter-spacing: 0.12em;
  white-space: nowrap;
}
.feature .ttl .line {
  display: inline-block;
  padding-bottom: 0.7rem;
  background: linear-gradient(to right, #957b50 0.3rem, transparent 0.3rem) left bottom/0.6rem 1px repeat-x;
  vertical-align: top;
}
@media all and (max-width: 896px) {
  .feature .ttl {
    padding-left: 0;
    font-size: 2.2rem;
    line-height: 3.6rem;
    text-align: left;
  }
  .feature .ttl .line {
    display: table;
    padding-bottom: 0.4rem;
  }
}
.feature .txt {
  color: #43382f;
  font-size: 1.6rem;
  line-height: 2;
}
@media all and (max-width: 896px) {
  .feature .txt {
    width: auto;
    margin: 2rem 0 0;
    font-size: 1.4rem;
  }
}
.feature {
  /* 01・06：横長（写真＋テキスト、背景帯が画面端まで伸びる） */
}
.feature .wide {
  padding: 7.9rem 0;
}
.feature .wide::before {
  position: absolute;
  top: 0;
  bottom: 0;
  z-index: -1;
  background: #efeae2;
  content: "";
}
.feature .wide .photo {
  position: absolute;
  top: 6.1rem;
  width: 62.4rem;
  height: 32rem;
}
.feature .wide .txtBox {
  width: 62.7rem;
}
.feature .wide .ttl {
  font-size: 3.6rem;
}
.feature .wide .txt {
  width: 62.4rem;
  margin: 3.3rem 0 0 0.3rem;
}
@media all and (max-width: 896px) {
  .feature .wide {
    padding: 0 0 3rem;
  }
  .feature .wide::before {
    display: none;
  }
  .feature .wide .photo {
    position: relative;
    top: auto;
    left: auto;
    width: auto;
    height: auto;
  }
  .feature .wide .txtBox {
    width: auto;
  }
  .feature .wide .ttl {
    font-size: 2.2rem;
  }
  .feature .wide .txt {
    width: auto;
    margin: 2rem 0 0;
  }
}
.feature .item01 {
  margin-top: 5.5rem;
}
.feature .item01::before {
  left: 64.5rem;
  right: calc(50% - 50vw);
}
.feature .item01 .photo {
  left: 11.8rem;
}
@media all and (max-width: 896px) {
  .feature .item01 .photo {
    left: auto;
  }
}
.feature .item01 .photo img {
  object-position: center top;
}
@media all and (max-width: 896px) {
  .feature .item01 .photo img {
    object-position: center bottom;
  }
}
.feature .item01 .bubble {
  top: 17.2rem;
  left: 3.6rem;
}
@media all and (max-width: 896px) {
  .feature .item01 .bubble {
    top: 3.1rem;
    left: auto;
  }
}
.feature .item01 .num {
  top: -2.4rem;
  right: 11.8rem;
}
@media all and (max-width: 896px) {
  .feature .item01 .num {
    top: auto;
    right: -0.5rem;
  }
}
.feature .item01 .txtBox {
  margin-left: 79.7rem;
}
@media all and (max-width: 896px) {
  .feature .item01 .txtBox {
    margin-left: 2.1rem;
  }
}
@media all and (max-width: 896px) {
  .feature .item01 .ttl {
    letter-spacing: 0.06em;
  }
}
@media all and (max-width: 896px) {
  .feature .item01 {
    margin-top: 7.1rem;
    padding-bottom: 2.5rem;
  }
}
.feature .item06 {
  margin-top: 5.6rem;
}
.feature .item06::before {
  left: calc(50% - 50vw);
  right: 64.5rem;
}
.feature .item06 .photo {
  left: 79.4rem;
}
@media all and (max-width: 896px) {
  .feature .item06 .photo {
    left: auto;
  }
}
.feature .item06 .bubble {
  top: 15.5rem;
  left: 3.8rem;
}
@media all and (max-width: 896px) {
  .feature .item06 .bubble {
    top: 3.1rem;
    left: auto;
  }
}
.feature .item06 .num {
  top: -2rem;
  right: 79.4rem;
}
@media all and (max-width: 896px) {
  .feature .item06 .num {
    top: auto;
    right: -0.5rem;
  }
}
.feature .item06 .txtBox {
  margin-left: 11.8rem;
}
@media all and (max-width: 896px) {
  .feature .item06 .txtBox {
    margin-left: 2.1rem;
  }
}
@media all and (max-width: 896px) {
  .feature .item06 {
    margin-top: 5.5rem;
  }
}
.feature {
  /* 02〜05：2カラムのカード */
}
.feature .cardList {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  row-gap: 18.7rem;
  margin: 17.6rem 11.8rem 0 11.9rem;
}
@media all and (max-width: 896px) {
  .feature .cardList {
    display: block;
    margin: 0;
  }
}
.feature .cardList .featureItem {
  width: 62.3rem;
  padding-bottom: 4.1rem;
  background: #efeae2;
}
@media all and (max-width: 896px) {
  .feature .cardList .featureItem {
    width: auto;
    padding-bottom: 3rem;
  }
}
.feature .cardList .photo {
  width: 51.2rem;
  height: 28.2rem;
  margin: -11.6rem 0 0 5.5rem;
}
@media all and (max-width: 896px) {
  .feature .cardList .photo {
    width: auto;
    height: auto;
    margin: -3.1rem 2rem 0;
  }
}
.feature .cardList .bubble {
  top: 9.7rem;
  left: 35.2rem;
}
@media all and (max-width: 896px) {
  .feature .cardList .bubble {
    top: 3.1rem;
    left: auto;
  }
}
.feature .cardList .num {
  top: -20.1rem;
  right: 0.7rem;
}
@media all and (max-width: 896px) {
  .feature .cardList .num {
    top: auto;
    right: -0.5rem;
  }
}
.feature .cardList .txtBox {
  margin-top: 3.6rem;
}
@media all and (max-width: 896px) {
  .feature .cardList .txtBox {
    margin-top: 1.8rem;
  }
}
.feature .cardList .ttl {
  font-size: 3rem;
  text-align: center;
}
@media all and (max-width: 896px) {
  .feature .cardList .ttl {
    font-size: 2.2rem;
    text-align: left;
  }
}
.feature .cardList .txt {
  width: 51.2rem;
  margin: 3rem 0 0 5.8rem;
}
@media all and (max-width: 896px) {
  .feature .cardList .txt {
    width: auto;
    margin: 2rem 0 0;
  }
}
.feature .cardList .item03 .photo,
.feature .cardList .item05 .photo {
  margin-left: 5.6rem;
}
@media all and (max-width: 896px) {
  .feature .cardList .item03 .photo,
  .feature .cardList .item05 .photo {
    margin-left: 2rem;
  }
}
.feature .cardList .item03 .bubble,
.feature .cardList .item05 .bubble {
  left: 35.8rem;
}
@media all and (max-width: 896px) {
  .feature .cardList .item03 .bubble,
  .feature .cardList .item05 .bubble {
    left: auto;
  }
}
.feature .cardList .item03 .num,
.feature .cardList .item05 .num {
  right: 0;
}
@media all and (max-width: 896px) {
  .feature .cardList .item03 .num,
  .feature .cardList .item05 .num {
    right: -0.5rem;
  }
}
.feature .cardList .item03 .ttl,
.feature .cardList .item05 .ttl {
  padding-left: 0.8rem;
}
@media all and (max-width: 896px) {
  .feature .cardList .item03 .ttl,
  .feature .cardList .item05 .ttl {
    padding-left: 0;
  }
}
.feature .cardList .item03 .txt,
.feature .cardList .item05 .txt {
  margin-left: 6.2rem;
}
@media all and (max-width: 896px) {
  .feature .cardList .item03 .txt,
  .feature .cardList .item05 .txt {
    margin-left: 0;
  }
}
.feature .item02 .bubble {
  letter-spacing: -0.06em;
}
@media all and (max-width: 896px) {
  .feature .item03 {
    margin-top: 5.3rem;
  }
}
.feature .item04 .ttl {
  letter-spacing: -0.02em;
}
@media all and (max-width: 896px) {
  .feature .item04 .ttl {
    letter-spacing: 0.1em;
  }
}
.feature .item04 .txt {
  letter-spacing: -0.01em;
}

/*------------------------------------------------------------
	seimitsu（精密治療／お子様と通われるご家族へ）
------------------------------------------------------------*/
.seimitsu .seimitsu_main {
  position: relative;
  padding: 17.6rem 0 11rem;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_main {
    padding: 8.5rem 0 5rem;
  }
}
.seimitsu .seimitsu_bg {
  position: absolute;
  top: 5.7rem;
  right: 0;
  bottom: 0;
  left: 0;
  background: url(../img/index/seimitsu_bg.webp) 50% 12%/cover no-repeat;
  -webkit-mask: radial-gradient(closest-side, #000 99%, transparent 100%) 50% 0/231.25% 60.06rem no-repeat, linear-gradient(#000, #000) 0 100%/100% calc(100% - 8rem) no-repeat;
  mask: radial-gradient(closest-side, #000 99%, transparent 100%) 50% 0/231.25% 60.06rem no-repeat, linear-gradient(#000, #000) 0 100%/100% calc(100% - 8rem) no-repeat;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_bg {
    top: 1.8rem;
    background-position: 50% 100%;
    -webkit-mask: radial-gradient(closest-side, #000 99%, transparent 100%) 50% 0/231.25% 14.664rem no-repeat, linear-gradient(#000, #000) 0 100%/100% calc(100% - 1.9rem) no-repeat;
    mask: radial-gradient(closest-side, #000 99%, transparent 100%) 50% 0/231.25% 14.664rem no-repeat, linear-gradient(#000, #000) 0 100%/100% calc(100% - 1.9rem) no-repeat;
  }
}
.seimitsu .seimitsu_inner {
  width: 120rem;
  margin: 0 auto;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_inner {
    width: auto;
    padding: 0 2rem;
  }
}
.seimitsu .seimitsu_head {
  position: relative;
  display: flex;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_head {
    display: block;
  }
}
.seimitsu .seimitsu_deco {
  position: absolute;
  top: 5.2rem;
  left: 0;
  font-size: 11.43rem;
  opacity: 0.3;
  pointer-events: none;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_deco {
    top: -3.8rem;
    left: 50%;
    width: 3.719em;
    height: 1.744em;
    margin-left: -13.76rem;
    font-size: 7.57rem;
    line-height: 0.695em;
    white-space: pre-line;
    translate: 0 0.0605em;
  }
}
.seimitsu .seimitsu_ttl {
  position: relative;
  flex-shrink: 0;
  align-self: flex-start;
  width: 40rem;
  font-family: "Shippori Mincho", serif;
  font-size: 5.8rem;
  font-weight: 500;
  line-height: 8.4rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_ttl {
    width: auto;
    font-size: 3.2rem;
    line-height: 4.6rem;
    letter-spacing: 0.08em;
    text-align: center;
  }
}
.seimitsu .seimitsu_txt {
  position: relative;
  flex: 1;
}
.seimitsu .seimitsu_txt .catch {
  font-feature-settings: "palt";
  font-size: 2.2rem;
  line-height: 5.2rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_txt .catch {
    margin-top: 3rem;
    font-size: 1.8rem;
    line-height: 2rem;
    letter-spacing: 0.14em;
    text-align: center;
  }
}
.seimitsu .seimitsu_txt .lead {
  margin-top: 0.7rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_txt .lead {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 2.8rem;
  }
}
.seimitsu .seimitsu_cards {
  display: flex;
  justify-content: space-between;
  margin-top: 4.8rem;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_cards {
    display: block;
    margin-top: 3rem;
  }
}
.seimitsu .seimitsu_cards.-kids {
  justify-content: flex-start;
  gap: 5.4rem;
  margin-top: 3rem;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_cards.-kids {
    margin-top: 2.1rem;
  }
}
.seimitsu .seimitsu_card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 36.4rem;
  height: 32.6rem;
  padding: 2.8rem 3.6rem 3.2rem;
  overflow: hidden;
  border-radius: 2rem;
  color: #f0edeb;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_card {
    width: auto;
    height: auto;
    padding: 2.8rem 2rem 3.2rem;
  }
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_card + .seimitsu_card {
    margin-top: 3rem;
  }
}
.seimitsu .seimitsu_card .bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.seimitsu .seimitsu_card .name {
  font-family: "Shippori Mincho", serif;
  font-size: 2.6rem;
  font-weight: 500;
  line-height: 5.2rem;
  letter-spacing: 0.08em;
  text-align: center;
  white-space: nowrap;
}
.seimitsu .seimitsu_card .name.-narrow {
  letter-spacing: -0.05em;
}
.seimitsu .seimitsu_card .txt {
  width: 100%;
  margin-top: 0.2rem;
  font-size: 1.6rem;
  line-height: 2.8rem;
  text-align: justify;
}
.seimitsu .seimitsu_cards.-kids .seimitsu_card {
  height: 30rem;
  background: linear-gradient(#796d5b, #c2beba);
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_cards.-kids .seimitsu_card {
    height: auto;
  }
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_cards.-kids .seimitsu_card .seimitsu_btn {
    margin-top: 2rem;
  }
}
.seimitsu .seimitsu_cards.-kids .seimitsu_card .seimitsu_btn a::after {
  background-color: #7a6f5c;
}
.seimitsu .seimitsu_btn {
  width: 100%;
  margin-top: auto;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_btn {
    margin-top: 1.8rem;
  }
}
.seimitsu .seimitsu_btn a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 5.4rem;
  padding: 0 4rem;
  border-radius: 4rem;
  background-color: rgba(240, 237, 235, 0.6);
  color: #43382f;
  font-family: "Shippori Mincho", serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}
.seimitsu .seimitsu_btn a::after {
  position: absolute;
  top: 50%;
  right: 2.2rem;
  width: 1rem;
  height: 1.6rem;
  margin-top: -0.8rem;
  content: "";
  background-color: #957b50;
  clip-path: polygon(100% 50%, 0 0, 54% 50%, 0 100%);
  transition: 0.4s ease;
}
@media (hover: hover) {
  .seimitsu .seimitsu_btn a:hover {
    color: #f0edeb;
    background-color: #43382f;
  }
  .seimitsu .seimitsu_btn a:hover::after {
    background-color: #f0edeb;
  }
}
@media (hover: hover) {
  .seimitsu .seimitsu_cards.-kids .seimitsu_btn a:hover::after {
    background-color: #f0edeb;
  }
}
.seimitsu .seimitsu_kids {
  position: relative;
  padding-top: 11rem;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_kids {
    padding: 19.4rem 0 2.1rem;
  }
}
.seimitsu .seimitsu_kids::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: -15.7rem;
  left: 0;
  z-index: -1;
  content: "";
  background-color: #ebeae9;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_kids::before {
    bottom: -4.1rem;
  }
}
.seimitsu .seimitsu_kidsPhoto {
  position: absolute;
  top: 0;
  right: 0;
  left: calc(50% - 5.4rem);
  display: block;
  height: 87.4rem;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_kidsPhoto {
    left: 0;
    height: 26.1rem;
  }
}
.seimitsu .seimitsu_kidsPhoto {
  overflow: hidden;
}
.seimitsu .seimitsu_kidsPhoto img {
  position: absolute;
  top: -2.3rem;
  left: -13.3rem;
  display: block;
  width: 143.8rem;
  max-width: none;
  height: 96rem;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_kidsPhoto img {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    -webkit-mask-image: linear-gradient(#000 70%, transparent 100%);
    mask-image: linear-gradient(#000 70%, transparent 100%);
  }
}
.seimitsu .seimitsu_kidsTtl {
  position: relative;
  font-family: "Shippori Mincho", serif;
  font-size: 4.4rem;
  font-weight: 500;
  line-height: 7.6rem;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_kidsTtl {
    font-size: 3.2rem;
    line-height: 4.4rem;
    letter-spacing: 0.12em;
    text-align: center;
  }
}
.seimitsu .seimitsu_kidsSub {
  margin-top: 4.4rem;
  font-feature-settings: "palt";
  color: #957b50;
  font-size: 2rem;
  font-weight: bold;
  line-height: 2.4rem;
  letter-spacing: 0.09em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_kidsSub {
    margin-top: 1.6rem;
    font-size: 1.8rem;
    letter-spacing: 0;
    text-align: center;
  }
}
.seimitsu .seimitsu_kidsLead {
  margin-top: 2.5rem;
  font-size: 1.6rem;
  line-height: 3.6rem;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .seimitsu .seimitsu_kidsLead {
    margin-top: 1.4rem;
    font-size: 1.4rem;
    line-height: 2.8rem;
    letter-spacing: 0.12em;
    white-space: pre-line;
    font-feature-settings: "palt";
  }
}

/*------------------------------------------------------------
	doctor（Greeting 院長紹介）
------------------------------------------------------------*/
.doctor::before, .doctor::after {
  position: absolute;
  z-index: -1;
  content: "";
  background-color: #f7f7f6;
}
.doctor::before {
  top: 10rem;
  left: -65.625%;
  width: 231.25%;
  height: 60.06rem;
  border-radius: 50%;
}
@media all and (max-width: 896px) {
  .doctor::before {
    top: 2.9rem;
    height: 14.664rem;
  }
}
.doctor::after {
  top: 18rem;
  right: 0;
  bottom: -14.3rem;
  left: 0;
}
@media all and (max-width: 896px) {
  .doctor::after {
    top: 4.8rem;
    bottom: -5.75rem;
  }
}
.doctor .content {
  padding: 24rem 0 3.3rem;
}
@media all and (max-width: 896px) {
  .doctor .content {
    padding: 8rem 2rem 1.4rem;
  }
}
.doctor .doctor_body {
  width: 79rem;
  margin-left: 62.8rem;
}
@media all and (max-width: 896px) {
  .doctor .doctor_body {
    width: auto;
    margin-left: 0;
  }
}
.doctor .doctor_ttl {
  position: relative;
  width: 38.26rem;
  margin-left: 19.785rem;
  font-weight: 500;
}
@media all and (max-width: 896px) {
  .doctor .doctor_ttl {
    width: 20.8rem;
    margin: 0 auto;
  }
}
.doctor .doctor_ttl .comEn {
  font-size: 11.4rem;
}
@media all and (max-width: 896px) {
  .doctor .doctor_ttl .comEn {
    font-size: 6.2rem;
  }
}
.doctor .doctor_ttl .ja {
  position: absolute;
  top: 8.917rem;
  left: 13.315rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  line-height: 2.6rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .doctor .doctor_ttl .ja {
    top: 4.848rem;
    left: 50%;
    transform: translateX(-50%);
  }
}
.doctor .doctor_photo {
  position: absolute;
  top: 17.7rem;
  left: 6.8rem;
  width: 67.9rem;
}
.doctor .doctor_photo img {
  border-radius: 50%;
}
@media all and (max-width: 896px) {
  .doctor .doctor_photo {
    position: relative;
    top: auto;
    left: auto;
    width: 33.5rem;
    max-width: 100%;
    margin: 3.515rem auto 0;
  }
}
.doctor .doctor_photo .main {
  display: block;
  width: 100%;
}
.doctor .doctor_photo .sub {
  position: absolute;
  top: 52rem;
  left: 4.25rem;
  width: 38rem;
}
@media all and (max-width: 896px) {
  .doctor .doctor_photo .sub {
    top: 60.68%;
    left: 3.388%;
    width: 55.96%;
  }
}
.doctor .doctor_catch {
  position: relative;
  width: fit-content;
  margin: 6.04rem auto 0;
  font-family: "Shippori Mincho", serif;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 5rem;
  letter-spacing: 0.12em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .doctor .doctor_catch {
    margin: 8.637rem 0 0 50%;
    transform: translateX(-50%);
    font-size: 2.4rem;
    line-height: 3.6rem;
    letter-spacing: 0.12em;
  }
}
.doctor .doctor_catch .gold {
  color: #957b50;
}
.doctor .doctor_txt {
  position: relative;
  margin-top: 6rem;
  font-size: 1.6rem;
  line-height: 3.2rem;
}
@media all and (max-width: 896px) {
  .doctor .doctor_txt {
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 2.8rem;
    text-align: justify;
    font-feature-settings: "palt";
  }
}
.doctor .doctor_txt p + p {
  margin-top: 2rem;
}
@media all and (max-width: 896px) {
  .doctor .doctor_txt p + p {
    margin-top: 1rem;
  }
}
.doctor .doctor_sign {
  position: relative;
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  width: 79.1rem;
  margin-top: 1rem;
  line-height: 5.2rem;
  font-feature-settings: "palt";
}
@media all and (max-width: 896px) {
  .doctor .doctor_sign {
    width: auto;
    margin: 1.5rem -0.2rem 0 0;
    line-height: 2.2rem;
  }
}
.doctor .doctor_sign .pos {
  position: relative;
  top: 0.4rem;
  font-size: 1.8rem;
  letter-spacing: 0.08em;
}
@media all and (max-width: 896px) {
  .doctor .doctor_sign .pos {
    top: 0.7rem;
    font-size: 1.4rem;
    line-height: 1.4rem;
  }
}
.doctor .doctor_sign .name {
  margin-left: 1.5rem;
  font-size: 2.8rem;
  letter-spacing: 0.08em;
}
@media all and (max-width: 896px) {
  .doctor .doctor_sign .name {
    margin-left: 1rem;
    font-size: 2.2rem;
  }
}
.doctor .comBtn {
  position: relative;
  margin: 6.8rem auto 0;
}
@media all and (max-width: 896px) {
  .doctor .comBtn {
    margin-top: 3rem;
  }
}
@media all and (max-width: 896px) {
  .doctor .comBtn a {
    font-size: 1.5rem;
  }
}

/*------------------------------------------------------------
	treatment（診療内容一覧）
------------------------------------------------------------*/
.treatment {
  position: relative;
}
.treatment::before, .treatment::after {
  position: absolute;
  z-index: -1;
  content: "";
  background-color: #f2ede3;
}
.treatment::before {
  top: 6rem;
  left: -65.625%;
  width: 231.25%;
  height: 60.06rem;
  border-radius: 50%;
}
@media all and (max-width: 896px) {
  .treatment::before {
    top: 3.6rem;
    height: 14.66rem;
  }
}
.treatment::after {
  top: 14rem;
  right: 0;
  bottom: -10.9rem;
  left: 0;
}
@media all and (max-width: 896px) {
  .treatment::after {
    top: 5.6rem;
    bottom: -0.5rem;
  }
}
.treatment .content {
  padding: 17.9rem 0 4.1rem;
}
@media all and (max-width: 896px) {
  .treatment .content {
    padding: 5.3rem 2rem 5rem;
  }
}
.treatment .treatment_logo {
  position: absolute;
  top: 3.5rem;
  left: 4rem;
  z-index: 1;
  width: 50.64rem;
  pointer-events: none;
}
@media all and (max-width: 896px) {
  .treatment .treatment_logo {
    top: 1.7rem;
    left: 1.1rem;
    width: 19.65rem;
  }
}
.treatment .treatment_inner {
  display: flex;
  align-items: flex-start;
}
@media all and (max-width: 896px) {
  .treatment .treatment_inner {
    display: block;
  }
}
.treatment .treatment_col {
  position: relative;
  width: 55rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_col {
    width: auto;
  }
}
.treatment .treatment_col.-left {
  margin-left: 16.6rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_col.-left {
    margin-left: 0;
  }
}
.treatment .treatment_col.-right {
  margin: 2rem 0 0 10.5rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_col.-right {
    margin: 3rem 0 0;
    padding-top: 3rem;
  }
}
.treatment .treatment_col.-right::before {
  position: absolute;
  top: 0;
  left: -5.3rem;
  width: 1px;
  height: 135.2rem;
  content: "";
  background-color: rgba(77, 77, 77, 0.4);
}
@media all and (max-width: 896px) {
  .treatment .treatment_col.-right::before {
    left: -0.7rem;
    width: 100%;
    height: 1px;
  }
}
.treatment .treatment_ttl {
  font-weight: 500;
}
.treatment .treatment_ttl .comEn {
  margin-top: 3.68rem;
  font-size: 11.41rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_ttl .comEn {
    margin: 2.07rem 0 0 0.21rem;
    font-size: 6.41rem;
  }
}
.treatment .treatment_ttl .ja {
  display: block;
  margin: 1.52rem 0 0 0.7rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  line-height: 2.6rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .treatment .treatment_ttl .ja {
    margin: 0.53rem 0 0 0.6rem;
  }
}
.treatment .treatment_ttl + .treatment_cat {
  margin-top: 18.9rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_ttl + .treatment_cat {
    margin-top: 2.6rem;
  }
}
.treatment .treatment_cat {
  position: relative;
}
.treatment .treatment_cat + .treatment_cat {
  margin-top: 5rem;
  padding-top: 5rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_cat + .treatment_cat {
    margin-top: 3rem;
    padding-top: 3rem;
  }
}
.treatment .treatment_cat + .treatment_cat::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 55rem;
  height: 1px;
  content: "";
  background-color: rgba(77, 77, 77, 0.4);
}
@media all and (max-width: 896px) {
  .treatment .treatment_cat + .treatment_cat::before {
    width: 100%;
  }
}
.treatment .treatment_cat.-kids {
  margin-left: -0.3rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_cat.-kids {
    margin-top: 3.4rem;
    margin-left: 0;
    padding-top: 3.1rem;
  }
}
.treatment .treatment_cat.-kids::before {
  left: 0.3rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_cat.-kids::before {
    left: 0;
  }
}
.treatment .treatment_col.-left .treatment_cat + .treatment_cat::before {
  left: -1.3rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_col.-left .treatment_cat + .treatment_cat::before {
    left: -0.7rem;
  }
}
.treatment .treatment_head {
  position: relative;
  padding-left: 9rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_head {
    padding-left: 5.6rem;
  }
}
.treatment .treatment_head .icon {
  position: absolute;
  top: 0.1rem;
  left: 0;
  width: 7.4rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_head .icon {
    top: 0.2rem;
    left: 0.1rem;
    width: 4.6rem;
  }
}
.treatment .treatment_head .lead {
  font-size: 1.6rem;
  line-height: 3.2rem;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .treatment .treatment_head .lead {
    font-size: 0.95rem;
    line-height: 1.9rem;
  }
}
.treatment .treatment_head .name {
  margin: -1.1rem 0 0 0.5rem;
  font-family: "Shippori Mincho", serif;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 7.6rem;
  letter-spacing: 0.1em;
  white-space: nowrap;
  font-feature-settings: "palt";
}
@media all and (max-width: 896px) {
  .treatment .treatment_head .name {
    margin: -0.7rem 0 0 -0.2rem;
    font-size: 2.4rem;
    line-height: 4.5rem;
  }
}
.treatment .treatment_head .name.-long {
  letter-spacing: 0.06em;
}
@media all and (max-width: 896px) {
  .treatment .treatment_head .name.-long {
    letter-spacing: -0.01em;
  }
}
.treatment .treatment_cat.-ortho .treatment_head .icon {
  top: 0.6rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_cat.-ortho .treatment_head .icon {
    top: 0.4rem;
  }
}
.treatment .treatment_cat.-esthetic .treatment_head .icon {
  top: 0.4rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_cat.-esthetic .treatment_head .icon {
    top: 0.2rem;
  }
}
.treatment .treatment_cat.-surgery .treatment_head .icon {
  top: 0;
}
@media all and (max-width: 896px) {
  .treatment .treatment_cat.-surgery .treatment_head .icon {
    top: 0;
  }
}
.treatment .treatment_cat.-kids .treatment_head .icon {
  top: 0.4rem;
  left: 0;
  width: 8.2rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_cat.-kids .treatment_head .icon {
    top: 0.24rem;
    left: -0.3rem;
    width: 5rem;
  }
}
.treatment .treatment_list {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
  margin-top: 1.5rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_list {
    gap: 1.5rem;
    margin-top: 1.1rem;
  }
}
.treatment .treatment_list li {
  width: 26rem;
  padding: 1.4rem 0 2.2rem;
  text-align: center;
  background-color: #ebe1cc;
  border-radius: 2rem;
}
@media all and (max-width: 896px) {
  .treatment .treatment_list li {
    width: calc((100% - 1.5rem) / 2);
    padding: 0.8rem 0 1.4rem;
    border-radius: 1.2rem;
  }
}
.treatment .treatment_list .txt {
  font-size: 1.2rem;
  line-height: 3.2rem;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .treatment .treatment_list .txt {
    font-size: 0.9rem;
    line-height: 1.9rem;
  }
}
.treatment .treatment_list a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 3.2rem);
  height: 4.8rem;
  margin: 0.3rem auto 0;
  padding: 0 2.4rem 0 1.5rem;
  border: 1px solid rgba(67, 56, 47, 0.3);
  border-radius: 2.4rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  white-space: nowrap;
  box-sizing: border-box;
}
.treatment .treatment_list a.-ls0 {
  letter-spacing: 0;
}
@media all and (max-width: 896px) {
  .treatment .treatment_list a {
    width: calc(100% - 2rem);
    height: 2.9rem;
    margin-top: 0.2rem;
    padding: 0 1.8rem 0 1rem;
    border-radius: 1.45rem;
    font-size: 1.2rem;
    letter-spacing: 0;
  }
}
.treatment .treatment_list a::after {
  position: absolute;
  top: 50%;
  right: 1.6rem;
  width: 0.8rem;
  height: 1.2rem;
  margin-top: -0.6rem;
  content: "";
  background-color: #957b50;
  clip-path: polygon(100% 50%, 0 0, 54% 50%, 0 100%);
  transition: 0.4s ease;
}
@media all and (max-width: 896px) {
  .treatment .treatment_list a::after {
    right: 0.98rem;
    width: 0.49rem;
    height: 0.725rem;
    margin-top: -0.3625rem;
  }
}
.treatment .treatment_list a.-narrow {
  letter-spacing: -0.15em;
}
@media all and (max-width: 896px) {
  .treatment .treatment_list a.-narrow {
    letter-spacing: -0.18em;
  }
}
@media (hover: hover) {
  .treatment .treatment_list a:hover {
    color: #f0edeb;
    background-color: #43382f;
    border-color: #43382f;
  }
  .treatment .treatment_list a:hover::after {
    background-color: #f0edeb;
  }
}
.treatment.is-subpage {
  overflow: hidden;
  margin: 0;
}
@media all and (max-width: 896px) {
  .treatment.is-subpage {
    margin-top: 6rem;
  }
}
.treatment.is-subpage::before {
  top: 0;
  left: -65.625%;
  width: 231.25%;
  height: 4rem;
  border-radius: 50%;
}
@media all and (max-width: 896px) {
  .treatment.is-subpage::before {
    height: 2.5rem;
  }
}
.treatment.is-subpage::after {
  top: 1.5rem;
  bottom: 0;
}
@media all and (max-width: 896px) {
  .treatment.is-subpage::after {
    top: 1rem;
    bottom: 0;
  }
}
.treatment.is-subpage .content {
  padding: 9rem 0 9rem;
}
@media all and (max-width: 896px) {
  .treatment.is-subpage .content {
    padding: 4rem 2rem 4rem;
  }
}
.treatment.is-subpage .treatment_ttl .comEn {
  margin-top: 0;
}
@media all and (max-width: 896px) {
  .treatment.is-subpage .treatment_ttl .comEn {
    margin: 0 0 0 0.21rem;
  }
}

/*------------------------------------------------------------
	promise（当院のお約束 / Flow 初めての方へ）
	section top 〜 10.9rem(PC) は透過（treatment の背景が下から覗く）
------------------------------------------------------------*/
.promise {
  overflow: hidden;
  /* ---------- 上部：手の写真 ---------- */
}
.promise .promise_photo {
  height: 33rem;
  margin-top: 10.9rem;
}
@media all and (max-width: 896px) {
  .promise .promise_photo {
    height: 17rem;
    margin-top: 0;
  }
}
.promise .promise_photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.promise {
  /* ---------- 当院のお約束 ---------- */
}
.promise .promise_main {
  position: relative;
  padding-bottom: 8.1rem;
}
@media all and (max-width: 896px) {
  .promise .promise_main {
    padding-bottom: 5rem;
  }
}
.promise .promise_main::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: -9.6rem;
  left: 0;
  z-index: -1;
  content: "";
  background: #f7f6f5 url(../img/index/promise_bg01.webp) no-repeat center/cover;
}
@media all and (max-width: 896px) {
  .promise .promise_main::before {
    bottom: -1.4rem;
  }
}
.promise .promise_main .content {
  display: flow-root;
}
@media all and (max-width: 896px) {
  .promise .promise_main .content {
    padding: 0 2rem;
  }
}
.promise .promise_ttl {
  margin-top: -4.543rem;
  font-weight: 500;
  text-align: center;
}
@media all and (max-width: 896px) {
  .promise .promise_ttl {
    margin-top: -3rem;
  }
}
.promise .promise_ttl .comEn {
  margin: 0 auto;
  font-size: 11.43rem;
}
@media all and (max-width: 896px) {
  .promise .promise_ttl .comEn {
    font-size: 6.9rem;
  }
}
.promise .promise_ttl .ja {
  display: block;
  margin: 1.632rem 2.33rem 0 0;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  line-height: 2.6rem;
  letter-spacing: 0.08em;
}
@media all and (max-width: 896px) {
  .promise .promise_ttl .ja {
    margin: 0.386rem 1.46rem 0 0;
  }
}
.promise .promise_block {
  margin-top: 5rem;
}
@media all and (max-width: 896px) {
  .promise .promise_block {
    margin-top: 1.7rem;
  }
}
@media all and (max-width: 896px) {
  .promise .promise_block:first-of-type {
    margin-top: 2.4rem;
  }
}
.promise .promise_head {
  color: #957b50;
  font-family: "Shippori Mincho", serif;
  font-size: 3.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  text-align: center;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .promise .promise_head {
    font-size: 2rem;
    line-height: 3.8rem;
    text-align: left;
  }
}
.promise .promise_head span {
  display: inline-block;
  padding: 0 0.85rem;
  border-bottom: 1px solid #957b50;
  line-height: 5.9rem;
}
@media all and (max-width: 896px) {
  .promise .promise_head span {
    display: inline;
    padding: 0 0 0.45rem;
    line-height: 3.8rem;
  }
}
@media all and (max-width: 896px) {
  .promise .promise_head.-full {
    line-height: 2rem;
    letter-spacing: -0.03em;
    text-align: center;
  }
}
.promise .promise_head.-full span {
  padding: 0 1.15rem;
}
@media all and (max-width: 896px) {
  .promise .promise_head.-full span {
    display: block;
    padding: 0 0 0.9rem;
    line-height: 2rem;
  }
}
.promise .promise_txt {
  max-width: 97.2rem;
  margin: 3rem auto 0;
  font-size: 1.7rem;
  line-height: 3.6rem;
  letter-spacing: 0.12em;
  text-align: center;
}
@media all and (max-width: 896px) {
  .promise .promise_txt {
    max-width: none;
    margin-top: 2rem;
    font-size: 1.4rem;
    line-height: 2.8rem;
    text-align: left;
  }
}
.promise .promise_txt p + p {
  margin-top: 2rem;
}
@media all and (max-width: 896px) {
  .promise .promise_txt p + p {
    margin-top: 1rem;
  }
}
.promise .promise_block + .promise_block .promise_txt {
  margin-top: 3.5rem;
}
@media all and (max-width: 896px) {
  .promise .promise_block + .promise_block .promise_txt {
    margin-top: 2rem;
  }
}
.promise .promise_main .comBtn {
  margin: 4.5rem auto 0;
}
@media all and (max-width: 896px) {
  .promise .promise_main .comBtn {
    margin-top: 3.8rem;
  }
}
@media all and (max-width: 896px) {
  .promise .promise_main .comBtn a {
    font-size: 1.5rem;
  }
}
@media all and (max-width: 896px) {
  .promise .promise_circles {
    position: relative;
    max-width: 33.5rem;
    height: 24.6rem;
    margin: 2.1rem auto 0;
  }
}
.promise .promise_circles .circle {
  position: absolute;
  z-index: 2;
  overflow: hidden;
  border-radius: 50%;
}
.promise .promise_circles .circle img {
  display: block;
  width: 100%;
  height: 100%;
}
.promise .promise_circles .circle.-c01 {
  top: 26.8rem;
  left: -2.8rem;
  width: 24.6rem;
  height: 24.6rem;
}
@media all and (max-width: 896px) {
  .promise .promise_circles .circle.-c01 {
    top: 0;
    left: 0.3rem;
  }
}
.promise .promise_circles .circle.-c02 {
  top: 3.8rem;
  left: 133.4rem;
  width: 23rem;
  height: 23rem;
}
@media all and (max-width: 896px) {
  .promise .promise_circles .circle.-c02 {
    top: 1.3rem;
    left: 21.1rem;
    width: 12.4rem;
    height: 12.4rem;
  }
}
.promise .promise_circles .circle.-c03 {
  top: 76.5rem;
  left: 109.6rem;
  width: 18.6rem;
  height: 18.6rem;
}
@media all and (max-width: 896px) {
  .promise .promise_circles .circle.-c03 {
    display: none;
  }
}
.promise {
  /* ---------- Flow 初めての方へ ---------- */
}
.promise .promise_flow {
  position: relative;
  padding: 16.5rem 0 10.3rem;
}
@media all and (max-width: 896px) {
  .promise .promise_flow {
    padding: 10rem 0 5rem;
  }
}
.promise .promise_flow::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background: #e6e1dc url(../img/index/promise_bg02.webp) repeat center -15.1rem/max(159.5rem, 100%) auto;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 29' preserveAspectRatio='none'%3E%3Cpath d='M768 0C1043.09 0 1303.57 10.3616 1536 28.8564V29H0V28.8564C232.43 10.3616 492.911 0 768 0Z'/%3E%3C/svg%3E") no-repeat center top/100% 2.9rem, linear-gradient(#000, #000) no-repeat 0 2.8rem/100% calc(100% - 2.8rem);
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1536 29' preserveAspectRatio='none'%3E%3Cpath d='M768 0C1043.09 0 1303.57 10.3616 1536 28.8564V29H0V28.8564C232.43 10.3616 492.911 0 768 0Z'/%3E%3C/svg%3E") no-repeat center top/100% 2.9rem, linear-gradient(#000, #000) no-repeat 0 2.8rem/100% calc(100% - 2.8rem);
}
@media all and (max-width: 896px) {
  .promise .promise_flow::before {
    background-position: center -1.7rem;
    background-size: 243.6rem auto;
    -webkit-mask-size: 100% 0.9rem, 100% calc(100% - 0.8rem);
    mask-size: 100% 0.9rem, 100% calc(100% - 0.8rem);
    -webkit-mask-position: center top, 0 0.8rem;
    mask-position: center top, 0 0.8rem;
  }
}
.promise .promise_flowBox {
  position: relative;
}
@media all and (max-width: 896px) {
  .promise .promise_flowBox {
    margin: 0 2rem;
    padding: 8.6rem 2rem 5.5rem;
    border-radius: 2rem;
    background-color: #f0edeb;
  }
}
.promise .promise_flowTtl {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  font-weight: 500;
}
.promise .promise_flowTtl .comEn {
  position: absolute;
  top: -5.2rem;
  left: 16.6rem;
  font-size: 11.42rem;
}
@media all and (max-width: 896px) {
  .promise .promise_flowTtl .comEn {
    top: -4.1rem;
    left: 0.2rem;
    font-size: 6.74rem;
  }
}
.promise .promise_flowTtl .ja {
  position: absolute;
  top: 3.9rem;
  left: 17.3rem;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  line-height: 2.6rem;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .promise .promise_flowTtl .ja {
    top: 1rem;
    left: 0;
  }
}
.promise .promise_stepList {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 5rem 4.125rem;
  width: 130rem;
  margin: 0 auto;
  padding: 12rem 10rem 5.8rem;
  border-radius: 2rem;
  background-color: #f0edeb;
}
@media all and (max-width: 896px) {
  .promise .promise_stepList {
    display: block;
    width: auto;
    padding: 0;
    border-radius: 0;
    background: none;
  }
}
.promise .promise_stepList li {
  position: relative;
}
@media all and (max-width: 896px) {
  .promise .promise_stepList li:nth-child(2) {
    margin-top: 5.4rem;
  }
}
@media all and (max-width: 896px) {
  .promise .promise_stepList li:nth-child(3) {
    margin-top: 4.4rem;
  }
}
@media all and (max-width: 896px) {
  .promise .promise_stepList li:nth-child(4) {
    margin-top: 5.8rem;
  }
}
@media all and (max-width: 896px) {
  .promise .promise_stepList li:nth-child(5) {
    margin-top: 4.2rem;
  }
}
@media all and (max-width: 896px) {
  .promise .promise_stepList li:nth-child(6) {
    margin-top: 3.4rem;
  }
}
.promise .promise_stepList li:nth-child(1) .img img {
  top: 0%;
  left: -3.98%;
  width: 103.98%;
  height: 100%;
}
@media all and (max-width: 896px) {
  .promise .promise_stepList li:nth-child(1) .img img {
    top: -6.73%;
    left: 0%;
    width: 100.15%;
    height: 112.78%;
  }
}
.promise .promise_stepList li:nth-child(2) .img img {
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
}
@media all and (max-width: 896px) {
  .promise .promise_stepList li:nth-child(2) .img img {
    top: -12.52%;
    left: -0.79%;
    width: 101.48%;
    height: 119%;
  }
}
.promise .promise_stepList li:nth-child(3) .img img {
  top: 0%;
  left: -4.12%;
  width: 108.21%;
  height: 100%;
}
@media all and (max-width: 896px) {
  .promise .promise_stepList li:nth-child(3) .img img {
    top: -5.6%;
    left: 0%;
    width: 100%;
    height: 108.21%;
  }
}
.promise .promise_stepList li:nth-child(4) .img img {
  top: 0%;
  left: -3.85%;
  width: 108.21%;
  height: 100%;
}
@media all and (max-width: 896px) {
  .promise .promise_stepList li:nth-child(4) .img img {
    top: -5.61%;
    left: 0%;
    width: 100%;
    height: 108.21%;
  }
}
.promise .promise_stepList li:nth-child(5) .img img {
  top: 0%;
  left: -3.85%;
  width: 108.21%;
  height: 100%;
}
@media all and (max-width: 896px) {
  .promise .promise_stepList li:nth-child(5) .img img {
    top: -5.61%;
    left: 0%;
    width: 100%;
    height: 108.21%;
  }
}
.promise .promise_stepList li:nth-child(6) .img img {
  top: 0%;
  left: -3.85%;
  width: 108.21%;
  height: 100%;
}
@media all and (max-width: 896px) {
  .promise .promise_stepList li:nth-child(6) .img img {
    top: -5.35%;
    left: 0%;
    width: 100%;
    height: 108.21%;
  }
}
.promise .promise_stepList .img {
  position: relative;
  overflow: hidden;
  aspect-ratio: 339.167/175;
  border-radius: 2rem;
}
@media all and (max-width: 896px) {
  .promise .promise_stepList .img {
    aspect-ratio: 295/130;
  }
}
.promise .promise_stepList .img img {
  position: absolute;
  display: block;
  max-width: none;
}
.promise .promise_stepList .num {
  position: absolute;
  top: -4.1rem;
  left: 0;
  z-index: 1;
  width: 7.7rem;
  color: #957b50;
  font-family: "EB Garamond", serif;
  font-size: 6rem;
  font-weight: 400;
  line-height: 9.4rem;
  letter-spacing: 0.02em;
  text-align: right;
}
.promise .promise_stepList .name {
  margin-top: 2rem;
  font-family: "Shippori Mincho", serif;
  font-size: 2.4rem;
  font-weight: 500;
  line-height: 2.4rem;
  letter-spacing: 0.1em;
  text-align: center;
  white-space: nowrap;
  font-feature-settings: "palt";
}
@media all and (max-width: 896px) {
  .promise .promise_stepList .name {
    margin-top: 1.4rem;
    font-size: 2rem;
  }
}
.promise .promise_stepList .txt {
  margin-top: 2rem;
  font-size: 1.4rem;
  line-height: 2.8rem;
}
@media all and (max-width: 896px) {
  .promise .promise_stepList .txt {
    margin-top: 1.2rem;
    line-height: 2.4rem;
  }
}
.promise .promise_stepList li:nth-child(6) .txt {
  letter-spacing: -0.02em;
}
.promise .promise_cost {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  margin-top: 5rem;
}
@media all and (max-width: 896px) {
  .promise .promise_cost {
    display: block;
    margin-top: 2.3rem;
  }
}
.promise .promise_cost dt {
  position: relative;
  margin-right: 5.1rem;
  padding-right: 5.5rem;
  font-family: "Shippori Mincho", serif;
  font-size: 3.2rem;
  font-weight: 500;
  line-height: 7.6rem;
  letter-spacing: 0.1em;
  font-feature-settings: "palt";
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .promise .promise_cost dt {
    margin: 0;
    padding: 0;
    text-align: center;
  }
}
.promise .promise_cost dt::after {
  position: absolute;
  top: 1.8rem;
  right: 0;
  width: 1px;
  height: 6.3rem;
  content: "";
  background-color: rgba(77, 77, 77, 0.4);
}
@media all and (max-width: 896px) {
  .promise .promise_cost dt::after {
    top: auto;
    bottom: 0;
    left: 0;
    width: auto;
    height: 1px;
  }
}
.promise .promise_cost dd {
  margin-top: 1.4rem;
  font-size: 1.7rem;
  line-height: 3.6rem;
  letter-spacing: 0.06em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .promise .promise_cost dd {
    margin-top: 1.7rem;
    font-size: 1.4rem;
    line-height: 3.4rem;
    letter-spacing: 0.073em;
    white-space: normal;
  }
}
.promise .promise_cost strong {
  font-size: 2.1rem;
  font-weight: bold;
  letter-spacing: 0.06em;
}
.promise .promise_btnList {
  display: flex;
  justify-content: center;
  gap: 5rem;
  margin-top: 5.1rem;
}
@media all and (max-width: 896px) {
  .promise .promise_btnList {
    flex-direction: column;
    gap: 1.2rem;
    margin-top: 3rem;
  }
}
@media all and (max-width: 896px) {
  .promise .promise_btnList .comBtn {
    max-width: none;
  }
}
@media all and (max-width: 896px) {
  .promise .promise_btnList .comBtn a {
    min-height: 5.6rem;
    font-size: 1.5rem;
  }
}
@media all and (max-width: 896px) {
  .promise .promise_btnList .comBtn a::after {
    right: 1.6rem;
    width: 0.88rem;
    height: 1.28rem;
    margin-top: -0.64rem;
  }
}

/*------------------------------------------------------------
	topics（PC 1536×1216 / SP 375×961）
	記事カード（PC3件・SP4件）＋ Instagram / Recruit バナー＋写真列（左右見切れ）
------------------------------------------------------------*/
.topics {
  padding-bottom: 6.3rem;
}
@media all and (max-width: 896px) {
  .topics {
    padding-bottom: 4.7rem;
  }
}
.topics::before {
  position: absolute;
  top: 0;
  bottom: -95rem;
  left: 0;
  z-index: -1;
  width: 100%;
  content: "";
  background-color: #fafafa;
  pointer-events: none;
}
@media all and (max-width: 896px) {
  .topics::before {
    top: -0.2rem;
    bottom: -9.7rem;
  }
}
.topics > .content {
  padding: 10.6rem 0 0 31.879rem;
}
@media all and (max-width: 896px) {
  .topics > .content {
    padding: 16.2rem 2rem 0;
  }
}
.topics {
  /* 見出し（筆記体 Topics＋トピックス） */
}
.topics .topics_ttl {
  position: absolute;
  top: 13.636rem;
  left: 11.4rem;
  width: 16.8rem;
  font-weight: 500;
}
@media all and (max-width: 896px) {
  .topics .topics_ttl {
    top: 5rem;
    left: 50%;
    width: 14.2rem;
    margin-left: -7.25rem;
  }
}
.topics .topics_ttl .comEn {
  margin-left: 0.3rem;
  font-size: 7.31rem;
}
@media all and (max-width: 896px) {
  .topics .topics_ttl .comEn {
    margin-left: 0;
    font-size: 6.29rem;
  }
}
.topics .topics_ttl .ja {
  display: block;
  margin-top: 0.896rem;
  color: #43382f;
  font-family: "Shippori Mincho", serif;
  font-size: 1.8rem;
  line-height: 1.45;
  letter-spacing: -0.04em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .topics .topics_ttl .ja {
    margin-top: -0.655rem;
    text-align: center;
    letter-spacing: -0.17em;
  }
}
.topics {
  /* 記事カード */
}
.topics .topics_list {
  display: flex;
}
@media all and (max-width: 896px) {
  .topics .topics_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.4rem 1.5rem;
    max-width: 60rem;
    margin: 0 auto;
  }
}
.topics .topics_list li {
  width: 33.4rem;
}
@media all and (max-width: 896px) {
  .topics .topics_list li {
    width: auto;
    min-width: 0;
  }
}
.topics .topics_list li:nth-child(2) {
  margin-left: 4.005rem;
}
@media all and (max-width: 896px) {
  .topics .topics_list li:nth-child(2) {
    margin-left: 0;
  }
}
.topics .topics_list li:nth-child(3) {
  margin-left: 5.746rem;
}
@media all and (max-width: 896px) {
  .topics .topics_list li:nth-child(3) {
    margin-left: 0;
  }
}
.topics .topics_list a {
  display: block;
  color: #43382f;
  transition: opacity 0.4s ease;
}
@media (hover: hover) {
  .topics .topics_list a:hover {
    opacity: 0.6;
  }
}
.topics .topics_list .thumb {
  overflow: hidden;
  aspect-ratio: 334/180;
  border-radius: 1.6911rem;
}
@media all and (max-width: 896px) {
  .topics .topics_list .thumb {
    aspect-ratio: 160/84;
    border-radius: 1.1329rem;
  }
}
.topics .topics_list .thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.topics .topics_list .meta {
  position: relative;
  display: flex;
  align-items: center;
  height: 2rem;
  margin-top: 1.294rem;
}
@media all and (max-width: 896px) {
  .topics .topics_list .meta {
    height: 1.6rem;
    margin-top: 0.6rem;
  }
}
.topics .topics_list .date {
  padding-left: 0.239rem;
  color: #957b50;
  font-family: "EB Garamond", serif;
  font-size: 1.3rem;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
@media all and (max-width: 896px) {
  .topics .topics_list .date {
    padding-left: 0.111rem;
    font-size: 1rem;
  }
}
.topics .topics_list .cat {
  position: absolute;
  top: 0;
  left: 7.864rem;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 6rem;
  height: 2rem;
  padding: 0 0.8rem;
  border-radius: 1rem;
  color: #f0edeb;
  background-color: rgba(149, 123, 80, 0.8);
  font-size: 1.2rem;
  line-height: 1;
  letter-spacing: 0.06em;
  white-space: nowrap;
  font-feature-settings: "palt";
}
@media all and (max-width: 896px) {
  .topics .topics_list .cat {
    left: 5.4rem;
    min-width: 4.4rem;
    height: 1.6rem;
    padding: 0 0.5rem;
    border-radius: 0.8rem;
    font-size: 0.8rem;
  }
}
.topics .topics_list .cat.-case {
  background-color: rgba(67, 56, 47, 0.7);
}
.topics .topics_list .ttl {
  display: -webkit-box;
  overflow: hidden;
  height: 4rem;
  margin-top: 0.612rem;
  font-size: 1.3rem;
  line-height: 2rem;
  letter-spacing: 0.1em;
  text-align: justify;
  font-feature-settings: "palt";
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
@media all and (max-width: 896px) {
  .topics .topics_list .ttl {
    height: 2.4924rem;
    margin-top: 0.409rem;
    font-size: 0.793rem;
    line-height: 1.2462rem;
  }
}
.topics {
  /* Instagram / Recruit バナー */
}
.topics .topics_bnr {
  display: flex;
  margin: 10.794rem 0 0 -20.079rem;
}
@media all and (max-width: 896px) {
  .topics .topics_bnr {
    flex-direction: column;
    align-items: center;
    margin: 4.8rem 0 0;
  }
}
.topics .topics_bnr li {
  width: 62.6rem;
}
.topics .topics_bnr li + li {
  margin-left: 4.9rem;
}
@media all and (max-width: 896px) {
  .topics .topics_bnr li + li {
    margin: 1.6rem 0 0;
  }
}
@media all and (max-width: 896px) {
  .topics .topics_bnr li {
    width: 100%;
    max-width: 60rem;
  }
}
.topics .topics_bnr a {
  position: relative;
  display: block;
  overflow: hidden;
  height: 20rem;
  border-radius: 10rem;
  color: #fafafa;
  isolation: isolate;
}
@media all and (max-width: 896px) {
  .topics .topics_bnr a {
    height: 10.6rem;
    border-radius: 5.3rem;
  }
}
.topics .topics_bnr a::after {
  position: absolute;
  top: 8.5rem;
  right: 3.5rem;
  width: 1.7rem;
  height: 2.8rem;
  content: "";
  background-color: #f0edeb;
  clip-path: polygon(100% 50%, 0 0, 54% 50%, 0 100%);
  transition: transform 0.4s ease;
}
@media all and (max-width: 896px) {
  .topics .topics_bnr a::after {
    top: 4.505rem;
    right: 1.873rem;
    width: 0.91rem;
    height: 1.484rem;
  }
}
.topics .topics_bnr a::before {
  position: absolute;
  inset: 0;
  z-index: 1;
  content: "";
  background-color: #43382f;
  opacity: 0;
  transition: opacity 0.4s ease;
  pointer-events: none;
}
@media (hover: hover) {
  .topics .topics_bnr a:hover::before {
    opacity: 0.25;
  }
  .topics .topics_bnr a:hover::after {
    transform: translateX(0.6rem);
  }
  .topics .topics_bnr a:hover .bg {
    transform: scale(1.05);
  }
}
.topics .topics_bnr .bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.4s ease;
}
.topics .topics_bnr .lead,
.topics .topics_bnr .en,
.topics .topics_bnr .ja {
  position: absolute;
  z-index: 2;
  white-space: nowrap;
}
.topics .topics_bnr .lead {
  top: 4rem;
  left: 0;
  width: 100%;
  font-size: 2rem;
  line-height: 3.2rem;
  letter-spacing: 0.11em;
  text-align: center;
}
@media all and (max-width: 896px) {
  .topics .topics_bnr .lead {
    top: 1.585rem;
    font-size: 1.2rem;
  }
}
.topics .topics_bnr .en {
  color: #fafafa;
}
.topics .topics_bnr .ja {
  font-family: "Shippori Mincho", serif;
  font-size: 2rem;
  line-height: 1.45;
}
@media all and (max-width: 896px) {
  .topics .topics_bnr .ja {
    left: 50%;
    font-size: 1.3rem;
  }
}
.topics .topics_bnr .-insta .en {
  top: 7.3rem;
  left: 7.1rem;
  font-size: 7.42rem;
}
@media all and (max-width: 896px) {
  .topics .topics_bnr .-insta .en {
    top: 4.23rem;
    left: 50%;
    font-size: 4.21rem;
    margin-left: -12.99rem;
  }
}
.topics .topics_bnr .-insta .ja {
  top: 10.1rem;
  left: 38rem;
  letter-spacing: -0.1em;
}
@media all and (max-width: 896px) {
  .topics .topics_bnr .-insta .ja {
    top: 5.65rem;
    left: 50%;
    margin-left: 4.25rem;
  }
}
@media all and (max-width: 896px) {
  .topics .topics_bnr .-recruit .lead {
    top: 1.1rem;
  }
}
.topics .topics_bnr .-recruit .en {
  top: 8.5rem;
  left: 12.3rem;
  font-size: 7.41rem;
}
@media all and (max-width: 896px) {
  .topics .topics_bnr .-recruit .en {
    top: 4.79rem;
    left: 50%;
    font-size: 4.21rem;
    margin-left: -10.02rem;
  }
}
.topics .topics_bnr .-recruit .ja {
  top: 11rem;
  left: 38.2rem;
  letter-spacing: 0.12em;
}
@media all and (max-width: 896px) {
  .topics .topics_bnr .-recruit .ja {
    top: 6rem;
    left: 50%;
    margin-left: 4.25rem;
  }
}
.topics {
  /* 写真列（左右見切れ・静的） */
}
.topics .topics_photo {
  overflow: hidden;
  margin-top: 11rem;
}
@media all and (max-width: 896px) {
  .topics .topics_photo {
    margin-top: 4.6rem;
  }
}
.topics .topics_photo .list {
  display: flex;
  justify-content: center;
  gap: 1.3020833333vw;
  width: 120.1171875vw;
  margin-left: calc(50% - 60.05859375vw);
}
@media all and (max-width: 896px) {
  .topics .topics_photo .list {
    gap: 2.104vw;
    width: 194.1333333333vw;
    margin-left: calc(50% - 97.2vw);
  }
}
.topics .topics_photo li {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex-shrink: 0;
  width: 22.9817708333vw;
  height: 24.0885416667vw;
}
@media all and (max-width: 896px) {
  .topics .topics_photo li {
    width: 37.144vw;
    height: 38.9333333333vw;
  }
}
.topics .topics_photo img {
  display: block;
  width: 100%;
  height: 11.3932291667vw;
  object-fit: cover;
  border-radius: 1.3020833333vw;
}
@media all and (max-width: 896px) {
  .topics .topics_photo img {
    height: 18.4133333333vw;
    border-radius: 2.104vw;
  }
}
.topics .topics_photo .-tall img {
  height: 100%;
}/*# sourceMappingURL=index.css.map */