/* SEO stage 5 task B only. Shared chrome and completed sections are outside this scope. */
.tsv-seo-stage5b{position:relative;isolation:isolate;background:#fff;color:var(--seo-ink);font-family:"Noto Sans CJK JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;overflow-wrap:anywhere}
.tsv-seo-stage5b,.tsv-seo-stage5b *{box-sizing:border-box;min-width:0}
.tsv-seo-stage5b p,.tsv-seo-stage5b h2,.tsv-seo-stage5b h3,.tsv-seo-stage5b figure{margin:0}
.tsv-seo-stage5b [hidden]{display:none!important}
.tsv-seo-faq,.tsv-seo-contact{position:relative;isolation:isolate;padding:76px 0 84px}
.tsv-seo-faq:before,.tsv-seo-contact:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1500 700'%3E%3Cdefs%3E%3ClinearGradient id='a'%3E%3Cstop stop-color='%23d8eeff'/%3E%3Cstop offset='1' stop-color='%23f4fbff'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M-150 280Q100 0 900 -100' fill='none' stroke='url(%23a)' stroke-width='50'/%3E%3Cpath d='M650 800Q1430 620 1650 390' fill='none' stroke='%23d9efff' stroke-width='58'/%3E%3C/svg%3E"),linear-gradient(125deg,#f8fcff,#fff 48%,#f0f9ff);background-repeat:no-repeat;background-size:100% 100%}
.tsv-seo-stage5b-heading{text-align:center;max-width:1140px;margin:0 auto 36px}
.tsv-seo-stage5b-label{font-size:16px;font-weight:700;line-height:1.8;letter-spacing:.025em;color:var(--seo-blue);margin-bottom:12px!important}
.tsv-seo-stage5b-heading h2{font-size:clamp(28px,2.7vw,39px);font-weight:700;line-height:1.6;letter-spacing:.01em}
.tsv-seo-stage5b-heading h2>span,.tsv-seo-stage5b-chunk{display:inline-block;max-width:100%}
.tsv-seo-stage5b-lead{font-size:17px;line-height:1.95;margin-top:17px!important}
.tsv-seo-faq-list{max-width:1200px;margin-inline:auto;display:grid;gap:12px}
.tsv-seo-faq-list details{border:1px solid #cfe5fc;border-radius:14px;background:#fff;box-shadow:0 4px 10px #0063ed0b;overflow:clip}
.tsv-seo-faq-list summary{display:flex;align-items:center;gap:18px;padding:14px 24px;list-style:none;cursor:pointer;font-size:20px;line-height:1.75;font-weight:700}
.tsv-seo-faq-list summary::-webkit-details-marker{display:none}
.tsv-seo-faq-list summary:focus-visible{outline:3px solid #0063ed;outline-offset:-4px;border-radius:13px}
.tsv-seo-faq-q,.tsv-seo-faq-a{display:flex;flex:0 0 35px;align-items:center;justify-content:center;width:35px;height:35px;border-radius:50%;font-size:21px;font-weight:700;line-height:1;background:linear-gradient(120deg,#0094ff,#0063ed);color:#fff}
.tsv-seo-faq-toggle{display:block;flex:0 0 13px;width:13px;height:13px;margin-left:auto;margin-right:5px;border-right:3px solid #0078ff;border-bottom:3px solid #0078ff;transform:rotate(45deg) translateY(-3px)}
.tsv-seo-faq-list details[open] .tsv-seo-faq-toggle{transform:rotate(225deg) translate(-2px,-2px)}
.tsv-seo-faq-answer{display:flex;align-items:flex-start;gap:16px;padding:18px 24px;margin:0 12px 12px;border-radius:9px;background:linear-gradient(110deg,#f1faff,#e1f1ff);font-size:16px;line-height:1.95}
.tsv-seo-faq-a{background:#cbe8ff;color:#0063ed;flex-basis:32px;width:32px;height:32px;font-size:20px}
.tsv-seo-faq-answer p{text-wrap:pretty;line-break:strict}
.tsv-seo-faq-answer p+p{margin-top:12px}
.tsv-seo-contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:26px;align-items:start}
.tsv-seo-contact-intro,.tsv-seo-contact-form-area{border:1px solid #e2effc;border-radius:24px;background:#fff;box-shadow:0 5px 18px #0063ed0d}
.tsv-seo-contact-intro{overflow:clip}
.tsv-seo-contact-copy{padding:30px 32px 22px}
.tsv-seo-contact-copy h3{font-size:30px;line-height:1.6;font-weight:700;margin-bottom:20px}
.tsv-seo-contact-copy h3>span{display:inline-block;max-width:100%}
.tsv-seo-contact-copy h3 strong{color:var(--seo-blue);font-size:42px;font-weight:700}
.tsv-seo-contact-copy p{font-size:16px;line-height:1.95}
.tsv-seo-contact-visual{position:relative}
.tsv-seo-contact-visual img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:70% 50%}
.tsv-seo-contact-benefits{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:-28px 18px 24px;border:1px solid #e0efff;border-radius:17px;background:#fff;box-shadow:0 3px 8px #0063ed0c}
.tsv-seo-contact-benefits li{padding:18px 10px;text-align:center;font-size:15px;font-weight:700;line-height:1.8}
.tsv-seo-contact-benefits li+li{border-left:1px solid #e2edfc}
.tsv-seo-contact-benefits .tsr-icon{display:block;width:31px;height:31px;color:#0071f3;margin:0 auto 10px}
.tsv-seo-contact-form-area{padding:30px}
.tsv-seo-contact-form-area #ts-seo-hubspot{min-height:240px;width:100%;max-width:100%;overflow-wrap:anywhere}
.tsv-seo-contact-form-area[data-seo-form-state=unavailable] #ts-seo-hubspot:empty{min-height:0}
.tsv-seo-contact-form-area iframe.hs-form-iframe,.tsv-seo-contact-form-area #ts-seo-hubspot>iframe,.tsv-seo-contact-form-area #ts-seo-hubspot>.hbspt-form>iframe{display:block;width:100%!important;max-width:100%;border:0}
.tsv-seo-form-status,.tsv-seo-form-help{font-size:14px;line-height:1.9;color:#365271}
.tsv-seo-form-status{margin-bottom:16px!important}
.tsv-seo-form-help{margin-top:18px}
.tsv-seo-form-reload{display:inline-flex;justify-content:center;align-items:center;min-height:44px;margin-top:13px;padding:9px 18px;border:1px solid #9bc5ff;border-radius:25px;background:#fff;color:#004ea9;font:inherit;font-size:14px;font-weight:700;cursor:pointer}
.tsv-seo-contact-privacy{font-size:13px;line-height:1.9;margin-top:22px!important;color:#37516e}
.tsv-seo-stage5b a{color:var(--seo-blue);text-underline-offset:3px}
.tsv-seo-stage5b a:focus-visible,.tsv-seo-form-reload:focus-visible{outline:3px solid #0063ed;outline-offset:4px}
.tsv-seo-contact-phone{width:100%;margin-top:24px;padding:24px 20px;border:1px solid #e3effc;border-radius:16px;background:#f0f7ff;text-align:center}
.tsv-seo-contact-phone p{display:flex;align-items:center;justify-content:center;gap:8px;font-size:14px;font-weight:600;line-height:1.8;color:#35516e}
.tsv-seo-contact-phone .tsr-icon{display:block;width:21px;height:21px;flex-shrink:0;color:var(--seo-blue)}
.tsv-seo-contact-phone a{display:flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;min-height:48px;margin:8px auto 0;padding:4px 8px;font-size:32px;line-height:1.4;font-weight:700;letter-spacing:.015em;color:var(--seo-ink);text-decoration:none;white-space:nowrap}
@media(max-width:1199px){.tsv-seo-contact-copy{padding:26px}.tsv-seo-contact-form-area{padding:26px}.tsv-seo-contact-benefits{margin-inline:12px}.tsv-seo-contact-benefits li{font-size:14px;padding-inline:7px}.tsv-seo-contact-copy h3{font-size:28px}}
@media(max-width:1000px){.tsv-seo-faq,.tsv-seo-contact{padding-block:60px 68px}.tsv-seo-contact-grid{grid-template-columns:1fr;max-width:760px;margin-inline:auto;gap:26px}.tsv-seo-contact-copy{padding:30px}.tsv-seo-contact-visual img{max-height:380px;object-position:70% 58%}.tsv-seo-contact-benefits{margin-inline:22px}.tsv-seo-contact-benefits li{font-size:16px}.tsv-seo-contact-form-area{padding:30px}}
@media(max-width:600px){.tsv-seo-faq,.tsv-seo-contact{padding-block:47px 54px}.tsv-seo-stage5b-heading{margin-bottom:29px}.tsv-seo-stage5b-label{font-size:14px}.tsv-seo-stage5b-heading h2{font-size:28px;line-height:1.6}.tsv-seo-stage5b-lead{font-size:15px;line-height:1.95}.tsv-seo-faq-list{gap:12px}.tsv-seo-faq-list summary{padding:15px 15px;gap:11px;font-size:16px;line-height:1.85}.tsv-seo-faq-q{flex-basis:29px;width:29px;height:29px;font-size:18px}.tsv-seo-faq-toggle{flex-basis:11px;width:11px;height:11px;margin-right:3px}.tsv-seo-faq-answer{padding:16px 12px;margin:0 8px 8px;gap:10px;font-size:15px;line-height:2}.tsv-seo-faq-a{flex-basis:26px;width:26px;height:26px;font-size:17px}.tsv-seo-contact-copy{padding:25px 23px 21px}.tsv-seo-contact-copy h3{font-size:25px}.tsv-seo-contact-copy h3 strong{font-size:36px}.tsv-seo-contact-copy p{font-size:15px;line-height:2}.tsv-seo-contact-benefits{grid-template-columns:1fr;margin:-16px 17px 20px}.tsv-seo-contact-benefits li{display:flex;align-items:center;justify-content:center;gap:14px;padding:15px;font-size:15px}.tsv-seo-contact-benefits li+li{border-left:0;border-top:1px solid #e2edfc}.tsv-seo-contact-benefits .tsr-icon{margin:0}.tsv-seo-contact-benefits br{display:none}.tsv-seo-contact-form-area{padding:25px 20px;border-radius:22px}.tsv-seo-contact-phone{padding:22px 12px}.tsv-seo-contact-phone p{font-size:13px;gap:7px}.tsv-seo-contact-phone a{font-size:28px}.tsv-seo-contact-privacy{font-size:12px}}
