.page-fv-hero {
    display: flex;
    width: 100%;
    height: 380px;
    position: relative;
    overflow: hidden;
}

/* ▼青いパネル（左側） */
.page-fv-panel {
    width: 45%;
    background-color: #2d69c4;
    position: relative;    
    position: relative;
}
.page-fv-panel::after {
    position: absolute;
    content: "";
    background-color: #2d69c4;
    width: 100px;
    clip-path: polygon(
      0 0,      /* 左上 */
      0 0,   /* 右上 */
      100% 100%,/* 右下 */
      0 100%    /* 左下 */
    );
    right: -99px;
    top: 0;
    height: 100%;
}

.page-fv-text {
    color: #ffffff;
    padding: 60px 50px;
}

.eng-title {
    font-size: 20px;
    margin-bottom: 10px;
    opacity: 0.9;
    color: #fff;
}

.jp-title {
    font-size: 45px;
    font-weight: normal;
    margin-bottom: 25px;
    color: #fff;
}

.breadcrumb {
    font-size: 14px;
    opacity: 0.9;
    margin-top: 85px;
}

/* ▼右側画像 */
.page-fv-image {
    width: 55%;
}

.page-fv-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* コンタクト */
      .contact {
        position: relative;
        padding: 80px 0;
        overflow: hidden;
        display: flex;
      }
      .bottom-contact{
        padding: 80px 0 0;
      }
      .contact-container{
        position: relative;
        width: 90%;
        margin: auto;
        padding: 80px 0;
      }
      .contact-bg {
          position: absolute;
          top: 20px;
          left: 0;
          font-size: clamp(40px, 12vw, 100px);
          font-weight: normal;
          color: #f0f0f0;
          letter-spacing: 0em;
          z-index: 99;
          user-select: none;
          top: -60px;
          margin: 0;
      }
      .contact-inner {
        position: relative;
        z-index: 1;
        width: 100%;
        margin: 0 auto;
        display: grid;
        grid-template-columns: 1.2fr 1fr;
        gap: 32px;
      }

      /* 左：電話 */
      .contact-phone {
        background: url(../img/contact-back.jpg);
        background-size: cover;
        color: #fff;
        padding: 50px 40px;
        border-radius: 12px;
        position: relative;
        transition: transform 0.2s ease, box-shadow 0.2s ease;
      }

      .contact-phone .lead {
          font-size: var(--font-size-big);
          margin-bottom: 28px;
          font-weight: bold;
      }

      .tel-label {
          font-size: 25px;
          margin-right: 20px;
      }

      .tel-number {
        font-size: 40px;
        font-weight: normal;
        margin: 8px 0 16px;
      }

      .time {
        font-size: var(--font-size-normal);
        margin-bottom: 24px;
      }

      .badge {
        display: inline-block;
        margin-left: 12px;
        padding: 4px 10px;
        background: #fff;
        color: #0f2333;
        border-radius: 0;
        font-size: var(--font-size-normal);
        font-weight: 700;
      }

      .desc {
        font-size: var(--font-size-normal);
        line-height: 1.8;
        opacity: 0.9;
      }

      .contact-phone .arrow {
        position: absolute;
        right: 24px;
        top: 50%;
        transform: translateY(-50%);
        background: #fff;
        color: #0f2333;
        width: 40px;
        height: 40px;
        border-radius: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        font-size: 20px;
      }

      /* 右側 */
      .contact-side {
        display: flex;
        flex-direction: column;
        justify-content: space-between;
      }

      .contact-box {
          position: relative;
          padding: 32px;
          border-radius: 8px;
          color: #fff;
          text-decoration: none;
          transition: transform 0.2s ease, box-shadow 0.2s ease;
          height: 48%;
          display: flex;
      }
      .contact-box-inner{
        margin: auto 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
      }
      .contact-box:hover ,.contact-phone:hover{
        transform: translateY(-4px);
        box-shadow: 0 10px 24px rgba(0, 0, 0, 0.15);
      }
      .contact-box:hover p{
        color: #fff;
      }
      .contact-box h3 {
        font-size: var(--font-size-big);
        margin: 0;
        color: #fff;
      }

      .contact-box p {
        font-size: var(--font-size-normal);
        line-height: 1.8;
      }

      .contact-box .arrow {
        position: absolute;
        right: 24px;
        top: 50%;
        transform: translateY(-50%);
        background: #fff;
        color: #333;
        width: 40px;
        height: 40px;
        border-radius: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        font-weight: bold;
        font-size: 20px;
      }

      .contact-box.blue {
        background: #2f78b7;
      }

      .contact-box.green {
        background: #5fbf63;
      }
      /* レスポンシブ */
      @media (max-width: 1024px) {
        .contact-inner {
          grid-template-columns: 1fr;
        }

        .contact-bg {
          top: -20px;
        }
          .contact-container{
          width: 95%;
        }

      }
      @media (max-width: 768px) {
          .contact{
            padding: 0;
          }
          .contact-container{
            padding: 90px 0 50px;
          }
              .contact-bg {
              top: -20px;
          }
          .contact-phone{
            padding: 10px 40px;
          }
          .contact-side{
            flex-direction: row;
            justify-content: space-between;
          }
          .contact-box{
            width: 49%;
            height: auto;
          }
          .contact-inner{
            gap: 20px;
          }
          .contact-phone .lead{
            margin: 30px 0 0;
          }
        .tel-number{
          font-size: 30px;
        }

      }
      @media(max-width:500px){
          .contact-container {
              padding: 66px 0 50px;
          }
          .contact-inner{
          gap: 10px;
          }
          .contact-side{
          flex-direction: column;
          gap: 10px;
          }
          .contact-box{
          width: 100%;
          }
          .contact-phone {
              padding: 10px 25px;
          }
          .contact-box{
          padding-left: 25px;
          }
      }



/* ▼レスポンシブ対応 */
@media (max-width: 768px) {
    .page-fv-hero{
        height: 300px;
    }
    .eng-title{
        font-size: 16px;
        font-weight: normal;
    }
    .jp-title {
        font-size: 30px;
        white-space: nowrap;
        position: relative;
        z-index: 999;
    }
    .breadcrumb{
        margin-top: 30px;
    }
    
}
@media (max-width: 500px) {
        .page-fv-hero {
        height: auto;
        flex-direction: column;
        background: #accdff;
    }
    .page-fv-image {
        display: none;
    }
    .page-fv-panel {
        width: 60%;
    }
    .page-fv-text{
        padding: 30px 0 30px 50px;
    }
}