@charset "UTF-8";

@keyframes scroll-left {
  from {
    transform: translateX(0);
  }

  to {
    transform: translateX(-100%);
  }
}

/* ========================================
   @media screen and (min-width: 768px),print
======================================== */
@media screen and (min-width: 768px), print {
  #voice .system-list {
    display: grid;
    gap: 33px 40px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-bottom: 40px;
  }

  #voice .system-list li {
    border-radius: 20px;
    border: 2px solid #181c62;
    background: #fff;
    padding-block: 27px 11px;
  }

  #voice .system-list li a {
    display: block;
  }

  #voice .voice_loop {
    border-bottom: 2px solid #181c62;
    border-top: 2px solid #181c62;
    margin-bottom: 17px;
    padding-block: 8px;
  }

  #voice .inner.loop {
    overflow: hidden;
  }

  #voice .voice_loop_wrap {
    align-items: center;
    display: flex;
    width: 200%;
  }

  #voice .voice-txt {
    color: #181c62;
    font-size: 16px;
    font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.625;
    white-space: nowrap;
  }

  #voice .voice_slider {
    animation: scroll-left 40s linear infinite;
  }

  #voice .voice-con {
    display: grid;
    gap: 0 4.7%;
    grid-template-columns: 50% 44.8%;
    margin-inline: auto;
    width: min(95%, 640px);
  }

  #voice .system-pic img {
    height: 200px;
    height: clamp(10rem, 8.333rem + 3.47vw, 12.5rem);
    width: 100%;
  }

  #voice .voice-con-right {
    position: relative;
    top: 40px;
    top: clamp(0rem, -1.667rem + 3.47vw, 2.5rem);
  }

  #voice .voice-area {
    background: #181c62;
    color: #ffffff;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.1428571429;
    margin-bottom: 10px;
    padding: 4px 8px;
    width: -moz-fit-content;
    width: fit-content;
  }

  #voice .system-ttl-01 {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
  }

  /* =================================================
  詳細ページ (is-single) 
================================================= */
  #voice main.is-single {
  }

  #voice main.is-single .voice-txt {
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.625;
    white-space: wrap;
  }

  #voice main.is-single .system-name {
    font-size: 15px;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
  }
}

/* ========================================
   @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
  #voice .system-list li {
    background: #fff;
    border: 2px solid #181c62;
    border-radius: 4.831vw;
    padding-block: 7.903vw 10.87vw;
  }

  #voice .system-list li a {
    display: block;
  }

  #voice .voice_loop {
    border-bottom: 2px solid #181c62;
    border-top: 2px solid #181c62;
    margin-bottom: 4.831vw;
    padding-block: 0.966vw;
  }

  #voice .inner.loop {
    overflow: hidden;
  }

  #voice .voice_loop_wrap {
    align-items: center;
    display: flex;
    gap: 0 2vw;
    width: 100vh;
  }

  #voice .voice_slider {
    animation: scroll-left 40s linear infinite;
  }

  #voice .voice-txt {
    color: #181c62;
    font-size: 3.865vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.625;
    white-space: nowrap;
  }

  #voice .voice-con {
    display: grid;
    gap: 3.865vw 0;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    padding-inline: 2vw;
  }

  #voice .system-pic {
    margin-bottom: 0;
  }

  #voice .system-pic img {
    height: 46.377vw;
    width: 100%;
  }

  #voice .voice-con-right {
    position: static;
  }

  #voice .voice-area {
    color: #ffffff;
    font-size: 3.382vw;
    font-weight: 400;
    letter-spacing: 0.02em;
    line-height: 1.1428571429;
    margin-bottom: 1.449vw;
    padding: 0.483vw 0.966vw;
    width: -moz-fit-content;
    width: fit-content;
    background: #181c62;
  }

  #voice .system-ttl-01 {
    font-size: 3.623vw;
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.9333333333;
  }

  /* =================================================
  詳細ページ (is-single) 
================================================= */
  #voice main.is-single {
  }

  #voice main.is-single .voice-txt {
    color: #181c62;
    font-size: 3.865vw;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.625;
    margin-bottom: 2vw;
    white-space: wrap;
  }

  #voice main.is-single .system-name {
    font-size: 3.382vw;
  }
}
