/*
Theme Name: Canvas
Theme URI: https://yoursite.com
Author: Canvas
Author URI: https://yoursite.com
Description: 高速化とSEO最適化に特化したSWELL子テーマ
Template: swell
Version: 1.0.0
Text Domain: canvas
*/

/*
 * 子テーマのカスタムスタイル
 * メインスタイルは /assets/css/ に分離
 */

/* システムフォント最適化（日本語対応） */
:root {
    --canvas-font-family: -apple-system, BlinkMacSystemFont, "Yu Gothic UI",
                        "Hiragino Kaku Gothic ProN", "Hiragino Sans",
                        "Noto Sans JP", "Meiryo", sans-serif;
    --canvas-font-size-base: 16px;
    --canvas-line-height: 1.7;
    --canvas-content-width: 1200px;
}
.admin-bar {
    padding-top: 0px;
}
/* ベーススタイル */
body {
    font-family: var(--canvas-font-family);
    font-size: var(--canvas-font-size-base);
    line-height: var(--canvas-line-height);
    font-synthesis: none;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	background-color: #faf3e9 !important;
}

/* CLS対策 - 画像とiframeのアスペクト比 */
img,
iframe,
video {
    max-width: 100%;
    height: auto;
}

img[width][height] {
    aspect-ratio: attr(width) / attr(height);
}

/* パフォーマンス最適化 */
.canvas-lazy {
    opacity: 0;
    transition: opacity 0.3s;
}

.canvas-lazy.loaded {
    opacity: 1;
}

/* 瘦身モード専用スタイル */
body.slim-mode {
    background: #fff;
}

.slim-mode .site-title {
    font-size: 1.5rem;
    margin: 0;
    padding: 1rem;
}

.slim-mode .entry-title {
    font-size: 2rem;
    margin-bottom: 1rem;
}

.slim-mode .entry-content {
    margin: 0 auto;
    padding: 0;
}
























/** SWELL補正 **/
#header,
#footer {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho",
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E",
    "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.rich_font {
  font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho",
    "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E",
    "ＭＳ Ｐ明朝", "MS PMincho", serif;
  font-weight: 500;
}

#header_logo #logo_text .logo {
  font-size: 36px;
}
#header_logo_fix #logo_text_fixed .logo {
  font-size: 36px;
}
#footer_logo .logo_text {
  font-size: 36px;
}

@media screen and (max-width: 1024px) {
  #header_logo #logo_text .logo {
    font-size: 26px;
  }
  #header_logo_fix #logo_text_fixed .logo {
    font-size: 26px;
  }
  #footer_logo .logo_text {
    font-size: 26px;
  }
}

#footer_nav {
  background-color: #f7f7f7;
}
#footer_contents {
  background-color: #d86931;
}

@media only screen and (min-width: 1025px) {
  #global_menu ul ul a {
    background-color: #4c3f32;
  }
  #global_menu ul ul a:hover,
  #global_menu ul ul .current-menu-item > a {
    background-color: #92785f;
  }
  #header_top {
    background-color: #c4c4c4;
  }
  .has_header_content #header_top {
    background-color: rgba(196, 196, 196, 0.4);
  }
  .fix_top.header_fix #header_top {
    background-color: rgba(196, 196, 196, 0.8);
  }
  #header_logo a,
  #global_menu > ul > li > a {
    color: #ffffff;
  }
  #header_logo_fix a,
  .fix_top.header_fix #global_menu > ul > li > a {
    color: #ffffff;
  }
  .has_header_content #index_header_search {
    background-color: rgba(34, 34, 34, 0.6);
  }
}
@media screen and (max-width: 1024px) {
  #global_menu {
    background-color: #4c3f32;
  }
  #global_menu a:hover,
  #global_menu .current-menu-item > a {
    background-color: #92785f;
  }
  #header_top {
    background-color: #c4c4c4;
  }
  #header_top a,
  #header_top a:before {
    color: #ffffff !important;
  }
  .mobile_fix_top.header_fix #header_top,
  .mobile_fix_top.header_fix #header.active #header_top {
    background-color: rgba(196, 196, 196, 0.8);
  }
  .mobile_fix_top.header_fix #header_top a,
  .mobile_fix_top.header_fix #header_top a:before {
    color: #ffffff !important;
  }
  .archive_sort dt {
    color: #4c3f32;
  }
  .post-type-archive-news #recent_news .show_date li .date {
    color: #4c3f32;
  }
}

#footer_nav a {
  color: #000;
}

.footer_headline {
  color: #4c3f32;
}

#footer_contents p {
  line-height: 2.4;
  margin: 0 0 2.4em 0;
  word-wrap: break-word;
  font-size: 16px;
  font-weight: bold;
}

#footer_contents table td {
  border: 1px solid #bbb;
  padding: 10px 15px;
  line-height: 2.2;
}

#footer_contents #copyright {
  font-size: 14px;
  margin: 60px auto 40px;
}

/** ベース **/
.p-breadcrumb__list {
  margin-bottom: 0;
}
.p-articleMetas__termList.c-categoryList {
  display: none;
}
.p-articleFoot,
.l-articleBottom {
  display: none;
}
body {
  background-color: #faf3e9;
}
.p-toc.is-omitted:not([data-omit="nest"]):before,
.p-toc.is-omitted:not([data-omit="nest"]):after {
  display: none;
}
.p-toc .p-toc__link {
  color: var(--main-text-black);
}
.post_content {
  a {
    color: var(--color_link);
  }
  .is-style-btn_shiny a {
    color: #fff;
  }
}

.single #content {
  svg.icon-arrow-down {
    color: #999;
    font-size: 20px;
    width: 20px;
    height: 20px;
  }
  svg.icon-autorenew {
    color: #999;
    font-size: 12px;
    width: 12px;
    height: 12px;
  }
  svg.icon-feedback {
    width: 16px;
    height: 16px;
    fill: #999;
  }

  --main-text-black: #393939;

  --star-high-color: #ff2600;
  --star-mid-color: #ff7e33;
  --star-low-color: #ffaf54;

  --rank-gold-color: #ecd27e;
  --rank-silver-color: #ededed;
  --rank-bronze-color: #e5b27b;

  /* padding-top: 0; */
  margin-bottom: 0;
  color: var(--main-text-black);
  font-family: -apple-system, BlinkMacSystemFont, Roboto, arial, helvetica,
    Hiragino Kaku Gothic ProN, "ヒラギノ角ゴ ProN W3", Meiryo, sans-serif;
  font-weight: normal;
  letter-spacing: normal;
  -webkit-font-smoothing: antialiased;
  .post_content {
    margin-top: 0;
    h2,
    h3,
    h4 {
      margin-bottom: 1em;
      margin-top: 1.5em;
    }
  }
  .post_content > * {
    margin-bottom: 2em;
  }
  .post_content
    > :is(
      p,
      ul,
      ol,
      dl,
      pre,
      blockquote,
      table,
      figure,
      details,
      fieldset,
      section,
      article,
      aside,
      address
    ):has(+ :is(h2, h3, h4)) {
    margin-bottom: 1em;
  }
  .hide {
    display: none;
  }
  p,
  span,
  ol,
  li {
    font-size: 14px;
    font-weight: inherit;
    line-height: 162.5%;
  }
  h1,
  h2,
  h3,
  h4 {
    font-size: 20px;
    font-weight: bold;
    font-feature-settings: "palt" 1;
    /* letter-spacing: 0.04em; */
    line-height: 125%;
  }
  b {
    display: block;
    &::before,
    &::after {
      all: unset;
      content: unset;
    }
  }
  h2 {
    background: linear-gradient(135deg, #fbc2eb 0%, #b296d6 75%, #b296d6 100%);
    text-shadow: 0px 2px 10px rgba(118, 105, 135, 0.15);
    color: #fff;
    margin-left: 0;
    margin-right: 0;
    &::before {
      content: "";
      position: absolute;
      inset: 0;
      z-index: -1;
      background-image: url(https://oteranavi.com/column/wp-content/uploads/2025/07/heading-bg-56h.png);
      background-size: cover;
      background-repeat: no-repeat;
      background-position: center;
      border: none;
      pointer-events: none;
      width: 100%;
      height: 100%;
    }
    &.two-lines::before {
      background-image: url(https://oteranavi.com/column/wp-content/uploads/2025/07/heading-bg-86h.png);
    }
  }
  h3 {
    color: var(--main-text-black);
    padding-left: 0;
    &:before {
      content: "";
      width: 100%;
      height: 2px;
      background: linear-gradient(to right, #fbc2eb, #b296d6);
    }
  }
  h4 {
    border-left: solid 3px #b296d6;
    padding-left: 8px;
  }
  img {
    height: auto;
    width: 100%;
    max-width: none;
  }
  .-bln-left .c-balloon__body {
    padding-right: 0;
  }
  .wp-block-image .alignleft.size-full {
    width: 370px;
  }
  .wp-block-group.caption-box {
    background-color: #fff;
    border-color: #9b74cd;
    padding: 2em 0 1em;
    position: relative;
    .caption-box-title {
      background: linear-gradient(
        135deg,
        #f1a0da 0%,
        #b296d6 70%,
        #b296d6 100%
      );
      color: #fff;
      display: inline;
      font-weight: bold;
      letter-spacing: 0.7px;
      padding: 6px 24px;
      position: absolute;
      top: -18px;
      left: 16px;
      text-shadow: 0px 2px 10px rgba(118, 105, 135, 0.15);
      &:before,
      &:after {
        content: "";
        position: absolute;
        top: -10px;
        width: 32px;
        height: 48px;
        background: url("https://oteranavi.com/column/wp-content/uploads/2025/07/caption-box-deco.png");
      }
      &:before {
        left: 0;
        transform: scale(0.5) translateY(-4px);
      }
      &:after {
        right: 0;
        transform: scale(0.5) translateY(-4px) scaleX(-1);
      }
    }
    ul {
      font-weight: bold;
      list-style: disc;
      padding: 0 1em;
    }
  }
  .caption-box2 {
    .cap_box_ttl {
      background-color: #c99ad7;
      span {
        font-size: 14px;
        font-weight: bold;
      }
    }
    .cap_box_content {
      background-color: #fff;
      border-color: #c99ad7;
      padding: 1em;
      ul {
        list-style: disc;
        padding: 0;
        li {
          border-bottom: 1px dashed var(--color_border);
          font-size: 14px;
          padding-bottom: 0.75em;
          a {
            color: var(--color_link);
            font-weight: bold;
            text-decoration: underline;
          }
        }
      }
    }
  }
  .swell-block-postLink {
    font-size: 14px;
    .p-blogCard:hover {
      box-shadow: none;
      text-decoration: underline;
    }
    .p-blogCard__inner {
      padding: 8px;
      &:before {
        border: 1px solid #efefef;
        border-radius: 4px;
      }
    }
    .p-blogCard__thumb.c-postThumb {
      width: 56px;
      height: 56px;
      figure {
        height: 100%;
      }
      figure img {
        object-fit: cover;
        border-radius: 4px;
      }
    }
    .p-blogCard__caption {
      display: none;
    }
    .p-blogCard__title {
      color: var(--main-text-black);
      text-decoration: none;
    }
  }
  .swl-marker {
    font-weight: bold;
  }
  .mark_orange {
    background: linear-gradient(transparent 64%, #f8c0ea 0%);
  }
  .swell-block-balloon.balloon-bottom {
    margin-bottom: 24px;
    .c-balloon {
      display: block;
      .c-balloon__icon {
        display: flex;
        align-items: center;
        gap: 12px;
        width: 96px;
        .c-balloon__iconName {
          font-size: 15px;
          font-weight: bold;
          white-space: nowrap;
        }
      }
      .c-balloon__body {
        position: relative;
        background-color: #e0e9ee;
        border-radius: 8px;
        padding: 0;
        margin-top: 14px;
        &:before {
          content: "";
          position: absolute;
          left: 124px;
          top: -14px;
          border-width: 0 14px 14px 14px;
          border-style: solid;
          border-color: transparent transparent #e5eff5 transparent;
        }
        .c-balloon__text {
          background-color: #e0e9ee;
          font-size: 15px;
          font-weight: bold;
          max-width: inherit;
          p {
            margin-bottom: 0;
          }
        }
      }
    }
  }
  .swell-block-capbox.grey-num {
    .cap_box_ttl {
      padding: 6px 0.5em;
      span {
        font-size: 16px;
        font-weight: bold;
      }
    }
    .cap_box_content {
      .is-style-num_circle {
        li {
          margin: 0.5em 0;
        }
        li:before {
          background-color: #e0e9ee;
          box-shadow: none;
          color: var(--main-text-black);
          font-size: 15px;
          font-weight: bold;
        }
      }
    }
  }
  .ndx-pdate {
    width: 100%;
    color: #999;
    font-size: 12px;
    text-align: left;
  }
  .pubdate {
    display: flex;
    justify-content: end;
    margin-bottom: 12px;
    span {
      font-size: 10px;
      font-weight: normal;
      color: #999;
    }
  }
  .pr {
    background-color: #eee;
    border-radius: 4px;
    padding: 12px;
    p,
    a {
      color: #666;
      font-size: 14px;
      line-height: 1.375;
      margin-bottom: 1em;
    }
  }

  .score-high {
    color: var(--star-high-color);
  }
  .score-mid {
    color: var(--star-mid-color);
  }
  .score-low {
    color: var(--star-low-color);
  }
  .custom-score-label {
    font-weight: bold;
  }
  .custom-star-rating {
    display: flex;
    align-items: center;
    font-family: sans-serif;
    .custom-stars {
      position: relative;
      display: inline-block;
      font-size: 10px;
      line-height: 1;
      white-space: nowrap;
    }
    .custom-stars-outer {
      color: #ccc;
    }
    .custom-stars-inner {
      position: absolute;
      top: 0;
      left: 0;
      white-space: nowrap;
      overflow: hidden;
      pointer-events: none;
    }
    .custom-stars-text {
      font-weight: bold;
    }
    .custom-stars-name {
      font-size: 12px;
      font-weight: bold;
    }
  }

  .log-item {
    p:nth-child(1) {
      font-size: 12px;
      color: #999;
      margin-bottom: 4px;
    }
    p:nth-child(2) {
      line-height: 1.5;
    }
  }
  .toc-wrapper {
    background-color: #f7f7f7;
    border-radius: 4px;
    padding: 16px;
    position: relative;

    p:nth-child(1) {
      color: #111;
      font-size: 18px;
      font-weight: bold;
      margin-bottom: 8px;
    }
    a {
      color: #555;
      font-size: 12px;
      font-weight: normal;
      text-decoration: none;
      &:hover {
        text-decoration: underline;
      }
    }
    .uline {
      border-bottom: 1px solid #e7e7e7;
      padding: 8px 0px;
    }
    ul {
      padding-left: 0;
      margin-bottom: 20px;
      margin-left: 0;
    }
    li {
      list-style-type: none;
    }
    dd {
      margin: 0;
    }
    dl dt {
      font-weight: 500;
    }
    dl dd {
      display: none;
      border-bottom: 1px solid #e7e7e7;
      padding: 8px 0px;
      padding-left: 16px;
      a {
        display: inline-flex;
        align-items: center;
        text-underline-position: under;
        font-size: 12px;
      }
    }
    li.rank dl dd a {
      span:nth-child(1) {
        font-size: 10px;
        font-weight: 700;
        border-style: solid;
        border-radius: 4px;
        border-width: 1px;
        padding: 2px 4px;
        margin-right: 8px;
      }
      span:nth-child(2) {
        font-size: 12px;
      }
      img {
        width: 24px;
        margin-right: 6px;
        margin-bottom: 6px;
      }
    }
    li.rank dl {
      dd:nth-child(2) a span:nth-child(1) {
        color: #fff;
        background-color: #f2b50d;
        border-color: #f2b50d;
      }
      dd:nth-child(3) a span:nth-child(1) {
        color: #fff;
        background-color: #738c8c;
        border-color: #738c8c;
      }
      dd:nth-child(n + 4) a span:nth-child(1) {
        border-color: #e7e7e7;
      }
    }
    dl dd:nth-of-type(-n + 3) {
      display: block;
    }
    li:nth-of-type(n + 2) {
      display: none;
    }
    #toc-all {
      display: none;
    }
    #toc-all:checked ~ ul {
      margin-bottom: 0;
    }
    #toc-all:checked ~ ul li {
      display: block;
    }
    #toc-all:checked ~ ul li dl dd {
      display: block;
    }
    #toc-all:checked ~ label {
      display: none;
    }
    label[for="toc-all"] {
      bottom: 2px;
      position: absolute;
      right: 0;
      width: 100%;
      cursor: pointer;
      text-align: center;
      font-size: 12px;
      font-weight: normal;
      color: #999;
      div:nth-child(1) {
        bottom: 100%;
        position: absolute;
        width: 100%;
        z-index: 1;
        background: linear-gradient(
          180deg,
          rgba(255, 255, 255, 0) 0%,
          #f7f7f7 100%
        );
        height: 30px;
      }
      div:nth-child(2) {
        display: inline-flex;
        align-items: center;
        padding: 6px;
      }
    }
  }
  .ref a {
    font-size: 12px;
    text-decoration: none;
  }
  .feedback {
    display: flex;
    justify-content: end;
    a {
      display: flex;
      align-items: center;
      gap: 4px;
      text-decoration: none;
      color: #999;
      &:hover {
        text-decoration: underline;
      }
      span {
        color: #999;
        font-size: 12px;
      }
    }
  }
  .counter {
    counter-reset: item;
    .wp-block-media-text__content > p:nth-child(1) > strong,
    .counter-item > strong {
      counter-increment: item;
      &:before {
        content: counter(item);
        display: inline-block;
        background: var(--main-text-black);
        color: #fff;
        border-radius: 50%;
        font-size: 14px;
        width: 1.7em;
        height: 1.7em;
        line-height: 1.7em;
        text-align: center;
        margin-right: 4px;
      }
    }
    .counter-item-s > strong {
      counter-increment: item;
      font-size: 16px;
      &:before {
        content: counter(item);
        display: inline-block;
        background: none;
        border-radius: 50%;
        border: 1px solid;
        font-size: 14px;
        width: 1.2em;
        height: 1.2em;
        line-height: 1.1em;
        text-align: center;
        margin-right: 4px;
      }
    }
  }
  .counter.white {
    .wp-block-media-text__media img {
      aspect-ratio: 1/0.9;
      object-fit: cover;
    }
    .wp-block-media-text__content > p:nth-child(1) {
      display: flex;
      position: relative;
      padding-left: 1.8em;
    }
    .wp-block-media-text__content > p:nth-child(1) > strong,
    .counter-item > strong {
      &:before {
        background: #f7f7f7;
        color: var(--main-text-black);
        position: absolute;
        left: 0;
      }
    }
  }
  h3.counter-item {
    padding-left: 1.8em;
    font-size: 18px;
  }

  .table-base {
    th,
    td {
      padding: 10px;
      line-height: 1.375;
      vertical-align: middle;
    }
    th {
      background-color: #f9f9f7;
      color: var(--main-text-black);
      font-size: 14px;
      width: 30%;
    }
    td {
      background-color: #fff;
      font-size: 13px;
      font-weight: bold;
    }
  }
  .table-header-base {
    th,
    td {
      padding: 10px;
      line-height: 1.375;
      vertical-align: middle;
    }
    th {
      background-color: #f9f9f7;
      color: var(--main-text-black);
      font-size: 14px;
    }
    td {
      background-color: #fff;
      font-size: 13px;
      font-weight: bold;
    }
  }
  .table-rank-score {
    th {
      background-color: #f1ebf1;
    }
    thead th:nth-child(n + 2) {
      background-color: #c463bf;
    }
    tr td strong span.u-fz-xl {
      color: #f09f4d;
    }
  }
}
@media (min-width: 828px) {
  #content {
    width: 828px;
    h1 {
      font-size: 30px;
    }
    h2 {
      font-size: 24px;
    }
    .pubdate {
      span {
        font-size: 12px;
      }
    }
    .flow-item {
      .wp-block-media-text__content {
        p:nth-child(2) {
          font-size: 14px;
        }
      }
    }
  }
}
@media (max-width: 768px) {
  #content {
    .wp-block-image .alignleft.size-full {
      width: 100%;
    }
    figure.full img {
      margin-left: -4vw;
      margin-right: -4vw;
      width: 100vw;
      max-width: none;
    }
  }
}

/** 追加 **/
.single #content {
  .table-compare {
    table {
      table-layout: fixed;
      width: 100% !important;
    }
    th,
    td {
      border-color: #f3d7f3;
    }
    thead {
      th {
        background-color: #c463bf;
        color: #fff;
        text-align: center;
        width: 90px;
      }
      th:nth-child(1) {
        width: 120px;
      }
      th:nth-child(2) {
        width: 100px;
      }
    }
    tbody {
      th {
        background-color: #f1ebf1;
        color: #70266c;
      }
      td {
        img {
          width: 100% !important;
        }
        .swl-inline-btn {
          margin: 0;
          width: 100%;
          a {
            align-items: center;
            justify-content: center;
            background-color: #0eb03a;
            border-radius: 4px;
            box-shadow: inset 0px -2px 0px rgba(0, 0, 0, 0.1);
            color: #fff;
            cursor: pointer;
            display: flex;
            font-size: 11px;
            font-weight: bold;
            height: 36px;
            position: relative;
            vertical-align: top;
            width: auto;
            padding: 0;
            text-decoration: none;
          }
        }
      }
    }
  }
  .table-recommend {
    table {
      thead tr {
        th:nth-child(1) {
          width: 22%;
        }
        th:nth-child(2) {
          background-color: var(--rank-gold-color);
        }
        th:nth-child(3) {
          background-color: var(--rank-silver-color);
        }
        th:nth-child(4) {
          background-color: var(--rank-bronze-color);
        }
        th {
          padding: 2px;
        }
        th span {
          margin-right: 2px;
        }
      }
      th {
        text-align: center;
      }
      tr:nth-child(1) {
        text-align: center;
        td {
          padding: 0 0 8px 0;
          img {
            width: 100% !important;
          }
          a {
            /* color: #358cda; */
            color: var(--color_link);
            text-decoration: underline;
          }
        }
      }
    }
  }
  .table-recommend-fit {
    table {
      thead tr {
        th:nth-child(2) {
          background-color: var(--rank-gold-color);
        }
        th:nth-child(3) {
          background-color: var(--rank-silver-color);
        }
        th:nth-child(4) {
          background-color: var(--rank-bronze-color);
        }
        th {
          padding: 2px;
        }
        th span {
          margin-right: 2px;
        }
      }
      th {
        text-align: center;
      }
      tr:nth-child(1) {
        text-align: center;
        td {
          padding: 0 0 8px 0;
          a {
            color: var(--color_link);
            text-decoration: underline;
          }
          img {
            aspect-ratio: 1/1;
          }
        }
      }
      tr > :first-child:not(.-no1) {
        left: 0;
        position: sticky !important;
        top: 0;
        z-index: 3;
      }
    }
  }
  .table-nowrap {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    table {
      table-layout: auto;
      width: max-content;
      @supports not (width: max-content) {
        display: inline-table;
        width: auto;
      }
    }
    th,
    td {
      white-space: nowrap;
    }
  }
}

/* ========= 独自目次 ========= */
.toc-custom {
  margin: 32px 0;
  background: #f3f4f5;
  border: 1px solid #e6e9ec;
  border-radius: 4px;
  font-size: 14px;
  line-height: 1.6;
  color: #333;
  position: relative;
  overflow: hidden;
}

/* トグルボタン */
.toc-toggle {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 12px 16px 8px;
  background: transparent;
  border: none;
  font-weight: 600;
  cursor: pointer;
  color: #717171;
}
.toc-toggle__text {
  color: #0070c8;
}

.toc-custom:before {
  content: "";
  display: block;
  width: 71px;
  height: 3px;
  /*background: #f3f4f5;*/
  position: absolute;
  top: 34px;
  left: 18px;
}

.toc-body {
  padding: 20px 20px 20px;
  background-color: #ffffff73;
  margin: 6px 10px 10px;
}

/* リスト共通 */
.toc-list {
  margin: 0 0 0 1.2em;
  padding: 0;
  list-style: decimal;
  color: #0070c8;
}
.toc-list li {
  margin: 4px 0;
}
.toc-list a {
  text-decoration: none;
  color: #0070c8; /* リンク文字を青に */
}
.toc-list a:hover {
  text-decoration: underline;
}
.toc-list li.pickup {
  list-style: none;
  position: relative;
  padding-left: 0;
}
.toc-list li.pickup > a {
  color: var(--main-text-black);
  font-weight: 700;
  text-decoration-line: underline;
  text-decoration-style: dashed;
  text-decoration-color: #e29ed9;
  text-underline-offset: 0.3em;
}
.toc-list li.pickup::before {
  content: "";
  position: absolute;
  left: -1.3em;
  top: 0.4em;
  width: 1em;
  height: 1em;
  background: url(https://oteranavi.com//column/wp-content/uploads/2025/09/diamond-bullet.png)
    no-repeat center / contain;
}
.toc-custom[data-open="false"].toc-custom-pickup .toc-body {
  margin-bottom: 10px !important;
}
.toc-custom-pickup .toc-list {
  margin-bottom: 0;
  padding-left: 0;
}

/* 階層インデント */
.toc-list ol {
  margin-left: 1.2em;
}

/* スマホ微調整 */
@media (max-width: 599px) {
  .toc-toggle {
    padding: 10px 12px 6px;
    font-size: 15px;
  }
  .toc-body {
    padding: 0 12px 12px;
  }
  .toc-custom-pickup .toc-body {
    padding: 12px 12px 12px;
  }
}

/* ── 開閉制御（JS で data-open を切替） */
.toc-custom[data-open="false"] .toc-body {
  display: none;
}

.custom_tab_g1 {
  background-color: #fff;
}

.custom_table_g1 {
  --avatar-size: 150px;
  --badge-size: 34px;
  --rank1: #d4af37;
  --rank2: #c0c0c0;
  --rank3: #cd7f32;
}
.custom_table_g1 table {
  border: 0;
  border-collapse: separate;
  border-spacing: 24px 10px;
}
.custom_table_g1 td {
  border: 0;
  background: transparent;
  text-align: center;
  vertical-align: top;
}

.custom_table_g1 tr:first-child td {
  position: relative;
}
.custom_table_g1 tr:first-child td img {
  width: var(--avatar-size) !important;
  height: var(--avatar-size) !important;
  object-fit: cover;
  border-radius: 50% !important;
  border: none !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.custom_table_g1 tr:first-child td::before {
  content: "";
  position: absolute;

  top: calc(50% - var(--avatar-size) / 2 - var(--badge-size) / 2 + 12px);
  left: calc(50% - var(--avatar-size) / 2 - var(--badge-size) / 2 + 12px);
  width: var(--badge-size);
  height: var(--badge-size);
  line-height: var(--badge-size);
  border-radius: 50%;
  color: #fff;
  font-weight: 700;
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
}

.custom_table_g1 tr:first-child td:nth-child(1)::before {
  content: "1";
  background: var(--rank1);
}
.custom_table_g1 tr:first-child td:nth-child(2)::before {
  content: "2";
  background: var(--rank2);
}
.custom_table_g1 tr:first-child td:nth-child(3)::before {
  content: "3";
  background: var(--rank3);
}
.custom_table_g1 tr:first-child td:nth-child(4)::before {
  content: "4";
  background: var(--rank4);
}

.custom_table_g1 tr:nth-child(2) a {
  font-weight: 700;
  text-decoration: none;
}
.custom_table_g1 tr:nth-child(3) td {
  font-size: 14px;
  line-height: 1.6;
}

@media (max-width: 480px) {
  .custom_table_g1 {
    --avatar-size: 100px;
    --badge-size: 25px;
  }
  .custom_table_g1 table {
    border-spacing: 16px 8px;
  }
}

.custom_table_g1 tr:nth-child(2) a {
  color: #b433b3;
  font-weight: 700;
  text-decoration: none;
}
.custom_table_g1 tr:nth-child(2) a:hover {
  opacity: 0.8;
}

.single #content figure.custom_table_g1.table-recommend tr:first-child td img {
  width: var(--avatar-size) !important;
  height: var(--avatar-size) !important;
  object-fit: cover;
}
/* ===== custom_table_g1 だけ td の白背景を殺す ===== */
.single #content figure.custom_table_g1.table-header-base td {
  background-color: transparent !important;
  padding: 0px;
  vertical-align: top;
}

/* 「画像だけ透過」で十分なら 1 行目だけに限定しても可 */
.single #content figure.custom_table_g1.table-header-base tr:first-child td {
  background-color: transparent !important;
}

/* ============ 下向きふきだし .custom_bubble_g1 ============ */

/* 1) デフォルトの左/右三角を消す */
.custom_bubble_g1 .c-balloon__shapes {
  display: none !important;
}

/* 2) ふきだし本体 */
.custom_bubble_g1 .c-balloon__body {
  background: #f7f7f7; /* 背景色はお好みで */
  border-radius: 10px;
  padding: 1.2em 1.4em;
  position: relative; /* ↓擬似要素の基準点にする */
}

/* 3) 下向き三角 */
.custom_bubble_g1 .c-balloon__body::after {
  content: "";
  position: absolute;
  bottom: -12px; /* 高さはそのまま */
  left: 1.5rem; /* ← ここをpx／remで調整。例: 1.5rem ≒ 24px */
  transform: none; /* 中央寄せのtranslateを無効化 */
  border-width: 12px 12px 0 12px;
  border-style: solid;
  border-color: #f7f7f7 transparent transparent transparent;
}

/* 4) モバイルで少し余白を詰めたい場合（任意） */
@media (max-width: 480px) {
  .custom_bubble_g1 .c-balloon__body {
    padding: 1em 1.1em;
  }
}

/* ========== タブカスタム .custom_tab_g1 ========== */

/* 1) タブ帯そのものを紫 (#b433b3) に */
.custom_tab_g1 .c-tabList {
  background: #b433b3;
  border: none; /* 既存の黒線があれば打ち消す */
  display: flex; /* 念のため */
}

/* 2) 全タブ共通の見た目 */
.custom_tab_g1 .c-tabList__button {
  background: #b433b3;
  color: #fff;
  font-weight: 700;
  border: none;
  padding: 0.75em 1.6em;
  cursor: pointer;
  transition: opacity 0.15s ease;
}
.custom_tab_g1 .c-tabList__button:hover {
  opacity: 0.85;
}

/* 3) アクティブタブ (= aria-selected="true") */
.custom_tab_g1 .c-tabList__button[aria-selected="true"] {
  background: #fff;
  color: #b433b3;
  position: relative;
}

/* ─ 上辺 3px の紫ライン ─ */
.custom_tab_g1 .c-tabList__button[aria-selected="true"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: #b433b3;
}

/* 4) レスポンシブで詰まる場合はフォントやパディング微調整（任意） */
@media (max-width: 480px) {
  .custom_tab_g1 .c-tabList__button {
    padding: 0.6em 1.1em;
    font-size: 14px;
  }
}

/* アクティブ（選択中）タブを白背景＋紫文字に上書き */
.custom_tab_g1.is-style-default
  > .c-tabList
  .c-tabList__button[aria-selected="true"] {
  background: #fff !important;
  color: #b433b3 !important;
  position: relative; /* 上ラインを付けたい場合の準備 */
  padding: 16px;
}

/* 上辺 3px の紫ライン――必要ならそのまま、不要なら削除OK */
.custom_tab_g1.is-style-default
  > .c-tabList
  .c-tabList__button[aria-selected="true"]::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 3px;
  background: #b433b3;
}

/* 非アクティブ状態の hover は紫反転（任意） */
.custom_tab_g1.is-style-default
  > .c-tabList
  .c-tabList__button:not([aria-selected="true"]):hover {
  background: #b433b3 !important;
  color: #fff !important;
}
/* ====== custom_tab_g1 ── 外枠の黒線を消す ====== */
.custom_tab_g1 .c-tabBody,
.custom_tab_g1 .c-tabBody__item {
  border: none !important; /* 枠線を完全にオフ */
  box-shadow: none !important; /* 影が付いている場合も消す */
}

/* すべてのタブに右ボーダー → 最後だけ外す */
.custom_tab_g1 .c-tabList__item .c-tabList__button {
  border-right: 2px solid #fff;
}
.custom_tab_g1 .c-tabList__item:last-child .c-tabList__button {
  border-right: none;
}

/* アクティブタブは紫線に変える（白背景に溶け込まないように） */
.custom_tab_g1 .c-tabList__item .c-tabList__button[aria-selected="true"] {
  border-right: 1px solid #b433b3;
}

.custom_tab_g1 .c-bannerLink__title {
  padding: 0 0 12px 0px;
}

/* ===== モバイル (〜480px) でタブを均等幅 ===== */
@media (max-width: 480px) {
  /* タブリストをフル横並び */
  .custom_tab_g1 .c-tabList {
    display: flex; /* 念のため */
    flex-wrap: nowrap; /* 折返し禁止 */
  }

  /* li を等分（flex:1）に → ボタンも幅100%  */
  .custom_tab_g1 .c-tabList__item {
    flex: 1 1 0;
  }
  .custom_tab_g1 .c-tabList__button {
    width: 100%;
    padding: 0.55em 0; /* 行間を少し詰める ※お好みで */
    font-size: 13px; /* 長い文言が潰れないよう文字を微縮小 */
  }

  /* 区切り線（白線）が足りなくなる場合は li に線を描く */
  .custom_tab_g1 .c-tabList__item {
    position: relative;
  }

  /* アクティブ li の線だけ紫に */
  .custom_tab_g1 .c-tabList__item[aria-selected="true"]::after {
    background: #b433b3;
  }

  .custom_tab_g1 .c-tabBody {
    padding: 1.5em 0px !important;
  }

  .custom_tab_g1 .c-bannerLink__title {
    padding: 0 0 7px 0px;
    font-size: 1em;
  }
}

.custom_tab_g1 table .swl-inline-btn a {
  align-items: baseline;
  background-color: #b433b3;
  color: #fff;
  padding: 0.5em 1.5em;
  white-space: nowrap;
}

.custom_tab_g1 table span.swl-bg-color {
  border-radius: 999px;
  padding: 8px 0.9em 6px;
  white-space: nowrap;
}

.custom_capbox_color_g1 {
  --capbox-color: #eddde9ff !important;
}

.custom_capbox_color_g1 > .cap_box_ttl {
  --capbox-color: #333;
}

.wp-block-image.custom_img_g1 {
  position: relative;
}

.wp-block-image.custom_img_g1::after {
  visibility: visible !important;
  content: "";
  position: absolute;
  left: 50%;
  bottom: -10px;
  transform: translateX(-50%);
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 30px solid #000;
  display: block;
  z-index: 10;
  clear: none;
}

.wp-block-image.custom_img_g1 {
  padding-bottom: 30px;
}

.custom_blok_g1 .c-scrollHint {
  display: none;
}
.custom_table_g2 {
  background-color: #fff;
}

.custom_table_g2 table {
  --table-border: 1px solid #ffa8fe;
  font-weight: 600;
  width: 100%;
  table-layout: fixed;
  border-collapse: collapse;
}

.custom_blok_g2.p-postList__title {
  font-size: 16px;
  color: #333;
}

@media screen and (max-width: 600px) {
  .custom_table_g2 table {
    white-space: nowrap;
    display: table;
  }
  .custom_table_g2 td,
  .custom_table_g2 th {
    word-break: keep-all;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 5px 7px;
    vertical-align: middle;
  }

  .custom_table_g2 .c-reviewStars {
    white-space: nowrap;
  }

  .custom_table_g2 td:nth-child(1),
  .custom_table_g2 td:nth-child(3) {
    width: 18% !important;
    white-space: normal !important;
    word-break: break-word;
    overflow: visible;
    text-overflow: unset;
    font-size: 0.85rem !important;
  }
  .custom_table_g2 td:nth-child(2),
  .custom_table_g2 td:nth-child(4) {
    width: 30% !important;
  }
  .custom_table_g2 td,
  .custom_table_g2 th {
    font-size: 10px !important;
  }
}

.custom_table_g2 .icon-star-empty:before {
  content: "\e9d9";
  color: #e8e8eb;
}

.custom_table_g2 .icon-star-half:before {
  content: "\e9d9";
  color: #e8e8eb;
  background: linear-gradient(to right, #f5c518 50%, #e8e8eb 50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ===== SWELL Balloon 続きを読む===== */
.swell-block-balloon.is-readmore {
  --rm-lines: 8;
}

.swell-block-balloon.is-readmore .c-balloon__body {
  position: relative;
  overflow: visible;
}

.swell-block-balloon.is-readmore .readmore-btn {
  display: none;
}
.swell-block-balloon.is-readmore.-clamp .readmore-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  left: 50%;
  bottom: 0.8rem;
  transform: translateX(-50%);
  height: 30px;
  padding: 0 18px;
  font-size: 14px;
  line-height: 1;
  letter-spacing: 0.02em;
  font-weight: 400;
  color: #666;
  background: rgb(0 0 0 / 0%);
  border: none;
  border-bottom: 1px solid #333;
  -webkit-appearance: none;
  appearance: none;
  user-select: none;
  z-index: 2;
}
.swell-block-balloon.is-readmore.-clamp .readmore-btn:hover {
  color: #b433b3;
}

.swell-block-balloon.is-readmore .c-balloon__text {
  position: relative;
}

.swell-block-balloon.is-readmore.-clamp .c-balloon__text {
  line-height: 1.7;
  padding-bottom: 3.2rem;
  max-height: calc(var(--rm-lines) * 1.7em + 3.2rem);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: var(--rm-lines);
  -webkit-box-orient: vertical; /* Safari */
}

.swell-block-balloon.is-readmore.-clamp .c-balloon__text::after {
  --rm-bg: var(--swl-balloon-bg, var(--color_content_bg, #fff));
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0rem;
  height: 10rem;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0),
    var(--rm-bg) 70%
  );
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  z-index: 1;
}

.swell-block-balloon.is-readmore.-open .c-balloon__text {
  max-height: none;
  -webkit-line-clamp: unset;
  padding-bottom: 3.2rem;
}
.swell-block-balloon.is-readmore.-open .c-balloon__text::after {
  display: none;
}

.swell-block-balloon.is-readmore .c-balloon_text {
  position: relative;
}
.swell-block-balloon.is-readmore.-clamp .c-balloon_text {
  line-height: 1.7;
  padding-bottom: 3.2rem;
  max-height: calc(var(--rm-lines) * 1.7em + 3.2rem);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: var(--rm-lines);
  -webkit-box-orient: vertical;
}
.swell-block-balloon.is-readmore.-clamp .c-balloon_text::after {
  --rm-bg: var(--swl-balloon-bg, var(--color_content_bg, #fff));
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 3.2rem;
  height: 5rem;
  pointer-events: none;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0),
    var(--rm-bg) 70%
  );
  border-bottom-left-radius: inherit;
  border-bottom-right-radius: inherit;
  z-index: 1;
}
.swell-block-balloon.is-readmore.-open .c-balloon_text {
  max-height: none;
  -webkit-line-clamp: unset;
  padding-bottom: 3.2rem;
}
.swell-block-balloon.is-readmore.-open .c-balloon_text::after {
  display: none;
}

.is-readmore .c-balloon__body {
  padding: 8px 6px;
}
@media (min-width: 600px) {
  .is-readmore .c-balloon__body {
    padding: 8px 6px;
  }
}

.custom_h2_g1 {
  background: none !important;
  text-shadow: none !important;
  color: #333 !important;
  border-left: solid 2px var(--color_main);
  padding: 0em 0.75em !important;
}
.custom_blok_g2 .p-postList__body {
  color: #333;
}

.custom_btn1 .swell-block-button__link {
  background-color: #9e55de !important;
  border-color: #9e55de !important;
  color: white !important;
  text-decoration: none !important;
}

.custom_btn1 .swell-block-button__link:hover {
  background-color: #9e55de !important;
  text-decoration: none !important;
}

.wp-block-list.diamond-list-pr1 li.diamond-list::before,
.diamond-list-pr1 li::before,
.diamond-list::before,
li.diamond-list::before {
  content: "" !important;
  background-image: url("http://oteranavi.com/column/wp-content/uploads/2025/08/点透過.png") !important;
  background-size: 16px 16px !important;
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-color: transparent !important;
  width: 16px !important;
  height: 16px !important;
  display: inline-block !important;
  margin-right: 10px !important;
  vertical-align: top !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  border: none !important;
  border-radius: 0 !important;
  color: transparent !important;
  text-indent: -9999px !important;
  transform: none !important;
}

.wp-block-list.diamond-list-pr1 li.diamond-list,
.diamond-list-pr1 li,
li.diamond-list {
  position: relative !important;
  padding-left: 30px !important;
  list-style: none !important;
  margin-bottom: 8px !important;
}

@media (min-width: 600px) {
}

@media screen and (max-width: 600px) {
  .wp-block-list.diamond-list-pr1 li.diamond-list,
  .diamond-list-pr1 li,
  li.diamond-list {
    position: relative !important;
    padding-left: 20px !important;
    list-style: none !important;
    margin-bottom: 0px !important;
  }
  .wp-block-list.diamond-list-pr1 li.diamond-list::before,
  .diamond-list-pr1 li::before,
  .diamond-list::before,
  li.diamond-list::before {
    background-size: 12px 12px !important;
  }
  .custom_pr_g1 {
    .wp-block-column {
      p {
        margin-bottom: 4px !important;
      }
    }
    .wp-block-columns {
      --wp-column-gap: 5px;
      gap: var(--wp-column-gap) !important;
    }
    ol.-list-flex,
    ul.-list-flex {
      gap: 5px;
      padding-left: 0px;
      margin-left: 0px;
    }
  }
}

.custom-center-group {
  text-align: center !important;
}

.custom-title1 {
  background-color: #9e55de;
  color: white;
  padding: 12px 24px;
  border-radius: 25px;
  display: inline-block;
}

.custom-my-table thead tr th {
  /* position: relative !important;*/
}

.custom-my-table thead tr th:nth-child(n + 2)::before,
.custom-my-table thead tr th:nth-child(n + 2)::after {
  content: "";
  position: absolute;
  top: 50% !important;
  width: 12px !important;
  height: 20px !important;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transform: translateY(-50%) !important;
  z-index: 1;
}

.custom-my-table thead tr th:nth-child(n + 2)::before {
  left: 25px !important;
  background-image: url("http://oteranavi.com/column/wp-content/uploads/2025/08/Group-4-Copy.png");
}

.custom-my-table thead tr th:nth-child(n + 2)::after {
  right: 25px !important;
  background-image: url("http://oteranavi.com/column/wp-content/uploads/2025/08/Group-4-Copy-2.png");
}

.custom-my-table tbody tr:nth-child(1) td:not(:first-child) {
  padding: 12px 8px 8px 8px !important;
  text-align: center !important;
  vertical-align: top !important;
  line-height: 1.1 !important;
}

.custom-my-table tbody tr:nth-child(1) td:not(:first-child) img {
  object-fit: cover !important;
  border-radius: 6px !important;
  display: block !important;
  margin: 0 auto -2px auto !important;
  max-width: 70px !important;
  max-height: 70px !important;
}

.custom-my-table tbody tr:nth-child(1) td:not(:first-child) {
  font-size: 13px !important;
}

.custom-my-table tbody tr:nth-child(1) td:not(:first-child) br {
  display: none !important;
}

.custom-my-table tbody tr:nth-child(3) td:not(:first-child) *,
.custom-my-table tbody tr:nth-child(3) td:not(:first-child) span,
.custom-my-table tbody tr:nth-child(3) td:not(:first-child) div,
.custom-my-table tbody tr:nth-child(3) td:not(:first-child) p {
  display: inline-block !important;
  background: white !important;
  border: 1px solid #c463bf !important;
  color: #c463bf !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  padding: 4px 8px !important;
  margin: 2px !important;
  text-decoration: none !important;
}
.custom-my-table tbody tr:nth-child(7) td:not(:first-child) {
  text-align: center !important;
  white-space: nowrap;
}

.custom-my-table tbody tr:nth-child(8) td:not(:first-child) {
  padding: 6px !important;
}

/*
.custom-my-table tbody tr:nth-child(8) td:not(:first-child)::before {
    content: '公式サイト' !important;
    position: absolute !important;
    top: 6px !important;
    left: 6px !important;
    right: 6px !important;
    bottom: 6px !important;
    transform: none !important;
    color: white !important;
    font-size: 12px !important;
    font-weight: bold !important;
    background: linear-gradient(135deg, #4CAF50, #2E7D32) !important;
    border-radius: 6px !important;
    cursor: pointer !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.2) !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
	pointer-events: none !important; 
}
*/
.custom-my-table .swl-bg-color {
  display: inline-block !important;
  border-radius: 4px !important;
  font-size: 11px !important;
  padding: 4px 8px !important;
  margin: 2px !important;
}
.custom-my-table th:first-child,
.custom-my-table td:first-child {
  width: 75px !important;
  font-size: 11px !important;
  padding: 8px 4px !important;
  text-align: left !important;
}

.custom-my-table {
  display: block !important;
}
.custom-my-table th:not(:first-child),
.custom-my-table td:not(:first-child) {
  font-size: 14px !important;
  padding: 6px 7px !important;
  width: 113px;
}
.custom-my-table a {
  font-size: 13px;
  background-color: #238d22;
  border-radius: 5px 5px 5px 5px;
  display: inline-block;
  margin: 5px 3px;
  text-decoration: none;
  padding: 11px 12px;
  color: #fff;
  text-align: center;
}

.custom-my-table a:hover {
  text-decoration: none;
}

@media screen and (max-width: 600px) {
  .custom-my-table {
    font-size: 11px !important;
    line-height: 1.2 !important;
  }

  .custom-my-table th:first-child,
  .custom-my-table td:first-child {
    width: 70px !important;
    max-width: 70px !important;
    font-size: 14px !important;
    padding: 11px 2px !important;
  }

  .custom-my-table th:not(:first-child),
  .custom-my-table td:not(:first-child) {
    font-size: 14px !important;
    padding: 6px 7px !important;
    width: 113px;
  }

  .custom-my-table thead th {
    font-size: 12px !important;
    font-weight: bold !important;
    padding: 8px 4px !important;
  }
}

/* 更新履歴 */
.single #content .changelog-box {
  border: 1px solid var(--color_border--table);
  background-color: #fff;
  padding: 16px;

  .collapsible {
    display: flex;
    flex-direction: column;
    gap: 12px;

    .body {
      order: 1;
      position: relative;
      overflow: hidden;
      max-height: 6.5rem;
      transition: max-height 0.3s ease;

      > p:first-child {
        text-align: center;
        font-weight: bold;
        font-size: 16px;
        margin-bottom: 0.5em;
      }

      .row {
        margin-bottom: 1em;
        padding-bottom: 1em;
        border-bottom: 1px solid var(--color_border--table);

        > p:first-child {
          font-weight: bold;
          font-size: 14px;
          margin-bottom: 4px;
        }
        ul {
          margin-left: 0;
          padding-left: 0;
          list-style: none;
          li {
            padding-left: 14px;
            margin: 0;
            &::before {
              content: "・";
              position: absolute;
              left: 0px;
            }
          }
        }
      }

      &::after {
        content: "";
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        height: 2.5rem;
        background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff);
      }
    }

    .summary {
      order: 2;
      cursor: pointer;
      padding: 12px 16px;
      border-radius: 8px;
      text-align: center;
      font-size: 16px;
      font-weight: bold;
      border: 1px solid var(--color_border--table);
      margin-top: 1em;

      .open {
        display: inline;
      }
      .close {
        display: none;
      }
    }
  }

  > input:checked + .collapsible {
    .body {
      max-height: none;
      &::after {
        display: none;
      }
    }
    .summary {
      .open {
        display: none;
      }
      .close {
        display: inline;
      }
    }
  }
}

/* サービス情報デザイン */
.single #content .service-ranking-card {
  --purple-color: #c463bf;
  --grey-color: #8e8d8e;
  border: 14px solid;
  border-image: linear-gradient(-20deg, #ab99d5 0%, #fbc2eb 100%) 1;
  padding: 14px;
  background-color: #fff;
  h2 {
    background: none;
    color: #70266c;
    margin: 0;
    padding: 0.5em 0 1em;
    text-align: center;
  }
  div.wp-block-group.is-row {
    .cap_box {
      width: 33%;
      .cap_box_ttl {
        background-color: var(--purple-color);
        border-radius: 5px 5px 0 0;
        font-weight: bold;
        padding: 0.1em 0;
        span {
          display: inline-flex;
          align-items: center;
          gap: 1px;
          img {
            width: 0.9em !important;
          }
        }
      }
      .cap_box_content {
        border: 2px solid var(--purple-color);
        border-radius: 0 0 5px 5px;
        padding: 0;
        text-align: center;
        .rankline {
          display: inline-flex;
          align-items: baseline;
          white-space: nowrap;
          span {
            &:nth-child(1) {
              font-size: 20px;
              font-weight: bold;
              color: var(--purple-color);
            }
            &:nth-child(2) {
              margin-left: 0.1em;
              font-size: 14px;
              font-weight: bold;
              color: var(--purple-color);
            }
            &:nth-child(3) {
              margin: 0 0.2em;
              font-size: 14px;
              color: var(--grey-color);
            }
            &:nth-child(4) {
              font-size: 16px;
              font-weight: bold;
              color: var(--grey-color);
              letter-spacing: -0.5px;
            }
            &:nth-child(5) {
              margin-left: 0.1em;
              font-size: 14px;
              font-weight: bold;
              color: var(--grey-color);
            }
          }
        }
      }
    }
  }
  figure.wp-block-image {
    max-width: 500px;
    margin: 0 auto 16px;
  }
}

/* おすすめBOX */
.single #content .recommend-box {
  border: 12px solid;
  border-image: linear-gradient(-54deg, #ab99d5 0%, #f0a0da 100%) 1;
  padding: 20px 10px 10px 0;
  background-color: #fff;
  font-weight: bold;
  .recommend-title {
    background: linear-gradient(135deg, #f1a0da 0%, #b296d6 70%, #b296d6 100%);
    color: #fff;
    display: block;
    width: fit-content;
    margin: 0 auto;
    font-size: 16px;
    padding: 8px 30px;
    position: relative;
    &:before,
    &:after {
      content: "";
      position: absolute;
      top: -10px;
      width: 32px;
      height: 48px;
      background: url("https://oteranavi.com/column/wp-content/uploads/2025/07/caption-box-deco.png");
    }
    &:before {
      left: 0;
      transform: scale(0.6) translateY(-4px) scaleX(1);
    }
    &:after {
      right: 0;
      transform: scale(0.6) translateY(-4px) scaleX(-1);
    }
  }
  ul {
    list-style: none;
    padding: 0;
    margin-top: 16px;
    margin-left: 14px;
    li {
      position: relative;
      padding-left: 1.2em;
      text-decoration-line: underline;
      text-decoration-style: dashed;
      text-decoration-color: #e29ed9;
      text-underline-offset: 0.3em;
      &:before {
        content: "";
        position: absolute;
        left: 0;
        top: 0.3em;
        width: 1em;
        height: 1em;
        background: url("https://oteranavi.com/column/wp-content/uploads/2025/09/diamond-bullet.png")
          no-repeat center/contain;
      }
    }
  }
}

/* テーブル折り畳み */
.single #content {
  figure.clip-rows tbody tr:nth-child(n + 11) {
    display: none;
  } /* 閉：10行だけ */
  figure.clip-rows.is-open tbody tr {
    display: table-row;
  } /* 開：全行 */
  .swell-block-accordion.clip-rows:has(> details[open]) {
    display: none !important;
  }
  .swell-block-accordion[class*=" clip-"],
  .swell-block-accordion[class^="clip-"] {
    margin-top: 12px !important;
    summary {
      background-color: #fff;
      border: 1px solid #c99ad7;
      font-weight: bold;
      padding: 10px;
      .swell-block-accordion__label {
        color: #c99ad7;
        text-align: center;
      }
      .swell-block-accordion__icon.c-switchIconBtn {
        display: none;
      }
    }
  }
}

.c-scrollHint {
  display: none !important;
}
.c-scrollHint::-webkit-scrollbar {
  display: none !important;
}

/* おすすめ3選 */
.single #content .ranking-box {
  --purple: #7f317b;
  --purple-bk: #f1ebf1;
  --gold: #d6bb63;
  --silver: #acacac;
  --bronze: #cda273;
  --btn-green: #0eb03a;
  --the-solid-shadow: #048b28;

  background-color: #f1ebf1;
  margin-left: -4vw;
  margin-right: -4vw;
  padding: 45px 0;

  & > .wp-block-group__inner-container {
    & > p.has-text-align-center {
      color: var(--purple);
      font-size: 22px;
      font-weight: bold;
      margin-bottom: 0px;
      letter-spacing: 1.13px;
      position: relative;
      padding-bottom: 1em;

      &:after {
        content: "";
        display: block;
        width: 178px;
        height: 12px;
        margin: 2px auto 0;
        background: url("https://oteranavi.com/column/wp-content/uploads/2025/09/decorative-divider.png")
          no-repeat center/contain;
      }
    }

    .ranking-box-scroll {
      display: flex;
      gap: 10px;
      overflow-x: auto;
      &:before,
      &:after {
        content: "";
        flex: 1 0 0;
        pointer-events: none;
      }
    }

    .ranking-box-card {
      width: 212px;
      min-width: 212px;
      flex: 0 0 auto;
      background-color: #fff;
      border-radius: 10px;
      text-align: center;
      padding: 20px 12px;

      .is-row__inner-container {
        width: 100%;
        & > p {
          color: var(--purple);
          font-size: 18px;
          font-weight: bold;
          margin: 1em 0;
          text-decoration-line: underline;
          text-decoration-color: #883b84;
          text-decoration-thickness: 1px;
          text-underline-offset: 8px;
        }
      }

      figure {
        position: relative;
        display: inline-block;
        width: 156px;
        height: 156px;
        margin: 0;
        img {
          width: 100%;
          height: 100%;
          border-radius: 50%;
          object-fit: cover;
          object-position: center top;
        }
        &:after {
          position: absolute;
          top: 0;
          left: 0;
          width: 40px;
          height: 40px;
          border-radius: 50%;
          color: #fff;
          font-weight: bold;
          font-size: 26px;
          line-height: 40px;
          text-align: center;
          visibility: visible;
        }
      }
      &.rank1 figure::after {
        content: "1";
        background: var(--gold);
      }
      &.rank2 figure::after {
        content: "2";
        background: var(--silver);
      }
      &.rank3 figure::after {
        content: "3";
        background: var(--bronze);
      }

      .cap_box {
        width: 100%;
        .cap_box_ttl {
          background-color: var(--purple-bk);
          border-radius: 3px;
          color: var(--purple);
          font-weight: bold;
          padding: 2px 0;
          span {
            display: inline-flex;
            align-items: center;
            gap: 1px;
            font-size: 12px;
          }
        }
        .cap_box_content {
          border: 0;
          font-weight: bold;
          padding: 4px 0 1px 0;
          text-align: center;
          p {
            font-size: 14px;
          }
        }
      }
      .cap_box:nth-child(1) .cap_box_content p {
        color: var(--gold);
      }
      .cap_box:nth-child(2) .cap_box_content p {
        letter-spacing: -0.5px;
        &:after {
          content: "円/分";
          font-size: 10px;
          margin-left: 1px;
        }
      }
      .wp-block-group.is-row {
        gap: 5px;
        margin-bottom: 0;
        .cap_box {
          width: 33%;
        }
      }
      .swell-block-button {
        margin-top: 10px;
        a {
          width: 100%;
          background-color: var(--btn-green);
          padding: 0.5em;
          text-decoration: none;
          span {
            color: #fff;
            font-size: 14px;
          }
        }
      }
    }
  }
}

/* 監修者 */
.single #content .supervisor-block {
  background-color: #fff;
  border: 1px solid #e5e5e5;
  grid-template-columns: 100px auto !important;
  gap: 12px;
  padding: 16px;
  figure {
    position: relative;
    &:after {
      content: "監修者";
      position: absolute;
      bottom: 0;
      left: 0;
      width: 100%;
      background: #c463bf;
      color: #fff;
      font-size: 13px;
      font-weight: bold;
      text-align: center;
      padding: 4px 0;
      border-radius: 4px;
      line-height: 1;
      box-sizing: border-box;
    }
    img {
      border-radius: 999px;
    }
  }
  p {
    font-size: 12px;
    line-height: 1.4;
    margin-bottom: 0;
  }
  p:nth-child(2) {
    font-size: 15px;
    font-weight: bold;
    margin-bottom: 8px;
  }
}

/* 占い師 */
.single #content .fortuneteller-block {
  background-color: #fff;
  border: 1px solid #e5e5e5;
  grid-template-columns: 100px auto !important;
  gap: 12px;
  padding: 16px;
  figure {
    position: relative;
    img {
      border-radius: 999px;
    }
  }
  p:nth-child(1) {
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 12px;
  }
  .swl-inline-btn.is-style-btn_solid {
    margin: 0;
    a {
      color: #fff;
      background: #8e538d;
      border-radius: 3px;
      box-shadow: 0 4px 0 #814b80;
    }
  }
}

/* リスト関連 */
.single #content .list-diamond,
.single #content .list-check,
.single #content .list-circle {
  margin-left: 0;
  padding-left: 0;
  font-weight: bold;
  list-style: none;
  li {
    position: relative;
    padding-left: 1.2em;
    line-height: 1.4;
    &:before {
      content: "";
      position: absolute;
      left: 0;
      top: 0.2em;
      width: 1em;
      height: 1em;
      background: url("https://oteranavi.com/column/wp-content/uploads/2025/09/diamond-bullet.png")
        no-repeat center/contain;
    }
  }
}
.single #content .list-check {
  li:before {
    background: url("/column/wp-content/uploads/2025/10/check-bullet.png")
      no-repeat center/contain;
  }
}
.single #content .list-circle {
  li:before {
    left: 0.1em;
    top: 0.35em;
    width: 0.7em;
    height: 0.7em;
    background: url("https://oteranavi.com/column/wp-content/uploads/2025/10/circle-bullet.png")
      no-repeat center/contain;
  }
}
.single #content .bg-white {
  background-color: #fff;
  border: 1px solid #e5e5e5;
  padding: 14px 12px;
}

/* カスタムタブ3 */
.single #content .custom_tab_g3 {
  .c-tabList {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.5em;
    justify-content: center;
    .c-tabList__item {
      flex: 0 0 auto;
    }
    .c-tabList__button {
      position: relative;
      background: #f9f9f7;
      opacity: 1;
      color: #d2d2d2;
      font-size: 14px;
      font-weight: 700;
      line-height: 1.3;
      border: none;
      padding: 0.5em 1.6em;
      cursor: pointer;
      &[aria-selected="true"] {
        background: #c463bf;
        color: #fff;
        &::after {
          content: "";
          position: absolute;
          bottom: -5px;
          left: 50%;
          transform: translateX(-50%);
          border-width: 6px 6px 0 6px;
          border-style: solid;
          border-color: #c463bf transparent transparent transparent;
        }
      }
    }
  }
  @media screen and (max-width: 600px) {
    .c-tabList {
      justify-content: space-between;
      .c-tabList__item {
        flex: 1;
      }
      .c-tabList__button {
        padding: 0.5em 0;
      }
    }
  }
  .c-tabBody {
    border: 0;
    padding: 1.5em 0;
    .wp-block-media-text {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 0.8em;
      .wp-block-media-text__media {
        align-self: start;
        img {
          /* width: 132px; */
          /* height: 132px; */
          width: 110px;
          height: 110px;
          border-radius: 50%;
          object-fit: cover;
          object-position: center;
        }
      }
      .wp-block-media-text__content {
        margin-top: 0.6em;
        max-width: 300px;
        .wp-block-group {
          background-color: #fff;
          border-radius: 5px;
          padding: 0.1em 0 0.5em 0.5em;
          .wp-block-group.is-row {
            padding: 0;
            margin-bottom: 0;
            p:nth-child(1) {
              color: #70266c;
              font-size: 12px;
              font-weight: bold;
              background-color: #f1ebf1;
              padding: 2px 4px;
            }
            p:nth-child(2) {
              font-size: 14px;
              font-weight: bold;
            }
            &:nth-of-type(1) {
              p:nth-child(2) {
                color: #70266c;
                font-size: 20px;
                &:after {
                  content: "円/分";
                  font-size: 10px;
                  margin-left: 2px;
                }
              }
            }
          }
        }
        .swell-block-button {
          a {
            padding-top: 8px;
            padding-bottom: 8px;
            width: 100%;
          }
          span {
            color: #fff;
          }
        }
      }
    }
    .wp-block-media-text + p {
      position: absolute;
      bottom: -6px;
      width: 110px;
      font-size: 15px;
      font-weight: bold;
      text-align: center;
      color: #70266c;
    }
  }
}

.single #content .table--reset-width,
.single #content .table-compare .table--reset-width {
  thead th:not(:first-child) {
    width: auto;
  }
}

/* 比較表2 */
.swl-inline-icon.is-chevron-down {
  --the-icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='currentColor' d='m22.9 33-13-13.1c-.8-.8-.8-2 0-2.8.8-.8 2-.8 2.8 0L24 28.4l11.3-11.3c.8-.8 2-.8 2.8 0 .8.8.8 2 0 2.8L25.1 33c-.6.6-1.6.6-2.2 0z'/%3E%3C/svg%3E");
  transform: scale(1.3);
  transform-origin: center;
}
.single #content .table-compare2 {
  .swl-inline-icon.is-check {
    --the-icon-svg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48'%3E%3Cpath fill='currentColor' d='M45.2 10.1 43.1 8c-.4-.4-1-.4-1.4 0L16.2 33.3l-9.9-9.9c-.4-.4-1-.4-1.4 0l-2.1 2.1c-.4.4-.4 1 0 1.4l13.4 13.4 29-29c.4-.2.4-.9 0-1.2z'/%3E%3C/svg%3E");
  }
  overflow-x: auto;
  display: block;
  width: 100%;
  table {
    border-top: 4px solid #884b79;
    border-collapse: collapse;
    width: max-content;
    table-layout: auto;
    background-color: #fff;
  }
  tr:nth-child(-n + 3) td {
    white-space: nowrap;
  }
  tr:nth-child(1) {
    td:nth-child(3) {
      background-color: #f0e0f0;
    }
    td:nth-child(n + 7) {
      background-color: #f1ebf1;
    }
    td:nth-child(8) {
      background-color: #ebdbeb;
    }
  }
  tr:nth-child(2) {
    td:nth-child(n + 1) {
      background-color: #f1ebf1;
    }
    td:nth-child(n + 9):nth-child(-n + 13) {
      background: #ebdbeb;
    }
  }
  td:first-child {
    position: sticky;
    left: 0;
    background: #fff;
    z-index: 2;
  }
  tr:first-child td:first-child {
    z-index: 3;
  }
  td {
    text-align: center;
    vertical-align: middle;
    border-color: #ccc;
    font-size: 10px;
    font-weight: bold;
    line-height: 1.4;
    padding: 8px;
  }
  tr:nth-child(1) {
    td:nth-child(1) {
      text-align: left;
    }
  }
  tr:nth-child(n + 3) {
    td:nth-child(1),
    td:nth-child(5),
    td:nth-child(12) {
      text-align: left;
    }
    td:nth-child(1) {
      & > a {
        color: #000;
      }
    }
    td:nth-child(3) {
      --size: 42px;
      --fg: #b44bab;
      --bg: #f1ebf1;
      --text: #fff;
      .high {
        --fg: #8e4487;
      }
      & > span {
        position: relative;
        width: var(--size);
        aspect-ratio: 1;
        border-radius: 50%;
        overflow: hidden;
        background: var(--bg);
        display: grid;
        place-items: center;
        margin: auto;
        color: var(--text);

        --max: 50;
        --val: 32;
        &:before {
          content: "";
          position: absolute;
          left: 0;
          right: 0;
          bottom: 0;
          height: calc(var(--val) / var(--max) * 100%);
          background: var(--fg);
        }
        & > span {
          --text-shadow: 1px 1px 0 var(--fg), -1px 1px 0 var(--fg),
            1px -1px 0 var(--fg), -1px -1px 0 var(--fg);
          color: #fff !important;
          font-size: 18px;
          z-index: 1;
          width: var(--size);
          align-items: baseline;
          text-shadow: var(--text-shadow);
          &:after {
            content: "点";
            font-size: 10px;
            margin-left: 1px;
            text-shadow: var(--text-shadow);
          }
        }
      }
    }
    td:nth-child(n + 13) {
      position: relative;
      overflow: visible;
      &:before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 13px;
        height: 13px;
        background-color: #f0eaef;
        border-radius: 2px;
        transform: translate(-50%, -50%);
        z-index: 0;
      }

      .swl-inline-icon {
        font-size: 15px;
        &:after {
          position: absolute;
          top: 55%;
          left: 75%;
          transform: translate(-50%, -60%) scale(1.2);
          z-index: 2;
          pointer-events: none;
          color: #843479;
        }
      }
    }
    td > img {
      width: 42px !important;
      height: 42px !important;
      object-fit: cover;
      object-position: center;
    }
    .swl-inline-btn {
      margin: 0 0 -4px 0;
      width: 100%;
      a {
        align-items: center;
        justify-content: center;
        background-color: #0eb03a;
        border-radius: 4px;
        box-shadow: inset 0px -3px 0px rgba(0, 0, 0, 0.1);
        color: #fff;
        cursor: pointer;
        display: flex;
        font-size: 10px;
        height: 42px;
        position: relative;
        vertical-align: top;
        width: auto;
        padding: 0 4px;
        text-decoration: none;
      }
    }
  }

  /* 比較表の続きを見る */
  &.clip-rows tbody tr:nth-child(-n + 12) {
    display: table-row;
  }
  &.clip-rows tbody tr:nth-child(n + 13) {
    display: none;
  }
  &.clip-rows:has(+ .swell-block-accordion.clip-rows > details[open]) tbody tr {
    display: table-row;
  }
  + .swell-block-accordion.clip-rows:has(> details[open]) {
    display: none !important;
  }
  + .swell-block-accordion[class*=" clip-"],
  + .swell-block-accordion[class^="clip-"] {
    margin-top: -16px !important;
    summary {
      background-color: #fff;
      border: 1px solid #884b79;
      border-radius: 6px;
      font-weight: bold;
      padding: 10px;
      .swell-block-accordion__label {
        color: #884b79;
        font-size: 15px;
        text-align: center;
      }
      .swell-block-accordion__icon.c-switchIconBtn {
        display: none;
      }
    }
  }
}


/* =========================================================
   smp_navi（バー型 追従リンク）— デザイン & レイアウト
   - 数量は可変。各ボタンは常に等幅（行ごとに均等割り）
   - 固定化の制御は JS（.is-fixed を付与）
   - ここでは見た目のみを定義
   ========================================================= */

/* スペーサー（固定時に JS が高さを付与してレイアウトシフトを防止） */
.smp-sticky__spacer { display:block; height:0; }

/* バー：通常時はそのままのブロック、固定時は背景/影のみ付与（位置はJSで設定） */
.smp-sticky {
  background: transparent;
      margin-bottom: 0px !important;
}
.smp-sticky.is-fixed {
  background: #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,0.04);
  z-index: 9999;
}

/* 内側のパディング（必要に応じて調整） */
.smp-sticky__inner {
  max-width: 1200px;
  margin: 0 auto;
  padding: 8px 12px;
}

/* ▼ ボタン群：Grid で均等割り。数が増減しても等幅になり、狭い幅では自動改行 */
.smp-sticky__list {
  display: flex;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    gap: 6px;

}

/* li 自体に特別な幅指定は不要（Grid が制御） */
.smp-sticky__item {
  flex: 1;
  margin-bottom: 0;
  text-align: center;
  border: 1px solid #cecece;
  border-radius: 3px;
}

/* ボタンの見た目（ご提示の画像に合わせた白地＋グレーボーダー＋角丸） */
.smp-sticky__link {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 25px;
    padding: 7px;
    text-decoration: none;
    font-size: 14px;
    line-height: 1;
    font-weight: 400;
    transition: background .15s ease, border-color .15s ease, transform .08s ease;
    color: #333 !important;
}

/* ホバー/フォーカスの軽い反応 */
.smp-sticky__link:hover,
.smp-sticky__link:focus-visible {
  border-color: #c7c7cc;
  outline: none;
  text-decoration: none !important;
}

/* 押下時のわずかな沈み込み */
.smp-sticky__link:active {
  transform: translateY(1px);

  text-decoration: none !important;
}

/* 低モーション環境への配慮（任意） */
@media (prefers-reduced-motion: reduce) {
  .smp-sticky__link { transition: none !important; }
}







/* =========================================================
   smp_navi — ページャー（UL左右配置・モバイルのみ表示）
   - :has() で「4件目が存在する場合のみ」表示
   - PC(>=769px) では常に非表示
   - ボタンは枠線なし／背景透明（必要なら後述の背景を有効化）
   ========================================================= */

/* PC はページャー非表示（最優先） */
@media (min-width: 769px){
  .smp-sticky__pager{ display: none !important; }
}

/* モバイルのみ：UL 左右にボタンを重ねる */
@media (max-width: 768px){
  /* UL の左右にボタンを置くため、内側を相対配置＆左右余白を確保 */
  .smp-sticky__inner{
    position: relative;
    padding-left: 44px;   /* ← 左ボタンぶんの余白 */
    padding-right: 44px;  /* → 右ボタンぶんの余白 */
  }

  /* ページャーのベース：デフォルトは非表示＆クリックを透過 */
  .smp-sticky__pager{
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    display: none;              /* 後述の :has() で必要時のみ表示 */
    pointer-events: none;       /* コンテナ自体はクリック不可 */
    z-index: 2;                 /* リンクより前面 */
  }

  /* ─ 条件表示：4件目が存在する（= 3件超）ときだけ表示 ─ */
  .smp-sticky__inner:has(.smp-sticky__list .smp-sticky__item:nth-child(4)) .smp-sticky__pager{
    display: block;
  }

  /* 左右位置（.smp-sticky__pager は2つある想定：先頭＝左、最後＝右） */
  .smp-sticky__inner .smp-sticky__pager:first-of-type{ left: 6px; }
  .smp-sticky__inner .smp-sticky__pager:last-of-type { right: 6px; }

  /* ボタン本体：枠線なし・背景透明・クリック有効化 */
  .smp-sticky__prev,
  .smp-sticky__next{
    width: 32px;
    height: 32px;
    border: none;               /* ← ボーダーなし */
    background: transparent;    /* ← 背景なし（必要なら下2行をコメント解除） */
    /* background: rgba(255,255,255,.95);
       box-shadow: 0 2px 6px rgba(0,0,0,.12); */
    color: #333;
    font-size: 18px;
    line-height: 32px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    pointer-events: auto;       /* ← ボタンはクリック可能に */
  }

  /* 無効状態の視覚表現 */
  .smp-sticky__prev.is-disabled,
  .smp-sticky__next.is-disabled,
  .smp-sticky__prev:disabled,
  .smp-sticky__next:disabled{
    opacity: .35;
  }

  /* ページングで非表示にする li（既存） */
  .smp-sticky__item.is-hidden{ display: none !important; }

  /* =========================================================
   スワイプ時の横スクロール設定（モバイル / items>3）
   - .smp-sticky__list に .is-swipe が付くと横スクロール化
   - 1画面に3個見える幅（隙間6px×2を考慮）
   ========================================================= */
@media (max-width: 768px){
  .smp-sticky__list.is-swipe{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: none;           /* Firefox */
    -ms-overflow-style: none;        /* IE/旧Edge */
  }
  .smp-sticky__list.is-swipe .smp-sticky__item{
    flex: 0 0 calc((100% - 12px)/3); /* 3個/画面、gap=6px×2 = 12px */
    scroll-snap-align: center;
  }

  .smp-sticky__list.is-swipe::-webkit-scrollbar{
    /* Chrome / Safari / 新Edge */
    display: none;                    /* 最優先 */
    width: 0;
    height: 0;
    background: transparent;
  }
  .smp-sticky__list.is-swipe::-webkit-scrollbar-thumb{ background: transparent; }
  .smp-sticky__list.is-swipe::-webkit-scrollbar-track{ background: transparent; }
  
}

}
