@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-size: 14px;
}
.p-breadcrumb__list {
  margin-bottom: 0;
}
.p-articleHead,
.p-articleFoot,
.p-articleMetas,
.l-articleBottom {
  display: none;
}
@media (min-width: 768px) {
  .site-header .main-navigation {
    width: auto;
    float: none;
    font-size: 12px;
    margin-right: 0;
    display: flex;
    justify-content: space-between;
    gap: 5em;
  }
}

/** ベース **/
.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-color: #333;
  --main-dark-color: #111;
  --main-light-color: #eee;
  --main-text-black: #111;
  --main-text-gray: #999;

  --star-high-color: #ff2600;
  --star-mid-color: #ff7e33;
  --star-low-color: #ffaf54;

  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-feature-settings: "palt" 1;
    letter-spacing: 0.04em;
    font-weight: bold;
    line-height: 125%;
    font-size: 20px;
    color: #333;
  }
  b {
    display: block;
    &::before,
    &::after {
      all: unset;
      content: unset;
    }
  }
  h2,
  h3,
  h4 {
    background: none;
    margin-top: 2em;
    margin-bottom: 1em;
    padding: 0;
  }
  h4 {
    border-left: 0;
  }
  a {
    color: #0000ff;
    text-decoration: underline;
  }
  img {
    height: auto;
    width: 100%;
    max-width: none;
  }
  ul.margin-left {
    margin: 0 0 0 1em;
  }
  .wp-block-image .alignleft.size-full {
    width: 370px;
  }
  .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: 700;
  }
  .mark_orange {
    background: linear-gradient(transparent 60%, rgba(254, 198, 214, 0.6) 60%);
  }
  .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;
    }
  }
  .person {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    figure {
      align-self: flex-start;
    }
    img {
      height: auto;
      width: 48px;
      aspect-ratio: 1;
      border-radius: 999px;
    }
    p {
      margin: 0;
    }
    p:nth-child(1) {
    }
    p:nth-child(2) {
      font-size: 16px;
    }
  }
  .rev-wrapper {
    display: flex;
    flex-direction: column;
    gap: 8px;
  }
  .rev-wrapper .rev-item {
    display: flex;
    gap: 12px;
    padding: 8px 12px;
    border: 1px solid #efefef;
    border-radius: 4px;
    line-height: 1.5;

    div,
    p,
    dl,
    dt,
    dd {
      font-size: 12px;
      line-height: 1.5;
    }
    figure {
      width: 80px;
      img {
        object-fit: cover;
        height: 80px;
        border-radius: 999px;
        vertical-align: bottom;
        width: 80px;
      }
    }
    .bio {
      display: flex;
      flex-direction: column;
      gap: 4px;
      div:nth-child(1) {
        font-weight: 700;
        dd {
          font-size: 16px;
        }
      }
      div.detail {
        color: var(--main-text-black);
        height: calc(1.5em * 3);
        overflow-y: hidden;
        position: relative;
        &.expanded {
          height: auto;
          overflow-y: visible;
        }
        .read-more {
          background-color: #fff;
          bottom: 0;
          color: #999;
          cursor: pointer;
          padding-left: 2px;
          position: absolute;
          right: 0;
        }
        a {
          color: var(--main-text-black);
          text-decoration: none;
          &:hover {
            text-decoration: underline;
          }
        }
      }
    }
  }
  .flow-item {
    .wp-block-media-text__content {
      align-self: start;
      p:nth-child(1) {
        font-size: 14px;
        line-height: 1.5;
        margin-bottom: 10px;
      }
      p:nth-child(2) {
        font-size: 12px;
        line-height: 1.5;
      }
    }
    figure {
      align-self: start;
    }
  }
  .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 {
    font-size: 14px;
    th {
      color: var(--main-text-black);
      font-size: 16px;
      text-align: center;
      vertical-align: middle;
      background-color: #eee;
    }
    td {
      padding: 7px;
    }
  }
  .table-base.n1-2 {
    tr:nth-child(1) th:nth-child(2) {
      white-space: nowrap;
    }
  }
  .table-base.n3-2 {
    tr:nth-child(3) td:nth-child(2) {
      white-space: nowrap;
    }
  }
}
@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 {
  h2 {
    text-align: center;
    padding: 16px;
    border-top: 2.5px solid #000;
    border-bottom: 2.5px solid #000;
    margin-bottom: 20px;
    span {
      display: block;
      font-size: 12px !important;
    }
  }
  h3 {
    position: relative;
    padding-bottom: 12px;
    &:after {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      height: 2px;
      width: 100%;
      background-color: #eee; /* 薄いグレーの全体下線 */
    }
    &:before {
      content: "";
      position: absolute;
      bottom: 0;
      left: 0;
      height: 2px;
      width: 25%;
      background-color: var(--main-text-black); /* 太くて濃い左側線 */
      z-index: 1;
    }
  }
  h4 {
    border-left: 3px solid var(--main-text-black);
    font-size: 18px;
    padding-left: 12px;
  }
  .flow-item {
    .wp-block-media-text__content {
      p:nth-child(1) {
        &:after {
          content: "";
          border-bottom: 1px solid;
          margin-top: 4px;
          display: block;
        }
      }
    }
    .wp-block-media-text__content > p:nth-child(1) > strong {
      &:before {
        width: 1.5em;
        height: 1.5em;
        line-height: 1.5em;
      }
    }
  }
  .table-choice {
    font-size: 12px;
    border-collapse: separate;
    border-spacing: 0;
    img {
      width: 100% !important;
      height: auto;
      border-radius: 4px;
    }
    thead {
      border: 2px solid #000;
    }
    th {
      text-align: center;
    }
    td {
      border-top: none;
      border-bottom: none;
      border-left: 2px solid #000;
      border-right: 2px solid #000;
      background-color: #eee;
      .swl-inline-btn {
        display: block;
        margin-left: 0;
        margin-right: 0;
        a {
          background-color: #444;
          border-radius: 4px;
          display: block;
          color: #fff;
          box-shadow: 0 4px 0 var(--main-text-black);
          font-size: 12px;
          text-align: center;
          text-decoration: none;
        }
      }
    }
    tr:last-child td {
      border-bottom: 2px solid #000;
    }
    tr:nth-child(3) td {
      position: relative;
      padding: 8px 16px;
      font-weight: bold;
      overflow: hidden;
      &:before {
        content: "";
        position: absolute;
        top: 0px;
        left: 9px;
        right: 9px;
        background-color: #fff;
        bottom: 0px;
        border-radius: 4px;
        box-sizing: border-box;
        z-index: -1;
      }
      .custom-star-rating {
        letter-spacing: -1px;
      }
      .custom-star-rating:nth-child(1) {
        border-bottom: 2px solid #eee;
        padding-bottom: 8px;
        .custom-stars {
          font-size: 14px;
          margin-right: 2px;
        }
      }
      .custom-star-rating:nth-child(2) {
        margin-top: 4px;
      }
      .custom-stars-name {
        margin-right: 2px;
      }
    }
  }
  .table-camp {
    th,
    td {
      font-size: 12px;
      line-height: 1.375;
      .swl-inline-btn {
        display: block;
        margin: 0;
        a {
          font-size: 10px;
          line-height: 1.375;
          letter-spacing: -1px;
          padding: 6px 4px;
          display: block;
          align-items: center;
          height: auto;
          background-color: #0eb03a;
          border-radius: 4px;
          box-shadow: inset 0px -4px 0px rgba(0, 0, 0, 0.1);
          position: relative;
          width: 100%;
          color: #fff;
          text-decoration: none;
          white-space: nowrap;
        }
      }
      img {
        width: 100% !important;
        height: 50px;
        object-fit: cover;
        margin: 6px auto;
      }
    }
    th:nth-child(1) {
      width: 30%;
    }
    th:nth-child(2) {
      width: 48%;
    }
  }
  @media (min-width: 768px) {
    .table-camp {
      td img {
        height: 100px;
      }
    }
  }
  .rich-choice {
    .swl-inline-btn {
      display: block;
      a {
        font-size: 14px;
        line-height: 1.375;
        padding: 8px;
        display: block;
        align-items: center;
        height: auto;
        background-color: #0eb03a;
        border-radius: 4px;
        box-shadow: inset 0px -4px 0px rgba(0, 0, 0, 0.1);
        position: relative;
        width: 100%;
        color: #fff;
        text-decoration: none;
        white-space: nowrap;
      }
    }
    .swell-block-columns__inner {
      margin: 0;
      gap: 0;
      border: 1px solid #111;
    }
    .swell-block-column {
      margin: 0;
      border-bottom: 1px solid #111;
    }
    .swell-block-column:nth-child(odd) {
      width: 40%;
      padding-left: 10px;
      padding-top: 10px;
      padding-right: 5px;
      padding-bottom: 10px;
    }
    .swell-block-column:nth-child(even) {
      width: 60%;
      padding-left: 5px;
      padding-top: 10px;
      padding-right: 10px;
      padding-bottom: 10px;
      & > p:nth-child(1) {
        background-color: #111;
        color: #fff;
        display: inline;
        font-size: 12px;
        font-weight: bold;
        padding: 4px 8px;
        white-space: nowrap;
        span {
          font-size: 12px;
          margin-right: 2px;
        }
      }
      & > p:nth-child(2) {
        font-size: 10px;
        font-weight: bold;
        margin-top: 6px;
        margin-bottom: 1em;
      }
      .wp-block-group {
        background-color: #f7f7f7;
        border-radius: 4px;
        position: relative;
        padding: 6px 8px;
        margin-bottom: 0;
        .wp-block-group__inner-container {
          p:nth-child(1) {
            font-size: 14px;
            font-weight: bold;
            display: inline;
            margin-right: 1em;
          }
          .custom-star-rating:nth-child(2) {
            display: inline;
            .custom-stars {
              font-size: 16px;
            }
            .custom-stars-text {
              font-size: 12px;
              margin-left: 0.5em;
            }
          }
          p:nth-child(3) {
            display: none;
          }
          .wp-block-table {
            border-top: 1px solid #ccc;
            padding-top: 4px;
            table {
              table-layout: auto;
              td {
                background-color: inherit;
                border: 0;
                padding: 0;
                white-space: nowrap;
                font-size: 10px;
              }
            }
          }
        }
      }
    }
  }
  .service-compare {
    .counter-item {
      margin-top: 2.5em;
    }
    .counter-item strong {
      font-size: 16px;
      &:before {
        font-size: 16px;
      }
    }
  }
}
