/* PゼミSophia の見た目。公式サイト(p-zemi-sophia.com)の実測に合わせる:
   書体=さわらびゴシック(公式の本文・見出しとも) / 目印色=水色 #9dcce0 / 本文色 #333
   コース色=高校 #3d70b8・中学 #b40404・小学 #1c4073・デジそろ #ea8648
   さわらびゴシックは400のみ。疑似太字で潰れるので、強調は太さでなく色と大きさで付ける */
@import url("https://fonts.googleapis.com/css2?family=Sawarabi+Gothic&display=swap");

body[data-theme=pzemi]{
  --sky:#9dcce0; --sky-tint:#eef6fa; --ink:#333; --navy:#1c4073; --accent:#3d70b8;
  background:var(--sky-tint); color:var(--ink);
  font-family:"Sawarabi Gothic","Hiragino Kaku Gothic ProN","Hiragino Sans",Meiryo,sans-serif;
  line-height:1.75;
}
/* アンケートの種類で、公式のコース色を差し色にする */
body[data-theme=pzemi][data-preset=digisoro]{--accent:#ea8648}
body[data-theme=pzemi][data-preset=juken]{--accent:#b40404}
body[data-theme=pzemi][data-preset=koushu],body[data-theme=pzemi][data-preset=s-koushu]{--accent:#1c4073}
body[data-theme=pzemi][data-preset=s-juken]{--accent:#b40404}

body[data-theme=pzemi] b,body[data-theme=pzemi] strong,body[data-theme=pzemi] h1,body[data-theme=pzemi] h2,
body[data-theme=pzemi] legend,body[data-theme=pzemi] button,body[data-theme=pzemi] .free-comment,
body[data-theme=pzemi] .post-title,body[data-theme=pzemi] .notice,body[data-theme=pzemi] .form-status{font-weight:400}

/* ---- 見出し: 公式ロゴ+ふくろうの吹き出し ---- */
body[data-theme=pzemi] header{background:#fff;border:0;border-top:6px solid var(--sky);border-radius:0 0 4px 4px;box-shadow:none;padding:18px 18px 20px}
body[data-theme=pzemi] .office-mark{color:var(--accent);border:0;padding:0;margin:0 0 4px;font-size:.78rem;letter-spacing:.24em}
body[data-theme=pzemi] #logo{display:block;width:190px;height:auto;margin:0 0 10px}
body[data-theme=pzemi] #logo[hidden]{display:none}
body[data-theme=pzemi] #office{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
body[data-theme=pzemi] .seminar-title{display:inline-block;margin:0 0 14px;padding:2px 10px;background:var(--sky);color:var(--navy);font-size:.85rem;border-radius:2px}
body[data-theme=pzemi] #intro-text{position:relative;margin:0 88px 0 0;padding:12px 14px;background:var(--sky-tint);border:1px solid var(--sky);border-radius:10px;font-size:.93rem;line-height:1.8}
body[data-theme=pzemi] #intro-text::before{content:"";position:absolute;right:-9px;bottom:22px;border:8px solid transparent;border-left-color:var(--sky);border-right:0}
body[data-theme=pzemi] #intro-text::after{content:"";position:absolute;right:-90px;bottom:-6px;width:74px;height:99px;background:url(/themes/pzemi/owl.png) center/contain no-repeat}

/* ---- 設問: カードを重ねず、白地に差し色の縦線だけで区切る ---- */
body[data-theme=pzemi] fieldset{background:#fff;border:0;border-left:4px solid var(--accent);border-radius:0 4px 4px 0;box-shadow:none;padding:16px 16px 8px;margin:0 0 12px}
body[data-theme=pzemi] legend{float:left;width:100%;padding:0;margin:0 0 6px;color:var(--navy);font-size:1.02rem;line-height:1.6}
body[data-theme=pzemi] fieldset>label{clear:both}
body[data-theme=pzemi] fieldset label{padding:10px 8px;border-top:1px dashed #d4e7ef;line-height:1.6}
body[data-theme=pzemi] input[type=radio],body[data-theme=pzemi] input[type=checkbox]{accent-color:var(--accent);width:18px;height:18px;vertical-align:-3px;margin-right:6px}
body[data-theme=pzemi] label:has(input:checked){background:var(--sky-tint);color:var(--navy);font-weight:400}
body[data-theme=pzemi] legend .req{background:#b40404;font-weight:400}
body[data-theme=pzemi] legend .opt{background:var(--sky-tint);color:#55707d;font-weight:400}

body[data-theme=pzemi] .free-comment{background:#fff;padding:16px;border-left:4px solid var(--sky);margin:0 0 12px;color:var(--navy)}
body[data-theme=pzemi] textarea{border:1px solid #bcd9e6;border-radius:4px;font-family:inherit;line-height:1.7}
body[data-theme=pzemi] textarea:focus{outline:2px solid var(--sky);outline-offset:1px}
body[data-theme=pzemi] .consent{display:block;padding:4px 2px 8px;font-size:.84rem;color:#555}

/* ---- ボタン: 公式の青。影や大きな角丸は付けない ---- */
body[data-theme=pzemi] button.primary{border-radius:4px;letter-spacing:.08em;font-size:1.05rem;padding:15px 18px}
body[data-theme=pzemi] button.sub{border-radius:4px}
body[data-theme=pzemi] #result{background:#fff;border:0;border-top:6px solid var(--sky);border-radius:0 0 4px 4px;box-shadow:none}
body[data-theme=pzemi] #result h2{color:var(--navy)}
body[data-theme=pzemi] .post-steps{background:var(--sky-tint);border-radius:4px}

/* ---- 教室の所在地(公式フッターと同じく教室名と連絡先を置く) ---- */
body[data-theme=pzemi] .office-footer{margin:26px 0 0;padding-top:14px;border-top:1px solid #cfe4ee;font-size:.78rem;color:#55707d;line-height:1.8;text-align:center}
body[data-theme=pzemi] .office-footer[hidden]{display:none}
body[data-theme=pzemi] .demo-banner{border-radius:4px}

@media (max-width:360px){
  body[data-theme=pzemi] #intro-text{margin-right:0}
  body[data-theme=pzemi] #intro-text::before,body[data-theme=pzemi] #intro-text::after{display:none}
}

/* ---- QR印刷用紙(print.html) ---- */
body[data-theme=pzemi] .sheet{font-family:"Sawarabi Gothic","Hiragino Kaku Gothic ProN",sans-serif}
body[data-theme=pzemi] .sheet::before{background:var(--sky)}
body[data-theme=pzemi] .sheet .office{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
body[data-theme=pzemi] .sheet .office-mark{color:var(--accent);margin-top:6mm}
body[data-theme=pzemi] .sheet .seminar,body[data-theme=pzemi] .sheet .ask{font-weight:400;color:var(--navy)}
body[data-theme=pzemi] .sheet .ask span{background:linear-gradient(transparent 62%,#d6ecf5 62%)}
body[data-theme=pzemi] .sheet .qr-wrap{border-color:var(--sky);border-radius:3mm}
body[data-theme=pzemi] .sheet .qr-wrap::before{content:"";position:absolute;right:-17mm;bottom:-7mm;width:22mm;height:29mm;background:url(/themes/pzemi/owl.png) center/contain no-repeat;-webkit-print-color-adjust:exact;print-color-adjust:exact}
body[data-theme=pzemi] .sheet .qr-wrap::after{background:var(--navy);font-weight:400}
body[data-theme=pzemi] .sheet .step b{background:var(--accent);font-weight:400}
body[data-theme=pzemi] .sheet .step p{font-weight:400}

/* ---- 設問固定型アンケート(保護者アンケート v2) ---- */
body[data-theme=pzemi] .form-notice,body[data-theme=pzemi] .done{background:#fff;border:0;border-top:6px solid var(--sky);border-radius:0 0 4px 4px}
body[data-theme=pzemi] .form-notice h2,body[data-theme=pzemi] .done h2,body[data-theme=pzemi] .form-section{color:var(--navy);font-weight:400}
body[data-theme=pzemi] .form-section{border-left-color:var(--accent)}
body[data-theme=pzemi] .q-no{color:var(--accent)}
body[data-theme=pzemi] .scale-row .scale-cell{border-color:#bcd9e6;border-top:1px solid #bcd9e6;padding:0}
body[data-theme=pzemi] .scale-row .scale-cell:has(input:checked){background:var(--accent);border-color:var(--accent);color:#fff}
body[data-theme=pzemi] .done-consent,body[data-theme=pzemi] .receipt{background:var(--sky-tint)}
body[data-theme=pzemi] .receipt-code{color:var(--navy)}
body[data-theme=pzemi] .review-offer .post-title{font-weight:400;color:var(--navy)}
body[data-theme=pzemi] .other-box input{border:1px solid #bcd9e6;border-radius:4px;font-family:inherit}
