.shakyo-box{position:relative;box-sizing:border-box;align-self:stretch;height:100%;min-width:0;background:var(--shakyo-box-bg,#fff);border:var(--shakyo-box-border-width,1px) solid var(--shakyo-box-border-color,#cfe7f8);border-radius:var(--shakyo-box-radius,24px);box-shadow:var(--shakyo-box-shadow,none);padding:var(--snn-padding,26px 30px 22px);overflow:hidden}
.shakyo-box *,.shakyo-box *::before,.shakyo-box *::after{box-sizing:border-box}
.snn-card:not(.shakyo-box),.snn-card.snn-design-simple{width:100%}.snn-card{font-family:inherit}.snn-card a,.snk-news a{text-decoration:none}
.snn-card a:focus-visible,.snk-news a:focus-visible{outline:2px solid var(--shakyo-main-color);outline-offset:2px}
.snn-card .snn-new,.snk-news .snn-new{display:inline-block;padding:2px 7px;border:0;border-radius:12px;background:var(--shakyo-new-color);color:#fff;font-size:10px;font-weight:700;letter-spacing:.03em;line-height:1.5;white-space:nowrap;flex:none}
.snn-tabs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding-bottom:16px;border-bottom:1px dashed #B8DDF6}
.snn-tab{
  display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:9px 18px;border-radius:999px;
  background:var(--snn-soft);color:var(--snn-text);border:1px solid transparent;text-decoration:none!important;
  font-size:.98rem;font-weight:800;line-height:1.25;cursor:pointer;outline:none;
  transition:background-color .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease,border-color .22s ease;
}
.snn-tab:hover,.snn-tab:focus-visible{background:var(--snn-hover);color:var(--snn-text);border-color:var(--snn-border);transform:translateY(-2px);box-shadow:0 6px 14px rgba(57,126,172,.14)}
.snn-tab.is-active{background:var(--snn-base);color:var(--snn-text);border-color:var(--snn-border);box-shadow:0 5px 12px rgba(57,126,172,.10)}
.snn-tab.is-active:hover,.snn-tab.is-active:focus-visible{background:var(--snn-hover);transform:translateY(-1px)}


/* 「すべて」はカテゴリーではないため、青いアウトライン型で区別 */
.snn-tab[data-category="all"]{
  background:#FFFFFF;
  color:#3479A8;
  border:2px solid #5BADE2;
  box-shadow:none;
}
.snn-tab[data-category="all"]:hover,
.snn-tab[data-category="all"]:focus-visible{
  background:#CBEAF8;
  color:#245F8C;
  border-color:#3D98D4;
  transform:translateY(-2px);
  box-shadow:0 6px 14px rgba(61,152,212,.16);
}
.snn-tab[data-category="all"].is-active{
  background:#EEF8FD;
  color:#2E6F9D;
  border-color:#459FD8;
  box-shadow:0 4px 10px rgba(61,152,212,.10);
}
.snn-tab[data-category="all"].is-active:hover,
.snn-tab[data-category="all"].is-active:focus-visible{
  background:#CBEAF8;
  color:#245F8C;
  border-color:#3D98D4;
  transform:translateY(-1px);
}

.snn-badges{grid-area:badges;display:flex;align-items:center;gap:6px;min-width:0;width:max-content}
.snn-pin-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--shakyo-pin-color);flex:0 0 20px}
.snn-pin-badge svg{width:18px;height:18px}
.snn-category-badge{display:inline-flex;align-items:center;justify-content:center;min-width:88px;max-width:150px;padding:5px 12px;border-radius:999px;background:var(--snn-light);color:var(--snn-text);border:1px solid var(--snn-border);font-size:.84rem;font-weight:800;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.snn-pagination{display:flex;align-items:center;justify-content:center;gap:8px;padding-top:16px}
.snn-page-link,.snn-page-ellipsis{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:999px;font-weight:800;text-decoration:none!important;font-variant-numeric:tabular-nums}
.snn-page-link{background:var(--snn-page-bg);color:var(--snn-page-text);border:1px solid transparent;transition:background-color .2s ease,color .2s ease,transform .2s ease}
.snn-page-link:hover,.snn-page-link:focus-visible{background:var(--snn-page-hover);color:var(--shakyo-main-color);transform:translateY(-1px);outline:none}
.snn-page-link.is-current{background:var(--snn-page-current);color:#fff}
.snn-page-arrow{font-size:1.7rem;line-height:1}.snn-page-ellipsis{color:#7590AA;background:transparent}


.snn-tabs-line .snn-tab{border:0;border-radius:0;background:transparent;border-bottom:2px solid transparent}.snn-tabs-line .snn-tab.is-active{border-bottom-color:var(--shakyo-main-color);background:transparent;box-shadow:none}
.snn-tabs-square .snn-tab{border-radius:6px}
.snn-pages-square .snn-page-link{border-radius:6px}.snn-pages-plain .snn-page-link{border:0;border-radius:0;background:transparent}.snn-pages-plain .snn-page-link.is-current{color:var(--shakyo-main-color)}
.snn-hover-none .snn-row:hover,.snn-hover-none .snn-row:focus-visible{background:transparent;transform:none}.snn-hover-none .snk-news__link:hover{color:var(--snn-body)}
.snn-hover-underline .snn-row:hover,.snn-hover-underline .snn-row:focus-visible{background:transparent;transform:none}.snn-hover-underline .snn-row:hover .snn-post-title,.snn-hover-underline .snk-news__link:hover .snk-news__title{text-decoration:underline}
.snn-heading-icon{object-fit:contain}.snn-heading-icon svg{width:100%;height:100%}
.snk-news .snn-pagination{gap:9px;padding-top:0}.snk-news .snn-page-link,.snk-news .snn-page-ellipsis{width:42px;height:42px;font-size:14px;font-weight:600}.snk-news .snn-page-arrow{font-size:23px}
@media(max-width:900px){.shakyo-box{padding:var(--snn-padding-tablet)}}
@media(max-width:640px){.shakyo-box{padding:var(--snn-padding-mobile)}.snn-tabs{flex-wrap:nowrap;overflow-x:auto}.snn-tab{flex:0 0 auto;min-width:112px}.snn-badges{gap:5px;flex-wrap:wrap;width:auto}.snn-category-badge{font-size:.76rem;padding:4px 8px;min-width:0;max-width:130px}}
@media(prefers-reduced-motion:reduce){.snn-tab,.snn-row,.snn-row-arrow,.snn-page-link,.snk-news__link,.snk-news__item-arrow{transition:none!important}}

/* Elementor自身のコンテナ変数と論理paddingを共存させる。 */
.e-con.shakyo-box{
  --border-radius:var(--shakyo-box-radius);
  --padding-block-start:var(--snn-padding-top);
  --padding-block-end:var(--snn-padding-bottom);
  --padding-inline-start:var(--snn-padding-inline);
  --padding-inline-end:var(--snn-padding-inline);
  --align-self:stretch;
  border-radius:var(--border-radius);
  padding-block-start:var(--padding-block-start);
  padding-block-end:var(--padding-block-end);
  padding-inline-start:var(--padding-inline-start);
  padding-inline-end:var(--padding-inline-end);
  align-self:var(--align-self);
}
.shakyo-box.shakyo-box-center{display:flex;flex-direction:column;align-items:center;text-align:center}
.e-con.shakyo-box.shakyo-box-center{--flex-direction:column;--align-items:center}
.shakyo-box-center > *{max-width:100%}
.shakyo-box-center .elementor-widget-html{width:100%;max-width:100%}
.shakyo-box-center iframe[src*="facebook.com/plugins/page.php"]{display:block;max-width:100%;margin-inline:auto}
@media(max-width:1024px){
  .e-con.shakyo-news-pair{--flex-direction:column;flex-direction:column}
  .e-con.shakyo-news-pair > .e-con.shakyo-news-pair-item{--width:100%;width:100%;max-width:100%;flex-basis:auto}
}
@media(max-width:900px){
  .e-con.shakyo-box{--padding-block-start:var(--snn-padding-tablet-top);--padding-block-end:var(--snn-padding-tablet-bottom);--padding-inline-start:var(--snn-padding-tablet-inline);--padding-inline-end:var(--snn-padding-tablet-inline)}
}
@media(max-width:640px){
  .e-con.shakyo-box{--padding-block-start:var(--snn-padding-mobile-top);--padding-block-end:var(--snn-padding-mobile-bottom);--padding-inline-start:var(--snn-padding-mobile-inline);--padding-inline-end:var(--snn-padding-mobile-inline)}
  .snn-tabs{scrollbar-width:none}
  .snn-tabs::-webkit-scrollbar{display:none}
}

/* 3スタイル共通の任意表示の右ライン。 */
.snn-heading{min-width:0}
.snn-heading h2{flex:0 1 auto;min-width:0;overflow-wrap:anywhere}
.snn-heading.snn-heading-line::after{content:"";height:1px;flex:1 1 24px;min-width:0;background:var(--snn-tabs-divider)}
.snn-tabs{border-bottom-color:var(--snn-tabs-divider)}
