/* ----------------------------
 - 共通設定
 - ファーストビュー
 - お知らせ
 - 当院紹介
 - 選ばれる理由
 - 院長紹介
 - 診療案内
 - ピックアップ診療
 - 診療方針
 - 院内設備
 - アクセス
---------------------------- */

/* ------------------------------
  共通設定
------------------------------ */
html {
  scroll-behavior: smooth;
}

body{
	color:#555555;
	    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
}

a{
	 color: #555555;
	text-decoration: none;
}

section,div{
	box-sizing:border-box;
}

.sp_only {
  display: none;
}

.pc_only {
  display: block;
}

@media (max-width: 768px) {
  .sp_only {
    display: block;
  }

  .pc_only {
    display: none;
  }
}

/* ------------------------------
  ファーストビュー
------------------------------ */
.fv {
    position: relative;
    overflow: hidden;
    color: #404040;
    font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
    background: #fff;
    padding-top: 6.5rem;
}

.fv__body {
  position: relative;
  display: grid;
  grid-template-columns: minmax(420px, 46%) minmax(520px, 54%);
  min-height: 760px;
}

.fv__content {
    position: relative;
    z-index: 2;
    padding: 5rem 0 5rem 5rem;
}

.fv__copy {
    margin: 0;
    font-size: 3rem;
    font-weight: 400;
    line-height: 1.52;
    letter-spacing: 0.12em;
}

.fv_copy_sb > span{
	color:#161616;
}

.fv__line {
  width: 56px;
  height: 1px;
margin: 1rem 0;
  background: #404040;
}

.fv__text {
  margin: 0;
  font-size: 17px;
  line-height: 2.05;
  letter-spacing: 0.08em;
}

.fv__points {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 26px;
  max-width: 590px;
  margin: 42px 0 0;
  padding: 0;
  list-style: none;
}

.fv__points li {
  font-size: 14px;
  line-height: 1.75;
  letter-spacing: 0.06em;
  text-align: center;
}

.fv__point-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 66px;
    height: 66px;
    margin: 0 auto 12px;
    color: #404040;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 27px;
    line-height: 1;
    background: rgb(245 245 245);
    border: 1px solid rgba(64, 64, 64, 0.16);
    border-radius: 50%;
    box-sizing: border-box;
}

.fv__point-icon img {
    width: 60%;
    height: auto;
    object-fit: cover;
    display: block;
}

.fv__btns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 18px;
    margin-top: 36px;
}

.fv__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 230px;
  min-height: 58px;
  padding: 0 24px;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-decoration: none;
  border-radius: 8px;
  box-sizing: border-box;
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.fv__btn--primary {
  color: #fff;
  background: #404040;
  box-shadow: 0 10px 22px rgba(64, 64, 64, 0.18);
}

.fv__btn--outline {
    color: #404040;
    background: rgba(255, 255, 255, 0.86);
    border: 1px solid rgba(64, 64, 64, 0.5);
    box-shadow: 0px 0px 7px 1px rgb(64 64 64 / 12%);
}

.fv__btn:hover {
    opacity: 0.82;
    transform: translateY(-2px);
    box-shadow: 0px 4px 8px 2px rgb(64 64 64 / 16%);
}

.fv__btn-icon {
    overflow: hidden;
    width: 10%;
    height: auto;
}

.fv__btn-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.fv__btn-arrow {
  margin-left: auto;
  font-size: 24px;
  line-height: 1;
}

/* 写真 */
.fv__image {
  position: relative;
  overflow: hidden;
  min-height: 760px;
}

.fv__image::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 34%;
  background: linear-gradient(90deg, #fff 0%, rgba(255, 255, 255, 0.86) 42%, rgba(255, 255, 255, 0) 100%);
  pointer-events: none;
}

.fv__image::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  background: rgba(255, 255, 255, 0.06);
  pointer-events: none;
}

.fv__image img {
    display: block;
    width: 160%;
    height: 100%;
    min-height: 760px;
    object-fit: cover;
    object-position: center;
    top: 0;
    right: -16rem;
    position: absolute;
}

/* 下部特徴 */
.fv__features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    padding: 1.2rem 0;
    background: rgba(255, 255, 255, 0.94);
    border-top: 1px solid rgba(64, 64, 64, 0.12);
    box-shadow: 0 -10px 28px rgba(80, 120, 140, 0.04);
    width: 90%;
    box-sizing: border-box;
    gap: 4rem;
    margin: 0 auto;
}

.fv__features_box {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
}

.features_box_img {
    overflow: hidden;
    width: 11%;
    height: auto;
}

.features_box_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.fv__feature {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
    letter-spacing: 0.08em;
    width: 100%;
}

.fv__feature + .fv__feature {
  border-left: 1px solid rgba(64, 64, 64, 0.16);
}

.fv__feature span {
    font-size: 1.2rem;
    line-height: 1.5;
}

.fv__feature strong {
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.5;
}

/* ------------------------------
  tablet
------------------------------ */
@media screen and (max-width: 1180px) {
.fv {
    padding-top: 5rem;
}

  .fv__body {
    grid-template-columns: 1fr;
    min-height: initial;
  }

.fv__points {
    max-width: 60%;
}

.fv__content {
    padding: 3rem 4rem;
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
}
.fv__image {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    min-height: auto;
}
	
.fv__content::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #ffffffa3;
    z-index: 0;
}

.fv__content * {
    position: relative;
    z-index: 1;
}

  .fv__image::before {
    display: none;
  }
	
.fv__image img {
    display: block;
    width: 140%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    top: 0;
    right: auto;
}

.fv__features {
    padding: 1vw 3vw;
    background: rgb(245 245 245);
    margin: 0 0;
    width: 100%;
    gap: 1.3rem;
}

.fv__feature strong {
    font-size: 16px;
}

.features_box_img {
    width: 10%;
}

}

/* ------------------------------
  smartphone
------------------------------ */
@media screen and (max-width: 767px) {

.fv {
    padding-top: 5rem;
}
	
.fv__content {
    padding: 12rem 0 0 0;
    display: flex;
    flex-direction: column;
    gap: 0rem;
}

.fv_p_box{
    width: 90%;
    margin: 0 auto;
}

  .fv__copy {
        font-size: 2.5rem;
    line-height: 1.55;
    letter-spacing: 0.08em;
  }

.fv__line {
/*     margin: 0.8rem 0; */
	display:none;
}

.fv__text {
    font-size: 15px;
    line-height: normal;
    letter-spacing: 1px;
    background: rgb(255 255 255 / 47%);
    /* border: 1px solid rgba(64, 64, 64, 0.12); */
    /* box-shadow: 0 20px 45px rgba(80, 120, 140, 0.1); */
    padding: 8px 10px;
    margin-top: 9px;
}

.fv_copy_sb {
    font-size: 1rem;
    letter-spacing: normal;
}

.fv_copy_main {
    font-size: 2.2rem;
    line-height: normal;
}

.fv_copy_main .first {
    color: #161616;
font-size: 3.6rem;
    letter-spacing: 5px;
}
.fv_copy_main .second {
    color: #161616;
    font-size: 3rem;
    line-height: 1rem;
}




/* ポイント以下 */	

.fv_i_box {
    /* background: #fff; */
    padding: 1rem;
}

.fv__points {
/*     margin: 5rem auto 0; */
    margin: 0 0;
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 6px;
    padding: 1rem 1rem;
    box-sizing: border-box;
}

.fv__points li {
    font-size: 11px;
}

  .fv__point-icon {
    width: 56px;
    height: 56px;
    margin-bottom: 8px;
    font-size: 23px;
  }

.fv__btns {
    display: flex;
    gap: 14px;
    margin: 0 0;
    flex-direction: row;
}

  .fv__btn {
    width: 100%;
    min-width: initial;
    min-height: 56px;
    font-size: 14px;
  }

.fv__image {
    height: 100%;
}
	
.fv__image img {
    min-height: 57rem;
    width: 130%;
    top: -6rem;
    right: 0;
}
	
  .fv__features {
    grid-template-columns: 1fr;
    padding: 0 20px;
    border-top: none;
  }

  .fv__feature {
    min-height: 94px;
    border-top: 1px solid rgba(64, 64, 64, 0.14);
  }

  .fv__feature + .fv__feature {
    border-left: none;
  }

  .fv__feature span {
    font-size: 14px;
  }

  .fv__feature strong {
    font-size: 16px;
  }
}


/* ------------------------------
  お知らせ
------------------------------ */
.top-news {
    padding: 90px 20px 40px;
}

.top-news__inner {
    display: grid;
    grid-template-columns: 300px 1fr;
    gap: 70px;
    max-width: 1360px;
    margin: 0 auto;
    padding: 48px 64px;
    background: #fff;
    border: 1px solid rgba(64, 64, 64, 0.08);
    box-shadow: 0 18px 45px rgba(64, 64, 64, 0.06);
}

.top-news__head {
  padding-top: 4px;
}

.top-news__en {
    margin: 0 0 12px;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 14px;
    letter-spacing: 0.18em;
    color: #404040;
}

.top-news__title {
  margin: 0;
  font-size: 42px;
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: 0.18em;
}
.top-news__title::after {
    content: "";
    display: block;
    width: 42px;
    height: 1px;
    margin: 1.2rem 0;
    background: #404040;
}

.top-news__lead {
    margin: 0 0;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.08em;
}

.common-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    min-width: 210px;
    min-height: 54px;
    margin-top: 34px;
    padding: 0 24px;
    letter-spacing: 0.08em;
    text-decoration: none;
    border: 1px solid #404040;
    border-radius: 10px;
    box-sizing: border-box;
    transition: opacity 0.3s ease, transform 0.3s ease;
    font-size: 15px;
    line-height: normal;
    color: #404040;
    background: #fff;
    box-shadow: 0px 0px 7px 1px rgb(64 64 64 / 12%);
}

.common-btn:hover,
.common-btn:active {
    opacity: 0.75;
    transform: translateY(-2px);
    box-shadow: 0px 4px 8px 2px rgb(64 64 64 / 14%);
}

.common-btn-arrow {
    font-size: 24px;
    line-height: normal;
    top: -2px;
    position: relative;
}

.btn-right .common-btn {
    display: flex;
    width: fit-content;
    margin: 34px 0 0 auto;
}

.top-news__list {
  width: 100%;
}

.top-news__item {
  border-bottom: 1px solid rgba(64, 64, 64, 0.12);
}

.top-news__item:first-child {
  border-top: none;
}

.top-news__link {
  display: grid;
  grid-template-columns: 130px 120px 1fr 24px;
  gap: 26px;
  align-items: center;
  min-height: 74px;
  text-decoration: none;
  transition: opacity 0.3s ease;
}

.top-news__link:hover {
  opacity: 0.7;
}

.top-news__date {
    font-family: "Noto Sans JP", sans-serif;
    font-size: 15px;
    letter-spacing: 0.08em;
    color: #404040;
}

.top-news__cat {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  min-height: 30px;
  padding: 0 14px;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0.08em;
  background: rgba(64, 64, 64, 0.06);
  border-radius: 8px;
  box-sizing: border-box;
}

.top-news__post-title {
  font-size: 16px;
  line-height: 1.7;
  letter-spacing: 0.08em;
}

.top-news__arrow {
  font-size: 26px;
  line-height: 1;
  text-align: right;
}

.top-news__empty {
  margin: 0;
  padding: 32px 0;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.08em;
}

/* ------------------------------
  tablet
------------------------------ */
@media only screen and (max-width: 960px) {
  .top-news {
    padding: 76px 24px;
  }

  .top-news__inner {
    grid-template-columns: 1fr;
    gap: 34px;
    padding: 42px 36px;
  }

  .top-news__head {
    padding-top: 0;
  }

  .top-news__title {
    font-size: 36px;
  }

  .top-news__lead {
    margin-top: 26px;
  }

  .common-btn {
    margin-top: 26px;
  }

  .top-news__link {
    grid-template-columns: 120px 110px 1fr 20px;
    gap: 18px;
  }
}

/* ------------------------------
  smartphone
------------------------------ */
@media only screen and (max-width: 480px) {
.top-news {
    padding: 1rem 1rem 0;
}

.top-news__inner {
    gap: 28px;
    padding: 32px 30px;
}

  .top-news__en {
    margin-bottom: 8px;
    font-size: 12px;
  }

  .top-news__title {
    font-size: 32px;
  }

  .top-news__title::after {
    margin-top: 16px;
  }

  .top-news__lead {
    font-size: 14px;
    line-height: 1.9;
  }

  .top-news__lead br {
    display: none;
  }

  .common-btn {
    width: 100%;
    min-width: initial;
    min-height: 52px;
    margin-top: 24px;
    font-size: 13px;
  }

  .top-news__link {
    position: relative;
    display: block;
    min-height: initial;
    padding: 18px 28px 18px 0;
  }

  .top-news__date {
    display: inline-block;
    margin-right: 10px;
    font-size: 13px;
  }

  .top-news__cat {
    min-width: 82px;
    min-height: 26px;
    padding: 0 10px;
    font-size: 12px;
  }

  .top-news__post-title {
    display: block;
    margin-top: 10px;
    font-size: 14px;
  }

  .top-news__arrow {
    position: absolute;
    top: 50%;
    right: 0;
    font-size: 22px;
    transform: translateY(-50%);
  }
}


/* ------------------------------
  コラム
------------------------------ */
.top-column {
  padding: 0px 20px 90px !important;
}

@media only screen and (max-width: 480px) {
.top-column {
    padding: 0.9rem 1rem 1rem !important;
}
}
/* ------------------------------
  当院紹介
------------------------------ */
.clinic-intro {
    padding: 5rem 20px;
    background: radial-gradient(circle at 92% 8%, rgba(64, 64, 64, 0.035) 0%, rgba(64, 64, 64, 0) 34%),
    linear-gradient(180deg, rgba(64, 64, 64, 0.025) 0%, rgba(64, 64, 64, 0.012) 100%);
}

.clinic-intro__inner {
    width: auto;
    margin: 0 auto;
    box-sizing: border-box;
}

.clinic-intro__box {
    position: relative;
    overflow: hidden;
    text-align: center;
    width: 100%;
    box-sizing: border-box;
}

.clinic-intro__box p {
  position: relative;
  z-index: 1;
  margin: 0;
  font-size: 18px;
  line-height: 2.05;
  letter-spacing: 0.1em;
}

.clinic-intro__box p + p {
  margin-top: 20px;
}

/* 見出し非表示 */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  clip: rect(0, 0, 0, 0);
  border: 0;
}

/* YouTube */
.youtube-box {
    width: 50%;
    margin: 5rem auto 0;
    aspect-ratio: 16 / 9;
}

.youtube-box iframe {
  width: 100%;
  height: 100%;
  display: block;
}
/* ------------------------------
  tablet
------------------------------ */
@media only screen and (max-width: 960px) {
.clinic-intro {
    padding: 4rem 0;
}

  .clinic-intro__box p {
    font-size: 16px;
    line-height: 2;
  }
}

/* ------------------------------
  smartphone
------------------------------ */
@media only screen and (max-width: 480px) {
.clinic-intro {
    padding: 3rem 1.5rem;
}



.clinic-intro__box p {
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: normal;
}

.clinic-intro__box p + p {
    margin-top: 5px;
}
	

.youtube-box {
    width: 100%;
margin: 2rem auto 0;
}
}


/* ------------------------------
  選ばれる理由
------------------------------ */
.top-reason {
  padding: 110px 0px;
  background:
    radial-gradient(circle at 84% 8%, rgba(64, 64, 64, 0.035) 0%, rgba(64, 64, 64, 0) 28%),
    linear-gradient(180deg, #fff 0%, rgba(64, 64, 64, 0.025) 100%);
}

.top-reason__inner {
    width: 100%;
    margin: 0 auto;
}

.top-reason__head {
    margin: 0 auto 5rem;
    width: 85%;
}

.top-reason__en {
  margin: 0 0 10px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  letter-spacing: 0.18em;
}

.top-reason__title {
  margin: 0;
  font-size: 48px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.12em;
}

.top-reason__title span {
  color: #404040;
}

.top-reason__title::after {
  content: "";
  display: block;
  width: 54px;
  height: 1px;
  margin-top: 18px;
  background: #404040;
}

.top-reason__lead {
  margin: 28px 0 0;
  font-size: 17px;
  line-height: 1.9;
  letter-spacing: 0.08em;
}

.top-reason__list {
    display: grid;
    gap: 0;
    width: 100%;
}

.top-reason__item {
    position: relative;
    display: grid;
    grid-template-columns: 42% 58%;
    align-items: center;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.92);
    height: 34rem;
}

.top-reason__item--reverse {
  grid-template-columns: 58% 42%;
}

.top-reason__item--reverse .top-reason__image {
  order: 2;
}

.top-reason__item--reverse .top-reason__content {
  order: 1;
}

.top-reason__image {
  width: 100%;
  height: 100%;
  min-height: 210px;
  overflow: hidden;
}

.top-reason__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 210px;
  object-fit: cover;
  transition: transform 0.5s ease;
}

.free-counseling img {
    display: block;
    width: 140%;
    height: 100%;
    min-height: 210px;
    object-fit: cover;
    transition: transform 0.5s ease;
}

.top-reason__item:hover .top-reason__image img {
  transform: scale(1.04);
}

.top-reason__content {
    position: relative;
    padding: 2rem 4rem 2rem 3rem;
}

.top-reason__num {
    position: absolute;
    top: 18px;
    left: 6rem;
    font-family: "Times New Roman", serif;
    font-size: 3rem;
    font-style: italic;
    line-height: 1;
    letter-spacing: 0.04em;
    color: #404040;
}

.top-reason__content h3 {
    margin: 0 0 18px;
    padding-left: 7rem;
    font-size: 28px;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0.1em;
}

.top-reason__content h3 span {
  color: #404040;
}

.top-reason__content p {
    margin: 0;
    padding-left: 7rem;
    font-size: 15px;
    line-height: 2;
    letter-spacing: 0.08em;
}

/* ------------------------------
  tablet
------------------------------ */
@media only screen and (max-width: 960px) {
.top-reason {
    padding: 86px 0;
}

  .top-reason__title {
    font-size: 40px;
  }

  .top-reason__lead {
    font-size: 16px;
  }

.top-reason__item, .top-reason__item--reverse {
    grid-template-columns: 1fr;
    height: 100%;
}

  .top-reason__item--reverse .top-reason__image,
  .top-reason__item--reverse .top-reason__content {
    order: initial;
  }

.top-reason__image, .top-reason__image img {
    height: 25rem;
    width: 100%;
    min-height: 100%;
}

.top-reason__content {
    padding: 2rem 2.3rem 7rem;
}

  .top-reason__num {
    top: 34px;
    left: 36px;
    font-size: 32px;
  }

  .top-reason__content h3,
  .top-reason__content p {
    padding-left: 84px;
  }

  .top-reason__content h3 {
    font-size: 25px;
  }
}

/* ------------------------------
  smartphone
------------------------------ */
@media only screen and (max-width: 480px) {
.top-reason {
    padding: 64px 0;
}

  .top-reason__head {
    margin-bottom: 28px;
  }

  .top-reason__en {
    font-size: 12px;
  }

.top-reason__title {
    font-size: 31px;
    line-height: 1.55;
    letter-spacing: 1px;
}

  .top-reason__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.8;
  }

  .top-reason__lead br {
    display: none;
  }

.top-reason__image, .top-reason__image img {
    height: 13rem;
}

.top-reason__content {
    padding: 2rem 1.2rem 4rem;
}

  .top-reason__num {
    position: static;
    display: block;
    margin-bottom: 10px;
    font-size: 28px;
  }

  .top-reason__content h3,
  .top-reason__content p {
    padding-left: 0;
  }

.top-reason__content h3 {
    margin-bottom: 14px;
    font-size: 21px;
    line-height: 1.6;
    letter-spacing: normal;
}

  .top-reason__content p {
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 0.05em;
  }

}

/* ------------------------------
  院長紹介
------------------------------ */
.top-doctor {
    padding: 9rem 4rem;
    background: #fff;
}

.top-doctor__inner {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 4rem;
    align-items: center;
    margin: 0 auto;
    width: 100%;
}

.top-doctor__image {
    overflow: hidden;
    height: 100%;
}

.top-doctor__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* 右側 */
.top-doctor__content {
  position: relative;
  padding: 20px 10px 20px 0;
}

.top-doctor__en {
  margin: 0 0 14px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  letter-spacing: 0.18em;
}

.top-doctor__title {
  margin: 0;
  font-size: 52px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.14em;
}

.top-doctor__title span {
  color: #404040;
}

.top-doctor__title::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  margin-top: 24px;
  background: #404040;
}

.top-doctor__name {
  display: flex;
  align-items: baseline;
  gap: 34px;
  margin-top: 44px;
}

.top-doctor__name span {
  font-size: 22px;
  letter-spacing: 0.12em;
}

.top-doctor__name strong {
  font-size: 36px;
  font-weight: 400;
  letter-spacing: 0.16em;
}

.top-doctor__text {
  margin: 32px 0 0;
  font-size: 16px;
  line-height: 2.05;
  letter-spacing: 0.08em;
}

.top-doctor__cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 38px;
}

.top-doctor__card {
    display: grid;
    grid-template-rows: 1fr 1fr;
    justify-items: center;
    height: 10rem;
    padding: 18px 10px;
    text-align: center;
    background: rgb(245 245 245);
    border: 1px solid rgba(64, 64, 64, 0.16);
    box-sizing: border-box;
    overflow: hidden;
    align-items: end;
}

.top-doctor__card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 100%;
    min-height: 0;
    overflow: hidden;
    line-height: 1;
}

.top-doctor__card-icon img {
  display: block;
width: 100%;
height: 100%;
  object-fit: contain;
}

.top-doctor__card p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: 0.06em;
    color: #404040;
}

/* 資格 */
.top-doctor__license {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 34px;
    align-items: center;
    margin-top: 40px;
    padding-top: 36px;
    border-top: 1px solid rgba(64, 64, 64, 0.12);
}

.top-doctor__license h3 {
  margin: 0;
  padding-left: 26px;
  font-size: 19px;
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: 0.08em;
  border-left: 1px solid rgba(64, 64, 64, 0.18);
}

.top-doctor__license ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.top-doctor__license li {
  position: relative;
  padding-left: 16px;
  font-size: 15px;
  line-height: 1.9;
  letter-spacing: 0.06em;
}

.top-doctor__license li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.top-doctor__content a {
    right: 0;
    position: relative;
}


/* ------------------------------
  tablet
------------------------------ */
@media only screen and (max-width: 960px) {
.top-doctor {
    padding: 6rem 0;
}

.top-doctor__inner {
    gap: 4rem;
    align-items: center;
    margin: 0 auto;
    width: 100%;
    display: flex;
    flex-direction: column;
}


.top-doctor__image {
    height: 20rem;
    width: auto;
    margin: 0 auto;
}

  .top-doctor__content {
    padding: 0;
  }


  .top-doctor__title {
    font-size: 42px;
  }

  .top-doctor__name {
    margin-top: 34px;
  }

  .top-doctor__license {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .top-doctor__license h3 {
    padding-left: 18px;
  }


}

/* ------------------------------
  smartphone
------------------------------ */
@media only screen and (max-width: 480px) {
.top-doctor {
    padding: 4rem 2rem;
}

.top-doctor__inner {
    gap: 30px;
    padding: 0 0;
}

  .top-doctor__image {
    height: 360px;
  }

  .top-doctor__en {
    margin-bottom: 8px;
    font-size: 12px;
  }

  .top-doctor__title {
    font-size: 34px;
    letter-spacing: 0.1em;
  }

  .top-doctor__title::after {
    margin-top: 18px;
  }

  .top-doctor__name {
    display: block;
    margin-top: 28px;
  }

  .top-doctor__name span {
    display: block;
    margin-bottom: 8px;
    font-size: 15px;
  }

  .top-doctor__name strong {
    font-size: 27px;
  }

  .top-doctor__text {
    margin-top: 24px;
    font-size: 14px;
    line-height: 1.9;
    letter-spacing: 0.05em;
  }

  .top-doctor__cards {
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    margin-top: 28px;
  }

.top-doctor__card {
    height: 9rem;
    padding: 14px 8px;
}

.top-doctor__card-icon {
    width: auto;
    height: 90%;
}

  .top-doctor__card p {
    font-size: 12px;
    line-height: 1.6;
  }

  .top-doctor__license {
    gap: 18px;
    margin-top: 30px;
    padding-top: 28px;
  }

  .top-doctor__license h3 {
    font-size: 17px;
  }

  .top-doctor__license li {
    font-size: 13px;
    line-height: 1.8;
  }
}


/* ------------------------------
  診療案内
------------------------------ */
.top-medical {
    padding: 110px 20px;
    background: radial-gradient(circle at 92% 8%, rgba(64, 64, 64, 0.035) 0%, rgba(64, 64, 64, 0) 34%),    linear-gradient(180deg, rgba(64, 64, 64, 0.025) 0%, rgba(64, 64, 64, 0.012) 100%);
}

.top-medical__inner {
    width: 95%;
    margin: 0 auto;
    padding: 4rem 4rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(64, 64, 64, 0.08);
    box-shadow: 0 20px 45px rgba(64, 64, 64, 0.06);
}

.top-medical__head {
  margin-bottom: 42px;
}

.top-medical__en {
  margin: 0 0 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  letter-spacing: 0.18em;
}

.top-medical__title {
  margin: 0;
  font-size: 52px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.14em;
}

.top-medical__title span {
  color: #404040;
}

.top-medical__title::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  margin-top: 24px;
  background: #404040;
}

.top-medical__lead {
  margin: 30px 0 0;
  font-size: 17px;
  line-height: 1.9;
  letter-spacing: 0.08em;
}

.top-medical__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
}

.top-medical__item {
  min-width: 0;
}

.top-medical__link {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 1rem;
    align-items: center;
    height: 100%;
    padding: 1.1rem 0.5rem;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.9);
    border: 1px solid #404040;
    border-radius: 14px;
    box-sizing: border-box;
    transition: opacity 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease;
    justify-content: center;
    justify-items: start;
    box-shadow: 0px 0px 7px 1px rgb(64 64 64 / 12%);
}

.top-medical__link:hover,
.top-medical__link:active  {
    opacity: 0.82;
    transform: translateY(-3px);
    box-shadow: 0px 4px 8px 2px rgb(64 64 64 / 14%);
}

.top-medical__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 92px;
  height: 92px;
  background: rgba(64, 64, 64, 0.045);
  border-radius: 50%;
}

.top-medical__icon img {
  display: block;
  width: 58px;
  height: 58px;
  object-fit: contain;
}

.top-medical__body h3 {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: normal;
}


/* ------------------------------
  tablet
------------------------------ */
@media only screen and (max-width: 960px) {
.top-medical {
    padding: 3rem 0 5rem;
}

.top-medical__inner {
    padding: 3rem 2rem;
}

  .top-medical__title {
    font-size: 42px;
  }

  .top-medical__lead {
    font-size: 16px;
  }

.top-medical__list {
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
}

.top-medical__link {
    padding: 1rem 1rem;
}

  .top-medical__icon {
    width: 78px;
    height: 78px;
  }

  .top-medical__icon img {
    width: 50px;
    height: 50px;
  }

.top-medical__body h3 {
    font-size: 18px;
}
}

/* ------------------------------
  smartphone
------------------------------ */
@media only screen and (max-width: 480px) {
  .top-medical {
    padding: 64px 16px;
  }

.top-medical__inner {
    padding: 0 0;
    border: none;
    box-shadow: none;
    width: 90%;
    background: none;
}

  .top-medical__head {
    margin-bottom: 28px;
  }

  .top-medical__en {
    margin-bottom: 8px;
    font-size: 12px;
  }

  .top-medical__title {
    font-size: 34px;
    letter-spacing: 0.1em;
  }

  .top-medical__title::after {
    margin-top: 18px;
  }

  .top-medical__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.8;
  }

.top-medical__list {
    grid-template-columns: 1fr;
    gap: 12px;
}

.top-medical__link {
    padding: 15px 18px;
    border-radius: 12px;
}

  .top-medical__icon {
    width: 62px;
    height: 62px;
  }

  .top-medical__icon img {
    width: 40px;
    height: 40px;
  }

  .top-medical__body h3 {
    font-size: 18px;
    line-height: 1.5;
    letter-spacing: 0.06em;
  }

}


/* ------------------------------
  ピックアップ診療
------------------------------ */
#pickup-sec .common-btn {
    width: 70%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: auto;
    margin-left: auto;
}

#pickup-sec .top-reason {
    padding: 7rem 0px;
    background: rgb(245 245 245);
}

#pickup-sec .top-reason__item{
	background:none;
}
/* ------------------------------
  tablet
------------------------------ */
@media only screen and (max-width: 960px) {

	#pickup-sec .common-btn {
    width: 82%;
}
}

/* ------------------------------
  smartphone
------------------------------ */
@media only screen and (max-width: 480px) {

	#pickup-sec .common-btn {
    width: 90%;
}

#pickup-sec .top-reason {
    padding: 3rem 0;
}
}



/* ------------------------------
  診療方針
------------------------------ */
.top-policy {
    padding: 2rem 1.1rem;
    background-image: url("http://slc-jp.com.testrs.jp/nagisa-dental/wp-content/uploads/2026/07/SELECT__DSC1640.jpg");
    background-repeat: no-repeat;
    background-position: center -17rem;
    background-size: 180%;
    position: relative;
}

.top-policy::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #ffffff03;
    z-index: 0;
}

.top-policy * {
    position: relative;
    z-index: 1;
}

.top-policy__inner {
    max-width: 90%;
    margin: 0 auto;
}

.top-policy__main {

}

.top-policy__content {
  position: relative;
  z-index: 2;
  padding: 40px 0 40px 20px;
}

.top-policy__en {
  margin: 0 0 18px;
  color: #404040;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  letter-spacing: 0.18em;
}

.top-policy__title {
    margin: 0;
    font-size: 3rem;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: 0.12em;
	letter-spacing: 3px;
}

.top-policy__title span {
    color: #404040;
    font-size: 3.7rem;
}

.top-policy__title::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  margin-top: 28px;
  background: #404040;
}

.top-policy__lead {
  margin: 30px 0 0;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.08em;
}

.top-policy__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
  margin-top: 40px;
}

.top-policy__item {
    position: relative;
    padding: 2.5rem 1.5rem;
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(64, 64, 64, 0.1);
    box-shadow: 0 14px 32px rgba(64, 64, 64, 0.06);
    box-sizing: border-box;
}

.top-policy__num {
  display: block;
  margin-bottom: 12px;
  color: #404040;
  font-family: "Times New Roman", serif;
  font-size: 34px;
  font-style: italic;
  line-height: 1;
  letter-spacing: 0.06em;
}

.top-policy__item h3 {
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 1.65;
    letter-spacing: normal;
}

.top-policy__item h3::after {
    content: "";
    display: block;
    width: 38px;
    height: 1px;
    margin: 18px 0;
    background: #404040;
}

.top-policy__item p {
  margin: 0;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.08em;
}

/* ------------------------------
  tablet
------------------------------ */
@media only screen and (max-width: 960px) {
  .top-policy {
    padding: 86px 24px;
  }


  .top-policy__main {

  }

  .top-policy__content {
    padding: 0 0 36px;
  }

  .top-policy__title {
    font-size: 42px;
  }

  .top-policy__lead {
    font-size: 16px;
  }

  .top-policy__list {
    gap: 18px;
    margin-top: 0;
  }

.top-policy__item {
    min-height: initial;
    padding: 1.5rem 1rem;
}

.top-policy__item h3 {
    font-size: 1.3rem;
    margin: 0 0;
}

	.top-policy__item h3 br{
		display:block;
	}
}

/* ------------------------------
  smartphone
------------------------------ */
@media only screen and (max-width: 480px) {
.top-policy {
    padding: 64px 16px;
    background-position: center center;
    background-size: cover;
}
	
.top-policy__content {
    padding: 0 0 36px;
    width: 90%;
    margin: 0 auto;
}

.top-policy__inner {
    max-width: 100%;

}

  .top-policy__en {
    margin-bottom: 10px;
    font-size: 12px;
  }

  .top-policy__title {
    font-size: 31px;
    line-height: 1.6;
    letter-spacing: 0.08em;
  }

  .top-policy__title::after {
    margin-top: 20px;
  }

.top-policy__title span {
    color: #404040;
    font-size: 2.4rem;
}

  .top-policy__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 0.06em;
  }

  .top-policy__lead br {
    display: none;
  }
	
.top-policy__list {
    gap: 14px;
    display: flex;
    flex-direction: column;
}

  .top-policy__item {
    padding: 26px 20px 28px;
  }

  .top-policy__num {
    margin-bottom: 10px;
    font-size: 28px;
  }

  .top-policy__item h3 {
    margin-bottom: 18px;
    font-size: 21px;
    line-height: 1.6;
    letter-spacing: 0.06em;
  }

  .top-policy__item h3::after {
    margin-top: 14px;
  }

  .top-policy__item p {
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 0.05em;
  }
}

/* ------------------------------
  院内設備
------------------------------ */
.top-equipment {
    padding: 110px 0;
    background: #fff;
}

.top-equipment__inner {
  margin: 0 auto;
}

.top-equipment__head {
    width: 85%;
    margin: 0 auto 46px;
}

.top-equipment__en {
  margin: 0 0 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  letter-spacing: 0.18em;
}

.top-equipment__title {
  margin: 0;
  font-size: 52px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.14em;
}

.top-equipment__title span {
  color: #404040;
}

.top-equipment__title::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  margin-top: 24px;
  background: #404040;
}

.top-equipment__lead {
  margin: 30px 0 0;
  font-size: 17px;
  line-height: 1.9;
  letter-spacing: 0.08em;
}

.top-equipment__box {
    padding: 4rem 1rem;
    background: rgb(249 249 249);
    border: 1px solid rgba(64, 64, 64, 0.08);
    box-shadow: 0 20px 45px rgba(64, 64, 64, 0.06);
    display: grid;
    grid-template-columns: minmax(0, 26%) minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    width: 95%;
    margin: 0 auto;
    box-sizing: border-box;
}

.top-equipment__message {

}

.top-equipment__catch {
  margin: 0;
  font-size: 32px;
  line-height: 1.75;
  letter-spacing: 0.12em;
}

.top-equipment__catch span {
  color: #404040;
  font-size: 40px;
}

.top-equipment__catch::after {
  content: "";
  display: block;
  width: 46px;
  height: 1px;
  margin-top: 20px;
  background: #404040;
}

.top-equipment__text {
  margin: 28px 0 0;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.08em;
}

.top-equipment__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}

.top-equipment__item {
  overflow: hidden;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid rgba(64, 64, 64, 0.1);
  box-shadow: 0 8px 22px rgba(64, 64, 64, 0.04);
}

.top-equipment__image {
  height: 210px;
  overflow: hidden;
  background: rgba(64, 64, 64, 0.035);
}

.top-equipment__image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-equipment__item-body {
    padding: 22px 10px;
    text-align: center;
}

.top-equipment__item-body h3 {
  margin: 0;
  color: #404040;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.top-equipment__item-body p {
    margin: 12px 0 0;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.06em;
    text-align: left;
}


/* ------------------------------
  tablet
------------------------------ */
@media only screen and (max-width: 960px) {
  .top-equipment {
    padding: 86px 24px;
  }

  .top-equipment__title {
    font-size: 42px;
  }

  .top-equipment__lead {
    font-size: 16px;
  }

  .top-equipment__box {
    grid-template-columns: 1fr;
    gap: 32px;
    padding: 42px 36px 34px;
  }

  .top-equipment__message {
    padding: 0;
  }

  .top-equipment__catch {
    font-size: 28px;
  }

  .top-equipment__catch span {
    font-size: 34px;
  }

  .top-equipment__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .top-equipment__image {
    height: 220px;
  }

}

/* ------------------------------
  smartphone
------------------------------ */
@media only screen and (max-width: 480px) {
  .top-equipment {
    padding: 64px 16px;
  }

  .top-equipment__head {
    margin-bottom: 28px;
  }

  .top-equipment__en {
    margin-bottom: 8px;
    font-size: 12px;
  }

  .top-equipment__title {
    font-size: 34px;
    letter-spacing: 0.1em;
  }

  .top-equipment__title::after {
    margin-top: 18px;
  }

  .top-equipment__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.8;
  }

  .top-equipment__lead br {
    display: none;
  }

.top-equipment__message {
    width: 100%;
    margin: 0 auto;
}

.top-equipment__box {
    padding: 0 0;
    width: 100%;
    background: none;
    border: none;
    box-shadow: none;
}

.top-equipment__catch {
    font-size: 22px;
    line-height: normal;
    letter-spacing: 0.08em;
    text-align: center;
    background: #555555;
    color: #fff;
    padding: 15px 0;
}
.top-equipment__catch span {
    font-size: 27px;
    color: #fff;
    font-weight: 700;
}

	.top-equipment__catch::after{
		display:none;
	}
.top-equipment__text {
    font-size: 14px;
    line-height: 1.85;
    width: 90%;
    margin: 8px auto 0;
}

  .top-equipment__text br {
    display: none;
  }

  .top-equipment__list {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .top-equipment__image {
    height: 190px;
  }

  .top-equipment__item-body {
    padding: 18px 16px 20px;
  }

  .top-equipment__item-body h3 {
    font-size: 18px;
  }

  .top-equipment__item-body p {
    font-size: 13px;
  }

}


/* ------------------------------
  アクセス・診療時間
------------------------------ */
.top-access {
    position: relative;
    overflow: hidden;
    padding: 0 0 6.5rem;
    background: radial-gradient(circle at 92% 8%, rgba(64, 64, 64, 0.035) 0%, rgba(64, 64, 64, 0) 34%),    linear-gradient(180deg, rgba(64, 64, 64, 0.025) 0%, rgba(64, 64, 64, 0.012) 100%);
}

.top-access__inner {
  max-width: 1480px;
  margin: 0 auto;
}

.top-access__head {
    position: relative;
    min-height: 360px;
    background-image: url("http://slc-jp.com.testrs.jp/nagisa-dental/wp-content/uploads/2026/06/access_map02.png");
    background-repeat: no-repeat;
    background-position: top right;
    background-size: auto 120%;
    display: flex;
    align-items: center;
}

.top-access__head-content {
    position: relative;
    z-index: 1;
    margin-left: 3rem;
}

.top-access__en {
  margin: 0 0 18px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 15px;
  letter-spacing: 0.18em;
}

.top-access__title {
  margin: 0;
  font-size: 56px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.14em;
}

.top-access__title span {
  color: #404040;
}

.top-access__title::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  margin-top: 28px;
  background: #404040;
}

.top-access__lead {
  margin: 36px 0 0;
  font-size: 18px;
  line-height: 2;
  letter-spacing: 0.08em;
}

.top-access__cards {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
    margin: 2rem auto 0;
    width: 95%;
}

.top-access__card {
    padding: 2rem 2rem;
    background: rgb(255 255 255);
    border: 1px solid rgba(64, 64, 64, 0.08);
    box-shadow: 0 16px 38px rgba(64, 64, 64, 0.06);
    box-sizing: border-box;
}

.top-access__card-head {
  display: grid;
  grid-template-columns: 92px 1fr;
  gap: 26px;
  align-items: center;
}

.top-access__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 92px;
  height: 92px;
  background: rgba(64, 64, 64, 0.045);
  border-radius: 50%;
}

.top-access__icon img {
  display: block;
  width: 52px;
  height: 52px;
  object-fit: contain;
}

.top-access__card h3 {
  margin: 0;
  font-size: 30px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0.12em;
}

.top-access__card h3::after {
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  margin-top: 18px;
  background: #404040;
}

.top-access__pickup {
    margin: 36px 0 0;
    padding-bottom: 10px;
    font-size: 22px;
    line-height: 1.7;
    letter-spacing: 0.08em;
    text-align: center;
    border-bottom: 1px dashed rgba(64, 64, 64, 0.18);
}

.top-access__pickup span {
  color: #404040;
  font-size: 28px;
}

.top-access__info {
  display: grid;
  gap: 20px;
  margin-top: 28px;
}

.top-access__info p {
    display: flex;
    align-items: center;
    gap: 16px;
    margin: 0;
    font-size: 17px;
    line-height: normal;
    letter-spacing: 0.08em;
}

/* 駐車場 */
.top-access__parking-list {
    margin: 36px 0 0;
    padding: 0;
    list-style: none;
}

.top-access__parking-list li {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 15px;
    font-size: 18px;
    line-height: 1.8;
    letter-spacing: 0.14em;
    font-weight: 500;
}

.top-access__parking-list li:last-child {
  margin-bottom: 0;
}

.top-access__check-icon {
    position: relative;
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(64, 64, 64, 0.045);
}

.top-access__check-icon img {
  display: none;
}

.top-access__check-icon::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 7px;
  width: 11px;
  height: 6px;
  border-left: 3px solid #404040;
  border-bottom: 3px solid #404040;
  transform: rotate(-45deg);
  border-radius: 1px;
}

.top-access__parking-list li > span:last-child {
  display: inline-block;
}

/* 診療時間 */
.top-access__pickup--hours {
  padding-bottom: 0;
  border-bottom: none;
}

.top-access__pickup--hours span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 4rem;
    padding: 0 0;
    font-size: 22px;
    background: rgba(64, 64, 64, 0.045);
    width: 100%;
}

.top-access__week {
    display: grid;
    grid-template-columns: repeat(8, 1fr);
    gap: 8px;
    margin-top: 10px;
    padding: 28px 0;
    border-top: 1px dashed rgba(64, 64, 64, 0.18);
    border-bottom: 1px dashed rgba(64, 64, 64, 0.18);
}
.top-access__week span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    font-size: 17px;
    line-height: 1;
    letter-spacing: 0.06em;
    border-radius: 50%;
}

.top-access__week .is-active {
  color: #fff;
  background: #404040;
}

.top-access__small-icon {
    overflow: hidden;
    width: 12%;
    height: auto;
    background: rgba(64, 64, 64, 0.045);
    border-radius: 50%;
}

.top-access__small-icon img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}


/* ------------------------------
  tablet
------------------------------ */
@media only screen and (max-width: 960px) {
.top-access {
    padding: 86px 24px;
    background: radial-gradient(circle at 92% 8%, rgba(64, 64, 64, 0.035) 0%, rgba(64, 64, 64, 0) 34%), linear-gradient(180deg, rgba(64, 64, 64, 0.025) 0%, rgba(64, 64, 64, 0.012) 100%);
}
	
.top-access__head {
    min-height: initial;
    padding-bottom: 2rem;
    background-image: none;
    background-position: center bottom;
    background-size: 100% auto;
}

  .top-access__head-content {
    max-width: none;
    padding: 0;
  }

  .top-access__title {
    font-size: 42px;
  }

  .top-access__lead {
    font-size: 16px;
  }

  .top-access__cards {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-top: 28px;
  }

  .top-access__card {
    min-height: initial;
    padding: 36px 34px;
  }

  .top-access__card-head {
    grid-template-columns: 78px 1fr;
    gap: 22px;
  }

  .top-access__icon {
    width: 78px;
    height: 78px;
  }

  .top-access__icon img {
    width: 46px;
    height: 46px;
  }

  .top-access__card h3 {
    font-size: 26px;
  }

.top-access__card h3::after {
    display: none;
}

.top-access__small-icon {
    overflow: hidden;
    width: 5%;
padding: 6px;
}

}

/* ------------------------------
  smartphone
------------------------------ */
@media only screen and (max-width: 480px) {
  .top-access {
    padding: 64px 16px;
  }

.top-access__head {
    padding-bottom: 0.7rem;
}

	.top-access__head-content{
		margin:0 0;
	}

  .top-access__en {
    margin-bottom: 10px;
    font-size: 12px;
  }

  .top-access__title {
    font-size: 34px;
    line-height: 1.55;
    letter-spacing: 0.08em;
  }

  .top-access__title::after {
    margin-top: 20px;
  }

  .top-access__lead {
    margin-top: 24px;
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 0.06em;
  }

  .top-access__cards {
    gap: 16px;
  }

.top-access__card {
    box-sizing: border-box;
    padding: 1.5rem 1rem;
}

  .top-access__card-head {
    grid-template-columns: 64px 1fr;
    gap: 16px;
  }

  .top-access__icon {
    width: 64px;
    height: 64px;
  }

  .top-access__icon img {
    width: 38px;
    height: 38px;
  }

  .top-access__card h3 {
    font-size: 22px;
    letter-spacing: 0.08em;
  }

  .top-access__card h3::after {
    margin-top: 14px;
  }
	
.top-access__pickup {
    margin-top: 10px;
    padding-bottom: 8px;
    font-size: 17px;
}

  .top-access__pickup span {
    font-size: 22px;
  }

.top-access__small-icon {
    width: 8%;
    padding: 10px;
}

.top-access__parking-list li {
    font-size: 15px;
    letter-spacing: normal;
    gap: 10px;
}

.top-access__parking-list {
    margin: 23px 0 0;
}

  .top-access__info p {
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.05em;
  }


.top-access__pickup--hours span {
    height: 48px;
    padding: 0 18px;
    font-size: 17px;
    box-sizing: border-box;
}

.top-access__week {
    gap: 4px;
    margin-top: 8px;
    padding: 22px 0;
}

  .top-access__week span {
    width: 28px;
    height: 28px;
    font-size: 14px;
  }

}


/* ------------------------------
  よくある質問
------------------------------ */
.top-faq {
    padding: 6rem 0;
    background: #fff;
    margin: 0 auto;
    width: 90%;
}

.top-faq__inner {
    margin: 0 auto;
}

.top-faq__head {
  margin-bottom: 36px;
}

.top-faq__en {
  margin: 0 0 12px;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  letter-spacing: 0.18em;
}

.top-faq__title {
  margin: 0;
  font-size: 52px;
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.14em;
}

.top-faq__title span {
  color: #404040;
}

.top-faq__title::after {
  content: "";
  display: block;
  width: 58px;
  height: 1px;
  margin-top: 24px;
  background: #404040;
}

.top-faq__lead {
  margin: 30px 0 0;
  font-size: 17px;
  line-height: 1.9;
  letter-spacing: 0.08em;
}

.top-faq__list {
    display: grid;
    gap: 1rem;
}

.top-faq__item {
  min-width: 0;
}

.top-faq__details {
    border-radius: 12px;
    box-shadow: 0 8px 22px rgba(64, 64, 64, 0.035);
    overflow: hidden;
    background: rgb(245 245 245);
    border: 1px solid rgba(64, 64, 64, 0.16);
}

.top-faq__summary {
  display: grid;
  grid-template-columns: 46px 1fr 34px;
  gap: 22px;
  align-items: center;
  min-height: 70px;
  padding: 0 28px;
  cursor: pointer;
  list-style: none;
}

.top-faq__summary::-webkit-details-marker {
  display: none;
}

.top-faq__q {
  color: #404040;
  font-family: "Times New Roman", serif;
  font-size: 30px;
  line-height: 1;
  text-align: center;
}

.top-faq__summary h3 {
  margin: 0;
  font-size: 23px;
  font-weight: 400;
  line-height: 1.55;
  letter-spacing: 0.1em;
}

.top-faq__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  margin-left: auto;
}

.top-faq__toggle::before {
  content: "+";
  color: #404040;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 28px;
  font-weight: 300;
  line-height: 1;
}

.top-faq__details[open] .top-faq__toggle::before {
  content: "−";
}

.top-faq__answer {
    display: grid;
    grid-template-columns: 46px 1fr;
    gap: 5px;
    align-items: start;
    margin: 0 auto 1.3rem;
    padding: 1rem 0.5rem;
    background: #fff;
    border: 1px solid rgb(64 64 64 / 11%);
    width: 95%;
}

.top-faq__a {
  color: #404040;
  font-family: "Times New Roman", serif;
  font-size: 30px;
  line-height: 1.2;
  text-align: center;
}

.top-faq__answer p {
  margin: 0;
  font-size: 16px;
  line-height: 2;
  letter-spacing: 0.08em;
}

/* ------------------------------
  tablet
------------------------------ */
@media only screen and (max-width: 960px) {
.top-faq {
    width: 85%;
}

  .top-faq__title {
    font-size: 42px;
  }

  .top-faq__lead {
    font-size: 16px;
  }

  .top-faq__summary {
    grid-template-columns: 40px 1fr 30px;
    gap: 18px;
    padding: 0 22px;
  }

  .top-faq__summary h3 {
    font-size: 20px;
  }

.top-faq__answer {
    grid-template-columns: minmax(0, 40px) minmax(0, 1fr);
    gap: 10px;
    box-sizing: border-box;
}
}

/* ------------------------------
  smartphone
------------------------------ */
@media only screen and (max-width: 480px) {
.top-faq {
    padding: 2rem 0;
    width: 90%;
}

.top-faq__list {
    display: grid;
    gap: 1.2rem;
    width: 95%;
    margin: 0 auto;
}
	
  .top-faq__head {
    margin-bottom: 28px;
  }

  .top-faq__en {
    margin-bottom: 8px;
    font-size: 12px;
  }

  .top-faq__title {
    font-size: 34px;
    letter-spacing: 0.1em;
  }

  .top-faq__title::after {
    margin-top: 18px;
  }

  .top-faq__lead {
    margin-top: 22px;
    font-size: 14px;
    line-height: 1.8;
    letter-spacing: 0.06em;
  }

  .top-faq__summary {
    grid-template-columns: 28px 1fr 26px;
    gap: 12px;
    min-height: 62px;
    padding: 0 14px;
  }

  .top-faq__q {
    font-size: 24px;
  }

  .top-faq__summary h3 {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.05em;
  }

  .top-faq__toggle {
    width: 26px;
    height: 26px;
  }

  .top-faq__toggle::before {
    font-size: 24px;
  }

.top-faq__answer {
    grid-template-columns: minmax(0, 28px) minmax(0, 1fr);
    gap: 6px;
}

  .top-faq__a {
    font-size: 24px;
  }

  .top-faq__answer p {
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: 0.05em;
  }

  .top-faq__answer br {
    display: none;
  }
}