@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/** 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(/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(/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("/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(/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("/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("/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("/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("/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("/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;
}
