/* v1.0.3: responsive fixes are bundled with the theme; no Additional CSS required. */
*, *::before, *::after { box-sizing: border-box; }
.content-layout > *, .hero-grid > *, .card-grid > *, .footer-grid > * { min-width: 0; }
.entry-content, .page-header h1, .author-box, .widget { overflow-wrap: anywhere; }
.entry-content .wp-block-table { max-width: 100%; margin: 24px 0; overflow-x: auto; }
.entry-content .wp-block-table table { display: table; width: 100%; min-width: 560px; margin: 0; white-space: normal; }
.entry-content > table { max-width: 100%; }
.entry-content table[border="0"][cellpadding="0"][cellspacing="0"] {
  display: table !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 28px auto !important;
  border-collapse: separate !important;
  overflow: visible !important;
  white-space: normal !important;
}
.entry-content table[border="0"][cellpadding="0"][cellspacing="0"] > tbody > tr > td {
  padding: 0 !important;
  border: 0 !important;
}
.entry-content table[border="0"][cellpadding="0"][cellspacing="0"] img {
  border-radius: 0;
}
.entry-content .a8ad { position: relative; display: block; width: min(260px, 100%); margin: 20px auto 12px; line-height: 0; text-align: center; }
.entry-content .a8ad > a { display: block; width: 100%; max-width: 100%; margin: 0; }
.entry-content .a8ad a img { display: block; width: 100%; max-width: 100%; height: auto; margin: 0 auto; }
.entry-content .a8ad img[width="1"][height="1"],
.entry-content .affiliate-button img[width="1"][height="1"] { position: absolute; width: 1px !important; height: 1px !important; max-width: 1px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.affiliate-button { position: relative; margin: 12px 0 32px; text-align: center; }
.entry-content .affiliate-button a { display: inline-block; width: min(520px, 100%); padding: 14px 18px; border-radius: 8px; background: var(--orange); color: white; font-weight: 700; text-decoration: none; overflow-wrap: anywhere; }
.affiliate-button a:focus-visible { outline: 3px solid var(--green-dark); outline-offset: 3px; }
.sidebar form[role="search"] { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; align-items: stretch; }
.sidebar form[role="search"] label { display: block; min-width: 0; margin: 0; }
.sidebar input[type="search"] { width: 100%; min-width: 0; height: 100%; min-height: 44px; padding: 8px; border: 1px solid var(--line); border-radius: 6px; }
.sidebar form[role="search"] .button { margin: 0; padding: 8px 14px; white-space: nowrap; }
.sidebar .wp-block-search__inside-wrapper { display: flex; gap: 10px; }
.sidebar .wp-block-search__input { flex: 1; width: 0; min-width: 0; }
.sidebar .wp-block-search__button { margin: 0; flex-shrink: 0; }
.brand-mark { background: #f6f7f7; width: 48px; height: 48px; flex-shrink: 0; color: var(--green-dark); }
@media(max-width:900px) {
  .content-layout { grid-template-columns: minmax(0,1fr); }
  .sidebar { position: static; min-width: 0; }
}
@media(max-width:600px) {
  .entry-content .a8ad { width: min(210px,100%); }
  .header-inner { gap: 12px; }
  .site-branding, .brand-text, .custom-logo-link { min-width: 0; }
  .menu-toggle { flex-shrink: 0; }
  .article-info { grid-template-columns: minmax(0,1fr); }
  .product-box__actions a { min-width: 0; }
}

/* 記事に差し込む広告カード。バナーの実寸がカード幅を超えても収まるようにする。
   1x1の計測用画像は広告主のインプレッション計測なので、消さずに隠すだけ。 */
.entry-content .shunneta-ad{margin:20px 0}
.entry-content .shunneta-ad img:not([width="1"]){max-width:100%;height:auto}
.entry-content .shunneta-ad img[width="1"][height="1"]{position:absolute;width:1px!important;height:1px!important;max-width:1px!important;margin:0!important;padding:0!important;border:0!important}
