

:is(#fm-risk, #fm-faq, #fm-care) { --fm-line: #E3DCD2; }
:is(#fm-risk, #fm-faq, #fm-care) .fm-faq__sign { align-self: start; height: 27px; transition: rotate .3s var(--fm-ease); }
:is(#fm-risk, #fm-faq, #fm-care) details[open]:not([data-fm-closing]) .fm-faq__sign { rotate: 45deg; }

#fm-risk .fm-risks { margin: 0; border-top: 0; border-bottom: 1px solid var(--fm-line); }
#fm-risk .fm-risk { border-top: 1px solid var(--fm-line); }
#fm-risk .fm-risk__q {
  display: grid; grid-template-columns: 20px minmax(0, 1fr) 16px; column-gap: 12px; align-items: start;
  padding: 20px 0; list-style: none; cursor: pointer;
}
#fm-risk .fm-risk__q::-webkit-details-marker { display: none; }
#fm-risk .fm-risk__q::marker { content: ""; }
#fm-risk .fm-risk__icon { width: 20px; height: 20px; margin-top: 4px; } 
#fm-risk .fm-risk__head { display: flex; flex-direction: column; align-items: flex-start; row-gap: 4px; min-width: 0; }
#fm-risk .fm-risk__head > wbr { display: none; } 
#fm-risk .fm-risk__name { font-size: 18px; line-height: 27px; font-weight: 600; letter-spacing: -.01em; color: var(--fm-text); }
#fm-risk .fm-risk__tag { height: auto; margin: 0; padding: 0; border: 0; font: 400 13px/20px var(--fm-font-ja); letter-spacing: .02em; color: var(--fm-bronze); vertical-align: 0; }
#fm-risk .fm-risk__tag::before { content: none; } 
#fm-risk .fm-risk__box { margin: 0; padding: 0 0 24px 32px; } 
#fm-risk .fm-risk__box > p { max-width: var(--fm-measure); margin: 0; font-size: var(--fm-fs-body); line-height: round(1.65em, 1px); font-weight: 400; color: var(--fm-c-navy-2); }
#fm-risk .fm-risk__box > p + p { margin-top: 16px; }
#fm-risk .fm-risks__label { display: block; font-weight: 400; color: var(--fm-bronze); }

#fm-faq .fm-faq__theme + .fm-faq__theme { margin-top: 48px; }
#fm-faq .fm-faq__title { margin: 0 0 16px; font-weight: 600; }
#fm-faq .fm-faq__list { border-bottom: 1px solid var(--fm-line); }
#fm-faq .fm-faq__item { border-top: 1px solid var(--fm-line); }
#fm-faq .fm-faq__q {
  display: grid; grid-template-columns: minmax(0, 1fr) 16px; column-gap: 16px; align-items: start;
  min-height: 0; padding: 20px 0; font-size: 18px; line-height: 27px; font-weight: 600; letter-spacing: -.01em;
}
#fm-faq .fm-faq__qmark, #fm-faq .fm-faq__amark { display: none; }
#fm-faq .fm-faq__abox { margin: 0; padding: 0 32px 24px 0; } 
#fm-faq .fm-faq__a p { max-width: var(--fm-measure); margin: 0; padding: 0; font-size: var(--fm-fs-body); line-height: round(1.65em, 1px); font-weight: 400; color: var(--fm-c-navy-2); }

#fm-care .fm-care { border-bottom: 1px solid var(--fm-line); }
#fm-care .fm-care__item { border-top: 1px solid var(--fm-line); }
#fm-care .fm-care__q {
  display: grid; grid-template-columns: minmax(0, 1fr) 16px; column-gap: 16px; align-items: start;
  padding: 20px 0; list-style: none; cursor: pointer;
}
#fm-care .fm-care__q::-webkit-details-marker { display: none; }
#fm-care .fm-care__q::marker { content: ""; }
#fm-care .fm-care__title { margin: 0; padding: 0; border: 0; font-size: 18px; line-height: 27px; font-weight: 600; letter-spacing: -.01em; color: var(--fm-text); }
#fm-care .fm-care__box { margin: 0; padding: 0 32px 24px 0; } 
#fm-care .fm-care__box > * + * { margin-top: 16px; }
#fm-care .fm-care__box :is(p, li) { max-width: var(--fm-measure); font-size: var(--fm-fs-body); line-height: round(1.65em, 1px); font-weight: 400; color: var(--fm-c-navy-2); }
#fm-care .fm-care__box .fm-lines { margin: 0; padding: 0; }
#fm-care .fm-care__box .fm-lines > li { --fm-li-pad: 6px; padding-block: 6px; }
#fm-care .fm-care__box .fm-lines > li:first-child { --fm-li-pad: 0px; padding-top: 0; }
#fm-care .fm-care__box .fm-lines > li:last-child { padding-bottom: 0; }
#fm-care .fm-care__box .fm-lines--mark > li::before { top: calc(var(--fm-li-pad) + (round(1.65em, 1px) - 7px) / 2); } 

@media (min-width: 768px) {
  :is(#fm-risk, #fm-faq, #fm-care) .fm-faq__sign { height: 30px; }
  #fm-care .fm-care__q { padding: 24px 0; }
  #fm-care .fm-care__title { font-size: 20px; line-height: 30px; }
  #fm-care .fm-care__box { padding: 0 40px 28px 0; }
  #fm-risk .fm-risk__q { grid-template-columns: 24px minmax(0, 1fr) 16px; column-gap: 16px; padding: 24px 0; }
  #fm-risk .fm-risk__icon { margin-top: 5px; } 
  #fm-risk .fm-risk__name { font-size: 20px; line-height: 30px; }
  #fm-risk .fm-risk__box { padding: 0 40px 28px 40px; } 
  #fm-faq .fm-faq__theme + .fm-faq__theme { margin-top: 64px; }
  #fm-faq .fm-faq__q { padding: 24px 0; font-size: 20px; line-height: 30px; }
  #fm-faq .fm-faq__abox { padding: 0 40px 28px 0; }
}

#fm-risk .fm-risk-layout { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--fm-col-gap); align-items: start; }
#fm-risk .fm-risk-layout > .fm-head { grid-column: 1 / span 4; margin-bottom: 0; }
#fm-risk .fm-risk-layout > .fm-risk-list { grid-column: 5 / -1; }

@media (prefers-reduced-motion: reduce) {
  :is(#fm-risk, #fm-faq, #fm-care) .fm-faq__sign { transition: none; }
}
@media print { 
  #fm-care details:not([open])::details-content { display: block; content-visibility: visible; }
  #fm-care details > :not(summary) { display: block !important; }
}

#fm-final { padding-top: 0; background: #D8CDC6; } 
#fm-final .fm-final__stage {
  --fm-text-label: #34374E; --fm-text-sub: #212126;
  position: relative; isolation: isolate; overflow: hidden;
  min-height: calc(100vw * 2096 / 1170); 
  background: linear-gradient(90deg, #E6DBD0 0%, #E2D8CC 30%, #D9CBBD 50%, #CEBDAE 70%, #C3B2A2 100%); 
}
#fm-final .fm-final__photo { position: absolute; left: 0; right: 0; bottom: 0; z-index: -1; display: block; }
#fm-final .fm-final__photo img {
  display: block; width: 100%; height: auto; max-width: none;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 10%, #000 calc(100% - 40px), transparent 100%);
  mask-image: linear-gradient(180deg, transparent 0, #000 10%, #000 calc(100% - 40px), transparent 100%);
}
#fm-final .fm-final__stage::after { 
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 40px; z-index: -2; background: #D8CDC6;
}
#fm-final .fm-final__over { padding-top: 56px; padding-bottom: 66vw; }
#fm-final .fm-final__over .fm-head { margin-bottom: 32px; }
#fm-final .fm-final__over .fm-head__label { color: #34374E; } 
#fm-final .fm-final__over .fm-head__lead { max-width: 21em; }
#fm-final .fm-final__note { margin-top: 16px; }
#fm-final .fm-final__base .fm-final__info { --fm-line: #C4B8AE; margin-top: 48px; }
@media (min-width: 768px) {
  #fm-final { background: #D9CEC6; } 
  #fm-final .fm-final__stage {
    display: flex; align-items: center;
    min-height: clamp(600px, 52vw, 780px);
    background: #DDD2C8;
  }
  #fm-final .fm-final__photo { top: 0; }
  #fm-final .fm-final__photo img {
    height: 100%; object-fit: cover; object-position: 72% 72%;
    -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 56px), transparent 100%);
    mask-image: linear-gradient(180deg, #000 calc(100% - 56px), transparent 100%);
  }
  #fm-final .fm-final__stage::after { height: 56px; background: #D9CEC6; }
  
  #fm-final .fm-final__photo::after {
    content: ""; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(90deg, rgba(250, 247, 243, .62) 0%, rgba(250, 247, 243, .44) 30%, rgba(250, 247, 243, 0) 56%);
    -webkit-mask-image: linear-gradient(180deg, #000 calc(100% - 96px), transparent calc(100% - 40px));
    mask-image: linear-gradient(180deg, #000 calc(100% - 96px), transparent calc(100% - 40px));
  }
  #fm-final .fm-final__over { padding-block: 96px; }
  #fm-final .fm-final__over > * { max-width: min(520px, 47vw); }
  #fm-final .fm-final__over .fm-head { margin-bottom: 40px; }
  #fm-final .fm-final__over .fm-head__lead { max-width: none; }
  #fm-final .fm-final__base .fm-final__info { margin-top: 64px; }
}
