@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);
}

.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;
  }
  .post_content > * {
    margin-bottom: 48px;
  }
  .hide {
    display: none;
  }
  p,
  span,
  ol,
  li {
    font-size: 14px;
    font-weight: inherit;
    line-height: 162.5%;
  }
  p {
    margin-bottom: 1.5em;
  }
  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;
  }
  .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;
    }
  }
  .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;
    }
  }
}
@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;
            text-decoration: underline;
          }
        }
      }
    }
  }
}
