@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補正 **/
#wrapper .header__headBox {
  font-size: 14px;
}
#footer {
  font-size: 14px;
}
.footerCompanyBox__timeTable .icon-circle::before {
  content: "\f111";
}
.p-breadcrumb__list {
  margin-bottom: 0;
}
.p-articleMetas__termList.c-categoryList {
  display: none;
}
.p-articleFoot,
.l-articleBottom {
  display: none;
}

/** ベース **/
.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: #313131;
  --main-text-gray: #999;
  --main-text-blue: #224c64;

  --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-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-color: #a99667;
    color: #fff;
    margin-left: 0;
    margin-right: 0;
    &::before {
      display: none;
    }
  }
  h3 {
    color: var(--main-text-blue);
    &::before {
      background: repeating-linear-gradient(
        90deg,
        #a99667 0%,
        #a99667 29.3%,
        rgba(150, 150, 150, 0.2) 29.3%,
        rgba(150, 150, 150, 0.2) 100%
      );
    }
  }
  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%);
  }
  .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;
    }
  }
  .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-blue);
      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 {
  .sticky-target {
    .sticky-box {
      & > div {
        display: flex;
        gap: 10px;
        & > p {
          flex: 1;
          margin-bottom: 0;
          text-align: center;
          border: 1px solid #cecece;
          border-radius: 3px;
          a {
            color: var(--main-text-black);
            display: block;
            text-decoration: none;
            padding: 7px;
          }
        }
      }
    }
  }
  @media (max-width: 768px) {
    .sticky-target {
      margin-bottom: 20px;
      .sticky-box {
        z-index: 999;
        &.is-fixed {
          position: fixed;
          top: 0;
          left: 0;
          width: 100%;
          background: #fff;
          padding: 16px 60px 16px 16px;
          box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
        }
      }
    }
  }
  #how-to-choose {
    margin-top: 0;
  }
  .is-style-balloon_box {
    background-color: #e0e9ee !important;
    border-radius: 5px;
    color: var(--main-text-blue);
    font-weight: bold;
    margin-bottom: 20px;
    padding: 0.7em 1em;
    letter-spacing: 1.5px;
    &:before {
      border-top-color: #e0e9ee;
      left: 5em;
    }
  }
  .balloon1 {
  }
  .balloon2 {
    margin-left: 3em;
  }
  .director-profile-wrapper {
    border: 1px solid #e0e9ee;
    .director-profile-title {
      background-color: #e0e9ee;
      color: var(--main-text-blue);
      font-size: 18px;
      font-weight: bold;
      padding: 10px 14px;
      margin-bottom: 0;
    }
    & > div > div {
      padding: 18px 14px;
    }
    img {
      width: 65%;
      margin: 0 auto;
    }
    table {
      th,
      td {
        font-size: 14px;
        text-align: left;
        vertical-align: middle;
      }
      th {
        font-size: 15px;
        font-weight: bold;
        line-height: 1.375;
        text-align: center;
        width: 30%;
      }
      tr:nth-of-type(2n + 1) {
        background-color: inherit;
      }
    }
  }
}
