/*
Theme Name: ハグクミラボ
Theme URI: https://hagukumi-lab.net/
Author: OpenAI
Description: 子どもの「らしさ」を知って、子育てをもっと楽しく。やさしい色合いと読みやすさを大切にしたハグクミラボ用テーマ。
Version: 168.13
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: hagukumi-lab
*/
:root{--cream:#fbf7ed;--paper:#fffdf7;--brown:#75451f;--ink:#51463a;--green:#729668;--green-dark:#47784d;--green-pale:#edf3e5;--yellow:#f5e8b1;--blue:#d9edf1;--pink:#f8e3df;--line:#e8dfcf;--shadow:0 8px 24px rgba(89,65,36,.07);--radius:18px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:16px;line-height:1.9}img{max-width:100%;height:auto;display:block}a{color:var(--green-dark);text-decoration:none}a:hover{opacity:.82}button,input,textarea{font:inherit}.container{width:min(var(--max),calc(100% - 40px));margin-inline:auto}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,253,247,.96);backdrop-filter:blur(10px);border-bottom:1px solid rgba(232,223,207,.75)}.header-inner{min-height:82px;display:flex;align-items:center;gap:28px;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;min-width:245px;color:var(--brown)}.brand-mark{width:45px;height:48px;flex:0 0 auto}.brand-name{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;font-weight:700;letter-spacing:.13em;line-height:1.25}.brand-tagline{font-size:10px;letter-spacing:.04em;color:#796b5d;line-height:1.5;margin-top:4px}.main-nav{display:flex;align-items:center;gap:clamp(12px,1.7vw,24px);font-size:12px;white-space:nowrap}.main-nav a{color:#554535}.main-nav .current-menu-item>a,.main-nav a:hover{color:var(--green-dark)}.menu-toggle{display:none;border:1px solid var(--line);border-radius:50%;background:white;color:var(--brown);width:44px;height:44px;font-size:22px}.hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 80% 15%,#e7f0d8 0,transparent 28%),linear-gradient(100deg,#fcf8ee 0%,#fffdf7 52%,#f7edda 100%);min-height:480px;display:flex;align-items:center}.hero:before,.hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}.hero:before{width:320px;height:320px;background:rgba(225,237,206,.3);right:-80px;top:-130px}.hero:after{width:180px;height:180px;border:1px solid rgba(130,166,107,.28);right:38%;bottom:-130px}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:32px;padding-block:52px;position:relative;z-index:1}.hero-copy{padding:10px 0 22px}.eyebrow{display:inline-flex;align-items:center;gap:8px;color:var(--green-dark);font-size:13px;letter-spacing:.08em;font-weight:700}.eyebrow:before{content:"";width:24px;height:2px;background:#d5a45b}.hero-motto{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--brown);font-size:clamp(15px,1.8vw,20px);letter-spacing:.07em;margin:14px 0 20px}.hero h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--brown);font-size:clamp(31px,4vw,49px);line-height:1.5;letter-spacing:.035em;margin:0 0 16px}.hero p{max-width:560px;margin:0 0 25px;font-size:15px}.hero-art{min-height:340px;position:relative;display:flex;align-items:center;justify-content:center}.hero-art .photo-frame{width:100%;height:355px;overflow:hidden;border-radius:48% 48% 28px 28px / 40% 40% 28px 28px;background:linear-gradient(145deg,#e7f0d9,#f7e5c8);border:8px solid rgba(255,255,255,.65);box-shadow:var(--shadow);position:relative}.hero-art .photo-frame img{width:100%;height:100%;object-fit:cover}.hero-placeholder{width:100%;height:100%;display:grid;place-items:center;text-align:center;padding:28px;color:var(--green-dark);background:radial-gradient(circle at 70% 20%,#fff9dd 0 8%,transparent 9%),linear-gradient(140deg,#e4eed9,#fff0dc)}.hero-placeholder svg{width:78%;max-width:340px}.hero-note{position:absolute;right:-2px;top:16px;background:#fffdf0;border:1px solid #e7d5a7;border-radius:48% 52% 48% 20%;padding:14px 18px;color:var(--brown);font-family:"Yu Mincho",serif;font-size:13px;transform:rotate(5deg);box-shadow:var(--shadow)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;border:0;border-radius:999px;padding:13px 24px;font-weight:700;font-size:14px;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:var(--shadow);opacity:1}.btn-primary{background:var(--green);color:#fff}.btn-outline{border:1px solid var(--green);color:var(--green-dark);background:transparent}.section{padding:64px 0}.section-head{text-align:center;margin:0 auto 30px;max-width:720px}.section-kicker{font-size:12px;letter-spacing:.15em;color:var(--green-dark);font-weight:700;text-transform:uppercase}.section-title{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--brown);font-size:clamp(25px,3vw,34px);line-height:1.5;margin:6px 0 8px}.section-head p{font-size:14px;color:#76695b;margin:0}.category-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.category-card{position:relative;border-radius:var(--radius);padding:24px 18px 20px;text-align:center;min-height:232px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border:1px solid rgba(120,90,50,.06);transition:transform .2s,box-shadow .2s;color:var(--ink)}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);opacity:1}.category-card:nth-child(1){background:#fff4d8}.category-card:nth-child(2){background:#eaf4f7}.category-card:nth-child(3){background:#edf3e4}.category-card:nth-child(4){background:#fbeae6}.category-icon{width:66px;height:66px;margin-bottom:10px;color:var(--brown)}.category-card h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:18px;margin:0 0 7px;color:var(--brown);line-height:1.5}.category-card:nth-child(2) h3{color:#347c9c}.category-card:nth-child(3) h3{color:#527b45}.category-card:nth-child(4) h3{color:#b75d5b}.category-card p{font-size:12px;line-height:1.8;margin:0;color:#6f6255}.category-arrow{margin-top:auto;padding-top:8px;color:var(--brown);font-size:20px}.section-soft{background:var(--cream)}.posts-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.post-card{border:1px solid var(--line);border-radius:13px;overflow:hidden;background:#fff;box-shadow:0 3px 10px rgba(80,58,30,.03);transition:transform .2s}.post-card:hover{transform:translateY(-3px);opacity:1}.post-thumb{aspect-ratio:1.7;background:linear-gradient(135deg,#f6e9cc,#e6efdf);overflow:hidden}.post-thumb img{width:100%;height:100%;object-fit:cover}.post-thumb-placeholder{height:100%;display:grid;place-items:center;color:var(--green-dark);font-family:"Yu Mincho",serif;font-size:14px}.post-content{padding:14px}.post-cats{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px}.post-cats a{font-size:10px;font-weight:700;border-radius:99px;padding:2px 9px;background:var(--green-pale);color:var(--green-dark)}.post-card h3{font-size:15px;line-height:1.65;margin:0 0 8px;color:var(--brown)}.post-date{font-size:11px;color:#94887b}.section-link{text-align:right;margin-top:22px}.section-link a{font-size:13px;font-weight:700}.about-band{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:center}.about-visual{min-height:300px;border-radius:50% 45% 42% 40%;background:radial-gradient(circle at 30% 35%,#fff8e6 0 15%,transparent 16%),linear-gradient(135deg,#e2edd8,#fff0dc);display:grid;place-items:center;overflow:hidden}.about-visual img{width:100%;height:100%;object-fit:cover}.about-visual svg{width:70%;max-width:300px}.about-copy h2{font-family:"Yu Mincho",serif;font-size:30px;color:var(--brown);margin:0 0 8px}.about-copy .lead{color:var(--green-dark);font-weight:700;font-size:16px}.about-copy p{font-size:14px}.stats{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.stat{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 13px;font-size:12px}.stat strong{display:block;color:var(--brown);font-size:18px}.service-section{background:linear-gradient(180deg,#f1f5e8,#fffaf0)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;max-width:900px;margin:auto}.service-card{display:grid;grid-template-columns:115px 1fr;gap:18px;align-items:center;background:rgba(255,255,255,.8);border:1px solid #c8d8bb;border-radius:17px;padding:18px;color:var(--ink)}.service-card.blue{border-color:#b7dce6}.service-art{width:115px;height:100px;display:grid;place-items:center;border-radius:13px;background:#f7f0d9}.service-card.blue .service-art{background:#e7f3f7}.service-art svg{width:88%;height:88%}.service-card h3{font-family:"Yu Mincho",serif;color:var(--green-dark);font-size:21px;margin:0 0 4px}.service-card.blue h3{color:#3683a2}.service-card p{font-size:12px;line-height:1.7;margin:0 0 10px}.service-card .btn{font-size:12px;padding:8px 14px}.cta-band{padding:34px;background:#f8edcf;border-radius:22px;text-align:center;margin-top:42px}.cta-band h3{font-family:"Yu Mincho",serif;color:var(--brown);font-size:23px;margin:0 0 7px}.cta-band p{font-size:14px;margin:0 0 18px}.site-footer{background:#f3eddf;border-top:1px solid var(--line);padding:42px 0 20px}.footer-top{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:35px}.footer-about p{font-size:12px;color:#76695b}.footer-heading{font-weight:700;color:var(--brown);margin:0 0 10px}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:5px 0;font-size:13px}.footer-bottom{border-top:1px solid #dfd4c2;margin-top:28px;padding-top:16px;display:flex;justify-content:space-between;gap:20px;font-size:11px;color:#887b6d}.page-hero{background:var(--cream);padding:50px 0 38px;text-align:center}.page-hero h1{font-family:"Yu Mincho",serif;color:var(--brown);font-size:clamp(28px,4vw,40px);margin:0 0 8px}.breadcrumbs{font-size:12px;color:#8a7d6f;margin-bottom:10px}.content-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:42px;padding:46px 0 70px}.entry-content{min-width:0}.entry-content h2,.entry-content h3{color:var(--brown);font-family:"Yu Mincho",serif;line-height:1.55}.entry-content h2{font-size:27px;border-bottom:2px solid #dbe6d1;padding-bottom:9px;margin-top:1.8em}.entry-content h3{font-size:21px;margin-top:1.5em}.entry-content p,.entry-content li{line-height:2}.entry-content blockquote{border-left:4px solid var(--green);background:var(--cream);padding:15px 20px;margin:25px 0}.entry-content img{border-radius:12px}.entry-title{font-family:"Yu Mincho",serif;color:var(--brown);font-size:clamp(27px,3.4vw,38px);line-height:1.5;margin:0 0 12px}.entry-meta{font-size:12px;color:#8b7c6e;margin-bottom:22px}.sidebar-box{background:var(--cream);padding:20px;border-radius:14px;margin-bottom:20px}.sidebar-box h3{font-family:"Yu Mincho",serif;color:var(--brown);margin:0 0 10px;font-size:18px}.sidebar-box ul{list-style:none;margin:0;padding:0}.sidebar-box li{padding:7px 0;border-bottom:1px solid var(--line);font-size:13px}.search-form{display:flex;gap:6px}.search-form input[type=search]{width:100%;min-width:0;border:1px solid var(--line);border-radius:8px;padding:9px;background:#fff}.search-form button{border:0;border-radius:8px;background:var(--green);color:#fff;padding:0 12px}.pagination{display:flex;gap:8px;justify-content:center;margin-top:30px}.pagination .page-numbers{padding:7px 13px;border-radius:8px;background:var(--cream)}.pagination .current{background:var(--green);color:white}.post-navigation{display:flex;justify-content:space-between;gap:20px;margin-top:35px;padding-top:20px;border-top:1px solid var(--line);font-size:13px}.notice{border:1px solid #e8d8a6;background:#fff9e5;border-radius:12px;padding:16px 18px;font-size:13px}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alignwide{max-width:1000px;margin-inline:auto}.alignfull{width:100%;max-width:none}.wp-block-button__link{background:var(--green);border-radius:99px;color:white;padding:12px 22px}.wp-block-quote{border-left:4px solid var(--green);padding-left:20px}.wp-block-image img{border-radius:12px}.wp-block-separator{border-color:var(--line)}
@media(max-width:1000px){.header-inner{gap:14px}.brand{min-width:unset}.brand-name{font-size:22px}.main-nav{gap:10px;font-size:11px}.hero-grid{gap:20px}.category-grid,.posts-grid{grid-template-columns:repeat(2,1fr)}.category-card{min-height:210px}.footer-top{grid-template-columns:1fr 1fr}.footer-about{grid-column:1/-1}}
@media(max-width:760px){.container{width:min(100% - 28px,var(--max))}.header-inner{min-height:72px}.brand-mark{width:39px;height:42px}.brand-name{font-size:21px}.brand-tagline{font-size:9px}.menu-toggle{display:block;flex:0 0 auto}.main-nav{display:none;position:absolute;top:100%;left:0;right:0;padding:12px 20px 20px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:0;white-space:normal}.main-nav.is-open{display:flex}.main-nav a{display:block;padding:10px 4px;border-bottom:1px solid #f0e8dc;font-size:14px}.hero{min-height:unset}.hero-grid{grid-template-columns:1fr;gap:14px;padding-block:36px 30px}.hero-copy{padding:0}.hero-motto{margin:12px 0}.hero h1{font-size:clamp(29px,8vw,40px)}.hero p{font-size:14px}.hero-art{min-height:250px}.hero-art .photo-frame{height:260px;max-width:520px}.hero-note{right:0;top:0}.section{padding:45px 0}.section-head{margin-bottom:23px}.category-grid{gap:12px}.category-card{padding:18px 12px;min-height:210px}.category-card h3{font-size:16px}.category-card p{font-size:11px}.posts-grid{gap:12px}.post-content{padding:11px}.post-card h3{font-size:13px}.post-cats a{font-size:9px}.about-band{grid-template-columns:1fr;gap:24px}.about-visual{min-height:230px;max-height:300px}.about-copy h2{font-size:27px}.service-grid{grid-template-columns:1fr}.service-card{grid-template-columns:95px 1fr;padding:13px;gap:13px}.service-art{width:95px;height:95px}.cta-band{padding:25px 18px}.footer-top{grid-template-columns:1fr;gap:22px}.footer-about{grid-column:auto}.footer-bottom{flex-direction:column;gap:5px}.content-layout{grid-template-columns:1fr;gap:28px;padding:30px 0 50px}.sidebar{display:grid;grid-template-columns:1fr 1fr;gap:12px}.sidebar-box{margin:0;padding:15px}.page-hero{padding:35px 0 28px}}
@media(max-width:420px){.category-grid,.posts-grid{grid-template-columns:1fr 1fr}.category-card{min-height:205px}.category-icon{width:54px;height:54px}.post-thumb{aspect-ratio:1.4}.post-card h3{font-size:12px}.service-card{grid-template-columns:78px 1fr}.service-art{width:78px;height:85px}.service-card h3{font-size:18px}}

/* Botanical hand-drawn finishing layer — v1.1 */
:root{--cream:#fbf7ed;--paper:#fffdf7;--brown:#75451f;--ink:#51463a;--green:#78996b;--green-dark:#47784d;--orange:#e8b16a;--line:#e8dfcf}
body{background-color:var(--paper);background-image:radial-gradient(rgba(201,176,126,.08) .65px,transparent .65px);background-size:7px 7px}
.site-header{background:rgba(255,253,247,.96)}
.brand{gap:13px}.brand-name{letter-spacing:.16em}.brand-tagline{letter-spacing:.055em}
.hero{background:linear-gradient(105deg,rgba(251,247,237,.98) 0%,rgba(255,253,247,.94) 49%,rgba(248,239,219,.76) 100%)}
.hero-copy{position:relative}.hero-copy:before{content:"";position:absolute;left:-20px;top:8px;width:11px;height:11px;border-radius:50%;background:#d9df8c;box-shadow:0 31px 0 #f5edcf,0 62px 0 #f4d980;opacity:.9}
.hero-motto{position:relative;display:table;padding:8px 15px 13px;margin:12px 0 20px;transform:rotate(-1deg)}
.hero-motto:after{content:"";position:absolute;left:0;right:0;bottom:0;height:15px;border-bottom:1.5px solid var(--orange);border-radius:0 0 55% 45%;transform:rotate(-1deg)}
.hero-art:after{content:"";position:absolute;right:4%;bottom:1px;width:35px;height:45px;opacity:.85;background:linear-gradient(135deg,transparent 45%,#8db47c 46% 51%,transparent 52%);pointer-events:none}
.section-head{position:relative}.section-head:after{content:"";display:block;width:28px;height:28px;margin:13px auto 0;background:linear-gradient(135deg,transparent 42%,#87a978 43% 48%,transparent 49%),radial-gradient(ellipse at 35% 35%,#c5d8a6 0 28%,transparent 30%),radial-gradient(ellipse at 70% 60%,#a9c997 0 25%,transparent 27%);opacity:.78;transform:rotate(-12deg)}
.category-card{overflow:hidden}.category-card:before{content:"";position:absolute;top:13px;right:14px;width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.72)}
.category-card:nth-child(1){background:linear-gradient(145deg,#fff5dc,#fff1d0)}.category-card:nth-child(2){background:linear-gradient(145deg,#eef7f8,#e7f2f6)}.category-card:nth-child(3){background:linear-gradient(145deg,#f0f5e7,#eaf1df)}.category-card:nth-child(4){background:linear-gradient(145deg,#fdf0ec,#f9e5e1)}
.post-card{box-shadow:0 2px 0 rgba(116,81,42,.04);border-color:rgba(133,111,79,.18)}.post-thumb-placeholder{background:radial-gradient(circle at 20% 25%,rgba(255,255,255,.8) 0 4px,transparent 5px),linear-gradient(135deg,#f6e9cc,#e6efdf);padding:12px;text-align:center}
.about-band{position:relative}.about-copy .lead{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;line-height:1.9}.stats .stat{background:rgba(255,255,255,.72)}
.cta-band{position:relative;background:linear-gradient(110deg,#f8edcf,#f5f0dc)}.cta-band:before,.cta-band:after{content:"";position:absolute;width:22px;height:22px;border-radius:70% 0 70% 0;background:#c4d5a5;opacity:.65;top:18px}.cta-band:before{left:22px;transform:rotate(-28deg)}.cta-band:after{right:22px;transform:rotate(35deg)}
.entry-content blockquote{border-left:0;border-radius:4px 18px 18px 18px;position:relative;padding:19px 22px 19px 27px;background:#f7f3e7;color:#66523d}.entry-content blockquote:before{content:"“";font-family:Georgia,serif;font-size:35px;color:#b8c99b;position:absolute;left:8px;top:0}
/* Small, reusable hand-drawn speech notes for page builders and custom HTML blocks */
.handnote{display:inline-block;position:relative;padding:12px 17px;border:1px solid #d9c99e;border-radius:48% 52% 46% 22%;background:#fff9e9;color:var(--brown);font-family:"Yu Mincho",serif;font-size:13px;line-height:1.7;transform:rotate(-1deg)}
.handnote--blue{border-color:#b8dce4;background:#f2fafb}.handnote--green{border-color:#b8cda8;background:#f5f8ee}
.botanical-divider{height:22px;margin:22px auto;max-width:110px;position:relative}.botanical-divider:before{content:"";position:absolute;left:50%;top:2px;height:18px;border-left:1px solid #78996b;transform:rotate(28deg)}.botanical-divider:after{content:"";position:absolute;left:calc(50% - 14px);top:2px;width:15px;height:9px;border-radius:100% 0 100% 0;background:#b8cda0;transform:rotate(18deg);box-shadow:15px 8px 0 -1px #91b47d}
@media(max-width:760px){.hero-copy:before{left:-5px;top:0;width:7px;height:7px;box-shadow:0 22px 0 #f5edcf,0 44px 0 #f4d980}.hero-motto{margin-left:4px}.section-head:after{margin-top:9px}.cta-band:before{left:10px}.cta-band:after{right:10px}}

/* v1.2: approved seed punctuation and brand-copy corrections */
.brand-tagline{display:inline-block;position:relative}
.brand-seed{display:inline-block;position:relative;width:8px;height:5px;margin-left:5px;vertical-align:middle;border-radius:90% 35% 90% 35%;background:#d49a4e;transform:rotate(-32deg);top:-1px}
.brand-seed:after{content:"";position:absolute;width:3px;height:1px;background:#f6d59b;left:1px;top:1px;border-radius:2px;transform:rotate(-5deg)}
.brand-tagline{font-size:10px}
@media(max-width:760px){.brand-seed{width:7px;height:4px;margin-left:4px}}


/* v1.3 responsive and accessibility refinements */
.brand:focus-visible,.main-nav a:focus-visible,.btn:focus-visible,.category-card:focus-visible,.post-card:focus-visible,.menu-toggle:focus-visible{outline:3px solid #d6a04f;outline-offset:3px}
.menu-toggle{cursor:pointer}
.hero-note{z-index:2}
.post-card{display:block;color:inherit}
.entry-content a{text-decoration:underline;text-underline-offset:3px}
.entry-content table{width:100%;border-collapse:collapse}
.entry-content th,.entry-content td{padding:10px;border:1px solid var(--line)}
.entry-content th{background:var(--cream)}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}


/* v1.4: use the approved hand-drawn logo artwork as the default brand mark */
.brand-image{display:block;min-width:0;width:min(390px,42vw);flex:0 1 390px;line-height:0}
.brand-image img{display:block;width:100%;height:auto;max-height:68px;object-fit:contain;object-position:left center}
.footer-about .brand-image{width:min(360px,100%);margin-bottom:12px}
.custom-logo-link{display:block;line-height:0;flex:0 1 360px}
.custom-logo-link img{max-height:68px;width:auto;max-width:100%}
@media(max-width:1000px){.brand-image{width:min(330px,38vw);flex-basis:330px}.brand-image img{max-height:60px}}
@media(max-width:760px){.brand-image{width:min(320px,calc(100vw - 95px));flex:0 1 auto}.brand-image img{max-height:55px}.custom-logo-link img{max-height:54px}}

/* v1.5 — visual alignment with the user-approved homepage reference */
.hero{min-height:370px;background:linear-gradient(90deg,#fcf8ee 0%,rgba(255,253,247,.94) 43%,rgba(255,253,247,.08) 100%)}
.hero-grid{grid-template-columns:1.04fr .96fr;gap:8px;padding-block:22px;align-items:center}
.hero-copy{padding:0 0 8px}.eyebrow{display:none}.hero h1{font-size:clamp(29px,3.2vw,40px);line-height:1.45;margin-bottom:10px}.hero-motto{font-size:clamp(15px,1.6vw,18px);margin:6px 0 17px}.hero p{font-size:14px;line-height:1.85;margin-bottom:14px}.hero-art{min-height:350px;align-self:stretch;align-items:stretch}.hero-art .photo-frame{height:100%;min-height:350px;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:hidden}.hero-art .photo-frame img{object-fit:cover;object-position:center center;border-radius:42% 0 0 10% / 28% 0 0 18%;mix-blend-mode:multiply}.hero-note{top:12px;right:2px;background:#fffdf0e8;box-shadow:none;padding:9px 13px;font-size:12px}.section{padding:36px 0}.section-head{margin-bottom:22px}.section-kicker{display:none}.section-title{font-size:clamp(23px,2.4vw,29px);margin:0 0 4px}.section-head:after{display:none}.category-grid,.posts-grid{gap:16px}.category-card{min-height:205px;padding:12px 12px 10px;border:0;border-radius:13px}.category-icon.reference-category-icon{width:100%;height:78px;object-fit:contain;mix-blend-mode:multiply;margin-bottom:4px}.category-card h3{font-size:17px}.category-card p{font-size:11px}.post-thumb{aspect-ratio:2.2}.post-content{padding:10px 12px}.post-card h3{font-size:13px}.about-band{grid-template-columns:.78fr 1.22fr;gap:32px}.about-visual{min-height:210px;max-height:250px;border-radius:50%;background:transparent}.about-visual img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:50%;mix-blend-mode:multiply}.about-visual svg{display:none}.stats{display:none}.service-section{background:linear-gradient(180deg,#f6f5e9,#f4f7e8);border-radius:50% 50% 0 0 / 3% 3% 0 0}.service-grid{gap:14px}.service-card{border-radius:15px;background:#fffdf7e8;border:1px solid #b8cda8;padding:10px 15px;gap:12px}.service-card.blue{border-color:#b8dce4}.service-art{width:105px;height:76px;background:transparent}.service-art img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.service-card h3{font-size:18px}.service-card p{font-size:12px;margin:0}
@media(max-width:1000px){.hero{min-height:unset}.hero-grid{gap:12px}.hero-art,.hero-art .photo-frame{min-height:300px}.category-grid,.posts-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.category-card h3{font-size:14px}.category-card p{font-size:10px}.post-card h3{font-size:12px}}
@media(max-width:760px){.hero-grid{grid-template-columns:1fr;padding-block:24px 0;gap:0}.hero-copy{padding:0 0 10px}.hero h1{font-size:clamp(27px,7vw,36px)}.hero-art{min-height:220px;max-height:260px}.hero-art .photo-frame{min-height:220px;height:240px}.hero-art .photo-frame img{border-radius:45% 0 0 0 / 30% 0 0 0}.hero-note{right:8px;top:4px}.section{padding:30px 0}.category-grid,.posts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.category-card{min-height:190px;padding:12px 8px}.category-icon.reference-category-icon{height:65px}.category-card h3{font-size:14px}.category-card p{font-size:10px}.post-thumb{aspect-ratio:1.9}.about-band{grid-template-columns:1fr;gap:18px}.about-visual{min-height:210px;max-height:230px;max-width:360px;width:100%;margin:auto}.service-card{grid-template-columns:90px 1fr}.service-art{width:90px;height:70px}.service-card h3{font-size:16px}}

/* v1.6: service cards explain the family benefit before the click */
.service-card h3{font-size:19px;line-height:1.5}.service-card .service-lead{font-size:13px;font-weight:700;color:var(--brown);line-height:1.7;margin:3px 0 7px}.service-card p:not(.service-lead){font-size:12px;line-height:1.8}.service-card .btn{white-space:normal;text-align:center;line-height:1.5}
@media(max-width:760px){.service-card h3{font-size:17px}.service-card .service-lead{font-size:12px}.service-card p:not(.service-lead){font-size:11px}}


/* v1.7: reference-comp layout, matching the approved homepage mockup */
.hero-banner{position:relative;overflow:hidden;background:linear-gradient(100deg,#fcf8ee 0%,#fffdf7 48%,#f5f0df 100%);}
.hero-banner:before{content:"";position:absolute;right:-70px;top:-100px;width:290px;height:290px;border-radius:50%;background:#edf0d9;opacity:.75}
.hero-banner .hero-grid{position:relative;z-index:1;min-height:390px;grid-template-columns:1.08fr .92fr;gap:20px;padding-block:22px 28px}
.hero-banner .hero-copy{padding:0 0 8px 10px;max-width:620px}
.hero-banner .hero-motto{font-size:clamp(15px,1.45vw,19px);color:#6e8d5d;margin:5px 0 20px;padding:6px 15px 12px 0;transform:rotate(-1deg);font-weight:600}
.hero-banner .hero h1,.hero-banner h1{font-size:clamp(30px,3.15vw,43px);line-height:1.45;color:#80502f;margin:0 0 13px;font-weight:600;letter-spacing:.04em}
.hero-banner .hero-copy>p:not(.hero-motto){font-size:14px;line-height:1.95;max-width:570px;color:#5c5144;margin-bottom:18px}
.hero-banner .hero-art{min-height:360px;align-items:stretch;position:relative}
.hero-banner .photo-frame{height:100%;min-height:360px;border:0;border-radius:45% 4% 8% 12% / 26% 5% 8% 15%;overflow:hidden;box-shadow:none;background:transparent}
.hero-banner .photo-frame img{width:100%;height:100%;object-fit:cover;object-position:center;border-radius:inherit;mix-blend-mode:normal}
.hero-banner .hero-note{top:16px;right:0;background:#fffdf0e8;border:1px solid #e8d9a7;border-radius:50%;padding:16px 18px;color:#8a6b47;line-height:1.8}
.hint-section{background:#fffdf8;padding-top:38px;padding-bottom:40px}
.hint-section .section-head{margin-bottom:24px}
.hint-section .section-title{color:#80502f;font-size:clamp(23px,2.4vw,31px);letter-spacing:.04em}
.action-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.action-card{display:flex;flex-direction:column;align-items:center;text-align:center;min-width:0;padding:17px 15px 18px;border-radius:15px;text-decoration:none;color:#554b3e;border:1px solid rgba(130,110,80,.08);transition:transform .2s,box-shadow .2s;box-shadow:0 5px 16px rgba(92,73,42,.04)}
.action-card:hover{transform:translateY(-3px);box-shadow:0 9px 22px rgba(92,73,42,.09)}
.action-card img{width:100%;max-width:180px;height:108px;object-fit:contain;margin:0 auto 9px}
.action-card h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:17px;line-height:1.5;margin:0 0 7px;color:#594936}
.action-card p{font-size:12px;line-height:1.8;min-height:64px;margin:0 0 13px}
.action-button{display:inline-block;border-radius:24px;padding:7px 14px;font-size:11px;color:#fff;background:#7d9c6e;margin-top:auto;line-height:1.5}
.action-pickup{background:#fff5d9}.action-pickup .action-button{background:#e5c66a;color:#5c4b2c}
.action-consult{background:#eaf4f7}.action-consult .action-button{background:#72abc0}
.action-nobisapo{background:#f9e9e3}.action-nobisapo .action-button{background:#d98c7c}
.category-grid{gap:15px}.category-card{box-shadow:0 4px 14px rgba(95,77,49,.04)}
.posts-grid{gap:18px}.post-card{border-radius:12px;overflow:hidden;background:#fff;border:1px solid rgba(133,111,79,.16)}
.service-section{background:linear-gradient(180deg,#f1f4e7 0%,#f8f4e8 100%);}
.cta-band{border-radius:18px;background:linear-gradient(105deg,#f4f1dd,#fff9ed,#eaf1e2);border:1px solid rgba(165,182,133,.25)}
@media(max-width:1000px){.action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.action-card p{min-height:unset}.hero-banner .hero-grid{gap:12px}}
@media(max-width:760px){.hero-banner .hero-grid{grid-template-columns:1fr;padding-block:25px 0;gap:0}.hero-banner .hero-copy{padding:0 0 8px}.hero-banner h1{font-size:clamp(27px,7vw,36px)}.hero-banner .hero-art{min-height:220px;max-height:250px}.hero-banner .photo-frame{min-height:220px;height:240px}.hero-banner .hero-note{right:8px;top:4px}.action-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.action-card{padding:12px 9px 14px}.action-card img{height:78px}.action-card h3{font-size:14px}.action-card p{font-size:10px;line-height:1.7}.action-button{font-size:10px;padding:6px 10px}.hint-section{padding-block:28px}}

/* Approved visual banners: preserve the exact artwork, typography and warm, supportive mood. */
.approved-image-banner{position:relative;width:100%;max-width:1100px;margin:0 auto;overflow:hidden;line-height:0}
.approved-image-banner img{display:block;width:100%;height:auto;max-width:none;border:0;border-radius:0;box-shadow:none}
.hero-approved{max-width:1100px;background:#fffdf7}
.profile-approved{max-width:1040px;margin:8px auto 0}
.nobisapo-approved{max-width:1100px;margin:8px auto 0}
.closing-approved{max-width:1100px;margin:0 auto 10px}
.banner-hotspot{position:absolute;inset:0;display:block;background:transparent}
.banner-hotspot:focus-visible{outline:3px solid #769765;outline-offset:-5px}
.service-section{padding-top:32px}
.service-section .section-head{margin-bottom:20px}
.service-section .section-title{font-size:clamp(24px,2.7vw,32px)}
@media(max-width:760px){.approved-image-banner{width:100%;margin-inline:auto}.profile-approved,.nobisapo-approved{margin-top:4px}.service-section{padding-top:28px}}

/* Action paths: make key next steps visible without changing the approved artwork. */
.main-nav a[href*="contact"],.main-nav .nav-contact>a{background:#d9856b!important;color:#fff!important;padding:9px 15px;border-radius:999px;font-weight:700;box-shadow:0 2px 8px rgba(161,91,69,.12)}
.main-nav a[href*="online-consultation"],.main-nav a[href*="nobisapo"]{font-weight:600}
.service-card-link{display:grid;color:inherit;transition:transform .2s,box-shadow .2s}
.service-card-link:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(78,91,58,.1);opacity:1}
.service-card-link:focus-visible{outline:3px solid #d9856b;outline-offset:3px}
.service-card-link .btn{width:max-content;max-width:100%}
.mobile-action-bar{display:none}
@media(max-width:760px){
 body{padding-bottom:66px}
 .mobile-action-bar{position:fixed;display:grid;grid-template-columns:1fr 1fr;gap:9px;left:0;right:0;bottom:0;z-index:60;padding:9px 12px calc(9px + env(safe-area-inset-bottom));background:rgba(255,253,247,.97);border-top:1px solid #e9e0d2;box-shadow:0 -4px 18px rgba(79,67,47,.08);backdrop-filter:blur(10px)}
 .mobile-action-bar a{display:flex;align-items:center;justify-content:center;min-height:43px;border-radius:999px;font-size:13px;font-weight:700;text-align:center}
 .mobile-action-consult{background:#d9856b;color:#fff}
 .mobile-action-nobisapo{background:#e7efdf;color:#536b4d;border:1px solid #b8cda8}
 .mobile-action-bar a:focus-visible{outline:3px solid #536b4d;outline-offset:2px}
 .main-nav a[href*="contact"]{border-radius:10px;text-align:center;margin-top:6px}
}


/* Final visual consistency pass: lighter palette, one type system, proportional approved banners. */
:root{
 --paper:#fffdf8;
 --cream:#fff8ec;
 --ink:#51483e;
 --brown:#6b5543;
 --green:#8fae79;
 --green-dark:#5d7b4e;
 --green-pale:#eef4e8;
 --line:#eee4d5;
 --shadow:0 8px 24px rgba(105,85,57,.08);
}
body{background-color:var(--paper);background-image:none;color:var(--ink);font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:400}
.brand-name,.hero h1,.hero-motto,.section-title,.category-card h3,.about-copy h2,.about-copy .lead,.service-card h3,.cta-band h3,.handnote,.post-thumb-placeholder,.entry-content h1,.entry-content h2,.entry-content h3,.page-hero h1{font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
.brand-name{font-weight:700;letter-spacing:.08em}
.hero{background:linear-gradient(110deg,#fffaf0 0%,#fffdf8 58%,#f9f1e3 100%)}
.section-soft{background:#fff9ef}
.service-section{background:linear-gradient(180deg,#f8f8ef 0%,#fffaf2 100%)}
.section-title{font-weight:700;letter-spacing:.025em}
.category-grid{gap:18px;align-items:stretch}
.category-card{min-width:0;min-height:0;height:100%;padding:20px 16px 18px;border:1px solid rgba(145,126,99,.12);box-shadow:0 3px 12px rgba(105,85,57,.035);border-radius:16px}
.category-card:nth-child(1){background:#fff7e6}
.category-card:nth-child(2){background:#f0f7f8}
.category-card:nth-child(3){background:#f1f6e9}
.category-card:nth-child(4){background:#fff0eb}
.category-icon.reference-category-icon{display:block;width:100%;height:90px;object-fit:contain;object-position:center;margin:0 auto 10px;mix-blend-mode:normal}
.category-card h3,.category-card:nth-child(n) h3{font-size:16px;line-height:1.55;color:#665443;font-weight:700;overflow-wrap:anywhere}
.category-card p{font-size:12px;line-height:1.75;color:#766b5f}
.approved-image-banner{width:calc(100% - 40px);max-width:1100px;height:auto;margin-inline:auto;overflow:hidden;border-radius:0}
.approved-image-banner img{width:100%;height:auto;object-fit:contain;object-position:center;border-radius:0}
.hero-approved{max-width:1100px}
.nobisapo-approved{max-width:1000px;margin:20px auto 0}
.profile-approved{max-width:1000px;margin:20px auto 0}
.closing-approved{max-width:1000px;margin:28px auto 16px}
.service-grid{align-items:stretch}
.service-card{height:100%;background:#fffefa;border-color:#d9e3cf;box-shadow:0 4px 14px rgba(105,85,57,.045)}
.service-card.blue{border-color:#d7e7eb}
.main-nav{font-size:12px;gap:clamp(10px,1.25vw,18px)}
.main-nav a{font-weight:500}
.main-nav .nav-contact,.main-nav a[href*="contact"]{background:#d9856b;color:#fff}
.mobile-action-bar a{font-family:"Noto Sans JP","Yu Gothic",sans-serif;font-weight:700}
@media(max-width:1000px){
 .header-inner{gap:12px}.main-nav{gap:9px;font-size:10px}
 .category-grid{gap:12px}.category-card{padding:16px 10px}
 .category-icon.reference-category-icon{height:78px}
 .category-card h3,.category-card:nth-child(n) h3{font-size:14px}
}
@media(max-width:760px){
 .approved-image-banner{width:100%;max-width:100%;border-radius:0}
 .nobisapo-approved,.profile-approved{margin-top:14px}
 .closing-approved{margin-top:20px;margin-bottom:8px}
 .category-grid{gap:10px}
 .category-card{padding:12px 9px 13px;min-height:0;border-radius:13px}
 .category-icon.reference-category-icon{height:68px;margin-bottom:7px}
 .category-card h3,.category-card:nth-child(n) h3{font-size:13px;line-height:1.5}
 .category-card p{font-size:10px;line-height:1.7}
 .section-title{font-size:clamp(22px,6vw,28px)}
}
@media(max-width:420px){
 .category-icon.reference-category-icon{height:60px}
 .category-card h3,.category-card:nth-child(n) h3{font-size:12px}
 .category-card p{font-size:10px}
}


/* Homepage repair: true aspect ratios, corrected hero copy, consistent illustration sizing. */
.hero-home{background:linear-gradient(115deg,#fffaf0 0%,#fffdf8 56%,#f6f0e2 100%);padding:24px 0 30px;}
.hero-home-inner{display:grid;grid-template-columns:1.02fr .98fr;align-items:center;gap:28px;min-height:360px;}
.hero-home-copy{padding:20px 0 22px;}
.hero-home-eyebrow{display:inline-block;margin:0 0 12px;padding:5px 12px;border-radius:999px;background:#edf3e5;color:#5d7b4e;font-size:13px;font-weight:700;letter-spacing:.04em;}
.hero-home-copy h1{margin:0 0 16px;color:#6b5543;font-size:clamp(28px,3.2vw,43px);line-height:1.55;letter-spacing:.02em;font-weight:700;}
.hero-home-subtitle{margin:0 0 22px;color:#716253;font-size:16px;line-height:1.8;}
.hero-home-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;}
.hero-home-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 22px;border-radius:999px;background:#8fae79;color:white;font-size:14px;font-weight:700;}
.hero-home-textlink{font-size:13px;font-weight:700;color:#6b7f58;}
.hero-home-photo{width:100%;aspect-ratio:524/378;min-height:260px;border-radius:42% 7% 7% 7% / 30% 7% 7% 7%;background-image:url('assets/images/hero-banner-approved.jpg');background-size:205% auto;background-position:right center;background-repeat:no-repeat;box-shadow:0 8px 24px rgba(105,85,57,.08);}
/* Use contained art, never stretch the four category illustrations. */
.category-card{overflow:hidden;}
.category-icon.reference-category-icon{width:100%;height:90px;max-width:100%;object-fit:contain;object-position:center;flex:0 0 90px;}
.approved-image-banner{height:auto!important;}
.approved-image-banner img{display:block!important;height:auto!important;width:100%!important;object-fit:contain!important;}
.hero-approved{display:none!important;}
@media(max-width:760px){.hero-home{padding:18px 0 0}.hero-home-inner{grid-template-columns:1fr;gap:8px;min-height:0}.hero-home-copy{padding:4px 0 12px}.hero-home-copy h1{font-size:clamp(26px,7vw,34px)}.hero-home-subtitle{font-size:14px;margin-bottom:16px}.hero-home-photo{aspect-ratio:524/300;min-height:0;background-size:205% auto;border-radius:26px 6px 6px 6px}.category-icon.reference-category-icon{height:68px;flex-basis:68px}.approved-image-banner{width:100%;max-width:100%;margin-inline:auto}.nobisapo-approved,.profile-approved{max-width:100%;margin-top:14px}.closing-approved{max-width:100%;margin-top:20px}}

/* HAGUKUMI unified service lineup and restored hero image */
.hero-image-section{padding:16px 0 8px;background:#fffdf8}
.hero-image-wrap{width:calc(100% - 40px);max-width:1240px;margin:0 auto;overflow:hidden;border-radius:18px}
.hero-image{display:block;width:100%;height:auto;aspect-ratio:1774/365;object-fit:cover;object-position:center}
.service-lineup-section{padding-top:38px;padding-bottom:38px}
.service-lineup-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.lineup-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid #eee4d6;border-radius:18px;background:#fffdf9;text-decoration:none!important;color:#6b5542;box-shadow:0 5px 18px rgba(111,89,61,.05);transition:transform .18s ease,box-shadow .18s ease}
.lineup-card:hover{transform:translateY(-3px);box-shadow:0 9px 24px rgba(111,89,61,.1)}
.lineup-art{height:132px;display:flex;align-items:center;justify-content:center;padding:12px 18px 0;background:linear-gradient(135deg,#fff8f1,#fbf9ef)}
.lineup-art img{display:block;width:100%;height:100%;max-width:180px;object-fit:contain;mix-blend-mode:multiply}
.lineup-card-body{display:flex;flex:1;flex-direction:column;align-items:flex-start;padding:14px 17px 18px;position:relative}
.lineup-title{font-size:20px;font-weight:700;line-height:1.45;color:#6d5744;letter-spacing:.01em}
.lineup-subtitle{display:block;margin-top:4px;color:#7d9567;font-size:12px;font-weight:700;line-height:1.5}
.lineup-description{display:block;margin-top:10px;padding-bottom:20px;font-size:12px;line-height:1.9;color:#74685b}
.lineup-arrow{position:absolute;right:14px;bottom:12px;display:flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;background:#91ad7c;color:#fff;font-size:16px}
.lineup-consult .lineup-art{background:linear-gradient(135deg,#f4f8ed,#fffdf7)}.lineup-consult .lineup-subtitle{color:#6f966b}.lineup-consult .lineup-arrow{background:#83a878}
.lineup-class .lineup-art{background:linear-gradient(135deg,#eff7fa,#fffdf8)}.lineup-class .lineup-subtitle{color:#5c91b8}.lineup-class .lineup-arrow{background:#6b9bc0}
.lineup-recommend .lineup-art{background:linear-gradient(135deg,#fff7e7,#fffdf8)}.lineup-recommend .lineup-subtitle{color:#b9853c}.lineup-recommend .lineup-arrow{background:#e6b15d}
.recommended-section{padding:30px 0;background:linear-gradient(110deg,#f7f7ed,#fff8f0)}
.recommended-inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.recommended-inner .section-title{margin-bottom:6px}.recommended-inner p:not(.section-kicker){margin:0;color:#75685b;font-size:14px;line-height:1.8}
.recommended-link{flex:0 0 auto;padding:11px 18px;border:1px solid #d7dfca;border-radius:999px;color:#6d855b;text-decoration:none;font-size:13px;font-weight:700;background:#fffdf7}
@media(max-width:900px){.service-lineup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.lineup-art{height:120px}.lineup-title{font-size:18px}}
@media(max-width:760px){.hero-image-section{padding:8px 0 4px}.hero-image-wrap{width:calc(100% - 20px);border-radius:12px}.hero-image{aspect-ratio:1.35;object-fit:cover;object-position:center}.service-lineup-section{padding-top:28px;padding-bottom:28px}.service-lineup-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lineup-card{border-radius:14px}.lineup-art{height:92px;padding:8px 12px 0}.lineup-card-body{padding:10px 11px 16px}.lineup-title{font-size:15px}.lineup-subtitle{font-size:10px}.lineup-description{font-size:10px;line-height:1.75;margin-top:7px;padding-bottom:20px}.lineup-arrow{width:23px;height:23px;right:9px;bottom:8px}.recommended-inner{display:block}.recommended-link{display:inline-flex;margin-top:16px}.profile-approved{margin-top:10px}}
@media(min-width:761px){body.home .site-header .site-branding,body.home .site-header .custom-logo-link{display:none}}

/* v6: use the approved composite artwork as complete, undistorted banners */
.service-banner-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;align-items:start}
.service-banner{display:block;min-width:0;line-height:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;transition:transform .18s ease,opacity .18s ease}
.service-banner:hover{transform:translateY(-2px);opacity:.9}
.service-banner img{display:block;width:100%;height:auto;max-width:none;object-fit:contain;border:0;border-radius:0;box-shadow:none}
.profile-approved{max-width:1100px;width:calc(100% - 40px);margin:22px auto 0}
.profile-approved .banner-hotspot{inset:0}
@media(max-width:900px){.service-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
@media(max-width:760px){.service-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.service-banner{border-radius:0}.profile-approved{width:100%;margin-top:12px}}

/* v7 refinements: restore the two key action banners and unify homepage rhythm. */
.quick-action-section{padding:22px 0 28px;background:#fffdf8}
.quick-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1000px;margin:0 auto}
.quick-action-card{display:flex;align-items:center;gap:18px;min-width:0;padding:16px 20px;border-radius:18px;border:1px solid #e7dfd1;background:#fffaf0;color:#655441;box-shadow:0 4px 15px rgba(90,72,48,.04);transition:transform .18s ease,box-shadow .18s ease}
.quick-action-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(90,72,48,.09);opacity:1}
.quick-action-card>img{width:112px;height:86px;flex:0 0 112px;object-fit:contain}
.quick-action-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;line-height:1.65}
.quick-action-copy strong{font-size:clamp(15px,1.7vw,19px);font-weight:600;color:#655441}
.quick-action-copy span{font-size:12px;color:#76695b}
.quick-action-copy em{font-size:12px;font-style:normal;font-weight:600;color:#779267;margin-top:3px}
.quick-action-nobisapo{background:#fff7f2;border-color:#efdbd2}.quick-action-consult{background:#f5fafb;border-color:#d8e8eb}
/* Keep the completed service artworks as a balanced 2x2 group on desktop and mobile. */
.service-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1040px;margin-inline:auto}
.service-banner{width:100%;min-width:0}
.service-lineup-section .section-title,.posts-section .section-title,.recommended-section .section-title{font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:500;letter-spacing:.025em;color:#6b5845}
.service-lineup-section .section-head>p,.posts-section .section-head>p{font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-weight:400}
/* Four latest articles in one horizontal row; images lead, text stays secondary. */
.posts-section .posts-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.posts-section .post-card{border:0;border-radius:12px;background:transparent;box-shadow:none;overflow:hidden}
.posts-section .post-thumb{aspect-ratio:1.45;border-radius:12px;overflow:hidden;background:#f5efe2}
.posts-section .post-thumb img{object-fit:cover;transition:transform .25s ease}
.posts-section .post-card:hover .post-thumb img{transform:scale(1.025)}
.posts-section .post-content{padding:9px 3px 4px}
.posts-section .post-card h3{font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:14px;font-weight:500;line-height:1.65;color:#655441}
.posts-section .post-date{font-size:10px}
/* The closing message is a full-width strip, with no clipped or exposed edge. */
.closing-approved{width:100%;max-width:none;margin:0 auto 10px;overflow:hidden}
.closing-approved img{width:100%;height:auto;object-fit:contain}
@media(max-width:900px){.service-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.posts-section .posts-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.posts-section .post-thumb{aspect-ratio:1.1}.posts-section .post-card h3{font-size:12px}}
@media(max-width:760px){.quick-action-section{padding:15px 0 20px}.quick-action-grid{grid-template-columns:1fr;gap:10px}.quick-action-card{padding:12px 14px;gap:13px;border-radius:14px}.quick-action-card>img{width:86px;height:70px;flex-basis:86px}.quick-action-copy strong{font-size:15px}.quick-action-copy span,.quick-action-copy em{font-size:11px}.service-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.posts-section .posts-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.posts-section .post-thumb{aspect-ratio:1/1}.posts-section .post-content{padding:7px 1px}.posts-section .post-card h3{font-size:10px;line-height:1.55}.posts-section .post-date,.posts-section .post-cats{display:none}.closing-approved{width:100%;margin-top:4px}}


/* v8: final layout pass based on the approved homepage PDF */
body.home { overflow-x:hidden; }
body.home .mobile-action-bar { display:none !important; } /* fixed bar intentionally off for first release */
body.home #main { display:contents; }
body.home .site-header { position:relative; top:auto; }
body.home .site-header .site-branding,
body.home .site-header .custom-logo-link { display:flex; }

/* Main image banners should never be cropped or stretched. */
.hero-image-section { padding:0; background:#fffdf8; }
.hero-image-wrap { width:100%; max-width:none; margin:0; border-radius:0; overflow:hidden; }
.hero-image { width:100%; height:auto; aspect-ratio:1774 / 365; object-fit:contain; }
@media (max-width:760px) {
  .hero-image-wrap { width:100%; border-radius:0; }
  .hero-image { aspect-ratio:1.35; object-fit:cover; object-position:center; }
}

/* The two primary action banners appear immediately after the hero. */
.quick-action-section { padding:20px 0 26px; background:#fffdf8; }
.quick-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); max-width:1080px; gap:18px; }
.quick-action-card { min-height:145px; }
@media(max-width:760px) {
  .quick-action-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  .quick-action-card { display:block; padding:10px; text-align:center; min-height:0; }
  .quick-action-card>img { width:100%; max-width:140px; height:76px; margin:0 auto 6px; }
  .quick-action-copy { align-items:center; }
  .quick-action-copy strong { font-size:13px; }
}

/* Four full artwork cards: a balanced two-by-two layout at all widths. */
.service-lineup-section { padding:30px 0 34px; }
.service-lineup-section .section-head { margin-bottom:22px; }
.service-banner-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:16px !important; width:100%; max-width:1040px; margin:0 auto; }
.service-banner { display:block; width:100%; min-width:0; line-height:0; overflow:hidden; }
.service-banner img { width:100%; height:auto; object-fit:contain; }
@media(max-width:760px) {
  .service-banner-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:9px !important; }
}

/* Consistent friendly Japanese typography throughout the homepage. */
body.home,
body.home p,
body.home .section-head>p,
body.home .quick-action-copy,
body.home .post-card h3,
body.home .recommended-link {
  font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
}
body.home .section-title,
body.home .section-kicker { font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif; }
body.home .section-title { font-size:clamp(23px,2.3vw,31px); font-weight:500; line-height:1.5; color:#77583f; }
body.home .section-head>p { font-size:14px; font-weight:400; color:#786a5a; }

/* Latest articles: one horizontal row, image-led like the reference PDF. */
.posts-section { padding:34px 0 42px; background:#fffdf8; }
.posts-section .posts-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:16px !important; }
.posts-section .post-card { display:block; min-width:0; }
.posts-section .post-thumb { aspect-ratio:1.42; width:100%; border-radius:12px; overflow:hidden; background:#f4eee2; }
.posts-section .post-thumb img { width:100%; height:100%; object-fit:cover; }
.posts-section .post-content { padding:9px 4px 2px; }
.posts-section .post-card h3 { margin:5px 0 7px; font-size:13px; font-weight:500; line-height:1.65; }
.posts-section .post-date { font-size:10px; color:#958575; }
@media(max-width:760px) {
  .posts-section .posts-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px !important; }
  .posts-section .post-thumb { aspect-ratio:1.35; }
  .posts-section .post-card h3 { font-size:12px; }
}

/* Profile and closing banners use their full image dimensions. */
.profile-approved { width:100%; max-width:1200px; margin:18px auto 0; }
.profile-approved img { width:100%; height:auto; object-fit:contain; }
.closing-approved { width:100%; max-width:none; margin:18px 0 0; overflow:hidden; }
.closing-approved img { width:100%; height:auto; object-fit:contain; }

/* v10 corrective overrides */
body.home .hero-image-section{padding:0!important;margin:0!important;background:#fffdf8!important}
body.home .hero-image-wrap{width:100%!important;max-width:100%!important;margin:0!important;border-radius:0!important;overflow:hidden!important}
body.home .hero-image{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1774/365!important;object-fit:contain!important;object-position:center!important}
body.home .service-lineup-section .service-lineup-grid,body.home .service-lineup-section .service-banner-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;align-items:stretch!important;gap:16px!important;width:100%!important;max-width:1040px!important;margin:0 auto!important}
body.home .service-lineup-section .service-banner{display:block!important;width:100%!important;min-width:0!important;height:auto!important;padding:0!important;line-height:0!important}
body.home .service-lineup-section .service-banner img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain!important}
body.home .quick-action-section .quick-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important;max-width:1040px!important;margin:0 auto!important}
body.home .quick-action-section .quick-action-card{min-width:0!important}
body.home .posts-section .posts-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:16px!important;align-items:start!important}
body.home .posts-section .post-card{display:block!important;min-width:0!important;width:auto!important;overflow:hidden!important}
body.home .posts-section .post-thumb{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1.4!important;overflow:hidden!important}
body.home .posts-section .post-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
body.home .posts-section .post-content{padding:9px 4px 2px!important}
body.home .posts-section .post-card h3{font-size:13px!important;font-weight:500!important;line-height:1.7!important}
body.home,body.home p,body.home a,body.home span,body.home strong,body.home em,body.home h1,body.home h2,body.home h3,body.home h4,body.home .section-title,body.home .section-kicker,body.home .section-head,body.home .quick-action-copy,body.home .post-card h3,body.home .post-cats,body.home .post-date{font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important}
body.home .section-title{font-size:clamp(22px,2.4vw,30px)!important;font-weight:500!important;line-height:1.55!important;color:#765638!important}
body.home .section-kicker{font-size:11px!important;font-weight:600!important;letter-spacing:.16em!important;color:#55734b!important}
body.home .closing-approved{width:100%!important;max-width:100%!important;margin:18px 0 0!important;border-radius:0!important;overflow:hidden!important}
body.home .closing-approved img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}
body.home .mobile-action-bar,body.home .fixed-action-bar,body.home .sticky-nobisapo{display:none!important}
@media(max-width:900px){body.home .posts-section .posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:760px){
body.home .quick-action-section .quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
body.home .quick-action-section .quick-action-card{display:block!important;padding:10px!important}
body.home .quick-action-section .quick-action-card>img{width:100%!important;max-width:120px!important;height:70px!important;object-fit:contain!important;margin:0 auto 5px!important}
body.home .quick-action-copy{display:flex!important;flex-direction:column!important;align-items:center!important}
body.home .service-lineup-section .service-lineup-grid,body.home .service-lineup-section .service-banner-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:9px!important}
body.home .posts-section .posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
body.home .hero-image{aspect-ratio:1.35!important;object-fit:cover!important;object-position:center!important}
}


/* v11 targeted fixes: four compact article cards and watercolor-matched action banners */
body.home .quick-action-section .quick-action-grid{
  display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:14px!important;max-width:980px!important;margin:0 auto!important;
}
body.home .quick-action-section .quick-action-card{
  display:block!important;padding:0!important;min-width:0!important;min-height:0!important;
  background:transparent!important;border:0!important;border-radius:14px!important;
  overflow:hidden!important;box-shadow:none!important;line-height:0!important;
}
body.home .quick-action-section .quick-action-card>img{
  display:block!important;width:100%!important;max-width:none!important;height:auto!important;
  margin:0!important;object-fit:contain!important;border-radius:14px!important;
}
/* Keep four article cards in one row on desktop and compact their typography/images. */
body.home .posts-section .posts-grid{
  display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:12px!important;width:100%!important;max-width:100%!important;
}
body.home .posts-section .post-card{min-width:0!important;width:auto!important;max-width:100%!important}
body.home .posts-section .post-thumb{width:100%!important;aspect-ratio:1.28!important;height:auto!important;overflow:hidden!important}
body.home .posts-section .post-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important}
body.home .posts-section .post-content{padding:7px 2px!important}
body.home .posts-section .post-card h3{font-size:12px!important;line-height:1.55!important;font-weight:500!important;overflow-wrap:anywhere}
body.home .posts-section .post-cats{font-size:9px!important}
body.home .posts-section .post-date{font-size:9px!important}
@media(max-width:620px){
 body.home .quick-action-section .quick-action-grid{gap:8px!important}
 body.home .quick-action-section .quick-action-card>img{border-radius:10px!important}
 body.home .posts-section .posts-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
 body.home .posts-section .post-card h3{font-size:12px!important}
}


/* v12: layout order, hero legibility, FAQ, and consistent soft typography */
body.home .hero-image-section,
body.home .hero-image-wrap { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; overflow:visible!important; }
body.home .hero-image { display:block!important; width:100%!important; max-width:100%!important; height:auto!important; aspect-ratio:auto!important; object-fit:contain!important; object-position:center!important; }
@media(max-width:760px){
  body.home .hero-image { width:100%!important; height:auto!important; aspect-ratio:auto!important; object-fit:contain!important; object-position:center!important; }
}
/* The two main action banners now sit below recommended content and FAQ, not at the top. */
body.home .quick-action-section { padding:28px 0 34px!important; background:#fffdf8!important; }
body.home .quick-action-section .container { max-width:1040px!important; }
body.home .quick-action-section .quick-action-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:20px!important; width:100%!important; max-width:100%!important; }
body.home .quick-action-section .quick-action-card { display:block!important; width:100%!important; min-width:0!important; padding:0!important; margin:0!important; background:transparent!important; border:0!important; box-shadow:none!important; line-height:0!important; overflow:hidden!important; border-radius:16px!important; }
body.home .quick-action-section .quick-action-card img { display:block!important; width:100%!important; height:auto!important; max-width:none!important; object-fit:contain!important; border-radius:16px!important; }
@media(max-width:620px) {
  body.home .quick-action-section .quick-action-grid { grid-template-columns:1fr!important; gap:14px!important; }
}
/* Four service banners remain a clean two-by-two set. */
body.home .service-lineup-section .service-lineup-grid,
body.home .service-lineup-section .service-banner-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:16px!important; width:100%!important; max-width:1040px!important; margin:0 auto!important; }
body.home .service-lineup-section .service-banner,
body.home .service-lineup-section .service-banner img { display:block!important; width:100%!important; height:auto!important; min-width:0!important; object-fit:contain!important; }
/* Four articles in a row on desktop, with smaller image-led cards. */
body.home .posts-section .container { width:min(1160px,92%)!important; max-width:1160px!important; }
body.home .posts-section .posts-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:14px!important; width:100%!important; max-width:100%!important; align-items:start!important; }
body.home .posts-section .post-card { display:block!important; width:auto!important; min-width:0!important; max-width:100%!important; margin:0!important; overflow:hidden!important; }
body.home .posts-section .post-thumb { width:100%!important; height:auto!important; aspect-ratio:1.5!important; overflow:hidden!important; }
body.home .posts-section .post-thumb img { display:block!important; width:100%!important; height:100%!important; object-fit:cover!important; }
body.home .posts-section .post-content { padding:7px 2px 2px!important; }
body.home .posts-section .post-card h3 { font-size:12px!important; line-height:1.55!important; font-weight:500!important; overflow-wrap:anywhere!important; }
body.home .posts-section .post-cats { font-size:9px!important; }
body.home .posts-section .post-date { font-size:9px!important; }
@media(max-width:760px) {
  body.home .posts-section .posts-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:12px!important; }
}
/* FAQ shares the site's cream, sage, and soft brown palette. */
body.home .faq-section { background:#f7f3e9!important; padding:38px 0!important; }
body.home .faq-list { max-width:900px; margin:0 auto; display:grid; gap:10px; }
body.home .faq-item { background:#fffdf8; border:1px solid #e9e4d9; border-radius:12px; padding:15px 18px; }
body.home .faq-item summary { cursor:pointer; color:#426344; font-size:14px; font-weight:600; line-height:1.7; }
body.home .faq-item p { margin:10px 0 0; font-size:13px; line-height:1.8; color:#625f56; }
body.home .faq-item summary::marker { color:#789a63; }
/* One friendly font system for headings and body copy. */
body.home, body.home p, body.home a, body.home span, body.home strong, body.home em,
body.home h1, body.home h2, body.home h3, body.home h4, body.home .section-title,
body.home .section-kicker, body.home .section-head, body.home .post-card h3,
body.home .post-cats, body.home .post-date, body.home .faq-item summary {
 font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;
}
body.home .section-title { font-size:clamp(22px,2.4vw,30px)!important; font-weight:500!important; line-height:1.55!important; color:#765638!important; }
body.home .section-kicker { font-size:11px!important; font-weight:600!important; letter-spacing:.16em!important; color:#55734b!important; }
body.home .closing-approved { width:100%!important; max-width:100%!important; margin:18px 0 0!important; overflow:hidden!important; }
body.home .closing-approved img { display:block!important; width:100%!important; height:auto!important; object-fit:contain!important; }


/* v13: clear media value proposition, warm pink watercolor accent, responsive service order */
body.home .hero-image-section { padding:0!important; margin:0!important; background:#fffdf8!important; }
body.home .hero-image-wrap { position:relative!important; width:100%!important; max-width:100%!important; margin:0 auto!important; overflow:hidden!important; line-height:0!important; }
body.home .hero-image { display:block!important; width:100%!important; max-width:100%!important; height:auto!important; aspect-ratio:auto!important; object-fit:contain!important; object-position:center!important; }
body.home .hero-st-badge { position:absolute; right:clamp(12px,4vw,54px); bottom:clamp(12px,3vw,30px); z-index:2; display:flex; flex-direction:column; align-items:center; justify-content:center; width:clamp(84px,10vw,126px); height:clamp(84px,10vw,126px); padding:10px; border-radius:50%; background:rgba(250,225,229,.94); border:1px solid rgba(215,158,168,.55); box-shadow:0 3px 12px rgba(112,78,65,.08); color:#79585b; text-align:center; line-height:1.55; white-space:normal; }
body.home .hero-st-badge span { font-size:clamp(10px,1vw,13px); } body.home .hero-st-badge strong { font-size:clamp(12px,1.2vw,15px); font-weight:700; }
body.home .media-intro-section { padding:22px 20px 10px; background:linear-gradient(120deg,#fffaf6 0%,#fffdf8 52%,#f8f5ec 100%); }
body.home .media-intro-inner { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:14px 24px; align-items:center; max-width:1160px; margin:0 auto; padding:22px 28px 20px; border:1px solid #eee4d7; border-radius:20px; background:rgba(255,255,255,.78); box-shadow:0 5px 20px rgba(100,78,54,.04); }
body.home .media-intro-sprout { position:absolute; left:18px; top:16px; font-size:22px; opacity:.72; } body.home .media-intro-copy { padding-left:24px; }
body.home .media-intro-kicker { margin:0 0 6px; color:#7b8e69; font-size:13px; line-height:1.6; font-weight:700; letter-spacing:.03em; }
body.home .media-intro-copy h1 { margin:0 0 8px; color:#66513f; font-size:clamp(20px,2.2vw,28px); font-weight:600; line-height:1.5; letter-spacing:.015em; }
body.home .media-intro-copy>p:last-child { margin:0; color:#6f6559; font-size:14px; line-height:1.9; }
body.home .media-intro-proof { display:grid; grid-template-columns:repeat(3,minmax(90px,1fr)); align-self:stretch; align-items:center; border-left:1px solid #e5ddcf; }
body.home .media-intro-proof>div { display:flex; min-width:0; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:8px 12px; text-align:center; } body.home .media-intro-proof>div+div { border-left:1px solid #e5ddcf; }
body.home .proof-icon { display:grid; place-items:center; width:28px; height:28px; margin-bottom:3px; border-radius:50%; background:#edf2e6; color:#7b9568; font-size:18px; }
body.home .media-intro-proof strong { color:#5d7050; font-size:12px; line-height:1.5; } body.home .media-intro-proof small { color:#756b5d; font-size:10px; line-height:1.5; }
body.home .service-lineup-section { padding:28px 0 34px!important; } body.home .service-lineup-section .section-head { margin-bottom:22px!important; }
body.home .service-lineup-section .section-title { font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif!important; font-weight:600!important; }
body.home .service-lineup-section .service-lineup-grid, body.home .service-lineup-section .service-banner-grid { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:16px!important; width:100%!important; max-width:1040px!important; margin:0 auto!important; align-items:stretch!important; }
body.home .service-lineup-section .service-banner { display:block!important; width:100%!important; min-width:0!important; height:auto!important; padding:0!important; border-radius:14px!important; overflow:hidden!important; line-height:0!important; background:#fff!important; box-shadow:0 3px 14px rgba(96,75,54,.05); }
body.home .service-lineup-section .service-banner img { display:block!important; width:100%!important; max-width:100%!important; height:auto!important; object-fit:contain!important; }
body.home .service-banner-consult { background:#fff4f5!important; } body.home .service-banner-class { background:#f5f5e9!important; } body.home .service-banner-articles { background:#fff8e8!important; } body.home .service-banner-recommend { background:#f0f6f5!important; }
@media(max-width:760px) {
 body.home .hero-st-badge { right:10px; bottom:8px; width:72px; height:72px; padding:6px; } body.home .hero-st-badge span { font-size:9px; } body.home .hero-st-badge strong { font-size:11px; }
 body.home .media-intro-section { padding:12px 10px 6px; } body.home .media-intro-inner { grid-template-columns:1fr; gap:12px; padding:22px 16px 16px; border-radius:15px; }
 body.home .media-intro-sprout { left:12px; top:10px; font-size:18px; } body.home .media-intro-copy { padding-left:16px; } body.home .media-intro-kicker { font-size:11px; margin-bottom:5px; }
 body.home .media-intro-copy h1 { font-size:20px; line-height:1.55; } body.home .media-intro-copy>p:last-child { font-size:12px; line-height:1.85; }
 body.home .media-intro-proof { grid-template-columns:repeat(3,minmax(0,1fr)); border-left:0; border-top:1px solid #e5ddcf; padding-top:8px; } body.home .media-intro-proof>div { padding:5px 4px; }
 body.home .media-intro-proof strong { font-size:10px; } body.home .media-intro-proof small { font-size:9px; } body.home .proof-icon { width:24px; height:24px; font-size:15px; }
 body.home .service-lineup-section { padding:20px 0 25px!important; } body.home .service-lineup-section .section-head { margin-bottom:15px!important; } body.home .service-lineup-section .section-head>p { font-size:12px; }
 body.home .service-lineup-section .service-lineup-grid, body.home .service-lineup-section .service-banner-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:9px!important; } body.home .service-lineup-section .service-banner { border-radius:10px!important; }
}

/* v14: requested copy and profile career note */
.profile-approved{position:relative!important;}
.profile-approved .profile-career-note{position:absolute;left:7%;bottom:9%;z-index:3;max-width:42%;padding:9px 14px;border-radius:14px;background:rgba(255,252,246,.92);border:1px solid rgba(220,196,174,.65);color:#655749;font-size:clamp(10px,1.1vw,14px);line-height:1.6;box-shadow:0 2px 10px rgba(90,70,50,.06);pointer-events:none;}
.profile-approved .profile-career-note strong,.profile-approved .profile-career-note span{display:block;}
.profile-approved .profile-career-note span{font-weight:700;color:#7b8768;}
@media(max-width:760px){.profile-approved .profile-career-note{left:4%;bottom:5%;max-width:50%;padding:5px 7px;font-size:9px;border-radius:8px;line-height:1.45;}}

/* v15 responsive cleanup: align the homepage with the approved design and fix the main content wrapper */
body.home #main { display:block; width:100%; max-width:none; margin:0; padding:0; }
body.home .hero-image-section { margin:0!important; padding:0!important; background:#fffdf8!important; }
body.home .hero-image-wrap { width:100%!important; max-width:100%!important; margin:0!important; overflow:hidden!important; line-height:0!important; }
body.home .hero-image { display:block!important; width:100%!important; height:auto!important; max-width:100%!important; aspect-ratio:auto!important; object-fit:contain!important; object-position:center!important; }
body.home .hero-st-badge { display:none!important; }
body.home .media-intro-section { padding:24px clamp(14px,3vw,34px) 18px!important; background:linear-gradient(125deg,#fff8f5 0%,#fffdf8 55%,#f4f6eb 100%)!important; }
body.home .media-intro-inner { box-sizing:border-box; grid-template-columns:minmax(0,1fr)!important; gap:12px!important; max-width:1120px!important; padding:24px clamp(18px,3vw,34px)!important; border:1px solid #eee2d8!important; border-radius:22px!important; background:rgba(255,255,255,.9)!important; box-shadow:0 6px 22px rgba(102,78,53,.055)!important; }
body.home .media-intro-sprout { left:auto!important; right:22px!important; top:14px!important; font-size:24px!important; opacity:.55!important; }
body.home .media-intro-copy { padding:0!important; max-width:880px; }
body.home .media-intro-kicker { display:inline-block; margin:0 0 9px!important; padding:6px 13px; border-radius:999px; background:#fae9e9; color:#92666a!important; font-size:clamp(12px,1.2vw,15px)!important; font-weight:700; }
body.home .media-intro-copy h1 { max-width:850px; margin:0 0 10px!important; color:#65503f!important; font-size:clamp(21px,2.4vw,30px)!important; line-height:1.5!important; }
body.home .media-intro-copy>p:last-child { max-width:900px; margin:0!important; color:#6e6258!important; font-size:clamp(13px,1.2vw,15px)!important; line-height:1.9!important; }
body.home .media-intro-proof { grid-template-columns:repeat(3,minmax(0,1fr))!important; width:100%; border-left:0!important; border-top:1px solid #eee2d8; padding-top:12px; }
body.home .media-intro-proof>div { padding:8px 12px!important; }
body.home .media-intro-proof strong { font-size:clamp(11px,1.1vw,14px)!important; }
body.home .media-intro-proof small { font-size:clamp(10px,1vw,12px)!important; }
body.home .service-lineup-section { padding:30px 0 38px!important; }
body.home .service-lineup-section .container, body.home .posts-section .container { padding-left:clamp(14px,3.5vw,36px); padding-right:clamp(14px,3.5vw,36px); }
body.home .service-banner-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:clamp(10px,1.8vw,18px)!important; }
body.home .service-banner { border-radius:14px!important; }
body.home .service-banner img { height:auto!important; }
body.home .posts-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
body.home .profile-approved { position:relative!important; display:block; width:calc(100% - clamp(28px,7vw,72px)); max-width:1200px; margin:26px auto!important; overflow:hidden; border-radius:16px; line-height:0; }
body.home .profile-approved>img { display:block; width:100%; height:auto; }
body.home .profile-approved .profile-career-note { left:4%!important; bottom:8%!important; max-width:43%!important; padding:7px 12px!important; font-size:clamp(10px,1vw,13px)!important; }
body.home .closing-approved { width:calc(100% - clamp(28px,7vw,72px)); max-width:1200px; margin:24px auto!important; overflow:hidden; border-radius:14px; }
body.home .closing-approved img { display:block; width:100%; height:auto; }
@media(max-width:760px) {
 body.home .media-intro-section { padding:12px 10px 8px!important; }
 body.home .media-intro-inner { padding:20px 14px 14px!important; gap:12px!important; border-radius:15px!important; }
 body.home .media-intro-sprout { right:12px!important; top:9px!important; font-size:18px!important; }
 body.home .media-intro-kicker { max-width:calc(100% - 30px); font-size:11px!important; padding:5px 9px; }
 body.home .media-intro-copy h1 { font-size:19px!important; line-height:1.55!important; }
 body.home .media-intro-copy>p:last-child { font-size:12px!important; line-height:1.85!important; }
 body.home .media-intro-proof { gap:0; padding-top:8px; }
 body.home .media-intro-proof>div { padding:6px 3px!important; }
 body.home .proof-icon { width:23px!important; height:23px!important; font-size:14px!important; }
 body.home .media-intro-proof strong { font-size:10px!important; }
 body.home .media-intro-proof small { font-size:9px!important; }
 body.home .service-lineup-section { padding:20px 0 26px!important; }
 body.home .service-lineup-section .section-head { margin-bottom:15px!important; padding:0 4px; }
 body.home .service-lineup-section .section-head>p { font-size:12px; line-height:1.7; }
 body.home .service-banner-grid { gap:9px!important; }
 body.home .service-banner { border-radius:9px!important; }
 body.home .posts-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
 body.home .post-content { padding:10px!important; }
 body.home .post-content h3 { font-size:13px!important; line-height:1.6!important; }
 body.home .profile-approved { width:calc(100% - 20px); margin:16px auto!important; border-radius:10px; }
 body.home .profile-approved .profile-career-note { left:3%!important; bottom:4%!important; max-width:54%!important; padding:4px 6px!important; font-size:8px!important; border-radius:6px!important; line-height:1.35!important; }
 body.home .closing-approved { width:calc(100% - 20px); margin:16px auto!important; border-radius:9px; }
 body.home .faq-list { padding:0 12px; }
}
@media(max-width:380px) {
 body.home .media-intro-proof strong { font-size:9px!important; }
 body.home .media-intro-proof small { font-size:8px!important; }
 body.home .media-intro-copy h1 { font-size:18px!important; }
 body.home .service-banner-grid { gap:7px!important; }
}

/* v16: final homepage layout corrections for the approved design */
@media (min-width:761px) {
  body.home .posts-section .posts-grid { display:grid!important; grid-template-columns:repeat(4,minmax(0,1fr))!important; gap:18px!important; align-items:stretch!important; }
  body.home .posts-section .post-card { min-width:0!important; width:auto!important; }
}
body.home .media-intro-section { position:relative!important; padding:26px clamp(14px,3vw,34px) 24px!important; background:linear-gradient(120deg,#fff8f4 0%,#fffdf8 52%,#f1f5e9 100%)!important; }
body.home .media-intro-inner { position:relative!important; display:grid!important; grid-template-columns:minmax(0,1fr)!important; gap:14px!important; max-width:1120px!important; margin:0 auto!important; padding:clamp(20px,3vw,34px)!important; border:1px solid #eadfd2!important; border-radius:24px!important; background:rgba(255,255,255,.94)!important; box-shadow:0 8px 24px rgba(100,77,53,.07)!important; }
body.home .media-intro-sprout { position:absolute!important; right:22px!important; top:14px!important; font-size:28px!important; opacity:.65!important; }
body.home .media-intro-kicker { display:inline-block!important; width:fit-content!important; max-width:calc(100% - 38px)!important; margin:0 0 10px!important; padding:7px 14px!important; border-radius:999px!important; background:#f8e7e7!important; color:#8e6266!important; font-size:clamp(12px,1.2vw,15px)!important; font-weight:700!important; }
body.home .media-intro-copy h1 { margin:0 0 12px!important; color:#65503f!important; font-size:clamp(22px,2.5vw,31px)!important; line-height:1.5!important; }
body.home .media-intro-copy>p:last-child { margin:0!important; color:#6e6258!important; font-size:clamp(13px,1.15vw,15px)!important; line-height:1.9!important; }
body.home .media-intro-proof { display:grid!important; grid-template-columns:repeat(3,minmax(0,1fr))!important; gap:8px!important; width:100%!important; margin:0!important; padding:14px 0 0!important; border:0!important; border-top:1px solid #eee2d8!important; }
body.home .media-intro-proof>div { min-width:0!important; padding:8px 10px!important; text-align:center!important; }
body.home .media-intro-proof strong, body.home .media-intro-proof small { display:block!important; }
@media(max-width:760px) {
 body.home .media-intro-section { padding:12px 10px 10px!important; }
 body.home .media-intro-inner { gap:12px!important; padding:20px 14px 14px!important; border-radius:16px!important; }
 body.home .media-intro-sprout { right:10px!important; top:8px!important; font-size:19px!important; }
 body.home .media-intro-kicker { font-size:11px!important; padding:5px 9px!important; }
 body.home .media-intro-copy h1 { font-size:19px!important; line-height:1.55!important; }
 body.home .media-intro-copy>p:last-child { font-size:12px!important; line-height:1.8!important; }
 body.home .media-intro-proof { gap:2px!important; padding-top:8px!important; }
 body.home .media-intro-proof>div { padding:6px 2px!important; }
 body.home .media-intro-proof strong { font-size:10px!important; }
 body.home .media-intro-proof small { font-size:9px!important; line-height:1.4!important; }
 body.home .posts-section .posts-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:10px!important; }
}


/* v17: cache-safe homepage layout safeguards */
@media screen and (min-width: 761px) {
  html body.home .posts-section .posts-grid, html body.front-page .posts-section .posts-grid {
    display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: 18px !important;
  }
  html body.home .posts-section .posts-grid > *, html body.front-page .posts-section .posts-grid > * { min-width: 0 !important; width: auto !important; }
}
@media screen and (max-width: 760px) {
  html body.home .posts-section .posts-grid, html body.front-page .posts-section .posts-grid {
    display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important;
  }
}

/* v18: four clear topic/service entry cards */
.topic-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}
.topic-card{position:relative;display:flex;flex-direction:column;align-items:flex-start;min-width:0;min-height:188px;padding:18px 18px 16px;border:1px solid #dce7d8;border-radius:15px;text-decoration:none!important;overflow:hidden;transition:transform .18s ease,box-shadow .18s ease;color:#594832}
.topic-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(90,75,50,.09)}
.topic-card h3{font-size:17px;line-height:1.5;margin:9px 0 7px;color:#4e694b;position:relative;z-index:1}
.topic-card p{font-size:13px;line-height:1.8;margin:0 0 14px;color:#5f5a52;position:relative;z-index:1}
.topic-icon{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.78);color:#62885b;flex:0 0 auto}
.topic-icon svg{display:block;width:28px;height:28px}
.topic-card .topic-link{gap:0}
.topic-card .topic-link::after{content:"";display:none}
.topic-sprout{display:none}
.topic-link{display:inline-flex;align-items:center;gap:10px;margin-top:auto;padding:6px 14px;border-radius:20px;background:#9dbd8b;color:#fff;font-size:12px;font-weight:700;position:relative;z-index:1}
.topic-sprout{position:absolute;right:12px;bottom:9px;font-size:22px;opacity:.72}
.topic-language{background:linear-gradient(135deg,#f5f9f1,#edf5e9);border-color:#d4e5cf}.topic-development{background:linear-gradient(135deg,#fff9ef,#fff4e4);border-color:#f0dfc3}.topic-consult .topic-icon{color:#987444}.topic-consult h3{color:#89663c}.topic-consult .topic-link{background:#d9b77f}.topic-nobisapo{background:linear-gradient(135deg,#f2f8fd,#eaf4fc);border-color:#d0e4f3}.topic-nobisapo .topic-icon{color:#5288b7}.topic-nobisapo h3{color:#3d78a5}.topic-nobisapo .topic-link{background:#82b6dc}.topic-feature{background:linear-gradient(135deg,#fff5f5,#fff0f1);border-color:#f1d5d8}.topic-feature .topic-icon{color:#bb7e88}.topic-feature h3{color:#a85e69}.topic-feature .topic-link{background:#dc9aa5}
@media(max-width:900px){.topic-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.topic-card{min-height:170px}}
@media(max-width:560px){.topic-card-grid{gap:9px}.topic-card{padding:13px 12px;min-height:185px;border-radius:12px}.topic-card h3{font-size:14px}.topic-card p{font-size:12px;line-height:1.7}.topic-icon{width:34px;height:34px}.topic-icon svg{width:24px;height:24px}.topic-link{font-size:11px;padding:6px 11px}}


/* v21 fix: keep all four homepage topic cards in one row on desktop and remove accidental literal slash-n text. */
@media screen and (min-width: 901px) {
  html body.home .topic-card-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px !important;
    align-items: stretch !important;
  }
  html body.home .topic-card-grid > .topic-card {
    display: flex !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    grid-column: auto !important;
  }
}
@media screen and (max-width: 900px) {
  html body.home .topic-card-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}


/* v24: cleaner article cards, preserving four columns on desktop and two on mobile. */
@media (min-width: 901px) {
  body.home .posts-section .posts-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
  body.home .posts-section .post-card {
    border: 1px solid #eee5d8 !important;
    border-radius: 14px !important;
    box-shadow: none !important;
    background: #fffdf8 !important;
  }
  body.home .posts-section .post-thumb {
    aspect-ratio: 1.8 !important;
  }
  body.home .posts-section .post-content {
    padding: 13px 14px 15px !important;
  }
  body.home .posts-section .post-card h3 {
    font-size: 14px !important;
    line-height: 1.65 !important;
    letter-spacing: .01em;
  }
  body.home .posts-section .post-cats {
    margin-bottom: 6px !important;
  }
}

/* v25: compact article cards — image first, title directly underneath, no empty reserved space. */
html body.home .posts-section .posts-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}
html body.home .posts-section .post-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  width: auto !important;
  height: 100% !important;
  overflow: hidden !important;
  border: 1px solid #e9e2d7 !important;
  border-radius: 13px !important;
  background: #fffdf8 !important;
  box-shadow: none !important;
  color: inherit !important;
}
html body.home .posts-section .post-thumb {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1.55 !important;
  height: auto !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  background: #f4eee2 !important;
}
html body.home .posts-section .post-thumb img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  margin: 0 !important;
}
html body.home .posts-section .post-content {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  min-width: 0 !important;
  padding: 12px 13px 13px !important;
  gap: 0 !important;
}
html body.home .posts-section .post-cats { margin: 0 0 5px !important; }
html body.home .posts-section .post-card h3 {
  display: block !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  font-weight: 600 !important;
  color: #655441 !important;
}
html body.home .posts-section .post-date { margin-top: auto !important; padding-top: 3px !important; }
@media screen and (max-width: 900px) {
  html body.home .posts-section .posts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px !important; }
  html body.home .posts-section .post-thumb { aspect-ratio: 1.5 !important; }
}
@media screen and (max-width: 560px) {
  html body.home .posts-section .posts-grid { gap: 10px !important; }
  html body.home .posts-section .post-content { padding: 9px 10px 10px !important; }
  html body.home .posts-section .post-card h3 { font-size: 12px !important; line-height: 1.55 !important; }
  html body.home .posts-section .post-cats, html body.home .posts-section .post-date { font-size: 10px !important; }
}

/* v26: force each article link to remain one complete grid item. */
html body.home .posts-section .posts-grid > a.post-card,
html body.front-page .posts-section .posts-grid > a.post-card {
  display: flex !important;
  flex-direction: column !important;
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: stretch !important;
  justify-self: stretch !important;
  position: relative !important;
}
html body.home .posts-section .posts-grid > a.post-card > .post-thumb,
html body.front-page .posts-section .posts-grid > a.post-card > .post-thumb {
  order: 1 !important;
  flex: 0 0 auto !important;
  width: 100% !important;
}
html body.home .posts-section .posts-grid > a.post-card > .post-content,
html body.front-page .posts-section .posts-grid > a.post-card > .post-content {
  order: 2 !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  width: 100% !important;
}

/* v27: editable FAQ cards and coordinated service banners */
body.home .faq-section{background:#f8f4eb!important;padding:44px 0!important}
body.home .faq-list.faq-card-grid{max-width:1040px;margin:0 auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
body.home .faq-card{display:flex;flex-direction:column;align-items:flex-start;background:#fffdf8;border:1px solid #e8e1d4;border-radius:16px;padding:20px 22px;min-width:0;box-shadow:0 3px 12px rgba(93,76,53,.035)}
body.home .faq-card h3{margin:0 0 8px;color:#557452;font-size:15px;line-height:1.65;font-weight:650}
body.home .faq-card p{margin:0 0 12px;color:#6c665c;font-size:13px;line-height:1.85}
body.home .faq-card .faq-more{margin-top:auto;display:inline-flex;gap:8px;align-items:center;color:#557452;font-size:12px;font-weight:650;border-bottom:1px solid #d9e2d2;padding-bottom:2px}
body.home .quick-action-section{background:#fffdf8;padding:24px 0 36px}
body.home .quick-action-grid{max-width:1040px;gap:18px}
body.home .quick-action-card{padding:18px;border-radius:18px;gap:16px;align-items:center;min-height:190px;line-height:1.7;box-shadow:0 3px 14px rgba(90,72,48,.045)}
body.home .quick-action-consult{background:#fbf2df;border-color:#ead7ac;color:#755b2e}
body.home .quick-action-nobisapo{background:#edf5fa;border-color:#cbdfea;color:#416d8d}
body.home .quick-action-visual{flex:0 0 32%;max-width:145px;display:flex;align-items:center;justify-content:center}
body.home .quick-action-visual img{width:100%;height:auto;max-height:155px;object-fit:contain}
body.home .quick-action-copy{flex:1;min-width:0;gap:5px}
body.home .quick-action-copy .quick-action-eyebrow{font-size:11px;color:inherit;opacity:.86}
body.home .quick-action-copy strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(18px,2vw,24px);color:inherit;line-height:1.45}
body.home .quick-action-copy span:not(.quick-action-eyebrow){font-size:12px;color:inherit;line-height:1.8}
body.home .quick-action-copy em{font-size:12px;font-style:normal;font-weight:650;color:inherit;margin-top:5px}
@media(max-width:760px){body.home .faq-list.faq-card-grid{grid-template-columns:1fr;gap:10px}body.home .faq-card{padding:16px}body.home .quick-action-grid{grid-template-columns:1fr;gap:12px}body.home .quick-action-card{min-height:0;padding:14px;gap:12px}body.home .quick-action-visual{flex-basis:28%;max-width:105px}body.home .quick-action-visual img{max-height:115px}body.home .quick-action-copy strong{font-size:18px}body.home .quick-action-copy span:not(.quick-action-eyebrow){font-size:11px}}


/* v29: editable local access line for the 伸びサポ banner */
.quick-action-location {
  display: block;
  margin-top: .55rem;
  color: #4f6b7b;
  font-size: .82rem;
  line-height: 1.65;
  font-weight: 600;
}
@media (max-width: 767px) {
  .quick-action-location {
    font-size: .78rem;
  }
}


/* v31: actual watercolor banner artwork + brand-aligned FAQ palette */
:root {
  --hagukumi-sage: #75896a;
  --hagukumi-sage-soft: #e9eee2;
  --hagukumi-terracotta: #b87555;
  --hagukumi-terracotta-soft: #f8e8dc;
  --hagukumi-ivory: #fbf8f1;
}
body.home .faq-card { background:#fffdf8!important; border-color:#e7e0d3!important; }
body.home .faq-card:nth-child(odd) .faq-symbol,
body.home .faq-card:nth-child(odd) .faq-icon { color:var(--hagukumi-terracotta)!important; background:radial-gradient(circle,var(--hagukumi-terracotta-soft),rgba(248,232,220,.32))!important; }
body.home .faq-card:nth-child(even) .faq-symbol,
body.home .faq-card:nth-child(even) .faq-icon { color:var(--hagukumi-sage)!important; background:radial-gradient(circle,var(--hagukumi-sage-soft),rgba(233,238,226,.32))!important; }
body.home .quick-action-consult { background:#fff8ef!important; border-color:#ecd2c0!important; color:#80533c!important; }
body.home .quick-action-nobisapo { background:#f5f7ef!important; border-color:#d5dfcd!important; color:#52694a!important; }
body.home .quick-action-copy strong { font-family:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important; font-weight:700!important; }


/* v32 repair: render the two approved service banners as complete linked image cards.
   This overrides legacy quick-action layout rules that constrained the image wrapper. */
html body.home .quick-action-section .quick-action-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px !important;
  max-width:1040px !important;
  margin:0 auto !important;
}
html body.home .quick-action-section .quick-action-card {
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  overflow:hidden !important;
  border:1px solid #e6ddcf !important;
  border-radius:18px !important;
  background:transparent !important;
  box-shadow:0 3px 12px rgba(91,73,57,.06) !important;
  line-height:0 !important;
}
html body.home .quick-action-section .quick-action-visual {
  display:block !important;
  width:100% !important;
  max-width:none !important;
  flex:none !important;
  margin:0 !important;
  padding:0 !important;
}
html body.home .quick-action-section .quick-action-visual img {
  display:block !important;
  width:100% !important;
  height:auto !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  margin:0 !important;
  border-radius:0 !important;
}
html body.home .quick-action-section .quick-action-copy { display:none !important; }
@media(max-width:760px) {
  html body.home .quick-action-section .quick-action-grid { grid-template-columns:1fr !important; gap:14px !important; }
}


/* v33 unified repair: FAQ icon markup, watercolor-like badges, and full banner cards */
html body.home .faq-card {
  display:flex !important;
  align-items:flex-start !important;
  gap:18px !important;
  position:relative !important;
  background:#fffdf8 !important;
  border:1px solid #e8e0d2 !important;
  border-radius:18px !important;
  padding:22px !important;
}
html body.home .faq-symbol {
  flex:0 0 76px !important;
  width:76px !important;
  height:76px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  position:relative !important;
  overflow:hidden !important;
  background:
    radial-gradient(ellipse at 35% 30%, rgba(255,255,255,.72) 0 14%, transparent 42%),
    radial-gradient(ellipse at 65% 68%, rgba(184,117,85,.18), transparent 60%),
    radial-gradient(ellipse at 40% 60%, rgba(231,184,143,.46), transparent 65%),
    #f8e8dc !important;
}
html body.home .faq-symbol:before {
  content:"" !important; position:absolute !important; inset:-8px !important;
  background:radial-gradient(ellipse at 25% 30%,rgba(184,117,85,.17),transparent 42%),radial-gradient(ellipse at 75% 60%,rgba(255,255,255,.65),transparent 48%) !important;
  filter:blur(5px) !important;
}
html body.home .faq-symbol-laptop,
html body.home .faq-symbol-book {
  background:
    radial-gradient(ellipse at 32% 28%,rgba(255,255,255,.72) 0 15%,transparent 43%),
    radial-gradient(ellipse at 70% 65%,rgba(117,137,106,.22),transparent 62%),
    radial-gradient(ellipse at 35% 70%,rgba(199,213,180,.55),transparent 62%),
    #e9eee2 !important;
}
html body.home .faq-symbol svg {
  width:43px !important; height:43px !important; position:relative !important; z-index:1 !important;
  fill:none !important; stroke:#b87555 !important; stroke-width:2.2 !important;
  stroke-linecap:round !important; stroke-linejoin:round !important;
}
html body.home .faq-symbol-laptop svg,
html body.home .faq-symbol-book svg { stroke:#75896a !important; }
html body.home .faq-card-content { flex:1 1 auto !important; min-width:0 !important; }
html body.home .faq-card h3 { margin:0 0 10px !important; color:#74513a !important; }
html body.home .faq-card p { margin:0 0 12px !important; line-height:1.8 !important; color:#6d665d !important; }
html body.home .faq-card .faq-more { color:#75896a !important; }
html body.home .quick-action-section { background:#fbf8f1 !important; }
html body.home .quick-action-section .quick-action-grid {
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:20px !important; max-width:1040px !important; margin:0 auto !important;
}
html body.home .quick-action-section .quick-action-card {
  display:block !important; width:100% !important; min-width:0 !important;
  padding:0 !important; margin:0 !important; overflow:hidden !important;
  border:1px solid #e6ddcf !important; border-radius:18px !important;
  background:transparent !important; box-shadow:0 3px 12px rgba(91,73,57,.06) !important;
  line-height:0 !important;
}
html body.home .quick-action-section .quick-action-visual {
  display:block !important; width:100% !important; max-width:none !important;
  flex:none !important; margin:0 !important; padding:0 !important;
}
html body.home .quick-action-section .quick-action-visual img {
  display:block !important; width:100% !important; height:auto !important;
  max-width:none !important; max-height:none !important; object-fit:cover !important;
  margin:0 !important; border-radius:0 !important;
}
html body.home .quick-action-section .quick-action-copy { display:none !important; }
@media(max-width:760px) {
  html body.home .faq-card { gap:12px !important; padding:14px !important; }
  html body.home .faq-symbol { flex-basis:54px !important; width:54px !important; height:54px !important; }
  html body.home .faq-symbol svg { width:32px !important; height:32px !important; }
  html body.home .quick-action-section .quick-action-grid { grid-template-columns:1fr !important; gap:14px !important; }
}


/* v34: prevent banner artwork from being zoom-cropped */
html body.home .quick-action-section .quick-action-card {
  overflow:hidden !important;
  height:auto !important;
  aspect-ratio:auto !important;
}
html body.home .quick-action-section .quick-action-visual,
html body.home .quick-action-section .quick-action-visual img {
  height:auto !important;
  max-height:none !important;
  aspect-ratio:auto !important;
}
html body.home .quick-action-section .quick-action-visual img {
  object-fit:contain !important;
  object-position:center center !important;
}

/* v35: show each complete service banner image without zooming or cropping */
html body.home .quick-action-section .quick-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
html body.home .quick-action-section .quick-action-card{display:block!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;}
html body.home .quick-action-section .quick-action-visual{display:block!important;width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;max-height:none!important;flex:none!important;margin:0!important;padding:0!important;background:transparent!important;}
html body.home .quick-action-section .quick-action-visual img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;object-fit:contain!important;object-position:center!important;margin:0!important;border-radius:0!important;}
html body.home .quick-action-section .quick-action-copy{display:none!important;}
@media(max-width:760px){html body.home .quick-action-section .quick-action-grid{grid-template-columns:1fr!important;gap:12px!important;}html body.home .quick-action-section .quick-action-card{width:100%!important;}}


/* v37: align FAQ question beside its watercolor icon; tighten banner top edge */
html body.home .faq-card {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  gap:12px !important;
}
html body.home .faq-card-heading {
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:14px !important;
  width:100% !important;
  min-width:0 !important;
}
html body.home .faq-card-heading .faq-symbol {
  flex:0 0 60px !important;
  width:60px !important;
  height:60px !important;
  margin:0 !important;
}
html body.home .faq-card-heading .faq-symbol svg {
  width:35px !important;
  height:35px !important;
}
html body.home .faq-card-heading h3 {
  flex:1 1 auto !important;
  min-width:0 !important;
  margin:0 !important;
  font-size:16px !important;
  line-height:1.6 !important;
}
html body.home .faq-card-content {
  width:100% !important;
  padding-left:74px !important;
  box-sizing:border-box !important;
}
html body.home .faq-card-content p { margin-top:0 !important; }
@media(max-width:760px) {
  html body.home .faq-card { padding:14px !important; gap:10px !important; }
  html body.home .faq-card-heading { gap:10px !important; align-items:center !important; }
  html body.home .faq-card-heading .faq-symbol { flex-basis:48px !important; width:48px !important; height:48px !important; }
  html body.home .faq-card-heading .faq-symbol svg { width:29px !important; height:29px !important; }
  html body.home .faq-card-heading h3 { font-size:15px !important; }
  html body.home .faq-card-content { padding-left:58px !important; }
}
/* Reduce the small blank strip at the top of both banner images without changing their look. */
html body.home .quick-action-section .quick-action-grid { margin-top:0 !important; }
html body.home .quick-action-section .quick-action-card { margin-top:0 !important; }


/* v38: unified Japanese typography. Preserve existing card and article grid geometry. */
html body, html body button, html body input, html body select, html body textarea {
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-synthesis: none;
}
html body { line-height: 1.85; letter-spacing: .015em; }
html body h1, html body h2, html body h3, html body h4,
html body .section-title, html body .topic-card h3, html body .post-card h3,
html body .quick-action-copy strong {
  font-family: "Noto Sans JP", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  letter-spacing: .025em;
  line-height: 1.55;
}
html body p { line-height: 1.9; }
html body .topic-card p, html body .post-card p, html body .quick-action-copy span { line-height: 1.8; }


/* v40: final pass for approved image banners and consistent visual tone */
html body.home .hero-image-section { margin:0 !important; padding:0 !important; }
html body.home .hero-image-wrap { margin:0 auto !important; padding:0 !important; line-height:0 !important; }
html body.home .hero-image { display:block !important; width:100% !important; height:auto !important; object-fit:contain !important; }
html body.home .profile-banner-part { position:relative !important; margin:18px auto !important; padding:0 !important; line-height:0 !important; max-width:1200px !important; }
html body.home .profile-banner-part img { display:block !important; width:100% !important; height:auto !important; margin:0 !important; padding:0 !important; }
html body.home .profile-banner-second { margin-top:8px !important; }
html body.home .quick-action-section { padding-top:0 !important; padding-bottom:26px !important; }
html body.home .quick-action-section .container { padding-top:0 !important; }
html body.home .quick-action-section .quick-action-grid { margin-top:0 !important; padding-top:0 !important; gap:20px !important; }
html body.home .quick-action-section .quick-action-card { margin-top:0 !important; padding-top:0 !important; border:0 !important; border-radius:18px !important; box-shadow:0 4px 16px rgba(91,73,57,.08) !important; }
html body.home .quick-action-section .quick-action-visual { margin-top:0 !important; padding-top:0 !important; line-height:0 !important; }
html body.home .quick-action-section .quick-action-visual img { width:100% !important; height:auto !important; object-fit:contain !important; margin:0 !important; padding:0 !important; }
html body.home .quick-action-section .quick-action-copy { display:none !important; }
html body.home, html body.home h1, html body.home h2, html body.home h3, html body.home p, html body.home a, html body.home button { font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif; }
@media(max-width:760px){ html body.home .profile-banner-part { margin:12px auto !important; } html body.home .quick-action-section .quick-action-grid { grid-template-columns:1fr !important; gap:14px !important; } }


/* v42: two distinct approved homepage visuals, both linking to the About article */
body.home .hero-image-section { margin:0!important; padding:0!important; background:#fffdf8!important; }
body.home .hero-image-wrap { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; overflow:hidden!important; line-height:0!important; }
body.home .homepage-feature-link { display:block!important; width:100%!important; text-decoration:none!important; line-height:0!important; }
body.home .hero-image { display:block!important; width:100%!important; max-width:100%!important; height:auto!important; aspect-ratio:auto!important; object-fit:contain!important; }
body.home .media-intro-banner-section { margin:0!important; padding:0 clamp(10px,2.8vw,36px) clamp(18px,2.4vw,30px)!important; background:linear-gradient(180deg,#fffdf8 0%,#fffaf5 55%,#f6f6ed 100%)!important; }
body.home .media-intro-banner-link { max-width:1500px!important; margin:0 auto!important; overflow:hidden!important; border:1px solid rgba(224,207,188,.6)!important; border-radius:clamp(10px,1.5vw,22px)!important; box-shadow:0 5px 22px rgba(105,83,58,.06)!important; }
body.home .media-intro-banner-image { display:block!important; width:100%!important; height:auto!important; max-width:100%!important; object-fit:contain!important; }
body.home .homepage-feature-link:focus-visible { outline:3px solid #7e9c6b!important; outline-offset:3px!important; }
@media(max-width:760px) {
 body.home .media-intro-banner-section { padding:0 8px 14px!important; }
 body.home .media-intro-banner-link { border-radius:10px!important; }
}

/* About story image: warm, editorial and responsive */
.about-story-visual{margin:0 0 2rem;border-radius:22px;overflow:hidden;background:#f8f3e9;border:1px solid #eee4d5;box-shadow:0 8px 24px rgba(91,72,49,.07)}
.about-story-visual img{display:block;width:100%;height:auto;max-height:360px;object-fit:cover;object-position:center 42%}
.about-story-visual figcaption{padding:.75rem 1.1rem;color:#6b604f;font-size:.92rem;line-height:1.7;text-align:center}


/* v46: ensure the about-story image is visibly displayed in the about/reason article */
.about-story-visual{display:block!important;max-width:920px;margin:24px auto 30px;padding:0;border-radius:22px;overflow:hidden;background:#fbf7ee;box-shadow:0 8px 28px rgba(90,74,48,.08)}
.about-story-visual img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;border-radius:22px}
.about-story-visual figcaption{padding:10px 18px 14px;color:#78644f;font-size:.95rem;text-align:center;line-height:1.7}


/* About story: calm editorial illustrations between text sections. */
.about-inline-illustration{max-width:760px;margin:1.8rem auto 2rem;text-align:center;overflow:hidden;border-radius:20px;background:#fbf7ef;}
.about-inline-illustration img{display:block;width:100%;height:auto;max-height:330px;object-fit:contain;margin:0 auto;}
.about-inline-illustration figcaption{padding:.65rem 1rem .9rem;color:#74634f;font-size:.94rem;line-height:1.7;}
.about-inline-illustration-small{max-width:540px;background:transparent;border-radius:16px;}
.about-inline-illustration-small img{max-height:240px;}
@media(max-width:640px){.about-inline-illustration{margin:1.25rem auto 1.5rem;border-radius:14px}.about-inline-illustration img{max-height:230px}.about-inline-illustration-small img{max-height:180px}}

/* v49 corrections: align media banner with hero and keep headline typography clear */
body.home .media-intro-banner-section{padding-left:0!important;padding-right:0!important;}
body.home .media-intro-banner-link{display:block!important;width:100%!important;max-width:none!important;margin:0!important;border-radius:0!important;box-shadow:none!important;}
body.home .media-intro-banner-image{display:block!important;width:100%!important;max-width:none!important;height:auto!important;object-fit:contain!important;}

/* v50: actual profile photo and improved article illustrations */
.about-story-visual img{display:block;width:100%;max-width:680px;height:auto;object-fit:contain;border-radius:18px;filter:none;image-rendering:auto;}
.about-inline-illustration{margin:28px auto 22px;max-width:560px;text-align:center;}
.about-inline-illustration img{display:block;width:100%;height:auto;max-height:300px;object-fit:contain;border-radius:16px;}
.about-inline-illustration-small{max-width:420px;}

/* v51: article series readability and clear related-article navigation */
.article-series-back{margin:30px 0;padding:14px 18px;background:#f0f5ec;border-radius:14px;font-weight:700}
.article-series-back a{color:#496f4a;text-decoration:none}
.single .entry-content h2,.page .entry-content h2{margin-top:2em;color:#496f4a}
.single .entry-content .lead,.single .entry-content .article-lead{font-size:1.08em;line-height:1.9;background:#f8f4eb;padding:1.2em 1.35em;border-radius:16px}
.single .entry-content .learnbox{background:#f1f5ed;border-radius:16px;padding:1.2em 1.4em;margin:1.5em 0}
.single .entry-content .cta{background:#fbf0e8;border-radius:18px;padding:1.4em;margin:2em 0}
.archive .posts-grid,.blog .posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.archive .post-card,.blog .post-card{display:block;background:#fff;border:1px solid #e8e4d9;border-radius:18px;overflow:hidden;text-decoration:none}
.archive .post-thumb img,.blog .post-thumb img{display:block;width:100%;height:210px;object-fit:cover}
.archive .post-content,.blog .post-content{padding:18px}
@media(max-width:760px){.archive .posts-grid,.blog .posts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.archive .post-thumb img,.blog .post-thumb img{height:145px}.archive .post-content,.blog .post-content{padding:12px}}

/* v51: article series readability and clear related-article navigation */
.article-series-back{margin:30px 0;padding:14px 18px;background:#f0f5ec;border-radius:14px;font-weight:700}
.article-series-back a{color:#496f4a;text-decoration:none}
.single .entry-content h2,.page .entry-content h2{margin-top:2em;color:#496f4a}
.single .entry-content .lead,.single .entry-content .article-lead{font-size:1.08em;line-height:1.9;background:#f8f4eb;padding:1.2em 1.35em;border-radius:16px}
.single .entry-content .learnbox{background:#f1f5ed;border-radius:16px;padding:1.2em 1.4em;margin:1.5em 0}
.single .entry-content .cta{background:#fbf0e8;border-radius:18px;padding:1.4em;margin:2em 0}
.archive .posts-grid,.blog .posts-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.archive .post-card,.blog .post-card{display:block;background:#fff;border:1px solid #e8e4d9;border-radius:18px;overflow:hidden;text-decoration:none}
.archive .post-thumb img,.blog .post-thumb img{display:block;width:100%;height:210px;object-fit:cover}
.archive .post-content,.blog .post-content{padding:18px}
@media(max-width:760px){.archive .posts-grid,.blog .posts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.archive .post-thumb img,.blog .post-thumb img{height:145px}.archive .post-content,.blog .post-content{padding:12px}}

/* Dedicated article directory: clear categories, search, and scannable cards. */
.hints-hero{background:linear-gradient(135deg,#fffaf0 0%,#f3f6e9 55%,#eef5f1 100%);text-align:left;padding:52px 0 42px}.hints-hero .container{max-width:1120px}.hints-kicker{font-size:11px;letter-spacing:.16em;color:#7d9871;font-weight:700;margin:0 0 9px}.hints-hero h1{font-size:clamp(27px,3.5vw,39px);line-height:1.45;margin-bottom:10px}.hints-hero p:last-child{color:#706457;line-height:1.9;margin:0}.hints-directory{padding:34px 0 72px}.hints-directory>.container{max-width:1120px}.hints-search{display:flex;gap:10px;max-width:620px;margin:0 auto 28px}.hints-search input{flex:1;min-width:0;border:1px solid #e4d9ca;background:#fff;border-radius:999px;padding:13px 18px;font:inherit}.hints-search button{border:0;border-radius:999px;background:#6f8c61;color:white;padding:0 23px;font:inherit;cursor:pointer}.hints-filters{display:flex;flex-wrap:wrap;align-items:center;gap:9px;padding:19px 0 25px;border-top:1px solid #eee5d8;border-bottom:1px solid #eee5d8}.hints-filter-label{font-size:13px;font-weight:700;color:#655343;margin-right:5px}.hint-filter{display:inline-flex;padding:8px 13px;border-radius:999px;border:1px solid #e5ddcf;background:#fffdf8;color:#6b5a49;font-size:12px;text-decoration:none}.hint-filter:hover,.hint-filter.is-active{background:#e8efdf;border-color:#b8cba9;color:#405d3c}.hints-results-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin:27px 0 16px}.hints-results-head h2{font-size:23px;color:#574536;margin:0}.hints-results-head span{font-size:12px;color:#8c7e70}.hints-posts{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.hints-posts .post-card{height:100%;display:flex;flex-direction:column;background:#fff;border:1px solid #eee5d8;border-radius:15px;overflow:hidden;text-decoration:none;box-shadow:0 5px 18px rgba(82,66,45,.045);transition:transform .18s ease,box-shadow .18s ease}.hints-posts .post-card:hover{transform:translateY(-3px);box-shadow:0 9px 25px rgba(82,66,45,.09)}.hints-posts .post-thumb{aspect-ratio:16/9;overflow:hidden;background:#f4f0e7}.hints-posts .post-thumb img{width:100%;height:100%;object-fit:cover}.hints-posts .post-content{padding:17px 18px 18px;display:flex;flex-direction:column;align-items:flex-start;flex:1}.hints-posts .post-cats{display:flex;flex-wrap:wrap;gap:5px}.hints-posts .post-cats span{font-size:10px;background:#f7e9e5;color:#96695b;border-radius:999px;padding:4px 8px}.hints-posts .post-content h3{font-size:17px;line-height:1.65;margin:10px 0 8px;color:#594638}.hints-excerpt{font-size:12px;line-height:1.85;color:#7d7165;margin:0 0 15px}.hints-read-more{margin-top:auto;color:#64805a;font-size:12px;font-weight:700}.hints-pagination{margin-top:32px}.hints-empty{text-align:center;padding:42px 20px;border-radius:16px;background:#fbf8f1;color:#746658}.hints-empty .btn{display:inline-block;margin-top:8px;text-decoration:none}
@media(max-width:900px){.hints-posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hints-hero{padding:34px 0 28px}.hints-search{gap:7px}.hints-search input{padding:11px 14px}.hints-search button{padding:0 15px;font-size:13px}.hints-filters{gap:7px}.hints-filter-label{width:100%;margin-bottom:3px}.hints-posts{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.hints-posts .post-content{padding:11px}.hints-posts .post-content h3{font-size:13px;line-height:1.55}.hints-excerpt{font-size:11px;line-height:1.7}.hints-read-more{font-size:11px}.hints-results-head h2{font-size:20px}}


/* v53: compact references at the end, after service links */
.article-references{margin-top:2.5rem;padding-top:1rem;border-top:1px solid #e8e0d2;color:#80786e;font-size:.82rem;line-height:1.65}
.article-references h2{font-size:.92rem;font-weight:600;color:#84796c;margin:0 0 .65rem}
.article-references ol{padding-left:1.25rem;margin:.25rem 0}
.article-references li{margin:.35rem 0;overflow-wrap:anywhere}
.article-references a{color:#6d8064;text-decoration:underline}
.media-intro-banner-image{display:block;width:100%;height:auto;object-fit:contain}


/* v55: preserve the natural portrait ratio and avoid distortion. */
.about-story-visual { max-width: 560px; margin: 28px auto 34px; }
.about-story-visual img { display:block; width:100%; height:auto; aspect-ratio: 3 / 2; object-fit:contain; border-radius:20px; box-shadow:0 8px 28px rgba(88,72,52,.10); }
.about-story-visual figcaption { margin-top:10px; text-align:center; font-size:.88rem; color:#74685b; }


/* Article bibliography: quiet, readable, and after the service CTA. */
.single-post .article-references {
  margin: 2rem 0 0;
  padding: 1rem 1.1rem;
  border-top: 1px solid #e8e0d6;
  background: #fbfaf6;
  border-radius: 12px;
  color: #776f66;
  font-size: .86rem;
  line-height: 1.65;
}
.single-post .article-references h2,
.single-post .entry-content h2:has(+ .refs) {
  font-size: .95rem;
  color: #74695d;
  margin: 0 0 .65rem;
}
.single-post .article-references ol,
.single-post .article-references .refs {
  margin: 0;
  padding-left: 1.35rem;
}
.single-post .article-references li { margin: 0 0 .55rem; overflow-wrap: anywhere; }
.single-post .article-references a { text-decoration: underline; text-underline-offset: 2px; }

/* v59: use the soft watercolor banner asset with the approved exact message; preserve natural aspect ratio. */
body.home .media-intro-banner-image{width:100%!important;height:auto!important;object-fit:contain!important;image-rendering:auto!important}

/* v60: approved hero/sub-banner refinements */
body.home .hero-image { image-rendering:auto!important; object-fit:contain!important; }
body.home .media-intro-banner-image { image-rendering:auto!important; width:100%!important; height:auto!important; }
body.home .media-intro-banner-link:focus-visible, body.home .homepage-hero-link:focus-visible { outline:3px solid #8eaa78!important; outline-offset:4px!important; }
@media(max-width:760px){ body.home .hero-image{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;} body.home .media-intro-banner-section{padding:0 6px 12px!important;} }

/* v61: use the exact approved illustrated banner images as image assets (not HTML-rendered banner copy). */
body.home .hero-image-section,
body.home .hero-image-wrap,
body.home .media-intro-banner-section,
body.home .media-intro-banner-link { box-sizing:border-box!important; }
body.home .hero-image-wrap { width:100%!important; max-width:none!important; margin:0!important; padding:0!important; overflow:hidden!important; border-radius:0!important; }
body.home .hero-image { display:block!important; width:100%!important; max-width:100%!important; height:auto!important; aspect-ratio:auto!important; object-fit:contain!important; object-position:center!important; }
body.home .media-intro-banner-section { width:100%!important; margin:0!important; padding:0!important; background:#fffdf8!important; }
body.home .media-intro-banner-link { display:block!important; width:100%!important; max-width:none!important; margin:0!important; padding:0!important; overflow:hidden!important; border:0!important; border-radius:0!important; box-shadow:none!important; line-height:0!important; }
body.home .media-intro-banner-image { display:block!important; width:100%!important; max-width:100%!important; height:auto!important; aspect-ratio:auto!important; object-fit:contain!important; object-position:center!important; image-rendering:auto!important; }
@media(max-width:760px){
 body.home .hero-image-section { padding:0!important; }
 body.home .hero-image { width:100%!important; height:auto!important; aspect-ratio:auto!important; object-fit:contain!important; }
 body.home .media-intro-banner-section { padding:0!important; }
 body.home .media-intro-banner-image { width:100%!important; height:auto!important; aspect-ratio:auto!important; object-fit:contain!important; }
}


/* v62: consistent article opening, useful in-body illustrations, and quiet references. */
.single .entry-content .lead,
.single .entry-content .article-lead {
  border: 1px solid #e7dcc9;
  box-shadow: 0 3px 12px rgba(90, 72, 49, .035);
  margin: 0 0 1.15rem;
}
.single .entry-content .learnbox {
  border: 1px solid #dbe5d2;
  box-shadow: 0 3px 12px rgba(72, 103, 61, .035);
  margin: 0 0 1.5rem;
}
.single .entry-content .learnbox h2 {
  font-size: 1.12rem;
  margin: 0 0 .55rem;
  border: 0;
  padding: 0;
}
.single .entry-content .learnbox ul { margin: .35rem 0 0; padding-left: 1.3rem; }
.single .entry-content .learnbox li { margin: .25rem 0; }
.article-inline-figure { max-width: 620px; margin: 1.6rem auto 2rem; text-align: center; }
.article-inline-figure img { display: block; width: 100%; max-height: 390px; object-fit: contain; margin: 0 auto; border-radius: 16px; }
.article-inline-figure figcaption { margin-top: .55rem; color: #82776b; font-size: .82rem; line-height: 1.7; }
.single-post .article-references { font-size: .78rem; line-height: 1.6; }
@media(max-width:600px) {
  .single .entry-content .lead, .single .entry-content .article-lead { padding: 1rem; font-size: 1rem; }
  .single .entry-content .learnbox { padding: 1rem 1.05rem; }
  .article-inline-figure { margin: 1.2rem auto 1.6rem; }
  .article-inline-figure img { max-height: 300px; }
}


/* v63: reuse a single existing brand illustration in standard article callout boxes; no per-article decorative images. */
.single .entry-content .learnbox {
  position: relative;
  padding: 1.2rem 1.35rem;
  background: #f6f7f0;
  border: 1px solid #dfe6d7;
  border-radius: 14px;
  box-shadow: none;
}
.single .entry-content .learnbox h2 { color: #574536; }
.single .entry-content .learnbox:not(.summary-box) {
  padding-right: 138px;
  min-height: 132px;
}
.single .entry-content .learnbox:not(.summary-box)::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 112px;
  height: 100px;
  background: url("assets/images/hagukumi-smile-sprout.png") center / contain no-repeat;
  opacity: .96;
  pointer-events: none;
}
.single .entry-content .learnbox.summary-box {
  background: #fbf7ef;
  border-color: #e8dfd1;
  padding: 1.2rem 1.35rem;
}
.single .entry-content .learnbox.summary-box h2 { border-bottom: 1px solid #e5d8c7; padding-bottom: .45rem; }
.single .entry-content .takeaway {
  position: relative;
  border-left: 3px solid #a9bd98;
  background: #f8f8f3;
  border-radius: 0 10px 10px 0;
  padding: .85rem 1rem;
  margin: 1.25rem 0;
  color: #594c3e;
}
.single .entry-content .takeaway strong {
  display: inline-block;
  color: #58734e;
  font-size: .78rem;
  letter-spacing: .08em;
  margin-right: .45rem;
}
.single .entry-content .takeaway strong::before { content: ""; display: inline-block; width: 13px; height: 15px; margin-right: 6px; vertical-align: -3px; background: url("assets/images/hagukumi-smile-sprout.png") center / contain no-repeat; }
@media(max-width:600px) {
 .single .entry-content .learnbox:not(.summary-box) { padding-right: 1rem; padding-bottom: 92px; }
 .single .entry-content .learnbox:not(.summary-box)::after { width: 86px; height: 76px; top: auto; bottom: 5px; right: 10px; transform: none; }
}

/* V65 verified fix: full sub-banner and responsive two-profile layout */
body.home .media-intro-banner-image{display:block!important;width:100%!important;height:auto!important;max-height:none!important;object-fit:contain!important}
body.home .profile-banners-row{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important;max-width:1500px!important;margin:18px auto 24px!important;padding:0 clamp(10px,2.8vw,36px)!important;align-items:start!important}
body.home .profile-banners-row .profile-banner-part{width:100%!important;max-width:none!important;margin:0!important;min-width:0!important}
body.home .profile-banners-row .profile-banner-part img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important}
@media(max-width:760px){body.home .profile-banners-row{grid-template-columns:minmax(0,1fr)!important;gap:12px!important;padding:0 10px!important}}


/* V66: approved banners with unique asset URLs; full image visibility and responsive profile pair */
html body.home .hero-image { display:block!important; width:100%!important; height:auto!important; max-height:none!important; aspect-ratio:auto!important; object-fit:contain!important; object-position:center!important; }
html body.home .media-intro-banner-section { display:block!important; width:100%!important; margin:0!important; padding:0!important; }
html body.home .media-intro-banner-link { display:block!important; width:100%!important; max-width:none!important; margin:0!important; padding:0!important; overflow:visible!important; border:0!important; border-radius:0!important; box-shadow:none!important; line-height:0!important; }
html body.home .media-intro-banner-image { display:block!important; width:100%!important; height:auto!important; max-height:none!important; aspect-ratio:auto!important; object-fit:contain!important; object-position:center!important; }
html body.home .profile-banners-row { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important; align-items:start!important; gap:14px!important; width:100%!important; max-width:1500px!important; margin:18px auto 24px!important; padding:0 clamp(10px,2.8vw,36px)!important; box-sizing:border-box!important; }
html body.home .profile-banners-row .profile-banner-part { display:block!important; width:100%!important; max-width:none!important; min-width:0!important; margin:0!important; padding:0!important; line-height:0!important; overflow:hidden!important; }
html body.home .profile-banners-row .profile-banner-part img { display:block!important; width:100%!important; height:auto!important; max-width:100%!important; object-fit:contain!important; }
@media(max-width:760px) { html body.home .profile-banners-row { grid-template-columns:minmax(0,1fr)!important; gap:12px!important; padding:0 10px!important; } }

/* V67: readable stacked profile banners on all screen sizes */
html body.home .profile-banners-row {
  display:flex !important; flex-direction:column !important; align-items:stretch !important;
  gap:22px !important; width:100% !important; max-width:1500px !important;
  margin:22px auto 30px !important; padding:0 clamp(12px,2.8vw,36px) !important;
  box-sizing:border-box !important;
}
html body.home .profile-banners-row .profile-banner-part {
  display:block !important; width:100% !important; max-width:none !important;
  min-width:0 !important; margin:0 !important; padding:0 !important;
  overflow:visible !important; line-height:0 !important;
}
html body.home .profile-banners-row .profile-banner-part img {
  display:block !important; width:100% !important; height:auto !important;
  max-width:100% !important; object-fit:contain !important;
}


/* V72: preserve the complete approved sub-banner artwork, including all four information panels. */
html body.home .media-intro-banner-section{display:block!important;width:100%!important;height:auto!important;overflow:visible!important;margin:0!important;padding:0 0 18px!important;}
html body.home .media-intro-banner-link{display:block!important;width:100%!important;max-width:1500px!important;height:auto!important;overflow:visible!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;line-height:0!important;}
html body.home .media-intro-banner-image{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;}
@media(max-width:760px){html body.home .media-intro-banner-section{padding:0 0 12px!important;}html body.home .media-intro-banner-link{width:100%!important;max-width:none!important;}html body.home .media-intro-banner-image{width:100%!important;height:auto!important;object-fit:contain!important;}}


/* v73: article reading comfort and a consistent smiling-sprout brand motif. */
.single .entry-content { overflow-wrap: anywhere; }
.single .entry-content p { margin: 0 0 1.15em; line-height: 1.95; }
.single .entry-content h2.section-title { line-height: 1.55; margin: 2.1em 0 .85em; }
.single .entry-content .tip {
  position: relative; margin: 1.25rem 0 1.55rem; padding: 1rem 1.15rem 1rem 1.25rem;
  border: 1px solid #e5e9dc; border-left: 4px solid #a8bd91; border-radius: 12px;
  background: linear-gradient(135deg,#f7f9f2 0%,#fffdf8 100%); color: #625747;
  font-size: .94rem; line-height: 1.9;
}
.single .entry-content .tip strong { display: inline-block; color: #59734f; font-size: .96rem; margin: 0 0 .3rem; }
.single .entry-content .tip strong:first-letter { color: #a5b88b; }
.single .entry-content .learnbox:not(.summary-box) { padding-right: 124px; min-height: 118px; }
.single .entry-content .learnbox:not(.summary-box)::after { width: 94px; height: 88px; right: 12px; }
@media (max-width: 600px) {
  .single .entry-content { font-size: 15px; line-height: 1.9; }
  .single .entry-content p { margin-bottom: 1.05em; }
  .single .entry-content .tip { padding: .85rem .9rem; margin: 1rem 0 1.25rem; font-size: .9rem; }
  .single .entry-content .learnbox:not(.summary-box) { padding: 1rem 1rem 1rem 1.05rem; padding-right: 82px; min-height: 0; }
  .single .entry-content .learnbox:not(.summary-box)::after { width: 64px; height: 62px; right: 7px; top: auto; bottom: 8px; transform: none; opacity: .9; }
  .single .entry-content .learnbox h2 { font-size: 1.02rem; }
  .single .entry-content .learnbox li { line-height: 1.75; margin: .35rem 0; }
  .single .entry-content h2.section-title { font-size: 1.2rem; margin: 1.8em 0 .7em; }
}


/* V74: unify POINT sprout and add clear context before article lists. */
.single .entry-content .takeaway strong::before {
  width: 19px; height: 20px; margin-right: 7px; vertical-align: -5px;
  background: url("assets/images/hagukumi-smile-sprout.png") center / contain no-repeat;
}
.single .entry-content .learnbox .box-intro {
  margin: .15rem 0 .75rem; color: #6d6255; font-size: .94rem; line-height: 1.85;
}
.single .entry-content .learnbox ul { margin-top: .2rem; }
.single .entry-content .learnbox.summary-box .box-intro { margin-top: .7rem; }
@media (max-width: 600px) {
  .single .entry-content .learnbox .box-intro { font-size: .9rem; line-height: 1.85; margin-bottom: .65rem; }
  .single .entry-content .takeaway { padding: .8rem .85rem; line-height: 1.85; }
  .single .entry-content .takeaway strong::before { width: 17px; height: 18px; }
}


/* V75: clear article identity, comfortable reading, related-story discovery and gentle consultation path. */
.article-heading-band{background:linear-gradient(125deg,#fbf7ed 0%,#f2f6eb 58%,#f8f0e4 100%);padding:28px 0 30px}
.article-heading-inner{max-width:900px}
.article-heading-band .breadcrumbs{display:flex;flex-wrap:wrap;gap:9px;align-items:center;text-align:left;margin:0 0 20px;color:#887b6d}
.article-heading-band .breadcrumbs span{color:#b9aa98}
.article-category-label{display:inline-flex;background:#e6efdc;color:#55734b;border-radius:999px;padding:5px 13px;font-size:12px;font-weight:700;margin-bottom:12px}
.article-heading-band .entry-title{font-size:clamp(27px,4vw,40px);line-height:1.48;letter-spacing:.02em;text-align:left;margin:0 0 12px;max-width:850px}
.article-heading-band .entry-meta{text-align:left;color:#897c6e;font-size:12px}
.article-reading-ribbon{position:sticky;top:82px;z-index:20;background:rgba(255,253,247,.96);backdrop-filter:blur(9px);border-bottom:1px solid #ece4d8;box-shadow:0 3px 12px rgba(75,59,39,.04)}
.article-reading-ribbon .container{display:flex;align-items:center;gap:12px;min-height:42px;max-width:900px;overflow:hidden}
.reading-ribbon-cat{flex:0 0 auto;color:#67815b;font-size:10px;font-weight:700;background:#edf3e7;border-radius:99px;padding:3px 9px}
.reading-ribbon-title{font-size:12px;color:#655343;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.article-page-layout{display:block;max-width:900px;padding:34px 0 42px}
.article-main-content{width:100%;max-width:780px;margin:0 auto}
.article-featured-image{margin:0 0 28px}
.article-featured-image img{width:100%;max-height:430px;object-fit:cover;border-radius:18px}
.article-body{font-size:16px;line-height:2;overflow-wrap:anywhere}
.article-body .lead{margin-top:0}
.article-body h2{scroll-margin-top:145px}
.article-body .learnbox{margin:1.6rem 0 2rem}
.article-body .summary-box{margin-top:2.5rem}
.article-end-navigation{display:flex;justify-content:center;margin:36px 0 8px}
.article-index-link{display:inline-flex;align-items:center;gap:18px;border:1px solid #d8e2d0;border-radius:999px;padding:11px 22px;color:#55734b;background:#fbfdf8;font-size:13px;font-weight:700}
.article-next-section{background:#f7f5ed;padding:54px 0 58px}
.article-next-section .container{max-width:1080px}
.article-section-heading{text-align:center;margin:0 auto 26px}
.article-section-heading>span,.article-consult-kicker{font-size:10px;letter-spacing:.18em;color:#839875;font-weight:700}
.article-section-heading h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#574536;font-size:clamp(23px,3vw,30px);margin:5px 0 6px}
.article-section-heading p{font-size:13px;color:#817466;margin:0}
.article-related-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.article-related-card{display:flex;flex-direction:column;min-width:0;background:#fff;border:1px solid #e9e1d5;border-radius:14px;overflow:hidden;color:#574536;transition:transform .2s,box-shadow .2s}
.article-related-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(80,62,39,.09);opacity:1}
.article-related-thumb{aspect-ratio:16/10;background:#e9efdf;overflow:hidden}
.article-related-thumb img{width:100%;height:100%;object-fit:cover}
.related-thumb-fallback{height:100%;display:grid;place-items:center;color:#718866;font-family:"Yu Mincho",serif}
.article-related-copy{display:flex;flex-direction:column;align-items:flex-start;flex:1;padding:13px 14px 14px}
.article-related-category{font-size:10px;color:#68815c;background:#edf3e7;border-radius:99px;padding:3px 8px;margin-bottom:7px}
.article-related-copy h3{font-size:14px;line-height:1.65;color:#574536;margin:0 0 12px}
.article-related-more{margin-top:auto;font-size:11px;font-weight:700;color:#6c875f}
.article-all-link{text-align:center;margin-top:25px}
.article-all-link a{display:inline-block;color:#5c7851;font-size:13px;font-weight:700;border-bottom:1px solid #a9bd9b;padding-bottom:4px}
.article-no-related{text-align:center;color:#76695b}
.article-consult-section{padding:50px 0 58px;background:linear-gradient(135deg,#fffaf0,#f3f6eb)}
.article-consult-inner{max-width:980px;display:grid;grid-template-columns:170px minmax(0,1fr);gap:34px;align-items:center;background:rgba(255,255,255,.78);border:1px solid #e8e2d5;border-radius:22px;padding:30px 38px}
.article-consult-art{display:grid;place-items:center}
.article-consult-art img{width:145px;height:145px;object-fit:contain}
.article-consult-copy h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(21px,2.6vw,28px);line-height:1.55;color:#574536;margin:5px 0 10px}
.article-consult-copy>p{font-size:13px;line-height:1.95;color:#6f6255;margin:0 0 9px}
.article-consult-copy .article-consult-note{font-size:12px;color:#64805a;font-weight:700}
.article-consult-actions{display:flex;align-items:center;flex-wrap:wrap;gap:15px;margin-top:18px}
.article-consult-actions .btn{font-size:13px;padding:11px 20px}
.article-nobisapo-link{font-size:12px;font-weight:700;color:#64805a}
@media(max-width:760px){
 .article-heading-band{padding:20px 0 22px}
 .article-heading-band .breadcrumbs{font-size:10px;gap:6px;margin-bottom:14px}
 .article-heading-band .entry-title{font-size:26px;line-height:1.5}
 .article-reading-ribbon{top:64px}
 .article-reading-ribbon .container{min-height:39px;gap:7px}
 .reading-ribbon-cat{font-size:9px;padding:3px 7px}
 .reading-ribbon-title{font-size:10px}
 .article-page-layout{width:calc(100% - 32px);padding:24px 0 30px}
 .article-featured-image{margin-bottom:20px}
 .article-featured-image img{border-radius:13px;max-height:280px}
 .article-body{font-size:15px;line-height:1.95}
 .article-body .lead{font-size:1rem;padding:1rem}
 .article-body h2{scroll-margin-top:115px}
 .article-next-section{padding:38px 0 42px}
 .article-next-section .container{width:calc(100% - 30px)}
 .article-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}
 .article-related-card{border-radius:11px}
 .article-related-copy{padding:10px 11px 12px}
 .article-related-copy h3{font-size:12px;line-height:1.6}
 .article-related-category{font-size:9px}
 .article-consult-section{padding:34px 0 40px}
 .article-consult-inner{width:calc(100% - 30px);grid-template-columns:68px minmax(0,1fr);gap:13px;padding:20px 15px;border-radius:17px}
 .article-consult-art img{width:68px;height:68px}
 .article-consult-copy h2{font-size:19px;line-height:1.5}
 .article-consult-copy>p{font-size:12px;line-height:1.85}
 .article-consult-actions{gap:10px;align-items:flex-start}
 .article-consult-actions .btn{width:100%;font-size:12px;padding:11px 12px}
 .article-nobisapo-link{font-size:11px}
}

/* V76: two distinct support paths; use the full, uncropped brand sprout symbol. */
.article-consult-section{padding:52px 0 60px;background:linear-gradient(135deg,#fffaf0 0%,#f3f6eb 100%)}
.article-consult-wrap{max-width:1080px;display:grid;grid-template-columns:minmax(0,1fr) 145px;gap:18px 28px;align-items:center;background:rgba(255,255,255,.78);border:1px solid #e8e2d5;border-radius:22px;padding:32px 36px}
.article-consult-heading{min-width:0}
.article-consult-heading h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(22px,2.6vw,29px);line-height:1.55;color:#574536;margin:6px 0 10px}
.article-consult-heading p{font-size:13px;line-height:1.95;color:#6f6255;margin:0}
.article-consult-wrap .article-consult-art{grid-column:2;grid-row:1;display:grid;place-items:center;overflow:visible;min-width:0}
.article-consult-wrap .article-consult-art img{display:block;width:100%;max-width:145px;height:auto;object-fit:contain;overflow:visible}
.article-service-options{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:8px}
.article-service-card{min-width:0;overflow:hidden;border:1px solid #e6dfd2;border-radius:16px;background:#fff;display:flex;flex-direction:column}
.article-service-card>img{display:block;width:100%;height:auto;aspect-ratio:720/328;object-fit:cover}
.article-service-copy{padding:18px 19px 20px;display:flex;flex-direction:column;align-items:flex-start;flex:1}
.article-service-copy>span{font-size:9px;letter-spacing:.14em;color:#849777;font-weight:700}
.article-service-copy h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#574536;font-size:19px;line-height:1.5;margin:5px 0 8px}
.article-service-copy p{font-size:12px;line-height:1.9;color:#6f6255;margin:0 0 15px}
.article-service-copy .btn{margin-top:auto;font-size:12px;padding:10px 16px}
.article-service-class .article-service-copy>span{color:#6d9aab}
@media(max-width:760px){.article-consult-section{padding:34px 0 40px}.article-consult-wrap{width:calc(100% - 30px);grid-template-columns:minmax(0,1fr) 74px;gap:12px 10px;padding:21px 15px;border-radius:17px}.article-consult-heading h2{font-size:19px;line-height:1.5}.article-consult-heading p{font-size:12px;line-height:1.85}.article-consult-wrap .article-consult-art img{width:74px;max-width:74px}.article-service-options{grid-template-columns:minmax(0,1fr);gap:13px;margin-top:4px}.article-service-copy{padding:14px 15px 16px}.article-service-copy h3{font-size:17px}.article-service-copy p{font-size:12px}.article-service-copy .btn{width:100%;text-align:center;box-sizing:border-box}}

/* V77: article footer order and TOP-matched related-story cards. */
.article-consult-section{position:relative}
.article-next-section{background:#fbf8f1}
.article-related-thumb{background:#f4f0e7}
.article-related-category{background:#f7e9e5;color:#96695b}
.article-related-more{color:#64805a}
@media(min-width:761px){.article-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.article-related-card{box-shadow:0 5px 18px rgba(82,66,45,.045)}.article-related-thumb{aspect-ratio:16/9}}

/* V86 fix: keep the introductory copy and sprout illustration visible above the service cards. */
.single .article-consult-wrap{max-width:1080px;width:min(1080px,calc(100% - 40px))}
.single .article-consult-heading,.single .article-consult-art{display:block!important}
.single .article-service-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:8px}
.single .article-service-card{min-width:0;overflow:hidden;border:1px solid #e5dfd2;border-radius:20px;background:#fffdf8;box-shadow:0 5px 18px rgba(85,65,40,.07)}
.single .article-service-card>img{width:100%;height:auto;display:block;object-fit:cover;border:0;outline:0}
.single .article-service-copy{padding:18px 20px 20px}
.single .article-service-copy p{margin:8px 0 14px}
.single .article-end-navigation{margin:26px 0 0;text-align:center}
@media(max-width:760px){.single .article-consult-section{padding:30px 0 38px}.single .article-service-options{grid-template-columns:minmax(0,1fr);gap:16px}.single .article-service-copy{padding:14px 15px 16px}}
/* V81: clear two-digit section numbering with a visible separator. */
.single .entry-content h2.section-title{display:flex;align-items:baseline;gap:.42em}
.single .entry-content h2.section-title .section-no{display:inline-flex;align-items:baseline;flex:0 0 auto;color:#8a9b70;font-size:1.08em;font-weight:700;letter-spacing:.02em}
.single .entry-content h2.section-title .section-no::after{content:"｜";display:inline-block;margin-left:.38em;color:#c7b99f;font-weight:400}
@media(max-width:760px){.single .entry-content h2.section-title{gap:.32em}.single .entry-content h2.section-title .section-no::after{margin-left:.28em}}

/* Recommended features: gentle coming-soon page */
.recommended-coming-hero{background:linear-gradient(135deg,#fffaf0 0%,#f3f6e9 58%,#eef5f1 100%);padding:42px 0 38px}
.recommended-coming-hero .breadcrumbs{margin-bottom:24px}
.recommended-coming-kicker{font-size:11px;letter-spacing:.18em;font-weight:700;color:#82976e;margin:0 0 10px}
.recommended-coming-hero h1{color:#574536;font-size:clamp(27px,3.4vw,38px);margin:0 0 12px}
.recommended-coming-hero p:last-child{color:#706457;line-height:1.9;margin:0;max-width:760px}
.recommended-coming{padding-top:42px;padding-bottom:70px;max-width:900px}
.recommended-coming-card{background:#fffdf8;border:1px solid #eee5d8;border-radius:22px;padding:clamp(28px,5vw,54px);text-align:center;box-shadow:0 8px 28px rgba(82,66,45,.05)}
.recommended-coming-sprout{font-size:42px;line-height:1.3;margin-bottom:10px}
.recommended-coming-label{font-size:11px;letter-spacing:.2em;font-weight:700;color:#82976e;margin:0 0 10px}
.recommended-coming-card h2{font-size:clamp(22px,3vw,30px);color:#574536;margin:0 0 20px}
.recommended-coming-card>p:not(.recommended-coming-label){max-width:650px;margin:0 auto 13px;color:#706457;line-height:2}
.recommended-coming-card .recommended-coming-note{color:#82976e;font-weight:700;margin-top:22px}
.recommended-coming-back{display:inline-block;margin-top:18px;color:#66835c;font-weight:700;text-decoration:none;border-bottom:1px solid #cbd8c2;padding-bottom:4px}

/* V88: unify the two watercolor service-banner edges without cropping artwork. */
html body.home .quick-action-section {
  background: #fbf8f1 !important;
  padding: 20px 0 28px !important;
}
html body.home .quick-action-section > .container {
  padding-top: 0 !important;
}
html body.home .quick-action-section .quick-action-grid {
  align-items: start !important;
  gap: 20px !important;
}
html body.home .quick-action-section .quick-action-card {
  box-sizing: border-box !important;
  border: 1px solid #e5ddcf !important;
  border-radius: 16px !important;
  background: #fffdf8 !important;
  box-shadow: 0 4px 14px rgba(91,73,57,.07) !important;
  overflow: hidden !important;
}
html body.home .quick-action-section .quick-action-visual,
html body.home .quick-action-section .quick-action-visual img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  line-height: 0 !important;
}
/* Article-end cards use the same uncropped image treatment and a single shared frame. */
.single .article-service-card {
  box-sizing: border-box !important;
  border: 1px solid #e5ddcf !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  background: #fffdf8 !important;
}
.single .article-service-card > img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  outline: 0 !important;
  border-radius: 0 !important;
}
@media(max-width:760px) {
  html body.home .quick-action-section { padding: 18px 0 24px !important; }
  html body.home .quick-action-section .quick-action-grid { gap: 14px !important; }
}


/* V92: Give the online artwork a quiet outer frame so it separates from
   the warm background. The classroom artwork already has its own frame,
   so avoid doubling its top edge. Keep both cards the same outer shape. */
html body.home .quick-action-section .quick-action-card {
  border-radius: 16px !important;
  overflow: hidden !important;
}
html body.home .quick-action-section .quick-action-consult {
  border: 1px solid #e5ddcf !important;
  box-shadow: 0 4px 14px rgba(91,73,57,.07) !important;
}
html body.home .quick-action-section .quick-action-nobisapo {
  border: 0 !important;
  box-shadow: none !important;
}
/* Apply the same image-specific frame treatment to the two article-end banners. */
.single .article-service-card { border-radius: 16px !important; }
.single .article-service-online {
  border: 1px solid #e5ddcf !important;
  box-shadow: 0 4px 14px rgba(91,73,57,.07) !important;
}
.single .article-service-class {
  border: 0 !important;
  box-shadow: none !important;
}


/* V94: both service banners use a subtle outer frame for a balanced pair.
   The classroom artwork's inner frame remains visible; this is a light outer edge. */
html body.home .quick-action-section .quick-action-consult,
html body.home .quick-action-section .quick-action-nobisapo,
.single .article-service-online,
.single .article-service-class {
  border: 1px solid #e5ddcf !important;
  box-shadow: 0 4px 14px rgba(91,73,57,.07) !important;
}

/* V96: reverse the previous inset; shift classroom artwork slightly
   toward the top-left to reduce the visible left/top whitespace. */
html body.home .quick-action-section .quick-action-nobisapo {
  padding: 0 !important;
  overflow: hidden !important;
}
html body.home .quick-action-section .quick-action-nobisapo .quick-action-visual {
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  line-height: 0 !important;
  background: transparent !important;
}
html body.home .quick-action-section .quick-action-nobisapo .quick-action-visual img {
  display: block !important;
  width: calc(100% + 8px) !important;
  max-width: none !important;
  height: auto !important;
  margin: 0 !important;
  transform: translate(-4px, -4px) !important;
  object-fit: contain !important;
  object-position: left top !important;
}
.single .article-service-class {
  padding: 0 !important;
  overflow: hidden !important;
}
.single .article-service-class > img {
  display: block !important;
  width: calc(100% + 8px) !important;
  max-width: none !important;
  margin: 0 !important;
  transform: translate(-4px, -4px) !important;
  object-fit: contain !important;
  object-position: left top !important;
}


/* V97: 伸びサポ dedicated service page */
.nobisapo-page{--ns-green:#78966d;--ns-green-dark:#52744e;--ns-brown:#76543b;--ns-cream:#fbf7ee;color:#51483f}
.nobisapo-page .ns-hero{background:linear-gradient(120deg,#fbf7ed,#f2f5e9);padding:54px 0 58px}
.nobisapo-page .ns-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:36px;align-items:center}
.nobisapo-page .ns-kicker{color:var(--ns-green-dark);font-weight:700;letter-spacing:.12em;font-size:13px}
.nobisapo-page h1,.nobisapo-page h2,.nobisapo-page h3{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:var(--ns-brown);line-height:1.55}
.nobisapo-page h1{font-size:clamp(29px,4vw,46px);margin:12px 0}
.nobisapo-page .ns-lead{font-size:15px;line-height:2;margin:18px 0 24px}
.nobisapo-page .ns-hero-art img{width:100%;border-radius:42% 42% 22px 22px;box-shadow:0 10px 28px #76543b18}
.nobisapo-page .ns-btn{display:inline-block;background:#78966d;color:#fff!important;border-radius:999px;padding:13px 25px;font-weight:700;text-align:center}
.nobisapo-page .ns-section{padding:64px 0}
.nobisapo-page .ns-section.alt{background:#fbf8f1}
.nobisapo-page .ns-head{text-align:center;max-width:760px;margin:0 auto 32px}
.nobisapo-page .ns-head h2{font-size:clamp(25px,3vw,34px);margin:5px 0 10px}
.nobisapo-page .ns-kicker-small{color:var(--ns-green-dark);font-size:12px;font-weight:700;letter-spacing:.16em}
.nobisapo-page .ns-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.nobisapo-page .ns-card{background:#fff;border:1px solid #ece4d8;border-radius:20px;padding:24px;box-shadow:0 8px 24px #5941240b}
.nobisapo-page .ns-card img{width:100%;height:190px;object-fit:cover;border-radius:14px;margin-bottom:18px}
.nobisapo-page .ns-card h3{font-size:21px;margin:0 0 10px}
.nobisapo-page .ns-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.nobisapo-page .ns-list-item{background:#fff;border-radius:16px;padding:18px;border:1px solid #eee6da}
.nobisapo-page .ns-time{display:grid;grid-template-columns:4fr 1fr;gap:12px;align-items:center;max-width:760px;margin:auto}
.nobisapo-page .ns-time div{padding:18px;border-radius:14px;background:#eaf1e5;text-align:center;font-weight:700}
.nobisapo-page .ns-time div+div{background:#f6eadc}
.nobisapo-page .ns-price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:760px;margin:auto}
.nobisapo-page .ns-price{background:#fff;border:1px solid #e8dfcf;border-radius:18px;padding:24px;text-align:center}
.nobisapo-page .ns-price strong{display:block;color:var(--ns-green-dark);font-size:30px;margin:8px 0}
.nobisapo-page .ns-note{font-size:13px;color:#76695b}
.nobisapo-page .ns-profile{display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:center;max-width:900px;margin:auto}
.nobisapo-page .ns-profile img{width:100%;border-radius:18px}
.nobisapo-page .ns-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;text-align:center}
.nobisapo-page .ns-step{background:#fff;border-radius:18px;padding:22px 16px;border:1px solid #ece4d8}
.nobisapo-page .ns-step b{display:block;color:var(--ns-green-dark);font-size:18px;margin-bottom:8px}
.nobisapo-page .ns-final{text-align:center;background:linear-gradient(120deg,#f7f1e5,#edf3e7);padding:54px 24px;border-radius:24px}
@media(max-width:700px){.nobisapo-page .ns-hero-grid,.nobisapo-page .ns-grid,.nobisapo-page .ns-price-grid,.nobisapo-page .ns-profile{grid-template-columns:1fr}.nobisapo-page .ns-hero-art{max-width:460px;margin:auto}.nobisapo-page .ns-list{grid-template-columns:1fr 1fr}.nobisapo-page .ns-time{grid-template-columns:1fr}.nobisapo-page .ns-steps{grid-template-columns:1fr}.nobisapo-page .ns-section{padding:46px 0}}


/* V97 feature cards: five reasons to choose Nobisapo */
.nobisapo-page .ns-feature-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;max-width:980px;margin:0 auto}
.nobisapo-page .ns-feature{display:flex;gap:16px;align-items:flex-start;background:#fff;border:1px solid #ece4d8;border-radius:18px;padding:22px;box-shadow:0 8px 24px #5941240b}
.nobisapo-page .ns-feature:last-child{grid-column:1/-1}
.nobisapo-page .ns-feature-number{flex:0 0 42px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#e9f0e5;color:var(--ns-green-dark);font-weight:700;font-size:14px}
.nobisapo-page .ns-feature h3{margin:2px 0 8px;font-size:19px;color:var(--ns-text,#51483e)}
.nobisapo-page .ns-feature p{margin:0;line-height:1.85;color:#665d53}
@media(max-width:700px){.nobisapo-page .ns-feature-grid{grid-template-columns:1fr}.nobisapo-page .ns-feature:last-child{grid-column:auto}.nobisapo-page .ns-feature{padding:18px}}

/* 伸びサポ：ブランドロゴを活かしたヒーローと整理した紹介レイアウト */
.nobisapo-page .ns-hero-revised{grid-template-columns:1.08fr .92fr;gap:34px;align-items:center}
.nobisapo-page .ns-hero-logo{display:block;width:min(100%,570px);height:auto;margin:0 auto 12px;filter:drop-shadow(0 5px 12px #6d8a4b12)}
.nobisapo-page .ns-hero-brand .ns-kicker{margin-top:8px}
.nobisapo-page .ns-hero-brand h1{line-height:1.55}
.nobisapo-page .ns-hero-art{position:relative;max-width:100%;}
.nobisapo-page .ns-hero-art img{width:100%;height:390px;object-fit:cover;object-position:center;border-radius:48% 48% 24px 24px;box-shadow:0 12px 30px #76543b18}
.nobisapo-page .ns-hero-caption{margin:14px 0 0;text-align:center;color:#795334;font-weight:700;letter-spacing:.06em}
.nobisapo-page .ns-support-grid{align-items:stretch}
.nobisapo-page .ns-support-card{padding:18px 18px 22px}
.nobisapo-page .ns-support-image{position:relative;margin-bottom:18px}
.nobisapo-page .ns-support-image img{display:block;width:100%;height:210px;object-fit:cover;border-radius:15px;margin:0}
.nobisapo-page .ns-support-image span{position:absolute;right:12px;bottom:12px;display:inline-flex;align-items:center;justify-content:center;min-width:66px;height:66px;padding:8px;border-radius:50%;background:#fff9e9;color:#27764f;border:2px solid #d8e9bd;font-size:23px;font-weight:800;box-shadow:0 3px 10px #5d4b241c}
.nobisapo-page .ns-profile{grid-template-columns:190px 1fr;gap:30px;max-width:900px}
.nobisapo-page .ns-profile img{width:180px;height:180px;object-fit:cover;object-position:42% 28%;aspect-ratio:1/1;border-radius:50%;border:7px solid #f3f6e9;box-shadow:0 5px 20px #6c8a4a20}
.nobisapo-page .ns-list-item{line-height:1.5}
@media(max-width:700px){
 .nobisapo-page .ns-hero-revised{grid-template-columns:1fr;gap:22px}
 .nobisapo-page .ns-hero-logo{max-width:480px}
 .nobisapo-page .ns-hero-art{max-width:420px;margin:auto}
 .nobisapo-page .ns-hero-art img{height:300px}
 .nobisapo-page .ns-profile{grid-template-columns:1fr;text-align:center}
 .nobisapo-page .ns-profile img{margin:0 auto}
 .nobisapo-page .ns-support-image img{height:180px}
}

/* Ver.98.2：画像を切り取らず、元の縦横比で表示 */
.nobisapo-page .ns-hero-art img{
  display:block;
  width:100%;
  height:auto !important;
  max-height:none;
  object-fit:contain !important;
  object-position:center;
  border-radius:24px;
}
.nobisapo-page .ns-support-image img{
  display:block;
  width:100%;
  height:auto !important;
  aspect-ratio:auto;
  object-fit:contain !important;
  border-radius:15px;
}
@media(max-width:700px){
  .nobisapo-page .ns-hero-art img,
  .nobisapo-page .ns-support-image img{height:auto !important;}
}

/* Ver.99 brand asset layout */
.nobisapo-page .ns-hero{background:linear-gradient(135deg,#fbfcf5 0%,#fffaf1 100%);}
.nobisapo-page .ns-hero-revised{grid-template-columns:.88fr 1.12fr;gap:28px;align-items:center}
.nobisapo-page .ns-hero-logo{width:min(100%,440px);height:auto;object-fit:contain;filter:none}
.nobisapo-page .ns-hero-art img{width:100%;height:auto;max-height:500px;object-fit:contain;object-position:center;border-radius:28px;box-shadow:0 12px 30px #76543b18}
.nobisapo-page .ns-key-message{padding:26px 0;background:#fffdf8}
.nobisapo-page .ns-key-message img{display:block;width:100%;height:auto;border-radius:22px;box-shadow:0 8px 24px #6c8a4a12}
.nobisapo-page .ns-support-image img{width:100%;height:auto;aspect-ratio:1.55/1;object-fit:cover;border-radius:18px}
@media(max-width:767px){.nobisapo-page .ns-hero-revised{grid-template-columns:1fr}.nobisapo-page .ns-hero-logo{max-width:360px}.nobisapo-page .ns-hero-art{max-width:100%}.nobisapo-page .ns-key-message{padding:16px 0}.nobisapo-page .ns-key-message img{border-radius:14px}}


/* Ver.100: real instructor portrait; compact, natural vertical profile photo */
.nobisapo-page .ns-profile{grid-template-columns:170px 1fr;gap:28px;align-items:center}
.nobisapo-page .ns-profile img{display:block;width:160px;height:205px;object-fit:cover;object-position:center 30%;aspect-ratio:160/205;border-radius:22px;border:5px solid #f3f6e9;box-shadow:0 5px 18px #6c8a4a20}
@media(max-width:700px){.nobisapo-page .ns-profile{grid-template-columns:1fr;text-align:center}.nobisapo-page .ns-profile img{width:145px;height:185px;margin:0 auto}}


/* Ver.101: reuse the established watercolor sprout motif and keep the instructor portrait natural. */
.nobisapo-page .ns-key-message{position:relative;overflow:hidden;padding:26px 0 34px;background:linear-gradient(180deg,#fffdf7 0%,#fbfcf5 100%)}
.nobisapo-page .ns-key-message .container{position:relative;z-index:1}
.nobisapo-page .ns-key-message img{display:block;width:100%;height:auto;max-height:none;object-fit:contain;border-radius:20px;box-shadow:0 8px 24px rgba(104,133,70,.08)}
.nobisapo-page .ns-profile{grid-template-columns:170px minmax(0,1fr);gap:28px;align-items:center}
.nobisapo-page .ns-profile img{display:block;width:160px;height:205px;object-fit:cover;object-position:50% 24%;aspect-ratio:160/205;border-radius:22px;border:5px solid #f5f7ed;box-shadow:0 6px 20px rgba(80,104,62,.14)}
.nobisapo-page .ns-profile img+div{min-width:0}
.nobisapo-page .ns-profile ul{padding:16px 20px;margin:16px 0 0;background:#fbf9ed;border:1px solid #f0ead2;border-radius:18px}
@media(max-width:700px){.nobisapo-page .ns-profile{grid-template-columns:1fr;text-align:center}.nobisapo-page .ns-profile img{width:145px;height:185px;margin:0 auto}.nobisapo-page .ns-profile ul{text-align:left}.nobisapo-page .ns-key-message{padding:18px 0 24px}.nobisapo-page .ns-key-message img{border-radius:12px}}
.nobisapo-page .ns-key-message-accent{display:block;width:128px;margin:-12px auto 0;position:relative;z-index:2;opacity:.95}
.nobisapo-page .ns-key-message-accent img{width:100%;height:auto;border-radius:0;box-shadow:none}


/* Ver.102: homepage visual direction unified; preserve all service copy and section order. */
.nobisapo-page .ns-hero-unified{padding:28px 0 42px;background:linear-gradient(180deg,#fffdf8 0%,#f8fbf1 100%)}
.nobisapo-page .ns-main-banner{max-width:1180px;margin:0 auto}
.nobisapo-page .ns-main-banner img{display:block;width:100%;height:auto;border-radius:24px;box-shadow:0 10px 28px rgba(94,112,65,.10)}
.nobisapo-page .ns-hero-intro{max-width:850px;margin:28px auto 0;text-align:center;padding:0 18px}
.nobisapo-page .ns-hero-intro h1{font-size:clamp(25px,3vw,38px);line-height:1.55;color:#65503d;margin:8px 0 12px}
.nobisapo-page .ns-hero-intro .ns-lead{max-width:760px;margin:0 auto 20px;line-height:1.95}
.nobisapo-page .ns-key-message{padding:28px 0 36px;background:linear-gradient(180deg,#fffdf8 0%,#f8fbf1 100%)}
.nobisapo-page .ns-key-message img{border-radius:20px;box-shadow:0 8px 24px rgba(104,133,70,.08)}
.nobisapo-page .ns-section{background:#fff}
.nobisapo-page .ns-section.alt{background:#fbfaf4}
.nobisapo-page .ns-head h2{color:#537c43}
.nobisapo-page .ns-feature,.nobisapo-page .ns-card,.nobisapo-page .ns-price{border-color:#e8eddc;box-shadow:0 8px 24px rgba(82,105,61,.06)}
.nobisapo-page .ns-support-card{background:#fff;border-radius:22px}
.nobisapo-page .ns-support-image img{height:auto!important;object-fit:contain!important;background:#f7f8ef}
.nobisapo-page .ns-profile{background:#f7faef;border:1px solid #e7edda;border-radius:26px;padding:26px;box-shadow:0 8px 24px rgba(82,105,61,.06)}
.nobisapo-page .ns-profile img{object-position:50% 24%}
.nobisapo-page .ns-final{background:linear-gradient(125deg,#f5f8e9,#fff5e9);border:1px solid #e8edda}
@media(max-width:700px){.nobisapo-page .ns-hero-unified{padding:14px 0 30px}.nobisapo-page .ns-main-banner img{border-radius:14px}.nobisapo-page .ns-hero-intro{margin-top:20px}.nobisapo-page .ns-profile{padding:20px 16px}.nobisapo-page .ns-key-message{padding:18px 0 24px}}


/* Ver.103: make the two support panels and instructor profile feel like one visual family. */
.nobisapo-page .ns-support-grid{gap:24px;align-items:stretch}
.nobisapo-page .ns-support-card{overflow:hidden;border:1px solid #e8eddc;border-radius:24px;background:#fffdf8;box-shadow:0 9px 26px rgba(82,105,61,.08);padding:14px}
.nobisapo-page .ns-support-image{position:relative;margin:-14px -14px 18px;overflow:hidden;background:#f4f7eb}
.nobisapo-page .ns-support-image img{display:block;width:100%;height:220px!important;object-fit:cover!important;object-position:center;border-radius:0!important}
.nobisapo-page .ns-support-image span{position:absolute;right:16px;top:16px;display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:8px 15px;border-radius:999px;background:#78ae48;color:#fff;font-size:1.15rem;font-weight:700;box-shadow:0 3px 12px #456b3325}
.nobisapo-page .ns-support-card:nth-child(2) .ns-support-image span{background:#e99a55}
.nobisapo-page .ns-support-card h3{color:#527d40;margin:0 8px 8px;font-size:1.2rem}
.nobisapo-page .ns-support-card p{margin:0 8px 10px;line-height:1.9}
.nobisapo-page .ns-profile-banner{display:grid;grid-template-columns:230px minmax(0,1fr);gap:30px;align-items:center;position:relative;overflow:hidden;padding:30px;border:1px solid #e4ebd7;border-radius:28px;background:linear-gradient(115deg,#f1f7e8 0%,#fffdf6 70%,#fff8ed 100%);box-shadow:0 10px 28px rgba(82,105,61,.08)}
.nobisapo-page .ns-profile-banner:after{content:"";position:absolute;width:170px;height:170px;right:-55px;bottom:-80px;border:2px dashed #c4d9a8;border-radius:50%;pointer-events:none}
.nobisapo-page .ns-profile-photo-wrap{position:relative;z-index:1;padding:8px;background:#fff;border-radius:24px;box-shadow:0 7px 22px rgba(82,105,61,.13)}
.nobisapo-page .ns-profile-photo-wrap img{display:block;width:100%;height:280px;object-fit:cover;object-position:50% 24%;border-radius:18px}
.nobisapo-page .ns-profile-content{position:relative;z-index:1;min-width:0}
.nobisapo-page .ns-profile-label{margin:0 0 7px;color:#8a9e67;font-size:.72rem;letter-spacing:.13em;font-weight:700}
.nobisapo-page .ns-profile-content h3{margin:0 0 12px;color:#527d40;font-size:clamp(1.25rem,2.3vw,1.75rem);line-height:1.55}
.nobisapo-page .ns-profile-content>p:not(.ns-profile-label):not(.ns-profile-footnote){line-height:1.95;margin:0 0 18px;color:#665746}
.nobisapo-page .ns-profile-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0}
.nobisapo-page .ns-profile-stats div{padding:13px 8px;text-align:center;border-radius:16px;background:rgba(255,255,255,.82);border:1px solid #e5ecd9}
.nobisapo-page .ns-profile-stats strong{display:block;color:#548b43;font-size:clamp(1.05rem,1.8vw,1.45rem);line-height:1.4;white-space:nowrap}
.nobisapo-page .ns-profile-stats span{display:block;color:#77634f;font-size:.78rem;margin-top:4px}
.nobisapo-page .ns-profile-footnote{margin:12px 0 0;color:#806b55;font-size:.88rem}
@media(max-width:760px){.nobisapo-page .ns-profile-banner{grid-template-columns:145px minmax(0,1fr);gap:18px;padding:18px}.nobisapo-page .ns-profile-photo-wrap img{height:205px}.nobisapo-page .ns-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}
@media(max-width:520px){.nobisapo-page .ns-profile-banner{grid-template-columns:1fr;text-align:center}.nobisapo-page .ns-profile-photo-wrap{width:155px;margin:0 auto}.nobisapo-page .ns-profile-photo-wrap img{height:195px}.nobisapo-page .ns-profile-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.nobisapo-page .ns-support-image img{height:190px!important}}

/* Ver.104: calm approved hero banner + circular bright instructor portrait */
.nobisapo-page .ns-main-banner{max-width:1180px;margin:0 auto}
.nobisapo-page .ns-main-banner img{display:block;width:100%;height:auto;object-fit:contain;border-radius:18px;box-shadow:0 6px 20px rgba(94,112,65,.07)}
.nobisapo-page .ns-profile-banner{grid-template-columns:190px minmax(0,1fr);gap:28px}
.nobisapo-page .ns-profile-photo-wrap{width:184px;height:184px;padding:7px;border-radius:50%;overflow:hidden;background:#fff;box-shadow:0 5px 18px rgba(82,105,61,.12)}
.nobisapo-page .ns-profile-photo-wrap img{width:100%;height:100%;object-fit:cover;object-position:center 28%;border-radius:50%;filter:brightness(1.035) saturate(1.02)}
@media(max-width:760px){.nobisapo-page .ns-profile-banner{grid-template-columns:132px minmax(0,1fr);gap:18px}.nobisapo-page .ns-profile-photo-wrap{width:128px;height:128px}.nobisapo-page .ns-profile-photo-wrap img{height:100%}}
@media(max-width:520px){.nobisapo-page .ns-profile-banner{grid-template-columns:1fr;text-align:center}.nobisapo-page .ns-profile-photo-wrap{width:148px;height:148px;margin:0 auto}.nobisapo-page .ns-profile-photo-wrap img{height:100%}}

/* Ver.105: independent brand logo + replaceable lesson photograph */
.nobisapo-page .ns-hero-unified{padding:34px 0 42px;background:linear-gradient(180deg,#fffdf8 0%,#f8fbf1 100%)}
.nobisapo-page .ns-hero-revised{display:grid;grid-template-columns:.95fr 1.05fr;align-items:center;gap:34px;max-width:1120px;margin:0 auto}
.nobisapo-page .ns-hero-logo-wrap{display:flex;align-items:center;justify-content:center;min-width:0;padding:8px}
.nobisapo-page .ns-hero-logo{display:block;width:100%;max-width:520px;height:auto;object-fit:contain;filter:none}
.nobisapo-page .ns-hero-art{min-width:0}
.nobisapo-page .ns-hero-art img{display:block;width:100%;height:350px;object-fit:cover;object-position:center;border-radius:42% 42% 22px 22px / 34% 34% 22px 22px;box-shadow:0 10px 28px rgba(94,112,65,.10)}
.nobisapo-page .ns-hero-intro{max-width:850px;margin:26px auto 0;text-align:center;padding:0 18px}
.nobisapo-page .ns-hero-intro h1{font-size:clamp(25px,3vw,38px);line-height:1.55;color:#65503d;margin:8px 0 12px}
.nobisapo-page .ns-hero-intro .ns-lead{max-width:760px;margin:0 auto 20px;line-height:1.95}
@media(max-width:760px){.nobisapo-page .ns-hero-revised{grid-template-columns:1fr;gap:14px}.nobisapo-page .ns-hero-logo{max-width:420px}.nobisapo-page .ns-hero-art{max-width:540px;width:100%;margin:0 auto}.nobisapo-page .ns-hero-art img{height:250px}.nobisapo-page .ns-hero-unified{padding:18px 0 30px}.nobisapo-page .ns-hero-intro{margin-top:18px}}

/* Ver.106: whole-homepage balance pass. Keep all approved copy and banner artwork unchanged. */
/* Hero: retain the clean approved message while adding a quiet warm frame and breathing room. */
html body.home .hero-image-section{
  padding:clamp(12px,2.2vw,28px) clamp(10px,2.2vw,28px) clamp(8px,1.5vw,18px)!important;
  background:linear-gradient(180deg,#fffdf9 0%,#fbf8f0 100%)!important;
}
html body.home .hero-image-wrap{
  width:100%!important;max-width:1560px!important;margin:0 auto!important;
  overflow:hidden!important;border-radius:clamp(10px,1.4vw,20px)!important;
  box-shadow:0 5px 22px rgba(105,83,55,.055)!important;
}
html body.home .hero-image{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important}
/* The approved sub-banner remains full and legible; align its edges with the hero frame. */
html body.home .media-intro-banner-section{padding:0 clamp(10px,2.2vw,28px) 20px!important;background:#fbf8f0!important}
html body.home .media-intro-banner-link{max-width:1560px!important;margin:0 auto!important}
html body.home .media-intro-banner-image{width:100%!important;height:auto!important;object-fit:contain!important}
/* Profile: reduce the oversized portrait impression by scaling the two existing story panels
   as a calm, centered editorial block. The images and all wording remain untouched. */
html body.home .profile-banners-row{
  display:flex!important;flex-direction:column!important;align-items:center!important;
  gap:14px!important;width:100%!important;max-width:1120px!important;
  margin:30px auto 36px!important;padding:0 20px!important;box-sizing:border-box!important;
}
html body.home .profile-banners-row .profile-banner-part{
  width:100%!important;max-width:100%!important;margin:0!important;
  border-radius:16px!important;overflow:hidden!important;
  background:#fffdf8!important;box-shadow:0 4px 18px rgba(105,83,55,.055)!important;
}
html body.home .profile-banners-row .profile-banner-part img{
  display:block!important;width:100%!important;max-width:100%!important;height:auto!important;
  object-fit:contain!important;
}
@media(max-width:760px){
 html body.home .hero-image-section{padding:8px 8px 6px!important}
 html body.home .hero-image-wrap{border-radius:10px!important}
 html body.home .media-intro-banner-section{padding:0 8px 12px!important}
 html body.home .profile-banners-row{gap:10px!important;margin:18px auto 24px!important;padding:0 12px!important}
 html body.home .profile-banners-row .profile-banner-part{border-radius:11px!important;box-shadow:0 2px 10px rgba(105,83,55,.045)!important}
}

/* V109: clearer separation of access information and consultation CTA; refined reading rhythm */
.nobisapo-page .ns-access-section{padding:76px 0 82px;background:linear-gradient(180deg,#fbfaf4 0%,#f6f8ef 100%);}
.nobisapo-page .ns-access-heading{max-width:760px;margin:0 auto 30px;text-align:center;}
.nobisapo-page .ns-access-heading h2{margin:6px 0 10px;color:#527d40;font-size:clamp(1.65rem,2.6vw,2.15rem);line-height:1.45;letter-spacing:.025em;}
.nobisapo-page .ns-access-heading>p:last-child{margin:0;color:#756653;line-height:1.9;}
.nobisapo-page .ns-access-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:22px;max-width:1000px;margin:0 auto;align-items:stretch;}
.nobisapo-page .ns-access-card{min-width:0;padding:28px 30px;border:1px solid #e5eadb;border-radius:22px;background:rgba(255,255,255,.88);box-shadow:0 8px 24px rgba(82,105,61,.055);}
.nobisapo-page .ns-access-card h3{margin:0 0 20px;color:#527d40;font-size:1.22rem;line-height:1.5;}
.nobisapo-page .ns-access-routes ul{list-style:none;margin:0;padding:0;}
.nobisapo-page .ns-access-routes li{display:grid;grid-template-columns:minmax(115px,.7fr) 1.3fr;gap:16px;align-items:center;padding:14px 0;border-top:1px solid #edf0e7;}
.nobisapo-page .ns-access-routes li:first-child{border-top:0;padding-top:0;}
.nobisapo-page .ns-access-station{font-weight:700;color:#665746;}
.nobisapo-page .ns-access-detail{color:#756653;font-size:.94rem;line-height:1.7;}
.nobisapo-page .ns-access-detail strong{display:inline-block;margin-top:2px;color:#4f7d3e;font-size:1.08rem;}
.nobisapo-page .ns-access-room{display:flex;flex-direction:column;justify-content:center;background:linear-gradient(145deg,#fffdf7 0%,#f7f9f0 100%);}
.nobisapo-page .ns-access-room>p{margin:0;color:#6d5d4d;line-height:2;}
.nobisapo-page .ns-access-room .ns-access-privacy{margin-top:20px;padding:13px 15px;border-radius:12px;background:#fff;border:1px solid #edf0e7;color:#81715f;font-size:.88rem;line-height:1.8;}
.nobisapo-page .ns-contact-section{padding-top:58px;padding-bottom:72px;}
.nobisapo-page .ns-contact-section .ns-final{max-width:850px;margin:0 auto;padding:46px 34px;text-align:center;border-radius:26px;box-shadow:0 10px 28px rgba(82,105,61,.07);}
.nobisapo-page .ns-contact-section .ns-final h2{margin:7px 0 12px;color:#527d40;font-size:clamp(1.55rem,2.5vw,2rem);line-height:1.5;}
.nobisapo-page .ns-contact-section .ns-final>p:not(.ns-kicker-small){max-width:620px;margin:0 auto 22px;color:#6d5d4d;line-height:1.95;}
.nobisapo-page .ns-contact-section .ns-btn{margin-top:2px;}
.nobisapo-page .ns-section{padding-top:68px;padding-bottom:72px;}
.nobisapo-page .ns-head{max-width:820px;margin:0 auto 30px;}
.nobisapo-page .ns-head h2{line-height:1.5;letter-spacing:.015em;}
.nobisapo-page .ns-head>p:not(.ns-kicker-small){line-height:1.95;color:#756653;}
.nobisapo-page .ns-feature p,.nobisapo-page .ns-card p,.nobisapo-page .ns-profile-content p{line-height:1.95;}
.nobisapo-page .ns-list-item{line-height:1.75;padding:16px 18px;}
.nobisapo-page .ns-price{padding:24px 22px;}
@media(max-width:760px){
 .nobisapo-page .ns-access-section{padding:52px 0 58px;}
 .nobisapo-page .ns-access-layout{grid-template-columns:1fr;gap:14px;}
 .nobisapo-page .ns-access-card{padding:22px 20px;border-radius:18px;}
 .nobisapo-page .ns-access-routes li{grid-template-columns:110px 1fr;gap:10px;padding:12px 0;}
 .nobisapo-page .ns-contact-section{padding:38px 0 52px;}
 .nobisapo-page .ns-contact-section .ns-final{padding:34px 20px;border-radius:20px;}
 .nobisapo-page .ns-section{padding-top:48px;padding-bottom:52px;}
}

/* V110: mobile-first readability, clearer 50-minute explanation and quick fee comparison */
.nobisapo-page{overflow-wrap:anywhere;}
.nobisapo-page .ns-hero-intro h1,
.nobisapo-page .ns-head h2,
.nobisapo-page .ns-access-heading h2,
.nobisapo-page .ns-final h2{ text-wrap:balance; }
.nobisapo-page .ns-hero-intro .ns-lead,
.nobisapo-page .ns-head>p:not(.ns-kicker-small),
.nobisapo-page .ns-feature p,
.nobisapo-page .ns-card p,
.nobisapo-page .ns-profile-content p{line-break:strict;}
.nobisapo-page .ns-price-compare{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;max-width:960px;align-items:stretch;}
.nobisapo-page .ns-price-compare .ns-price{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:23px 14px;border-radius:18px;}
.nobisapo-page .ns-price-compare .ns-price h3{font-size:1.02rem;line-height:1.45;margin:0 0 12px;}
.nobisapo-page .ns-price-compare .ns-price strong{display:flex;align-items:baseline;justify-content:center;gap:3px;white-space:nowrap;margin:0;color:var(--ns-green-dark);line-height:1.2;}
.nobisapo-page .ns-price-compare .ns-price strong span{font-size:clamp(1.55rem,2.4vw,2.05rem);font-weight:750;letter-spacing:-.035em;}
.nobisapo-page .ns-price-compare .ns-price strong small{font-size:.78rem;font-weight:600;}
.nobisapo-page .ns-price-compare .ns-price p{margin:10px 0 0;color:#756653;font-size:.9rem;line-height:1.6;}
.nobisapo-page .ns-price-compare .ns-price-spot{background:linear-gradient(145deg,#fffdf7,#f7f9f0);}
.nobisapo-page .ns-price-notes{max-width:900px;margin:20px auto 0;padding:16px 20px;border-radius:14px;background:rgba(255,255,255,.72);color:#756653;font-size:.9rem;line-height:1.85;}
.nobisapo-page .ns-price-notes p{margin:0;}
.nobisapo-page .ns-price-notes p+p{margin-top:7px;}
@media(max-width:760px){
 .nobisapo-page .ns-price-compare{grid-template-columns:1fr;gap:9px;max-width:560px;}
 .nobisapo-page .ns-price-compare .ns-price{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;column-gap:12px;text-align:left;padding:15px 17px;border-radius:15px;}
 .nobisapo-page .ns-price-compare .ns-price h3{grid-column:1;grid-row:1;margin:0;font-size:.96rem;}
 .nobisapo-page .ns-price-compare .ns-price strong{grid-column:2;grid-row:1 / span 2;justify-content:flex-end;}
 .nobisapo-page .ns-price-compare .ns-price strong span{font-size:clamp(1.45rem,6vw,1.8rem);}
 .nobisapo-page .ns-price-compare .ns-price p{grid-column:1;grid-row:2;margin:4px 0 0;font-size:.8rem;}
 .nobisapo-page .ns-price-notes{margin-top:14px;padding:14px 15px;font-size:.84rem;}
 .nobisapo-page .ns-hero-intro h1{font-size:clamp(1.55rem,6vw,2rem);line-height:1.48;}
 .nobisapo-page .ns-head h2{font-size:clamp(1.35rem,5.2vw,1.75rem);line-height:1.48;}
 .nobisapo-page .ns-feature h3{font-size:1.05rem;line-height:1.5;}
 .nobisapo-page .ns-access-routes li{grid-template-columns:minmax(100px,.75fr) 1.25fr;}
}
@media(max-width:380px){
 .nobisapo-page .ns-price-compare .ns-price{padding:13px 12px;column-gap:8px;}
 .nobisapo-page .ns-price-compare .ns-price strong span{font-size:1.38rem;}
 .nobisapo-page .ns-price-compare .ns-price strong small{font-size:.7rem;}
 .nobisapo-page .ns-access-routes li{grid-template-columns:1fr;gap:3px;}
}


/* V111: consistent alternating section backgrounds on the Nobisapo page */
.nobisapo-page .ns-section{background:#fff;}
.nobisapo-page .ns-section.alt{background:#f3f7ec;}
.nobisapo-page .ns-access-section{background:#fff;}
.nobisapo-page .ns-contact-section{background:#f3f7ec;}
@media(max-width:760px){
 .nobisapo-page .ns-section.alt{background:#f3f7ec;}
}

/* V112: site-wide typography system — readable Japanese sans-serif, calm hierarchy */
:root{
  --hl-font-sans:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,Meiryo,sans-serif;
  --hl-heading:#66513f;
  --hl-body:#554d43;
}
html{ -webkit-text-size-adjust:100%; }
body{
  font-family:var(--hl-font-sans)!important;
  color:var(--hl-body);
  overflow-wrap:break-word;
  word-break:normal;
  line-break:strict;
}
/* Keep the logotype's Mincho character as a deliberate brand element;
   use one consistent sans-serif family for all content headings. */
body :is(h1,h2,h3,h4,h5,h6),
body .section-title,
body .page-hero h1,
body .entry-title,
body .entry-content h2,
body .entry-content h3,
body .about-copy h2,
body .cta-band h3{
  font-family:var(--hl-font-sans)!important;
  color:var(--hl-heading);
  font-weight:650;
  letter-spacing:.01em;
  word-break:normal;
  overflow-wrap:break-word;
  line-break:strict;
  text-wrap:pretty;
}
body .section-title{font-size:clamp(1.35rem,2.15vw,1.85rem)!important;line-height:1.5!important;}
body .page-hero h1{font-size:clamp(1.55rem,2.8vw,2.25rem)!important;line-height:1.45!important;}
body .entry-title{font-size:clamp(1.55rem,2.7vw,2.2rem)!important;line-height:1.48!important;}
body .entry-content h2{font-size:clamp(1.3rem,2vw,1.7rem)!important;line-height:1.5!important;}
body .entry-content h3{font-size:clamp(1.08rem,1.55vw,1.3rem)!important;line-height:1.55!important;}
body .entry-content,body .article-body{overflow-wrap:break-word!important;word-break:normal!important;}
/* Nobisapo: scale headings to their actual content width on both screens. */
.nobisapo-page .ns-hero-intro h1{
  font-family:var(--hl-font-sans)!important;
  font-size:clamp(1.45rem,2.65vw,2.15rem)!important;
  font-weight:700;line-height:1.48!important;letter-spacing:.005em;
  word-break:normal;overflow-wrap:break-word;line-break:strict;
  text-wrap:pretty;max-width:22em;
}
.nobisapo-page .ns-head h2{
  font-family:var(--hl-font-sans)!important;
  font-size:clamp(1.28rem,2.05vw,1.7rem)!important;
  font-weight:650;line-height:1.5!important;letter-spacing:.005em;
  word-break:normal;overflow-wrap:break-word;line-break:strict;
  text-wrap:pretty;
}
.nobisapo-page .ns-profile-content h3,
.nobisapo-page .ns-feature h3,
.nobisapo-page .ns-card h3,
.nobisapo-page .ns-price h3,
.nobisapo-page .ns-access-card h3{
  font-family:var(--hl-font-sans)!important;
  font-weight:650;line-height:1.5;letter-spacing:0;
  word-break:normal;overflow-wrap:break-word;line-break:strict;
}
@media(max-width:760px){
  body{font-size:15px;line-height:1.9;}
  body .section-title{font-size:clamp(1.25rem,5vw,1.55rem)!important;line-height:1.52!important;}
  body .page-hero h1,body .entry-title{font-size:clamp(1.4rem,5.8vw,1.8rem)!important;line-height:1.5!important;}
  body .entry-content h2{font-size:clamp(1.2rem,4.8vw,1.45rem)!important;line-height:1.55!important;}
  body .entry-content h3{font-size:1.08rem!important;line-height:1.55!important;}
  .nobisapo-page .ns-hero-intro h1{font-size:clamp(1.38rem,5.6vw,1.8rem)!important;line-height:1.5!important;}
  .nobisapo-page .ns-head h2{font-size:clamp(1.22rem,4.8vw,1.5rem)!important;line-height:1.55!important;}
}
@media(max-width:380px){
  .nobisapo-page .ns-hero-intro h1{font-size:1.32rem!important;}
  .nobisapo-page .ns-head h2{font-size:1.18rem!important;}
}

/* V113: Nobisapo feature story — a clear vertical reading path */
.nobisapo-page .ns-feature-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;max-width:900px;margin:0 auto 28px;text-align:left}
.nobisapo-page .ns-feature-heading-copy{flex:1;min-width:0}
.nobisapo-page .ns-feature-heading-copy .ns-kicker-small{margin-bottom:8px}
.nobisapo-page .ns-feature-heading-copy h2{margin-bottom:12px}
.nobisapo-page .ns-feature-heading-copy>p:last-child{margin-bottom:0}
.nobisapo-page .ns-feature-heading-art{display:block;width:clamp(112px,18vw,178px);height:auto;object-fit:contain;flex:0 0 auto}
.nobisapo-page .ns-feature-grid{display:flex;flex-direction:column;gap:0;max-width:860px;margin:0 auto;position:relative}
.nobisapo-page .ns-feature-grid:before{content:"";position:absolute;left:25px;top:30px;bottom:30px;width:1px;background:#dce7d3}
.nobisapo-page .ns-feature{position:relative;display:flex;align-items:flex-start;gap:20px;width:100%;padding:22px 24px;background:transparent;border:0;border-bottom:1px solid #e8eddf;border-radius:0;box-shadow:none}
.nobisapo-page .ns-feature:last-child{border-bottom:0}
.nobisapo-page .ns-feature-number{position:relative;z-index:1;flex:0 0 52px;width:52px;height:52px;border:5px solid #fff;border-radius:50%;display:grid;place-items:center;background:#e9f0e5;color:var(--ns-green-dark);font-size:14px;font-weight:700}
.nobisapo-page .ns-feature>div{flex:1;min-width:0;padding-top:3px}
.nobisapo-page .ns-feature h3{margin:0 0 7px;font-size:clamp(17px,1.7vw,20px);line-height:1.5;letter-spacing:.015em;color:var(--ns-text,#51483e)}
.nobisapo-page .ns-feature p{margin:0;max-width:68em;line-height:1.9;color:#665d53}
.nobisapo-page .ns-feature-end-art{display:flex;justify-content:flex-end;max-width:860px;margin:0 auto;padding:4px 20px 0}
.nobisapo-page .ns-feature-end-art img{width:92px;height:auto;object-fit:contain;opacity:.9}
@media(max-width:700px){
 .nobisapo-page .ns-feature-heading{gap:10px;margin-bottom:18px;text-align:left}
 .nobisapo-page .ns-feature-heading-art{width:92px;max-width:28%;}
 .nobisapo-page .ns-feature-grid:before{left:21px;top:26px;bottom:26px}
 .nobisapo-page .ns-feature{gap:13px;padding:18px 4px}
 .nobisapo-page .ns-feature-number{flex-basis:44px;width:44px;height:44px;border-width:4px;font-size:13px}
 .nobisapo-page .ns-feature h3{font-size:17px;line-height:1.5;margin-bottom:6px}
 .nobisapo-page .ns-feature p{font-size:14px;line-height:1.85}
 .nobisapo-page .ns-feature-end-art{padding-right:8px}
 .nobisapo-page .ns-feature-end-art img{width:72px}
}


/* V114: photographic, trustworthy hero inspired by the approved homepage concept */
body.home .hero-v114{padding:26px 0 22px!important;background:linear-gradient(110deg,#fffdf7 0%,#fbf8ee 58%,#f3f5e9 100%)!important}
.hero-v114-inner{width:min(1240px,calc(100% - 44px));margin:0 auto;display:grid;grid-template-columns:0.94fr 1.06fr;align-items:center;gap:30px;min-height:390px}
.hero-v114-copy{padding:26px 0 30px 3.5%;position:relative;z-index:1}
.hero-v114-eyebrow{color:#62845a;font-size:14px;font-weight:700;letter-spacing:.05em;margin:0 0 18px}
.hero-v114-copy h1{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#594a3a;font-size:clamp(30px,3.3vw,48px);line-height:1.55;letter-spacing:.025em;margin:0 0 18px}
.hero-v114-copy h1 strong{color:#628b55;font-weight:700}
.hero-v114-lead{display:inline-block;background:#edf3df;border:1px solid #dce8c9;border-radius:30px;padding:9px 17px;color:#526d45;font-size:14px;font-weight:700;margin:0 0 12px}
.hero-v114-byline{font-size:13px;line-height:1.8;color:#756657;margin:0 0 18px;max-width:520px}
.hero-v114-link{display:inline-flex;align-items:center;gap:18px;padding:10px 19px;border-radius:30px;background:#6f9861;color:#fff;font-weight:700;font-size:13px;box-shadow:0 5px 14px rgba(81,120,69,.15)}
.hero-v114-photo{height:390px;overflow:hidden;border-radius:44% 22px 22px 22px / 34% 22px 22px 22px;border:7px solid rgba(255,255,255,.85);box-shadow:0 10px 28px rgba(83,74,51,.10);background:#f2f1df}
.hero-v114-photo img{width:100%;height:100%;object-fit:cover;object-position:center 48%}
@media(max-width:760px){body.home .hero-v114{padding:14px 0 12px!important}.hero-v114-inner{width:calc(100% - 24px);grid-template-columns:1fr;gap:12px;min-height:0}.hero-v114-copy{padding:14px 8px 0;text-align:center}.hero-v114-eyebrow{font-size:11px;margin-bottom:9px}.hero-v114-copy h1{font-size:clamp(25px,7vw,34px);line-height:1.48;margin-bottom:11px}.hero-v114-lead{font-size:11px;padding:7px 12px;margin-bottom:8px}.hero-v114-byline{font-size:11px;margin:0 auto 12px}.hero-v114-link{font-size:12px;padding:9px 16px}.hero-v114-photo{height:auto;aspect-ratio:1.42;border-radius:28% 16px 16px 16px / 25% 16px 16px 16px;border-width:5px}.hero-v114-photo img{object-position:center 45%}}

/* V115: media-first homepage hierarchy */
body.home .service-lineup-section{padding-top:30px;padding-bottom:30px;background:#fffdf8}
body.home .category-card-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:14px!important;margin-top:24px!important}
body.home .category-card-grid .topic-card{position:relative;display:flex!important;flex-direction:column;align-items:flex-start;min-height:190px;padding:20px 18px 17px!important;border:1px solid #e8e3d8!important;border-radius:18px!important;background:linear-gradient(150deg,#fff 0%,#fbfaf4 100%)!important;box-shadow:0 5px 18px rgba(88,75,54,.045)!important;text-decoration:none!important;transition:transform .18s ease,box-shadow .18s ease}
body.home .category-card-grid .topic-card:hover{transform:translateY(-3px);box-shadow:0 9px 22px rgba(88,75,54,.09)!important}
.category-card-mark{display:inline-flex;align-items:center;justify-content:center;min-width:42px;height:42px;padding:0 9px;border-radius:50%;background:#edf3e6;color:#64835a;font-size:13px;font-weight:700;margin-bottom:13px}
.category-language .category-card-mark{background:#f9ece9;color:#b87970}.category-learning .category-card-mark{background:#f8f0dc;color:#b38d43}.category-parenting .category-card-mark{background:#eaf2f1;color:#6c9691}
body.home .category-card-grid .topic-card h3{font-size:16px!important;line-height:1.5!important;color:#5f5548!important;margin:0 0 8px!important;font-weight:650!important}
body.home .category-card-grid .topic-card p{font-size:12px!important;line-height:1.8!important;color:#796f62!important;margin:0 0 13px!important}
body.home .category-card-grid .topic-link{margin-top:auto;color:#6e9161!important;font-size:12px!important;font-weight:700}
.home-shortcuts-section{padding:12px 0 24px;background:#fffdf8}
.home-shortcuts-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;max-width:1120px;margin:0 auto}
.home-shortcuts-grid a{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:14px 8px 13px;border:1px solid #eee8dc;border-radius:14px;background:#fffefa;color:#665947;text-align:center;box-shadow:0 3px 10px rgba(80,66,45,.035);text-decoration:none}
.home-shortcuts-grid a:hover{border-color:#cbd9bd;transform:translateY(-2px)}
.shortcut-symbol{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:11px;background:#eff4e9;color:#6c9360;font-size:22px;line-height:1}
.home-shortcuts-grid a:nth-child(2) .shortcut-symbol{background:#fbf2dc;color:#b18b43}.home-shortcuts-grid a:nth-child(3) .shortcut-symbol{background:#eef4f5;color:#71979a}.home-shortcuts-grid a:nth-child(4) .shortcut-symbol{background:#fbefeb;color:#b77d70}
.home-shortcuts-grid strong{font-size:13px;font-weight:700}.home-shortcuts-grid small{font-size:10px;line-height:1.5;color:#887d70}
body.home .quick-action-section{padding-top:18px!important}
body.home .posts-section .section-head{margin-bottom:20px}
body.home .posts-section .section-head>p{max-width:660px;margin-left:auto;margin-right:auto}
@media(max-width:900px){body.home .category-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-shortcuts-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}}
@media(max-width:560px){body.home .category-card-grid{gap:9px!important;margin-top:17px!important}.category-card-mark{width:34px;height:34px;min-width:34px;font-size:11px;margin-bottom:9px}body.home .category-card-grid .topic-card{min-height:176px;padding:13px 12px 12px!important;border-radius:13px!important}body.home .category-card-grid .topic-card h3{font-size:13px!important}body.home .category-card-grid .topic-card p{font-size:10px!important;line-height:1.65!important}.home-shortcuts-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.home-shortcuts-grid a{padding:11px 6px}.home-shortcuts-grid strong{font-size:12px}.home-shortcuts-grid small{font-size:9px}}

/* V116: watercolor category illustrations and four coordinated homepage guide banners */
body.home .category-card-grid .topic-card{align-items:stretch;text-align:left;padding:14px 14px 16px!important;background:#fffdf8!important;overflow:hidden}
body.home .category-card-grid .category-card-art{width:100%;height:150px;object-fit:cover;object-position:center;border-radius:12px;margin:0 0 12px;background:#f8f3e8}
body.home .category-card-grid .topic-card h3{font-size:16px!important;line-height:1.5!important;margin:0 0 7px!important;color:#624b38!important}
body.home .category-card-grid .topic-card p{font-size:12px!important;line-height:1.75!important;margin:0 0 10px!important;color:#76695b!important}
body.home .category-card-grid .topic-link{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding:7px 13px;border-radius:99px;background:#e8f0df;color:#557b4c!important;font-size:11px!important;font-weight:700}
body.home .quick-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:1120px;margin:0 auto}
body.home .quick-action-card{min-width:0;display:grid;grid-template-columns:42% 1fr;align-items:center;overflow:hidden;border-radius:18px;background:#fffdf8;border:1px solid #e8e0d2;box-shadow:0 4px 14px rgba(91,72,48,.06);color:var(--ink);transition:transform .2s,box-shadow .2s}
body.home .quick-action-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(91,72,48,.1);opacity:1}
body.home .quick-action-visual{height:100%;min-height:190px;background:#f8f2e7}
body.home .quick-action-visual img{width:100%;height:100%;min-height:190px;object-fit:cover}
body.home .quick-action-copy{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:17px 18px}
body.home .quick-action-copy strong{font-size:19px;line-height:1.45;color:#654d37}
body.home .quick-action-copy>span:not(.quick-action-eyebrow):not(.quick-action-location){font-size:12px;line-height:1.7;color:#786c60}
body.home .quick-action-copy em{font-style:normal;font-size:12px;font-weight:700;color:#638653;margin-top:4px}
body.home .quick-action-articles{border-color:#dce7d2}body.home .quick-action-pickup{border-color:#f0dfc7}
@media(max-width:760px){body.home .category-card-grid .category-card-art{height:112px}body.home .category-card-grid .topic-card{padding:10px 9px 12px!important}body.home .category-card-grid .topic-card h3{font-size:13px!important}body.home .category-card-grid .topic-card p{font-size:10px!important}body.home .quick-action-grid{grid-template-columns:1fr;gap:13px}body.home .quick-action-card{grid-template-columns:38% 1fr}body.home .quick-action-visual,body.home .quick-action-visual img{min-height:150px}body.home .quick-action-copy{padding:12px}body.home .quick-action-copy strong{font-size:16px}}


/* V117: integrated warm watercolor brand system — trust strip, action banners and real operator profile */
.v117-trust-section{padding:22px clamp(14px,3vw,38px)!important;background:#fbf7ed!important}
.v117-trust-inner{max-width:1240px;margin:0 auto;padding:26px clamp(18px,3vw,42px);border:1px solid #e8ddc9;border-radius:24px;background:linear-gradient(110deg,rgba(255,253,247,.96),rgba(246,244,226,.94));box-shadow:0 7px 22px rgba(100,76,44,.06);position:relative;overflow:hidden}
.v117-trust-inner:after{content:"";position:absolute;right:-24px;top:-48px;width:170px;height:170px;border:1px solid #d9e2c8;border-radius:50%;box-shadow:0 0 0 18px rgba(224,234,211,.18),0 0 0 38px rgba(224,234,211,.12);pointer-events:none}
.v117-trust-heading{text-align:center;position:relative;z-index:1}.v117-trust-heading>span,.v117-profile-kicker{font-size:10px;letter-spacing:.18em;color:#82936b;font-weight:700}.v117-trust-heading h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#765333;font-size:clamp(18px,2.3vw,26px);line-height:1.55;margin:5px 0}.v117-trust-heading p{font-size:13px;color:#776b5b;margin:0}.v117-trust-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:20px;position:relative;z-index:1}.v117-trust-facts>div{text-align:center;padding:12px 8px;background:rgba(255,255,255,.68);border:1px solid rgba(222,211,190,.8);border-radius:15px}.v117-trust-facts b,.v117-trust-facts strong,.v117-trust-facts small{display:block}.v117-trust-facts b{font-size:11px;color:#8c9b75}.v117-trust-facts strong{font-family:"Yu Mincho",serif;color:#765333;font-size:clamp(17px,2vw,23px);line-height:1.45}.v117-trust-facts small{font-size:10px;color:#766b5e;margin-top:3px}
body.home .quick-action-grid{gap:18px!important;max-width:1120px!important}body.home .quick-action-card{border:1px solid #e8dfcf!important;border-radius:19px!important;overflow:hidden!important;background:#fffdf7!important;box-shadow:0 5px 18px rgba(89,65,36,.07)!important;align-items:stretch!important}body.home .quick-action-visual{background:#f7f1e5!important;overflow:hidden!important}body.home .quick-action-visual img{width:100%!important;height:100%!important;min-height:100%!important;object-fit:cover!important}body.home .quick-action-copy{padding:clamp(15px,2vw,24px)!important;display:flex!important;flex-direction:column!important;justify-content:center!important}body.home .quick-action-copy strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;color:#765333!important;line-height:1.5!important}body.home .quick-action-copy em{color:#718d62!important;font-style:normal!important;font-weight:700!important;margin-top:10px!important}body.home .quick-action-articles{background:#fbf7ed!important}body.home .quick-action-pickup{background:#f8f0e8!important}body.home .quick-action-consult{background:#fff8ef!important}body.home .quick-action-nobisapo{background:#f2f6ec!important}
.v117-profile-section{padding:34px 20px 48px;background:#fffdf7}.v117-profile-inner{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(210px,310px) minmax(0,1fr);gap:clamp(24px,4vw,52px);align-items:center;padding:clamp(20px,3vw,34px);border-radius:24px;background:linear-gradient(115deg,#f8f3e7,#f4f6ed);border:1px solid #e9e0cf;position:relative;overflow:hidden}.v117-profile-photo{width:100%;max-width:290px;justify-self:center;padding:7px;background:#fff;border-radius:20px;box-shadow:0 5px 18px rgba(89,65,36,.09)}.v117-profile-photo img{display:block;width:100%;height:auto;max-height:340px;object-fit:contain;object-position:center;border-radius:14px}.v117-profile-copy h2{font-family:"Yu Mincho","Hiragino Mincho ProN",serif;color:#765333;font-size:clamp(20px,2.5vw,29px);margin:5px 0 2px}.v117-profile-lead{font-family:"Yu Mincho",serif;color:#78936b;font-size:clamp(17px,2vw,22px);margin:0 0 12px!important}.v117-profile-copy>p:not(.v117-profile-lead){font-size:14px;line-height:2;color:#66594b;margin:0 0 16px}.v117-profile-copy>a{display:inline-flex;gap:12px;align-items:center;padding:10px 20px;border-radius:99px;background:#78966c;color:#fff;font-size:13px;font-weight:700}.category-card-grid .category-card-art{object-fit:contain!important;object-position:center!important;padding:8px!important;background:transparent!important}
@media(max-width:760px){.v117-trust-inner{padding:20px 14px;border-radius:18px}.v117-trust-facts{gap:7px}.v117-trust-facts>div{padding:10px 4px}.v117-trust-facts small{font-size:9px;line-height:1.5}.v117-profile-inner{grid-template-columns:minmax(0,1fr);gap:18px;text-align:center;padding:20px 16px}.v117-profile-photo{max-width:220px;width:72%}.v117-profile-photo img{max-height:260px}.v117-profile-copy>p:not(.v117-profile-lead){text-align:left}.v117-profile-section{padding:24px 14px 36px}body.home .quick-action-card{grid-template-columns:38% 1fr!important}body.home .quick-action-visual img{object-fit:cover!important}}
@media(max-width:420px){.v117-trust-facts{grid-template-columns:1fr}.v117-trust-facts>div{padding:8px}.v117-trust-facts small{font-size:10px}body.home .quick-action-card{grid-template-columns:34% 1fr!important}body.home .quick-action-copy{padding:12px!important}}

/* V118: final approved banner pair + undistorted profile photo */
html body.home .quick-action-section .quick-action-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;max-width:1120px!important;margin-left:auto!important;margin-right:auto!important}
html body.home .quick-action-section .quick-action-card{display:block!important;width:100%!important;min-width:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:16px!important;background:transparent!important;box-shadow:0 3px 14px rgba(89,65,36,.08)!important;line-height:0!important}
html body.home .quick-action-section .quick-action-visual{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:transparent!important;line-height:0!important}
html body.home .quick-action-section .quick-action-visual img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:720/328!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important}
html body.home .quick-action-section .quick-action-copy{display:none!important}
html body.home .v117-profile-photo{width:100%!important;max-width:290px!important;height:auto!important;overflow:visible!important}
html body.home .v117-profile-photo img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:600/390!important;object-fit:contain!important;object-position:center!important;transform:none!important}
@media(max-width:760px){html body.home .quick-action-section .quick-action-grid{grid-template-columns:1fr!important;gap:13px!important}html body.home .quick-action-section .quick-action-card{width:100%!important}html body.home .v117-profile-photo{max-width:250px!important;width:78%!important}html body.home .v117-profile-photo img{height:auto!important;max-height:none!important;object-fit:contain!important}}


/* V119: category artwork becomes larger and more landscape-led; reuse it on category landing pages. */
body.home .category-card-grid{align-items:stretch;gap:16px}
body.home .category-card-grid .topic-card{
  display:grid!important;
  grid-template-columns:1fr!important;
  grid-template-rows:164px auto 1fr auto!important;
  align-items:stretch!important;
  text-align:left!important;
  padding:12px 14px 15px!important;
  min-height:310px!important;
  border-radius:18px!important;
  background:#fffdf8!important;
  border:1px solid #e9e1d3!important;
  box-shadow:0 4px 16px rgba(95,77,49,.055)!important;
}
body.home .category-card-grid .category-card-art{
  display:block!important;
  width:100%!important;
  height:164px!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  padding:0!important;
  margin:0 0 10px!important;
  border-radius:13px!important;
  background:linear-gradient(135deg,#f8f4e9,#f0f4e8)!important;
}
body.home .category-card-grid .topic-card h3{
  font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;
  font-size:16px!important;font-weight:700!important;letter-spacing:.015em!important;
  line-height:1.55!important;color:#654f3e!important;margin:0 0 6px!important;
}
body.home .category-card-grid .topic-card p{font-size:12px!important;line-height:1.8!important;color:#76695d!important;margin:0 0 10px!important}
body.home .category-card-grid .topic-link{align-self:end;justify-self:start;font-size:11px!important;font-weight:700!important;letter-spacing:.02em;padding:7px 13px!important;border-radius:99px;background:#eaf0e3;color:#5d7951!important}

/* Category archive landing: use the same category illustration as the homepage card. */
.category-landing-hero{padding:34px 0 30px;background:linear-gradient(110deg,#fbf7ed 0%,#fffdf8 62%,#f3f4e9 100%);border-bottom:1px solid #eee5d7}
.category-landing-inner{display:grid;grid-template-columns:minmax(210px,34%) minmax(0,1fr);gap:clamp(22px,4vw,48px);align-items:center;max-width:1120px}
.category-landing-art{width:100%;height:220px;display:flex;align-items:center;justify-content:center;padding:12px;border-radius:20px;background:rgba(255,255,255,.62);border:1px solid #e9e1d3}
.category-landing-art img{display:block;width:100%;height:100%;object-fit:contain;object-position:center}
.category-landing-copy .breadcrumbs{font-size:12px;color:#887b6c;margin-bottom:9px}
.category-landing-copy h1{font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;font-size:clamp(25px,3vw,34px);font-weight:700;letter-spacing:.025em;line-height:1.5;color:#6b5543;margin:0 0 9px}
.category-landing-copy p{font-size:14px;line-height:1.9;color:#76695d;margin:0;max-width:680px}
.category-landing-body{padding-top:34px!important}

/* Consistent Japanese typography: warm rounded headings, calm highly-readable body copy. */
.section-title,.v117-trust-heading h2,.v117-profile-copy h2,.page-hero h1,.article-title,.entry-content h2,.entry-content h3{
  font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif;
  letter-spacing:.025em;font-weight:700;
}
body{font-feature-settings:"palt" 1;letter-spacing:.008em}
.quick-action-copy strong{font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;font-weight:700;letter-spacing:.015em}
@media(max-width:1000px){
 body.home .category-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 body.home .category-card-grid .topic-card{min-height:290px!important;grid-template-rows:170px auto 1fr auto!important}
 body.home .category-card-grid .category-card-art{height:170px!important}
}
@media(max-width:760px){
 body.home .category-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:11px!important}
 body.home .category-card-grid .topic-card{padding:9px 9px 12px!important;min-height:260px!important;grid-template-rows:132px auto 1fr auto!important;border-radius:14px!important}
 body.home .category-card-grid .category-card-art{height:132px!important;margin-bottom:8px!important;border-radius:10px!important}
 body.home .category-card-grid .topic-card h3{font-size:13px!important;line-height:1.5!important}
 body.home .category-card-grid .topic-card p{font-size:10px!important;line-height:1.7!important}
 body.home .category-card-grid .topic-link{font-size:10px!important;padding:6px 10px!important}
 .category-landing-hero{padding:22px 0 20px}
 .category-landing-inner{grid-template-columns:1fr;gap:14px}
 .category-landing-art{height:170px;max-width:100%}
 .category-landing-copy h1{font-size:24px}
 .category-landing-copy p{font-size:12px}
}

/* v120: calm, light FAQ accordion for the homepage */
html body.home .faq-section {
  background: linear-gradient(180deg, #fbf9f3 0%, #f7f5ed 100%) !important;
  padding: clamp(42px, 6vw, 68px) 0 !important;
}
html body.home .faq-section-head { text-align:center; margin-bottom:26px !important; }
html body.home .faq-section-head > p { color:#81786d !important; font-size:14px; }
html body.home .faq-accordion-list {
  width:min(900px, 100%); margin:0 auto; display:grid; gap:12px;
}
html body.home .faq-accordion-item {
  background:rgba(255,255,255,.88) !important; border:1px solid #eae5d9 !important;
  border-radius:15px !important; overflow:hidden; box-shadow:0 3px 12px rgba(93,76,53,.035);
}
html body.home .faq-accordion-item summary {
  list-style:none; cursor:pointer; display:flex; align-items:center; gap:14px;
  padding:17px 20px; color:#655344 !important; font-size:15px; font-weight:650; line-height:1.65;
}
html body.home .faq-accordion-item summary::-webkit-details-marker { display:none; }
html body.home .faq-q-mark, html body.home .faq-a-mark {
  flex:0 0 30px; width:30px; height:30px; display:grid; place-items:center;
  border-radius:50%; font-family:Georgia,serif; font-size:15px; font-weight:700;
}
html body.home .faq-q-mark { color:#71856a; background:#edf1e8; }
html body.home .faq-a-mark { color:#b77d63; background:#f7ebe3; }
html body.home .faq-question { flex:1; }
html body.home .faq-toggle { width:23px; height:23px; flex:0 0 23px; position:relative; border-radius:50%; background:#f2f0e8; }
html body.home .faq-toggle:before, html body.home .faq-toggle:after { content:""; position:absolute; left:6px; right:6px; top:11px; height:1.5px; background:#8b806f; }
html body.home .faq-toggle:after { transform:rotate(90deg); transition:transform .2s ease; }
html body.home .faq-accordion-item[open] .faq-toggle:after { transform:rotate(0); }
html body.home .faq-answer { display:flex; gap:14px; padding:0 20px 18px; border-top:1px solid #f0ede5; }
html body.home .faq-a-mark { margin-top:15px; }
html body.home .faq-answer-body { min-width:0; padding-top:13px; }
html body.home .faq-answer p { margin:0 0 10px !important; color:#716a60 !important; font-size:13.5px; line-height:1.9; }
html body.home .faq-answer .faq-more { display:inline-flex; gap:7px; align-items:center; color:#71856a !important; font-size:12px; font-weight:650; text-decoration:none; border-bottom:1px solid #dce4d6; padding-bottom:2px; }
html body.home .faq-footnote { text-align:center; color:#8a8176; font-size:12px; margin:20px 0 0; }
@media(max-width:640px) {
  html body.home .faq-accordion-item summary { padding:14px 13px; gap:10px; font-size:14px; }
  html body.home .faq-answer { padding:0 13px 15px; gap:10px; }
  html body.home .faq-q-mark, html body.home .faq-a-mark { flex-basis:27px; width:27px; height:27px; }
}

/* V121: wide watercolor category artwork, preserving the original illustration proportions. */
body.home .category-card-grid .category-card-art{display:block!important;width:100%!important;aspect-ratio:1.85/1!important;height:auto!important;object-fit:cover!important;object-position:center!important;padding:0!important;border-radius:13px!important;margin:0 0 14px!important;background:#f7f1e7!important}
body.home .category-card-grid .topic-card{padding:14px 14px 16px!important}
.category-landing-art{overflow:hidden;border-radius:22px;background:#f8f3e9}
.category-landing-art img{display:block;width:100%;aspect-ratio:1.85/1;object-fit:cover;object-position:center}
@media(max-width:760px){body.home .category-card-grid .category-card-art{aspect-ratio:1.55/1!important;margin-bottom:10px!important}.category-landing-art img{aspect-ratio:1.55/1}}

/* V122 refinement: clear landscape category art, natural portrait proportions, visible FAQ previews. */
body.home .category-card-grid .category-card-art{
  display:block!important;width:100%!important;height:auto!important;aspect-ratio:1200/650!important;
  object-fit:cover!important;object-position:center!important;padding:0!important;
  border-radius:14px!important;background:#f6f1e7!important;filter:none!important;opacity:1!important;
}
body.home .category-card-grid .topic-card{overflow:hidden!important}
/* Profile portrait: use the original image at its native aspect ratio, never crop or distort. */
.v117-profile-inner{grid-template-columns:minmax(280px,38%) minmax(0,1fr)!important;gap:clamp(28px,4vw,58px)!important;padding:clamp(24px,3.4vw,42px)!important;background:linear-gradient(115deg,#fbf7ee 0%,#f2f6ef 100%)!important}
.v117-profile-photo{width:100%!important;max-width:390px!important;padding:0!important;background:transparent!important;border-radius:0!important;box-shadow:none!important;overflow:visible!important}
.v117-profile-photo img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1080/621!important;object-fit:contain!important;object-position:center!important;border-radius:18px!important;transform:none!important;filter:none!important;box-shadow:0 12px 28px rgba(75,65,48,.10)!important}
.v117-profile-copy{max-width:620px}
.v117-profile-kicker{letter-spacing:.16em;color:#8a9a78!important;font-size:10px!important;font-weight:700}
.v117-profile-copy>a{margin-top:4px;text-decoration:none!important;box-shadow:0 4px 12px rgba(85,112,72,.13)}
/* FAQ: show a useful answer preview before opening the accordion. */
.faq-accordion-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px!important;align-items:start}
.faq-accordion-item{background:#fffefa!important;border:1px solid #e9e3d7!important;border-radius:16px!important;box-shadow:0 4px 14px rgba(80,67,48,.045)!important;overflow:hidden}
.faq-accordion-item>summary{display:flex!important;align-items:flex-start!important;gap:12px!important;padding:18px 20px!important;cursor:pointer;list-style:none}
.faq-accordion-item>summary::-webkit-details-marker{display:none}
.faq-summary-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:7px}
.faq-question{font-weight:700!important;color:#65513e!important;line-height:1.55!important}
.faq-preview{display:block!important;color:#82786c!important;font-size:12px!important;line-height:1.7!important;font-weight:400}
.faq-toggle{flex:0 0 22px;margin-top:2px}
.faq-answer{display:flex!important;gap:12px!important;padding:0 20px 18px 54px!important}
.faq-answer-body p{margin:0 0 9px!important;color:#665e54!important;font-size:13px!important;line-height:1.85!important}
.faq-accordion-item[open]{background:#fffdf8!important;border-color:#dfe7d8!important}
.faq-accordion-item[open]>summary{padding-bottom:10px!important}
@media(max-width:760px){
 .v117-profile-inner{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;text-align:left!important}
 .v117-profile-photo{max-width:440px!important;width:100%!important;margin:0 auto!important}
 .v117-profile-photo img{width:100%!important;height:auto!important;aspect-ratio:1080/621!important;object-fit:contain!important}
 .v117-profile-copy>p:not(.v117-profile-lead){text-align:left!important}
 .faq-accordion-list{grid-template-columns:minmax(0,1fr)!important;gap:10px!important}
 .faq-accordion-item>summary{padding:15px 15px!important}
 .faq-answer{padding:0 15px 15px 48px!important}
}

/* V123: category art is shown cleanly, without blurred side-fill effects. */
body.home .category-card-grid .category-card-art{
  width:100%!important;height:auto!important;aspect-ratio:1200/650!important;object-fit:contain!important;
  object-position:center!important;background:#faf7ed!important;filter:none!important;opacity:1!important;
  border:0!important;border-radius:14px!important;box-shadow:none!important;
}
body.home .category-card-grid .category-card-art:before,
body.home .category-card-grid .category-card-art:after{display:none!important;content:none!important}
/* V123 FAQ: one calm, full-width vertical list like the article index. */
body.home .faq-accordion-list{display:flex!important;flex-direction:column!important;gap:12px!important;width:100%!important;max-width:920px!important;margin:0 auto!important}
body.home .faq-accordion-item{display:block!important;width:100%!important;background:#fffefa!important;border:1px solid #e9e2d6!important;border-radius:15px!important;box-shadow:0 3px 12px rgba(80,67,48,.035)!important}
body.home .faq-accordion-item>summary{display:flex!important;align-items:center!important;padding:17px 22px!important;gap:14px!important}
body.home .faq-summary-copy{gap:5px!important}
body.home .faq-preview{font-size:13px!important;line-height:1.75!important;color:#81776b!important;display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important}
body.home .faq-question{font-size:15px!important}
body.home .faq-answer{padding:0 22px 17px 58px!important}
/* V123 profile credentials restore the compact, scannable lower band. */
.v123-profile-credentials{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:24px clamp(24px,3.4vw,42px) 0;padding:18px 10px;background:rgba(255,255,255,.72);border:1px solid #e9e7d9;border-radius:16px}
.v123-credential{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:6px;padding:6px 10px;border-right:1px solid #e9e5d9}
.v123-credential:nth-child(4){border-right:0}
.v123-credential span{font-size:11px;color:#8a806f;line-height:1.5}
.v123-credential strong{font-size:clamp(16px,1.7vw,22px);font-weight:750;color:#76543b;line-height:1.35}
.v123-credential-career{grid-column:1/-1;flex-direction:row;border-right:0;border-top:1px solid #eee9de;margin-top:10px;padding-top:14px}
.v123-credential-career strong{font-size:15px}
@media(max-width:760px){
 body.home .faq-accordion-item>summary{padding:14px 14px!important;gap:10px!important}
 body.home .faq-question{font-size:14px!important}
 body.home .faq-preview{font-size:12px!important}
 body.home .faq-answer{padding:0 14px 14px 47px!important}
 .v123-profile-credentials{grid-template-columns:repeat(2,minmax(0,1fr));margin:20px 14px 0;padding:12px 6px}
 .v123-credential:nth-child(2){border-right:0}
 .v123-credential:nth-child(3){border-top:1px solid #eee9de}
 .v123-credential:nth-child(4){border-top:1px solid #eee9de}
 .v123-credential strong{font-size:18px}
 .v123-credential-career{grid-column:1/-1;flex-direction:column}
}


/* V124: coherent section hierarchy, warm editorial trust panel, and clean category artwork. */
body.home .v117-trust-inner{max-width:1120px!important;padding:30px clamp(20px,3vw,38px)!important;border:1px solid #e9e1d2!important;border-radius:24px!important;background:linear-gradient(115deg,#fbf7ed 0%,#f4f6ef 100%)!important;box-shadow:0 8px 24px rgba(87,70,48,.055)!important}
body.home .v117-trust-heading h2{color:#70553d!important;letter-spacing:.025em!important;line-height:1.65!important}
body.home .v117-trust-facts{gap:0!important;margin-top:24px!important;border-top:1px solid #e5ddcf!important;border-bottom:1px solid #e5ddcf!important}
body.home .v117-trust-facts>div{background:transparent!important;border:0!important;border-right:1px solid #e5ddcf!important;border-radius:0!important;padding:17px 18px!important}
body.home .v117-trust-facts>div:last-child{border-right:0!important}
body.home .v117-trust-facts b{color:#8a9876!important;font-size:11px!important;letter-spacing:.08em!important}
body.home .v117-trust-facts strong{color:#74543a!important;font-family:'Yu Mincho','Hiragino Mincho ProN',serif!important;font-size:clamp(18px,2vw,25px)!important}
body.home .v117-trust-facts small{color:#776d60!important;font-size:11px!important;line-height:1.7!important}
body.home .quick-action-section-head{margin-bottom:24px!important;text-align:center!important}
body.home .quick-action-section-head .section-title{color:#71563e!important}
body.home .posts-section .section-head .section-title{color:#71563e!important}
body.home .category-card-grid .category-card-art{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1200/650!important;object-fit:contain!important;object-position:center!important;padding:0!important;background:#fbf8f0!important;filter:none!important;transform:none!important;box-shadow:none!important}
.category-landing-hero{padding:38px 0!important;background:linear-gradient(110deg,#fbf7ed 0%,#fffdf8 62%,#f3f5ec 100%)!important}
.category-landing-inner{grid-template-columns:minmax(0,48%) minmax(0,1fr)!important;gap:clamp(26px,4vw,52px)!important}
.category-landing-art{height:auto!important;aspect-ratio:1200/650!important;padding:0!important;background:#fbf8f0!important;border:1px solid #eee6d8!important;box-shadow:0 7px 22px rgba(88,70,46,.06)!important}
.category-landing-art img{width:100%!important;height:100%!important;aspect-ratio:auto!important;object-fit:contain!important;filter:none!important}
.v123-profile-credentials{background:linear-gradient(100deg,#fffdf8,#f7f8f1)!important;border-color:#e7e1d4!important;box-shadow:0 5px 18px rgba(80,67,48,.04)!important}
.v123-credential strong{font-family:'Yu Mincho','Hiragino Mincho ProN',serif!important;letter-spacing:.01em}
body.home .faq-section{background:#faf8f1!important}
body.home .faq-accordion-item{background:#fffefa!important;border-color:#e9e2d6!important}
@media(max-width:760px){body.home .v117-trust-inner{padding:22px 16px!important}.v117-trust-facts{grid-template-columns:1fr!important}.v117-trust-facts>div{border-right:0!important;border-bottom:1px solid #e5ddcf!important;padding:12px 8px!important}.v117-trust-facts>div:last-child{border-bottom:0!important}.category-landing-inner{grid-template-columns:1fr!important}.category-landing-art{max-width:100%!important}.category-landing-hero{padding:22px 0!important}}

/* V125: clean artwork crops, consistent category typography, and a warm sprout-inspired profile panel. */
body.home .category-card-grid .category-card-art{
  display:block!important;width:100%!important;height:176px!important;aspect-ratio:auto!important;
  object-fit:contain!important;object-position:center!important;padding:8px 12px!important;
  border-radius:18px!important;margin:0 0 13px!important;background:transparent!important;
  filter:none!important;opacity:1!important;mix-blend-mode:normal!important;
}
body.home .category-card-grid .topic-card{
  position:relative!important;overflow:hidden!important;border-radius:20px!important;
  background:linear-gradient(145deg,#fffdf7 0%,#f8f4e9 58%,#eef3e8 100%)!important;
  border:1px solid #e9e1d2!important;box-shadow:0 7px 20px rgba(90,72,48,.055)!important;
  display:flex!important;flex-direction:column!important;align-items:stretch!important;
}
body.home .category-card-grid .topic-card:after{
 content:"";position:absolute;right:10px;top:10px;width:46px;height:46px;opacity:.52;pointer-events:none;
 background-repeat:no-repeat;background-size:contain;
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cpath d='M29 51Q27 28 39 11M29 38Q12 38 10 23Q27 18 29 38ZM34 27Q34 10 49 7Q52 23 34 27Z' fill='none' stroke='%2393a980' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E");
}
body.home .category-card-grid .topic-card h3,
body.home .category-card-grid .topic-card:nth-child(n) h3{
 font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;
 font-size:16px!important;font-weight:700!important;line-height:1.6!important;letter-spacing:.015em!important;
 color:#654f3e!important;margin:0 0 7px!important;min-height:3.2em!important;
}
body.home .category-card-grid .topic-card p{font-size:12px!important;line-height:1.8!important;color:#76695d!important;margin:0 0 12px!important;flex:1 1 auto}
body.home .category-card-grid .topic-link{align-self:flex-start!important;margin-top:auto!important}
.category-landing-hero{position:relative;overflow:hidden;background:radial-gradient(ellipse at 8% 15%,rgba(224,235,210,.7),transparent 28%),radial-gradient(ellipse at 94% 88%,rgba(246,224,207,.7),transparent 27%),linear-gradient(115deg,#fbf7ed,#fffdf8 58%,#f2f5eb)!important}
.category-landing-art{position:relative!important;overflow:hidden!important;background:radial-gradient(ellipse at 18% 82%,rgba(222,235,209,.75),transparent 32%),radial-gradient(ellipse at 85% 15%,rgba(248,228,210,.7),transparent 30%),#fffdf7!important;border:1px solid #e9e1d2!important}
.category-landing-art:after{content:"";position:absolute;right:15px;bottom:10px;width:54px;height:54px;opacity:.58;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 60'%3E%3Cpath d='M29 54Q27 30 39 12M29 40Q12 40 10 25Q27 20 29 40ZM34 28Q34 11 49 8Q52 24 34 28Z' fill='none' stroke='%2393a980' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") center/contain no-repeat}
.category-landing-art img{position:relative;z-index:1;object-fit:contain!important;padding:8px!important;filter:none!important;mix-blend-mode:normal!important}
.v117-profile-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 8% 15%,rgba(223,235,211,.72),transparent 30%),radial-gradient(ellipse at 94% 90%,rgba(246,224,207,.65),transparent 27%),linear-gradient(115deg,#fbf8ef 0%,#fffdf8 50%,#f2f5eb 100%)!important;padding:54px 20px 58px!important}
.v117-profile-section:before,.v117-profile-section:after{content:"";position:absolute;pointer-events:none;width:130px;height:160px;opacity:.38;background-repeat:no-repeat;background-size:contain;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 150'%3E%3Cpath d='M57 145Q48 74 72 8M55 105Q13 101 8 64Q46 53 55 105ZM64 70Q65 30 105 22Q111 64 64 70Z' fill='none' stroke='%238ba47b' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E")}
.v117-profile-section:before{left:0;bottom:5px}.v117-profile-section:after{right:0;top:5px;transform:rotate(180deg)}
.v117-profile-inner{position:relative;z-index:1;background:rgba(255,255,255,.72)!important;border:1px solid rgba(222,213,195,.8)!important;box-shadow:0 12px 32px rgba(90,72,48,.07)!important;grid-template-columns:minmax(220px,34%) minmax(0,1fr)!important}
.v117-profile-photo{max-width:340px!important;padding:8px!important;border-radius:48% 48% 42% 42%!important;background:linear-gradient(145deg,#f7e8d9,#e8efdf)!important;box-shadow:none!important}
.v117-profile-photo img{aspect-ratio:1.18/1!important;object-fit:contain!important;box-shadow:none!important;border-radius:48% 48% 42% 42%!important}
.v117-profile-copy{position:relative}
.v117-profile-copy:after{content:"ことばも、学びも。その子に合った育ち方を。";display:block;margin-top:16px;padding:10px 16px;border-left:3px solid #9aae85;background:linear-gradient(90deg,rgba(233,240,225,.8),rgba(255,255,255,0));color:#6c805f;font-size:13px;font-weight:700;letter-spacing:.02em}
.v123-profile-credentials{position:relative;z-index:1;max-width:1120px;margin:24px auto 0!important;background:rgba(255,255,255,.8)!important;border:1px solid #e7dfd1!important;border-radius:22px!important;padding:20px 16px!important;box-shadow:0 8px 24px rgba(90,72,48,.05)!important}
.v123-credential{position:relative}.v123-credential strong{font-family:"Noto Sans JP","Yu Gothic",sans-serif!important;color:#6e8060!important;font-size:clamp(17px,1.8vw,23px)!important}
@media(max-width:760px){body.home .category-card-grid .category-card-art{height:126px!important;padding:4px!important}body.home .category-card-grid .topic-card h3{font-size:13px!important;min-height:3em!important}.v117-profile-section{padding:32px 12px 38px!important}.v117-profile-inner{grid-template-columns:1fr!important}.v117-profile-photo{max-width:280px!important}.v123-profile-credentials{margin:18px 8px 0!important}}

/* V126: warm brand values and unified section headings */
.values-section{position:relative;overflow:hidden;background:radial-gradient(ellipse at 8% 12%,rgba(220,234,208,.62),transparent 30%),radial-gradient(ellipse at 92% 88%,rgba(246,222,204,.65),transparent 29%),linear-gradient(120deg,#fbf7ed 0%,#fffdf8 54%,#f5f5eb 100%);}
.values-section:before,.values-section:after{content:"";position:absolute;width:150px;height:190px;opacity:.25;pointer-events:none;background-repeat:no-repeat;background-size:contain}
.values-section:before{left:-18px;top:12px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 160'%3E%3Cpath d='M55 150Q49 85 75 18M56 108Q22 106 15 72Q49 67 56 108ZM67 65Q68 30 101 23Q106 58 67 65Z' fill='none' stroke='%238ba47a' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.values-section:after{right:-16px;bottom:0;transform:rotate(12deg);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 160'%3E%3Cpath d='M55 150Q49 85 75 18M56 108Q22 106 15 72Q49 67 56 108ZM67 65Q68 30 101 23Q106 58 67 65Z' fill='none' stroke='%23c99c7d' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.values-inner{position:relative;z-index:1;max-width:1120px}
.values-heading{text-align:center;margin-bottom:28px}
.values-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.value-item{position:relative;text-align:center;padding:25px 22px 24px;border:1px solid rgba(207,194,169,.7);border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 8px 24px rgba(99,79,55,.055)}
.value-doodle{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 14px;border-radius:50%;font-family:serif;font-size:22px;color:#718768;background:radial-gradient(circle at 35% 28%,#fffdf4,#e8efdf 72%);border:1px solid #d9e2d0;transform:rotate(-5deg)}
.value-book{color:#a77e5d;background:radial-gradient(circle at 35% 28%,#fffdf4,#f4e6d8 72%);border-color:#ead8c7;transform:rotate(4deg)}
.value-home{color:#9b8067;background:radial-gradient(circle at 35% 28%,#fffdf4,#f3e9d9 72%);border-color:#e9ddca}
.value-item h3{font-size:17px;line-height:1.65;color:#70543f;margin:0 0 9px;font-weight:700}
.value-item p{font-size:13px;line-height:1.9;color:#756b60;margin:0}
.values-closing{text-align:center;margin:24px 0 0;color:#80664e;font-family:serif;font-size:17px;letter-spacing:.04em}
/* Consistent title styling for homepage sections */
body.home .section-head .section-title,body.home .quick-action-section-head .section-title,body.home .posts-section .section-head .section-title{font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;font-size:clamp(22px,2.4vw,29px)!important;font-weight:700!important;letter-spacing:.035em!important;line-height:1.55!important;color:#71563e!important}
body.home .section-head .section-kicker{font-family:inherit;font-weight:600;letter-spacing:.14em;color:#9a866d}
@media(max-width:760px){.values-grid{grid-template-columns:1fr;gap:12px}.value-item{display:grid;grid-template-columns:58px 1fr;column-gap:14px;text-align:left;padding:16px}.value-doodle{grid-row:1/3;width:52px;height:52px;margin:0}.value-item h3{align-self:end;font-size:15px;margin-bottom:3px}.value-item p{font-size:12px}.values-closing{font-size:15px}}

/* V127 final refinement: category artwork stays clean and uncropped. */
html body.category .category-landing-art{height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;overflow:hidden!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:18px!important}
html body.category .category-landing-art img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;filter:none!important;border-radius:18px!important}
/* V127: use the real operator portrait at its native landscape ratio, with a soft watercolor-inspired frame. */
html body.home .v117-profile-photo{width:100%!important;max-width:420px!important;padding:9px!important;border-radius:26px!important;background:linear-gradient(145deg,#e8efdc,#f8e5d8,#fffdf7)!important;box-shadow:0 8px 24px rgba(90,72,48,.09)!important}
html body.home .v117-profile-photo img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1080/621!important;object-fit:contain!important;object-position:center!important;border-radius:18px!important;box-shadow:none!important;transform:none!important}
html body.home .values-section{margin-top:0}
@media(max-width:760px){html body.home .v117-profile-photo{max-width:100%!important;width:100%!important}html body.home .v117-profile-photo img{aspect-ratio:1080/621!important;height:auto!important}}


/* V128: remove the duplicated blurred category-image backdrop completely.
   The illustration itself is shown once, at its natural aspect ratio. */
html body.category .category-landing-art,
html body.category .category-landing-art *{
  filter:none!important;
  backdrop-filter:none!important;
  background-image:none!important;
  text-shadow:none!important;
}
html body.category .category-landing-art:before,
html body.category .category-landing-art:after,
html body.category .category-landing-art img:before,
html body.category .category-landing-art img:after{
  content:none!important;display:none!important;
}
html body.category .category-landing-art{
  display:block!important;height:auto!important;min-height:0!important;
  aspect-ratio:auto!important;padding:0!important;overflow:visible!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
html body.category .category-landing-art img{
  display:block!important;width:100%!important;height:auto!important;
  max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;
  object-position:center!important;padding:0!important;border:0!important;
  border-radius:0!important;box-shadow:none!important;transform:none!important;
}
/* V128: use the user's approved single-person portrait on the homepage profile.
   The homepage hero already uses the parent-and-children visual. */
html body.home .v117-profile-photo{
  max-width:420px!important;width:100%!important;padding:8px!important;
  border-radius:26px!important;background:linear-gradient(145deg,#e8efdc,#f8e5d8,#fffdf7)!important;
  box-shadow:0 8px 24px rgba(90,72,48,.09)!important;
}
html body.home .v117-profile-photo img{
  display:block!important;width:100%!important;height:auto!important;
  aspect-ratio:600/390!important;object-fit:contain!important;
  object-position:center!important;border-radius:18px!important;
  transform:none!important;filter:none!important;
}
@media(max-width:760px){
 html body.category .category-landing-art img{width:100%!important;height:auto!important}
 html body.home .v117-profile-photo{max-width:100%!important}
}


/* V129 verified source-image correction: use the approved operator portrait without distortion;
   category wide images are clean center crops because the previous files had blurred extensions baked in. */
html body.home .v117-profile-photo{width:100%!important;max-width:340px!important;height:auto!important;aspect-ratio:auto!important;padding:8px!important;overflow:visible!important;border-radius:26px!important;background:linear-gradient(145deg,#e8efdc,#f8e5d8,#fffdf7)!important}
html body.home .v117-profile-photo img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;border-radius:18px!important;transform:none!important;filter:none!important}
html body.category .category-landing-art{display:block!important;width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;overflow:visible!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:16px!important}
html body.category .category-landing-art:before,html body.category .category-landing-art:after{content:none!important;display:none!important;background:none!important;filter:none!important}
html body.category .category-landing-art img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important;border-radius:16px!important;filter:none!important;box-shadow:none!important}
@media(max-width:760px){html body.home .v117-profile-photo{max-width:260px!important;width:78%!important}html body.category .category-landing-art{max-width:100%!important}}

/* V130: category archive uses the complete horizontal banner as a single image. */
html body.category .category-landing-hero-banner{padding:34px 0 30px!important;background:#fffdf7!important;overflow:visible!important}
html body.category .category-landing-inner-banner{display:flex!important;flex-direction:column!important;gap:22px!important;max-width:1120px!important}
html body.category .category-landing-full-banner{display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible!important;padding:0!important;margin:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body.category .category-landing-full-banner img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1200/650!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:12px!important;box-shadow:none!important;filter:none!important;transform:none!important}
html body.category .category-landing-copy-below{width:100%!important;max-width:900px!important;margin:0 auto!important;text-align:center!important;padding:0 12px!important}
html body.category .category-landing-copy-below .breadcrumbs{text-align:left!important;margin-bottom:8px!important}
html body.category .category-landing-copy-below h1{margin:4px 0 5px!important}
html body.category .category-landing-copy-below p{margin:0 auto!important}
html body.category .category-landing-art:before,html body.category .category-landing-art:after{content:none!important;display:none!important}

/* V130: detailed About page horizontal portrait + live text/credentials layout. */
.about-profile-panel{display:grid;grid-template-columns:minmax(260px,.82fr) minmax(0,1.5fr);gap:clamp(22px,4vw,48px);align-items:center;margin:0 0 42px;padding:clamp(20px,3vw,34px);border:1px solid #eee4d5;border-radius:24px;background:linear-gradient(120deg,#fffdf8 0%,#f8f5ec 58%,#f5f7ee 100%);box-shadow:0 8px 24px rgba(85,68,43,.06)}
.about-profile-panel-photo{width:100%;max-width:380px;margin:0 auto;overflow:hidden;border-radius:22px;background:#f5f1e7}
.about-profile-panel-photo img{display:block;width:100%;height:auto;max-height:none;aspect-ratio:1/1;object-fit:contain;object-position:center;border-radius:22px;transform:none;filter:none}
.about-profile-panel-copy{min-width:0}
.about-profile-label{display:inline-block;padding:6px 13px;border-radius:99px;background:#f7e9d9;color:#795c3c;font-size:12px;font-weight:700;letter-spacing:.06em}
.about-profile-panel-copy h2{margin:14px 0 10px;color:#715239;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(21px,2.5vw,30px);line-height:1.65}
.about-profile-panel-copy>p{margin:0 0 18px;color:#67594b;font-size:14px;line-height:2}
.about-profile-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.about-profile-facts>div{display:flex;flex-direction:column;gap:2px;padding:10px 13px;border-left:3px solid #b7c99e;background:rgba(255,255,255,.72);border-radius:0 10px 10px 0}
.about-profile-facts small{color:#887966;font-size:11px}
.about-profile-facts strong{color:#604b36;font-size:14px;font-weight:700}
@media(max-width:760px){html body.category .category-landing-hero-banner{padding:20px 0!important}html body.category .category-landing-inner-banner{gap:14px!important}html body.category .category-landing-full-banner img{border-radius:8px!important}.about-profile-panel{grid-template-columns:1fr;gap:18px;padding:18px;border-radius:18px}.about-profile-panel-photo{max-width:280px}.about-profile-facts{grid-template-columns:1fr 1fr}.about-profile-panel-copy h2{font-size:22px}}

/* V131: refined operator portrait and compact homepage introduction. */
html body.home .v117-profile-inner{grid-template-columns:190px minmax(0,1fr)!important;gap:clamp(22px,3.5vw,42px)!important;align-items:center!important}
html body.home .v117-profile-photo{width:170px!important;height:170px!important;max-width:170px!important;margin:0 auto!important;padding:7px!important;overflow:visible!important;border-radius:50%!important;background:linear-gradient(145deg,rgba(224,238,211,.82),rgba(250,226,214,.78),rgba(255,255,255,.92))!important;box-shadow:0 12px 30px rgba(92,77,53,.16),0 0 0 1px rgba(255,255,255,.85)!important}
html body.home .v117-profile-photo img{width:100%!important;height:100%!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:center 34%!important;border-radius:50%!important;box-shadow:0 7px 18px rgba(78,65,48,.12)!important}
html body.home .v117-profile-copy>p:not(.v117-profile-lead){font-size:14px!important;line-height:1.9!important;margin:8px 0 14px!important;max-width:760px!important}
@media(max-width:760px){html body.home .v117-profile-inner{grid-template-columns:1fr!important;gap:16px!important;text-align:center!important}html body.home .v117-profile-photo{width:142px!important;height:142px!important;max-width:142px!important}html body.home .v117-profile-copy>p:not(.v117-profile-lead){text-align:left!important}}

/* V131: category entry hero is a clean horizontal composition: original illustration + live text.
   Do not use the blurred side-fill baked into the old wide background image. */
html body.category .category-landing-hero-banner{padding:30px 0!important;background:linear-gradient(105deg,#f7f7ed 0%,#fffdf7 54%,#fbf0e7 100%)!important}
html body.category .category-landing-inner-banner{display:grid!important;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr)!important;align-items:center!important;gap:clamp(24px,4vw,52px)!important;max-width:1120px!important}
html body.category .category-landing-full-banner{width:100%!important;max-width:none!important;overflow:hidden!important;border-radius:22px!important;background:#fff!important;box-shadow:0 8px 24px rgba(91,72,48,.08)!important}
html body.category .category-landing-full-banner img{display:block!important;width:100%!important;height:auto!important;aspect-ratio:1200/650!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:22px!important;box-shadow:none!important;filter:none!important;transform:none!important}
html body.category .category-landing-copy-below{width:100%!important;max-width:none!important;text-align:left!important;margin:0!important;padding:8px 0!important}
html body.category .category-landing-copy-below .breadcrumbs{text-align:left!important;margin:0 0 16px!important;font-size:12px!important;color:#8b7b68!important}
html body.category .category-landing-copy-below h1{margin:0 0 12px!important;font-size:clamp(27px,3vw,38px)!important;line-height:1.45!important;color:#70553d!important}
html body.category .category-landing-copy-below p{margin:0!important;font-size:15px!important;line-height:2!important;color:#76695b!important}
@media(max-width:760px){html body.category .category-landing-inner-banner{grid-template-columns:1fr!important;gap:18px!important}html body.category .category-landing-full-banner{max-width:560px!important;margin:0 auto!important;border-radius:16px!important}html body.category .category-landing-full-banner img{border-radius:16px!important}html body.category .category-landing-copy-below{text-align:center!important}html body.category .category-landing-copy-below .breadcrumbs{text-align:left!important}}

/* V132 consolidated fixes: real editorial category banners, distinct article thumbnails,
   and a softer, correctly sourced operator portrait. */
body.category .category-landing-hero-banner{padding:34px 0 28px!important;background:linear-gradient(110deg,#f4f5e9 0%,#fffdf8 52%,#f8eee4 100%)!important}
body.category .category-landing-inner-banner{display:block!important;max-width:1120px!important}
body.category .category-landing-full-banner{width:100%!important;max-width:100%!important;margin:0 auto 18px!important;padding:0!important;border:0!important;border-radius:18px!important;overflow:hidden!important;background:transparent!important;box-shadow:0 8px 24px rgba(90,70,45,.07)!important}
body.category .category-landing-full-banner img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1200/650!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:18px!important;background:transparent!important;filter:none!important;box-shadow:none!important}
body.category .category-landing-copy-below{max-width:850px!important;margin:0 auto!important;text-align:center!important}
body.category .category-landing-copy-below .breadcrumbs{font-size:12px!important}
body.category .category-landing-copy-below h1{margin:8px 0!important}
body.category .category-landing-body .post-thumb img,
body.page-template-page-hints .hints-posts .post-thumb img{width:100%!important;height:190px!important;object-fit:cover!important;object-position:center!important;aspect-ratio:auto!important}
/* TOP portrait: small circle with face centered and feathered outer edge. */
.v117-profile-photo{width:clamp(118px,15vw,168px)!important;max-width:none!important;padding:0!important;background:transparent!important;border:0!important;border-radius:50%!important;box-shadow:0 12px 28px rgba(90,70,45,.14)!important;overflow:visible!important;justify-self:center!important}
.v117-profile-photo img{width:100%!important;height:auto!important;aspect-ratio:1/1!important;object-fit:cover!important;object-position:50% 27%!important;border-radius:50%!important;-webkit-mask-image:radial-gradient(circle, #000 62%,rgba(0,0,0,.96) 73%,rgba(0,0,0,.62) 86%,transparent 100%)!important;mask-image:radial-gradient(circle, #000 62%,rgba(0,0,0,.96) 73%,rgba(0,0,0,.62) 86%,transparent 100%)!important}
.v117-profile-inner{grid-template-columns:190px minmax(0,1fr)!important;gap:28px!important;align-items:center!important}
/* Detail profile banner uses the complete approved horizontal artwork; no crop or stretch. */
.about-profile-panel{display:block!important;padding:0!important;overflow:hidden!important;background:#fffdf8!important}
.about-profile-panel-photo{width:100%!important;max-width:none!important;margin:0!important;padding:0!important;border-radius:0!important;background:transparent!important;overflow:visible!important;box-shadow:none!important}
.about-profile-panel-photo img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1536/505!important;object-fit:contain!important;object-position:center!important;border-radius:0!important}
.about-profile-panel-copy{padding:24px clamp(18px,4vw,44px) 30px!important}
.about-profile-panel-copy h2{font-size:clamp(22px,2.5vw,30px)!important}
.about-profile-panel-copy>p{max-width:850px!important}
.about-profile-facts{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important}
.about-profile-facts>div{border-left:0!important;border-top:3px solid #b7c99e!important;border-radius:10px!important;text-align:center!important;padding:12px 8px!important}
.about-profile-facts strong{font-size:clamp(12px,1.2vw,15px)!important}
@media(max-width:760px){
 body.category .category-landing-hero-banner{padding:18px 0!important}
 body.category .category-landing-full-banner img{border-radius:12px!important;aspect-ratio:1200/650!important;object-fit:contain!important}
 .v117-profile-inner{grid-template-columns:112px minmax(0,1fr)!important;gap:16px!important;padding:18px!important}
 .v117-profile-photo{width:108px!important}
 .v117-profile-copy h2{font-size:20px!important}
 .v117-profile-copy>p:not(.v117-profile-lead){font-size:12px!important}
 .about-profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .about-profile-panel-photo img{aspect-ratio:1536/505!important;object-fit:contain!important}
}

/* V133: clean category illustration with no blurred side-fill; readable split hero. */
html body.category .category-landing-hero-banner{background:#fffdf8!important;padding:34px 0 30px!important}
html body.category .category-landing-inner-banner{display:grid!important;grid-template-columns:minmax(260px,.9fr) minmax(0,1.1fr)!important;align-items:center!important;gap:clamp(24px,4vw,48px)!important;max-width:1060px!important}
html body.category .category-landing-full-banner{width:100%!important;max-width:460px!important;margin:0 auto!important;overflow:visible!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body.category .category-landing-full-banner img{width:100%!important;height:auto!important;aspect-ratio:600/630!important;object-fit:contain!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body.category .category-landing-copy-below{text-align:left!important;max-width:none!important;margin:0!important;padding:0!important}
html body.category .category-landing-copy-below .breadcrumbs{text-align:left!important}
html body.category .category-landing-copy-below h1{font-size:clamp(27px,3vw,38px)!important}
@media(max-width:760px){html body.category .category-landing-inner-banner{grid-template-columns:1fr!important;gap:12px!important}html body.category .category-landing-full-banner{max-width:360px!important}html body.category .category-landing-copy-below{text-align:center!important}html body.category .category-landing-copy-below .breadcrumbs{text-align:left!important}}
/* TOP operator photo: use the portrait from the approved profile artwork, not the unrelated image. */
html body.home .v117-profile-photo img{object-position:50% 28%!important}
/* New articles heading is intentionally short; explanatory details stay in the description. */

/* V134: category entry banners with integrated, readable text and original watercolor artwork */
html body.category .category-text-banner{position:relative!important;display:grid!important;grid-template-columns:1.08fr .92fr!important;align-items:center!important;min-height:260px!important;overflow:hidden!important;border-radius:22px!important;background:linear-gradient(105deg,#fbf7ed 0%,#f7f4e9 62%,#f1f4e9 100%)!important;padding:clamp(22px,4vw,48px)!important;gap:20px!important;box-shadow:0 8px 24px rgba(85,68,43,.06)!important}
html body.category .category-text-banner-copy{position:relative!important;z-index:2!important;grid-column:1!important;grid-row:1!important;text-align:left!important;max-width:560px!important}
html body.category .category-text-banner-copy>span{display:block;color:#8a9873;font-size:11px;letter-spacing:.14em;font-weight:700;margin-bottom:10px}
html body.category .category-text-banner-copy h1{margin:0 0 10px!important;color:#715239!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:clamp(25px,3.4vw,38px)!important;line-height:1.45!important}
html body.category .category-text-banner-copy p{margin:0!important;color:#66594b!important;font-size:14px!important;line-height:1.9!important}
html body.category .category-text-banner>img{grid-column:2!important;grid-row:1!important;width:100%!important;height:230px!important;object-fit:contain!important;object-position:center!important;border-radius:0!important;mix-blend-mode:multiply!important}
html body.category .category-landing-copy-below{margin-top:12px!important}
@media(max-width:680px){html body.category .category-text-banner{grid-template-columns:1fr!important;gap:4px!important;padding:22px!important;min-height:0!important}.category-text-banner-copy{grid-column:1!important;grid-row:1!important}.category-text-banner>img{grid-column:1!important;grid-row:2!important;height:170px!important;max-width:320px!important;margin:0 auto!important}.category-text-banner-copy h1{font-size:26px!important}}
/* V134: compact TOP profile portrait uses the confirmed operator photo */
.v117-profile-photo img{object-fit:cover!important;object-position:50% 26%!important;transform:none!important}

/* V135: clean text-led category banners and consistent high-resolution article thumbnails */
.category-hero img,.category-header img,.category-top img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;filter:none!important;box-shadow:none!important;}
.post-thumb img{width:100%;height:100%;object-fit:cover;object-position:center;image-rendering:auto;}
.v117-profile-photo img{object-fit:cover!important;object-position:center 35%!important;border-radius:50%!important;}

/* V136: TOP operator introduction uses the parent-and-children reading illustration.
   The founder story remains a separate click-through section below the credentials. */
.v136-profile-inner{display:grid;grid-template-columns:minmax(280px,0.9fr) minmax(0,1.1fr);align-items:center;gap:clamp(24px,4vw,56px);}
.v136-profile-visual{width:100%;max-width:none;overflow:hidden;border-radius:22px;background:#faf8ef;}
.v136-profile-visual img{display:block;width:100%;height:auto;max-height:360px;object-fit:contain!important;object-position:center!important;border-radius:22px!important;mask-image:none!important;-webkit-mask-image:none!important;}
.v136-profile-copy h2{line-height:1.55;}
.v136-profile-copy p{line-height:1.95;}
.v136-story-link{max-width:850px;margin:34px auto 0;padding:26px 30px;text-align:center;background:#faf8f1;border-radius:18px;}
.v136-story-link h2{margin:0 0 10px;font-size:clamp(20px,2.2vw,27px);color:#76543c;}
.v136-story-link p{margin:0 auto 14px;max-width:650px;line-height:1.85;}
.v136-story-link a{display:inline-flex;gap:8px;align-items:center;font-weight:700;color:#8a6848;text-decoration:none;}
@media(max-width:760px){.v136-profile-inner{grid-template-columns:1fr;gap:20px}.v136-profile-visual img{max-height:280px}.v136-story-link{padding:22px 18px;margin-top:24px}}

/* V137: show the complete parent-and-children reading illustration clearly */
.v136-profile-visual{width:100%;max-width:520px;margin-inline:auto;overflow:visible;background:transparent;border-radius:0;}
.v136-profile-visual img{display:block!important;width:100%!important;height:auto!important;max-height:420px!important;object-fit:contain!important;object-position:center center!important;border-radius:16px!important;mask-image:none!important;-webkit-mask-image:none!important;clip-path:none!important;}

/* V138: category header uses the finished text-included banner as-is. */
html body.category .category-landing-hero-banner{padding:24px 0 30px!important;background:#fffdf8!important;}
html body.category .category-landing-inner-banner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:12px!important;max-width:1120px!important;}
html body.category .category-breadcrumbs-top{display:block!important;width:100%!important;margin:0!important;padding:0 2px!important;text-align:left!important;font-size:12px!important;line-height:1.8!important;color:#8b7b68!important;}
html body.category .category-landing-full-banner{display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
html body.category .category-landing-full-banner img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:12/5!important;object-fit:contain!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important;}
html body.category .category-landing-art:before,html body.category .category-landing-art:after{content:none!important;display:none!important;}
html body.category .category-landing-copy-below{display:none!important;}
@media(max-width:760px){html body.category .category-landing-hero-banner{padding:16px 0 22px!important;}html body.category .category-landing-inner-banner{gap:8px!important;}html body.category .category-landing-full-banner img{border-radius:8px!important;}}

/* V139: move the complete detailed-page profile banner and credentials onto TOP. */
html body.home .top-profile-panel{max-width:1120px!important;width:calc(100% - 40px)!important;margin:54px auto 28px!important;padding:0!important;background:#fffdf8!important;border:1px solid #eee7d9!important;border-radius:18px!important;overflow:hidden!important;box-shadow:0 8px 24px rgba(85,68,43,.05)!important}
html body.home .top-profile-banner{width:100%!important;margin:0!important;padding:0!important;overflow:visible!important;background:transparent!important}
html body.home .top-profile-banner img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:1536/505!important;object-fit:contain!important;object-position:center!important;border:0!important;border-radius:0!important;filter:none!important;transform:none!important}
html body.home .top-profile-copy{padding:26px clamp(18px,4vw,44px) 30px!important}
html body.home .top-profile-copy h2{margin:8px 0 12px!important;color:#76543c!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:clamp(22px,2.5vw,30px)!important;line-height:1.55!important}
html body.home .top-profile-copy>p{max-width:900px!important;margin:0!important;font-size:14px!important;line-height:1.95!important}
html body.home .top-profile-copy .about-profile-facts{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;margin-top:22px!important}
html body.home .top-profile-copy .about-profile-facts>div{border:0!important;border-top:3px solid #b7c99e!important;border-radius:10px!important;background:#f8f7ef!important;text-align:center!important;padding:12px 8px!important}
html body.home .top-profile-copy .about-profile-facts small{display:block!important;color:#827565!important;font-size:11px!important}
html body.home .top-profile-copy .about-profile-facts strong{display:block!important;color:#76543c!important;font-size:clamp(12px,1.2vw,15px)!important}
html body.home .top-logo-message{padding:24px 0 40px!important;background:#fffdf8!important}
html body.home .top-logo-message-inner{max-width:980px!important;width:calc(100% - 40px)!important;margin:0 auto!important;display:grid!important;grid-template-columns:minmax(180px,300px) 1fr!important;align-items:center!important;gap:34px!important}
html body.home .top-logo-message-inner>img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important}
html body.home .top-logo-message-inner h2{margin:6px 0 0!important;color:#76543c!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:clamp(20px,2.4vw,29px)!important;line-height:1.6!important}
@media(max-width:760px){html body.home .top-profile-panel{width:calc(100% - 28px)!important;margin:32px auto 18px!important}.top-profile-copy{padding:20px 16px!important}.top-profile-copy .about-profile-facts{grid-template-columns:repeat(2,minmax(0,1fr))!important}.top-profile-copy .about-profile-facts>div:last-child{grid-column:1/-1}.top-logo-message-inner{grid-template-columns:1fr!important;text-align:center!important;gap:12px!important}.top-logo-message-inner>img{max-width:230px!important;margin:0 auto!important}}
/* V139: use the prepared 1200x500 text artwork as the complete category hero. */
html body.category .category-landing-hero-banner{padding:22px 0 28px!important;background:#fffdf8!important}
html body.category .category-landing-inner-banner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:10px!important;max-width:1120px!important}
html body.category .category-landing-full-banner{display:block!important;width:100%!important;max-width:none!important;height:auto!important;min-height:0!important;margin:0!important;padding:0!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body.category .category-landing-full-banner img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:12/5!important;object-fit:fill!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:12px!important;background:transparent!important;filter:none!important;box-shadow:none!important;transform:none!important}

/* V140: combine the story link and brand message in one calm panel; show symbol only */
html body.home .top-logo-message{padding:24px 0 52px!important;background:#fffdf8!important}
html body.home .top-logo-message-inner{max-width:1040px!important;width:calc(100% - 40px)!important;margin:0 auto!important;display:block!important;padding:28px clamp(18px,4vw,42px)!important;background:#fff!important;border:1px solid #eee7d9!important;border-radius:18px!important;box-shadow:0 8px 24px rgba(85,68,43,.05)!important}
html body.home .top-logo-message-brand{display:grid!important;grid-template-columns:110px 1fr!important;align-items:center!important;gap:26px!important}
html body.home .top-logo-message-brand>img{display:block!important;width:100px!important;height:112px!important;object-fit:contain!important}
html body.home .top-logo-message-brand h2{margin:6px 0 0!important;color:#76543c!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:clamp(20px,2.4vw,29px)!important;line-height:1.6!important}
html body.home .top-logo-story{margin-top:22px!important;padding:20px 0 0!important;border-top:1px solid #eee7d9!important}
html body.home .top-logo-story h3{margin:0 0 8px!important;color:#76543c!important;font-size:18px!important}
html body.home .top-logo-story p{margin:0 0 12px!important;color:#756b5e!important;font-size:14px!important;line-height:1.9!important}
html body.home .top-logo-story a{color:#7c9566!important;font-weight:700!important;text-decoration:none!important}
@media(max-width:760px){html body.home .top-logo-message-inner{width:calc(100% - 28px)!important;padding:20px 16px!important}.top-logo-message-brand{grid-template-columns:72px 1fr!important;gap:14px!important}.top-logo-message-brand>img{width:68px!important;height:82px!important}.top-logo-story{margin-top:18px!important}}

/* V141: clearer category archive cards and full 1200x500 category banner. */
html body.category .category-landing-inner-banner{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:16px!important;max-width:1120px!important}
html body.category .category-landing-full-banner{width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible!important;padding:0!important;margin:0!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important}
html body.category .category-landing-full-banner img{display:block!important;width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:12/5!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:12px!important;box-shadow:none!important;filter:none!important;transform:none!important}
html body.category .category-breadcrumbs-top{align-self:flex-start!important;margin:0!important;font-size:12px!important;color:#897c6c!important}
html body.category .category-landing-hero-banner{padding:22px 0 28px!important;background:#fffdf8!important}
html body.category .category-article-grid{gap:22px!important;align-items:stretch!important}
html body.category .category-article-card{display:flex!important;flex-direction:column!important;overflow:hidden!important;border:1px solid #eee6d9!important;border-radius:16px!important;background:#fff!important;box-shadow:0 5px 18px rgba(86,69,46,.055)!important;text-decoration:none!important}
html body.category .category-article-card .post-thumb{width:100%!important;aspect-ratio:16/9!important;overflow:hidden!important;background:#f5f1e8!important}
html body.category .category-article-card .post-thumb img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important}
html body.category .category-article-card .post-content{display:flex!important;flex:1 1 auto!important;flex-direction:column!important;align-items:flex-start!important;padding:18px 19px 17px!important}
html body.category .category-article-label{display:inline-flex!important;align-items:center!important;margin:0 0 10px!important;padding:5px 11px!important;border:1px solid #d9e2cd!important;border-radius:6px!important;background:#f3f6ed!important;color:#66805a!important;font-size:11px!important;font-weight:700!important;line-height:1.4!important}
html body.category .category-article-card .post-content h3{margin:0 0 8px!important;color:#5e4938!important;font-size:17px!important;font-weight:700!important;line-height:1.6!important;letter-spacing:.01em!important}
html body.category .category-article-card .post-date{margin:0 0 10px!important;color:#a09282!important;font-size:11px!important}
html body.category .category-article-excerpt{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:3!important;overflow:hidden!important;margin:0 0 14px!important;color:#766b60!important;font-size:12px!important;line-height:1.75!important}
html body.category .category-article-readmore{display:inline-flex!important;align-items:center!important;gap:6px!important;margin-top:auto!important;padding:7px 13px!important;border-radius:99px!important;background:#edf2e7!important;color:#5d7951!important;font-size:11px!important;font-weight:700!important}
html body.category .category-article-card:hover{transform:translateY(-3px)!important;box-shadow:0 10px 24px rgba(86,69,46,.10)!important}
html body.home .top-profile-panel{margin-top:24px!important}
html body.home .top-profile-services{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:16px!important}
html body.home .top-profile-services a{display:flex!important;flex-direction:column!important;gap:3px!important;padding:11px 15px!important;border:1px solid #e4e9d9!important;border-radius:10px!important;background:#f7f8f1!important;text-decoration:none!important}
html body.home .top-profile-services span{font-size:11px!important;color:#887b6c!important}
html body.home .top-profile-services strong{font-size:14px!important;color:#647e58!important}
@media(max-width:760px){html body.category .category-article-grid{gap:12px!important}html body.category .category-article-card .post-content{padding:12px!important}html body.category .category-article-card .post-content h3{font-size:14px!important}html body.category .category-article-excerpt{font-size:11px!important;-webkit-line-clamp:3!important}html body.category .category-landing-full-banner img{border-radius:8px!important}html body.home .top-profile-services{grid-template-columns:1fr!important}}


/* V142: profile hierarchy and category image/card refinements */
html body.home .top-profile-credentials{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:10px!important;margin:22px 0 12px!important}
html body.home .top-profile-credential{min-width:0!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;gap:4px!important;padding:14px 8px!important;border:1px solid #e8e8d9!important;border-radius:12px!important;background:linear-gradient(180deg,#fbfbf5,#f4f5eb)!important;text-align:center!important}
html body.home .top-profile-credential small,.top-profile-career small{display:block!important;color:#817565!important;font-size:11px!important;letter-spacing:.04em!important}
html body.home .top-profile-credential strong{display:block!important;color:#76543c!important;font-size:clamp(13px,1.25vw,16px)!important;line-height:1.45!important}
html body.home .profile-fact-icon{display:inline-flex!important;align-items:center!important;justify-content:center!important;width:42px!important;height:42px!important;border-radius:50%!important;background:#e7eddd!important;color:#617b55!important;font-weight:700!important;font-size:12px!important;margin-bottom:2px!important}
html body.home .profile-fact-number{display:block!important;color:#76543c!important;font-family:Georgia,serif!important;font-size:clamp(24px,2.4vw,31px)!important;font-weight:700!important;line-height:1.15!important;white-space:nowrap!important}
html body.home .profile-fact-number span{font-family:inherit!important;font-size:11px!important;margin-left:3px!important;white-space:normal!important}
html body.home .top-profile-career{display:flex!important;align-items:center!important;gap:12px!important;margin:10px 0 16px!important;padding:12px 16px!important;border-left:3px solid #b7c99e!important;border-radius:0 10px 10px 0!important;background:#f8f6ef!important}
html body.home .profile-career-icon{display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;flex:0 0 34px!important;border-radius:50%!important;background:#eee8dc!important;color:#9a805e!important;font-size:18px!important}
html body.home .top-profile-career strong{display:block!important;color:#76543c!important;font-size:14px!important;margin-top:2px!important}
html body.home .top-profile-services{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important;margin-top:14px!important}
html body.home .top-profile-services a{display:flex!important;flex-direction:column!important;gap:5px!important;padding:15px 17px!important;border:1px solid #e5e8d9!important;border-radius:12px!important;background:#fff!important;text-decoration:none!important;transition:transform .2s,box-shadow .2s!important}
html body.home .top-profile-services a:hover{transform:translateY(-2px)!important;box-shadow:0 7px 18px rgba(86,69,46,.08)!important}
html body.home .profile-service-kicker{color:#82916d!important;font-size:10px!important;letter-spacing:.08em!important}
html body.home .top-profile-services a strong{color:#76543c!important;font-size:14px!important;line-height:1.5!important}
html body.home .top-profile-services a em{color:#72845f!important;font-size:11px!important;font-style:normal!important;font-weight:700!important}
html body.category .category-landing-full-banner,html body.category .category-landing-full-banner img{height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important}
html body.category .category-landing-full-banner img{width:100%!important;display:block!important}
html body.category .category-article-excerpt{-webkit-line-clamp:2!important;line-clamp:2!important}
@media(max-width:760px){html body.home .top-profile-credentials{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.top-profile-credential{padding:12px 6px!important}.profile-fact-number{font-size:25px!important}.top-profile-services{grid-template-columns:1fr!important}}

/* V144: refined profile facts — compact, editorial and informational (not CTA cards). */
html body.home .top-profile-credentials{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:12px!important;margin:22px 0 14px!important;align-items:stretch!important}
html body.home .top-profile-qualification,html body.home .top-profile-credential{min-width:0!important;min-height:104px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:7px!important;padding:14px 9px!important;border:1px solid #e5e9dc!important;border-radius:15px!important;background:linear-gradient(150deg,#fffefa 0%,#f5f7ef 100%)!important;text-align:center!important;box-shadow:0 3px 12px rgba(90,78,55,.035)!important}
html body.home .qualification-badge{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:5px 13px!important;border-radius:6px!important;background:#718b60!important;color:#fff!important;font-size:11px!important;font-weight:700!important;letter-spacing:.06em!important}
html body.home .top-profile-qualification strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;color:#66513e!important;font-size:19px!important;line-height:1.4!important}
html body.home .top-profile-credential .profile-fact-number{display:block!important;margin:0!important;color:#71875f!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:clamp(18px,2vw,25px)!important;font-weight:700!important;line-height:1.35!important;white-space:normal!important;letter-spacing:-.02em!important}
html body.home .top-profile-credential .profile-fact-label{display:block!important;color:#766b5d!important;font-size:12px!important;font-weight:700!important;line-height:1.4!important}
html body.home .top-profile-career{display:flex!important;align-items:center!important;gap:11px!important;margin:0 0 13px!important;padding:12px 16px!important;border:1px solid #eee7d9!important;border-left:3px solid #b6c79c!important;border-radius:12px!important;background:#faf8f1!important}
html body.home .top-profile-career .profile-career-icon{width:30px!important;height:30px!important;flex:0 0 30px!important;background:#edf1e5!important;color:#7a9168!important;font-size:15px!important}
html body.home .top-profile-career strong{color:#6c5946!important;font-size:13px!important;font-weight:700!important}
html body.home .top-profile-services{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:10px!important}
html body.home .profile-service-item{display:flex!important;align-items:center!important;gap:10px!important;min-width:0!important;padding:13px 14px!important;border:1px solid #e6e9dc!important;border-radius:13px!important;background:#fffefa!important}
html body.home .profile-service-mark{display:flex!important;align-items:center!important;justify-content:center!important;width:30px!important;height:30px!important;flex:0 0 30px!important;border-radius:50%!important;background:#edf2e7!important;color:#6e865e!important;font-size:12px!important;font-weight:700!important}
html body.home .profile-service-item strong{color:#6b5846!important;font-size:13px!important;line-height:1.55!important;font-weight:700!important}
/* Category archives: keep the complete prepared artwork visible and establish a clear reading hierarchy. */
html body.category .category-landing-full-banner{width:100%!important;max-width:100%!important;overflow:visible!important}
html body.category .category-landing-full-banner img{width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important}
html body.category .category-article-excerpt{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-clamp:2!important;overflow:hidden!important}
html body.category .category-article-readmore{margin-top:auto!important;align-self:flex-start!important}
@media(max-width:760px){html body.home .top-profile-credentials{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.top-profile-qualification,html body.home .top-profile-credential{min-height:88px!important;padding:11px 7px!important}.top-profile-credential .profile-fact-number{font-size:20px!important}.top-profile-services{grid-template-columns:1fr!important}.profile-service-item{padding:11px 12px!important}}

/* V145: editorial profile facts, quiet hand-drawn accents, and truly full-width category artwork. */
html body.home .top-profile-panel{position:relative;isolation:isolate;overflow:hidden;border-radius:24px;background:linear-gradient(135deg,#fffdf8 0%,#fbfaf3 62%,#f5f7ef 100%);}
html body.home .top-profile-panel:after{content:"";position:absolute;z-index:-1;right:18px;bottom:16px;width:112px;height:112px;opacity:.13;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath d='M57 108Q49 71 71 24M55 82Q24 81 17 52Q48 46 55 82ZM64 58Q62 25 94 13Q101 46 64 58Z' fill='none' stroke='%237b966b' stroke-width='2.1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;}
html body.home .top-profile-credentials{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important;margin:22px 0 14px!important;align-items:stretch!important}
html body.home .top-profile-qualification,html body.home .top-profile-credential{min-width:0!important;min-height:108px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:9px!important;padding:13px 8px!important;border:1px solid #e6e9dc!important;border-radius:15px!important;background:rgba(255,255,255,.82)!important;box-shadow:0 4px 15px rgba(90,78,55,.045)!important;text-align:center!important}
html body.home .top-profile-qualification .qualification-badge{padding:5px 13px!important;border:1px solid #718b60!important;border-radius:7px!important;background:#718b60!important;color:#fff!important;font-size:11px!important;font-weight:700!important}
html body.home .top-profile-credential .profile-fact-label{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:4px 10px!important;border:1px solid #a9bd96!important;border-radius:7px!important;background:transparent!important;color:#6d865d!important;font-size:11px!important;font-weight:700!important;line-height:1.35!important}
html body.home .top-profile-credential .profile-fact-number{display:block!important;color:#70563f!important;font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;font-size:clamp(17px,1.55vw,23px)!important;font-weight:700!important;line-height:1.35!important;letter-spacing:-.025em!important;white-space:normal!important;overflow-wrap:anywhere!important}
html body.home .top-profile-qualification strong{font-family:"Yu Mincho","Hiragino Mincho ProN",serif!important;color:#66513e!important;font-size:19px!important;line-height:1.4!important}
html body.home .top-profile-services{position:relative;display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important;margin-top:12px!important}
html body.home .top-profile-services:before{content:"現在の活動";grid-column:1/-1;color:#8b806e;font-size:11px;font-weight:700;letter-spacing:.1em;margin:2px 0 0}
html body.home .top-profile-services .profile-service-item{background:rgba(255,255,255,.75)!important}
/* Category archive banner: a single prepared image, no grid split, clipping, crop or decorative overlay. */
html body.category .category-landing-inner-banner{display:block!important;width:100%!important;max-width:1200px!important;margin-inline:auto!important}
html body.category .category-breadcrumbs-top{display:block!important;margin:0 0 14px!important;text-align:left!important}
html body.category .category-landing-full-banner{display:block!important;width:100%!important;max-width:1200px!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;padding:0!important;margin:0 auto!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body.category .category-landing-full-banner:before,html body.category .category-landing-full-banner:after{content:none!important;display:none!important}
html body.category .category-landing-full-banner img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;aspect-ratio:1200/500!important;object-fit:contain!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:14px!important;transform:none!important}
html body.category .category-article-excerpt{-webkit-line-clamp:2!important;line-clamp:2!important}
@media(max-width:900px){html body.home .top-profile-credentials{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:600px){html body.home .top-profile-credentials{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}html body.home .top-profile-credential .profile-fact-number{font-size:19px!important}html body.home .top-profile-services{grid-template-columns:1fr!important}html body.category .category-landing-hero{padding:18px 0!important}html body.category .category-breadcrumbs-top{font-size:11px!important;margin-bottom:10px!important}html body.category .category-landing-full-banner img{border-radius:10px!important}}


/* V146: retain the existing illustration language; do not add extra decorative motifs. */
html body.home .top-profile-panel:after{content:none!important;display:none!important;background:none!important}
html body.home .top-profile-panel{background:#fffdf8!important}
html body.home .top-profile-credentials{grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:10px!important}
html body.home .top-profile-credential .profile-fact-label{order:0!important}
html body.home .top-profile-credential .profile-fact-number{order:1!important}
html body.home .top-profile-qualification .qualification-badge{order:0!important}
html body.home .top-profile-qualification strong{order:1!important}
html body.home .top-profile-services{margin-top:18px!important}
html body.category .category-landing-full-banner img{width:100%!important;height:auto!important;aspect-ratio:auto!important;object-fit:initial!important}
html body.category .category-article-excerpt{-webkit-line-clamp:2!important;line-clamp:2!important}
@media(max-width:900px){html body.home .top-profile-credentials{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:600px){html body.home .top-profile-credentials{grid-template-columns:repeat(2,minmax(0,1fr))!important}.top-profile-credential .profile-fact-number{font-size:19px!important}}

/* V148: final corrective overrides for category banners, excerpts and profile activity icons. */
html body.category .category-landing-hero-banner{overflow:visible!important}
html body.category .category-landing-inner-banner{display:block!important;width:100%!important;max-width:1200px!important;margin:0 auto!important;padding-inline:20px!important}
html body.category .category-landing-full-banner{display:block!important;width:100%!important;max-width:1200px!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html body.category .category-landing-full-banner img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;max-height:none!important;aspect-ratio:auto!important;object-fit:initial!important;object-position:center!important;border:0!important;border-radius:12px!important;transform:none!important}
html body.category .category-article-card .post-content{min-width:0!important}
html body.category .category-article-excerpt{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-clamp:2!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;height:auto!important;max-height:3.5em!important;min-height:0!important;line-height:1.75!important;margin:0 0 12px!important}
html body.category .category-article-readmore{display:inline-flex!important;margin-top:auto!important}
html body.home .profile-service-mark{display:flex!important;align-items:center!important;justify-content:center!important}
html body.home .profile-service-mark svg{display:block!important;width:19px!important;height:19px!important;fill:none!important;stroke:currentColor!important;stroke-width:1.55!important;stroke-linecap:round!important;stroke-linejoin:round!important}
@media(max-width:760px){html body.category .category-landing-inner-banner{padding-inline:14px!important}html body.category .category-landing-full-banner img{border-radius:8px!important}html body.category .category-article-excerpt{font-size:12px!important;line-height:1.7!important;max-height:3.4em!important}}


/* V149: authoritative category-page layout overrides. Keep these rules consolidated at the end. */
html body.category .category-landing-hero-banner{display:block!important;overflow:visible!important;padding:24px 0 28px!important;}
html body.category .category-landing-inner-banner{display:block!important;width:100%!important;max-width:1200px!important;margin:0 auto!important;padding:0 20px!important;box-sizing:border-box!important;}
html body.category .category-landing-inner-banner .category-banner-image-wrap{display:block!important;position:static!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible!important;margin:0 auto!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
html body.category .category-landing-inner-banner .category-banner-image-wrap:before,html body.category .category-landing-inner-banner .category-banner-image-wrap:after{content:none!important;display:none!important;}
html body.category .category-landing-inner-banner .category-banner-image-wrap img{display:block!important;position:static!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio:auto!important;object-fit:unset!important;object-position:center!important;padding:0!important;margin:0!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important;}
html body.category .category-article-card .post-content{display:flex!important;flex-direction:column!important;align-items:flex-start!important;min-width:0!important;height:100%!important;}
html body.category .category-article-card .category-excerpt-two-lines{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-clamp:2!important;white-space:normal!important;overflow:hidden!important;text-overflow:ellipsis!important;width:100%!important;height:auto!important;min-height:0!important;max-height:3.5em!important;line-height:1.75em!important;margin:0 0 12px!important;padding:0!important;font-size:12px!important;box-sizing:border-box!important;}
html body.category .category-article-card .category-article-readmore{display:inline-flex!important;flex:0 0 auto!important;margin-top:auto!important;white-space:nowrap!important;}
@media(max-width:760px){html body.category .category-landing-inner-banner{padding:0 14px!important;}html body.category .category-landing-inner-banner .category-banner-image-wrap img{border-radius:8px!important;}html body.category .category-article-card .category-excerpt-two-lines{font-size:11px!important;line-height:1.65em!important;max-height:3.3em!important;-webkit-line-clamp:2!important;line-clamp:2!important;}}


/* V151: focused category fixes; retain the established category label/card styling. */
html body.category .category-landing-hero-banner{display:block!important;overflow:visible!important;padding:24px 0 28px!important;}
html body.category .category-landing-inner-banner{display:block!important;width:100%!important;max-width:1200px!important;margin:0 auto!important;padding:0 20px!important;box-sizing:border-box!important;}
html body.category .category-landing-full-banner.category-banner-image-wrap{display:block!important;position:static!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;aspect-ratio:auto!important;overflow:visible!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;}
html body.category .category-landing-full-banner.category-banner-image-wrap:before,html body.category .category-landing-full-banner.category-banner-image-wrap:after{content:none!important;display:none!important;}
html body.category .category-landing-full-banner.category-banner-image-wrap img{display:block!important;position:static!important;width:100%!important;max-width:100%!important;height:auto!important;max-height:none!important;aspect-ratio: auto!important;object-fit:unset!important;object-position:center!important;margin:0!important;padding:0!important;border:0!important;border-radius:12px!important;background:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important;}
html body.category .category-article-label{display:inline-flex!important;align-items:center!important;padding:5px 11px!important;margin:0 0 10px!important;border:1px solid #d9e2cd!important;border-radius:6px!important;background:#f3f6ed!important;color:#66805a!important;font-size:11px!important;font-weight:700!important;line-height:1.4!important;}
html body.category .category-article-card .category-excerpt-two-lines{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:2!important;line-clamp:2!important;width:100%!important;height:auto!important;min-height:0!important;max-height:3.5em!important;overflow:hidden!important;white-space:normal!important;text-overflow:ellipsis!important;margin:0 0 12px!important;padding:0!important;font-size:12px!important;line-height:1.75em!important;}
html body.category .category-article-card .category-article-readmore{display:inline-flex!important;flex:0 0 auto!important;margin-top:auto!important;white-space:nowrap!important;}
/* Preserve single-article featured and in-body images. */
html body.single-post .article-featured-image{display:block!important;max-width:100%!important;margin:0 auto 28px!important;overflow:visible!important;}
html body.single-post .article-featured-image img,html body.single-post .article-body img{display:block!important;max-width:100%!important;height:auto!important;object-fit:contain!important;}
@media(max-width:760px){html body.category .category-landing-inner-banner{padding:0 14px!important;}html body.category .category-landing-full-banner.category-banner-image-wrap img{border-radius:8px!important;}html body.category .category-article-card .category-excerpt-two-lines{font-size:11px!important;line-height:1.65em!important;max-height:3.3em!important;}}


/* V152: final visual distinction for category label/read-more and natural banner ratio. */
html body.category .category-article-label{
  display:inline-flex!important;align-items:center!important;
  padding:5px 11px!important;margin:0 0 10px!important;
  border:1px solid #b9cba9!important;border-radius:6px!important;
  background:#f4f7ef!important;color:#5f7952!important;
  font-size:11px!important;font-weight:700!important;line-height:1.4!important;
}
html body.category .category-article-card .category-article-readmore{
  display:inline-flex!important;align-items:center!important;gap:5px!important;
  margin-top:auto!important;padding:5px 0!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  color:#66845a!important;font-size:12px!important;font-weight:700!important;
  text-decoration:none!important;box-shadow:none!important;
}
html body.category .category-article-card .category-article-readmore span{
  color:inherit!important;transition:transform .18s ease;
}
html body.category .category-article-card:hover .category-article-readmore span{transform:translateX(3px)}
html body.category .category-landing-inner-banner .category-banner-image-wrap{
  display:block!important;width:100%!important;max-width:100%!important;
  height:auto!important;min-height:0!important;aspect-ratio:auto!important;
  overflow:visible!important;padding:0!important;margin:0 auto!important;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;
}
html body.category .category-landing-inner-banner .category-banner-image-wrap img{
  display:block!important;width:100%!important;max-width:100%!important;
  height:auto!important;max-height:none!important;aspect-ratio:auto!important;
  object-fit:fill!important;object-position:center!important;
  padding:0!important;margin:0!important;border:0!important;border-radius:12px!important;
  background:transparent!important;box-shadow:none!important;filter:none!important;transform:none!important;
}
@media(max-width:760px){
  html body.category .category-landing-inner-banner{padding:0 14px!important}
  html body.category .category-landing-inner-banner .category-banner-image-wrap img{border-radius:8px!important}
}


/* V154: enlarge category entry banner while preserving the complete precomposed image. */
html body.category .category-landing-hero-banner{
  width:100%!important; max-width:none!important; padding:18px 0 26px!important;
  overflow:visible!important;
}
html body.category .category-landing-inner-banner{
  display:block!important; width:calc(100% - 32px)!important;
  max-width:1440px!important; margin:0 auto!important;
  padding:0!important; box-sizing:border-box!important;
}
html body.category .category-original-banner{
  display:block!important; width:100%!important; max-width:none!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  aspect-ratio:auto!important; overflow:visible!important;
  margin:0 auto!important; padding:0!important; border:0!important;
  border-radius:0!important; background:none!important; box-shadow:none!important;
}
html body.category .category-original-banner::before,
html body.category .category-original-banner::after{content:none!important;display:none!important;}
html body.category .category-original-banner img{
  display:block!important; width:100%!important; max-width:none!important;
  height:auto!important; min-height:0!important; max-height:none!important;
  aspect-ratio:1200 / 500!important; object-fit:contain!important;
  object-position:center!important; margin:0 auto!important; padding:0!important;
  border:0!important; border-radius:12px!important; background:none!important;
  box-shadow:none!important; filter:none!important; transform:none!important;
  clip-path:none!important; mask:none!important;
}
@media(max-width:760px){
  html body.category .category-landing-inner-banner{width:calc(100% - 20px)!important;}
  html body.category .category-original-banner img{border-radius:8px!important;}
}

/* V155: category archive banner — isolated layout, preserve the complete source image */
html body.category .category-landing-hero-banner {
  display:block !important; width:100% !important; height:auto !important; min-height:0 !important;
  padding:20px 0 28px !important; overflow:visible !important; box-sizing:border-box !important;
}
html body.category .category-banner-shell {
  display:block !important; position:static !important; width:100% !important; max-width:1240px !important;
  height:auto !important; min-height:0 !important; margin:0 auto !important; padding:0 20px !important;
  overflow:visible !important; box-sizing:border-box !important;
}
html body.category .category-banner-shell .category-breadcrumbs-top {
  display:block !important; width:100% !important; margin:0 0 12px !important;
}
html body.category .category-banner-shell .category-original-banner {
  display:block !important; position:static !important; width:100% !important; max-width:none !important;
  height:auto !important; min-height:0 !important; max-height:none !important; aspect-ratio:auto !important;
  margin:0 !important; padding:0 !important; overflow:visible !important; border:0 !important;
  border-radius:0 !important; background:transparent !important; box-shadow:none !important;
}
html body.category .category-banner-shell .category-original-banner::before,
html body.category .category-banner-shell .category-original-banner::after { content:none !important; display:none !important; }
html body.category .category-banner-shell img.category-banner-full-image {
  display:block !important; position:static !important; width:100% !important; max-width:100% !important;
  height:auto !important; min-height:0 !important; max-height:none !important; aspect-ratio:auto !important;
  object-fit:unset !important; object-position:center !important; transform:none !important;
  clip-path:none !important; mask:none !important; filter:none !important;
  margin:0 !important; padding:0 !important; border:0 !important; border-radius:12px !important;
  box-shadow:none !important; box-sizing:border-box !important;
}
@media (max-width:760px) {
  html body.category .category-banner-shell { padding:0 12px !important; }
  html body.category .category-banner-shell img.category-banner-full-image { border-radius:8px !important; }
}

/* v157: photo-led category cards with a readable title/subtitle band */
body.home .category-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important}
body.home .category-card-grid .topic-card{padding:0!important;overflow:hidden!important;display:flex!important;flex-direction:column!important;border-radius:20px!important;background:#fffdf8!important;border:1px solid #e9e1d2!important;box-shadow:0 7px 20px rgba(90,72,48,.055)!important}
body.home .category-photo-wrap{position:relative!important;width:100%!important;overflow:hidden!important;aspect-ratio:1200/650!important;background:#f4eee3!important}
body.home .category-card-grid .category-card-art{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center!important;border-radius:0!important;margin:0!important;padding:0!important}
body.home .category-photo-band{position:absolute!important;left:0!important;right:0!important;bottom:0!important;padding:15px 22px 14px!important;background:rgba(255,253,247,.94)!important;border-bottom:5px solid #d9b477!important;backdrop-filter:blur(5px)!important}
body.home .category-photo-band h3{font-size:clamp(16px,1.7vw,21px)!important;line-height:1.45!important;color:#654f3e!important;margin:0 0 3px!important;min-height:0!important}
body.home .category-photo-subtitle{font-size:13px!important;line-height:1.5!important;color:#76695d!important;margin:0!important}
body.home .category-card-grid .category-card-description{padding:15px 20px 0!important;margin:0!important;font-size:13px!important;line-height:1.8!important;color:#76695d!important}
body.home .category-card-grid .topic-link{margin:12px 20px 17px!important}
@media(max-width:760px){body.home .category-card-grid{grid-template-columns:1fr!important;gap:16px!important}body.home .category-photo-band{padding:11px 14px 10px!important}body.home .category-photo-band h3{font-size:16px!important}body.home .category-photo-subtitle{font-size:11px!important}body.home .category-card-grid .category-card-description{font-size:12px!important;padding:12px 14px 0!important}body.home .category-card-grid .topic-link{margin:10px 14px 14px!important}}


/* v157 refinement: reveal more of the photographs while retaining the title band */
body.home .category-photo-wrap{aspect-ratio:1200/760!important;}
body.home .category-photo-band{
  left:5%!important;right:5%!important;bottom:12px!important;width:90%!important;
  padding:11px 20px 10px!important;
  background:rgba(255,253,247,.97)!important;
  border-radius:15px!important;
  border-bottom-width:4px!important;
  box-shadow:0 3px 14px rgba(72,58,40,.10)!important;
}
body.home .category-photo-band h3{margin-bottom:2px!important;}
body.home .category-photo-subtitle{line-height:1.4!important;}
@media(max-width:760px){
  body.home .category-photo-wrap{aspect-ratio:1200/760!important;}
  body.home .category-photo-band{left:4%!important;right:4%!important;bottom:9px!important;width:92%!important;padding:9px 12px 8px!important;border-radius:12px!important;}
  body.home .category-photo-band h3{font-size:15px!important;}
  body.home .category-photo-subtitle{font-size:11px!important;}
}


/* v158: compact single HTML title label; category photographs remain clean and unobstructed. */
body.home .category-photo-wrap{aspect-ratio:1200/760!important;position:relative!important;overflow:hidden!important}
body.home .category-photo-band{
  left:5%!important;right:5%!important;bottom:10px!important;width:90%!important;
  padding:8px 16px 7px!important;min-height:0!important;
  background:rgba(255,253,247,.94)!important;
  border:1px solid rgba(224,211,190,.72)!important;border-bottom:3px solid #d9b477!important;
  border-radius:12px!important;box-shadow:0 2px 9px rgba(72,58,40,.08)!important;
  backdrop-filter:blur(4px)!important;
}
body.home .category-photo-band h3{font-size:clamp(14px,1.35vw,18px)!important;line-height:1.35!important;margin:0 0 2px!important}
body.home .category-photo-subtitle{font-size:11px!important;line-height:1.35!important;margin:0!important}
@media(max-width:760px){
 body.home .category-photo-band{left:4%!important;right:4%!important;bottom:8px!important;width:92%!important;padding:7px 10px 6px!important;border-radius:10px!important}
 body.home .category-photo-band h3{font-size:13px!important}
 body.home .category-photo-subtitle{font-size:10px!important}
}


/* V159: one restrained ivory title band; remove the subtitle and sticker-like treatment. */
body.home .category-photo-wrap{
  position:relative!important; overflow:hidden!important; width:100%!important;
  aspect-ratio:1200/760!important; border-radius:14px!important; background:#f5efe5!important;
}
body.home .category-photo-wrap .category-card-art{
  display:block!important; width:100%!important; height:100%!important;
  aspect-ratio:auto!important; object-fit:cover!important; object-position:center 42%!important;
  padding:0!important; margin:0!important; border-radius:0!important; background:transparent!important;
}
body.home .category-photo-band{
  position:absolute!important; left:0!important; right:0!important; bottom:0!important;
  width:100%!important; margin:0!important; padding:12px 10px!important;
  border:0!important; border-radius:0!important; border-top:1px solid rgba(226,215,195,.72)!important;
  border-bottom:0!important; background:rgba(255,253,247,.84)!important;
  backdrop-filter:blur(3px)!important; box-shadow:none!important;
  text-align:center!important;
}
body.home .category-photo-band h3{
  margin:0!important; min-height:0!important; padding:0!important;
  color:#654f3e!important; font-size:clamp(14px,1.25vw,18px)!important;
  line-height:1.45!important; font-weight:700!important; letter-spacing:.015em!important;
}
body.home .category-photo-band .category-photo-subtitle{display:none!important}
body.home .category-card-grid .category-card-description{margin-top:12px!important}
@media(max-width:760px){
  body.home .category-photo-wrap{aspect-ratio:1200/760!important}
  body.home .category-photo-band{padding:9px 7px!important}
  body.home .category-photo-band h3{font-size:13px!important}
}


/* V160: preserve the photographs' native proportions; keep the title band to one quarter of photo height. */
body.home .category-card-grid .category-photo-wrap{
  position:relative!important;
  display:block!important;
  width:100%!important;
  aspect-ratio:1200/630!important;
  height:auto!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:#f5efe5!important;
}
body.home .category-card-grid .category-photo-wrap .category-card-art{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
}
/* A single translucent ivory title strip, exactly 25% of the photo frame. */
body.home .category-card-grid .category-photo-band{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  height:25%!important;
  min-height:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:4px 10px!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid rgba(226,215,195,.65)!important;
  border-radius:0!important;
  background:rgba(255,253,247,.86)!important;
  backdrop-filter:blur(3px)!important;
  box-shadow:none!important;
  text-align:center!important;
}
body.home .category-card-grid .category-photo-band h3{
  margin:0!important;
  padding:0!important;
  min-height:0!important;
  color:#654f3e!important;
  font-size:clamp(13px,1.2vw,17px)!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}
body.home .category-card-grid .category-photo-band .category-photo-subtitle{display:none!important}
body.home .category-card-grid .category-card-description{margin-top:12px!important}
@media(max-width:760px){
  body.home .category-card-grid .category-photo-wrap{aspect-ratio:1200/630!important}
  body.home .category-card-grid .category-photo-band{height:25%!important;padding:3px 6px!important}
  body.home .category-card-grid .category-photo-band h3{font-size:12px!important}
}


/* V161: place the ivory title strip safely below faces; remove decorative sprout marks from category cards. */
body.home .category-card-grid .category-photo-wrap{
  position:relative!important;
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:1200/630!important;
  overflow:hidden!important;
  border-radius:14px!important;
  background:#f5efe5!important;
}
body.home .category-card-grid .category-photo-wrap .category-card-art{
  display:block!important;
  width:100%!important;
  height:100%!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center 38%!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
}
/* The title band occupies only the bottom quarter of the image frame. */
body.home .category-card-grid .category-photo-band{
  position:absolute!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  top:auto!important;
  transform:none!important;
  width:100%!important;
  height:25%!important;
  min-height:0!important;
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:2px 10px!important;
  margin:0!important;
  border:0!important;
  border-top:1px solid rgba(226,215,195,.65)!important;
  border-radius:0!important;
  background:rgba(255,253,247,.88)!important;
  box-shadow:none!important;
  text-align:center!important;
  z-index:3!important;
}
body.home .category-card-grid .category-photo-band h3{
  position:static!important;
  inset:auto!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  transform:none!important;
  margin:0!important;
  padding:0!important;
  color:#654f3e!important;
  font-size:clamp(13px,1.2vw,17px)!important;
  line-height:1.25!important;
  font-weight:700!important;
  letter-spacing:.01em!important;
}
body.home .category-card-grid .category-photo-band .category-photo-subtitle{display:none!important}
/* Remove ornamental seed/sprout pseudo-elements from these four category cards only. */
body.home .category-card-grid .topic-card:before,
body.home .category-card-grid .topic-card:after,
body.home .category-card-grid .category-photo-wrap:before,
body.home .category-card-grid .category-photo-wrap:after{
  content:none!important;
  display:none!important;
  background:none!important;
}
body.home .category-card-grid .category-card-description{margin-top:12px!important}
@media(max-width:760px){
  body.home .category-card-grid .category-photo-wrap{aspect-ratio:1200/630!important}
  body.home .category-card-grid .category-photo-band{height:25%!important;padding:2px 6px!important}
  body.home .category-card-grid .category-photo-band h3{font-size:12px!important}
}


/* V162: photo and title strip are separate flow elements; never overlay faces or text on photos. */
body.home .category-card-grid .topic-card{display:block!important;overflow:hidden!important}
body.home .category-card-grid .category-photo-wrap{
  display:block!important;position:static!important;width:100%!important;height:auto!important;
  aspect-ratio:auto!important;overflow:hidden!important;border-radius:14px 14px 0 0!important;
  margin:0!important;padding:0!important;background:transparent!important;
}
body.home .category-card-grid .category-photo-wrap .category-card-art{
  display:block!important;position:static!important;width:100%!important;height:auto!important;
  max-width:100%!important;aspect-ratio:auto!important;object-fit:contain!important;
  object-position:center!important;transform:none!important;margin:0!important;padding:0!important;
  border:0!important;border-radius:14px 14px 0 0!important;
}
body.home .category-card-grid .category-photo-band{
  display:flex!important;position:static!important;inset:auto!important;transform:none!important;
  width:100%!important;height:auto!important;min-height:0!important;box-sizing:border-box!important;
  align-items:center!important;justify-content:center!important;padding:8px 10px!important;
  margin:0!important;border:0!important;border-radius:0!important;
  background:#fffdf7!important;box-shadow:none!important;backdrop-filter:none!important;
  text-align:center!important;
}
body.home .category-card-grid .category-photo-band h3{
  display:block!important;position:static!important;inset:auto!important;transform:none!important;
  width:auto!important;height:auto!important;margin:0!important;padding:0!important;
  color:#654f3e!important;font-size:clamp(13px,1.2vw,17px)!important;
  line-height:1.3!important;font-weight:700!important;letter-spacing:.01em!important;
}
body.home .category-card-grid .category-photo-band .category-photo-subtitle{display:none!important}
body.home .category-card-grid .category-card-description{margin-top:12px!important}

/* v163: category titles use a subtle translucent brown framed label below the photo. */
body.home .category-card-grid .category-photo-band{
  display:flex!important; position:static!important; inset:auto!important; transform:none!important;
  box-sizing:border-box!important; width:calc(100% - 24px)!important; min-height:0!important; height:auto!important;
  align-items:center!important; justify-content:center!important;
  margin:10px 12px 0!important; padding:9px 12px!important;
  border:1px solid rgba(126,88,62,.48)!important; border-radius:9px!important;
  background:rgba(142,103,76,.16)!important; box-shadow:inset 0 0 0 1px rgba(255,255,255,.28)!important;
  backdrop-filter:blur(3px)!important; text-align:center!important;
}
body.home .category-card-grid .category-photo-band h3{
  display:block!important; position:static!important; inset:auto!important; transform:none!important;
  width:auto!important; height:auto!important; margin:0!important; padding:0!important;
  color:#684a36!important; font-size:clamp(14px,1.25vw,17px)!important;
  line-height:1.35!important; font-weight:700!important; letter-spacing:.015em!important;
}
body.home .category-card-grid .category-card-description{
  margin:7px 12px 0!important; padding:0!important; line-height:1.65!important;
}
body.home .category-card-grid .topic-link{ margin-top:8px!important; }

/* v164: align category cards with the approved reference proportions and typography. */
body.home .category-card-grid .topic-card{
  display:flex!important; flex-direction:column!important; align-items:stretch!important;
  overflow:hidden!important; border:1px solid rgba(190,145,105,.34)!important;
  border-radius:20px!important; background:#fffdf8!important;
  box-shadow:0 7px 20px rgba(90,72,48,.055)!important;
}
body.home .category-card-grid .category-photo-wrap{
  display:block!important; position:relative!important; width:100%!important;
  height:auto!important; aspect-ratio:1.53!important; overflow:hidden!important;
  margin:0!important; padding:0!important; border-radius:19px 19px 0 0!important;
}
body.home .category-card-grid .category-photo-wrap .category-card-art{
  display:block!important; width:100%!important; height:100%!important;
  object-fit:cover!important; object-position:center 42%!important;
  margin:0!important; padding:0!important; border:0!important;
  border-radius:0!important; transform:none!important;
}
body.home .category-card-grid .category-photo-band{
  display:flex!important; position:static!important; inset:auto!important; transform:none!important;
  width:calc(100% - 28px)!important; min-height:0!important; height:auto!important;
  box-sizing:border-box!important; align-items:center!important; justify-content:center!important;
  margin:10px 14px 0!important; padding:9px 12px!important;
  border:1px solid rgba(126,83,55,.58)!important; border-radius:10px!important;
  background:rgba(145,101,70,.17)!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)!important;
  backdrop-filter:blur(4px)!important; text-align:center!important;
}
body.home .category-card-grid .category-photo-band h3{
  display:block!important; position:static!important; inset:auto!important; transform:none!important;
  width:auto!important; height:auto!important; min-height:0!important;
  margin:0!important; padding:0!important; color:#684a36!important;
  font-size:clamp(15px,1.3vw,18px)!important; line-height:1.3!important;
  font-weight:700!important; letter-spacing:.01em!important;
}
body.home .category-card-grid .category-card-description{
  width:calc(100% - 52px)!important; max-width:300px!important;
  box-sizing:border-box!important; align-self:center!important;
  margin:5px auto 0!important; padding:0!important;
  color:#76695d!important; font-size:13px!important; line-height:1.7!important;
  text-align:left!important;
}
body.home .category-card-grid .topic-link{ margin:12px auto 16px!important; }
@media(max-width:760px){
  body.home .category-card-grid .category-photo-wrap{aspect-ratio:1.53!important}
  body.home .category-card-grid .category-photo-band{width:calc(100% - 24px)!important;margin:8px 12px 0!important;padding:8px 9px!important}
  body.home .category-card-grid .category-photo-band h3{font-size:15px!important}
  body.home .category-card-grid .category-card-description{width:calc(100% - 36px)!important;margin-top:5px!important;font-size:12px!important;line-height:1.65!important}
}

/* v165: category cards — restore natural photo proportions and use a full-width title belt. */
body.home .category-card-grid .topic-card{
  display:flex!important; flex-direction:column!important; align-items:stretch!important;
  overflow:hidden!important; border:1px solid rgba(190,145,105,.30)!important;
  border-radius:18px!important; background:#fffdf8!important;
  box-shadow:0 6px 18px rgba(90,72,48,.045)!important;
}
body.home .category-card-grid .category-photo-wrap{
  display:block!important; position:relative!important; width:100%!important;
  height:auto!important; aspect-ratio:auto!important; overflow:hidden!important;
  margin:0!important; padding:0!important; border-radius:17px 17px 0 0!important;
  background:transparent!important;
}
body.home .category-card-grid .category-photo-wrap .category-card-art{
  display:block!important; position:static!important; width:100%!important;
  height:auto!important; max-width:100%!important; aspect-ratio:auto!important;
  object-fit:unset!important; object-position:center!important; transform:none!important;
  margin:0!important; padding:0!important; border:0!important;
  border-radius:0!important;
}
body.home .category-card-grid .category-photo-band{
  display:flex!important; position:relative!important; inset:auto!important; transform:none!important;
  box-sizing:border-box!important; width:100%!important; min-height:0!important; height:auto!important;
  align-items:center!important; justify-content:center!important;
  margin:0!important; padding:10px 12px!important;
  border:0!important; border-top:1px solid rgba(126,83,55,.26)!important;
  border-bottom:1px solid rgba(126,83,55,.18)!important; border-radius:0!important;
  background:rgba(145,101,70,.20)!important; box-shadow:none!important;
  backdrop-filter:none!important; text-align:center!important;
}
body.home .category-card-grid .category-photo-band h3{
  display:block!important; position:static!important; inset:auto!important; transform:none!important;
  width:auto!important; height:auto!important; min-height:0!important;
  margin:0!important; padding:0!important; color:#684a36!important;
  font-size:clamp(15px,1.3vw,18px)!important; line-height:1.35!important;
  font-weight:700!important; letter-spacing:.01em!important;
}
body.home .category-card-grid .category-card-description{
  display:block!important; width:calc(100% - 40px)!important; max-width:340px!important;
  box-sizing:border-box!important; align-self:center!important;
  margin:9px auto 0!important; padding:0!important;
  color:#76695d!important; font-size:13px!important; line-height:1.7!important;
  text-align:left!important;
}
body.home .category-card-grid .topic-link{ margin:12px auto 16px!important; }
@media(max-width:760px){
  body.home .category-card-grid .category-photo-band{padding:9px 10px!important}
  body.home .category-card-grid .category-photo-band h3{font-size:15px!important}
  body.home .category-card-grid .category-card-description{width:calc(100% - 32px)!important;margin-top:8px!important;font-size:12px!important;line-height:1.65!important}
}

/* v166: readability pass — clear hierarchy, calmer line lengths and mobile-friendly type. */
:root{--reading-text:#62584d;}
html{font-size:16px;-webkit-text-size-adjust:100%;}
body{font-size:16px;line-height:1.85;color:var(--reading-text);}
/* Section introductions: compact, centered, and easy to scan before the cards. */
body.home .service-lineup-section>.container>.section-head{
  max-width:780px!important;margin:0 auto 34px!important;padding-inline:18px!important;
}
body.home .service-lineup-section .section-kicker{
  font-size:12px!important;line-height:1.5!important;letter-spacing:.14em!important;margin-bottom:7px!important;
}
body.home .service-lineup-section .section-title{
  font-size:clamp(27px,2.7vw,34px)!important;line-height:1.4!important;
  letter-spacing:.025em!important;margin:0 0 12px!important;
}
body.home .service-lineup-section .section-head>p{
  max-width:700px!important;margin:0 auto!important;padding:0 8px!important;
  color:#706457!important;font-size:16px!important;line-height:1.85!important;
  letter-spacing:.01em!important;text-wrap:pretty;
}
/* Category cards: readable copy, restrained line length and consistent rhythm. */
body.home .category-card-grid .category-photo-band{padding:11px 16px!important;background:rgba(145,101,70,.23)!important;}
body.home .category-card-grid .category-photo-band h3{font-size:clamp(16px,1.35vw,18px)!important;line-height:1.45!important;}
body.home .category-card-grid .category-card-description{
  width:calc(100% - 44px)!important;max-width:330px!important;
  margin:10px auto 0!important;font-size:14px!important;line-height:1.8!important;
  letter-spacing:0!important;color:#6f6256!important;
}
body.home .category-card-grid .topic-link{font-size:14px!important;line-height:1.5!important;margin:14px auto 17px!important;}
/* General section headings and paragraphs retain a consistent readable scale. */
.section-head{max-width:780px;}
.section-head>p{font-size:15px;line-height:1.85;}
/* Article reading experience: comfortable line length and body size on every screen. */
body.single-post .article-body,body.page .entry-content{
  font-size:16px;line-height:1.95;color:#514a42;
}
body.single-post .article-body p,body.page .entry-content p{
  font-size:inherit;line-height:inherit;margin:0 0 1.35em;
}
body.single-post .article-body h2,body.page .entry-content h2{
  font-size:clamp(21px,2.2vw,26px);line-height:1.55;margin:2.1em 0 .8em;
}
body.single-post .article-body h3,body.page .entry-content h3{
  font-size:clamp(18px,1.8vw,21px);line-height:1.6;margin:1.8em 0 .65em;
}
@media(max-width:760px){
  body{font-size:15.5px;line-height:1.85;}
  body.home .service-lineup-section{padding:42px 0!important;}
  body.home .service-lineup-section>.container>.section-head{margin-bottom:24px!important;padding-inline:12px!important;}
  body.home .service-lineup-section .section-title{font-size:clamp(23px,6.2vw,29px)!important;line-height:1.45!important;margin-bottom:10px!important;}
  body.home .service-lineup-section .section-head>p{max-width:34em!important;font-size:15px!important;line-height:1.8!important;text-align:left!important;padding:0 4px!important;}
  body.home .category-card-grid .category-photo-band{padding:10px 12px!important;}
  body.home .category-card-grid .category-photo-band h3{font-size:16px!important;line-height:1.45!important;}
  body.home .category-card-grid .category-card-description{width:calc(100% - 36px)!important;max-width:34em!important;margin-top:9px!important;font-size:14px!important;line-height:1.8!important;}
  body.home .category-card-grid .topic-link{font-size:14px!important;margin:12px auto 15px!important;}
  body.single-post .article-body,body.page .entry-content{font-size:16px;line-height:1.95;}
  body.single-post .article-body p,body.page .entry-content p{margin-bottom:1.25em;}
}


/* v167: compact category labels and unify readable type rhythm across templates. */
body.home .category-card-grid .category-photo-band{
  display:flex!important; width:fit-content!important; max-width:calc(100% - 24px)!important;
  min-width:0!important; min-height:0!important; height:auto!important;
  margin:8px auto 0!important; padding:6px 18px!important;
  align-self:center!important; box-sizing:border-box!important;
  border:1px solid rgba(126,83,55,.48)!important; border-radius:9px!important;
  background:rgba(145,101,70,.20)!important; box-shadow:none!important;
  text-align:center!important;
}
body.home .category-card-grid .category-photo-band h3{
  width:auto!important; max-width:100%!important; margin:0!important; padding:0!important;
  font-size:clamp(14px,1.2vw,17px)!important; line-height:1.35!important;
  white-space:normal!important; text-align:center!important;
}
body.home .category-card-grid .category-card-description{
  margin:7px auto 0!important; line-height:1.75!important;
}
body.home .category-card-grid .topic-link{margin:10px auto 15px!important;}

/* Shared text roles for home, archives, category pages, articles and static pages. */
body.archive .page-hero p, body.category .page-hero p,
body.search .page-hero p, body.page .page-hero p{
  font-size:15px; line-height:1.8;
}
body.archive .post-card h3, body.category .post-card h3,
body.search .post-card h3, body.home .post-card h3{
  font-size:15px; line-height:1.65;
}
body.archive .post-date, body.category .post-date,
body.search .post-date, body.single-post .entry-meta{font-size:12px;line-height:1.6;}
body.single-post .entry-title{line-height:1.5;}
body.single-post .article-body, body.page .entry-content{
  max-width: none; overflow-wrap:anywhere;
}
body.single-post .article-body ul, body.single-post .article-body ol,
body.page .entry-content ul, body.page .entry-content ol{
  padding-left:1.5em; margin:0 0 1.4em; line-height:1.9;
}
body.single-post .article-body li, body.page .entry-content li{margin:.35em 0;}
@media(max-width:760px){
  body.home .category-card-grid .category-photo-band{
    max-width:calc(100% - 20px)!important; margin-top:7px!important;
    padding:5px 12px!important;
  }
  body.home .category-card-grid .category-photo-band h3{font-size:14px!important;line-height:1.35!important;}
  body.home .category-card-grid .category-card-description{
    width:calc(100% - 28px)!important; margin-top:7px!important;
    font-size:13px!important; line-height:1.7!important;
  }
  body.home .category-card-grid .topic-link{margin:9px auto 13px!important;}
  body.archive .post-card h3, body.category .post-card h3,
  body.search .post-card h3, body.home .post-card h3{font-size:13px;line-height:1.6;}
  body.single-post .entry-title{font-size:clamp(24px,6.5vw,31px);}
  body.single-post .article-body, body.page .entry-content{font-size:15.5px;line-height:1.9;}
  body.single-post .article-body h2, body.page .entry-content h2{font-size:21px;}
  body.single-post .article-body h3, body.page .entry-content h3{font-size:18px;}
  body.archive .page-hero p, body.category .page-hero p,
  body.search .page-hero p, body.page .page-hero p{font-size:14px;}
}

/* v167 correction: straight, full-width title bar directly beneath each category image. */
body.home .category-card-grid .category-photo-band{
  display:flex!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  box-sizing:border-box!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  align-self:stretch!important;
  align-items:center!important;
  justify-content:center!important;
  margin:0!important;
  padding:7px 12px!important;
  border:0!important;
  border-radius:0!important;
  background:rgba(145,101,70,.20)!important;
  box-shadow:none!important;
  text-align:center!important;
}
body.home .category-card-grid .category-photo-band h3{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  font-size:clamp(14px,1.2vw,17px)!important;
  line-height:1.4!important;
  text-align:center!important;
  white-space:normal!important;
}
body.home .category-card-grid .category-card-description{
  margin:7px auto 0!important;
}
@media(max-width:760px){
  body.home .category-card-grid .category-photo-band{padding:6px 10px!important;}
  body.home .category-card-grid .category-photo-band h3{font-size:14px!important;line-height:1.4!important;}
}

/* v167 slim belt: keep the full straight bar, reduce only its vertical thickness. */
body.home .category-card-grid .category-photo-band{
  padding:3px 12px!important;
  min-height:0!important;
  height:auto!important;
  border-top:1px solid rgba(126,83,55,.24)!important;
  border-bottom:1px solid rgba(126,83,55,.24)!important;
  border-left:0!important;
  border-right:0!important;
  border-radius:0!important;
  background:rgba(145,101,70,.17)!important;
}
body.home .category-card-grid .category-photo-band h3{
  font-size:clamp(14px,1.15vw,16px)!important;
  line-height:1.25!important;
}
@media(max-width:760px){
  body.home .category-card-grid .category-photo-band{padding:2px 8px!important;}
  body.home .category-card-grid .category-photo-band h3{font-size:14px!important;line-height:1.25!important;}
}

/* v167 final refinement: airy white ribbon label, slim single-line rhythm. */
body.home .category-card-grid .category-photo-band{
  display:flex!important;
  width:100%!important;
  max-width:100%!important;
  min-height:32px!important;
  height:32px!important;
  margin:0!important;
  padding:0 10px!important;
  box-sizing:border-box!important;
  border:0!important;
  border-top:1px solid rgba(139,105,78,.20)!important;
  border-bottom:1px solid rgba(139,105,78,.20)!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
}
body.home .category-card-grid .category-photo-band h3{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  color:#80634f!important;
  font-size:clamp(14px,1.15vw,16px)!important;
  font-weight:600!important;
  line-height:1.2!important;
  text-align:center!important;
}
@media(max-width:760px){
  body.home .category-card-grid .category-photo-band{min-height:30px!important;height:30px!important;padding:0 8px!important;}
  body.home .category-card-grid .category-photo-band h3{font-size:14px!important;line-height:1.2!important;}
}


/* v167 centered ribbon fine-tune: keep the label fully inside the white strip. */
body.home .category-card-grid a.topic-card .category-photo-band{
  position:relative!important; inset:auto!important; transform:none!important;
  display:flex!important; flex-direction:row!important;
  width:100%!important; max-width:100%!important;
  height:36px!important; min-height:36px!important; max-height:36px!important;
  margin:0!important; padding:0 12px!important; box-sizing:border-box!important;
  align-items:center!important; justify-content:center!important;
  background:#fff!important; border:0!important; border-top:1px solid #eee5dc!important;
  border-bottom:1px solid #eee5dc!important; border-radius:0!important;
  text-align:center!important;
}
body.home .category-card-grid a.topic-card .category-photo-band h3{
  display:block!important; width:100%!important; margin:0!important; padding:0!important;
  line-height:1.2!important; text-align:center!important;
}
@media(max-width:760px){
  body.home .category-card-grid a.topic-card .category-photo-band{height:34px!important;min-height:34px!important;max-height:34px!important;padding:0 8px!important;}
}

/* v167: unify the two homepage section introductions without changing any copy. */
body.home .service-lineup-section .section-head,
body.home .quick-action-section .quick-action-section-head{
  max-width:780px!important;
  margin:0 auto 30px!important;
  padding-inline:18px!important;
  text-align:center!important;
}
body.home .service-lineup-section .section-title,
body.home .quick-action-section .quick-action-section-head .section-title{
  font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;
  font-size:clamp(27px,2.5vw,31px)!important;
  font-weight:700!important;
  line-height:1.5!important;
  letter-spacing:.025em!important;
  color:#71563e!important;
  margin:0 0 10px!important;
}
body.home .service-lineup-section .section-head>p,
body.home .quick-action-section .quick-action-section-head>p{
  max-width:700px!important;
  margin:0 auto!important;
  padding:0!important;
  font-family:"Noto Sans JP","Yu Gothic",YuGothic,"Hiragino Kaku Gothic ProN",Meiryo,sans-serif!important;
  font-size:15px!important;
  font-weight:400!important;
  line-height:1.85!important;
  letter-spacing:.01em!important;
  color:#786a5a!important;
  text-align:center!important;
}
@media(max-width:760px){
  body.home .service-lineup-section .section-head,
  body.home .quick-action-section .quick-action-section-head{
    margin-bottom:22px!important;
    padding-inline:12px!important;
  }
  body.home .service-lineup-section .section-title,
  body.home .quick-action-section .quick-action-section-head .section-title{
    font-size:clamp(23px,6vw,27px)!important;
    line-height:1.5!important;
    margin-bottom:9px!important;
  }
  body.home .service-lineup-section .section-head>p,
  body.home .quick-action-section .quick-action-section-head>p{
    font-size:14px!important;
    line-height:1.8!important;
    text-align:center!important;
  }
}

/* v167 overflow fix: keep all four category labels in a dedicated strip below the photo. */
body.home .category-card-grid a.topic-card{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  overflow:hidden!important;
}
body.home .category-card-grid a.topic-card .category-photo-wrap{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  overflow:hidden!important;
}
body.home .category-card-grid a.topic-card .category-photo-band{
  position:static!important;
  inset:auto!important;
  transform:none!important;
  float:none!important;
  display:flex!important;
  flex:0 0 36px!important;
  width:100%!important;
  height:36px!important;
  min-height:36px!important;
  max-height:36px!important;
  margin:0!important;
  padding:0 8px!important;
  box-sizing:border-box!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#fff!important;
  border:0!important;
  border-top:1px solid #eee5dc!important;
  border-bottom:1px solid #eee5dc!important;
  border-radius:0!important;
  text-align:center!important;
}
body.home .category-card-grid a.topic-card .category-photo-band h3{
  position:static!important;
  display:block!important;
  flex:none!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  color:#80634f!important;
  font-size:clamp(13px,1.1vw,15px)!important;
  line-height:1.2!important;
  font-weight:600!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:clip!important;
  text-align:center!important;
}
@media(max-width:760px){
  body.home .category-card-grid a.topic-card .category-photo-band{
    flex-basis:32px!important;height:32px!important;min-height:32px!important;max-height:32px!important;
  }
  body.home .category-card-grid a.topic-card .category-photo-band h3{font-size:13px!important;}
}


/* V167 category-card structural reset: keep headings in a dedicated row below each photo. */
body.home .category-card-grid > a.topic-card,
body.home .category-card-grid a.topic-card {
  display:flex !important;
  flex-direction:column !important;
  align-items:stretch !important;
  justify-content:flex-start !important;
  grid-template-columns:none !important;
  grid-template-rows:none !important;
  gap:0 !important;
  padding:0 !important;
  min-width:0 !important;
  overflow:hidden !important;
}
body.home .category-card-grid a.topic-card > .category-photo-wrap {
  position:static !important;
  display:block !important;
  flex:0 0 auto !important;
  width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
}
body.home .category-card-grid a.topic-card > .category-photo-wrap > img.category-card-art {
  position:static !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  transform:none !important;
  margin:0 !important;
  padding:0 !important;
}
body.home .category-card-grid a.topic-card > .category-photo-band {
  position:static !important;
  inset:auto !important;
  transform:none !important;
  float:none !important;
  clear:both !important;
  display:flex !important;
  flex:0 0 36px !important;
  width:100% !important;
  max-width:100% !important;
  height:36px !important;
  min-height:36px !important;
  max-height:36px !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:0 8px !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
  background:#fff !important;
  border:0 !important;
  border-top:1px solid #eee5dc !important;
  border-bottom:1px solid #eee5dc !important;
  border-radius:0 !important;
  text-align:center !important;
}
body.home .category-card-grid a.topic-card > .category-photo-band > h3 {
  position:static !important;
  inset:auto !important;
  transform:none !important;
  display:block !important;
  flex:0 1 auto !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  margin:0 !important;
  padding:0 !important;
  color:#80634f !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.2 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
  text-align:center !important;
}
body.home .category-card-grid a.topic-card > .category-card-description {
  display:block !important;
  position:static !important;
  margin:0 !important;
}
@media(max-width:760px){
  body.home .category-card-grid a.topic-card > .category-photo-band {
    flex-basis:32px !important;
    height:32px !important;
    min-height:32px !important;
    max-height:32px !important;
  }
  body.home .category-card-grid a.topic-card > .category-photo-band > h3 {
    font-size:13px !important;
  }
}


/* HAGUKUMI LAB v167.2: 4案内バナーのサイズ・アクセシビリティ調整 */
html body.home .quick-action-section .quick-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;align-items:stretch!important;}
html body.home .quick-action-section .quick-action-card{display:block!important;min-width:0!important;line-height:0!important;border-radius:16px!important;overflow:hidden!important;}
html body.home .quick-action-section .quick-action-visual{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:hidden!important;}
html body.home .quick-action-section .quick-action-visual img{display:block!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:740/390!important;object-fit:contain!important;object-position:center!important;}
@media(max-width:760px){html body.home .quick-action-section .quick-action-grid{grid-template-columns:1fr!important;gap:14px!important;}html body.home .quick-action-section .quick-action-card{width:100%!important;}}
html body.home .quick-action-section .quick-action-card{background:#fbf8f1!important;}
html body.home .quick-action-section .quick-action-visual{background:#fbf8f1!important;}


/* v167.5: homepage guide cards — top two artwork banners, bottom two original text cards.
   Keep lower-card copy readable; avoid the previous forced 12px typography. */
body.home .quick-action-section .quick-action-grid{
  display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr))!important;
  align-items:stretch!important; gap:16px!important; max-width:1040px!important; margin:0 auto!important;
}
body.home .quick-action-section .quick-action-card{min-width:0!important; box-sizing:border-box!important;}
body.home .quick-action-section .quick-action-articles,
body.home .quick-action-section .quick-action-pickup{display:block!important;padding:0!important;overflow:hidden!important;border-radius:16px!important;line-height:0!important;}
body.home .quick-action-section .quick-action-articles .quick-action-visual,
body.home .quick-action-section .quick-action-pickup .quick-action-visual{display:block!important;width:100%!important;margin:0!important;padding:0!important;line-height:0!important;}
body.home .quick-action-section .quick-action-articles .quick-action-visual img,
body.home .quick-action-section .quick-action-pickup .quick-action-visual img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;}
body.home .quick-action-section .quick-action-articles .quick-action-copy,
body.home .quick-action-section .quick-action-pickup .quick-action-copy{display:none!important;}
/* Preserve the consultation and Nobisapo card layout, but restore comfortable typography. */
body.home .quick-action-section .quick-action-consult,
body.home .quick-action-section .quick-action-nobisapo{display:flex!important;flex-direction:row!important;align-items:center!important;gap:16px!important;padding:16px 18px!important;border:1px solid #e7dfd1!important;border-radius:16px!important;line-height:1.8!important;}
body.home .quick-action-section .quick-action-consult .quick-action-visual,
body.home .quick-action-section .quick-action-nobisapo .quick-action-visual{flex:0 0 36%!important;width:36%!important;min-width:0!important;line-height:0!important;}
body.home .quick-action-section .quick-action-consult .quick-action-visual img,
body.home .quick-action-section .quick-action-nobisapo .quick-action-visual img{display:block!important;width:100%!important;height:auto!important;object-fit:contain!important;}
body.home .quick-action-section .quick-action-consult .quick-action-copy,
body.home .quick-action-section .quick-action-nobisapo .quick-action-copy{display:flex!important;flex:1 1 auto!important;min-width:0!important;flex-direction:column!important;align-items:flex-start!important;gap:6px!important;line-height:1.8!important;}
body.home .quick-action-section .quick-action-consult .quick-action-copy strong,
body.home .quick-action-section .quick-action-nobisapo .quick-action-copy strong{font-size:clamp(18px,1.7vw,22px)!important;line-height:1.45!important;}
body.home .quick-action-section .quick-action-consult .quick-action-copy span,
body.home .quick-action-section .quick-action-nobisapo .quick-action-copy span{font-size:14px!important;line-height:1.8!important;overflow-wrap:anywhere!important;}
body.home .quick-action-section .quick-action-consult .quick-action-copy em,
body.home .quick-action-section .quick-action-nobisapo .quick-action-copy em{font-size:14px!important;line-height:1.6!important;font-style:normal!important;font-weight:600!important;margin-top:5px!important;}
@media(max-width:760px){
  body.home .quick-action-section .quick-action-grid{grid-template-columns:minmax(0,1fr)!important;gap:14px!important;}
  body.home .quick-action-section .quick-action-consult,
  body.home .quick-action-section .quick-action-nobisapo{gap:12px!important;padding:12px!important;}
  body.home .quick-action-section .quick-action-consult .quick-action-visual,
  body.home .quick-action-section .quick-action-nobisapo .quick-action-visual{flex-basis:34%!important;width:34%!important;}
  body.home .quick-action-section .quick-action-consult .quick-action-copy strong,
  body.home .quick-action-section .quick-action-nobisapo .quick-action-copy strong{font-size:17px!important;}
  body.home .quick-action-section .quick-action-consult .quick-action-copy span,
  body.home .quick-action-section .quick-action-nobisapo .quick-action-copy span,
  body.home .quick-action-section .quick-action-consult .quick-action-copy em,
  body.home .quick-action-section .quick-action-nobisapo .quick-action-copy em{font-size:13px!important;}
}


/* v167.8: preserve the original lower two banners as artwork only; prevent duplicate text below. */
body.home .quick-action-card.quick-action-consult,
body.home .quick-action-card.quick-action-nobisapo { display:block; padding:0; min-height:0; overflow:hidden; border:0; border-radius:14px; background:transparent; box-shadow:none; }
body.home .quick-action-card.quick-action-consult .quick-action-copy,
body.home .quick-action-card.quick-action-nobisapo .quick-action-copy { display:none !important; }
body.home .quick-action-card.quick-action-consult .quick-action-visual,
body.home .quick-action-card.quick-action-nobisapo .quick-action-visual { width:100%; margin:0; padding:0; line-height:0; }
body.home .quick-action-card.quick-action-consult .quick-action-visual img,
body.home .quick-action-card.quick-action-nobisapo .quick-action-visual img { display:block; width:100%; height:auto; max-width:none; margin:0; object-fit:contain; }
body.home .quick-action-card.quick-action-consult:hover,
body.home .quick-action-card.quick-action-nobisapo:hover { transform:none; box-shadow:none; }


/* v167.9: fix ONLY the online consultation banner sizing.
   Earlier flex rules forced its artwork into a 36% side column. */
body.home .quick-action-card.quick-action-consult {
  display:block!important;
  width:100%!important;
  min-width:0!important;
  padding:0!important;
  min-height:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:14px!important;
  background:transparent!important;
  box-shadow:none!important;
  line-height:0!important;
}
body.home .quick-action-card.quick-action-consult .quick-action-visual {
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  flex:none!important;
  margin:0!important;
  padding:0!important;
  line-height:0!important;
}
body.home .quick-action-card.quick-action-consult .quick-action-visual img {
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  margin:0!important;
  object-fit:contain!important;
}
body.home .quick-action-card.quick-action-consult .quick-action-copy {
  display:none!important;
}


/* v168.0: restore a subtle frame around the lower two banner artworks,
   matching the framed appearance of the upper cards. Keep artwork and links intact. */
html body.home .quick-action-section .quick-action-card.quick-action-consult,
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo {
  box-sizing:border-box!important;
  border:1px solid #e7dfd1!important;
  border-radius:16px!important;
  background:#fffdf8!important;
  box-shadow:0 3px 12px rgba(90,72,48,.05)!important;
}
html body.home .quick-action-section .quick-action-card.quick-action-consult .quick-action-visual img,
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo .quick-action-visual img {
  border-radius:15px!important;
}
html body.home .quick-action-section .quick-action-card.quick-action-consult:hover,
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo:hover {
  box-shadow:0 5px 15px rgba(90,72,48,.08)!important;
}


/* v168.1: visually balance lower banners with the upper 740x390 artwork.
   Keep all text and illustration visible; no cropping. */
@media (min-width: 761px) {
  html body.home .quick-action-section .quick-action-card.quick-action-consult .quick-action-visual,
  html body.home .quick-action-section .quick-action-card.quick-action-nobisapo .quick-action-visual {
    aspect-ratio: 740 / 390 !important;
    overflow:hidden!important;
  }
  html body.home .quick-action-section .quick-action-card.quick-action-consult .quick-action-visual img,
  html body.home .quick-action-section .quick-action-card.quick-action-nobisapo .quick-action-visual img {
    width:100%!important;
    height:100%!important;
    object-fit:fill!important;
    display:block!important;
  }
}
@media (max-width: 760px) {
  html body.home .quick-action-section .quick-action-card.quick-action-consult .quick-action-visual,
  html body.home .quick-action-section .quick-action-card.quick-action-nobisapo .quick-action-visual {
    aspect-ratio:auto!important;
  }
  html body.home .quick-action-section .quick-action-card.quick-action-consult .quick-action-visual img,
  html body.home .quick-action-section .quick-action-card.quick-action-nobisapo .quick-action-visual img {
    height:auto!important;
    object-fit:contain!important;
  }
}


/* v168.2: correct distortion from v168.1.
   Keep the original lower artwork proportions; match the card frame to the upper cards. */
html body.home .quick-action-section .quick-action-card.quick-action-consult,
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo {
  box-sizing:border-box!important;
  border:1px solid #e7dfd1!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#fbf8f1!important;
  box-shadow:0 3px 14px rgba(89,65,36,.08)!important;
  padding:0!important;
}
html body.home .quick-action-section .quick-action-card.quick-action-consult .quick-action-visual,
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo .quick-action-visual {
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  line-height:0!important;
}
html body.home .quick-action-section .quick-action-card.quick-action-consult .quick-action-visual img,
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo .quick-action-visual img {
  display:block!important;
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
/* Keep all four card frames consistent in border radius and avoid text stretching. */
html body.home .quick-action-section .quick-action-card.quick-action-consult .quick-action-copy,
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo .quick-action-copy {
  display:none!important;
}
@media (max-width:760px) {
  html body.home .quick-action-section .quick-action-card.quick-action-consult,
  html body.home .quick-action-section .quick-action-card.quick-action-nobisapo {
    width:100%!important;
  }
}


/* v168.3: remove apparent top gap on Nobisapo banner without stretching artwork.
   Keep original image proportions; frame is the same as the consultation card. */
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo {
  padding:0!important;
  margin-top:0!important;
  border:1px solid #e7dfd1!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#fbf8f1!important;
  box-shadow:0 3px 14px rgba(89,65,36,.08)!important;
}
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo .quick-action-visual {
  padding:0!important;
  margin:0!important;
  border:0!important;
  background:transparent!important;
  line-height:0!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
}
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo .quick-action-visual img {
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  border:0!important;
  border-radius:0!important;
}


/* v168.4: lower banner artwork now has matching 740x390 canvas dimensions.
   Display at natural ratio; never stretch or distort the image. */
html body.home .quick-action-section .quick-action-card.quick-action-consult .quick-action-visual img,
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo .quick-action-visual img {
  width:100%!important;
  height:auto!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
}


/* v168.8: restore the earlier subtle frame on consultation and Nobisapo banners. */
html body.home .quick-action-section .quick-action-card.quick-action-consult,
html body.home .quick-action-section .quick-action-card.quick-action-nobisapo {
  box-sizing:border-box!important;
  border:1px solid #e7dfd1!important;
  border-radius:16px!important;
  overflow:hidden!important;
  background:#fbf8f1!important;
  box-shadow:0 3px 14px rgba(89,65,36,.08)!important;
  padding:0!important;
}


/* V168.9: related reading links for the hiragana article series. */
.article-body .article-series-links{margin:2rem 0;padding:1.15rem 1.35rem;background:#f7f8f1;border:1px solid #e1e8d9;border-radius:14px}
.article-body .article-series-links h2{margin:0 0 .65rem;padding:0;border:0;font-size:1.08rem}
.article-body .article-series-links ul{margin:.2rem 0 0;padding-left:1.2rem}
.article-body .article-series-links li{margin:.35rem 0;font-size:.94rem}
.article-body .takeaway{margin:1.5rem 0;padding:1rem 1.2rem;background:#f2f6ed;border:1px solid #dfe8d7;border-radius:14px;color:#5a634f}
.article-body .takeaway>strong{display:block;margin-bottom:.25rem;color:#648057;font-size:.78rem;letter-spacing:.1em}
.article-body .takeaway p{margin:.25rem 0}

/* V168.10: add the established sprout motif to POINT labels in seeded articles. */
.article-body .takeaway>strong::before{content:"";display:inline-block;width:19px;height:20px;margin-right:7px;vertical-align:-5px;background:url("assets/images/hagukumi-smile-sprout.png") center / contain no-repeat}
@media(max-width:600px){.article-body .takeaway>strong::before{width:17px;height:18px;vertical-align:-4px}}
