/*===============================
sas
================================*/
@media screen and (min-width: 768px) {
}
/* ::::: 当院について ::::: */
#sas {
}
.red {
 color: red;
}
#sas .sas-section {
 padding-top: 60px;
 background: #fff;
}
@media screen and (min-width: 768px) {
 #sas .sas-section {
  padding-top: 100px;
  background: #fff;
 }
}
#sas .sas-header {
 border-bottom: 3px solid #d6a59c;
 margin-bottom: 40px;
}
#sas .sas-heading {
 display: flex;
 align-items: center;
 gap: 10px;
 font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
 font-size: clamp(1.2rem, 2.4vw, 2.4rem);
 font-weight: 700;
 color: #333;
}
#sas .sas-icon {
 width: 25px;
 height: 25px;
}
@media screen and (min-width: 768px) {
 #sas .sas-icon {
  width: 28px;
  height: 28px;
 }
}
#sas .sas-title {
 font-size: 0.9em;
 padding-bottom: 40px;
 text-align: center;
}
@media screen and (min-width: 768px) {
 #sas .sas-title {
  font-size: 1.4em;
  padding-bottom: 40px;
 }
}
#sas .sas-title h2 {
 text-align: center;
 font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
 font-weight: 500; /* 少し軽めのウェイト */
 letter-spacing: 0.05em; /* ややゆったり */
 color: #333; /* 落ち着いた濃いグレー */
 line-height: 1.8;
}
/* --- 2カラム --- */
#sas .sas-flex {
 display: flex;
 gap: 38px;
 align-items: flex-start;
 padding-bottom: 70px;
}

#sas .sas-photo {
 width: 48%;
 margin: 0;
}
#sas .sas-photo img {
 width: 100%;
 height: auto;
 display: block;
 border-radius: 6px;
}

#sas .sas-text {
 flex: 1;
 font-size: 1rem;
 line-height: 1.8;
 color: #333;
}
@media screen and (min-width: 768px) {
 #sas .sas-text {
  flex: 1;
  font-size: 1.1rem;
  line-height: 1.8;
  color: #333;
 }
}
#sas .sas-text p {
 margin: 0 0 1.8em;
}

#sas .sas-subheading {
 font-size: 1.5rem;
 font-weight: 700;
 color: #cc3366;
 margin: 1.4em 0;
}
#sas .sas-subheading02 {
 font-size: 1.2rem;
 font-weight: 700;
 color: #cc3366;
 margin: 1.4em 0;
}
#sas .sas-list {
 list-style: disc;
 margin: 0 0 0 1.2em;
 padding: 0;
}
#sas .sas-list li {
 margin: 0 0 0.8em;
}
#sas .sas-border {
 border-bottom: 2px solid #dcdcdc;
 padding: 0px 0 60px;
}
/* --- スマホ --- */
@media (max-width: 768px) {
 #sas .sas-section {
  padding: 60px 0;
 }
 #sas .sas-flex {
  flex-direction: column;
  gap: 32px;
 }
 #sas .sas-photo {
  flex: 0 0 auto;
  width: 100%;
 }
 #sas .sas-subheading {
  margin: 2em 0 0.8em;
 }
}
/*===============================
psg
================================*/
@media screen and (min-width: 768px) {
}
/* ::::: 当院について ::::: */
#psg {
}
#psg .psg-section {
 padding: 30px 0;
 background: #fff;
}
@media screen and (min-width: 768px) {
 #psg .psg-section {
  padding: 50px 0;
  background: #fff;
 }
}
#psg .psg-header {
 border-bottom: 3px solid #d6a59c;
 margin-bottom: 40px;
}
#psg .psg-heading {
 display: flex;
 align-items: center;
 gap: 10px;
 font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
 font-size: clamp(1.2rem, 2.4vw, 2.4rem);
 font-weight: 700;
 color: #333;
}
#psg .psg-icon {
 width: 25px;
 height: 25px;
}
@media screen and (min-width: 768px) {
 #psg .psg-icon {
  width: 28px;
  height: 28px;
 }
}
/* --- 2カラム --- */
#psg .psg-flex {
 display: flex;
 gap: 48px;
 align-items: flex-start;
}

#psg .psg-photo {
 width: 50%;
 margin: 0;
}
#psg .psg-photo img {
 width: 100%;
 height: auto;
 display: block;
 border-radius: 6px;
}

#psg .psg-text {
 flex: 1;
 font-size: 1rem;
 line-height: 1.8;
 color: #333;
}
@media screen and (min-width: 768px) {
 #psg .psg-text {
  flex: 1;
  font-size: 1.1rem;
  line-height: 1.8;
  color: #333;
 }
}
#psg .psg-text p {
 margin: 0 0 1.8em;
}

#psg .psg-subheading {
 font-size: 1rem;
 font-weight: 700;
 color: #cc3366;
 margin: 2.8em 0 0.8em;
}
#psg .psg-list {
 list-style: disc;
 margin: 0 0 0 1.2em;
 padding: 0;
}
#psg .psg-list li {
 margin: 0 0 0.8em;
}

/* --- スマホ --- */
@media (max-width: 768px) {
 #psg .psg-section {
  padding: 70px 0;
 }
 #psg .psg-flex {
  flex-direction: column;
  gap: 32px;
 }
 #psg .psg-photo {
  flex: 0 0 auto;
  width: 100%;
 }
 #psg .psg-subheading {
  margin: 2em 0 0.8em;
 }
}
/* ==== Add-on block ==== */
#psg .addon-block {
 margin-top: 60px;
 font-size: 0.9rem;
 line-height: 2;
 color: #333;
}
@media (min-width: 768px) {
 #psg .addon-block {
  margin-top: 60px;
  font-size: 1.1rem;
  line-height: 2;
  color: #333;
 }
}
#psg .addon-heading {
 font-size: 1.2rem;
 font-weight: 700;
 color: #cc3366;
 margin: 2.4em 0 0.8em;
}
#psg .addon-list {
 list-style: disc;
 margin: 0 0 1.6em 2.2em;
 padding: 0;
}
#psg .addon-list li {
 margin-bottom: 0.6em;
 font-size: 1.1em;
}
#psg .addon-text {
 margin: 0 0 1.8em;
 font-size: 1.1em;
}
/* モバイル余白 */
@media (max-width: 768px) {
 #psg .addon-block {
  margin-top: 40px;
 }
}
/*===============================
price
================================*/
@media screen and (min-width: 768px) {
}
/* ::::: 当院について ::::: */
#price {
}
#price .price-section {
 padding: 30px 0;
 background: #fff;
}
@media screen and (min-width: 768px) {
 #price .price-section {
  padding: 50px 0;
  background: #fff;
 }
}
#price .price-header {
 border-bottom: 3px solid #d6a59c;
 margin-bottom: 40px;
}
#price .price-heading {
 display: flex;
 align-items: center;
 gap: 10px;
 font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
 font-size: clamp(1.2rem, 2.4vw, 2.4rem);
 font-weight: 700;
 color: #333;
}
#price .price-icon {
 width: 25px;
 height: 25px;
}
@media screen and (min-width: 768px) {
 #price .price-icon {
  width: 28px;
  height: 28px;
 }
}
/* --- 2カラム --- */
#price .price-flex {
 display: flex;
 gap: 48px;
 align-items: flex-start;
}

#price .price-photo {
 width: 50%;
 margin: 0;
}
#price .price-photo img {
 width: 100%;
 height: auto;
 display: block;
 border-radius: 6px;
}

#price .price-text {
 flex: 1;
 font-size: 1rem;
 line-height: 1.8;
 color: #333;
}
@media screen and (min-width: 768px) {
 #price .price-text {
  flex: 1;
  font-size: 1.2rem;
  line-height: 1.8;
  color: #333;
 }
}
#price .price-text p {
 margin: 0 0 1.8em;
}

#price .price-subheading {
 font-size: 1rem;
 font-weight: 700;
 color: #cc3366;
 margin: 2.8em 0 0.8em;
}
#price .price-list {
 list-style: disc;
 margin: 0 0 0 1.2em;
 padding: 0;
}
#price .price-list li {
 margin: 0 0 0.8em;
}

/* --- スマホ --- */
@media (max-width: 768px) {
 #price .price-section {
  padding: 70px 0;
 }
 #price .price-flex {
  flex-direction: column;
  gap: 32px;
 }
 #price .price-photo {
  flex: 0 0 auto;
  width: 100%;
 }
 #price .price-subheading {
  margin: 2em 0 0.8em;
 }
}
#price .price-table {
 width: 100%;
 border-collapse: collapse;
 margin-bottom: 1.5em;
 font-size: 1rem;
}

#price .price-table th,
#price .price-table td {
 border: 1px solid #ccc;
 padding: 10px;
 vertical-align: middle;
 padding-left: 10px;
}
@media screen and (min-width: 768px) {
 #price .price-table th,
 #price .price-table td {
  border: 1px solid #ccc;
  padding: 10px;
  vertical-align: middle;
  padding-left: 20px;
 }
}
#price .price-table th {
 background: #f5f5f5;
 text-align: left;
 font-weight: 700;
 white-space: nowrap;
 width: 25%;
}

#price .price-notes {
 list-style: none;
 margin: 0;
 padding: 0;
 font-size: 1rem;
 color: #333;
}

#price .price-notes li {
 margin-bottom: 0.5em;
}
/*===============================
treatment
================================*/
@media screen and (min-width: 768px) {
}
/* ::::: 当院について ::::: */
#treatment {
}
#treatment .treatment-section {
 padding: 30px 0;
 background: #fff;
}
@media screen and (min-width: 768px) {
 #treatment .treatment-section {
  padding: 50px 0;
  background: #fff;
 }
}
#treatment .treatment-header {
 border-bottom: 3px solid #d6a59c;
 margin-bottom: 40px;
}
#treatment .treatment-heading {
 display: flex;
 align-items: center;
 gap: 10px;
 font-family: "Noto Sans JP", "Helvetica Neue", sans-serif;
 font-size: clamp(1.2rem, 2.4vw, 2.4rem);
 font-weight: 700;
 color: #333;
}
#treatment .treatment-icon {
 width: 25px;
 height: 25px;
}
@media screen and (min-width: 768px) {
 #treatment .treatment-icon {
  width: 28px;
  height: 28px;
 }
}
/* --- 2カラム --- */
#treatment .treatment-flex {
 display: flex;
 gap: 48px;
 align-items: flex-start;
}

#treatment .treatment-photo {
 width: 50%;
 margin: 0;
}
#treatment .treatment-photo img {
 width: 100%;
 height: auto;
 display: block;
 border-radius: 6px;
}

#treatment .treatment-text {
 flex: 1;
 font-size: 1rem;
 line-height: 1.8;
 color: #333;
}
@media screen and (min-width: 768px) {
 #treatment .treatment-text {
  flex: 1;
  font-size: 1.2rem;
  line-height: 1.8;
  color: #333;
 }
}
#treatment .treatment-text p {
 margin: 0 0 1.8em;
}

#treatment .treatment-subheading {
 font-size: 1rem;
 font-weight: 700;
 color: #cc3366;
 margin: 2.8em 0 0.8em;
}
#treatment .treatment-list {
 list-style: disc;
 margin: 0 0 0 1.2em;
 padding: 0;
}
#treatment .treatment-list li {
 margin: 0 0 0.8em;
}

/* --- スマホ --- */
@media (max-width: 768px) {
 #treatment .treatment-section {
  padding: 70px 0;
 }
 #treatment .treatment-flex {
  flex-direction: column;
  gap: 32px;
 }
 #treatment .treatment-photo {
  flex: 0 0 auto;
  width: 100%;
 }
 #treatment .treatment-subheading {
  margin: 2em 0 0.8em;
 }
}
#treatment .treatment-addon-heading {
 font-size: 1.2rem;
 font-weight: 700;
 color: #cc3366;
 margin: 2.4em 0 0.8em;
 padding-bottom: 10px;
}
