/* ==================
CASE詳細ページ用CSS
=====================*/
  html, body {
    font-family: "Noto Sans JP", sans-serif;
  }
  div, p, a, span, ul, li, i, h1, h2, h3, h4, h5, h6 {
    letter-spacing: unset;
    line-height: normal;
  }
  .iotCaseMv {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 220px;
    color: #fff;
    background: linear-gradient(180deg, #01B0F1 0%, #75C8EC 50%, #01B0F1 100%) !important;
  }
  .iotCaseMv h1 {
    font-size: 40px;
    padding-bottom: 1.5rem;
    text-shadow: 0 0 9px #1481AA;
    font-weight: bold;
  }
  .iotCaseMv p {
    text-shadow: 0 0 9px #1481AA;
  }

  @media screen and (max-width: 784px) {
    .iotCaseMv {
      padding: 4vw;
    }
    .iotCaseMv h1 {
      font-size: min(26px, 6vw);
    }
  }

  /* Contents */
  .iotCaseContents {
    margin-top: 3rem;
    margin-bottom: 5rem;
  }
  .iotCaseIntro p {
    font-size: 18px;
    text-align: center;
    font-weight: bold;
  }
  .iotCaseMainHeading {
    background: #0072ce;
    color: #fff;
    font-size: 22px;
    font-weight: bold;
    padding: 4px 8px;
    margin: 14px 0 12px;
  }
  .iotCaseSubHeading {
    border-bottom: 2px solid #0072ce;
    padding-bottom: 3px;
    font-size: 18px;
    font-weight: bold;
    margin: 12px 0 12px;
  }
  .iotCaseText {
    line-height: 1.6;
  }

  /* FLEX 2COL */
  .iotCase2Col {
    display: flex;
    gap: 2rem;
  }

  .iotCase2ColTitle {
    font-weight: bold;
    font-size: 16px;
    position: relative;
    padding-left: 1rem;
  }
  .iotCase2ColTitle::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 4px;
    height: 100%;
    background: #0072ce;
  }

  .iotCaseContents .iotCaseText a {
    color: #0072ce;
    text-decoration: underline;
  }

  /* 余白調整用クラス */
  .mt-1 {margin-top: 1rem;}
  .mt-2 {margin-top: 2rem;}
  .mt-3 {margin-top: 3rem;}

  /* 企業情報 */
  .iotCaseBottomInfo {
    background: #e9f5ff;
    padding: 20px;
  }
  .iotCaseBottomInfoTitle {
    font-size: 18px;
    font-weight: bold;
    position: relative;
    padding-left: 1rem;
    margin-bottom: 14px;
  }
  .iotCaseBottomInfoTitle::before {
    content: "";
    position: absolute;
    width: 4px;
    background: #0072ce;
    height: 100%;
    top: 0;
    left: 0;
  }
  .iotCaseBottomInfoCompanyName {
    font-weight: bold;
  }

  /* button */
  #iot-top-btn a {
    display: block;
    background: #00afd5;
    border: 1px solid #00afd5;
    color: #fff;
    text-align: center;
    max-width: 400px;
    width: 100%;
    margin: 0 auto 0;
    padding: 12px 0;
    border-radius: 100px;
    position: relative;
    font-weight: bold;
    transition: all .2s;
  }

  #iot-top-btn a::before {
    content: url(https://his-mobile.com/wp-content/uploads/2025/04/icon_btn_right_chevron_white.svg);
    position: absolute;
    width: 9px;
    height: 40%;
    top: 50%;
    right: 20px;
    transform: translateY(-50%);
  }

  @media screen and (min-width: 785px) {
    #iot-top-btn a:hover {
        color: #00afd5 !important;
        background: #fff;
    }
    #iot-top-btn a:hover::before {
        content: url(https://his-mobile.com/wp-content/uploads/2025/04/icon_btn_right_chevron_blue.svg);
    }
  }

  @media screen and (max-width: 784px) {
    /* FLEX 2COL */
    .iotCase2Col {
      flex-direction: column;
    }
  }
  .imgCenter {
    display: block;
    max-width: 350px;
    width: 94%;
    margin: 2rem auto 0;
  }

/* ========================
一覧ページ用のスタイル
===========================*/
  .iotCaseMv {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    height: 220px;
    color: #fff;
    background: linear-gradient(180deg, #01B0F1 0%, #75C8EC 50%, #01B0F1 100%) !important;
  }
  .iotCaseMv h1 {
    font-size: 40px;
    padding-bottom: 1.5rem;
    text-shadow: 0 0 9px #1481AA;
  }
  .iotCaseMv p {
    text-shadow: 0 0 9px #1481AA;
  }

  @media screen and (max-width: 784px) {
    .iotCaseMv {
      padding: 4vw;
    }
    .iotCaseMv h1 {
      font-size: min(26px, 6vw);
    }
  }

  /* button */
  #iot-top-btn a {
    display: block;
    background: #00afd5;
    border: 1px solid #00afd5;
    color: #fff;
    text-align: center;
    max-width: 400px;
    width: 100%;
    margin: 0 auto 0;
    padding: 12px 0;
    border-radius: 100px;
    position: relative;
    font-weight: bold;
    transition: all .2s;
  }

  /* 一覧 */
  .iotCaseAll {
    margin-bottom: 5rem;
  }
  .iotCaseAllTitle {
    font-size: 30px;
    text-align: center;
    padding: 3rem 0 2rem;
    font-weight: bold;
  }
  .caseContainer ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
  }
  .caseContainer li {
    background: #fff;
    padding: 10px 10px 60px;
    position: relative;
    border: 1px solid #d1d1d1;
    border-radius: 8px;
    overflow: hidden;
  }
  .caseContainer li img {
      /* height: 120px; */
      height: 150px;
      object-fit: cover;
      border-radius: 8px;
  }
  .caseTitle {
      padding: 12px 0;
  }
  .caseTitle h3 {
    font-weight: bold;
  }
  .caseText {
      padding-bottom: 12px;
  }
  .caseContainer li a {
      display: inline-block;
      color: #0072ce;
      border: 2px solid #0072ce;
      /* width: 100%; */
      text-align: center;
      padding: 10px 0;
      border-radius: 8px;
      position: absolute;
      bottom: 10px;
      left: 10px;
      right: 10px;
      cursor: pointer;
      transition: all .3s;
  }
  .caseContainer li a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 12px solid #0072ce;
    border-right: 0;
  }
  @media screen and (min-width: 785px) {
    .caseContainer li a:hover {
        color: #fff;
        background: #0072ce;
    }
    .caseContainer li a:hover::before {
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        border-left: 12px solid #ffffff;
    }
  }
  @media screen and (max-width: 784px) {
    .caseContainer ul {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }
  }
  @media screen and (max-width: 500px) {
    .caseContainer ul {
        display: grid;
        grid-template-columns: repeat(1, 1fr);
        gap: 20px;
    }
  }