

.fm-ptab { margin-top: 0; } 
.fm-ptab__list { display: none; }
.fm-ptab[data-fm-ptabs="on"] .fm-ptab__list {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px;
  border-bottom: 2px solid var(--fm-ptab-line, var(--fm-c-navy-2));
}
.fm-ptab[data-fm-ptab-sel="core"] { --fm-ptab-line: #8A6F3C; }
.fm-ptab[data-fm-ptab-sel="complete"] { --fm-ptab-line: #83566F; }
.fm-ptab[data-fm-ptab-sel="signature"] { --fm-ptab-line: #34374E; }
.fm-ptab__tab {
  appearance: none; -webkit-appearance: none; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "num prefix" "word word";
  align-content: center; align-items: baseline; justify-items: start; gap: 2px 8px;
  min-height: 72px; margin: 0; padding: 10px 8px 10px 10px; border: 0; border-radius: 12px 12px 0 0; background: var(--fm-plan-tint); color: var(--fm-text);
  font: inherit; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent;
  transition: background-color .2s ease-in-out, color .2s ease-in-out, box-shadow .2s ease-in-out;
}
.fm-ptab__tab[aria-selected="true"] { background: var(--fm-plan-badge); color: #FFFFFF; cursor: default; }
.fm-ptab__tab:focus-visible { outline: 2px solid var(--fm-focus); outline-offset: 2px; }
.fm-ptab__num { grid-area: num; font: 400 14px/round(1.4em, 1px) var(--fm-font-en); font-variant-numeric: tabular-nums; letter-spacing: .08em; }
.fm-ptab__prefix { grid-area: prefix; font: 400 13px/round(1.4em, 1px) var(--fm-font-en); letter-spacing: .12em; }
.fm-ptab__word { grid-area: word; font: 500 15px/round(1.3em, 1px) var(--fm-font-en); letter-spacing: .04em; }
.fm-ptab__tab[aria-selected="false"] .fm-ptab__num, .fm-ptab__tab[aria-selected="false"] .fm-ptab__prefix { color: var(--fm-text-label); }
@media (hover: hover) {
  .fm-ptab__tab[aria-selected="false"]:hover { box-shadow: inset 0 -2px 0 var(--fm-plan-badge); } 
}

.fm-ptab__panel {
  padding: 28px 20px 32px; border-radius: 12px;
  background: linear-gradient(135deg, var(--fm-plan-tint) 0%, #FFFFFF 100%); box-shadow: 0 8px 24px rgba(0, 0, 0, .05);
}

.fm-root .fm-ptab__panel[role="tabpanel"] { height: auto; opacity: 1; visibility: visible; overflow: visible; }
.fm-ptab__panel + .fm-ptab__panel { margin-top: 16px; }
.fm-ptab[data-fm-ptabs="on"] { border-radius: 12px; box-shadow: 0 8px 24px rgba(0, 0, 0, .05); } 
.fm-ptab[data-fm-ptabs="on"] .fm-ptab__panel { margin-top: 0; border-radius: 0 0 12px 12px; box-shadow: none; }
.fm-ptab__panel[hidden] { display: none; }
.fm-ptab__catch { margin: 0 0 16px; font: 500 var(--fm-fs-body)/round(1.8em, 1px) var(--fm-font-ja); color: var(--fm-text); } 
.fm-ptab__catch > span {
  margin-left: -8px; padding: 3px 40px 3px 8px; border-radius: 6px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--fm-plan-badge) 24%, transparent) 0%, color-mix(in srgb, var(--fm-plan-badge) 0%, transparent) 100%);
  -webkit-box-decoration-break: clone; box-decoration-break: clone;
}
.fm-ptab__title { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0; color: var(--fm-text); }
.fm-ptab__badge { flex: none; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--fm-plan-badge); color: #FFFFFF; font: 400 14px/1 var(--fm-font-en); font-variant-numeric: tabular-nums; }
.fm-ptab__tprefix { font: 400 13px/round(1.4em, 1px) var(--fm-font-en); letter-spacing: .12em; color: var(--fm-text-label); }
.fm-ptab__tword { font: 300 28px/round(1.2em, 1px) var(--fm-font-en); letter-spacing: .05em; }
.fm-ptab__price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 4px; margin: 16px 0 0; color: var(--fm-text); }
.fm-ptab__plabel, .fm-ptab__tax { font-size: var(--fm-fs-body); color: var(--fm-text-label); }
.fm-ptab__price .fm-num { font: 300 34px/round(1.2em, 1px) var(--fm-font-en); font-variant-numeric: tabular-nums; }
.fm-ptab__price .fm-yen { font-size: var(--fm-fs-body); }

.fm-ptab__price .fm-num { 
  padding: 0 calc(var(--fm-fs-body) * 1.08 + 4px) 0 .08em; background: linear-gradient(transparent 58%, color-mix(in srgb, var(--fm-plan-badge) 24%, transparent) 58%);
  -webkit-box-decoration-break: clone; box-decoration-break: clone; -webkit-print-color-adjust: exact; print-color-adjust: exact;
}
.fm-ptab__price .fm-yen { margin-left: calc(var(--fm-fs-body) * -1.08 - 4px); } 
.fm-ptab__desc { margin: 16px 0 0; color: var(--fm-text-sub); }
.fm-ptab__block { margin-top: 24px; padding-top: 20px; border-top: 1px solid rgba(33, 33, 38, .14); }
.fm-ptab__h { margin: 0 0 8px; font: 500 15px/round(1.6em, 1px) var(--fm-font-ja); letter-spacing: .04em; color: var(--fm-bronze); }
.fm-ptab__recs > li { position: relative; padding-left: 26px; line-height: round(1.8em, 1px); }
.fm-ptab__recs > li + li { margin-top: 4px; }
.fm-ptab__recs > li::before { 
  content: ""; position: absolute; left: 4px; top: .62em; width: 10px; height: 6px;
  border-left: 1.5px solid var(--fm-plan-badge); border-bottom: 1.5px solid var(--fm-plan-badge); transform: rotate(-45deg);
}
.fm-ptab__treats > li { display: flex; align-items: center; gap: 8px; padding: 10px 0; border-bottom: 1px solid rgba(33, 33, 38, .1); line-height: round(1.5em, 1px); }
.fm-ptab__treats > li:first-child { padding-top: 4px; }
.fm-ptab__tname { min-width: 0; }
.fm-ptab__tcount { margin-left: auto; padding-left: 12px; white-space: nowrap; font-variant-numeric: tabular-nums; }
.fm-ptab__doc { color: var(--fm-text-sub); }

@media (min-width: 768px) {
  .fm-ptab__tab { min-height: 88px; padding: 14px 20px; column-gap: 12px; border-radius: 16px 16px 0 0; }
  .fm-ptab__panel { border-radius: 16px; }
  .fm-ptab[data-fm-ptabs="on"] { border-radius: 16px; }
  .fm-ptab[data-fm-ptabs="on"] .fm-ptab__panel { border-radius: 0 0 16px 16px; }
  .fm-ptab__catch > span { border-radius: 8px; }
  .fm-ptab__num { font-size: 15px; }
  .fm-ptab__prefix { font-size: 14px; }
  .fm-ptab__word { font-size: 22px; }
  .fm-ptab__panel { padding: 40px 40px 48px; }
  .fm-ptab__tword { font-size: 34px; }
  .fm-ptab__price .fm-num { font-size: 40px; }
}

.fm-ptab__tab { min-height: 104px; padding-inline: 32px; }
.fm-ptab__word { font-size: 28px; }
.fm-ptab__panel { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 64px; padding: 56px 56px 64px; }
.fm-ptab__panel[hidden] { display: none; }
.fm-ptab__details > .fm-ptab__block:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.fm-ptab__tword { font-size: 40px; }
.fm-ptab__price .fm-num { font-size: 44px; }


#fm-plans .fm-regular { margin: 16px 0 0; font-size: 15px; line-height: round(1.6em, 1px); color: var(--fm-text-label); text-wrap: balance; }
#fm-plans .fm-regular + .fm-ptab__price { margin-top: 4px; }

:is(#fm-plans, #fm-price) .fm-regular__note { margin: 2px 0 0; font-size: 13px; line-height: round(1.6em, 1px); color: var(--fm-text-label); }
:is(#fm-plans, #fm-price) .fm-regular__note + .fm-ptab__price { margin-top: 4px; }

#fm-plans .fm-plan--core { --fm-step1: #D6CBB8; --fm-step2: #BEAE91; --fm-step3: #8A6F3C; }
#fm-plans .fm-plan--complete { --fm-step1: #DBC9CA; --fm-step2: #C3A9B1; --fm-step3: #83566F; }
#fm-plans .fm-plan--signature { --fm-step1: #D2CBC2; --fm-step2: #B5B0AD; --fm-step3: #34374E; }
#fm-plans .fm-prow { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 10px; align-items: start; align-content: start; }
#fm-plans .fm-prow__icon { grid-column: 1; grid-row: 1; width: 24px; height: 24px; color: var(--fm-bronze); stroke: currentColor; }
#fm-plans .fm-prow > .fm-ptab__h { grid-column: 2; grid-row: 1; margin: 0; font-weight: 600; line-height: 24px; }
#fm-plans .fm-prow > .fm-ptab__recs, #fm-plans .fm-prow > .fm-ptab__doc { grid-column: 2; margin-top: 8px; }
#fm-plans .fm-prow > .fm-ptab__recs > li { padding-left: 22px; } 
#fm-plans .fm-prow > .fm-psteps { grid-column: 1 / -1; }
#fm-plans .fm-psteps { display: grid; row-gap: 24px; margin: 16px 0 0; padding: 0; list-style: none; }
#fm-plans .fm-pstep { min-width: 0; }
#fm-plans .fm-pstep--1 { --fm-step-bg: var(--fm-step1); --fm-step-fg: var(--fm-text); }
#fm-plans .fm-pstep--2 { --fm-step-bg: var(--fm-step2); --fm-step-fg: var(--fm-text); }
#fm-plans .fm-pstep--3 { --fm-step-bg: var(--fm-step3); --fm-step-fg: #FFFFFF; }
#fm-plans .fm-pstep__band { 
  display: block; height: 40px; margin: 0; padding: 0 30px 0 14px; line-height: 40px;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 50%, calc(100% - 14px) 100%, 0 100%);
  background: var(--fm-step-bg); color: var(--fm-step-fg); white-space: nowrap;
  -webkit-print-color-adjust: exact; print-color-adjust: exact; 
}
#fm-plans .fm-pstep__num { margin-right: 10px; font-family: "Jost", var(--fm-font-en); font-size: 16px; font-weight: 600; letter-spacing: -.02em; }
#fm-plans .fm-pstep__verb { font-family: var(--fm-font-ja); font-size: 16px; font-weight: 600; letter-spacing: .04em; }
#fm-plans .fm-pstep .fm-ptab__treats > li:first-child { padding-top: 12px; }
#fm-plans .fm-pstep .fm-ptab__treats > li:last-child { border-bottom: 0; padding-bottom: 0; }
#fm-plans .fm-pstep .fm-icon { width: 20px; height: 20px; }

#fm-plans .fm-ptab__details { display: contents; } 
#fm-plans .fm-ptab__intro { grid-column: 1; grid-row: 1; }
#fm-plans .fm-prow--recs { grid-column: 2; grid-row: 1; align-self: start; }
#fm-plans .fm-prow--steps { grid-column: 1 / -1; grid-row: 2; margin-top: 48px; padding-top: 40px; }
#fm-plans .fm-prow--doc { grid-column: 1 / -1; grid-row: 3; margin-top: 40px; padding-top: 32px; }
#fm-plans .fm-prow--doc > .fm-ptab__doc { max-width: var(--fm-measure); }
#fm-plans .fm-psteps { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 16px; margin-top: 24px; }
#fm-plans .fm-pstep__band { height: 44px; padding-left: 16px; line-height: 44px; }

#fm-plans .fm-pstep .fm-ptab__treats > li { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 0 10px; align-items: start; }
#fm-plans .fm-pstep .fm-ptab__treats .fm-icon { margin-top: 4px; }
#fm-plans .fm-pstep .fm-ptab__tcount { grid-column: 2; margin: 2px 0 0; padding-left: 0; font-size: 15px; color: var(--fm-text-label); }


.fm-ptab--care { --fm-plan-tint: #F7F0E7; --fm-plan-badge: #473732; --fm-ptab-line: #473732; }
.fm-ptab--care .fm-ptab__word { font: 500 16px/round(1.4em, 1px) var(--fm-font-ja); letter-spacing: .04em; }
.fm-ptab--care .fm-ptab__catch { margin-bottom: 24px; }
.fm-ptab--care .fm-treat { padding-block: 32px; }
.fm-ptab--care .fm-treat:first-of-type { padding-top: 0; }
.fm-ptab--care .fm-treat:last-child { padding-bottom: 0; }
.fm-ptab--care .fm-treat__media { border-radius: 8px; }
@media (min-width: 768px) {
  .fm-ptab--care .fm-ptab__word { font-size: 20px; }
  
  .fm-ptab--care .fm-treat { grid-template-rows: auto 1fr; }
  .fm-ptab--care .fm-treat__media { grid-row: 1 / span 2; }
}

.fm-ptab--care .fm-ptab__word { font-size: 24px; }
.fm-ptab--care .fm-ptab__panel { display: block; } 
.fm-ptab--care .fm-ptab__panel[hidden] { display: none; }

@media (min-width: 1200px) { 
  .fm-ptab--care .fm-treat__text, .fm-ptab--care .fm-treat > .fm-def { grid-column: 5 / -1; }
}

.fm-unsure { max-width: var(--fm-w-text); margin-top: var(--fm-block-gap); }
.fm-unsure__title { margin: 0; font: 500 var(--fm-fs-h3)/round(1.5em, 1px) var(--fm-font-ja); color: var(--fm-text); }
.fm-unsure__text { max-width: var(--fm-measure); margin: 12px 0 0; color: var(--fm-text-sub); }

@media (max-width: 374px) {
  .fm-ptab__word { font-size: 14px; }
  .fm-ptab__panel { padding-inline: 12px; }
  .fm-ptab__recs > li { padding-left: 24px; }
  .fm-unsure__title { font-size: 19px; }
}

@media (prefers-reduced-motion: reduce) {
  .fm-ptab__tab { transition: none; }
}

@media print {
  .fm-ptab__list { display: none !important; }
  .fm-ptab__panel, .fm-ptab__panel[hidden] { display: block !important; margin-top: 12px !important; break-inside: avoid; }
  .fm-ptab, .fm-ptab__panel { box-shadow: none !important; }
  .fm-ptab[data-fm-ptabs="on"] .fm-ptab__panel { border-radius: 12px; } 
}
@media print and (min-width: 768px) {
  .fm-ptab[data-fm-ptabs="on"] .fm-ptab__panel { border-radius: 16px; }
}
