/* 画面幅 768px 以下の設定（一般的なスマホ・タブレット向け） */
@media screen and (max-width: 821px) {

    p {
        font-size: 1.3rem;
    }

    header {
        display: flex;
        align-items: center;
    }

    .header-name {
        margin: 0 auto;
    }

    .header-name h1 {
        font-size: 2rem;
    }

    .header-name h1::before {
        width: 6rem;
        height: 6rem;
    }

    .header__menu__pc {
        display: none;
    }

    .hamburger {
    display: block;
    position: absolute;
    top: 3rem;
    right: 2rem;
    width: 4rem;
    height: 4rem;
    transition: transform 0.5s ease 0s;
    z-index: 999;
    cursor: pointer;
}

.hamburger_bar {
  position: absolute;
  left: 50%;
  width: 3.5rem;
  height: 0.2rem;
  background: white;
  transition: 0.3s;
  transform: translate(-50%, -50%);
}

.hamburger_bar:nth-of-type(1) {
  top: 20%;
}

.hamburger_bar:nth-of-type(2) {
  top: 50%;
}

.hamburger_bar:nth-of-type(3) {
  top: 80%;
}

.hamburger.is-open .hamburger_bar:nth-of-type(1) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}

.hamburger.is-open .hamburger_bar:nth-of-type(2) {
  opacity: 0;
  transform: translate(-50%, -50%);
}

.hamburger.is-open .hamburger_bar:nth-of-type(3) {
  top: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}

/* ドロワーメニューーーーーーーーーーーーーーーー */

.header__drawer {
  padding: 150px 0;
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  display: none;
  overflow: scroll;
  z-index: 900;
}

.drawer-menu {
  width: 100%;
  height: 100vh;
  background-color: #333;
  text-align: center;
}

.drawer-menu__link {
  padding: 20px 0;
  display: block;
  font-size: 18px;
  color: #fff;
  text-decoration: none;
}

/* 全体に width: 100% をかけるのはやめて、コンテナで調整します */
.container {
    width: 95%; /* 左右に少しだけ隙間を作る */
    padding: 10px;
}

/* ヒーローエリアの文字サイズ調整 */
.hero h2 {
    font-size: 2rem; /* PCより小さくして収まりを良くする */
    line-height: 1.6;
}

/* スマホ画面で開業できるように調整 */
.hero-text br {
    display: block;
}


/* 強調テキストのサイズ調整 */
.container-hero span {
    font-size: 2.3rem;
}

/* 特徴（3つのボックス）を縦並びに */
.features {
    display: block; /* Flexを解除して縦に積む */
}

.feature-box {
    width: 100%;    /* 横幅いっぱい */
    margin-bottom: 20px;
    box-sizing: border-box; /* 枠線を含めて100%にする */
}

/* LINEボタンの調整 */
.line-btn {
    width: 90%;     /* 押しやすいように幅を広げる */
    padding: 15px 0;
    font-size: 16px;
}

.company-table th {
    width: 35%; /* スマホでは少し項目幅を広げる */
    font-size: 14px;
    padding: 10px;
}
.company-table td {
    font-size: 14px;
    padding: 10px;
}
}

@media screen and (max-width: 431px) {

    .header-name h1 {
        font-size: 1.6rem;
    }

    .header-name h1::before {
        width: 5rem;
        height: 5rem;
    }
}


@media screen and (max-width: 376px) {
    .header-name-sub {
        display: none;
    }
}
