/* Origin Service local SEO content blocks */
.origin-breadcrumb{background:none;border-bottom:1px solid #e7ebef;font-size:1.3rem;color:#66727e}
.origin-breadcrumb .inner{padding-top:1rem;padding-bottom:1rem;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap}
.origin-breadcrumb a{color:#245b86;text-decoration:none}
.origin-seo-section{padding:6rem 0;background:#fff}
.origin-seo-section.alt{background:#f6f8fa}
.origin-seo-section .lead{max-width:850px;margin:0 auto 3rem;line-height:2;text-align:left}
.origin-seo-grid,.origin-area-grid,.origin-post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem;margin-top:3rem}
.origin-service-card,.origin-area-card,.origin-post-card{background:#fff;border:1px solid #e2e8ee;border-radius:14px;padding:2.4rem;box-sizing:border-box;box-shadow:0 8px 24px rgba(26,61,91,.06)}
.origin-service-card h3,.origin-area-card h3,.origin-post-card h3{margin:0 0 1rem;font-size:1.9rem;line-height:1.5}
.origin-service-card p,.origin-area-card p,.origin-post-card p{margin:0;line-height:1.9}
.origin-service-card a,.origin-area-card a,.origin-post-card a{color:#155f9c;text-decoration:none}
.origin-area-card .origin-area-link,.origin-service-card .origin-area-link{display:inline-block;margin-top:1.4rem;font-weight:700}
.origin-trust{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.4rem;margin:3rem 0}
.origin-trust-item{padding:2rem 1.2rem;border-radius:12px;background:#eef6fc;text-align:center;font-weight:700;line-height:1.6}
.origin-faq details{max-width:900px;margin:0 auto 1rem;border:1px solid #dfe6ed;border-radius:10px;background:#fff;overflow:hidden;transition:border-color .2s}
.origin-faq details[open]{border-color:#bcd9f2}
.origin-faq summary{position:relative;display:flex;align-items:center;gap:1rem;padding:1.5rem 4.6rem 1.5rem 1.8rem;font-size:1.7rem;font-weight:700;line-height:1.5;cursor:pointer;list-style:none;transition:background .2s}
.origin-faq summary:hover,.origin-faq details[open] summary{background:#f4f9fd}
.origin-faq summary:before{content:'Q';flex:none;display:inline-flex;width:2.8rem;height:2.8rem;border-radius:50%;align-items:center;justify-content:center;background:#1677c8;color:#fff;font-size:1.4rem}
.origin-faq summary:after{content:'';position:absolute;top:50%;right:1.9rem;width:.9rem;height:.9rem;margin-top:-.65rem;border-right:2px solid #1677c8;border-bottom:2px solid #1677c8;transform:rotate(45deg);transition:transform .2s}
.origin-faq details[open] summary:after{margin-top:-.2rem;transform:rotate(-135deg)}
.origin-faq details p{position:relative;margin:0;padding:1.4rem 1.8rem 1.6rem 5.6rem;border-top:1px solid #eef2f6;font-size:1.45rem;line-height:1.8;color:#3d4a56}
.origin-faq details p:before{content:'A';position:absolute;left:1.8rem;top:1.3rem;display:inline-flex;width:2.8rem;height:2.8rem;border-radius:50%;align-items:center;justify-content:center;background:#eaf4fd;color:#1677c8;font-size:1.4rem;font-weight:700}

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


.origin-seo-cta{max-width:900px;margin:4rem auto 0;padding:3rem;border-radius:16px;background:#eef6fc;text-align:center}
.origin-seo-cta p{line-height:1.8}
.origin-seo-cta .btnA{margin-top:1.5rem}
.origin-note{font-size:1.3rem;color:#66727e;line-height:1.8}
.origin-post-date{font-size:1.2rem;color:#74808b;margin-bottom:.7rem!important}
@media(max-width:767px){
 .origin-seo-section{padding:4rem 1.6rem}
 .origin-area-grid,.origin-post-grid{grid-template-columns:1fr;gap:1.4rem}
 .origin-seo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.4rem}
 .origin-trust{grid-template-columns:1fr 1fr;gap:1rem}
 .origin-service-card,.origin-area-card,.origin-post-card{padding:2rem}
 .origin-faq summary{font-size:1.5rem;padding:1.2rem 3.8rem 1.2rem 1.3rem;gap:.8rem}
 .origin-faq summary:before{width:2.4rem;height:2.4rem;font-size:1.2rem}
 .origin-faq details p{padding:1.1rem 1.3rem 1.3rem 4.5rem;font-size:1.3rem}
 .origin-faq details p:before{left:1.3rem;top:1rem;width:2.4rem;height:2.4rem;font-size:1.2rem}
 .origin-seo-cta{padding:2.2rem 1.5rem}
}

/* トップ「創業25年」写真：PC時のみ縦を80%に（元 489x576 → 489x461 / 上下を均等トリミング） */
@media screen and (min-width:751px){
 .origin-intro-photo img{aspect-ratio:489/461;object-fit:cover;object-position:center;display:block}
}

/* 見出し(h2)の下マージンを20px広げる（元 0） */
h2{margin-bottom:20px}

/* before/after写真：PC時のみ80%サイズ（元 width:100% / max-width:1020px） */
@media screen and (min-width:751px){
 .origin-ba-img{width:80%;max-width:816px;display:block;margin-left:auto;margin-right:auto}
}

/* 対応エリア：トップ「創業25年」右カラムの余白に配置するコンパクト版 */
.origin-area-inline{margin-top:2.4rem;padding:2rem 2.2rem;background:#fff;border:1px solid #dfe6ed;border-radius:14px;box-shadow:0 8px 24px rgba(26,61,91,.06)}
.origin-area-inline-title{display:flex;align-items:center;gap:.8rem;margin:0 0 1.4rem;color:#155f9c;font-weight:700;font-size:1.6rem;line-height:1.4}
.origin-area-inline-title:before{content:"";width:4px;height:1.7rem;border-radius:2px;background:#1677c8;flex:none}
.origin-area-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin:0;padding:0;list-style:none}
.origin-area-chips li{flex:0 0 auto;font-size:inherit;list-style:none}
.origin-area-chips a{display:block;padding:.45em 1.1em;border:1px solid #b9d4ea;border-radius:999px;background:#f4f9fd;color:#155f9c;font-weight:700;font-size:1.5rem;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.origin-area-chips a:hover,.origin-area-chips a:focus{background:#1677c8;border-color:#1677c8;color:#fff}
.origin-area-inline-note{margin:1.4rem 0 0;color:#66727e;font-size:1.3rem;line-height:1.7;text-align:center}
@media screen and (max-width:750px){
 .origin-area-inline{margin-top:1.6rem;padding:1.4rem 1.2rem;border-radius:10px}
 .origin-area-inline-title{font-size:1.4rem;margin-bottom:1rem}
 .origin-area-chips{gap:.6rem}
 .origin-area-chips a{font-size:1.3rem;padding:.4em .9em}
 .origin-area-inline-note{font-size:1.1rem;margin-top:1rem}
}

/* フッターの対応エリア表記：青背景上で読めるよう白文字に */
footer .origin-note,
footer .origin-note a{color:#fff}
footer .origin-note a{text-decoration:underline}

/* SP時：全幅画像とその説明文(.design)を同じ92%幅に揃える
   （画像が本文より狭く、文章がはみ出して見えていたため） */
@media screen and (max-width:750px){
 .fullwide-img{width:92%;max-width:92%;margin-left:auto;margin-right:auto;display:block}
 .design{width:92%;max-width:92%;box-sizing:border-box;margin-left:auto;margin-right:auto}
}

/* SP時：写真＋「創業25年〜」文章を横並びのまま、対応エリアはその下に全幅で配置 */
@media screen and (max-width:750px){
 .col2g > .origin-intro-body{display:contents}
 .origin-intro-body > p{width:66.5%;box-sizing:border-box;padding:1em 1em 0 0}
 .origin-intro-body > .origin-area-inline{width:100%;margin-top:1.2rem}
}

/* ===== SEOセクションのリデザイン =====
   style.css の後方にある h3 ルール（青ベタ背景・白文字・幅60%）が
   カード見出しにも効き、中のリンク色(#155f9c)と重なって判読不能だったため、
   このセクション内だけ見出しの装飾を解除して組み直す */
.origin-seo-section h2{
 width:auto;max-width:none;margin:0 auto 2.6rem;padding:0 0 1.2rem;
 background:none;border:0;border-bottom:3px solid #1677c8;
 color:#0f4c81;font-size:2.8rem;line-height:1.5;text-align:center}
.origin-seo-section > .inner > h3{
 width:auto;margin:4.5rem 0 2rem;padding:.2rem 0 .2rem 1.2rem;
 background:none;border:0;border-left:5px solid #1677c8;
 color:#0f4c81;font-size:2.2rem;line-height:1.5;text-align:left}
.origin-service-card h3,.origin-area-card h3,.origin-post-card h3{
 width:auto;margin:0 0 1.1rem;padding:0;
 background:none;border:0;
 color:#0f4c81;font-size:1.9rem;line-height:1.5;text-align:left}
.origin-service-card h3 a,.origin-area-card h3 a,.origin-post-card h3 a{color:#0f4c81}
.origin-service-card h3 a:hover,.origin-area-card h3 a:hover,.origin-post-card h3 a:hover{text-decoration:underline}
.origin-service-card p,.origin-area-card p,.origin-post-card p{color:#3d4a56}
.origin-service-card,.origin-area-card,.origin-post-card{transition:border-color .2s,box-shadow .2s}
.origin-service-card:hover,.origin-area-card:hover,.origin-post-card:hover{border-color:#1677c8;box-shadow:0 10px 28px rgba(22,119,200,.16)}
.origin-area-link{color:#1268b3}
.origin-trust-item{background:#e3f0fb;border:1px solid #c5dff5;color:#0f4c81}
.origin-faq summary{color:#0f4c81}
@media screen and (max-width:750px){
 .origin-seo-section h2{font-size:2.1rem;margin-bottom:2rem}
 .origin-seo-section > .inner > h3{font-size:1.8rem;margin:3rem 0 1.6rem}
 .origin-service-card h3,.origin-area-card h3,.origin-post-card h3{font-size:1.7rem}
}

/* カード本文：行間を詰めて文字を少し小さく／見出しの前にアイコン */
.origin-service-card p,.origin-area-card p,.origin-post-card p{font-size:1.5rem;line-height:1.7}
.origin-service-card h3 a:before,.origin-area-card h3 a:before,.origin-post-card h3 a:before{
 margin-right:.45em;font-size:1.05em;line-height:1}
.origin-service-card h3 a[href^="kusakari"]:before{content:"🌿"}
.origin-service-card h3 a[href^="huyouhin"]:before{content:"📦"}
.origin-service-card h3 a[href^="kazai-seiri"]:before{content:"🏠"}
.origin-service-card h3 a[href^="cleaning"]:before{content:"🚚"}
.origin-service-card h3 a[href^="hachi-kujo"]:before{content:"🐝"}
.origin-service-card h3 a[href^="benriya"]:before{content:"🛠"}
.origin-area-card h3 a:before{content:"📍"}
@media screen and (max-width:750px){
 .origin-service-card p,.origin-area-card p,.origin-post-card p{font-size:1.35rem;line-height:1.7}
}

/* サービスの流れの説明文：中央揃え→左揃え */
.design{text-align:left}

/* サービスカード：余白を詰めて、見出し右端の矢印でリンクだと分かるように
   （「詳しく見る →」は廃止し、見出し自体をリンクの起点にする） */
.origin-seo-grid{gap:1.4rem;margin-top:2rem}
.origin-service-card{padding:1.7rem 1.8rem}
.origin-service-card h3{margin:0 0 1rem}
.origin-service-card h3 a{display:flex;align-items:flex-start;gap:0}
/* アイコン幅を固定して、全カードの見出し文字の左端を揃える */
.origin-service-card h3 a:before{
 flex:none;display:flex;align-items:center;justify-content:center;
 width:3.4rem;height:3.4rem;margin:-.3rem .9rem 0 0;
 border-radius:50%;background:#eaf4fd;
 font-size:1.85rem;line-height:1}
.origin-service-card h3 a:after{
 content:"→";flex:none;margin-left:auto;padding-left:.6em;
 color:#1677c8;font-size:1.3em;line-height:1.5;
 transition:transform .2s}
.origin-service-card h3 a:hover:after{transform:translateX(4px)}
.origin-service-card p{margin:0}
@media screen and (max-width:750px){
 .origin-seo-grid{gap:1rem;margin-top:1.6rem}
 .origin-service-card{padding:1.3rem 1.4rem}
}

/* pr2.jpg（全幅バナー）：SP時は画面幅いっぱいに
   ※.fullwide-img の92%指定より後に置いて上書き */
@media screen and (max-width:750px){
 .origin-fullbleed{
  width:100vw;max-width:100vw;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
}
/* pr2.jpg：PC時は横幅1000px（狭い画面では画面幅まで縮小） */
@media screen and (min-width:751px){
 .origin-fullbleed{width:1000px;max-width:100%;display:block;margin-left:auto;margin-right:auto}
}
/* SP時：サービスカードを横2列×縦3段に（狭い枠に合わせて文字と余白を微調整） */
@media screen and (max-width:750px){
 .origin-seo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
 .origin-service-card{padding:1.2rem 1.1rem}
 .origin-service-card h3{margin:0 0 .8rem;font-size:1.5rem}
 .origin-service-card h3 a{display:block;position:relative;padding-right:2.2rem}
 .origin-service-card h3 a:before{width:3rem;height:3rem;margin:0 0 .6rem;font-size:1.6rem}
 .origin-service-card h3 a:after{position:absolute;top:.3rem;right:0;padding-left:0}
 .origin-service-card h3 a:after{font-size:1em;padding-left:.35em}
 .origin-service-card p{font-size:1.25rem;line-height:1.65}
}

/* SP時 .col3b の横方向・縦方向ズレ修正
   旧: .list=48%＋:nth-child(odd)だけ margin:1em 2% 1em 0
       → 奇数列が10px下がる／左右のmarginが非対称で右端に3px余る
   新: 2カラムグリッドで左右対称・上端揃え */
@media screen and (max-width:750px){
 .col3b{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.8rem 1.2rem;align-items:start}
 .col3b .list,
 .col3b .list:nth-child(odd),
 .col3b .list:nth-child(even){width:auto;margin:0}
}

/* ===== 作業事例スライダー（自動で横に流れる無限スライド） =====
   トラックを2周ぶん複製し、-50%（＋gap半分）まで等速移動して継ぎ目なくループ */
.origin-case-slider{margin-top:2.4rem;padding:.5rem 0;overflow:hidden}
.origin-case-track{
 display:flex;width:max-content;gap:1.4rem;margin:0;padding:0;list-style:none;
 animation:origin-case-flow 46s linear infinite}
.origin-case-slider:hover .origin-case-track,
.origin-case-slider:focus-within .origin-case-track{animation-play-state:paused}
@keyframes origin-case-flow{
 from{transform:translateX(0)}
 to{transform:translateX(calc(-50% - .7rem))}
}
.origin-case{
 flex:0 0 250px;width:250px;list-style:none;font-size:inherit;
 background:#fff;border:1px solid #e2e8ee;border-radius:12px;overflow:hidden;
 box-shadow:0 6px 18px rgba(26,61,91,.06)}
.origin-case img{display:block;width:100%;height:158px;object-fit:cover;background:#f4f7fa}
.origin-case h3,.origin-case .origin-case-h{
 width:auto;margin:1rem 1.1rem .4rem;padding:0;background:none;border:0;
 color:#0f4c81;font-size:1.45rem;font-weight:700;line-height:1.45;text-align:left}
.origin-case p{margin:0 1.1rem 1.1rem;color:#3d4a56;font-size:1.25rem;line-height:1.6}
@media screen and (max-width:750px){
 .origin-case-slider{margin-top:1.8rem}
 .origin-case{flex:0 0 200px;width:200px}
 .origin-case img{height:128px}
 .origin-case h3,.origin-case .origin-case-h{font-size:1.3rem;margin:.8rem .9rem .35rem}
 .origin-case p{font-size:1.15rem;margin:0 .9rem .9rem}
}
/* アニメーションを控えたい設定の環境では、自動再生せず手動スクロールに */
@media (prefers-reduced-motion:reduce){
 .origin-case-track{animation:none;overflow-x:auto;width:auto}
}

/* リード文：文字を少し小さく・行間を詰める */
.origin-seo-section .lead{font-size:1.5rem;line-height:1.7}
@media screen and (max-width:750px){
 .origin-seo-section .lead{font-size:1.35rem;line-height:1.65;margin-bottom:2rem}
}


/* 蜂の巣駆除ページ：本文の横に作業写真を回り込ませる */
.origin-lead-photo{float:right;width:300px;max-width:42%;margin:.3rem 0 1.4rem 2.4rem}
.origin-lead-photo img{display:block;width:100%;height:auto;border-radius:12px}
.origin-seo-section .inner:after{content:"";display:block;clear:both}
@media screen and (max-width:750px){
 .origin-lead-photo{width:150px;max-width:44%;margin:.2rem 0 1rem 1.2rem}
 .origin-lead-photo img{border-radius:8px}
}

/* リンクを持たないカード用のシルエットアイコン（単色SVG） */
.origin-service-card.ico-eaves h3:before,
.origin-service-card.ico-tree h3:before,
.origin-service-card.ico-shed h3:before{
 content:"";display:inline-block;vertical-align:-.75rem;
 width:3.4rem;height:3.4rem;margin-right:.9rem;
 border-radius:50%;background-color:#eaf4fd;
 background-repeat:no-repeat;background-position:center;background-size:1.9rem 1.9rem}
.origin-service-card.ico-eaves h3:before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23155f9c%22%3E%3Cpath%20d%3D%22M12%202.6%201.6%2011.1l1.3%201.6L4%2011.8V21a1%201%200%200%200%201%201h5v-6.2h4V22h5a1%201%200%200%200%201-1v-9.2l1.1.9%201.3-1.6zM12%205.2l6%204.9V20h-2v-6.2H8V20H6V10.1z%22%2F%3E%3C%2Fsvg%3E")}
.origin-service-card.ico-tree h3:before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23155f9c%22%3E%3Cpath%20d%3D%22M12%201.8%205.6%2012.2h3.1L4.2%2019.4h6.6V22.2h2.4V19.4h6.6l-4.5-7.2h3.1zM12%206.3l4.1%206.6h-2.6l3.6%205.8H6.9l3.6-5.8H7.9z%22%2F%3E%3C%2Fsvg%3E")}
.origin-service-card.ico-shed h3:before{background-image:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22%23155f9c%22%3E%3Cpath%20d%3D%22M12%202%202.4%206.6v2.2h1.5V21a1%201%200%200%200%201%201h14.2a1%201%200%200%200%201-1V8.8h1.5V6.6zM5.9%208.8h12.2V20H5.9zm1.8%202.1v2.2h8.6v-2.2z%22%2F%3E%3C%2Fsvg%3E")}
@media screen and (max-width:750px){
 .origin-service-card.ico-eaves h3:before,
 .origin-service-card.ico-tree h3:before,
 .origin-service-card.ico-shed h3:before{
  display:block;margin:0 0 .6rem;vertical-align:0;
  width:3rem;height:3rem;background-size:1.7rem 1.7rem}
}

/* CTA内の見出し：青ベタ h3 のままだったため、セクションの体裁に合わせる
   text-wrap:balance で行数を均等に割り、1文字だけ次行に落ちるのを防ぐ */
.origin-seo-cta h3{
 width:auto;max-width:none;margin:0 0 1.2rem;padding:0;
 background:none;border:0;
 color:#0f4c81;font-size:2.1rem;line-height:1.55;text-align:center;
 text-wrap:balance;word-break:normal;overflow-wrap:anywhere}
.origin-seo-cta p{text-wrap:pretty}
@media screen and (max-width:750px){
 .origin-seo-cta h3{font-size:1.7rem;margin-bottom:1rem}
}

/* 本文中に置く横長の作業写真（キャプション付き） */
.origin-wide-photo{max-width:900px;margin:20px auto 3rem;clear:both}
.origin-wide-photo img{display:block;width:100%;height:auto;border-radius:12px}
.origin-wide-photo figcaption{
 margin-top:.9rem;color:#66727e;font-size:1.3rem;line-height:1.7;text-align:center}
@media screen and (max-width:750px){
 .origin-wide-photo{margin-bottom:2rem}
 .origin-wide-photo img{border-radius:8px}
 .origin-wide-photo figcaption{font-size:1.15rem;text-align:left}
}

/* SP時だけ有効にする改行（PCでは1行のまま） */
.br-sp{display:none}
@media screen and (max-width:750px){
 .br-sp{display:inline}
}

/* 本文中の横長写真：PC時のみ縦を60%に（元 900x701 → 900x421 / 上下を均等トリミング） */
@media screen and (min-width:751px){
 .origin-wide-photo img{aspect-ratio:900/421;object-fit:cover;object-position:center}
}

/* 本文中の横長写真：SP時は全体を80%サイズに（幅80%・中央寄せ／縦も比率どおり縮小） */
@media screen and (max-width:750px){
 .origin-wide-photo{width:80%;margin-left:auto;margin-right:auto}
}

/* 本文中の横長写真：PC時は全体を70%サイズに（900px → 630px・中央寄せ） */
@media screen and (min-width:751px){
 .origin-wide-photo{width:630px;max-width:100%}
}
