@charset "UTF-8";
/* ========================================
   mstyle.css - スマートフォン向け追加スタイル
   ======================================== */

/* --- スマートフォン（〜480px）--- */
@media screen and (max-width: 480px) {
  html {
    font-size: 56%;
  }

  .l-site_main--inner,
  .l-site_main__inner {
    padding: 14px 12px;
  }

  .c-header {
    font-size: 1.6rem;
  }

  .c-title_page {
    font-size: 1.6rem;
  }

  .c-table__title {
    display: block;
    width: 100%;
    padding: 8px 12px;
  }

  .c-table__content {
    display: block;
    width: 100%;
    padding: 8px 12px;
  }

  .c-mail_menu_list {
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
  }

  .c-mail_menu_list__item a {
    padding: 10px 6px;
    font-size: 1.1rem;
  }

  .c-mail_menu_list__item a i {
    font-size: 1.6rem;
  }

  .c-btn__btn {
    display: block;
    width: 100%;
    padding: 14px 16px;
    font-size: 1.4rem;
    min-width: auto;
  }

  .c-footer {
    padding: 24px 12px 16px;
  }

  .c-dl {
    padding: 10px;
  }

  select {
    font-size: 1.6rem;
  }
}

/* --- タブレット（481px〜768px）--- */
@media screen and (min-width: 481px) and (max-width: 768px) {
  .c-mail_menu_list {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* --- PC（769px〜）--- */
@media screen and (min-width: 769px) {
  .l-site_main {
    margin-top: 20px;
    margin-bottom: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0,0,0,.1);
    overflow: hidden;
  }

  .c-mail_menu_list {
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
  }

  .c-footer {
    border-radius: 0 0 8px 8px;
  }
}

/* --- リンクタップ時のハイライト --- */
a:active {
  opacity: 0.7;
}

/* --- スクロール滑らか --- */
html {
  scroll-behavior: smooth;
}

/* --- 横スクロール防止 --- */
body {
  overflow-x: hidden;
}