/* Rise Business：公開ページ（Rise の変数 --rise-* を使う） */

/* ボタン */
.rise-biz-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 10px 24px; border: 2px solid transparent; border-radius: 99px; font-weight: 700; line-height: 1.3; text-align: center; text-decoration: none; cursor: pointer; transition: transform .15s, box-shadow .15s, background .15s, color .15s; }
.rise-biz-btn .rise-icon { width: 1.2em; height: 1.2em; flex: none; }
.rise-biz-btn:hover { transform: translateY(-1px); }
.rise-biz-btn--contact { background: var(--rise-accent); color: #fff !important; box-shadow: 0 4px 12px color-mix(in srgb, var(--rise-accent) 30%, transparent); }
.rise-biz-btn--contact:hover { box-shadow: 0 6px 18px color-mix(in srgb, var(--rise-accent) 40%, transparent); }
.rise-biz-btn--tel { flex-direction: column; gap: 0; padding: 6px 22px; border-color: var(--rise-main); background: #fff; color: var(--rise-main) !important; }
.rise-biz-btn--tel .rise-biz-btn__tel { display: inline-flex; align-items: center; gap: 6px; font-size: 1.25em; letter-spacing: .03em; }
.rise-biz-btn--tel .rise-icon { width: .9em; height: .9em; }
.rise-biz-btn__hours { font-size: .72rem; font-weight: 400; color: var(--rise-muted); }
.rise-biz-btn--outline { border-color: var(--rise-main); color: var(--rise-main) !important; background: transparent; }
.rise-biz-btn--outline:hover { background: var(--rise-main); color: #fff !important; }
.rise-biz-btn--ghost { border-color: rgba(255, 255, 255, .85); color: #fff !important; background: rgba(255, 255, 255, .08); }
.rise-biz-btn--l { min-height: 56px; padding-inline: 32px; font-size: 1.05em; }

/* ヘッダー（PC） */
.rise-biz-header-cta { display: flex; align-items: center; gap: 12px; margin-right: 8px; }
.rise-biz-header-cta .rise-biz-btn { min-height: 44px; padding: 6px 18px; font-size: .9rem; white-space: nowrap; }
.rise-biz-btn--header-tel { border: 0 !important; background: none !important; padding: 0 4px !important; color: var(--rise-header-text) !important; box-shadow: none; }
.rise-biz-btn--header-tel .rise-biz-btn__tel { font-size: 1.15rem; }
@media (max-width: 1279px) { .rise-biz-btn--header-tel { display: none; } }
.rise-header-overlay:not(.is-scrolled) .rise-biz-btn--header-tel { color: #fff !important; }

/* フッターの会社情報 */
.rise-biz-footer-info { margin: 0 0 16px; font-size: .8125rem; line-height: 1.8; opacity: .9; }
.rise-biz-footer-info p { margin: 0; }
.rise-biz-footer-info__name { font-size: 1rem; font-weight: 700; margin-bottom: 4px !important; }
.rise-biz-footer-info a { text-decoration: none; }

/* スマホ固定ボタン（Rise の .rise-fixbar を土台に） */
.rise-biz-spbar .rise-fixbar__list { gap: 8px; padding: 8px 10px; }
.rise-biz-spbar .rise-fixbar__list li { flex: 1; }
.rise-biz-spbar a { flex-direction: row !important; justify-content: center; gap: 6px !important; min-height: 48px; padding: 8px !important; border-radius: 99px; font-size: .9rem !important; font-weight: 700; }
.rise-biz-spbar__tel { border: 2px solid var(--rise-main); color: var(--rise-main) !important; background: #fff; }
.rise-biz-spbar__contact { background: var(--rise-accent); color: #fff !important; }
.rise-biz-spbar .rise-icon { width: 20px !important; height: 20px !important; }

/* 相談エリア */
.rise-biz-cta { margin: 3em 0 1em; padding: 32px 24px; border-radius: calc(var(--rise-radius) * 2); background: color-mix(in srgb, var(--rise-main) 7%, #fff); text-align: center; }
.rise-biz-cta__heading { margin: 0 0 8px; font-size: 1.375rem; font-weight: 700; line-height: 1.5; color: var(--rise-main); }
.rise-biz-cta__text { margin: 0 0 16px; color: var(--rise-text); }
.rise-biz-cta__buttons { display: flex; flex-wrap: wrap; justify-content: center; align-items: stretch; gap: 12px; }
@media (max-width: 767px) { .rise-biz-cta { padding: 24px 16px; } .rise-biz-cta__heading { font-size: 1.2rem; } .rise-biz-cta__buttons > * { width: 100%; } }

/* トップの見出し */
.rise-biz-hero { position: relative; display: grid; place-items: center; min-height: min(72vh, 640px); margin: 0 0 3em; padding: 64px 20px; overflow: hidden; border-radius: 0; color: #fff; background: linear-gradient(135deg, var(--rise-main), color-mix(in srgb, var(--rise-main) 55%, #000)); text-align: center; isolation: isolate; }
.rise-layout-one .rise-content > .wp-block-rise-biz-hero:first-child, .rise-front-page .rise-content > .wp-block-rise-biz-hero:first-child { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); margin-top: -24px; }
.rise-biz-hero__img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; object-position: var(--rise-biz-pos, 50% 50%); }
.rise-biz-hero.has-image::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0, 0, 0, var(--rise-biz-overlay, .45)); }
.rise-biz-hero__inner { max-width: 880px; }
.rise-biz-hero__heading { margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; background: none !important; color: #fff !important; font-size: clamp(1.6rem, 4.6vw, 2.75rem); line-height: 1.4; letter-spacing: .04em; text-shadow: 0 2px 12px rgba(0, 0, 0, .25); }
.rise-biz-hero__heading::before, .rise-biz-hero__heading::after { content: none !important; }
.rise-biz-hero__sub { margin: 0 0 24px; font-size: clamp(.95rem, 2vw, 1.15rem); opacity: .95; }
.rise-biz-hero__buttons { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; }
.rise-biz-hero__tel { margin: 16px 0 0; }
.rise-biz-hero__tel .rise-biz-btn--tel { border-color: rgba(255, 255, 255, .9); background: rgba(255, 255, 255, .95); }
@media (max-width: 767px) { .rise-biz-hero { min-height: 420px; padding: 48px 16px; } .rise-biz-hero__buttons .rise-biz-btn { width: 100%; } }

/* カード一覧（サービス・実績） */
.rise-biz-cards { display: grid; gap: 24px; margin: 1.5em 0; padding: 0 !important; list-style: none !important; }
.rise-biz-cards > li { margin: 0; padding: 0 !important; }
.rise-biz-cards > li::before { content: none !important; }
@media (min-width: 600px) { .rise-biz-cols-2, .rise-biz-cols-3, .rise-biz-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .rise-biz-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .rise-biz-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rise-biz-card__link { display: flex; flex-direction: column; height: 100%; overflow: hidden; border: 1px solid var(--rise-border); border-radius: calc(var(--rise-radius) * 1.5); background: #fff; color: inherit !important; text-decoration: none !important; transition: box-shadow .2s, transform .2s; }
.rise-biz-card__link:hover { box-shadow: var(--rise-shadow-hover); transform: translateY(-2px); }
.rise-biz-card__thumb { margin: 0; aspect-ratio: 16 / 10; overflow: hidden; background: #eef1f4; }
.rise-biz-card__img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; transition: transform .4s; }
.rise-biz-card__link:hover .rise-biz-card__img { transform: scale(1.04); }
.rise-biz-card__body { display: flex; flex-direction: column; flex: 1; gap: 6px; padding: 16px 18px 18px; }
.rise-biz-card__title { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--rise-text) !important; font-size: 1.0625rem !important; line-height: 1.5; }
.rise-biz-card__title::before, .rise-biz-card__title::after { content: none !important; }
.rise-biz-card__text { margin: 0; color: var(--rise-muted); font-size: .875rem; line-height: 1.7; }
.rise-biz-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; margin: 0; color: var(--rise-muted); font-size: .8125rem; }
.rise-biz-card__meta > span { display: inline-flex; align-items: center; gap: 3px; }
.rise-biz-card__more { display: inline-flex; align-items: center; gap: 4px; margin-top: auto; padding-top: 6px; color: var(--rise-main); font-size: .875rem; font-weight: 700; }
.rise-biz-more { margin: 1em 0 2em; text-align: center; }

/* 料金表 */
.rise-biz-prices { display: grid; gap: 16px; margin: 1.5em 0; }
.rise-biz-price { border: 1px solid var(--rise-border); border-radius: calc(var(--rise-radius) * 1.5); background: #fff; overflow: hidden; }
.rise-biz-price__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px 16px; padding: 14px 20px; background: color-mix(in srgb, var(--rise-main) 6%, #fff); }
.rise-biz-price__name { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--rise-text) !important; font-size: 1.0625rem !important; }
.rise-biz-price__name::before, .rise-biz-price__name::after { content: none !important; }
.rise-biz-price__value { margin: 0; color: var(--rise-main); font-weight: 700; white-space: nowrap; }
.rise-biz-price__amount { font-size: 1.5rem; letter-spacing: .02em; }
.rise-biz-price__amount small { margin-left: 2px; font-size: .55em; }
.rise-biz-price__text { font-size: 1.25rem; }
.rise-biz-price__from { margin-left: 2px; }
.rise-biz-price__unit, .rise-biz-price__tax { margin-left: 4px; color: var(--rise-muted); font-size: .8125rem; font-weight: 400; }
.rise-biz-price__details { margin: 0; padding: 4px 20px 14px; font-size: .9375rem; }
.rise-biz-price__details > div { display: grid; grid-template-columns: 11em 1fr; gap: 8px; padding: 10px 0; border-top: 1px dashed var(--rise-border); }
.rise-biz-price__details > div:first-child { border-top: 0; }
.rise-biz-price__details dt { color: var(--rise-muted); font-weight: 700; font-size: .875rem; }
.rise-biz-price__details dd { margin: 0; }
.rise-biz-price__details ul { margin: 0 !important; padding-left: 1.2em !important; }
@media (max-width: 600px) { .rise-biz-price__value { white-space: normal; } .rise-biz-price__details > div { grid-template-columns: 1fr; gap: 2px; } .rise-biz-price__head { padding: 12px 16px; } .rise-biz-price__details { padding-inline: 16px; } }

/* 会社概要・補足項目 */
.rise-biz-company { margin: 1.5em 0; border-top: 1px solid var(--rise-border); }
.rise-biz-company__row { display: grid; grid-template-columns: minmax(7em, 26%) 1fr; border-bottom: 1px solid var(--rise-border); }
.rise-biz-company dt { padding: 14px 16px; background: #f6f8fa; font-weight: 700; }
.rise-biz-company dd { margin: 0; padding: 14px 16px; word-break: break-word; }
@media (max-width: 600px) { .rise-biz-company__row { grid-template-columns: 1fr; } .rise-biz-company dt { padding: 10px 12px 4px; background: none; color: var(--rise-muted); font-size: .8125rem; } .rise-biz-company dd { padding: 0 12px 12px; } }

/* 代表挨拶 */
.rise-biz-rep { display: grid; gap: 24px; margin: 1.5em 0; }
@media (min-width: 768px) { .rise-biz-rep.has-photo { grid-template-columns: 240px 1fr; align-items: start; } }
.rise-biz-rep__photo { margin: 0; }
.rise-biz-rep__img { display: block; width: 100%; max-width: 240px; aspect-ratio: 1; object-fit: cover; border-radius: calc(var(--rise-radius) * 2); margin-inline: auto; }
.rise-biz-rep__message p { margin: 0 0 1em; }
.rise-biz-rep__sign { display: flex; flex-direction: column; align-items: flex-end; margin: 1em 0 0; font-weight: 700; }
.rise-biz-rep__sign span:first-child:not(:last-child) { font-size: .875em; font-weight: 400; color: var(--rise-muted); }

/* 対応地域 */
.rise-biz-area { display: flex; gap: 12px; align-items: flex-start; margin: 1.5em 0; padding: 18px 20px; border-radius: calc(var(--rise-radius) * 1.5); background: #f6f8fa; }
.rise-biz-area .rise-icon { flex: none; width: 24px; height: 24px; margin-top: 2px; color: var(--rise-main); }
.rise-biz-area p { margin: 0; }

/* 詳細ページ（サービス・実績） */
.rise-biz-single__type { display: inline-block; margin: 0 0 8px; padding: 2px 12px; border-radius: 99px; background: color-mix(in srgb, var(--rise-main) 10%, #fff); color: var(--rise-main); font-size: .8125rem; font-weight: 700; }
.rise-biz-single__lead { margin: 0 0 20px; font-size: 1.0625rem; color: var(--rise-muted); }
.rise-biz-single__main { margin: 0 0 24px; }
.rise-biz-single__main-img { width: 100%; max-height: 560px; object-fit: cover; border-radius: calc(var(--rise-radius) * 2); }
.rise-biz-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1px; margin: 0 0 32px; overflow: hidden; border: 1px solid var(--rise-border); border-radius: calc(var(--rise-radius) * 1.5); background: var(--rise-border); }
.rise-biz-facts__item { padding: 12px 16px; background: #fff; }
.rise-biz-facts dt { display: flex; align-items: center; gap: 4px; color: var(--rise-muted); font-size: .8125rem; }
.rise-biz-facts dt .rise-icon { color: var(--rise-main); }
.rise-biz-facts dd { margin: 2px 0 0; font-weight: 700; }
.rise-biz-section { margin: 2.5em 0; }
.rise-biz-section__title { margin: 0 0 16px !important; padding: 2px 0 2px 14px !important; border: 0 !important; border-left: 5px solid var(--rise-main) !important; background: none !important; color: var(--rise-text) !important; font-size: 1.3rem !important; line-height: 1.5; }
.rise-biz-section__title::before, .rise-biz-section__title::after { content: none !important; }
.rise-biz-compare { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px; }
.rise-biz-compare figure { margin: 0; }
.rise-biz-compare img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--rise-radius); }
.rise-biz-compare figcaption { margin-top: 6px; font-weight: 700; text-align: center; }
.rise-biz-compare__arrow { color: var(--rise-main); }
.rise-biz-compare__arrow .rise-icon { width: 28px; height: 28px; }
@media (max-width: 600px) { .rise-biz-compare { grid-template-columns: 1fr; } .rise-biz-compare__arrow { transform: rotate(90deg); justify-self: center; } }
.rise-biz-gallery { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 10px; }
.rise-biz-gallery figure { margin: 0; }
.rise-biz-gallery img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--rise-radius); }
.rise-biz-gallery figcaption { font-size: .75rem; color: var(--rise-muted); }
.rise-biz-comment { margin: 0; padding: 20px 24px !important; border-left: 4px solid var(--rise-main); border-radius: 0 var(--rise-radius) var(--rise-radius) 0; background: #f6f8fa; }
.rise-biz-comment::before { content: none !important; }
.rise-biz-comment p:last-of-type { margin-bottom: 0; }
.rise-biz-comment cite { display: block; margin-top: 8px; color: var(--rise-muted); font-size: .875rem; font-style: normal; text-align: right; }
.rise-biz-back { margin: 2em 0 0; }
.rise-biz-back a { display: inline-flex; align-items: center; gap: 4px; font-weight: 700; text-decoration: none; }

/* 編集画面での案内（公開ページには出さない） */
.rise-biz-editor-notice, .rise-biz-editor-empty { margin: 0; padding: 12px 16px; border: 1px dashed #c9a227; border-radius: 6px; background: #fffbea; color: #6b5900; font-size: 13px; }

/* カラーシミュレーター */
.rise-biz-sim { margin: 2em 0; }
.rise-biz-sim__title { margin-bottom: 16px !important; }
.rise-biz-sim__tabs { display: flex; gap: 4px; margin-bottom: 16px; border-bottom: 2px solid var(--rise-border); }
.rise-biz-sim__tab { margin-bottom: -2px; padding: 10px 18px; border: 0; border-bottom: 3px solid transparent; background: none; color: var(--rise-muted); font-weight: 700; cursor: pointer; }
.rise-biz-sim__tab.is-active { border-color: var(--rise-main); color: var(--rise-main); }
.rise-biz-sim__stage { overflow: hidden; border-radius: calc(var(--rise-radius) * 1.5); background: #eef1f4; }
.rise-biz-sim__canvas { display: block; width: 100%; height: auto; }
.rise-biz-sim__samples { display: flex; gap: 8px; margin: 12px 0; overflow-x: auto; }
.rise-biz-sim__sample-btn { flex: none; width: 120px; padding: 4px; border: 2px solid var(--rise-border); border-radius: 8px; background: #fff; cursor: pointer; font-size: .75rem; }
.rise-biz-sim__sample-btn.is-active { border-color: var(--rise-main); }
.rise-biz-sim__sample-btn img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 4px; }
.rise-biz-sim__controls { display: grid; gap: 12px; margin: 16px 0; }
@media (min-width: 768px) { .rise-biz-sim__controls { grid-template-columns: 1fr 1fr; } }
.rise-biz-sim__group { margin: 0; padding: 0; border: 0; }
.rise-biz-sim__group legend { margin-bottom: 8px; font-weight: 700; }
.rise-biz-sim__picked:not(:empty) { margin-left: .75em; padding: 2px 10px; border-radius: 99px; background: #eef1f4; font-weight: 500; font-size: .8125rem; }
.rise-biz-sim__picked:not(:empty)::before { content: "選択中："; }
.rise-biz-sim__palette { display: flex; flex-wrap: wrap; gap: 8px; }
.rise-biz-sim__swatch { position: relative; width: 44px; height: 44px; padding: 0; border: 2px solid rgba(0, 0, 0, .12); border-radius: 50%; cursor: pointer; }
.rise-biz-sim__swatch span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.rise-biz-sim__swatch.is-keep { background: repeating-linear-gradient(45deg, #fff, #fff 5px, #e5e7ea 5px, #e5e7ea 10px); }
.rise-biz-sim__swatch.is-active { outline: 3px solid var(--rise-main); outline-offset: 2px; }
@media (max-width: 600px) { .rise-biz-sim__palette { gap: 7px; } .rise-biz-sim__swatch { width: 38px; height: 38px; } }
.rise-biz-sim__disclaimer { margin: 12px 0 0; padding: 10px 14px; border-radius: 6px; background: #fff8e1; font-size: .8125rem; }
.rise-biz-sim__privacy { margin: 8px 0; color: var(--rise-muted); font-size: .8125rem; }
.rise-biz-sim__file { position: absolute; width: 1px; height: 1px; opacity: 0; }
.rise-biz-sim__upload { display: inline-block; cursor: pointer; }
.rise-biz-sim__file:focus-visible + * , .rise-biz-sim__upload:focus-within .rise-biz-btn { outline: 2px solid var(--rise-main); }
.rise-biz-sim__photo img, .rise-biz-sim__compare img { display: block; width: 100%; max-height: 520px; object-fit: contain; margin-top: 12px; border-radius: var(--rise-radius); background: #eef1f4; }
.rise-biz-sim__agree { display: flex; gap: 8px; align-items: flex-start; margin: 12px 0; font-size: .9375rem; }
.rise-biz-sim__agree input { margin-top: .35em; }
.rise-biz-sim__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; }
.rise-biz-sim__go-wrap { text-align: center; }
.rise-biz-sim__go[disabled] { opacity: .6; cursor: wait; }
.rise-biz-sim__limit-note { margin: 8px 0; color: var(--rise-muted); font-size: .8125rem; text-align: center; }
.rise-biz-sim__help { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 8px 0 0; }
.rise-biz-sim__msg { min-height: 1.5em; margin: 8px 0; text-align: center; font-weight: 700; }
.rise-biz-sim__msg.is-error { color: #c62828; }
.rise-biz-sim__compare { display: grid; gap: 12px; }
@media (min-width: 768px) { .rise-biz-sim__compare { grid-template-columns: 1fr 1fr; } }
.rise-biz-sim__compare figure { margin: 0; }
.rise-biz-sim__compare figcaption { margin-top: 4px; font-weight: 700; text-align: center; }
.rise-biz-sim__save { display: inline-block; margin-top: 8px; }
/* 自分の写真で試す（タップで範囲を選ぶ） */
.rise-biz-sim__lead { margin: 0 0 12px; }
.rise-biz-sim__note { margin: 8px 0 12px; color: var(--rise-muted); font-size: .8125rem; }
.rise-biz-sim__canvas--tap { cursor: crosshair; touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.rise-biz-sim__stage--tap { position: relative; }
.rise-biz-sim__detail { margin: 6px 0 0; padding: 10px 12px; border-left: 3px solid #b45309; background: #fff7ed; color: #7c2d12; font-size: .8125rem; line-height: 1.7; }
.rise-biz-sim__overlay { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }
.rise-biz-sim__check { flex-wrap: nowrap; align-items: flex-start; gap: 8px; font-size: .875rem; cursor: pointer; }
.rise-biz-sim__check span { flex: 1; min-width: 0; }
.rise-biz-sim__check input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--rise-main); }
.rise-biz-sim__tool-row[hidden], .rise-biz-sim__tools [hidden] { display: none !important; }
.rise-biz-sim__tools { display: grid; gap: 10px; margin: 12px 0; padding: 14px 16px; border: 1px solid var(--rise-border); border-radius: calc(var(--rise-radius) * 1.5); background: #f8f9fb; }
.rise-biz-sim__tool-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0; }
.rise-biz-sim__tool-label { min-width: 6.5em; font-weight: 700; font-size: .875rem; }
.rise-biz-sim__seg { display: inline-flex; overflow: hidden; border: 1px solid var(--rise-main); border-radius: 99px; }
.rise-biz-sim__seg-btn { min-height: 40px; padding: 6px 16px; border: 0; background: #fff; color: var(--rise-main); font-weight: 700; font-size: .875rem; cursor: pointer; }
.rise-biz-sim__seg-btn + .rise-biz-sim__seg-btn { border-left: 1px solid var(--rise-main); }
.rise-biz-sim__seg-btn.is-active { background: var(--rise-main); color: #fff; }
.rise-biz-sim__range { flex: 1; min-width: 120px; max-width: 280px; accent-color: var(--rise-main); }
.rise-biz-sim__tool-row small { color: var(--rise-muted); font-size: .75rem; }
.rise-biz-sim__tool-row--buttons { gap: 8px; }
.rise-biz-sim__small { min-height: 40px; padding: 6px 16px; font-size: .875rem; }
.rise-biz-sim__tap .rise-biz-sim__msg { text-align: left; font-weight: 400; font-size: .875rem; }
@media (max-width: 600px) { .rise-biz-sim__tool-label { min-width: 100%; } .rise-biz-sim__seg { max-width: 100%; } .rise-biz-sim__seg-btn { padding: 6px 10px; font-size: .8125rem; } .rise-biz-sim__tab { padding: 10px 8px; font-size: .8125rem; } }
.rise-biz-sim__tabs { overflow-x: auto; scrollbar-width: none; }
.rise-biz-sim__tabs::-webkit-scrollbar { display: none; }
.rise-biz-sim__tab { flex: none; white-space: nowrap; }
.rise-biz-spbar a span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
@media (max-width: 400px) { .rise-biz-spbar a { font-size: .8125rem !important; } }
.rise-biz-sim [hidden] { display: none !important; }

/* ===========================================================================
 * トップページのセクション（画面いっぱいの帯・見出し・各部品）
 * ========================================================================= */
:root { --rise-biz-ink: color-mix(in srgb, var(--rise-main) 45%, #0d1726); --rise-biz-tint: color-mix(in srgb, var(--rise-accent) 6%, #fff); }
body:has(.rise-biz-band) .rise-site-content { overflow-x: clip; }
.rise-biz-accent { color: var(--rise-accent); }
.rise-biz-note { margin: 0; font-family: "Klee One", "Yu Mincho", "Hiragino Mincho ProN", serif; font-weight: 600; line-height: 1.5; }

/* 帯：トップ（1 カラム）では画面いっぱいの幅、中身はコンテナ幅 */
.rise-content > .rise-biz-band { margin-block: 0 !important; }
.rise-layout-one .rise-content > .rise-biz-band, .rise-front-page .rise-content > .rise-biz-band { width: 100vw; max-width: 100vw; margin-left: calc(50% - 50vw); }
.rise-biz-band__inner { max-width: calc(var(--rise-container) + var(--rise-gutter) * 2); margin-inline: auto; padding: clamp(44px, 6vw, 72px) var(--rise-gutter); }
.rise-biz-band--white { background: #fff; }
.rise-biz-band--tint { background: var(--rise-biz-tint); }
.rise-biz-band--dark { background: var(--rise-biz-ink); color: #fff; }
.rise-biz-band .rise-biz-cards, .rise-biz-band .rise-biz-rep, .rise-biz-band .rise-biz-area { margin: 0; }
.rise-biz-band + .wp-block-rise-biz-contact-cta { margin-top: 3em; }
.rise-biz-band[id] { scroll-margin-top: 72px; }

/* セクションの見出し */
.rise-biz-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 14px; margin: 0 0 24px; }
.rise-biz-head.is-center { justify-content: center; text-align: center; }
.rise-biz-head__title { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--rise-biz-ink) !important; font-size: clamp(1.375rem, 2.4vw, 1.75rem) !important; font-weight: 800; line-height: 1.45; letter-spacing: .04em; }
.rise-biz-head__title::before, .rise-biz-head__title::after { content: none !important; }
.rise-biz-head__title .rise-biz-accent { font-size: 1.45em; line-height: 1; }
.rise-biz-head__en { color: var(--rise-accent); font-size: .75rem; font-weight: 700; letter-spacing: .14em; }
.rise-biz-head__more { display: inline-flex; align-items: center; gap: 4px; margin-left: auto; color: var(--rise-biz-ink) !important; font-size: .875rem; font-weight: 700; text-decoration: none !important; }
.rise-biz-head__more .rise-icon { width: 1em; height: 1em; color: var(--rise-accent); }
.rise-biz-head__more:hover { color: var(--rise-accent) !important; }

/* ボタン：カラーシミュレーター */
.rise-biz-btn--sim { border-color: var(--rise-biz-ink); background: #fff; color: var(--rise-biz-ink) !important; }
.rise-biz-btn--sim:hover { background: var(--rise-biz-ink); color: #fff !important; }
.rise-biz-band--dark .rise-biz-btn--sim { border-color: var(--rise-accent); background: var(--rise-accent); color: #fff !important; }

/* トップの見出し（左寄せ・写真） */
.rise-biz-hero--left { display: block; place-items: normal; justify-items: normal; min-height: clamp(440px, 44vw, 600px); margin: 0 !important; padding: 0; color: var(--rise-biz-ink); text-align: left; background: linear-gradient(120deg, var(--rise-biz-tint), #fff 70%); }
.rise-biz-hero--left.has-image::before { background: linear-gradient(90deg, rgba(255, 255, 255, .97) 0%, rgba(255, 255, 255, .9) 30%, rgba(255, 255, 255, 0) 60%); }
.rise-biz-hero--left .rise-biz-hero__inner { position: relative; max-width: calc(var(--rise-container) + var(--rise-gutter) * 2); margin-inline: auto; padding: clamp(48px, 7vw, 96px) var(--rise-gutter); }
.rise-biz-hero--left .rise-biz-hero__heading { max-width: 15em; color: var(--rise-biz-ink) !important; font-size: clamp(2rem, 4.8vw, 3.4rem); font-weight: 900; line-height: 1.3; letter-spacing: .06em; text-shadow: none; }
.rise-biz-hero__line { display: block; }
.rise-biz-hero__lead { margin: 18px 0 6px; font-size: clamp(1rem, 1.7vw, 1.3rem); font-weight: 800; }
.rise-biz-hero__area { display: flex; align-items: center; gap: 6px; margin: 0; font-size: .9375rem; font-weight: 700; }
.rise-biz-hero__area .rise-icon { flex: none; width: 1.1em; height: 1.1em; color: var(--rise-accent); }
.rise-biz-hero--left .rise-biz-hero__buttons { justify-content: flex-start; margin-top: 24px; }
.rise-biz-hero--left .rise-biz-btn--contact, .rise-biz-hero--left .rise-biz-btn--sim { border-radius: 8px; }
.rise-biz-hero__note { position: absolute; top: 12%; right: 6%; z-index: 1; color: #fff; font-size: clamp(1.1rem, 2vw, 1.7rem); text-shadow: 0 2px 10px rgba(0, 0, 0, .45); transform: rotate(-6deg); }
.rise-biz-hero--left:not(.has-image) .rise-biz-hero__note { color: var(--rise-biz-ink); text-shadow: none; }
/* 写真の上の添え書きは、明るい空や白い壁に重なっても読めるよう、半透明の濃い地に載せる */
.rise-biz-hero--left.has-image .rise-biz-hero__note { padding: .3em .8em .35em; border-radius: 10px; background: rgba(16, 28, 40, .58); text-shadow: none; -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
@media (max-width: 767px) {
	.rise-biz-hero--left { min-height: 0; }
	.rise-biz-hero--left .rise-biz-hero__inner { padding-block: 28px 36px; }
	/* スマホ：写真を全面に敷き、見出し・ボタンを写真の上（下側）に重ねる。下から濃くなる影で白い文字を読みやすくする */
	.rise-biz-hero--left.has-image { display: flex; flex-direction: column; justify-content: flex-end; min-height: 0; color: #fff; background: #1d2a36; }
	.rise-biz-hero--left.has-image .rise-biz-hero__img { object-position: var(--rise-biz-pos, 50% 30%); }
	.rise-biz-hero--left.has-image::before { background: linear-gradient(to top, rgba(12, 20, 28, .88) 0%, rgba(12, 20, 28, .72) 50%, rgba(12, 20, 28, .2) 72%, rgba(12, 20, 28, 0) 86%); }
	.rise-biz-hero--left.has-image .rise-biz-hero__inner { width: 100%; padding-block: min(40vw, 190px) 24px; }
	.rise-biz-hero--left.has-image .rise-biz-hero__heading { color: #fff !important; text-shadow: 0 2px 14px rgba(0, 0, 0, .35); }
	.rise-biz-hero--left.has-image .rise-biz-hero__lead, .rise-biz-hero--left.has-image .rise-biz-hero__area { color: #fff; text-shadow: 0 1px 8px rgba(0, 0, 0, .35); }
	.rise-biz-hero--left.has-image .rise-biz-btn--sim { border-color: #fff; background: rgba(255, 255, 255, .95); }
	.rise-biz-hero__note { top: 16px; right: 16px; font-size: 1.05rem; }
	.rise-biz-hero--left .rise-biz-hero__buttons .rise-biz-btn { width: 100%; }
}

/* カード（実績・サービス・コラム）の共通の見た目 */
.rise-biz-band .rise-biz-card__link { border-color: color-mix(in srgb, var(--rise-border) 80%, #fff); box-shadow: 0 2px 12px rgba(16, 24, 40, .05); }
.rise-biz-card__title { color: var(--rise-biz-ink) !important; font-weight: 800; }
.rise-biz-tag { display: inline-block; padding: 2px 10px; border-radius: 4px; background: color-mix(in srgb, var(--rise-accent) 13%, #fff); color: color-mix(in srgb, var(--rise-accent) 70%, #3b1d00); font-size: .75rem; font-weight: 700; line-height: 1.7; }
.rise-biz-card__tags { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; }
.rise-biz-card__thumb.is-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 2px; background: #fff; }
.rise-biz-ba { position: relative; display: block; overflow: hidden; }
.rise-biz-ba small { position: absolute; left: 0; right: 0; bottom: 0; padding: 2px 10px; background: rgba(40, 46, 56, .72); color: #fff; font-size: .7rem; font-weight: 700; letter-spacing: .06em; }
.rise-biz-ba + .rise-biz-ba small { background: color-mix(in srgb, var(--rise-accent) 88%, transparent); }
.rise-biz-cards--services .rise-biz-card__more { justify-content: flex-end; color: var(--rise-biz-ink); }
.rise-biz-cards--services .rise-biz-card__more .rise-icon { width: 1.2em; height: 1.2em; }
.rise-biz-cards--posts .rise-biz-card__meta { gap: 8px; }
.rise-biz-cards--posts .rise-biz-card__title { font-size: .9375rem !important; }
@media (max-width: 599px) { .rise-biz-cards--posts.rise-biz-cols-4, .rise-biz-cards--services.rise-biz-cols-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } .rise-biz-cards--posts .rise-biz-card__body, .rise-biz-cards--services .rise-biz-card__body { padding: 12px; } }

/* 選ばれる理由 */
.rise-biz-reasons { display: grid; gap: 20px; margin: 0; padding: 0 !important; list-style: none !important; }
@media (min-width: 768px) { .rise-biz-reasons.rise-biz-cols-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .rise-biz-reasons.rise-biz-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .rise-biz-reasons.rise-biz-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.rise-biz-reasons__item { position: relative; margin: 0 !important; padding: 0 !important; overflow: hidden; border: 1px solid color-mix(in srgb, var(--rise-border) 80%, #fff); border-radius: 10px; background: #fff; box-shadow: 0 2px 12px rgba(16, 24, 40, .05); }
.rise-biz-reasons__item::before { content: none !important; }
.rise-biz-reasons__top { position: relative; display: grid; grid-template-columns: 34% 1fr; min-height: 72px; }
.rise-biz-reasons__item:not(.has-image) .rise-biz-reasons__top { display: flex; align-items: center; justify-content: space-between; }
.rise-biz-reasons__num { padding: 14px 18px; color: var(--rise-accent); font-size: 2.1rem; font-weight: 900; line-height: 1; letter-spacing: .02em; }
.rise-biz-reasons__photo { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; }
.rise-biz-reasons__img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 0 !important; }
.rise-biz-reasons__icon { position: absolute; left: 18px; bottom: -26px; display: grid; place-items: center; width: 52px; height: 52px; border: 2px solid color-mix(in srgb, var(--rise-accent) 30%, #fff); border-radius: 50%; background: #fff; color: var(--rise-biz-ink); }
.rise-biz-reasons__item:not(.has-image) .rise-biz-reasons__icon { position: static; margin: 0 18px; }
.rise-biz-reasons__icon .rise-icon { width: 26px; height: 26px; }
.rise-biz-reasons__body { padding: 38px 20px 22px; }
.rise-biz-reasons__item:not(.has-image) .rise-biz-reasons__body { padding-top: 6px; }
.rise-biz-reasons__title { margin: 0 0 8px !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--rise-biz-ink) !important; font-size: 1.125rem !important; font-weight: 800; line-height: 1.5; }
.rise-biz-reasons__title::before, .rise-biz-reasons__title::after { content: none !important; }
.rise-biz-reasons__text { margin: 0; color: var(--rise-muted); font-size: .875rem; line-height: 1.8; }

/* 流れ（カード） */
.rise-biz-flow { display: grid; gap: 16px; margin: 0; padding: 0 !important; list-style: none !important; }
@media (min-width: 600px) { .rise-biz-flow { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 960px) { .rise-biz-flow { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.rise-biz-flow__item { position: relative; display: grid; grid-template-columns: 56px 1fr; gap: 0 16px; align-items: center; margin: 0 !important; padding: 40px 18px 18px !important; border: 1px solid color-mix(in srgb, var(--rise-border) 80%, #fff); border-radius: 10px; background: #fff; box-shadow: 0 2px 12px rgba(16, 24, 40, .05); }
.rise-biz-flow__item::before { content: none !important; }
.rise-biz-flow__step { position: absolute; top: 12px; left: 16px; padding: 1px 10px; border-radius: 4px; background: var(--rise-accent); color: #fff; font-size: .6875rem; font-weight: 800; letter-spacing: .08em; }
.rise-biz-flow__icon { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--rise-biz-tint); color: var(--rise-biz-ink); }
.rise-biz-flow__icon .rise-icon { width: 28px; height: 28px; }
.rise-biz-flow__title { margin: 0 0 4px !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--rise-biz-ink) !important; font-size: 1.0625rem !important; font-weight: 800; }
.rise-biz-flow__title::before, .rise-biz-flow__title::after { content: none !important; }
.rise-biz-flow__text { margin: 0; color: var(--rise-muted); font-size: .8125rem; line-height: 1.7; }

/* よくある質問（開閉式） */
.rise-biz-faq { display: grid; gap: 10px; }
.rise-biz-faq__item { border: 1px solid color-mix(in srgb, var(--rise-border) 80%, #fff); border-radius: 8px; background: #fff; }
.rise-biz-faq__q { display: flex; align-items: center; gap: 12px; padding: 14px 18px; color: var(--rise-biz-ink); font-weight: 700; cursor: pointer; list-style: none; }
.rise-biz-faq__q::-webkit-details-marker { display: none; }
.rise-biz-faq__mark { display: grid; flex: none; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--rise-accent); color: #fff; font-size: .875rem; font-weight: 800; }
.rise-biz-faq__mark.is-a { background: var(--rise-biz-ink); }
.rise-biz-faq__toggle { position: relative; flex: none; width: 14px; height: 14px; margin-left: auto; }
.rise-biz-faq__toggle::before, .rise-biz-faq__toggle::after { content: ""; position: absolute; top: 6px; left: 0; width: 14px; height: 2px; border-radius: 2px; background: var(--rise-biz-ink); transition: transform .2s; }
.rise-biz-faq__toggle::after { transform: rotate(90deg); }
.rise-biz-faq__item[open] .rise-biz-faq__toggle::after { transform: rotate(0); }
.rise-biz-faq__a { display: flex; gap: 12px; padding: 0 18px 16px; }
.rise-biz-faq__a .rise-biz-faq__text { padding-top: 3px; color: var(--rise-text); font-size: .9375rem; }
.rise-biz-faq__a p { margin: 0 0 .6em; }
.rise-biz-faq__a p:last-child { margin: 0; }

/* カラーシミュレーターの案内 */
.rise-biz-simbanner { display: grid; gap: 24px; align-items: center; }
@media (min-width: 768px) { .rise-biz-simbanner { grid-template-columns: 1fr 1fr; gap: 40px; } }
.rise-biz-simbanner__photo { margin: 0; overflow: hidden; border-radius: 10px; }
.rise-biz-simbanner__img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 0 !important; }
.rise-biz-simbanner .rise-biz-head__en { margin: 0 0 6px; }
.rise-biz-simbanner__title { margin: 0 0 12px !important; padding: 0 !important; border: 0 !important; background: none !important; color: inherit !important; font-size: clamp(1.3rem, 2.4vw, 1.75rem) !important; font-weight: 800; line-height: 1.5; }
.rise-biz-simbanner__title::before, .rise-biz-simbanner__title::after { content: none !important; }
.rise-biz-simbanner__text { margin: 0 0 20px; opacity: .9; }
.rise-biz-simbanner__buttons { margin: 0; }
.rise-biz-band--dark .rise-biz-simbanner__title { color: #fff !important; }

/* 代表挨拶（大きな写真） */
.rise-biz-rep--feature { gap: 28px; align-items: center; }
@media (min-width: 768px) { .rise-biz-rep--feature.has-photo { grid-template-columns: 1.05fr 1fr; gap: 48px; } }
.rise-biz-rep--feature .rise-biz-rep__photo { position: relative; }
.rise-biz-rep--feature .rise-biz-rep__img { max-width: none; aspect-ratio: 4 / 3; border-radius: 10px; }
.rise-biz-rep__note { position: absolute; top: 10%; left: 7%; color: #fff; font-size: clamp(1.1rem, 2vw, 1.6rem); text-shadow: 0 2px 10px rgba(0, 0, 0, .45); transform: rotate(-4deg); }
.rise-biz-rep__heading { margin: 0 0 18px !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--rise-biz-ink) !important; font-size: clamp(1.25rem, 2.2vw, 1.6rem) !important; font-weight: 800; line-height: 1.6; }
.rise-biz-rep__heading::before, .rise-biz-rep__heading::after { content: none !important; }
.rise-biz-rep--feature .rise-biz-rep__message { font-size: .9375rem; line-height: 2; }
.rise-biz-rep--feature .rise-biz-rep__sign { flex-direction: row; align-items: baseline; justify-content: flex-end; gap: 14px; }
.rise-biz-rep--feature .rise-biz-rep__sign small { color: var(--rise-muted); font-size: .8125rem; font-weight: 700; }
.rise-biz-rep__name { color: var(--rise-biz-ink); font-family: "Klee One", "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(1.4rem, 2.6vw, 1.9rem); font-weight: 600; letter-spacing: .12em; }

/* 対応地域の地図 */
.rise-biz-areamap { display: grid; gap: 24px; align-items: center; }
@media (min-width: 768px) { .rise-biz-areamap { grid-template-columns: 1fr 1fr; gap: 48px; } }
.rise-biz-areamap__map { position: relative; margin: 0; }
.rise-biz-areamap__canvas { position: relative; width: fit-content; max-width: 100%; margin: 0 auto; }
.rise-biz-areamap__svg { display: block; width: 100%; height: auto; max-height: 420px; }
.rise-biz-areamap__base { fill: #e4e8ed; stroke: #fff; stroke-width: .8px; vector-effect: non-scaling-stroke; }
.rise-biz-areamap__near { fill: #f0f2f5; stroke: #fff; stroke-width: .8px; vector-effect: non-scaling-stroke; }
.rise-biz-areamap__on { fill: var(--rise-accent); stroke: color-mix(in srgb, var(--rise-accent) 55%, #fff); stroke-width: .8px; vector-effect: non-scaling-stroke; }
.is-region .rise-biz-areamap__base { stroke: #bfc7d1; stroke-width: 1px; }
.is-region .rise-biz-areamap__on { stroke: none; }
.rise-biz-areamap__label { position: absolute; right: 0; bottom: 4%; color: var(--rise-biz-ink); font-size: 1.25rem; font-weight: 800; letter-spacing: .08em; }
.rise-biz-areamap__heading { margin: 0 0 16px !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--rise-biz-ink) !important; font-size: 1.25rem !important; font-weight: 800; }
.rise-biz-areamap__heading::before, .rise-biz-areamap__heading::after { content: none !important; }
.rise-biz-chips { display: grid; grid-template-columns: repeat(auto-fill, minmax(7.5em, 1fr)); gap: 10px; margin: 0; padding: 0 !important; list-style: none !important; }
.rise-biz-chips li { margin: 0 !important; padding: 9px 8px !important; border: 1px solid color-mix(in srgb, var(--rise-border) 80%, #fff); border-radius: 6px; background: #fff; color: var(--rise-biz-ink); font-size: .875rem; font-weight: 700; text-align: center; }
.rise-biz-chips li::before { content: none !important; }
.rise-biz-areamap__text { margin: 14px 0 0; font-size: .875rem; }
.rise-biz-areamap__credit { margin: 14px 0 0; color: var(--rise-muted); font-size: .6875rem; }

/* ヘッダー：電話番号の下に受付時間、相談ボタンは角を少し丸める */
.rise-biz-header-cta .rise-biz-btn--contact { border-radius: 6px; }
.rise-biz-btn--header-tel { flex-direction: column; align-items: flex-end; line-height: 1.2; }
.rise-biz-btn--header-tel .rise-biz-btn__hours { font-size: .6875rem; }
/* ヘッダーに電話番号・相談ボタンがある時は、メニューを小さめにして 1 行に収める */
@media (min-width: 960px) {
	.rise-header__inner:has(.rise-biz-header-cta) .rise-gnav__list a { padding-inline: 7px; font-size: .78rem; white-space: nowrap; }
	.rise-header__inner:has(.rise-biz-header-cta) .rise-gnav__list > li > a::after { left: 7px; right: 7px; }
	.rise-header__inner:has(.rise-biz-header-cta) .rise-header__tagline { font-size: .6875rem; white-space: nowrap; }
	.rise-header__inner:has(.rise-biz-header-cta) .rise-biz-header-cta { gap: 10px; margin-right: 0; }
	.rise-header__inner:has(.rise-biz-header-cta) .rise-logo__text { white-space: nowrap; }
}
/* 代表挨拶：人物写真がない時の会社ロゴ */
.rise-biz-rep__photo.is-logo { display: grid; place-items: center; padding: 32px; border: 1px solid color-mix(in srgb, var(--rise-border) 80%, #fff); border-radius: 10px; background: #fff; }
.rise-biz-rep__img.is-logo { width: auto !important; max-width: 80% !important; height: auto !important; max-height: 160px; aspect-ratio: auto !important; object-fit: contain; border-radius: 0 !important; }
.rise-biz-rep--feature .rise-biz-rep__photo.is-logo { aspect-ratio: 4 / 3; }

/* カラーシミュレーター（当社の強み）：白いカードに見本の写真・案内する人物・大きなボタン */
.rise-biz-simfeature { position: relative; display: grid; gap: 28px; align-items: center; padding: clamp(24px, 4vw, 52px); border-radius: 18px; background: #fff; color: var(--rise-text); box-shadow: 0 18px 50px rgba(8, 20, 40, .18); }
@media (min-width: 900px) { .rise-biz-simfeature { grid-template-columns: 1fr 1.05fr; gap: 48px; } }
.rise-biz-simfeature__badge { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 0 0 14px; padding: 6px 16px; border-radius: 99px; background: var(--rise-accent); color: #fff; font-size: .875rem; font-weight: 800; letter-spacing: .06em; }
.rise-biz-simfeature__badge span { font-size: .6875rem; font-weight: 700; letter-spacing: .14em; opacity: .9; }
.rise-biz-simfeature__title { margin: 0 0 14px !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--rise-biz-ink) !important; font-size: clamp(1.6rem, 3.3vw, 2.5rem) !important; font-weight: 900; line-height: 1.35; letter-spacing: .04em; }
.rise-biz-simfeature__title::before, .rise-biz-simfeature__title::after { content: none !important; }
.rise-biz-simfeature__title span { display: block; }
.rise-biz-simfeature__text { margin: 0 0 20px; color: var(--rise-text); font-size: .9375rem; line-height: 1.9; }
.rise-biz-simfeature__list { display: grid; gap: 12px; margin: 0 0 24px; padding: 0 !important; list-style: none !important; }
.rise-biz-simfeature__list li { display: flex; gap: 12px; align-items: flex-start; margin: 0 !important; padding: 0 !important; font-size: .875rem; line-height: 1.7; color: var(--rise-muted); }
.rise-biz-simfeature__list li::before { content: none !important; }
.rise-biz-simfeature__list strong { display: block; color: var(--rise-biz-ink); font-size: 1rem; }
.rise-biz-simfeature__icon { display: grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--rise-biz-tint); color: var(--rise-accent); }
.rise-biz-simfeature__icon .rise-icon { width: 22px; height: 22px; }
.rise-biz-simfeature__buttons { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; margin: 0; }
.rise-biz-simfeature__buttons small { color: var(--rise-muted); font-size: .8125rem; }
.rise-biz-btn--xl { min-height: 64px; padding-inline: 40px; font-size: 1.15rem; }
.rise-biz-simfeature .rise-biz-btn--sim { border-color: var(--rise-accent); background: var(--rise-accent); color: #fff !important; box-shadow: 0 8px 22px color-mix(in srgb, var(--rise-accent) 40%, transparent); animation: rise-biz-pulse 2.4s ease-in-out infinite; }
.rise-biz-simfeature .rise-biz-btn--sim:hover { background: color-mix(in srgb, var(--rise-accent) 88%, #000); }
@keyframes rise-biz-pulse { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-3px); } }
@media (prefers-reduced-motion: reduce) { .rise-biz-simfeature .rise-biz-btn--sim { animation: none; } }
/* 見本の写真と案内する人物 */
.rise-biz-simfeature__visual { position: relative; }
.rise-biz-simfeature.has-person .rise-biz-simfeature__visual { padding: 70px 27% 0 0; }
.rise-biz-simfeature__photo { position: relative; margin: 0; overflow: hidden; border-radius: 12px; box-shadow: 0 6px 20px rgba(16, 24, 40, .12); }
.rise-biz-simfeature__photo.is-ba { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; background: #fff; }
.rise-biz-simfeature__half { position: relative; display: block; }
.rise-biz-simfeature__img { display: block; width: 100%; height: 100%; aspect-ratio: 3 / 4; object-fit: cover; border-radius: 0 !important; }
.rise-biz-simfeature__photo:not(.is-ba) .rise-biz-simfeature__img { aspect-ratio: 3 / 2; }
.rise-biz-simfeature__half small { position: absolute; top: 10px; left: 10px; padding: 3px 10px; border-radius: 99px; background: rgba(40, 46, 56, .78); color: #fff; font-size: .75rem; font-weight: 700; }
.rise-biz-simfeature__half + .rise-biz-simfeature__half small { background: var(--rise-accent); }
.rise-biz-simfeature__person { position: absolute; right: -2%; bottom: -10px; width: 36%; max-width: 250px; pointer-events: none; }
.rise-biz-simfeature__person-img { display: block; width: 100%; height: auto; border-radius: 0 !important; filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .18)); }
.rise-biz-simfeature__bubble { position: absolute; right: 30%; bottom: 100%; margin-bottom: -6px; width: max-content; max-width: 18em; margin: 0; padding: 12px 16px; border-radius: 14px; background: #fff; color: var(--rise-biz-ink); font-size: .875rem; font-weight: 800; line-height: 1.6; box-shadow: 0 6px 18px rgba(16, 24, 40, .16); }
.rise-biz-simfeature__bubble::after { content: ""; position: absolute; right: 22px; bottom: -11px; border-width: 12px 9px 0 9px; border-style: solid; border-color: #fff transparent transparent transparent; }
@media (max-width: 599px) {
	.rise-biz-simfeature__buttons { align-items: stretch; }
	.rise-biz-simfeature__buttons .rise-biz-btn { width: 100%; padding-inline: 16px; }
	.rise-biz-simfeature.has-person .rise-biz-simfeature__visual { padding: 64px 30% 0 0; }
	.rise-biz-simfeature__person { width: 38%; }
	.rise-biz-simfeature__bubble { right: 8%; font-size: .75rem; padding: 8px 10px; }
	.rise-biz-simfeature { gap: 20px; padding: 20px 18px 24px; }
	.rise-biz-simfeature__visual { order: -1; }
	.rise-biz-simfeature__half small { top: 6px; left: 6px; padding: 2px 8px; font-size: .625rem; white-space: nowrap; }
	.rise-biz-simfeature__title { font-size: 1.4rem !important; }
	.rise-biz-simfeature__buttons .rise-biz-btn--xl { min-height: 56px; padding-inline: 12px; font-size: 1rem; }
}

/* 次に知りたいこと（詳細ページの下の入口） */
.rise-biz-next { display: grid; gap: 12px; margin: 0; padding: 0 !important; list-style: none !important; }
.rise-biz-next li { margin: 0 !important; padding: 0 !important; }
.rise-biz-next li::before { content: none !important; }
.rise-biz-next__link { display: flex; align-items: center; gap: 14px; height: 100%; padding: 16px 18px; border: 2px solid color-mix(in srgb, var(--rise-accent) 35%, #fff); border-radius: 10px; background: color-mix(in srgb, var(--rise-accent) 5%, #fff); color: var(--rise-biz-ink) !important; text-decoration: none !important; transition: border-color .2s, transform .2s; }
.rise-biz-next__link:hover { border-color: var(--rise-accent); transform: translateY(-2px); }
.rise-biz-next__icon { display: grid; flex: none; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: var(--rise-accent); color: #fff; }
.rise-biz-next__icon .rise-icon { width: 22px; height: 22px; }
.rise-biz-next__body { display: flex; flex: 1; flex-direction: column; gap: 2px; }
.rise-biz-next__body strong { font-size: 1rem; }
.rise-biz-next__body small { color: var(--rise-muted); font-size: .8125rem; line-height: 1.6; }
.rise-biz-next__link > .rise-icon { flex: none; color: var(--rise-accent); }
.rise-biz-price { scroll-margin-top: 80px; }
/* 上部メニューの項目が多い時（7 項目以上）は間隔を詰めて 1 行に収める */
@media (min-width: 1024px) { .rise-gnav__list:has(> li:nth-child(7)) > li > a { padding-inline: 5px; } }
.rise-biz-price:target { outline: 3px solid var(--rise-accent); outline-offset: 2px; }

/* 記事の中の、関連ページへの入口 */
.rise-biz-inline-link { margin: 1.2em 0 !important; }
.rise-biz-inline-link a { display: inline-flex; align-items: center; gap: 6px; padding: 10px 16px; border-left: 4px solid var(--rise-accent); border-radius: 0 8px 8px 0; background: color-mix(in srgb, var(--rise-accent) 7%, #fff); color: var(--rise-biz-ink) !important; font-weight: 700; text-decoration: none !important; }
.rise-biz-inline-link a::before { content: "→"; color: var(--rise-accent); }

/* デモサイトの案内（上部） */
.rise-biz-demo-bar { position: relative; z-index: 60; padding: 8px 16px; background: #1b2a3a; color: #fff; text-align: center; }
.rise-biz-demo-bar p { margin: 0; font-size: .8125rem; line-height: 1.6; }

/* お問い合わせフォーム */
.rise-biz-cf { max-width: 760px; margin: 0 auto 2em; scroll-margin-top: 90px; }
.rise-biz-cf__demo { margin: 0 0 16px; padding: 12px 16px; border-left: 4px solid var(--rise-accent); background: color-mix(in srgb, var(--rise-accent) 8%, #fff); font-size: .875rem; }
.rise-biz-cf__lead { margin: 0 0 16px; }
.rise-biz-cf__tel { display: grid; justify-items: center; gap: 8px; margin: 0 0 24px; padding: 16px; border: 1px solid var(--rise-border); border-radius: 12px; background: #f8f9fb; text-align: center; }
.rise-biz-cf__tel p { margin: 0; font-size: .9375rem; }
.rise-biz-cf__form { margin: 0; }
.rise-biz-cf__fields { display: grid; gap: 22px; }
.rise-biz-cf__row { margin: 0; padding: 0; border: 0; min-width: 0; }
.rise-biz-cf__label { display: flex; align-items: center; gap: 8px; margin: 0 0 8px; padding: 0; font-weight: 700; }
.rise-biz-cf__req, .rise-biz-cf__opt { padding: 1px 8px; border-radius: 4px; font-size: .75rem; font-weight: 700; line-height: 1.6; }
.rise-biz-cf__req { background: #c62828; color: #fff; }
.rise-biz-cf__opt { background: #e8ebef; color: #4b5563; }
.rise-biz-cf input[type=text], .rise-biz-cf input[type=email], .rise-biz-cf input[type=tel], .rise-biz-cf textarea { box-sizing: border-box; width: 100%; padding: 12px 14px; border: 1px solid #c5ccd6; border-radius: 8px; background: #fff; font-size: 16px; line-height: 1.6; }
.rise-biz-cf input:focus, .rise-biz-cf textarea:focus { border-color: var(--rise-main); outline: 3px solid color-mix(in srgb, var(--rise-main) 22%, transparent); outline-offset: 0; }
.rise-biz-cf [aria-invalid=true] { border-color: #c62828 !important; background: #fff8f8 !important; }
.rise-biz-cf__choices { display: flex; flex-wrap: wrap; gap: 8px 10px; }
.rise-biz-cf__choice { display: inline-flex; align-items: flex-start; gap: 8px; margin: 0; padding: 10px 14px; border: 1px solid #c5ccd6; border-radius: 8px; background: #fff; cursor: pointer; line-height: 1.5; }
.rise-biz-cf__choice input { flex: none; width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--rise-main); }
.rise-biz-cf__choice:has(input:checked) { border-color: var(--rise-main); background: color-mix(in srgb, var(--rise-main) 7%, #fff); }
.rise-biz-cf__row--agree .rise-biz-cf__choice { border: 0; padding: 0; background: none; }
.rise-biz-cf__error { margin: 6px 0 0; color: #c62828; font-size: .875rem; font-weight: 700; }
.rise-biz-cf__error--form { margin: 0 0 16px; padding: 12px 16px; border-radius: 8px; background: #fdecec; }
.rise-biz-cf__trap { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rise-biz-cf__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px; margin: 28px 0 8px; }
.rise-biz-cf__actions .rise-biz-btn { min-width: 240px; justify-content: center; }
.rise-biz-cf__actions [hidden], .rise-biz-cf [hidden] { display: none !important; }
.rise-biz-cf__note { margin: 0; color: var(--rise-muted); font-size: .8125rem; text-align: center; }
.rise-biz-cf__confirm-title { margin: 0 0 12px; font-weight: 800; font-size: 1.1rem; }
.rise-biz-cf__summary { display: grid; grid-template-columns: 12em 1fr; margin: 0; border-top: 1px solid var(--rise-border); }
.rise-biz-cf__summary dt, .rise-biz-cf__summary dd { margin: 0; padding: 12px 14px; border-bottom: 1px solid var(--rise-border); }
.rise-biz-cf__summary dt { background: #f5f7f9; font-weight: 700; }
.rise-biz-cf__summary dd { white-space: pre-wrap; overflow-wrap: anywhere; }
.rise-biz-cf--done { padding: 28px 24px; border: 2px solid color-mix(in srgb, var(--rise-main) 35%, #fff); border-radius: 14px; background: color-mix(in srgb, var(--rise-main) 4%, #fff); text-align: center; }
.rise-biz-cf__done-title { margin: 0 0 12px; font-weight: 800; font-size: 1.3rem; }
@media (max-width: 600px) {
	.rise-biz-cf__summary { grid-template-columns: 1fr; }
	.rise-biz-cf__summary dt { border-bottom: 0; padding-bottom: 4px; }
	.rise-biz-cf__summary dd { padding-top: 4px; }
	.rise-biz-cf__actions .rise-biz-btn { width: 100%; min-width: 0; }
	.rise-biz-cf__choice { width: 100%; }
}

/* 実績カードの費用・期間 */
.rise-biz-card__facts { display: grid; gap: 2px; margin: auto 0 0; padding-top: 10px; border-top: 1px solid var(--rise-border); font-size: .8125rem; }
.rise-biz-card__facts > div { display: grid; grid-template-columns: 3.5em 1fr; gap: 6px; }
.rise-biz-card__facts dt { color: var(--rise-muted); }
.rise-biz-card__facts dd { margin: 0; font-weight: 700; }

/* Google マップの評価 */
.rise-biz-reviews { display: grid; gap: 24px; align-items: center; padding: 28px 24px; border: 1px solid var(--rise-border); border-radius: calc(var(--rise-radius) * 1.5); background: #fff; }
@media (min-width: 768px) { .rise-biz-reviews { grid-template-columns: minmax(240px, auto) 1fr; gap: 40px; padding: 32px 40px; } }
.rise-biz-reviews__score { display: grid; justify-items: center; gap: 4px; text-align: center; }
.rise-biz-reviews__num { font-size: 3.25rem; font-weight: 700; line-height: 1; letter-spacing: .01em; color: var(--rise-text); }
.rise-biz-reviews__stars { position: relative; display: inline-block; font-size: 1.375rem; line-height: 1; letter-spacing: .08em; color: var(--rise-border); }
.rise-biz-reviews__stars::before { content: "★★★★★"; }
.rise-biz-reviews__stars > span { position: absolute; inset: 0 auto 0 0; overflow: hidden; white-space: nowrap; color: #f4b400; }
.rise-biz-reviews__stars > span::before { content: "★★★★★"; }
.rise-biz-reviews__meta { color: var(--rise-muted); font-size: .875rem; }
.rise-biz-reviews__sample { margin-top: 4px; padding: 2px 10px; border-radius: 99px; background: color-mix(in srgb, var(--rise-main) 8%, #fff); color: var(--rise-main); font-size: .75rem; font-weight: 700; }
.rise-biz-reviews__body p { margin: 0 0 14px; line-height: 1.8; }
.rise-biz-reviews__body p:last-child { margin-bottom: 0; }
@media (max-width: 767px) { .rise-biz-reviews__body { text-align: center; } }

/* 資格・許可・保証 */
.rise-biz-proofs { display: grid; gap: 16px; margin: 0; }
.rise-biz-proofs__item { padding: 18px 20px; border-top: 3px solid var(--rise-main); border-radius: 0 0 var(--rise-radius) var(--rise-radius); background: #fff; }
.rise-biz-proofs__item dt { margin: 0 0 6px; color: var(--rise-muted); font-size: .8125rem; font-weight: 700; letter-spacing: .04em; }
.rise-biz-proofs__item dd { margin: 0; font-size: 1.0625rem; font-weight: 700; line-height: 1.6; color: var(--rise-text); }

/* 見積りの比べ方 */
.rise-biz-quotecheck__lead { margin: 0 0 20px; line-height: 1.8; }
.rise-biz-quotecheck { margin: 0; border-top: 2px solid var(--rise-main); }
.rise-biz-quotecheck__list { margin: 0; }
.rise-biz-quotecheck__head { display: none; }
.rise-biz-quotecheck__row { padding: 14px 4px; border-bottom: 1px solid var(--rise-border); }
.rise-biz-quotecheck__row dt { margin: 0 0 4px; font-weight: 700; color: var(--rise-text); }
.rise-biz-quotecheck__row dd { margin: 0; line-height: 1.75; color: var(--rise-text); }
@media (min-width: 768px) {
	.rise-biz-quotecheck__head, .rise-biz-quotecheck__row { display: grid; grid-template-columns: minmax(14em, 34%) 1fr; gap: 24px; }
	.rise-biz-quotecheck__head { padding: 10px 12px; background: color-mix(in srgb, var(--rise-main) 7%, #fff); color: var(--rise-main); font-size: .875rem; font-weight: 700; }
	.rise-biz-quotecheck__row { padding: 16px 12px; }
	.rise-biz-quotecheck__row dt { margin: 0; }
}
