.fb{--fb-w:min(1360px,92vw);margin-inline:calc(-1*max(0px,(var(--fb-w) - 100%) / 2));--fb-navy:var(--navy,#1B2A4A);--fb-cream:var(--cream,#F5F0EB);--fb-gold:var(--gold,#8B7355);--fb-line:var(--light,var(--line,#E3DCD0));--fb-ink:var(--ink,#2B2B28);--fb-sub:var(--gray,var(--ink-soft,#6B665E));--notch:12.4%;position:relative}.fb .fb-band{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;position:relative}.fb .fb-step{position:relative;display:grid;align-content:center;justify-items:center;gap:.5rem;padding:clamp(20px,2.2vw,32px) clamp(20px,2.4vw,34px) clamp(20px,2.2vw,32px) clamp(30px,3.4vw,50px);background:#ffffff9e;border:0;font-family:var(--serif-jp,serif);color:var(--fb-ink);cursor:pointer;text-align:center;overflow:hidden;-webkit-clip-path:polygon(0 0,calc(100% - var(--notch)) 0,100% 50%,calc(100% - var(--notch)) 100%,0 100%,var(--notch) 50%);clip-path:polygon(0 0,calc(100% - var(--notch)) 0,100% 50%,calc(100% - var(--notch)) 100%,0 100%,var(--notch) 50%);opacity:0;transform:translate(-14px);transition:background .45s ease,color .45s ease}.fb.in .fb-step{animation:fbIn .95s cubic-bezier(.2,.8,.2,1) both}.fb.in .fb-step:nth-child(1){animation-delay:.05s}.fb.in .fb-step:nth-child(2){animation-delay:.19s}.fb.in .fb-step:nth-child(3){animation-delay:.33s}.fb.in .fb-step:nth-child(4){animation-delay:.47s}.fb.in .fb-step:nth-child(5){animation-delay:.61s}@keyframes fbIn{0%{opacity:0;transform:translate(-14px)}to{opacity:1;transform:none}}.fb .fb-step:after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,transparent 34%,rgba(255,255,255,.72) 50%,transparent 66%);opacity:0;pointer-events:none}.fb.in .fb-step:after{animation:fbSweep 7s ease-in-out infinite}.fb.in .fb-step:nth-child(1):after{animation-delay:1.1s}.fb.in .fb-step:nth-child(2):after{animation-delay:1.25s}.fb.in .fb-step:nth-child(3):after{animation-delay:1.4s}.fb.in .fb-step:nth-child(4):after{animation-delay:1.55s}.fb.in .fb-step:nth-child(5):after{animation-delay:1.7s}@keyframes fbSweep{0%{opacity:0;transform:translate(-100%)}12%{opacity:.9}30%{opacity:0;transform:translate(100%)}to{opacity:0;transform:translate(100%)}}.fb .fb-out{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.fb .fb-out polygon{fill:none;stroke:var(--fb-gold);stroke-width:1;opacity:.5;transition:opacity .4s,stroke-width .4s}.fb .fb-out .fb-tip{fill:none;stroke:var(--fb-gold);stroke-width:3;stroke-linejoin:miter;opacity:.9;transition:opacity .4s,stroke-width .4s}.fb .fb-step:hover .fb-out .fb-tip{stroke-width:3.6;opacity:1}.fb .fb-step.on .fb-out .fb-tip{opacity:.95;stroke-width:3.6}.fb.in .fb-out polygon,.fb.in .fb-out .fb-tip{stroke-dasharray:600;stroke-dashoffset:600;animation:fbDraw 1.5s ease forwards}.fb.in .fb-step:nth-child(1) .fb-out>*{animation-delay:.15s}.fb.in .fb-step:nth-child(2) .fb-out>*{animation-delay:.29s}.fb.in .fb-step:nth-child(3) .fb-out>*{animation-delay:.43s}.fb.in .fb-step:nth-child(4) .fb-out>*{animation-delay:.57s}.fb.in .fb-step:nth-child(5) .fb-out>*{animation-delay:.71s}@keyframes fbDraw{to{stroke-dashoffset:0}}.fb .fb-node{width:clamp(38px,3vw,48px);height:clamp(38px,3vw,48px);border-radius:50%;background:var(--paper,#FBF9F6);border:1px solid var(--gold-soft,#B59C7E);display:flex;align-items:center;justify-content:center;font-family:var(--serif-en,serif);font-size:clamp(.98rem,1.14vw,1.18rem);color:var(--fb-gold);transition:background .45s,border-color .45s,color .45s}.fb .fb-nodes{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px;position:relative;margin-bottom:clamp(20px,2.4vw,34px)}.fb .fb-nodes:before{content:"";position:absolute;left:10%;right:10%;top:50%;height:1px;background:var(--fb-line)}.fb .fb-nodes .fb-node{margin:0 auto;position:relative;z-index:1;cursor:pointer}.fb .fb-nodes .fb-node.on{background:var(--fb-gold);border-color:var(--fb-gold);color:var(--fb-cream)}.fb:not(.fb-mini) .fb-nodes{opacity:0;transition:opacity .8s ease .1s}.fb.in .fb-nodes{opacity:1}.fb:not(.fb-mini) .fb-node-cell{display:none}.fb .fb-ic{display:block;width:clamp(36px,3vw,46px)}.fb .fb-ic svg{display:block;width:100%;height:auto}.fb .fb-ic svg :is(path,circle,line){vector-effect:non-scaling-stroke}.fb .fb-ic .icon-main{fill:none;stroke:var(--fb-gold);stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;transition:stroke .45s}.fb .fb-ic .icon-accent{fill:none;stroke:var(--gold-soft,#B59C7E);stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;transition:stroke .45s}.fb .fb-jp{font-size:clamp(.84rem,1.08vw,1.08rem);letter-spacing:.1em;line-height:1.85;white-space:nowrap}.fb .fb-desc{display:none;font-size:.82rem;letter-spacing:.03em;line-height:1.9;color:var(--fb-ink)}.fb .fb-step.on .fb-desc{color:#f5f0ebe0}.fb .fb-catch{font-size:clamp(.7rem,.86vw,.86rem);letter-spacing:.03em;color:var(--fb-ink);line-height:1.8;word-break:auto-phrase;text-wrap:balance;transition:color .45s}.fb .fb-step:hover{background:#ffffffeb}.fb .fb-step:hover .fb-out polygon{opacity:1;stroke-width:1.6}.fb .fb-step.on{background:var(--fb-gold);color:var(--fb-cream)}.fb .fb-step.on .fb-node{background:transparent;border-color:#f5f0eb80;color:var(--fb-cream)}.fb .fb-step.on .fb-ic .icon-main{stroke:#f5f0ebeb}.fb .fb-step.on .fb-ic .icon-accent{stroke:#f5f0eb8c}.fb .fb-step.on .fb-catch{color:#f5f0ebe0}.fb .fb-step.on .fb-out polygon{opacity:0}.fb .fb-step.on .fb-out{opacity:1}.fb .fb-detail{margin-top:clamp(24px,2.6vw,40px);margin-inline-start:calc(10% - clamp(19px,1.5vw,24px));display:grid;grid-template-columns:auto 1fr;gap:0 clamp(24px,3vw,52px);align-items:start;border-top:1px solid var(--fb-line);padding-top:clamp(22px,2.4vw,34px)}.fb .fb-d-no{font-family:var(--serif-en,serif);font-style:italic;font-size:clamp(1.6rem,3vw,2.4rem);line-height:1;color:var(--fb-gold);opacity:.5}.fb .fb-d-body{display:grid;gap:.6rem;max-width:46em}.fb .fb-d-phase{font-family:var(--serif-jp,serif);font-size:.78rem;letter-spacing:.18em;color:var(--fb-gold)}.fb .fb-d-catch{font-family:var(--serif-jp,serif);font-weight:300;font-size:clamp(1.1rem,2vw,1.5rem);letter-spacing:.14em;line-height:1.9;color:var(--fb-navy)}.fb .fb-d-desc{font-family:var(--serif-jp,serif);font-size:.92rem;letter-spacing:.04em;line-height:2.2;color:var(--fb-ink)}.fb .fb-detail:has(.fb-pane){display:block}.fb .fb-pane{display:grid;grid-template-columns:auto 1fr;gap:0 clamp(24px,3vw,52px);align-items:start}.fb .fb-pane[hidden]{display:none}.fb .fb-pane>*{animation:fbRise .6s cubic-bezier(.2,.8,.2,1) both}.fb .fb-pane>*:nth-child(2){animation-delay:.06s}.fb .fb-detail>*{animation:fbRise .6s cubic-bezier(.2,.8,.2,1) both}.fb .fb-detail>*:nth-child(2){animation-delay:.06s}@keyframes fbRise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.fb-mini{--fb-w:min(1280px,86vw)}.fb-mini .fb-step{padding:clamp(15px,1.7vw,22px) clamp(14px,1.6vw,20px) clamp(15px,1.7vw,22px) clamp(22px,2.6vw,34px);gap:.3rem;background:#ffffff80}.fb-mini .fb-node{width:28px;height:28px;font-size:.74rem}.fb-mini .fb-ic{display:none}.fb-mini .fb-jp{font-size:clamp(.72rem,.88vw,.84rem);letter-spacing:.08em}.fb-mini .fb-catch,.fb-mini .fb-detail{display:none}.fb .fb-more{margin-top:clamp(20px,2.2vw,30px);text-align:center}.fb .fb-more a{display:inline-flex;align-items:baseline;gap:.9rem;font-family:var(--serif-jp,serif);font-size:.84rem;letter-spacing:.14em;color:var(--fb-navy);text-decoration:none;border-bottom:1px solid var(--fb-line);padding-bottom:.3rem;transition:color .35s,border-color .35s}.fb .fb-more a i{font-family:var(--serif-en,serif);font-style:italic;font-size:.72rem;color:var(--fb-gold)}.fb .fb-more a:hover{color:var(--fb-gold);border-color:var(--fb-gold)}@media(max-width:900px){.fb,.fb-mini{--fb-w:100%;margin-inline:0}.fb .fb-nodes{display:none}.fb:not(.fb-mini) .fb-node-cell{display:flex}.fb .fb-detail{margin-inline-start:0}.fb .fb-band{grid-auto-flow:row;grid-auto-columns:auto;gap:5px}.fb .fb-step{padding:clamp(18px,4vw,26px) 6vw clamp(26px,5vw,34px);-webkit-clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),50% 100%,0 calc(100% - 14px));clip-path:polygon(0 0,100% 0,100% calc(100% - 14px),50% 100%,0 calc(100% - 14px))}.fb.in .fb-step{animation-name:fbInV}@keyframes fbInV{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.fb .fb-out{display:none}.fb .fb-detail,.fb .fb-pane{grid-template-columns:1fr;gap:.6rem}.fb-mini .fb-catch{display:block}body[data-service-sp=a] .fb:not(.fb-mini) .fb-step{grid-template-columns:1fr auto;column-gap:22px;row-gap:.3rem;justify-items:start;text-align:left;align-items:center}body[data-service-sp=a] .fb:not(.fb-mini) .fb-ic{display:block;grid-column:2;grid-row:1 / span 3;width:80px}body[data-service-sp=a] .fb:not(.fb-mini) .fb-node-cell{grid-column:1;grid-row:1}body[data-service-sp=a] .fb:not(.fb-mini) .fb-jp{grid-column:1;grid-row:2}body[data-service-sp=a] .fb:not(.fb-mini) .fb-catch{grid-column:1;grid-row:3}body[data-service-sp=a] .fb:not(.fb-mini) .fb-catch br{display:none}body[data-service-sp=a] .fb:not(.fb-mini) .fb-desc{display:none}body[data-service-sp=a] .fb:not(.fb-mini) .fb-detail{display:none}body[data-service-sp=c] .fb:not(.fb-mini) .fb-step{grid-template-columns:1fr;row-gap:.3rem;justify-items:start;text-align:left;align-content:center}body[data-service-sp=c] .fb:not(.fb-mini) .fb-ic{display:block;position:absolute;right:6px;bottom:-6px;width:104px;opacity:.75;z-index:-1}body[data-service-sp=c] .fb:not(.fb-mini) .fb-catch br{display:none}body[data-service-sp=c] .fb:not(.fb-mini) .fb-desc{display:none}body[data-service-sp=c] .fb:not(.fb-mini) .fb-detail{display:none}body[data-service-sp=b] .fb:not(.fb-mini) .fb-step{grid-template-columns:min(10.5em,40%) 1fr;column-gap:24px;row-gap:.3rem;justify-items:start;text-align:left;align-items:start}body[data-service-sp=b] .fb:not(.fb-mini) .fb-ic{display:none}body[data-service-sp=b] .fb:not(.fb-mini) .fb-node-cell{grid-column:1;grid-row:1}body[data-service-sp=b] .fb:not(.fb-mini) .fb-jp{grid-column:1;grid-row:2}body[data-service-sp=b] .fb:not(.fb-mini) .fb-catch{grid-column:1;grid-row:3}body[data-service-sp=b] .fb:not(.fb-mini) .fb-catch br{display:none}body[data-service-sp=b] .fb:not(.fb-mini) .fb-desc{display:block;grid-column:2;grid-row:1 / span 3;align-self:center}body[data-service-sp=b] .fb:not(.fb-mini) .fb-detail{display:none}}@media(prefers-reduced-motion:reduce){.fb.in .fb-step,.fb.in .fb-step:after,.fb.in .fb-out polygon,.fb .fb-detail>*{animation-duration:.01s}.fb .fb-step{opacity:1;transform:none}}
