body {
  -webkit-font-smoothing: auto;
}

.site__logo .custom-logo[src*=".svg"] {
  height: 100px;
}

.cat_postlist__li .ttl,
.related_newpost__li .ttl {
  font-weight: normal;
}

.gsc-control-cse {
  border: none !important;
  background: #fff !important;
}

.adsenceText {
  font-size: 0.88em;
  display: block;
  text-align: center;
  opacity: 0.5;
  margin-bottom: 0;
}

.gsc-control-cse,
form.gsc-search-box,
table.gsc-search-box {
  padding: 1px !important;
  margin: 0 auto !important;
  width: 100% !important;
}

input.gsc-input {
  height: 3em !important;
  padding-left: 0.8em !important;
  background-position-x: 0.8em !important;
  border: 1px solid !important;
}

table.gsc-search-box td.gsc-input {
  padding-right: 0px !important;
}

.gsc-search-button-v2 {
  background: none !important;
  border: none !important;
  padding: 10px !important;
}
.gsc-search-button-v2 svg {
  fill: #333 !important;
  transform: scale(1.8);
}

.gsc-input-box {
  border: none !important;
}

.gsc-search-box table,
.gsc-search-box tbody,
.gsc-search-box tr,
.gsc-search-box th,
.gsc-search-box td {
  padding: 0;
  margin: 0;
  border: none;
}

.gstl_51 {
  z-index: 9999 !important;
}

@media only screen and (max-width: 480px) {
  .wp-block-buttons.footer-navi .wp-block-button {
    width: 49%;
  }
  .wp-block-buttons.footer-navi .wp-block-button .wp-block-button__link {
    width: 100%;
    padding: 0.9em;
    font-size: 11px;
  }
}
.wp-block-buttons.footer-navi .wp-block-button__link {
  font-weight: normal;
}

td:not(:root),
th:not(:root) {
  border-color: rgba(204, 204, 204, 0.4);
}

@media only screen and (min-width: 1200px) {
  h2.is-style-stylenone {
    font-size: 1.8em;
    letter-spacing: 0.05em;
  }
  h3.is-style-stylenone {
    font-size: 1.5em;
    letter-spacing: 0.05em;
  }
}
.wp-block-cover .wp-block-cover__image-background[data-object-fit=cover] {
  height: 100%;
}

.cbox {
  background: none;
}

.has-inline-color {
  padding: 4px;
  border-radius: 0.1em;
}

.accordion.is-style-accordion_type_plain .accordion_label {
  margin: 0 auto;
  font-size: 1.1em;
}

.accordion:not(.is-style-accordion_type_simple, .is-style-accordion_type_plain) .accordion_label {
  color: var(--main-ttl-color);
}
.accordion:not(.is-style-accordion_type_simple, .is-style-accordion_type_plain)::before {
  opacity: 1;
}
.accordion:not(.is-style-accordion_type_simple, .is-style-accordion_type_plain) .accordion_check:checked + .accordion_label + .accordion_content {
  margin: 2px;
}

.cat_postlist.typecard .cat_postlist__ul {
  --postlist_card__gap: 0.8em;
}

.wp-block-search__button-inside .wp-block-search__input {
  border: none;
  background: none;
}

.cbox:not(.type_simple):not(.type_ttl).is-style-site_color {
  background: none;
}

.wp-block-button.small .wp-block-button,
.wp-block-buttons.is-style-small .wp-block-button {
  max-width: inherit;
  min-width: inherit;
}

.wp-block-buttons.has-background {
  padding: 0.8em;
}

.more {
  background-color: var(--stk-palette-color1);
  padding: 0.8em;
  display: flex;
  justify-content: center;
}
.more a {
  background-color: var(--main-link-color);
  border-color: var(--main-link-color);
  color: #ffffff !important;
  font-size: 1em;
  font-weight: 700;
  vertical-align: middle;
  text-decoration: none !important;
  max-width: 100%;
  border-radius: var(--stk-btn-border_radius, 3px);
  padding: calc(var(--stk-btn-padding, 0.667em) + var(--stk-btn-border_width, 2px)) calc(1em + var(--stk-btn-border_width, 2px));
}
.more a:hover {
  transform: translate3d(0, -3px, 0);
  opacity: 0.8;
  text-decoration: none !important;
  box-shadow: 0 3px 15px rgba(0, 0, 0, 0.15);
}

.wp-block-button__link,
.more a {
  position: relative;
  padding-right: calc(1.6em + var(--stk-btn-border_width, 2px)) !important;
}
.wp-block-button__link::after,
.more a::after {
  font-family: var(--stk-font-awesome-free, "Font Awesome 6 Free");
  font-weight: 900;
  content: "\f054";
  position: absolute;
  font-size: 0.7em;
  right: 0.8em;
  top: 50%;
  transform: translateY(-50%);
}

@media only screen and (max-width: 990px) {
  .wp-block-atbs-tabs ul.tabs-titles {
    flex-direction: row;
  }
}
.wp-block-atbs-tabs ul.tabs-titles {
  background: none !important;
}
.wp-block-atbs-tabs ul.tabs-titles li.tab-title {
  margin: 0;
}
.wp-block-atbs-tabs ul.tabs-titles li.tab-title::before {
  content: none;
}

.qa_area,
.is-style-qa_area {
  position: relative;
  color: #333333;
  background: #eeeeee;
  border: 1px solid #ccc;
  border-radius: 7px;
  padding: 0.8em 1em;
  padding-left: 2.3em;
}
.qa_area::before,
.is-style-qa_area::before {
  display: inline-block;
  content: "";
  position: absolute;
  top: calc(var(--stk-line_height, 1.8) * 0.55em);
  left: 0.8em;
  width: 1em;
  height: 1px;
  transform: translateY(12px);
  background: #666666;
}

p.to,
p.is-style-to {
  padding-right: 8px;
  margin-bottom: 0px !important;
  position: relative;
  font-weight: bold;
}
p.to + p,
p.is-style-to + p {
  margin-top: 5px;
}
p.to::after,
p.is-style-to::after {
  display: inline-block;
  content: "";
  width: 1em;
  height: 1px;
  position: absolute;
  top: 0.9em;
  margin-left: 10px;
  background: #666666;
}

.wp-block-list:not(.has-background) {
  box-shadow: 0 0 1px rgba(0, 0, 0, 0.6);
  padding: 0.4em 0.9em;
  border-radius: var(--oc-base-border-radius, 2px);
}

.cbox .wp-block-list:not(.has-background),
.accordion .wp-block-list:not(.has-background),
.voice .wp-block-list:not(.has-background),
.supplement .wp-block-list:not(.has-background) {
  box-shadow: none;
  padding: 0;
  border-radius: none;
}

.shadow__wrap .has-background {
  box-shadow: 0 0 1em hsla(0, 0%, 0%, 0.1);
}

.shadow__content {
  box-shadow: 0 0 1em hsla(0, 0%, 0%, 0.1);
}

.kadomaru__wrap .has-background {
  border-radius: var(--kadomaru-m);
}

.kadomaru__content {
  border-radius: var(--kadomaru-m);
}

@media only screen and (max-width: 767px) {
  figure.has-lightbox {
    pointer-events: none;
  }
}
.author_meta .author_img {
  width: 130px;
}

@media only screen and (min-width: 768px) {
  .cat_postlist.typesimple .eyecatch {
    width: 45%;
    max-width: 130px;
  }
}

@media only screen and (max-width: 767px) {
  .wp-block-columns.stack-at-tablet {
    flex-direction: column !important;
  }
  .wp-block-columns.stack-at-tablet > .wp-block-column {
    flex-basis: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media only screen and (max-width: 1023px) {
  .wp-block-columns.stack-at-large {
    flex-direction: column !important;
  }
  .wp-block-columns.stack-at-large > .wp-block-column {
    flex-basis: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

@media only screen and (min-width: 1100px) {
  .pickup-slider {
    width: 100vw;
    margin-left: calc(-50vw + 50%);
    margin-right: calc(-50vw + 50%);
  }
}
@media only screen and (max-width: 1099px) {
  .pickup-slider {
    margin-left: var(--stk-el-margin-rl, -4vw);
    margin-right: var(--stk-el-margin-rl, -4vw);
  }
}
.pickup-slider.slick-slider {
  display: block !important;
  position: relative;
  margin-bottom: 30px;
}
.pickup-slider .slick-slide {
  padding: 0 10px;
  box-sizing: border-box;
}
.pickup-slider .slick-slide img {
  width: 100% !important;
  height: auto !important;
  display: block;
}
.pickup-slider .slick-slide a {
  display: block;
  width: 100% !important;
}
.pickup-slider .slick-slide figure {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}
.pickup-slider .slick-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
  width: 40px;
  height: 40px;
  background: rgba(255, 255, 255, 0.7);
  border: none;
  border-radius: 50%;
  color: #fff;
  cursor: pointer;
  font-size: 0;
  outline: none;
  transition: background 0.3s;
}
.pickup-slider .slick-arrow::before {
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  font-size: 16px;
  color: #000;
}
.pickup-slider .slick-arrow:hover {
  background: rgba(0, 0, 0, 0.8);
}
.pickup-slider .slick-arrow:hover::before {
  color: #fff;
}
.pickup-slider .slick-prev {
  left: 10px;
}
.pickup-slider .slick-prev::before {
  content: "\f053";
}
.pickup-slider .slick-next {
  right: 10px;
}
.pickup-slider .slick-next::before {
  content: "\f054";
}
.pickup-slider .slick-dots {
  margin-top: 1em;
}
.pickup-slider .slick-dots li::before {
  content: none;
}

@media only screen and (min-width: 768px) {
  .wp-block-columns.ranking-columns {
    gap: 1.3em;
  }
}
.tcttl {
  display: block;
}
.tcttl__head {
  display: block;
  font-weight: 700;
}
.tcttl__sub {
  display: block;
  margin-top: 0.2em;
  font-size: 0.86em;
  font-weight: 400;
  line-height: 1.55;
  color: rgba(15, 25, 42, 0.66);
  color: color-mix(in srgb, var(--main-text-color, #0f192a) 66%, transparent);
}
.tcttl__badge {
  display: inline-block;
  margin-bottom: 0.35em;
  padding: 0.1em 0.5em;
  font-size: 0.74em;
  font-weight: 700;
  line-height: 1.6;
  border: 1px solid var(--main-link-color, #3a58a5);
  color: var(--main-link-color, #3a58a5);
  background: #fff;
}
.tcttl__badge--plain {
  font-weight: 400;
  border-color: rgba(15, 25, 42, 0.3);
  color: rgba(15, 25, 42, 0.62);
  background: none;
}
.tcttl__badge.is-ended {
  font-weight: 400;
  border-color: #6a7280;
  background: #6a7280;
  color: #fff;
}
.tcttl__badge.is-ended::before {
  content: "終了";
  font-weight: 700;
  margin-right: 0.4em;
}

.archives-list.card-overlay .tcttl__sub {
  color: rgba(255, 255, 255, 0.82);
}

/* ---------------------------------------------
   フルブリードの Cover ブロックが、入れ子になった alignfull の中で
   右端に隙間ができる不具合の直し（2026-09-10）

   親テーマの `.wp-block-cover { width: inherit; }` は、直近の親要素の
   width をそのまま引き継ぐ。max-width:980px の帯（親テーマ）では
   `.alignfull` に margin だけを付けて width は auto 任せにしているため、
   親要素の width が「auto」なら問題ないが、Cover が別の alignfull グループ
   （.wp-block-group__inner-container など）の直下に入れ子になっていると
   親の width が実寸（画面幅ぶんの px）になり、Cover 側は margin で左へ
   ずれるだけで幅が広がらず、右端が margin ぶん（4vw）足りなくなる。
   トップページのスライドショー（#slideshow・8枚とも position:absolute で
   重ねるクロスフェード方式。functions/front_page_lcp.php）で実機に近い
   条件で再現・確認した。

   直し方は width を vw 基準にして親の width に依存させない形にする。
   position は触らない（position:absolute のクロスフェード運用と、
   カテゴリー一覧の position:relative の両方で成立することを確認済み）。
   この節だけ入れ子を使わず素のCSSで書く（.scss / .css / .min.css の
   3本を同じ内容に保つ必要があるため）。
   --------------------------------------------- */
@media only screen and (max-width: 980px) {
  .wp-block-cover.alignfull {
    left: auto;
    right: auto;
    width: 100vw;
    margin-left: calc(50% - 50vw);
  }
}
