.flow-heading{white-space:nowrap}.flow-heading-break,.heading-sp,.first-heading-break{display:none}#worries .section-head{max-width:1040px}#worries .heading-pc{white-space:nowrap}.first-visit-photo{max-width:800px;aspect-ratio:16 / 8;margin:-16px auto 48px;overflow:hidden;background:#fff;border:4px solid var(--color-border);border-radius:var(--radius-lg)}.first-visit-photo img{width:100%;height:100%;object-fit:cover;object-position:center 58%}.step-flow{display:grid;gap:0;max-width:800px;margin:0 auto}.step-item{display:grid;grid-template-columns:80px 1fr;gap:24px;align-items:start;position:relative;padding-bottom:40px}.step-item:last-child{padding-bottom:0}.step-item:before{content:"";position:absolute;left:39px;top:80px;bottom:0;width:3px;background:var(--color-primary);opacity:.3}.step-item:last-child:before{display:none}.step-num{display:grid;width:80px;height:80px;place-items:center;font-family:var(--font-accent);font-size:1.4rem;font-weight:700;color:#fff;background:var(--color-primary);border:4px solid var(--color-border);border-radius:50%;position:relative;z-index:1}.step-item:nth-child(2n) .step-num{background:var(--color-secondary)}.step-content{padding:20px 28px;background:#fff;border:4px solid var(--color-border);border-radius:var(--radius-lg)}.step-content h3{font-size:1.2rem;font-weight:900;margin-bottom:8px}.step-content p{color:var(--color-text-secondary);font-size:.95rem}.counseling-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;max-width:900px;margin:0 auto}.counseling-card{padding:28px;text-align:center}.counseling-card h3{font-size:1.15rem;font-weight:900;margin-bottom:10px}.counseling-card p{color:var(--color-text-secondary);font-size:.93rem}.checklist-wrap{max-width:800px;margin:0 auto}.checklist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.checklist-item{padding:0;overflow:hidden}.checklist-item-header{padding:20px 24px;text-align:center;background:var(--color-primary-light);border-bottom:4px solid var(--color-border)}.checklist-item:nth-child(2) .checklist-item-header{background:var(--color-secondary-light)}.checklist-item-header h3{font-size:1.2rem;font-weight:900}.checklist-item-body{padding:22px 24px}.checklist-item-body p{color:var(--color-text-secondary);font-size:.93rem}.checklist-item-body .badge{display:inline-block;margin-top:12px;padding:6px 14px;font-size:.85rem;font-weight:800;background:#fff;border:3px solid var(--color-border);border-radius:var(--radius-full)}.vaccine-note{max-width:800px;margin:32px auto 0;padding:22px 28px;background:#fff;border:4px solid var(--color-secondary);border-radius:var(--radius-lg)}.vaccine-note h3{font-size:1.1rem;font-weight:900;margin-bottom:8px}.vaccine-note p{color:var(--color-text-secondary);font-size:.93rem}.access-info{max-width:800px;margin:0 auto;display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.access-card{padding:28px;text-align:center}.access-card h3{font-size:1.15rem;font-weight:900;margin-bottom:10px}.access-card p{color:var(--color-text-secondary);font-size:.93rem}.access-card .access-icon{display:inline-grid;width:56px;height:56px;place-items:center;margin-bottom:14px;font-size:1.6rem;background:var(--color-secondary-light);border:3px solid var(--color-border);border-radius:50%}.faq-list{display:grid;gap:14px;max-width:880px;margin-inline:auto}.faq-item{padding:0;overflow:hidden}.faq-item summary{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:20px 24px;cursor:pointer;font-family:var(--font-heading);font-size:1.05rem;font-weight:900;list-style:none}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary:after{content:"+";display:grid;width:32px;height:32px;place-items:center;flex-shrink:0;font-family:var(--font-accent);font-size:1.4rem;font-weight:700;background:var(--color-secondary);border:2px solid var(--color-border);border-radius:50%;transition:transform .2s ease}.faq-item[open] summary:after{content:"−";background:var(--color-primary);color:#fff;transform:rotate(180deg)}.faq-item .faq-answer{padding:0 24px 22px;color:var(--color-text-secondary);font-size:.95rem;line-height:1.9}.link-blocks{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;max-width:700px;margin:0 auto 48px}.link-block{display:grid;gap:8px;align-content:start;padding:24px 20px;text-align:center;transition:transform .16s ease}.link-block:hover{transform:translateY(-4px)}.link-block .link-en{font-family:var(--font-handwritten);font-size:1.4rem;color:var(--color-primary-dark)}.link-block h3{font-size:1.05rem;font-weight:900}.link-block p{color:var(--color-text-secondary);font-size:.85rem}.link-cta{display:none;align-items:center;justify-content:center;min-height:44px;width:fit-content;margin:8px auto 0;padding:9px 20px;color:var(--color-text-on-dark);font-size:.9rem;font-weight:900;line-height:1.2;background:var(--color-primary);border:3px solid var(--color-border);border-radius:var(--radius-full);box-shadow:var(--shadow-btn);transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.link-cta:after{margin-left:8px;content:"→";font-family:var(--font-accent)}.link-block:hover .link-cta{background:var(--color-primary-dark);transform:translateY(3px);box-shadow:0 2px 0 var(--color-border)}.final-cta{position:relative;overflow:hidden;color:#fff;background:var(--color-primary-dark)}.final-cta-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px;align-items:center;padding-block:72px}.final-cta h2{font-size:clamp(1.9rem,4vw,3rem);text-shadow:none}.final-cta p{max-width:620px;margin:14px 0 0;font-weight:500;opacity:.9}.cta-actions{display:grid;gap:14px;min-width:240px}@media(max-width:1080px){.counseling-grid,.checklist-grid,.access-info,.link-blocks,.final-cta-inner{grid-template-columns:1fr}}@media(max-width:720px){.flow-heading{white-space:normal}.flow-heading-break{display:block}.heading-pc{display:none}#worries .heading-pc{white-space:normal}.heading-sp,.first-heading-break{display:block}.first-visit-photo{aspect-ratio:4 / 3;margin:-8px auto 36px}.step-item{grid-template-columns:60px 1fr;gap:16px}.step-num{width:60px;height:60px;font-size:1.2rem}.step-item:before{left:29px;top:60px}.step-content{padding:16px 20px}.link-block{gap:10px;padding:28px 22px}.link-cta{display:inline-flex;width:100%;margin-top:12px}}
