@charset "UTF-8";
/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/
/* cocoon設定をリセット */
body.public-page {
  --cocoon-text-color: #252525;
  color: var(--cocoon-text-color);
}
/* 共通 */
.m_btm5p {
  margin-bottom: 5%;
}
.f_bld {
  font-weight: bold;
}
.c_red {
  color: #f20000;
}
/* バナー　更新分 */
.soudan02 {
  color: #fff;
  font-size: 30px;
  font-weight: bold;
  margin: 3% auto;
  width: 900px;
  text-align: center;
}
.soudan02 img {
  width: 80px;
  display: inline-block;
  margin-right: 1%;
}
.sp_br {
  display: none;
}
/* フォーム　注意バナー追加 */
.att_bana {
/*   max-width: 740px; */
  width:fit-content;
  margin-block:0 8%;
  margin-inline:auto;
  position:relative;
  z-index:1;

}
@media screen and (max-width: 834px) {
  main.main, div.sidebar {
    padding: 0;
  }
  .container .column-wrap>div {
    width: 92%;
    margin-inline: auto;
  }
}
@media screen and (max-width: 1023px) {
  body:where(.mblt-header-mobile-buttons, .mblt-header-and-footer-mobile-buttons) {
    margin-top: 0;
  }
  .scrollable-mobile-buttons {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 1255px) {
  .entry-card-content {
    margin-left: unset;
  }
}
.entry-title, .main, .sidebar, .sidebar-left .main, .sidebar-left .sidebar, .entry-content, .footer-bottom.fdt-up-and-down {
  margin: 0;
}
.entry-card-thumb {
  width: unset;
  float: unset;
}
.appeal, .header, body {
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.header-container, .main, .footer {
  width: unset;
}
* {
  padding: 0;
  margin: 0;
  box-sizing: border-box;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
:where(body) {
  margin: 0;
}
.wrap {
  width: unset;
  margin: 0 auto;
}
.content {
  margin-top: 0;
  margin-block-end: clamp(6.25rem, 5.993rem + 1.15vw, 7.375rem)
}
.main {
  width: unset;
  padding: 0;
  border: none;
  border-radius: unset;
  position: relative;
  z-index: 0;
  /* h2 */
  .article h2 {
    background-color: unset;
    padding: unset;
  }
  /* table */
  table {
    margin-bottom: unset;
    max-width: unset;
    width: unset;
    border-collapse: collapse;
    border-spacing: unset;
  }
  table th,
  table td {
    position: relative;
    padding: unset;
  }
  table th {
    background-color: unset;
  }
  table tr:nth-of-type(2n+1) {
    background-color: unset;
  }
  table:not(.has-border-color) :where(th, td) {
    border: unset;
  }
  th:has(.s-circle), th:has(.d-circle), th:has(.triangle), th:has(.cross), th:has(.b-question), th:has(.b-check), td:has(.s-circle), td:has(.d-circle), td:has(.triangle), td:has(.cross), td:has(.b-question), td:has(.b-check) {
    height: unset;
    min-width: unset;
  }
  .fa-search:before {
    content: "検索ワード";
  }
}
main#main:has(.search-box.input-box),
body.error404 main#main {
  margin-block-start: 80px;
}
.fa-folder:before {
  content: "\f0da";
}
.cat-link {
  padding: .5rem;
  font-size: .9rem;
}
.go-to-top {
  z-index: 1 !important;
}
/* 共通______ */
:root {
  scroll-behavior: smooth;
}
body {
  position: relative;
  font-family: "zen-kaku-gothic-new", var(--cocoon-default-font), sans-serif;
  font-weight: 400;
  font-size: clamp(0.938rem, 0.922rem + 0.06vw, 1rem);
  font-feature-settings: "palt";
  color: var(--cocoon-text-color);
  line-height: 1;
  margin: 0;
  overflow-wrap: break-word;
  background-color: unset;
  text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  -moz-text-size-adjust: 100%;
  background-attachment: unset;
  padding: 0;
}
/* 変数格納 div#container {
 --_m: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
 --_hn-borderradius: 1rem;
 --_hnCategory1: #009fe5;
 --_hnCategory2: #af1b29;
 --_hnCategory3: #0C4ABA;
 --_hnCategory4: #757677;
 --_hntxt: #252525;
 --_hntxt2: #062d59;
 --_hnCotion: #f20000;
 --_hnborder: #e0e0e0;
 --_hnaccent: #f3ff00;
 --_hnheadline2: #00efef;
}  */
img, svg {
  display: block;
  object-fit: cover;
}
.full {
  width: 100svw;
  margin: 0 calc(50% - 50vw);
  overflow-x: clip;
}
.fx {
  display: flex;
  @media(1024px > width) {
    flex-direction: column;
  }
}
.article {
  dl {
    dt {
      font-weight: 600;
      margin-block-end: .5em;
    }
    dt:not(:nth-of-type(1)) {
      margin-block-start: 2em;
    }
    dd {
      margin-inline-start: 0;
    }
    dd:nth-last-of-type(1) {
      background-color: #fff;
      padding: 1em;
      p:not(:nth-of-type(1)) {
        margin-block-start: 0;
        line-height: 1.5;
        margin-block-end: 0;
      }
      p:nth-of-type(2) {
        border-top: 1px dotted #757677;
        padding-block-start: .5em;
      }
    }
  }
  dl.privacy_policy_dl {
    dd {
      margin-block-end: .5em;
      ul {
        li {
          list-style: none;
          margin-inline-start: 0;
        }
      }
    }
    dd:nth-last-of-type(1) {
      background-color: unset;
    }
  }
  p.right {
    text-align: right;
  }
}
.content, .wrap {
  margin-inline: auto;
}
.cat-link.cat-link-10 {
  background-color: var(--cocoon-x-pallid-text-color);
}
.cat-label-1, .cat-link.cat-link-1 {
  background-color: #009fe5;
}
.cat-label-3, .cat-link.cat-link-3 {
  background-color: #af1b29;
}
.cat-label-4, .cat-link.cat-link-12, .cat-link.cat-link-4 {
  background-color: #0C4ABA;
}
.cat-label-5, .cat-link.cat-link-5 {
  background-color: #757677;
}
a.cat-link.cat-link-5, a.cat-link.cat-link-4 {
  display: none;
}
.sidebar {
  width: 23.5rem;
  width: 200px;
  border: none;
  padding: 0;
  border-radius: 0;
  margin-block-start: 5rem;
  aside.widget.widget-sidebar {
    margin-block-end: 2rem;
  }
  h3 {
    background-color: unset;
    border-bottom: 2px solid #009fe5;
    padding: 1rem 1rem .75rem 1rem;
    margin-block: 1rem;
    color: #009fe5;
    border-radius: unset;
    text-align: center;
    white-space: nowrap;
  }
  ul {
    padding: 0px;
    margin: 0px;
    list-style: none;
    padding-inline-start: 1rem;
    >li {
      position: relative;
      padding: 0px 0px 0px 1em;
      a {
        transition: transform .3s;
        position: relative;
      }
      a:hover {
        background-color: unset;
      }
    }
    >li::before {
      position: absolute;
      top: 50%;
      left: 0px;
      transform: translateY(-50%);
      width: 0px;
      height: 0px;
      border: 0.3em solid transparent;
      border-left: 0.4em solid #009fe5;
      content: "";
      transition: border-left .3s ease;
    }
    li:hover::before {
      border-left-color: rgba(0, 159, 230, 0.34);
    }
  }
}
.breadcrumb {
  margin: 1em 0;
  color: #252525;
  font-size: 15px;
  margin-block-end: 5.25rem;
  .breadcrumb div, .breadcrumb-caption {
    display: inline-block;
    vertical-align: middle;
  }
  .fa-angle-right::before {
    content: " >";
    display: inline-block;
    font-weight: normal;
    vertical-align: middle;
    font-size: .7em;
  }
}
main#main {
  width: 100%;
}
/* フッター */
footer#footer.footer {
  margin-block-start: 0;
  padding: 0;
  color: #fff;
  div#footer-in {
    background: #252525;
    font-size: 0.813rem;
    .source-org.copyright {
      margin-top: 0;
      line-height: 2;
    }
  }
}
/* 投稿記事　設定 */
/* メニュー見出し表示 */
div#CateBlockName {
  height: clamp(11.25rem, 8.823rem + 10.36vw, 21.25rem);
  width: 100%;
  background-image: url(./images/alltype.webp);
  background-position: center;
  background-size: cover;
  display: grid;
  place-content: center;
  h1 {
    color: #fff;
    font-weight: bold;
    font-size: clamp(1.75rem, 1.7rem + 0.4vw, 2.125rem);
    font-feature-settings: normal;
  }
}
div#CateBlockName.category-voices {
  background-image: url(./images/voices.webp);
}
/* 見出し２　本文、関連記事 */
header.article-header.entry-header,
aside#related-entries {
  h2 {
    border-bottom: 1px solid #009fe5;
    border-left: 9px solid #009fe5;
    font-size: clamp(1.75rem, 1.682rem + 0.34vw, 31px);
    padding-inline-start: 1rem;
    padding-block-end: .5rem;
    span {
      display: inline-block;
      font-weight: 500;
      font-size: clamp(1.5rem, 1.409rem + 0.45vw, 28px);
    }
  }
}
/* 　投稿ページ画面下の関連記事 */
.under-entry-content {
  background-color: #f8f8f8;
  padding-block-start: 82px;
  .related-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(clamp(18.75rem, 14.464rem + 6.7vw, 22.5rem), 1fr));
    align-items: stretch;
    justify-items: center;
    justify-content: space-evenly;
    padding-block-start: 1rem;
    >a {
      figure {
        margin-right: unset;
      }
      .related-entry-card-thumb {
        width: clamp(12.5rem, 7.955rem + 12.12vw, 22.5rem);
        height: auto;
        float: unset;
        margin-top: unset;
        position: relative;
        margin-bottom: unset;
      }
      .related-entry-card-content {
        margin-left: unset;
      }
    }
  }
  .pager-post-navi {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    a {
      figure {
        display: none;
      }
    }
  }
}
/* 一覧表示 */
#list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(21.5rem, 18rem + 4vw, 26.125rem), 1fr));
  justify-content: space-between;
  gap: clamp(2rem, -0.429rem + 3.79vw, 66px);
  margin-block-end: clamp(4.375rem, 3.376rem + 4.48vw, 8.75rem);
}
#list, .under-entry-content aside {
  .a-wrap {
    padding: 0;
  }
  .a-wrap:hover {
    background-color: unset;
  }
  a {
    display: grid;
    justify-items: center;
    article {
      display: grid;
      grid-template-rows: subgrid;
      grid-row: span 2;
      margin: 0;
      padding: 0;
      row-gap: 1rem;
      >figure {
        display: block;
        border: 1px solid #e2e2e2;
        background-color: #fff;
        margin: 0;
        padding: 0;
        margin-block: 0;
        margin-inline: auto;
        padding: 1rem;
        img {
          width: clamp(21.875rem, 20.843rem + 4.4vw, 26.125rem);
          height: auto;
          background-size: contain;
        }
        span.cat-label {
          top: 0;
          left: 0;
          max-width: unset;
          border: none;
          font-size: 15px;
          padding: .5em 1em;
        }
      }
      >div {
        margin: 0;
      }
      .entry-card-content.card-content.e-card-content {
        h2 {
          font-size: 1rem;
          font-weight: bold;
        }
        .entry-card-snippet.card-snippet.e-card-snippet, .entry-card-meta.card-meta.e-card-meta {
          display: none;
        }
      }
    }
    &:hover {
      opacity: .8;
    }
  }
}
/* ページ送り */
.pagination {
  .page-numbers {
    border-radius: 100%;
    border: 1px solid #252525;
    font-weight: 600;
    font-size: 1rem;
  }
  .page-numbers.current {
    background-color: #252525;
    color: #fff;
  }
  a.prev.page-numbers, a.next.page-numbers {
    border: none;
  }
  a.prev.page-numbers:hover, a.next.page-numbers:hover {
    background-color: transparent;
    opacity: .7;
  }
  .prev.page-numbers, .next.page-numbers {
    width: 5em;
    display: inline-flex;
    justify-content: flex-end;
    position: relative;
    .screen-reader-text {
      border: 0;
      clip: unset;
      clip-path: unset;
      height: auto;
      margin: unset;
      overflow: unset;
      padding: unset;
      position: relative;
      width: unset;
      word-wrap: unset;
      display: inline-block;
      font-size: 1rem;
    }
    .fa-angle-left, .fa-angle-right {
      display: inline-block;
      /* width: .5rem; */
    }
    .fa-angle-left::before, .fa-angle-right::before {
      display: inline-block;
    }
  }
  .prev.page-numbers {
    flex-direction: row-reverse;
    .fa-angle-left::before {
      content: url(./images/arrow_before.svg);
      margin-inline: 0 .7em;
    }
  }
  .next.page-numbers {
    .fa-angle-right::before {
      margin-inline: .7em 0;
      content: url(./images/arrow_after.svg);
    }
  }
}
div#pager-post-navi {
  margin-block-end: 0;
}
p#archive-title:has(span.fas.fa-search) {
  display: none;
}
/* カテゴリページ */
body.post-template-default, body.archive {
  background-color: #fff;
  /* 投稿ページ内のアイキャッチを非表示にする */
  header.article-header.entry-header {
    margin-block-end: 3.25rem;
    .eye-catch-wrap, .date-tags {
      display: none
    }
  }
  /* 投稿ページ */
  figure.leftimage {
    margin: 0;
    float: left;
    width: 35%;
    margin-inline-end: 1rem;
    margin-block-end: 1rem;
    img {
      width: 100%;
      height: auto;
      object-fit: cover;
    }
  }
  .leftimage+table.dealwork {
    width: 60%;
    float: right;
  }
  table.dealwork {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    th {
      white-space: nowrap;
      background-color: #f8f8f8;
      width: 8rem;
    }
    th, td {
      border: 1px solid #d8d8d8;
      font-weight: 400;
      padding: .7rem 1.25rem
    }
  }
  hr.clear {
    clear: both;
    color: transparent;
    border: none;
  }
  .article-footer.entry-footer {
    margin-block-start: 5rem;
  }
  /* お客様の声投稿 */
  article.article.category-voices-post {
    header.article-header.entry-header {
      margin-block-end: 0;
      border-radius: 4rem 4rem 0 0;
      padding-block: 2rem 3.25rem;
      padding-inline: 2rem;
      h2.entry-title {
        border-left: none !important;
        margin: 0;
        font-weight: 500;
        font-size: 1.5rem;
        color: #009fe5;
        padding-block-end: 1rem !important;
        position: relative;
        padding-inline-start: .5rem !important;
        display: flex;
        align-items: center;
        justify-content: flex-start;
      }
      h2::before {
        content: "";
        /* background-color: #009fe5; */
        background-image: url(./images/userimage.svg);
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        position: relative;
        bottom: 0;
        left: 0;
        width: 50px;
        height: 50px;
        display: block;
        margin-inline-end: .5rem;
        flex-shrink: 0;
      }
    }
    header.article-header.entry-header, .entry-content.cf {
      background-color: #fffbf6;
    }
    .entry-content.cf {
      border-radius: 0 0 4rem 4rem;
      padding-block-end: 1rem;
      padding-inline: 3rem;
      table+div {
        clear: left;
        padding-block-start: 1rem;
      }
    }
    figure.leftimage {
      margin: 0;
      float: right;
      margin-inline-start: 1rem;
      margin-block-end: 1rem;
    }
    table.dealwork {
      width: 60%;
      float: left;
      display: flow-root;
      border-collapse: separate;
      tr {
        display: block;
        margin-block-end: .7rem;
      }
      th {
        background-color: #009fe5;
        color: #fff;
      }
      th, td {
        border: none;
        border-spacing: 2rem;
        padding: .25rem .5rem .25rem 1rem;
      }
    }
  }
}
/* 検索結果がない場合の処理 */
body.search-no-results {
  #footer {
    position: fixed;
    bottom: 0;
    width: 100%;
  }
}
/* ** トップへ戻るボタン */
.go-to-top {
  position: fixed;
  bottom: 70px;
  transition: 1s ease .1s;
  overflow-x: clip;
}
.go-to-top-button {
  background-color: transparent;
  width: clamp(3rem, 2.515rem + 2.07vw, 5rem);
  height: auto;
  border-radius: unset;
  margin-block-end: 0;
  transition: 0.2s ease;
}
.go-to-top-button:hover, .go-to-top-button:active {
  margin-block-end: -3px;
  transition: 0.1s ease;
}
.go-to-top-visible .go-to-top {
  scroll-behavior: auto;
}
/* 固定ページ */
body.page-template-default {
  article h3 {
    border: unset;
    font-size: unset;
    padding: unset;
  }
  em {
    font-style: normal;
  }
  section {
    h2:not(.required-sec) {
      border: none;
      font-size: clamp(1.5rem, 1.414rem + 0.38vw, 1.875rem);
      margin-inline: auto;
      text-align: center;
      margin-block-end: 2.4em;
      /* padding: 1.2em !important; */
      padding-block: 1.2em;
      background-image: url(./images/headlinetop.svg), url(./images/headlinebottom.svg);
      background-repeat: no-repeat, no-repeat;
      background-position: center top, center bottom;
    }
    form {
      width: clamp(21.875rem, 13rem + 37vw, 900px);
      margin-inline: auto;
      h3 {
        color: #009fe5;
        font-weight: 600;
        margin-block: .5em;
      }
      p {
        margin-block-end: 1.5em;
      }
      label, span[data-required="【必須】"] {
        display: block;
        margin-block-end: .5em;
      }
      label+br, span[data-required="【必須】"]+br {
        display: none;
      }
      input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, textarea:focus {
        background-color: #fff;
        outline: 1px solid #e0e0e0;
      }
      input[type=text], input[type=email], input[type=tel], textarea, .notice {
        background-color: #F8F8F8;
        border: none;
        font-size: 1rem;
        border-radius: 6px;
      }
      label[data-required]::after, span[data-required]::after {
        content: attr(data-required);
        color: #f20000;
        font-size: .9rem;
        margin-inline-start: 3px;
      }
      label, span[data-required] {
        font-weight: 500;
      }
      label:has(input[type="radio"]) {
        font-weight: normal;
      }
      label:has(input[type="checkbox"]) {
        font-size: 1.1rem;
      }
      span[data-name="radio-check"] span:has(input[type="radio"]) {
        display: block;
      }
      input[type="radio"] {
        -webkit-appearance: none;
        border: 1px solid #e0e0e0;
        background-color: #f4f4f4;
        width: 20px;
        height: 20px;
        border-radius: 50%;
        vertical-align: -2px;
        outline: none;
      }
      input[type="radio"]::before {
        display: block;
        content: "";
        width: 18px;
        height: 18px;
        border-radius: 50%;
        background-color: #757677;
        font-size: 1.2em;
        transform: scale(0);
        transform-origin: center;
        transition: all 0.3s ease-in;
      }
      input[type="radio"]:checked::before {
        visibility: visible;
        transform: scale(.9);
        transition: all 0.3s cubic-bezier(0.25, 0.25, 0.56, 2);
      }
      input[type=file]::file-selector-button {
        -webkit-appearance: none;
        font-size: 14px;
        border-radius: 8px;
        border: 1px solid #e0e0e0;
        background-color: #e0e0e0;
        padding: 8px 10px;
        text-align: center;
        margin-bottom: .75em;
        cursor: pointer;
        transition: all 0.3s ease-in;
      }
      input[type=file]::file-selector-button:hover {
        background-color: #f4f4f4;
      }
      input[type=checkbox], input[type="checkbox"]:checked {
        position: relative;
        width: 20px;
        height: 20px;
        border: 1px solid #e0e0e0;
        vertical-align: sub;
        -webkit-appearance: none;
        -moz-appearance: none;
        appearance: none;
        transition: all 0.3s ease-in;
      }
      input[type="checkbox"]:checked:before {
        position: absolute;
        top: 0;
        left: 6px;
        transform: rotate(50deg);
        width: 6px;
        height: 12px;
        border-right: 3px solid #757677;
        border-bottom: 3px solid #757677;
        content: '';
        transition: 0.3s cubic-bezier(0.25, 0.25, 0.56, 2);
      }
      div.acceptance, div.notice {
        margin-inline: auto;
        margin-block-end: 1.5rem;
      }
      div.acceptance {
        padding: .7em 1rem 1rem;
        border: 1px solid #e0e0e0;
        border-radius: 1rem;
        span[data-name="checkbox-acceptance"] {
          display: block;
          padding-block: .25em 0em;
        }
        label, p {
          margin: 0;
        }
        small {
          padding-inline-start: 2em;
          color: #af1b29
        }
        small::before {
          content: "※";
        }
      }
      div.notice {
        padding: 1rem 5%;
        color: #252525;
        p {
          line-height: 1;
          margin-block-end: .5em;
          em, span, mark {
            font-weight: 600;
            padding-inline: .2em .25em;
            display: inline-block;
          }
          em {
            margin-inline-start: .2em;
          }
          span {
            color: #f20000;
          }
        }
        ul+h3 {
          padding-block-start: 1em;
        }
        ul {
          padding-inline-start: 1rem;
          margin-block-end: 0;
          li {
            font-feature-settings: "palt";
            margin: 0;
            list-style-type: "※";
            ul {
              padding-block-start: .5em;
              padding-inline-start: 1.5em;
              li {
                list-style-type: disc;
              }
            }
          }
        }
      }
      fieldset {
        padding: 1.5em 1em .5em;
        margin-block-end: 1.5em;
        border: 1px solid #e0e0e0;
        border-radius: 1rem;
        legend {
          padding-inline: 1em;
          font-weight: bold;
        }
        label[for=select1]::before, span.payguide::before {
          content: "▼";
          display: inline-block;
          margin-inline-end: .5em;
        }
      }
      span[data-name="radio-last"] {
        >span {
          display: flex;
          flex-wrap: wrap;
          gap: .25em .7em;
          >span {
            display: block;
          }
        }
      }
      input.root {
        width: fit-content;
      }
      p:has(input[type=submit]) {
        width: 240px;
        margin-inline: auto;
        font-weight: 700;
        inpuinput[type=submit]:disabled {
          background-color: red;
        }
        input[type=submit]:not(:disabled) {
          position: relative;
          /* background-color: #009fe5; */
          color: #fff;
          border: 1px solid #009fe5;
          background: rgb(37, 37, 37);
          background: linear-gradient(55deg, #062d59 0%, #0C4ABA 49.9%, #009fe5 50%, #009fe5 100%);
          background-position: right center;
          background-size: 300% 300%;
          transition: background 0.5s ease-out;
        }
        input[type=submit] {
          font-size: 18px;
          border-radius: 6px;
        }
        input[type=submit]:not(:disabled):hover {
          background-position: left center;
        }
      }
    }
    p.attention {
      text-align: center;
      mark {
        background: linear-gradient(transparent 80%, #f3ff00 0%);
      }
    }
  }
  .required-sec {
    margin-block: 5em 2em;
    >* {
      font-size: .9em;
    }
    h2.required-sec {
      font-size: 22px;
      line-height: 1;
      font-weight: normal;
      margin-block: .25em .5em;
    }
    h2.required-sec::before {
      content: "■";
      margin-inline-end: .25em;
      color: #e0e0e0;
    }
    /* 謎のP削除 */
    h2.required-sec+p {
      line-height: 0
    }
    div.sec_privacy_policy {
      height: 200px;
      overflow-y: scroll;
      background-color: #e0e0e054;
      padding: 1em;
    }
    div.sec_privacy_policy:nth-of-type(1) {
      margin-block-end: 4em;
    }
    table {
      width: 90%;
      margin-inline: auto;
      tr {
        border-bottom: 1px solid #fff;
        td {
          line-height: 1.5;
          vertical-align: top;
          padding: 1em;
        }
      }
    }
  }
  .required-sec.secout {
    h2 {
      padding: 0;
      line-height: 1;
    }
  }
}
body.page-template-default:not(.home) {
  .article {
    margin-block-start: 100px;
  }
  #breadcrumb {
    width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
    margin-inline: auto;
  }
}
body.page-template-default.home {
  .content {
    width: unset;
  }
  .inner_block {
    display: block;
    width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
    margin-inline: auto;
  }
  header.article-header.entry-header>* {
    display: none;
    padding: 0;
    margin: 0;
    line-height: 0;
  }
  #hero {
    background-color: #062d59;
    background-image: url(./images/topimgbg.webp);
    background-repeat: repeat;
    background-size: cover;
    background-position: center;
    height: 770px;
    position: relative;
    display: grid;
    align-items: center;
    div {
      margin-inline: auto;
      position: relative;
      margin-block-start: -3rem;
      h1 {
        width: 90svw;
      }
      img {
        position: relative;
        top: 0;
        width: clamp(900px, 90svw, 1032px);
      }
    }
    .shousai_form01 {
      position: absolute;
      bottom: 1rem;
      right: 1rem;
      @media(800px > width){
      transform: unsert;
      }
      @media(800px <= width){
      opacity: 0;
      transform: translateX(-40vw);
      }
      a {
        img {
          width: clamp(200px, 60svw, 360px);
        }
      }
    }
    .shousai_form01.event-view {
      animation: to-right 1s cubic-bezier(.14, .59, .6, .93) infinite;
      opacity: 1;
      
      @media(800px <= width){
      transform: translateX(0);
      transition: all 0.8s linear;
      animation-iteration-count: 6;
      animation-delay: 1.2s;
      }
    }
  }
  #shousai {
    background: #fcf8eb;
    padding: 5rem 0;
    text-align: center;
    img {
      width: clamp(280px, 80svw, 500px);
      margin: 0 auto 2rem;
    }
    a {
      display: block;
      background: #c60606;
      width: 100%;
      max-width: 42vw;
      margin: 0 auto;
      color: #fff;
      text-decoration: none;
      border-radius: 20px;
      font-size: clamp(26px, 5vw, 32px);
      padding: 1rem 0;
      font-weight: 600;
      filter: drop-shadow(0px 10px 0px #7a0404);
      transition: .5s;
    }
    a:hover {
      filter: drop-shadow(0px 2px 0px #7a0404);
      margin: 2.2rem auto 0;
    }
  }
  #problem {
    position: relative;
    background-image: url(./images/topbg02.webp);
    background-position: center;
    background-size: cover;
    padding-block-start: clamp(2.188rem, -0.813rem + 4.8vw, 80px);
    clip-path: polygon(100% 0, 100% 80%, 50% 100%, 0 80%, 0 0);
    padding-block-end: 14.5em;
    div.problem_top {
      p, h2.difficult {
        color: #fff;
        margin-inline: auto;
        font-weight: bolder;
      }
      p:nth-of-type(1) {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 2rem;
        span, img {
          display: block;
        }
        span {
          font-size: clamp(22px, 0.981rem + 1.8vw, 48px);
          color: #f3ff00;
        }
        img {
          flex: 1;
          max-width: clamp(140px, 6.59rem + 8.51vw, 267px);
        }
      }
      p:nth-of-type(2) {
        font-size: clamp(20px, 0.886rem + 1.67vw, 44px);
        margin-block-end: .5em;
        width: fit-content;
      }
      .bln {
        position: relative;
        margin-block: 2.5rem 6rem;
        height: 100%;
        padding: 10px;
        background-color: #009fe5;
        border-radius: 20px;
      }
      .bln:before {
        position: absolute;
        content: "";
        top: 100%;
        left: 50%;
        margin-left: -30px;
        border: 14px solid transparent;
        border-top: 25px solid #009fe5;
      }
      h2.difficult {
        font-size: clamp(16px, 0.893rem + 1.6vw, 45px);
        text-align: center;
        line-height: 1;
        padding: 1rem;
        em {
          font-size: clamp(22px, 1.447rem + 1.92vw, 60px);
        }
      }
    }
  }
  .brdr {
    background-image: url(./images/topbg02.webp);
    background-position: center bottom;
    height: 0;
    border-top: clamp(5rem, 2.573rem + 10.36vw, 240px) solid transparent;
    border-right: 50svw solid #fff;
    border-left: 50svw solid #fff;
  }
  #problem+.wp-block-cocoon-blocks-column-3.column-wrap.column-3.layout-box {
    width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
    margin-inline: auto;
    position: relative;
    gap: 2rem;
    margin-block-start: calc(clamp(5rem, 2.573rem + 10.36vw, 240px) * -0.78);
    img {
      margin-inline: auto;
    }
    br {
      display: none;
    }
    @media(835px <=width < 1340px) {
      br {
        display: block;
      }
      div:nth-of-type(1) {
        figcaption {
          line-height: 3;
        }
      }
    }
    figcaption {
      color: #fff;
      background-color: #c60606;
      margin-block-start: 1em;
      padding: 1rem;
      border-radius: 32px;
      text-align: center;
      font-weight: 700;
      font-size: clamp(1rem, 0.909rem + 0.4vw, 1.375rem);
    }
  }
  #arrow000 {
    fill: #f9be00;
    width: clamp(3rem, .5vw, 5rem);
    height: auto;
    margin: 4rem auto;
  }
  .guide_image_block {
    background-image: url(./images/lineimage.svg);
    background-position: center;
  }
  .entry-content {
    section:nth-of-type(1) {
      background-image: url(./images/lineimage.svg);
      background-position: center -39%;
      padding-block-end: 7rem;
      h2:not(#case-studies) {
        margin-inline: auto;
        text-align: center;
        margin-block-end: auto;
        background-image: none, none;
        background-repeat: no-repeat, no-repeat;
        background-position: unset;
      }
    }
    section:nth-of-type(2) {
      margin-block-end: 0;
      background-color: #121212;
      width: 100svw;
      position: relative;
      left: 50%;
      transform: translateX(-50%);
      h2 {
        color: #00efef;
      }
      p {
        color: #fff
      }
      div#strength {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: repeat(2, auto);
        place-content: center;
        padding-block: clamp(30px, 0.388rem + 6.5vw, 128px);
        background-image:
          linear-gradient(0deg, #121212 0%, rgba(18, 18, 18, 0.5) 58%, rgba(18, 18, 18, 0.2) 90%),
          url(./images/cate_01topimg.webp);
        background-size: cover;
        background-repeat: no-repeat;
        font-size: 34px;
        h2 {
          font-size: clamp(22px, 1.011rem + 1.55vw, 46px);
          padding: 0;
          margin: 0;
          line-height: 1;
          background-image: none, url(./images/headlinebottom.svg);
          background-position: center bottom;
          padding-block-end: 3rem;
          span {
            font-size: clamp(30px, 1.39rem + 2.1vw, 62px);
          }
        }
        p {
          font-size: clamp(15px, 0.649rem + 1.23vw, 34px);
          text-align: center;
          background-image: url(./images/headlinetop.svg);
          background-position: center top;
          background-repeat: no-repeat;
          margin-block-end: 0;
          padding-block-start: 2rem;
        }
      }
      div.block1 {
        background-image: url(./images/front1_img.webp);
        background-size: cover;
        background-position: left top;
        background-repeat: no-repeat;
        h3 {
          color: #00efef;
          font-size: clamp(22px, 1.004rem + 1.66vw, 48px);
          background-image: url(./images/head_line_under.svg);
          background-repeat: no-repeat;
          background-position: -.85em bottom;
          padding-block-end: .8em;
          padding-inline-start: .5em;
          display: flex;
          gap: 1.5em;
          align-items: center;
        }
        h3::before {
          content: "";
          background-image: url(./images/1.svg);
          width: clamp(3.125rem, 0.982rem + 3.35vw, 80px);
          height: clamp(3.125rem, 1.696rem + 2.23vw, 4.375rem);
          background-repeat: no-repeat;
          background-position: left center;
          background-size: contain;
        }
        div.fx {
          align-items: center;
          padding-block: clamp(2rem, 1.029rem + 4.14vw, 6rem) clamp(2.5rem, 1.65rem + 3.62vw, 6rem);
          width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
          margin-inline: auto;
          /* gap:clamp(1rem, 0.5rem + 0.5vw, 3rem); */
          div.rt {
            img {
              width: 100%;
              object-fit: contain;
            }
          }
        }
      }
      .block1.block2 {
        background-image: url(./images/front2_img.webp);
        h3::before {
          background-image: url(./images/2.svg);
        }
      }
      .block1.block3 {
        background-image: url(./images/front3_img.webp);
        h3::before {
          background-image: url(./images/3.svg);
        }
      }
      .block1.block4 {
        background-image: url(./images/front4_img.webp);
        h3::before {
          background-image: url(./images/4.svg);
        }
      }
      .block1.block5 {
        background-image: url(./images/front5_img.webp);
        h3::before {
          background-image: url(./images/5.svg);
        }
      }
      div.block2, div.block3, div.block4, div.block5 {
        background-position: center;
        h3::before {
          background-position: left center;
          background-size: contain;
        }
      }
      div:has(#case-studies) {
        background-color: #fff;
        background-image: url(./images/case-studies.webp);
        background-position: center;
        background-size: cover;
        padding-block: 7.5rem;
        h2#case-studies {
          font-size: clamp(22px, 1.011rem + 1.55vw, 46px);
          color: #00efef;
          margin-block-end: 0;
          background-image: url(./images/headlinetopfff.svg), url(./images/headlinebottomfff.svg);
        }
      }
      /* 対応事例 */
      >section {
        background-color: #fff;
        background-image: none;
        padding-block-end: 0;
        div.outBlk:nth-of-type(2) {
          background-color: #fcf8eb;
        }
        /* 事例 */
        .outBlk {
          margin-block: 0;
          h3 {
            font-size: clamp(1.125rem, 0.852rem + 1.17vw, 2.25rem);
            padding-inline-start: .5em;
            padding-block-end: .25em;
            margin-block-end: 2.5rem;
            border-left: 9px solid #af1b29;
            border-bottom: 2px solid #af1b29;
          }
          .custom-category-posts {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            justify-content: center;
            gap: 2rem clamp(1.875rem, 0.874rem + 4.27vw, 6rem);
            .post-item_shotrcode {
              background-color: #fff;
              padding: 2rem 2rem 2.75rem;
              width: calc(100% - 2rem);
              display: grid;
              grid-template-columns: subgrid;
              grid-row: span 3;
              row-gap: 2rem;
              justify-items: center;
              >div {
                width: 100%;
                img {
                  margin-inline: auto;
                  padding-block: .45em .35em;
                  width: 100%;
                  height: 100%;
                  aspect-ratio: 4 / 3;
                  object-fit: cover;
                  position: relative;
                }
              }
              .ancher {
                align-self: end;
                background-color: #c60606;
                border-radius: 2rem;
                text-align: center;
                line-height: 1.8;
                a {
                  display: block;
                  text-decoration: none;
                  color: #fff;
                  padding: .5rem;
                  font-weight: bold;
                  transition: .2s ease-out;
                }
                a::after {
                  content: "";
                  display: inline-block;
                  width: 2rem;
                  height: 1rem;
                  vertical-align: middle;
                  background-color: #fff;
                  mask-image: url(./images/lightArrow.svg);
                  mask-repeat: no-repeat;
                  mask-position: center;
                  transition: .3s ease-out;
                }
                a:hover {
                  opacity: .8;
                }
                a:hover::after {
                  width: 2.1rem;
                  mask-position: 70% center;
                }
              }
              .post-thumbnail {
                background-color: #fff;
                aspect-ratio: 1 / 0.813;
              }
              .post-thumbnail, .post-content {
                border: 1px solid #e0e0e0;
                position: relative;
              }
              .post-thumbnail::after {
                color: #fff;
                padding: .1rem 1.5rem;
                display: block;
                width: fit-content;
                height: 1.8rem;
                position: absolute;
                top: 0;
                left: 0;
              }
              .custom-field.reference {
                border-top: 1px solid #e0e0e0;
              }
              .post-title, .custom-field.cope, .custom-field.reference {
                padding-block: .5rem;
                padding-inline: .5rem;
              }
              .post-content {
                .post-title {
                  background-color: #fcf4ae;
                  color: unset;
                  font-size: clamp(1rem, 0.97rem + 0.13vw, 18px);
                  font-weight: bold;
                  margin-block-end: 0;
                  padding-block: .25rem;
                }
              }
            }
          }
        }
        .custom-category-posts+p,
        .outBlk.decline>.innerBlk>div+p {
          border-radius: 1rem;
          margin-block-start: 6rem;
          margin-inline: auto;
          width: fit-content;
          a {
            color: #fff;
            text-decoration: none;
            font-size: clamp(1rem, 0.97rem + 0.13vw, 18px);
            display: block;
            line-height: 4;
            font-weight: bold;
            padding-inline: 4rem;
            transition: .2s ease-in-out;
          }
          a::after {
            content: "";
            display: inline-block;
            width: 2rem;
            height: 1rem;
            vertical-align: middle;
            background-color: #fff;
            mask-image: url(./images/arrowbk.svg);
            mask-repeat: no-repeat;
            mask-position: center;
            transition: .3s ease-in-out;
          }
          a:hover {
            opacity: .8;
          }
          a:hover::after {
            width: 2.1rem;
            mask-position: right center;
          }
        }
        .custom-category-posts.cat-3 {
          .post-thumbnail::after {
            content: "成功例";
            background-color: #c60606;
          }
          &+p {
            background-color: #c60606;
          }
        }
        .custom-category-posts.cat-4 {
          .post-thumbnail::after {
            content: "失敗例";
            background-color: #009fe5;
          }
        }
        .custom-category-posts.cat-5 {
          .post-thumbnail::after {
            content: "お断り例";
            background-color: #252525;
          }
          &+p {
            background-color: #252525;
          }
        }
        .custom-category-posts.cat-1 {
          &+p {
            background-color: #009fe5;
          }
        }
        .outBlk.decline>.innerBlk>div {
          +p {
            background-color: #252525;
          }
          .ancher {
            background-color: #252525;
          }
          display: grid;
          grid-template-columns: repeat(2, minmax(250px, 1fr));
          justify-content: space-between;
          gap: 2rem clamp(1.875rem, 0.874rem + 4.27vw, 6rem);
          div.custom-category-posts {
            gap: unset;
            grid-template-columns: minmax(250px, 1fr);
          }
        }
        div#voices.outBlk {
          background-image: url(./images/topbg03.webp);
          background-repeat: no-repeat;
          background-position: center top;
          background-size: cover;
          padding-block-end: 6em;
          h2 {
            font-size: clamp(22px, 1.011rem + 1.55vw, 46px);
            margin-block-end: 2.4em;
            background-image: url(./images/headlinetopfff.svg), url(./images/headlinebottomfff.svg);
            background-position: center top, center bottom;
            margin-block-end: 3.8em;
          }
          .custom-category-posts {
            grid-template-columns: repeat(3, minmax(250px, 1fr));
            gap: 2rem clamp(.8rem, 0.393rem + 2.59vw, 3.5rem);
            .post-item_shotrcode {
              background-color: #ededed;
              padding: 1rem 1.25rem 1.75rem;
              width: calc(100% - 1rem);
              grid-template-columns: subgrid;
              grid-row: span 3;
              row-gap: 2rem;
              justify-items: center;
            }
            .post-thumbnail, .post-content {
              border: none;
            }
            .post-title {
              background-color: transparent;
              color: #009fe5;
              font-size: clamp(1rem, 0.97rem + 0.13vw, 18px);
              font-weight: bolder;
              margin-block-end: 0;
              padding-inline: 0;
              padding-block: .25rem;
            }
            .custom-fields {
              margin-block: .5em;
            }
          }
          .ancher {
            background-color: #062d59;
          }
        }
      }
    }
  }
  section {
    .outBlk {
      margin-block: 1em 2em;
      padding-block: clamp(2.813rem, 2.039rem + 3.5vw, 6rem);
      .innerBlk {
        width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
        margin-inline: auto;
        div.shousai_form03 {
          background: #fff;
          padding: 4%;
          text-align: center;
          font-weight: 600;
          margin: 3rem auto;
          span {
            display: block;
            color: #c60606;
          }
          a {
            display: block;
            color: #fff;
            text-decoration: none;
            background: #c60606;
            width: clamp(280px, 70svw, 450px);
            font-size: clamp(20px, 5vw, 24px);
            margin: 2rem auto 0;
            border-radius: 20px;
            filter: drop-shadow(0px 10px 0px #7a0404);
            transition: .5s;
            padding: 1rem 0;
          }
          a:hover {
            filter: drop-shadow(0px 2px 0px #7a0404);
            margin: 2.2rem auto 0;
          }
        }
      }
    }
    .outBlk:nth-child(odd) {
      background-color: #f8f8f8;
    }
    .outBlk:nth-last-of-type(1) {
      padding-block-end: 0;
    }
    .outBlk.flowslider {
      overflow-x: clip;
      margin-block-start: 0;
      .innerBlk {
        margin-inline: auto 0;
        width: unset;
        display: block;
      }
      .flow {
        --_mr: calc((100svw - clamp(22.813rem, 10.146rem + 54.1vw, 1200px)) * 0.5);
        margin-inline-start: var(--_mr);
        position: relative;
        .swiper {
          overflow: visible;
          h3 {
            font-size: clamp(16px, 0.879rem + 0.52vw, 24px);
            color: #fff;
            align-items: flex-end;
            justify-content: flex-start;
            display: flex;
            gap: .25rem;
            margin-block-end: 3rem;
            span {
              display: block;
              position: relative;
            }
            span:nth-of-type(1), span:nth-of-type(2) {
              color: #f3ff00;
              font-size: clamp(18px, 0.943rem + 0.78vw, 30px);
              font-style: italic;
            }
            span:nth-of-type(2) {
              font-size: clamp(1.875rem, 1.617rem + 1.1vw, 47px);
              margin-inline-end: .5rem;
              font-weight: bolder;
              position: relative;
              bottom: -4px;
            }
            span:nth-of-type(3) {
              bottom: 2px;
            }
          }
          h3::after {
            content: "";
            display: block;
            height: 10px;
            background-color: #fff;
            width: 70%;
            position: absolute;
            left: 0;
            margin-block-end: -.75em;
            clip-path: polygon(0 0, 100% 0, 98% 100%, 0 100%);
          }
          .swiper-slide {
            --matched-radius-padding: clamp(1.25rem, 0.5rem + 1.25vw, 2.5rem);
            --matched-radius-inner-size: 1rem;
            position: relative;
            padding: var(--matched-radius-padding);
            border-radius: calc(var(--matched-radius-inner-size) + var(--matched-radius-padding));
            background-color: #009fe5;
            opacity: .5;
            transition: .5s ease .1s;
            .inBlock {
              background-color: #fff;
              border-radius: var(--matched-radius-inner-size);
              display: grid;
              grid-template-columns: minmax(100%, 1fr);
              grid-template-rows: auto minmax(12.5rem, auto);
              justify-content: center;
              img {
                height: 100%;
                width: 100%;
                object-fit: cover;
                background-color: #009fe5;
              }
              div {
                padding: 1.5rem;
                align-self: start;
                justify-self: center;
                p:nth-last-of-type(1) {
                  margin-block-end: 0;
                }
              }
              div:has(a) {
                p:nth-last-of-type(1) {
                  background-color: #f20000;
                  text-align: center;
                  width: fit-content;
                  margin-inline: auto;
                  margin-block-start: 2em;
                  a {
                    text-decoration: none;
                    font-weight: bold;
                    color: #fff;
                    display: block;
                    padding: .55em 2em;
                  }
                }
              }
            }
          }
          .swiper-slide.swiper-slide-active, .swiper-slide.swiper-slide-next {
            opacity: 1;
          }
          .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
            margin-inline-start: -10%;
            position: relative;
            bottom: -20px;
          }
          .swiper-pagination-bullet {
            width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 1.2rem));
            height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 1.2rem));
            display: inline-block;
            background: var(--swiper-pagination-bullet-inactive-color, #757677);
          }
          .swiper-button-next, .swiper-button-prev {
            width: 40px;
            height: 40px;
            font-weight: 700;
            transform: scale(1.5);
          }
          .swiper-button-next:after, .swiper-button-prev:after {
            font-size: 1.25rem;
            display: block;
            border-radius: 100%;
            color: #fff;
            background-color: #062d59;
            text-align: center;
            line-height: 2;
            flex: 1;
          }
          .swiper-button-next {
            right: 20px;
          }
        }
      }
    }
  }
  h2#flow, h2#qa, h2#repairing {
    font-size: clamp(22px, 1.011rem + 1.55vw, 46px);
  }
  form {
    --_hn-borderradius: 1rem;
    width: clamp(21.875rem, 13rem + 37vw, 900px);
    margin-inline: auto;
    margin-block-end: 4em;
    h3 {
      color: #009fe5;
      font-weight: 600;
      margin-block: .5em;
    }
    p {
      margin-block-end: 2em;
    }
    label, span[data-required="【必須】"] {
      display: block;
      margin-block-end: .5em;
    }
    label+br, span[data-required="【必須】"]+br {
      display: none;
    }
    input[type=text]:focus, input[type=email]:focus, input[type=tel]:focus, textarea:focus {
      background-color: #fff;
      outline: 1px solid #e0e0e0;
    }
    input[type=text], input[type=email], input[type=tel], textarea, .notice {
      background-color: #fff;
      border: none;
      font-size: 1rem;
    }
    label[data-required]::after, span[data-required]::after {
      content: attr(data-required);
      color: #f20000;
      font-size: .9rem;
      margin-inline-start: 3px;
    }
    label, span[data-required] {
      font-weight: 500;
    }
    p:has(textarea) {
      margin-block-end: 0;
    }
  }
  p.intent, p.requiremark>span {
    color: #f20000;
  }
  p.requiremark {
    padding-block: 1.5rem 4rem;
  }
  .innerBlk:has(#repairing) {
    ul {
      padding-inline-start: 0;
      li {
        list-style: none;
      }
      li::before {
        content: "※ ";
      }
    }
  }
  .sec_privacy_policy {
    height: 200px;
    overflow-y: scroll;
    border: 1px solid #e0e0e054;
    padding: 1em;
    dd {
      line-height: 2;
    }
    dt {
      color: #009fe5;
    }
    dt::before {
      content: "■";
      margin-inline-end: .5em;
    }
  }
  /* フォーム追加アクション */
  #repairingblk.animate-on {
    h2 {
      background-image: url(./images/headlinetopfff.svg), url(./images/headlinebottomfff.svg);
    }
    position: relative;
    z-index: 1;
    .quick.harry_up {
      opacity: 0;
      transform: translateY(-20px) rotate(180deg) rotateY(90deg);
      transform-origin: left bottom;
      position: absolute;
      left: 53.5%;
      width: fit-content;
      transition: 1s cubic-bezier(.91, .01, .76, 1.47);
      text-align: center;
      cursor: pointer;
      z-index: -1;
      ;
    }
  }
  #repairingblk::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-image: linear-gradient(179deg, rgb(41 157 218) 5%, rgb(248 248 248 / 28%) 31%);
  }
  #repairingblk.animate-on.event-view .quick.harry_up {
    opacity: 1;
    transform: translateY(-60px) rotate(0deg) rotateY(0deg);
    animation: float-pulse 1s ease-in-out infinite 1.3s;
	z-index:3;
  }
  /* .home */
}
/* Q&A */
/* --------レイアウト用のスタイル-------- */
.qa {
  width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
  margin-inline: auto;
  display: flex;
  flex-direction: column;
  summary {
    /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
    display: block;
  }
  summary::-webkit-details-marker {
    /* Safariで表示されるデフォルトの三角形アイコンを消します */
    display: none;
  }
  .qasummary_inner {
    cursor: pointer;
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    padding: 16px 24px;
    border: 1px solid #062d59;
    font-weight: bold;
    background-color: #062d59;
    color: #fff;
  }
  .qaicon {
    display: block;
    position: relative;
    width: 24px;
    margin-left: 6px;
    flex-shrink: 0;
    transform-origin: center 43%;
    transition: transform 0.4s;
  }
  /* is-openedクラスが付与されたときのスタイル */
  details.is-opened .icon {
    transform: rotate(180deg);
  }
  details[open] .qaicon {
    transform: rotate(180deg);
  }
  /* アイコンのバーのスタイル */
  .qaicon::before,
  .qaicon::after {
    content: "";
    position: absolute;
    display: block;
    width: 15px;
    height: 3px;
    background-color: #fff;
  }
  .qaicon::before {
    left: 0;
    transform: rotate(45deg);
  }
  .qaicon::after {
    right: 0;
    transform: rotate(-45deg);
  }
  /* --------アコーディオンの中身のスタイル-------- */
  .qacontent {
    overflow: hidden;
    /* background-color: #f0f2ff; */
    /* details直下のタグにpaddingを設定すると挙動がおかしくなるので、ここには指定しない */
  }
  .qacontent_inner {
    padding: 24px 48px;
    display: flex;
    flex-direction: column;
    gap: 16px;
  }
  details {
    margin-bottom: 16px;
  }
  details:last-child {
    margin-bottom: 0;
  }
}
@media (max-width: 760px) {
  .qa {
    width: 100%;
  }
}
@media(1024px <=width) {
  body.page-template-default.home {
    .entry-content {
      overflow-x: clip;
      section:nth-of-type(2) {
        div.block1 {
          div.fx {
            justify-content: space-between;
            flex-direction: row;
            padding-block: 6rem;
            width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
            margin-inline: auto;
            gap: clamp(1rem, 0.5rem + 0.5vw, 3rem);
            .block1.block1top {
              h3 {
                white-space: nowrap;
              }
            }
            h3 {
              color: #00efef;
              font-size: clamp(1.375rem, 1.004rem + 1.66vw, 3rem);
              background-image: url(./images/head_line_under.svg);
              background-repeat: no-repeat;
              background-position: left bottom;
              padding-block-end: .8em;
              padding-inline-start: .5em;
              display: flex;
              gap: clamp(1rem, -0.143rem + 1.79vw, 2rem);
              align-items: center;
            }
            h3::before {
              width: clamp(3.125rem, 0.982rem + 3.35vw, 80px);
              height: clamp(3.125rem, 1.696rem + 2.23vw, 4.375rem);
              background-repeat: no-repeat;
              background-position: left center;
              background-size: contain;
            }
            div.lt {
              width: 49%;
            }
            div.rt {
              width: 49%;
            }
          }
        }
        .block1.block1top {
          position: relative;
          background-size: contain;
          .fx {
            display: block flow-root;
            position: relative;
            .lt, rt {
              width: unset;
              position: relative;
            }
            .lt {
              left: 0;
              width: 49.5%;
            }
            .rt {
              float: right;
              width: 50%;
              margin-block-start: calc(clamp(1.875rem, 0.5rem + 2.01vw, 48px) * -2);
            }
          }
        }
      }
    }
  }
}
.btnimg {
  padding-block: clamp(3rem, 0.17rem + 1.98vw, 40px);
  position: relative;
  background-image: url(./images/btn_bh.webp);
  background-repeat: no-repeat;
  background-size: cover;
  display: grid;
  grid-template-columns: 1fr;
  justify-content: center;
  justify-items: center;
  >div.soudan01 {
    width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
    margin-inline: auto;
    position: relative;
    >img {
      margin-inline: auto;
      object-fit: contain;
      padding-inline: 19% 0;
      /* position: absolute; */
    }
    a {
      display: block;
      width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
      margin-inline: auto;
      margin-block-start: calc(1.6svw* -2.3);
      transition: .2s cubic-bezier(0.52, 0.34, 0.49, 0.89);
      img {
        position: relative;
      }
    }
  }
  a:hover {
    transform: scale(1.05);
  }
  >div.shousai_btn02 {
    width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
    margin: 2rem auto 4rem;
    a {
      background: #c60606;
      display: block;
      text-align: center;
      color: #fff;
      text-decoration: none;
      border-radius: 20px;
      font-size: clamp(1.25rem, 0.457rem + 3vw, 56px);
      padding: 1rem 0;
      font-weight: 600;
      filter: drop-shadow(0px 10px 0px #7a0404);
      transition: .5s;
    }
  }
}
/* map */
.japan-map {
  position: relative;
  margin-inline-start: -1rem;
  z-index: 1;
  .ripple {
    position: absolute;
    margin-inline-start: 2rem;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 10px;
    height: 10px;
    aspect-ratio: 1/1;
    background: rgb(125 125 125 / 93%);
    border-radius: 50%;
    z-index: -1;
    animation: ripple 4s linear infinite;
  }
  .ripple:nth-child(2) {
    animation-delay: 2s;
  }
  .ripple:nth-child(3) {
    animation-delay: 1s;
  }
}
/* 画面幅違いの処理 */
@media(1024px > width) {
  /*  */
  .go-to-top {
    bottom: 140px;
  }
  .content {
    main#main {
      margin-block-start: 0;
      padding-block-start: 0;
    }
  }
  #CateBlockName {
    margin-block-start: 58px;
  }
  /* モバイルメニュー */
  ul.mobile-header-menu-buttons.has-logo-button {
    align-items: center;
    min-height: auto;
    padding-inline: .5rem;
    padding-block-end: .5rem;
    justify-content: space-between;
    box-shadow: 0 0 1px #999999e0;
    .menu-button {
      display: block;
      flex-grow: unset;
      width: unset;
    }
    .logo-menu-button.menu-button {
      img.site-logo-image {
        max-height: unset;
        height: 2.3rem;
        width: auto;
        object-fit: contain;
        padding: .2rem;
      }
    }
    .navi-menu-button.menu-button {
      position: relative;
      display: block;
      padding-block-start: .3rem;
      .navi-menu-icon.menu-icon {
        text-align: center;
        position: relative;
        display: block;
        height: auto;
        .navi-menu-caption.menu-caption {
          font-size: 13px;
          font-weight: bold;
        }
      }
      label#navi-menu-open {
        .navi-menu-icon.menu-icon {
          text-align: center;
          position: relative;
          display: inline-block;
          width: 2.75rem;
          height: 100%;
          margin: 0;
          .mb-button {
            margin: 0 auto;
            position: relative;
            display: inline-block;
            top: -2px;
            width: 100%;
            -webkit-transition-duration: 0s;
            transition-duration: 0s;
            -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
          }
          .mb-button:after, .mb-button:before {
            content: "";
            width: 2.75rem;
            height: 2px;
            display: block;
            background: #252525;
            position: relative;
          }
          .mb-button:after {
            margin-top: 9px;
            -webkit-transition-property: margin, -webkit-transform;
            transition-property: margin, transform;
            -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
            -webkit-transition-delay: 0.2s, 0s;
            transition-delay: 0.2s, 0s;
          }
          .mb-button:before {
            margin-top: -9px;
            -webkit-transition-property: margin, -webkit-transform;
            transition-property: margin, transform;
            -webkit-transition-duration: 0.2s;
            transition-duration: 0.2s;
            -webkit-transition-delay: 0.2s, 0s;
            transition-delay: 0.2s, 0s;
          }
          &:hover span {
            background-color: rgba(0, 0, 0, 0.0);
            -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s;
          }
          &:hover span:before {
            margin-top: 0;
            opacity: .8;
            -webkit-transform: rotate(25deg);
            transform: rotate(25deg);
            -webkit-transition-delay: 0s, 0.2s;
            transition-delay: 0s, 0.2s;
          }
          &:hover span:after {
            margin-top: 0;
            opacity: .8;
            -webkit-transform: rotate(-25deg);
            transform: rotate(-25deg);
            -webkit-transition-delay: 0s, 0.2s;
            transition-delay: 0s, 0.2s;
          }
        }
      }
    }
  }
  .navi-menu-content {
    left: auto;
    right: 0;
    width: 100%;
    height: 100svh;
    transform: translateY(-105%);
    background-color: #062d59ed;
  }
  .menu-content {
    max-width: unset;
  }
  .menu-content .menu-drawer {
    margin-inline: auto;
    width: 90%;
    li:not(.fix) {
      text-align: center;
      a {
        font-weight: 600;
        line-height: 3;
        color: #fff;
        display: block;
        transition: .3s all;
        &:hover {
          background-color: unset;
          color: #ffffff8a;
          transform: scale(1.05);
        }
      }
    }
    li.fix {
      margin-block-start: 1.5em;
      text-align: center;
      position: relative;
      a {
        color: unset;
        background-color: #f3ff00;
        line-height: 2.5;
        font-size: clamp(1rem, 0.97rem + 0.13vw, 18px);
        font-weight: bold;
        &:hover {
          color: #25252592
        }
      }
      a::after {
        content: url(./images/arrowbk.svg);
        position: relative;
        display: inline-block;
        margin-inline-start: 1em;
        transition: .3s all;
      }
      a:hover::after {
        transition: .3s all;
        transform: translateX(.125rem);
        transform-origin: left;
      }
    }
    li.shousai_menu {
      margin-block-start: 1.5em;
      text-align: center;
      position: relative;
      a {
        color: #fff;
        background-color: #c60606;
        line-height: 2.5;
        font-size: clamp(1rem, 0.97rem + 0.13vw, 18px);
        font-weight: bold;
        &:hover {
          color: #25252592
        }
      }
      a::after {
        content: url(./images/arrowwh.svg);
        position: relative;
        display: inline-block;
        margin-inline-start: 1em;
        transition: .3s all;
        width: 16px;
      }
      a:hover::after {
        transition: .3s all;
        transform: translateX(.125rem);
        transform-origin: left;
      }
    }
  }
  .navi-menu-content {
    span.fas.fa-times {
      display: block;
      position: relative;
      margin-inline-end: 0;
      text-align: right;
      height: 2px;
      width: 2.75rem;
      height: 3rem;
      &:before {
        content: "";
        display: block;
        position: absolute;
        height: 2px;
        width: 2.75rem;
        background: #fff;
        transform: rotate(45deg);
        top: 29px;
      }
      &:after {
        content: "";
        display: block;
        position: absolute;
        height: 2px;
        width: 2.75rem;
        background: #fff;
        transform: rotate(-45deg);
        bottom: 17px;
      }
    }
    .menu-close-button {
      display: flex;
      position: relative;
      justify-content: flex-end;
      padding-inline-end: .5rem;
      background-color: #062d59;
      padding-block-end: .25rem;
    }
  }
  /* 　投稿ページ画面下の関連記事 */
  .under-entry-content {
    /* フッター固定のため重なり調整 */
    padding-bottom: calc(122px + 1rem);
    margin-bottom: 0;
    .related-list {
      grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    }
  }
  /* フッター処理 */
  .footer-bottom.fdt-up-and-down.fnm-text-width.cf {
    padding: 0 0 .5rem;
  }
  footer#footer.footer {
    position: fixed;
    bottom: 0;
    width: 100%;
    #sm_bunner {
      display: flex;
      justify-content: space-around;
      background-image: url(./images/smunderbg.webp);
      background-size: cover;
      cursor: pointer;
      a {
        display: block;
        img {
          margin-block: .5rem .2rem;
          width: 46vw;
        }
      }
    }
  }
  body.post-template-default, body.archive {
    figure.leftimage {
      float: none;
      width: 100%;
    }
    .leftimage+table.dealwork {
      width: 100%;
      float: none;
      margin-block-start: 1.5rem;
    }
    table.dealwork {
      th {
        padding-inline: 1rem;
        width: fit-content;
      }
    }
  }
  .mobile-header-menu-buttons {
    .search-menu-button.menu-button {
      padding-inline: .5em;
    }
  }
  /* TOP home */
  body.page-template-default.home {
    .entry-content {
      section:nth-of-type(1) {
        background-size: contain;
      }
      .inner_block {
        width: 95%;
      }
      section:nth-of-type(2) {
        div.block1 {
          width: 100%;
          margin-inline: auto;
          div.fx {
            width: 100%;
            gap: 2rem;
          }
          .lt {
            padding-inline: 1rem;
          }
        }
        .block1.block1top {
          h3::before {
            margin-block-end: .5rem;
          }
          position: relative;
          .fx {
            display: grid;
            grid-template-columns: minmax(360px, 0.9fr);
            grid-template-rows: repeat(3, auto);
            position: relative;
            justify-content: center;
            .lt, rt {
              width: unset;
              position: relative;
            }
            .lt {
              grid-column: 1 / 2;
              grid-row: 2 / 3;
              width: 100%;
            }
            .rt {
              grid-column: 1 / 2;
              grid-row: 3 / 4;
              float: unset;
              width: 100%;
            }
          }
        }
        div.block1.block4 {
          background-position: left bottom;
        }
        >section {
          div#voices.outBlk {
            .custom-category-posts {
              grid-template-columns: minmax(48%, 1fr);
              grid-template-rows: repeat(3, minmax(auto, 1fr));
              gap: 2rem;
              .post-item_shotrcode {
                background-color: #ededed;
                padding: 1.5rem;
                width: calc(100% - 1rem);
                grid-template-columns: subgrid;
                grid-row: unset;
                grid-column: span 2;
                row-gap: 1rem;
                justify-items: center;
              }
              .post-thumbnail {
                grid-column: 1/2;
                grid-row: 1/3;
              }
              .post-content {
                align-self: center;
              }
              .ancher {
                grid-column: 2/3;
                grid-row: 2/3;
                align-self: center;
              }
            }
          }
        }
      }
      section {
        .outBlk {
          padding-inline: 1em;
          .innerBlk {
            width: 100%;
          }
        }
      }
    }
    #problem {
      clip-path: polygon(100% 0, 100% 82%, 50% 90%, 0 82%, 0 0);
      padding-block-end: 13em;
    }
    #problem figure {
      width: fit-content;
      margin-inline: auto;
    }
    #problem+.wp-block-cocoon-blocks-column-3.column-wrap.column-3.layout-box {
      margin-block-start: calc(clamp(4.5rem, 4.1vw + .5rem, 8rem) * -2);
    }
    .sec_privacy_policy {
      margin-block-end: 15rem;
    }
    .flowslider {
      .flow {
        /* width: 100svw; */
        margin-inline-start: auto;
        margin-inline-end: auto;
        .swiper {
          .swiper-pagination.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
            margin-inline: 0;
          }
          .swiper-button-next {
            right: 0;
          }
        }
      }
    }
  }
}
@media(800px >=width) {
  /* 　投稿ページ画面下の関連記事 */
  .under-entry-content {
    .pager-post-navi {
      display: grid;
      grid-template-columns: repeat(2, minmax(170px, 1fr));
      justify-content: space-between;
    }
  }
  /* TOP home */
  body.page-template-default.home {
    #hero {
      height: 90lvh;
      background-image: url(./images/smtopimagebg.webp);
      div {
        h1 {
          padding-block-end: 5rem;
        }
      }
    }
    svg+div.inner_block {
      margin-block-start: -7rem;
      picture {
        width: fit-content;
        source {
          width: 100%;
          height: auto;
        }
      }
    }
    .entry-content {
      #problem+.wp-block-cocoon-blocks-column-3.column-wrap.column-3.layout-box {
        figcaption {
          width: 90%;
          margin-inline: auto;
        }
      }
      section:nth-of-type(1) {
        #problem {
          .bln {
            h2.difficult {
              letter-spacing: -5px;
              padding-inline: .1rem;
            }
          }
          .bln:before {
            margin-left: -15px;
          }
        }
      }
      section:nth-of-type(2) {
        div.block1 {
          div.fx {
            div.rt {
              img {
                padding-inline: 1rem;
              }
            }
          }
        }
        div:has(#case-studies) {
          padding-block: 4rem;
        }
        >section {
          .outBlk {
            .custom-category-posts {
              display: grid;
              grid-template-columns: 1fr;
              grid-template-rows: repeat(2, minmax(auto, 1fr));
              justify-content: center;
              gap: 2rem clamp(1.875rem, 0.874rem + 4.27vw, 6rem);
            }
          }
          .outBlk.decline>.innerBlk>div {
            grid-template-columns: 1fr;
            grid-template-rows: repeat(2, minmax(auto, 1fr));
            /* justify-content: space-between; */
            /* gap: 2rem clamp(1.875rem, 0.874rem + 4.27vw, 6rem); */
          }
          div#voices.outBlk {
            background-color: #000;
            background-position: center top;
            background-size: contain;
            .custom-category-posts {
              grid-template-columns: 100%;
              grid-template-rows: repeat(3, minmax(auto, 1fr));
              row-gap: 3rem;
              .post-item_shotrcode {
                grid-template-columns: subgrid;
                /* grid-template-rows: subgrid; */
                grid-row: span 3;
                grid-column: span 1;
                row-gap: 1.5rem;
                justify-items: center;
              }
              .post-thumbnail {
                grid-column: 1/3;
                grid-row: 1/2;
              }
              .post-content {
                align-self: center;
              }
              .ancher {
                grid-column: 1/3;
                grid-row: 3/4;
                align-self: center;
              }
            }
          }
        }
      }
    }
  }
  /*バナー*/
  .soudan02 img {
    width: 45px;
    margin-right: 1%;
  }
  .soudan02 {
    font-size: 16px;
    width: 100%;
    margin: 3% auto;
    display: flex;
    justify-content: center;
  }
  .soudan02_txt {
    margin: 0 2%
  }
  .sp_br {
    display: block;
  }
}
@media(600px >=width) {
  body.post-template-default, body.archive {
    main#main {
      padding-block-end: 1rem;
    }
    header.article-header.entry-header, aside#related-entries {
      h2 {
        font-size: 20px;
      }
    }
    article.article.category-voices-post {
      header.article-header.entry-header {
        margin-block-end: 0;
        border-radius: 1.5rem 1.5rem 0 0;
        padding-block: 1rem 1.5rem;
        padding-inline: 1rem;
      }
      .entry-content.cf {
        border-radius: 0 0 1.5rem 1.5rem;
        padding-block-end: 1rem;
        padding-inline: .8rem;
        table.dealwork {
          width: 100%;
          th {
            width: 6rem;
          }
          th, td {
            border: none;
            border-spacing: 2rem;
            padding: .25rem .5rem .25rem 1rem;
          }
        }
      }
    }
  }
  /* TOP home */
  body.page-template-default.home {
    .entry-content {
      section:nth-of-type(2) {
        >section {
          .custom-category-posts+p, .outBlk.decline>.innerBlk>div+p {
            margin-block-start: 4rem;
            width: 100%;
            text-align: center;
          }
        }
      }
    }
    section {
      .outBlk.flowslider {
        .flow {
          .swiper {
            .swiper-slide {
              padding: 1rem
            }
            h3 {
              margin-block-end: 1.75rem;
            }
            .swiper-wrapper {
              .inBlock {
                grid-template-rows: 10rem minmax(10rem, auto);
              }
              >div:nth-of-type(1) {
                br {
                  display: none
                }
                .inBlock {
                  div {
                    padding: 1rem;
                  }
                  p:nth-last-of-type(1) {
                    margin-block-start: 1em;
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
@media(1024px <=width) {
  .content-in {
    flex-wrap: nowrap;
    column-gap: clamp(1rem, -4.714rem + 8.93vw, 6rem);
  }
  /* ヘッダー */
  div#header-container {
    background-color: #fff;
    width: 100%;
    margin-inline: auto;
    overflow-x: clip;
    .header-container-in.hlt-top-menu {
      align-content: center;
      column-gap: clamp(3.125rem, -35.446rem + 60.27vw, 36.875rem);
      header#header.header {
        #header-in {
          display: block flow-root;
          .logo-header {
            max-height: unset;
            a.site-name {
              margin: 0;
              padding-inline-start: 1.875rem;
              padding-block: .875rem;
              display: block;
              img {
                height: 100%;
                width: 222px;
                max-height: unset;
                position: relative;
              }
              span {
                position: relative;
              }
              &:hover {
                opacity: 0.6;
              }
            }
          }
        }
      }
      /* ナビゲーション */
      nav#navi.navi {
        a {
          font-size: clamp(0.938rem, 0.723rem + 0.33vw, 1.125rem);
        }
        .navi-in {
          ul {
            display: flex;
            justify-content: space-between;
            column-gap: clamp(0.75rem, 1vw + .5rem, 4rem);
            li {
              width: unset;
              height: 5rem;
              a {
                display: block;
                line-height: 5rem;
                font-weight: 600;
              }
              a:hover {
                background-color: unset;
              }
              a::before {
                background: #009fe5;
                content: '';
                width: 50%;
                height: 2px;
                position: absolute;
                left: 25%;
                bottom: 30%;
                margin: auto;
                transform-origin: center bottom;
                transform: scale(0, 1);
                transition: transform .3s;
              }
              a:hover::before {
                transform-origin: center bottom;
                transform: scale(1, 1);
              }
            }
            li:nth-last-of-type(2) {
              white-space: nowrap;
            }
            li.fix {
              margin-left: .75rem;
              width: clamp(10rem, 5.143rem + 7.46vw, 14rem);
              background-color: #289dda;
              padding: 1rem 0 0;
              height: auto;
              a {
                color: #fff;
                line-height: 1.5;
                font-size: 20px;
                span {
                  display: block;
                  font-size: 14px;
                  background: #035275;
                }
              }
              a::before {
                background: #fff;
              }
              a:hover::before {
                transform-origin: left bottom;
                transform: scale(1, 1);
                bottom: 15%;
              }
            }
          }
        }
      }
    }
  }
  /* フッター */
  #sm_bunner {
    display: none;
  }
  .mobile-header-menu-buttons {
    .search-menu-button.menu-button {
      display: none;
    }
  }
}
@media(1240px > width) {
  .content,
  aside#related-entries,
  div#pager-post-navi {
    width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
    margin-inline: auto;
  }
}
@media(1240px <=width) {
  .content, aside#related-entries, div#pager-post-navi {
    width: clamp(22.813rem, 10.146rem + 54.1vw, 1200px);
    margin-inline: auto;
  }
}
@media screen and (max-width: 1200px) {
  body.page-template-default.home {
    #shousai {
      a {
        max-width: 90vw;
      }
    }
  }
}