@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
*/
/** ヘッダー/フッター **/
footer h1,
header h1 {
  width: 41.5em;
  height: 12.4em;
}
footer,
header {
  font-family: "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN", sans-serif;
  font-size: 62.5% !important;
}
header {
  float: inherit !important;
  height: 26.8em;
}
footer a,
header a {
  color: #7f8080;
}
header a:hover {
  color: #f7c2bb;
}
header h1 {
  top: 8.2em;
  left: 8em;
}
header #mainnavi .navi01 {
  width: 78.5em;
  top: 8.3em;
  right: 7em;
  font-size: 1.6em;
}
header #mainnavi .navi01 li {
  margin-right: 1.55em;
}
header #mainnavi .navi01 li a:before {
  width: 0.4em;
  height: 0.4em;
  top: 0.6em;
  right: -1.1em;
  border-radius: 0.3em;
}
footer {
  margin-top: 20em;
  padding-bottom: 10em;
}
footer h1 {
  margin-left: -20.7em;
}
footer .footer_navi {
  margin-top: 6em;
}
footer .footer_navi li {
  margin-bottom: 4em;
}
footer .footer_navi li:before {
  width: 0.1em;
  height: 3.2em;
  top: 2em;
  right: -0.1em;
}
footer .footer_navi li a {
  font-size: 1.8em;
  line-height: 2.1em;
}
footer .footer_navi li a .type {
  font-size: 0.75em;
  border-radius: 1.5em;
  line-height: 2.3em;
  padding: 0 2.4em;
  margin-bottom: 0.3em;
}
footer .privacy_btn {
  font-size: 1.4em;
  background-size: 1.4em auto;
  padding-left: 2em;
}
footer .copyright {
  font-size: 1.2em;
  letter-spacing: 0.2em;
  margin-top: 4em;
}
.wrapbox02 {
  min-width: 120em;
  max-width: 170em;
}
@media screen and (min-width: 1340px) and (max-width: 1420px) {
  header #mainnavi .navi01 {
    right: 4em;
  }
}
@media screen and (min-width: 1210px) and (max-width: 1339px) {
  footer,
  header {
    font-size: 55.5% !important;
  }
  header #mainnavi .navi01 {
    right: 4em;
  }
}
@media screen and (min-width: 1090px) and (max-width: 1209px) {
  footer,
  header {
    font-size: 50.5% !important;
  }
  header #mainnavi .navi01 {
    right: 4em;
  }
}
@media screen and (min-width: 1024px) and (max-width: 1089px) {
  footer,
  header {
    font-size: 47.5% !important;
  }
  header #mainnavi .navi01 {
    right: 4em;
  }
}
@media screen and (min-width: 740px) and (max-width: 1023px) {
  footer,
  header {
    font-size: 36.5% !important;
  }
  header #mainnavi .navi01 {
    right: 4em;
  }
}
@media screen and (min-width: 0px) and (max-width: 739px) {
  header {
    font-size: 71% !important;
    height: 10em !important;
    z-index: 2;
  }
  footer {
    font-size: 63% !important;
    margin-top: 10em;
    padding-bottom: 8em;
  }
  header h1 {
    width: 24.5em;
    height: 7.4em;
    top: 1.5em;
    left: 1.5em;
  }
  header .s_menu {
    width: 8em;
    height: 7.1em;
    top: 1em;
    right: 1em;
  }
  header .s_menu:before {
    bottom: 1.5em;
    font-size: 1em;
    letter-spacing: 0.1em;
  }
  header .s_menu span {
    width: 3.3em;
    height: 0.8em;
    top: 2.8em;
    margin-left: -1.7em;
    border-top: 0.1em solid #666;
    border-bottom: 0.1em solid #666;
  }
  header .s_menu.select span {
    width: 1.8em;
    height: 1.8em;
    top: 2.1em;
    margin-left: -0.9em;
  }
  header #mainnavi .navi01 {
    width: 90% !important;
    top: 0;
    right: 0;
    margin-top: 7em;
    margin-left: 5%;
    border-top: 1px solid #f7c2bb;
    box-sizing: border-box;
  }
  header #mainnavi .navi01 li a {
    font-size: 0.9em;
    letter-spacing: 0.1em;
    border-bottom: 1px solid #f7c2bb;
    padding: 1.3em 0;
  }
  .wrapbox02 {
    min-width: unset;
    max-width: unset;
  }
  footer h1 {
    width: 100%;
    height: 10.4em;
    margin-left: 0;
  }
  footer .footer_navi {
    margin-top: 4em;
    margin-bottom: 1em;
  }
  footer .footer_navi li {
    margin-bottom: 2em;
  }
  footer .footer_navi li a {
    font-size: 1.5em;
  }
  footer .footer_navi li a .type {
    font-size: 0.7em;
    border-radius: 1.5em;
    line-height: 2.8em;
    padding: 0 0.8em;
  }
}

/** ベース **/
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;
}
.srt-container {
  padding-top: 0;
  margin-bottom: 0;
  color: #313131;
  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;
  .p-articleHead,
  .p-articleFoot,
  .p-articleMetas {
    display: none;
  }
  .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;
  }
  h2,
  h3,
  h4,
  b {
    display: block;
    &::before,
    &::after {
      all: unset;
      content: unset;
    }
  }
  h2,
  h3,
  h4 {
    background: none;
    margin-bottom: 16px;
    padding: 0;
  }
  h4 {
    border-left: 0;
  }
  a {
    color: #0eb03a;
    text-decoration: underline;
  }
  img {
    height: auto;
    width: 100%;
    max-width: none;
  }
  .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: #313131;
      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: #f7f7f7;
    border-radius: 4px;
    padding: 8px 12px;
    p,
    a {
      font-size: 12px;
      line-height: 1.5;
      margin-bottom: 1em;
    }
  }
  .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: #313131;
        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: #313131;
          text-decoration: none;
          &:hover {
            text-decoration: underline;
          }
        }
      }
    }
  }
  .accordion-link {
    summary {
      background: none;
      display: block;
      line-height: 1;
      padding: 0;
      .swell-block-accordion__label {
        font-size: 14px;
        color: #0eb03a;
        text-decoration: underline;
      }
      .swell-block-accordion__icon {
        display: none;
      }
    }
    .swell-block-accordion__body {
      padding-left: 0;
      font-weight: bold;
    }
  }
  .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;
      }
      a {
        color: inherit;
        text-decoration: none;
        &:hover {
          text-decoration: underline;
        }
      }
    }
    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;
    a,
    p,
    span {
      line-height: 1.5;
    }

    p:nth-child(1) {
      color: #111;
      font-size: 18px;
      font-weight: bold;
      margin-bottom: 8px;
    }
    a {
      color: #666;
      font-size: 12px;
      text-decoration: none;
      &:hover {
        text-decoration: underline;
      }
    }
    .uline {
      border-bottom: 1px solid #e7e7e7;
      padding: 8px 0px;
    }
    ul {
      padding-left: 0;
      margin-bottom: 10px;
    }
    li {
      list-style-type: none;
      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;
      }
    }
    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 + 1) {
      display: block;
    }
    li:nth-of-type(n + 4) {
      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;
      color: #999;
      background-color: #f7f7f7;
      span {
        font-size: 12px;
        color: #999;
        margin-right: 4px;
      }
      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-white {
    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: #313131;
        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__content > p:nth-child(1) > strong,
    .counter-item > strong {
      &:before {
        background: #f7f7f7;
        color: #313131;
      }
    }
  }
  .table-base {
    font-size: 14px;
    th {
      color: #fff;
      font-size: 16px;
      text-align: center;
      vertical-align: middle;
      background-color: #fe757a;
    }
    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) {
  .srt-container {
    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) {
  .srt-container {
    .wp-block-image .alignleft.size-full {
      width: 100%;
    }
    figure.full img {
      margin-left: -4vw;
      margin-right: -4vw;
      width: 100vw;
      max-width: none;
    }
  }
}

/** 追加 **/
.srt-container {
  .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: #313131;
        position: absolute;
        left: 0;
      }
    }
  }
  .table-base.pill {
    tr td:nth-child(1) {
      vertical-align: middle;
    }
    tr:nth-child(1) td:nth-child(1) {
      text-align: center;
    }
    tr:nth-child(2) td:nth-child(2) {
      vertical-align: middle;
    }
    tr:nth-child(2) td:nth-child(1) {
      width: 20%;
    }
    tr:nth-child(2) td:nth-child(2) {
      width: 30%;
    }
  }
  .table-base.procon {
    tr td {
      vertical-align: middle;
    }
    tr:nth-child(1) td:nth-child(1),
    tr:nth-child(3) td:nth-child(1) {
      text-align: center;
    }
    tr:nth-child(1) td:nth-child(1) {
      width: 16%;
    }
    tr:nth-child(1) td:nth-child(2) {
      width: 24%;
    }
  }
}
