*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden}
body{margin:0;background:#FFF8E8;color:#3E4A45;font-family:'Zen Kaku Gothic New',sans-serif;line-height:1.9;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:#0E9A9A;text-decoration:none}a:hover{color:#0A7676}
img{max-width:100%;height:auto;display:block}
input,button{font-family:inherit}
h1,h2,h3{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;color:#33403B;margin:0}
.mf{font-family:'Zen Maru Gothic',sans-serif}
.wrap{max-width:1080px;margin:0 auto;padding:0 clamp(16px,4vw,32px)}
.btn{display:inline-block;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:15px;color:#fff;background:linear-gradient(180deg,#14ABAB,#0E9A9A);border:none;border-radius:999px;padding:14px 28px;white-space:nowrap;cursor:pointer;box-shadow:0 5px 0 #076262;transition:transform .12s,box-shadow .12s}
.btn:hover{color:#fff;transform:translateY(2px);box-shadow:0 3px 0 #076262}
.btn:active{transform:translateY(5px);box-shadow:0 0 0 #076262}
.btn2{display:inline-block;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:14px;color:#0A7676;background:#fff;border:1.5px solid #9ED3D3;border-radius:999px;padding:12px 24px;white-space:nowrap;cursor:pointer;box-shadow:0 4px 0 #CFE8E8;transition:transform .12s,box-shadow .12s}
.btn2:hover{background:#F3FAFA;transform:translateY(2px);box-shadow:0 2px 0 #CFE8E8}
.box{background:#fff;border:1.5px solid #E7DFCC;border-radius:24px;box-shadow:0 5px 0 #F0E6D0}
.mk{background:linear-gradient(transparent 60%,#FFE36B 60%);padding:0 3px}
.eyebrow{margin:0 0 6px;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:12.5px;letter-spacing:.2em;color:#0E9A9A}

/* header */
.hdr{position:sticky;top:0;z-index:50;background:rgba(255,248,232,.94);backdrop-filter:blur(8px);border-bottom:1px solid #F0E6D0}
.hdr .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:12px;padding-bottom:12px}
.hdr nav{display:flex;align-items:center;gap:22px}
.hdr nav a{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:14px;color:#3E4A45}
.hdr nav a:hover{color:#0A7676}
.logo{display:flex;align-items:center;gap:10px}
.logo img{height:38px;width:auto;max-width:none;object-fit:contain}
.logo span{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:13px;color:#0A7676;background:#fff;border-radius:999px;padding:3px 12px;white-space:nowrap}

/* chips */
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:13.5px;color:#3E4A45;background:#fff;border:1.5px solid #E7DFCC;border-radius:999px;padding:8px 16px;cursor:pointer;white-space:nowrap;transition:all .15s}
.chip:hover{border-color:#0E9A9A;color:#0A7676}
.chip[aria-pressed="true"]{background:#0E9A9A;border-color:#0E9A9A;color:#fff}
.tag{display:inline-block;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:12px;color:#5A6661;background:#FFF8E8;border-radius:8px;padding:3px 10px;white-space:nowrap}
.tag:hover{background:#FFE36B;color:#33403B}

/* cards */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(16px,2.2vw,24px)}
.card{display:flex;flex-direction:column;background:#fff;border:1.5px solid #E7DFCC;border-radius:22px;overflow:hidden;color:#3E4A45;box-shadow:0 5px 0 #F0E6D0;transition:transform .15s,box-shadow .15s}
.card:hover{color:#3E4A45;transform:translateY(-3px);box-shadow:0 8px 0 #F0E6D0}
.thumb{position:relative;aspect-ratio:16/9;display:flex;align-items:flex-end;padding:16px 18px;overflow:hidden}
.thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.thumb .big{position:absolute;right:-6px;bottom:-30px;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:120px;line-height:1;opacity:.16}
.thumb .cat{position:relative;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:12.5px;background:#fff;border-radius:999px;padding:4px 12px}
.ccat{align-self:flex-start;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:12px;border-radius:999px;padding:3px 12px;white-space:nowrap}
.card .body{padding:22px 22px 20px;display:flex;flex-direction:column;gap:8px;flex:1}
.card h3{font-size:17px;line-height:1.6;text-wrap:pretty}
.card p{margin:0;font-size:13.5px;color:#6B7671;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.meta{display:flex;gap:12px;font-size:12px;color:#8E8A7E;margin-top:auto;padding-top:6px}
.new{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:11px;color:#33403B;background:#FFE36B;border-radius:6px;padding:1px 8px;margin-left:auto}

.feat{position:relative;display:block;background:#fff;border:1.5px solid #E7DFCC;border-radius:26px;overflow:hidden;box-shadow:0 6px 0 #F0E6D0;color:#3E4A45;transition:transform .15s,box-shadow .15s}
.feat:hover{color:#3E4A45;transform:translateY(-3px);box-shadow:0 9px 0 #F0E6D0}
.feat .body{position:relative;padding:clamp(26px,4vw,48px) clamp(22px,4vw,52px);display:flex;flex-direction:column;gap:14px;max-width:780px}
.feat .lbls{display:flex;flex-wrap:wrap;gap:8px}
.feat .lbls span{font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:12.5px;border-radius:999px;padding:4px 14px;white-space:nowrap}
.feat .more{align-self:flex-start;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:14px;background:#F3FAFA;border-radius:999px;padding:9px 20px;margin-top:4px}
.feat h2{font-size:clamp(20px,2.6vw,28px);line-height:1.55;text-wrap:pretty;word-break:keep-all;overflow-wrap:anywhere}
.card h3{word-break:keep-all;overflow-wrap:anywhere}
.svc-list{display:flex;flex-direction:column;gap:12px;max-width:720px;margin:0 auto}
.svc-list a{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 24px;color:#33403B}
.svc-list a:hover{color:#0A7676;transform:translateY(2px);box-shadow:0 3px 0 #F0E6D0}
.svc-list b{font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:clamp(15px,1.9vw,17px);line-height:1.6;word-break:keep-all;overflow-wrap:anywhere}
.svc-list i{flex:none;font-style:normal;width:34px;height:34px;border-radius:50%;background:#0E9A9A;color:#fff;display:grid;place-items:center;font-weight:900}
.feat p{margin:0;font-size:15px;color:#3E4A45}

/* search */
.search{display:flex;align-items:center;gap:10px;background:#fff;border:1.5px solid #E7DFCC;border-radius:999px;padding:6px 6px 6px 22px;box-shadow:0 5px 0 #F0E6D0;max-width:560px}
.search input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:15px;color:#33403B;padding:10px 0}
.search input::placeholder{color:#B3AFA2}

/* article */
.prose{font-size:16px;line-height:2.05;color:#3E4A45}
.prose h2{font-size:clamp(19px,2.3vw,23px);line-height:1.55;margin:2.4em 0 .8em;padding:12px 0 12px 18px;border-left:none;background:linear-gradient(90deg,#E6F4F4,transparent);border-radius:12px;scroll-margin-top:90px}
.prose h3{font-size:17.5px;margin:1.8em 0 .5em}
.prose p{margin:0 0 1.3em}
.prose ul,.prose ol{margin:0 0 1.4em;padding-left:1.4em}
.prose li{margin-bottom:.4em}
.prose strong{background:linear-gradient(transparent 62%,#FFE36B 62%);font-weight:700}
.prose blockquote{margin:0 0 1.4em;background:#FFF8E8;border-radius:16px;padding:16px 20px;font-size:15px;color:#5A6661}
.prose blockquote p{margin:0}
.toc{background:#fff;border:1.5px dashed #E2D9C4;border-radius:18px;padding:18px 22px}
.toc ol{margin:6px 0 0;padding-left:1.3em;font-size:14.5px;line-height:1.9}
.toc a{color:#3E4A45}.toc a:hover{color:#0A7676}
.crumb{display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px;color:#8E8A7E}
.crumb a{color:#6B7671}
.share{display:flex;flex-wrap:wrap;gap:8px}
.points{background:#fff;border:2px solid #0E9A9A;border-radius:20px;padding:20px 24px 16px;box-shadow:0 5px 0 #CFE8E8}
.points-h{margin:0 0 8px;display:inline-block;font-family:'Zen Maru Gothic',sans-serif;font-weight:900;font-size:14.5px;color:#fff;background:#0E9A9A;border-radius:999px;padding:4px 16px}
.points ul{margin:0;padding:0;list-style:none}
.points li{position:relative;padding:8px 0 8px 30px;font-size:15px;line-height:1.75;border-top:1px dashed #E2D9C4}
.points li:first-child{border-top:none}
.points li::before{content:"✓";position:absolute;left:0;top:8px;width:22px;height:22px;border-radius:50%;background:#FFE36B;color:#33403B;font-weight:900;font-size:12px;display:grid;place-items:center}
.refs{margin-top:2.6em;padding-top:18px;border-top:1px solid #E7DFCC}
.refs-h{margin:0 0 8px;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:14px;color:#5A6661}
.refs ul{margin:0;padding-left:1.2em}
.refs li{font-size:12.5px;line-height:1.75;color:#6B7671;margin-bottom:.5em;overflow-wrap:anywhere}
.endcta{display:flex;flex-direction:column;gap:10px}
.endcta>p{margin:0;font-family:'Zen Maru Gothic',sans-serif;font-weight:700;font-size:13.5px;color:#6B7671}

@media (max-width:760px){
  .hdr nav .hide-sp{display:none}
  .logo span{display:none}
  .prose{font-size:15.5px}
}
