@charset "utf-8";
/* CSS Document */

    .kv {
        position: relative;
    }
    .kv .area {
        width: 100%;
        height: 80vh;
        position: relative;
        overflow: hidden;
    }
    .kv .area::after {
        content: "";
        position: absolute;
        inset: 0;
        background-image: url("../img/acs/kv.jpg");
        background-position: center;
        background-size: cover;
        background-repeat: no-repeat;
        -webkit-mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
        mask-image: linear-gradient(to bottom, rgba(0,0,0,1) 80%, rgba(0,0,0,0) 100%);
        filter: brightness(0.6);
        z-index: 1;
    }
    .kv .ttl {
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 20;
        transform: translate(-50%, -50%);
        width: 100%;
        padding: 0 20px;
        box-sizing: border-box;
        text-align: center;
        font-size: 1.75rem;
        font-weight: bold;
        color: white;
        text-shadow: 0 0 15px rgba(0, 0, 0, 0.4);
        letter-spacing: 0.25rem;
    }
    @media (max-width: 768px) {
        .kv .area { height: 60vh; }
        .kv .ttl { font-size: 1.6rem; }
    }











        .acs {
          padding: 10% 5% 0;
          color: white;
        }
        .acs .area {
          max-width: 1100px;
          margin: 0 auto;
        }
        .acs .wrap {
          position: relative;
          margin: 0 auto;
          text-align: center;
        }
        /* */
        .acs .text h2 {
          font-size: 2.2rem;
          font-weight: normal;
          margin-bottom: 1rem;
        }
        .acs .text h3 {
          font-size: 1.4rem;
          font-weight: normal;
          margin-bottom: 1rem;
          color: white;
        }
        .acs p {
          font-size: 1.1rem;
          margin-top: 0;
          margin-bottom: 1rem;
        }
        .acs p.tel {
          font-size: 1.25rem;
          letter-spacing: 0.05em;
        }
        /* */
        .acs .btn-more {
          color: #c3a771;
          font-size: 1rem;
          font-weight: 500;
          text-decoration: none;
          cursor: pointer;
          padding: 0;
          display: inline-flex;
          width: fit-content;
          align-items: center;
          gap: 0.5rem;
          transition: color 0.3s ease, transform 0.3s ease;
          white-space: nowrap;
        }
        .acs .btn-more::after {
          content: '';
          display: block;
          width: 6px;
          height: 6px;
          border-top: 1.5px solid currentColor;
          border-right: 1.5px solid currentColor;
          transform: rotate(45deg);
          transition: transform 0.3s ease;
        }
        .acs .btn-more:hover {
          color: #ffffff;
          transform: translateX(4px);
        }
        /* */
        @media (max-width: 768px) {
          .acs {
            padding: 20% 5% 0;
          }
          .acs .wrap {
            text-align: left;
          }
          .acs .text h2 {
            font-size: 1.8rem;
          }
          .acs .text h3 {
            font-size: 1.15rem;
          }
          .acs p {
            font-size: 1rem;
          }
          .acs p.tel {
            font-size: 1.1rem;
          }
        }


































