/* ============================================================
   BLOCK EDITOR FRONT STYLES
   ============================================================ */
.body h4{font-size:15px;font-weight:900;margin:24px 0 10px;}
.body h5,.body h6{font-size:14px;font-weight:900;margin:24px 0 10px;}
.body .wp-block-image{margin:0 0 20px;}
.body .wp-block-image:not(.is-style-card) img{border-radius:8px;}
.body .wp-block-image figcaption{font-size:12px;color:var(--muted-2);text-align:center;margin-top:6px;}
.body .wp-block-gallery{margin-bottom:20px;}
.body .wp-block-quote{border-left:4px solid var(--hair);background:var(--paper-2);padding:14px 18px;margin:0 0 20px;border-radius:0 8px 8px 0;}
.body .wp-block-quote p{margin-bottom:8px;font-size:14px;}
.body .wp-block-quote cite{font-size:12px;color:var(--muted-2);display:block;margin-top:6px;}
.body .wp-block-pullquote{border:none;border-top:3px solid var(--red);border-bottom:3px solid var(--red);padding:18px 0;margin:0 0 22px;}
.body .wp-block-pullquote blockquote{margin:0;}
.body .wp-block-pullquote p{font-size:16px;font-weight:900;line-height:1.8;margin-bottom:8px;}
.body .wp-block-pullquote cite{font-size:12px;color:var(--muted-2);}
.body .wp-block-table{margin:0 0 22px;overflow-x:auto;border:1px solid var(--hair);border-radius:10px;}
.body .wp-block-table table{min-width:520px;margin:0;}
.body .wp-block-table.is-style-stripes{border-color:var(--hair);}
.body .wp-block-table.is-style-stripes tbody tr:nth-child(even){background:var(--paper-2);}
.body .wp-block-table.is-style-stripes tbody tr:nth-child(odd){background:#fff;}
.body .wp-block-columns{gap:20px;margin-bottom:20px;}
.body .wp-block-column > :last-child{margin-bottom:0;}
.body .wp-block-buttons{margin:0 0 22px;gap:10px;}
.body .wp-block-button__link{background:var(--red);color:#fff;font-weight:800;font-size:14px;padding:13px 22px;border-radius:8px;text-decoration:none;transition:filter .15s;}
.body .wp-block-button__link:hover{filter:brightness(1.08);}
.body .wp-block-button.is-style-outline .wp-block-button__link{background:#fff;color:var(--red);border:2px solid var(--red);}
.body .wp-block-separator{border:none;border-top:1px solid var(--hair);margin:28px 0;}
.body .wp-block-code,.body pre{background:var(--ink-2);color:#e4e4ea;padding:14px 16px;border-radius:8px;font-size:13px;overflow-x:auto;margin:0 0 20px;}
.body .wp-block-code code,.body pre code{background:none;color:inherit;padding:0;font-size:inherit;}
.body .wp-block-embed{margin:0 0 22px;}
.body .wp-block-embed__wrapper iframe{max-width:100%;}
.body .wp-block-details{border:1px solid var(--hair);border-radius:10px;overflow:hidden;margin:0 0 14px;padding:0;}
.body .wp-block-details summary{list-style:none;cursor:pointer;padding:14px 18px;font-size:14px;font-weight:800;display:flex;gap:10px;align-items:flex-start;background:#fff;}
.body .wp-block-details summary::before{content:"Q";font-family:'Oswald',sans-serif;color:var(--red);font-weight:700;flex-shrink:0;}
.body .wp-block-details summary::-webkit-details-marker{display:none;}
.body .wp-block-details[open] summary{border-bottom:1px solid var(--hair);}
.body .wp-block-details > :not(summary){padding:14px 18px 0;font-size:13.5px;line-height:1.9;background:var(--paper-2);margin:0;}
.body .wp-block-details > :last-child{padding-bottom:14px;}
.body .wp-block-details > p:not(summary):first-of-type::before{content:"A";font-family:'Oswald',sans-serif;color:var(--blue);font-weight:700;margin-right:10px;}
.body .wp-block-group{margin-bottom:20px;}
.body .wp-block-group.has-background{padding:16px 18px;border-radius:8px;}
.body .aligncenter{margin-left:auto;margin-right:auto;text-align:center;}
.body .alignleft{float:left;margin:0 18px 14px 0;}
.body .alignright{float:right;margin:0 0 14px 18px;}
.body mark{background:none;color:inherit;}
.body mark.mk-y{background:linear-gradient(transparent 62%,rgba(255,210,63,.65) 62%);color:inherit;font-weight:inherit;}
.body mark.mk-r{background:linear-gradient(transparent 62%,rgba(224,36,43,.28) 62%);color:inherit;font-weight:inherit;}
.body mark.mk-b{background:linear-gradient(transparent 62%,rgba(47,102,224,.25) 62%);color:inherit;font-weight:inherit;}
.body .txt-red{color:var(--red);font-weight:800;}
.body .txt-big{font-size:1.2em;font-weight:900;}

.body .is-style-box-info,.body .is-style-box-warn,.body .is-style-box-point,.body .is-style-box-memo{border:1px solid var(--hair);border-left:5px solid var(--blue);border-radius:8px;background:#f7f9ff;padding:16px 18px;margin-bottom:22px;}
.body .is-style-box-warn{border-left-color:var(--red);background:#fff6f6;}
.body .is-style-box-point{border-left-color:#e0a72b;background:#fffbea;}
.body .is-style-box-memo{border-left-color:#9b9ba7;background:var(--paper-2);}
.body p.is-style-box-info,.body p.is-style-box-warn,.body p.is-style-box-point,.body p.is-style-box-memo{font-size:13.5px;line-height:1.85;}
.body .wp-block-group.is-style-box-info > p,.body .wp-block-group.is-style-box-warn > p,.body .wp-block-group.is-style-box-point > p,.body .wp-block-group.is-style-box-memo > p{font-size:13.5px;line-height:1.85;}
.body .wp-block-group.is-style-box-info > :last-child,.body .wp-block-group.is-style-box-warn > :last-child,.body .wp-block-group.is-style-box-point > :last-child,.body .wp-block-group.is-style-box-memo > :last-child{margin-bottom:0;}
.body .is-style-box-info > p:first-child strong,.body .is-style-box-info > .wp-block-group__inner-container > p:first-child strong,.body p.is-style-box-info > strong:first-child{display:block;font-size:13px;font-weight:900;margin-bottom:5px;color:var(--blue);background:none;}
.body .is-style-box-warn > p:first-child strong,.body .is-style-box-warn > .wp-block-group__inner-container > p:first-child strong,.body p.is-style-box-warn > strong:first-child{display:block;font-size:13px;font-weight:900;margin-bottom:5px;color:var(--red);background:none;}
.body .is-style-box-point > p:first-child strong,.body .is-style-box-point > .wp-block-group__inner-container > p:first-child strong,.body p.is-style-box-point > strong:first-child{display:block;font-size:13px;font-weight:900;margin-bottom:5px;color:#8a5c05;background:none;}
.body .is-style-box-memo > p:first-child strong,.body .is-style-box-memo > .wp-block-group__inner-container > p:first-child strong,.body p.is-style-box-memo > strong:first-child{display:block;font-size:13px;font-weight:900;margin-bottom:5px;color:#6a6a76;background:none;}

.body .wp-block-table.is-style-spec table{min-width:0;}
.body .wp-block-table.is-style-spec td:first-child{background:var(--paper-2);font-weight:800;width:130px;white-space:nowrap;}
.body .wp-block-table.is-style-price table{min-width:0;}
.body .wp-block-table.is-style-price td:first-child,.body .wp-block-table.is-style-price th:first-child{background:var(--paper-2);color:var(--text);font-size:12px;font-weight:800;text-align:left;width:104px;padding:12px 14px;white-space:nowrap;letter-spacing:0;font-family:'Noto Sans JP',sans-serif;}
.body .wp-block-table.is-style-price td:nth-child(2),.body .wp-block-table.is-style-price th:nth-child(2){padding:12px 14px;font-size:14px;font-weight:700;text-align:right;font-family:'Oswald','Noto Sans JP',sans-serif;}
.body .wp-block-table.is-style-ranking td:first-child{font-family:'Oswald',sans-serif;font-weight:700;font-size:15px;color:var(--red);text-align:center;white-space:nowrap;}
.body .wp-block-table.is-style-ranking td:nth-child(3){font-family:'Oswald',sans-serif;font-weight:600;color:var(--red);white-space:nowrap;}
.body ul.is-style-check{list-style:none;margin:0 0 20px;padding-left:0;}
.body ul.is-style-check li{padding-left:24px;}
.body ul.is-style-check li::before{content:"✓";position:absolute;left:0;top:0;width:auto;height:auto;border-radius:0;background:none;transform:none;color:var(--red);font-weight:900;}
.body ol.is-style-number-circle{list-style:none;counter-reset:toreca-circle;margin:0 0 20px;padding-left:0;}
.body ol.is-style-number-circle li{counter-increment:toreca-circle;position:relative;padding-left:32px;}
.body ol.is-style-number-circle li::before{content:counter(toreca-circle);position:absolute;left:0;top:4px;width:20px;height:20px;border-radius:50%;background:var(--red);color:#fff;font-family:'Oswald',sans-serif;font-size:12px;font-weight:700;line-height:20px;text-align:center;}
.body .wp-block-button.is-style-teal{width:100%;}
.body .wp-block-button.is-style-teal .wp-block-button__link{display:block;width:100%;box-sizing:border-box;background:#2f9d9c;color:#fff;font-size:13.5px;font-weight:800;padding:13px 12px;border-radius:8px;text-align:center;}
.body .wp-block-button.is-style-line{width:100%;}
.body .wp-block-button.is-style-line .wp-block-button__link{display:block;width:100%;box-sizing:border-box;background:#06c755;color:#fff;font-size:13.5px;font-weight:800;padding:13px 12px;border-radius:8px;text-align:center;}
.body .wp-block-heading.is-style-plain{padding:0;border:none;background:none;}
.body .wp-block-image.is-style-card{aspect-ratio:63/88;max-width:300px;margin:0 auto 20px;border:1px solid var(--hair);background:#fff;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.body .wp-block-image.is-style-card img{width:100%;height:100%;object-fit:contain;border-radius:0;}

.body .balloon{margin:0 0 18px;}
.body .balloon .wp-block-columns{gap:12px;align-items:flex-start;margin-bottom:0;}
.body .balloon__avatar img{width:56px;height:56px;border-radius:50%;object-fit:cover;}
.body .balloon__avatar:empty::before{content:"";display:block;width:56px;height:56px;border-radius:50%;background:#d9d9e2;}
.body .balloon__text{position:relative;background:var(--paper-2);border:1px solid var(--hair);border-radius:12px;padding:12px 16px;font-size:14px;line-height:1.85;margin:0;}
.body .balloon__text::before{content:"";position:absolute;top:18px;left:-8px;border:8px solid transparent;border-right-color:var(--hair);border-left:0;}
.body .balloon--r .wp-block-columns{flex-direction:row-reverse;}
.body .balloon--r .balloon__text{background:#fff6f6;border-color:#f2c9cb;}
.body .balloon--r .balloon__text::before{left:auto;right:-8px;border-right:0;border-left:8px solid #f2c9cb;}
.body > :last-child{margin-bottom:0;}

@media (max-width:600px){
  .body .alignleft,.body .alignright{float:none;margin:0 0 18px;}
}
@media (max-width:520px){
  .body .wp-block-table.is-style-spec td:first-child{width:100px;}
}
