/*
Theme Name: IESS 家族会
Description: ウエスト症候群・IESS患者家族会のサイト用テーマ（デザイン案 A＋B 手紙版がもと）
Version: 0.1.0
Requires at least: 6.5
Requires PHP: 8.1
Text Domain: iess
*/

:root{
  --plum-900:#3E2C5C; --plum-700:#5A3D81; --lav-500:#8A63BE; --lav-300:#B39DDB;
  --lav-200:#E4D8F3; --lav-100:#EFE8F7; --paper:#FBF7EE;
  --yellow:#FFE98F; --mint:#DDF0E6; --mint-deep:#2F6B55;
  --ink:#2F2A36; --ink-sub:#5E5768;
  --maru:"Zen Maru Gothic","M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Noto Sans JP",sans-serif;
  --hand:"Klee One","Yu Kyokasho","Hiragino Mincho ProN",serif;
  --sans:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:clip}
body{margin:0;font-family:var(--sans);font-size:16px;line-height:1.9;color:var(--ink);background:var(--paper);overflow-x:clip;-webkit-text-size-adjust:100%}
img{max-width:100%;display:block}
a{color:var(--plum-700)}
a:focus-visible,button:focus-visible{outline:3px solid var(--plum-900);outline-offset:3px}
h1,h2,h3,p,ul,dl,dd,figure{margin:0}
ul{padding:0;list-style:none}
.wrap{width:100%;max-width:1120px;margin:0 auto;padding:0 20px}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.defs{position:absolute;width:0;height:0;overflow:hidden}
.nw{display:inline-block;max-width:100%}
.tmp-name{white-space:nowrap;font-size:.62em;font-weight:500}

/* 手描きの絵 */
svg.d{display:block;width:var(--s,48px);height:var(--s,48px);color:var(--c,var(--plum-700));--fill:none;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;flex:none}
.pos{position:absolute}

/* 上の細い帯 */
.proto-bar{background:var(--plum-900);color:#F3ECFA;font-size:14px;line-height:1.5;text-align:center;padding:7px 16px}

/* ヘッダー */
.site-header{background:var(--paper);position:relative;z-index:20}
.site-header .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:12px;padding-bottom:12px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--plum-900);min-width:0}
.brand-mark{display:block;width:52px;flex:none;text-align:center;font-family:var(--maru);font-weight:700;font-size:20px;line-height:1;letter-spacing:.02em;color:var(--plum-900)}
.brand-mark svg{display:block;width:100%;height:11px;margin-top:3px;fill:none;stroke-linecap:round;stroke-linejoin:round}
.brand-text{display:block;font-family:var(--maru);font-weight:700;line-height:1.35;min-width:0}
.brand-text strong{display:block;font-size:16px;letter-spacing:.02em}
.brand-text small{display:block;font-size:12px;font-weight:500;color:var(--ink-sub)}
.menu-btn{font:inherit;font-family:var(--maru);font-weight:700;font-size:15px;color:var(--plum-900);background:var(--yellow);border:0;border-radius:60% 40% 55% 45%/50% 55% 45% 50%;padding:9px 15px;cursor:pointer;flex:none}
.global-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--lav-100);padding:8px 20px 24px;border-bottom:3px dotted var(--lav-300)}
.global-nav.is-open{display:block}
.global-nav a{display:block;padding:13px 4px;font-family:var(--maru);font-weight:700;font-size:17px;color:var(--plum-900);text-decoration:none;border-bottom:2px dotted var(--lav-300)}
.global-nav li:last-child a{border-bottom:0}
.global-nav .nav-join{text-decoration:underline;text-decoration-color:var(--yellow);text-decoration-thickness:.55em;text-underline-offset:-.25em;text-decoration-skip-ink:none}
@media (min-width:480px){
  .brand-mark{width:60px;font-size:23px}
  .brand{gap:12px}
  .brand-text strong{font-size:19px}
  .brand-text small{font-size:12.5px}
}
@media (min-width:1200px){
  .site-header .wrap{max-width:1280px}
  .menu-btn{display:none}
  .global-nav{display:block;position:static;background:none;padding:0;border:0}
  .global-nav ul{display:flex;gap:14px}
  .global-nav a{border:0;padding:6px 2px;font-size:14px;white-space:nowrap}
  .global-nav a:hover{color:var(--lav-500)}
}
@media (min-width:1360px){
  .global-nav ul{gap:18px}
  .global-nav a{font-size:15px}
}

/* 節の境目：雲・波・草の3種。1本の長いパスを横幅いっぱいに引く */
.sec{position:relative}
svg.edge{position:absolute;left:0;width:100%;height:60px;top:-59px;pointer-events:none;z-index:2;display:block}
.f-paper{fill:var(--paper)}
.f-lav100{fill:var(--lav-100)}
.f-lav200{fill:var(--lav-200)}
.f-mint{fill:var(--mint)}
.f-plum{fill:var(--plum-900)}

/* 写真の型抜き（ずらしの向きと色は写真ごとに変える） */
.shape{position:relative}
.shape .shade{position:absolute;inset:0;transform:translate(var(--sx,7px),var(--sy,8px));background:var(--sc,var(--lav-300))}
.shape.noshade .shade{display:none}
.shape .photo{position:relative;height:100%;background:var(--lav-200);overflow:hidden}
.shape img{width:100%;height:100%;object-fit:cover}
.s-cloud-hero .shade,.s-cloud-hero .photo{clip-path:url(#c-cloud-hero)}
.s-scal .shade,.s-scal .photo{clip-path:url(#c-scal)}
.s-wide .shade,.s-wide .photo{clip-path:url(#c-wide)}
.s-egg .shade,.s-egg .photo{clip-path:url(#c-egg)}
.s-cloud-s .shade,.s-cloud-s .photo{clip-path:url(#c-cloud-s)}
.credit{font-size:13.5px;line-height:1.6;color:var(--ink-sub)}

/* 見出し・ボタン */
.h-maru{font-family:var(--maru);font-weight:700;color:var(--plum-900)}
@supports (word-break:auto-phrase){.h-maru,.hero h1,.gate h3,.rep h3,.news-list .t,.donate h2{word-break:auto-phrase}}
.btn{display:inline-block;font-family:var(--maru);font-weight:700;font-size:17px;line-height:1.4;text-decoration:none;color:#fff;background:var(--plum-700);padding:13px 28px;border-radius:44% 56% 50% 50%/60% 50% 50% 40%}
.btn:hover{background:var(--plum-900)}
.textlink{font-family:var(--maru);font-weight:700;color:var(--plum-700);text-underline-offset:5px;text-decoration-thickness:2px}

/* ヒーロー */
.hero{background:var(--lav-100);padding:26px 0 70px;position:relative;overflow:hidden}
.hero .wrap{display:grid;gap:26px;position:relative}
.hero-lead{font-family:var(--maru);font-weight:700;font-size:clamp(18px,4.6vw,24px);line-height:1.5;color:var(--plum-700);margin-bottom:12px}
.hero h1{font-family:var(--maru);font-weight:700;color:var(--plum-900);line-height:1.4;font-size:clamp(26px,6.6vw,46px);letter-spacing:.01em}
.hero h1 .h1-sub{display:block;margin-top:14px;font-size:clamp(17px,4vw,21px);color:var(--plum-700);letter-spacing:.04em}
.hero .old{margin-top:14px;font-size:16px;line-height:1.8;color:var(--ink)}
.hero .tmp{margin-top:4px;font-size:13.5px;color:var(--ink-sub);line-height:1.7}
.hero-actions{margin-top:22px;display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.hero-art{position:relative;padding-left:46px;margin-right:-20px}
.hero-photo{aspect-ratio:1.3/1}
.hero-photo img{transform:scale(1.2);transform-origin:58% 40%;object-position:58% 40%}
.hero-vcopy{position:absolute;left:0;top:5%;z-index:2;writing-mode:vertical-rl;font-family:var(--hand);font-weight:600;font-size:clamp(19px,5vw,25px);line-height:1.5;letter-spacing:.12em;color:var(--plum-900)}
.hero-art .credit{margin-top:14px;padding-right:20px}
@media (min-width:900px){
  .hero{padding:50px 0 90px}
  .hero .wrap{grid-template-columns:.85fr 1.3fr;align-items:center;gap:20px}
  .hero-art{padding-left:62px;margin-right:min(-20px,calc((1120px - 100vw)/2 - 20px))}
  .hero-vcopy{font-size:28px}
}

/* メッセージ */
.message{padding:44px 0 58px}
.message .wrap{display:grid;gap:22px}
.message h2{font-size:clamp(27px,6.6vw,40px);line-height:1.45}
.msg-body{max-width:35em}
.msg-body p+p{margin-top:1.1em}
.draft{font-size:14px;color:var(--ink-sub);line-height:1.7;margin-top:14px}
.rename-sec{padding:34px 0 8px}
.rename{max-width:1000px;margin:0 auto;background:#FFF1B8;border:3px solid var(--plum-700);border-radius:18px 28px 14px 30px/28px 16px 30px 18px;padding:26px 20px 24px;transform:rotate(-.4deg);position:relative;box-shadow:6px 7px 0 var(--lav-200)}
.rename h2{font-family:var(--maru);font-weight:700;font-size:clamp(22px,5.6vw,34px);line-height:1.45;color:var(--plum-900)}
.swap{margin-top:18px;display:grid;gap:16px}
.swap-row{display:grid;grid-template-columns:minmax(0,1fr);gap:6px;justify-items:start}
.swap-label{font-family:var(--maru);font-weight:700;font-size:15px;line-height:1.4;color:var(--plum-900);border-bottom:3px dotted var(--lav-500)}
.swap-row svg{width:54px;height:24px;flex:none;fill:none;stroke:var(--plum-700);stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg);margin:2px 0 2px 14px}
.side{font-family:var(--maru);font-weight:700;line-height:1.5;border-radius:14px 20px 12px 22px/20px 12px 22px 14px;padding:10px 16px;max-width:100%;min-width:0;overflow-wrap:anywhere}
.side-old{font-size:clamp(16px,4.2vw,19px);color:var(--ink-sub);background:rgba(255,255,255,.55);border:2px dashed var(--ink-sub)}
.side-new{font-size:clamp(18px,5vw,26px);color:#fff;background:var(--plum-700);border:2px solid var(--plum-900)}
.side-new .tmp-name{margin-left:2px}
.rename .explain{margin-top:20px;font-size:16px;line-height:1.9}
.rename .same{margin-top:10px;font-family:var(--maru);font-weight:700;font-size:17px;line-height:1.8;color:var(--plum-900)}
.rename .draft{margin-top:4px}
.rename .textlink{display:inline-block;margin-top:14px;font-size:17px}
@supports (word-break:auto-phrase){.rename h2,.side{word-break:auto-phrase}}
@media (min-width:760px){
  .rename{padding:34px 40px 30px}
  .swap{gap:18px}
  .swap-row{align-items:center;gap:8px 14px;justify-items:stretch}
  .swap-label{grid-column:1/-1;justify-self:start}
  .swap-row{grid-template-columns:minmax(0,1fr) 54px minmax(0,1.3fr)}
  .swap-row svg{transform:none;margin:0}
}
@media (min-width:900px){
  .rename-sec{padding:44px 0 14px}
  .message{padding:60px 0 70px}
  .message .wrap{grid-template-columns:.8fr 1.2fr;gap:56px;align-items:start}
  .message h2{padding-top:6px}
}

/* 入口（素材も形も別々。3つとも見出しと説明と「読んでみる」を持つ） */
.guide{background:var(--lav-100);padding:64px 0 168px}
.guide h2{font-size:clamp(22px,5vw,28px);line-height:1.5;text-align:center;display:flex;align-items:center;justify-content:center;gap:10px}
.gates{margin-top:34px;display:grid;gap:26px}
.gate{position:relative;display:block;text-decoration:none;color:var(--ink)}
.gate>svg.bg{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.gate>.in{position:relative;z-index:1}
.gate h3{font-family:var(--maru);font-weight:700;color:var(--plum-900);line-height:1.4}
.gate p{line-height:1.8}
.gate .go{display:inline-block;margin-top:10px;font-family:var(--maru);font-weight:700;color:var(--plum-700);text-decoration:underline;text-underline-offset:5px;text-decoration-thickness:2px}
.gate:hover .go,.gate:focus-visible .go{color:var(--plum-900);text-decoration-thickness:5px}
.gate:focus-visible{outline:3px solid var(--plum-900);outline-offset:6px}
.gate:focus-visible .go{background:var(--yellow)}
.gate-board{padding:40px 62px 44px 26px}
.gate-board h3{font-size:30px}
.gate-board p{margin-top:12px;font-size:16px}
.gate-cloud{width:100%}
.gate-cloud .in{padding:17% 15% 13% 16%;text-align:center}
.gate-cloud h3{font-size:clamp(25px,6.4vw,32px)}
.gate-cloud p{margin-top:6px;font-size:16px;line-height:1.75}
.gate-house{width:92%;margin-left:auto}
.gate-house .in{padding:44% 17% 11% 17%;text-align:center}
.gate-house h3{font-size:clamp(23px,6vw,28px)}
.gate-house p{margin-top:4px;font-size:16px}
.gates-note{margin-top:14px;text-align:center}
@media (min-width:900px){
  .guide{padding:56px 0 160px}
  .gates{grid-template-columns:1.05fr 1fr;gap:14px 40px;align-items:start}
  .gate-board{grid-row:1/3;align-self:center;padding:68px 112px 72px 52px}
  .gate-board h3{font-size:40px}
  .gate-board p{font-size:17px;margin-top:18px}
  .gate-cloud{width:100%}
  .gate-house{width:82%;margin-left:12%}
}

/* 手描きの風景（入口から会についてへ、節をまたいでつなぐ） */
svg.scene{position:absolute;left:0;bottom:-1px;width:100%;height:170px;z-index:1;pointer-events:none;display:block;color:var(--plum-700);--fill:none;fill:none;stroke:var(--plum-700);stroke-linecap:round;stroke-linejoin:round}

/* 会について */
.about{padding:44px 0 96px}
.about-grid{display:grid;gap:44px}
.about h2{font-size:clamp(32px,8vw,48px);line-height:1.3}
.about .eng{display:block;margin-top:0;font-family:var(--hand);font-weight:400;font-size:18px;color:var(--lav-500);transform:rotate(-2deg);transform-origin:left}
.about-text p{margin-top:1.2em;max-width:33em}
.about-text h2+p{margin-top:24px}
.about-photo{position:relative;max-width:560px}
.about-photo img{transform:scale(1.15);transform-origin:50% 35%}
.about-photo .credit{margin-top:22px}
@media (min-width:900px){
  .about-grid{grid-template-columns:1.1fr .9fr;gap:76px;align-items:center}
  .about-photo{max-width:none}
}

/* お知らせ（最新の1件だけ大きく） */
.news{background:var(--lav-200);padding:76px 0 92px}
.news-head{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.news h2{font-size:clamp(24px,5.4vw,30px);line-height:1.4;transform:rotate(-1.6deg);transform-origin:left}
.news-list{margin-top:30px;max-width:900px}
.news-list a{display:grid;grid-template-columns:1fr;gap:2px;text-decoration:none;color:var(--ink)}
.news-list time{display:flex;align-items:baseline;gap:8px;font-family:var(--maru);font-weight:700;color:var(--plum-700)}
.news-list time b{font-size:22px;line-height:1.3;letter-spacing:.02em}
.news-list time small{font-size:14px}
.news-list .t{font-weight:500;line-height:1.75}
.news-list a:hover .t{text-decoration:underline;text-underline-offset:4px;color:var(--plum-900)}
.news-list li+li{border-top:2px dotted #9C86C4}
.news-list li+li a{padding:14px 4px}
.news-list li:first-child a{background:#FFF1B8;padding:20px 22px 22px;margin-bottom:10px;border-radius:14px 24px 12px 26px/24px 14px 26px 14px;transform:rotate(-.6deg)}
.news-list li:first-child time b{font-size:40px}
.news-list li:first-child .t{font-size:18px;font-weight:700;color:var(--plum-900)}
@media (min-width:760px){
  .news-list li+li a{grid-template-columns:130px 1fr;gap:16px;align-items:baseline}
  .news-list li:first-child a{grid-template-columns:200px 1fr;gap:16px;align-items:center}
}

/* 活動報告（1件目を大きく、2・3件目も大きめに） */
.report{padding:104px 0 86px}
.report h2{font-size:clamp(25px,6vw,34px);line-height:1.4;display:flex;align-items:center;gap:10px;justify-content:flex-end}
.rep-main{margin-top:34px;display:grid;gap:20px}
.rep-main .shape{--sx:-7px;--sy:8px;--sc:#BFE3D1}
.rep time{display:block;font-family:var(--maru);font-weight:700;color:var(--plum-700)}
.rep h3{font-family:var(--maru);font-weight:700;color:var(--plum-900);line-height:1.6}
.rep-main h3{font-size:22px;margin-top:2px}
.rep .more{display:inline-block;margin-top:8px}
.rep-subs{margin-top:52px;display:grid;gap:32px}
.rep-sub{display:grid;grid-template-columns:clamp(96px,30vw,132px) minmax(0,1fr);gap:18px;align-items:center}
.rep-sub .shape{--sx:5px;--sy:-5px;--sc:var(--yellow)}
.rep-sub h3{font-size:16.5px;margin-top:2px;overflow-wrap:anywhere}
.report .credit{margin-top:44px}
@media (min-width:900px){
  .rep-main{grid-template-columns:1.25fr .75fr;gap:44px;align-items:center}
  .rep-main h3{font-size:26px}
  .rep-subs{grid-template-columns:1fr 1fr;gap:40px;margin-left:6%;margin-right:0}
  .rep-sub{grid-template-columns:184px minmax(0,1fr)}
}

/* 寄付（左右非対称。実際の活動の写真つき） */
.donate{background:var(--mint);padding:84px 0 76px}
.donate .wrap{display:grid;gap:34px;position:relative}
.donate h2{font-size:clamp(24px,5.6vw,32px);line-height:1.5;color:#1F4F3D}
.donate p{margin-top:14px;max-width:30em}
.donate .draft{color:#2B5A47}
.donate .btn{margin-top:22px}
.donate-art{position:relative}
.donate-art .shape{--sx:6px;--sy:7px;--sc:#fff}
.donate-art .credit{margin-top:14px;color:#2B5A47}
.donate-rainbow{margin-bottom:10px}
@media (min-width:900px){
  .donate .wrap{grid-template-columns:1.05fr .95fr;gap:64px;align-items:center}
}

/* フッター */
.site-footer{background:var(--plum-900);color:#F3ECFA;padding:70px 0 190px;position:relative}
.site-footer a{color:#F3ECFA;text-underline-offset:4px}
.foot-grid{display:grid;gap:36px}
.foot-name{font-family:var(--maru);font-weight:700;font-size:20px;line-height:1.5}
.foot-name small{display:block;font-size:14px;font-weight:500;margin-top:4px}
.old-note{margin-top:14px;font-family:var(--maru);font-weight:700;font-size:16px;color:var(--yellow);line-height:1.8}
.foot-links{display:grid;gap:4px 28px;grid-template-columns:1fr 1fr}
.foot-links li{padding:4px 0}
.foot-links h2{font-family:var(--maru);font-size:16px;font-weight:700;color:var(--yellow);margin-bottom:6px}
.copy{margin-top:40px;padding-top:18px;border-top:2px dotted #8F7BB0;font-size:14px;line-height:1.7}
@media (min-width:900px){
  .foot-grid{grid-template-columns:1.2fr 1fr;gap:64px}
  .site-footer{padding-bottom:110px}
}

/* 右下の追従ボタン（入会案内＝濃紫、お問い合わせ＝淡黄） */
.float-btns{position:fixed;right:12px;bottom:12px;z-index:50;display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.float-btns a{display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--maru);font-weight:700;line-height:1.3;text-decoration:none}
.float-btns .contact{width:62px;height:62px;font-size:12px;background:var(--yellow);color:var(--plum-900);border:2.5px solid var(--plum-700);border-radius:48% 52% 55% 45%/55% 45% 52% 48%;transform:rotate(6deg)}
.float-btns .join{width:74px;height:74px;font-size:14px;background:var(--plum-700);color:#fff;box-shadow:0 0 0 3px #fff;border-radius:52% 48% 50% 50%/50% 52% 48% 50%;transform:rotate(-4deg)}
.float-btns .join:hover{background:var(--plum-900)}
.float-btns a:hover{transform:rotate(0deg)}
@media (min-width:900px){
  .float-btns{right:24px;bottom:24px}
  .float-btns .contact{width:80px;height:80px;font-size:14px}
  .float-btns .join{width:94px;height:94px;font-size:16px}
}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.float-btns a:hover{transform:none}}

/* ---- B案の手紙（A案に組み込み） ---- */
.letter{padding:48px 0 60px}
.letter-grid{display:grid;gap:26px}
.letter-side h2{font-size:clamp(26px,6.4vw,38px);line-height:1.45}
.letter-side p{margin-top:12px;font-size:16px;line-height:1.9}
.letter-side .draft{margin-top:4px}
.letter-paper{min-width:0;background:#FFFDF6;border:1.5px solid var(--lav-300);border-radius:4px 10px 6px 12px/10px 6px 12px 4px;box-shadow:7px 8px 0 var(--lav-200);padding:26px 20px 28px;transform:rotate(-.7deg);position:relative}
.letter-paper::before{content:"";position:absolute;top:-12px;left:50%;width:92px;height:24px;margin-left:-46px;background:rgba(255,233,143,.85);transform:rotate(-3deg);border-radius:2px}
.letter-body{font-family:"Shippori Mincho","Hiragino Mincho ProN","Yu Mincho",serif;font-weight:500;font-size:17px;line-height:2.2;letter-spacing:.04em;color:var(--ink)}
.letter-body p{text-indent:1em}
.letter-body p+p{margin-top:1.4em}
.letter-body br{display:none}
.letter-body .letter-sign{font-family:var(--hand);text-align:right;text-indent:0;color:var(--plum-700);font-size:17px;letter-spacing:.06em}
@supports (word-break:auto-phrase){.letter-body,.letter-side h2{word-break:auto-phrase}}
@media (min-width:720px){
  .letter{padding:64px 0 76px}
  .letter-paper{padding:34px 40px 38px}
}
@media (min-width:900px){
  .letter-body{writing-mode:vertical-rl;font-size:20px;line-height:2.1;letter-spacing:.02em;height:26rem;padding-block:.8rem;width:max-content;margin-inline:auto}
  .letter-body p{white-space:nowrap}
  .letter-body p+p{margin-top:0;margin-right:2.1em}
  .letter-body br{display:inline}
  .letter-body .letter-sign{text-align:end;font-size:20px}
  .letter-paper{justify-self:center;width:max-content;max-width:100%}
}
@media (min-width:1200px){
  .letter-grid{grid-template-columns:240px auto;justify-content:center;align-items:center;gap:64px}
}

/* 読みもの・資料 */
.yomi{background:var(--lav-100);padding:96px 0 92px}
.yomi-head h2{font-size:clamp(25px,6vw,34px);line-height:1.4;display:flex;align-items:center;gap:10px}
.yomi-head p{margin-top:12px;max-width:34em}
.yomi-list{display:grid;gap:40px;margin-top:40px}
.yomi-item{display:grid;gap:20px;align-items:start}
.yomi-cover{display:block;background:#fff;padding:8px;box-shadow:6px 7px 0 var(--lav-300);max-width:240px}
.yomi-main .yomi-cover{transform:rotate(-2.4deg)}
.yomi-memo .yomi-cover{transform:rotate(1.8deg);max-width:200px;box-shadow:-6px 6px 0 var(--yellow)}
.yomi-cover img{display:block;width:100%;height:auto}
.yomi-kind{font-family:var(--maru);font-weight:700;font-size:14px;color:var(--plum-700)}
.yomi-body h3{font-family:var(--maru);font-size:clamp(20px,4.8vw,25px);line-height:1.5;margin-top:4px}
.yomi-body h3 a{color:var(--ink);text-decoration:none}
.yomi-body h3 a:hover{text-decoration:underline;text-underline-offset:5px}
.yomi-body > p:not(.yomi-kind){margin-top:10px;max-width:28em}
.yomi-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:18px!important}
.yomi-soon{font-size:15px;color:var(--ink-sub);border-top:2px dashed var(--lav-300);padding-top:18px}
@media (min-width:760px){
  .yomi-item{grid-template-columns:auto 1fr;gap:34px}
  .yomi-main .yomi-cover{width:240px}
  .yomi-memo{margin-left:12%}
  .yomi-memo .yomi-cover{width:180px}
}
@media (min-width:1100px){
  .yomi-list{grid-template-columns:1.15fr 1fr;column-gap:56px}
  .yomi-memo{margin:64px 0 0}
  .yomi-soon{grid-column:1/-1}
}

/* 入会すると、できること */
.merit{background:var(--lav-200);padding:72px 0 88px}
.merit-head{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px}
.merit h2{font-size:clamp(26px,6.4vw,38px);line-height:1.45}
.merit-free{display:flex;flex-direction:column;align-items:center;justify-content:center;width:104px;height:104px;font-family:var(--maru);font-weight:700;font-size:30px;line-height:1.1;color:var(--plum-900);background:var(--yellow);border:2.5px solid var(--plum-700);border-radius:48% 52% 45% 55%/55% 45% 52% 48%;transform:rotate(-8deg);flex:none}
.merit-free small{font-size:13px;font-weight:700}
.merit-list{display:flex;flex-wrap:wrap;gap:18px 20px;margin-top:34px}
.merit-list li{background:#fff;border:2px solid var(--plum-700);padding:16px 20px 18px;line-height:1.85;font-size:16px;flex:1 1 260px;position:relative}
.merit-list li b{display:block;font-family:var(--maru);font-weight:700;font-size:19px;line-height:1.5;color:var(--plum-900);margin-bottom:4px}
.merit-list .m1{flex-basis:100%;background:#FFF6CF;border-radius:22px 30px 18px 34px/30px 18px 34px 22px;transform:rotate(-.5deg)}
.merit-list .m1 b{font-size:clamp(21px,4.6vw,26px)}
.merit-list .m2{border-radius:30px 16px 28px 18px/18px 30px 16px 28px;transform:rotate(.6deg)}
.merit-list .m3{background:var(--mint);border-color:var(--mint-deep);border-radius:16px 34px 20px 26px/30px 20px 28px 16px;transform:rotate(-.8deg)}
.merit-list .m4{border-radius:26px 20px 34px 16px/16px 28px 20px 30px;transform:rotate(.4deg)}
.merit-list .m5{background:#F7F1FC;border-style:dashed;border-radius:34px 18px 24px 22px/22px 30px 18px 26px;transform:rotate(-.3deg)}
.merit-call{display:flex;flex-wrap:wrap;align-items:flex-start;gap:12px 16px;margin-top:40px;padding-top:28px;border-top:2px dotted #9C86C4}
.merit-call p{font-family:var(--maru);font-weight:700;font-size:clamp(18px,4.2vw,22px);line-height:1.7;color:var(--plum-900);flex:1 1 280px}
.merit-call br{display:none}
.merit-btns{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;flex-basis:100%!important;font-size:16px!important}
@media (min-width:760px){.merit-call br{display:inline}.merit-call p{flex-basis:560px}}
@media (min-width:900px){
  .merit-list .m1{flex-basis:calc(60% - 10px)}
  .merit-list .m2{flex-basis:calc(40% - 10px)}
  .merit-btns{flex-basis:auto!important;align-self:center}
}

/* 受診を考えるときのポイント */
.jushin{padding:20px 0 64px}
.jushin-grid{display:grid;gap:28px}
.jushin h2{font-size:clamp(26px,6.4vw,38px);line-height:1.45}
.jushin-side p{margin-top:14px;line-height:1.9}
.jushin-link a{color:var(--plum-700);font-weight:700;text-underline-offset:4px}
.jushin-memo{min-width:0;background:#fff;border:2px solid var(--plum-700);border-radius:6px 14px 8px 16px/14px 8px 16px 6px;box-shadow:-7px 8px 0 var(--yellow);padding:22px 20px 20px;transform:rotate(.5deg)}
.jushin-memo li{position:relative;padding:0 0 16px 38px;line-height:1.85}
.jushin-memo li+li{padding-top:16px;border-top:1.5px dashed var(--lav-300)}
.jushin-memo li::before{content:"";position:absolute;left:2px;top:4px;width:22px;height:22px;border:2.5px solid var(--plum-700);border-radius:40% 55% 45% 60%/55% 40% 60% 45%;background:var(--lav-100)}
.jushin-memo li+li::before{top:20px}
.jushin-memo li::after{content:"";position:absolute;left:8px;top:6px;width:9px;height:15px;border:solid var(--lav-500);border-width:0 3.5px 3.5px 0;transform:rotate(42deg)}
.jushin-memo li+li::after{top:22px}
.jushin-memo b{display:block;font-family:var(--maru);font-weight:700;font-size:18px;color:var(--plum-900)}
@media (min-width:900px){
  .jushin-grid{grid-template-columns:5fr 7fr;gap:56px;align-items:start}
  .jushin-memo{padding:30px 34px 26px}
}
