/* ---- 入会案内 ---- */
main{display:block}
.n-inner{max-width:860px;margin:0 auto}
.n-sec{padding:60px 0 72px}
.n-h2{font-size:clamp(25px,6vw,34px);line-height:1.45;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.hero-n{background:var(--lav-100);padding:30px 0 70px;position:relative;overflow:hidden}
.hero-n .wrap{position:relative}
.n-tag{display:inline-block;font-family:var(--maru);font-weight:700;font-size:14.5px;line-height:1.4;color:var(--plum-900);background:#fff;border:2px solid var(--plum-700);border-radius:30px 24px 28px 22px/22px 28px 22px 30px;padding:5px 16px}
.hero-n h1{margin-top:16px;font-family:var(--maru);font-weight:700;color:var(--plum-900);font-size:clamp(30px,8vw,46px);line-height:1.35}
.hero-n p{margin-top:14px;max-width:36em}
.n-note{margin-top:18px;display:inline-block;background:var(--yellow);border-radius:4px;padding:6px 14px;font-size:14.5px;line-height:1.6;transform:rotate(-1deg)}
.hero-deco{position:absolute;right:14px;top:-4px}
.toc-n{margin-top:24px;display:flex;flex-wrap:wrap;gap:10px 22px}
@supports (word-break:auto-phrase){.n-h2,.hero-n h1,.art h3{word-break:auto-phrase}}
@media (min-width:760px){.hero-n{padding:46px 0 88px}}

.n-about{background:var(--paper)}
.n-about p{margin-top:14px;max-width:38em}
.n-about .lead-big{font-family:var(--maru);font-weight:700;color:var(--plum-900);font-size:clamp(19px,4.8vw,23px);line-height:1.6;margin-top:18px}
.greet{background:var(--lav-100)}
.letter-k{margin-top:26px;background:#fff;border-radius:6px;box-shadow:6px 8px 0 var(--lav-300);padding:26px 20px 28px;position:relative}
.letter-k::before{content:"";position:absolute;top:-12px;left:28px;width:96px;height:24px;background:var(--yellow);opacity:.85;transform:rotate(-4deg)}
.letter-k p{margin-top:14px;line-height:2}
.letter-k p:first-of-type{margin-top:0}
.letter-k details{margin-top:14px}
.letter-k summary{cursor:pointer;font-family:var(--maru);font-weight:700;color:var(--plum-700);font-size:17px;list-style:none;display:inline-flex;align-items:center;gap:8px}
.letter-k summary::-webkit-details-marker{display:none}
.letter-k summary::before{content:"";width:10px;height:10px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(-45deg);transition:transform .2s}
.letter-k details[open] summary::before{transform:rotate(45deg)}
.letter-k .sign{margin-top:22px;text-align:right;font-family:var(--maru);font-weight:700;color:var(--plum-900)}
.chair-ph{float:right;width:110px;height:130px;margin:0 0 10px 16px;border:2px dashed var(--lav-500);border-radius:50% 46% 52% 48%/48% 52% 46% 50%;display:grid;place-items:center;text-align:center;font-size:13px;line-height:1.5;color:var(--ink-sub);background:var(--lav-100)}
.wait{display:inline-block;margin-left:6px;font-size:13px;font-weight:700;background:var(--yellow);border-radius:3px;padding:1px 8px;vertical-align:middle}
.prof{background:var(--paper)}
.prof-dl{margin-top:24px;display:grid;grid-template-columns:9em 1fr;border-top:2px dotted var(--lav-300)}
.prof-dl dt,.prof-dl dd{padding:14px 4px;border-bottom:2px dotted var(--lav-300);line-height:1.85}
.prof-dl dt{font-family:var(--maru);font-weight:700;color:var(--plum-900)}
.prof-dl dd{margin:0}
.prof-dl dd p+p{margin-top:8px}
@media (max-width:559px){.prof-dl{grid-template-columns:1fr}.prof-dl dt{border-bottom:0;padding-bottom:0}.prof-dl dd{padding-top:4px}}
.join-sec{background:var(--lav-200)}
.join-box{margin-top:26px;background:#fff;border:3px solid var(--plum-700);border-radius:18px 28px 14px 30px/28px 16px 30px 18px;padding:24px 20px 28px}
.join-box p{margin-top:12px;max-width:38em}
.join-box p:first-child{margin-top:0}
.steps{margin-top:20px;counter-reset:st;display:grid;gap:12px}
.steps li{list-style:none;counter-increment:st;display:flex;gap:12px;align-items:flex-start;line-height:1.8}
.steps li::before{content:counter(st);flex:none;width:34px;height:34px;border-radius:50% 46% 52% 48%;background:var(--plum-700);color:#fff;display:grid;place-items:center;font-family:var(--maru);font-weight:700}
.join-go{margin-top:24px;display:flex;flex-wrap:wrap;gap:12px 22px;align-items:center}
.contact-sec{background:var(--paper)}
.contact-sec p{margin-top:12px;max-width:38em}
@media (min-width:760px){.letter-k{padding:36px 44px 40px}.join-box{padding:32px 36px 36px}.chair-ph{width:140px;height:164px}}
