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

/* バナー　更新分 */
.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;
    margin: 0 auto 8%;
}


@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;
	 a{
		img{width: clamp(200px, 60svw, 360px);
		 } 
	 }
	 
	 }
 }
 #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;
  }
 }
 /* .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(20px, 5vw, 53px);
    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+.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;
			}
		}
	}
}
}