/* WordPress content integration; original layout rules remain shared. */
.oe-filter{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.pagination .current{background:#d99960;color:white;border-color:#d99960}.entry-content h2,.entry-content h3{scroll-margin-top:110px}.entry-content h2{font-size:30px;font-weight:800;margin:48px 0 24px;line-height:1.55}.entry-content h3{font-size:22px;font-weight:800;margin:32px 0 16px;line-height:1.65}.entry-content p{font-size:16px;line-height:2;margin:0 0 24px;max-width:840px}.entry-content figure{margin:28px 0}.entry-content img{display:block;max-width:100%;width:auto;height:auto;max-height:760px;object-fit:contain;margin:auto}.entry-content figcaption{text-align:center;font-size:12px;color:#647466;margin:10px 0}.entry-content a{text-decoration:underline}.entry-content ul,.entry-content ol{padding-left:1.5em;margin:20px 0;line-height:2}.entry-content ul{list-style:disc}.entry-content ol{list-style:decimal}.entry-content li::marker{color:#d99960}.entry-content .wp-block-image{background:#f8f6ef;border-radius:18px;padding:12px}.entry-content>:first-child{margin-top:0}.article-toc:has(nav:empty){display:none}.admin-bar .eh-drawer-trigger{top:48px}.story-open{display:block;text-decoration:none;color:inherit}.town-story{text-decoration:none;color:inherit}.ehime-footer a{color:inherit}.list-tools select{font:inherit;font-weight:700}.entry-content .wp-block-columns{display:flex;gap:28px}.entry-content .wp-block-column{flex:1;min-width:0}
@media(max-width:767px){.entry-content h2{font-size:24px}.entry-content h3{font-size:20px}.entry-content .wp-block-columns{display:block}.entry-content img{max-height:70vh}.admin-bar .eh-drawer-trigger{top:60px}}

/* Pages (e.g. お問い合わせ): single column, no TOC */
.reading-layout.is-page{display:block;max-width:760px;margin:0 auto}

/* Contact Form 7 */
.entry-content .oe-cf-caution{background:#fff3e6;border-left:4px solid #d99960;border-radius:8px;padding:14px 16px}
.oe-cf{margin-top:32px;background:#faf7ef;border-radius:20px;padding:28px 24px}
.oe-cf .oe-cf-row{margin:0 0 22px}
.oe-cf label{display:block;font-weight:700;font-size:15px;color:#293b32}
.oe-cf .wpcf7-form-control-wrap{display:block;margin-top:8px}
.oe-cf input[type=text],.oe-cf input[type=email],.oe-cf input[type=tel],.oe-cf input[type=url],.oe-cf select,.oe-cf textarea{width:100%;box-sizing:border-box;border:1px solid #b9c2b3;border-radius:10px;background:#fff;padding:12px 14px;font:inherit;font-size:16px;font-weight:400;color:#293b32}
.oe-cf textarea{min-height:180px;resize:vertical}
.oe-cf input:focus,.oe-cf select:focus,.oe-cf textarea:focus{outline:2px solid #426955;outline-offset:1px;border-color:#426955}
.oe-req,.oe-opt{display:inline-block;font-size:11px;font-weight:700;border-radius:4px;padding:1px 6px;margin-left:6px;vertical-align:2px}
.oe-req{background:#d99960;color:#fff}.oe-opt{background:#e3e7df;color:#50604f}
.oe-cf-note{display:block;font-size:12px;font-weight:400;color:#647466;margin-top:6px;line-height:1.7}
.oe-cf-agree{background:#fff;border:1px solid #e0d6c6;border-radius:12px;padding:14px 16px;font-size:14px;line-height:1.8}
.oe-cf-agree .wpcf7-list-item{margin:0}.oe-cf-agree label{display:flex;align-items:flex-start;gap:10px;font-weight:700;cursor:pointer}
/* the theme reset hides all checkboxes (display:none; appearance:none) */
.oe-cf-agree input[type=checkbox]{display:inline-block;appearance:auto;-webkit-appearance:checkbox;flex-shrink:0;width:20px;height:20px;margin:4px 0 0;accent-color:#426955;cursor:pointer}
.oe-cf-submit{text-align:center;margin:28px 0 0}
.oe-cf input[type=submit]{background:#426955;color:#fff;border:0;border-radius:999px;padding:14px 56px;font:inherit;font-weight:700;font-size:16px;cursor:pointer}
.oe-cf input[type=submit]:disabled{background:#a9b5a6;cursor:not-allowed}
.oe-cf input[type=submit]:not(:disabled):hover{background:#2f5040}
.oe-cf .wpcf7-spinner{display:block;margin:10px auto 0}
.oe-cf .wpcf7-not-valid-tip{font-size:13px;margin-top:6px}
.wpcf7 form .wpcf7-response-output{border-radius:10px;margin:20px 0 0;padding:12px 16px;font-size:14px}
@media(max-width:767px){.oe-cf{padding:22px 16px}.oe-cf input[type=submit]{width:100%;padding:14px}}

/* Breadcrumb: always one line; only the last item (page title) is shortened with "…" */
.breadcrumb{flex-wrap:nowrap;white-space:nowrap;overflow:hidden;min-width:0}
.breadcrumb>*{flex-shrink:0}
.breadcrumb>span:last-child{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}

/* Article TOC on phones: collapsed to the first entries until "もっと見る" is pressed (see theme.js) */
.toc-more{display:block;width:100%;margin-top:12px;padding:11px 16px;border:1px solid #cda276;border-radius:999px;background:#fff;color:#9b582a;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.toc-more:hover{background:#fff3e6}
.article-toc.is-collapsed nav{overflow:hidden;-webkit-mask-image:linear-gradient(#000 70%,transparent);mask-image:linear-gradient(#000 70%,transparent)}


/* Call-to-action buttons on pages (e.g. 事業者の皆さまへ): same shape as the site's "〜をもっと見る" buttons */
.entry-content .oe-cta{margin:32px 0}
.entry-content .oe-cta .wp-block-button__link{display:flex;align-items:center;justify-content:space-between;gap:28px;min-width:320px;padding:18px 18px 18px 30px;border-radius:999px;background:#426955;color:#fff;font-size:16px;font-weight:800;letter-spacing:.04em;text-decoration:none;box-shadow:0 8px 20px rgba(41,59,50,.18);transition:background .2s,transform .2s,box-shadow .2s}
.entry-content .oe-cta .wp-block-button__link::after{content:"→";flex:none;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#faf7ef;color:#426955;font-size:16px;transition:transform .2s}
.entry-content .oe-cta .wp-block-button__link:hover{background:#335443;transform:translateY(-2px);box-shadow:0 12px 24px rgba(41,59,50,.22)}
.entry-content .oe-cta .wp-block-button__link:hover::after{transform:translateX(3px)}
.entry-content .oe-cta .wp-block-button__link:focus-visible{outline:3px solid #a96030;outline-offset:4px}
@media(max-width:767px){.entry-content .oe-cta{width:100%}.entry-content .oe-cta .wp-block-button__link{min-width:0;width:100%;box-sizing:border-box;font-size:15px;padding:16px 14px 16px 22px}}

/* PR label (ステマ規制) */
.oe-pr-badge{display:inline-block;padding:1px 9px;border-radius:4px;background:#d99960;color:#fff;font-size:12px;font-weight:800;letter-spacing:.08em;line-height:1.7;vertical-align:middle}
.oe-pr-badge-heading{margin:10px 0 -4px}
.entry-content .oe-pr-notice{display:flex;align-items:center;gap:10px;padding:10px 14px;border:1px solid #efd3b6;border-radius:10px;background:#fff8f0;font-size:13px;color:#6b4a2b}

/* Share buttons at the end of articles */
.oe-share{margin:40px 0 8px;padding:22px 20px;border-radius:18px;background:#faf7ef;text-align:center}
.oe-share-title{margin:0 0 14px;font-size:14px;font-weight:800;color:#293b32;letter-spacing:.05em}
.oe-share-buttons{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.oe-share-btn{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 10px;border:0;border-radius:999px;color:#fff;font:inherit;font-size:13px;font-weight:700;text-decoration:none;cursor:pointer;transition:opacity .2s,transform .2s}
.oe-share-btn:hover{opacity:.88;transform:translateY(-1px)}
.oe-share-line{background:#06c755}.oe-share-x{background:#1a1a1a}.oe-share-facebook{background:#1877f2}.oe-share-copy{background:#fff;color:#426955;border:1px solid #426955}
@media(max-width:767px){.oe-share-buttons{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* sponsor plan card (for-business page) */
.oe-plan{margin:28px 0;padding:28px;border-radius:24px;background:#faf7ef;border:1px solid #d8d2c0}
.oe-plan-price{text-align:center;padding:20px 16px;border-radius:18px;background:#426955;color:#fff}
.oe-plan-label{display:inline-block;padding:3px 12px;border-radius:99px;background:#fff;color:#426955;font-size:13px;font-weight:800}
.oe-plan-price p{margin:8px 0 0;line-height:1.2}
.oe-plan-price strong{font-size:44px;font-weight:900;letter-spacing:.02em;margin:0 4px}
.oe-plan-unit{font-size:15px;font-weight:800}
.oe-plan-kicker{margin:24px 0 12px;text-align:center;font-size:17px;font-weight:900;color:#c07a45}
.entry-content .oe-plan-perks,.oe-plan-perks{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.entry-content .oe-plan-perks li,.oe-plan-perks li{display:flex;gap:14px;align-items:flex-start;padding:16px 18px;border-radius:16px;background:#fff;border:1px solid #e6e1d4;margin:0}
.oe-plan-perks li::before{display:none}
.oe-plan-no{flex:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fff3e6;color:#c07a45;font-weight:900;font-size:14px}
.oe-plan-perks strong{display:block;font-size:17px;color:#293b32;margin-bottom:4px}
.oe-plan-perks p{margin:0;font-size:14px;line-height:1.8;color:#4b5a50}
.oe-plan-note{margin:14px 0 0;font-size:13px;color:#647466}
@media(min-width:768px){.entry-content .oe-plan-perks{grid-template-columns:repeat(3,1fr)}.entry-content .oe-plan-perks li{flex-direction:column}}
@media(max-width:767px){.oe-plan{padding:18px;border-radius:20px}.oe-plan-price strong{font-size:38px}.entry-content .oe-plan-perks li{padding:14px}}

/* 404 page */
.oe-404-body{max-width:1100px;margin:40px auto 0;padding:0 24px 64px}
.oe-404-body h2{margin:40px 0 16px;font-size:22px;font-weight:900;color:#293b32}
.oe-404-search{padding:24px;border-radius:22px;background:#faf7ef;border:1px solid #d8d2c0}
.oe-404-search label{display:block;margin-bottom:10px;font-weight:800;color:#293b32}
.oe-404-search div{display:flex;gap:10px}
.oe-404-search input{flex:1;min-width:0;padding:12px 16px;border-radius:99px;border:1px solid #cfc7b2;background:#fff;font-size:16px}
.oe-404-search button{flex:none;padding:12px 24px;border:0;border-radius:99px;background:#426955;color:#fff;font-weight:800;font-size:15px;cursor:pointer}
.oe-404-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.oe-404-links a{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:16px;background:#fff;border:1px solid #e6e1d4;color:#293b32;font-weight:800;text-decoration:none;transition:transform .2s,box-shadow .2s}
.oe-404-links a:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(41,59,50,.12)}
.oe-404-links img{width:36px;height:36px;object-fit:contain}
.oe-404-links span{margin-left:auto;color:#c07a45}
.oe-404-home{margin-top:40px;text-align:center}
.oe-404-btn{display:inline-flex;align-items:center;gap:10px;padding:16px 32px;border-radius:99px;background:#426955;color:#fff;font-weight:800;text-decoration:none}
@media(max-width:767px){.oe-404-body{margin-top:28px;padding:0 16px 48px}.oe-404-links{grid-template-columns:1fr 1fr}.oe-404-links a{padding:12px;font-size:14px}.oe-404-links img{width:28px;height:28px}.oe-404-search{padding:18px}.oe-404-search button{padding:12px 18px}}
@media(min-width:801px){.oe-404 .stories>:nth-child(4){display:none}}
.oe-plan-price .oe-plan-term{display:inline-block;margin:10px 0 0;padding:3px 14px;border-radius:99px;border:1px solid rgba(255,255,255,.6);font-size:14px;font-weight:800}
.oe-plan-price .oe-plan-year{margin:8px 0 0;font-size:13px;opacity:.9}
