@charset "utf-8";

@layer unit {

  /* 外部 URL が効かない環境向け data URI（マスク用） */
  :root {
    --unit-arrow-long-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2062.72%209.68%22%3E%3Cpolygon%20fill%3D%22%23171717%22%20fill-rule%3D%22evenodd%22%20points%3D%2256.56%208.37%2059.15%205.77%200%205.77%200%203.91%2059.15%203.91%2056.56%201.32%2057.88%200%2062.72%204.84%2057.88%209.68%2056.56%208.37%22/%3E%3C/svg%3E");
    /* Swiper ナビ矢印（左向き・次は scaleX(-1)）viewBox 0 0 12.72 9.68 */
    --unit-swiper-arrow-mask: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2012.72%209.68%22%3E%3Cpolygon%20fill%3D%22black%22%20fill-rule%3D%22evenodd%22%20points%3D%226.16%208.37%203.57%205.77%2012.72%205.77%2012.72%203.91%203.57%203.91%206.16%201.32%204.84%200%200%204.84%204.84%209.68%206.16%208.37%22/%3E%3C/svg%3E");
  }

  /* WIZWIG Style */
  .unit-ww-content {

    ul,
    ol {
      margin-bottom: 1em;
    }

    /* .unit-list と同じ見え方（「・」＋ハンギングインデント） */
    ul {
      list-style: none;
      margin-left: 0;
      padding-left: 0;
    }

    ul li {

      text-indent: -21px;
      padding-left: 21px;

      &::before {
        content: "";
        display: inline-block;
        width: 5px;
        height: 5px;
        margin-right: 16px;
        border-radius: 50%;
        background: var(--color-purple);
        vertical-align: middle;
        transform: translateY(-1px);
      }
    }

    ul li:not(:first-child) {
      margin-top: 10px;
    }

    /* .unit-orderlist と同じ見え方（カウンタ＋「1.」形式） */
    ol {
      list-style: none;
      margin-left: 0.4em;
      padding-left: 0;
      counter-reset: ol;
    }

    ol ol {
      counter-reset: ol;
    }

    ol li {

      text-indent: -1.6em;
      padding-left: 1.6em;
      counter-increment: ol;
    }

    ol li::before {
      content: counter(ol) ".";
      color: var(--color-purple);
      display: inline-block;
      width: 1.6em;
      text-indent: 0;
    }

    ol li:not(:first-child) {
      margin-top: 10px;
    }

    p {

      margin-top: 0;
      margin-bottom: 1em;
    }

    p:last-child {
      margin-bottom: 0;
    }

    blockquote {
      margin: 1.2em 0;
      font-style: italic;
      color: #7c7c7c;
    }

    blockquote::before {
      content: "“";
      font-size: 2em;
      line-height: 0;
      vertical-align: -0.1em;
    }

    blockquote::after {
      content: "”";
      font-size: 2em;
      line-height: 0;
      vertical-align: -0.4em;
    }

    blockquote p {
      display: inline;
      margin: 0;
    }

    h1 {
      font-size: 3.5rem;
      margin-top: 0;
      margin-bottom: 0.3em
    }


    h2 {
      font-size: 3rem;
      margin-top: 0;
      margin-bottom: 0.3em
    }

    h3 {
      font-size: 2.4rem;
      margin-top: 0;
      margin-bottom: 0.5em
    }

    h5 {
      font-size: 1.6rem;
      margin-top: 0;
      margin-bottom: 0.5em
    }

    /* 本文リンクの基本色（アニメーションは base.css 側でサイト共通適用） */
    a {
      color: var(--color-link);
    }

    a:visited {
      color: var(--color-link-visited);
    }

    a:hover {
      color: var(--color-link-hover);
    }

    a:focus-visible {
      outline: 2px solid var(--color-link-focus);
      outline-offset: 2px;
    }

    /* ファイル拡張子リンクにアイコン（::after・.unit-icon と同じ SVG） */
    a[href*=".pdf" i]::after,
    a[href*=".xlsx" i]::after,
    a[href*=".docx" i]::after {
      content: "";
      display: inline-block;
      width: 22px;
      aspect-ratio: 1/1;
      margin-left: 0.35em;
      vertical-align: middle;
      background: no-repeat center/contain;
      flex-shrink: 0;
    }

    a[href*=".pdf" i]::after {
      background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='24' height='30.55' viewBox='0 0 24 30.55'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D.cls-2%7Bfill:%23c60932;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cg%3E%3Cpolygon class='cls-1' points='7 .53 .54 7 .54 30.02 23.47 30.02 23.47 .53 7 .53'/%3E%3Cpath class='cls-2' d='M23.46,0H7s-.05.01-.07.01c-.02,0-.05,0-.07.01-.09.02-.17.06-.24.13,0,0,0,0,0,0l-3.23,3.23L.16,6.62c-.07.07-.11.15-.13.24,0,.02,0,.04-.01.06,0,.02-.01.05-.01.07v23.02c0,.3.24.54.54.54h22.93c.3,0,.54-.24.54-.54V.54c0-.3-.24-.54-.54-.54ZM22.93,29.48H1.07V7.53h5.93c.3,0,.54-.24.54-.54V1.07h15.4v28.41Z'/%3E%3C/g%3E%3Cg%3E%3Cpath class='cls-2' d='M6.03,13.33h-2.63c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h1.7c.06,0,.11-.05.11-.11v-2.84h.81c1.75,0,2.79-1.07,2.79-2.87s-1.02-2.81-2.79-2.81ZM6.89,16.13c0,.86-.32,1.2-1.15,1.2h-.52v-2.33h.52c.81,0,1.15.34,1.15,1.13Z'/%3E%3Cpath class='cls-2' d='M12.21,13.33h-2.61c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h2.61c2.38,0,2.88-2.05,2.88-3.77v-1.1c0-2.5-.97-3.77-2.88-3.77ZM13.15,18.19c0,1.54-.25,2.09-.94,2.09h-.79v-5.27h.79c.71,0,.94.53.94,2.09v1.1Z'/%3E%3Cpath class='cls-2' d='M20.6,13.33h-4.43c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h1.7c.06,0,.11-.05.11-.11v-3.32h2.31c.06,0,.11-.05.11-.11v-1.44c0-.06-.05-.11-.11-.11h-2.31v-1.87h2.61c.06,0,.11-.05.11-.11v-1.44c0-.06-.05-.11-.11-.11Z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

    a[href*=".xlsx" i]::after {
      background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='24' height='30.55' viewBox='0 0 24 30.55'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D.cls-2%7Bfill:%23085b22;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cpolygon class='cls-1' points='7 .54 .54 7 .54 30.02 23.47 30.02 23.47 .54 7 .54'/%3E%3Cpath class='cls-2' d='M23.46,0H7s-.05.01-.07.01c-.02,0-.04,0-.06.01-.09.02-.18.06-.24.13,0,0,0,0,0,0l-3.23,3.23L.16,6.62c-.07.07-.11.15-.13.24,0,.02,0,.04-.01.06,0,.02-.01.05-.01.07v23.02c0,.3.24.54.54.54h22.93c.3,0,.54-.24.54-.54V.54c0-.3-.24-.54-.54-.54ZM22.93,29.48H1.07V7.53h5.93c.3,0,.54-.24.54-.54V1.07h15.4v28.41Z'/%3E%3Cpath class='cls-2' d='M13.98,17.69l2.98-5.93s0-.04,0-.06c-.01-.02-.03-.03-.06-.03h-3.2s-.05.01-.06.04l-1.65,3.48-1.65-3.48s-.03-.04-.06-.04h-3.2s-.04.01-.06.03c-.01.02-.01.04,0,.06l2.97,5.93-3.34,6.33s0,.04,0,.06c.01.02.03.03.06.03h3.2s.05-.01.06-.03l2.03-3.77,2.03,3.77s.03.03.06.03h3.2s.04-.01.06-.03c.01-.02.01-.04,0-.06l-3.36-6.33Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

    a[href*=".docx" i]::after {
      background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='22' height='28.01' viewBox='0 0 22 28.01'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23082c7c;%7D.cls-2%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cpolygon class='cls-2' points='6.41 .49 .49 6.41 .49 27.51 21.51 27.51 21.51 .49 6.41 .49'/%3E%3Cpath class='cls-1' d='M21.51,0H6.41s-.04,0-.06.01c-.02,0-.04,0-.06.01-.08.02-.16.06-.22.12L.14,6.07c-.06.06-.1.14-.12.22,0,.02,0,.04-.01.06,0,.02-.01.04-.01.06v21.1c0,.27.22.49.49.49h21.02c.27,0,.49-.22.49-.49V.49c0-.27-.22-.49-.49-.49ZM21.02,27.02H.98V6.9h5.43c.27,0,.49-.22.49-.49V.98h14.11v26.04Z'/%3E%3Cpath class='cls-1' d='M16.93,11.42s-.04-.03-.07-.03h-2.34s-.08.03-.09.08l-.87,6.12-1.45-6.13s-.05-.07-.09-.07h-2.05s-.08.03-.09.07l-1.45,6.13-.87-6.12s-.04-.08-.09-.08h-2.34s-.05.01-.07.03c-.02.02-.02.05-.02.08l1.99,10.56s.05.07.09.07h2.04s.08-.03.09-.07l1.75-6.63,1.75,6.63s.05.07.09.07h2.04s.08-.03.09-.07l1.99-10.56s0-.05-.02-.08Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }
  }

  /* .unit-block 内の table th/td 内のリンクにもアイコンを反映 */
  .unit-block table th a[href*=".pdf" i]::after,
  .unit-block table th a[href*=".xlsx" i]::after,
  .unit-block table th a[href*=".docx" i]::after,
  .unit-block table td a[href*=".pdf" i]::after,
  .unit-block table td a[href*=".xlsx" i]::after,
  .unit-block table td a[href*=".docx" i]::after {
    content: "";
    display: inline-block;
    width: 22px;
    aspect-ratio: 1/1;
    margin-left: 0.35em;
    vertical-align: middle;
    background: no-repeat center/contain;
    flex-shrink: 0;
  }

  .unit-block table th a[href*=".pdf" i]::after,
  .unit-block table td a[href*=".pdf" i]::after {
    background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='24' height='30.55' viewBox='0 0 24 30.55'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D.cls-2%7Bfill:%23c60932;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cg%3E%3Cpolygon class='cls-1' points='7 .53 .54 7 .54 30.02 23.47 30.02 23.47 .53 7 .53'/%3E%3Cpath class='cls-2' d='M23.46,0H7s-.05.01-.07.01c-.02,0-.05,0-.07.01-.09.02-.17.06-.24.13,0,0,0,0,0,0l-3.23,3.23L.16,6.62c-.07.07-.11.15-.13.24,0,.02,0,.04-.01.06,0,.02-.01.05-.01.07v23.02c0,.3.24.54.54.54h22.93c.3,0,.54-.24.54-.54V.54c0-.3-.24-.54-.54-.54ZM22.93,29.48H1.07V7.53h5.93c.3,0,.54-.24.54-.54V1.07h15.4v28.41Z'/%3E%3C/g%3E%3Cg%3E%3Cpath class='cls-2' d='M6.03,13.33h-2.63c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h1.7c.06,0,.11-.05.11-.11v-2.84h.81c1.75,0,2.79-1.07,2.79-2.87s-1.02-2.81-2.79-2.81ZM6.89,16.13c0,.86-.32,1.2-1.15,1.2h-.52v-2.33h.52c.81,0,1.15.34,1.15,1.13Z'/%3E%3Cpath class='cls-2' d='M12.21,13.33h-2.61c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h2.61c2.38,0,2.88-2.05,2.88-3.77v-1.1c0-2.5-.97-3.77-2.88-3.77ZM13.15,18.19c0,1.54-.25,2.09-.94,2.09h-.79v-5.27h.79c.71,0,.94.53.94,2.09v1.1Z'/%3E%3Cpath class='cls-2' d='M20.6,13.33h-4.43c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h1.7c.06,0,.11-.05.11-.11v-3.32h2.31c.06,0,.11-.05.11-.11v-1.44c0-.06-.05-.11-.11-.11h-2.31v-1.87h2.61c.06,0,.11-.05.11-.11v-1.44c0-.06-.05-.11-.11-.11Z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  }

  .unit-block table th a[href*=".xlsx" i]::after,
  .unit-block table td a[href*=".xlsx" i]::after {
    background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='24' height='30.55' viewBox='0 0 24 30.55'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D.cls-2%7Bfill:%23085b22;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cpolygon class='cls-1' points='7 .54 .54 7 .54 30.02 23.47 30.02 23.47 .54 7 .54'/%3E%3Cpath class='cls-2' d='M23.46,0H7s-.05.01-.07.01c-.02,0-.04,0-.06.01-.09.02-.18.06-.24.13,0,0,0,0,0,0l-3.23,3.23L.16,6.62c-.07.07-.11.15-.13.24,0,.02,0,.04-.01.06,0,.02-.01.05-.01.07v23.02c0,.3.24.54.54.54h22.93c.3,0,.54-.24.54-.54V.54c0-.3-.24-.54-.54-.54ZM22.93,29.48H1.07V7.53h5.93c.3,0,.54-.24.54-.54V1.07h15.4v28.41Z'/%3E%3Cpath class='cls-2' d='M13.98,17.69l2.98-5.93s0-.04,0-.06c-.01-.02-.03-.03-.06-.03h-3.2s-.05.01-.06.04l-1.65,3.48-1.65-3.48s-.03-.04-.06-.04h-3.2s-.04.01-.06.03c-.01.02-.01.04,0,.06l2.97,5.93-3.34,6.33s0,.04,0,.06c.01.02.03.03.06.03h3.2s.05-.01.06-.03l2.03-3.77,2.03,3.77s.03.03.06.03h3.2s.04-.01.06-.03c.01-.02.01-.04,0-.06l-3.36-6.33Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  }

  .unit-block table th a[href*=".docx" i]::after,
  .unit-block table td a[href*=".docx" i]::after {
    background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='22' height='28.01' viewBox='0 0 22 28.01'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23082c7c;%7D.cls-2%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cpolygon class='cls-2' points='6.41 .49 .49 6.41 .49 27.51 21.51 27.51 21.51 .49 6.41 .49'/%3E%3Cpath class='cls-1' d='M21.51,0H6.41s-.04,0-.06.01c-.02,0-.04,0-.06.01-.08.02-.16.06-.22.12L.14,6.07c-.06.06-.1.14-.12.22,0,.02,0,.04-.01.06,0,.02-.01.04-.01.06v21.1c0,.27.22.49.49.49h21.02c.27,0,.49-.22.49-.49V.49c0-.27-.22-.49-.49-.49ZM21.02,27.02H.98V6.9h5.43c.27,0,.49-.22.49-.49V.98h14.11v26.04Z'/%3E%3Cpath class='cls-1' d='M16.93,11.42s-.04-.03-.07-.03h-2.34s-.08.03-.09.08l-.87,6.12-1.45-6.13s-.05-.07-.09-.07h-2.05s-.08.03-.09.07l-1.45,6.13-.87-6.12s-.04-.08-.09-.08h-2.34s-.05.01-.07.03c-.02.02-.02.05-.02.08l1.99,10.56s.05.07.09.07h2.04s.08-.03.09-.07l1.75-6.63,1.75,6.63s.05.07.09.07h2.04s.08-.03.09-.07l1.99-10.56s0-.05-.02-.08Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  }

  /* disclosure：2階層目の ol は A. B. C. */
  .page-disclosure .unit-ww-content>ol>li>ol {
    counter-reset: disclosure-upper-alpha;
  }

  .page-disclosure .unit-ww-content>ol>li>ol>li {
    counter-increment: disclosure-upper-alpha;
  }

  .page-disclosure .unit-ww-content>ol>li>ol>li::before {
    content: counter(disclosure-upper-alpha, upper-alpha) ".";
  }

  /* disclosure：3階層目の ol は a. b. c. */
  .page-disclosure .unit-ww-content>ol>li>ol>li>ol {
    counter-reset: disclosure-lower-alpha;
  }

  .page-disclosure .unit-ww-content>ol>li>ol>li>ol>li {
    counter-increment: disclosure-lower-alpha;
  }

  .page-disclosure .unit-ww-content>ol>li>ol>li>ol>li::before {
    content: counter(disclosure-lower-alpha, lower-alpha) ".";
  }

  /* disclosure：4階層目の ol は i. ii. iii. */
  .page-disclosure .unit-ww-content>ol>li>ol>li>ol>li>ol {
    counter-reset: disclosure-decimal;
  }

  .page-disclosure .unit-ww-content>ol>li>ol>li>ol>li>ol>li {
    counter-increment: disclosure-decimal;
  }

  .page-disclosure .unit-ww-content>ol>li>ol>li>ol>li>ol>li::before {
    content: counter(disclosure-decimal, lower-roman) ".";
  }

  /* WYSIWYG ラッパー（.unit-imgtxt の v-* と同系） */
  .unit-ww-box {
    box-sizing: border-box;

    &.v-border {
      border: 1px solid #ccc;
      padding: 32px;
    }

    &.v-yellow {
      background: #fffff3;
      padding: 32px;
    }

    &.v-gray {
      background: #f6f6f8;
      padding: 32px;
    }

    &.v-grid2 .unit-txt__wrap {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 5%;
      row-gap: 28px;
    }
  }

  @media screen and (max-width: 768px) {
    .unit-ww-box {

      &.v-border,
      &.v-yellow,
      &.v-gray {
        padding: 18px;
      }

      &.v-grid2 .unit-txt__wrap {
        grid-template-columns: 1fr;
      }
    }

    /* SP: 本文内の長いURLは強制折り返し */
    .unit-ww-content a[href^="http://"],
    .unit-ww-content a[href^="https://"] {
      overflow-wrap: anywhere;
      word-break: break-word;
    }

    .unit-ww-content li:has(> a[href^="http://"]),
    .unit-ww-content li:has(> a[href^="https://"]) {
      white-space: nowrap;
    }

    .unit-ww-content li>a[href^="http://"],
    .unit-ww-content li>a[href^="https://"] {
      white-space: normal;
    }

    /* SP: 「WEB：」などのラベル直後でURLリンクを改行させない */
    .unit-ww-content li>a[href^="http://"]::before,
    .unit-ww-content li>a[href^="https://"]::before {
      content: "\2060";
    }
  }

  /* ページヘッダー */
  .unit-page-header__dummy {
    margin-top: 80px;
  }

  @media screen and (max-width: 768px) {
    .unit-page-header__dummy {
      margin-top: 60px;
    }
  }

  .unit-pagehead {
    background: #eee;
    padding: 10vh 0;
    font-weight: var(--font-weight-bold);
  }

  .unit-pagehead__subttl {
    color: var(--color-main);
    font-size: clamp(1.8rem, 3.8vw, 2.4rem);
    margin-bottom: 5px;
  }

  .unit-pagehead__ttl {
    font-size: clamp(2.6rem, 5.4vw, 4rem);
    line-height: 1.1;
  }

  /* パンくず */
  .unit-breadcrumbs__list {
    font-size: 1.2rem;
    display: flex;
    flex-wrap: wrap;
    padding: 1em 0;
  }

  /* .unit-breadcrumbs__list a {
    color: #555;
  } */

  .unit-breadcrumbs__list a:hover {
    /* text-decoration: underline;*/
    color: var(--color-link-hover) !important;
  }

  .unit-breadcrumbs__item:not(.is-current) a {
    color: var(--color-link);
  }

  .unit-breadcrumbs__item:not(:first-child)::before {
    content: "/";
    margin: 0 5px;
  }

  /*記事ページタイトル*/

  .unit-event-head {
    display: block;
    margin-bottom: 20px;
    margin-top: 30px;
  }

  .unit-event-head__date {
    line-height: 1;
    flex-shrink: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-top: 15px;
  }

  .unit-event-head__date .year {
    display: inline-block;
    font-size: 1.4rem;
    color: #333;
    font-weight: bold;
  }

  .unit-event-head__date .day {
    display: inline-block;
    font-size: 3.2rem;
    font-weight: normal;
  }

  .unit-event-head__date .day span {
    font-size: 1.8rem;
    margin-left: 5px;
  }

  .unit-event-head__title {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 0;
    padding-bottom: 15px;
    border-bottom: 1px solid #333;
  }



  /* News Article Head（タイトル → 境界線 → 日付） */
  .unit-news-head {
    margin-top: 30px;
    margin-bottom: 40px;
  }

  .unit-news-head__title {
    font-family: var(--font-family-base);
    font-size: 2.4rem;
    font-weight: var(--font-weight-normal);
    line-height: 1.45;
    color: #252830;
    margin: 0;
    padding-bottom: 4px;
    border-bottom: 1px solid #b9c6d4;
    letter-spacing: 0.02em;
  }

  .unit-news-head__date {
    margin: 4px 0 0;
    ;
    line-height: 1.2;
  }

  .unit-news-head__date time {
    font-size: 1.4rem;
    font-weight: 500;
    color: #666;
  }



  /* Responsive */
  @media screen and (max-width: 768px) {


    /* Event Head */
    .unit-event-head {
      display: block;
      margin-bottom: 10px;
      margin-top: 20px;
    }

    .unit-event-head__date {
      margin-top: 10px;
      margin-bottom: 0;
      display: flex;
      align-items: baseline;
      gap: 5px;
    }

    .unit-event-head__date .year {
      font-size: 1.2rem;
      margin-bottom: 0;
      display: inline-block;
    }

    .unit-event-head__date .day {
      font-size: 2.4rem;
      display: inline-block;
      vertical-align: baseline;
    }

    .unit-event-head__date .day span {
      font-size: 1.4rem;
    }

    .unit-event-head__title {
      display: block;
      font-size: 1.8rem;
      margin-left: 0;
      margin-bottom: 0;
      padding-bottom: 10px;
      border-bottom: 1px solid #333;
    }

    .unit-news-head {
      margin-top: 20px;
      margin-bottom: 30px;
    }

    .unit-news-head__title {
      font-size: 1.8rem;
      padding-bottom: 6px;
    }

    .unit-news-head__date time {
      font-size: 1.3rem;
    }

    .unit-news-head__date {
      margin-top: 6px;
    }

  }


  /* ===== 共通　NEWS / EVENT パーマリンクヘッダー == */

  .unit-common-event-head {
    display: block;
    margin-bottom: 20px;
    margin-top: 30px;
  }

  .unit-common-event-head__date {
    line-height: 1;
    flex-shrink: 0;
    display: flex;
    align-items: baseline;
    gap: 10px;
    margin-top: 15px;
  }

  .unit-common-event-head__date .year {
    display: inline-block;
    font-size: 1.4rem;
    color: #333;
    font-weight: bold;
  }

  .unit-common-event-head__date .day {
    display: inline-block;
    font-size: 3.2rem;
    font-weight: normal;
  }

  .unit-common-event-head__date .day span {
    font-size: 1.8rem;
    margin-left: 5px;
  }

  .unit-common-event-head__title {
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1.4;
    margin-bottom: 0;
    padding-bottom: 15px;
    border-bottom: 1px solid #333;
  }

  .unit-common-news-inc {
    border: 1px solid #ccc;
  }

  .unit-common-news-head {
    margin-top: 30px;
    margin-bottom: 40px;
  }

  .unit-common-news-head__title {
    font-family: var(--font-family-base);
    font-size: 2.4rem;
    font-weight: var(--font-weight-normal);
    line-height: 1.45;
    color: #252830;
    margin: 0;
    padding-bottom: 4px;
    border-bottom: 1px solid #b9c6d4;
    letter-spacing: 0.02em;
  }

  .unit-common-news-head__date {
    margin: 4px 0 0;
    ;
    line-height: 1.2;
  }

  .unit-common-news-head__date time {
    font-size: 1.4rem;
    font-weight: 500;
    color: #666;
  }

  .unit-common-news-head__tags_title {
    color: var(--color-navy);
  }

  .unit-common-news-head__tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 16px;
    margin-top: 18px;
  }

  .unit-common-news-head__tags.v-index {
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 15px;
    margin-bottom: 40px;
  }

  .unit-common-news-head__tags.v-thumbs {
    gap: 6px 8px;
  }

  .unit-common-news-head__tag_item {
    font-size: 1.4rem;
    line-height: 1;
  }

  .unit-common-news-head__tags.v-thumbs .unit-common-news-head__tag_item {
    font-size: 1.3rem;
  }

  .unit-common-news-head__tags.v-thumbs .unit-common-news-head__tag_item a,
  .unit-common-news-head__tags.v-thumbs .unit-common-news-head__tag_item span {
    line-height: 34px;
  }

  .unit-common-news-head__tag_item a {
    display: inline-block;
    line-height: 42px;
    padding: 0 16px;
    border: 1px solid var(--color-mgray);
    border-radius: 10px;
    color: var(--color-navy);
    font-weight: var(--font-weight-medium);
    text-decoration: none;
    background-image: none;
    white-space: nowrap;
  }

  .unit-common-news-head__tags.v-thumbs .unit-common-news-head__tag_item span {
    display: inline-block;
    line-height: 32px;
    padding: 0 16px;
    border: 1px solid var(--color-mgray);
    border-radius: 10px;
    color: var(--color-navy);
    font-weight: var(--font-weight-medium);
    white-space: nowrap;
  }

  .unit-common-news-head__tag_item a:hover {
    text-decoration: none;
    background-image: none;
    background-color: transparent;
    color: var(--color-navy);
    border-color: var(--color-navy);
  }

  .unit-common-news-head__tag_item a.active {
    background-color: #fff;
    border-color: var(--color-navy);
    color: var(--color-navy);
  }




  /* Responsive */
  @media screen and (max-width: 768px) {


    /* Event Head */
    .unit-common-event-head {
      display: block;
      margin-bottom: 10px;
      margin-top: 20px;
    }

    .unit-common-event-head__date {
      margin-top: 10px;
      margin-bottom: 0;
      display: flex;
      align-items: baseline;
      gap: 5px;
    }

    .unit-common-event-head__date .year {
      font-size: 1.2rem;
      margin-bottom: 0;
      display: inline-block;
    }

    .unit-common-event-head__date .day {
      font-size: 2.4rem;
      display: inline-block;
      vertical-align: baseline;
    }

    .unit-common-event-head__date .day span {
      font-size: 1.4rem;
    }

    .unit-common-event-head__title {
      display: block;
      font-size: 1.8rem;
      margin-left: 0;
      margin-bottom: 0;
      padding-bottom: 10px;
      border-bottom: 1px solid #333;
    }

    .unit-common-news-head {
      margin-top: 20px;
      margin-bottom: 30px;
    }

    .unit-common-news-head__title {
      font-size: 1.8rem;
      padding-bottom: 6px;
    }

    .unit-common-news-head__date time {
      font-size: 1.3rem;
    }

    .unit-common-news-head__date {
      margin-top: 6px;
    }

    .unit-common-news-head__tags.v-thumbs {
      margin-top: 8px;
    }

    .unit-common-news-head__tag_item {
      font-size: 1.2rem;
    }

    .unit-common-news-head__tags.v-thumbs .unit-common-news-head__tag_item {
      font-size: 1.1rem;
    }

    .unit-common-news-head__tags.v-thumbs .unit-common-news-head__tag_item a,
    .unit-common-news-head__tags.v-thumbs .unit-common-news-head__tag_item span {
      line-height: 28px;
    }

    /*
  .unit-common-news-head__tag_item a {
    min-height: 42px;
  }

  .unit-common-news-head__tags.v-thumbs .unit-common-news-head__tag_item span {
   min-height: 42px;
  }
*/
    .unit-common-news-head__tags.v-index {
      padding-bottom: 10px;
      margin-bottom: 20px;
    }

  }



  /*==== 共通NEWS サムネイル付き　アイテム ====*/


  .unit-common-news__list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 50px 50px;
    margin: 0;
    padding: 0;
    list-style: none;
    padding-bottom: 30px;
  }

  .unit-common-news__item {
    margin-bottom: 0;
  }



  .unit-common-news__link {
    display: grid;
    grid-template-rows: auto auto minmax(0, 1fr) auto;
    height: 100%;
    color: var(--color-text);
    /* gap: 10px;*/

    &:hover {
      color: var(--color-text);
      opacity: 0.7;
    }
  }

  .unit-common-news__thumb {
    background: no-repeat center/cover;
    aspect-ratio: 3/2;
    grid-row: 1;
  }

  .unit-common-news__ttl {
    font-size: 1.6rem;
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
    margin-top: 10px;
    margin-bottom: 0;
    grid-row: 3;
    align-self: start;
  }


  .unit-common-news__time {
    display: block;
    font-family: var(--font-family-oswald);
    font-size: 1.6rem;
    font-weight: var(--font-weight-light);
    line-height: 1.15;
    margin-top: 0;
  }

  .unit-common-news__link>.unit-common-news__time {
    margin-top: 14px;
    grid-row: 2;
  }

  .unit-common-news__meta {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-top: 14px;
    grid-row: 2;
  }

  .unit-common-news__category {
    font-size: 1.4rem;
    line-height: 1.3;
    margin-left: auto;
    padding: 0 10px;
    border-left: 1px solid var(--color-main);
    border-right: 1px solid var(--color-main);
    white-space: nowrap;
  }

  .unit-common-news__cat {
    margin-top: 20px;
    font-size: 1.5rem;
    line-height: 1.3;
    grid-row: 4;

    span {
      display: inline-block;
      padding: 0 20px;
      border-left: 1px solid var(--color-main);
      border-right: 1px solid var(--color-main);
    }
  }

  .unit-common-news__link>.unit-common-news-head__tags {
    grid-row: 4;
  }

  .unit-common-news__back {
    display: flex;
    justify-content: center;
    margin-top: 50px;
  }

  .l-contentwrapper:has(.unit-common-news__back) {
    padding-bottom: 140px;
  }

  .unit-common-news__back-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 240px;
    height: 58px;
    padding: 0;
    font-size: 1.5rem;
    color: var(--color-navy);
    background: var(--color-lgray);
    border-radius: 999px;
    box-sizing: border-box;
    position: relative;
    overflow: hidden;
    transition: background 0.2s ease;

    &::before {
      content: "";
      position: absolute;
      left: 30px;
      top: 50%;
      width: 16px;
      height: 13px;
      background: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 13'%3E%3Cpath fill='%230E1C47' d='M7.75 1.66017L4.49 4.92017L16 4.92018L16 7.26018L4.49 7.26017L7.75 10.5202L6.09 12.1802L0 6.09017L6.09 0.00017461L7.75 1.66017Z'/%3E%3C/svg%3E") no-repeat center / contain;
      transform: translateY(-50%);
    }

    &:hover {
      color: var(--color-navy);
      background: color-mix(in srgb, var(--color-lgray) 55%, #fff);

      &::before {
        animation: slideArwRev 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
      }
    }
  }

  @keyframes slideArwRev {
    0% {
      opacity: 1;
      transform: translateY(-50%) translateX(0);
    }

    49.9% {
      opacity: 0;
      transform: translateY(-50%) translateX(-10px);
    }

    50% {
      opacity: 0;
      transform: translateY(-50%) translateX(10px);
    }

    100% {
      opacity: 1;
      transform: translateY(-50%) translateX(0);
    }
  }

  /* swiper版: 各スライドで見出し・全体高さを揃える */
  .unit-common-news_swiper.swiper-wrapper,
  .unit-carousel__list.swiper-wrapper {
    align-items: stretch;
  }

  .unit-common-news_swiper.swiper-wrapper .unit-common-news__item,
  .unit-carousel__list.swiper-wrapper .unit-common-news__item {
    height: auto;
  }

  .unit-common-news_swiper.swiper-wrapper .unit-common-news__link,
  .unit-carousel__list.swiper-wrapper .unit-common-news__link {
    height: 100%;
  }

  .unit-common-news_swiper.swiper-wrapper .unit-common-news__ttl,
  .unit-carousel__list.swiper-wrapper .unit-common-news__ttl {
    min-height: calc(1.5em * 2);
  }

  @media screen and (max-width: 768px) {
    .unit-common-news__list {
      grid-template-columns: 1fr;
      row-gap: 30px;
    }

    .unit-common-news__item {
      margin-bottom: 0;
    }



    .unit-common-news__ttl {
      font-size: 1.4rem;
    }

    .unit-common-news__time {
      margin-top: 0;
      font-size: 1.4rem;
    }

    .unit-common-news__link>.unit-common-news__time {
      margin-top: 7px;
    }

    .unit-common-news__meta {
      margin-top: 7px;
      gap: 8px 12px;
    }

    .unit-common-news__category {
      font-size: 1.2rem;
      padding: 0 12px;
    }

    .unit-common-news__cat {
      font-size: 1.2rem;
    }

    .unit-common-news__back-btn {
      font-size: 1.3rem;
    }
  }

  /* パーツ 全体レイアウト */
  /*
.unit-block:not(:first-child) {
  margin-top: 52px;
}


*/
  .unit-block {
    margin-bottom: 80px;
  }

  /*
[class^="unit-ttl"]+.unit-block {
  margin-bottom: 16px;
}*/

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

    /*
  .unit-block:not(:first-child) {
    margin-top: 48px;
  }

  [class^="unit-ttl"]+.unit-block {
    margin-top: 16px;
  }*/
    .unit-block {
      margin-bottom: 40px;
    }

    /*
  [class^="unit-ttl"]+.unit-block {
    margin-bottom: 16px;
  }
*/
  }

  /* アイコン */
  .unit-icon {
    display: inline-block;
    width: 22px;
    aspect-ratio: 1/1;
    background: no-repeat center/contain;
    flex-shrink: 0;

    &.v-pdf {
      background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='24' height='30.55' viewBox='0 0 24 30.55'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D.cls-2%7Bfill:%23c60932;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cg%3E%3Cpolygon class='cls-1' points='7 .53 .54 7 .54 30.02 23.47 30.02 23.47 .53 7 .53'/%3E%3Cpath class='cls-2' d='M23.46,0H7s-.05.01-.07.01c-.02,0-.05,0-.07.01-.09.02-.17.06-.24.13,0,0,0,0,0,0l-3.23,3.23L.16,6.62c-.07.07-.11.15-.13.24,0,.02,0,.04-.01.06,0,.02-.01.05-.01.07v23.02c0,.3.24.54.54.54h22.93c.3,0,.54-.24.54-.54V.54c0-.3-.24-.54-.54-.54ZM22.93,29.48H1.07V7.53h5.93c.3,0,.54-.24.54-.54V1.07h15.4v28.41Z'/%3E%3C/g%3E%3Cg%3E%3Cpath class='cls-2' d='M6.03,13.33h-2.63c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h1.7c.06,0,.11-.05.11-.11v-2.84h.81c1.75,0,2.79-1.07,2.79-2.87s-1.02-2.81-2.79-2.81ZM6.89,16.13c0,.86-.32,1.2-1.15,1.2h-.52v-2.33h.52c.81,0,1.15.34,1.15,1.13Z'/%3E%3Cpath class='cls-2' d='M12.21,13.33h-2.61c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h2.61c2.38,0,2.88-2.05,2.88-3.77v-1.1c0-2.5-.97-3.77-2.88-3.77ZM13.15,18.19c0,1.54-.25,2.09-.94,2.09h-.79v-5.27h.79c.71,0,.94.53.94,2.09v1.1Z'/%3E%3Cpath class='cls-2' d='M20.6,13.33h-4.43c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h1.7c.06,0,.11-.05.11-.11v-3.32h2.31c.06,0,.11-.05.11-.11v-1.44c0-.06-.05-.11-.11-.11h-2.31v-1.87h2.61c.06,0,.11-.05.11-.11v-1.44c0-.06-.05-.11-.11-.11Z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

    &.v-excel {
      background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='24' height='30.55' viewBox='0 0 24 30.55'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D.cls-2%7Bfill:%23085b22;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cpolygon class='cls-1' points='7 .54 .54 7 .54 30.02 23.47 30.02 23.47 .54 7 .54'/%3E%3Cpath class='cls-2' d='M23.46,0H7s-.05.01-.07.01c-.02,0-.04,0-.06.01-.09.02-.18.06-.24.13,0,0,0,0,0,0l-3.23,3.23L.16,6.62c-.07.07-.11.15-.13.24,0,.02,0,.04-.01.06,0,.02-.01.05-.01.07v23.02c0,.3.24.54.54.54h22.93c.3,0,.54-.24.54-.54V.54c0-.3-.24-.54-.54-.54ZM22.93,29.48H1.07V7.53h5.93c.3,0,.54-.24.54-.54V1.07h15.4v28.41Z'/%3E%3Cpath class='cls-2' d='M13.98,17.69l2.98-5.93s0-.04,0-.06c-.01-.02-.03-.03-.06-.03h-3.2s-.05.01-.06.04l-1.65,3.48-1.65-3.48s-.03-.04-.06-.04h-3.2s-.04.01-.06.03c-.01.02-.01.04,0,.06l2.97,5.93-3.34,6.33s0,.04,0,.06c.01.02.03.03.06.03h3.2s.05-.01.06-.03l2.03-3.77,2.03,3.77s.03.03.06.03h3.2s.04-.01.06-.03c.01-.02.01-.04,0-.06l-3.36-6.33Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

    /* リンク（外部サイトと同じ SVG） */
    &.v-external,
    &.v-link {
      width: 16px;
      background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='20.83' height='21.12' viewBox='0 0 20.83 21.12'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%236f0689;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cpath class='cls-1' d='M19.55,11.04h-2c-.11,0-.2.09-.2.2v7.47H2.4V3.77h7.47c.11,0,.2-.09.2-.2V1.57c0-.11-.09-.2-.2-.2H.2c-.11,0-.2.09-.2.2v19.35c0,.11.09.2.2.2h19.35c.11,0,.2-.09.2-.2v-9.67c0-.11-.09-.2-.2-.2Z'/%3E%3Cpath class='cls-1' d='M20.73,0h-6.34c-.06,0-.1.04-.1.1v2c0,.06.04.1.1.1h2.68l-8.27,8.27s-.04.1,0,.14l1.41,1.41s.04.03.07.03.05,0,.07-.03L18.63,3.75v2.68c0,.06.04.1.1.1h2c.06,0,.1-.04.1-.1V.1c0-.06-.04-.1-.1-.1Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }

    &.v-word {
      background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='22' height='28.01' viewBox='0 0 22 28.01'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23082c7c;%7D.cls-2%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cpolygon class='cls-2' points='6.41 .49 .49 6.41 .49 27.51 21.51 27.51 21.51 .49 6.41 .49'/%3E%3Cpath class='cls-1' d='M21.51,0H6.41s-.04,0-.06.01c-.02,0-.04,0-.06.01-.08.02-.16.06-.22.12L.14,6.07c-.06.06-.1.14-.12.22,0,.02,0,.04-.01.06,0,.02-.01.04-.01.06v21.1c0,.27.22.49.49.49h21.02c.27,0,.49-.22.49-.49V.49c0-.27-.22-.49-.49-.49ZM21.02,27.02H.98V6.9h5.43c.27,0,.49-.22.49-.49V.98h14.11v26.04Z'/%3E%3Cpath class='cls-1' d='M16.93,11.42s-.04-.03-.07-.03h-2.34s-.08.03-.09.08l-.87,6.12-1.45-6.13s-.05-.07-.09-.07h-2.05s-.08.03-.09.07l-1.45,6.13-.87-6.12s-.04-.08-.09-.08h-2.34s-.05.01-.07.03c-.02.02-.02.05-.02.08l1.99,10.56s.05.07.09.07h2.04s.08-.03.09-.07l1.75-6.63,1.75,6.63s.05.07.09.07h2.04s.08-.03.09-.07l1.99-10.56s0-.05-.02-.08Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    }



    /* 長矢印（画像付きテキスト内ボタンでは .unit-imgtxt__btn .unit-icon.v-arrow） */
    &.v-arrow {
      width: 64px;
      min-width: 64px;
      height: calc(64px * 9.68 / 62.72);
      aspect-ratio: auto;
      background: transparent;
      position: relative;
      vertical-align: middle;

      &::before {
        content: "";
        position: absolute;
        inset: 0;
        background-color: currentColor;
        -webkit-mask-image: var(--unit-arrow-long-mask);
        mask-image: var(--unit-arrow-long-mask);
        -webkit-mask-size: contain;
        mask-size: contain;
        -webkit-mask-repeat: no-repeat;
        mask-repeat: no-repeat;
        -webkit-mask-position: center;
        mask-position: center;
        pointer-events: none;
      }
    }
  }

  @media screen and (max-width: 480px) {
    .unit-icon {
      width: 20px;

      &.v-external,
      &.v-link {
        width: 16px;
      }

      &.v-arrow {
        width: 64px;
        min-width: 64px;
        height: calc(64px * 9.68 / 62.72);
      }
    }
  }

  /* v-arrow ホバーアニメーション（l-nav__arrow と同じ slideArw） */
  @keyframes slideArw {
    0% {
      opacity: 1;
      transform: translateX(0);
    }

    49.9% {
      opacity: 0;
      transform: translateX(10px);
    }

    50% {
      opacity: 0;
      transform: translateX(-10px);
    }

    100% {
      opacity: 1;
      transform: translateX(0);
    }
  }

  /* 矢印（--unit-arrow-long-mask）横幅 64px・viewBox 62.72×9.68 の比率 */
  .unit-arrowbox {
    display: inline-block;
    width: 64px;
    height: calc(64px * 9.68 / 62.72);
    vertical-align: middle;
    background: var(--color-main);
    transition: 0.2s;
    position: relative;

    &::before {
      content: "";
      position: absolute;
      inset: 0;
      background-color: #fff;
      -webkit-mask-image: var(--unit-arrow-long-mask);
      mask-image: var(--unit-arrow-long-mask);
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
      pointer-events: none;
    }
  }

  @media screen and (max-width: 480px) {
    .unit-arrowbox {
      width: 64px;
      height: calc(64px * 9.68 / 62.72);
    }
  }

  /* 見出し */
  .unit-ttl {
    &.v-style0 {
      font-family: var(--font-family-mincho);
      font-weight: var(--font-weight-semibold);
      font-size: 70px;
      color: var(--color-text);
      text-align: center;
      margin-bottom: 0.7em;
      /* letter-spacing: 0.05em;*/
    }

    &.v-style1 {
      font-family: var(--font-family-mincho);
      font-weight: var(--font-weight-semibold);
      font-size: 2.8rem;
      color: var(--color-main);
      margin-bottom: 0.7em;
      /* letter-spacing: 0.05em;*/
    }

    &.v-style2 {
      font-family: var(--font-family-mincho);
      font-weight: var(--font-weight-semibold);
      font-size: 2.4rem;
      padding-bottom: 0.5em;
      padding-left: 0.5em;
      position: relative;
      margin-bottom: 30px;
      /*  letter-spacing: 0.05em;*/

      &::before {
        content: "";
        display: inline-block;
        width: 100%;
        border-bottom: 2px solid var(--color-mgray);
        position: absolute;
        left: 0;
        bottom: 0;
      }

      &::after {
        content: "";
        display: inline-block;
        width: 10%;
        border-bottom: 2px solid var(--color-main);
        position: absolute;
        left: 0;
        bottom: 0;
      }
    }

    &.v-style3 {
      font-weight: var(--font-weight-medium);
      font-size: 2.2rem;
      line-height: 1.4;
      color: var(--color-main);
      margin-bottom: 0.5em;
    }

    &.v-style4 {
      font-weight: var(--font-weight-medium);
      font-size: 2rem;
      line-height: 1.4;
      margin-bottom: 0.5em;
    }
  }

  @media screen and (max-width: 768px) {
    .unit-ttl.v-style0 {
      font-size: 44px;
      letter-spacing: -0.08em;
    }

    .unit-ttl.v-style1 {
      font-size: 2.2rem;
      line-height: 1.4;
    }

    .unit-ttl.v-style2 {
      font-size: 2rem;
      margin-bottom: 25px;
    }

    .unit-ttl.v-style3 {
      font-size: 1.8rem;
    }

    .unit-ttl.v-style4 {
      font-size: 1.6rem;
    }
  }



  /* テキスト */
  .unit-txt {
    &.v-center {
      text-align: center;
    }
  }

  /* 学長表記 */
  .unit-president {
    font-family: var(--font-family-mincho);
    font-weight: var(--font-weight-normal);
    line-height: 1.3;
    padding-top: 10px;
    color: var(--color-text);
  }

  .unit-president .unit-president__univ {
    display: block;
    font-size: 1.8rem;
    margin-bottom: 0.2em;
  }

  .unit-president .unit-president__name {
    display: block;
    font-size: 3rem;
    margin-bottom: 0.3em;
  }

  .unit-president .unit-president__name .unit-president__name_sub {
    display: inline-block;
    font-size: 1.8rem;
    margin-right: 0.5em;
  }

  /* 水平罫線 */
  hr {
    border-color: #ccc;
    margin-top: 0;
    margin-bottom: 20px;
  }

  .unit-hr {
    border-color: #ccc;
    margin-top: 0;
    margin-bottom: 25px;
  }

  /* リスト用ラッパー（.unit-ww-box / .unit-imgtxt と同系の v-*） */
  .unit-list-box {
    box-sizing: border-box;

    &.v-border {
      border: 1px solid #ccc;
      padding: 32px;
    }

    &.v-yellow {
      background: #fffff3;
      padding: 32px;
    }

    &.v-gray {
      background: #f6f6f8;
      padding: 32px;
    }
  }

  @media screen and (max-width: 768px) {
    .unit-list-box {

      &.v-border,
      &.v-yellow,
      &.v-gray {
        padding: 18px;
      }
    }
  }

  @media screen and (min-width: 769px) {
    .unit-list-box.v-col-medium-center {
      width: 700px;
      max-width: 100%;
      margin-left: auto;
      margin-right: auto;
    }

    .unit-list-box.v-col-medium-left {
      width: 700px;
      max-width: 100%;
      margin-left: 0;
      margin-right: auto;
    }

    .unit-list-box.v-col-small-left {
      width: 48%;
      max-width: 100%;
      margin-left: 0;
      margin-right: auto;
    }

    .unit-list-box.v-grid2 {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      column-gap: 5%;
      row-gap: 28px;
    }

    .unit-list-box.v-grid2>.unit-ttl {
      grid-column: 1 / -1;
      margin-bottom: 0;
    }

    /* リストを2カラムで右方向に流す */
    .unit-list-box.v-flex-col2 .unit-list,
    .unit-list-box.v-flex-col2 .unit-orderlist {
      display: flex;
      flex-wrap: wrap;
      column-gap: 5%;
      row-gap: 10px;
      margin-left: 0;
    }

    .unit-list-box.v-flex-col2 .unit-list li,
    .unit-list-box.v-flex-col2 .unit-orderlist li {
      width: 47.5%;
      margin-top: 0;
    }

    /* リストを3カラムで右方向に流す */
    .unit-list-box.v-flex-col3 .unit-list,
    .unit-list-box.v-flex-col3 .unit-orderlist {
      display: flex;
      flex-wrap: wrap;
      column-gap: 5%;
      row-gap: 10px;
      margin-left: 0;
    }

    .unit-list-box.v-flex-col3 .unit-list li,
    .unit-list-box.v-flex-col3 .unit-orderlist li {
      width: 30%;
      margin-top: 0;
    }

    /* リストを4カラムで右方向に流す */
    .unit-list-box.v-flex-col4 .unit-list,
    .unit-list-box.v-flex-col4 .unit-orderlist {
      display: flex;
      flex-wrap: wrap;
      column-gap: 5%;
      row-gap: 10px;
      margin-left: 0;
    }

    .unit-list-box.v-flex-col4 .unit-list li,
    .unit-list-box.v-flex-col4 .unit-orderlist li {
      width: 21.25%;
      margin-top: 0;
    }
  }

  /* 大学院一覧（カード全体リンク） */
  .unit-grad-list {
    list-style: none;
    margin: 0 auto;
    padding: 0;
    max-width: 1000px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px 20px;
  }

  .unit-grad-list__item {
    margin: 0;
  }

  .unit-grad-card {
    display: block;
    height: 100%;
    padding: 20px 24px 12px;
    border: 1px solid #d6dae3;
    border-radius: 14px;
    background: #fff;
    color: var(--color-text);
    text-align: center;
    text-decoration: none;
    background-image: none;
    box-sizing: border-box;
  }

  .unit-grad-card:hover {
    text-decoration: none;
    background-image: none;
    background-color: var(--color-gray);
    border-color: #c6ccdb;
  }

  .unit-grad-card__school {
    display: inline-block;
    padding: 2px 10px;
    background: #edf1fb;
    color: #2d3a63;
    font-size: 1.8rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.4;
  }

  .unit-grad-card__major {
    margin-top: 8px;
    margin-bottom: 0;
    font-size: 2.2rem;
    font-weight: var(--font-weight-normal);
    line-height: 1.3;
  }

  .unit-grad-card__course {
    margin-top: 6px;
    margin-bottom: 0;
    font-size: 2rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.4;
    position: relative;
    padding-bottom: 10px;
  }

  .unit-grad-card__course::after {
    content: "";
    display: block;
    width: 100px;
    height: 1px;
    background: var(--color-main);
    margin: 8px auto 0;
  }

  .unit-grad-card__major+.unit-grad-card__course {
    font-size: 1.6rem;
  }

  .unit-grad-card__course+.unit-grad-card__course {
    margin-top: 0px;
  }

  .unit-grad-card__course+.unit-grad-card__course::after {
    display: none;
  }

  .unit-grad-card__note {
    display: block;
    margin-top: 2px;
    font-size: 1.4rem;
    line-height: 1.4;
    color: #666;
  }

  @media screen and (max-width: 768px) {
    .unit-grad-list {
      grid-template-columns: 1fr;
      gap: 16px;
    }

    .unit-grad-card {
      padding: 20px 16px 12px;
    }

    .unit-grad-card__school {
      font-size: 1.6rem;
    }

    .unit-grad-card__major {
      font-size: 2rem;
    }

    .unit-grad-card__course {
      font-size: 1.8rem;
      padding-bottom: 8px;
    }

    .unit-grad-card__major+.unit-grad-card__course {
      font-size: 1.4rem;
    }

    .unit-grad-card__course::after {
      width: 86px;
      margin-top: 6px;
    }

    .unit-grad-card__note {
      font-size: 1.2rem;
    }
  }

  /* リスト */
  .unit-list {
    list-style: none;
    margin-left: 1em;
    margin-bottom: 1em;
    padding-left: 0;

  }

  .unit-list li:not(:first-child),
  .unit-orderlist li:not(:first-child) {
    margin-top: 10px;
  }

  .unit-list li {
    text-indent: -21px;
    padding-left: 21px;

    &::before {
      content: "";
      display: inline-block;
      width: 5px;
      height: 5px;
      margin-right: 16px;
      border-radius: 50%;
      background: var(--color-purple);
      vertical-align: middle;
      transform: translateY(-1px);
    }
  }

  /* マーカーなしリスト */
  .unit-list_none.unit-block {
    margin-left: 0;
    padding-left: 0;
    list-style: none;
  }

  .unit-list_none.unit-block li:not(:first-child) {
    margin-top: 10px;
  }

  .unit-orderlist {
    list-style: none;
    margin-left: 1.5em;
    margin-bottom: 1em;
    padding-left: 0;
    counter-reset: ol;

    ol {
      counter-reset: ol;
    }

    li {
      text-indent: -1.6em;
      padding-left: 1.6em;
      counter-increment: ol;
    }

    li::before {
      content: counter(ol) ".";
      color: var(--color-purple);
      display: inline-block;
      width: 1.6em;
      text-indent: 0;
    }
  }

  /* リストボックス内：左端を揃え（マージン無し）、li の行間・下マージンを調整 */
  .unit-list-box__item .unit-list,
  .unit-list-box__item .unit-orderlist {
    margin-left: 0;
  }

  .unit-list-box__item .unit-list li,
  .unit-list-box__item .unit-orderlist li {
    line-height: 1.6;
    margin-top: 0;
    margin-bottom: 0.8em;
  }

  .unit-list li>strong:first-child,
  .unit-orderlist li>strong:first-child,
  .unit-ww-content li>strong:first-child {
    line-height: 2.4;
    font-weight: var(--font-weight-medium);
  }

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

    .unit-list li,
    .unit-orderlist li {
      text-indent: -19px;
      padding-left: 19px;
    }

    .unit-list li::before,
    .unit-ww-content ul li::before {
      margin-right: 14px;
    }

    .unit-orderlist li {
      text-indent: -1.6em;
      padding-left: 1.6em;
    }

    .unit-ww-content ul li {
      text-indent: -19px;
      padding-left: 19px;
    }

    .unit-ww-content ol li {
      text-indent: -1.6em;
      padding-left: 1.6em;
    }
  }

  /* 連番リスト */
  .unit-serialnum__ttl {
    color: var(--color-main);
    font-size: clamp(1.8rem, 3.8vw, 2.4rem);
    border-bottom: 2px solid var(--color-main);
    padding-bottom: 6px;
  }

  .unit-serialnum__subttl {
    font-size: clamp(1.6rem, 3vw, 2rem);
    font-weight: var(--font-weight-bold);
    margin-top: 0.8em;
  }

  .unit-serialnum__circle {
    margin-top: 1em;
    counter-reset: circle;

    li {
      counter-increment: circle;
      padding-left: 26px;
      text-indent: -26px;
    }

    li:not(:first-child) {
      margin-top: 10px;
    }

    li::before {
      content: counter(circle);
      font-size: 1.2rem;
      text-indent: 0;
      display: inline-block;
      width: 16px;
      line-height: 16px;
      box-shadow: 0 0 0 1px var(--color-text);
      border-radius: 50%;
      text-align: center;
      margin-right: 10px;
    }
  }

  @media screen and (max-width: 480px) {
    .unit-serialnum__circle {
      li {
        padding-left: 21px;
        text-indent: -21px;
      }

      li::before {
        width: 14px;
        line-height: 14px;
        margin-right: 8px;
      }
    }
  }

  /* 注釈 */
  .unit-annotation {
    font-size: 1.4rem;
    letter-spacing: 0.08em;
    margin-top: 1em !important;
  }

  .unit-annotation li {
    padding-left: 20px;
    text-indent: -20px;
  }

  .unit-annotation li::before {
    content: "※";
  }

  .unit-annotation li:not(:first-child) {
    margin-top: 8px;
  }

  .unit-jyoho ul.v-lev1 {
    margin-left: 1em;
  }

  .unit-jyoho ul.v-lev2 {
    margin-left: 3em;
  }

  .unit-jyoho ul.v-lev3 {
    margin-left: 5em;
  }

  .unit-jyoho__content li a .unit-icon {
    margin-left: 0.35em;
    vertical-align: middle;
  }

  .unit-jyoho__content .unit-ttl.v-style2 {
    margin-bottom: 20px;
  }

  .unit-jyoho__content ul+.unit-ttl.v-style2 {
    margin-top: 40px;
  }

  /* li を持たない空の ul は非表示 */
  .unit-jyoho__content ul:not(:has(> li)) {
    display: none;
  }

  /* 空の ul の直後に来る h3 は上余白を詰める */
  .unit-jyoho__content ul:not(:has(> li))+h3 {
    margin-top: 0;
  }

  .unit-jyoho__content h3 {
    margin-top: 40px;
    font-size: 1.8rem;
    font-weight: var(--font-weight-medium);
    background: #f3f3f3;
    padding: 10px;
  }

  .unit-jyoho__content h4 {
    margin-left: 3em;
    text-indent: -21px;
    padding-left: 21px;
    font-size: 1.6rem;
    font-weight: var(--font-weight-bold);
  }

  .unit-jyoho__content h4::before {
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    margin-right: 16px;
    background: var(--color-purple);
    transform: translateY(-1px);
  }

  @media screen and (max-width: 768px) {
    .unit-jyoho__content ul+.unit-ttl.v-style2 {
      margin-top: 30px;
    }

    .unit-jyoho__content h3 {
      margin-top: 30px;
      font-size: 1.6rem;
    }

    .unit-jyoho__content h4 {
      font-size: 1.4rem;
    }


  }

  @media screen and (min-width: 769px) {
    .unit-jyoho.v-col1 {
      display: block;
    }

    .unit-jyoho.v-col1 .unit-jyoho__content {
      width: 100%;
      box-sizing: border-box;
    }

    .unit-jyoho.v-col1 .unit-jyoho__content:nth-of-type(2) {
      margin-top: 30px;
    }

    .unit-jyoho.v-col2 {
      display: flex;
      justify-content: space-between;
      align-items: stretch;
      column-gap: 4%;
    }

    .unit-jyoho.v-col2 .unit-jyoho__content {
      width: 48%;
      box-sizing: border-box;
      /* padding: 20px;
    border: 1px solid #cecece;*/
    }
  }

  /* リスト・注釈内リンク（.unit-txtlinklist と同じメイン色・ホバー） */
  .unit-list a,
  .unit-orderlist a,
  .unit-annotation a {
    /* color: var(--color-link);
  text-decoration: none;*/

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

  /* リスト・注釈内：本文末尾と unit-icon の間隔 */
  .unit-list a .unit-icon,
  .unit-orderlist a .unit-icon,
  .unit-annotation a .unit-icon {
    margin-left: 0.35em;
    vertical-align: middle;
  }

  /* ニュース */
  .unit-newslist__link {
    display: grid;
    grid-template-columns: 100px auto;
    row-gap: 5px;
    padding: 0.7em 0;
    /*
  &:hover {
   color: var(--color-main);
  }*/
  }

  .unit-newslist__ttl {
    font-weight: var(--font-weight-normal);
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }

  @media screen and (max-width: 480px) {
    .unit-newslist__link {
      grid-template-columns: 1fr;
    }
  }

  /* 学科ページ ニュース一覧 */
  .unit-thumbnews__link {
    display: grid;
    grid-template-columns: 30% auto;
    gap: 28px;
  }

  .unit-thumbnews__thumb {
    aspect-ratio: 3/2;
    background: #ccc;
  }

  .unit-thumbnews__summary {
    display: flex;
    flex-direction: column;
  }

  .unit-thumbnews__ttl {
    font-size: 21px;
  }

  .unit-thumbnews__date {
    margin-top: 8px;
  }

  .unit-thumbnews__tax {
    margin-top: 16px;
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
  }

  .unit-thumbnews__tax span {
    display: inline-block;
    color: #fff;
    font-size: 14px;
    line-height: 1;
    background: var(--color-bungaku);
    padding: 5px 7px 7px 7px;
  }

  /* タブ */
  .unit-tab {
    display: flex;
    user-select: none;
    border-bottom: 1px solid #cecece;
    overflow-x: auto;
    /* 横スクロールを許可してはみ出しを防止 */
    -webkit-overflow-scrolling: touch;

    li {
      flex: 1;
      min-width: 140px;
      font-weight: var(--font-weight-bold);
      letter-spacing: 0.1em;
      text-align: center;
      padding: 1em;
      cursor: pointer;

      &.is-current,
      &:hover {
        color: #fff;
        background: var(--color-main);
      }

      &:not(:first-child) {
        border-left: 1px solid #fff;
      }
    }

    .scroll-hint-icon {
      top: 0 !important;
      width: 40px !important;
      height: 40px !important;
      left: 50% !important;
      transform: translateX(-50%) !important;
    }

    .scroll-hint-icon::before {
      position: absolute;
      top: 6px;
      left: 50%;
      transform: translateX(-50%);
      width: 25px !important;
      height: 25px !important;
    }

    .scroll-hint-icon::after {
      display: none !important;
    }

    .scroll-hint-text {
      display: none;
    }
  }

  @media screen and (max-width: 480px) {
    .unit-tab {
      li {
        padding: 0.8em;
      }
    }
  }


  /* News Tabs */
  .unit-news-tabs {
    display: flex;
    justify-content: flex-start;
    gap: 10px;
    margin-bottom: 40px;
    border-bottom: none;
    list-style: none;
    padding: 0;
  }

  .unit-news-tab {
    width: 120px;
    text-align: center;
    position: relative;
  }

  .unit-news-tab a {
    text-decoration: none;
    color: #333;
    font-size: 1.6rem;
    font-weight: normal;
    display: block;
    padding: 0 0 10px;
    white-space: nowrap;
    /* aタグにパディングを移動 */
    transition: color 0.3s;
    position: relative;
  }

  .unit-news-tab a::after {
    content: "";
    position: absolute;
    bottom: -1px;
    left: 50%;
    width: 0;
    height: 4px;
    background: var(--color-main);
    transition: all 0.3s ease;
    opacity: 0;
  }

  .unit-news-tab a:hover::after {
    width: 100%;
    left: 0;
    opacity: 0.5;
    /* 非active時は少し薄く */
  }

  .unit-news-tab.active a::after {
    width: 100%;
    left: 0;
    opacity: 1;
  }

  .unit-news-tab a:hover {
    color: #4cb0ed;
    /* 非active時は少し薄い青 */
  }

  .unit-news-tab.active a:hover {
    color: #333;
    /* active時は色を変えない */
  }

  .unit-news-tab.active a {
    color: #333;
  }

  /* Responsive */
  @media screen and (max-width: 768px) {

    .unit-news-tabs {
      width: 100%;
      gap: 0;
      margin-bottom: 30px;
      justify-content: space-between;
      padding: 0;
    }

    .unit-news-tab {
      width: auto;
      flex: 1;
    }

    .unit-news-tab a {
      font-size: 1.4rem;
    }


  }


  /* TOP News List */
  .unit-top-news-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: 1fr;
    /* 1カラムに変更 */
    gap: 0;
  }

  .unit-top-news-item {
    border-bottom: 1px solid #ddd;
  }

  .unit-top-news-link {
    display: flex;
    /* 横並びに変更 */
    align-items: center;
    /* 縦中央揃え */
    gap: 15px;
    /* 隙間を調整 */
    padding: 15px 0;
  }

  .unit-top-news-link time {
    display: block;
    font-size: 1.4rem;
    font-family: "Jost", sans-serif;
    color: #666;
    flex-shrink: 0;
    margin-bottom: 0;
    /* マージンをゼロに */
  }

  .unit-top-news-sep {
    color: #008ee5;
    font-size: 1.4rem;
    flex-shrink: 0;
  }

  .unit-top-news-category {
    font-size: 1.4rem;
    color: #333;
    flex-shrink: 0;
    min-width: 4.5em;
    text-align: center;
  }

  .unit-top-news-ttl {
    flex: 1;
    font-size: 1.6rem;
    font-weight: normal;
    /* 太さを普通に変更 */
    line-height: 1.5;
    margin-bottom: 0;
    /* マージンをゼロに */
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    /* PC版では1行で省略表示 */
  }

  .unit-top-news-ttl a {
    text-decoration: none;
    color: #333;
    transition: opacity 0.3s;
  }

  .unit-top-news-ttl a:hover {
    opacity: 0.7;
  }

  .unit-top-news-ttl a[href*=".pdf" i]::after,
  .unit-top-news-ttl a[href*=".xlsx" i]::after,
  .unit-top-news-ttl a[href*=".docx" i]::after {
    content: "";
    display: inline-block;
    width: 22px;
    aspect-ratio: 1/1;
    margin-left: 0.5em;
    /* テキストのすぐ右に配置 */
    background: no-repeat center/contain;
    vertical-align: middle;
    flex-shrink: 0;
  }

  .unit-top-news-ttl a[href*=".pdf" i]::after {
    background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='24' height='30.55' viewBox='0 0 24 30.55'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D.cls-2%7Bfill:%23c60932;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cg%3E%3Cpolygon class='cls-1' points='7 .53 .54 7 .54 30.02 23.47 30.02 23.47 .53 7 .53'/%3E%3Cpath class='cls-2' d='M23.46,0H7s-.05.01-.07.01c-.02,0-.05,0-.07.01-.09.02-.17.06-.24.13,0,0,0,0,0,0l-3.23,3.23L.16,6.62c-.07.07-.11.15-.13.24,0,.02,0,.04-.01.06,0,.02-.01.05-.01.07v23.02c0,.3.24.54.54.54h22.93c.3,0,.54-.24.54-.54V.54c0-.3-.24-.54-.54-.54ZM22.93,29.48H1.07V7.53h5.93c.3,0,.54-.24.54-.54V1.07h15.4v28.41Z'/%3E%3C/g%3E%3Cg%3E%3Cpath class='cls-2' d='M6.03,13.33h-2.63c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h1.7c.06,0,.11-.05.11-.11v-2.84h.81c1.75,0,2.79-1.07,2.79-2.87s-1.02-2.81-2.79-2.81ZM6.89,16.13c0,.86-.32,1.2-1.15,1.2h-.52v-2.33h.52c.81,0,1.15.34,1.15,1.13Z'/%3E%3Cpath class='cls-2' d='M12.21,13.33h-2.61c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h2.61c2.38,0,2.88-2.05,2.88-3.77v-1.1c0-2.5-.97-3.77-2.88-3.77ZM13.15,18.19c0,1.54-.25,2.09-.94,2.09h-.79v-5.27h.79c.71,0,.94.53.94,2.09v1.1Z'/%3E%3Cpath class='cls-2' d='M20.6,13.33h-4.43c-.06,0-.11.05-.11.11v8.4c0,.06.05.11.11.11h1.7c.06,0,.11-.05.11-.11v-3.32h2.31c.06,0,.11-.05.11-.11v-1.44c0-.06-.05-.11-.11-.11h-2.31v-1.87h2.61c.06,0,.11-.05.11-.11v-1.44c0-.06-.05-.11-.11-.11Z'/%3E%3C/g%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  }

  .unit-top-news-ttl a[href*=".xlsx" i]::after {
    background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='24' height='30.55' viewBox='0 0 24 30.55'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23fff;%7D.cls-2%7Bfill:%23085b22;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cpolygon class='cls-1' points='7 .54 .54 7 .54 30.02 23.47 30.02 23.47 .54 7 .54'/%3E%3Cpath class='cls-2' d='M23.46,0H7s-.05.01-.07.01c-.02,0-.04,0-.06.01-.09.02-.18.06-.24.13,0,0,0,0,0,0l-3.23,3.23L.16,6.62c-.07.07-.11.15-.13.24,0,.02,0,.04-.01.06,0,.02-.01.05-.01.07v23.02c0,.3.24.54.54.54h22.93c.3,0,.54-.24.54-.54V.54c0-.3-.24-.54-.54-.54ZM22.93,29.48H1.07V7.53h5.93c.3,0,.54-.24.54-.54V1.07h15.4v28.41Z'/%3E%3Cpath class='cls-2' d='M13.98,17.69l2.98-5.93s0-.04,0-.06c-.01-.02-.03-.03-.06-.03h-3.2s-.05.01-.06.04l-1.65,3.48-1.65-3.48s-.03-.04-.06-.04h-3.2s-.04.01-.06.03c-.01.02-.01.04,0,.06l2.97,5.93-3.34,6.33s0,.04,0,.06c.01.02.03.03.06.03h3.2s.05-.01.06-.03l2.03-3.77,2.03,3.77s.03.03.06.03h3.2s.04-.01.06-.03c.01-.02.01-.04,0-.06l-3.36-6.33Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  }

  .unit-top-news-ttl a[href*=".docx" i]::after {
    background-image: url("data:image/svg+xml,%3Csvg id='_レイヤー_2' data-name='レイヤー 2' xmlns='http://www.w3.org/2000/svg' width='22' height='28.01' viewBox='0 0 22 28.01'%3E%3Cdefs%3E%3Cstyle%3E.cls-1%7Bfill:%23082c7c;%7D.cls-2%7Bfill:%23fff;%7D%3C/style%3E%3C/defs%3E%3Cg id='_コンテンツ' data-name='コンテンツ'%3E%3Cg%3E%3Cpolygon class='cls-2' points='6.41 .49 .49 6.41 .49 27.51 21.51 27.51 21.51 .49 6.41 .49'/%3E%3Cpath class='cls-1' d='M21.51,0H6.41s-.04,0-.06.01c-.02,0-.04,0-.06.01-.08.02-.16.06-.22.12L.14,6.07c-.06.06-.1.14-.12.22,0,.02,0,.04-.01.06,0,.02-.01.04-.01.06v21.1c0,.27.22.49.49.49h21.02c.27,0,.49-.22.49-.49V.49c0-.27-.22-.49-.49-.49ZM21.02,27.02H.98V6.9h5.43c.27,0,.49-.22.49-.49V.98h14.11v26.04Z'/%3E%3Cpath class='cls-1' d='M16.93,11.42s-.04-.03-.07-.03h-2.34s-.08.03-.09.08l-.87,6.12-1.45-6.13s-.05-.07-.09-.07h-2.05s-.08.03-.09.07l-1.45,6.13-.87-6.12s-.04-.08-.09-.08h-2.34s-.05.01-.07.03c-.02.02-.02.05-.02.08l1.99,10.56s.05.07.09.07h2.04s.08-.03.09-.07l1.75-6.63,1.75,6.63s.05.07.09.07h2.04s.08-.03.09-.07l1.99-10.56s0-.05-.02-.08Z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  }


  /* Responsive */
  @media screen and (max-width: 768px) {
    .p-top-news-list {
      display: grid;
      grid-template-columns: 1fr;
      gap: 0;
    }

    .p-top-news-link {
      gap: 10px;
      align-items: flex-start;
      flex-wrap: wrap;
    }

    .p-top-news-sep {
      font-size: 1.2rem;
      margin-top: 2px;
    }

    .p-top-news-category {
      font-size: 1.2rem;
      min-width: 4em;
      margin-top: 2px;
    }

    .p-top-news-link time {
      font-size: 1.2rem;
      margin-bottom: 0;
    }

    .p-top-news-ttl {
      width: 100%;
      flex: none;
      font-size: 1.4rem;
      white-space: normal;
      /* SP版は複数行表示 */
      margin-top: -5px;
    }

    .p-top-news-ttl a[href*=".pdf" i]::after,
    .p-top-news-ttl a[href*=".xlsx" i]::after,
    .p-top-news-ttl a[href*=".docx" i]::after {
      width: 20px;
      /* SP版では少し小さく */
    }
  }

  /* ステップ */
  .unit-step {
    counter-reset: step;
  }

  .unit-step__item {
    border: 1px solid var(--color-main);
    padding: 28px;
    counter-increment: step;
    position: relative;
    list-style: none;
    margin-left: 0;

    &:not(:first-child) {
      margin-top: 52px;
    }

    &:not(:first-child)::before {
      content: "";
      display: inline-block;
      border-top: 20px solid #eee;
      border-right: 40px solid transparent;
      border-left: 40px solid transparent;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, -33px);
    }
  }

  .unit-step__ttl {
    color: var(--color-main);
    font-size: 1.7rem;
    display: flex;
    align-items: center;
    gap: 20px;

    &::before {
      content: "STEP " counter(step);
      color: #fff;
      background: var(--color-main);
      display: inline-flex;
      align-items: center;
      line-height: 1;
      padding: 6px 12px;
      flex-shrink: 0;
      font-family: var(--font-family-oswald);
      font-weight: var(--font-weight-normal);
      font-size: 1.9rem;
    }
  }

  .unit-step__subttl {
    color: var(--color-main);
    font-size: clamp(1.8rem, 3.8vw, 2.4rem);
    margin-top: 25px;
    padding-top: 20px;
    border-top: 1px solid #cecece;
  }

  .unit-step__txt {
    line-height: 1.45;
    margin-top: 14px;

    p+p {
      margin-top: 1em;
    }
  }

  .unit-step__inner {
    display: flex;
    gap: 20px;
  }

  .unit-step__item .unit-btnbox {
    padding-top: 25px;
    padding-bottom: 0;
  }

  .unit-step__img {
    width: 200px;
    flex-shrink: 0;

    img {
      aspect-ratio: 3/2;
      object-fit: cover;
      width: 100%;
      height: auto;
      vertical-align: bottom;
    }

    /* cover によるトリミングを外し、画像全体を表示 */
    &.v-trim-contain img {
      aspect-ratio: auto;
      object-fit: contain;
    }
  }

  @media screen and (max-width: 768px) {
    .unit-step__item {
      padding: 20px;
    }

    .unit-step__ttl {
      flex-direction: column;
      align-items: flex-start;
      gap: 8px;
      font-size: 1.6rem;

      &::before {
        transform: translateY(0);
        font-size: 1.7rem;
      }
    }

    .unit-step__inner {
      flex-direction: column;
    }

    .unit-step__img {
      width: 100%;
    }
  }

  /* 画像付きコンテンツ（カード） */
  .unit-card {
    display: grid;
    column-gap: 40px;
    row-gap: 20px;

    .unit-ttl--type2 {
      font-size: clamp(1.8rem, 3.2vw, 2rem);
    }

    &.v-col2 {
      grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    }

    &.v-col3 {
      grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));

      .unit-card__img img {
        aspect-ratio: 1/1;
      }
    }

    &.v-border .unit-card__item {
      border-color: #cecece;
      padding: 20px;
    }

    &.v-gray .unit-card__item {
      background: #f6f6f8;
      padding: 20px;
    }

    &.v-row .unit-card__item {
      grid-template-rows: none;
      grid-template-columns: 40% auto;
      gap: 24px;

      .unit-card__img img {
        aspect-ratio: 1/1;
      }
    }

    .unit-ttl.v-style2 {
      font-size: 2rem;
    }
  }

  .unit-card__item {
    border: 1px solid transparent;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 2;
    gap: 12px;
    position: relative;
  }

  .unit-card__item .unit-ttl.v-style4 {
    font-size: 1.8rem;
  }

  .unit-card__item:has(.unit-card__viewmore) {
    &:hover {
      opacity: 0.7;
    }
  }

  .unit-card__img {
    flex-shrink: 0;

    img {
      height: 100%;
      aspect-ratio: 3/2;
      object-fit: cover;
    }
  }

  .unit-card__content {
    display: flex;
    flex-direction: column;
    /* gap: 12px;*/
  }

  .unit-card__item .unit-card__content .unit-ww-content p {
    line-height: 1.6;
  }

  .unit-card__viewmore {
    align-self: flex-end;
    display: inline-flex;
    align-items: center;
    gap: 16px;
    box-sizing: border-box;
    width: fit-content;
    max-width: min(350px, 100%);
    min-height: 48px;
    margin-top: auto;
    padding: 0 22px 0 26px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 9999px;
    color: #111;
    font-family: var(--font-family-oswald);
    font-size: 2.1rem;
    font-weight: 500;
    line-height: 1;
    text-decoration: none;

    &:hover {
      color: #111;
      border-color: #ccc;
      opacity: 0.92;
    }

    &::after {
      content: "";
      display: block;
      position: absolute;
      inset: 0;
      z-index: 1;
    }

    .unit-link__in {
      flex: 0 1 auto;
      min-width: 0;
    }

    .unit-arrowbox {
      flex-shrink: 0;
      margin-left: 0;
      transform: none;
      background: transparent;
      width: 64px;
      min-width: 64px;
      height: calc(64px * 9.68 / 62.72);

      &::before {
        background-color: currentColor;
        -webkit-mask-position: right center;
        mask-position: right center;
      }
    }
  }

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

    .unit-card {
      display: grid;
      column-gap: 36px;
      row-gap: 13px;
    }

    &.has-border {
      padding: 18px;
    }

    &.is-row {
      grid-template-columns: 1fr;
      gap: 18px;

      .unit-card__img img {
        aspect-ratio: 3/2;
      }
    }
  }

  .unit-card {
    &.v-col3 .unit-card__img img {
      aspect-ratio: 3/2;
    }
  }

  .unit-card__item .unit-ttl.v-style4 {
    font-size: 1.5rem;
  }

  @media screen and (min-width: 769px) {
    .unit-card__item .unit-ttl.v-style4 {
      font-size: 1.8rem;
    }
  }

  /* 画像付きコンテンツ（横並び） */
  .unit-imgtxt {
    &.v-reverse .unit-imgtxt__flex {
      flex-direction: row-reverse;
    }

    &.v-border {
      border: 1px solid #ccc;
      padding: 32px;
    }

    &.v-yellow {
      background: #fffff3;
      padding: 32px;
    }

    &.v-gray {
      background: #f6f6f8;
      padding: 32px;
    }
  }

  .unit-imgtxt__flex {
    display: flex;
    justify-content: space-between;
    padding-top: 10px;
    /* row-gap: 16px;
  margin-top: 16px;*/
  }

  .unit-imgtxt__img {
    width: 48%;

    img {
      aspect-ratio: 3/2;
      object-fit: cover;
    }
  }

  /* キャプション（画像系で共通利用） */
  .unit-caption {
    margin-top: 8px;
    font-size: 1.3rem;
    line-height: 1.6;
    color: #666;
  }

  .v-trim-contain {
    .unit-imgtxt__img {

      img {
        aspect-ratio: auto;
        object-fit: contain;
      }
    }

  }

  .v-trim-contain {
    .unit-card__img {

      img {
        aspect-ratio: auto;
        object-fit: contain;
      }
    }

  }

  .unit-imgtxt__content {
    width: 48%;
  }

  @media screen and (min-width: 769px) {
    .unit-imgtxt.v-pc-col1 .unit-imgtxt__flex {
      flex-direction: column;
      gap: 20px;
      padding-top: 0;
    }

    .unit-imgtxt.v-pc-col1.v-reverse .unit-imgtxt__flex {
      flex-direction: column-reverse;
    }

    .unit-imgtxt.v-pc-col1 .unit-imgtxt__img,
    .unit-imgtxt.v-pc-col1 .unit-imgtxt__content {
      width: 80%;
      margin-left: auto;
      margin-right: auto;
    }

    .unit-imgtxt.v-pc-col1.v-size-large .unit-imgtxt__img,
    .unit-imgtxt.v-pc-col1.v-size-large .unit-imgtxt__content {
      width: 100%;
    }

    .unit-imgtxt.v-pc-col1.v-size-min .unit-imgtxt__img,
    .unit-imgtxt.v-pc-col1.v-size-min .unit-imgtxt__content {
      width: 70%;
    }

    .unit-imgtxt.v-pc-col1.v-size-xmin .unit-imgtxt__img,
    .unit-imgtxt.v-pc-col1.v-size-xmin .unit-imgtxt__content {
      width: 50%;
    }
  }

  .v-size-min {
    .unit-imgtxt__img {
      width: 33%;
    }

    .unit-imgtxt__content {
      width: 63%;
    }
  }

  .v-size-xmin {
    .unit-imgtxt__img {
      width: 25%;
    }

    .unit-imgtxt__content {
      width: 70%;
    }
  }

  .v-size-large {
    .unit-imgtxt__img {
      width: 60%;
    }

    .unit-imgtxt__content {
      width: 56%;
    }
  }

  .v-noimage-true {
    .unit-imgtxt__content {
      width: 100%;
    }

  }


  .unit-imgtxt__content .unit-imgtxt__btn,
  .unit-step__item .unit-imgtxt__btn {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
    margin-top: 15px;
  }

  .unit-imgtxt__content .unit-imgtxt__btn:first-of-type,
  .unit-step__item .unit-imgtxt__btn:first-of-type {
    margin-top: 32px;
  }

  /* 画像付きテキスト内リンクボタン（ピル型・白背景・右は unit-icon v-arrow / v-link / v-pdf 等・短文時は幅フィット） */
  .unit-imgtxt__content .unit-imgtxt__btn .unit-link,
  .unit-step__item .unit-imgtxt__btn .unit-link {
    display: inline-flex;
    align-items: center;
    gap: 20px;
    width: fit-content;
    max-width: min(350px, 100%);
    box-sizing: border-box;
    padding: 18px 22px 18px 26px;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 9999px;
    color: var(--color-text);
    font-size: 1.5rem;
    font-weight: normal;
    line-height: 1.5;
    text-decoration: none;

    .unit-link__in {
      flex: 0 1 auto;
      min-width: 0;
    }

    &:hover {
      color: #111;
      border-color: #ccc;
      opacity: 0.92;
    }
  }

  .unit-imgtxt__content .unit-imgtxt__btn .unit-link .unit-icon,
  .unit-step__item .unit-imgtxt__btn .unit-link .unit-icon {
    display: block;
    flex-shrink: 0;
    align-self: center;
    transition: transform 0.2s;
  }

  /* 従来の unit-arrowbox も互換のため維持 */
  .unit-imgtxt__content .unit-imgtxt__btn .unit-arrowbox,
  .unit-step__item .unit-imgtxt__btn .unit-arrowbox {
    display: block;
    flex-shrink: 0;
    align-self: center;
    width: 64px;
    min-width: 64px;
    height: calc(64px * 9.68 / 62.72);
    background: transparent;
    position: relative;
    transition: transform 0.2s;

    &::before {
      content: "";
      position: absolute;
      inset: 0;
      background-color: currentColor;
      -webkit-mask-image: var(--unit-arrow-long-mask);
      mask-image: var(--unit-arrow-long-mask);
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
      pointer-events: none;
    }
  }

  .unit-imgtxt__content .unit-imgtxt__btn .unit-link:hover .unit-arrowbox,
  .unit-imgtxt__content .unit-imgtxt__btn .unit-link:hover .unit-icon:not(.v-arrow),
  .unit-step__item .unit-imgtxt__btn .unit-link:hover .unit-arrowbox,
  .unit-step__item .unit-imgtxt__btn .unit-link:hover .unit-icon:not(.v-arrow) {
    transform: translateX(3px);
  }

  .unit-imgtxt__content .unit-imgtxt__btn .unit-link:hover .unit-icon.v-arrow,
  .unit-step__item .unit-imgtxt__btn .unit-link:hover .unit-icon.v-arrow {
    animation: slideArw 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
  }

  @media screen and (max-width: 768px) {
    .unit-imgtxt {
      &.v-reverse .unit-imgtxt__flex {
        flex-direction: column-reverse;
      }

      &.v-border {
        padding: 18px;
      }

      &.v-yellow {
        padding: 18px;
      }

      &.v-gray {
        padding: 18px;
      }
    }

    .unit-imgtxt__flex {
      flex-direction: column;
      gap: 20px;
      padding-top: 0;
    }

    .unit-imgtxt__img,
    .unit-imgtxt__content {
      width: 100%;
    }

    .v-size-min {

      .unit-imgtxt__img,
      .unit-imgtxt__content {
        width: 100%;
      }
    }

    .v-size-xmin {

      .unit-imgtxt__img,
      .unit-imgtxt__content {
        width: 100%;
      }
    }

    .v-size-large {

      .unit-imgtxt__img,
      .unit-imgtxt__content {
        width: 100%;
      }
    }

    .unit-imgtxt__content .unit-imgtxt__btn .unit-link,
    .unit-step__item .unit-imgtxt__btn .unit-link {
      max-width: min(350px, 100%);
      padding: 16px 18px 16px 22px;
      gap: 16px;
      font-size: 1.3rem;
    }
  }

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

    .unit-imgtxt__content .unit-imgtxt__btn .unit-link,
    .unit-step__item .unit-imgtxt__btn .unit-link {
      padding: 14px 16px 14px 20px;
    }

    /* 本文ボタン内は通常サイズのまま（全体の .unit-icon 縮小を上書き） */
    .unit-imgtxt__content .unit-imgtxt__btn .unit-link .unit-icon.v-pdf,
    .unit-imgtxt__content .unit-imgtxt__btn .unit-link .unit-icon.v-excel,
    .unit-imgtxt__content .unit-imgtxt__btn .unit-link .unit-icon.v-word,
    .unit-step__item .unit-imgtxt__btn .unit-link .unit-icon.v-pdf,
    .unit-step__item .unit-imgtxt__btn .unit-link .unit-icon.v-excel,
    .unit-step__item .unit-imgtxt__btn .unit-link .unit-icon.v-word {
      width: 22px;
      min-width: 22px;
      height: auto;
      aspect-ratio: 1/1;
    }

    .unit-imgtxt__content .unit-imgtxt__btn .unit-link .unit-icon.v-link,
    .unit-imgtxt__content .unit-imgtxt__btn .unit-link .unit-icon.v-external,
    .unit-step__item .unit-imgtxt__btn .unit-link .unit-icon.v-link,
    .unit-step__item .unit-imgtxt__btn .unit-link .unit-icon.v-external {
      width: 16px;
      min-width: 16px;
    }
  }

  /* 画像のみ */
  /*
.unit-simpleimg {
  &.v-center img {
    display: block;
    margin: 0 auto;
  }

  &.v-thirty .unit-simpleimg__inner {
    width: 30%;
  }

  &.v-half .unit-simpleimg__inner {
    width: 50%;
  }

  &.v-seventy .unit-simpleimg__inner {
    width: 70%;
  }
}

.unit-simpleimg__inner {
  min-width: 150px;

  img {
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .unit-simpleimg {
    &.v-seventy .unit-simpleimg__inner {
      width: 100%;
    }
  }
}*/

  /* .unit-simpleimg：ラッパー(.unit-block)のクラスで画像の幅・配置を制御 */
  .v-width-large.unit-block .unit-simpleimg__inner {
    width: 100%;
  }

  .v-width-midium.unit-block .unit-simpleimg__inner {
    width: 70%;
  }

  .v-width-small.unit-block .unit-simpleimg__inner {
    width: 50%;
  }

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

    .v-width-large.unit-block .unit-simpleimg__inner,
    .v-width-midium.unit-block .unit-simpleimg__inner,
    .v-width-small.unit-block .unit-simpleimg__inner {
      width: 100%;
    }
  }

  .v-center.unit-block .unit-simpleimg__inner {
    margin-left: auto;
    margin-right: auto;
  }

  .v-left.unit-block .unit-simpleimg__inner {
    margin-left: 0;
    margin-right: auto;
  }

  .v-right.unit-block .unit-simpleimg__inner {
    margin-left: auto;
    margin-right: 0;
  }

  /* 動画ギャラリー（PC4カラム / SP1カラム・サムネ16:9） */
  .unit-mov-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
  }

  .unit-mov-gallery.v-col3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .unit-mov-gallery.v-col2 {
    grid-template-columns: repeat(2, 1fr);
  }

  .unit-mov-gallery__link {
    display: block;
    text-decoration: none;
    color: var(--color-text);
  }

  .unit-mov-gallery__item__thumb {
    position: relative;
    aspect-ratio: 16 / 9;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transition: opacity 0.3s;

    &::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 30%;
      aspect-ratio: 1 / 1;
      background: url("../../../img/_unit/icon_movie.svg") no-repeat center / contain;
    }
  }

  .unit-mov-gallery__link:hover .unit-mov-gallery__item__thumb {
    opacity: 0.8;
  }

  .unit-mov-gallery__ttl {
    display: block;
    margin-top: 12px;
    line-height: 1.5;
    font-weight: var(--font-weight-bold);
  }

  .unit-mov-gallery__description {
    margin-top: 8px;
    font-size: 1.4rem;
    line-height: 1.6;
  }

  @media screen and (max-width: 768px) {
    .unit-mov-gallery {
      grid-template-columns: 1fr;
    }
  }

  /* 画像 */
  .unit-img {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: 28px;

    &.v-col3 {
      grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
    }
  }

  .unit-img__item {
    display: grid;
    gap: 14px;

    img {
      aspect-ratio: 3/2;
      object-fit: cover;
    }

    &:hover {
      opacity: 0.7;
    }
  }

  .unit-img .unit-arrowbox {
    width: 64px;
    height: calc(64px * 9.68 / 62.72);
    transform: translateY(2px);
    margin-left: 5px;
    background: transparent;

    &::before {
      background-color: currentColor;
    }
  }

  /* 画像拡大 */
  .unit-zoomimg {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    cursor: pointer;
    transition: 0.2s;

    &:hover {
      opacity: 0.7;

      .unit-zoomimg__btn {
        transform: scale(1.1);
      }
    }
  }

  .unit-zoomimg__btn {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 70px;
    height: 70px;
    padding: 0;
    border: none;
    cursor: pointer;
    background-color: var(--color-main);
    /*
   * 拡大アイコン矢印（背景は background-color: var(--color-main)）
   * <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 121 121" role="img" aria-hidden="true">
   *   <polygon fill="#fff" points="23.1 38.7 22.1 26.2 46.1 50.3 50.3 46.1 26.2 22.1 38.7 23.1 38.2 16.7 14.7 14.7 16.7 38.2 23.1 38.7"/>
   *   <polygon fill="#fff" points="79.1 25.1 91.7 24.1 67.6 48.1 71.7 52.3 95.8 28.2 94.7 40.7 101.1 40.2 103.1 16.7 79.7 18.7 79.1 25.1"/>
   *   <polygon fill="#fff" points="94.7 77.8 95.8 90.3 71.7 66.2 67.6 70.4 91.7 94.4 79.1 93.4 79.7 99.8 103.1 101.8 101.1 78.3 94.7 77.8"/>
   *   <polygon fill="#fff" points="43.1 93.4 30.6 94.4 54.6 70.4 50.5 66.2 26.4 90.3 27.5 77.8 21.1 78.3 19.1 101.8 42.6 99.8 43.1 93.4"/>
   * </svg>
   */
    background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20121%20121%22%20role%3D%22img%22%20aria-hidden%3D%22true%22%3E%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2223.1%2038.7%2022.1%2026.2%2046.1%2050.3%2050.3%2046.1%2026.2%2022.1%2038.7%2023.1%2038.2%2016.7%2014.7%2014.7%2016.7%2038.2%2023.1%2038.7%22%2F%3E%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2279.1%2025.1%2091.7%2024.1%2067.6%2048.1%2071.7%2052.3%2095.8%2028.2%2094.7%2040.7%20101.1%2040.2%20103.1%2016.7%2079.7%2018.7%2079.1%2025.1%22%2F%3E%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2294.7%2077.8%2095.8%2090.3%2071.7%2066.2%2067.6%2070.4%2091.7%2094.4%2079.1%2093.4%2079.7%2099.8%20103.1%20101.8%20101.1%2078.3%2094.7%2077.8%22%2F%3E%20%3Cpolygon%20fill%3D%22%23fff%22%20points%3D%2243.1%2093.4%2030.6%2094.4%2054.6%2070.4%2050.5%2066.2%2026.4%2090.3%2027.5%2077.8%2021.1%2078.3%2019.1%20101.8%2042.6%2099.8%2043.1%2093.4%22%2F%3E%20%3C%2Fsvg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 72% 72%;
    transition: 0.2s;

    &:focus {
      outline: none;
    }

    &:focus-visible {
      outline: 2px solid var(--color-main);
      outline-offset: 2px;
    }
  }

  .unit-zoommodal {
    position: fixed;
    inset: 0;
    display: none;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.7);

    z-index: 100;
  }

  .unit-zoommodal__bg {
    position: absolute;
    inset: 0;
    cursor: pointer;
  }

  .unit-zoommodal__img {
    max-width: 90%;
    max-height: 90%;
    border-radius: 6px;
    z-index: 1;
  }

  /* 動画再生用モーダル */
  .unit-movmodal {
    position: fixed;
    inset: 0;
    display: none;
    justify-content: center;
    align-items: center;
    background: rgba(0, 0, 0, 0.8);

    z-index: 100;
  }

  .unit-movmodal__bg {
    position: absolute;
    inset: 0;
    cursor: pointer;
  }

  .unit-movmodal__inner {
    position: relative;
    z-index: 1;
    width: 90%;
    max-width: 960px;
  }

  .unit-movmodal__frame {
    position: relative;
    aspect-ratio: 16 / 9;
    background: #000;
  }

  .unit-movmodal__frame iframe {
    width: 100%;
    height: 100%;
    border: 0;
  }

  .unit-movmodal__close {
    position: absolute;
    top: -40px;
    right: 0;
    width: 32px;
    height: 32px;
    padding: 0;
    background: none;
    border: none;
    cursor: pointer;
  }

  .unit-movmodal__close::before,
  .unit-movmodal__close::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    border-top: 2px solid #fff;
  }

  .unit-movmodal__close::before {
    transform: rotate(45deg);
  }

  .unit-movmodal__close::after {
    transform: rotate(-45deg);
  }

  @media screen and (max-width: 480px) {
    .unit-zoomimg__btn {
      width: 50px;
      height: 50px;
    }
  }

  /* バナー */
  .unit-banner {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;

    a {
      display: block;
      width: 100%;
    }

    img {
      display: block;
      width: 100%;
      height: auto;
    }

    /* 幅指定（標準1カラム時） */
    &.v-midium,
    &.v-medidm {
      width: 70%;
    }

    &.v-small {
      width: 50%;
    }

    /* 配置 */
    &.v-left {
      margin-left: 0;
      margin-right: auto;
    }

    &.v-right {
      margin-left: auto;
      margin-right: 0;
    }

    /* 2カラム（画像は各48%） */
    &.v-col2 {
      flex-direction: row;
      flex-wrap: wrap;
      justify-content: space-between;

      a {
        width: 48%;
      }

      &.v-midium,
      &.v-medidm {
        width: 70%;
      }

      &.v-small {
        width: 50%;
      }
    }
  }

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

    .unit-banner,
    .unit-banner.v-midium,
    .unit-banner.v-medidm,
    .unit-banner.v-small,
    .unit-banner.v-col2,
    .unit-banner.v-col2.v-midium,
    .unit-banner.v-col2.v-medidm,
    .unit-banner.v-col2.v-small {
      width: 100%;
    }

    .unit-banner.v-col2 {
      flex-direction: column;

      a {
        width: 100%;
      }
    }
  }

  /* カルーセル */
  .unit-carousel {
    position: relative;
  }

  .unit-carousel__link,
  .unit-carousel__item {
    display: block;
    color: inherit;
    text-decoration: none;
  }

  /* Swiper内リンクはhover時の下線（通常・アニメーション）を出さない */
  .unit-carousel a,
  .unit-carousel a:hover,
  .unit-carousel a:focus-visible {
    text-decoration: none;
    background-image: none;
  }

  .unit-carousel__link {
    &:hover {
      opacity: 0.7;
    }
  }

  .unit-carousel__thumb {
    img {
      aspect-ratio: 3/2;
      object-fit: cover;
    }
  }

  .unit-carousel__thumb.v-notrim {
    border: 1px solid #f0f0f0;

    img {
      aspect-ratio: 3/2;
      object-fit: contain;
    }
  }

  .unit-carousel__ttl {
    font-size: 1.6rem;
    font-weight: var(--font-weight-normal);
    line-height: 1.5;
    margin-top: 10px;
    margin-bottom: 0;
  }

  .unit-carousel__time {
    display: block;
    margin-top: 0.45em;
    font-family: var(--font-family-oswald);
    font-size: 1.6rem;
    font-weight: var(--font-weight-medium);
    line-height: 1.15;
  }

  .unit-carousel__cat {
    margin-top: 0.9em;
    font-size: 1.5rem;
    line-height: 1.3;

    span {
      display: inline-block;
      padding: 0 0.8em;
      border-left: 1px solid var(--color-main);
      border-right: 1px solid var(--color-main);
    }
  }

  /* スライダー直下：前後ナビ＋MORE を横並び */
  .unit-carousel__footer {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px 9px;
    margin-top: 20px;
  }

  .unit-carousel__footer .swiper-button-prev,
  .unit-carousel__footer .swiper-button-next {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0;
    flex-shrink: 0;
  }

  .unit-carousel__autoplay {
    position: relative;
    width: 48px;
    height: 48px;
    padding: 0;
    border: 1px solid var(--color-mgray);
    border-radius: 2px;
    background: #fff;
    cursor: pointer;
    flex-shrink: 0;
    user-select: none;
    caret-color: transparent;
    transition: opacity 0.2s ease;
  }

  .unit-carousel__autoplay:hover {
    opacity: 0.7;
  }

  .unit-carousel__footer .unit-carousel__autoplay {
    margin-left: 5px;
  }

  /* デフォルト（再生中）= pause */
  .unit-carousel__autoplay::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-color: var(--color-main);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27.86 27.86'%3E%3Crect x='10.45' y='8.71' width='2.09' height='10.45' rx='.24' ry='.24'/%3E%3Crect x='16.02' y='8.71' width='2.09' height='10.45' rx='.24' ry='.24'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 27.86 27.86'%3E%3Crect x='10.45' y='8.71' width='2.09' height='10.45' rx='.24' ry='.24'/%3E%3Crect x='16.02' y='8.71' width='2.09' height='10.45' rx='.24' ry='.24'/%3E%3C/svg%3E") no-repeat center / contain;
  }

  /* 停止中 = play（--color-main 継承） */
  .unit-carousel__autoplay.is-paused::before {
    background-color: var(--color-main);
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M16.9,13.2l8.92,6.48c.22.16.22.49,0,.65l-8.92,6.48c-.26.19-.64,0-.64-.32v-12.95c0-.33.37-.52.64-.32Z'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 40'%3E%3Cpath d='M16.9,13.2l8.92,6.48c.22.16.22.49,0,.65l-8.92,6.48c-.26.19-.64,0-.64-.32v-12.95c0-.33.37-.52.64-.32Z'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
  }

  .unit-carousel__footer .unit-carousel__viewmore {
    margin-top: 0;
    margin-right: 0;
  }

  .unit-carousel__viewmore {
    text-align: right;

    a {
      display: inline-flex;
      align-items: center;
      gap: 16px;
      width: 168px;
      max-width: min(350px, 100%);
      box-sizing: border-box;
      min-height: 48px;
      padding: 0 24px;
      background: #fff;
      border: 1px solid var(--color-mgray);
      border-radius: 9999px;
      color: var(--color-text);
      font-family: var(--font-family-oswald);
      font-size: 2.1rem;
      font-weight: 500;
      line-height: 1;
      text-decoration: none;
      position: relative;
      z-index: 2;

      &:hover {
        color: var(--color-text);
        border-color: var(--color-mgray);
        opacity: 0.7;

        .unit-arrowbox {
          animation: slideArw 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
        }
      }
    }

    .unit-link__in {
      flex: 0 1 auto;
      min-width: 0;
    }

    .unit-arrowbox {
      flex-shrink: 0;
      margin-left: 0;
      transform: none;
      background: transparent;
      width: 64px;
      min-width: 64px;
      height: calc(64px * 9.68 / 62.72);

      &::before {
        background-color: currentColor;
      }
    }
  }

  .unit-carousel__viewmore:hover .unit-arrowbox,
  .unit-carousel__viewmore a:hover .unit-arrowbox,
  .unit-carousel__viewmore a:focus-visible .unit-arrowbox {
    animation: slideArw 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955) both !important;
  }

  /* swiper */
  .swiper-wrapper {
    user-select: none;
  }

  .unit-swiper-base,
  .swiper-banner,
  .swiper-news,
  .swiper-message {
    position: relative;
    /* swiper-pagination 等の絶対配置の基準にする */
    overflow: hidden;
    /* はみ出し防止 */
  }

  .unit-carousel .swiper-button-prev,
  .unit-carousel .swiper-button-next {
    --swiper-navigation-size: 50px;
    width: 50px;
    height: 50px;
    margin-top: 0;
    top: auto;
    bottom: 0;
    left: auto;
    background: #fff;
    border: 1px solid var(--color-mgray);
    border-radius: 50%;
    color: var(--color-main);
    --swiper-navigation-color: var(--color-main);
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    user-select: none;
    -webkit-user-select: none;
    caret-color: transparent;
    transition: opacity 0.2s ease;

    &:focus {
      outline: none;
    }

    &:focus-visible {
      outline: 2px solid currentColor;
      outline-offset: 2px;
    }

    svg {
      display: none !important;
    }

    &::before {
      content: "";
      display: block;
      width: 13px;
      height: calc(13px * 9.68 / 12.72);
      flex-shrink: 0;
      background-color: currentColor;
      -webkit-mask-image: var(--unit-swiper-arrow-mask);
      mask-image: var(--unit-swiper-arrow-mask);
      -webkit-mask-size: contain;
      mask-size: contain;
      -webkit-mask-repeat: no-repeat;
      mask-repeat: no-repeat;
      -webkit-mask-position: center;
      mask-position: center;
    }
  }

  .unit-carousel .swiper-button-prev:hover,
  .unit-carousel .swiper-button-next:hover {
    opacity: 0.7;
  }

  .unit-carousel .swiper-button-next {
    right: 0;

    &::before {
      transform: scaleX(-1);
      transform-origin: center;
    }
  }

  .unit-carousel .swiper-button-prev {
    right: 59px;
  }

  .swiper-pagination {
    line-height: 1;
    user-select: none;
    -webkit-user-select: none;
    caret-color: transparent;
  }

  .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
    margin: 0 5px;
    background: #ccc;
    opacity: 1;
    user-select: none;
    -webkit-user-select: none;
    caret-color: transparent;
  }

  .swiper-pagination-bullet-active {
    background: var(--color-main);
  }

  .unit-carousel .unit-swiper-base .swiper-pagination {
    /* 見出し(unit-carousel__ttl)の有無で .unit-swiper-base の高さが変わり、
     bottom指定の絶対配置だと写真に重なることがあるため通常フローに乗せる */
    position: static;
    bottom: auto;
    left: auto;
    width: 100%;
    margin-top: 12px;
    text-align: center;
  }

  @media screen and (max-width: 768px) {
    .unit-carousel.unit-block {
      width: calc(100% + 40px);
      margin-left: -20px;
      margin-right: -20px;
    }

    .unit-carousel .unit-swiper-base {
      padding: 0 16px;
      box-sizing: border-box;
    }

    /* ドットをスライド下の一段に、MORE・前後ナビはその下の段へ（重なり防止） */
    .unit-carousel .unit-swiper-base .swiper-pagination {
      position: static !important;
      inset: auto !important;
      top: auto !important;
      bottom: auto !important;
      left: auto !important;
      right: auto !important;
      transform: none !important;
      width: 100%;
      margin-top: 0.75em;
      margin-bottom: 0;
      padding: 0 8px;
      box-sizing: border-box;
      text-align: center;
    }

    .unit-carousel__footer {
      margin-top: 14px;
    }

    .unit-carousel__ttl {
      font-size: 1.4rem;
    }

    .unit-carousel__time {
      font-size: 1.4rem;
    }

    .unit-carousel__cat {
      font-size: 1.2rem;
    }

    .unit-carousel__viewmore {
      flex-basis: 100%;
      display: flex;
      justify-content: flex-end;

      a {
        font-size: 2.1rem;
        min-height: 48px;
        padding: 0 24px;
        gap: 14px;
        line-height: 1;
      }

      .unit-arrowbox {
        width: 64px;
        min-width: 64px;
        height: calc(64px * 9.68 / 62.72);
      }
    }

    .unit-carousel .swiper-button-prev,
    .unit-carousel .swiper-button-next {
      --swiper-navigation-size: 50px;
      width: 50px;
      height: 50px;

      &::before {
        width: 14px;
        height: calc(14px * 9.68 / 12.72);
      }
    }

    .unit-carousel .swiper-button-prev {
      right: 59px;
    }
  }

  /* 表（.unit-table は自動レイアウトで CMS のセル幅を尊重／.unit-ww-content は JS でラップして横スクロール） */
  .unit-table,
  .unit-ww-content {


    table {
      width: 100%;
      margin-bottom: 10px;
    }

    th,
    td {
      padding: 6px;
      border: 1px solid var(--color-border);
      vertical-align: middle;
      /* CMS の width は中身の幅想定。border-box のままだと padding が width に含まれ、文字領域が 8em 未満になりやすい */
      box-sizing: content-box;
      /* reset の * { min-width: 0 } を打ち消し、セルが内容より狭まって日本語が改行されるのを防ぐ */
      min-width: auto;
    }

    th {
      color: var(--color-navy);
      background: var(--color-th-bg);
      font-size: 1.6rem;
      font-weight: var(--font-weight-semibold);
      text-align: center;
      padding: 1.3em;
    }

    td {
      font-size: 1.4rem;
      background-color: #fff;
      /*  text-align: left;*/
    }

    td.v-td-center {
      text-align: center;
    }

    td.v-td-right {
      text-align: right;
    }

    th p,
    td p {
      margin-bottom: 0;
    }
  }

  .unit-table td {
    padding: 1.3em;
  }

  /*
.unit-ww-content td {
 
}*/

  /* 連絡先テーブル：th は背景なし・全幅・左寄せ */
  .unit-table.unit-table__contact th {
    background: none;
    width: 100%;
    text-align: left;
    /* 前の td 行の罫線との間隔を確保 */
    padding-top: 60px;
    padding-bottom: 5px;
  }

  /* 先頭の見出し行には上余白を付けない */
  .unit-table.unit-table__contact tr:first-child th {
    padding-top: 6px;
  }

  /* 連絡先テーブル：罫線は td 行の下だけに引く */
  .unit-table.unit-table__contact th,
  .unit-table.unit-table__contact td {
    border: none;
  }

  .unit-table.unit-table__contact td {
    background: none;
    border-bottom: 1px solid var(--color-border);
    padding-bottom: 20px;
    font-size: 1.8rem;
  }

  .unit-table.unit-table__contact td.v-td1 {
    padding-left: 30px;
    /* td2・td3 は内容幅で確保し、残りを td1 が受ける */
    width: auto;
    font-weight: var(--font-weight-medium);
  }

  .unit-table.unit-table__contact td.v-td2 {
    padding-right: 30px;
    text-align: right;
    font-size: 1.6rem;
    white-space: nowrap;
    width: 1%;
  }

  .unit-table.unit-table__contact td.v-td3 {
    padding-right: 80px;
    text-align: right;
    font-size: 1.6rem;
    white-space: nowrap;
    width: 1%;
  }

  /* 連絡先テーブルの電話リンクは SP のみ有効 */
  @media screen and (min-width: 769px) {

    .unit-table.unit-table__contact td.v-td1,
    .unit-table.unit-table__contact td.v-td2,
    .unit-table.unit-table__contact td.v-td3 {
      padding-top: 0;
    }

    .unit-table.unit-table__contact a[href^="tel:"] {
      pointer-events: none;
      cursor: default;
    }
  }

  /* 連絡先テーブル SP：th・td を縦積みに */
  @media screen and (max-width: 768px) {

    .unit-table.unit-table__contact table,
    .unit-table.unit-table__contact tbody,
    .unit-table.unit-table__contact tr,
    .unit-table.unit-table__contact th,
    .unit-table.unit-table__contact td {
      display: block;
      width: 100%;
      box-sizing: border-box;
    }

    /* 罫線と次見出しの余白 */
    .unit-table.unit-table__contact th {
      padding-top: 25px;
    }

    .unit-table.unit-table__contact tr:first-child th {
      padding-top: 6px;
    }

    /* PC用の nth-child 指定（width:1%・右寄せ・右パディング）を同詳細度で打ち消す */
    .unit-table.unit-table__contact td.v-td1,
    .unit-table.unit-table__contact td.v-td2,
    .unit-table.unit-table__contact td.v-td3 {
      width: 100%;
      border-bottom: none;
      padding: 0 0 6px 20px;
      text-align: left;
      white-space: normal;
      font-size: 1.4rem;
    }

    .unit-table.unit-table__contact td.v-td1 {
      font-size: 1.6rem;
    }

    /* 罫線はデータ行の最後のセルの下だけに引く */
    .unit-table.unit-table__contact td.v-td3 {
      border-bottom: 1px solid var(--color-border);
      padding-bottom: 10px;
    }
  }

  /* th 表示バリエーション（ラッパーに付与。PC・SP共通） */
  .v-th-bg-left.unit-block th {
    background: var(--color-th-bg);
    ;
    text-align: left;
  }

  .v-th-nobg-center.unit-block th {
    background: #fff;
    color: var(--color-text);
    text-align: center;
  }

  .v-th-nobg-left.unit-block th {
    background: #fff;
    color: var(--color-text);
    text-align: left;
  }

  .v-th-font-normal.unit-block th {
    font-weight: var(--font-weight-normal);
  }

  /* 表の左右（外側）の縦罫線を非表示 */
  .v-no-sideborder.unit-block table tr>th:first-child,
  .v-no-sideborder.unit-block table tr>td:first-child {
    border-left: none;
  }

  .v-no-sideborder.unit-block table tr>th:last-child,
  .v-no-sideborder.unit-block table tr>td:last-child {
    border-right: none;
  }

  /* .v-layout-block：SP のみ th/td を縦積み（block・幅100%）にする（PC は通常の表レイアウト） */
  @media screen and (max-width: 768px) {

    .v-layout-block.unit-block table,
    .v-layout-block.unit-block thead,
    .v-layout-block.unit-block tbody,
    .v-layout-block.unit-block tr,
    .v-layout-block.unit-block th,
    .v-layout-block.unit-block td {
      display: block;
      width: 100% !important;
      box-sizing: border-box;
    }

    /* block 化で border-collapse が無効になり罫線が重なるため、セルを 1px 上に詰めて重ねる */
    .v-layout-block.unit-block th,
    .v-layout-block.unit-block td {
      margin-bottom: -1px;
    }

    /* block 化では全セルが全幅になるため、左右罫線は全セルで消す（:first/:last だけだと不揃いになる） */
    .v-layout-block.v-no-sideborder.unit-block th,
    .v-layout-block.v-no-sideborder.unit-block td {
      border-left: none;
      border-right: none;
    }
  }

  .unit-table {
    &.v-scroll {
      overflow-x: auto;
      overflow-y: hidden;
      -webkit-overflow-scrolling: touch;
      user-select: text;
      cursor: auto;
    }

    &:not(.v-scroll) {
      table {
        /* fixed だと列が均等化されやすく、CMS の th/td width が効きにくい */
        table-layout: auto;
      }
    }
  }

  /* ScrollHint が inline で overflow:auto を付与しても、縦スクロールは出さない */
  .unit-table.v-scroll.scroll-hint,
  .unit-ww-content .unit-ww-content__table-wrap.v-scroll.scroll-hint {
    overflow-x: auto !important;
    overflow-y: hidden !important;
  }

  /* .unit-ww-content 内 table は common.js で .unit-ww-content__table-wrap に包む */
  .unit-ww-content .unit-ww-content__table-wrap {
    position: relative;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;

    &.v-scroll {
      user-select: text;
      cursor: auto;
    }

    table {
      width: 100%;
      min-width: 100%;
      table-layout: auto;
    }
  }

  @media screen and (max-width: 768px) {
    .unit-table.v-scroll {
      user-select: none;
      cursor: grab;

      &:active {
        cursor: grabbing;
      }
    }

    .unit-ww-content .unit-ww-content__table-wrap.v-scroll {
      user-select: none;
      cursor: grab;

      &:active {
        cursor: grabbing;
      }
    }
  }

  /* PC：ラッパー・表をコンテナ幅いっぱいに */
  @media screen and (min-width: 769px) {
    .unit-table {
      width: 100%;
      box-sizing: border-box;
      overflow-x: auto;
      overflow-y: hidden;
    }

    .unit-table table {
      border-collapse: collapse;
    }

    .v-width-large .unit-table {
      width: 100%;
    }

    .v-width-midium .unit-table {
      width: 70%;
    }

    .v-width-small .unit-table {
      width: 50%;
    }

    .v-pos-center .unit-table {
      margin-left: auto;
      margin-right: auto;
    }

    .unit-ww-content .unit-ww-content__table-wrap {
      width: 100%;
      overflow-x: auto;
      overflow-y: hidden;
    }

    .unit-ww-content .unit-ww-content__table-wrap table {
      width: 100%;
      min-width: 100%;
      max-width: 100%;
      border-collapse: collapse;
    }
  }

  /* CMS 由来の表セル（旧 HTML クラス） */
  .align_ce {
    text-align: center;
  }

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

    .unit-table,
    .unit-ww-content {
      th {
        font-size: 1.4rem;
      }


      td {
        padding: 6px;
        font-size: 1.2rem;
      }
    }

    /* SP：セルに max-width を設けて折り返しを強制（横スクロールは維持） */
    .unit-ww-content .unit-ww-content__table-wrap {
      table {
        width: auto;
        min-width: 100%;
      }
    }

    .unit-block.v-scroll-none table {
      min-width: 100%;
    }

    .unit-block.v-scroll-small table {
      min-width: 120vw;
    }

    .unit-block.v-scroll-midium table {
      min-width: 140vw;
    }

    .unit-block.v-scroll-large table {
      min-width: 160vw;
    }

    .unit-table.v-scroll,
    .unit-ww-content .unit-ww-content__table-wrap.v-scroll {

      th,
      td {
        /* max-width: 28vw;
      min-width:  60vw;*/
        /*  white-space: normal;
      overflow-wrap: anywhere;
      word-break: break-word;*/
        padding: 10px 8px;
      }

      /* セル内の子要素（ul/li など）も折り返し継承 */
      th *,
      td * {
        white-space: inherit;
        overflow-wrap: inherit;
        word-break: inherit;
      }

      /* li のハンギングインデントを解除して狭いセルでも崩れないようにする */
      th ul,
      th ol,
      td ul,
      td ol {
        margin-left: 0;
        padding-left: 1.2em;
      }

      th li,
      td li {
        text-indent: 0;
        padding-left: 0;
      }
    }

    /* 連絡先テーブル（v-scroll共通padding上書き） */
    .unit-table.unit-table__contact .unit-ww-content__table-wrap.v-scroll th {
      padding-top: 25px;
    }

    .unit-table.unit-table__contact .unit-ww-content__table-wrap.v-scroll tr:first-child th {
      padding-top: 6px;
    }

    .unit-table.unit-table__contact .unit-ww-content__table-wrap.v-scroll td.v-td1,
    .unit-table.unit-table__contact .unit-ww-content__table-wrap.v-scroll td.v-td2,
    .unit-table.unit-table__contact .unit-ww-content__table-wrap.v-scroll td.v-td3 {
      width: 100%;
      border-bottom: none;
      padding: 0 0 8px 20px;
      text-align: left;
      white-space: normal;
      font-size: 1.4rem;
    }

    .unit-table.unit-table__contact .unit-ww-content__table-wrap.v-scroll td.v-td1 {
      font-size: 1.6rem;
    }

    .unit-table.unit-table__contact .unit-ww-content__table-wrap.v-scroll td.v-td3 {
      border-bottom: 1px solid var(--color-border);
      padding-bottom: 20px;
    }
  }

  /* 表キャプション */
  .unit-table-caption {
    color: #999999;
  }

  .unit-ww-content.unit-table-caption p,
  .unit-ww-content.unit-table-caption ul,
  .unit-ww-content.unit-table-caption ol {
    font-size: 1.4rem;
    margin-bottom: 8px;
  }

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

    .unit-ww-content.unit-table-caption p,
    .unit-ww-content.unit-table-caption ul,
    .unit-ww-content.unit-table-caption ol {
      font-size: 1.2rem;
    }
  }

  /* 表ラッパー（.unit-table を囲み v-border / v-gray を効かせる。横スクロールは内側 .unit-table に付与） */
  .unit-table-wrap {
    box-sizing: border-box;



    &.v-border {
      border: 1px solid var(--color-border);
      padding: 32px;
    }

    &.v-gray {
      background: var(--color-gray);
      padding: 32px;
    }
  }

  @media screen and (max-width: 768px) {
    .unit-table-wrap {

      &.v-border,
      &.v-gray {
        padding: 18px;
      }
    }
  }

  /* 詳細リスト */
  .unit-detaillist {
    display: grid;
    grid-template-columns: 200px auto;
    border-bottom: 1px solid var(--color-border);

    dt,
    dd {
      padding: 24px 0;
      border-top: 1px solid var(--color-border);
    }

    dt {
      color: var(--color-main);
      padding-right: 32px;
    }

    p {
      line-height: 1.45;
    }

    &.v-grid2 {
      dd {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
      }

      p {
        margin-top: 0;
      }
    }
  }

  @media screen and (max-width: 768px) {
    .unit-detaillist {
      grid-template-columns: 1fr;

      dt,
      dd {
        padding: 18px 0;
      }

      dt {
        font-size: 1.8rem;
      }

      dd {
        border: none;
        padding-top: 0;
      }

      &.v-grid2 dd {
        grid-template-columns: 1fr;
        gap: 1em;
      }
    }
  }

  /* 開閉パネル */
  .unit-accordion {
    border-bottom: 1px solid var(--color-border);

    details {
      border-top: 1px solid var(--color-border);

      &[open] summary::after {
        transform: rotate(0);
      }

      &[open] summary.js-accordion-link::after {
        transform: translateY(-50%) rotate(-45deg);
      }
    }

    summary {
      list-style: none;
      width: 100%;
      color: var(--color-main);
      font-size: 18px;
      font-weight: var(--font-weight-bold);
      padding: 20px 30px 20px 0;
      user-select: none;
      cursor: pointer;
      position: relative;

      &::before,
      &::after {
        content: "";
        display: inline-block;
        width: 16px;
        border-bottom: 2px solid var(--color-text);
        position: absolute;
        right: 0;
        top: 50%;
        transition: 0.2s;
      }

      &::after {
        transform: rotate(90deg);
      }

      &.js-accordion-link::before {
        display: none;
      }

      &.js-accordion-link::after {
        width: 8px;
        height: 8px;
        border-bottom: none;
        border-right: 2px solid var(--color-text);
        border-bottom: 2px solid var(--color-text);
        right: 2px;
        top: 50%;
        transform: translateY(-50%) rotate(-45deg);
      }

      &:hover {
        opacity: 0.7;
      }

      &::-webkit-details-marker {
        display: none;
        /* Chrome/Safari/Edge 対応 */
      }
    }

    .unit-accordion-mid {
      list-style: none;
      width: 100%;
      color: var(--color-main);
      font-size: 18px;
      font-weight: var(--font-weight-bold);
      padding: 20px 30px 20px 0;
      margin-bottom: 0;
      user-select: none;
      cursor: default;
      position: relative;
      border-top: 1px solid var(--color-border);
    }

    .unit-accordion__content {
      margin-bottom: 25px;
    }

    /* 写真（__content_ph）があるときは2カラム */
    .unit-accordion__content:has(.unit-accordion__content_ph) {
      display: flex;
      gap: 24px;
      align-items: flex-start;
    }

    .unit-accordion__content_text {
      flex: 1 1 auto;
      min-width: 0;
    }

    .unit-accordion__content_ph {
      flex: 0 0 var(--accordion-ph-width, 48%);
      order: -1;
    }

    /* 写真の幅 */
    .unit-accordion__content.v-large .unit-accordion__content_ph {
      --accordion-ph-width: 48%;
    }

    .unit-accordion__content.v-medium .unit-accordion__content_ph {
      --accordion-ph-width: 33%;
    }

    .unit-accordion__content.v-small .unit-accordion__content_ph {
      --accordion-ph-width: 25%;
    }

    /* 右配置 */
    .unit-accordion__content.v-reverse .unit-accordion__content_ph {
      order: 0;
    }

    /* 写真トリミング（標準：4:3 カバー） */
    .unit-accordion__content_ph img {
      display: block;
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
    }

    /* トリミングなし */
    .unit-accordion__content.v-trim-contain .unit-accordion__content_ph img {
      aspect-ratio: auto;
      object-fit: contain;
    }
  }

  @media screen and (max-width: 768px) {
    .unit-accordion .unit-accordion__content:has(.unit-accordion__content_ph) {
      flex-direction: column;
    }

    .unit-accordion .unit-accordion__content_text,
    .unit-accordion .unit-accordion__content_ph {
      flex-basis: auto;
      width: 100%;
    }

    /* v-reverse：SP は文字が先（DOM 順） */
    .unit-accordion .unit-accordion__content.v-reverse .unit-accordion__content_ph {
      order: 0;
    }
  }

  @media screen and (max-width: 768px) {
    .unit-accordion {
      summary {
        font-size: 1.6rem;
        padding: 16px 30px 16px 0;
      }

      .unit-accordion-mid {
        font-size: 1.6rem;
        padding: 16px 30px 16px 0;
      }
    }
  }

  /* 続きを読む */
  .unit-readmore {
    position: relative;
  }

  .unit-readmore.open {
    .unit-readmore__content {
      -webkit-line-clamp: unset;
      line-clamp: unset;
      overflow: visible;
    }

    .unit-readmore__btn {
      background: var(--color-main);
      border-color: transparent;
      color: #fff;
    }

    .unit-readmore__arrow {
      background-color: #fff;
      -webkit-mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.89' height='13' viewBox='0 0 9.89 13'%3E%3Cpolygon points='8.55 6.29 5.9 3.65 5.9 13 3.99 13 3.99 3.65 1.35 6.29 0 4.95 4.95 0 9.89 4.95 8.55 6.29'/%3E%3C/svg%3E");
      mask-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.89' height='13' viewBox='0 0 9.89 13'%3E%3Cpolygon points='8.55 6.29 5.9 3.65 5.9 13 3.99 13 3.99 3.65 1.35 6.29 0 4.95 4.95 0 9.89 4.95 8.55 6.29'/%3E%3C/svg%3E");
    }
  }

  .unit-readmore__content {
    display: -webkit-box;
    line-height: 1.5em;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-line-clamp: 3;
    line-clamp: 3;
    transition: max-height 0.2s;
    margin-bottom: 16px;
  }

  .unit-readmore__btn {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 150px;
    font-weight: var(--font-weight-bold);
    color: var(--color-text);
    background: transparent;
    border: 1px solid var(--color-text);
    border-radius: 30px;
    padding: 8px 12px;
    transition: background-color 0.3s, color 0.3s, border-color 0.3s;
  }

  .unit-readmore__arrow {
    display: inline-block;
    width: 20px;
    aspect-ratio: 1/1;
    background-color: var(--color-text);
    -webkit-mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.89' height='13' viewBox='0 0 9.89 13'%3E%3Cpolygon points='1.35 6.71 3.99 9.35 3.99 0 5.9 0 5.9 9.35 8.55 6.71 9.89 8.05 4.95 13 0 8.05 1.35 6.71'/%3E%3C/svg%3E") no-repeat center / contain;
    mask: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='9.89' height='13' viewBox='0 0 9.89 13'%3E%3Cpolygon points='1.35 6.71 3.99 9.35 3.99 0 5.9 0 5.9 9.35 8.55 6.71 9.89 8.05 4.95 13 0 8.05 1.35 6.71'/%3E%3C/svg%3E") no-repeat center / contain;
  }



  /* ボタン用ラッパー .unit-btn-box-wrap（.unit-list-box / .unit-ww-box と同系の v-*） */
  .unit-btn-box-wrap {
    box-sizing: border-box;

    &.is-hidden-backnumber {
      display: none !important;
    }

    &.v-border {
      border: 1px solid var(--color-border);
      padding: 32px;
    }

    &.v-yellow {
      background: #fffff3;
      padding: 32px;
    }

    &.v-gray {
      background: var(--color-gray);
      padding: 32px;
    }
  }

  @media screen and (max-width: 768px) {
    .unit-btn-box-wrap {

      &.v-border,
      &.v-yellow,
      &.v-gray {
        padding: 18px;
      }
    }
  }

  /* ボタン */
  .unit-btnbox {
    /*  padding-top: 10px;*/
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 40px;
    row-gap: 10px;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;

    &.is-hidden-backnumber {
      display: none !important;
    }

    .unit-link {
      padding: 15px 22px 15px 44px;
      font-size: 1.5rem;
    }

    /* columns */
    &.v-col1 {
      flex-direction: column;
      align-items: center;

      .unit-link {
        width: 40%;
        min-width: 0;
        max-width: 100%;
      }

      &.v-left {
        align-items: flex-start;
      }

      &.v-right {
        align-items: flex-end;
      }

      &.v-center {
        margin-left: auto;
        margin-right: auto;
      }

      &.v-inner-pad {
        padding-bottom: 25px;
      }

    }

    /* column-gap 分を除いた幅（48%×2+gap で100%超えしないよう calc） */
    &.v-col2 {
      width: calc(80% + 30px);
      column-gap: 30px;
      row-gap: 20px;

      .unit-link {
        width: calc((100% - 30px) / 2);
        max-width: calc((100% - 30px) / 2);
        min-width: 0;
      }
    }

    &.v-col3 {
      column-gap: 30px;
      row-gap: 20px;

      .unit-link {
        width: calc((100% - 60px) / 3);
        max-width: calc((100% - 60px) / 3);
        min-width: 0;
      }
    }

    &.v-col4 {
      column-gap: 30px;
      row-gap: 20px;

      .unit-link {
        width: calc((100% - 90px) / 4);
        max-width: calc((100% - 90px) / 4);
        min-width: 0;
      }
    }

    &.v-col5 {
      column-gap: 24px;

      .unit-link {
        width: 180px;
      }
    }

    &.v-long .unit-link {
      width: 48%;
    }

    /* styles */
    &.v-transparent .unit-link {
      background: transparent;
    }

    &.v-simple .unit-link {
      border-top: 1px solid #cecece;
      border-bottom: 1px solid #cecece;
    }

    &.v-left {
      justify-content: left;
    }

    &.v-right {
      justify-content: right;
    }

    &.v-center {
      margin-left: auto;
      margin-right: auto;
    }
  }

  .unit-link {
    width: 220px;
    /* max-width: 48%; */
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    position: relative;
    font-weight: var(--font-weight-medium);
    padding: 22px;
    box-sizing: border-box;
    text-decoration: none;
    color: var(--color-text);

    &:hover {
      color: var(--color-main);
    }
  }

  .unit-btnbox:not(.v-simple) {
    .unit-arrowbox {
      position: absolute;
      right: 0;
      top: 50%;
      transform: translate(50%, -50%);
    }

    .unit-link {
      background: #fff;
      border: 1px solid var(--color-border);
      border-radius: 9999px;
      transition:
        border-color 0.2s ease,
        color 0.2s ease;

      &:hover {
        border-color: var(--color-main);

        .unit-arrowbox {
          right: -5px;
        }

        .unit-icon.v-arrow {
          animation: slideArw 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
        }
      }
    }
  }

  .unit-btnbox.v-col1.v-center.v-txt-center .unit-link {
    justify-content: center;
    text-align: center;
  }

  .unit-btnbox.v-col1.v-center.v-txt-center .unit-link__in {
    width: 100%;
    text-align: center;
  }

  @media screen and (max-width: 768px) {
    .unit-btnbox {
      padding-top: 0px;
      width: 90%;
      margin-left: auto;
      margin-right: auto;
      column-gap: 6%;

      &.v-col5 {
        width: 90%;
      }

      .unit-link {
        padding: 15px 22px 15px 30px;
        font-size: 1.4rem;
        width: 100%;
        max-width: 100%;
      }

      &.v-inner-pad {
        padding-bottom: 20px;
      }
    }

    .unit-link {
      /* width: 47%;*/
      padding: 20px 14px;
    }

    /* SP：1カラム・ボタン幅100% */
    .unit-btnbox.v-col1 .unit-link,
    .unit-btnbox.v-col2 .unit-link,
    .unit-btnbox.v-col3 .unit-link,
    .unit-btnbox.v-col4 .unit-link {
      width: 100%;
      max-width: 100%;
    }

    .unit-btnbox.v-col2,
    .unit-btnbox.v-col3,
    .unit-btnbox.v-col4 {
      row-gap: 10px;
    }

    /* v-col3：2列（column-gap 6% を1本分差し引き） */
    /* .unit-btnbox.v-col3 .unit-link {
    width: calc((100% - 6%) / 2);
    max-width: calc((100% - 6%) / 2);
  }*/
  }

  /* テキストリンク */
  .unit-txtlinkgrid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, auto));
    gap: 20px;
    color: var(--color-main);
    line-height: 1.2;

    a {
      display: flex;
      align-items: flex-start;
      gap: 5px;

      .unit-icon {
        margin-top: 0.35em;
        flex-shrink: 0;
      }

      &:hover {
        opacity: 0.7;
        /* text-decoration: underline;*/
      }
    }
  }

  /* テキストリンク */
  .unit-txtlinklist {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 1em;
    color: var(--color-main);

    a {
      display: flex;
      align-items: flex-start;
      gap: 8px;

      &::before {
        content: "";
        display: inline-block;
        width: 8px;
        aspect-ratio: 1/1;
        margin-top: 0.35em;
        border-top: 2px solid var(--color-main);
        border-right: 2px solid var(--color-main);
        transform: rotate(45deg);
        flex-shrink: 0;
      }

      &:hover {
        opacity: 0.7;
        /* text-decoration: underline;*/
      }
    }
  }

  /* アンカーリンク */
  .unit-anchor {
    color: var(--color-main);
    display: flex;
    flex-wrap: wrap;
    column-gap: 28px;

    a {
      color: var(--color-main);
      display: inline-block;
      width: fit-content;
      max-width: 100%;
      padding: 1em;
      border-bottom: 1px solid var(--color-mgray);
      box-sizing: border-box;
      vertical-align: top;

      &::after {
        content: "";
        display: inline-block;
        width: 8px;
        aspect-ratio: 1/1;
        margin-left: 10px;
        vertical-align: middle;
        border-bottom: 2px solid var(--color-main);
        border-right: 2px solid var(--color-main);
        transform: translateY(-0.1em) rotate(45deg);
        transition: transform 0.22s ease;
      }

      &:hover::after {
        transform: translateY(0.06em) rotate(45deg);
      }

      &:hover {
        border-bottom: 0;
      }
    }
  }

  @media screen and (max-width: 768px) {
    .unit-anchor a {
      padding: 0.8em;
    }
  }

  /* 強調ボタン */
  .unit-cvbtn {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    column-gap: 32px;
    row-gap: 16px;
    font-size: 2rem;
  }

  .unit-cvbtn__link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--color-main);
    color: #fff;
    padding: 1em;
    font-weight: var(--font-weight-bold);

    .unit-icon--doc {
      width: 28px;
    }

    .unit-icon--pc {
      width: 35px;
    }

    &:hover {
      opacity: 0.7;
    }
  }

  @media screen and (max-width: 768px) {
    .unit-cvbtn {
      font-size: 1.8rem;
    }

    .unit-cvbtn__link {
      .unit-icon--doc {
        width: 24px;
      }

      .unit-icon--pc {
        width: 30px;
      }
    }
  }

  /* ボーダー */
  .unit-border {
    width: 100%;
    border-top: 1px solid var(--color-border);
  }

  /* 強調ボックス */
  .unit-collout {
    background: var(--color-gray);
    padding: 40px;

    &.v-yellow {
      background: var(--color-yellow);
    }

    &.v-gray {
      background: var(--color-gray);
    }

    &.v-border {
      background: #fff;
      border: 1px solid var(--color-border);
    }
  }

  @media screen and (max-width: 768px) {
    .unit-collout {
      padding: 18px;
    }
  }

  /* GoogleMap/YouTube */
  .unit-embed {
    &.v-width-large {
      width: 100%;
      margin-left: auto;
      margin-right: auto;
    }

    &.v-width-midium {
      width: 70%;
      margin-left: auto;
      margin-right: auto;
    }

    &.v-width-small {
      width: 50%;
      margin-left: auto;
      margin-right: auto;
    }
  }

  .unit-embed__iframe {
    position: relative;
    aspect-ratio: 16 / 9;

    iframe {
      width: 100%;
      height: 100%;
      border: 0;
      object-fit: cover;
    }
  }

  .unit-embed__ttl {
    display: block;
    margin-top: 12px;
    line-height: 1.5;
    font-weight: var(--font-weight-bold);
  }

  .unit-embed__description {
    margin-top: 8px;
    font-size: 1.4rem;
    line-height: 1.6;
  }

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

    .unit-embed.v-width-large,
    .unit-embed.v-width-midium,
    .unit-embed.v-width-small {
      width: 100%;
    }
  }

  /*調整用*/

  .centering {
    .center {
      text-align: center;
    }
  }

  .unit-wraps {
    .text p {
      margin-bottom: 1.6rem;
      line-height: 1.9;

      &:last-child {
        margin-bottom: 0;
      }
    }


  }

}
