@charset "UTF-8";
.inner-1100 {
  width: 92%;
  max-width: 1100px;
  margin: 0 auto;
}
/*================================
policy
================================*/
.policy .sec_ttl::after {
  content: none;
}
.policy__content:first-child {
  padding: clamp(30px, 3.91vw, 110px) 0 clamp(75px, 9.77vw, 146px);
}
.policy__content:last-child {
  padding-bottom: max(145px, 17.75vw);
}
.policy__content + .policy__content .policy__inner {
  padding-top: clamp(70px, 9.11vw, 100px);
  border-top: 1px solid #000;
}

.policy__body {
  margin-top: clamp(30px, 3.91vw, 45px);
}

.policy__lead {
  margin-bottom: clamp(55px, 7.16vw, 100px);
}

.policy__heading {
  font-size: clamp(20px, 2.6vw, 40px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.08em;
  margin-bottom: 50px;
}
.policy__heading span {
  display: inline-block;
}

/*==========================
list
==========================*/

.policy__list {
  display: grid;
  gap: clamp(77px, 10vw, 100px);
}

.policy__item {
  display: grid;
  gap: 1em;
}

.policy__subheading {
  font-size: clamp(18px, 2.34vw, 27px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.08em;
}

.policy__disc {
  display: grid;
  gap: 1em;
}

.policy__disc p span {
  display: block;
}
.policy__disc p a {
  font-size: clamp(18px, 2.34vw, 25px);
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.68;
}

/*==========================
number list
==========================*/

.policy__sublist,
.policy__notes {
  display: grid;
}

/* （1）（2）・・・ */

ol.policy__sublist > li {
  counter-increment: disc;
  display: flex;
  align-items: flex-start;
}

ol.policy__sublist > li::before {
  content: "（" counter(disc) "）";
  flex-shrink: 0;
}

/*==========================
notes
==========================*/

.policy__notes {
  margin-top: 20px;
  list-style: none;
  counter-reset: note;
}

.policy__notes > li {
  counter-increment: note;
  display: flex;
  align-items: flex-start;
  gap: 1em;
  line-height: 1.5;
}

.policy__notes > li::before {
  content: "※" counter(note);
  flex-shrink: 0;
}

/*==========================
link
==========================*/

.policy__disc a {
  color: #0a8483;
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: opacity 0.3s;
}

.policy__disc a:hover {
  opacity: 0.7;
}
/*================================
運営規定・重要事項 policies
================================*/
.policies .policy__heading {
  font-size: clamp(18px, 2.34vw, 27px);
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.08em;
  margin-bottom: 0.74em;
}
.policies .policy__lead {
  margin-bottom: 25px;
}
ul.policy__sublist > li {
  display: flex;
  align-items: flex-start;
  gap: 0.5em;
}
ul.policy__sublist > li:before {
  content: "●";
}
/*==========================
table
==========================*/
.policy__table {
  width: 100%;
  max-width: 1000px;
  border: 2px solid #969696;
  border-radius: clamp(20px, 2.6vw, 30px);
  border-collapse: separate;
  border-spacing: 0;
  overflow: hidden;
  margin-bottom: clamp(75px, 9.77vw, 105px);
}

.policy__table tr:not(:last-child) th {
  border-bottom: 1px solid #fff;
}
.policy__table tr:nth-child(3) th {
  border-bottom: 1px solid #969696;
}
.policy__table tr:not(:last-child) td {
  border-bottom: 1px solid #969696;
}

.policy__table th {
  font-weight: 500;
  letter-spacing: 0;
  text-align: center;
  vertical-align: middle;
  line-height: 1.5;
  color: #fff;

  width: clamp(120px, 33.33vw, 180px);
  padding: 20px 10px;

  background: #0a8483;
}

.policy__table td {
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0;
  vertical-align: middle;
  padding: 20px clamp(20px, 2.6vw, 50px);
  background: #fff;
}

.policy__table td span {
  display: inline-block;
}
/* クリニック情報 */
.clinicInfo {
  text-align: right;
  margin: 80px 0 120px;
}

.clinicInfo dt,
.clinicInfo dd {
  font-size: clamp(18px, 2.34vw, 23px);
  line-height: 2;
}

/* お知らせ画像 */
.notice {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}

.notice__item {
  width: calc(50% - 20px);
  border: 1px solid #ccc;
}

@media screen and (max-width: 768px) {
  .inner-1100 {
    width: 100%;
    max-width: 628px;
  }
  .policy__heading {
    letter-spacing: 0.02em;
  }
  .policy__subheading {
    font-weight: 700;
  }
  .policy__disc p span {
    display: inline;
  }
  /* policies */
  .policies .policy__heading {
    font-weight: 700;
    letter-spacing: 0.02em;
  }
  /* クリニック情報 */
  .clinicInfo {
    margin: 64px 0 96px;
  }
  /* お知らせ画像 */
  .notice {
    flex-direction: column;
    align-items: center;
    gap: 40px;
  }
  .notice__item {
    width: 100%;
    max-width: 530px;
    border: 1px solid #ccc;
  }
}
@media screen and (max-width: 640px) {
}
@media screen and (max-width: 480px) {
}
