/* 第四改修: 料金プランの表示と、見出しの改行調整。portfolio.css の後に読み込む。 */
.phrase{display:inline-block}
h2,h3,h4,p,summary{text-wrap:pretty}

.plan-group{margin-top:8px}
.plan-group-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.plan-group-head .sns-logo{width:36px;height:36px;border-radius:9px}
.plan-group-head .sns-logo img{width:22px;height:22px}
.plan-group-head .x-logo img{width:18px;height:18px}
.plan-group-head h3{font-size:18px;line-height:1.5}
.plan-unit{margin-left:auto;font-size:12px;color:var(--muted)}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.plan-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid #dccfe8;border-radius:12px;padding:28px 26px 24px}
.plan-card.is-main{border:2px solid var(--green);box-shadow:6px 6px 0 #e0d3ed}
.plan-badge{position:absolute;top:-13px;left:24px;background:var(--accent);color:#211c28;font-size:12px;font-weight:700;line-height:1;padding:7px 12px;border-radius:999px;letter-spacing:.05em}
.plan-name{margin:0;font-size:15px;font-weight:700;color:var(--green);line-height:1.5}
.plan-price{margin:6px 0 2px;font-size:15px;font-weight:700;line-height:1.3;color:var(--ink)}
.plan-price b{font:700 38px/1.1 Inter,var(--sans);letter-spacing:-.02em;margin-right:2px}
.plan-price small{font-size:12px;font-weight:500;color:var(--muted);margin-left:4px}
.plan-tax{font-size:12px;color:var(--muted);margin-bottom:12px}
.plan-lead{font-size:13px;line-height:1.7;padding-bottom:14px;border-bottom:1px solid var(--line)}
.plan-spec{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:6px;font-size:13px;line-height:1.7}
.plan-spec li{padding-left:1.3em;text-indent:-1.3em}
.plan-spec li::before{content:"✓";color:var(--green);display:inline-block;width:1.3em;text-indent:0}
.plan-sample{margin-top:auto;padding-top:16px;font-size:12px;font-weight:600;color:var(--green);text-decoration:underline;text-underline-offset:4px}
.plan-sub{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px}
.plan-sub .plan-group-head{margin-bottom:8px}
.plan-sub .plan-group-head h3{font-size:16px}
.plan-initial{background:#fbf8ff}
.plan-terms{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:16px 0 0;background:#fff;border:1px solid #dccfe8;border-radius:10px;overflow:hidden}
.plan-terms>div{padding:14px 20px;border-left:1px solid #eee6f5}
.plan-terms>div:first-child{border-left:0}
.plan-terms dt{font-size:12px;font-weight:700;color:var(--green);margin-bottom:2px}
.plan-terms dd{margin:0;font-size:13px;line-height:1.6}
.plan-note{font-size:12px;color:var(--muted);margin-top:14px}
.price-section .price-card{margin-top:34px}

@media(max-width:1100px){.plan-card{padding:26px 20px 22px}.plan-price b{font-size:32px}}
@media(max-width:850px){.plan-terms{grid-template-columns:1fr}.plan-terms>div{border-left:0;border-top:1px solid #eee6f5}.plan-terms>div:first-child{border-top:0}.plan-grid{grid-template-columns:1fr;gap:20px}.plan-sub{grid-template-columns:1fr}.plan-price b{font-size:36px}}
@media(max-width:640px){.plan-group-head h3{font-size:16px}.plan-card{padding:26px 20px 20px}.plan-price b{font-size:34px}.plan-lead,.plan-spec{font-size:13px}.plan-note{font-size:12px}.price-section .price-card{margin-top:26px}}
@media(max-width:370px){.plan-card{padding:24px 16px 18px}.plan-price b{font-size:30px}.plan-price small{display:inline-block;margin-left:0}}
