/*
Theme Name: まいりば | Mairiba
Theme URI: https://mairiba.com/
Author: Mairiba project
Description: 墓じまい・仏壇じまい・デジタル墓参り・葬儀情報に特化した、シンプルで読みやすい日本語サイト用テーマ。
Version: 1.1.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: mairiba
License: GPL-2.0-or-later
*/
:root{--ink:#293E30;--ink-2:#415D49;--muted:#607367;--bg:#F8FAF5;--paper:#FFFFFF;--leaf:#426E53;--leaf-2:#426E53;--sage:#E8F1E7;--cream:#F5EEE2;--pink:#F7EFEA;--sand:#F9F8F4;--line:#DDE8DC;--gold:#96794D;--shadow:0 18px 45px rgba(36,80,47,.07)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;font-size:18px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:var(--leaf);text-underline-offset:4px}a:focus-visible,button:focus-visible{outline:3px solid #ad864e;outline-offset:4px}img,svg{max-width:100%}h1,h2,h3{line-height:1.45;letter-spacing:.035em}h1,h2,h3,p{overflow-wrap:anywhere}.wrap{max-width:1120px;margin-inline:auto;padding-inline:28px}.skip-link{position:absolute;top:-100px;left:20px;background:#fff;padding:12px 18px;z-index:999}.skip-link:focus{top:10px}.site-header{height:92px;display:flex;align-items:center;border-bottom:1px solid rgba(49,92,80,.09);background:rgba(255,254,251,.94)}.header-inner{display:flex;align-items:center;justify-content:space-between;width:100%}.brand{display:inline-flex;align-items:center;gap:13px;text-decoration:none;color:var(--ink)}.brand-symbol{display:grid;place-items:center;width:49px;height:49px;background:var(--sage);border-radius:17px;color:var(--leaf)}.brand-symbol svg{width:32px;height:32px}.brand-text{display:flex;flex-direction:column;line-height:1.15}.brand-name{font-weight:800;font-size:29px;letter-spacing:.08em}.brand-note{font-size:11px;color:var(--muted);letter-spacing:.08em;margin-top:5px}.header-hint{font-size:13px;letter-spacing:.06em;color:var(--muted)}
.home-hero{position:relative;overflow:hidden;padding:58px 0 28px}.home-hero .wrap{display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:26px}.eyebrow{margin:0 0 14px;color:var(--leaf-2);font-size:15px;font-weight:750;letter-spacing:.15em}.hero-copy h1{margin:0;font-size:clamp(34px,4vw,54px);letter-spacing:.045em;line-height:1.5;font-weight:800}.hero-copy h1 em{font-style:normal;color:var(--leaf)}.hero-lead{max-width:590px;margin:22px 0 0;color:var(--ink-2);font-size:18px;line-height:2}.hero-art{width:100%;max-width:470px;min-height:260px;margin-left:auto;display:grid;place-items:center}.hero-art svg{width:100%;height:auto}.entrances{padding:8px 0 68px}.section-pretitle{color:var(--gold);font-size:12px;font-weight:750;letter-spacing:.15em;margin:0 0 5px}.entrances h2{margin:0 0 21px;font-size:clamp(22px,2.4vw,29px)}.entrance-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.entrance-card{position:relative;min-height:212px;border:1px solid var(--line);border-radius:24px;background:var(--paper);padding:27px 31px 25px;display:flex;align-items:flex-start;gap:24px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s,border-color .2s}.entrance-card:hover{transform:translateY(-3px);border-color:#b5c7b6;box-shadow:0 24px 55px rgba(25,55,41,.11)}.entrance-card:focus-visible{outline-offset:3px}.entrance-card .card-icon{flex:0 0 72px;width:72px;height:72px;display:grid;place-items:center;border-radius:23px;color:var(--leaf)}.entrance-card:nth-child(1) .card-icon{background:var(--sage)}.entrance-card:nth-child(2) .card-icon{background:var(--cream)}.entrance-card:nth-child(3) .card-icon{background:#e5f0ef}.entrance-card:nth-child(4) .card-icon{background:var(--pink)}.card-icon svg{width:42px;height:42px}.card-copy{display:flex;flex-direction:column;min-width:0}.card-title{font-size:25px;font-weight:800;line-height:1.5;letter-spacing:.025em}.card-description{font-size:15px;line-height:1.75;color:var(--ink-2);margin-top:9px;max-width:300px}.card-arrow{position:absolute;bottom:22px;right:24px;display:grid;place-items:center;border:1px solid #d9e1db;border-radius:50%;height:31px;width:31px;font-size:20px;color:var(--leaf)}
.site-footer{border-top:1px solid var(--line);padding:28px 0 38px;color:var(--muted);font-size:13px}.footer-inner{display:flex;justify-content:space-between;align-items:start;gap:20px}.footer-links{display:flex;gap:18px;flex-wrap:wrap}.site-footer a{color:var(--ink-2)}.footer-note{margin:8px 0 0;font-size:12px;line-height:1.8}.copyright{white-space:nowrap}
.inner-hero{padding:54px 0 40px;background:linear-gradient(125deg,#eaf2eb 0%,#fcfbf7 76%)}.breadcrumb{margin:0 0 22px;font-size:14px;color:var(--muted)}.breadcrumb a{text-decoration:none}.inner-hero h1{margin:0;font-size:clamp(30px,3.5vw,44px)}.inner-lead{font-size:18px;line-height:1.95;color:var(--ink-2);max-width:800px;margin:16px 0 0}.article-area{padding:48px 0 72px}.narrow{max-width:870px}.content-panel{border:1px solid var(--line);border-radius:22px;background:var(--paper);padding:33px 42px;margin:0 0 28px}.content-panel h2{font-size:24px;margin:0 0 16px}.content-panel h3{font-size:20px;margin:24px 0 8px}.content-panel p{margin:0 0 18px}.content-panel ul,.content-panel ol{padding-left:1.5em;margin:12px 0 22px}.content-panel li{margin:7px 0}.content-panel a{font-weight:650}.source-note{font-size:13px;color:var(--muted);padding-top:14px;border-top:1px solid var(--line)}.notice{background:#f2f5ee;border-left:4px solid var(--leaf);padding:16px 20px;margin:20px 0;border-radius:0 12px 12px 0;font-size:16px}.post-list-title{margin:46px 0 18px;font-size:25px}.post-list{display:grid;gap:14px}.post-item{display:block;padding:20px 24px;background:var(--paper);border:1px solid var(--line);border-radius:16px;text-decoration:none;color:var(--ink)}.post-item:hover{border-color:#97b2a0;background:#fff}.post-item-title{display:block;font-weight:800;font-size:19px;line-height:1.5}.post-item-date{font-size:13px;color:var(--muted);margin-top:6px;display:block}.empty-posts{padding:26px 28px;border-radius:16px;background:#f2f4ef;color:var(--ink-2)}.back-home{margin-top:36px}.back-home a{display:inline-flex;align-items:center;gap:8px;text-decoration:none;font-weight:700}.app-badge{display:inline-flex;border-radius:50px;background:#e9efe5;color:var(--leaf);font-size:14px;font-weight:800;padding:4px 14px;margin-bottom:12px}.app-ideas{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.idea{padding:18px;border:1px solid var(--line);border-radius:14px;background:#fbfaf7}.idea strong{display:block;font-size:17px}.idea span{display:block;color:var(--muted);font-size:14px;line-height:1.65;margin-top:7px}.single-meta{color:var(--muted);font-size:13px;margin:10px 0 0}.entry-content h2{margin:30px 0 14px;font-size:25px}.entry-content h3{font-size:21px;margin-top:25px}.entry-content p{margin:0 0 20px}.entry-content ul{padding-left:1.5em}.entry-content blockquote{background:var(--sage);border-left:4px solid var(--leaf);padding:16px 21px;margin:20px 0}.entry-content img{height:auto;border-radius:12px}.pagination{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}.pagination .page-numbers{padding:7px 13px;border:1px solid var(--line);border-radius:10px;text-decoration:none}.pagination .current{background:var(--leaf);color:white}.search-form{display:flex;gap:10px}.search-field{flex:1;min-width:0;padding:12px;border:1px solid var(--line);border-radius:8px;font-size:17px}.search-submit{background:var(--leaf);color:white;border:0;padding:10px 18px;border-radius:8px;font-weight:700;font-size:16px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media (max-width:840px){.home-hero .wrap{grid-template-columns:1fr}.home-hero{padding-top:39px}.hero-art{display:none}.hero-copy h1{font-size:clamp(33px,6vw,46px)}.entrances{padding-top:21px}.entrance-card{min-height:202px;padding:23px;gap:17px}.card-icon{transform:scale(.9);transform-origin:top left}.card-title{font-size:22px}.card-description{font-size:14px}.content-panel{padding:28px}}
@media (max-width:640px){body{font-size:17px}.wrap{padding-inline:19px}.site-header{height:79px}.brand-symbol{width:43px;height:43px;border-radius:14px}.brand-name{font-size:26px}.brand-note{font-size:10px}.header-hint{display:none}.hero-copy h1{font-size:36px}.hero-lead{font-size:16px;margin-top:14px;line-height:1.9}.entrances{padding-bottom:48px}.entrances h2{font-size:24px}.entrance-grid{grid-template-columns:1fr;gap:13px}.entrance-card{min-height:144px;padding:20px 21px 21px;border-radius:20px}.entrance-card .card-icon{flex-basis:61px;width:61px;height:61px;border-radius:18px;transform:none}.card-icon svg{width:37px;height:37px}.card-title{font-size:23px}.card-description{font-size:15px;margin-top:4px;max-width:none;padding-right:16px}.card-arrow{right:15px;bottom:14px;width:28px;height:28px}.footer-inner{flex-direction:column;gap:12px}.inner-hero{padding:36px 0 31px}.inner-hero h1{font-size:31px}.inner-lead{font-size:16px}.article-area{padding:27px 0 50px}.content-panel{padding:24px 20px;border-radius:17px}.content-panel h2{font-size:22px}.app-ideas{grid-template-columns:1fr}.post-list-title{font-size:23px}.copyright{white-space:normal}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.entrance-card{transition:none}}


/* ─────────── MAIRIBA 1.1 若草グリーン・トップページ ─────────── */
body{background:#F8FAF5;color:#293E30}
.wrap{max-width:1190px;padding-inline:32px}
.site-header{height:100px;border-bottom:1px solid #E1E9DF;background:#FFFFFF}
.header-inner{gap:24px}
.brand{gap:11px;align-items:center}
.brand-symbol{width:63px;height:63px;border-radius:50%;background:#F3F7ED;overflow:hidden;display:grid;place-items:center}
.brand-symbol img{display:block;width:55px;height:55px;object-fit:contain}
.brand-name{font-size:28px;color:#365C43;line-height:1.1;letter-spacing:.025em}
.brand-note{font-size:12px;color:#627666;letter-spacing:.045em;margin-top:8px}
.header-hint{color:#5F7667;font-size:14px;letter-spacing:.015em}
.home-hero{padding:55px 0 25px;isolation:isolate}
.home-hero .wrap{display:grid;grid-template-columns:1.03fr .97fr;gap:54px;align-items:center}
.hero-copy{padding:15px 0 15px}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:14px;letter-spacing:.075em;border-radius:100px;background:#E8F1E7;color:#426E53;padding:7px 16px;margin-bottom:17px;font-weight:750}
.eyebrow:before{content:'';width:7px;height:7px;border-radius:50%;background:#83AD91;display:inline-block}
.hero-copy h1{font-size:clamp(34px,3.45vw,53px);letter-spacing:.02em;line-height:1.47;font-weight:800;color:#294B36}
.hero-copy h1 em{color:#426E53;white-space:nowrap;position:relative;z-index:1}
.hero-copy h1 em:after{content:'';position:absolute;height:12px;background:#DDEACF;border-radius:100px;left:0;right:0;bottom:4px;z-index:-1}
.hero-lead{margin:23px 0 0;font-size:17px;line-height:2;color:#425E49;max-width:545px}
.hero-art{position:relative;min-height:326px;width:100%;max-width:465px;margin-left:auto;border-radius:50% 43% 49% 44%;background:radial-gradient(circle at 70% 28%,#FFF7E7 0,#FFF7E7 22%,transparent 24%),radial-gradient(circle at 48% 58%,#EDF5E8 0,#EDF5E8 64%,#E7F0E1 65%);display:flex;align-items:center;justify-content:center;overflow:visible}
.hero-art:before{content:'';position:absolute;left:18px;bottom:29px;right:8px;height:29px;border-radius:50%;background:#D9E7D0;filter:blur(2px);opacity:.5}
.hero-art:after{content:'';position:absolute;width:58px;height:58px;right:6%;top:3%;background:#EADFC9;border-radius:50%;opacity:.65}
.hero-logo{width:270px;height:270px;position:relative;z-index:1;object-fit:contain;filter:drop-shadow(0 15px 23px rgba(75,113,75,.05))}
.hero-sparkle{position:absolute;width:13px;height:13px;background:#E8D5A9;border-radius:50%;left:11%;top:26%;box-shadow:31px -21px 0 -4px #A8C29F,330px 190px 0 -2px #A8C29F}
.hero-small-note{position:absolute;bottom:-7px;right:14px;z-index:2;background:#FFF;border:1px solid #DDE8DC;border-radius:100px;padding:9px 20px;color:#4F7658;font-weight:700;font-size:13px;box-shadow:0 12px 25px rgba(24,61,37,.06)}
.entrances{padding:28px 0 72px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:22px}
.section-pretitle{color:#527E5D;font-size:13px;font-weight:800;letter-spacing:.1em;margin:0 0 6px}
.entrances h2{font-size:clamp(23px,2.5vw,30px);margin:0;color:#304C38;letter-spacing:.035em}
.section-guide{font-size:14px;color:#607767;margin:0 0 3px}
.entrance-grid{gap:19px}
.entrance-card{min-height:198px;border:1px solid #DCE9DC;border-radius:23px;background:#FFF;padding:27px 28px;gap:23px;box-shadow:0 13px 35px rgba(41,81,47,.045)}
.entrance-card:hover{border-color:#B0CEB7;box-shadow:0 19px 42px rgba(41,81,47,.11)}
.entrance-card .card-icon{width:73px;height:73px;flex-basis:73px;border-radius:21px;color:#426E53}
.entrance-card:nth-child(1) .card-icon{background:#E8F1E7}
.entrance-card:nth-child(2) .card-icon{background:#F3ECDA}
.entrance-card:nth-child(3) .card-icon{background:#E3F1E8}
.entrance-card:nth-child(4) .card-icon{background:#F5EFE5}
.card-icon svg{width:39px;height:39px}
.card-title{font-size:25px;color:#294B36;letter-spacing:.0em;line-height:1.42}
.card-description{font-size:16px;color:#526B59;line-height:1.8;margin-top:10px;max-width:325px}
.card-badge{display:inline-flex;width:max-content;margin-top:8px;background:#E6F1E7;color:#426E53;padding:2px 9px;border-radius:50px;font-size:12px;font-weight:750}
.card-arrow{bottom:20px;right:20px;width:34px;height:34px;border-radius:100%;background:#EFF5EC;border:0;color:#426E53;font-size:20px;line-height:1}
.site-footer{padding:30px 0 34px;background:#F2F7EF;border-top:1px solid #DBE8D8;color:#627467}
.footer-note{color:#617769}
.inner-hero{background:linear-gradient(115deg,#E8F1E7 0%,#F8FAF5 78%)}
.notice{background:#EDF4E9;border-left-color:#426E53}
.app-badge{background:#E6F1E7;color:#426E53}
@media(max-width:920px){.home-hero .wrap{gap:24px}.hero-art{max-width:365px;min-height:292px}.hero-logo{width:230px;height:230px}.hero-small-note{right:0}.hero-copy h1{font-size:clamp(33px,4.3vw,45px)}.header-hint{display:none}}
@media(max-width:760px){.home-hero .wrap{grid-template-columns:1fr}.home-hero{padding:36px 0 10px}.hero-art{display:none}.hero-copy{padding:0}.section-guide{display:none}.entrances{padding-top:24px}}
@media(max-width:640px){body{font-size:17px}.wrap{padding-inline:19px}.site-header{height:82px}.brand-symbol{width:51px;height:51px}.brand-symbol img{width:46px;height:46px}.brand-name{font-size:25px}.brand-note{font-size:10px;margin-top:6px}.hero-copy h1{font-size:34px;line-height:1.52}.hero-copy h1 em:after{height:9px;bottom:3px}.hero-lead{font-size:16px;line-height:1.95;margin-top:17px}.eyebrow{margin-bottom:14px;font-size:12px;padding:6px 13px}.entrances{padding-top:30px;padding-bottom:48px}.section-heading{margin-bottom:19px}.entrances h2{font-size:22px}.entrance-grid{grid-template-columns:1fr;gap:13px}.entrance-card{min-height:138px;padding:21px 18px;border-radius:19px;gap:14px}.entrance-card .card-icon{width:59px;height:59px;flex-basis:59px;border-radius:17px}.card-icon svg{width:34px;height:34px}.card-title{font-size:22px}.card-description{font-size:15px;margin-top:6px;padding-right:5px;line-height:1.75}.card-badge{font-size:11px;margin-top:7px}.card-arrow{bottom:12px;right:11px;width:27px;height:27px}.site-footer{padding:26px 0 32px}}
@media(prefers-reduced-motion:reduce){.entrance-card{transition:none}}
