/* お問い合わせフォーム共通（Contact Form 7・項目をグループ分けした .epf の見た目）
 * エネポート（/solar_power/eneport/）と お問い合わせ（/contact/）で使用 */
.pf-f:has(.epf){padding:clamp(22px,3vw,40px)}
.epf p{margin:0}
.epf br{display:none}
.epf-lead{font-size:13px;color:var(--mut-d);margin-bottom:6px!important}
.epf .rq,.epf .op{display:inline-block;font-size:10.5px;font-weight:700;line-height:1;padding:4px 7px;border-radius:999px;margin-left:8px;vertical-align:1px;white-space:nowrap}
.epf .rq{background:var(--amb);color:var(--ink)}
.epf .op{background:var(--paper);color:var(--mut-d);border:1px solid var(--line-d)}
.epf-lead .rq{margin:0 2px 0 0}
.epf-g{border:0;margin:0;padding:22px 0 4px;border-top:1px solid var(--line-d)}
.epf-g:first-of-type{border-top:0;padding-top:10px}
.epf-g legend{display:flex;align-items:center;gap:10px;padding:0;margin-bottom:14px;font-family:var(--ff-h);font-weight:700;font-size:16.5px;color:var(--ink)}
.epf-g legend span{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--ink);color:#fff;font-family:var(--ff-d);font-size:13px}
.epf-r{margin-bottom:18px}
.epf-r > p{display:flex;flex-direction:column;gap:8px}
.epf-l{font-size:14px;font-weight:700;color:var(--ink)}
.epf-h{font-size:12.5px;line-height:1.7;color:var(--mut-d)}
.epf-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
.epf input[type=text],.epf input[type=email],.epf input[type=tel],.epf select,.epf textarea{width:100%!important;max-width:none!important;box-sizing:border-box;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--line-d);border-radius:12px;padding:13px 14px;min-height:50px;transition:border-color .15s,box-shadow .15s}
.epf textarea{min-height:140px;height:140px;resize:vertical;line-height:1.7}
.epf ::placeholder{color:#a3aaa6}
.epf input:focus,.epf select:focus,.epf textarea:focus{outline:0;border-color:var(--grn);box-shadow:0 0 0 4px rgba(16,150,100,.14)}
.epf .wpcf7-not-valid{border-color:#d64545!important;background:#fff7f7!important}
.epf .wpcf7-not-valid-tip{font-size:12.5px;color:#d64545;margin-top:6px}
.epf .wpcf7-radio{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px}
.epf .wpcf7-list-item{margin:0}
.epf .wpcf7-list-item label{display:flex;align-items:center;gap:10px;min-height:50px;padding:10px 14px;border:1.5px solid var(--line-d);border-radius:12px;background:#fff;cursor:pointer;font-size:14px;line-height:1.5;color:var(--ink);transition:border-color .15s,background .15s}
.epf .wpcf7-list-item label:has(input:checked){border-color:var(--grn);background:#effaf5;font-weight:700}
.epf input[type=radio],.epf input[type=checkbox]{appearance:auto!important;-webkit-appearance:auto!important;flex:0 0 auto;width:18px;height:18px;margin:0;accent-color:var(--grn)}
.epf-send{margin-top:8px;padding-top:22px;border-top:1px solid var(--line-d);display:flex;flex-direction:column;gap:14px}
.epf-ok .wpcf7-list-item label{border:0;padding:0;min-height:0;background:none!important;font-weight:500!important}
.epf-ok a{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.epf .epf-btn,.epf input[type=submit]{width:100%;min-height:58px;border:0;border-radius:999px;background:var(--amb);color:var(--ink);font:inherit;font-size:16px;font-weight:700;cursor:pointer;transition:filter .15s}
.epf input[type=submit]:hover{filter:brightness(.95)}
.epf input[type=submit]:disabled{opacity:.45;cursor:not-allowed}
.epf .wpcf7-spinner{margin:8px auto 0;display:block}
.pf-f .wpcf7-response-output{margin:16px 0 0!important;border-radius:12px;font-size:13.5px;padding:12px 14px!important}
@media (max-width:720px){.epf-2{grid-template-columns:minmax(0,1fr)}}
.pf-f .hidden-fields-container{display:none!important;border:0!important}
.epf-g,.epf-g:first-of-type{border:0;padding:0}
.epf-g + .epf-g{margin-top:12px;padding-top:24px;border-top:1px dashed var(--line-d)}
.epf-g legend .op{display:inline-block;width:auto;height:auto;margin-left:0;background:var(--paper);color:var(--mut-d);font-family:var(--ff-b,inherit);font-size:10.5px;padding:4px 7px;border-radius:999px}

.epf .wpcf7-checkbox{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}
.epf .wpcf7-list-item label:has(input:focus-visible){box-shadow:0 0 0 4px rgba(16,150,100,.18)}
.epf-doc{list-style:none;margin:0 0 14px;padding:0;display:grid;gap:8px}
.epf-doc li{background:var(--paper);border-radius:12px;padding:12px 14px;font-size:13px;line-height:1.7;color:var(--mut-d)}
.epf-doc b{display:block;font-size:13.5px;color:var(--ink);margin-bottom:2px}
.epf-files{display:grid;gap:8px}
.epf-files > p{display:grid;gap:8px}
.epf input[type=file]{width:100%;box-sizing:border-box;font:inherit;font-size:13.5px;color:var(--mut-d);background:#fff;border:1.5px dashed var(--line-d);border-radius:12px;padding:12px 14px;cursor:pointer}
.epf input[type=file]::file-selector-button{font:inherit;font-size:13px;font-weight:700;margin-right:12px;border:0;border-radius:999px;background:var(--ink);color:#fff;padding:8px 14px;cursor:pointer}
.epf-more{margin-top:10px}
.epf-more summary{cursor:pointer;font-size:13.5px;font-weight:700;color:var(--ink);list-style:none;display:inline-flex;align-items:center;gap:6px}
.epf-more summary::-webkit-details-marker{display:none}
.epf-more summary::before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:1px solid var(--line-d);font-size:13px}
.epf-more[open] summary::before{content:"−"}
.epf-more .epf-files{margin-top:10px}
.epf [data-class="wpcf7cf_group"] .epf-r{margin-top:2px;background:var(--paper);border-radius:14px;padding:14px}
.epf{color-scheme:light}
.epf-g legend .rq{display:inline-block;width:auto;height:auto;margin-left:0;background:var(--amb);color:var(--ink);font-family:var(--ff-b,inherit);font-size:10.5px;padding:4px 7px;border-radius:999px}
/* 複数選択（チェックボックス）は文字の長さに合わせた幅で並べ、項目名の途中で改行しない */
.epf .wpcf7-form-control-wrap{display:block}
.epf .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:8px}
.epf .wpcf7-checkbox .wpcf7-list-item{flex:0 0 auto}
.epf .wpcf7-checkbox .wpcf7-list-item label{white-space:nowrap;padding-right:18px}
.epf .wpcf7-radio .wpcf7-list-item-label{word-break:keep-all;overflow-wrap:anywhere}
.epf .wpcf7-list-item{display:flex}
.epf .wpcf7-list-item label{flex:1 1 auto}
.epf .wpcf7-list-item label{margin:0!important}
.epf input[type=date]{width:100%!important;max-width:none!important;box-sizing:border-box;font:inherit;font-size:16px;color:var(--ink);background:#fff;border:1.5px solid var(--line-d);border-radius:12px;padding:12px 14px;min-height:50px;-webkit-appearance:none;appearance:none}
.epf input[type=date]:focus{outline:0;border-color:var(--grn);box-shadow:0 0 0 4px rgba(16,150,100,.14)}
