@charset "UTF-8";
/*===============================================
● お客様の声 一覧 / 詳細 共通
===============================================*/
.personInfo {
  position: relative;
  color: #004E93;
  font-size: 1.25rem;
  font-weight: 700;
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.5;
  padding-left: 1.6em; }
  .personInfo::before {
    position: absolute;
    left: 0.25em;
    top: 0.25em;
    content: "";
    display: block;
    width: 1em;
    height: 1em;
    line-height: 1;
    background-color: #FFFFFF;
    border-radius: 50%; }
  .personInfo::after {
    position: absolute;
    left: 0.25em;
    top: 0.25em;
    transform: translate(50%, 50%);
    content: "";
    display: block;
    width: calc(1em * 0.5);
    height: calc(1em * 0.5);
    line-height: 1;
    background-color: #004E93;
    border-radius: 50%; }
  .personInfo span {
    display: inline-block; }

/*===============================================
● お客様の声 一覧
===============================================*/
.voice #voiceWrap {
  background-color: #04042E; }
  .voice #voiceWrap .inner {
    max-width: 1200px; }
  @media screen and (min-width: 770px) {
    .voice #voiceWrap .lead {
      padding: 4.5% 0 4%; } }
  @media screen and (max-width: 769px) {
    .voice #voiceWrap .lead {
      padding: 1.3em 0 1.5em; } }
  .voice #voiceWrap .lead .text {
    color: #FFFFFF;
    font-size: 1rem;
    line-height: 2; }
  .voice #voiceWrap .voiceContainer {
    display: flex;
    flex-direction: column;
    gap: 40px; }
    .voice #voiceWrap .voiceContainer .voiceBox {
      background-color: #F4F5F9;
      border-radius: 10px;
      overflow: hidden; }
      .voice #voiceWrap .voiceContainer .voiceBox a {
        display: flex; }
        @media screen and (min-width: 770px) {
          .voice #voiceWrap .voiceContainer .voiceBox a {
            align-items: flex-start;
            gap: 3.6%;
            padding: 20px 44px 24px 20px; } }
        @media screen and (max-width: 769px) {
          .voice #voiceWrap .voiceContainer .voiceBox a {
            flex-direction: column;
            padding: 24px; } }
        @media screen and (min-width: 770px) {
          .voice #voiceWrap .voiceContainer .voiceBox a .imageArea {
            width: 400px; } }
        .voice #voiceWrap .voiceContainer .voiceBox a .imageArea .image {
          aspect-ratio: 20 / 13; }
          .voice #voiceWrap .voiceContainer .voiceBox a .imageArea .image img {
            width: 100%;
            height: 100%;
            object-fit: cover; }
        .voice #voiceWrap .voiceContainer .voiceBox a .textArea {
          flex: 1;
          display: flex;
          flex-direction: column;
          justify-content: space-between;
          gap: 44px; }
          .voice #voiceWrap .voiceContainer .voiceBox a .textArea .personInfo {
            margin-top: 22px;
            margin-bottom: 12px; }
          .voice #voiceWrap .voiceContainer .voiceBox a .textArea .personComment {
            font-size: 1rem;
            line-height: 1.75; }
          .voice #voiceWrap .voiceContainer .voiceBox a .textArea .system {
            margin-top: 24px;
            display: flex;
            gap: 12px; }
            @media screen and (max-width: 1200px) {
              .voice #voiceWrap .voiceContainer .voiceBox a .textArea .system {
                flex-direction: column; } }
            .voice #voiceWrap .voiceContainer .voiceBox a .textArea .system .label {
              color: #FFFFFF;
              font-size: 1rem;
              background-color: #224A6F;
              padding: 2px 4px; }
              @media screen and (min-width: 770px) {
                .voice #voiceWrap .voiceContainer .voiceBox a .textArea .system .label {
                  height: fit-content; } }
              @media screen and (max-width: 1200px) {
                .voice #voiceWrap .voiceContainer .voiceBox a .textArea .system .label {
                  width: fit-content; } }
            .voice #voiceWrap .voiceContainer .voiceBox a .textArea .system .systemName .name {
              flex: 1;
              font-size: 1rem;
              font-weight: 700;
              line-height: 1.5; }
          .voice #voiceWrap .voiceContainer .voiceBox a .textArea .arrowText {
            display: flex;
            align-items: center;
            justify-content: flex-end;
            gap: 4px; }
            .voice #voiceWrap .voiceContainer .voiceBox a .textArea .arrowText p {
              font-size: 1rem; }
            .voice #voiceWrap .voiceContainer .voiceBox a .textArea .arrowText svg {
              width: 34px;
              height: 10px; }
.voice #contactUs .contactInner {
  max-width: 1200px; }

/*===============================================
● お客様の声 詳細
===============================================*/
.voice_detail {
  /* 導入システムタイトル
  ---------------------------------------- */
  /* お客様の声 内容
  ---------------------------------------- */ }
  @media screen and (max-width: 769px) {
    .voice_detail #systemTitle {
      padding-bottom: 32px; } }
  @media screen and (min-width: 770px) {
    .voice_detail #systemTitle {
      padding-top: 48px;
      padding-bottom: 40px; } }
  .voice_detail #systemTitle .subTitle {
    width: fit-content;
    margin: 0 auto 20px;
    color: #04042E;
    font-weight: 700;
    line-height: 1.5;
    padding: 0 8px;
    background-color: #0ED6FF; }
    @media screen and (max-width: 769px) {
      .voice_detail #systemTitle .subTitle {
        font-size: 0.875rem; } }
    @media screen and (min-width: 770px) {
      .voice_detail #systemTitle .subTitle {
        font-size: 1rem; } }
  .voice_detail #systemTitle .mainTitle {
    color: #0ED6FF;
    font-weight: 700;
    line-height: 1.5;
    text-align: center; }
    @media screen and (max-width: 769px) {
      .voice_detail #systemTitle .mainTitle {
        font-size: 1.75rem; } }
    @media screen and (min-width: 770px) {
      .voice_detail #systemTitle .mainTitle {
        font-size: 2.2rem; } }
    .voice_detail #systemTitle .mainTitle span {
      display: inline-block; }
  .voice_detail #voiceFrame {
    max-width: 1080px;
    margin: 0 auto;
    background-color: #F4F5F9;
    border-radius: 10px; }
    @media screen and (max-width: 769px) {
      .voice_detail #voiceFrame {
        padding: 32px 16px; } }
    @media screen and (min-width: 770px) {
      .voice_detail #voiceFrame {
        padding: 80px; } }
    .voice_detail #voiceFrame .person {
      display: flex; }
      @media screen and (max-width: 769px) {
        .voice_detail #voiceFrame .person {
          flex-direction: column;
          gap: 32px; } }
      @media screen and (min-width: 770px) {
        .voice_detail #voiceFrame .person {
          flex-direction: row;
          gap: 4.2%; } }
      .voice_detail #voiceFrame .person .textArea {
        flex: 1; }
        .voice_detail #voiceFrame .person .textArea .personInfo {
          padding-bottom: 16px;
          border-bottom: 1px solid #004E93; }
        .voice_detail #voiceFrame .person .textArea .personVoice {
          padding-top: 20px;
          color: #004E93;
          font-weight: 700;
          line-height: 1.5;
          letter-spacing: 0; }
          @media screen and (max-width: 769px) {
            .voice_detail #voiceFrame .person .textArea .personVoice {
              font-size: 1.375rem; } }
          @media screen and (min-width: 770px) {
            .voice_detail #voiceFrame .person .textArea .personVoice {
              font-size: clamp(1.8rem, 2.3vw, 2rem); } }
          @media screen and (min-width: 770px) {
            .voice_detail #voiceFrame .person .textArea .personVoice span {
              display: inline-block; } }
      @media screen and (min-width: 770px) {
        .voice_detail #voiceFrame .person .imageArea {
          max-width: 260px; } }
      .voice_detail #voiceFrame .person .imageArea .image {
        aspect-ratio: 13 / 10; }
        .voice_detail #voiceFrame .person .imageArea .image img {
          width: 100%;
          height: 100%;
          object-fit: cover; }
    @media screen and (max-width: 769px) {
      .voice_detail #voiceFrame .questionContainer {
        margin-top: 40px; } }
    @media screen and (min-width: 770px) {
      .voice_detail #voiceFrame .questionContainer {
        margin-top: 58px; } }
    .voice_detail #voiceFrame .questionContainer .questionBox:not(:first-of-type) {
      margin-top: 60px; }
    .voice_detail #voiceFrame .questionContainer .questionBox .number {
      width: fit-content;
      padding: 2px 0 2px 6px;
      font-size: 1rem;
      font-style: italic;
      font-weight: 500;
      font-family: "Bai Jamjuree", sans-serif;
      line-height: 1;
      border: 1px solid #004E93; }
      .voice_detail #voiceFrame .questionContainer .questionBox .number span {
        padding: 0 4px;
        margin-left: 6px;
        color: #FFFFFF;
        font-weight: 600;
        background-color: #004E93; }
    .voice_detail #voiceFrame .questionContainer .questionBox .question {
      margin-top: 14px;
      color: #224A6F;
      font-size: 1.25rem;
      font-weight: 700;
      line-height: 1.4; }
    .voice_detail #voiceFrame .questionContainer .questionBox .answer {
      font-size: 1rem;
      letter-spacing: 0;
      background-color: #FFFFFF;
      border-radius: 10px; }
      @media screen and (max-width: 769px) {
        .voice_detail #voiceFrame .questionContainer .questionBox .answer {
          margin-top: 8px;
          padding: 16px; } }
      @media screen and (min-width: 770px) {
        .voice_detail #voiceFrame .questionContainer .questionBox .answer {
          margin-top: 20px;
          padding: 30px; } }
    .voice_detail #voiceFrame .btn02 {
      max-width: 504px;
      margin: 60px auto 0; }
      .voice_detail #voiceFrame .btn02 a + a {
        margin-top: 20px; }
  .voice_detail #contactUs .contactInner {
    max-width: 1080px; }

.voice_detail .btn02.back {
  max-width: 406px;
  margin: 0 auto; }

.voice_detail .btn02.back a {
  border: 1px solid #fff;
  color: #fff; }

.voice_detail .btn02.back span:first-of-type {
  order: 2;
  margin: 0 auto 0 -0.5em; }

.voice_detail .btn02.back span:last-of-type {
  order: 1;
  transform: rotate(180deg); }

.voice_detail .btn02.back a span:last-of-type {
  margin: 0 auto 0 0; }

.voice_detail .btn02.back span:last-of-type svg {
  height: 0.9em; }

.voice_detail .btn02.back a svg {
  fill: #fff; }

.voice_detail .btn02.back a:hover {
  color: #000; }

.voice_detail .btn02.back a:hover svg {
  fill: #000; }

.voice_detail .btn02.back a:hover:before, .btn02.back a:hover:after {
  background-color: #fff; }
