/* ============================================
   util.css — FAQ / Contact 共通ユーティリティスタイル（T753）
   ソース正本: ceevs_website/design/ceevs-site-v2/faq.html + contact.html
   faq/contact のページ固有CSS は完全同一のため共通化
   ============================================ */

.crumb{padding-top:34px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--stone)}

.crumb a:hover{color:var(--ink)}

.crumb span{margin:0 10px}

.util-head{padding:56px 0 0;text-align:center;border-bottom:1px solid var(--line);padding-bottom:64px}

.util-head .eyebrow{margin-bottom:16px}

.util-head h1{font-family:"Jost","Century Gothic",sans-serif;font-size:clamp(30px,4vw,50px);font-weight:300;letter-spacing:.06em}

.util-head .sub{font-size:13px;color:var(--stone);margin-top:14px}

.doc{max-width:840px;margin:0 auto;padding:70px 40px 130px}

.doc h2{font-family:"Noto Sans JP",sans-serif;font-size:clamp(18px,2.2vw,24px);font-weight:400;letter-spacing:.04em;margin:56px 0 20px}

.doc h2:first-child{margin-top:0}

.doc h3{font-size:15px;font-weight:500;margin:32px 0 10px;letter-spacing:.03em}

.doc p{font-size:14px;line-height:2.1;color:#3a3a3a;margin-bottom:16px}

.doc ul.disc{margin:0 0 18px;padding-left:1.2em}

.doc ul.disc li{font-size:14px;line-height:2;color:#3a3a3a;margin-bottom:6px}

.doc .lead{font-size:14px;color:#4a4a4a;line-height:2.1;margin-bottom:8px}

details.faq{border-bottom:1px solid var(--line)}

details.faq summary{list-style:none;cursor:pointer;padding:24px 0;font-size:15px;letter-spacing:.02em;display:flex;justify-content:space-between;align-items:flex-start;gap:20px;color:var(--ink)}

details.faq summary::-webkit-details-marker{display:none}

details.faq summary::after{content:"+";font-size:18px;color:var(--stone);flex-shrink:0}

details.faq[open] summary::after{content:"–"}

details.faq .body{padding:0 0 24px;font-size:13.5px;line-height:2.1;color:#4a4a4a}

.faq-cat{font-family:"Jost",sans-serif;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--stone);margin:56px 0 8px}

.faq-cat:first-of-type{margin-top:0}

.form{display:flex;flex-direction:column;gap:26px;margin-top:10px}

.field label{display:block;font-size:12px;letter-spacing:.06em;color:#333;margin-bottom:10px}

.field label .req{color:#b0332f;margin-left:6px;font-size:11px}

.field input,.field select,.field textarea{width:100%;background:#f8f7f5;border:0;border-bottom:1px solid var(--line);padding:14px 10px;font-size:14px;font-family:inherit;font-weight:300;color:var(--ink);border-radius:2px}

.field input:focus,.field select:focus,.field textarea:focus{outline:none;background:#fff;border-bottom:2px solid var(--ink)}

.field textarea{resize:vertical;min-height:120px}

.form .submit{align-self:flex-start;background:var(--ink);color:#fff;border:0;cursor:pointer;font-family:inherit;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:17px 38px;transition:background .3s ease}

.form .submit:hover{background:#333}

.form-note{font-size:12px;color:var(--stone);margin-top:6px}

.form-msg{font-size:16px;color:#2a7a4a;min-height:24px;margin-top:10px}

.wpcf7-response-output{font-size:16px!important}

.wpcf7-form .essential{color:#b0332f;margin-left:6px;font-size:11px}

.wpcf7-form p{font-size:14px;line-height:2.1;color:#3a3a3a;margin-bottom:16px}

.wpcf7-form input[type="text"],.wpcf7-form input[type="email"],.wpcf7-form select,.wpcf7-form textarea{width:100%;background:#f8f7f5;border:0;border-bottom:1px solid var(--line);padding:14px 10px;font-size:14px;font-family:inherit;font-weight:300;color:var(--ink);border-radius:2px}

.wpcf7-form input[type="text"]:focus,.wpcf7-form input[type="email"]:focus,.wpcf7-form select:focus,.wpcf7-form textarea:focus{outline:none;background:#fff;border-bottom:2px solid var(--ink)}

.wpcf7-form textarea{resize:vertical;min-height:120px}

.wpcf7-form input[type="submit"]{background:var(--ink);color:#fff;border:0;cursor:pointer;font-family:inherit;font-size:11px;letter-spacing:.22em;text-transform:uppercase;padding:17px 38px;transition:background .3s ease}

.wpcf7-form input[type="submit"]:hover{background:#333}

.legal-table{width:100%;border-collapse:collapse;border-top:1px solid var(--line)}

.legal-table th{text-align:left;width:220px;vertical-align:top;font-weight:400;color:#222;padding:22px 28px 22px 0;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.03em}

.legal-table td{padding:22px 0;border-bottom:1px solid var(--line);font-size:13.5px;color:#4a4a4a;line-height:1.9}

.about-hero{height:60vh;min-height:400px;position:relative;display:flex;align-items:flex-end;overflow:hidden;background:linear-gradient(160deg,#ddd9d3,#c4bfb7)}

.about-hero .art{position:absolute;inset:0}

.about-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(20,20,20,.32),rgba(20,20,20,0) 50%)}

.about-hero-inner{position:relative;z-index:2;width:100%;padding:0 40px 48px;max-width:var(--maxw);margin:0 auto;color:#fff;text-shadow:0 1px 12px rgba(0,0,0,.25)}

.about-hero .eyebrow{color:rgba(255,255,255,.85);margin-bottom:18px}

.about-hero h1{font-family:"Jost","Century Gothic",sans-serif;font-size:clamp(36px,5vw,64px);font-weight:200;letter-spacing:.06em}

@media(max-width:720px){.doc{padding:56px 22px 84px}.util-head{padding-bottom:44px}.about-hero-inner{padding:0 22px 36px}.legal-table th{width:130px;padding-right:16px;font-size:12px}}
