/* メ ニ ュ ー ペ ー ジ の ヘ ッ ダ ー 画 像
-------------------------------------------------*/
#menu-page-head {
	width: 100%;
	height: 200px;
	& .page-title {
		height: 200px;
		color: #fff;
		line-height: 1.5;
		display: flex;
		justify-content: center;
		flex-direction: column;
			padding-left: 15px;
		& .en {
			font-size: 5.6vw;
			font-weight: 600;
			letter-spacing: .2em;
		}
		& .jp {
			font-size: 2.8vw;
			font-weight: 600;
			letter-spacing: .2em;
		}
	}
}

/* インディバページのヘッダー画像 */
#menu-page-head.indiba {
	background: url(images/indiba/page_h_indiba.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.massagepeel {
	background: url(images/massagepeel/page_h_massagepeel.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.supplement {
	background: url(images/supplement/page_h_supplement.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.belle-mismo {
	background: url(images/belle-mismo/page_h_belle-mismo.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.bha {
	background: url(images/bha/page_h_bha.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.botox {
	background: url(images/botox/page_h_botox.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.clarity {
	background: url(images/clarity/page_h_clarity.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.dermapen {
	background: url(images/dermapen/page_h_dermapen.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.injection {
	background: url(images/injection/page_h_injection.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.hyaluronic {
	background: url(images/hyaluronic/page_h_hyaluronic.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.hydra-gentle {
	background: url(images/hydra-gentle/page_h_hydra-gentle.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.led {
	background: url(images/led/page_h_led.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.oralmedicine {
	background: url(images/oralmedicine/page_h_oralmedicine.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.pico {
	background: url(images/pico/page_h_pico.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.caresys-s {
	background: url(images/caresys-s/page_h_caresys-s.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.stellar {
	background: url(images/stellar/page_h_stellar.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.suikou {
	background: url(images/suikou/page_h_suikou.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.threadlift {
	background: url(images/threadlift/page_h_threadlift.jpg) no-repeat center;
	background-size: cover;
}
#menu-page-head.co2laser {
	background: url(images/co2laser/page_h_co2laser.jpg) no-repeat center;
	background-size: cover;
}

#menu-page-head.kabelline {
	background: url(images/kabelline/page_h_kabelline.jpg) no-repeat center;
	background-size: cover;
}

#menu-page-head.hyaluronidases {
	background: url(images/hyaluronidases/page_h_hyaluronidases.jpg) no-repeat center;
	background-size: cover;
}

#menu-page-head.hifu {
	background: url(images/hifu/page_h_hifu.jpg) no-repeat center;
	background-size: cover;
}

#menu-page-head.placenta {
	background: url(images/placenta/page_h_placenta.jpg) no-repeat center;
	background-size: cover;
}

#menu-page-head.gentlemaxpro {
	background: url(images/gentlemaxpro/page_h_gentlemaxpro.jpg) no-repeat center;
	background-size: cover;
}

/*　共通 margin　*/
.margin-top40px{
	margin-top: 40px;
}
.margin-bottom30px{
	margin-bottom: 30px;
}



/*　共通 padding　*/
.p-top100px{
	padding-top: 100px;
}
.p-top60px{
	padding-top: 60px;
}
.p-bottom100px{
	padding-top: 100px;
}


.bk_pink1{
	background-color: #f5ece8;
}
.bk_pink2{
	background-color: #f8f5f3;
}


/* ===============================
  Card Grid（SP）
=============================== */
.card-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
  padding: 40px 16px 60px 16px;
 font-family: "Shippori Mincho", serif;
}

/* ===============================
  Card（デザイン） ページ内リンク ボタン
=============================== */
.card-link{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;

  background: #fff;
  border-radius: 12px;
  padding: 12px 12px;
  text-decoration: none;
  box-sizing: border-box;
  width: 100%;

  /* ほんのり影＋縁の柔らかさ */
  box-shadow: 0 10px 25px rgba(0,0,0,0.06);
  border: 1px solid rgba(0,0,0,0.04);

  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.card-text{
  min-width: 0; /* 長文のはみ出し対策 */
}

.card-title{
  display: block;
  font-size: 12px;
  font-weight: 600;
  color: #1f2a44;
  line-height: 1.3;

  /* 1行にしたい場合はコメント外す */
  /* white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; */
}

.card-sub{
  display: block;
  margin-top: 5px;
  font-size: 8px;
  letter-spacing: 0.08em;
  color: #b49a42;
}

/* 右の丸ボタン（矢印） */
.card-arrow{
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  border-radius: 999px;
  background: #f3ece7;
  position: relative;
  margin-left: 10px;
}

/* 矢印（CSSだけで描画） */
.card-arrow::before{
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 5px;
  border-right: 1px solid #1f2a44;
  border-bottom: 1px solid #1f2a44;
  transform: translate(-55%, -50%) rotate(-45deg);
}

/* hover/active */
.card-link:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 30px rgba(0,0,0,0.09);
}
.card-link:active{
  transform: scale(0.99);
}



/* 中 央 寄 せ コ ン テ ン ツ タ イ ト ル
-------------------------------------------------*/
.menu-section-title {
	  font-family: "Shippori Mincho", serif;
  margin: 0 0 70px;
  text-align: center;
  line-height: 1.2;
  display: grid;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  & .jp {
    font-size: 6vw;
    color: #2d2e54;
  }
  & .en {
    font-size: 3.2vw;
    color: #bdae61;
  }
}

.treatment-title:after {
	font-family: "annabelle-jf", sans-serif !important;
  content: 'Treatment';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 15vw;
  color: rgba(255, 255, 255, 0.7);
  paint-order: stroke;
  white-space: nowrap;
  z-index: -1;
}


.menu-section-title_m-bottom_none {
	  font-family: "Shippori Mincho", serif;
  margin: 0px;
  text-align: center;
  line-height: 1.2;
  display: grid;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
  & .jp {
    font-size: 6vw;
    color: #2d2e54;
  }
  & .en {
    font-size: 3.2vw;
    color: #bdae61;
  }
}
.treatment-title_m-bottom_none:after {
	content: 'Treatment';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 15vw;
  color: rgba(255, 255, 255, 0.7);
  paint-order: stroke;
  white-space: nowrap;
  z-index: -1;
font-family: "annabelle-jf", sans-serif !important;
}

.flow-title:after {
	content: 'Flow';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 15vw;
  color: rgba(255, 255, 255, 0.7);
  paint-order: stroke;
  white-space: nowrap;
  z-index: -1;
	font-family: "annabelle-jf", sans-serif !important;
}

.price-title::after {
  content: 'Price List';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 15vw;
  color: rgba(255, 255, 255, 0.7);
  paint-order: stroke;
  white-space: nowrap;
  z-index: -1;
	font-family: "annabelle-jf", sans-serif !important;
}

.faq-title::after {
  content: 'Question';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 15vw;
  color: rgba(255, 255, 255, 0.7);
  paint-order: stroke;
  white-space: nowrap;
  z-index: -1;
	font-family: "annabelle-jf", sans-serif !important;
	color: #f8f5f3;
}

/* こ ん な お 悩 み お す す め
-------------------------------------------------*/
.worries {
  padding: 80px 17px;
  background: #f5ece8;
  & .worries-inner {
    margin-bottom: 20px;
    padding: 30px;
    position: relative;
    border-radius: 10px;
    background: #fff;
    &::after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 50%;
      border-style: solid;
      border-width: 20px 15px 0 15px;
      border-color: #fff transparent transparent;
      translate: -50% 100%;
    }
    & .lt-contents {
      & .title {
        font-size: 5.6vw;
        color: #2d2e54;
        line-height: 1.4;
        & span.small {
          font-size: 4.6vw;
        }
        & span.sub-title {
          display: block;
          font-size: 3.2vw;
          color: #bdae61;
        }
      }
    }
    & .rt-contents {
      & ul.worry-list {
        
      }
      & ul.worry-list > li {
        position: relative;
        list-style: none;
        padding: 15px 0 15px 28px;
        border-bottom: 1px solid #e4e4e4;
      }
      & ul.worry-list > li:before {
        content: '';
        position: absolute;
        top: 18px;
        left: 0;
        width: 20px;
        height: 20px;
        border: 2px solid #ded293;
        box-sizing: border-box;
        background:
          linear-gradient(-55deg, transparent 44%, #d22 46%, #d22 58%, transparent 60%),
          linear-gradient(45deg, transparent 33%, #d22 35%, #d22 47%, transparent 49%),
          #ded293;
        background-repeat: no-repeat;
        background-position: 4px 2px, 1px 8px;
        background-size: 100% 100%;
        border-radius: 2px;
      }
    }
  }
}

/* 施 術 概 要
-------------------------------------------------*/
.treatment {
  padding: 0 17px 80px;
  background: #f5ece8;
  & .treatment-inner {
    & .overview-center-alignment {
      font-family: 'Shippori Mincho', sans-serif;
      color: #2d2e54;
      text-align: center;
      & .big-title {
        margin-bottom: 20px;
        font-size: 4.2vw;
        font-weight: 600;
      }
      & .sub-title {
        margin-bottom: 15px;
        font-size: 3.6vw;
        font-weight: 600;
      }
    }
  }
  & .overview {
    color: #2d2e54;
    & .text-area {
      & p.overview-explain {
        margin-bottom: 20px;
        font-size: 4.4vw;
        font-weight: 600;
      }
      & p.sub-explain {
        margin-bottom: 15px;
        font-size: 3.6vw;
        font-weight: 600;
      }
      & p {
        margin-bottom: 20px;
      }
    }
    & img {
      margin: 0 auto;
      display: block;
    }
  }
  & .treatment-features {
    padding-top: 60px;
    & h2 {
      margin-bottom: 20px;
      padding: 5px 5px 5px .5em;
      font-weight: 400;
      color: #fff;
      border-radius: 10px;
      background: #2d2e54;
    }
    & .container {
      margin-bottom: 40px;
      padding: 20px;
      border-radius: 10px;
      background: #fff;
      & .title {
        width: 100%;
        margin-bottom: 1em;
        padding-left: 22px;
        color: #2d2e54;
        border-bottom: 1px solid #ccc;
        position: relative;
        display: inline-block;
      }
  & .title:before {
  content: '';
  width: 18px;
  height: 18px;
  background: #282997;
  border-radius: 50%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  margin: auto;
}

& .title:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 5px;
  width: 6px;
  height: 6px;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: translateY(-50%) rotate(45deg);
}
      & .content-body, .content-body-textonly {
        text-align: center;
        & .text-area {
          margin-bottom: 20px;
          color: #2d2e54;
          text-align: left;
          & .bg-details {
            margin: 15px 0;
            padding: 10px 17px;
            border-radius: 10px;
            background: #f4f2e3;
			text-align: left;
            & h3 {
              font-weight: 400;
              color: #ada249;
              & span.round {
                margin-right: .5em;
                padding: 3px .5em;
                color: #fff;
                text-align: center;
                border-radius: 100vmax;
                background: #ada249;
              }
            }
          }
        }
      }
    }
  }
}

.bg-details {
    background-color: #f4f2e3;
	color: #2e2c56;
    padding: 20px;
    border-radius: 5px;
    margin-top: 15px;
	
	& h3{
		margin-right: .5em;
        padding: 3px .5em;
        color: #fff;
        border-radius: 100vmax;
	}
	
	& p{
	color: #2e2c56;
	}
}





/* 施 術 の 特 徴
-------------------------------------------------*/
.features {
  padding: 80px 20px 20px 20px;
  background: #fff;
  & .features-inner {
    padding: 20px 0;
    & .features-content {
      margin-bottom: 65px;
    }
& .point {
  margin-bottom: 20px;
  font-size: 4vw;
  font-weight: 500;
  padding-left: 1em;
  letter-spacing: 0.13em;
  position: relative; /* ←必須 */
}

& .point::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 2.5px;
  height: 100%;
  background: linear-gradient(
    to bottom,
    rgba(40, 41, 151, 1), /* 上：薄い青 */
    rgba(40, 41, 151, 0.0)  /* 下：濃い青 */
  );
}
    /* 波長フィルター */
    .filter-list-container {
      padding: 17px;
      background: #f8f5f3;
		margin-bottom: 70px;
      & h3 {
        width: 100%;
        margin-bottom: 1em;
        padding-left: 22px;
        color: #2d2e54;
        border-bottom: 1px solid #ccc;
        position: relative;
        display: inline-block;
        &::before {
          content: '';
          width: 18px;
          height: 18px;
          background: #baaf5a;
          border-radius: 50%;
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          margin: auto;
        }
        &::after {
          content: '';
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 4px 0 4px 6px;
          border-color: transparent transparent transparent #fff;
          position: absolute;
          top: 0;
          left: 6px;
          bottom: 0;
          margin: auto;
        }
      }
      & .filter-list {
        margin-top: 30px;
        display: grid;
        row-gap: 30px;
        & .filter-item {
          padding: 17px;
          text-align: center;
          border-radius: 10px;
          background: #fff;
          & .unit {
            width: 60%;
            margin: 10px auto;
            text-align: center;
            color: #fff;
            border-radius: 100vmax;
            background: #baaf5a;
          }
        }
      }
    }
    /* 症例・ビフォーアフター */
    & .bfore-after-container {
      padding: 20px 17px;
      border-radius: 10px;
      background: #f8f5f3;
      & .title {
        margin-bottom: 20px;
        text-align: center;
        & .jp {
          font-size: 4.8vw;
          color: #2d2e54;
        }
        & .en {
          font-size: 3.2vw;
          color: #baaf5a;
        }
      }
      & .before-after {
        display: grid;
        justify-content: center;
        row-gap: 30px;
        & .item {
          width: 70%;
          margin: 10px auto 0;
          padding: 3px 0;
          color: #fff;
          text-align: center;
          border-radius: 100vmax;
          background: #2d2e54;
        }
        & span.dli-caret-circle-fill {
          margin: 0 auto;
          display: inline-block;
          vertical-align: middle;
          color: #fff;
          line-height: 1;
          position: relative;
          width: 4em;
          height: 4em;
          border: 0.075em solid #2d2e54;
          background: currentColor;
          border-radius: 50%;
          box-sizing: content-box;
        }
        & .dli-caret-circle-fill::before {
          content: '';
          color: #2d2e54;
          width: 0;
          height: 0;
          border-style: solid;
          border-color: transparent;
          border-width: 1em .7em;
          border-top-color: currentColor;
          border-bottom: 0;
          transform: translateY(15%);
          position: absolute;
          top: 0;
          left: 0;
          right: 0;
          bottom: 0;
          margin: auto;
        }
      }
    }
    /* 肌育注射と糸リフト */
    & .top-visual h3, .treatment-point h3, .price-table h3 {
        margin-bottom: 10px;
        font-size: 4.6vw;
        font-weight: 500;
        color: #2d2e54;
        text-indent: .5em;
        border-left: 4px solid #2d2e54;
    }
    & .top-visual {
      margin-bottom: 40px;
      & .image-container {
        text-align: center;
      }
    }
    & .treatment-point {
      & .point-list {
        margin-bottom: 60px;
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        column-gap: 15px;
        row-gap: 15px;
        justify-content: center;
        align-items: center;
        & .item {
          width: 13rem;
          height: 13rem;
          color: #fff;
          text-align: center;
          display: grid;
          place-content: center;
          place-items: center;
          border-radius: 50%;
          background: #2d2e54;
		  font-family: "Shippori Mincho", serif;
		  font-size: 12px;
          & .num {
		    line-height: 1.1;
            margin-bottom: 20px;
            padding: 0 .5em;
            font-size: 5vw;
            font-weight: 100;
            color: #baaf5a;
            border-bottom: 1px solid #baaf5a;
            transform: rotate(-10deg);
			font-family: "annabelle-jf", sans-serif;
			font-weight: 400;
			font-style: normal;
          }
        }
      }
    }
    & .interval {
      margin-bottom: 40px;
      padding: 10px 17px;
      border-radius: 10px;
      background: #f8f5f3;
      & h3 {
        width: 100%;
        margin-bottom: 1em;
        padding-left: 22px;
        color: #2d2e54;
        border-bottom: 1px solid #ccc;
        position: relative;
        display: inline-block;
        &::before {
          content: '';
          width: 18px;
          height: 18px;
          background: #baaf5a;
          border-radius: 50%;
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          margin: auto;
        }
        &::after {
          content: '';
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 4px 0 4px 6px;
          border-color: transparent transparent transparent #fff;
          position: absolute;
          top: 0;
          left: 6px;
          bottom: 0;
          margin: auto;
        }
      }
    }
    & .price-table {
      & table.injection-price {
        & th {
          padding: 1em 0;
          font-weight: 600;
          color: #fff;
          background: #2d2e54;
        }
        & th:first-child {
          border-radius: 10px 0 0 0;
        }
        & th:last-child {
          border-radius: 0 8px 0 0;
        }
        & td.item {
          padding: .5em 0;
          background: #f4ece8;
		  font-weight: 600;
		  color: #2d2e54;
        }
        & td {
          padding: 10px 0;
          text-align: center;
          border: 1px solid #f4ece8;
        }
      }
    }
    & .difference {
      & h2 {
        margin-bottom: 20px;
        padding: .5em;
        color: #fff;
        border-radius: 10px;
        background: #2d2e54;
      }
      & .difference-table {
        display: block;
        overflow: auto;
        & table {
          width: 100%;
          margin-bottom: 40px;
          & th {
            padding: 10px 0;
            font-weight: 100;
            color: #fff;
            background: #baaf5a;
          }
          & th:first-child {
            border-radius: 8px 0 0 0;
          }
          & th:last-child {
            border-radius: 0 8px 0 0;
          }
          & td.item {
            background: #f4ece8;
          }
        }
      }
      & .difference-table th, .difference-table td {
        padding: 10px 1em;
        text-align: center;
        border: 1px solid #f4ece8;
        white-space: nowrap;
      }
      & h3 {
        margin-bottom: 10px;
        font-size: 4.6vw;
        font-weight: 500;
        color: #2d2e54;
        text-indent: .5em;
        border-left: 4px solid #2d2e54;
      }
    }
  }
}


	.container .bg-details h3 {
		font-weight: 400;
		color: #ada249;
                        }
	.container .bg-details h3 span.round {
		margin-right: .5em;
		padding: 3px .5em;
		color: #fff;
		text-align: center;
		border-radius: 100vmax;
		background: #ada249;
                            }

/* 商 品 ラ イ ン ナ ッ プ
-------------------------------------------------*/
.line-up-container {
  background: #f8f5f3;
  & .line-up-inner {
    padding: 0 17px 60px;
    & h3 {
      margin-bottom: 20px;
      padding: 14px 18px;
      color: #fff;
      border-radius: 6px;
      background: #2d2e54;
	font-size: 1.35em;
    }
    & .item-container {
      margin-top: 30px;
      padding: 20px 17px;
      border-top: 1px solid #2d2e54;
      background: #fff;
      & .title {
        width: 100%;
        margin-bottom: 1em;
        padding-left: 22px;
        color: #2d2e54;
        border-bottom: 1px solid #ccc;
        position: relative;
        display: inline-block;
        &::before {
          content: '';
          width: 18px;
          height: 18px;
          background: #baaf5a;
          border-radius: 50%;
          position: absolute;
          top: 0;
          left: 0;
          bottom: 0;
          margin: auto;
        }
        &::after {
          content: '';
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 4px 0 4px 6px;
          border-color: transparent transparent transparent #fff;
          position: absolute;
          top: 0;
          left: 6px;
          bottom: 0;
          margin: auto;
        }
      }
      & .item-box {
        margin: 15px 0;
        padding: 25px;
        display: grid;
        border-radius: 8px;
        background: #f4f2e3;
		  
        & .text-area {
          order: 2;
          & .item-name {
            margin: 10px 0;
            color: #ada249;
            & span.round {
              padding: 3px 1em;
              color: #fff;
              border-radius: 100vmax;
              background: #ada249;
            }
          }
        }
        & img {
          order: 1;
        }
      }
    }
  }
}
.item-price{
	margin-bottom: 10px;
}

/* 施 術 の 流 れ
-------------------------------------------------*/
.flow {
  padding: 80px 17px;
  background: #f4ece8;
  & ul.step-list {
    overflow-x: auto;
    white-space: nowrap;
    & li {
      width: 70%;
      margin: 0 20px 0 0;
      padding: 15px;
      display: inline-block;
      position: relative;
      border-radius: 4px;
      background: #fff;
      &::after {
        content: "";
        position: absolute;
        top: 50%;
        right: 0;
        border-style: solid;
        border-width: 10px 0 10px 20px;
        border-color: transparent transparent transparent #2d2e54;
        translate: 100% -50%;
      }
      & .step {
        max-width: 80px;
        height: 80px;
        margin: 0 auto 20px;
        text-align: center;
        color: #bdae61;
        line-height: 1.2;
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        border: 1px solid #bdae61;
        border-radius: 100vmax;
        & span {
          font-size: 6vw;
        }
      }
      & .flow-container {
        text-align: center;
        white-space: normal;
        & .title {
          margin: 10px 0;
          font-size: 4.2vw;
          font-weight: 600;
          color: #2d2e54;
        }
        & p {
          text-align: left;
        }
      }
    }
  }
}

/* 施 術 概 要 ・ リ ス ク ・ 注 意 点
-------------------------------------------------*/
.risk {
  padding: 80px 17px;
  background: #f8f5f3;
  & dl.risk-list {
    display: grid;
    grid-template-columns: 1fr 2fr;
    row-gap: 10px;
    & dt {
      padding: 10px;
      display: flex;
      align-items: center;
      background: #f4ece8;
    }
    & dd {
      padding: 10px;
      background: #fff;
    }
  }
}



/* =================================================
   料 金 に つ い て（PRICE） ※このブロックだけでOK
================================================= */

/* --- 共通（SP/PC共通の土台） --- */
.price {
  padding: 80px 17px;
  background: #f8f5f3;

  /* PC表（元テーブル）＝デフォルト表示 */
  & table.js-price-table {
    display: table;
  }

  /* JS生成のSPカード＝デフォルト非表示（PCで見せない） */
  & .js-sp-price {
    display: none;
  }
  /* 料金下 ご予約キャンセルについて */	
     & .reservation {
		  margin-bottom: 40px;
          padding: 20px 40px;
          border-radius: 0px 0px 10px 10px;
		  border-top: solid 1px #baaf5a ;
          background: #fff;		  
        & h3 {
		width: 100%;
        margin-bottom: 1em;
        padding-left: 22px;
        color: #2b2b2d;
		font-weight: 600;
        border-bottom: 1px solid #dfe3ea;
        position: relative;
        display: inline-block;
        }
            & h3:before {
                content: '';
                width: 18px;
                height: 18px;
                background: #baaf5a;
                border-radius: 50%;
                position: absolute;
                top: 0;
                left: 0;
                bottom: 0;
                margin: auto;
            }		 
		   & h3:after {
                content: '';
                position: absolute;
                top: 50%;
                left: 5px;
                width: 6px;
                height: 6px;
                border-top: 2px solid #fff;
                border-right: 2px solid #fff;
                transform: translateY(-50%) rotate(45deg);
		  }
		 & .text-area .dot{
		  display: inline-block;
		  width: 0.75em;
		  height: 0.75em;
		  border-radius: 50%;
		  background: #baaf5a;   /* 色は好きに */
		  margin-right: 0.5em;
		  vertical-align: middle; /* ここがズレ防止の肝 */
		  transform: translateY(-0.05em); /* 微調整（不要なら消してOK） */
		}
		 
		 
		 
          & .content-body {
            display: grid;
            grid-template-columns: 2fr 1fr;
            column-gap: 30px;
            & .text-area {
              margin-bottom: 20px;
              text-align: left;
            }		  
		  
      }
    }	
	
	
}
.price .price-table h3 {
        margin-bottom: 10px;
        font-size: 4.6vw;
        font-weight: 500;
        color: #2d2e54;
        text-indent: .5em;
        border-left: 4px solid #2d2e54;
		margin-bottom: 30px;
        font-size: 24px;
    }

/* --- SP：PC表を隠して、JS生成SPカードを表示 --- */
@media screen and (max-width: 959px) {
  .price {
    /* 元テーブル非表示 */
    & table.js-price-table {
      display: none !important;
    }

    /* JS生成SP表示 */
    & .js-sp-price {
      display: block !important;

      & .sp-price-block {
        margin-bottom: 14px;
      }

      /* カード見出し（メニュー名） */
      & .sp-price-title {
        padding: 14px 10px;
        font-weight: 700;
        color: #f4ece8;
        background: #2d2e54;
        border: 1px solid #e7ddd8;
        border-bottom: none;
        border-radius: 10px 10px 0 0;
        text-align: center;
      }

      /* SPカード内テーブル */
      & .sp-price-table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0;

        /* ラベル行（本数/トライ/通常/リピート） */
        & thead {
          & th {
            padding: 10px 0;
            font-weight: 700;
            color: #2d2e54;
            background: #fff;
            border-top: 1px solid #e7ddd8;
            border-left: 1px solid #e7ddd8;
            border-bottom: 1px solid #e7ddd8; /* ← 下線 */
            text-align: center;

            &:last-child {
              border-right: 1px solid #e7ddd8;
            }
          }
        }

        /* 値行 */
        & tbody {
          & tr {
            & td {
              padding: 12px 0;
              background: #fffcf9;
              border-left: 1px solid #e7ddd8;
              border-bottom: 1px solid #e7ddd8;
              text-align: center;

              /* 本数（左端） */
              &:first-child {
                font-weight: 700;
                color: #2d2e54;
              }

              &:last-child {
                border-right: 1px solid #e7ddd8;
              }
            }

            /* 追加行（2本追加など） */
            &.sp-add {
              & td {
                background: #fff;
                text-align: center;
                font-weight: 600;
              }

              /* colspan="3" のセルも中央寄せ */
              & td[colspan="3"] {
                text-align: center;
                font-weight: 600;
              }
            }

            /* 最終行 角丸 */
            &:last-child {
              & td:first-child {
                border-radius: 0 0 0 10px;
              }
              & td:last-child {
                border-radius: 0 0 10px 0;
              }
            }
          }
        }
      }
    }
  }
}

/* --- PC：SPカードを確実に消して、元テーブル表示 --- */
@media screen and (min-width: 960px) {
  .price {
    & table.js-price-table {
      display: table !important;
    }
    & .js-sp-price {
      display: none !important;
    }
  }
}

/* =================================================
   PC側の「既存の料金テーブル（injection-price）」装飾
   ※あなたの既存デザインを維持して最低限整理
================================================= */
@media screen and (min-width: 960px) {
  .price {
    & .price-inner {
      max-width: 1080px;
      margin: 0 auto;

      & .price-table {
        & table.injection-price {
          width: 100%;
          margin-bottom: 70px;

          & th {
            padding: 1em 0;
            font-weight: 600;
            color: #fff;
            background: #2d2e54;
            border: 1px solid #f4ece8;
          }
          & th:first-child {
            border-radius: 8px 0 0 0;
          }
          & th:last-child {
            border-radius: 0 8px 0 0;
            border-right: none;
          }

          & td.item {
            padding: .5em 0;
            background: #f4ece8;
            font-weight: 600;
			  color: rgb(45, 46, 84);
          }

          & td {
            padding: 10px 0;
            text-align: center;
            border: 1px solid #eadfda;
            background-color: #fffcf9;
          }

          & tr.border-bottom {
            border-bottom: 2px solid #ddcfca;
          }
        }			  
      }			
    }
  }
}




/* よ く あ る ご 質 問
-------------------------------------------------*/
/* よくあるご質問（SPベース）
-------------------------------------------------*/
.faq {
  padding: 80px 17px;
	background: #fff;
	
}

.faq .faq-inner{
  max-width: 1080px;
  margin: 0 auto;
}

.faq .faq-accordion{
  border-top: 1px solid rgba(21, 30, 47, 0.18);
  font-family: "Shippori Mincho", serif;
}

.faq .question{
  position: relative;
  background: #fff;
  cursor: pointer;

  padding: 28px 44px 28px 54px; /* 左Q分 + 右矢印分 */
  border-bottom: 1px solid rgba(21, 30, 47, 0.18);
}

.faq .question span{
  display: block;
  font-size: 14px;
  font-weight: 600;
  color: #151E2F;
  letter-spacing: 0.06em;
  line-height: 1.6;
}

/* 左の Q（大きめ） */
.faq .question::before{
  content: "Q";
  position: absolute;
  left: 16px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
  font-weight: 700;
  color: #151E2F;
}

/* 右の ▲▼（あなた指定：閉じてる時▲ / 開くと▼） */
.faq .question::after{
  content: "";
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);

  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 9px solid #151E2F; /* ▲ */
}

/* 開いたら ▼ にする（三角を反転） */
.faq .question.active::after{
  border-bottom: 0;
  border-top: 9px solid #151E2F; /* ▼ */
}

/* A（初期は非表示） */
.faq .answer{
  display: none;
  background: #F3EDE7;   /* 添付の薄ベージュ */
  padding: 18px 18px 18px 54px;
  margin: 14px 0;
}

/* A枠の横幅を少し内側にしたい場合（添付っぽく） */
.faq .answer{
  border-radius: 2px;
}

.faq .answer span{
  display: block;
  position: relative;
  color: #151E2F;
  font-size: 13px;
  line-height: 1.9;
  letter-spacing: 0.04em;
}

/* 左の A（赤系） */
.faq .answer span::before{
  content:"A";
  position: absolute;
  left: -38px;            /* padding-left 54px とのバランス */
  top: 0;
  font-size: 18px;
  font-weight: 700;
  color: #B84B2A;         /* 添付のAっぽい色 */
}

/* hover（任意：ほんのり） */
.faq .question:hover{
  background: #fafafa;
}


/* ****************************************************

		 　D e s k T o p C S S

***************************************************** */
@media screen and (min-width: 960px) {
  /* メ ニ ュ ー ペ ー ジ の ヘ ッ ダ ー 画 像
  -------------------------------------------------*/
  #menu-page-head {
    height: 400px;
    & .page-title {
      max-width: 1200px;
      height: 400px;
      margin: 0 auto;
	
      & .en {
        font-size: 28px;
        font-weight: 400;
      }
      & .jp {
        font-size: 18px;
        font-weight: 400;
      }
    }
  }
	
  /* ページ内リンク 背景白ボタン
  -------------------------------------------------*/	
/* ===============================
  PC（960px〜）：4つ横並び
=============================== */
	.grid4{
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 26px !important;
	} 
	.grid2{
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 26px !important;
	} 
	
	
	.card-grid{
    padding: 80px 0px;
    max-width: 990px;
    margin: 0 auto;
  }

  .card-link{
    padding: 24px 22px;
    border-radius: 22px;
  }

  .card-title{
    font-size: 16px;
  }

  .card-sub{
    font-size: 10px;
  }

  .card-arrow{
    width: 30px;
    height: 30px;
  }

  /* 中 央 寄 せ コ ン テ ン ツ タ イ ト ル
  -------------------------------------------------*/
	
  .menu-section-title, .menu-section-title_m-bottom_none {
    & .jp {
      font-size: 38px;
	margin-bottom: 10px;
		
    }
    & .en {
      font-size: 12px;
	 letter-spacing: 0.3em;
    }
  }

  .treatment-title:after {
    content: 'Treatment';
    font-size: 80px;
	font-family: "annabelle-jf", sans-serif !important;
  	font-weight: 400;
  	font-style: normal; 
 -webkit-text-stroke: 0; 
  }

  .flow-title:after {
    content: 'Flow';
    font-size: 80px;
	font-family: "annabelle-jf", sans-serif !important;
  	font-weight: 400;
  	font-style: normal;  
 	-webkit-text-stroke: 0;	  
	}

  .price-title::after {
    content: 'Price List';
    font-size: 80px;
	font-family: "annabelle-jf", sans-serif !important;
  	font-weight: 400;
  	font-style: normal; 
 	-webkit-text-stroke: 0;	 	  
	}

  .faq-title::after {
    content: 'Question';
    font-size: 80px;
	font-family: "annabelle-jf", sans-serif !important;
  	font-weight: 400;
  	font-style: normal;  
 	-webkit-text-stroke: 0;	 	  
	}

  /* こ ん な お 悩 み お す す め
  -------------------------------------------------*/
  .worries {
    padding: 80px 17px;
    background: #f5ece8;
    & .worries-inner {
      max-width: 1080px;
      margin: 0 auto 20px;
      display: grid;
      grid-template-columns: 1fr 2fr;
      & .lt-contents {
        & .title {
          font-size: 28px;
          & span.small {
            font-size: 22px;
          }
          & span.sub-title {
            font-size: 12px;
			letter-spacing: 0.2em;
			margin-top: 12px;
          }
        }
      }
 & .rt-contents {

  & ul.worry-list > li {
    position: relative;
    list-style: none;
    padding: 15px 0 15px 48px; /* 28px → 48px（アイコン分） */
    border-bottom: 1px solid #e4e4e4;
  }

  /* ベージュ角丸□ */
  & ul.worry-list > li:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 28px;
    height: 28px;
    transform: translateY(-50%);
    border: 0;                 /* 既存の枠線は消す */
    box-sizing: border-box;
    border-radius: 6px;
    background: #e6dbb1;       /* ベージュ */
    box-shadow: 0 2px 0 rgba(0,0,0,.06); /* ほんのり立体感 */
  }

  /* チェック（太め） */
  & ul.worry-list > li:after {
	content: '';
	position: absolute;
	top: 50%;
	left: 7px;
	width: 16px;
	height: 8px;
	transform: translateY(-55%) rotate(-45deg);
	border-left: 3px solid #b86a2a;
	border-bottom: 4px solid #b86a2a;
  }
}

    }
  }

  /* 施 術 概 要
  -------------------------------------------------*/
  .treatment {
    padding: 0 17px 80px;
    background: #f5ece8;
    & .treatment-inner {
		
      max-width: 1080px;
      margin: 0 auto;
      & .overview-center-alignment {
		  max-width: 1080px;
		  margin: 0 auto ;
        & .big-title {
          font-size: 22px;
		  text-align: center;
			margin-bottom: 40px;
        }
        & .sub-title {
          padding: 0 8em;
          font-size: 16px;
			text-align: center;
			margin-bottom: 20px;
			font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
			font-weight: 600;
        }
		  & ul{
			  max-width: 600px;
			  margin: 20px auto;
			  display: inline-block;
			  list-style: circle;
			  & li{
				  text-align: left;
			  }
		  }
		  & img{
			  max-width: 50%;
		  }
      }
      & .overview {
        display: grid;
        grid-template-columns: 1.6fr 1.4fr;
  		  column-gap: 50px;
        & .text-area {
          & p.overview-explain {
            margin-bottom: 40px;
            font-size: 22px;
          }
          & p.sub-explain {
            margin-bottom: 30px;
            font-size: 16px;
          }
          & p {
            margin-bottom: 40px;
          }
        }
        & img {
          margin: 0 auto;
          display: block;
        }
      }
      & .treatment-features {
        padding-top: 60px;
        & h2 {
          margin-bottom: 20px;
          padding-left: 1.5em;
          font-weight: 400;
          color: #fff;
          border-radius: 4px;
          background: #2d2e54;
		  font-size: 1.35em;
        }
        & .container {
          margin-bottom: 40px;
          padding: 20px 40px;
          border-radius: 0px 0px 10px 10px;
		  border-top: solid 1px #282997 ;
          background: #fff;
          & .content-body {
            display: grid;
            grid-template-columns: 2fr 1fr;
            column-gap: 30px;
            & .text-area {
              margin-bottom: 20px;
              text-align: left;
            }
          }
        }
      }
    }
  }
	.content-body-textonly {
            display: contents;
            column-gap: 30px;
	}
	
	.content-body-textonly .bg-details {
		margin: 15px 0;
		padding: 10px 17px;
		border-radius: 10px;
		background: #f4f2e3;
		text-align: left;
	}
	.bg-details h3 {
		font-weight: 400;
		color: #ada249;
                        }
	.bg-details h3 span.round {
		margin-right: .5em;
		padding: 3px .5em;
		color: #fff;
		text-align: center;
		border-radius: 100vmax;
		background: #ada249;
                            }
	
	
	.risk-list dt{
		font-weight: 600;
		font-size: 14px;
	}
	.risk-list dd{
	    font-size: 13px;
        font-feature-settings: "palt";
        line-height: 2;
        letter-spacing: .05em;
}
	

	

  /* 施 術 の 特 徴
  -------------------------------------------------*/
  .features {
    & .features-inner {
      max-width: 1080px;
      margin: 0 auto;
      & .features-content {
        margin-bottom: 80px;
      }
      & .text-image {
        display: grid;
        grid-template-columns: 1.7fr 1.3fr;
        column-gap: 70px;
      }
      & .image-text {
        display: grid;
        grid-template-columns: 1.3fr 1.7fr;
        column-gap: 70px;
      }
      & .point {
        font-size: 22px;
        line-height: 1.8;
		      font-family: 'Noto Serif JP', serif;
      }
      /* 波長フィルター */
      .filter-list-container {
        & .filter-list {
          grid-template-columns: repeat(3, 1fr);
          column-gap: 30px;
        }
      }
      /* 症例・ビフォーアフター */
      & .bfore-after-container {
        max-width: 840px;
        margin: 0 auto;
        & .title {
          margin-bottom: 40px;
          & .jp {
            font-size: 26px;
          }
          & .en {
            font-size: 18px;
          }
        }
        & .before-after {
          grid-template-columns: 2fr 1fr 2fr;
          align-items: center;
          & .dli-caret-circle-fill::before {
            content: '';
            color: #2d2e54;
            width: 0;
            height: 0;
            border-style: solid;
            border-color: transparent;
            border-width: 1em 1em;
            border-left-color: currentColor;
            border-right: 0;
            transform: translateX(15%);
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            margin: auto;
          }
        }
      }
      /* 肌育注射と糸リフト */
      & .top-visual h3, .treatment-point h3, .price-table h3 {
          margin-bottom: 30px;
          font-size: 24px;
      }
      & .top-visual {
        display: grid;
        grid-template-columns: 2fr 1fr;
        column-gap: 30px;
        & .image-container {
          text-align: center;
        }
      }
      & .treatment-point {
        & .point-list {
          grid-template-columns: repeat(4, 1fr);
          & .item {
            & .num {
              font-size: 20px;
			line-height: 1.1;
			font-family: "annabelle-jf", sans-serif;
			font-weight: 400;
			font-style: normal;
			  }
          }
        }
      }
      & .price-table {
        & table.injection-price {
          width: 100%;
		　margin-bottom: 70px;
          & th {
            padding: 1em 0;
            font-weight: 600;
            color: #fff;
            background: #2d2e54;
			border: 1px solid #f4ece8;
          }
          & th:first-child {
            border-radius: 8px 0 0 0;
          }
          & th:last-child {
            border-radius: 0 8px 0 0;
          }
          & td.item {
            padding: .5em 0;
            background: #f4ece8;
			font-weight: 600;
          }
          & td {
            padding: 10px 0;
            text-align: center;
            border: 1px solid #f4ece8;
          }
        }
      }
      & .difference {
        & h2 {
          margin-bottom: 20px;
                    padding-left: 1.5em;
                    font-weight: 400;
                    color: #fff;
                    border-radius: 4px;
                    background: #2d2e54;
                    font-size: 1.35em;
        }
        & .difference-table {
          display: block;
          overflow: auto;
          & table {
            width: 100%;
            margin-bottom: 40px;
            & th {
              padding: 10px 0;
              font-weight: 600;
              color: #fff;
              background: #baaf5a;
            }
            & th:first-child {
              border-radius: 8px 0 0 0;
            }
            & th:last-child {
              border-radius: 0 8px 0 0;
            }
            & td.item {
              background: #f4ece8;
			font-weight: 600;
            }
          }
        }
        & .difference-table th, .difference-table td {
          padding: 10px 1em;
          text-align: center;
          border: 1px solid #f4ece8;
          white-space: nowrap;
        }
        & h3 {
          font-size: 24px;
        }
      }
    }
  }

  /* 商 品 ラ イ ン ナ ッ プ
  -------------------------------------------------*/
  .line-up-container {
    & .line-up-inner {
      width: 1080px;
      margin: 0 auto;
      padding: 60px 17px 60px;
      & h3 {
        margin-bottom: 15px;
        padding: 14px 18px;
        color: #fff;
        border-radius: 6px;
        background: #2d2e54;
      }
      & .item-container {
        margin-top: 30px;
        padding: 20px 17px;
        border-top: 1px solid #2d2e54;
        background: #fff;
        & .title {
          width: 100%;
          margin-bottom: 1em;
          padding-left: 22px;
          color: #2d2e54;
          border-bottom: 1px solid #ccc;
          position: relative;
          display: inline-block;
          &::before {
            content: '';
            width: 18px;
            height: 18px;
            background: #baaf5a;
            border-radius: 50%;
            position: absolute;
            top: 0;
            left: 0;
            bottom: 0;
            margin: auto;
          }
          &::after {
            content: '';
            width: 0;
            height: 0;
            border-style: solid;
            border-width: 4px 0 4px 6px;
            border-color: transparent transparent transparent #fff;
            position: absolute;
            top: 0;
            left: 6px;
            bottom: 0;
            margin: auto;
          }
        }
        & .item-box {
          grid-template-columns: 2fr 1fr;
          & .text-area {
            order: 1;
            & .item-name {
              margin: 10px 0;
              color: #ada249;
			font-weight: 600;

              & span.round {
                padding: 3px 1em;
                color: #fff;
                border-radius: 100vmax;
                background: #ada249;
				font-weight: 600;
              }
            }
          }
          & img {
            order: 2;
          }
        }
      }
    }
  }

  /* 施 術 の 流 れ
  -------------------------------------------------*/
  .flow {
    & .flow-inner {
      max-width: 1080px;
      margin: 0 auto;
      & ul.step-list {
        display: flex;
        grid-template-columns: repeat(4, 1fr);
        & li {
          width: 90%;
          margin: 0 20px 0 0;
          padding: 15px;
          display: inline-block;
          position: relative;
          border-radius: 4px;
          background: #fff;
          &::after {
            content: "";
            position: absolute;
            top: 50%;
            right: 0;
            border-style: solid;
            border-width: 10px 0 10px 20px;
            border-color: transparent transparent transparent #2d2e54;
            translate: 100% -50%;
          }
          & .step {
            max-width: 80px;
            height: 80px;
            margin: 0 auto 20px;
            text-align: center;
            color: #bdae61;
            line-height: 1.2;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            border: 1px solid #bdae61;
            border-radius: 100vmax;
            & span {
              font-size: 30px;
            }
          }
          & .flow-container {
            text-align: center;
            white-space: normal;
            & .title {
              font-size: 17px;
            }
            & p {
              text-align: left;
            }
          }
        }
        & li:last-child::after {
          content: none;
        }
      }
    }
  }
	

  /* 施 術 概 要 ・ リ ス ク ・ 注 意 点
  -------------------------------------------------*/
  .risk {
    & .risk-inner {
      max-width: 1080px;
      margin: 0 auto;
      & dl.risk-list {
        display: grid;
        grid-template-columns: 1fr 2fr;
        row-gap: 10px;
        & dt {
          padding: 25px;
          display: flex;
          align-items: center;
          background: #f4ece8;
        }
        & dd {
          padding: 25px;
        }
      }
    }
  }

  /* 料 金 に つ い て
  -------------------------------------------------*/
  .price {
    & .price-inner {
      max-width: 1080px;
      margin: 0 auto;
		&.price-table h3 {
          margin-bottom: 30px;
          font-size: 24px;
      }
	      & .price-table {
        & table.injection-price {
          width: 100%;
		margin-bottom: 70px;
          & th {
            padding: 1em 0;
            font-weight: 600;
            color: #fff;
            background: #2d2e54;
			border: 1px solid #f4ece8;
          }
          & th:first-child {
            border-radius: 8px 0 0 0;
          }
          & th:last-child {
            border-radius: 0 8px 0 0;
			  border-right: none;
          }
          & td.item {
            padding: .5em 0;
            background: #f4ece8;
			 font-weight: 600;
          }
          & td {
            padding: 10px 0;
            text-align: center;
            border: 1px solid #eadfda;
			background-color: #fffcf9;
          }
        }
      }			
      & .price-list-wrap {
        margin-bottom: 30px;
        display: block;
        overflow-x: auto;
        & table {
          margin: 0 auto;
        }
		  

        & table th, table td {
          padding: .5em;
          font-size: 20px;
          text-align: center;
          white-space: nowrap;
          border: 1px solid #e0dacb;
        }
        & table th {
          font-weight: normal;
          color: #fff;
          background: #2e2c56;
        }
        & table th:first-child {
          border-radius: 8px 0 0 0;
        }
        & table th:last-child {
          border-radius: 0 8px 0 0;
        }
        & td {
          background: #fff
        }
        & td.price-menu {
          background: #f4ece8;
        }
      }
      & .reservation {
		  margin-bottom: 40px;
          padding: 20px 40px;
          border-radius: 0px 0px 10px 10px;
		  border-top: solid 1px #baaf5a ;
          background: #fff;		  
        & h3 {
		width: 100%;
        margin-bottom: 1em;
        padding-left: 22px;
        color: #2d2e54;
        border-bottom: 1px solid #dfe3ea;
        position: relative;
        display: inline-block;
        }
            & h3:before {
                content: '';
                width: 18px;
                height: 18px;
                background: #baaf5a;
                border-radius: 50%;
                position: absolute;
                top: 0;
                left: 0;
                bottom: 0;
                margin: auto;
            }		 
		   & h3:after {
                content: '';
                position: absolute;
                top: 50%;
                left: 5px;
                width: 6px;
                height: 6px;
                border-top: 2px solid #fff;
                border-right: 2px solid #fff;
                transform: translateY(-50%) rotate(45deg);
		  }
          & .content-body {
            display: grid;
            grid-template-columns: 2fr 1fr;
            column-gap: 30px;
            & .text-area {
              margin-bottom: 20px;
              text-align: left;
            }		  
		  
      }
    }
  }
	
	
	
	
.price .injection-price tr.border-bottom{
  border-bottom: 2px solid #ddcfca;
}

/* テーブル最下段のボーダーだけ通常の太さにする */
.price table.injection-price tr:last-child td {
  border-bottom: 1px solid #eadfda !important;
}

	
  /* よ く あ る ご 質 問
  -------------------------------------------------*/

  .faq{
    padding: 100px 17px;
  }

  .faq .question{
    padding: 34px 56px 34px 60px;
  }

  .faq .question::before{
    left: 18px;
    font-size: 24px;
  }

  .faq .question span{
    font-size: 14px;
  }

  .faq .answer{
    padding: 22px 22px 22px 60px;
    margin: 16px 0;
  }

  .faq .answer span{
    font-size: 12px;
  }

	
/* ===== 鈴木追加===== */
	
	
/* ===== 追記：treatment-features（一般的な化粧品とのちがい）添付1寄せ ===== */
.treatment .treatment-features h2{
  padding: 14px 18px;
  border-radius: 8px;
  font-weight: 600;
}

.treatment .treatment-features .container{
  border: 1px solid #e6e6e6;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0,0,0,.05);
}

/* 既存の丸アイコンは残してOK。タイトルの見た目だけ寄せる */
.treatment .treatment-features .container .title{
  padding: 14px 0 14px 28px;
  margin-bottom: 14px;
  font-weight: 600;
  line-height: 1.5;
	font-size: 19px;
}

/* SPで「本文→画像」の縦並び＆左寄せ（既存 text-align:center を打ち消す） */
.treatment .treatment-features .container .content-body{
  text-align: left;
}

.treatment .treatment-features .container img{
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
}

/* 箇条書き（UL） */
.treatment .treatment-features .container .feature-list{
  margin: 0;
  padding: 0;
  list-style: none;
}

.treatment .treatment-features .container .feature-list li{
  position: relative;
  padding: 10px 0 10px 26px;
  line-height: 1.7;
}

.treatment .treatment-features .container .feature-list li:last-child{
  border-bottom: none;
}

.treatment .treatment-features .container .feature-list li::before{
  content: "";
  position: absolute;
  top: 16px;
  left: 0;
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: #2e2c56;
}

	  



}