.soec-form-wrap,.soec-auth-card,.soec-card,.soec-dashboard{max-width:920px;margin:32px auto}
.soec-auth-card,.soec-form-wrap,.soec-card{background:#fff;border:1px solid #e6ece9;border-radius:18px;padding:28px;box-shadow:0 10px 35px rgba(0,40,30,.06)}
.soec-form-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:20px}
.soec-form-head span{font-size:28px;font-weight:800}.soec-form-head small{color:#6d7c77}
.soec-form-wrap label,.soec-auth-card label{font-weight:600}
.soec-form-wrap input[type=text],.soec-form-wrap input[type=email],.soec-form-wrap input[type=password],.soec-form-wrap input[type=url],.soec-form-wrap input[type=date],.soec-form-wrap input[type=number],.soec-form-wrap textarea,.soec-form-wrap select,.soec-auth-card input[type=text],.soec-auth-card input[type=email],.soec-auth-card input[type=password],.soec-auth-card input[type=date],.soec-auth-card textarea,.soec-auth-card select{width:100%;margin-top:7px;padding:12px 14px;border:1px solid #d8e1dd;border-radius:10px;box-sizing:border-box;font:inherit}
.soec-auth-card .soec-inline-radio{display:inline-flex;align-items:center;gap:5px;font-weight:500;margin:7px 14px 0 0;width:auto}
.soec-auth-card .soec-inline-radio input{width:auto;margin:0}
.soec-field-note{display:block;margin-top:6px;font-size:.85em;color:#a35b00;background:#fff8ec;border-radius:8px;padding:8px 10px}
.soec-locked-field{position:relative;padding:16px;margin:16px 0;border:1px dashed #c7cdc9;border-radius:12px;background:repeating-linear-gradient(135deg,#eff1ef,#eff1ef 10px,#e6e9e6 10px,#e6e9e6 20px)}
.soec-locked-field__badge{display:inline-block;font-size:11px;font-weight:700;color:#8a6d1f;background:#fbeecb;border:1px solid #e9d29a;border-radius:999px;padding:3px 10px;margin-bottom:9px}
.soec-locked-field__label{font-weight:600;margin:0 0 8px;color:#5a615c}
.soec-locked-field__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.soec-locked-field__slot{aspect-ratio:1/1;border:1px dashed #aab1ac;border-radius:8px;background:#dfe2df}
.soec-locked-field__input{width:100%;padding:10px 12px;border:1px solid #ccd2ce;border-radius:8px;background:#e3e6e3;color:#868c88;cursor:not-allowed;box-sizing:border-box}
.soec-locked-field__note{margin:10px 0 0;font-size:12px;color:#767c78}
.soec-form-wrap fieldset{border:1px solid #e0e8e4;border-radius:12px;padding:15px;margin:20px 0}.soec-form-wrap fieldset label{display:block;margin:8px 0;font-weight:500}
.soec-notice{background:#f4f8f6;border-left:4px solid #197a53;padding:15px 17px;border-radius:8px;margin-bottom:22px;font-size:.93em}.soec-notice p{margin:.55em 0}
.soec-rte-wrap{margin:0 0 18px}
.soec-rte-wrap>label{display:block;font-weight:600;margin-bottom:7px}
.soec-rte-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:8px;border:1px solid #d8e1dd;border-bottom:none;border-radius:10px 10px 0 0;background:#f7faf8}
.soec-rte-btn{min-width:30px;height:30px;padding:0 9px;border:1px solid #d8e1dd;border-radius:6px;background:#fff;cursor:pointer;font-size:13px;color:#2c332f;font:inherit}
.soec-rte-btn:hover{background:#eef5f1;border-color:#167a4c}
.soec-rte-clear{font-size:11px;color:#6d7c77}
.soec-rte-font-label{font-size:11px;color:#6d7c77;flex:0 0 auto}
/* .soec-form-wrap select { width:100%; margin-top:7px; padding:12px 14px } は class+属性(0,2,0)で
   ここの単一クラス(0,1,0)より強く、幅いっぱい・上マージン付き・文字が端に寄って空欄に見える原因になる。
   !importantで確実に打ち消す。 */
.soec-rte-toolbar .soec-rte-font{width:auto!important;height:30px!important;min-width:110px;flex:0 0 auto;margin:0!important;border:1px solid #d8e1dd!important;border-radius:6px!important;padding:0 6px!important;font-size:12px!important;line-height:28px;background:#fff!important;color:#2c332f!important;box-sizing:border-box!important}
.soec-rte-sep{width:1px;height:22px;background:#d8e1dd;margin:0 2px}
.soec-rte-palette{display:flex;align-items:center;gap:5px}
.soec-rte-color{width:22px;height:22px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #d8e1dd;background:var(--sc);cursor:pointer;padding:0}
.soec-rte-color:hover{box-shadow:0 0 0 2px #167a4c;transform:scale(1.1)}
.soec-rte-area{min-height:340px;padding:16px 18px;border:1px solid #d8e1dd;border-radius:0 0 10px 10px;background:#fff;font-size:15px;line-height:1.8;overflow-y:auto;box-sizing:border-box}
.soec-rte-area:focus{outline:2px solid #167a4c55;outline-offset:-2px}
.soec-rte-source{display:none}

.soec-modal{position:fixed;inset:0;z-index:99999;display:none}
.soec-modal.is-open{display:block}
.soec-modal__backdrop{position:absolute;inset:0;background:rgba(10,20,15,.55)}
.soec-modal__panel{position:relative;max-width:960px;width:92%;max-height:88vh;margin:5vh auto;background:#fff;border-radius:20px;overflow-y:auto;box-shadow:0 30px 80px rgba(0,0,0,.35)}
.soec-modal__close{position:sticky;top:12px;float:right;margin-right:12px;width:36px;height:36px;border-radius:50%;border:none;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.15);font-size:20px;line-height:1;cursor:pointer;z-index:2;color:#333}
.soec-modal__close:hover{background:#f2f2f2}
.soec-modal__body{padding:0 4px}
.soec-modal__body .soec-guide-page{max-width:none;margin:0;padding:6px 20px 40px}
@media(max-width:600px){.soec-modal__panel{width:96%;max-height:92vh;margin:4vh auto;border-radius:14px}.soec-modal__body .soec-guide-page{padding:6px 14px 32px}}
.soec-help{display:block;color:#73827d;margin-top:5px}.soec-error{background:#fff0f0;color:#a52626;padding:12px;border-radius:8px;margin-bottom:18px}.soec-success{background:#edf9f1;color:#17653d;padding:16px;border-radius:10px}
.soec-btn{display:inline-block;background:#167a4c;color:#fff!important;text-decoration:none;padding:11px 18px;border-radius:10px;font-weight:700;border:0;cursor:pointer}.soec-btn:hover{opacity:.9}.soec-btn-outline{background:#fff;color:#167a4c!important;border:1px solid #167a4c}
.soec-auth-buttons{display:flex;gap:8px;flex-wrap:wrap}.soec-dashboard-hero{display:flex;justify-content:space-between;gap:20px;align-items:center;background:linear-gradient(135deg,#0c2e26,#1a7050);color:#fff;padding:28px;border-radius:20px;margin-bottom:20px}.soec-dashboard-hero span{font-size:11px;letter-spacing:.18em;opacity:.7}.soec-dashboard-hero h2{margin:.25em 0}.soec-dash-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.soec-dash-grid section{background:#fff;border:1px solid #e5ece9;border-radius:16px;padding:20px}.soec-dash-grid h3{margin-top:0}.soec-dash-grid h3 em{font-style:normal;font-size:.8em;background:#edf5f1;border-radius:999px;padding:3px 8px;margin-left:6px}.soec-list article{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-top:1px solid #edf1ef}.soec-list a{text-decoration:none;font-weight:700}.soec-list small{color:#718078}.soec-empty{color:#87938e}
@media(max-width:700px){.soec-dashboard-hero{display:block}.soec-dashboard-hero .soec-auth-buttons{margin-top:18px}.soec-dash-grid{grid-template-columns:1fr}.soec-form-head{display:block}.soec-form-head small{display:block;margin-top:5px}.soec-form-head .soec-manual-btn{margin-top:12px;align-items:flex-start}}

.soec-manual-btn{display:inline-flex;align-items:center;gap:3px;padding:4px 10px!important;border-radius:999px;border:0;cursor:pointer;font:inherit;font-size:0;line-height:1.2;text-decoration:none!important;background:linear-gradient(135deg,#1a8a5a,#0f5c3a);box-shadow:0 2px 6px rgba(15,92,58,.22);white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease}
.soec-manual-btn:hover{transform:translateY(-1px);box-shadow:0 4px 10px rgba(15,92,58,.28)}
.soec-manual-btn-kicker{font-size:8px;color:#c9ecd9;letter-spacing:.02em;margin-right:2px}
.soec-manual-btn-label{font-size:10px;font-weight:800;color:#fff!important}
.soec-manual-btn-label::after{content:' \2192';font-weight:700}

.soec-guide-safety{font-size:13.5px;background:#edf9f1;border:1px solid #cdeadb;color:#166a44;border-radius:10px;padding:12px 14px;margin:0 0 24px;line-height:1.7}
.soec-guide-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:20px}
.soec-guide-steps li{display:flex;gap:16px;align-items:flex-start}
.soec-guide-num{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:#167a4c;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:16px}
.soec-guide-body h3{margin:0 0 6px;font-size:17px}
.soec-guide-body p{margin:0 0 12px;line-height:1.8;color:#3f4c47}
.soec-guide-note{font-size:12px;color:#6d7c77;background:#f4faf7;border-radius:8px;padding:10px 12px;margin-top:26px}
@media(max-width:600px){.soec-guide-steps li{gap:12px}.soec-guide-num{width:32px;height:32px;font-size:14px}}

.soec-manage-card{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:14px 0;border-top:1px solid #edf1ef}.soec-manage-title{font-weight:800;text-decoration:none}.soec-status{display:inline-block;font-size:11px;background:#eef4f1;color:#49635a;border-radius:999px;padding:3px 8px;margin-left:7px}.soec-status-paid{background:#fff4df;color:#8a5a08}.soec-manage-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;width:100%}.soec-manage-actions a{font-weight:700;text-decoration:none;white-space:nowrap}.soec-manage-actions form{margin:0}.soec-manage-actions button{border:0;background:none;color:#9a4b4b;cursor:pointer;padding:0;font-weight:600;white-space:nowrap}.soec-manage-actions button.soec-ig-request-btn{background:linear-gradient(135deg,#4f5bd5,#962fbf,#d62976,#fa7e1e);color:#fff;white-space:normal;text-align:center;max-width:160px;line-height:1.35;padding:8px 14px;border-radius:14px;font-size:12.5px;font-weight:700;box-shadow:0 3px 10px rgba(214,41,118,.3);transition:transform .15s ease,box-shadow .15s ease}.soec-manage-actions button.soec-ig-request-btn:hover{transform:translateY(-1px);box-shadow:0 5px 14px rgba(214,41,118,.4)}.soec-manage-actions button.soec-ig-request-btn[disabled]{background:#dde1e6;color:#8b93a1;box-shadow:none;cursor:default;transform:none}

/* Circle taxonomy checkboxes */
.soec-taxonomy-box fieldset{margin:18px 0;padding:14px;border:1px solid #dfe8e3;border-radius:12px}
.soec-taxonomy-box legend{padding:0 7px;font-weight:700;color:#12362d}
.soec-check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 6px}
.soec-check-item{display:flex;align-items:center;gap:4px;padding:4px 6px;border:1px solid #edf1ef;border-radius:6px;background:#fff;font-size:12px;line-height:1.3;cursor:pointer}
.soec-check-item input{margin:0;flex:0 0 auto}
.soec-age-grid{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(min-width:640px){.soec-area-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
.soec-area-count{margin:9px 0 0;font-size:13px;color:#5e6d66}
@media(max-width:600px){.soec-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.soec-age-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.soec-contact-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}
.soec-check-item--other{flex-wrap:wrap}
.soec-check-item--other .soec-other-input{flex:1 1 100%;margin-top:2px;padding:6px 8px;border:1px solid #d8e1dd;border-radius:6px;font-size:13px;cursor:text}

/* Circle directory */
.soec-circle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.soec-circle-card{padding:0;margin:0;overflow:hidden}
.soec-circle-thumb{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/9;overflow:hidden;background:#f5f7f8}
.soec-circle-thumb img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.soec-circle-card-body{padding:18px}
.soec-circle-card h3{margin:0 0 10px}
.soec-circle-card h3 a{text-decoration:none}
.soec-term-tags{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 10px}
.soec-term-tags span{font-size:.82em;padding:3px 8px;border:1px solid #ddd;border-radius:999px}
.soec-circle-meta{margin:5px 0;font-size:.9em}
.soec-circle-excerpt{margin:12px 0 16px;line-height:1.7}
@media(max-width:900px){.soec-circle-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.soec-circle-grid{grid-template-columns:1fr}.soec-circle-thumb{aspect-ratio:16/9}}

.soec-directory-filter{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;padding:16px;margin:20px 0;border:1px solid #e5e5e5;border-radius:10px}.soec-directory-filter label{display:flex;flex-direction:column;gap:6px;font-weight:600;min-width:260px}.soec-directory-filter select{min-height:42px;padding:8px 12px;border:1px solid #ccc;border-radius:6px;background:#fff}.soec-directory-result{font-weight:600;margin:0 0 14px}@media(max-width:600px){.soec-directory-filter label{min-width:100%}.soec-directory-filter .soec-btn{width:100%;text-align:center}}

/* Auto article images */
.soec-auto-article-image-wrap{margin:32px 0;text-align:center}
.soec-auto-article-image-wrap img.soec-auto-article-image{display:block;width:100%;max-width:980px;height:auto;max-height:620px;object-fit:contain;margin:0 auto;border-radius:10px}
.soec-auto-article-image-wrap figcaption{margin-top:8px;font-size:12px;line-height:1.6;color:#777}
.soec-auto-article-image-wrap figcaption a{color:inherit;text-decoration:underline}
.soec-auto-article-divider{border:0;border-top:1px solid #e2e5e7;margin:32px auto;max-width:140px}
