/* pricing tables 20260930 (mock-based) */
.pt{position:relative;overflow:hidden}
.pt-speaking{padding:64px 0 96px;background:#fff}
.pt-pte{padding:96px 0 104px;background:linear-gradient(180deg,#EAF4FC 0%,#E0F0FC 100%)}
.pt-deco{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.pt-deco--b1{left:-140px;top:40px;width:360px;height:360px;background:#E0F0FC;opacity:.8}
.pt-deco--o1{left:12%;top:300px;width:60px;height:60px;background:#FFB27A;opacity:.7}
.pt-deco--b2{right:-120px;top:120px;width:320px;height:320px;background:#E0F0FC;opacity:.8}
.pt-deco--o2{right:6%;top:70px;width:140px;height:140px;background:#FFC69D;opacity:.5}
.pt-deco--b3{left:-80px;bottom:-120px;width:320px;height:320px;background:rgba(255,255,255,.7)}
.pt-deco--dots{left:5%;top:220px;width:90px;height:90px;border-radius:0;background-image:radial-gradient(#7aa3c4 1.6px,transparent 1.7px);background-size:14px 14px;opacity:.7}
.pt .container{position:relative;z-index:1}
.pt-hero{text-align:center;margin-bottom:44px}
.pt-hero__en{font-family:var(--rem);font-weight:700;font-size:88px;line-height:1;letter-spacing:.02em;color:var(--blue);margin:0}
.pt-hero__en span{color:var(--orange)}
.pt-hero__ja{font-weight:700;font-size:22px;letter-spacing:4px;color:var(--blue);margin:10px 0 14px}
.pt-hero__catch{font-weight:500;font-size:15px;letter-spacing:2px;color:var(--text);margin:0 0 24px}
.pt-entry{display:inline-flex;align-items:baseline;gap:8px;padding:12px 32px;border:2px solid var(--blue);border-radius:999px;background:#fff;font-weight:700;font-size:15px;letter-spacing:2px;color:var(--blue);margin:0}
.pt-entry b{font-family:var(--rem);font-size:22px;letter-spacing:0}
.pt-entry span{font-family:var(--rem);font-size:14px;color:#7aa3c4}
.pt-entry small{font-size:12px;font-weight:500;color:#5b6772;letter-spacing:1px}
/* plan panel */
.pt-plan{background:#fff;border-radius:24px;box-shadow:0 18px 48px rgba(5,92,157,.10);overflow:hidden;margin-bottom:28px}
.pt-plan__head{display:flex;align-items:center;gap:20px;padding:28px 40px;background:linear-gradient(90deg,#EAF4FC 0%,#F6FAFE 100%)}
.pt-plan--premium .pt-plan__head{background:linear-gradient(90deg,#FFF0E4 0%,#FFF8F2 100%)}
.pt-plan__bar{width:14px;height:44px;border-radius:7px;background:var(--blue);flex:none}
.pt-plan--premium .pt-plan__bar{background:var(--orange)}
.pt-plan__en{font-family:var(--rem);font-weight:700;font-size:44px;line-height:1;letter-spacing:.02em;color:var(--blue);margin:0;flex:none}
.pt-plan--premium .pt-plan__en{color:var(--orange)}
.pt-plan__desc{margin-left:8px}
.pt-plan__sub{font-weight:700;font-size:16px;letter-spacing:2px;color:var(--blue);margin:0}
.pt-plan__note{font-size:13px;letter-spacing:1px;color:#5b6772;margin:4px 0 0}
.pt-plan__body{display:grid;grid-template-columns:repeat(3,1fr);padding:28px 24px 32px}
.pt-col{text-align:center;padding:8px 16px;border-left:1px solid #E3ECF4}
.pt-col:first-child{border-left:0}
.pt-col__freq{font-weight:700;font-size:22px;letter-spacing:3px;color:var(--blue);margin:0 0 4px}
.pt-col__unit{font-size:13px;letter-spacing:1px;color:#5b6772;margin:0 0 16px}
.pt-col__price{font-family:var(--rem);font-weight:700;font-size:52px;line-height:1;letter-spacing:-.01em;color:var(--blue);margin:0}
.pt-plan--premium .pt-col__price{color:var(--orange)}
.pt-col__yen{font-size:.55em;margin-right:4px;vertical-align:.12em}
.pt-col__aud{font-family:var(--rem);font-weight:700;font-size:18px;color:#7aa3c4;margin:8px 0 14px}
.pt-plan--premium .pt-col__aud{color:#e39a68}
.pt-plan--premium /* bonus */
.pt-bonus{position:relative;display:grid;grid-template-columns:1.1fr 1fr;gap:32px;align-items:center;margin-top:36px;padding:40px 48px;border-radius:24px;background:#fff;box-shadow:0 18px 48px rgba(5,92,157,.10);overflow:hidden}
.pt-deco--bb{left:-40px;top:-60px;width:200px;height:200px;background:#E0F0FC}
.pt-deco--bo{right:-30px;bottom:-70px;width:160px;height:160px;background:#FFE3CF}
.pt-bonus__main,.pt-bonus__list{position:relative}
.pt-bonus__title{font-weight:700;font-size:40px;letter-spacing:6px;color:var(--blue);margin:0 0 10px;line-height:1.2}
.pt-bonus__title span{color:var(--orange)}
.pt-bonus__text{font-weight:700;font-size:16px;line-height:1.9;letter-spacing:1.5px;color:var(--text);margin:0}
.pt-bonus__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}
.pt-bonus__list li{display:flex;align-items:center;gap:12px;font-weight:700;font-size:16px;letter-spacing:1.5px;color:var(--text)}
.pt-bonus__list b{color:var(--blue);margin-right:2px}
.pt-chk{width:22px;height:22px;flex:none;fill:var(--orange)}
.pt-notes{list-style:none;padding:0;margin:24px 0 0;font-size:13px;line-height:2;letter-spacing:.5px;color:#5b6772}
/* PTE */
.pt-pte__lead{text-align:center;font-weight:700;font-size:18px;letter-spacing:3px;color:var(--blue);margin:0 0 28px}
.pt-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;align-items:end}
.pt-card{position:relative;display:flex;flex-direction:column;align-items:center;background:#fff;border-radius:24px;padding:36px 28px 32px;text-align:center;box-shadow:0 18px 48px rgba(5,92,157,.10)}
.pt-card.is-feature{padding-top:44px;padding-bottom:40px;box-shadow:0 26px 60px rgba(255,117,31,.22);border:2px solid var(--orange)}
.pt-card__name{font-weight:700;font-size:28px;letter-spacing:3px;color:var(--blue);margin:0}
.pt-card.is-feature .pt-card__name{color:var(--orange)}
.pt-card__type{font-size:13px;font-weight:700;letter-spacing:2px;color:#5b6772;margin:4px 0 20px}
.pt-card__price{font-family:var(--rem);font-weight:700;font-size:48px;line-height:1;color:var(--blue);margin:0}
.pt-card.is-feature .pt-card__price{color:var(--orange)}
.pt-card__aud{font-family:var(--rem);font-weight:700;font-size:18px;color:#7aa3c4;margin:8px 0 24px}
.pt-card.is-feature .pt-card__aud{color:#e39a68}
.pt-card__list{list-style:none;padding:24px 0 0;margin:0 0 24px;width:100%;border-top:1px solid #E3ECF4;display:flex;flex-direction:column;gap:12px;text-align:left;flex:1}
.pt-card__list li{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.7;letter-spacing:.5px;color:var(--text)}
.pt-card__list .pt-chk{width:18px;height:18px;margin-top:3px;fill:var(--blue)}
.pt-card.is-feature .pt-card__list .pt-chk{fill:var(--orange)}
.pt-card__goal{width:100%;margin:0;padding:14px 12px;border-radius:999px;border:2px solid var(--blue);font-weight:700;font-size:14px;letter-spacing:1px;color:var(--blue)}
.pt-card.is-feature .pt-card__goal{border-color:var(--orange);background:var(--orange);color:#fff}
.pt-confirm{margin-top:40px;padding:28px 36px;border-radius:20px;background:rgba(255,255,255,.85)}
.pt-confirm__title{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--blue);font-size:17px;letter-spacing:2px;margin:0 0 10px}
.pt-confirm__title::before{content:"";width:36px;height:2px;background:var(--orange)}
.pt-confirm ul{margin:0;padding-left:1.3em;font-size:14px;line-height:2;letter-spacing:.5px;color:var(--text)}
@media (max-width:768px){
  .pt-speaking{padding:40px 0 64px}
  .pt-pte{padding:64px 0 72px}
  .pt-deco--b1,.pt-deco--b2,.pt-deco--b3{width:200px;height:200px}
  .pt-deco--dots{display:none}
  .pt-hero{margin-bottom:32px}
  .pt-hero__en{font-size:52px}
  .pt-hero__ja{font-size:17px;letter-spacing:2.5px}
  .pt-hero__catch{font-size:13px;letter-spacing:1px}
  .pt-entry{flex-wrap:wrap;justify-content:center;gap:6px 8px;padding:10px 18px;border-radius:20px;font-size:14px}
  .pt-entry small{width:100%}
  .pt-plan{border-radius:18px;margin-bottom:20px}
  .pt-plan__head{flex-wrap:wrap;gap:10px 14px;padding:20px 20px}
  .pt-plan__bar{height:34px;width:10px}
  .pt-plan__en{font-size:32px}
  .pt-plan__desc{width:100%;margin:0}
  .pt-plan__sub{font-size:14px;letter-spacing:1px}
  .pt-plan__note{font-size:12px}
  .pt-plan__body{grid-template-columns:1fr;padding:4px 20px 12px}
  .pt-col{display:grid;grid-template-columns:1fr auto;grid-template-areas:"freq price" "unit aud";column-gap:12px;align-items:center;text-align:left;padding:18px 0;border-left:0;border-top:1px solid #E3ECF4}
  .pt-col:first-child{border-top:0}
  .pt-col__freq{grid-area:freq;font-size:18px;letter-spacing:2px;margin:0}
  .pt-col__unit{grid-area:unit;font-size:12px;margin:0}
  .pt-col__price{grid-area:price;font-size:34px;text-align:right}
  .pt-col__aud{grid-area:aud;font-size:14px;margin:0;text-align:right}
    .pt-bonus{grid-template-columns:1fr;gap:20px;padding:28px 22px;border-radius:18px;margin-top:28px}
  .pt-bonus__title{font-size:30px;letter-spacing:4px}
  .pt-bonus__text{font-size:14px;letter-spacing:1px}
  .pt-bonus__list li{font-size:15px;letter-spacing:1px}
  .pt-pte__lead{font-size:15px;letter-spacing:2px}
  .pt-cards{grid-template-columns:1fr;gap:20px}
  .pt-card,.pt-card.is-feature{border-radius:18px;padding:30px 22px 26px}
  .pt-card.is-feature{padding-top:34px}
  .pt-card__name{font-size:24px}
  .pt-card__price{font-size:40px}
  .pt-confirm{padding:22px 20px;border-radius:16px}
}
