/* 元HTMLの配色・レイアウトを尊重した機能とレスポンシブの補足 */
.faq{background:var(--soft)}.faq-list{max-width:820px;margin:auto;display:grid;gap:14px}.faq-item{background:white;border:1px solid #dce6dc;border-radius:14px;overflow:hidden}.faq-item summary{display:flex;align-items:baseline;gap:10px;padding:20px 24px;color:var(--g);font-size:16px;font-weight:700;cursor:pointer;list-style:none;overflow-wrap:anywhere}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary::after{content:'＋';margin-left:auto;flex-shrink:0}.faq-item[open] summary::after{content:'−'}.faq-number{flex-shrink:0}.faq-answer{padding:0 24px 22px;font-size:15px;line-height:1.9}.faq-answer p{margin:0}.faq-item summary:focus-visible{outline:3px solid #ba843c;outline-offset:-4px}@media(max-width:740px){.faq-item summary{padding:18px 16px;gap:8px}.faq-answer{padding:0 16px 18px}}
.report .report-sample{margin:0;min-width:0}.report-sample a{display:block}.report-sample img{display:block;width:100%;height:auto;border:1px solid #dce6dc;border-radius:12px;background:white}.report-sample figcaption{margin-top:12px;line-height:1.8}
.service-area{background:var(--cream)}.area-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.area-cards h3{color:var(--g)}.area-cards .card p{font-size:16px}.area-guidance{max-width:760px;margin:26px auto 0;font-size:15px;color:#59695e}@media(max-width:740px){.area-cards{grid-template-columns:minmax(0,1fr)}}
.solve .card{display:flex;flex-direction:column;align-items:center}.solve .service-icon{width:88px;height:88px;flex:0 0 88px;display:flex;align-items:center;justify-content:center;margin:0 0 12px;border-radius:12px;background:var(--soft);color:var(--g)}.solve .service-icon svg{display:block;width:56px;height:60px}.solve .card h3{margin:8px 0}.solve .cards{grid-auto-rows:1fr}
.work-gallery{background:var(--cream)}.work-gallery>.wrap{padding-top:44px;padding-bottom:44px}.work-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.work-photo{margin:0;min-width:0;padding:16px;display:flex;flex-direction:column}.work-photo-frame{height:240px;background:var(--soft);border-radius:8px;overflow:hidden}.work-photo img{display:block;width:100%;height:100%;object-fit:contain}.work-photo figcaption{margin-top:12px;font-size:18px;line-height:1.5;font-weight:700;color:var(--g);text-align:center}@media(max-width:740px){.work-photo-grid{grid-template-columns:minmax(0,1fr)}.work-photo-frame{height:200px}.work-gallery>.wrap{padding-top:36px;padding-bottom:36px}}
.line-link{text-decoration:none}.cta-bar a.line-link{border:1px solid #bccbbd;background:#edf3ec;color:#516458}
.replacement-photo{display:block;width:100%;height:auto;border-radius:12px}.service-photo{aspect-ratio:4/3;object-fit:cover}
/* PCでは既存の改行位置で2行に収まるよう文字サイズを調整 */
.privacy-notice{margin-top:24px;font-size:13px;color:#59695e}.privacy-notice h4{margin-bottom:8px}.consent-label{display:flex;align-items:flex-start;gap:10px;margin-top:20px;font-size:13px}.consent-label input{width:20px;height:20px;flex:0 0 20px;margin-top:3px}.consent-label span{font-size:13px;background:none;color:var(--ink);padding:0;margin:0}.submit-button:not(:disabled){background:var(--g);color:white;cursor:pointer}.form-status[data-state="error"]{border-color:#a34335;background:#fcf1ee;color:#80352b}
@media(min-width:741px){.hero h1{font-size:clamp(20px,3vw,36px)}}
body{padding-bottom:98px}main{display:block}a{color:var(--g)}button,input,textarea{font:inherit}a,button,input,textarea{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #ba843c;outline-offset:4px}section,[id]{scroll-margin-top:95px}.skip-link{position:fixed;top:8px;left:8px;z-index:100;transform:translateY(-150%);background:white;padding:8px 16px}.skip-link:focus{transform:none}.image-note{max-width:1100px;margin:0 auto;padding:0 24px 18px;font-size:12px;color:#59695e}.phone-link{font-size:clamp(18px,2.1vw,25px);font-weight:800;white-space:nowrap}.status{display:inline-block;background:var(--soft);color:var(--g);border-radius:6px;padding:4px 12px;margin-bottom:10px;font-size:13px;font-weight:700}.contact-options{margin:30px 0}.form-link{font-weight:700}#inquiry-form{text-align:left;max-width:760px;margin:40px auto 0;background:white;border:1px solid #dce6dc;border-radius:14px;padding:30px}#inquiry-form h3{margin-top:0}.form-status{padding:16px;background:var(--soft);border-left:4px solid var(--g);font-size:14px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-grid>div{min-width:0}.full{grid-column:1/-1}label{display:block;font-weight:700;margin-bottom:6px}label span{font-size:11px;color:var(--g);background:var(--soft);padding:3px 7px;margin-left:5px;border-radius:4px}label .optional{background:#f3f3f3;color:#59695e}input,textarea{width:100%;max-width:100%;border:1px solid #9cac9f;background:#fff;border-radius:6px;padding:11px;color:var(--ink)}textarea{resize:vertical}.submit-button{display:block;width:100%;margin-top:24px;padding:13px;border:0;border-radius:8px;background:#e7eee6;color:#516458;font-weight:700;cursor:not-allowed}.cta-bar button{flex:1;min-width:0;border:1px solid #bccbbd;background:#edf3ec;color:#516458;border-radius:8px;font-size:13px;font-weight:700;padding:5px;cursor:not-allowed;opacity:1}.cta-bar button span{display:block;font-size:10px}.cta-bar a{display:flex;align-items:center;justify-content:center;min-height:48px;min-width:0}.cta-bar a:last-child{background:#e7eee6;color:var(--g)}footer a{color:white}.plan ul{text-align:left}.card,.plan,.hero-copy,.report-grid>div{min-width:0}p{overflow-wrap:anywhere}@media(max-width:740px){.form-grid{grid-template-columns:1fr}#inquiry-form{padding:20px}.image-note{padding:0 22px 18px}.brand{font-size:18px}.brand small{font-size:9px}.head{gap:10px}.nav{white-space:nowrap}.cta-bar{gap:6px}.cta-bar button{font-size:12px}.contact-options .card{padding:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
