/* Revised question cards share one layout across TOP and FAQ. */
.q-section{position:relative;overflow:hidden;background:#2767e7;color:#001431;container-type:inline-size;padding:65px 0 65px}.q-section-inner{position:relative;max-width:1440px;margin:auto}.q-watermark{position:absolute;top:0;left:4px;font:900 170px/1 Geist,sans-serif;opacity:.2;color:#27b9e7;pointer-events:none}.q-section h2{font-size:48px;font-weight:900;line-height:1.2;color:white;text-align:center;margin:0 0 70px}.q-section h2 strong{font-size:64px}.q-card-grid{display:grid;grid-template-columns:640fr 705fr;gap:13px;width:calc(100% - 82px);margin:auto}.q-card-column{display:flex;flex-direction:column;gap:12px}.q-card{display:flex;flex-direction:column;justify-content:center;align-items:stretch;background:#fff;border:4px solid #001431;border-radius:10px;padding:30px 32px;color:#001431;min-width:0;text-decoration:none;transition:box-shadow .2s,transform .2s}.q-card:hover{box-shadow:0 6px 0 #00143166;transform:translateY(-3px)}.q-card:focus-visible,.q-brand:focus-visible{outline:4px solid #f7e832;outline-offset:3px}.q-card-content{display:flex;align-items:stretch;gap:30px;min-width:0}.q-card h3{font-size:48px;line-height:1.1;font-weight:900;margin:0;letter-spacing:0}.q-card h3>span{display:block;margin-bottom:5px;white-space:nowrap}.q-card mark{display:inline-block;background:#2767e7;color:#fff;padding:0 5px;font-size:64px;line-height:1.2;margin-right:5px}.q-card-image{position:relative;flex:0 0 140px;width:140px;overflow:hidden;border:4px solid #001431;border-radius:100px 100px 0 0}.q-card-image img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:bottom}.q-card-image:after{content:"";position:absolute;inset:0;box-shadow:inset 10px 4px #0004;border-radius:inherit;pointer-events:none}.q-card-click{display:flex;align-items:center;justify-content:flex-end;gap:6px;font:900 16px/1 Geist,sans-serif;color:#2767e7;margin-top:17px}.q-card-click>span{display:grid;place-items:center;width:32px;height:32px;background:#2767e7;border-radius:50%}.q-card-click img{width:24px;height:24px}.q-card-reason{min-height:452px}.q-card-price{min-height:257px}.q-card-flow{min-height:308px}.q-card-feature{min-height:316px}.q-card-industry{min-height:355px}.q-card-pair{display:grid;grid-template-columns:357fr 333fr;gap:15px}.q-card-other{min-height:345px;padding:17px 22px}.q-card-other .q-card-content{flex-direction:column;gap:21px}.q-card-other .q-card-image{flex:auto;width:100%;height:115px;border-radius:50px 50px 0 0}.q-card-other .q-card-click{margin-top:0}.q-brand{min-width:0;overflow:hidden;height:345px;display:flex;flex-direction:column;align-items:center;background:#27b9e7;border:4px solid #001431;border-radius:10px;color:white;padding:20px 20px 0;text-align:center;text-decoration:none}.q-brand small{font-size:16px;margin:12px 0}.q-brand-logo{width:100%;height:38px;object-fit:contain}.q-brand>strong{font-size:28px;line-height:1.4}.q-brand>span{font-size:16px;font-weight:900;white-space:nowrap;background:#f7e832;color:#001431;border-radius:40px;padding:12px 10px;margin:14px 0 20px}.q-brand-bird{height:118px;width:201px;position:relative;flex:none;overflow:hidden}.q-brand-bird img{position:absolute;max-width:none;width:132%;left:-20.5%;top:3%;height:auto}.q-section-more{text-align:center;margin:60px 0 0}.q-section-more .button{font-size:24px}
/* Keyword search and the three category panels. */
.q-search-section{padding:56px 30px 60px}.q-search{max-width:1120px;margin:auto;padding:36px 40px 32px;border:1.5px solid #dde7f1;background:white;border-radius:10px}.q-search label{display:block;font-size:24px;font-weight:900;line-height:1.5;color:#006aff;margin-bottom:18px}.q-search-row{display:flex;gap:16px;align-items:center}.q-search-input{display:flex;align-items:center;gap:12px;flex:1;min-width:0;background:#edf7ff;border:1.5px solid #dde7f1;border-radius:10px;padding:17px 20px}.q-search-input>span{font-size:28px;line-height:1;color:#527399}.q-search input{width:100%;min-width:0;border:0;background:transparent;font-size:18px;color:#061636;outline-offset:5px}.q-search input::placeholder{color:#527399;opacity:1}.q-search button[type=submit]{flex:none;background:#006aff;color:white;border-radius:40px;padding:18px 25px;font-size:18px;font-weight:900}.q-search-chips{display:flex;align-items:center;gap:16px;margin-top:20px}.q-search-chips>span{font-size:14px;font-weight:700;color:#527399;margin-right:8px}.q-search-chips button{border:1.5px solid #dde7f1;border-radius:999px;background:white;color:#061636;padding:10px 20px;font-size:14px;font-weight:700}.q-search-chips button:hover{background:#edf7ff}.q-faq-section{background:#edf7ff;padding:90px 30px 80px}.q-faq-section>header{text-align:center;margin-bottom:40px}.q-faq-section>header>p{font:700 18px/24px Geist,sans-serif;color:#006aff;margin:0 0 30px}.q-faq-section h2{font-size:48px;font-weight:900;line-height:1.3;margin:0}.q-faq-container{max-width:1120px;margin:auto}.q-category-label{text-align:center;font-size:24px;color:#006aff;font-weight:900;margin:20px 0 18px}.q-category-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-bottom:28px}.q-category-tabs button{position:relative;text-align:left;border:1.5px solid #dde7f1;border-radius:10px;background:white;color:#061636;min-height:124px;padding:22px 72px 22px 26px}.q-category-tabs strong{display:block;font-size:20px;font-weight:900;line-height:1.5;margin-bottom:14px;white-space:nowrap}.q-category-tabs small{display:block;font-size:12px;line-height:1.7;color:#527399;white-space:nowrap}.q-category-tabs img{position:absolute;width:48px;height:54px;object-fit:contain;right:20px;top:22px}.q-category-tabs button[aria-selected=true]{background:#006aff;color:white;border-color:#006aff}.q-category-tabs button[aria-selected=true] small{color:white}.q-category-panel{display:grid;gap:16px}.q-category-panel[hidden]{display:none}.q-answer{background:white;border:1.5px solid #dde7f1;border-radius:10px;overflow:hidden;color:#061636}.q-answer summary{display:flex;align-items:center;gap:18px;padding:22px 28px;cursor:pointer;list-style:none;font-size:20px;font-weight:900;line-height:1.6}.q-answer summary::-webkit-details-marker{display:none}.q-answer summary>b,.q-answer-body>b{flex:none;width:40px;font:900 28px/36px Geist,sans-serif;color:#006aff}.q-answer summary>span{flex:1;min-width:0}.q-answer summary>i{position:relative;flex:none;width:36px;height:36px;background:#006aff;border-radius:50%}.q-answer summary>i:before,.q-answer summary>i:after{content:"";position:absolute;width:16px;height:3px;left:10px;top:16px;background:white}.q-answer summary>i:after{transform:rotate(90deg)}.q-answer[open] summary>i:after{display:none}.q-answer-body{display:flex;gap:18px;margin:0 28px;padding:20px 0 24px;border-top:1px solid #dde7f1;font-size:16px;line-height:1.75;font-weight:500}.q-answer-body>b{color:#27b9e7}.q-answer-body p{margin:0}.q-answer-body a{display:inline-block;color:#006aff;font-size:15px;font-weight:700;margin-top:14px}.q-consult{padding:80px 40px 58px;max-width:1440px;margin:auto}.q-consult-intro{position:relative;text-align:center;height:210px}.q-consult-intro p{position:relative;z-index:1;font-size:36px;font-weight:900;font-style:italic;line-height:1.4;margin:0}.q-consult-intro>img{position:absolute;width:325px;height:195px;object-fit:contain;left:50%;transform:translateX(-50%);top:59px;z-index:2}.q-consult-band{background:#27b9e7 url('../images/hero-background-v1.jpg') center/cover;border-radius:10px;min-height:316px;text-align:center;padding:60px 25px 40px;color:white}.q-consult-band h2{font-size:24px;font-weight:900;line-height:1.4;margin:0 0 27px}.q-consult-band h2 strong{font-size:32px}.q-consult-band h2 small{font-size:18px}.q-consult-band>p{font-size:18px;line-height:1.6;font-weight:700;margin:0 0 16px}.q-consult-band>a{position:relative;display:inline-flex;align-items:center;gap:12px;background:white;color:#001431;border:3px solid #001431;border-radius:99px;font-size:24px;font-weight:900;padding:14px 22px 14px 83px;box-shadow:0 2px 8px #00093269}.q-consult-band>a>img{position:absolute;width:78px;height:83px;object-fit:contain;left:3px;bottom:0}.q-consult-band>a>span{font-size:36px;line-height:1}
/* Native modal supplies keyboard trapping and Escape; focus returns to opener. */
.q-results-dialog{width:min(960px,calc(100% - 40px));background:#edf7ff}.q-results-dialog h2{font-size:28px;font-weight:900;margin:0 0 20px}.q-result-count{font-size:16px;line-height:1.6;margin-bottom:25px;overflow-wrap:anywhere}.q-result-list{display:grid;gap:16px}.q-no-results{text-align:center;line-height:1.8}.q-no-results p{margin:25px 0}.q-no-results[hidden]{display:none}
@media(min-width:701px) and (max-width:1439px){.q-section{padding:4.514vw 0}.q-watermark{font-size:11.806vw}.q-section h2{font-size:3.333vw;margin-bottom:4.861vw}.q-section h2 strong{font-size:4.444vw}.q-card-grid{width:94.306%;gap:.903vw}.q-card-column{gap:.833vw}.q-card{border-width:.278vw;border-radius:.694vw;padding:2.083vw 2.222vw}.q-card-content{gap:2.083vw}.q-card h3{font-size:3.333vw}.q-card h3>span{margin-bottom:.347vw}.q-card mark{font-size:4.444vw;padding:0 .347vw;margin-right:.347vw}.q-card-image{flex-basis:9.722vw;width:9.722vw;border-width:.278vw}.q-card-click{font-size:1.111vw;gap:.417vw;margin-top:1.181vw}.q-card-click>span{width:2.222vw;height:2.222vw}.q-card-click img{width:1.667vw;height:1.667vw}.q-card-reason{min-height:31.389vw}.q-card-price{min-height:17.847vw}.q-card-flow{min-height:21.389vw}.q-card-feature{min-height:21.944vw}.q-card-industry{min-height:24.653vw}.q-card-pair{gap:1.042vw}.q-card-other{min-height:23.958vw;padding:1.181vw 1.528vw}.q-card-other .q-card-content{gap:1.458vw}.q-card-other .q-card-image{height:7.986vw;flex-basis:auto}.q-brand{height:23.958vw;border-width:.278vw;padding:1.389vw 1.389vw 0}.q-brand small{font-size:1.111vw;margin:.833vw 0}.q-brand-logo{height:2.639vw}.q-brand>strong{font-size:1.944vw}.q-brand>span{font-size:1.111vw;padding:.833vw .694vw;margin:.972vw 0 1.389vw}.q-brand-bird{height:8.194vw;width:13.958vw}.q-section-more{margin-top:4.167vw}.q-category-tabs strong{font-size:clamp(14px,1.389vw,20px)}.q-category-tabs small{font-size:clamp(9px,.833vw,12px)}.q-category-tabs button{padding-left:18px;padding-right:50px}.q-category-tabs img{right:8px;width:38px}.q-faq-section h2{font-size:3.333vw}}
@media(max-width:700px){.q-section{padding:38px 0}.q-watermark{font-size:75px}.q-section h2{font-size:22px;line-height:1.5;margin:0 15px 30px}.q-section h2 strong{font-size:26px}.q-card-grid{width:calc(100% - 32px);max-width:460px;grid-template-columns:1fr;gap:12px}.q-card-column{gap:12px}.q-card{min-height:0;padding:22px 18px;border-width:3px}.q-card-content{gap:16px}.q-card h3{font-size:23px;line-height:1.2}.q-card mark{font-size:29px;padding:0 3px;margin-right:3px}.q-card h3>span{margin-bottom:4px}.q-card-image{flex-basis:70px;width:70px;border-width:3px}.q-card-click{font-size:12px;margin-top:13px;gap:5px}.q-card-click>span{width:24px;height:24px}.q-card-click img{width:18px;height:18px}.q-card-pair{gap:10px;grid-template-columns:1fr 1fr}.q-card-other{padding:14px 12px}.q-card-other .q-card-content{gap:14px}.q-card-other .q-card-image{height:80px}.q-card-other h3{font-size:21px}.q-card-other mark{font-size:27px}.q-brand{height:auto;min-height:242px;border-width:3px;padding:12px 8px 0;justify-content:flex-start}.q-brand small{font-size:10px;margin:5px 0 10px}.q-brand-logo{height:23px}.q-brand>strong{font-size:17px}.q-brand>span{font-size:9px;padding:9px 5px;margin:10px 0 15px}.q-brand-bird{height:95px;width:140px;margin-top:auto}.q-section-more{margin-top:30px}.q-section-more .button{font-size:17px}.q-search-section{padding:30px 16px}.q-search{padding:22px 18px}.q-search label{font-size:18px}.q-search-row{flex-direction:column;align-items:stretch;gap:12px}.q-search-input{padding:12px}.q-search input{font-size:16px}.q-search button[type=submit]{padding:13px;font-size:16px}.q-search-chips{flex-wrap:wrap;gap:8px;margin-top:18px}.q-search-chips>span{flex-basis:100%;font-size:12px;margin:0 0 4px}.q-search-chips button{font-size:11px;padding:8px 10px}.q-faq-section{padding:45px 16px}.q-faq-section>header{margin-bottom:25px}.q-faq-section>header>p{font-size:14px;margin-bottom:15px}.q-faq-section h2{font-size:25px;line-height:1.5}.q-category-label{font-size:19px}.q-category-tabs{gap:6px;margin-bottom:18px}.q-category-tabs button{padding:14px 5px 10px;min-height:105px;text-align:center}.q-category-tabs strong{font-size:12px;line-height:1.5;white-space:normal;margin-bottom:8px}.q-category-tabs small{font-size:9px;white-space:normal;line-height:1.5}.q-category-tabs img{display:none}.q-answer summary{font-size:14px;gap:9px;padding:16px 13px}.q-answer summary>b,.q-answer-body>b{font-size:22px;line-height:28px;width:27px}.q-answer summary>i{width:25px;height:25px}.q-answer summary>i:before,.q-answer summary>i:after{width:12px;height:2px;left:6.5px;top:11.5px}.q-answer-body{font-size:13px;gap:9px;margin:0 13px;padding:16px 0 20px}.q-answer-body a{font-size:12px}.q-consult{padding:45px 16px 35px}.q-consult-intro{height:165px}.q-consult-intro p{font-size:18px;line-height:1.5}.q-consult-intro>img{width:210px;height:126px;top:59px}.q-consult-band{min-height:0;padding:40px 16px 28px}.q-consult-band h2{font-size:16px;margin-bottom:18px}.q-consult-band h2 strong{font-size:23px}.q-consult-band h2 small{font-size:13px}.q-consult-band>p{font-size:13px;line-height:1.8}.q-consult-band>a{font-size:17px;padding:13px 14px 13px 60px;gap:6px}.q-consult-band>a>img{height:67px;width:63px;left:0}.q-consult-band>a>span{font-size:27px}.q-results-dialog h2{font-size:23px}.q-result-count{font-size:13px}.q-no-results{font-size:14px}}
@media(prefers-reduced-motion:reduce){.q-card{transition:none}.q-card:hover{transform:none}}

@media(max-width:700px){}


/* These three Figma slots stretch the source; the other slots use cover. */
.q-card-reason .q-card-image img,.q-card-price .q-card-image img,.q-card-feature .q-card-image img{object-fit:fill}

.q-search-input>img{width:24px;height:24px;flex:none}.q-search button[type=submit]{display:flex;align-items:center;justify-content:center;gap:7px}.q-search button[type=submit]>img{width:20px;height:20px;flex:none}
@media(max-width:380px){.q-card-content{gap:12px}.q-card-image{flex-basis:60px;width:60px}.q-card h3{font-size:18px}.q-card mark{font-size:23px}.q-card-other h3{font-size:18px}.q-card-other mark{font-size:24px}.q-brand>span{font-size:8px}}
.q-section-more .button{color:#fff;border-color:#fff;background:transparent}
.q-empty{text-align:center;margin:30px 20px}
/* Category names and descriptions are editable; wrap long text and extra tabs. */
.q-category-tabs strong,.q-category-tabs small{white-space:normal;overflow-wrap:anywhere}

/* カード列の最終行が残りの高さを分担し、左右の下端を揃える。 */
@media(min-width:701px){.q-card-flow,.q-card-pair{flex-grow:1}.q-brand{height:auto;min-height:23.958vw}}
@media(min-width:1440px){.q-brand{min-height:345px}}
/* Figmaの横長スロットは中央を基準にcoverで表示する。 */
.q-card-other .q-card-image{--q-image-border:4px}
.q-card-other .q-card-image img{max-width:none;object-fit:cover;object-position:center;inset:calc(-1 * var(--q-image-border));width:calc(100% + 2 * var(--q-image-border));height:calc(100% + 2 * var(--q-image-border))}
@media(min-width:701px) and (max-width:1439px){.q-card-other .q-card-image{--q-image-border:.278vw}}
@media(max-width:700px){.q-card-other .q-card-image{--q-image-border:3px}}
.q-brand>span{display:flex;align-items:center;justify-content:center;gap:.55em}
.q-brand-arrow{flex:none;transform:rotate(90deg);width:.625em;height:auto}
/* Figmaの丸い背景と、各原画に指定されたcropを分離する。 */
.q-category-icon{position:absolute;right:20px;top:22px;width:50px;height:50px;border-radius:50%;overflow:hidden;background:rgba(0,0,0,.2)}
.q-category-tabs .q-category-icon img{position:absolute;max-width:none;border-radius:0;object-fit:fill;background:none;right:auto;bottom:auto}
.q-category-icon-c9f91 img{width:126.97%;height:154.39%;left:-13.49%;top:-7%}
.q-category-icon-35336 img{width:110.39%;height:110.39%;left:-15.4%;top:6.21%}
.q-category-icon-dd42b img{width:130.1%;height:131.56%;left:-15.05%;top:5.8%}
@media(min-width:701px) and (max-width:1439px){.q-category-icon{right:8px;width:38px;height:38px}}
@media(max-width:700px){.q-category-icon{display:none}}

/* 10/27: chat bubbles use the same editable FAQ content as the listing. */
.q-modal-open{overflow:hidden}
.q-dialog{width:min(866px,calc(100% - 40px));max-width:none;max-height:calc(100dvh - 48px);margin:auto;border:3px solid #001431;border-radius:2px;padding:0;background:#eef7ff;color:#001431;overflow:visible;box-shadow:0 20px 80px #00143144}
.q-dialog::backdrop{background:#000b}
.q-dialog-close{position:absolute;z-index:2;right:8px;top:8px;background:#fff;border:2px solid #001431;border-radius:50%;width:34px;height:34px;font-size:26px;line-height:28px;color:#001431}
.q-dialog-scroll{max-height:calc(100dvh - 54px);overflow:auto;padding:48px 30px 50px;overscroll-behavior:contain;scrollbar-gutter:stable}
.q-dialog-intro{position:relative;padding:20px 0 0 130px;max-width:710px;min-height:125px;font-size:18px;font-weight:900;text-align:center;margin:0 auto 38px}
.q-dialog-intro>img{display:inline-block;width:180px;height:auto;vertical-align:middle;margin-right:6px}
.q-dialog-intro>span{white-space:nowrap}
.q-dialog-intro>strong{display:block;font-style:italic;font-size:36px;line-height:1.4;color:#27b9e7;margin-top:6px}
.q-dialog-mascot{position:absolute;left:0;top:0;width:120px}
.q-dialog-mascot small{font-size:14px;display:block;transform:rotate(-12deg)}
.q-dialog-mascot img{width:120px;height:100px;object-fit:contain}
.q-conversation{display:flex;align-items:flex-start;gap:20px;margin:22px 0;font-weight:900;line-height:1.4}
.q-conversation>img{width:71px;height:72px;object-fit:cover;border-radius:50%;flex:none}
.q-conversation-question{margin-bottom:39px}
.q-conversation h2,.q-answer-bubble{position:relative;margin:0;background:#fff;border:3px solid var(--bubble-border,#001431);border-radius:4px;padding:22px 25px;max-width:calc(100% - 91px);overflow-wrap:anywhere}
.q-conversation h2{font-size:24px;line-height:1.4;font-weight:900}
.q-conversation h2::before,.q-answer-bubble::before{content:'';position:absolute;top:29px;left:-20px;border-top:12px solid transparent;border-bottom:12px solid transparent;border-right:20px solid var(--bubble-border,#001431)}
.q-conversation h2::after,.q-answer-bubble::after{content:'';position:absolute;top:32px;left:-14px;border-top:9px solid transparent;border-bottom:9px solid transparent;border-right:15px solid #fff}
.q-conversation-answer{justify-content:flex-end;margin-left:60px;--bubble-border:#2767e7}
.q-answer-bubble{flex:0 1 auto;font-size:30px;line-height:1.4;max-width:min(472px,calc(100% - 91px));padding:24px 29px}
.q-answer-bubble::before{left:auto;right:-20px;border-right:0;border-left:20px solid #2767e7}
.q-answer-bubble::after{left:auto;right:-14px;border-right:0;border-left:15px solid #fff}
.q-answer-bubble p{margin:0;font-size:inherit;line-height:inherit;font-weight:900}
.q-answer-bubble p+p{margin-top:1em}
.q-conversation mark{background:#2767e7;color:#fff;padding:0 3px;box-decoration-break:clone;-webkit-box-decoration-break:clone}
.q-dialog-more{text-align:center;margin-top:30px}
.q-dialog-more .button{font-size:24px;background:#2767e7;color:#fff;border-color:#2767e7}
@media(max-width:700px){
 .q-dialog{width:calc(100% - 24px);max-height:calc(100dvh - 30px)}
 .q-dialog-scroll{max-height:calc(100dvh - 36px);padding:52px 15px 28px;scrollbar-gutter:auto}
 .q-dialog-intro{padding:10px 0 0 65px;min-height:78px;font-size:11px;margin-bottom:25px}
 .q-dialog-intro>img{width:100px}.q-dialog-intro>span{white-space:normal}.q-dialog-intro>strong{font-size:21px}
 .q-dialog-mascot{width:65px}.q-dialog-mascot small{font-size:9px}.q-dialog-mascot img{width:65px;height:60px}
 .q-conversation{gap:12px;margin:20px 0}.q-conversation>img{width:42px;height:43px}
 .q-conversation h2,.q-answer-bubble{max-width:calc(100% - 54px);font-size:16px;padding:14px 12px;border-width:2px;line-height:1.6}
 .q-conversation-answer{margin-left:12px}
 .q-conversation h2::before{left:-12px;top:16px;border-width:8px 12px 8px 0}.q-conversation h2::after{left:-9px;top:18px;border-width:6px 10px 6px 0}
 .q-answer-bubble::before{right:-12px;top:16px;border-width:8px 0 8px 12px}.q-answer-bubble::after{right:-9px;top:18px;border-width:6px 0 6px 10px}
 .q-dialog-more{margin-top:25px}.q-dialog-more .button{font-size:17px;padding:12px 18px}
}
