/* Elementor の部品を置き換えたところの見た目(手書き) */

/* ブロックの既定の余白を消す(現行の Elementor と同じ並びにする) */
:where(.sf .wp-block-group) { margin: 0; }
:where(.sf .wp-block-image) { margin: 0; }
.sf-image .wp-block-image img { display: inline-block; vertical-align: middle; height: auto; max-width: 100%; }

/* アイコン(Font Awesome / eicons を SVG に置き換え) */
.sf-ico { display: inline-block; height: 1em; width: auto; fill: currentColor; vertical-align: -0.125em; overflow: visible; }
.sf-icon .sf-ico { display: block; width: 1em; height: 1em; position: relative; }
.sf-icon-list-icon .sf-ico { width: var(--e-icon-list-icon-size, 1em); height: var(--e-icon-list-icon-size, 1em); vertical-align: middle; }
.sf-menu-toggle .sf-ico { width: 1em; height: 1em; }
.sf-menu-toggle .sf-menu-toggle__icon--close { display: none; }
.sf-menu-toggle.sf-active .sf-menu-toggle__icon--close { display: block; }
.sf-menu-toggle.sf-active .sf-menu-toggle__icon--open { display: none; }

/* トップ1画面目の背景スライドショー */
.sf-bgshow { position: absolute; inset: 0; overflow: hidden; z-index: 0; border-radius: inherit; }
.sf-bgshow__slide { position: absolute; inset: 0; background-size: cover; background-position: center center; opacity: 0; transition: opacity .5s ease, transform 0s linear .5s; }
.sf-bgshow__slide.is-active { opacity: 1; transition: opacity .5s ease, transform 20s linear; }
.sf-bgshow.is-kb .sf-bgshow__slide.is-active { transform: scale(1.3); }
@media (prefers-reduced-motion: reduce) { .sf-bgshow__slide.is-active { transform: none !important; } }

/* 画像カルーセル */
.sf-carousel { position: relative; overflow: hidden; padding-bottom: 40px; }
.sf-carousel__track { display: flex; gap: var(--sf-gap, 20px); transition: transform .5s ease; will-change: transform; }
.sf-carousel__slide { flex: 0 0 calc((100% - var(--sf-gap, 20px) * (var(--sf-show, 2) - 1)) / var(--sf-show, 2)); }
.sf-carousel__slide figure { margin: 0; }
.sf-carousel__slide img { display: block; width: 100%; height: auto; }
.sf-carousel .sf-swiper-button { position: absolute; top: calc(50% - 20px); transform: translateY(-50%); z-index: 1; background: none; border: 0; padding: 0; cursor: pointer; color: rgba(238, 238, 238, .9); font-size: 25px; line-height: 1; display: inline-flex; }
.sf-carousel .sf-swiper-button-prev { left: 10px; }
.sf-carousel .sf-swiper-button-next { right: 10px; }
.sf-carousel .sf-swiper-button .sf-ico { width: 1em; height: 1em; }
.sf-carousel__dots { position: absolute; left: 0; right: 0; bottom: 8px; display: flex; justify-content: center; gap: 8px; }
.sf-carousel__dots button { width: 6px; height: 6px; border-radius: 50%; border: 0; padding: 0; background: #000; opacity: .2; cursor: pointer; }
.sf-carousel__dots button.is-active { opacity: 1; }

/* 円グラフ(現行の Graphina / ApexCharts と同じ大きさ: 高さ350px) */
.sf-pie .chart-box { text-align: center; height: 350px; box-sizing: border-box; padding-top: 25px; }
.sf-pie__chart { width: 270px; height: 270px; max-width: 100%; display: block; margin: 0 auto; }
.sf-pie__legend { display: flex; justify-content: center; gap: 10px; font-size: 12px; margin-top: 18px; font-family: "Poppins", Helvetica, Arial, sans-serif; color: #373d3f; }
.sf-pie__key i { display: inline-block; width: 12px; height: 12px; border-radius: 50%; margin-right: 3px; vertical-align: -1px; }

/* スマホメニュー(ポップアップ) */
.sf-popup-modal .dialog-close-button .sf-ico { fill: #fff; width: 1em; height: 1em; }
body.sf-popup-open { overflow: hidden; }

/* 一覧・404(簡易) */
.sf-archive__inner { padding: 80px 15px; width: 100%; }
.sf-archive__title { font-family: "Hind", sans-serif; font-size: 32px; margin: 0 0 30px; }
.sf-archive__list { list-style: none; margin: 0; padding: 0; }
.sf-archive__list li { padding: 12px 0; border-bottom: 1px solid #ddd; }
.sf-archive__list time { color: #888; font-size: 13px; margin-left: 10px; }

/* Contact Form 7(新しい版)の隠し項目の枠を出さない */
.wpcf7 .hidden-fields-container { border: 0; padding: 0; margin: 0; min-width: 0; }
