/* ========================================================================== 
   Medical Hair Removal page CSS
   ========================================================================== */

/*
  Load after page-common.css.
  Contains only declarations that are unique to /medical-hair-removal/ or override shared selectors.
*/


/* --------------------------------------------------------------------------
   Medical page overrides for shared selectors
   -------------------------------------------------------------------------- */

.fv {
  background-color: #fff;
}

.h1 {
  color: #efd7ba;
}

.h3 {
position: relative;
font-size: 20px;
line-height: 100%;
text-align: left;
}

.gold{
  color: #c7a47a;
}

.section {
  background-color: #fff;
}

.text {
  gap: 12px;
}

.line-container {
  background-image: url(../images/line_r.png);
  background-repeat: no-repeat;
  background-position: center right;
  background-size: cover;
  height: 10px;
}

.container {
  justify-content: center;
  gap: 12px;
  font-size: 16px;
  color: #fff;
  font-family: 'Noto Sans JP';
}

.b {
  align-self: stretch;
  line-height: 100%;
}

.body {
  align-self: stretch;
  color: #554a4a;
}

.item {
  align-self: stretch;
  align-items: flex-start;
  gap: 12px;
}

.item6 {
  width: 111px;
  height: 111px;
  background-color: #fff;
}

.small .item6 {
  width: 24%;
  min-width: 75px;
  height: auto;
  aspect-ratio: 1 / 1;
}


/* --------------------------------------------------------------------------
   Accordion
   -------------------------------------------------------------------------- */

.js-accordion {
  align-self: stretch;
}

.js-accordion-trigger {
  cursor: pointer;
}

.js-accordion-icon {
  width: 33px;
  height: 33px;
  border-radius: 100px;
  background-color: #fff;
  border: 1px solid #c7a47a;
  box-sizing: border-box;
  position: relative;
  flex-shrink: 0;
}

.js-accordion-icon::before {
  width: 13px;
  height: 1px;
}

.js-accordion-icon::after {
  width: 1px;
  height: 13px;
}

.js-accordion.is-open .js-accordion-icon::after {
  opacity: 0;
  transform: translate(-50%, -50%) scaleY(0);
}

.js-accordion-panel {
  align-self: stretch;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.35s ease;
}


/* --------------------------------------------------------------------------
   Medical intro / device accordion
   -------------------------------------------------------------------------- */

.what {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.type {
  position: relative;
  line-height: 100%;
}

.jp {
  position: relative;
  letter-spacing: 0.03em;
  line-height: 100%;
  font-weight: 500;
}

.plus-button {
  height: 33px;
  width: 33px;
  border-radius: 100px;
  background-color: #fff;
  border: 1px solid #c7a47a;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
}

.plus {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.minus-icon {
  width: 13px;
  height: 1px;
  position: relative;
  max-height: 100%;
}

.panel2 {
  align-self: stretch;
  border-right: 1px solid #c7a47a;
  border-bottom: 1px solid #c7a47a;
  border-left: 1px solid #c7a47a;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px 16px;
  gap: 32px;
  font-size: 18px;
  color: #544949;
  font-family: 'Noto Serif JP';
}

.frame-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
}

.text7 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  text-align: center;
}

.b2 {
  align-self: stretch;
  position: relative;
  line-height: 100%;
  text-align: left;
}

.item-container {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  font-size: 32px;
  color: #efd7ba;
}

.text8 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 4px 0px 0px;
  gap: 4px;
  text-align: left;
  font-size: 16px;
  color: #554a4a;
}

.body-wrapper {
  background-color: #faf1ec;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px 4px;
}

.pro {
  align-self: stretch;
  position: relative;
  line-height: 150%;
  font-weight: 500;
}


/* --------------------------------------------------------------------------
   Effects
   -------------------------------------------------------------------------- */

.effect {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  text-align: center;
}

.heading32 {
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 4px;
  text-align: left;
}

.item-container-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  font-size: 14px;
  color: #c7a47a;
}

.item-container2 {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
}

.item5 {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.b7 {
  position: relative;
  line-height: 150%;
}

.body11 {
  align-self: stretch;
  position: relative;
  font-size: 16px;
  line-height: 150%;
  font-weight: 500;
}

.effect .outline-btn{

  margin: 0 auto;
}


/* --------------------------------------------------------------------------
   Parts / fee tables
   -------------------------------------------------------------------------- */

.parts {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 24px;
}

.woman {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  font-size: 10px;
}

.heading {
  align-self: stretch;
  background-color: #fff5f5;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  text-align: center;
  font-size: 18px;
}

.woman-body {
  display: flex;
  align-items: flex-start;
  isolation: isolate;
  gap: 4px;
  color: #fff;
  font-family: 'Noto Sans JP';
}

.woman-face {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  isolation: isolate;
  color: #fff;
  font-family: 'Noto Sans JP';
}

.div23 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 14px;
}

.h4 {
  align-self: stretch;
  border-radius: 12px 12px 0px 0px;
  background-color: #fff5f5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  gap: 20px;
  font-size: 16px;
}

.fee-container {
  display: flex;
  align-items: center;
  gap: 22px;
  text-align: center;
}

.div23 .row {
  align-self: stretch;
  border-top: 1px solid #fff5f5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  gap: 20px;
}

.fee-container2 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 11px;
  text-align: right;
}

.fee4 {
  width: 77px;
  position: relative;
  line-height: 100%;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
}

.div23 .row8 {
  align-self: stretch;
  border-top: 1px solid #fff5f5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  gap: 0px;
}

.text19 {
  flex: 1;
  position: relative;
  line-height: 100%;
  font-weight: 500;
}

.row17 {
  align-self: stretch;
  border-top: 1px solid #fff5f5;
  border-bottom: 1px solid #fff5f5;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  gap: 20px;
}

.woman2 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 32px;
  font-size: 18px;
}

.heading2 {
  align-self: stretch;
  background-color: #d0dfff;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  text-align: center;
}

.man-face {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  position: relative;
  isolation: isolate;
  font-size: 10px;
  color: #fff;
  font-family: 'Noto Sans JP';
}

.h42 {
  align-self: stretch;
  border-radius: 12px 12px 0px 0px;
  background-color: #efd7ba;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  gap: 20px;
  font-size: 16px;
}

.row18 {
  align-self: stretch;
  border-top: 1px solid #c7a47a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  gap: 0px;
}

.row20 {
  align-self: stretch;
  border-top: 1px solid #c7a47a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  gap: 20px;
}

.row21 {
  align-self: stretch;
  border-top: 1px solid #c7a47a;
  border-bottom: 1px solid #c7a47a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  gap: 20px;
}

.note{
  width: 100%;
  position: relative;
  font-size: 14px;
  letter-spacing: 0.03em;
  line-height: 150%;
  font-family: 'Noto Sans JP';
  text-align: left;
  display: inline-block;
}

.div32 {
  align-self: stretch;
  background-color: #faf1ec;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  padding: 16px;
  font-size: 16px;
}

.text33 {
  position: relative;
  line-height: 100%;
  font-weight: 500;
  white-space: pre-wrap;
}

.fee-container24 {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  text-align: right;
}

/* --------------------------------------------------------------------------
   施術前に知っておきたいことテーブル
   -------------------------------------------------------------------------- */

.info-table {
  width: 100%;
  border: 1px solid #efd7ba;
  font-family: "Noto Serif JP", serif;
  font-size: 15px;
  line-height: 1.65;
}

.info-row {
  display: grid;
  grid-template-columns: 44% 56%;
  border-bottom: 1px solid #efd7ba;
}

.info-row:last-child {
  border-bottom: none;
}

.info-label {
  background: var(--color-gold);
  color: #fff;
  display: flex;
  align-items: center;
  padding: 16px 10px;
  font-weight: 700;
  line-height: 1.4;
}

.info-body {
  background: #fff;
  padding: 10px 8px;
  font-weight: 500;
}

/* --------------------------------------------------------------------------
   Flow / precautions / FAQ
   -------------------------------------------------------------------------- */

   .page-section:has(#faq) {
  padding-top: 60px;
}

.time{
  position: relative;
background-color: #c7a47a;
padding: 3px 4px;
box-sizing: border-box;
text-align: center;
font-size: 15px;
color: #fff;
font-family: 'Noto Sans JP';
}

.item-container4 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  text-align: center;
  font-size: 17px;
  color: #fff;
}

.container4 {
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 12px;
}

.item18 {
  width: 90px;
  height: 90px;
  border-radius: 400px;
  background-color: #efd7ba;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.text35 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  font-size: 18px;
  color: #554a4a;
}

.body13 {
  align-self: stretch;
  position: relative;
  font-size: 16px;
  line-height: 150%;
  font-weight: 500;
  text-align: left;
}

.line-container5 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  padding: 0px 0px 0px 46px;
}

.line-container-child {
  width: 1px;
  height: 13px;
  position: relative;
  border-right: 1px solid #efd7ba;
  box-sizing: border-box;
}

.container9 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  text-align: center;
  font-size: 18px;
  color: #fff;
}

.h4-wrapper {
  background-color: #c7a47a;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
}

.body18 {
  align-self: stretch;
  position: relative;
  font-size: 16px;
  line-height: 150%;
  font-weight: 500;
  color: #554a4a;
  text-align: left;
}

.container10 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 16px;
}

.container11 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
}

.item-container5 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  color: #fff;
  font-family: 'EB Garamond';
}

.trigger2 {
  align-self: stretch;
  background-color: #c7a47a;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px 12px;
}

.container12 {
  align-self: stretch;
  display: flex;
  align-items: center;
  padding: 12px 0px;
  gap: 6px;
}

.text40 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 16px;
  font-family: 'Noto Serif JP';
}

.div33 {
  align-self: stretch;
  position: relative;
  line-height: 100%;
  font-weight: 500;
}

.panel3 {
  align-self: stretch;
  background-color: #fff;
  border-right: 1px solid #c7a47a;
  border-bottom: 1px solid #c7a47a;
  border-left: 1px solid #c7a47a;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0px 12px;
  color: #c7a47a;
}

.container13 {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  padding: 12px 0px;
  gap: 8px;
}

.a-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 3px 0px 0px;
}

.text41 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  font-size: 16px;
  color: #554a4a;
  font-family: 'Noto Serif JP';
}

.text43 {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  font-size: 16px;
  color: #554a4a;
  font-family: 'Noto Serif JP';
}

.div43 {
  align-self: stretch;
  position: relative;
  font-size: 15px;
  line-height: 150%;
  font-weight: 500;
}


/* --------------------------------------------------------------------------
   Other shared selectors
   -------------------------------------------------------------------------- */

.plus-icon {
  width: 13px;
  height: 13px;
  position: relative;
}

.js-accordion-icon::before,
.js-accordion-icon::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background-color: #c7a47a;
  transform: translate(-50%, -50%);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.open {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.trigger {
  align-self: stretch;
  background-color: #c7a47a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 16px;
  gap: 20px;
}

.contact .footer-tel {
  align-items: center;
  color: #554a4a;
}

/* --------------------------------------------------------------------------
   Merged from add.css
   -------------------------------------------------------------------------- */

.effect-title{
width: 100%;
position: relative;
font-size: 18px;
line-height: 100%;
display: inline-block;
font-family: 'Noto Serif JP';
color: #c7a47a;
text-align: center;
  
}

.container-treat{
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 56px;
  max-width: 100%;
}
.trouble {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}
.list {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  font-size: 16px;
  font-family: 'Noto Sans JP';
}

.trouble:has(.list) span{
  color: #c7a47a;
  font-family: 'Noto Serif JP';
  font-size: 16px;
  text-align: left;
}

.text3 {
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 8px;
}

.text-list {
  flex: 1;
  position: relative;
  letter-spacing: 0.03em;
  line-height: 100%;
  color: #554a4a;
  text-align: left;
}

.check-box-icon {
  width: 20px;
  border-radius: 200px 200px 200px 4px;
  max-height: 100%;
}

/* =========================================================
   Treatment Section
========================================================= */

.section-treatment {
  width: 100%;
  position: relative;
  background-color: #fff5f5;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 60px 24px;
  box-sizing: border-box;
  text-align: left;
  font-size: 20px;
  color: #554a4a;
  font-family: 'Noto Serif JP';
}


/* =========================================================
   Title Image
========================================================= */

.titleimage {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  text-align: center;
  font-size: 24px;
}

.h2 {
  align-self: stretch;
  display: flex;
  align-items: center;
  justify-content: center;
}

.h22 {
  position: relative;
  letter-spacing: 0.03em;
  line-height: 100%;
}

.icon {
  width: 97px;
  position: relative;
  max-height: 100%;
  object-fit: cover;
}

/* =========================================================
    Heading
========================================================= */

.what {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
}

.heading3,
.heading36 {
  align-self: stretch;
  display: flex;
  align-items: center;
  gap: 4px;
}

.heading36 {
  font-size: 20px;
}

.heading3-child {
  height: 4px;
  width: 4px;
  position: relative;
  background-color: #c7a47a;
  transform: rotate(-45deg);
}

.type {
  position: relative;
  line-height: 100%;
}

/* =========================================================
    Heading images
========================================================= */

.ipl-img{
  height: 155px;
  width: auto;
  object-fit: contain;
}

.laser-img{
  height: 168px;
  width: auto;
  object-fit: contain;
}

.darma-img{
  height: 155px;
  width: auto;
  object-fit: contain;
}

.icon1540-img{
  height: 105px;
  width: auto;
  object-fit: contain;
}

.massage-peel-img{
  width: 215px;
  height: auto;
  object-fit: contain;
}

.radio-img{
  height: 190px;
  width: auto;
  object-fit: contain;
}

.accordion-img-cont{
  display: flex;
  flex-direction: row;
  gap: 12px;
}

.accordion-img-cont .benev-img{
  width: 50px;
  height: auto;
}

.accordion-img-cont .massage-peel-img{
  width: 164px;
  height: auto;
}
/* =========================================================
   Text Blocks
========================================================= */

.text {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  font-size: 16px;
  font-family: 'Noto Sans JP';
}

.div {
  align-self: stretch;
  position: relative;
  letter-spacing: 0.03em;
  line-height: 150%;
}

.text4 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 16px;
  text-align: center;
  font-size: 18px;
  color: #c7a47a;
}

.text5 {
  align-self: stretch;
  position: relative;
  font-size: 16px;
  letter-spacing: 0.03em;
  line-height: 150%;
  color: #554a4a;
  text-align: left;
  font-family: 'Noto Sans JP';
}

.body {
  align-self: stretch;
  position: relative;
  font-size: 16px;
  line-height: 150%;
  font-weight: 500;
}

.b {
  position: relative;
  line-height: 150%;
}

/* =========================================================
   Effect Circle Items
========================================================= */

.treat_item-container-parent {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  text-align: center;
  font-size: 14px;
  color: #c7a47a;
}

.treat_item-container {
  align-self: stretch;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 12px;
}

.treat_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.treat_item2 {
  width: 111px;
  height: 111px;
  border-radius: 400px;
  background-color: #fff;
  border: 2px solid #efd7ba;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.what span{
  color: #554a4a;
  font-family: 'Noto Serif JP';
  font-size: 16px;
  text-align: left;
}

/* =========================================================
   Feature / Technology Cards
========================================================= */

.item-container3 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  text-align: center;
  font-size: 18px;
}

.item9 {
  align-self: stretch;
  border-radius: 12px;
  border: 2px solid #c7a47a;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
  position: relative;
  isolation: isolate;
}

.text6 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  z-index: 0;
  flex-shrink: 0;
}

.b5,
.b6 {
  height: 32px;
  position: absolute;
  margin: 0 !important;
  top: 16px;
  font-size: 32px;
  line-height: 100%;
  display: inline-block;
  color: #efd7ba;
  z-index: 1;
  flex-shrink: 0;
}

.b5 {
  width: 34px;
  left: 16px;
}

.b6 {
  width: 38px;
  left: 14px;
}

/* =========================================================
   Merit Cards
========================================================= */

.item12 {
  align-self: stretch;
  border-radius: 12px;
  background: linear-gradient(90deg, #ffe1c7, #ffc9ca);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
}

.item12 .b{
  position: relative;
  font-size: 18px;
  line-height: 150%;
  font-family: 'Noto Serif JP';
  color: #554a4a;
  text-align: center;
}

/* =========================================================
   Fee Table
========================================================= */

.fee {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  font-size: 14px;
}

.fee .h3{
font-size: 16px;
}

.container,
.container2 {
  align-self: stretch;
  display: flex;
  flex-direction: column;
}

.container {
  align-items: center;
}

.container2 {
  align-items: flex-start;
}

.h49 {
  align-self: stretch;
  border-radius: 12px 12px 0 0;
  background-color: #efd7ba;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
  gap: 20px;
  font-size: 16px;
}

.row,
.row3 {
  align-self: stretch;
  border-top: 1px solid #c7a47a;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px;
}

.row {
  gap: 20px;
}

.row3 {
  border-bottom: 1px solid #c7a47a;
  gap: 0;
}

.fee-container,
.fee-container3 {
  display: flex;
  align-items: center;
}

.fee-container {
  gap: 22px;
  text-align: center;
}

.fee-container3 {
  justify-content: flex-end;
  gap: 11px;
  text-align: right;
}

.fee-parent,
.fee-group,
.special {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.fee-parent {
  align-items: flex-end;
  justify-content: center;
}

.fee-group {
  align-items: flex-start;
  justify-content: center;
}

.special {
  align-items: flex-end;
  gap: 2px;
  color: #c7a47a;
}

.text13,
.text15,
.fee11 {
  position: relative;
  line-height: 100%;
  font-weight: 500;
}

.text15 {
  flex: 1;
}

.fee11 {
  width: 77px;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-shrink: 0;
}

.warning-text {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  font-family: 'Noto Sans JP';
}


/* =========================================================
   FAQ Button
========================================================= */

.menubtn,
.faqbtn {
  width: 100%;
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 16px;
box-sizing: border-box;
gap: 20px;
text-align: left;
font-size: 16px;
font-family: 'Noto Sans JP';
}

.menubtn{
  background-color: #c7a47a;
  color: #fff;
}

.faqbtn{
  background: transparent;
  border: 1px solid #554a4a;
  color: #554a4a;
}

.item-container4 .faqbtn{
  margin-top: 56px;
}

.menubtn::after,
.faqbtn::after {
  content: "";
  height: 33px;
  width: 33px;
  border-radius: 100px;
  background-position: center;
  background-size: 9px 5px;
  background-repeat: no-repeat;
}

.menubtn::after{
  background-color: #fff;
  background-image: url('../images/arrow_down.png');
}

.faqbtn::after {
  background-color: #faf1ec;
  background-image: url('../images/arrow_down_b.png');
}


/* ==========================================================================
   水光注射ページ追加スタイル (page-hydro-injection)
   ========================================================================== */

.drug ,.features{
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  font-size: 16px;
}


/* --------------------------------------------------------------------------
   使用機器 画像
   -------------------------------------------------------------------------- */

.device-img {
  width: 100%;
  max-width: 280px;
  height: auto;
  object-fit: contain;
  display: block;
  margin: 0 auto;
}


/* --------------------------------------------------------------------------
   薬剤スライダー（Swiper）
   -------------------------------------------------------------------------- */

/*
  ちら見せ（peek）の仕組み（.swiper-column と同方式）:
  ① .drug-swiper-clip : overflow:hidden でクリップ
  ② .swiper-drug      : overflow:visible で次カードを見せる
     → JS 側で slidesOffsetBefore:24 / spaceBetween:12 を設定
*/

.drug-swiper-wrap {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  gap: 16px;
  /* section の左右 padding を打ち消して端まで広げる */
  margin-left: -24px;
  margin-right: -24px;
}

.drug-swiper-clip {
  width: 100%;
  overflow: hidden;
  box-sizing: border-box;
}

.swiper-drug {
  overflow: visible; /* clip は親の .drug-swiper-clip が担当 */
  width: 100%;
}

/* swiper-slide に幅を明示（slidesPerView:'auto' 時は必須） */
.swiper-drug .swiper-slide {
  width: 292px;
  height: auto;
}

/* 薬剤カード本体 */
.drug-card {
  width: 292px;
  padding: 28px 16px;
  outline: 1px solid #c7a47a;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  box-sizing: border-box;
  background-color: #fff;
}

/* ステムサップのようにリンクを持つカード */
.drug-card--link {
  align-items: center;
}

/* 薬剤画像 */
.drug-card__img {
  align-self: stretch;
  height: 175px;
  width: 100%;
  object-fit: cover;
}

/* タイトルブロック（薬剤名 + 英名/カテゴリ） */
.drug-card__title {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.drug-card__name {
  font-size: 22px;
  font-family: 'Noto Serif JP', serif;
  color: #544949;
  text-align: center;
  line-height: 1.3;
}

.drug-card__en {
  font-size: 14px;
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  color: #c7a47a;
  text-align: center;
}

/* 説明文 */
.drug-card__desc {
  align-self: stretch;
  font-size: 16px;
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  color: #544949;
  line-height: 1.6;
  margin: 0;
}

/* 効果・適応タグ（2列） */
.drug-card__tags {
  align-self: stretch;
  display: flex;
  gap: 8px;
}

.drug-card__tag {
  flex: 1;
  padding: 12px 8px;
  background-color: #efd7ba;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.drug-card__tag-label {
  font-size: 15px;
  font-family: 'Noto Serif JP', serif;
  font-weight: 700;
  color: #544949;
  text-align: center;
}

.drug-card__tag-body {
  font-size: 16px;
  font-family: 'Noto Serif JP', serif;
  font-weight: 500;
  color: #544949;
  text-align: center;
  line-height: 1.6;
}

/* ステムサップ用リンクボタン */
.drug-card__link {
  align-self: stretch;
  padding: 12px 8px;
  background-color: #efd7ba;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  text-decoration: none;
  font-size: 16px;
  font-family: 'Noto Sans JP', sans-serif;
  color: #544949;
}

.drug-card__link-icon {
  width: 33px;
  height: 33px;
  background-color: #fff;
  border-radius: 100px;
  outline: 1px solid #c7a47a;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
  position: relative;
}

.drug-card__link-icon::after {
  content: '';
  display: block;
  width: 10px;
  height: 10px;
  border-top: 1.5px solid #c7a47a;
  border-right: 1.5px solid #c7a47a;
  transform: rotate(45deg);
  margin-left: -3px;
}

/* ページネーション（薬剤スライダー） */
.swiper-pagination-drug {
  position: static !important;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
  width: auto;
  padding-left: 24px;
}

.swiper-pagination-drug .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: transparent;
  border: 0.5px solid #c7a47a;
  opacity: 1;
  margin: 0 !important;
  transition: background-color 0.3s ease;
}

.swiper-pagination-drug .swiper-pagination-bullet-active {
  background-color: #c7a47a;
  border-color: #c7a47a;
}


/* --------------------------------------------------------------------------
   料金表 — 水光注射専用レイアウト
   -------------------------------------------------------------------------- */

/* 「顔への施術」「頭皮への施術」セクションタイトル */
.h3-title {
  align-self: stretch;
  padding: 4px 0 8px;
}

.h3-title .h3 {
  font-size: 18px;
  color: #554a4a;
}

/* 薬剤・内容・容量・価格の4列ヘッダー */
.h49--wide {
  display: grid;
  grid-template-columns: 1fr 1fr 56px 150px;
  gap: 8px;
  justify-content: unset;
}

/* 薬剤・内容・容量・価格の4列行 */
.row--wide {
  display: grid;
  grid-template-columns: 1fr 1fr 56px 150px;
  gap: 8px;
  align-items: center;
}

/* 薬剤内容（複数行）サブテキスト */
.text13--sub {
  font-size: 12px;
  line-height: 1.5;
  color: #7a6f6f;
}

/* 別項目参照などのアンダーライン付きテキスト */
.text13--underline {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* オプション行ヘッダー（右寄せラベル） */
.h49--option {
  display: flex;
  justify-content: flex-end;
  background-color: #faf1ec;
  border-radius: 0;
  border-top: 1px solid #c7a47a;
  padding: 10px 16px;
  font-size: 14px;
  color: #c7a47a;
}

/* 料金表の補足テキスト（全顔の目安など） */
.note-text {
  align-self: stretch;
  font-size: 13px;
  font-family: 'Noto Sans JP', sans-serif;
  color: #7a6f6f;
  line-height: 1.5;
  padding: 4px 0 0;
}


/* --------------------------------------------------------------------------
   FAQ セクション
   -------------------------------------------------------------------------- */

.item-container-faq {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}


/* --------------------------------------------------------------------------
   レスポンシブ調整（水光注射ページ）
   -------------------------------------------------------------------------- */

/*
  4列テーブルは折りたたまず全列を維持したまま横スクロールで表示する。
  テーブル全体をスクロール可能なラッパーで包み、はみ出た部分はスワイプで確認できる。
*/

/* 料金表の顔への施術ブロック全体を横スクロール可能にする */
.container2:has(.h49--wide) {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  scrollbar-width: thin;
  scrollbar-color: #efd7ba transparent;
}

.container2:has(.h49--wide)::-webkit-scrollbar {
  height: 4px;
}

.container2:has(.h49--wide)::-webkit-scrollbar-track {
  background: transparent;
}

.container2:has(.h49--wide)::-webkit-scrollbar-thumb {
  background-color: #efd7ba;
  border-radius: 4px;
}

/* 4列グリッドは固定幅を維持して折りたたまない */
.h49--wide,
.row--wide {
  min-width: 480px;
}

/* .drug-item / .drug-img は Swiper ベースのカードに置き換えたため削除 */


/* --------------------------------------------------------------------------
   成分の特徴カード（EGF / TGF-β / VEGF / PDGF / IGF）
   -------------------------------------------------------------------------- */

/* カードリスト全体 */
.ingredient-card-list {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  width: 100%;
  margin-top: 30px;
}

/* 各カード：横並び（バッジ＋テキスト） */
.ingredient-card {
  align-self: stretch;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
  padding: 16px;
  outline: 1px solid #c7a47a;
  outline-offset: -1px;
  box-sizing: border-box;
  background-color: #fff;
}

/* 略称バッジ（EGF等）：背景 #efd7ba */
.ingredient-badge {
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  background-color: #efd7ba;
  min-width: 48px;
  writing-mode: vertical-rl;
  text-orientation: upright;
}

/* 略称テキスト */
.ingredient-abbr {
  display: block;
  text-align: center;
  color: #544949;
  font-size: 15px;
  font-weight: 700;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.4;
  white-space: nowrap;
}

/* テキスト部分（名称＋説明） */
.ingredient-text {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
}

/* 成分名（例：上皮成長因子） */
.ingredient-name {
  color: #544949;
  font-size: 18px;
  font-weight: 500;
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 1.4;
}

/* 成分説明文 */
.ingredient-desc {
  color: #544949;
  font-size: 16px;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.5;
}


/* --------------------------------------------------------------------------
   AGA アコーディオン内「成分の特徴」カード
   （成長因子 / サイトカイン / エクソソーム）
   -------------------------------------------------------------------------- */

/* カードリスト全体 */
.aga-ingredient-card-list {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  width: 100%;
}

/* 各カード：縦並び・中央揃え */
.aga-ingredient-card {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 20px 16px;
  outline: 1px solid #c7a47a;
  outline-offset: -1px;
  box-sizing: border-box;
  background-color: #fff;
  text-align: center;
}

/* カードタイトル（成長因子 等）：ゴールド */
.aga-ingredient-name {
  width: 100%;
  color: #c7a47a;
  font-size: 18px;
  font-weight: 700;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.4;
  text-align: center;
}

/* カード説明文 */
.aga-ingredient-desc {
  width: 100%;
  color: #544949;
  font-size: 16px;
  font-weight: 500;
  font-family: 'Noto Serif JP', serif;
  line-height: 1.5;
  text-align: center;
}

.h49 .fee-parent .fee-container {
  display: grid;
  grid-template-columns: 70px 70px;
  column-gap: 8px;
  text-align: center;
}

.h49 .fee-parent .fee-container .text13 {
  display: block;
  width: 100%;
  text-align: right;
  white-space: nowrap;
}
