@layer unit {

  /* ページヘッダー */
  .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-text) !important;
  }

  .unit-breadcrumbs__item:not(.is-current) a {
    color: #c7c7c7;
  }

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

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

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

  @media screen and (max-width: 480px) {
    .unit-block:not(:first-child) {
      margin-top: 48px;
    }

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

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

    &.v-pdf {
      background-image: url("../image/icon/pdf.png");
    }

    &.v-excel {
      background-image: url("../image/icon/excel.png");
    }

    &.v-external {
      width: 18px;
      background-image: url("../image/icon/external.png");
    }

    &.v-word {
      background-image: url("../image/icon/word.png");
    }

    &.v-doc {
      background-image: url("../image/icon/doc.png");
    }

    &.v-pc {
      background-image: url("../image/icon/pc.png");
    }
  }

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

      &.v-external {
        width: 14px;
      }
    }
  }

  /* 矢印 */
  .unit-arrowbox {
    display: inline-block;
    width: 34px;
    height: 22px;
    vertical-align: middle;
    background: var(--color-main);
    transition: 0.2s;
    position: relative;

    &::before {
      content: "";
      display: inline-block;
      width: 80%;
      border-bottom: 1px solid #fff;
      position: absolute;
      left: 0;
      top: calc(50% + 1px);
    }

    &::after {
      content: "";
      display: inline-block;
      width: 8px;
      border-bottom: 1px solid #fff;
      position: absolute;
      right: 20%;
      top: 9px;
      transform: rotate(40deg);
    }
  }

  @media screen and (max-width: 480px) {
    .unit-arrowbox {
      width: 24px;
      height: 18px;

      &::after {
        width: 6px;
        top: 8px;
      }
    }
  }

  /* 見出し */
  .unit-ttl {
    &.v-style1 {
      font-size: clamp(2.1rem, 4.6vw, 2.8rem);
      color: var(--color-main);
    }

    &.v-style2 {
      font-size: clamp(1.8rem, 3.8vw, 2.4rem);
      padding-bottom: 0.5em;
      position: relative;

      &::before {
        content: "";
        display: inline-block;
        width: 5em;
        border-bottom: 2px solid #ccc;
        position: absolute;
        left: 0;
        bottom: 0;
      }

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

    &.v-style3 {
      font-size: clamp(1.6rem, 3vw, 2rem);
      color: var(--color-main);
    }

    &.v-style4 {
      font-size: clamp(1.6rem, 3vw, 2rem);
    }
  }

  /* 学部ごとのカラー */
  #page-bungaku {
    .unit-ttl {

      &.v-style1,
      &.v-style3 {
        color: var(--color-bungaku);
      }
    }

    &.v-style2::after {
      border-color: var(--color-bungaku);
    }
  }

  #page-shinri {
    .unit-ttl {

      &.v-style1,
      &.v-style3 {
        color: var(--color-shinri);
      }
    }

    &.v-style2::after {
      border-color: var(--color-shinri);
    }
  }

  #page-genbi {
    .unit-ttl {

      &.v-style1,
      &.v-style3 {
        color: var(--color-genbi);
      }
    }

    &.v-style2::after {
      border-color: var(--color-genbi);
    }
  }

  #page-kasei {
    .unit-ttl {

      &.v-style1,
      &.v-style3 {
        color: var(--color-kasei);
      }
    }

    &.v-style2::after {
      border-color: var(--color-kasei);
    }
  }

  #page-yakugaku {
    .unit-ttl {

      &.v-style1,
      &.v-style3 {
        color: var(--color-yakugaku);
      }
    }

    &.v-style2::after {
      border-color: var(--color-yakugaku);
    }
  }

  #page-kango {
    .unit-ttl {

      &.v-style1,
      &.v-style3 {
        color: var(--color-kango);
      }
    }

    &.v-style2::after {
      border-color: var(--color-kango);
    }
  }

  #page-rikou {
    .unit-ttl {

      &.v-style1,
      &.v-style3 {
        color: var(--color-rikou);
      }
    }

    &.v-style2::after {
      border-color: var(--color-rikou);
    }
  }

  #page-daigakuin {
    .unit-ttl {

      &.v-style1,
      &.v-style3 {
        color: var(--color-daigakuin);
      }
    }

    &.v-style2::after {
      border-color: var(--color-daigakuin);
    }
  }

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

  /* リスト */
  .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: "・";
    }
  }

  .unit-orderlist {
    counter-reset: ol;

    li {
      text-indent: -18px;
      padding-left: 18px;
      counter-increment: ol;
    }

    li::before {
      content: counter(ol) ".";
      margin-right: 5px;
    }
  }

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

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

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

  /* 連番リスト */
  .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-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;
  }

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

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

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

  .unit-step__item {
    border: 1px solid var(--color-main);
    padding: 28px;
    counter-increment: step;
    position: relative;

    &: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: clamp(1.8rem, 3.8vw, 2.4rem);
    display: flex;
    align-items: center;
    gap: 20px;

    &::before {
      content: "STEP " counter(step);
      color: #fff;
      background: var(--color-main);
      display: inline-block;
      padding: 3px 12px 6px 12px;
      flex-shrink: 0;
    }
  }

  .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__img {
    width: 200px;
    flex-shrink: 0;

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

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

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

      &::before {
        transform: translateY(0);
      }
    }

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

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

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

    .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-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: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__viewmore {
    color: var(--color-main);
    font-size: 1.4rem;
    text-align: right;
    margin-top: auto;
    padding-top: 10px;

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

    .unit-arrowbox {
      margin-left: 10px;
      transform: translateY(-2px);
    }
  }

  @media screen and (max-width: 480px) {
    .unit-card__item {
      &.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-imgtxt {
    &.v-reverse .unit-imgtxt__flex {
      flex-direction: row-reverse;
    }

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

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

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

  .unit-imgtxt__img {
    width: 48%;

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

  .unit-imgtxt__content {
    width: 48%;

    p {
      margin-top: 1em;
    }
  }

  .unit-imgtxt__btn {
    margin-top: 32px;
  }

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

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

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

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

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

  /* 画像のみ */
  .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;
  }

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

  /* 画像 */
  .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: 1.5em;
    height: 1em;
    transform: translateY(2px);
    margin-left: 5px;

    &::after {
      top: 8px;
    }
  }

  /* 画像拡大 */
  .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;
    transition: 0.2s;

    img {
      width: 70px;
    }
  }

  .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;
  }

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

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

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

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

  .unit-carousel__ttl {
    font-size: 1.8rem;
    margin-top: 10px;
  }

  .unit-carousel__viewmore {
    margin-top: 20px;
    margin-right: 100px;
    color: var(--color-main);
    text-align: right;

    .unit-arrowbox {
      transform: translateY(-2px);
      margin-left: 10px;
    }
  }

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

  .swiper-button-prev,
  .swiper-button-next {
    width: 40px;
    height: 40px;
    background: var(--color-main);
    top: auto;
    bottom: 0;
    color: #fff;
    border: 1px solid #fff;

    svg {
      width: 10px;
    }
  }

  .swiper-button-prev {
    left: auto;
    right: 40px;
  }

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

    .unit-carousel__viewmore {
      margin-right: 80px;
    }

    .swiper-button-prev,
    .swiper-button-next {
      width: 30px;
      height: 30px;

      svg {
        width: 8px;
      }
    }

    .swiper-button-prev {
      right: 30px;
    }
  }

  /* 表 */
  .unit-table {
    table {
      width: 100%;
    }

    th,
    td {
      padding: 18px;
      border: 1px solid #cecece;
      vertical-align: middle;
      min-width: 200px;
    }

    th {
      color: var(--color-main);
      background: #eee;
      font-size: 1.8rem;
      text-align: center;
    }

    &.v-scroll {
      user-select: none;
      padding-right: 1px;
      cursor: grab;

      &:active {
        cursor: grabbing;
      }
    }

    &:not(.v-scroll) {
      table {
        table-layout: fixed;
      }
    }
  }

  @media screen and (max-width: 480px) {
    .unit-table {
      th {
        font-size: 1.6rem;
      }

      th,
      td {
        padding: 16px;
        min-width: 160px;
      }
    }
  }

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

    dt,
    dd {
      padding: 24px 0;
      border-top: 1px solid #ccc;
    }

    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: 480px) {
    .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 #ccc;

    details {
      border-top: 1px solid #ccc;

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

    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);
      }

      &:hover {
        opacity: 0.7;
      }

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

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

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

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

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

    .unit-readmore__btn {
      background: #ccc;
    }

    .unit-readmore__arrow::after {
      bottom: 13px;
      transform: rotate(32deg);
    }
  }

  .unit-readmore__content {
    display: -webkit-box;
    line-height: 1.5em;
    -webkit-box-orient: vertical;
    overflow: hidden;
    -webkit-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-bungaku);
    border: 1px solid var(--color-bungaku);
    border-radius: 30px;
    padding: 8px 12px;
  }

  .unit-readmore__arrow {
    display: inline-block;
    width: 20px;
    aspect-ratio: 1/1;
    border-radius: 50%;
    background: var(--color-bungaku);
    overflow: hidden;
    position: relative;

    &::before {
      content: "";
      display: inline-block;
      height: 11px;
      border-left: 1px solid #fff;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translateY(-50%);
    }

    &::after {
      content: "";
      display: inline-block;
      width: 6px;
      border-bottom: 1px solid #fff;
      position: absolute;
      left: 50%;
      bottom: 7px;
      transform: rotate(-32deg);
    }
  }

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

  /* ボタン */
  .unit-btnbox {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 40px;
    row-gap: 24px;

    /* columns */
    &.v-col3 {
      max-width: 770px;
      margin-left: auto;
      margin-right: auto;
    }

    &.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;
    }
  }

  .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-bold);
    padding: 22px;

    &: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: #eee;

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

  @media screen and (max-width: 768px) {
    .unit-btnbox {
      column-gap: 6%;

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

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

  /* テキストリンク */
  .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: center;
      gap: 5px;

      &: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: center;
      gap: 8px;

      &::before {
        content: "";
        display: inline-block;
        width: 8px;
        aspect-ratio: 1/1;
        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 {
      display: flex;
      align-items: center;
      gap: 10px;
      padding: 1em;
      border-bottom: 1px solid #ccc;

      &::after {
        content: "";
        display: inline-block;
        width: 8px;
        aspect-ratio: 1/1;
        border-bottom: 2px solid var(--color-main);
        border-right: 2px solid var(--color-main);
        transform: rotate(45deg);
      }
    }

    a::after {
      content: "";
    }
  }

  @media screen and (max-width: 480px) {
    .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: 24px;
    }

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

    &:hover {
      opacity: 0.7;
    }
  }

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

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

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

  /* ボーダー */
  .unit-border {
    width: 100%;
    border-top: 1px solid #cecece;
  }

  /* テキスト */
  .unit-txt.v-grid2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: 5%;
    row-gap: 28px;
  }

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

  /* 強調ボックス */
  .unit-collout {
    background: #eee;
    padding: 40px;

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

    &.v-border {
      background: #fff;
      border: 1px solid #cecece;
    }
  }

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

  /* GoogleMap/YouTube */
  .unit-embed {
    iframe {
      width: 100%;
      height: 100%;
      object-fit: cover;
      aspect-ratio: 16/9;
    }
  }
}