@charset "UTF-8";
/*
Theme Name: 【最新】シンプル　天野企画テーマ１
Author: amanokikaku
Author URI: http://amnk.co.jp/
Description: 2025.5.20
Version: 1.0
*/

@layer reset, form, base, swiper, layout, common;
/*--------------------reset.css--------------------*/

@layer reset {

  html,
  body,
  div,
  span,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  abbr,
  address,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  samp,
  small,
  strong,
  var,
  b,
  i,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    font-size: 100%;
    vertical-align: baseline;
    white-space: initial;
  }

  html {
    inline-size: 100%;
    overflow-x: hidden;
  }

  body {
    -webkit-text-size-adjust: 100%;
    line-height: 1;
  }

  article,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  menu,
  nav,
  section {
    display: block;
  }

  ol,
  ul,
  li {
    list-style: none;
  }

  blockquote,
  q {
    quotes: none;
  }

  blockquote:before,
  blockquote:after,
  q:before,
  q:after {
    content: '';
    content: none;
  }

  a {
    margin: 0;
    padding: 0;
    background: transparent;
    color: #000;
    font-size: 100%;
    text-decoration: none;
    vertical-align: baseline;
  }

  /* change colours to suit your needs */
  ins {
    background-color: #ff9;
    color: #000;
    text-decoration: none;
  }

  /* change colours to suit your needs */


  del {
    text-decoration: line-through;
  }

  abbr[title],
  dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
  }

  table {
    border-collapse: collapse;
    border-spacing: 0;
  }

  /* change border colour to suit your needs
*/
  hr {
    display: block;
    block-size: 1px;
    margin: 1em 0;
    padding: 0;
    border: 0;
    border-top: 1px solid var(--border_color);
  }

  input,
  select {
    vertical-align: middle;
  }

  img,
  video {
    vertical-align: bottom;
    max-inline-size: 100%;
    block-size: auto;
  }

  iframe {
    vertical-align: bottom;
    max-inline-size: 100%;
  }

  th {
    text-align: left;
  }

  *,
  *:before,
  *:after {
    box-sizing: border-box;
  }
}

/*--------------------reset.cssここまで--------------------*/

/*--------------------form.css--------------------*/

@layer form {

  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="search"],
  input[type="url"],
  input[type="password"],
  input[type="datetime"],
  input[type="date"],
  input[type="month"],
  input[type="week"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="number"],
  input[type="range"],
  input[type="color"],
  input[type="radio"],
  input[type="checkbox"],
  input[type="submit"],
  input[type="button"],
  input[type="image"],
  select,
  button,
  textarea {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    margin: 0;
    padding: 0;
    border: none;
    border-radius: 0;
    outline: none;
    background: none;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  }

  /* プレースホルダー */
  ::-webkit-input-placeholder {
    color: var(--border_color);
  }

  :-ms-input-placeholder {
    color: var(--border_color);
  }

  ::-ms-input-placeholder {
    color: var(--border_color);
  }

  ::placeholder {
    color: var(--border_color);
  }

  /* 入力欄 */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="search"],
  input[type="url"],
  input[type="password"],
  input[type="datetime"] {
    max-inline-size: min(88vw, 100%);
    padding: 0.25rem 0.75rem;
    border: 1px solid var(--border_color);

  }

  /* 入力欄 */
  input[type="text"],
  input[type="email"],
  input[type="tel"],
  input[type="search"],
  input[type="url"],
  input[type="password"],
  input[type="datetime"],
  input[type="date"],
  input[type="month"],
  input[type="week"],
  input[type="time"],
  input[type="datetime-local"],
  input[type="number"],
  input[type="range"],
  textarea {
    padding: 0.25rem 0.75rem;
    background: #fff;
    border-radius: 4px;
    box-shadow: inset 1.5px 1.5px 0px var(--border_color);
    border: none;
    border-bottom: 1px solid var(--border_color);
    border-right: 1px solid var(--border_color);
    font-size: min(4vw, 16px);
  }

  /* 日付 */
  input[type="datetime"],
  input[type="date"],
  input[type="month"],
  input[type="week"],
  input[type="time"],
  input[type="datetime-local"] {
    font-size: min(4vw, 16px);
    min-block-size: 34px;
    min-inline-size: 120px;
  }

  /* 数値 */
  /* スピンボタン非表示*/
  input[type="number"]::-webkit-outer-spin-button,
  input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
  }

  input[type="number"] {
    -moz-appearance: textfield;
  }

  /* レンジ */
  /* カラーピッカー */
  select {
    inline-size: 100%;
    padding: 0.25rem 0.75rem;
    border: 1px solid var(--border_color);
    background: url(images/down-select.png) no-repeat right 1em center;
    cursor: pointer;
    font-size: min(4vw, 16px);
  }

  select::-ms-expand {
    display: none;
  }

  textarea {
    inline-size: min(88vw, 100%);
    padding: 0.25rem 0.75rem;
    overflow: hidden;
  }

  input[type="submit"],
  input[type="button"],
  button {
    cursor: pointer;
  }

  form input[type="radio"] {
    display: none;
  }

  form input[type="radio"]+span {
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
    position: relative;
    line-height: 1;
    padding-inline-start: 1.25rem;
  }

  form input[type="radio"]+span:before {
    margin-right: 0.3em;
    content: "";
    inline-size: 1rem;
    block-size: 1rem;
    display: inline-flex;
    border-radius: 1rem;
    border: 1px solid var(--border_color);
    position: absolute;
    inset-block: 50%;
    inset-inline-start: 0;
    translate: 0 -50%;
  }

  form input[type="radio"]:checked+span:after {
    content: "";
    inline-size: 1rem;
    block-size: 1rem;
    background: var(--main_color);
    display: inline-block;
    border-radius: 1rem;
    position: absolute;
    inset-block: 50%;
    inset-inline-start: 0;
    translate: 0 -50%;
    scale: 50%;
  }

  form input[type="checkbox"] {
    display: none;

    label:has(&) {
      display: block;
    }

    &+span {
      display: inline-flex;
      align-items: baseline;
      vertical-align: middle;
      cursor: pointer;
      position: relative;
      gap: 0.25rem;

      &:before {
        margin-right: 0.3em;
        content: "";
        min-inline-size: 14px;
        aspect-ratio: 1/1;
        display: inline-block;
        border: 1px solid var(--border_color);
        position: relative;
        inset-block-start: 2px;
      }

      & ruby {
        display: flex;
        flex-flow: column;
        line-height: 1.25;
        font-size: min(3.5vw, 13px);
        gap: 0.25rem;

        & rt {
          line-height: 1.25;
          color: #aaa;
        }
      }
    }

    &:checked+span:after {
      content: "";
      inline-size: 14px;
      block-size: 10px;
      display: inline-block;
      position: absolute;
      left: 1px;
      top: 3px;
      border-bottom: 3px solid var(--main_color);
      border-left: 3px solid var(--main_color);
      transform: rotate(-45deg);
    }

  }

  .prefbox select {
    inline-size: 100px;
    margin-bottom: 0.5em;
    font-size: 16px;
  }

  .wrap .contact-form table th,
  .wrap .contact-form table td {
    vertical-align: middle;
  }

  .contact-form button {
    display: block;
    z-index: 1;
    position: relative;
    inline-size: 300px;
    min-inline-size: 200px;
    margin-top: 40px;
    padding: 1em;
    background: #fff;
    text-align: center;
    transition: 0.5s;
    color: var(--main_color);
    /* border-bottom: #104f82 1px solid; */
    border: 1px solid var(--main_color);
    border-radius: 4px;
    filter: drop-shadow(1px 1px 0px var(--border_color));
    font-size: 14px;
    margin: auto;
  }

  .contact-form button:after {
    -webkit-transform: rotate(45deg);
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1em;
    bottom: 0;
    inline-size: 12px;
    block-size: 12px;
    margin: auto;
    transform: rotate(45deg);
    border-top: 3px solid var(--main_color);
    border-right: 3px solid var(--main_color);
    content: "";
  }

  .contact-form button:hover {
    background: var(--main_color);
    color: #fff;
    opacity: 1;
  }

  .contact-form button:hover:after {
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
  }

  .mw_wp_form_preview .list-caution {
    display: none;
  }

  /*パスワード保護*/

  .post-password-form {
    text-align: initial;

    input[type="submit"] {
      display: flex;
      align-items: center;
      justify-content: center;
      padding: 0.5rem;
      background: #333;
      color: #fff;
      inline-size: 100%;
      border-radius: 0.25rem;
      margin-block-start: 1rem;
    }
  }

  /*ログインショートコード*/

  .box-login {
    & p {
      text-align: initial;
    }

    & [type="submit"] {
      width: 100%;
      padding: min(3vw, 1rem);
      font-size: min(16px, 4vw);
      font-weight: bold;
      background: var(--main_color);
      color: #fff;
      border-radius: 8px;
    }

    & [type="checkbox"] {

      label:has(&) {
        display: inline-flex;
        align-items: baseline;
        vertical-align: middle;
        cursor: pointer;
        position: relative;
        gap: 0.25rem;

        &:before {
          margin-right: 0.3em;
          content: "";
          min-inline-size: 14px;
          aspect-ratio: 1/1;
          display: inline-block;
          border: 1px solid var(--border_color);
          position: relative;
          inset-block-start: 2px;
        }
      }

      label:has(&:checked):after {
        content: "";
        inline-size: 14px;
        block-size: 10px;
        display: inline-block;
        position: absolute;
        left: 1px;
        top: 3px;
        border-bottom: 3px solid var(--main_color);
        border-left: 3px solid var(--main_color);
        transform: rotate(-45deg);
      }

    }

  }

}

/*--------------------form.cssここまで--------------------*/

/*--------------------base.css--------------------*/

@layer base {

  /* 共通色指定
*************************** */
  .global-nav .sub-menu>li>a,
  .btn-contact,
  .pagetop,
  .category-post,
  .slick-dots li.slick-active button:before,
  .sp-nav {
    background: var(--main_color);
    color: #fff;
  }

  body {
    color: #333;
    font-family: "Zen Kaku Gothic Antique", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: min(16px, 3.5vw);
    /*letter-spacing: .05rem;*/
    font-weight: 500;
    text-align: justify;
    font-feature-settings: "palt";
    text-rendering: optimizeLegibility;
  }

  body :is(p, li, dt, dd) {
    line-height: 2;

    & img {
      vertical-align: baseline;
    }
  }

  .textLeft {
    text-align: left;
  }

  .textRight {
    text-align: right;
  }

  .textCenter {
    text-align: center;
  }

  .textJustify {
    text-align: justify;
    text-justify: inter-ideograph;
  }


  html,
  body {
    scroll-behavior: smooth;
    /*overscroll-behavior: none;*/
  }

  *:is([id]) {
    scroll-margin-top: 100px;
    scroll-behavior: auto;
  }

  body {
    display: flex;
    flex-direction: column;
    min-block-size: 100vh;
    position: relative;

    @media(width <=960px) {
      overflow-x: hidden;
    }
  }

  body.over {
    padding-top: 84px;

    & .header.over {
      position: fixed;
      inset-inline-start: 0;
      inline-size: 100%;
      inset-block-start: -84px;

      &.active {
        position: fixed;
        inset-block-start: 0;
        inset-inline: 0;
        transition: all 0.5s 0.5s;
      }
    }
  }


  p {
    word-break: break-all;
  }

  ul {

    & li {
      line-height: 1.75;
    }

    :is(&:not([class]), &.wp-block-list:not([class*=" "]))>li:not([class]) {
      text-indent: -1rem;
      padding-inline-start: 1rem;

      & a {
        text-decoration: underline;
      }

      &+li {
        margin-block-start: 0.75rem;
      }

      &:before {
        content: "";
        display: inline-block;
        block-size: 10px;
        inline-size: 10px;
        background: var(--main_color);
        border-radius: 5px;
        margin-right: 5px;
      }
    }
  }

  ol {
    counter-reset: ol-count;

    &>li {
      line-height: 1.75;

      &:before {
        counter-increment: ol-count;
        content: counter(ol-count);
      }

      [style*="lower-alpha"] &:before {
        content: counter(ol-count, lower-alpha);
      }
    }

    :is(&:not([class]), &.wp-block-list:not([class*=" "]))>li:not([class]) {
      text-indent: -1rem;
      padding-inline-start: 1rem;

      &+li {
        margin-block-start: 0.5rem;
      }

      &:before {
        color: var(--main_color);
        font-weight: bold;
        content: counter(ol-count)".";
      }

      [style*="lower-alpha"] &:before {
        color: var(--main_color);
        font-weight: bold;
        content: counter(ol-count, lower-alpha)".";
      }
    }
  }

  /*
  .relative {
    position: relative;
  }

  .absolute {
    position: absolute;
  }

  .fullWidth {
    inline-size: 100%;
  }
*/

  .wp-block-image figcaption {
    text-align: center;
    margin: 15px 0 0;
    font-size: 14px;
  }


  .is-style-outline .wp-block-button__link:after {
    -webkit-transform: rotate(45deg);
    display: inline-block;
    top: 0;
    right: 1em;
    bottom: 0;
    inline-size: 10px;
    block-size: 10px;
    margin: auto;
    margin-left: 10px;
    transform: rotate(45deg);
    border-top: 2px solid var(--main_color);
    border-right: 2px solid var(--main_color);
    content: "";
  }


  .header {
    z-index: 6;
    position: relative;
    background: #fff;
    box-shadow: 0 0 3px rgba(0, 0, 0, 0.5);

    & .nav-drawer {
      display: flex;
      flex-flow: row;
    }

    & .recruit_link-header {
      flex: 0 clamp(150px, 10vw, 200px);
      position: relative;

      & a {
        position: absolute;
        inset: 0;
        aspect-ratio: 1/1;
        border: 0.5rem solid #000;
        background: #000;
        color: #fff;
        display: flex;
        flex-flow: column;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        font-weight: 700;
        outline: 2px solid #fff;
        outline-offset: -0.5rem;
        font-size: clamp(14px, 1vw, 16px);

        &:hover {
          opacity: 1;
          background: #fff;
          color: #000;
        }

        &:before {
          content: "";
          inline-size: min(2.5vw, 3rem);
          aspect-ratio: 113/150;
          background: currentColor;
          mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMCA0MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICNmZmY7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnIGlkPSJf44Os44Kk44Ok44O8XzEtMiIgZGF0YS1uYW1lPSIg44Os44Kk44Ok44O8IDEiPgogICAgPGc+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTI5LDE3djE4YzAsMi4yLTEuOCw0LTQsNEg1Yy0yLjIsMC00LTEuOC00LTRWNUMxLDIuOCwyLjgsMSw1LDFoMTQiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjksMTFoLTcuM2MtMS41LDAtMi43LTEuMi0yLjctMi43VjEiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTksMWM1LjUsMCwxMCw0LjUsMTAsMTAiLz4KICAgICAgPGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iMTAiIHkxPSIxOCIgeDI9IjIwIiB5Mj0iMTgiLz4KICAgICAgPGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iMTAiIHkxPSIyNSIgeDI9IjIwIiB5Mj0iMjUiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPg==') center / contain no-repeat;
          order: -2;
        }

        &:after {
          content: attr(data-text);
          order: -1;
          font-size: clamp(24px, 2vw, 38px);
          font-family: var(--poppins);
          font-style: italic;
        }
      }

      @media(width <=1080px) {
        display: none;
      }
    }

    & .inner-header {
      flex: 1;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: min(4vw, 1rem) min(8vw, 1.5rem);
      gap: 0.75rem 2rem;
      border-block-start: 0.5rem solid #000;

      & .wrap-logo {
        display: flex;
        align-items: flex-end;
        gap: min(2vw, 1.5rem);
        flex: 1;

        & .logo {
          display: block;
          flex: 0 min(50vw, 270px);

          &:hover {
            opacity: 1;
          }

          & img {
            display: block;
            inline-size: 100%;
            block-size: auto;
            /* max-block-size: 52px; */
          }
        }

        & .head-header {
          flex: 0 auto;
          line-height: 1.25;

          &>* {
            font-weight: 500;
            line-height: 1;
            font-size: clamp(14px, 3vw, 20px);
            padding: 0.25rem min(3vw, 1rem);
            border: 2px solid var(--key_color);
            white-space: pre;
          }
        }
      }

      & .wrap-menu {
        margin-inline-start: auto;
        flex: 0 auto;
      }

      @media(width <=1080px) {
        gap: unset;
        padding-inline-end: calc(40px + 2rem);
      }
    }

    @media(width <=640px) {
      & .inner-header {
        padding: calc(min(4vw, 1rem)) min(4vw, 1.5rem) min(4vw, 1rem);
        gap: unset;
      }
    }
  }

  .list-sp-menu {
    display: flex;
    position: absolute;
    top: calc(50% + 0.5rem);
    right: calc(min(4vw, 1.5rem) + 40px);
    transform: translateY(-50%);

    & .sp-menu {
      inline-size: 45px;
      display: flex;
      flex-flow: column nowrap;
      align-items: center;
      text-align: center;
      line-height: 1;

      & span {
        display: block;
        padding-top: 0.5em;
        transform: scale(0.8, 0.8);
        font-size: 10px;
        letter-spacing: -1px;
        text-indent: 0;
      }
    }

    & .sp-header-tel:before {
      content: "";
      display: inline-block;
      block-size: 25px;
      inline-size: 25px;
      mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%231364b3" d="M15,12H17A5,5 0 0,0 12,7V9A3,3 0 0,1 15,12M19,12H21C21,7 16.97,3 12,3V5C15.86,5 19,8.13 19,12M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z" /></svg>') no-repeat center center;
      -webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%231364b3" d="M15,12H17A5,5 0 0,0 12,7V9A3,3 0 0,1 15,12M19,12H21C21,7 16.97,3 12,3V5C15.86,5 19,8.13 19,12M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z" /></svg>') no-repeat center center;
      background: var(--main_color);
      right: 0;
      left: 0;
      /*top:-5px;*/
    }

    & .sp-header-contact:before {
      content: "";
      display: inline-block;
      block-size: 25px;
      inline-size: 25px;
      mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%231364b3" d="M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z" /></svg>') no-repeat center center;
      -webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%231364b3" d="M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z" /></svg>') no-repeat center center;
      background: var(--main_color);
      right: 0;
      left: 0;
      /*top:-5px;*/
    }

    & .sp-header-access:before {
      content: "";
      display: inline-block;
      block-size: 25px;
      inline-size: 25px;
      mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%231364b3" d="M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z" /></svg>') no-repeat center center;
      -webkit-mask: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="%231364b3" d="M12,11.5A2.5,2.5 0 0,1 9.5,9A2.5,2.5 0 0,1 12,6.5A2.5,2.5 0 0,1 14.5,9A2.5,2.5 0 0,1 12,11.5M12,2A7,7 0 0,0 5,9C5,14.25 12,22 12,22C12,22 19,14.25 19,9A7,7 0 0,0 12,2Z" /></svg>') no-repeat center center;
      background: var(--main_color);
      right: 0;
      left: 0;
      /*top:-5px;*/
    }

    & .sp-header-entry:before {
      content: "";
      display: inline-block;
      block-size: 25px;
      inline-size: 25px;
      mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAzMCA0MCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICNmZmY7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxnIGlkPSJf44Os44Kk44Ok44O8XzEtMiIgZGF0YS1uYW1lPSIg44Os44Kk44Ok44O8IDEiPgogICAgPGc+CiAgICAgIDxwYXRoIGNsYXNzPSJjbHMtMSIgZD0iTTI5LDE3djE4YzAsMi4yLTEuOCw0LTQsNEg1Yy0yLjIsMC00LTEuOC00LTRWNUMxLDIuOCwyLjgsMSw1LDFoMTQiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMjksMTFoLTcuM2MtMS41LDAtMi43LTEuMi0yLjctMi43VjEiLz4KICAgICAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTksMWM1LjUsMCwxMCw0LjUsMTAsMTAiLz4KICAgICAgPGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iMTAiIHkxPSIxOCIgeDI9IjIwIiB5Mj0iMTgiLz4KICAgICAgPGxpbmUgY2xhc3M9ImNscy0xIiB4MT0iMTAiIHkxPSIyNSIgeDI9IjIwIiB5Mj0iMjUiLz4KICAgIDwvZz4KICA8L2c+Cjwvc3ZnPg==') center / contain no-repeat;
      background: var(--main_color);
      right: 0;
      left: 0;
      /*top:-5px;*/
    }

    @media (640px<width) {
      display: none;
    }

  }

  #nav-open {
    z-index: 10000;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: min(4vw, 1.5rem);
    inline-size: 35px;
    block-size: 40px;
    margin: auto;
    vertical-align: middle;
    cursor: pointer;
    display: flex;
    flex-flow: column nowrap;
    justify-content: flex-end;

    &:after {
      -webkit-transform: scale(0.8, 0.8);
      transform: scale(0.8, 0.8);
      font-size: 10px;
      text-align: center;
      content: "MENU";
    }

    & span {
      position: absolute;
      right: 0;
      left: 0;
      inline-size: 80%;
      block-size: 3px;
      margin: auto;
      background: var(--main_color);
      transition: all 0.5s;

      &:nth-of-type(1) {
        top: 2px;
      }

      &:nth-of-type(2) {
        top: 11px;
      }

      &:nth-of-type(3) {
        top: 20px;
      }
    }

    #nav-input:checked~& {

      & span {
        &:nth-of-type(1) {
          -webkit-transform: translateY(9px) rotate(-45deg);
          transform: translateY(9px) rotate(-45deg);
          transition: all 0.5s;
        }

        &:nth-of-type(2) {
          opacity: 0;
        }

        &:nth-of-type(3) {
          -webkit-transform: translateY(-9px) rotate(45deg);
          transform: translateY(-9px) rotate(45deg);
          transition: all 0.5s;
        }
      }
    }
  }

  .global-nav {
    display: flex;
    justify-content: end;
    z-index: 2;
    gap: min(1vw, 1.5rem);

    &>li {
      position: relative;

      &:before {
        content: none;
        display: block;
        block-size: 1px;
        inline-size: 0;
        background: var(--main_color);
        position: absolute;
        bottom: 0;
        right: 0;
        left: 0;
        margin: 0 auto;
        transition: 0.5s;
      }

      &:hover:before {
        inline-size: 80%;
      }

      &>a {
        display: block;
        padding: 0.5em 0;
        text-align: center;
        position: relative;
        /* font-weight:bold; */
        line-height: 1;

        &:after {
          content: '';
          display: block;
          position: relative;
          bottom: -8px;
          border-bottom: solid 1px currentcolor;
          -webkit-transform: scaleX(0);
          transform: scaleX(0);
          transition: -webkit-transform 250ms ease-in-out;
          transition: transform 250ms ease-in-out;
          transition: transform 250ms ease-in-out, -webkit-transform 250ms ease-in-out;
          opacity: 0.8;
        }

        &:hover:after {
          transform: scaleX(1);
        }
      }

      &>.sub-menu {
        z-index: 2;
        position: absolute;
        top: calc(100% + 0px);
        left: 50%;
        inline-size: 120%;
        transform: translateX(-50%);
        block-size: auto;
        opacity: 0;
        transition: 0.5s;
        visibility: hidden;

        &>li {
          position: relative;

          &+& {
            border-block-start: 1px solid #c9caca;
          }

          & a {
            display: block;
            padding: 1rem;
            z-index: 10;
            text-align: center;

            &:hover {
              background: #3b80b7;
              opacity: 1;
            }
          }
        }
      }

      &:hover>.sub-menu {
        block-size: auto;
        opacity: 1;
        transition: 0.5s;
        top: calc(100% + 15px);
        visibility: visible;

        &:before {
          content: "";
          display: block;
          block-size: 15px;
          inline-size: 100%;
          position: absolute;
          top: -15px;
          right: 0;
          left: 0;
          margin: 0 auto;
        }

        &:after {
          content: "";
          block-size: 0;
          inline-size: 0;
          display: block;
          border-color: transparent transparent var(--main_color);
          border-style: solid;
          border-width: 0 10px 10px;
          position: absolute;
          top: -10px;
          right: 0;
          left: 0;
          margin: 0 auto;
          z-index: -1;
        }
      }
    }

    @media(width <=1080px) {
      display: none;
    }
  }

  /*
  .global-nav>li>ul.sub-menu>li>ul>li {
    position: relative;
  }

  .global-nav>li>ul.sub-menu>li>ul>li:nth-child(1):before {
    content: "";
    block-size: 0;
    inline-size: 0;
    display: block;
    border-color: transparent transparent #104f82;
    border-style: solid;
    border-width: 10px 10px 10px;
    position: absolute;
    top: 0;
    bottom: 0;
    left: -20px;
    margin: auto 0;
    z-index: 2;
    transform: rotate(-90deg);
    -webkit-transform: rotate(-90deg);
  }

  .global-nav>li:last-child>ul.sub-menu>li>ul>li:nth-child(1):before {
    left: initial;
    right: -20px;
    transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
  }
  */
  /*
  .global-nav>li>ul>li>ul {
    position: absolute;
    top: 0;
    left: 100%;
    inline-size: 100%;
    opacity: 0;
    visibility: hidden;
    transition: 0.5s;
    z-index: 1;
  }

  .global-nav>li>ul>li:hover>ul {
    opacity: 1;
    visibility: visible;
    transition: 0.5s;
  }

  .global-nav>li:last-child>ul>li>ul {
    right: 100%;
    left: initial;
  }

  .global-nav>li>ul>li>ul>li {
    opacity: 0;
    visibility: hidden;
  }

  .global-nav>li>ul>li:hover>ul>li {
    opacity: 1;
    visibility: visible;
  }

  .global-nav>li>ul.sub-menu>li>ul>li>a {
    background: #104f82;
  }
*/

  .drawer-nav {
    border-block-end: 1px solid var(--border_color);

    & li {
      position: relative;
      line-height: 1.75;

      &+& {
        border-block-start: 1px solid var(--border_color);
      }

      & a {
        z-index: 1;
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        inline-size: 100%;
        min-block-size: 50px;
        display: flex;
        padding: 0.5rem 1rem;
        position: relative;

        &:not([href]) {
          pointer-events: none;
        }

        &:after {
          content: "";
          border-top: 3px solid #999;
          border-right: 3px solid #999;
          block-size: 9px;
          inline-size: 9px;
          transform: rotate(45deg);
        }

        & span {
          display: none;
        }
      }
    }

    & .sub-menu {
      display: none;
      border-block-start: 1px solid var(--border_color);

      & a {
        background: #eeeeee;
      }
    }

    & .btn-sub {
      z-index: 2;
      position: absolute;
      top: 0;
      right: 0;
      inline-size: 43px;
      block-size: 50px;
      margin: auto;
      color: #999999;

      &+a:after {
        content: none;
      }
    }

    & [class*=fa-angle] {
      &:before {
        content: "";
        border-top: 3px solid #999;
        border-right: 3px solid #999;
        block-size: 9px;
        inline-size: 9px;
        position: absolute;
        top: 50%;
        right: 50%;
      }

      &[class*="-down"]:before {
        transform: translate(75%, -50%) rotate(135deg);
      }

      &[class*="-up"]:before {
        transform: translate(75%, -50%) rotate(-45deg);
      }
    }

  }


  .wrap-fixed {
    position: fixed;
    inset: auto 0 0 auto;

    z-index: 5;
    inline-size: 100%;
    display: flex;
    flex-flow: column;
    align-items: flex-end;
    gap: 1rem;
    pointer-events: none;

    & .pagetop {
      display: flex;
      z-index: 5;
      align-items: center;
      justify-content: center;
      inline-size: 3rem;
      aspect-ratio: 1/1;
      border-radius: 50%;
      background: var(--main_color);
      color: #fff;
      text-align: center;
      opacity: 0;
      transition: 0.6s opacity;
      pointer-events: none;
      translate: -1.5rem 0;

      & span {
        -webkit-transform: rotate(-45deg);
        display: block;
        inline-size: 25%;
        block-size: 25%;
        rotate(-45deg);
        translate: 0 20%;
        border-top: 3px solid #fff;
        border-right: 3px solid #fff;
      }

      .wrap-fixed.active & {
        opacity: inherit;
        pointer-events: painted;
      }
    }

    & .entry-fixed {
      display: none;

      @media (width <=1080px) {
        inline-size: 100%;
        padding: 1rem 2rem;
        display: flex;
        justify-content: flex-start;
        align-items: center;
        gap: 1rem;
        background: #000;
        color: #fff;
        font-size: min(4.5vw, 20px);
        font-weight: 700;
        line-height: 1;
        opacity: 0;
        transition: 0.6s opacity;

        &:before {
          content: attr(data-text);
          order: -1;
          font-size: min(8vw, 38px);
          font-family: var(--poppins);
          font-style: italic;
        }

        .wrap-fixed.active & {
          opacity: inherit;
          pointer-events: painted;
        }
      }
    }
  }

  .sidebar img {
    max-inline-size: 100%;
    block-size: auto;
  }

  .widget_nav_menu h3,
  .head-side {
    position: relative;
    padding: 9px 0;
    font-size: 16px;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    background: #eeeeee;
    margin-bottom: 15px;
    line-height: 1;
  }

  .widget_nav_menu h3:before,
  .head-side:before,
  .widget_nav_menu h3:after,
  .head-side:after {
    display: block;
    content: none;
    block-size: 16px;
    background-color: #eeeeee;
    -webkit-box-flex: 1;
    -ms-flex: 1 0 0%;
    flex: 1 0 0%;
    min-inline-size: 20px;
  }

  .widget_nav_menu h3:before,
  .head-side:before {
    margin-right: 0.5em;
  }

  .widget_nav_menu h3:after,
  .head-side:after {
    margin-left: 0.5em;
  }

  .widget_nav_menu .menu>li {
    position: relative;
  }

  .widget_nav_menu .menu>li,
  .list-side>li:not(:last-of-type) {
    border-bottom: 1px solid #eee;
  }

  .widget_nav_menu .menu>li a,
  .list-side>li a {
    display: block;
    position: relative;
    padding: 0.75em 0;
    background: #fff;
    line-height: 1.25;
  }

  .widget_nav_menu .menu>li a:after {
    -webkit-transform: rotate(45deg);
    display: inline-block;
    position: absolute;
    top: 0;
    right: 1em;
    bottom: 0;
    inline-size: 10px;
    block-size: 10px;
    margin: auto;
    transform: rotate(45deg);
    border-top: 2px solid #999;
    border-right: 2px solid #999;
    content: "";
  }

  .widget_nav_menu ul>li>ul.sub-menu {
    visibility: hidden;
    position: absolute;
    top: 0;
    left: 100%;
    inline-size: 100%;
    opacity: 0;
    transition: 0.5s;
  }

  .widget_nav_menu ul>li:hover>ul.sub-menu {
    visibility: visible;
    z-index: 10;
    opacity: 1;
  }

  .widget_nav_menu ul>li>ul.sub-menu>li:nth-child(1):before {
    content: "";
    block-size: 15px;
    inline-size: 15px;
    display: block;
    background: var(--main_color);
    transform: rotate(-45deg);
    position: absolute;
    top: 0;
    bottom: 0;
    left: -8px;
    margin: auto 0;
    z-index: -1;
  }

  .widget_nav_menu ul>li>ul.sub-menu>li>ul>li:nth-child(1):before {
    background: #104f82;
  }

  .widget_nav_menu ul>li>ul.sub-menu>li:not(:last-child) {
    border-bottom: 1px solid #c9caca;
  }

  .widget_nav_menu ul>li>ul.sub-menu>li {
    position: relative;
  }

  .widget_nav_menu ul>li>ul.sub-menu>li a {
    background: var(--main_color);
    padding: 0.75em 1em;
    color: #ffffff;
    z-index: 1;
  }

  .widget_nav_menu ul>li>ul.sub-menu>li a:hover {
    opacity: 1;
    background: #3b80b7;
  }

  .widget_nav_menu ul>li>ul.sub-menu>li>ul>li>a {
    background: #104f82;
  }

  .wp-caption-text {
    font-size: 15px;
    line-height: 1.75;
    margin-top: 0.5em;
    inline-size: 300px;
    text-align: justify;
    letter-spacing: 0.05em;
  }

  .list-side2 {
    margin-bottom: 1em;
  }

  .list-side2 li:not(:first-child) {
    margin-top: 15px;
  }

  .list-side2 a {
    display: flex;
  }

  .list-side2 a div:nth-child(1) {
    inline-size: 90px;
    margin-right: 10px;
  }

  .list-side2 a div:nth-child(2) {
    inline-size: 200px;
  }

  .box-side2 .list-side2 img {
    inline-size: 100%;
    block-size: 90px !important;
  }

  .list-side2 time {
    display: block;
    margin-bottom: 0.5em;
    font-size: 12px;
  }

  .list-side2 span {
    font-size: 14px;
    line-height: 1.5;
  }

  .side-compnay {
    line-height: 1.5;
  }

  .side-compnay picture {
    margin-top: 12px;
  }

  .side-compnay img {
    margin-bottom: 1em;
  }

  .side-address-compnay p {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    line-height: 1.5;
    font-size: min(3.5vw, 14px);

    &+p {
      margin-block-start: 0.25rem;
    }

    &:before {
      content: "";
      display: flex;
      align-self: baseline;
      min-inline-size: 1rem;
      aspect-ratio: 1/1;
      background: var(--key_color);
      translate: 0 15%;
    }

    &.company_name:before {
      mask: url(images/company.svg) center/ contain no-repeat;
    }

    &.company_zipcode:before {
      mask: url(images/zip.svg) center / contain no-repeat;
    }

    &.company_pref:before {
      mask: url(images/pref.svg) center/ contain no-repeat;
    }

    &.company_tel:before {
      mask: url(images/tel2.svg) center / contain no-repeat;
    }

    &.company_fax:before {
      mask: url(images/fax.svg) center / contain no-repeat;
    }
  }

  .side-list-compnay {
    display: flex;
    gap: 1rem;

    & li {
      flex: 1;

      & a {
        display: block;
        padding: 0.75rem 1rem;
        border: 1px solid #aaaaaa;
        font-size: 12px;
        line-height: 1;
        text-align: center;
      }
    }
  }


  /*
.side-access:before {
  margin-right: 0.5em;
  color: #dc4b3e;
}

.side-company:after {
  margin-left: 1em;
}
*/
  .box-search {
    display: flex;
    padding-top: 12px;
  }

  .box-search input[type="text"] {
    inline-size: 85%;
    padding: 7px 14px 6px;
    border-radius: 4px 0 0 4px;
  }

  .box-search button[type="submit"] {
    inline-size: 15%;
  }

  .box-search .fa-search {
    display: block;
    background: #666666;
    block-size: 39px;
    border-radius: 0 4px 4px 0;
    position: relative;
  }

  .box-search .fa-search:before {
    content: "";
    background: url(images/search.svg);
    background-size: cover;
    display: block;
    block-size: 20px;
    inline-size: 20px;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
  }

  .breadcrumb {
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    gap: 0.5rem;
    margin-bottom: 3rem;
    padding: 1rem 0 0.5rem;

    & li {
      line-height: 1;
      font-size: 12px;

      &+li:not(:first-child):before {
        content: "/";
      }
    }

    & li:nth-child(1) a:before {
      content: "";
      inline-size: 1rem;
      aspect-ratio: 595/529;
      display: inline-block;
      background: url(images/home.svg) center / contain no-repeat;
    }

    & :is(a, span) {
      font-size: 12px;
      display: inline-flex;
      align-items: center;
      line-height: 1;
      gap: 0.5rem;
    }

    & a:hover {
      text-decoration: underline;
      opacity: 1;
    }
  }

  .main-visual {
    position: relative;

    & .noslide {
      inline-size: 100%;
      position: relative;
    }

    &:not(:has(img)) {
      display: flex;
      align-items: center;
      min-block-size: min(30vw, 150px);
      background: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20543.25%20955.71%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23e71f19%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%200%20543.25%200%200%20955.71%22%2F%3E%3C%2Fsvg%3E')left top / calc(min(30vw, 400px) + min(4vw, 2.5rem)) auto no-repeat, url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20543.25%20955.71%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23e71f19%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%200%20543.25%200%200%20955.71%22%2F%3E%3C%2Fsvg%3E')left top / min(30vw, 400px) auto no-repeat, var(--main_color);
      background-blend-mode: color-burn;
    }

    & picture {
      display: block;
      filter: brightness(0.8);

      & img {
        inline-size: 100%;
        block-size: calc(100svh - 70px);
        object-fit: cover;
      }
    }

    & .front_content {
      position: relative;
      inline-size: 100%;
      block-size: calc(100svh - 70px);
      background: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzg2LjYzIDEzNzMuNzciPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6IHVybCgjbGluZWFyLWdyYWRpZW50KTsKICAgICAgICBvcGFjaXR5OiAuNTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ibGluZWFyLWdyYWRpZW50IiB4MT0iMCIgeTE9IjY4Ni44OSIgeDI9Ijc4Ni42MyIgeTI9IjY4Ni44OSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwMjMzNTkiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzYwODA0IiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxnIGlkPSJf57eo6ZuG44Oi44O844OJIiBkYXRhLW5hbWU9Iue3qOmbhuODouODvOODiSI+CiAgICA8cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMCAxMzczLjc3IDc4Ni42MyAxMzczLjc3IDc4Ni42MyAwIDAgMTM3My43NyIvPgogIDwvZz4KPC9zdmc+') right bottom / calc(min(60vw, 710px) + min(4vw, 2.5rem)) auto no-repeat, url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB2aWV3Qm94PSIwIDAgNzg2LjYzIDEzNzMuNzciPgogIDxkZWZzPgogICAgPHN0eWxlPgogICAgICAuY2xzLTEgewogICAgICAgIGZpbGw6IHVybCgjbGluZWFyLWdyYWRpZW50KTsKICAgICAgICBvcGFjaXR5OiAuNTsKICAgICAgfQogICAgPC9zdHlsZT4KICAgIDxsaW5lYXJHcmFkaWVudCBpZD0ibGluZWFyLWdyYWRpZW50IiB4MT0iMCIgeTE9IjY4Ni44OSIgeDI9Ijc4Ni42MyIgeTI9IjY4Ni44OSIgZ3JhZGllbnRVbml0cz0idXNlclNwYWNlT25Vc2UiPgogICAgICA8c3RvcCBvZmZzZXQ9IjAiIHN0b3AtY29sb3I9IiMwMjMzNTkiLz4KICAgICAgPHN0b3Agb2Zmc2V0PSIxIiBzdG9wLWNvbG9yPSIjMzYwODA0IiBzdG9wLW9wYWNpdHk9IjAiLz4KICAgIDwvbGluZWFyR3JhZGllbnQ+CiAgPC9kZWZzPgogIDxnIGlkPSJf57eo6ZuG44Oi44O844OJIiBkYXRhLW5hbWU9Iue3qOmbhuODouODvOODiSI+CiAgICA8cG9seWdvbiBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMCAxMzczLjc3IDc4Ni42MyAxMzczLjc3IDc4Ni42MyAwIDAgMTM3My43NyIvPgogIDwvZz4KPC9zdmc+') right bottom / min(60vw, 710px) auto no-repeat, #333333aa url(images/main.jpg) center bottom / cover no-repeat;
      background-blend-mode: multiply;
      inset: 0;
      z-index: 2;
      padding-block: min(16vw, 4rem);
      color: #fff;
      display: flex;


      & .wrap-front_content {
        position: relative;

        & .flex-column {
          block-size: 100%;
        }

        & .card-front_content {
          position: relative;

          &:after {
            content: "";
            position: absolute;
            inset: auto 0 0 auto;
            translate: 4rem 4rem;
            background: url(images/back-card-front_content.svg) center / contain no-repeat;
            inline-size: clamp(15rem, 35vw, 460px);
            aspect-ratio: 5/1;
            rotate: -10deg;

            @media(width <=1500px) {
              translate: 0 4rem;
            }
          }

          & h1 {
            display: inline-block;
            letter-spacing: 0;
            font-size: min(15vw, 228px);
            font-style: italic;
            font-family: var(--poppins);
            font-weight: 500;
            line-height: 0.9;
            margin-block-end: 1.5rem;
            white-space: pre;


            & span {
              display: inline-block;
              font-weight: 170;
              font-size: min(15vw, 228px);
              scale: 0.8 1;
              transform-origin: center left;
            }

            &+p {
              font-size: clamp(16px, 3vw, 36px);
              display: flex;
              align-items: center;
              gap: min(40px, 6vw);
              margin-right: calc((100vw - 100%)/2);
              margin-left: calc((100vw - 100%)/2*-1);
              line-height: 1;

              &:before {
                content: "";
                flex: 0 calc((100vw - 100%)/2 - 2rem);
                block-size: 2px;
                background: currentColor;
              }
            }
          }

        }


        & .news-front_content {

          & a {
            color: #fff;
            display: inline-flex;

            & dt {
              font-style: italic;
              font-family: var(--poppins);
              font-weight: 200;
              font-size: min(4.5vw, 28px);
              line-height: 1;
              display: flex;
              gap: 1.25rem;
              align-items: baseline;
              margin-block-end: 1rem;

              &:after {
                content: attr(data-time);
              }
            }

            & dd {
              margin-block-start: -0.5rem;
              font-size: min(4vw, 20px);
            }
          }
        }
      }

      & .scroll-front_content {
        position: absolute;
        inset: auto 0 0 auto;
        translate: max(-40px, -6vw) max(-8vw, -4rem);
        inline-size: min(20vw, 12.5rem);
        aspect-ratio: 1/1;
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;


        & img {
          inline-size: min(3vw, 1.25rem);
          translate: 20% 0;
        }

        &:after {
          content: "";
          position: absolute;
          inset: 0;
          background: url(images/circle-front_content.svg) center / contain no-repeat;
          animation: rotation 10s linear infinite;
        }

        @media(width <=640px) {
          inset: 80vw 0 auto auto
        }
      }
    }
  }

  @-webkit-keyframes rotation {
    0% {
      transform: rotate(0)
    }

    100% {
      transform: rotate(1turn)
    }
  }

  @keyframes rotation {

    0% {
      transform: rotate(0)
    }

    100% {
      transform: rotate(1turn)
    }
  }

  .main-visual:has(picture)+.wrap:has(.wrap-2column) {
    padding: min(10vw, 70px) 0 min(20vw, 150px);
  }

  body:not(.index) :is(.main-visual:not(:has(picture)), :not(.main-visual))+.wrap {
    padding: 0 0 min(40vw, 150px);
    margin-block-start: 2rem;

    &:has(.breadcrumb) {
      margin-block-start: unset;
    }
  }

  .contents {
    inline-size: min(100%, 1380px);
    margin-right: auto;
    margin-left: auto;
    padding-right: min(40px, 6vw);
    padding-left: min(40px, 6vw);

    &.wrap-1column-narrow {
      inline-size: min(100%, 940px);
    }
  }

  .wrap-1column {

    &:not(:has(.contents)) {
      container: gap / inline-size;
      padding-right: min(40px, 8vw);
      padding-left: min(40px, 8vw);
    }

    & .section-common {
      padding: min(20vw, 200px) 0;
      position: relative;
      background: #fff;
      z-index: 1;

      &.no_space {
        padding: unset;
      }

      &.no_space-top {
        padding-block-start: unset;
      }

      &.no_space-bottom {
        padding-block-end: unset;
      }
    }


    & .section-slider {
      position: relative;
      margin: max(-15vw, -125px) 0;

      :is(.section-common:has(+&)) {
        padding-block-end: calc(min(20vw, 120px) + min(15vw, 125px));
      }

      :is(& + .section-common) {
        padding-block-start: calc(min(20vw, 120px) + min(15vw, 125px));
      }
    }

    & .contents {
      container: gap / inline-size;
    }
  }

  .wrap-2column {
    display: flex;
    flex-flow: row-reverse wrap;
    gap: min(10vw, 120px) min(8vw, 40px);

    & .main-column {
      flex: 1;
      container: gap / inline-size;

      & .section-common {

        &+.section-common {
          margin-top: min(20vw, 120px);
          position: relative;
        }

        &.no_space {
          margin-block: unset;
        }
      }
    }

    & .sidebar {
      flex: 0 min(30vw, 300px);
    }

    @media(width <=1080px) {
      flex-flow: wrap;

      & .sidebar {
        flex: 1 100%;
        ;
      }
    }
  }


  .main-column {

    &>*:nth-child(1) {
      margin-top: 0;
    }

    & :is(p, ul, ol):not(:first-child) {
      margin-block-start: 1rem;
    }

    & :is(p, ul, ol):not([class]) a:not([class]) {
      text-decoration: underline;
    }

    & table {
      inline-size: 100%;

      & :is(th, td) {
        line-height: 1.75;
        border: unset;
        word-break: break-word;
        text-align: initial;
        padding: 1rem 1rem;
        vertical-align: top;
        border: unset;
      }
    }

    & .scroll {

      .scroll-pointer:has(+ &) {
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0.5rem;
        margin-block-end: 0.5rem;

        &:after {
          content: "";
          mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20viewBox%3D%220%200%2023.58%2014%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20stroke%3A%20%23c96c88%3B%20%7D%20.cls-1%2C%20.cls-2%20%7B%20fill%3A%20none%3B%20stroke-linecap%3A%20round%3B%20stroke-linejoin%3A%20round%3B%20%7D%20.cls-2%20%7B%20stroke%3A%20%23b7b7b7%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cg%20id%3D%22_%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%22%20data-name%3D%22%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%22%3E%20%3Cg%3E%20%3Cline%20class%3D%22cls-2%22%20x1%3D%22.5%22%20y1%3D%227%22%20x2%3D%2216.59%22%20y2%3D%227%22%2F%3E%20%3Cpolyline%20class%3D%22cls-1%22%20points%3D%2216.59%20.5%2023.08%207%2016.59%2013.5%22%2F%3E%20%3C%2Fg%3E%20%3C%2Fg%3E%3C%2Fsvg%3E') center / contain no-repeat;
          background: var(--main_color);
          inline-size: 1.5rem;
          aspect-ratio: 253/150;
        }
      }

      & :is(.main-column table th) {
        word-break: keep-all;
      }
    }


    @media(width <=1080px) {
      & .scroll {
        overflow-x: scroll;

        & :is(.main-column table th, .main-column table td) {
          white-space: pre;
        }
      }
    }


    @media(width <=640px) {
      & table th {
        border-bottom: none;
        border-top: none;
        background: #f3f3f3;
      }
    }

  }


  [class*="head_page"] {
    display: flex;
    flex-flow: column;
    align-items: center;

    &[class*="-full"] {
      color: #fff;
      font-size: min(5vw, 30px);
      letter-spacing: 0.3rem;
      text-align: center;
      text-indent: 0.3rem;
      line-height: 1.25;
      padding: min(40px, 8vw) 0;
    }

    &[class*="-boxed"] {
      background: #ffffffdd;
      padding: min(8vw, 3rem);
      position: absolute;
      inset: auto auto 0 50%;
      translate: -50% 50%;
      min-inline-size: calc(min(100%, 600px) - min(16vw, 4rem));
      font-size: min(5vw, 32px);
      line-height: 1.25;

      &:before {
        content: "";
        position: absolute;
        inset: auto auto 0 50%;
        translate: -50% 0;
        inline-size: min(100%, 160px);
        block-size: 0.5rem;
        background: var(--main_color);
      }

      .main-visual:has(&) {
        min-block-size: min(20vw, 200px);
        margin-block-end: min(20vw, 200px);

        &:after {
          content: "";
          z-index: -1;
          position: absolute;
          inset: 0 0 0 0;
          translate: 0 100%;
          background: var(--sub_color);
        }
      }
    }

    &[data-text]:after {
      content: attr(data-text);
      margin-top: 0.5rem;
      font-size: min(4vw, 16px);
    }
  }


  .wrap-head-common {
    margin-bottom: 2rem;
  }

  .head-common {
    font-size: min(5vw, 32px);
    border-bottom: 1px solid #999999;
    padding-bottom: 1rem;
    line-height: 1.25;
  }

  a:hover {
    opacity: 0.7;
    transition: 0.2s;
  }

  .hover-opacity1 a:hover {
    opacity: 1;
  }

  .wrap-btn {
    display: flex;
  }

  .section-about .wrap-btn {
    /* justify-content: center; */
  }


  /*投稿系*/
  .category-post {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-inline-size: 100px;
    border-radius: 3px;
    font-size: 12px;
    padding: 0.25rem;
    text-align: center;
    line-height: 1;
  }

  .box-post-text {
    border-bottom: 1px solid var(--border_color);

    & a {
      display: flex;
      align-items: center;
      padding: min(4vw, 1rem) 0;
      position: relative;
      gap: min(2vw, 1rem);
      padding-inline-end: 3rem;

      &:after {
        -webkit-transform: rotate(45deg);
        display: inline-block;
        position: absolute;
        top: 50%;
        right: 1.5em;
        /* bottom: 0; */
        inline-size: 10px;
        block-size: 10px;
        margin: auto;
        transform: rotate(45deg) translateY(-50%);
        border-top: 2px solid #999;
        border-right: 2px solid #999;
        content: "";
      }

      & h3 {
        line-height: 1.5;
        display: -webkit-box;
        -webkit-line-clamp: 1;
        -webkit-box-orient: vertical;
        overflow: hidden;
        flex: 1 100%;
      }

      @media (width <=640px) {
        flex-flow: wrap;
      }
    }
  }

  .wrap-post-img-text {
    display: grid;
    grid-template: auto / repeat(auto-fill, minmax(240px, 1fr));
    gap: min(4vw, 2rem);

    & a {
      display: flex;
      flex-flow: column;
      gap: min(4vw, 1.5rem);

      &>div:nth-of-type(2) {
        display: flex;
        flex-flow: row wrap;
        justify-content: space-between;
        align-items: center;
        inline-size: 100%;
        gap: 0.5rem 1rem;
      }

      & h3 {
        line-height: 1.5;
        font-size: min(4vw, 16px);
        flex: 1 100%;
      }
    }
  }

  .box-post-archive {
    & a {
      display: flex;
      align-items: flex-start;
      gap: min(4vw, 2rem);
      inline-size: 100%;
      padding: min(40px, 8vw) 0;
      position: relative;

      &>div:has(img) {
        flex: 0 min(30%, 250px);
      }

      &>.box-post-info {
        position: relative;
        flex: 1;
        display: flex;
        flex-flow: row wrap;
        /*justify-content: space-between;*/
        align-items: center;
        inline-size: 100%;
        gap: min(2vw, 1rem);

        &>div {
          flex: 1 100%;

          & .title-middle+p {
            display: -webkit-box;
            -webkit-box-orient: vertical;
            -webkit-line-clamp: 2;
            overflow: hidden;
          }
        }
      }
    }

    &:first-of-type a {
      padding-top: 0;
    }

    &:last-of-type a {
      padding-bottom: 0;
    }

    & time {
      display: flex;
      align-items: center;
      gap: 0.5rem;

      &:before {
        content: "";
        display: inline-block;
        inline-size: 1rem;
        aspect-ratio: 1/1;
        background: url(images/date.svg);
        background-size: cover;
        position: relative;
      }
    }

    &+& {
      border-block-start: 1px solid var(--border_color);
    }
  }

  .box-post-archive-side a {
    display: flex;
    align-items: flex-start;
    inline-size: 100%;
    gap: 0.5rem;

    &>*:has(img) {
      flex: 0 75px;
    }

    &>* {
      flex: 1;
      display: flex;
      flex-flow: row wrap;
      gap: 0.25rem;
      align-items: center;
      justify-content: space-between;

      & time {
        display: block;
        font-size: 10px;
      }

      & h3 {
        inline-size: 100%;
        line-height: 1.35;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        font-size: min(3.5vw, 14px);
      }

      & .category-post {
        min-inline-size: 70px;
        border-radius: 3px;
        font-size: 10px;
        text-align: center;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
      }
    }
  }

  .pagination {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    margin-top: 3rem;
    color: var(--main_color);

    & li {
      margin: 0 5px;
      line-height: 1;

      &:before {
        content: none;
      }
    }

    & .pager {
      display: inline-flex;
      align-items: center;
      justify-content: center;
      min-inline-size: min(7.5vw, 40px);
      aspect-ratio: 1/1;
      border-radius: 50%;
      background: #999;
      color: #fff;
      font-weight: bold;
      text-align: center;
      /* border: 1px solid #fff; */
      position: relative;
      letter-spacing: 0;
      text-indent: 0;
      line-height: 1;
    }

    & :is(.pager_left, .pager_right) {
      background: unset;
    }

    & .pager_left:before {
      content: "";
      position: absolute;
      block-size: 100%;
      inline-size: 100%;
      mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MS41IDE2OSI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMzMzM7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiA2cHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMyAxNjYgNzguNSA4NC41IDMgMyIvPgo8L3N2Zz4=') center / auto 75% no-repeat;
      -webkit-mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MS41IDE2OSI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMzMzM7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiA2cHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMyAxNjYgNzguNSA4NC41IDMgMyIvPgo8L3N2Zz4=') center / auto 75% no-repeat;
      background: var(--main_color);
      transform: rotate(180deg);
    }

    & .pager_right:before {
      content: "";
      position: absolute;
      block-size: 100%;
      inline-size: 100%;
      mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MS41IDE2OSI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMzMzM7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiA2cHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMyAxNjYgNzguNSA4NC41IDMgMyIvPgo8L3N2Zz4=') center / auto 75% no-repeat;
      -webkit-mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA4MS41IDE2OSI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMzMzM7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiA2cHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMyAxNjYgNzguNSA4NC41IDMgMyIvPgo8L3N2Zz4=') center / auto 75% no-repeat;
      background: var(--main_color);
    }

    & :is(.pager:not(.pagination .pager_left, .pagination .pager_right):hover, .pager.current) {
      background: var(--main_color);
      opacity: 1;
    }
  }

  .nav-link {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: min(4vw, 2rem);
    justify-content: center;
    margin: 2rem auto 0 !important;
    padding-block-start: 1rem;

    & :is(.link-prev, .link-next, .link-archive) {
      position: relative;

      & a {
        display: flex;
        align-items: center;
        justify-content: center;
        color: var(--main_color);
        font-weight: 600;
        filter: drop-shadow();
        font-size: min(3.5vw, 14px);
      }
    }

    & .link-prev a:before {
      -webkit-transform: rotate(225deg);
      display: inline-block;
      inline-size: 10px;
      block-size: 10px;
      margin-right: 10px;
      transform: rotate(225deg);
      border-top: 2px solid var(--main_color);
      border-right: 2px solid var(--main_color);
      content: "";
    }

    & .link-next {
      order: 3;
      text-align: right;

      & a:after {
        -webkit-transform: rotate(45deg);
        display: inline-block;
        inline-size: 10px;
        block-size: 10px;
        margin-left: 10px;
        transform: rotate(45deg);
        border-top: 2px solid var(--main_color);
        border-right: 2px solid var(--main_color);
        content: "";
      }
    }

    & .link-archive {
      flex: 0 min(100%, 300px);

      & a {
        display: flex;
        align-items: center;
        justify-content: center;
        background: var(--sub_color);
        border-radius: 2rem;
        font-size: min(3.5vw, 16px);
        padding: 0.5rem 0.75rem;
        font-weight: 700;
        inline-size: 100%;
      }
    }

    @media (width <=640px) {
      & {
        flex-flow: wrap;
        justify-content: space-between;
      }

      & :is(.link-archive) {
        flex: 1 100%;
        order: 3;

        & a {
          padding: 0.5rem;
        }
      }
    }
  }

  .imgFullWidth {
    display: block;
    inline-size: 100%;
    block-size: auto;
  }

  .wrap-zoom {
    overflow: hidden;

    &>img {
      transition: 0.5s;
    }

    &>img:hover {
      -webkit-transform: scale(1.1);
      transform: scale(1.1);
    }
  }

  /*チェックボックス等は非表示に*/
  .nav-unshown {
    display: none;
  }

  .btn-close {
    margin: 40px;
    padding: 1em;
    text-align: center;
    cursor: pointer;
    border: #666666 1px solid;
  }

  .single-post {
    margin-bottom: 3rem;
  }

  .single-header {
    margin-bottom: min(4vw, 1rem);
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .single-header time {
    margin-right: 2em;
    font-size: min(3.5vw, 14px);
  }

  .single-header time:before {
    content: "";
    display: inline-block;
    inline-size: 14px;
    block-size: 14px;
    background: url(images/date.svg);
    background-size: cover;
    margin-right: 5px;
    position: relative;
    top: 2px;
  }


  .sitemap {
    &>li {
      border-top: 1px solid var(--border_color);

      &:last-child {
        border-top: 1px solid var(--border_color);
      }

      &>a {
        padding: min(2.5vw, 0.75rem) 0;
        display: block;
        font-weight: bold;
      }
    }

    & .sub-menu {
      margin: 0 0 min(2.5vw, 0.75rem);
      padding-left: min(4vw, 1rem);
    }

    &>li>.sub-menu {
      /* border-top: 1px solid var(--border_color); */
      margin-block: 0 1rem;
      border-left: 1px solid var(--main_color);
      padding-left: min(4vw, 1rem);

      &>li {
        line-height: 2;
        font-size: min(3.5vw, 14px);

        & a {
          display: inline-block;
          font-weight: 700;
        }

        &>ul>li {
          line-height: 2;

          &>a {
            display: inline-block;
          }
        }
      }
    }
  }


  #nav-content .logo {
    display: block;
    margin: 4vw 16vw 2vw;
    overflow: hidden;
  }


  .mobile-header-banner {
    margin: 30px 20px 0;
  }

  .mobile-header-banner li {
    position: relative;
    top: unset;
  }

  .mobile-header-banner li:not(:first-child) {
    margin-top: 10px;
  }

  .mobile-header-banner li>* {
    font-family: "Noto Sans JP", "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  }

  .mobile-header-banner a {
    display: block;
    display: flex;
    align-items: center;
    position: relative;
    padding: 15px;
    font-size: 12px;
    background: var(--main_color);
    color: #fff;
  }

  .mobile-header-banner li.contact a:before {
    content: "";
    block-size: 20px;
    inline-size: 20px;
    margin-right: 10px;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="white" d="M20,8L12,13L4,8V6L12,11L20,6M20,4H4C2.89,4 2,4.89 2,6V18A2,2 0 0,0 4,20H20A2,2 0 0,0 22,18V6C22,4.89 21.1,4 20,4Z" /></svg>') no-repeat center center;
    background-size: cover;
    fill: #fff;
  }

  .mobile-header-banner li.tel a:before {
    content: "";
    block-size: 20px;
    inline-size: 20px;
    margin-right: 10px;
    background: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 24 24"><path fill="white" d="M15,12H17A5,5 0 0,0 12,7V9A3,3 0 0,1 15,12M19,12H21C21,7 16.97,3 12,3V5C15.86,5 19,8.13 19,12M20,15.5C18.75,15.5 17.55,15.3 16.43,14.93C16.08,14.82 15.69,14.9 15.41,15.18L13.21,17.38C10.38,15.94 8.06,13.62 6.62,10.79L8.82,8.59C9.1,8.31 9.18,7.92 9.07,7.57C8.7,6.45 8.5,5.25 8.5,4A1,1 0 0,0 7.5,3H4A1,1 0 0,0 3,4A17,17 0 0,0 20,21A1,1 0 0,0 21,20V16.5A1,1 0 0,0 20,15.5Z" /></svg>') no-repeat center center;
    background-size: cover;
    fill: #fff;
  }


  .webp .contact-box {
    /* background: url(images/contact.jpg.webp) #00000033; */
    /* background-blend-mode: multiply; */
    /* background-position: center; */
    padding: 100px 0;
    /* background-size: cover; */
  }

  .contact-tel {
    color: #ffffff;
  }

  @media screen and (min-width: 1080px),
  print {
    .tb {
      display: none;
    }

    .sp {
      display: none;
    }

    .inner {
      padding: 0 50px;
    }

    .wrap-section-interval>*:not(:last-child) {
      margin-bottom: 90px;
    }

    .wrap-section-padding>* {
      padding: 60px 0;
    }

    .wrap-2column .section-common:nth-child(1) h2 {
      margin-top: 0px;
    }

    .wrap-main {
      display: flex;
      position: absolute;
      top: -25px;
      left: -450px;
      align-items: center;
      justify-content: flex-end;
      inline-size: 898px;
      block-size: 305px;
      padding: 50px;
    }

    .inner-main {
      inline-size: 250px;
    }

    .inner-main h1 {
      font-size: 26px;
    }

    .inner-main p {
      font-size: 14px;
    }

    .wrap-tel-header {
      display: flex;
      flex-wrap: nowrap;
    }

    a[href^="tel:"] {
      /* pointer-events: none; */
      /* word-break: keep-all; */
      /* white-space: nowrap; */
    }

    .btn-form,
    button.btn-form {
      inline-size: 250px;
      padding: 1em;
      font-size: 15px;
    }

    .drawer-nav {
      display: none;
    }

    .pagetop.active:hover {
      opacity: 0.8;
    }

    .icon-question:before,
    .icon-tel:before {
      inline-size: 15px;
      block-size: 15px;
    }

    .bg-footer {
      background: url(images/bg-footer.jpg) no-repeat center top -1px;
      background-size: 2001px 273px;
    }

    #nav-open {
      display: none;
    }

    .btn-close {
      display: none;
    }

    .wrap-1column .box-post-archive a>div:nth-child(2) {
      inline-size: calc(100% - 300px);
    }
  }

  @media screen and (min-width: 640px) and (max-width: 1080px) {
    .single-wrap {
      padding: 0px;
      border: 0px solid var(--border_color);
      box-shadow: 0px 0px 0px #eee;
    }

    .wrap-1column .box-post-archive a>div:nth-child(1) {
      /* inline-size: 240px; */
      /* margin-right: 40px; */
    }

    .wrap-1column .box-post-archive a>div:nth-child(2) {
      inline-size: calc(100% - 280px);
    }

    .wrap-message>div:nth-child(1) {
      inline-size: calc(70% - 40px);
    }

    .wrap-message>div:nth-child(2) {
      inline-size: 75%;
      margin-right: 2%;
    }

    .wrap-message>div:nth-child(2) .btn-archive {
      min-inline-size: 100%;
    }

    .main-visual .noslide {
      /* inline-size:calc(92% * 1.6); */
      /*left:calc(92% * -0.3);*/
    }

    .widget_media_image figure {
      inline-size: 100% !important;
      display: flex;
      flex-direction: row;
    }

    .widget_media_image figure a {
      max-inline-size: 300px;
      margin-right: 2%;
    }

    .widget_media_image figcaption {
      margin-top: 0;
      inline-size: calc(100% - (300px + 2%));
    }
  }

  @media screen and (max-width: 1240px) {}

  @media screen and (max-width: 1080px) {

    .single-wrap {
      padding: 0px;
      border: 0px solid var(--border_color);
      box-shadow: 0px 0px 0px #eee;
    }

    .pc {
      display: none;
    }

    .sp {
      display: block;
    }

    .sidebar>* {
      inline-size: 100%;
    }

    .sidebar .widget_nav_menu {
      display: none;
    }

    .sidebar img {
      inline-size: 100%;
    }

    .list-side2 a div:nth-child(1) {
      inline-size: 40%;
      margin-right: 5%;
    }

    .list-side2 a div:nth-child(2) {
      inline-size: 55%;
    }

    .side-list-compnay {
      justify-content: flex-start;
    }

    .side-list-compnay li:nth-child(1) {
      margin-right: 1em;
    }

    #nav-close {
      display: none;
      z-index: 99;
      position: fixed;
      top: 0;
      left: 0;
      inline-size: 100%;
      block-size: 100%;
      background: #000;
      opacity: 0;
      transition: 0.3s ease-in-out;
    }

    #nav-content {
      -webkit-transform: translateX(-105%);
      z-index: 9999;
      position: fixed;
      top: 0;
      left: 0;
      inline-size: min(80%, 300px);
      block-size: 100%;
      overflow: auto;
      transform: translateX(-105%);
      background: #fff;
      transition: 0.5s ease-in-out;
      white-space: nowrap;
      word-break: keep-all;
    }

    .btn-close {
      display: block;
    }

    #nav-input:checked~#nav-close {
      display: block;
      opacity: 0.5;
    }

    #nav-input:checked~#nav-content {
      -webkit-transform: translateX(0%);
      transform: translateX(0%);
      /*left: 0;*/
      box-shadow: 6px 0 25px rgb(0 0 0 / 15%);
    }

    .top-message {
      font-size: 30px;
    }

    .side-compnay {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
    }

    .side-compnay h3 {
      inline-size: 100%;
    }

    .side-compnay picture {
      inline-size: 100%;
    }

    .side-address-compnay-box {
      inline-size: 100%;
    }

    .company-photo {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
    }

    .sidebar .company-photo>div {
      inline-size: 48%;
      margin-bottom: 4vw;
    }

    /*
  .wrap-post-img-text {
    margin: -20px 0;
    }
	*/
    .contact-box .contents {
      padding: 0 6vw;
    }

    .contact-box h2+p {
      text-align: justify;
    }

    .contact-btn-box {
      flex-direction: column;
    }

    .contact-btn-box {
      inline-size: 100%;
    }

    .contact-btn-box a {
      inline-size: 100%;
    }

    .contact-btn-box a:nth-child(1) {
      margin-bottom: 20px;
    }

    body .telp {
      text-align: center;
      font-size: 3.5vw;
    }

    .single-post .head-common {
      /* font-size:4vw; */
    }

    .wrap .wrap-message h3 {
      margin: 0 2.5vw;
    }

    .contact-tel {
      font-size: 6vw;
      display: block;
      margin: 4vw 0 0;
    }
  }

  @media screen and (max-width: 640px) {
    .textCenter {
      text-align: unset;
    }

    .single-wrap {
      padding: 0px;
      border: 0px solid var(--border_color);
      box-shadow: 0px 0px 0px #eee;
    }

    .spFullWidth {
      inline-size: 100%;
      block-size: auto;
    }

    .wrap-main {
      inline-size: 100%;
      padding: 10vw 5vw;
    }

    .inner-main h1 {
      font-size: 6vw;
    }

    .inner-header {
      /* block-size: 80px; */
      padding: calc(min(4vw, 1rem) + 1rem) min(4vw, 1.5rem) min(4vw, 1rem);
    }

    .wrap-logo {
      margin-left: 0;
    }



    .inner-footer-top>div {
      /* margin: 0; */
    }

    .box-footer-top {
      padding: 10vw 10vw 7.5vw;
      text-align: center;
    }

    .wrap-footer-nav {
      display: none;
    }

    .sidebar {
      display: block;
    }

    .sidebar>* {
      inline-size: auto;
    }

    .widget_nav_menu:not(:last-child),
    .box-side:not(:last-child) {
      margin-bottom: 10vw;
    }

    .list-side2 a div:nth-child(1) {
      inline-size: 30%;
    }

    .list-side2 a div:nth-child(2) {
      inline-size: 65%;
    }

    .breadcrumb {
      /* margin-bottom:5px; */
    }

    .index .main-visual {
      inline-size: 100%;
      margin-bottom: 0;
    }

    body:not(.index) .main-visual {
      /* block-size: 100px; */
    }

    .head-page {
      /* padding-top: 0.5em; */
      /* font-size: 25px; */
    }

    .head-page:after {
      font-size: 12px;
    }

    .wrap-slider .slider {
      block-size: 75vw;
    }

    .wrap-slider .slider img {
      block-size: 75vw;
    }

    .section-about .wrap-btn {
      justify-content: center;
    }

    .btn-form,
    button.btn-form {
      inline-size: 65vw;
      padding: 1em;
    }

    .pagination .pager {
      /* min-inline-size: 7.5vw; */
      /* block-size: 7.5vw; */
      /* font-size: 4vw; */
      /* line-height: 7.5vw; */
    }

    .pagination .pager i:before {
      min-inline-size: 7.5vw;
      block-size: 7.5vw;
      font-size: 4vw;
      line-height: 7.5vw;
    }

    .icon-question:before,
    .icon-tel:before {
      inline-size: 4vw;
      block-size: 4vw;
    }

    .bg-footer {
      background: url(images/bg-footer@2x.jpg) no-repeat center top;
      background-size: 100% 55.5vw;
    }

    .bg-company {
      background: url(images/bg-works.png) no-repeat right 40% bottom;
      background-size: cover;
    }

    .bg-outline {
      background: url(images/bg-outline.jpg) no-repeat center top;
      background-size: cover;
    }

    .bg-history {
      background: url(images/bg-history.jpg) no-repeat center top;
      background-size: cover;
    }

    .bg-access {
      background: url(images/bg-access.jpg) no-repeat center top;
      background-size: cover;
    }

    .spImgFullWidth {
      display: block;
      inline-size: 100%;
      block-size: auto;
    }

    #nav-open {
      top: calc(50% + 0.5rem);
      /* right: 10px; */
      /*display:block;*/
    }

    .wrap-about {
      flex-flow: row wrap;
      justify-content: center;
    }

    .wrap-about>div:nth-child(1) {
      margin-right: 0;
      margin-bottom: 3vw;
      margin-left: 0;
      inline-size: 100%;
    }

    .wrap-about>div:nth-child(1) img {
      inline-size: 100%;
    }

    .wrap-about>div:nth-child(2) {
      inline-size: 100%;
    }

    .wrap-message {
      flex-flow: row-reverse wrap;
      justify-content: center;
      padding: 5vw 2.5vw;
    }

    .wrap-message>div {
      margin: 2.5vw;
    }

    .wrap-message>div:nth-child(1) {
      inline-size: 100%;
    }

    .main-visual .noslide {
      inline-size: 100%;
      left: 0;
      transform: unset;
    }

    .wrap-message>div:nth-child(2) {
      inline-size: 100%;
    }

    .wrap-message>div:nth-child(3) {
      inline-size: 100%;
      padding: 0 15%;
    }

    .wrap-message p {
      text-align: center;
    }

    .widget_media_image figure {
      inline-size: 100% !important;
    }

    .widget_media_image figcaption {
      inline-size: 100%;
    }

    .single-post .head-common {
      /* font-size:6vw; */
    }

    .mobile-tel-header a {
      letter-spacing: -0.02em;
    }
  }

  /*recaptcha*/

  .grecaptcha-badge {
    inset-block-end: 100px !important;
  }

}

/*--------------------base.cssここまで--------------------*/


/*--------------------layout.css--------------------*/

@layer layout {

  /*幅*/

  [class*="width-"] {
    margin-left: auto;
    margin-right: auto;
  }

  .width-680 {
    inline-size: min(100%, 680px);
  }

  .width-960 {
    inline-size: min(100%, 960px);
  }

  .width-1080 {
    inline-size: min(100%, 1080px);
  }

  .width-1380 {
    inline-size: min(100%, 1380px);
  }

  .width-full {
    inline-size: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50vw);
    padding-right: min(40px, 6vw);
    padding-left: min(40px, 6vw);
  }

  .width-over {
    inline-size: 100vw;
    position: relative;
    left: 50%;
    transform: translateX(-50vw);
  }

  .width-over [class*="width-"]:not([class*="mat"]) {
    padding-right: min(40px, 8vw);
    padding-left: min(40px, 8vw);
  }

  .width-over_right {
    margin-right: calc(50% - 50vw);
  }

  .width-over_left {
    margin-left: calc(50% - 50vw);
  }

  /*番号*/

  [class*="number-"] {
    position: relative;

    .counter-reset:has(>&) {
      counter-reset: number 0;
    }

    &.number-square:before {
      counter-increment: number 1;
      content: counter(number);
      position: absolute;
      inset-block-start: 0;
      inset-inline-start: 0;
      font-size: min(12vw, 30px);
      aspect-ratio: 1/1;
      background: var(--main_color);
      color: #fff;
      display: flex;
      align-items: center;
      justify-content: center;
      inline-size: 3rem;
    }
  }


  /*flex*/
  /*
  div:has(> [class*="flex-"]) {
    container: gap / inline-size;
  }
	*/

  :is([class*="flex-"]:not(.wp-block-group, .flex-column, .flex-center, [class*="-sp"]), [class*="flex-"].wp-block-group:not(.flex-column, .flex-center, [class*="-sp"]) >div) {
    display: flex;
    gap: min(6vw, 6rem) min(6vw, 10rem);

    @container gap (width <=860px) {
      gap: min(6vw, 3rem) min(4vw, 2rem);
    }

    :is(&.container-small, .container-small >&) {
      gap: min(8vw, 4rem) min(4vw, 2rem);
    }

    &>*:not([class*="width-over"]) {
      margin: unset;
    }
  }

  :is(.no-wrap:not(.wp-block-group), .no-wrap.wp-block-group >div) {
    flex-wrap: nowrap !important;
  }

  :is(.no-gap:not(.wp-block-group), .no-gap.wp-block-group >div) {
    gap: unset !important;
  }

  :is(.min-gap:not(.wp-block-group), .min-gap.wp-block-group >div) {
    gap: 2.5rem !important;
  }


  .flex-column {
    :is(&:not(.wp-block-group), &.wp-block-group >div) {
      display: flex;
      flex-flow: column;
      gap: min(6vw, 3rem);

      &>*:last-child {
        margin-top: auto !important;

        .object-height & {
          margin: unset !important;
        }
      }
    }

    &.flex-reverse {
      :is(&:not(.wp-block-group), &.wp-block-group >div) {
        flex-flow: column-reverse;
        block-size: auto;
        gap: min(12vw, 4rem);

        @media(width <=1080px) {
          flex-flow: column;
        }
      }
    }
  }

  :is(.flex-center:not(.wp-block-group), .flex-center.wp-block-group >div) {
    display: flex;
    flex-flow: column;
    align-items: center;
    gap: min(4vw, 1.5rem);
  }

  .self-top {
    align-self: flex-start;
  }

  .self-center {
    align-self: center;
  }

  .self-end {
    align-self: flex-end;
  }

  :is(.flex-reverse:not(.wp-block-group), .flex-reverse.wp-block-group >div) {
    flex-flow: row-reverse;
  }

  :is(.flex:not(.wp-block-group), .flex.wp-block-group >div) {
    display: flex;
    flex-flow: wrap;
    gap: 4rem;

    &>* {
      flex: 1;
    }

    &:has(> :nth-child(3)) {
      gap: 2rem;
    }

    &:has(> :nth-child(4)) {
      gap: 2rem;
    }

    &:has(> :nth-child(5)) {
      gap: 1rem;
    }
  }


  :is(.flex-0_1:not(.wp-block-group), .flex-0_1.wp-block-group >div)>*:nth-child(1) {
    flex: 0 auto;
  }

  :is(.flex-0_1:not(.wp-block-group), .flex-0_1.wp-block-group >div)>*:nth-child(2) {
    flex: 1;
  }

  :is(.flex-1:not(.wp-block-group), .flex-1.wp-block-group >div)>* {
    flex: 1;

    &.object_min {
      flex: 0 calc(50% - min(4vw, 4rem))
    }
  }

  :is(.flex-1_0:not(.wp-block-group), .flex-1_0.wp-block-group >div)>*:nth-child(1) {
    flex: 1;
  }

  :is(.flex-1_0:not(.wp-block-group), .flex-1_0.wp-block-group >div)>*:nth-child(2) {
    flex: 0 auto;
  }

  :is(.flex-1_2:not(.wp-block-group), .flex-1_2.wp-block-group >div) {
    display: flex;
  }

  :is(.flex-1_2:not(.wp-block-group), .flex-1_2.wp-block-group >div)>*:nth-child(1) {
    flex: 1;
  }

  :is(.flex-1_2:not(.wp-block-group), .flex-1_2.wp-block-group >div)>*:nth-child(2) {
    flex: 2;
  }

  :is(.flex-1_3:not(.wp-block-group), .flex-1_3.wp-block-group >div)>*:nth-child(1) {
    flex: 1;
  }

  :is(.flex-1_3:not(.wp-block-group), .flex-1_3.wp-block-group >div)>*:nth-child(2) {
    flex: 3;
  }

  :is(.flex-2_1:not(.wp-block-group), .flex-2_1.wp-block-group >div)>*:nth-child(1) {
    flex: 2;
    margin: unset;
  }

  :is(.flex-2_1:not(.wp-block-group), .flex-2_1.wp-block-group >div)>*:nth-child(2) {
    flex: 1;
  }

  :is(.flex-2_3:not(.wp-block-group), .flex-2_3.wp-block-group >div)>*:nth-child(1) {
    flex: 2;
    margin: unset;
  }

  :is(.flex-2_3:not(.wp-block-group), .flex-2_3.wp-block-group >div)>*:nth-child(2) {
    flex: 3;
  }

  :is(.flex-2_5:not(.wp-block-group), .flex-2_5.wp-block-group >div)>*:nth-child(1) {
    flex: 2;
  }

  :is(.flex-2_5:not(.wp-block-group), .flex-2_5.wp-block-group >div)>*:nth-child(2) {
    flex: 5;
  }

  :is(.flex-3_1:not(.wp-block-group), .flex-3_1.wp-block-group >div)>*:nth-child(1) {
    flex: 3;
  }

  :is(.flex-3_1:not(.wp-block-group), .flex-3_1.wp-block-group >div)>*:nth-child(2) {
    flex: 1;
  }

  :is(.flex-3_2:not(.wp-block-group), .flex-3_2.wp-block-group >div)>*:nth-child(1) {
    flex: 3;
  }

  :is(.flex-3_2:not(.wp-block-group), .flex-3_2.wp-block-group >div)>*:nth-child(2) {
    flex: 2;
  }

  :is(.flex-3_8:not(.wp-block-group), .flex-3_8.wp-block-group >div)>*:nth-child(1) {
    flex: 3;
  }

  :is(.flex-3_8:not(.wp-block-group), .flex-3_8.wp-block-group >div)>*:nth-child(2) {
    flex: 8;
  }

  .flex-list_center {
    display: flex;
    justify-content: center;
  }

  :is(.flex-info:not(.wp-block-group), .flex-info.wp-block-group >div) {
    display: flex;
    gap: 1rem;
    font-size: min(3.5vw, 14px);
  }

  :is(.flex-info:not(.wp-block-group), .flex-info.wp-block-group >div)>* {
    flex: 1;

    &:has(img) {
      flex: 0 min(30%, 150px);
    }
  }

  @media screen and (max-width: 1080px) {

    :is(.flex-1:not(.wp-block-group), .flex-1.wp-block-group >div),
    :is(.flex-1:not(.wp-block-group), .flex-1.wp-block-group >div):has(.width-over_left, .width-over_right) {
      flex-flow: wrap;
      gap: min(16vw, 4rem) min(4vw, 2rem);

      &>* {
        flex: 1 100%;
      }
    }

  }

  @media screen and (max-width: 960px) {

    :is([class*="flex-"]:not(.wp-block-group, .flex-column, .no-wrap, .flex-center), [class*="flex-"].wp-block-group:not(.flex-column, .no-wrap, .flex-center) >div) {
      flex-flow: wrap;

      &>* {
        flex: 1 100%;
      }
    }

    :is(.flex-2:not(.wp-block-group), .flex-2.wp-block-group >div):has(.width-over_left, .width-over_right) {
      gap: min(16vw, 4rem) min(4vw, 2rem);

      &>* {
        flex: 1 100%;
      }
    }

    :is([class*="-sp"][class*="flex-"]:not(.wp-block-group, .flex-column, .flex-center), [class*="-sp"][class*="flex-"].wp-block-group:not(.flex-column, .flex-center) >div) {
      display: flex;
      gap: min(6vw, 6rem) min(4vw, 4rem);

      &>* {
        margin: unset;
      }

      :is([class*="grid"]:not(.wp-block-group), [class*="grid"].wp-block-group >div):has(&) {
        grid-template: auto / repeat(auto-fill, minmax(100%, 1fr));
      }

      [class*="mat-"]:has(&) {
        padding: unset !important;
        background: unset !important;
      }
    }

    :is(.flex-1_2-sp:not(.wp-block-group), .flex-1_2-sp.wp-block-group >div)>*:nth-child(1) {
      flex: 1;
      align-self: baseline;
    }

    :is(.flex-1_2-sp:not(.wp-block-group), .flex-1_2-sp.wp-block-group >div)>*:nth-child(2) {
      flex: 2;
    }

  }


  /*grid*/
  /*
  *:has(> [class*="grid-"]) {
    container: gap / inline-size;
  }
*/

  :is([class*="grid-"]:not(.wp-block-group), [class*="grid-"].wp-block-group >div) {
    display: grid;

    &>* {
      /* margin: unset; */
    }

    &.list-member {
      gap: min(8vw, 0.5rem) min(6vw, 1rem);
      /* font-weight: 700; */
    }
  }

  :is(.grid-2:not(.wp-block-group), .grid-2.wp-block-group >div) {
    grid-template: auto / repeat(auto-fill, minmax(min(40%, 600px), 1fr));
    gap: min(8vw, 6rem) min(6vw, 6rem);

    @container gap (width <=1380px) {
      grid-template: auto / repeat(auto-fill, minmax(min(40%, 420px), 1fr));
      gap: min(8vw, 4rem) min(4vw, 4rem);
    }

    @container gap (width <=860px) {
      grid-template: auto / repeat(auto-fill, minmax(min(100%, 300px), 1fr));
      gap: min(6vw, 3rem) min(4vw, 2rem);
    }

    :is(&.container-small, .container-small >&) {
      grid-template: auto / repeat(auto-fill, minmax(min(100%, 300px), 1fr));
      gap: min(8vw, 3rem) min(4vw, 2rem);

      :is(&.shape-keep, .shape-keep >&) {
        grid-template: auto / repeat(auto-fill, minmax(min(40%, 300px), 1fr));
        gap: min(4vw, 4rem) min(4vw, 2rem);
      }
    }

    @media (width <=800px) {
      :is(&.shape-keep, .shape-keep >&) {
        grid-template: auto / repeat(auto-fill, minmax(min(40%, 300px), 1fr));
        gap: min(4vw, 4rem) min(4vw, 3rem);
      }
    }
  }

  :is(.grid-3:not(.wp-block-group), .grid-3.wp-block-group >div) {
    grid-template: auto / repeat(auto-fill, minmax(min(40%, 480px), 1fr));
    gap: min(8vw, 4rem) min(6vw, 4rem);

    @container gap (width <=1380px) {
      grid-template: auto / repeat(auto-fill, minmax(min(100%, 280px), 1fr));
      gap: min(6vw, 4rem) min(4vw, 3rem);
    }

    @container gap (width <=860px) {
      grid-template: auto / repeat(auto-fill, minmax(min(100%, 200px), 1fr));
      gap: min(6vw, 3rem) min(4vw, 2rem);
    }

    :is(&.container-small, .container-small >&) {
      grid-template: auto / repeat(auto-fill, minmax(min(100%, 200px), 1fr));
      gap: min(6vw, 3rem) min(4vw, 2rem);

      :is(&.shape-keep, .shape-keep >&) {
        grid-template: auto / repeat(auto-fill, minmax(min(40%, 280px), 1fr));
      }
    }

    @media (width <=800px) {
      :is(&.shape-keep, .shape-keep >&) {
        grid-template: auto / repeat(auto-fill, minmax(min(40%, 280px), 1fr));
      }
    }
  }

  :is(.grid-4:not(.wp-block-group), .grid-4.wp-block-group >div) {
    grid-template: auto / repeat(auto-fill, minmax(min(40%, 400px), 1fr));
    gap: min(8vw, 3rem) min(6vw, 3rem);

    @container gap (width <=1380px) {
      grid-template: auto / repeat(auto-fill, minmax(min(40%, 240px), 1fr));
      gap: min(6vw, 3rem) min(4vw, 2rem);
    }

    @container gap (width <=860px) {
      grid-template: auto / repeat(auto-fill, minmax(min(40%, 180px), 1fr));
      gap: min(6vw, 2rem) min(4vw, 1rem);
    }

    :is(&.container-small, .container-small >&) {
      grid-template: auto / repeat(auto-fill, minmax(min(40%, 180px), 1fr));
      gap: min(6vw, 1rem) min(4vw, 1rem);

      :is(&.shape-keep, .shape-keep >&) {
        grid-template: auto / repeat(auto-fill, minmax(min(40%, 180px), 1fr));
      }
    }

    @media (width <=800px) {
      :is(&.shape-keep, .shape-keep >&) {
        grid-template: auto / repeat(auto-fill, minmax(min(40%, 180px), 1fr));
      }
    }

  }


  /*flex・gridポジション*/

  .order-1 {
    order: 1;
  }

  .order-2 {
    order: 2;
  }

  .order-3 {
    order: 3;
  }

  .area-a {
    grid-area: a;
  }

  .area-b {
    grid-area: b;
  }

  .area-c {
    grid-area: c;
  }

  .area-d {
    grid-area: d;
  }

  .area-e {
    grid-area: e;
  }

  /*アスペクト*/

  [class*="aspect-"]:not(:has(>img)),
  [class*="aspect-"]:has(img)>img {
    object-fit: cover;

    &:not([width]) {
      inline-size: 100%;
    }
  }

  .aspect-1_1:not(:has(>img)),
  .aspect-1_1:has(img)>img {
    aspect-ratio: 1/1;
  }

  .aspect-2_1:not(:has(>img)),
  .aspect-2_1:has(img)>img {
    aspect-ratio: 2/1;
  }

  .aspect-3_1:not(:has(>img)),
  .aspect-3_1:has(img)>img {
    aspect-ratio: 3/1;
  }

  .aspect-4_1:not(:has(>img)),
  .aspect-4_1:has(img)>img {
    aspect-ratio: 4/1;
  }

  .aspect-4_3:not(:has(>img)),
  .aspect-4_3:has(img)>img {
    aspect-ratio: 4/3;
  }


  .aspect-5_6:not(:has(>img)),
  .aspect-5_6:has(img)>img {
    aspect-ratio: 5/6;
  }


  .aspect-7_5:not(:has(>img)),
  .aspect-7_5:has(img)>img {
    aspect-ratio: 7/5;
  }


  .aspect-8_5:not(:has(>img)),
  .aspect-8_5:has(img)>img {
    aspect-ratio: 8/5;
  }

  .aspect-16_9:not(:has(>img)),
  .aspect-16_9:has(img)>img {
    aspect-ratio: 16/9;
  }

  .aspect-20_13:not(:has(>img)),
  .aspect-20_13:has(img)>img {
    aspect-ratio: 20/13;
  }

  .contain[class*="aspect-"]:not(:has(>img)),
  .contain[class*="aspect-"]:has(img)>img {
    object-fit: contain;
    object-position: center;
  }

  .object-height img,
  .object-height video {
    object-fit: cover;
    inline-size: 100%;
    block-size: 100%;
  }

  .circle:not(:has(>img)),
  .circle:has(>img)>img {
    border-radius: 50%;
  }

  .radius:not(:has(>img)),
  .radius:has(>img)>img {
    border-radius: 1rem;
    overflow: hidden;
  }

  [class*="object"] {
    &[class*="-height"] :is(img, video) {
      object-fit: cover;
      inline-size: 100%;
      block-size: 100%;
    }

    &[class*="-position_top"] img {
      object-position: top;
    }

    &[class*="-position_bottom"] img {
      object-position: bottom;
    }

    &[class*="-position_left"] img {
      object-position: left;
    }

    &[class*="-position_right"] img {
      object-position: right;
    }
  }

  @media screen and (max-width: 960px) {

    .aspect-1_1-sp:not(:has(>img)),
    .aspect-1_1-sp:has(img)>img {
      inline-size: 100%;
      aspect-ratio: 1/1;
      object-fit: cover;
    }

    .aspect-4_3-sp:not(:has(>img)),
    .aspect-4_3-sp:has(img)>img {
      inline-size: 100%;
      aspect-ratio: 4/3;
      object-fit: cover;
    }

    .aspect-8_5-sp:not(:has(>img)),
    .aspect-8_5-sp:has(img)>img {
      inline-size: 100%;
      aspect-ratio: 8/5;
      object-fit: cover;
    }

    .aspect-5_6-sp:not(:has(>img)),
    .aspect-5_6-sp:has(img)>img {
      inline-size: 100%;
      aspect-ratio: 5/6;
      object-fit: cover;
    }

    .aspect-3_1-sp:not(:has(>img)),
    .aspect-3_1-sp:has(img)>img {
      inline-size: 100%;
      aspect-ratio: 3/1;
      object-fit: cover;
    }

  }

}

/*--------------------layout.cssここまで--------------------*/

/*--------------------common.css--------------------*/

@layer common {

  /* ////////////////////////////////////////
PC,SP共通
//////////////////////////////////////// */

  /*　フッター　*/
  /* カテゴリ表示の背景色 */
  .bg-cate-1 {
    background: #ffae5e;
  }

  .bg-cate-2 {
    background: #7a5b44;
  }

  .bg-cate-3 {
    background: #57b7e8;
  }

  .bg-cate-4 {
    background: #8fc31f;
  }

  .bg-cate-5 {
    background: #7e2a00;
  }

  .bg-cate-6 {
    background: #00a29a;
  }

  .bg-cate-7 {
    background: #f29c97;
  }

  .bg-cate-8 {
    background: #9082a4;
  }

  .bg-cate-9 {
    background: #e6001b;
  }

  .bg-cate-10 {
    background: #0047cf;
  }

  /* カテゴリ表示の背景色 */
  /* 共通色指定*/

  :root {
    --main_color: #d13015;
    --sub_color: #f2f3f2;
    --key_color: #373534;
    --border_color: #ccc;
    --zenkaku_antique: "Zen Kaku Gothic Antique", sans-serif;
    --poppins: "Poppins", sans-serif;
  }

  /*画面占有率によるアクティブ*/
  :is(.move, .remove) {
    transition: 0.5s cubic-bezier(0.7, 0, 0.36, 0.63);
    /*transition-delay: 0.6s;*/
    /*translate: 0 -1rem;*/
    opacity: 0;

    &.active {
      /*translate: unset;*/
      opacity: 1;
    }
  }

  /*
  [data-width] {
    inline-size: min(100%, attr(data-width px));
  }
	*/


  :is(.interval5rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval5rem > div > *:not(:first-child)) {
    margin-top: 0.5rem;
  }

  :is(.interval10rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval10rem > div > *:not(:first-child)) {
    margin-top: 1rem;
  }

  :is(.interval15rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval15rem > div > *:not(:first-child)) {
    margin-top: 1.5rem;
  }

  :is(.interval20rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval20rem > div > *:not(:first-child)) {
    margin-top: 2rem;
  }

  :is(.interval25rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval25rem > div > *:not(:first-child)) {
    margin-top: 2.5rem;
  }

  :is(.interval30rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval30rem > div > *:not(:first-child)) {
    margin-top: min(8vw, 3rem);
  }

  :is(.interval35rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval35rem > div > *:not(:first-child)) {
    margin-top: 3.5rem;
  }

  :is(.interval40rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval40rem > div > *:not(:first-child)) {
    margin-top: min(24vw, 4rem);
  }

  :is(.interval45rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval45rem > div > *:not(:first-child)) {
    margin-top: clamp(20px, 4vw, 4.5rem);
  }

  :is(.interval50rem:not(.wp-block-group) > *:not(:first-child), .wp-block-group.interval50rem > div > *:not(:first-child)) {
    margin-top: 5rem;
  }

  .flexCenter {
    display: flex;
    flex-flow: row wrap;
    justify-content: center;
    inline-size: 100%;
    gap: 1rem 3rem;
  }

  .flexLeft {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
  }

  .flexRight {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-end;
  }

  :is(.flexCenter, .flexLeft, .flexRight):has(.btn-archive, .btn-min),
  :is(.flexCenter, .flexLeft, .flexRight):is(.btn-archive, .btn-min):has(>*) {
    margin-block-start: min(8vw, 3rem);
    position: relative;

    .sidebar & {
      margin-block-start: min(8vw, 1.5rem);
    }
  }

  :is(.btn-archive:not(:has(>*)), .btn-archive:has(>*) *) {
    display: inline-flex;
    align-items: center;
    z-index: 1;
    position: relative;
    min-inline-size: min(350px, 100%);
    inline-size: auto;
    padding: 1rem 1.5rem;
    background: var(--main_color);
    color: #fff;
    text-align: center;
    font-weight: 700;
    transition: 0.5s;
    border: 1px solid var(--main_color);
    font-size: min(16px, 3.5vw);
    line-height: 1;

    &:hover {
      background: #fff;
      color: var(--main_color);
      opacity: 1;
    }

    &:after {
      content: "";
      aspect-ratio: 1/1;
      border-radius: 50%;
      inline-size: 1.25rem;
      background: currentColor;
      mask: url(images/icon-button.svg) center / contain no-repeat;
      margin-inline-start: auto;
    }

    &[target]:after {
      border-radius: unset;
      inline-size: 1.25rem;
      mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMwMDA7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMTQgMSAyMyAxIDIzIDEwIi8+CiAgPHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxOSAxNSAxOSAyMyAxIDIzIDEgNSA5IDUiLz4KICA8bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIxMSIgeTE9IjEzIiB4Mj0iMjIiIHkyPSIyIi8+Cjwvc3ZnPg==') center / contain no-repeat;
      -webkit-mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogbm9uZTsKICAgICAgICBzdHJva2U6ICMwMDA7CiAgICAgICAgc3Ryb2tlLWxpbmVjYXA6IHJvdW5kOwogICAgICAgIHN0cm9rZS1saW5lam9pbjogcm91bmQ7CiAgICAgICAgc3Ryb2tlLXdpZHRoOiAycHg7CiAgICAgIH0KICAgIDwvc3R5bGU+CiAgPC9kZWZzPgogIDxwb2x5bGluZSBjbGFzcz0iY2xzLTEiIHBvaW50cz0iMTQgMSAyMyAxIDIzIDEwIi8+CiAgPHBvbHlsaW5lIGNsYXNzPSJjbHMtMSIgcG9pbnRzPSIxOSAxNSAxOSAyMyAxIDIzIDEgNSA5IDUiLz4KICA8bGluZSBjbGFzcz0iY2xzLTEiIHgxPSIxMSIgeTE9IjEzIiB4Mj0iMjIiIHkyPSIyIi8+Cjwvc3ZnPg==') center / contain no-repeat;
    }

    &+.wpcf7-spinner {
      display: none !important;
    }

    .flexCenter:has(.wpcf7-form-control-wrap + &) {
      flex-flow: column;
      align-items: center;
    }

    .main-column .has-text-align-center & {
      margin: 0 auto;
    }

    &.none {
      pointer-events: none;
      filter: grayscale(1);
    }
  }

  .btn-min {
    display: inline-flex;
    gap: 0.5rem;
    align-items: center;
    line-height: 1;
    font-weight: 700;
    text-decoration: underline;

    &:after {
      content: "";
      aspect-ratio: 1/1;
      border-radius: 50%;
      inline-size: 1.25rem;
      background: var(--main_color);
      mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2Q5ZDlkOTsKICAgICAgICBzdHJva2Utd2lkdGg6IDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMDEsMTIuMTZsLTUuNzIsNS40NGMtLjU1LjUzLTEuNDMuNS0xLjk1LS4wNS0uNTMtLjU1LS41LTEuNDMuMDUtMS45NWwyLjMzLTIuMjJoLTUuNTJjLS43NiwwLTEuMzgtLjYyLTEuMzgtMS4zOHMuNjItMS4zOCwxLjM4LTEuMzhoNS41MmwtMi4zMy0yLjIyYy0uNTUtLjUyLS41Ny0xLjQtLjA1LTEuOTUuNTMtLjU1LDEuNC0uNTgsMS45NS0uMDVsNS43Miw1LjQ0cy4wNy4xLjA3LjE2LS4wMi4xMi0uMDcuMTZaTTEyLDBDNS4zNywwLDAsNS4zNywwLDEyczUuMzcsMTIsMTIsMTIsMTItNS4zNywxMi0xMlMxOC42MywwLDEyLDBaIi8+Cjwvc3ZnPg==') center / contain no-repeat;
      -webkit-mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2Q5ZDlkOTsKICAgICAgICBzdHJva2Utd2lkdGg6IDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMDEsMTIuMTZsLTUuNzIsNS40NGMtLjU1LjUzLTEuNDMuNS0xLjk1LS4wNS0uNTMtLjU1LS41LTEuNDMuMDUtMS45NWwyLjMzLTIuMjJoLTUuNTJjLS43NiwwLTEuMzgtLjYyLTEuMzgtMS4zOHMuNjItMS4zOCwxLjM4LTEuMzhoNS41MmwtMi4zMy0yLjIyYy0uNTUtLjUyLS41Ny0xLjQtLjA1LTEuOTUuNTMtLjU1LDEuNC0uNTgsMS45NS0uMDVsNS43Miw1LjQ0cy4wNy4xLjA3LjE2LS4wMi4xMi0uMDcuMTZaTTEyLDBDNS4zNywwLDAsNS4zNywwLDEyczUuMzcsMTIsMTIsMTIsMTItNS4zNywxMi0xMlMxOC42MywwLDEyLDBaIi8+Cjwvc3ZnPg==') center / contain no-repeat;
    }
  }

  [class*="back_color-"] {
    background: var(--sub_color);

    &[class*="-main"] {
      background: var(--main_color);
    }

    &[class*="-key"] {
      background: var(--key_color);
    }

    &[class*="-gray"] {
      background: #f3f3f3;
    }

    &[class*="-half_gray"] {
      background: linear-gradient(#fff min(50vw, 300px), #f3f3f3 min(50vw, 300px));

      &[class*="no_space"] {
        background: linear-gradient(#fff calc(460px - min(20vw, 200px)), #f3f3f3 calc(460px - min(20vw, 200px)));
      }
    }
  }

  [class*="mat-"] {
    padding: min(12vw, 8rem);

    &[class*="-middle"] {
      padding: min(8vw, 3rem);
    }

    &[class*="-min"] {
      padding: min(6vw, 2rem);
    }

    &[class*="-white"] {
      background: #fff;
    }

    &[class*="-gray"] {
      background: #f2f2f2;
    }

    &[class*="-main"] {
      background: var(--main_color);
    }

    &[class*="-sub"] {
      background: var(--sub_color);
    }

    &[class*="-border"] {
      border: 1px solid var(--border_color);
    }
  }

  .list-caution li {
    font-size: min(13px, 3vw);
    line-height: 1.5;
    text-indent: max(-6vw, -1rem);
    padding-inline-start: min(6vw, 1rem);

    &+li {
      margin-block-start: 0.25rem;
    }

    &:before {
      content: "※";
      block-size: initial;
      inline-size: initial;
      background: none;
    }
  }

  .list-data_text li {
    display: flex;
    align-items: baseline;
    gap: 0.5rem;
    word-break: break-word;

    &[data-text]:before {
      content: attr(data-text);
      flex: 0 auto;
      white-space: pre;
    }
  }

  .list-check {
    & li {
      line-height: 1.75;
      text-indent: calc(max(-6vw, -1rem) - 0.5rem);
      padding-inline-start: calc(min(6vw, 1rem) + 0.5rem);

      *:not([class*="grid"], [class*="flex"])>&+li {
        margin-block-start: 0.5rem;
      }

      &:before {
        display: inline-block;
        content: "";
        min-inline-size: min(6vw, 1rem);
        margin-right: 0.5rem;
        aspect-ratio: 5/4;
        vertical-align: middle;
        background: var(--main_color);
        mask: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%20%5B%20%3C!ENTITY%20ns_flows%20%22http%3A%2F%2Fns.adobe.com%2FFlows%2F1.0%2F%22%3E%5D%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%20113%2089%22%20enable-background%3D%22new%200%200%20113%2089%22%20xml%3Aspace%3D%22preserve%22%3E%3Cdefs%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22%231f887c%22%20d%3D%22M41.453%2C89.064L2.5%2C47.858c-3.417-3.538-3.319-9.176%2C0.219-12.594c3.452-3.333%2C8.923-3.333%2C12.375%2C0%20l26.359%2C27.081L97.354%2C2.756c3.396-3.558%2C9.034-3.689%2C12.593-0.292c3.557%2C3.396%2C3.688%2C9.034%2C0.292%2C12.592l0%2C0L41.453%2C89.064z%22%2F%3E%3C%2Fsvg%3E') center/contain no-repeat;
      }
    }
  }


  .list-flex {
    display: flex;
    flex-flow: wrap;
    align-items: baseline;
    gap: min(2vw, 0.5rem) min(4vw, 1.5rem);

    & li {
      margin: unset !important;

      @media (width <=640px) {
        flex: 1 100%;
      }
    }
  }

  [class*="title-"] {

    &[class*="-top_section"] {
      font-size: clamp(18px, 2.5vw, 30px);
      font-weight: 700;
      line-height: 1.25;
      display: flex;
      align-items: baseline;
      gap: 1rem min(4vw, 1.5rem);
      white-space: pre;

      &:has(+ *) {
        margin-block-end: 2rem;
      }

      &:has(+p) {
        margin-block-end: 2rem;
      }

      &+ :is(p, ul, ol, dd) {
        margin-block-start: -0.5rem;
      }

      &+p {
        /*line-height: 2.5;
        font-size: min(16px, 3.5vw);
        font-weight: 700;*/
      }

      &+p:has(+*) {
        margin-block-end: min(6vw, 4rem);
      }

      &[data-text]:before {
        content: attr(data-text);
        font-family: var(--poppins);
        font-size: clamp(38px, 6vw, 100px);
        font-style: italic;
        /* line-height: 1; */
        color: currentColor;
      }

    }

    &[class*="-large"] {
      font-size: clamp(20px, 4vw, 50px);
      font-weight: 700;
      line-height: 1.25;
      display: flex;
      flex-flow: column;
      gap: 1rem 1.5rem;

      &:has(+ *) {
        margin-block-end: min(6vw, 2rem);
      }

      &:has(+p) {
        margin-block-end: min(5vw, 2rem);
      }

      &[class*="-large_ex"] {
        font-size: min(6vw, 60px);
        line-height: 1.75;
        font-weight: 900;

        &:has(+ *) {
          margin-block-end: 3rem;
        }

        &:has(+p) {
          margin-block-end: 3rem;
        }

        &+p {
          font-size: min(4vw, 20px);
        }
      }

      &+ :is(p, ul, ol, dd) {
        margin-block-start: -0.5rem;
      }

      &+p {
        margin-block-start: -0.5rem;
        /*line-height: 2.5;
        font-size: min(16px, 3.5vw);
        font-weight: 700;*/
      }

      &+p:has(+*) {
        margin-block-end: min(8vw, 4rem);
      }

      &[data-text]:before {
        content: attr(data-text);
        font-size: min(4vw, 20px);
        line-height: 1;
        color: var(--main_color);
      }

    }

    &[class*="-middle"] {
      font-size: clamp(16px, 2vw, 24px);
      font-weight: 700;
      line-height: 1.5;

      &:has(+ *) {
        margin-block-end: min(4vw, 1.5rem);
      }

      &+ :is(p, ul, ol, dd) {
        margin-block-start: -0.5rem;
      }

      &[data-text]:before {
        content: attr(data-text);
        font-size: min(4vw, 14px);
      }
    }

    &[class*="-min"] {
      font-size: min(4vw, 18px);
      font-weight: 700;
      line-height: 1.25;

      &:has(+ *) {
        margin-block-end: 1rem;
      }

      &+ :is(p, ul, ol, dd) {
        margin-block-start: -0.5rem;
      }

    }

    &[class*="-border_right"] {
      display: flex;
      gap: 1rem;
      align-items: center;
      flex-flow: row;

      &:after {
        content: "";
        flex: 1;
        background: var(--border_color);
        block-size: 1px;
      }
    }

    &[class*="-border_side"] {
      display: flex;
      gap: 1rem;
      align-items: center;
      flex-flow: row;

      &:before,
      &:after {
        content: "";
        flex: 1;
        background: var(--border_color);
        block-size: 1px;
      }

      @media(640px < width) {
        &+p:not(:is(.textLeft, .has-text-align-left)) {
          text-align: center;
        }
      }

    }

    &[class*="-border_left"] {
      border-left: 5px solid var(--key_color);
      padding-inline-start: 1rem;

      &[data-text] {
        display: flex;
        flex-flow: column;
      }
    }

    &[class*="-border_bottom"] {
      padding-block-end: 0.5rem;
      border-bottom: 2px solid var(--main_color);

      &[data-text] {
        display: flex;
        align-items: baseline;
        gap: 0.5rem 1rem;

        &:after {
          margin-inline-start: auto;
        }

        @media(width <=640px) {
          flex-flow: wrap;

          &:after {
            flex: 1 100%;
            margin-inline-start: unset;
          }
        }
      }
    }

    &[class*="-color"] {
      color: var(--main_color);
    }

    &[class*="-mat"] {
      padding: 0.5rem 0.75rem;
      background: var(--sub_color);

      &[class*="-mat_white"] {
        background: #fff;
      }

      &[class*="-mat_border"] {
        background: unset;
        border: 1px solid var(--border_color);
        color: currentcolor;
      }
    }

    &[class*="-icon"] {
      display: flex;
      gap: 0.5rem;

      &:before {
        content: "";
        background: var(--main_color);
        aspect-ratio: 1/1;
        inline-size: 3.5rem;
      }

      &[class*="-icon_mail"]:before {
        aspect-ratio: 4/3;
        mask: url(images/mail.svg) center/contain no-repeat;
      }

      &[class*="-icon_pamphlet"]:before {
        aspect-ratio: 6/5;
        mask: url(images/pamphlet.svg) center/contain no-repeat;
      }
    }

    :is(&[class*="-center"], &.has-text-align-center) {
      display: flex;
      flex-flow: column;
      text-align: center;
      align-items: center;

      @media(640px < width) {
        &+p:not(.textLeft, .has-text-align-left) {
          text-align: center;
        }
      }

      @media(width <=640px) {
        &:not([class*="-keep"]) {
          text-align: inherit;
          align-items: baseline;
        }
      }
    }

    :is(&[class*="-right"], &.has-text-align-right) {
      text-align: right;
      align-items: flex-end;

      &+p {
        text-align: right;
      }
    }

    :is(&[class*="-left"], &.has-text-align-left) {
      text-align: left;
      flex-flow: wrap;
      align-items: baseline;
    }

    & img {
      vertical-align: baseline;
    }

  }

  .section {

    &+.section {
      margin-block-start: min(20vw, 160px);

    }
  }

  .section_in {

    &+.section_in {
      margin-block-start: min(12vw, 80px);

    }
  }


  .table-info {

    & th {
      border-block-end: 1px solid var(--key_color) !important;
      inline-size: min(20vw, 150px);
      background: unset;
      white-space: pre;
      padding: 0.5rem;
    }

    & td {
      border-block-end: 1px solid var(--border_color) !important;
      padding: 0.5rem;
    }

    & li {
      /*font-size: min(3.5vw, 14px);*/
      line-height: 1.5;
    }

  }


  .table-mat {

    & tr {
      background: #fff;

      & :is(th, td) {
        padding: 0.75rem 1rem;
        border: 1px solid var(--border_color);
      }

      & th {
        background: #f5f5f5;
      }
    }

    & figcaption {
      margin-block-start: 1rem;
    }
  }

  /*question*/

  .card-question {
    padding: 1rem;
    background: #f2f2f2;
    border-radius: 0.5rem;

    & .question-wrap {

      & .question-title {
        display: flex;
        gap: 0.75rem;
        cursor: pointer;
        align-items: center;
        line-height: 1.5;

        &:before {
          content: "Q";
          min-inline-size: 2rem;
          display: flex;
          align-items: center;
          justify-content: center;
          background: var(--main_color);
          color: #fff;
          aspect-ratio: 1/1;
          font-weight: 700;
        }

        &:after {
          content: "";
          margin-inline-start: auto;
          mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20x%3D%220px%22%20y%3D%220px%22%20width%3D%22160px%22%20height%3D%2285px%22%20viewBox%3D%220%200.001%20160%2085%22%20enable-background%3D%22new%200%200.001%20160%2085%22%20xml%3Aspace%3D%22preserve%22%3E%3Cdefs%3E%3C%2Fdefs%3E%3Cpath%20fill%3D%22%231c50a1%22%20d%3D%22M79.995%2C84.656c-7.223%2C0-14.443-2.723-19.953-8.186L3.4%2C19.818c-4.534-4.535-4.534-11.881%2C0-16.417%20c4.535-4.535%2C11.882-4.535%2C16.417%2C0l56.604%2C56.618c1.951%2C1.928%2C5.171%2C1.961%2C7.166-0.021l56.595-56.595%20c4.534-4.535%2C11.881-4.535%2C16.416%2C0c4.534%2C4.536%2C4.534%2C11.882%2C0%2C16.417L99.981%2C76.435C94.471%2C81.923%2C87.229%2C84.656%2C79.995%2C84.656z%22%2F%3E%3C%2Fsvg%3E') center / contain no-repeat;
          background: var(--main_color);
          aspect-ratio: 32/17;
          min-inline-size: min(6vw, 1.5rem);
          transition: 0.4s;
          align-self: center;
        }

        &.active:after {
          rotate: 180deg;
        }
      }
    }

    & .answer-wrap {
      display: none;

      & .answer-title {
        display: flex;
        gap: 0.75rem;
        margin-block-start: 1rem;
        padding-block-start: 1rem;
        border-block-start: 1px solid var(--border_color);
        align-items: baseline;

        &:before {
          content: "A";
          min-inline-size: 2rem;
          display: flex;
          align-items: center;
          justify-content: center;
          background: #a11c1c;
          color: #fff;
          aspect-ratio: 1/1;
          font-weight: 700;
          align-self: baseline;
        }

      }
    }

  }

  /*スライダー*/


  /*large_slider*/

  .large_slider {
    position: relative;

    & .swiper-button {
      position: absolute;
      z-index: 5;
      inset-block-start: calc(50% - 1rem);
      inset-inline-start: 0;
      translate: 0% -50%;
      inline-size: calc(clamp(320px, 40vw, 600px) *0.9 *1.15);
      display: flex;
      align-items: center;
      justify-content: space-between;
      margin: unset;

      & li {
        aspect-ratio: 1/1;
        inline-size: 2rem;
        background: #fff;
        border-radius: 50%;
        cursor: pointer;
        position: relative;

        &:after {
          content: "";
          position: absolute;
          inset: 0;
          mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2Q5ZDlkOTsKICAgICAgICBzdHJva2Utd2lkdGg6IDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMDEsMTIuMTZsLTUuNzIsNS40NGMtLjU1LjUzLTEuNDMuNS0xLjk1LS4wNS0uNTMtLjU1LS41LTEuNDMuMDUtMS45NWwyLjMzLTIuMjJoLTUuNTJjLS43NiwwLTEuMzgtLjYyLTEuMzgtMS4zOHMuNjItMS4zOCwxLjM4LTEuMzhoNS41MmwtMi4zMy0yLjIyYy0uNTUtLjUyLS41Ny0xLjQtLjA1LTEuOTUuNTMtLjU1LDEuNC0uNTgsMS45NS0uMDVsNS43Miw1LjQ0cy4wNy4xLjA3LjE2LS4wMi4xMi0uMDcuMTZaTTEyLDBDNS4zNywwLDAsNS4zNywwLDEyczUuMzcsMTIsMTIsMTIsMTItNS4zNywxMi0xMlMxOC42MywwLDEyLDBaIi8+Cjwvc3ZnPg==') center / contain no-repeat;
          background: #ddd;
        }

        &.swiper-button-prev {
          translate: 50% 0;
          rotate: 180deg;
        }

        &.swiper-button-next {
          translate: -50% 0;
        }
      }
    }

    & .swiper-wrapper {
      align-items: flex-end;
    }

    & .swiper-slide {
      inline-size: clamp(320px, 40vw, 600px);
      transform: scale(0.9);
      transform-origin: left bottom;
      transition: transform 0.6s;
      margin-right: min(4vw, 40px);

      &:not(.swiper-slide-active):has(+.swiper-slide-active) {
        transform: scale(0.9) translateX(max(-4vw, -40px));
        transform-origin: left bottom;
      }

      &.swiper-slide-active+.swiper-slide:not(.swiper-slide-active) {
        transform: scale(0.9) translateX(min(3vw, 45px));
        transform-origin: left bottom;
      }

      & figure {
        transition: 0.6s;
        transform-origin: left bottom;
        border: 1px solid;
      }

      &.swiper-slide-active {

        & figure {
          transform: scale(1.15);
          transform-origin: left bottom;
          transition: 0.6s;
        }
      }
    }

    & figcaption {
      font-size: min(3.5vw, 20px);
      line-height: 1;
      padding-top: 1.5rem;
      font-family: var(--eng_serif);
    }

    @media (width <=640px) {

      & .swiper-wrapper {
        align-items: baseline;
        padding-top: unset;
      }

      & .swiper-slide {
        transform: unset !important;
        margin-right: min(8vw, 2rem);
        inline-size: 80%;

        & figure {
          transform: unset !important;
          transform-origin: left bottom;
        }
      }

      & figcaption {
        font-size: initial;
        padding-top: 1rem;
      }
    }
  }

  /*middle_slider*/

  .middle_slider {
    position: relative;
    margin-inline-start: calc((100vw - min(100%, 1380px))/6);

    & .middle_slider-tool {
      margin-inline: unset;
      gap: 1.5rem;
      position: relative;
      padding-inline-end: min(40px, 6vw);

      & .swiper-scrollbar {
        position: relative;
        z-index: 0;
        block-size: 4px;

        &:after {
          content: "";
          position: absolute;
          inset: 50% 0;
          block-size: 1px;
          background: #ddd;
          z-index: -1;
        }

        & .swiper-scrollbar-drag {
          background: var(--main_color);
          block-size: 4px;
          border-radius: 1rem;
        }
      }

      & .swiper-button {
        display: flex;
        gap: min(4vw, 1.5rem);

        & li {
          aspect-ratio: 1/1;
          inline-size: 2rem;
          background: var(--key_color);
          border-radius: 50%;
          cursor: pointer;
          position: relative;
          display: flex;
          align-items: center;
          justify-content: center;
          border: 1px solid var(--key_color);

          &.swiper-button-prev {
            rotate: 180deg;
          }

          &:after {
            content: "";
            mask: url(images/arrow.svg) center / contain no-repeat;
            inline-size: 30%;
            translate: 10% 0;
            aspect-ratio: 14/25;
            background: #fff;
          }

          &:hover {
            background: #fff;

            &:after {
              background: var(--key_color);
            }
          }
        }
      }
    }

    & .swiper-slide {
      inline-size: clamp(320px, 40vw, 400px);
      margin-right: min(4vw, 2rem);
      block-size: 100%;
    }

    & figcaption {
      font-size: min(3.5vw, 20px);
      line-height: 1;
      padding-top: 1.5rem;
      font-family: var(--eng_serif);
    }

    @media (width <=640px) {

      & .swiper-wrapper {
        align-items: baseline;
        padding-top: unset;
      }

      & .swiper-slide {
        transform: unset !important;
        margin-right: min(8vw, 2rem);
        inline-size: 80%;

        & figure {
          transform: unset !important;
          transform-origin: left bottom;
        }
      }

      & figcaption {
        font-size: initial;
        padding-top: 1rem;
      }
    }

    & .card-img_text {
      & dd {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        overflow: hidden;
      }
    }
  }

  /*entry_slider*/

  .entry_slider {
    position: relative;

    & .entry_slider-tool {
      position: absolute;
      inset: 50% 0 auto 0;
      z-index: 2;
      pointer-events: none;

      & .swiper-scrollbar {
        position: relative;
        z-index: 0;
        block-size: 4px;

        &:after {
          content: "";
          position: absolute;
          inset: 50% 0;
          block-size: 1px;
          background: #ddd;
          z-index: -1;
        }

        & .swiper-scrollbar-drag {
          background: var(--main_color);
          block-size: 4px;
          border-radius: 1rem;
        }
      }

      & .swiper-button {
        display: flex;
        justify-content: space-between;
        gap: 1.5rem;

        & li {
          aspect-ratio: 1/1;
          inline-size: min(12vw, 5rem);
          background: var(--key_color);
          border-radius: 50%;
          cursor: pointer;
          position: relative;
          display: flex;
          align-items: center;
          justify-content: center;
          border: 1px solid var(--key_color);
          translate: calc((100vw - min(100%, 1380px))/20 - min(40px, 6vw)) 0;
          pointer-events: painted;

          &.swiper-button-prev {
            rotate: 180deg;
            translate: calc((100vw - min(100%, 1380px))/-20 + min(40px, 6vw)) 0;
          }

          &:after {
            content: "";
            mask: url(images/arrow.svg) center / contain no-repeat;
            inline-size: 30%;
            translate: 10% 0;
            aspect-ratio: 14/25;
            background: #fff;
          }

          &:hover {
            background: #fff;

            &:after {
              background: var(--key_color);
            }
          }
        }
      }
    }

    & .swiper-slide {
      inline-size: clamp(320px, 40vw, 420px);
      margin-inline: min(2vw, 0.75rem);
      block-size: 100%;
    }

    & figcaption {
      font-size: min(3.5vw, 20px);
      line-height: 1;
      padding-top: 1.5rem;
      font-family: var(--eng_serif);
    }

    @media (width <=640px) {

      & .swiper-wrapper {
        align-items: baseline;
        padding-top: unset;
      }

      & .swiper-slide {
        transform: unset !important;
        /* margin-right: min(8vw, 2rem); */
        inline-size: 80%;

        & figure {
          transform: unset !important;
          transform-origin: left bottom;
        }
      }

      & figcaption {
        font-size: initial;
        padding-top: 1rem;
      }
    }

    & .card-img_text {

      & a {
        display: block;
        position: relative;
        z-index: 0;
        aspect-ratio: 2/3;
        overflow: hidden;
        color: #fff;

        & .img-img_text {
          position: absolute;
          inset: 0;
          z-index: -1;
          display: flex;

          & img {
            object-fit: cover;
            filter: brightness(0.75);
          }
        }

        & .flex-column {
          block-size: 100%;
        }
      }

      & dd {

        & p {
          display: -webkit-box;
          -webkit-box-orient: vertical;
          -webkit-line-clamp: 3;
          overflow: hidden;
        }

        & span {
          display: inline-flex;
          padding: 0.25rem 1rem;
          border-radius: 2rem;
          background: #fff;
          color: #333;
          line-height: 1;
          font-size: min(3.5vw, 14px);
        }

      }
    }
  }

  /*other_slider*/

  .other_slider-wrap {
    inline-size: min(100%, 720px);
    margin: 0 auto;
    position: relative;

    & .other_slider {

      & .swiper-slide {
        overflow: hidden;
      }

    }

    & .fraction {
      position: absolute;
      z-index: 2;
      inset-block-start: 0;
      inset-inline-end: 0;
      translate: min(4vw, 40%) -50%;
      display: flex;
      align-items: baseline;
      gap: 0.5rem;
      font-size: min(4vw, 32px);
      font-weight: 700;

      &:before {
        content: "/";
        order: 2;
      }

      & .num {
        display: inline-block;
        font-size: min(84px);
        order: 1;

        &.anm-started {
          -webkit-animation: other_slider-fraction 1s var(--easing);
          animation: other_slider-fraction 1s var(--easing);
        }
      }

      & .total {
        order: 3;
      }
    }

    & .content {
      position: absolute;
      z-index: 2;
      inset-block-start: 0;
      inset-inline-start: 0;
      translate: max(-10rem, -4vw) min(16vw, 5rem);
      inline-size: min(80%, 500px);
      pointer-events: none;

      & p {
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 6;
      }

      & .marker {
        position: relative;

        -webkit-clip-path: inset(0 100% 0 0);
        clip-path: inset(0 100% 0 0);

        &:after {
          position: absolute;
          top: 0;
          left: 0;
          inline-size: 100%;
          block-size: 100%;
          content: "";
          background-color: #fff;
        }
      }

      &.anm-started .marker {
        -webkit-animation: other_slider-marker 1s 0.5s both;
        animation: other_slider-marker 1s 0.5s both;

        &:after {
          -webkit-animation: other_slider-markerBg 1s 0.5s both;
          animation: other_slider-markerBg 1s 0.5s both;
        }
      }

      &.anm-finished .marker {
        -webkit-animation: other_slider-markerHide 0.5s both;
        animation: other_slider-markerHide 0.5s both;

        &:after {
          -webkit-clip-path: inset(0 0 0 100%);
          clip-path: inset(0 0 0 100%);
        }
      }
    }

    & .swiper-button {
      position: absolute;
      z-index: 2;
      inset-block-start: 50%;
      inset-inline-end: 0;
      translate: 50% -50%;
      display: flex;
      flex-flow: column;
      gap: 1.5rem;

      & li {
        inline-size: 3rem;
        aspect-ratio: 1/1;
        background: #333;
        cursor: pointer;

        &:hover {
          opacity: 0.8;
        }

        &.swiper-button-prev {
          mask: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjMiIGhlaWdodD0iNjMiIHZpZXdCb3g9IjAgMCA2MyA2MyIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTM2LjE4MDUgNDEuMzMzMkwyNi4zNDcyIDMxLjQ5OTlMMzYuMTgwNSAyMS4yNTY4IiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjQiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIvPgo8cGF0aCBkPSJNMzEuNTI1OCAyQzM4LjcwNDggMi4wMDYyOSA0NS42MzUxIDQuNjMwMjEgNTEuMDE4MSA5LjM4MDA3QzU2LjQwMTEgMTQuMTI5OSA1OS44NjczIDIwLjY3OTcgNjAuNzY3MiAyNy44MDIxQzYxLjY2NzEgMzQuOTI0NCA1OS45MzkgNDIuMTMwNSA1NS45MDY1IDQ4LjA3QzUxLjg3NDEgNTQuMDA5NSA0NS44MTQzIDU4LjI3NDcgMzguODYyNCA2MC4wNjY0QzMxLjkxMDYgNjEuODU4MSAyNC41NDQxIDYxLjA1MzMgMTguMTQzMSA1Ny44MDI4QzExLjc0MjEgNTQuNTUyNCA2Ljc0NjE0IDQ5LjA3OTMgNC4wOTEzIDQyLjQwOTNDMS40MzY0NiAzNS43MzkyIDEuMzA0OTkgMjguMzMgMy43MjE1MiAyMS41Njk5QzYuMTM4MDUgMTQuODA5OSAxMC45MzY3IDkuMTYzMDEgMTcuMjE4MyA1LjY4NzUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+Cjwvc3ZnPg==') center/ contain no-repeat;
        }

        &.swiper-button-next {
          mask: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNjMiIGhlaWdodD0iNjQiIHZpZXdCb3g9IjAgMCA2MyA2NCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI4LjI0OCAyMS43NUwzOC4wODE0IDMxLjU4MzNMMjguMjQ4IDQxLjgyNjQiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iNCIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIi8+CjxwYXRoIGQ9Ik0zMS41MjU4IDIuNDkzMTZDMzguNzA0OCAyLjQ5OTQ2IDQ1LjYzNTEgNS4xMjMzOCA1MS4wMTgxIDkuODczMjNDNTYuNDAxMSAxNC42MjMxIDU5Ljg2NzMgMjEuMTcyOSA2MC43NjcyIDI4LjI5NTJDNjEuNjY3MSAzNS40MTc2IDU5LjkzOSA0Mi42MjM3IDU1LjkwNjUgNDguNTYzMkM1MS44NzQxIDU0LjUwMjYgNDUuODE0MyA1OC43Njc5IDM4Ljg2MjQgNjAuNTU5NkMzMS45MTA2IDYyLjM1MTMgMjQuNTQ0MSA2MS41NDY1IDE4LjE0MzEgNTguMjk2QzExLjc0MjEgNTUuMDQ1NSA2Ljc0NjE0IDQ5LjU3MjUgNC4wOTEzIDQyLjkwMjRDMS40MzY0NiAzNi4yMzI0IDEuMzA0OTkgMjguODIzMSAzLjcyMTUyIDIyLjA2MzFDNi4xMzgwNSAxNS4zMDMgMTAuOTM2NyA5LjY1NjE3IDE3LjIxODMgNi4xODA2NiIgc3Ryb2tlPSJibGFjayIgc3Ryb2tlLXdpZHRoPSI0IiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiLz4KPC9zdmc+') center / contain no-repeat;
        }
      }
    }

  }

  @-webkit-keyframes other_slider-marker {

    60%,
    100% {
      -webkit-clip-path: inset(0);
      clip-path: inset(0);
    }
  }

  @keyframes other_slider-marker {

    60%,
    100% {
      -webkit-clip-path: inset(0);
      clip-path: inset(0);
    }
  }

  @-webkit-keyframes other_slider-markerBg {
    60% {
      -webkit-clip-path: inset(0);
      clip-path: inset(0);
    }

    100% {
      -webkit-clip-path: inset(0 0 0 100%);
      clip-path: inset(0 0 0 100%);
    }
  }

  @keyframes other_slider-markerBg {
    60% {
      -webkit-clip-path: inset(0);
      clip-path: inset(0);
    }

    100% {
      -webkit-clip-path: inset(0 0 0 100%);
      clip-path: inset(0 0 0 100%);
    }
  }

  @-webkit-keyframes other_slider-markerHide {
    0% {
      -webkit-clip-path: inset(0);
      clip-path: inset(0);
    }

    100% {
      -webkit-clip-path: inset(0 0 0 100%);
      clip-path: inset(0 0 0 100%);
    }
  }

  @keyframes other_slider-markerHide {
    0% {
      -webkit-clip-path: inset(0);
      clip-path: inset(0);
    }

    100% {
      -webkit-clip-path: inset(0 0 0 100%);
      clip-path: inset(0 0 0 100%);
    }
  }

  @-webkit-keyframes other_slider-fraction {

    0%,
    100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
      opacity: 1;
    }

    50% {
      -webkit-transform: translateY(-110%);
      transform: translateY(-110%);
      opacity: 1;
    }

    50.1% {
      -webkit-transform: translateY(110%);
      transform: translateY(110%);
      opacity: 0;
    }
  }

  @keyframes other_slider-fraction {

    0%,
    100% {
      -webkit-transform: translateY(0);
      transform: translateY(0);
      opacity: 1;
    }

    50% {
      -webkit-transform: translateY(-110%);
      transform: translateY(-110%);
      opacity: 1;
    }

    50.1% {
      -webkit-transform: translateY(110%);
      transform: translateY(110%);
      opacity: 0;
    }
  }

  /*auto_slide*/


  /*auto_slider*/

  .auto_slider {
    position: relative;

    & .swiper-wrapper {
      transition-timing-function: linear !important;
    }

    & .swiper-slide {
      width: min(400px);
      block-size: 100%;
      pointer-events: none;
      margin-inline-end: min(4vw, 3rem);

    }

    @media (width <=640px) {

      & .swiper-wrapper {
        align-items: baseline;
        padding-top: unset;
      }

      & .swiper-slide {
        transform: unset !important;
        width: 30%;

        & figure {
          transform: unset !important;
          transform-origin: left bottom;
        }
      }
    }
  }

  /*フッター*/


  .footer {
    position: relative;
    margin-top: auto;

    & .contents {
      container: gap / inline-size;
    }

    & .footer-full {

      .footer:has(&) {
        background: #efefef;
      }

      .footer-top:has(&) {
        padding: 3rem 0;

        &+.copyright {
          background: var(--main_color);
          color: #fff;
        }
      }

      & .inner-footer-top {
        display: flex;
        flex-flow: row wrap;
        align-items: flex-start;
        justify-content: space-between;
      }

      & .box-info-footer {
        /* inline-size: 300px; */
        margin: 0 auto min(3rem, 12vw);
        text-align: center;

        & .logo {
          display: block;
          margin-bottom: 1rem;

          & img {
            inline-size: min(60vw, 100%);
            block-size: auto;
          }
        }
      }

      & .box-footer-top {
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 35px 115px;
      }

      & .simple-footer-nav {
        justify-content: center;
        margin-bottom: -30px;
      }

      @media(width <=1080px) {

        .footer-top:has(&) {
          padding-block-end: 0;
        }

        & .simple-footer-nav {
          margin-bottom: unset;
        }

        & .wrap-simple-footer-nav {
          min-inline-size: 100vw;
          position: relative;
          inset: 0 0 0 50%;
          translate: -50vw 0;
        }
      }

    }

    & .footer-boxed {
      padding-block-end: 4rem;

      .footer:has(&) {
        background: #f4f4f4;
        padding-block-start: min(20vw, 200px);

        & .contents {
          inline-size: min(100%, 1380px);
        }
      }

      & .footer_contact-boxed {
        display: grid;
        grid-template:
          "a c" auto "b c" auto / min(45vw, 550px) auto;
        gap: 1rem 2.5rem;

        & [class*="-top_section"] {
          &[data-text]:before {
            font-size: clamp(38px, 6vw, 80px);
            font-weight: 500;
            color: #fff;
            -webkit-text-stroke: 1px #333;
          }
        }

        .footer_contact_one-boxed {
          flex: 1;
          letter-spacing: 0;
          text-indent: unset;

          &:nth-child(2) {
            order: 3;
          }

          &[data-link="tel"] {
            font-size: clamp(3rem, 6vw, 80px);
            font-weight: 700;
            display: grid;
            grid-template:
              "a b" auto
              "c c" auto / clamp(2.25rem, 4.5vw, 3.5rem) auto;
            gap: 1rem;
            align-items: center;
            justify-content: center;
            pointer-events: none;

            &:before {
              content: "";
              mask: url(images/tel.svg) center/contain no-repeat;
              background: var(--main_color);
              aspect-ratio: 1/1;
              grid-area: a;
              align-self: flex-end;
            }

            &[data-text]:after {
              content: attr(data-text);
              font-size: min(4vw, 16px);
              padding: 0.75rem;
              line-height: 1;
              display: flex;
              justify-content: center;
              grid-area: c;
              background: var(--key_color);
              color: #fff;
            }
          }

          &[data-link="mail"] {
            font-size: clamp(1.2rem, 2vw, 24px);
            font-weight: 700;
            display: flex;
            align-items: center;
            gap: min(2.5vw, 1rem);

            &:before {
              content: "";
              mask: url('data:image/svg+xml;charset=UTF-8,<svg version="1.1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 50 37.59"><g><polygon fill="%2355afbb" points="50,22.62 43.55,15.92 50,10.36"/><polygon fill="%2355afbb" points="6.46,15.92 0,22.63 0,10.36"/><path fill="%2355afbb" d="M50,28.72v6.17c0,1.49-1.21,2.7-2.7,2.7H2.7c-1.49,0-2.7-1.21-2.7-2.7v-6.17l9.66-10.03L20.7,28.2 c1.15,0.98,2.67,1.53,4.3,1.53c1.63,0,3.16-0.55,4.3-1.53l11.03-9.51L50,28.72z"/><path fill="%2355afbb" d="M50,2.7v2.7L26.42,25.71c-0.76,0.66-2.09,0.66-2.84,0L0,5.4V2.7C0,1.2,1.21,0,2.7,0H47.3 C48.79,0,50,1.2,50,2.7z"/></g></svg>') center/contain no-repeat;
              background: var(--main_color);
              aspect-ratio: 4/3;
              min-inline-size: min(8vw, 3rem);
            }

            &:after {
              content: "";
              aspect-ratio: 1/1;
              border-radius: 50%;
              inline-size: 1.5rem;
              background: currentColor;
              mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2Q5ZDlkOTsKICAgICAgICBzdHJva2Utd2lkdGg6IDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMDEsMTIuMTZsLTUuNzIsNS40NGMtLjU1LjUzLTEuNDMuNS0xLjk1LS4wNS0uNTMtLjU1LS41LTEuNDMuMDUtMS45NWwyLjMzLTIuMjJoLTUuNTJjLS43NiwwLTEuMzgtLjYyLTEuMzgtMS4zOHMuNjItMS4zOCwxLjM4LTEuMzhoNS41MmwtMi4zMy0yLjIyYy0uNTUtLjUyLS41Ny0xLjQtLjA1LTEuOTUuNTMtLjU1LDEuNC0uNTgsMS45NS0uMDVsNS43Miw1LjQ0cy4wNy4xLjA3LjE2LS4wMi4xMi0uMDcuMTZaTTEyLDBDNS4zNywwLDAsNS4zNywwLDEyczUuMzcsMTIsMTIsMTIsMTItNS4zNywxMi0xMlMxOC42MywwLDEyLDBaIi8+Cjwvc3ZnPg==') center / contain no-repeat;
              -webkit-mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8xIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAxIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNCAyNCI+CiAgPGRlZnM+CiAgICA8c3R5bGU+CiAgICAgIC5jbHMtMSB7CiAgICAgICAgZmlsbDogI2Q5ZDlkOTsKICAgICAgICBzdHJva2Utd2lkdGg6IDBweDsKICAgICAgfQogICAgPC9zdHlsZT4KICA8L2RlZnM+CiAgPHBhdGggY2xhc3M9ImNscy0xIiBkPSJNMTguMDEsMTIuMTZsLTUuNzIsNS40NGMtLjU1LjUzLTEuNDMuNS0xLjk1LS4wNS0uNTMtLjU1LS41LTEuNDMuMDUtMS45NWwyLjMzLTIuMjJoLTUuNTJjLS43NiwwLTEuMzgtLjYyLTEuMzgtMS4zOHMuNjItMS4zOCwxLjM4LTEuMzhoNS41MmwtMi4zMy0yLjIyYy0uNTUtLjUyLS41Ny0xLjQtLjA1LTEuOTUuNTMtLjU1LDEuNC0uNTgsMS45NS0uMDVsNS43Miw1LjQ0cy4wNy4xLjA3LjE2LS4wMi4xMi0uMDcuMTZaTTEyLDBDNS4zNywwLDAsNS4zNywwLDEyczUuMzcsMTIsMTIsMTIsMTItNS4zNywxMi0xMlMxOC42MywwLDEyLDBaIi8+Cjwvc3ZnPg==') center / contain no-repeat;
              margin-inline-start: auto;
            }
          }

        }

        @media(width <=1280px) {
          grid-template:
            "a b" auto "c c" auto / 1fr 1fr;
          gap: min(12vw, 4rem) 2.5rem;
        }

        @media(width <=860px) {
          grid-template:
            "a" auto "b" auto "c" auto / 1fr;
        }
      }

      & .footer_end-boxed {
        padding-block-start: 4rem;
        border-block-start: 1px solid var(--border_color);

        &>*:nth-child(1) {
          flex: 0 auto;

          & img {
            inline-size: min(30vw, 25rem);
            max-inline-size: unset;
          }
        }
      }

      & .footer_info-boxed :is(dt, dd) {
        line-height: 2;
        font-weight: 700;
        letter-spacing: 0;
        text-indent: unset;
      }

      & .simple-footer-nav {
        justify-content: flex-end;
      }

      @media(width <=1080px) {
        & {
          padding: unset;
          border: unset;

          .footer-top:has(&) {

            &+.copyright {
              border-block-start: 2px solid currentColor;
            }
          }

          & .flex-0_1 {
            padding-block: min(12vw, 4rem);
            flex-flow: wrap;
            justify-content: center;
            text-align: center;

            &>*:nth-child(1) {
              flex: 1 100%;

              & img {
                inline-size: min(70vw, 300px);
              }
            }

            .wrap-simple-footer-nav {
              display: none;
              min-inline-size: 100vw;
              position: relative;
              inset: auto auto auto 50vw;
              translate: -50vw 0;
            }
          }
        }

      }
    }

    /* シンプルフッター */
    & .simple-footer-nav {
      display: flex;
      gap: 2rem;

      & li {
        line-height: 1;
        font-weight: 700;

        & ul {
          display: none;
        }
      }
    }

    & .copyright {
      padding: 0.5rem 0;
      font-size: min(3.5vw, 13px);
      font-weight: 700;
      text-align: center;
      background: #000;
      color: #fff;
    }

    @media(width <=1080px) {
      & .footer-top {

        & .tb-contents {
          inline-size: 100%;
          padding-right: 0;
          padding-left: 0;
        }
      }

      & .simple-footer-nav {
        flex-wrap: wrap;
        margin-bottom: unset;
        gap: unset;

        & li {
          flex: 1 100%;
          text-align: center;
          border-top: 1px solid #999999;

          & a {
            border-right: none;
            inline-size: 100%;
            padding: 15px 0;
            display: block;
          }
        }
      }
    }
  }


  /*トップ*/


  [class*="card-intro"] {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    gap: min(2vw,1rem);
    writing-mode: tb-rl;

    & dt {
      font-size: clamp(16px, 3vw, 36px);
      font-weight: 700;
      text-align: initial;
      line-height: 1;
      letter-spacing: 0;
      padding: 2.5rem 1.25rem;
      background: var(--key_color);
      color: #fff;
      word-break: keep-all;
      white-space: nowrap;
    }

    & dd {
      font-size: clamp(14px, 2vw, 24px);
      font-weight: 700;
      text-align: initial;
      line-height: 1;
      letter-spacing: 0;
      padding: 2.5rem 1rem;
      background: #fff;
      border: 1px solid var(--key_color);
      word-break: keep-all;
      white-space: nowrap;
    }

    &[class*="-side"] {
      writing-mode: inherit;
      justify-content: flex-end;
      align-items: flex-end;
      flex-flow: row;

      @media(width <= 960px){
        justify-content: unset;
      }

      & dt {
        font-size: clamp(14px, 2vw, 24px);
        padding:min(3vw,1rem) min(6vw,2.5rem);
      }

      & dd {
        padding:min(3vw,1rem) min(6vw,2.5rem);
      }
    }

  }

  /*section-intro*/

  .section-intro {
    min-block-size: calc(100svh - 70px);
    background: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20543.25%20955.71%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23e71f19%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%200%20543.25%200%200%20955.71%22%2F%3E%3C%2Fsvg%3E')left top / calc(min(60vw, 860px) + min(4vw, 2.5rem)) auto no-repeat, url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20543.25%20955.71%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23e71f19%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%200%20543.25%200%200%20955.71%22%2F%3E%3C%2Fsvg%3E')left top / min(60vw, 860px) auto no-repeat, url(images/back-intro.jpg) center / cover no-repeat;
    background-blend-mode: multiply;
    color: #fff;
    display: flex;
    align-items: center;
    position: relative;
    overflow: hidden;
    z-index: 1;

    &:after {
      content: "";
      background: url(images/back-intro2.svg) center / contain no-repeat;
      position: absolute;
      inset: auto auto 0 calc(min(40px, 6vw) + (100vw - min(100%, 1380px))/2);
      inline-size: min(calc(100% - min(80px, 12vw)), 1100px);
      aspect-ratio: 100/11;
    }

    @media(width <=1080px) {
      background: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20543.25%20955.71%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23e71f19%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%200%20543.25%200%200%20955.71%22%2F%3E%3C%2Fsvg%3E')left top / calc(min(60vw, 860px) + min(4vw, 2.5rem)) auto no-repeat, url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20543.25%20955.71%22%3E%20%3Cdefs%3E%20%3Cstyle%3E%20.cls-1%20%7B%20fill%3A%20%23e71f19%3B%20%7D%20%3C%2Fstyle%3E%20%3C%2Fdefs%3E%20%3Cpolyline%20class%3D%22cls-1%22%20points%3D%220%200%20543.25%200%200%20955.71%22%2F%3E%3C%2Fsvg%3E')left top / min(60vw, 860px) auto no-repeat, #33333355 url(images/back-intro.jpg) calc(50% - 5rem) center / cover no-repeat;

    }
  }

  /*section-Jobs*/

  .section-jobs {

    & .intro-jobs {
      inline-size: 0;
      padding-block-end: 6rem;

      *:has(>&) {
        display: flex;
        flex-flow: row-reverse;
      }

      & .card-intro {
        position: sticky;
        z-index: 5;
        inset: 10rem 0 auto auto;
        translate: -2rem 0;
      }

      @media(width <=1640px) {

        *:has(>&) {

          flex-flow: row;
        }

        & .card-intro {
          translate: unset;
        }
      }
    }

    & .wrap-jobs {
      flex: 1;
    }

    & .sticky-jobs {
      position: sticky;
      inset-block-start: 0;
      max-block-size: 100svh;
      height: 100%;
      z-index: 3;

      & .image-jobs {
        position: relative;
        flex: 1;

        & img {
          position: absolute;
          inset: 0;
          transition: opacity 0.5s ease;
          opacity: 0;
          z-index: 1;
        }

        & img.active {
          opacity: 1;
          z-index: 2;
        }

        *:has(>&) {
          display: flex;
        }
      }

    }

    & .content-jobs {
      min-inline-size: calc((100% - min(6vw, 10rem))/2);

      & .card-jobs {
        margin-block-start: min(20vw, 10rem);
        padding-block-end: min(8vw, 6rem);
      }
    }

    @media(width <=960px) {

      & .intro-jobs {
        display: none;
        inline-size: 0;
        padding-block-end: 6rem;

        *:has(>&) {
          flex-flow: row-reverse;
        }

        & .card-intro {
          translate: calc(-100% - 2rem) 0;
        }
      }

      & .content-jobs {

        & .card-jobs {
          position: relative;

          &:before {
            content: attr(data-text);
            display: inline-flex;
            align-items: center;
            justify-content: center;
            font-size: clamp(16px, 3vw, 36px);
            font-weight: 700;
            text-align: initial;
            line-height: 1;
            letter-spacing: 0;
            padding: min(3vw, 1rem) min(6vw, 2rem);
            background: var(--key_color);
            color: #fff;
            position: absolute;
            inset: -1.5rem auto auto -0.75rem;
          }

          &:after {
            content: attr(data-text2);
            display: inline-flex;
            font-size: clamp(14px, 2vw, 24px);
            font-weight: 700;
            text-align: initial;
            line-height: 1;
            letter-spacing: 0;
            padding: min(3vw, 1rem) min(6vw, 2rem);
            background: #fff;
            border: 1px solid var(--key_color);
            word-break: keep-all;
            white-space: nowrap;
            position: absolute;
            inset: -1.5rem auto auto -0.75rem;
            translate: 0 calc(100% + 0.5rem);
          }
        }
      }

    }
  }

  /*section-company*/

  .section-company {
    overflow: hidden;
    color: #fff;
    z-index: 1;

    &:after {
      position: relative;
      content: "";
      display: block;
      background: #333333aa url(images/back-company_2.jpg) center / cover no-repeat;
      aspect-ratio: 2/1;
      z-index: -1;
    }

    & .content-company {
      position: relative;
      padding-block: min(20vw, 8rem);
      background: #333333 url(images/back-company.jpg) center / cover no-repeat;
      background-blend-mode: multiply;
      z-index: 0;

      &:after {
        content: "";
        position: absolute;
        inset: auto 0 0 auto;
        translate: 0 min(6vw, 6rem);
        background: #e71f19;
        mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20id%3D%22_%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC_2%22%20data-name%3D%22%E3%83%AC%E3%82%A4%E3%83%A4%E3%83%BC%202%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20543.25%20955.71%22%3E%20%3Cpolyline%20class%3D%22cls-1%22%20points%3D%22543.25%20955.71%200%20955.71%20543.25%200%22%2F%3E%3C%2Fsvg%3E') center / contain no-repeat;
        inline-size: min(75vw, 1300px);
        aspect-ratio: 17/30;
        z-index: -1;
        background-blend-mode: multiply;
      }
    }
  }

  /*section-feature*/

  .section-feature {}

  .list-feature {
    display: flex;
    align-items: center;

    & li {
      padding: min(2vw, 4rem);
      flex: 1;
      aspect-ratio: 1/1;
      border-radius: 50%;
      border: 2px solid currentColor;
      display: flex;
      flex-flow: column;
      align-items: center;
      justify-content: space-around;
      margin-inline: max(-4rem, -2vw);
      font-size: clamp(24px, 4vw, 50px);
      font-weight: 700;

      &:before {
        content: counter(ol-count, decimal-leading-zero);
        line-height: 1;
        font-style: italic;
        font-family: var(--poppins);
        font-weight: 500;
      }



      & [class*="title-large"] {
        display: flex;
        flex-flow: column;
        align-items: center;
        gap: min(2vw, 3rem);
        line-height: 1;
        margin: unset;

        &[data-text]:before {
          content: none;
        }

        &:after {
          content: attr(data-text);
          font-size: clamp(10px, 1.75vw, 24px);
          font-family: var(--poppins);
          font-weight: 300;
        }
      }

      & a {
        display: flex;
        justify-content: center;
        /* align-items: center; */
        inline-size: clamp(32px, 4vw, 3rem);
        border-radius: 50%;
        background: currentColor;
        aspect-ratio: 1/1;

        &:after {
          content: "";
          inline-size: 30%;
          aspect-ratio: 14/25;
          background: #fff;
          rotate: 90deg;
          translate: 0 3%;
          mask: url(images/arrow.svg) center / contain no-repeat;
        }

      }

      @media(width <=640px) {
        margin-inline: max(-4rem, -8vw);

        &:first-of-type {
          margin-inline-start: max(-4rem, -4vw);
          margin-block-end: 50%;
        }

        &:last-of-type {
          margin-inline-end: max(-4rem, -4vw);
          margin-block-start: 50%;
        }
      }

    }
  }

  .wrap-feature {
    position: relative;
    z-index: 0;
    display: flex;

    &:before {
      content: "";
      position: absolute;
      inset: auto 0 0 auto;
      translate: 100% 0;
      background: url(images/back-wrap-feature.svg) center / contain no-repeat;
      inline-size: 8rem;
      aspect-ratio: 13/150;
      z-index: -1;
    }

    &:after {
      content: "";
      position: absolute;
      inset: 0 0 auto auto;
      translate: 50% 30%;
      background: var(--border_color);
      mask: url(images/map.svg) center / contain no-repeat;
      inline-size: 1320px;
      aspect-ratio: 76/75;
      z-index: -2;
    }

    & .intro-feature {
      inline-size: 0;


      *:has(>&) {
        display: flex;
        flex-flow: row;
      }

      & .card-intro {
        position: sticky;
        z-index: 5;
        inset: 14rem auto auto 0;
        translate: calc(-100% + 2rem) -4rem;
      }

    }

    & .card-feature {

      &+& {
        margin-block-start: 4rem;

        @media(width <=960px) {
          margin-block-start: min(20vw, 8rem);
        }
      }

      *:has(>&) {
        counter-reset: feature-count;
        flex: 1
      }

      .info-feature {
        min-inline-size: calc((100% - min(6vw, 10rem))/2);

        &:before {
          counter-increment: feature-count;
          content: counter(feature-count, decimal-leading-zero) " - " attr(data-text);
          font-size: clamp(18px, 2.5vw, 30px);
          font-family: var(--poppins);
          font-weight: 300;
          display: block;
          margin-block-end: min(5vw, 1.75rem);
          translate: max(-1rem, -3vw);
        }

        &>div {
          border-inline-start: 1px solid var(--border_color);
          padding: min(4vw, 3rem) 0 min(4vw, 3rem) min(4vw, 3rem);

          @media(width <=1080px) {
            padding-block: unset;
          }
        }
      }
    }

    @media (width <=1640px) {

      &:before {
        transform-origin: bottom right;
        translate: calc(100% - 1rem) 2rem;
        rotate: -90deg;
        block-size: 75vw;
        inline-size: unset;
        z-index: 3;

      }

      & .intro-feature {

        & .card-intro {
          translate: 0 -4rem;
        }
      }
    }

    @media(width <=960px) {

      & .intro-feature {
        inline-size: unset;
        padding-block-end: unset;

        *:has(>&) {
          display: block;
          flex-flow: row-reverse;
        }

        & .card-intro {
          position: relative;
          inset: unset;
          translate: unset;
          writing-mode: unset;
          margin-block-end: min(20vw, 4rem);
          gap: 0.5rem;

          & dt {
            font-size: clamp(16px, 3vw, 36px);
            padding: min(3vw, 1rem) min(6vw, 2rem);
          }

          & dd {
            font-size: clamp(14px, 2vw, 24px);
            padding: min(3vw, 1rem) min(6vw, 2rem);
          }
        }
      }
    }

  }

  /*section-blog*/

  .section-blog {
    padding-block-start: unset;
  }

  /*seftiln-interval*/

  .section-interval {
    aspect-ratio: 3/1;

    & .section-interval-bg {
      position: relative;
      z-index: 0;

      &:before {
        display: block;
        position: fixed;
        inset: 0;
        width: 100%;
        height: 100vh;
        background: #333333aa url(images/back-blog.jpg) center / auto 100% no-repeat;
        background-position: 50%;
        background-repeat: no-repeat;
        background-size: cover;
        content: "";
        z-index: -1;
      }
    }
  }

  /* 固定ページ
*************************** */
  /* 会社概要　
*************************** */

  .table-company {
    & th {
      border: none;
    }

    & td {
      border: none;
    }

    @media(width <=640px) {
      & tr:not(:last-of-type) {
        border-bottom: 1px solid var(--border_color);
      }

      & th {
        inline-size: 20%;
      }
    }
  }


  .company-access h3 {
    margin-top: 0;
  }

  .history {
    overflow: visible;

    & tr {
      line-height: 1.5;

      & td:nth-of-type(1) {
        position: relative;
        font-weight: bold;
        inline-size: min(20vw, 110px);
        padding: 0 1em;
      }

      & td:nth-of-type(2) {
        padding: 0px 1em 2em;
        position: relative;
        border-left: 1px solid var(--main_color) !important;

        &:before {
          content: "";
          block-size: 11px;
          inline-size: 11px;
          border-radius: 50%;
          position: absolute;
          top: 8px;
          left: -6px;
          /* transform: translateY(-50%); */
          background: var(--main_color);
        }
      }
    }
  }

  /* 会社概要
*************************** */
  /*お問い合わせ*/


  .wrap-contact_tel {
    margin-block-end: 5rem;
  }

  .box-contact_tel {
    display: flex;
    flex-flow: column;
    align-items: center;

    & * {
      line-height: 1;
    }

    & .contact_tel {
      & a {
        font-weight: 700;
        font-size: min(6vw, 32px);
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: center;
        gap: min(2vw, 0.5rem);
        color: var(--main_color);
        pointer-events: none;
        line-height: 0.7;

        &:before {
          content: "";
          inline-size: min(5vw, 1.75rem);
          aspect-ratio: 4/5;
          background: currentColor;
          mask: url('data:image/svg+xml;base64,PHN2ZyBpZD0iX+ODrOOCpOODpOODvF8yIiBkYXRhLW5hbWU9IuODrOOCpOODpOODvCAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyODguMDcgMzU5LjkzIj4KICA8ZGVmcz4KICAgIDxzdHlsZT4KICAgICAgLmNscy0xIHsKICAgICAgICBmaWxsOiAjZTc5M2JjOwogICAgICAgIHN0cm9rZS13aWR0aDogMHB4OwogICAgICB9CiAgICA8L3N0eWxlPgogIDwvZGVmcz4KICA8cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Ik03NS4yNSwyMjkuMzZjMTYuOTYsMjQuNzQsMTEzLjQ4LDE2My43NiwxNzEuNTcsMTIzLjIyLjEyLS4wOS4yNC0uMTguMzYtLjI4bDM3LjY4LTMxLjY2YzMuNjItMy4wNSw0LjMyLTguNzQsMS4zOC0xMi45NGwtNDguMTctNjguOGMtMS40NS0yLjA3LTQuMDUtMi44My02LjEtMS43MmwtNDcuMjQsMjUuMzgtLjQ2LS42NXMtMzMuMjYtMTIuNDctNjguNjctNjAuNzljLTMzLjI5LTQ5LjgxLTMzLjY0LTg1LjMyLTMzLjY0LTg1LjMybC0uNDYtLjY1LDQwLjAxLTM1LjcxYzEuNzQtMS41NSwxLjkxLTQuMjYuNDctNi4zMkw3My44LDQuM2MtMi45NC00LjItOC41My01LjQ5LTEyLjYzLTMuMTNMMTguNjEsMjUuNjhjLS4xMy4wOC0uMy4xOS0uNDMuMjctNTcuOTYsNDAuNzIsMzkuNjIsMTc5LDU3LjA2LDIwMy40WiIvPgo8L3N2Zz4=') center / contain no-repeat;
        }
      }

      &+p {
        font-size: min(3.5vw, 14px);
        margin-block-start: 0.75rem;
      }

      @media(width <=640px) {
        & a {
          padding: 0.75rem 1.5rem;
          background: var(--main_color);
          border-radius: 2rem;
          color: #fff;
          pointer-events: initial;
        }
      }
    }
  }


  .table-list {
    & tr {
      display: flex;
      align-items: flex-start;
      gap: 0.5rem 2rem;

      &+tr {
        margin-block-start: 2rem;
      }

      & :is(th, td) {
        padding: unset;
      }

      & th {
        flex: 0 min(240px, 40%);
        background: unset;

        & ruby {
          display: flex;
          flex-flow: column;
          line-height: 1.5;

          & rt {
            font-size: min(3.5vw, 14px);
            color: #aaa;
          }
        }
      }

      & td {
        flex: 1;
      }

      @media screen and (width <=640px) {
        flex-flow: wrap;

        & th {
          flex: 1 100%;
        }
      }
    }

    & .required {
      background: #990000;
      margin-left: 10px;
      color: #ffffff;
      font-size: 12px;
      padding: 2px 5px;
      border-radius: 5px;
      line-height: 1;
      letter-spacing: 0.2em;
      text-indent: 0.2em;
      display: inline-flex;
      align-items: center;
      justify-content: center;
    }
  }


  /* お問い合わせ　
*************************** */

  /*コメント機能*/

  .comments-area {
    .comment-list {
      &>*+* {
        margin-block-start: 3rem;
      }

      & .comment-body {
        flex: 1;

        & .comment-meta {
          display: flex;
          gap: 0.5rem 2rem;
          padding: 0.75rem;
          background: #f2f2f2;
          line-height: 1;
          font-size: min(3.5vw, 14px);

          & .comment-metadata {
            margin-inline-start: auto;
            display: flex;
            gap: 1rem;

            & a {
              text-decoration: underline;
            }
          }

          @media(width <=640px) {
            flex-flow: wrap;

            & .comment-metadata {
              margin-inline-start: unset;

            }
          }
        }

        & .comment-content {
          padding: 0.75rem 0 0 0;

          & p {
            font-size: min(3.5vw, 16px);
            line-height: 1.75;
          }
        }


        .children & {

          .children:has(&) {
            margin-block-start: 2rem;
            gap: min(2vw, 1rem);
            padding-inline-start: 1.5rem;
            border-inline-start: 1px solid var(--border_color);
            /*
          &:before{
            content: "";
            background: url('data:image/svg+xml;charset=utf8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%3C!DOCTYPE%20svg%20PUBLIC%20%22-%2F%2FW3C%2F%2FDTD%20SVG%201.1%2F%2FEN%22%20%22http%3A%2F%2Fwww.w3.org%2FGraphics%2FSVG%2F1.1%2FDTD%2Fsvg11.dtd%22%20%5B%20%3C!ENTITY%20ns_flows%20%22http%3A%2F%2Fns.adobe.com%2FFlows%2F1.0%2F%22%3E%5D%3E%3Csvg%20version%3D%221.1%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20x%3D%220px%22%20y%3D%220px%22%20viewBox%3D%220%200%2027%2020%22%20enable-background%3D%22new%200%200%2027%2020%22%20xml%3Aspace%3D%22preserve%22%3E%3Cdefs%3E%3C%2Fdefs%3E%3Cpolyline%20fill%3D%22none%22%20stroke%3D%22%23333333%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%2210%22%20points%3D%22%209.031%2C16.346%200.75%2C8.548%209.031%2C0.75%20%22%2F%3E%3Cpath%20fill%3D%22none%22%20stroke%3D%22%23333333%22%20stroke-width%3D%221.5%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20stroke-miterlimit%3D%2210%22%20d%3D%22%20M0.938%2C8.548h14.86c5.788%2C0%2C10.48%2C4.692%2C10.48%2C10.48%22%2F%3E%3C%2Fsvg%3E') center / contain no-repeat;
            aspect-ratio: 203/150;
            min-inline-size: min(6vw,1.5rem);
            rotate: 180deg;
          }
          */
          }

          & .comment-meta {
            /*
          background: unset;
          color: #333;
          padding: 0 0 0.5rem 0;
          border-block-end: 1px solid;
          */

            & .comment-metadata {
              margin-inline-start: auto;
              display: flex;
              gap: 1rem;

            }

            @media(width <=640px) {
              flex-flow: wrap;

              & .comment-metadata {
                margin-inline-start: unset;

              }
            }
          }
        }

      }
    }
  }

  .comment-respond {
    margin-block-start: 3rem;
    padding: 2rem;
    border: 1px solid var(--border_color);
    text-align: initial;

    & a {
      text-decoration: underline;
    }

    & .comment-reply-title {
      margin-block-end: 1.5rem;
      display: flex;
      gap: 1rem;

      & small {
        font-size: min(3.5vw, 14px);
      }
    }

    .comment-form {
      font-size: min(3.5vw, 14px);

      & .form-submit {
        & .submit {
          font-size: min(4vw, 16px);
          font-weight: 700;
          padding: 0.25rem 1rem;
          background: var(--main_color);
          color: #fff;
          border-radius: 2rem;
        }
      }
    }
  }

}


/*--------------------common.cssここまで--------------------*/

/*以下レイヤーcss外の強めのcss*/

.wp-block-buttons>.wp-block-button {
  display: inline-block;
  margin: 0;
}

.wp-block-table td,
.wp-block-table th {
  /*border: unset;*/
  /*padding: .5em*/
}

& :is(.alignright, .has-text-align-right) {
  text-align: right;
}

& :is(.aligncenter, .has-text-align-center) {
  text-align: center;
}

/*自由入力用*/

:is(.area-free>.wp-block-group__inner-container, .single-contents) {

  &>* {
    margin-block-start: 1rem;

    &:first-child {
      margin-block-start: unset;
    }
  }

  & h2 {
    font-size: min(6vw, 28px);
    font-weight: 700;
    margin-block: 4rem min(6vw, 2.5rem);
    line-height: 1.25;
    display: flex;
    flex-flow: column;
    gap: 1rem;

  }

  & h3 {
    font-size: min(4.5vw, 22px);
    font-weight: 700;
    margin-block: min(16vw, 3rem) min(6vw, 2rem);
    line-height: 1.5;
    display: flex;
    gap: 1rem;
    align-items: center;

    &:after {
      content: "";
      flex: 1;
      min-inline-size: 2rem;
      background: var(--border_color);
      block-size: 1px;
    }

    &:is(.has-text-align-center, .has-text-align-right) {

      &:before {
        content: "";
        flex: 1;
        background: var(--border_color);
        block-size: 1px;
      }

      &.has-text-align-right:after {
        content: none;
      }
    }

    &:has(+ p) {
      margin-block-end: min(6vw, 1rem);
    }

  }

  & h4 {
    font-size: min(4vw, 18px);
    font-weight: 700;
    margin-block: 2rem 1rem;
    line-height: 1.25;
    border-left: 3px solid var(--main_color);
    padding-inline-start: 0.75rem;

    &.has-text-align-center {
      border: unset;
      display: flex;
      flex-flow: column;
      align-items: center;
      gap: 0.75rem;

      &:after {
        content: "";
        inline-size: 3rem;
        block-size: 3px;
        background: var(--main_color);
      }
    }

    &.has-text-align-right {
      border: unset;
      display: flex;
      align-items: center;
      gap: 1rem;
      justify-content: flex-end;

      &:before {
        content: "";
        inline-size: 2rem;
        block-size: 3px;
        background: var(--main_color);
      }
    }
  }

  .wp-block-gallery {

    & img {
      aspect-ratio: 1/1;
      object-fit: cover;
    }

    &.has-nested-images figure.wp-block-image {
      overflow: hidden;

      & figcaption {
        text-align: initial;
        overflow: hidden;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        padding: 0.25rem 0.5rem 0.5rem;
        /* scale: 0.95; */
        line-height: 1.5;
        translate: 0 0.25rem;
        background: #333333aa;
      }
    }
  }

  .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
    max-inline-size: calc(50% - var(--wp--style--unstable-gallery-gap, 16px)/2);
  }

  @media (min-width: 600px) {

    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2),
    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image):first-child:nth-last-child(2)~figure.wp-block-image:not(#individual-image) {
      max-inline-size: calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75);
    }

    .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image) {
      max-inline-size: calc(33.33% - var(--wp--style--unstable-gallery-gap, 16px)*.66667);
    }

    .wp-block-gallery.has-nested-images.columns-4 figure.wp-block-image:not(#individual-image) {
      max-inline-size: calc(25% - var(--wp--style--unstable-gallery-gap, 16px)*.75);
    }
  }
}


/*work*/

.single-work {
  .grid-3 {
    gap: min(3vw, 1.5rem);
    grid-template:
      ". . ." auto
      ". . ." auto /1fr 1fr 1fr;

    &>*:first-child {
      grid-area: 1 / 1 / 2 / 4;
    }
  }
}


/*ギャラリー用*/

.wp-block-gallery {

  & img {
    aspect-ratio: 1/1;
    object-fit: cover;
  }

  &.has-nested-images figure.wp-block-image {
    overflow: hidden;

    & figcaption {
      text-align: initial;
      overflow: hidden;
      display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 2;
      padding: 0.25rem 0.5rem 0.5rem;
      /* scale: 0.95; */
      line-height: 1.5;
      translate: 0 0.25rem;
      background: #333333aa;
    }
  }
}

/*contactform7*/
.wpcf7-form {

  /*確認画面と完了画面を非表示*/
  & :is(.confirm_area, .thanks_area) {
    display: none;
  }

  /*確認画面と完了画面を非表示*/
  & :is(.confirm_area, .thanks_area) {
    display: none;
  }

  /*デフォルトのサンクスメッセージを非表示*/
  & .wpcf7-response-output {
    display: none;
  }

  & .wpcf7-list-item {
    display: inline-block;
    margin: unset;

    .wpcf7-form-control:has(&) {
      display: flex;
      flex-flow: wrap;
      gap: 0.5rem 1rem;
    }
  }
}