/* WordPress 化で追加した部分のスタイル（元デザインのCSSは変更していません） */

/* ---------- お知らせ本文（管理画面で書いた内容） ---------- */
.rv-entry { color: #333; letter-spacing: .06em; overflow-wrap: anywhere; }
.rv-entry-pc { font-size: 16px; line-height: 34px; }
.rv-entry-sp { font-family: "Noto Sans JP", sans-serif; font-size: calc(3.33333vw); line-height: calc(7.77778vw); }
.rv-entry > :first-child { margin-top: 0; }
.rv-entry > * { margin: 0; }
.rv-entry figure { margin-left: 0; margin-right: 0; }
.rv-entry h2, .rv-entry h3, .rv-entry h4 { font-family: heisei-maru-gothic-std, "Zen Maru Gothic", "Hiragino Maru Gothic ProN", sans-serif; font-weight: 500; line-height: 1.6; letter-spacing: .06em; color: #333; }
.rv-entry-pc h2 { font-size: 24px; padding-bottom: 14px; border-bottom: 1px solid #cfe3d9; }
.rv-entry-pc h3 { font-size: 20px; padding-left: 14px; border-left: 4px solid #42b291; }
.rv-entry-pc h4 { font-size: 17px; color: #2f8f74; }
.rv-entry-sp h2 { font-size: calc(4.72222vw); padding-bottom: calc(2.5vw); border-bottom: 1px solid #cfe3d9; }
.rv-entry-sp h3 { font-size: calc(4.16667vw); padding-left: calc(2.5vw); border-left: 3px solid #42b291; }
.rv-entry-sp h4 { font-size: calc(3.88889vw); color: #2f8f74; }
.rv-entry ul, .rv-entry ol { padding-left: 1.5em; }
.rv-entry ul { list-style: disc; }
.rv-entry ol { list-style: decimal; }
.rv-entry li + li { margin-top: .3em; }
.rv-entry a { color: #42b291; text-decoration: underline; text-underline-offset: 5px; }
.rv-entry strong { font-weight: 700; }
.rv-entry img { max-width: 100%; height: auto; display: block; }
.rv-entry figure.aligncenter img, .rv-entry .aligncenter { margin-left: auto; margin-right: auto; }
.rv-entry figcaption { margin-top: .6em; font-size: .85em; color: #8a9a94; text-align: center; }
.rv-entry blockquote { padding: 1em 1.4em; background: #f3f8f3; border-left: 4px solid #42b291; }
.rv-entry table { width: 100%; border-collapse: collapse; }
.rv-entry th, .rv-entry td { border: 1px solid #dde5e1; padding: .7em 1em; text-align: left; vertical-align: top; }
.rv-entry th { background: #f3f8f3; font-weight: 500; white-space: nowrap; }
.rv-entry iframe { max-width: 100%; }
.rv-entry .wp-block-embed__wrapper { position: relative; }
.rv-entry-pc .wp-block-image.rv-book img { max-height: 536px; width: auto; }
.rv-entry-sp .wp-block-image.rv-book img { width: 100%; height: calc(65vw); object-fit: cover; }

/* ボタン（Amazon など） */
.rv-entry .wp-block-buttons { display: flex; justify-content: center; }
.rv-entry .wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; gap: 12px; background: #42b291; color: #fff; text-decoration: none; letter-spacing: .06em; border-radius: 999px; box-sizing: border-box; transition: opacity .2s; }
.rv-entry .wp-block-button__link:hover { opacity: .85; }
.rv-entry-pc .wp-block-button__link { min-width: 420px; height: 76px; padding: 0 30px; font-size: 16px; }
.rv-entry-pc .wp-block-button__link::after { content: ""; width: 40px; height: 40px; flex: 0 0 auto; background: url(../images/common/i59.svg) center / contain no-repeat; }
.rv-entry-sp .wp-block-button { width: 100%; }
.rv-entry-sp .wp-block-button__link { width: 100%; min-height: calc(13.8889vw); padding: calc(2.22222vw) calc(5.55556vw); border-radius: 0; font-size: calc(3.61111vw); font-weight: 500; }

/* LINE / Instagram バナー */
.rv-entry .rv-sns { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 32px 80px; }
.rv-entry .rv-sns figure { margin: 0; }
.rv-entry .rv-sns-line img { height: 32px; width: auto; }
.rv-entry .rv-sns-insta img { height: 56px; width: auto; }
.rv-entry-sp .rv-sns { flex-direction: column; gap: calc(6.94444vw); }
.rv-entry-sp .rv-sns figure { width: calc(41.6667vw); }
.rv-entry-sp .rv-sns img { width: 100%; height: auto !important; }

.rv-empty { padding: 40px 0; color: #8a9a94; }

/* ---------- ページ送り ---------- */
.rv-pg-on { opacity: 1 !important; pointer-events: auto !important; }
.rv-pg-other { background: #fff !important; color: #42b291 !important; }
.rv-pg-other:hover { background: #f3f8f3 !important; }
.rv-pg-dots { color: #8a9a94; font-family: Montserrat, sans-serif; }

/* お知らせ一覧のタブ（リンク化） */
a[aria-current="page"][class] { cursor: default; }

/* ---------- お問い合わせフォーム ---------- */
.rv-form { display: contents; }
.rv-form button[type="submit"] { width: 100%; border: 0; cursor: pointer; font-family: inherit; -webkit-appearance: none; appearance: none; border-radius: 0; transition: opacity .2s; }
.rv-form button[type="submit"]:hover { opacity: .85; }
.rv-form button[type="submit"]:disabled { opacity: .5; cursor: wait; }
.rv-form input:focus-visible, .rv-form textarea:focus-visible { outline: 2px solid #42b291; outline-offset: 0; }
.rv-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.rv-vh { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; border: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.rv-vh + span { position: relative; transition: background .15s, border-color .15s; }
.rv-vh:checked + span { background: #42b291 !important; border-color: #42b291 !important; }
.rv-vh:checked + span::after { content: ""; position: absolute; left: 9px; top: 4px; width: 8px; height: 15px; border-right: 2.5px solid #fff; border-bottom: 2.5px solid #fff; transform: rotate(45deg); }
.rv-vh:focus-visible + span { outline: 2px solid #42b291; outline-offset: 2px; }
.rv-form-errors { margin: 0 0 32px; padding: 20px 24px; border: 1px solid #d9534f; background: #fdf3f2; color: #b32d2e; font-size: 15px; line-height: 1.8; letter-spacing: .04em; }
.rv-form-errors p { font-weight: 700; }
.rv-form-errors ul { margin-top: 6px; padding-left: 1.2em; list-style: disc; }
.om-spc .rv-form-errors { margin-bottom: calc(6vw); padding: calc(3.5vw) calc(4vw); font-size: calc(3.33333vw); }

/* 元デザインの余白に合わせた調整（PC） */
.rv-entry-pc > * + * { margin-top: 38px; }
.rv-entry-pc > figure, .rv-entry-pc > .wp-block-image { margin-top: 64px; }
.rv-entry-pc > figure + *, .rv-entry-pc > .wp-block-image + * { margin-top: 79px; }
.rv-entry-pc > .wp-block-buttons { margin-top: 154px; }
.rv-entry-pc > .rv-sns { margin-top: 64px; }
/* （SP） */
.rv-entry-sp > * + * { margin-top: calc(5.55556vw); }
.rv-entry-sp > figure, .rv-entry-sp > .wp-block-image { margin-top: calc(5.55556vw); }
.rv-entry-sp > figure + *, .rv-entry-sp > .wp-block-image + * { margin-top: calc(8.33333vw); }
.rv-entry-sp > .wp-block-buttons { margin-top: calc(8.33333vw); }
.rv-entry-sp > .rv-sns { margin-top: calc(8.33333vw); }

/* 見出しの前は広めに */
.rv-entry-pc > h2, .rv-entry-pc > h3, .rv-entry-pc > h4 { margin-top: 64px; }
.rv-entry-sp > h2, .rv-entry-sp > h3, .rv-entry-sp > h4 { margin-top: calc(11.1111vw); }
.rv-entry > :first-child { margin-top: 0 !important; }

/* 見出しタグ化（div/span→h2）しても見た目を変えないためのリセット（詳細度0） */
:where(h2.rv-h) { margin: 0; font-size: inherit; font-weight: inherit; line-height: inherit; letter-spacing: inherit; }
:where(h2.rv-h-inline) { display: inline; }

/* PCナビのドロップダウン内は、スクロール表示アニメーションの対象外（下層ページで文字が消えるのを防ぐ） */
.ph-nav [data-rv], .om-pc-nav [data-rv] { opacity: 1 !important; translate: none !important; filter: none !important; }
