@charset "UTF-8";
/* ==================================================================================================================================

  *共通

================================================================================================================================== */
/* タイトル */
.home_titEn {
  font-family: "cormorant-infant", sans-serif;
  font-weight: 400;
  font-style: normal;
  font-size: 120px;
  letter-spacing: 0.075em;
  line-height: 1.2;
  background: linear-gradient(180deg, #423c36 0%, #86776b 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  color: transparent;
  margin-bottom: 8px;
}

.home_tit {
  font-family: "source-han-serif-jp-subset", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0.15em;
  line-height: 1.6;
  padding-left: 40px;
  position: relative;
  margin-bottom: 40px;
}
.home_tit::before {
  display: block;
  content: "";
  width: 28px;
  height: 1px;
  background: currentColor;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
}

@media screen and (max-width: 640px) {
  .home_titEn {
    font-size: clamp(40px, 19.2vw, 72px);
  }
  .home_tit {
    font-size: clamp(18px, 5.3vw, 20px);
  }
}

@media print, screen and (min-width: 641px) {
  main .btn01 a {
    min-width: 200px;
  }
}

/* ==================================================================================================================================

  *メインビジュアル

================================================================================================================================== */
.home_mv {
  position: relative;
  z-index: 1;
  height: 1080px;
  overflow: hidden;
}

.mvSlider {
  width: 100%;
  height: 100%;
}

.mvImg {
  width: 100%;
  height: 100%;
}

.mvImg .splide__track {
  width: 100%;
  height: 100%;
}

.mvImg .splide__slide {
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.mvImg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

@media screen and (max-width: 640px) {
  .home_mv {
    height: 240px;
  }
}

/* ==================================================================================================================================

  *home_top_bg

================================================================================================================================== */
.home_top_bg {
  padding-top: 130px;
  padding-bottom: 140px;
  background: url(../images/home/news_en.png) center bottom no-repeat, url(../images/home/top_bg2.jpg) right top no-repeat, url(../images/home/top_bg.jpg) center top repeat-y;
}

@media screen and (max-width: 640px) {
  .home_top_bg {
    background-size: 100% auto, auto 100px, 100% auto;
    background-image: url(../images/home/news_en.png), url(../images/home/top_bg2.jpg), url(../images/home/bg_sp.jpg);
    padding-top: 50px;
    padding-bottom: 60px;
  }
}

/* ==================================================================================================================================

  *バナーエリア

================================================================================================================================== */
.home_bnr {
  margin-bottom: 105px;
}
.home_bnr .splide__arrow {
  display: block;
  width: 46px;
  height: 46px;
  background: url(../images/home/slider_arrow_next.png) center/100% auto no-repeat;
  font-size: 0;
  cursor: pointer;
  position: absolute;
  top: 50%;
  z-index: 10;
  transform: translateY(-50%);
}
.home_bnr .splide__arrow--prev {
  left: -30px;
  background-image: url(../images/home/slider_arrow_prev.png);
}
.home_bnr .splide__arrow--next {
  right: -30px;
}

@media (hover: hover) {
  .home_bnr_list a:hover {
    opacity: 0.8;
  }
}

@media print, screen and (min-width: 641px) {
  .home_bnr .inner {
    max-width: 1440px;
    padding-left: 50px;
    padding-right: 50px;
  }
}

@media screen and (max-width: 640px) {
  .home_bnr {
    margin-bottom: 60px;
  }
  .home_bnr .splide {
    max-width: 424px;
    margin-inline: auto;
  }
  .home_bnr .splide__arrow--prev {
    left: -5%;
  }
  .home_bnr .splide__arrow--next {
    right: -5%;
  }
}

/* ==================================================================================================================================

  *お知らせ

================================================================================================================================== */
.home_news .home_tit {
  margin-bottom: 0;
}
.home_news_head .btn01 {
  margin-top: 175px;
}
.home_news li {
  line-height: 1.4;
}
.home_news li:not(.home_news_empty) {
  border-top: 1px dashed #ccc;
}
.home_news li a {
  display: flex;
  align-items: center;
  gap: 0 34px;
  color: var(--text-color);
  padding: 34px 34px 34px 34px;
}
.home_news li a > * {
  display: block;
}
.home_news_date, .home_news_cate {
  flex-shrink: 0;
}
.home_news_cate {
  font-style: normal;
  text-align: center;
  padding: 6px 15px;
}
.home_news_tit {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (hover: hover) {
  .home_news li a:hover {
    color: var(--main-color);
  }
}

@media print, screen and (min-width: 641px) {
  .home_news .inner {
    display: flex;
    justify-content: space-between;
  }
  .home_news_head {
    flex: 1;
  }
  .home_news_list {
    width: 770px;
    padding-top: 36px;
  }
  .home_news_date {
    font-size: 14px;
  }
  .home_news_cate {
    min-width: 128px;
    font-size: 15px;
  }
}

@media screen and (max-width: 640px) {
  .home_news_head {
    margin-bottom: 40px;
  }
  .home_news_head .btn01 {
    text-align: right;
    margin-top: 30px;
  }
  .home_news li a {
    flex-wrap: wrap;
    gap: 10px;
    padding: 20px 0;
  }
  .home_news_tit {
    width: 100%;
  }
}

/* ==================================================================================================================================

  *医院概要

================================================================================================================================== */
.home_clinic {
  background: linear-gradient(to right, #423c36 0%, #423c36 50%, #a89e96 50%, #a89e96 100%);
  padding-top: 85px;
  padding-bottom: 160px;
  color: #fff;
}

.home_clinic .inner {
  display: flex;
  flex-flow: wrap;
  justify-content: space-between;
}

.home_clinic .inner > * {
  width: 560px;
}

/* ------ 左側 ------ */
.home_clinic_name {
  font-family: "source-han-serif-jp-subset", sans-serif;
  font-weight: 700;
  font-style: normal;
  font-size: 34px;
}

.home_clinic_address,
.home_clinic_department {
  font-family: "source-han-serif-jp-subset", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.home_clinic_address {
  margin-bottom: 15px;
}

.home_clinic_tel {
  margin-bottom: 15px;
}

.home_clinic_tel a {
  color: #bc9b7d;
  font-size: 34px;
  font-family: "source-han-serif-jp-subset", sans-serif;
  font-weight: 600;
  font-style: normal;
  letter-spacing: 0.15em;
  line-height: 1;
}

.home_clinic_schedule {
  margin-top: 50px;
}

/* ------ 右側 ------ */
.home_clinic_map {
  position: relative;
  border: 4px solid #fff;
  text-align: center;
}

.home_clinic_map iframe {
  width: 100%;
  height: 392px;
}

.home_clinic_map + .btn01 {
  margin-top: 40px;
  text-align: center;
}

.home_clinic_map + .btn01 > *:hover {
  background-color: var(--sub-color);
}

@media screen and (max-width: 640px) {
  .home_clinic {
    padding: 0;
    background: none;
  }
  .home_clinic .inner {
    display: block;
    padding: 0;
  }
  .home_clinic .inner > * {
    width: 100%;
    padding: 50px 5%;
  }

  /* ------ 左側 ------ */
  .home_clinic_left {
    background: #423c36;
  }
  .home_clinic_tel a {
    font-size: clamp(24px, 9vw, 34px);
  }

  /* ------ 右側 ------ */
  .home_clinic_right {
    background: #a89e96;
  }
}

/* ==================================================================================================================================

  *赤羽歯科 新宿診療所のコンセプト

================================================================================================================================== */
.home_conceptWrap {
  padding-top: 150px;
  padding-bottom: 190px;
  background: #d9d6d4;
}

.home_concept {
  margin-bottom: 160px;
}
.home_concept_catch {
  font-family: "source-han-serif-jp-subset", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 32px;
  letter-spacing: 0.1em;
  margin-bottom: 90px;
}
.home_concept_text {
  font-family: "source-han-serif-jp-subset", sans-serif;
  font-weight: 500;
  font-style: normal;
  line-height: 2.4;
  text-shadow: 0 0 10px #fff;
}
.home_concept_text p:not(:last-child) {
  margin-bottom: 2em;
}
.home_concept .btn01 {
  text-align: right;
  margin-top: 25px;
}

@media print, screen and (min-width: 641px) {
  .home_concept {
    position: relative;
  }
  .home_concept .inner {
    position: relative;
    z-index: 1;
  }
  .home_concept .home_tit {
    margin-bottom: 35px;
  }
  .home_concept_catch {
    padding-left: 7.7em;
    text-indent: -7.7em;
  }
  .home_concept_text,
.home_concept .btn01 {
    padding-left: 246px;
    padding-right: 150px;
  }
  .home_concept_img {
    position: absolute;
  }
  .home_concept_img.home_concept_img-l {
    width: 500px;
    left: 25px;
    top: 450px;
  }
  .home_concept_img.home_concept_img-r {
    width: 590px;
    right: 0;
    top: 124px;
  }
}

@media screen and (min-width: 641px) and (max-width: 1780px) {
  .home_concept_text {
    text-shadow: 0 0 6px #fff, 0 0 8px #fff, 0 0 10px #fff;
  }
}

@media screen and (max-width: 640px) {
  .home_conceptWrap {
    padding-top: 60px;
    padding-bottom: 80px;
  }
  .home_concept {
    margin-bottom: 60px;
  }
  .home_concept_catch {
    font-size: clamp(16px, 4.8vw, 18px);
    margin-bottom: 30px;
  }
  .home_concept_img.home_concept_img-l {
    max-width: 500px;
    width: 78%;
    margin-top: 30px;
  }
  .home_concept_img.home_concept_img-r {
    max-width: 590px;
    width: 90%;
    margin-left: auto;
    margin-top: 10px;
  }
}

/* ==================================================================================================================================

  *無限スライダー

================================================================================================================================== */
#infinitySlider {
  padding-bottom: 20px;
  background: url(../images/home/slider_bg.jpg) right bottom no-repeat;
}

#infinitySlider .splide__list {
  gap: 40px;
}

#infinitySlider .splide__slide {
  width: 448px !important;
}

@media screen and (max-width: 640px) {
  #infinitySlider {
    padding-bottom: 10px;
    background-size: auto 20px;
  }
  #infinitySlider .splide__list {
    gap: 20px;
  }
  #infinitySlider .splide__slide {
    width: 200px !important;
  }
}

/* ==================================================================================================================================

  *ドクター紹介

================================================================================================================================== */
.home_doctor {
  padding-bottom: 235px;
  background: url(../images/home/doctor_en.png) center bottom no-repeat, url(../images/home/doctor_bg.jpg) center top;
  padding-top: 1px;
}
.home_doctor .home_titEn {
  margin-top: -0.7em;
}
.home_doctor_con {
  overflow: hidden;
}
.home_doctor_con .inner {
  padding-top: 40px;
  position: relative;
}
.home_doctor_con .inner::before {
  display: block;
  content: "";
  width: 778px;
  aspect-ratio: 778/400;
  background: url(../images/home/doctor_bg2.jpg) right top/100% auto no-repeat;
  pointer-events: none;
  position: absolute;
  right: -40px;
  top: 0;
}
.home_doctor .splide {
  padding: 24px;
  background: url(../images/home/doctor_bg3.jpg);
}
.home_doctor .splide__arrow {
  display: block;
  width: 46px;
  height: 46px;
  background: url(../images/home/slider_arrow_next.png) center/100% auto no-repeat;
  font-size: 0;
  cursor: pointer;
  position: absolute;
  top: 50%;
  z-index: 10;
  transform: translateY(-50%);
}
.home_doctor .splide__arrow--prev {
  left: -13px;
  background-image: url(../images/home/slider_arrow_prev.png);
}
.home_doctor .splide__arrow--next {
  right: -13px;
}
.home_doctor_item {
  position: relative;
}
.home_doctor_item a {
  display: block;
}
.home_doctor_item_img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.home_doctor_item_text {
  width: 100%;
  color: #fff;
  font-family: "source-han-serif-jp-subset", sans-serif;
  font-weight: 400;
  font-style: normal;
  line-height: 1.6;
  text-align: center;
  background-color: rgb(129 121 115 / 0.94);
  padding: 32px 20px 40px;
  position: absolute;
  left: 0;
  bottom: 0;
}
.home_doctor_item_text * {
  letter-spacing: 0.1em;
}
.home_doctor_item_position {
  font-size: 16px;
  margin-bottom: 20px;
}
.home_doctor_item_name {
  font-size: 28px;
}
.home_doctor_item_en {
  font-family: "cormorant-infant", sans-serif;
  font-weight: 300;
  font-style: italic;
  font-size: 13px;
  margin-top: 5px;
}
.home_doctor .btn01 {
  text-align: center;
  margin-top: 50px;
}

@media (hover: hover) {
  .home_doctor_item_text {
    transition: background-color 0.3s, color 0.3s;
  }
  .home_doctor_item a:hover .home_doctor_item_text {
    background-color: rgb(217 214 212 / 0.94);
    color: var(--text-color);
  }
}

@media screen and (max-width: 640px) {
  .home_doctor {
    padding-bottom: 60px;
    background-image: url(../images/home/doctor_en.png), url(../images/home/bg_sp.jpg);
    background-size: 100% auto;
  }
  .home_doctor_con .inner {
    padding-top: 30px;
  }
  .home_doctor_con .inner::before {
    width: 80%;
    right: 0;
  }
  .home_doctor .splide {
    max-width: 408px;
    padding: 20px;
    background-image: url(../images/home/doctor_bg3_sp.jpg);
    background-size: 100% auto;
    margin-inline: auto;
  }
  .home_doctor .splide__arrow--prev {
    left: -5%;
  }
  .home_doctor .splide__arrow--next {
    right: -5%;
  }
}

/* ==================================================================================================================================

  *赤羽歯科 新宿診療所の5つの特徴

================================================================================================================================== */
.home_feature {
  background: url(../images/home/feature_bg.jpg) center top;
  padding-top: 160px;
  padding-bottom: 255px;
  overflow: hidden;
}
.home_feature_item {
  background: #fff;
}
.home_feature_item:not(:last-child) {
  margin-bottom: 85px;
}
.home_feature_item_img {
  position: relative;
}
.home_feature_item_img::before {
  display: block;
  content: "";
  width: calc(100% - 32px);
  height: calc(100% - 32px);
  border: 1px solid #fff;
  opacity: 0.5;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.home_feature_item_img::after {
  display: block;
  content: "";
  width: 36%;
  height: 100%;
  background: linear-gradient(to right, rgb(255 255 255 / 0), #fff);
  position: absolute;
  right: 0;
  top: 0;
}
.home_feature_item_textArea {
  font-family: "source-han-serif-jp-subset", sans-serif;
  font-weight: 500;
  font-style: normal;
  padding: 55px 72px 0 30px;
}
.home_feature_item_head {
  margin-bottom: 45px;
}
.home_feature_item_num {
  max-width: 116px;
}
.home_feature_item_tit {
  font-size: 32px;
  letter-spacing: 0.1em;
}
.home_feature_item_en {
  display: flex;
  align-items: center;
  gap: 0 1em;
  color: #a89e96;
  font-family: "cormorant-infant", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0.1em;
  line-height: 1.3;
  margin-top: 15px;
}
.home_feature_item_en::after {
  content: "";
  display: block;
  flex: 1;
  height: 1px;
  background: currentColor;
}
.home_feature_item_text {
  line-height: 2.4;
}
.home_feature_item .btn01 {
  text-align: right;
  margin-top: 35px;
}

@media print, screen and (min-width: 641px) {
  .home_feature .home_tit {
    margin-bottom: 90px;
  }
  .home_feature_item {
    display: flex;
    margin-left: -284px;
    margin-right: -56px;
  }
  .home_feature_item_img {
    flex: 1;
  }
  .home_feature_item_textArea {
    width: 710px;
  }
  .home_feature_item_head {
    padding-top: 45px;
    position: relative;
  }
  .home_feature_item_num {
    position: absolute;
    left: 0;
    top: 0;
    transform: translateX(-100%);
  }
  .home_feature_item:nth-child(even) {
    flex-direction: row-reverse;
    margin-left: -56px;
    margin-right: -284px;
  }
  .home_feature_item:nth-child(even) .home_feature_item_img::after {
    background: linear-gradient(to left, rgb(255 255 255 / 0), #fff);
    right: auto;
    left: 0;
  }
  .home_feature_item:nth-child(even) .home_feature_item_textArea {
    width: 796px;
    padding: 55px 0 0 188px;
    margin-right: -86px;
  }
}

@media screen and (max-width: 640px) {
  .home_feature {
    background: url(../images/home/feature_bg_sp2.jpg) center top/100% auto no-repeat;
    padding-top: 60px;
    padding-bottom: 60px;
    position: relative;
    overflow: hidden;
  }
  .home_feature::before, .home_feature::after {
    display: block;
    content: "";
    pointer-events: none;
    position: absolute;
  }
  .home_feature::before {
    width: 100%;
    height: 100%;
    background: url(../images/home/bg_sp.jpg) center top/100% auto;
    margin-top: 54.7%;
    left: 0;
    top: 0;
    z-index: -1;
  }
  .home_feature::after {
    width: 76%;
    height: calc(100% - 220px);
    background: url(../images/home/feature_bg_sp3.jpg) center top/100% auto;
    margin-top: 110px;
    right: 0;
    top: 0;
  }
  .home_feature .inner {
    position: relative;
    z-index: 1;
  }
  .home_feature_item:not(:last-child) {
    margin-bottom: 40px;
  }
  .home_feature_item_img {
    text-align: center;
  }
  .home_feature_item_img::before {
    width: calc(100% - 20px);
    height: calc(100% - 20px);
  }
  .home_feature_item_img::after {
    width: 100%;
    height: 30%;
    background: linear-gradient(to bottom, rgb(255 255 255 / 0), #fff);
    top: auto;
    bottom: 0;
  }
  .home_feature_item_textArea {
    padding: 30px 6%;
  }
  .home_feature_item_head {
    margin-bottom: 30px;
  }
  .home_feature_item_num {
    max-width: 58px;
  }
  .home_feature_item_tit {
    font-size: clamp(16px, 5.3vw, 20px);
    line-height: 1.8;
  }
  .home_feature_item_en {
    font-size: 16px;
    margin-top: 5px;
  }
  .home_feature_item .btn01 {
    margin-top: 20px;
  }
}

/* ==================================================================================================================================

  *お悩み・症状・治療内容

================================================================================================================================== */
.home_medical {
  padding-top: 1px;
  padding-bottom: 240px;
  background: url(../images/home/medical_en.png) center bottom no-repeat, url(../images/home/medical_bg.jpg) #e6e4e1 center bottom no-repeat;
}

.home_medical .home_titEn {
  margin-top: -0.7em;
}

.home_medical_con {
  overflow: hidden;
}

.home_medical .tab_list {
  gap: 0;
  margin-bottom: 55px;
}

.home_medical .tab_list .tab {
  padding: 28px 20px;
  font-family: "source-han-serif-jp-subset", sans-serif;
  font-weight: 500;
  font-style: normal;
  font-size: 20px;
  letter-spacing: 0.15em;
  line-height: 1.6;
  background: #beb7b3;
}
.home_medical .tab_list .tab.active {
  background: #423c36;
}

.home_medical .panel {
  padding: 0;
  background: none;
}

.home_medical .panel.active {
  display: flex;
  flex-flow: wrap;
  align-items: flex-start;
  gap: 56px;
}

.home_medical_img {
  width: 786px;
  margin-left: -250px;
  margin-bottom: 0 !important;
}

.home_medical_list {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 8px;
}

.home_medical_list li {
  width: calc(50% - 4px);
}

.home_medical_list li a {
  min-height: 96px;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  line-height: 1.75;
  text-align: center;
  padding: 20px 32px;
  color: #fff;
  background: url(../images/btn_arrow.png) right 16px center/6px auto no-repeat;
  background-color: rgb(66 60 54 / 0.96);
}

@media (hover: hover) {
  .home_medical_list li a {
    transition: background-color 0.3s, color 0.3s, box-shadow 0.3s;
  }
  .home_medical_list li a:hover {
    background-image: url(../images/btn_arrow_black.png);
    background-color: rgb(255 255 255 / 0.96);
    color: var(--text-color);
    box-shadow: 0 0 5px 0 rgb(148 147 145 / 0.05);
  }
}

@media print, screen and (min-width: 641px) {
  .home_medical .home_tit {
    margin-bottom: 90px;
  }
  .home_medical .tab_wrap.inner {
    max-width: 1520px;
    padding-left: 50px;
    padding-right: 50px;
  }
}

@media screen and (max-width: 640px) {
  .home_medical {
    padding-bottom: 60px;
    background-size: 100% auto;
  }
  .home_medical .tab_list {
    gap: 10px;
    margin-bottom: 25px;
  }
  .home_medical .tab_list .tab {
    padding: 12px 20px;
    font-size: 18px;
  }
  .home_medical .panel.active {
    display: block;
  }
  .home_medical_img {
    width: 100%;
    text-align: center;
    margin: 0 0 20px !important;
  }
  .home_medical_list {
    display: block;
  }
  .home_medical_list li {
    width: 100%;
  }
  .home_medical_list li:not(:last-child) {
    margin-bottom: 10px;
  }
  .home_medical_list li a {
    min-height: auto;
    padding: 15px 32px;
  }
}