@charset "UTF-8";
/*----------------------------------------------------------------

header（通常時）

ナビの文字は f_18 の下限 16px で止まるのに対し、MV は vw で縮み続ける。
そのため画面が狭くなるほどヘッダーが相対的に厚くなり、
MV の「厚生労働大臣認可」がヘッダーの下に潜り込んでしまう。
文字が 16px で止まりはじめる 1900px 付近から、
段階的に上下の余白を詰めてヘッダーの高さを抑える。

----------------------------------------------------------------*/
@media screen and (max-width: 1900px) {
  .site-header .header_inner {
    padding-top: 0.6vw;
    padding-bottom: 0.85vw;
  }
  .site-header .header_nav {
    margin-top: 0.42vw;
  }
}
@media screen and (max-width: 1500px) {
  .site-header .header_inner {
    padding-top: 0.45vw;
    padding-bottom: 0.62vw;
  }
  .site-header .header_nav {
    margin-top: 0.32vw;
  }
  main .tk_inner {
    width: 70%;
  }
  main .tk_reason .tk_merit_list {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 1400px) {
  main .info_area {
    /*----------------------------------------------------------------

    news_area

    ----------------------------------------------------------------*/
  }
  main .info_area .news_area .rotate_line04 {
    left: 37vw;
  }
  /*----------------------------------------------------------------

  footer

  ----------------------------------------------------------------*/
  footer .footer_inner .footer_main .footer_main_upper {
    padding-left: 5vw;
    padding-right: 5vw;
    gap: 4vw;
  }
}
@media screen and (max-width: 1300px) {
  /*----------------------------------------------------------------

  header（通常時）

  ----------------------------------------------------------------*/
  .site-header .header_inner {
    padding-top: 0.32vw;
    padding-bottom: 0.45vw;
  }
  .site-header .header_nav {
    margin-top: 0.25vw;
  }
  /*----------------------------------------------------------------

  header（縮小時）

  ----------------------------------------------------------------*/
  body.is_scrolled .site-header .header_upper {
    padding: 0 3% 0 5%;
  }
  body.is_scrolled .site-header .header_nav {
    padding: 0 3% 0 5%;
  }
  main {
    /*----------------------------------------------------------------

    mv

    ----------------------------------------------------------------*/
  }
  main .mv .mv_inner .mv_inner_right picture img {
    height: 46.9vw;
  }
  main .info_area {
    /*----------------------------------------------------------------

    news_area

    ----------------------------------------------------------------*/
  }
  main .info_area .news_area .rotate_line04 {
    left: 37.6vw;
  }
}
@media screen and (max-width: 1200px) {
  /*----------------------------------------------------------------

  header（縮小時）

  ----------------------------------------------------------------*/
  body.is_scrolled .site-header .header_upper {
    padding: 0 2% 0 3%;
  }
  body.is_scrolled .site-header .header_nav {
    padding: 0 3%;
  }
  /*----------------------------------------------------------------

  お問い合わせ（電話）

  ----------------------------------------------------------------*/
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle {
    flex-direction: column !important;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle h3,
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle > p {
    padding-right: 0;
    text-align: center;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle .contact_area_middle_right {
    padding-top: 0.83vw;
    padding-left: 0;
    border-left: 0;
  }
  main {
    /*----------------------------------------------------------------

    mv

    ----------------------------------------------------------------*/
  }
  main .mv .mv_inner .mv_inner_right picture img {
    height: 47.9vw;
  }
  main .info_area .kensyu_area .info_btn_main {
    width: 32.47vw;
  }
  main .info_area .news_area .info_btn_main {
    width: 29vw;
  }
  main .info_area .news_area .rotate_line04 {
    left: 38.2vw;
  }
}
@media screen and (max-width: 1100px) {
  /*----------------------------------------------------------------

  header（縮小時）

  ----------------------------------------------------------------*/
  body.is_scrolled .site-header {
    height: auto;
    max-height: none;
    padding-bottom: 1.2rem;
  }
  body.is_scrolled .site-header .header_upper {
    height: auto;
    flex-wrap: wrap;
    row-gap: 0.8rem;
    padding-top: 1.2rem;
  }
  body.is_scrolled .site-header .header_upper .header_member {
    margin-left: auto;
  }
  body.is_scrolled .site-header .header_nav {
    height: auto;
    margin-top: 1.2rem;
  }
  body.is_scrolled .site-header .header_nav .header_nav_list {
    flex-wrap: wrap;
    justify-content: flex-start;
    row-gap: 0.6rem;
  }
  main {
    /*----------------------------------------------------------------

    mv

    ----------------------------------------------------------------*/
  }
  main .mv .mv_inner .mv_inner_right picture img {
    height: 48.9vw;
  }
  main .info_area .news_area .rotate_line04 {
    left: 39vw;
  }
}
@media screen and (max-width: 1062px) {
  main .info_area .news_area .rotate_line04 {
    left: 41.8vw;
  }
}
@media screen and (max-width: 1034px) {
  main .info_area .news_area .rotate_line04 {
    left: 47vw;
  }
}
@media screen and (max-width: 767px) {
  html {
    font-size: 2.564vw;
  }
  /*----------------------------------------------------------------

  フォントサイズ

  ----------------------------------------------------------------*/
  .f_10 {
    font-size: 2.8vw;
  }
  .f_12 {
    font-size: 2.8vw;
  }
  .f_14 {
    font-size: 2.8vw;
  }
  .f_16 {
    font-size: 3.2vw;
  }
  .f_18 {
    font-size: 3.6vw;
  }
  .f_20 {
    font-size: 3.8vw;
  }
  .f_22 {
    font-size: 4vw;
  }
  .f_24 {
    font-size: 4.2vw;
  }
  .f_26 {
    font-size: 4.4vw;
  }
  .f_28 {
    font-size: 4.6vw;
  }
  .f_30 {
    font-size: 4.6vw;
  }
  .f_32 {
    font-size: 4.8vw;
  }
  .f_34 {
    font-size: 4.8vw;
  }
  .f_36 {
    font-size: 4.8vw;
  }
  .f_38 {
    font-size: 5vw;
  }
  .f_40 {
    font-size: 5vw;
  }
  .f_42 {
    font-size: 5vw;
  }
  .f_44 {
    font-size: 5.2vw;
  }
  .f_46 {
    font-size: 5.2vw;
  }
  .f_48 {
    font-size: 5.4vw;
  }
  .f_50 {
    font-size: 5.4vw;
  }
  .f_52 {
    font-size: 5.6vw;
  }
  .f_54 {
    font-size: 5.6vw;
  }
  .f_56 {
    font-size: 5.8vw;
  }
  .f_58 {
    font-size: 5.8vw;
  }
  .f_60 {
    font-size: 6vw;
  }
  .f_62 {
    font-size: 6vw;
  }
  .f_64 {
    font-size: 6.2vw;
  }
  .f_66 {
    font-size: 6.2vw;
  }
  .f_68 {
    font-size: 6.4vw;
  }
  .f_70 {
    font-size: 6.4vw;
  }
  .f_72 {
    font-size: 6.6vw;
  }
  .f_74 {
    font-size: 6.6vw;
  }
  .f_76 {
    font-size: 6.8vw;
  }
  .f_78 {
    font-size: 6.8vw;
  }
  .f_80 {
    font-size: 7vw;
  }
  .f_82 {
    font-size: 7vw;
  }
  .f_84 {
    font-size: 7.2vw;
  }
  .f_86 {
    font-size: 7.2vw;
  }
  .f_88 {
    font-size: 7.4vw;
  }
  .f_90 {
    font-size: 7.4vw;
  }
  .f_92 {
    font-size: 7.6vw;
  }
  .f_94 {
    font-size: 7.6vw;
  }
  .f_96 {
    font-size: 7.8vw;
  }
  .f_98 {
    font-size: 7.8vw;
  }
  .f_100 {
    font-size: 8vw;
  }
  .f_102 {
    font-size: 8vw;
  }
  .f_104 {
    font-size: 8.2vw;
  }
  .f_106 {
    font-size: 8.2vw;
  }
  .f_108 {
    font-size: 8.4vw;
  }
  .f_110 {
    font-size: 8.4vw;
  }
  .f_112 {
    font-size: 8.6vw;
  }
  .f_114 {
    font-size: 8.6vw;
  }
  .f_116 {
    font-size: 8.8vw;
  }
  .f_118 {
    font-size: 8.8vw;
  }
  .f_120 {
    font-size: 9vw;
  }
  .f_122 {
    font-size: 9vw;
  }
  .f_124 {
    font-size: 9.2vw;
  }
  .f_126 {
    font-size: 9.2vw;
  }
  .f_128 {
    font-size: 9.4vw;
  }
  .f_130 {
    font-size: 9.4vw;
  }
  .f_132 {
    font-size: 9.6vw;
  }
  .f_134 {
    font-size: 9.6vw;
  }
  .f_136 {
    font-size: 9.8vw;
  }
  .f_138 {
    font-size: 9.8vw;
  }
  .f_140 {
    font-size: 10vw;
  }
  .f_142 {
    font-size: 10vw;
  }
  .f_144 {
    font-size: 10.2vw;
  }
  .f_146 {
    font-size: 10.2vw;
  }
  .f_148 {
    font-size: 10.4vw;
  }
  .f_150 {
    font-size: 10.4vw;
  }
  .f_152 {
    font-size: 10.6vw;
  }
  .f_154 {
    font-size: 10.6vw;
  }
  .f_156 {
    font-size: 10.8vw;
  }
  .f_158 {
    font-size: 10.8vw;
  }
  .f_160 {
    font-size: 11vw;
  }
  .f_162 {
    font-size: 11vw;
  }
  .f_164 {
    font-size: 11vw;
  }
  .mt10 {
    margin-top: 1vw;
  }
  .mb10 {
    margin-bottom: 1vw;
  }
  .ml10 {
    margin-left: 1vw;
  }
  .mr10 {
    margin-right: 1vw;
  }
  .my10 {
    margin-top: 1vw;
    margin-bottom: 1vw;
  }
  .mx10 {
    margin-left: 1vw;
    margin-right: 1vw;
  }
  .mt20 {
    margin-top: 2vw;
  }
  .mb20 {
    margin-bottom: 2vw;
  }
  .ml20 {
    margin-left: 2vw;
  }
  .mr20 {
    margin-right: 2vw;
  }
  .my20 {
    margin-top: 2vw;
    margin-bottom: 2vw;
  }
  .mx20 {
    margin-left: 2vw;
    margin-right: 2vw;
  }
  .mt30 {
    margin-top: 3vw;
  }
  .mb30 {
    margin-bottom: 3vw;
  }
  .ml30 {
    margin-left: 3vw;
  }
  .mr30 {
    margin-right: 3vw;
  }
  .my30 {
    margin-top: 3vw;
    margin-bottom: 3vw;
  }
  .mx30 {
    margin-left: 3vw;
    margin-right: 3vw;
  }
  .mt40 {
    margin-top: 4vw;
  }
  .mb40 {
    margin-bottom: 4vw;
  }
  .ml40 {
    margin-left: 4vw;
  }
  .mr40 {
    margin-right: 4vw;
  }
  .my40 {
    margin-top: 4vw;
    margin-bottom: 4vw;
  }
  .mx40 {
    margin-left: 4vw;
    margin-right: 4vw;
  }
  .mt50 {
    margin-top: 5vw;
  }
  .mb50 {
    margin-bottom: 5vw;
  }
  .ml50 {
    margin-left: 5vw;
  }
  .mr50 {
    margin-right: 5vw;
  }
  .my50 {
    margin-top: 5vw;
    margin-bottom: 5vw;
  }
  .mx50 {
    margin-left: 5vw;
    margin-right: 5vw;
  }
  .mt60 {
    margin-top: 6vw;
  }
  .mb60 {
    margin-bottom: 6vw;
  }
  .ml60 {
    margin-left: 6vw;
  }
  .mr60 {
    margin-right: 6vw;
  }
  .my60 {
    margin-top: 6vw;
    margin-bottom: 6vw;
  }
  .mx60 {
    margin-left: 6vw;
    margin-right: 6vw;
  }
  .mt70 {
    margin-top: 7vw;
  }
  .mb70 {
    margin-bottom: 7vw;
  }
  .ml70 {
    margin-left: 7vw;
  }
  .mr70 {
    margin-right: 7vw;
  }
  .my70 {
    margin-top: 7vw;
    margin-bottom: 7vw;
  }
  .mx70 {
    margin-left: 7vw;
    margin-right: 7vw;
  }
  .mt80 {
    margin-top: 8vw;
  }
  .mb80 {
    margin-bottom: 8vw;
  }
  .ml80 {
    margin-left: 8vw;
  }
  .mr80 {
    margin-right: 8vw;
  }
  .my80 {
    margin-top: 8vw;
    margin-bottom: 8vw;
  }
  .mx80 {
    margin-left: 8vw;
    margin-right: 8vw;
  }
  .mt90 {
    margin-top: 9vw;
  }
  .mb90 {
    margin-bottom: 9vw;
  }
  .ml90 {
    margin-left: 9vw;
  }
  .mr90 {
    margin-right: 9vw;
  }
  .my90 {
    margin-top: 9vw;
    margin-bottom: 9vw;
  }
  .mx90 {
    margin-left: 9vw;
    margin-right: 9vw;
  }
  .mt100 {
    margin-top: 10vw;
  }
  .mb100 {
    margin-bottom: 10vw;
  }
  .ml100 {
    margin-left: 10vw;
  }
  .mr100 {
    margin-right: 10vw;
  }
  .my100 {
    margin-top: 10vw;
    margin-bottom: 10vw;
  }
  .mx100 {
    margin-left: 10vw;
    margin-right: 10vw;
  }
  .mt110 {
    margin-top: 11vw;
  }
  .mb110 {
    margin-bottom: 11vw;
  }
  .ml110 {
    margin-left: 11vw;
  }
  .mr110 {
    margin-right: 11vw;
  }
  .my110 {
    margin-top: 11vw;
    margin-bottom: 11vw;
  }
  .mx110 {
    margin-left: 11vw;
    margin-right: 11vw;
  }
  .mt120 {
    margin-top: 12vw;
  }
  .mb120 {
    margin-bottom: 12vw;
  }
  .ml120 {
    margin-left: 12vw;
  }
  .mr120 {
    margin-right: 12vw;
  }
  .my120 {
    margin-top: 12vw;
    margin-bottom: 12vw;
  }
  .mx120 {
    margin-left: 12vw;
    margin-right: 12vw;
  }
  .mt130 {
    margin-top: 13vw;
  }
  .mb130 {
    margin-bottom: 13vw;
  }
  .ml130 {
    margin-left: 13vw;
  }
  .mr130 {
    margin-right: 13vw;
  }
  .my130 {
    margin-top: 13vw;
    margin-bottom: 13vw;
  }
  .mx130 {
    margin-left: 13vw;
    margin-right: 13vw;
  }
  .mt140 {
    margin-top: 14vw;
  }
  .mb140 {
    margin-bottom: 14vw;
  }
  .ml140 {
    margin-left: 14vw;
  }
  .mr140 {
    margin-right: 14vw;
  }
  .my140 {
    margin-top: 14vw;
    margin-bottom: 14vw;
  }
  .mx140 {
    margin-left: 14vw;
    margin-right: 14vw;
  }
  .mt150 {
    margin-top: 15vw;
  }
  .mb150 {
    margin-bottom: 15vw;
  }
  .ml150 {
    margin-left: 15vw;
  }
  .mr150 {
    margin-right: 15vw;
  }
  .my150 {
    margin-top: 15vw;
    margin-bottom: 15vw;
  }
  .mx150 {
    margin-left: 15vw;
    margin-right: 15vw;
  }
  .mt160 {
    margin-top: 16vw;
  }
  .mb160 {
    margin-bottom: 16vw;
  }
  .ml160 {
    margin-left: 16vw;
  }
  .mr160 {
    margin-right: 16vw;
  }
  .my160 {
    margin-top: 16vw;
    margin-bottom: 16vw;
  }
  .mx160 {
    margin-left: 16vw;
    margin-right: 16vw;
  }
  .mt170 {
    margin-top: 17vw;
  }
  .mb170 {
    margin-bottom: 17vw;
  }
  .ml170 {
    margin-left: 17vw;
  }
  .mr170 {
    margin-right: 17vw;
  }
  .my170 {
    margin-top: 17vw;
    margin-bottom: 17vw;
  }
  .mx170 {
    margin-left: 17vw;
    margin-right: 17vw;
  }
  .mt180 {
    margin-top: 18vw;
  }
  .mb180 {
    margin-bottom: 18vw;
  }
  .ml180 {
    margin-left: 18vw;
  }
  .mr180 {
    margin-right: 18vw;
  }
  .my180 {
    margin-top: 18vw;
    margin-bottom: 18vw;
  }
  .mx180 {
    margin-left: 18vw;
    margin-right: 18vw;
  }
  .mt190 {
    margin-top: 19vw;
  }
  .mb190 {
    margin-bottom: 19vw;
  }
  .ml190 {
    margin-left: 19vw;
  }
  .mr190 {
    margin-right: 19vw;
  }
  .my190 {
    margin-top: 19vw;
    margin-bottom: 19vw;
  }
  .mx190 {
    margin-left: 19vw;
    margin-right: 19vw;
  }
  .mt200 {
    margin-top: 20vw;
  }
  .mb200 {
    margin-bottom: 20vw;
  }
  .ml200 {
    margin-left: 20vw;
  }
  .mr200 {
    margin-right: 20vw;
  }
  .my200 {
    margin-top: 20vw;
    margin-bottom: 20vw;
  }
  .mx200 {
    margin-left: 20vw;
    margin-right: 20vw;
  }
  .mt210 {
    margin-top: 21vw;
  }
  .mb210 {
    margin-bottom: 21vw;
  }
  .ml210 {
    margin-left: 21vw;
  }
  .mr210 {
    margin-right: 21vw;
  }
  .my210 {
    margin-top: 21vw;
    margin-bottom: 21vw;
  }
  .mx210 {
    margin-left: 21vw;
    margin-right: 21vw;
  }
  .mt220 {
    margin-top: 22vw;
  }
  .mb220 {
    margin-bottom: 22vw;
  }
  .ml220 {
    margin-left: 22vw;
  }
  .mr220 {
    margin-right: 22vw;
  }
  .my220 {
    margin-top: 22vw;
    margin-bottom: 22vw;
  }
  .mx220 {
    margin-left: 22vw;
    margin-right: 22vw;
  }
  .mt230 {
    margin-top: 23vw;
  }
  .mb230 {
    margin-bottom: 23vw;
  }
  .ml230 {
    margin-left: 23vw;
  }
  .mr230 {
    margin-right: 23vw;
  }
  .my230 {
    margin-top: 23vw;
    margin-bottom: 23vw;
  }
  .mx230 {
    margin-left: 23vw;
    margin-right: 23vw;
  }
  .mt240 {
    margin-top: 24vw;
  }
  .mb240 {
    margin-bottom: 24vw;
  }
  .ml240 {
    margin-left: 24vw;
  }
  .mr240 {
    margin-right: 24vw;
  }
  .my240 {
    margin-top: 24vw;
    margin-bottom: 24vw;
  }
  .mx240 {
    margin-left: 24vw;
    margin-right: 24vw;
  }
  .mt250 {
    margin-top: 25vw;
  }
  .mb250 {
    margin-bottom: 25vw;
  }
  .ml250 {
    margin-left: 25vw;
  }
  .mr250 {
    margin-right: 25vw;
  }
  .my250 {
    margin-top: 25vw;
    margin-bottom: 25vw;
  }
  .mx250 {
    margin-left: 25vw;
    margin-right: 25vw;
  }
  .mt260 {
    margin-top: 26vw;
  }
  .mb260 {
    margin-bottom: 26vw;
  }
  .ml260 {
    margin-left: 26vw;
  }
  .mr260 {
    margin-right: 26vw;
  }
  .my260 {
    margin-top: 26vw;
    margin-bottom: 26vw;
  }
  .mx260 {
    margin-left: 26vw;
    margin-right: 26vw;
  }
  .mt270 {
    margin-top: 27vw;
  }
  .mb270 {
    margin-bottom: 27vw;
  }
  .ml270 {
    margin-left: 27vw;
  }
  .mr270 {
    margin-right: 27vw;
  }
  .my270 {
    margin-top: 27vw;
    margin-bottom: 27vw;
  }
  .mx270 {
    margin-left: 27vw;
    margin-right: 27vw;
  }
  .mt280 {
    margin-top: 28vw;
  }
  .mb280 {
    margin-bottom: 28vw;
  }
  .ml280 {
    margin-left: 28vw;
  }
  .mr280 {
    margin-right: 28vw;
  }
  .my280 {
    margin-top: 28vw;
    margin-bottom: 28vw;
  }
  .mx280 {
    margin-left: 28vw;
    margin-right: 28vw;
  }
  .mt290 {
    margin-top: 29vw;
  }
  .mb290 {
    margin-bottom: 29vw;
  }
  .ml290 {
    margin-left: 29vw;
  }
  .mr290 {
    margin-right: 29vw;
  }
  .my290 {
    margin-top: 29vw;
    margin-bottom: 29vw;
  }
  .mx290 {
    margin-left: 29vw;
    margin-right: 29vw;
  }
  .mt300 {
    margin-top: 30vw;
  }
  .mb300 {
    margin-bottom: 30vw;
  }
  .ml300 {
    margin-left: 30vw;
  }
  .mr300 {
    margin-right: 30vw;
  }
  .my300 {
    margin-top: 30vw;
    margin-bottom: 30vw;
  }
  .mx300 {
    margin-left: 30vw;
    margin-right: 30vw;
  }
  .ml5 {
    margin-left: 0.5rem;
  }
  .pt10 {
    padding-top: 1vw;
  }
  .pb10 {
    padding-bottom: 1vw;
  }
  .pl10 {
    padding-left: 1vw;
  }
  .pr10 {
    padding-right: 1vw;
  }
  .py10 {
    padding-top: 1vw;
    padding-bottom: 1vw;
  }
  .px10 {
    padding-left: 1vw;
    padding-right: 1vw;
  }
  .pt20 {
    padding-top: 2vw;
  }
  .pb20 {
    padding-bottom: 2vw;
  }
  .pl20 {
    padding-left: 2vw;
  }
  .pr20 {
    padding-right: 2vw;
  }
  .py20 {
    padding-top: 2vw;
    padding-bottom: 2vw;
  }
  .px20 {
    padding-left: 2vw;
    padding-right: 2vw;
  }
  .pt30 {
    padding-top: 3vw;
  }
  .pb30 {
    padding-bottom: 3vw;
  }
  .pl30 {
    padding-left: 3vw;
  }
  .pr30 {
    padding-right: 3vw;
  }
  .py30 {
    padding-top: 3vw;
    padding-bottom: 3vw;
  }
  .px30 {
    padding-left: 3vw;
    padding-right: 3vw;
  }
  .pt40 {
    padding-top: 4vw;
  }
  .pb40 {
    padding-bottom: 4vw;
  }
  .pl40 {
    padding-left: 4vw;
  }
  .pr40 {
    padding-right: 4vw;
  }
  .py40 {
    padding-top: 4vw;
    padding-bottom: 4vw;
  }
  .px40 {
    padding-left: 4vw;
    padding-right: 4vw;
  }
  .pt50 {
    padding-top: 5vw;
  }
  .pb50 {
    padding-bottom: 5vw;
  }
  .pl50 {
    padding-left: 5vw;
  }
  .pr50 {
    padding-right: 5vw;
  }
  .py50 {
    padding-top: 5vw;
    padding-bottom: 5vw;
  }
  .px50 {
    padding-left: 5vw;
    padding-right: 5vw;
  }
  .pt60 {
    padding-top: 6vw;
  }
  .pb60 {
    padding-bottom: 6vw;
  }
  .pl60 {
    padding-left: 6vw;
  }
  .pr60 {
    padding-right: 6vw;
  }
  .py60 {
    padding-top: 6vw;
    padding-bottom: 6vw;
  }
  .px60 {
    padding-left: 6vw;
    padding-right: 6vw;
  }
  .pt70 {
    padding-top: 7vw;
  }
  .pb70 {
    padding-bottom: 7vw;
  }
  .pl70 {
    padding-left: 7vw;
  }
  .pr70 {
    padding-right: 7vw;
  }
  .py70 {
    padding-top: 7vw;
    padding-bottom: 7vw;
  }
  .px70 {
    padding-left: 7vw;
    padding-right: 7vw;
  }
  .pt80 {
    padding-top: 8vw;
  }
  .pb80 {
    padding-bottom: 8vw;
  }
  .pl80 {
    padding-left: 8vw;
  }
  .pr80 {
    padding-right: 8vw;
  }
  .py80 {
    padding-top: 8vw;
    padding-bottom: 8vw;
  }
  .px80 {
    padding-left: 8vw;
    padding-right: 8vw;
  }
  .pt90 {
    padding-top: 9vw;
  }
  .pb90 {
    padding-bottom: 9vw;
  }
  .pl90 {
    padding-left: 9vw;
  }
  .pr90 {
    padding-right: 9vw;
  }
  .py90 {
    padding-top: 9vw;
    padding-bottom: 9vw;
  }
  .px90 {
    padding-left: 9vw;
    padding-right: 9vw;
  }
  .pt100 {
    padding-top: 10vw;
  }
  .pb100 {
    padding-bottom: 10vw;
  }
  .pl100 {
    padding-left: 10vw;
  }
  .pr100 {
    padding-right: 10vw;
  }
  .py100 {
    padding-top: 10vw;
    padding-bottom: 10vw;
  }
  .px100 {
    padding-left: 10vw;
    padding-right: 10vw;
  }
  .pt110 {
    padding-top: 11vw;
  }
  .pb110 {
    padding-bottom: 11vw;
  }
  .pl110 {
    padding-left: 11vw;
  }
  .pr110 {
    padding-right: 11vw;
  }
  .py110 {
    padding-top: 11vw;
    padding-bottom: 11vw;
  }
  .px110 {
    padding-left: 11vw;
    padding-right: 11vw;
  }
  .pt120 {
    padding-top: 12vw;
  }
  .pb120 {
    padding-bottom: 12vw;
  }
  .pl120 {
    padding-left: 12vw;
  }
  .pr120 {
    padding-right: 12vw;
  }
  .py120 {
    padding-top: 12vw;
    padding-bottom: 12vw;
  }
  .px120 {
    padding-left: 12vw;
    padding-right: 12vw;
  }
  .pt130 {
    padding-top: 13vw;
  }
  .pb130 {
    padding-bottom: 13vw;
  }
  .pl130 {
    padding-left: 13vw;
  }
  .pr130 {
    padding-right: 13vw;
  }
  .py130 {
    padding-top: 13vw;
    padding-bottom: 13vw;
  }
  .px130 {
    padding-left: 13vw;
    padding-right: 13vw;
  }
  .pt140 {
    padding-top: 14vw;
  }
  .pb140 {
    padding-bottom: 14vw;
  }
  .pl140 {
    padding-left: 14vw;
  }
  .pr140 {
    padding-right: 14vw;
  }
  .py140 {
    padding-top: 14vw;
    padding-bottom: 14vw;
  }
  .px140 {
    padding-left: 14vw;
    padding-right: 14vw;
  }
  .pt150 {
    padding-top: 15vw;
  }
  .pb150 {
    padding-bottom: 15vw;
  }
  .pl150 {
    padding-left: 15vw;
  }
  .pr150 {
    padding-right: 15vw;
  }
  .py150 {
    padding-top: 15vw;
    padding-bottom: 15vw;
  }
  .px150 {
    padding-left: 15vw;
    padding-right: 15vw;
  }
  .pt160 {
    padding-top: 16vw;
  }
  .pb160 {
    padding-bottom: 16vw;
  }
  .pl160 {
    padding-left: 16vw;
  }
  .pr160 {
    padding-right: 16vw;
  }
  .py160 {
    padding-top: 16vw;
    padding-bottom: 16vw;
  }
  .px160 {
    padding-left: 16vw;
    padding-right: 16vw;
  }
  .pt170 {
    padding-top: 17vw;
  }
  .pb170 {
    padding-bottom: 17vw;
  }
  .pl170 {
    padding-left: 17vw;
  }
  .pr170 {
    padding-right: 17vw;
  }
  .py170 {
    padding-top: 17vw;
    padding-bottom: 17vw;
  }
  .px170 {
    padding-left: 17vw;
    padding-right: 17vw;
  }
  .pt180 {
    padding-top: 18vw;
  }
  .pb180 {
    padding-bottom: 18vw;
  }
  .pl180 {
    padding-left: 18vw;
  }
  .pr180 {
    padding-right: 18vw;
  }
  .py180 {
    padding-top: 18vw;
    padding-bottom: 18vw;
  }
  .px180 {
    padding-left: 18vw;
    padding-right: 18vw;
  }
  .pt190 {
    padding-top: 19vw;
  }
  .pb190 {
    padding-bottom: 19vw;
  }
  .pl190 {
    padding-left: 19vw;
  }
  .pr190 {
    padding-right: 19vw;
  }
  .py190 {
    padding-top: 19vw;
    padding-bottom: 19vw;
  }
  .px190 {
    padding-left: 19vw;
    padding-right: 19vw;
  }
  .pt200 {
    padding-top: 20vw;
  }
  .pb200 {
    padding-bottom: 20vw;
  }
  .pl200 {
    padding-left: 20vw;
  }
  .pr200 {
    padding-right: 20vw;
  }
  .py200 {
    padding-top: 20vw;
    padding-bottom: 20vw;
  }
  .px200 {
    padding-left: 20vw;
    padding-right: 20vw;
  }
  .pt210 {
    padding-top: 21vw;
  }
  .pb210 {
    padding-bottom: 21vw;
  }
  .pl210 {
    padding-left: 21vw;
  }
  .pr210 {
    padding-right: 21vw;
  }
  .py210 {
    padding-top: 21vw;
    padding-bottom: 21vw;
  }
  .px210 {
    padding-left: 21vw;
    padding-right: 21vw;
  }
  .pt220 {
    padding-top: 22vw;
  }
  .pb220 {
    padding-bottom: 22vw;
  }
  .pl220 {
    padding-left: 22vw;
  }
  .pr220 {
    padding-right: 22vw;
  }
  .py220 {
    padding-top: 22vw;
    padding-bottom: 22vw;
  }
  .px220 {
    padding-left: 22vw;
    padding-right: 22vw;
  }
  .pt230 {
    padding-top: 23vw;
  }
  .pb230 {
    padding-bottom: 23vw;
  }
  .pl230 {
    padding-left: 23vw;
  }
  .pr230 {
    padding-right: 23vw;
  }
  .py230 {
    padding-top: 23vw;
    padding-bottom: 23vw;
  }
  .px230 {
    padding-left: 23vw;
    padding-right: 23vw;
  }
  .pt240 {
    padding-top: 24vw;
  }
  .pb240 {
    padding-bottom: 24vw;
  }
  .pl240 {
    padding-left: 24vw;
  }
  .pr240 {
    padding-right: 24vw;
  }
  .py240 {
    padding-top: 24vw;
    padding-bottom: 24vw;
  }
  .px240 {
    padding-left: 24vw;
    padding-right: 24vw;
  }
  .pt250 {
    padding-top: 25vw;
  }
  .pb250 {
    padding-bottom: 25vw;
  }
  .pl250 {
    padding-left: 25vw;
  }
  .pr250 {
    padding-right: 25vw;
  }
  .py250 {
    padding-top: 25vw;
    padding-bottom: 25vw;
  }
  .px250 {
    padding-left: 25vw;
    padding-right: 25vw;
  }
  .pt260 {
    padding-top: 26vw;
  }
  .pb260 {
    padding-bottom: 26vw;
  }
  .pl260 {
    padding-left: 26vw;
  }
  .pr260 {
    padding-right: 26vw;
  }
  .py260 {
    padding-top: 26vw;
    padding-bottom: 26vw;
  }
  .px260 {
    padding-left: 26vw;
    padding-right: 26vw;
  }
  .pt270 {
    padding-top: 27vw;
  }
  .pb270 {
    padding-bottom: 27vw;
  }
  .pl270 {
    padding-left: 27vw;
  }
  .pr270 {
    padding-right: 27vw;
  }
  .py270 {
    padding-top: 27vw;
    padding-bottom: 27vw;
  }
  .px270 {
    padding-left: 27vw;
    padding-right: 27vw;
  }
  .pt280 {
    padding-top: 28vw;
  }
  .pb280 {
    padding-bottom: 28vw;
  }
  .pl280 {
    padding-left: 28vw;
  }
  .pr280 {
    padding-right: 28vw;
  }
  .py280 {
    padding-top: 28vw;
    padding-bottom: 28vw;
  }
  .px280 {
    padding-left: 28vw;
    padding-right: 28vw;
  }
  .pt290 {
    padding-top: 29vw;
  }
  .pb290 {
    padding-bottom: 29vw;
  }
  .pl290 {
    padding-left: 29vw;
  }
  .pr290 {
    padding-right: 29vw;
  }
  .py290 {
    padding-top: 29vw;
    padding-bottom: 29vw;
  }
  .px290 {
    padding-left: 29vw;
    padding-right: 29vw;
  }
  .pt300 {
    padding-top: 30vw;
  }
  .pb300 {
    padding-bottom: 30vw;
  }
  .pl300 {
    padding-left: 30vw;
  }
  .pr300 {
    padding-right: 30vw;
  }
  .py300 {
    padding-top: 30vw;
    padding-bottom: 30vw;
  }
  .px300 {
    padding-left: 30vw;
    padding-right: 30vw;
  }
  .sp {
    display: block !important;
  }
  .pc {
    display: none !important;
  }
  br.sp {
    display: inline !important;
  }
  br.pc {
    display: none !important;
  }
  .sp-flex {
    display: flex !important;
  }
  .pc-flex {
    display: none !important;
  }
  ::-moz-placeholder {
    font-size: 3.6vw;
    letter-spacing: 0.12em;
    color: #cccccc;
  }
  ::placeholder {
    font-size: 3.6vw;
    letter-spacing: 0.12em;
    color: #cccccc;
  }
}
/*----------------------------------------------------------------

header（SP）／ ハンバーガーメニュー

PC ヘッダーはナビが 7 項目あり、この幅では 1 行に収まらなくなるため、
レイアウト全体の切り替え（767px）より先にハンバーガーへ差し替える。
ヘッダー以外の .pc / .sp は 767px のまま。

切り替えを 1200px にしているのは、各ページの viewport が
`width=1200` 固定で、タブレットの CSS 上の幅が常に 1200px になるため。
ここを下げるとタブレットではハンバーガーに切り替わらない。

----------------------------------------------------------------*/
@media screen and (max-width: 1200px) {
  .site-header.pc {
    display: none !important;
  }
  .sp_header.sp {
    display: block !important;
  }
}
@media screen and (max-width: 1200px) and (min-width: 768px) {
  html {
    font-size: clamp(10px, 1.084vw, 13px);
  }
  .sp_header .sp_nav_inner {
    width: 39rem;
    max-width: 100%;
    margin-inline: auto;
  }
  main .sub_mv .sub_mv_inner {
    padding-top: max(11.5rem, 13.85vw);
  }
  main .sub_mv_bar {
    padding-top: max(9.5rem, 10.16vw);
  }
}
@media screen and (max-width: 1200px) {
  .sp_header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 100;
  }
  .sp_header .sp_header_bar {
    position: relative;
    z-index: 2;
    height: 6rem;
    margin: 1rem 1rem 0;
    padding: 0 1rem 0 0.7rem;
    border-radius: 0.8rem;
    background-color: #FFFFFF;
    transition: background-color 0.4s ease;
  }
  .sp_header .sp_header_bar .sp_logo {
    display: block;
    width: 18.2rem;
  }
  .sp_header .sp_header_bar .sp_logo:hover {
    opacity: 1;
  }
  .sp_header .sp_header_bar .sp_logo img {
    width: 100%;
    height: auto;
  }
  .sp_header.is_open .sp_header_bar .sp_logo {
    padding: 0.5rem 0.8rem;
    border-radius: 0.6rem;
    background-color: #FFFFFF;
  }
  .sp_header .menu_trigger {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.3rem;
    width: 5.2rem;
    height: 4.8rem;
    padding: 0;
    padding-top: 0.4rem;
    border: 0;
    border-radius: 0.6rem;
    background-color: #183CB6;
    cursor: pointer;
    transition: background-color 0.4s ease;
  }
  .sp_header .menu_trigger .menu_trigger_bars {
    position: relative;
    display: block;
    width: 3.4rem;
    height: 1.6rem;
  }
  .sp_header .menu_trigger .menu_trigger_bars span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 0.1rem;
    background-color: #FFFFFF;
    transition: transform 0.4s ease, top 0.4s ease, opacity 0.4s ease, background-color 0.4s ease;
  }
  .sp_header .menu_trigger .menu_trigger_bars span:nth-child(1) {
    top: 0;
  }
  .sp_header .menu_trigger .menu_trigger_bars span:nth-child(2) {
    top: 0.7rem;
  }
  .sp_header .menu_trigger .menu_trigger_bars span:nth-child(3) {
    top: 1.4rem;
  }
  .sp_header .menu_trigger .menu_trigger_label {
    font-size: 1.2rem;
    line-height: 1;
    color: #FFFFFF;
    transition: color 0.4s ease;
  }
  .sp_header .menu_trigger:focus {
    outline: none;
  }
  .sp_header .menu_trigger:focus-visible {
    outline: 0.2rem solid #183CB6;
    outline-offset: 0.3rem;
  }
  .sp_header.is_open .menu_trigger .menu_trigger_bars span:nth-child(1) {
    top: 0.7rem;
    transform: rotate(22deg);
  }
  .sp_header.is_open .menu_trigger .menu_trigger_bars span:nth-child(2) {
    opacity: 0;
  }
  .sp_header.is_open .menu_trigger .menu_trigger_bars span:nth-child(3) {
    top: 0.7rem;
    transform: rotate(-22deg);
  }
  .sp_header.is_open .menu_trigger .menu_trigger_label {
    color: #FFFFFF;
  }
  .sp_header.is_open .menu_trigger:focus-visible {
    outline-color: #FFFFFF;
  }
  .sp_header {
    /* --- 開くパネル --- */
  }
  .sp_header .sp_nav {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    overflow-y: auto;
    padding: 10.3rem 3.2rem 5rem;
    background-color: #183CB6;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.4s ease, visibility 0.4s ease;
  }
  .sp_header.is_open .sp_nav {
    opacity: 1;
    visibility: visible;
  }
  .sp_header .sp_nav_btn_list {
    display: flex;
    flex-direction: column;
    gap: 1.1rem;
  }
  .sp_header .sp_nav_btn_list .footer_btn {
    padding: 0;
    min-height: 6rem;
    overflow: hidden;
  }
  .sp_header .sp_nav_btn_list .footer_btn:hover {
    opacity: 1;
  }
  .sp_header .sp_nav_btn_list .footer_btn .footer_btn_icon {
    flex-shrink: 0;
    width: 6.8rem;
    justify-content: center;
    padding: 0 !important;
  }
  .sp_header .sp_nav_btn_list .footer_btn .footer_btn_icon img {
    width: 3.5rem;
    height: auto;
  }
  .sp_header .sp_nav_btn_list .footer_btn .footer_btn_icon .material-symbols-outlined {
    font-size: 3rem;
    line-height: 1;
  }
  .sp_header .sp_nav_btn_list .footer_btn .footer_btn_text {
    flex: 1;
    min-width: 0;
    align-self: center;
    font-size: 2rem;
    padding-left: 1.5rem !important;
  }
  .sp_header .sp_nav_btn_list .footer_btn .footer_btn_arrow {
    flex-shrink: 0;
    align-self: center;
    width: 5.7rem;
    height: 4rem;
    margin-right: 1rem;
  }
  .sp_header .sp_nav_btn_list .footer_btn .footer_btn_arrow .arrow {
    width: 2.5rem;
    height: auto;
    display: block;
  }
  .sp_header .sp_nav_btn_list .footer_btn.footer_btn_member .footer_btn_icon, .sp_header .sp_nav_btn_list .footer_btn.footer_btn_contact .footer_btn_icon {
    border-right: 1px solid #183CB6;
  }
  .sp_header .sp_nav_btn_list .footer_btn.footer_btn_contact .footer_btn_icon {
    border-right: 1px solid #ffffff;
  }
  .sp_header .sp_nav_btn_list .footer_btn.footer_btn_entry .footer_btn_icon {
    border-right: 1px solid rgba(255, 255, 255, 0.5);
  }
  .sp_header .sp_nav_btn_list li:nth-child(2) .footer_btn .footer_btn_icon img {
    width: 3.9rem;
  }
  .sp_header .sp_nav_btn_list li:nth-child(2) .footer_btn .footer_btn_text span {
    font-size: 1.6rem;
  }
  .sp_header .sp_nav_btn_list li:nth-child(2) .footer_btn .footer_btn_text {
    font-size: 2rem;
  }
  .sp_header .sp_nav_btn_list li:nth-child(3) .footer_btn .footer_btn_icon img {
    width: 3.1rem;
  }
  .sp_header .sp_nav_btn_list li:nth-child(3) .footer_btn .footer_btn_text {
    font-size: 2rem;
  }
  .sp_header .sp_nav_list {
    margin-top: 2rem !important;
  }
  .sp_header .sp_nav_list li:nth-child(2) {
    border-top: 1px solid rgb(255, 255, 255);
  }
  .sp_header .sp_nav_list li:last-child {
    border-bottom: 1px solid rgba(255, 255, 255, 0.35);
  }
  .sp_header .sp_nav_list li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.35);
  }
  .sp_header .sp_nav_list li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.35);
  }
  .sp_header .sp_nav_list .sp_nav_link {
    display: block;
    padding: 1.7rem 0.5rem;
    font-size: 1.8rem;
    font-weight: 500;
  }
  .sp_header .sp_nav_list .sp_nav_link:hover {
    opacity: 1;
  }
  .sp_header .sp_nav_list_sub {
    margin-top: 2.4rem !important;
  }
  .sp_header .sp_nav_tel {
    display: block;
    margin-top: 3.4rem;
    padding: 1.6rem 0 1rem;
    border: 0.2rem solid #FFFFFF;
    border-radius: 0.6rem;
  }
  .sp_header .sp_nav_tel:hover {
    opacity: 1;
  }
  .sp_header .sp_nav_tel .sp_nav_tel_num {
    gap: 0.7rem;
    padding-bottom: 1.2rem;
  }
  .sp_header .sp_nav_tel .sp_nav_tel_num .material-symbols-outlined {
    color: #FFFFFF;
    font-size: 3rem;
    line-height: 1;
  }
  .sp_header .sp_nav_tel .sp_nav_tel_num .ns_700 {
    font-size: 2.8rem;
  }
  .sp_header .sp_nav_tel .sp_nav_tel_time {
    margin-top: 0.4rem;
    font-size: 1.6rem;
    padding-top: 1rem;
  }
  body.is_menu_open {
    position: fixed;
    left: 0;
    right: 0;
    width: 100%;
    overflow: hidden;
  }
}
@media screen and (max-width: 767px) {
  /*----------------------------------------------------------------

  追従バー（SP）

  ----------------------------------------------------------------*/
  .sp_fixed_bar {
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0rem;
    z-index: 30;
    padding: 0.8rem 0rem 1.2rem;
    transition: bottom 0.6s ease;
  }
  .sp_fixed_bar .sp_fixed_tel {
    width: 50%;
    max-width: 19.8rem;
    padding: 0.5rem 0.5rem;
    border: 0.2rem solid #183CB6;
    background-color: #FFFFFF;
    max-height: 6rem;
    height: 6rem;
  }
  .sp_fixed_bar .sp_fixed_tel:hover {
    opacity: 1;
  }
  .sp_fixed_bar .sp_fixed_tel .sp_fixed_tel_icon {
    flex-shrink: 0;
    color: #183CB6;
    font-size: 2rem;
    line-height: 1;
  }
  .sp_fixed_bar .sp_fixed_tel .sp_fixed_tel_num {
    font-size: 2rem;
  }
  .sp_fixed_bar .sp_fixed_tel .sp_fixed_tel_time {
    white-space: nowrap;
    font-size: 1.4rem;
  }
  .sp_fixed_bar .sp_fixed_member {
    gap: 0.6rem;
    width: 50%;
    padding: 1.1rem 0.5rem 1.1rem 1.2rem;
    border: 0.2rem solid #183CB6;
    background-color: #183CB6;
    max-height: 6rem;
    height: 6rem;
  }
  .sp_fixed_bar .sp_fixed_member:hover {
    opacity: 1;
  }
  .sp_fixed_bar .sp_fixed_member .ns_700 {
    font-size: 1.8rem;
  }
  .sp_fixed_bar .sp_fixed_member .sp_fixed_member_arrow {
    flex-shrink: 0;
    width: 2.7rem;
    height: 2.7rem;
  }
  .sp_fixed_bar .sp_fixed_member .sp_fixed_member_arrow img {
    width: 2rem;
    height: auto;
  }
  body.is_scrolled .sp_fixed_bar {
    bottom: 0;
  }
  body {
    padding-bottom: 6.6rem;
  }
  .wrap_btn {
    right: 1.2rem;
    bottom: 8rem;
    width: 4.8rem;
    max-width: none;
    min-width: 0;
    height: 4.8rem;
    max-height: none;
    min-height: 0;
  }
  .wrap_btn:hover {
    background-color: #183CB6;
  }
  .wrap_btn_img {
    width: 1.4rem;
    max-width: none;
    min-width: 0;
    height: 1.4rem;
    max-height: none;
    min-height: 0;
    margin-top: 0.4rem;
    border-top-width: 2px;
    border-left-width: 2px;
  }
  .hamburger {
    display: none !important;
  }
  .hamburger .hamburger_contents .sp_logo {
    position: fixed;
    top: 0;
    left: 0;
    height: 60px;
    width: 100%;
    z-index: 1002;
    padding-left: 0px;
    transition: all 0.4s;
    background: #ffffff;
    display: flex;
    justify-content: start;
    align-items: center;
  }
  .hamburger .hamburger_contents .sp_logo a {
    padding-left: 10px;
    max-width: 200px;
    width: 45%;
  }
  .hamburger .hamburger_contents .sp_logo a img {
    width: 100%;
    height: auto;
  }
  .hamburger .hamburger_contents .contact_btn {
    z-index: 1003;
    position: fixed;
    top: 0;
    right: 60px;
    width: 90px;
    height: 60px;
    background-color: #000000;
  }
  .hamburger .hamburger_contents .menu_trigger {
    z-index: 1003;
    position: fixed;
    top: 0px;
    right: 0px;
    width: 60px;
    height: 60px;
    padding: 20px 16px;
  }
  .hamburger .hamburger_contents .menu_trigger span {
    z-index: 1003;
    display: inline-block;
    box-sizing: border-box;
    position: absolute;
    left: 16px;
    width: 28px;
    height: 1px;
    background-color: #000000;
    transition: all 0.4s ease;
  }
  .hamburger .hamburger_contents .menu_trigger span:nth-of-type(1) {
    top: 20px;
  }
  .hamburger .hamburger_contents .menu_trigger span:nth-of-type(2) {
    top: 29px;
  }
  .hamburger .hamburger_contents .menu_trigger span:nth-of-type(3) {
    bottom: 21px;
  }
  .hamburger .hamburger_contents .menu_trigger.active span:nth-of-type(1) {
    transform: rotate(-45deg);
    margin-top: 9px;
  }
  .hamburger .hamburger_contents .menu_trigger.active span:nth-of-type(2) {
    opacity: 0;
  }
  .hamburger .hamburger_contents .menu_trigger.active span:nth-of-type(3) {
    transform: rotate(45deg);
    margin-bottom: 9px;
  }
  .hamburger .hamburger_contents nav {
    position: absolute;
    background-color: #ffffff;
    width: 100%;
    height: 100%;
    position: fixed;
    bottom: 0%;
    transform: translateY(-150%);
    transition: 0.5s ease-in-out;
    padding: 60px 10px 30px;
    overflow: auto;
    z-index: 1000;
  }
  .hamburger .hamburger_contents nav.open {
    transform: translateY(0);
    z-index: 1000;
    transition: 0.5s ease-in-out;
  }
  .hamburger .hamburger_contents nav .nav_inner {
    width: 90%;
    margin: auto;
    padding-top: 40px;
  }
  .hamburger .hamburger_contents nav .nav_inner .sp_menu_list {
    margin-bottom: 10px;
  }
  .hamburger .hamburger_contents nav .nav_inner .sp_menu_list a {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 55px;
    margin-bottom: 6px;
    position: relative;
  }
  .hamburger .hamburger_contents nav .nav_inner .sp_menu_list .sp_menu_list_item {
    background-color: #ffffff;
    border: 1px solid #000000;
    width: 49%;
  }
  .hamburger .hamburger_contents nav .nav_inner .sp_menu_list .sp_menu_list_item span {
    position: absolute;
    right: 0px;
  }
  /*----------------------------------------------------------------

  calendar_area

  ----------------------------------------------------------------*/
  .section_title {
    gap: 0.89rem;
  }
  .section_title h2 {
    font-size: 2.8rem;
  }
  .section_title h2 span {
    font-size: 2.8rem;
  }
  .section_title .img {
    width: 3.2rem;
  }
  main {
    /*----------------------------------------------------------------

    mv

    ----------------------------------------------------------------*/
  }
  main .mv .mv_inner {
    padding-bottom: 8.1rem;
    display: block;
    position: relative;
    padding-left: 0;
    background-size: cover;
    background-position: left bottom;
  }
  main .mv .mv_inner .mv_inner_left {
    bottom: 0;
    padding-top: 8.8rem;
    padding-left: 0;
    padding-right: 0;
  }
  main .mv .mv_inner .mv_inner_left h1 {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  main .mv .mv_inner .mv_inner_left h1 span {
    margin-bottom: 0.6rem;
    font-size: 1.4rem;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
  }
  main .mv .mv_inner .mv_inner_left .catch {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    margin-top: 9.7rem;
    font-size: 3.582rem;
    line-height: 1.3;
    margin-bottom: 1.972rem;
  }
  main .mv .mv_inner .mv_inner_left .mv_btn_area {
    gap: 0;
  }
  main .mv .mv_inner .mv_inner_left .mv_btn_area a {
    width: 33.3333%;
    max-width: none;
    border-radius: 0;
    padding: 0.85rem 0 1.15rem;
    gap: 0rem;
  }
  main .mv .mv_inner .mv_inner_left .mv_btn_area a p {
    white-space: normal;
    font-size: 1.6rem;
    line-height: 1.5;
  }
  main .mv .mv_inner .mv_inner_left .mv_btn_area a p span {
    font-size: 1.5rem;
  }
  main .mv .mv_inner .mv_inner_left .mv_btn_area a .mv_btn_arrow {
    width: 3.6rem;
    max-width: 3.6rem;
    min-width: 3.6rem;
  }
  main .mv .mv_inner .mv_inner_right {
    position: absolute;
    top: 0rem;
    right: 0;
    z-index: 1;
    width: 32.4rem;
    margin-left: 0;
  }
  main .mv .mv_inner .mv_inner_right picture img {
    width: 100%;
    height: auto;
    max-width: none;
    min-width: 0;
    min-height: 0;
  }
  main {
    /*----------------------------------------------------------------

    info_area（研修のご案内 ／ お知らせ）

    ----------------------------------------------------------------*/
  }
  main .info_area {
    /* --- 見出し --- */
  }
  main .info_area .section_title {
    justify-content: center;
    gap: 1.1rem;
    padding-left: 0;
  }
  main .info_area .section_title h2 {
    font-size: 2.8rem;
    letter-spacing: 0.84px;
  }
  main .info_area .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .info_area .tab_wrap {
    margin-top: 2rem;
  }
  main .info_area .tab_list .tab {
    width: 11.45rem;
    max-width: none;
    min-width: 0;
    min-height: 8.81rem;
    padding: 0.3rem 0rem;
    font-size: 1.6rem;
    letter-spacing: 0;
    line-height: 1.5;
  }
  main .info_area .kensyu_area .tab_list .tab,
  main .info_area .sr_kensyu .tab_list .tab {
    min-height: 6rem;
  }
  main .info_area .tab_body {
    padding-left: 2.1rem;
    padding-right: 2.3rem;
    border-radius: 0 0 10px 10px;
    margin-top: -0.2rem;
  }
  main .info_area .info_link {
    flex-wrap: wrap;
    padding: 0.7rem 2.2rem 1.1rem 2.2rem;
    min-height: 0;
  }
  main .info_area .info_link .info_date {
    width: auto;
    min-width: 0;
    margin-right: 0;
    font-size: 1.6rem;
  }
  main .info_area .info_link .info_tag {
    width: auto;
    min-width: 0;
    min-height: 2.5rem;
    margin-left: auto;
    margin-right: 0;
    padding: 0 1rem;
    font-size: 1.6rem;
    line-height: 1.4;
  }
  main .info_area .info_link .info_text {
    flex: 0 0 100%;
    margin-top: 1rem;
    padding-right: 0;
  }
  main .info_area .info_link .info_arrow {
    width: 5.1rem;
    max-width: none;
    min-width: 0;
    height: 2.45rem;
    max-height: none;
    min-height: 0;
    margin: 0.9rem 0 0 auto;
  }
  main .info_area .info_link .info_arrow .arrow_icon {
    width: 1.9rem;
  }
  main .info_area .info_btn_area {
    flex-direction: column;
    align-items: center;
    gap: 0.9rem;
    padding-right: 0;
    margin-top: 2rem;
  }
  main .info_area .info_btn {
    height: 5rem;
    max-height: none;
    min-height: 0;
    padding: 0 1rem;
    gap: 1rem;
  }
  main .info_area .info_btn.info_btn_main {
    width: 27.3rem;
    max-width: none;
    min-width: 0;
  }
  main .info_area .info_btn.info_btn_sub {
    width: 27.7rem;
    max-width: none;
    min-width: 0;
  }
  main .info_area .info_btn span {
    font-size: 1.6rem;
    letter-spacing: 0.2rem;
    line-height: 1.3;
    white-space: normal;
    text-align: center;
  }
  main .info_area .arrow_icon {
    width: 2.83rem;
    max-width: none;
    min-width: 0;
  }
  main .info_area .kensyu_area {
    padding-top: 6.3rem;
    padding-bottom: 5.1rem;
  }
  main .info_area .kensyu_area .rotate_line01 {
    top: 0;
    left: 12rem;
  }
  main .info_area .kensyu_area .rotate_line02 {
    top: 7.2rem;
    left: 0;
    width: auto;
    height: 56rem;
    -o-object-fit: cover;
       object-fit: cover;
  }
  main .info_area .kensyu_area .kensyu_area_inner {
    width: 34.3rem;
  }
  main .info_area .kensyu_area .title_bg {
    left: -5.7rem;
    top: -3.7rem;
    width: 16.5rem;
    max-width: none;
    min-width: 0;
  }
  main .info_area .kensyu_area .tab_body {
    padding-top: 3rem;
    padding-bottom: 2.6rem;
  }
  main .info_area .kensyu_area .info_btn_area {
    margin-top: 2.3rem;
  }
  main .info_area .news_area {
    padding-top: 4rem;
    padding-bottom: 6.3rem;
  }
  main .info_area .news_area .rotate_line03 {
    top: 0;
    left: 10.6rem;
  }
  main .info_area .news_area .rotate_line04 {
    top: 5rem;
    left: 0;
  }
  main .info_area .news_area .info_link {
    padding: 0.8rem 2.2rem 1.1rem 2.2rem;
  }
  main .info_area .news_area .news_area_inner {
    width: 34.3rem;
  }
  main .info_area .news_area .info_btn_area {
    margin-top: 2rem;
  }
  main .info_area .news_area .title_bg {
    left: 0.7rem;
    top: -4.1rem;
    width: 19.9rem;
    max-width: none;
    min-width: 0;
  }
  main .info_area .news_area .tab_body {
    padding-top: 2.5rem;
    padding-bottom: 2.4rem;
  }
  main .info_area .news_area .info_link .info_date {
    margin-right: 0;
  }
  main {
    /*----------------------------------------------------------------

    calendar_area

    ----------------------------------------------------------------*/
  }
  main .calendar_area .calendar_bg {
    width: 20rem;
    max-width: 300px;
    min-width: 200px;
  }
  main .calendar_area .calendar_inner {
    width: 90%;
  }
  main .calendar_area .calendar_inner .section_title {
    justify-content: center;
    margin-bottom: 2.4rem;
  }
  main {
    /*----------------------------------------------------------------

    intro_area

    ----------------------------------------------------------------*/
  }
  main .intro_area {
    padding-top: 6.8rem;
  }
  main .intro_area .intro_bg {
    top: 1.2rem;
    left: 50%;
    transform: translateX(-50%);
    width: 20.8rem;
    max-width: 628px;
    min-width: 200px;
    height: auto;
  }
  main .intro_area .intro_area_inner .intro_area_list_wrap {
    width: 100%;
  }
  main .intro_area .intro_area_inner #intro_title {
    font-size: 2.4rem;
    letter-spacing: 1px;
  }
  main .intro_area .intro_area_inner #intro_title span {
    font-size: 1.8rem;
  }
  main .intro_area .intro_area_inner .intro_area_list {
    width: 100%;
    gap: 3rem;
    display: flex;
    flex-direction: column;
  }
  main .intro_area .intro_area_inner .intro_area_list .intro_area_card {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 32.5rem;
  }
  main .intro_area .intro_area_inner .intro_area_list .intro_area_card .intro_area_card_header {
    padding-top: 1.5rem;
    padding-bottom: 1.1rem;
  }
  main .intro_area .intro_area_inner .intro_area_list .intro_area_card .intro_area_card_header h3 {
    font-size: 2.4rem;
  }
  main .intro_area .intro_area_inner .intro_area_list .intro_area_card .intro_area_card_header h3 span {
    font-size: 1.8rem;
  }
  main .intro_area .intro_area_inner .intro_area_list .intro_area_card .lower {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding-top: 2rem;
    padding-bottom: 2rem;
  }
  main .intro_area .intro_area_inner .intro_area_list .intro_area_card .lower p {
    font-size: 1.6rem;
  }
  main .intro_area .intro_area_inner .intro_area_list .intro_area_card .lower .intro_btn {
    margin-top: 2rem;
  }
  main .intro_area .intro_area_inner .intro_area_list .intro_area_card .lower .intro_btn .ns_500 {
    font-size: 1.8rem;
    padding-left: 1.5rem;
    padding-right: 3.5rem;
  }
  main .intro_area .intro_area_lower {
    width: 90%;
  }
  main {
    /*----------------------------------------------------------------

    about_area

    ----------------------------------------------------------------*/
  }
  main .about_area {
    background-image: url(../img/top/about/about_bg_sp.jpg);
    padding-top: 6.6rem;
    padding-bottom: 8rem;
  }
  main .about_area .about_area_inner {
    width: 100%;
  }
  main .about_area .about_area_inner .about_tecxt_inner {
    width: 100%;
  }
  main .about_area .about_title .about_title_main {
    font-size: 3.4rem;
    line-height: 1.3;
    letter-spacing: 3px;
  }
  main .about_area .about_title .about_title_sub {
    font-size: 2.8rem;
    line-height: 1.5;
    letter-spacing: 2.26px;
  }
  main .about_area .about_line {
    width: 31.8rem;
    max-width: 100%;
    height: 8px;
    margin-top: 2.1rem;
  }
  main .about_area .about_read {
    width: 31.4rem;
    max-width: 100%;
    margin: 2.4rem auto 0;
    font-size: 2rem;
    letter-spacing: 3px;
  }
  main .about_area .about_text {
    width: 29.6rem;
    max-width: 100%;
    margin-top: 2.4rem;
    font-size: 1.6rem;
  }
  main .about_area {
    /* --- 装飾写真：SP は 01・02 のみ、本文とメリットの間に置く --- */
  }
  main .about_area .about_deco_wrap {
    display: block;
    position: relative;
    height: 11.5rem;
    margin-top: 4.3rem;
  }
  main .about_area .about_deco01 {
    left: 3.8rem;
    top: 0;
    width: 15rem;
  }
  main .about_area .about_deco02 {
    left: 21.6rem;
    top: 2.7rem;
    width: 11.5rem;
  }
  main .about_area .about_merit {
    margin-top: 7rem;
  }
  main .about_area .about_merit::before {
    top: -11.2rem;
    left: 19.5rem;
    width: 44.9rem;
    max-width: none;
  }
  main .about_area .about_merit .about_merit_title {
    width: 31.3rem;
    max-width: 100%;
    padding: 0.95rem 0;
  }
  main .about_area .about_merit .about_merit_title .about_merit_title_sub {
    font-size: 1.6rem;
    letter-spacing: 2.01px;
  }
  main .about_area .about_merit .about_merit_title .about_merit_title_main {
    font-size: 2.8rem;
    letter-spacing: 2.01px;
  }
  main .about_area .about_merit .about_merit_lead {
    width: 30.1rem;
    max-width: 100%;
    margin: 2.2rem auto 7rem;
    font-size: 1.6rem;
    text-align: left !important;
  }
  main .about_area .about_merit .about_merit_list {
    grid-template-columns: 1fr;
    row-gap: 5.7rem;
    width: 34.6rem;
    max-width: 100%;
    margin-top: 7.4rem;
    margin: 0 auto !important;
  }
  main .about_area .about_merit .about_merit_card {
    min-height: 8.8rem;
    padding: 1.6rem 1.2rem 1rem;
  }
  main .about_area .about_merit .about_merit_badge {
    top: -3.7rem;
    width: 8.88rem;
    max-width: none;
    padding-top: 0.5rem;
  }
  main .about_area .about_merit .about_merit_icon {
    width: 3.24rem;
    max-width: none;
  }
  main .about_area .about_merit .about_merit_no {
    font-size: 1.4rem;
  }
  main .about_area .about_merit .about_merit_card_text {
    font-size: 1.8rem;
    letter-spacing: 2.56px;
    z-index: 10;
  }
  main .about_area .about_merit .about_merit_btn {
    width: 35.3rem;
    max-width: 100%;
    margin-top: 5rem;
    justify-content: space-between;
    padding: 1.3rem 1.7rem;
    gap: 1rem;
  }
  main .about_area .about_merit .about_merit_btn .about_merit_btn_text {
    font-size: 1.6rem;
    line-height: 4rem;
  }
  main .about_area .about_merit .about_merit_btn .about_merit_btn_arrow {
    width: 6.5rem;
    max-width: none;
    height: 4rem;
    max-height: none;
    padding-left: 1.2rem;
  }
  main .about_area .about_merit .about_merit_btn .about_merit_btn_arrow .arrow {
    width: 3.3rem;
    max-width: none;
    min-width: 0;
  }
  main {
    /*----------------------------------------------------------------

    list_area

    ----------------------------------------------------------------*/
  }
  main .list_area {
    background-image: url(../img/top/list_bg_sp.jpg);
    padding-top: 5rem;
    padding-bottom: 7.7rem;
  }
  main .list_area .list_area_inner {
    width: 32.5rem;
  }
  main .list_area .list_area_inner .upper {
    gap: 2rem;
  }
  main .list_area .list_area_inner .upper .section_title {
    margin: 0 auto;
    justify-content: center;
  }
  main .list_area .list_area_inner .upper .text {
    width: 30.6rem;
    min-width: 20rem;
    font-size: 1.6rem;
  }
  main {
    /*----------------------------------------------------------------

    group_area

    ----------------------------------------------------------------*/
  }
  main .group_area {
    padding-top: 3.7rem;
    padding-bottom: 7.2rem;
    background-image: url(../img/top/group_bg_sp.jpg);
  }
  main .group_area .group_area_inner .section_title {
    flex-direction: row !important;
    justify-content: center;
  }
  main .group_area .group_area_inner .group_card_area {
    margin-top: 3.7rem;
    width: 36rem;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr);
    justify-content: center;
    -moz-column-gap: 1.2rem;
         column-gap: 1.2rem;
    row-gap: 0;
  }
  main .group_area .group_area_inner .group_card_area .group_card {
    min-width: 0;
    max-width: none;
    width: auto;
    height: auto;
  }
  main .group_area .group_area_inner .group_card_area .group_card:nth-child(-n+2) .lower {
    margin-bottom: 2rem;
  }
  main .group_area .group_area_inner .group_card_area .group_card .upper .img01 {
    width: 8rem;
  }
  main .group_area .group_area_inner .group_card_area .group_card .upper .img02 {
    width: 8rem;
  }
  main .group_area .group_area_inner .group_card_area .group_card .upper .img03 {
    width: 8rem;
  }
  main .group_area .group_area_inner .group_card_area .group_card .upper .img04 {
    width: 8rem;
  }
  main .group_area .group_area_inner .group_card_area .group_card .lower {
    min-height: 4.6rem;
    height: auto;
    padding-left: 0.8rem;
    padding-right: 0.8rem;
  }
  main .group_area .group_area_inner .group_card_area .group_card .lower .blue01 {
    font-size: 1.6rem;
    line-height: 1.2;
  }
  main .group_area .group_area_inner .group_card_area .group_card .lower .arrow_area {
    width: 3.38vw;
    min-width: 30px;
    display: flex;
    justify-content: center;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem;
  }
  main .group_area .group_area_inner .group_card_area .group_card .lower .arrow_area .arrow {
    width: 2rem;
    min-width: 1rem;
  }
  main {
    /*----------------------------------------------------------------

    faq_area

    ----------------------------------------------------------------*/
  }
  main .faq_area .faq_area_inner {
    width: 100%;
  }
  main .faq_area .faq_area_inner .faq_head {
    display: block;
    text-align: center;
    gap: 1rem;
  }
  main .faq_area .faq_area_inner .faq_head .title_bg {
    left: 1rem;
    top: -4rem;
    z-index: 0;
    width: 1rem;
    min-width: 120px;
  }
  main .faq_area .faq_area_inner .faq_head .faq_title {
    white-space: normal;
    font-size: 2.8rem;
    line-height: 1.8;
    letter-spacing: 3px;
  }
  main .faq_area .faq_area_inner .faq_head .faq_lead {
    width: 29.8rem;
    max-width: 100%;
    margin: 1rem auto 0;
    padding: 0;
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: 2px;
  }
  main .faq_area .faq_area_inner .faq_tab_list {
    gap: 2rem;
    margin-top: 3rem;
  }
  main .faq_area .faq_area_inner .faq_tab_list .faq_tab {
    width: 32.4rem;
    max-width: 100%;
    min-height: 4.8rem;
    padding: 0 1rem;
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: 3px;
  }
  main .faq_area .faq_area_inner .faq_tab_list .faq_tab span {
    font-size: 1.8rem;
  }
  main .faq_area .faq_area_inner .faq_tab_list .faq_tab[aria-selected=true] {
    margin-bottom: 1.6rem;
  }
  main .faq_area .faq_area_inner .faq_tab_list .faq_tab[aria-selected=true]::after {
    border-left-width: 1.52rem;
    border-right-width: 1.52rem;
    border-top-width: 2rem;
  }
  main .faq_area .faq_area_inner .faq_panel {
    margin-top: 2.9rem;
  }
  main .faq_area .faq_area_inner .faq_list {
    width: 36.9rem;
    max-width: 100%;
    gap: 2rem;
    margin: 0 auto !important;
  }
  main .faq_area .faq_area_inner .faq_list .faq_mark {
    align-self: flex-start;
    width: 3.45rem;
    max-width: none;
    min-width: 0;
    height: 3.05rem;
    max-height: none;
    min-height: 0;
    margin-top: 0.4rem;
  }
  main .faq_area .faq_area_inner .faq_list .faq_mark span {
    font-size: 1.8rem;
  }
  main .faq_area .faq_area_inner .faq_list .faq_q_btn {
    min-height: 0;
    padding: 1.7rem 1.78rem 1.7rem 1.22rem;
    gap: 1.43rem;
  }
  main .faq_area .faq_area_inner .faq_list .faq_q_btn .faq_q_text {
    padding: 0.6rem 0;
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: 2px;
  }
  main .faq_area .faq_area_inner .faq_list .faq_q_btn .faq_icon {
    font-size: 3.62rem;
  }
  main .faq_area .faq_area_inner .faq_list .faq_a_body {
    padding: 2.6rem 1.78rem 3.6rem 1.22rem;
    gap: 1.43rem;
  }
  main .faq_area .faq_area_inner .faq_list .faq_a_content .faq_a_text {
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 2px;
  }
  main .faq_area .faq_area_inner .faq_list .faq_link_wrap {
    margin-top: 1.6rem;
    margin-left: -4rem;
  }
  main .faq_area .faq_area_inner .faq_list .faq_link_list {
    gap: 1.6rem;
  }
  main .faq_area .faq_area_inner .faq_list .faq_link_list .faq_link {
    width: 100%;
    justify-content: center;
    padding: 1rem 2rem;
    gap: 1rem;
  }
  main .faq_area .faq_area_inner .faq_list .faq_link_list .faq_link span {
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: 2px;
  }
  main .faq_area .faq_area_inner .faq_list .faq_link_list .faq_link .material-symbols-outlined {
    font-size: 2.4rem;
  }
  main {
    /*----------------------------------------------------------------

    contact_area

    ----------------------------------------------------------------*/
  }
  main .contact_area {
    padding-top: 0;
    padding-bottom: 0rem;
  }
  main .contact_area .contact_area_inner .contact_area_content {
    width: 100%;
    padding: 3.5rem 1.5rem 4.5rem 1.5rem;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle {
    margin-top: 1rem;
    padding-top: 1.5rem;
    padding-bottom: 2rem;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle h3,
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle > p {
    padding-right: 0;
    font-size: 2rem;
    position: relative;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle h3 span,
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle > p span {
    font-size: 2rem;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle h3::after,
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle > p::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    height: 1px;
    width: 16rem;
    background: #183CB6;
    display: none;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle .contact_area_middle_right {
    padding-left: 0;
    border-left: unset;
    padding-top: 0.8rem;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle .contact_area_middle_right .tel_link {
    gap: 1rem;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle .contact_area_middle_right .material-symbols-outlined {
    font-size: 3.2rem;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_area_middle .contact_area_middle_right .phone_num {
    font-size: 3.8rem;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_date_wrap {
    margin-top: 2rem;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_date .left {
    border-radius: 10px 0 0 10px;
  }
  main .contact_area .contact_area_inner .contact_area_content .contact_date .right {
    border-radius: 0 10px 10px 0;
  }
  /*----------------------------------------------------------------

  下層ページ（sub_mv ／ contact）


  ----------------------------------------------------------------*/
  main {
    /*----------------------------------------------------------------

    sub_mv

    ----------------------------------------------------------------*/
  }
  main .sub_mv .sub_mv_inner {
    padding: 11.5rem 2.35rem 1.6rem;
  }
  main .sub_mv .sub_mv_blur {
    width: 21.8rem;
    max-width: none;
    min-width: 0;
  }
  main .sub_mv .sub_mv_title {
    font-size: 2.8rem;
    letter-spacing: 2px;
    line-height: 1.5;
  }
  main .sub_mv .sub_mv_head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.4rem;
  }
  main .sub_mv .sub_mv_titles {
    gap: 2rem;
  }
  main .sub_mv .sub_mv_lead {
    line-height: 1.6;
  }
  main .sub_mv .sub_mv_sub {
    font-size: 1.8rem;
    letter-spacing: 1px;
    line-height: 1.5;
  }
  main .sub_mv .sub_mv_breadcrumb {
    margin-top: 3.2rem;
  }
  main .sub_mv .sub_mv_breadcrumb .breadcrumb_item + .breadcrumb_item::before {
    margin: 0 0.4rem;
    font-size: 3.2vw;
  }
  main {
    /*----------------------------------------------------------------

    contact_btn

    ----------------------------------------------------------------*/
  }
  main .contact_btn {
    width: 32.4rem;
    max-width: 100%;
    justify-content: space-between;
    padding: 1.3rem 1.5rem;
    gap: 1rem;
  }
  main .contact_btn .contact_btn_text {
    font-size: 1.6rem;
    line-height: 4rem;
    letter-spacing: 2px;
  }
  main .contact_btn .contact_btn_arrow {
    width: 6.5rem;
    max-width: none;
    min-width: 0;
    height: 4rem;
    max-height: none;
    min-height: 0;
  }
  main .contact_btn .contact_btn_arrow .arrow {
    width: 3.3rem;
    max-width: none;
    min-width: 0;
  }
  main {
    /*----------------------------------------------------------------

    contact_faq

    ----------------------------------------------------------------*/
  }
  main .contact_faq {
    padding-top: 5rem;
    padding-bottom: 4.5rem;
  }
  main .contact_faq .section_title {
    gap: 1.1rem;
  }
  main .contact_faq .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .contact_faq .section_title h3 {
    font-size: 2.4rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .contact_faq .contact_faq_lead {
    width: 31.4rem;
    max-width: 100%;
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 2px;
  }
  main .contact_faq .contact_faq_btn_area {
    margin-top: 3rem;
  }
  main {
    /*----------------------------------------------------------------

    contact_tel

    ----------------------------------------------------------------*/
  }
  main .contact_tel {
    padding-top: 4.5rem;
    padding-bottom: 6rem;
  }
  main .contact_tel .section_title {
    gap: 1.1rem;
  }
  main .contact_tel .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .contact_tel .section_title h3 {
    font-size: 2.4rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .contact_tel .contact_tel_card {
    width: 34.3rem;
    max-width: 100%;
    margin-top: 2.4rem;
    padding: 3rem 1.5rem 3.4rem;
    border-radius: 15px;
  }
  main .contact_tel .contact_tel_lead {
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 1.5px;
  }
  main .contact_tel .contact_tel_link {
    margin-top: 1.6rem;
    gap: 1.2rem;
  }
  main .contact_tel .contact_tel_icon {
    width: 2.6rem;
    max-width: none;
    min-width: 0;
  }
  main .contact_tel .contact_tel_num {
    font-size: 3.4rem;
    letter-spacing: 1px;
  }
  main .contact_tel .contact_tel_line {
    width: 100%;
    max-width: none;
    margin-top: 1.4rem;
  }
  main .contact_tel .contact_tel_time {
    margin-top: 2rem;
    font-size: 1.8rem;
    letter-spacing: 2px;
  }
  main {
    /*----------------------------------------------------------------

    policy_area

    ----------------------------------------------------------------*/
  }
  main .policy_area {
    padding-top: 5rem;
    padding-bottom: 6rem;
  }
  main .policy_area .policy_area_inner {
    width: 90%;
    max-width: none;
  }
  main .policy_area .section_title {
    gap: 1.1rem;
  }
  main .policy_area .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .policy_area .section_title h3 {
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .policy_area .policy_lead {
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 2px;
    text-align: left;
  }
  main .policy_area .policy_area_inner_content {
    margin-top: 3rem;
  }
  main .policy_area .policy_item {
    padding-top: 2.4rem;
    padding-bottom: 2.4rem;
  }
  main .policy_area .policy_item_title {
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .policy_area .policy_item_text {
    margin-top: 1rem;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 2px;
  }
  main .policy_area .policy_note_list {
    margin-top: 1rem !important;
  }
  main .policy_area .policy_note {
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 2px;
  }
  main .policy_area .policy_contact {
    margin-top: 1.6rem;
  }
  main .policy_area .policy_contact_name {
    font-size: 1.6rem;
    letter-spacing: 2px;
  }
  main .policy_area .policy_contact_address {
    margin-top: 0.5rem;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 2px;
  }
  main {
    /*----------------------------------------------------------------

    sub_mv_bar（投稿詳細の MV）

    ----------------------------------------------------------------*/
  }
  main .sub_mv_bar {
    height: auto;
    max-height: none;
    min-height: 0;
    padding: 9.5rem 2.35rem 1.6rem;
  }
  main .sub_mv_breadcrumb .breadcrumb_item + .breadcrumb_item::before {
    margin: 0 0.4rem;
    font-size: 3.2vw;
  }
  main {
    /*----------------------------------------------------------------

    post_area（お知らせ ／ 研修のご案内）

    ----------------------------------------------------------------*/
  }
  main .post_area {
    padding-left: 0;
    padding-right: 0;
    padding-top: 4.5rem;
    padding-bottom: 6rem;
  }
  main .post_area .post_area_inner {
    flex-direction: column;
    width: 34.3rem;
    max-width: 100%;
    margin-inline: auto;
  }
  main .post_area .post_main {
    width: 100%;
  }
  main .post_area .post_side {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-left: 0;
    margin-top: 5rem;
  }
  main .post_area_detail .post_side {
    margin-top: 5rem;
  }
  main {
    /*----------------------------------------------------------------

    サイドバー

    ----------------------------------------------------------------*/
  }
  main .post_side .side_block + .side_block {
    margin-top: 3rem;
  }
  main .post_side .side_block_title {
    min-height: 4rem;
    padding: 0.5rem 1rem;
    font-size: 1.6rem;
  }
  main .post_side .side_list {
    margin-top: 1.6rem !important;
  }
  main .post_side .side_item + .side_item {
    margin-top: 1.6rem;
  }
  main .post_side .side_link {
    min-height: 3.4rem;
  }
  main .post_side .side_link_text {
    font-size: 1.6rem;
  }
  main .post_side .side_icon {
    font-size: 2.2rem;
  }
  main .post_side .side_post {
    padding: 0.6rem 0;
  }
  main .post_side .side_post_title {
    width: calc(100% - 3rem);
    font-size: 1.6rem;
  }
  main .post_side .side_post_date {
    width: 100%;
    font-size: 1.4rem;
  }
  main {
    /*----------------------------------------------------------------

    一覧

    ----------------------------------------------------------------*/
  }
  main .post_main.info_area .info_link {
    min-height: 0;
  }
  main .post_main.info_area .info_arrow {
    height: 2.45rem;
    max-height: none;
    min-height: 0;
  }
  main .pagenavi_wrap {
    margin-top: 3rem;
  }
  main .wp-pagenavi {
    gap: 0.8rem;
  }
  main .wp-pagenavi > a,
  main .wp-pagenavi > span {
    min-width: 4rem;
    min-height: 4rem;
    padding: 0.4rem 0.8rem;
    font-size: 1.4rem;
  }
  main .wp-pagenavi .pages {
    flex: 0 0 100%;
    margin-right: 0;
    margin-bottom: 0.4rem;
    justify-content: center;
  }
  main {
    /*----------------------------------------------------------------

    記事本文

    ----------------------------------------------------------------*/
  }
  main .post_card {
    padding: 2rem 1.5rem 3rem;
    border-radius: 10px;
  }
  main .post_card .post_tag_list {
    gap: 0.8rem;
  }
  main .post_card .post_tag {
    min-height: 2.8rem;
    padding: 0.2rem 1rem;
    font-size: 1.4rem;
  }
  main .post_card .post_meta {
    flex-direction: column;
    align-items: flex-start !important;
    margin-top: 1.2rem;
    gap: 0.4rem;
  }
  main .post_card .post_date {
    font-size: 1.4rem;
  }
  main .post_card .post_term {
    white-space: normal;
    font-size: 1.8rem;
  }
  main .post_card .post_term .post_term_label {
    font-size: 1.6rem;
  }
  main .post_card .post_line {
    margin-top: 1rem;
  }
  main .post_card .post_content {
    padding: 0;
  }
  main .post_card .post_title {
    margin-top: 1.6rem;
    font-size: 2.2rem;
    letter-spacing: 2px;
  }
  main .post_card .post_thumb {
    margin-top: 2rem;
  }
  main .post_body {
    margin-top: 2rem;
  }
  main .post_body > * + * {
    margin-top: 1.6rem;
  }
  main .post_body p {
    font-size: 1.6rem;
    line-height: 1.8;
  }
  main .post_body h2 {
    min-height: 0;
    margin-top: 3rem;
    padding: 0.8rem 1.2rem;
    border-left-width: 6px;
    font-size: 1.8rem;
  }
  main .post_body h3 {
    min-height: 0;
    margin-top: 2.4rem;
    padding: 0.8rem 1rem;
    font-size: 1.7rem;
  }
  main .post_body h4 {
    gap: 0.8rem;
    margin-top: 1.6rem;
    padding: 0.6rem 0.4rem;
    font-size: 1.6rem;
  }
  main .post_body h4::before {
    width: 8px;
    height: 8px;
  }
  main .post_body h2 + *,
  main .post_body h3 + *,
  main .post_body h4 + * {
    margin-top: 1.6rem;
  }
  main .post_body ul,
  main .post_body ol {
    font-size: 1.6rem;
  }
  main {
    /*----------------------------------------------------------------

    パスワード入力

    ----------------------------------------------------------------*/
  }
  main .post_password {
    width: 100%;
    max-width: none;
    margin-top: 3rem;
    padding: 3rem 1.5rem 3rem;
    border-radius: 15px;
  }
  main .post_password .post_password_title {
    gap: 1rem;
  }
  main .post_password .post_password_title .post_password_icon {
    width: 2rem;
    max-width: none;
    min-width: 0;
  }
  main .post_password .post_password_title .f_32 {
    font-size: 2rem;
  }
  main .post_password .post_password_text {
    margin-top: 1.6rem;
    font-size: 1.5rem;
  }
  main .post_password .post_password_input {
    width: 100%;
    max-width: none;
    min-width: 0;
    height: 5rem;
    max-height: none;
    margin-top: 1rem;
    font-size: 1.6rem;
  }
  main .post_password .post_password_input::-moz-placeholder {
    font-size: 1.6rem;
  }
  main .post_password .post_password_input::placeholder {
    font-size: 1.6rem;
  }
  main .post_password .post_password_submit {
    width: 19rem;
    max-width: none;
    min-width: 0;
    height: 4.6rem;
    max-height: none;
    margin-top: 2.4rem;
    font-size: 1.8rem;
  }
  main {
    /*----------------------------------------------------------------

    記事送り

    ----------------------------------------------------------------*/
  }
  main .post_nav {
    margin-top: 3rem;
    justify-content: space-between !important;
    gap: 2rem 0;
  }
  main .post_nav .post_nav_link {
    gap: 0.4rem;
  }
  main .post_nav .post_nav_link .post_nav_icon {
    font-size: 2rem;
  }
  main .post_nav .post_nav_link span {
    font-size: 1.4rem;
  }
  main .post_nav .post_back_btn {
    order: 3;
    width: 32.4rem;
    max-width: 100%;
    margin-inline: auto;
    justify-content: space-between;
    padding: 1.3rem 1.5rem;
    gap: 1rem;
  }
  main .post_nav .post_back_btn .post_back_btn_text {
    font-size: 1.6rem;
    line-height: 4rem;
    letter-spacing: 2px;
  }
  main .post_nav .post_back_btn .post_back_btn_arrow {
    width: 6.5rem;
    max-width: none;
    min-width: 0;
    height: 4rem;
    max-height: none;
    min-height: 0;
    padding-left: 1.2rem;
  }
  main .post_nav .post_back_btn .post_back_btn_arrow .arrow {
    width: 3.3rem;
    max-width: none;
    min-width: 0;
  }
  main {
    /*----------------------------------------------------------------

    団体概要・アクセス

    ----------------------------------------------------------------*/
  }
  main .access_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main .sub_heading {
    gap: 0.8rem;
  }
  main .sub_heading .sub_heading_mark {
    width: 1.8rem;
    max-width: none;
    min-width: 0;
  }
  main .sub_heading .sub_heading_text {
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main {
    /* --- 団体概要 --- */
  }
  main .access_intro {
    padding: 5rem 0;
  }
  main .access_intro .section_title {
    gap: 1.1rem;
  }
  main .access_intro .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .access_intro .section_title h3 {
    font-size: 2.4rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .access_intro .access_intro_lead {
    width: 100%;
    max-width: none;
    margin-top: 2rem !important;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 2px;
  }
  main .access_intro .access_card_list {
    grid-template-columns: 1fr;
    row-gap: 2.4rem;
    width: 100%;
    max-width: none;
    margin: 3rem 0 0 !important;
  }
  main .access_intro .access_card_head {
    min-height: 0;
    gap: 0.8rem;
    padding: 1.5rem 1rem;
    border-radius: 10px 10px 0 0;
  }
  main .access_intro .access_card_mark {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .access_intro .access_card_title {
    font-size: 1.8rem;
    letter-spacing: 2px;
  }
  main .access_intro .access_card_body {
    padding: 2rem 1.5rem;
    border-radius: 0 0 10px 10px;
  }
  main .access_intro .access_card_text {
    font-size: 1.5rem;
    line-height: 1.9;
  }
  main .access_intro {
    /* --- プロフィール --- */
  }
  main .access_intro .access_profile {
    margin-top: 4.5rem;
  }
  main .access_intro .access_profile_table {
    display: block;
    width: 100%;
    max-width: none;
    margin-top: 2rem;
  }
  main .access_intro .access_profile_table thead {
    display: none;
  }
  main .access_intro .access_profile_table tbody,
  main .access_intro .access_profile_table tr,
  main .access_intro .access_profile_table th,
  main .access_intro .access_profile_table td {
    display: block;
    width: auto;
  }
  main .access_intro .access_profile_table tbody tr {
    border-bottom: 0;
  }
  main .access_intro .access_profile_table tbody tr + tr {
    margin-top: 1.6rem;
  }
  main .access_intro .access_profile_table .access_profile_label {
    width: auto;
    padding: 0.8rem 1.2rem;
    border-right: 0;
    background-color: #C9D0E8;
    font-size: 1.6rem;
    text-align: left;
  }
  main .access_intro .access_profile_table .access_profile_val {
    padding: 1.2rem 1.2rem;
    border-left: 0 !important;
    font-size: 1.5rem;
    text-align: left;
  }
  main .access_intro .access_profile_table .access_profile_val + .access_profile_val {
    border-top: 1px solid rgba(74, 87, 131, 0.5);
  }
  main .access_intro .access_profile_table .access_profile_val_wide {
    padding-left: 1.2rem;
  }
  main .access_intro .access_profile_table .access_profile_val[data-col]::before {
    content: attr(data-col);
    display: block;
    margin-bottom: 0.4rem;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 1px;
    color: #4A5783;
  }
  main {
    /* --- 会長挨拶 --- */
  }
  main .access_greeting {
    padding: 5rem 0;
  }
  main .access_greeting .access_greeting_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main .access_greeting .section_title {
    gap: 1.1rem;
  }
  main .access_greeting .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .access_greeting .section_title h3 {
    font-size: 2.4rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .access_greeting .access_greeting_upper {
    flex-direction: column;
  }
  main .access_greeting .access_greeting_left {
    width: 100%;
    max-width: none;
  }
  main .access_greeting .access_greeting_catch {
    margin-top: 2rem;
    font-size: 2rem;
    line-height: 1.8;
    letter-spacing: 2px;
  }
  main .access_greeting .access_greeting_img {
    width: 100%;
    max-width: none;
    margin-top: 2.4rem;
  }
  main .access_greeting .access_greeting_body {
    margin-top: 2.8rem;
  }
  main .access_greeting .access_greeting_body p {
    font-size: 1.5rem;
    line-height: 1.8;
    letter-spacing: 1px;
  }
  main .access_greeting .access_greeting_body p + p {
    margin-top: 1.8rem;
  }
  main .access_greeting .access_greeting_sign {
    margin-top: 2.4rem;
    font-size: 1.4rem;
    letter-spacing: 1px;
  }
  main {
    /* --- 組織体制 --- */
  }
  main .access_org {
    padding: 5rem 0;
  }
  main .access_org .section_title {
    gap: 1.1rem;
  }
  main .access_org .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .access_org .section_title h3 {
    font-size: 2.4rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .access_org .access_org_block {
    margin-top: 3rem;
  }
  main .access_org .access_org_block_sub {
    margin-top: 3.5rem;
  }
  main .access_org .access_org_head {
    min-height: 4rem;
    padding: 0.8rem 1rem;
    gap: 0.8rem;
  }
  main .access_org .access_org_list {
    padding: 0 1.5rem !important;
  }
  main .access_org .access_org_row {
    grid-template-columns: 1fr;
    padding: 1.6rem 0;
  }
  main .access_org .access_org_label {
    font-size: 1.8rem;
    letter-spacing: 2px;
  }
  main .access_org .access_org_val {
    margin-top: 0.6rem;
    font-size: 1.5rem;
    line-height: 1.7;
    letter-spacing: 1px;
  }
  main .access_org .access_org_block_sub .access_org_row {
    padding: 1.6rem 0;
  }
  main .access_org .access_org_block_sub .access_org_val {
    line-height: 1.7;
  }
  main {
    /* --- アクセスマップ --- */
  }
  main .access_map {
    padding: 5rem 0;
  }
  main .access_map .section_title {
    gap: 1.1rem;
  }
  main .access_map .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .access_map .section_title h3 {
    font-size: 2.4rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .access_map .access_map_list {
    grid-template-columns: 1fr;
    row-gap: 4rem;
    margin-top: 3rem !important;
  }
  main .access_map .access_map_head {
    min-height: 0;
    padding: 1.5rem 1rem;
    border-radius: 10px 10px 0 0;
  }
  main .access_map .access_map_name {
    font-size: 1.8rem;
    letter-spacing: 1px;
  }
  main .access_map .access_map_line {
    width: 85%;
    margin-top: 1rem;
  }
  main .access_map .access_map_address {
    margin-top: 1rem;
    font-size: 1.4rem;
    line-height: 1.5;
    letter-spacing: 1px;
  }
  main .access_map .access_map_frame {
    aspect-ratio: 343/220;
  }
  main .access_map .access_map_info {
    min-height: 0;
    margin-top: 1.6rem;
    padding: 1.6rem 1.5rem 2rem;
    border-radius: 15px;
  }
  main .access_map .access_map_info_title {
    font-size: 1.8rem;
    letter-spacing: 1px;
  }
  main .access_map .access_map_info_text {
    margin-top: 1rem;
    font-size: 1.5rem;
    line-height: 1.8;
  }
  main .access_map .access_map_info_note {
    margin-top: 1.2rem;
    font-size: 1.4rem;
  }
  main .access_map .access_map_info_note span {
    font-size: 1.5rem;
  }
  main .access_map {
    /* --- 道順 --- */
  }
  main .access_map .access_route {
    margin-top: 4rem;
  }
  main .access_map .access_route .sub_heading {
    align-items: flex-start;
  }
  main .access_map .access_route .sub_heading .sub_heading_mark {
    margin-top: 0.5rem;
  }
  main .access_map .access_route_panel {
    flex-direction: column;
    margin-top: 2rem;
    padding: 2rem 1.5rem;
    border-radius: 15px;
  }
  main .access_map .access_route_img {
    width: 100%;
    max-width: none;
  }
  main .access_map .access_route_steps {
    width: 100%;
    max-width: none;
    margin-top: 2rem;
  }
  main .access_map .access_route_steps_head {
    min-height: 3.4rem;
    padding: 0.6rem 1rem;
    border-radius: 10px 10px 0 0;
    font-size: 1.8rem;
  }
  main .access_map .access_route_steps_body {
    padding: 1.6rem 1.5rem 2rem;
    border-radius: 0 0 10px 10px;
  }
  main .access_map .access_route_step {
    gap: 0.8rem;
  }
  main .access_map .access_route_step + .access_route_step {
    margin-top: 1rem;
  }
  main .access_map .access_route_step_no {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
    height: 2.4rem;
    max-height: none;
    min-height: 0;
    font-size: 1.3rem;
  }
  main .access_map .access_route_step_text {
    font-size: 1.6rem;
    line-height: 1.6;
  }
  main .access_map .access_route_note {
    margin-top: 1.4rem;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  main {
    /*----------------------------------------------------------------

    社会保険労務士 会員名簿

    ----------------------------------------------------------------*/
  }
  main .member_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main {
    /* --- 会員名簿検索 --- */
  }
  main .member_search {
    padding: 4.5rem 0 5rem;
  }
  main .member_search .member_anchor_list {
    flex-direction: column;
    gap: 1.2rem;
  }
  main .member_search .member_anchor {
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.2rem;
  }
  main .member_search .member_anchor .member_anchor_icon {
    font-size: 2.4rem;
  }
  main .member_search .member_anchor .member_anchor_img {
    width: 2.8rem;
    max-width: none;
    min-width: 0;
  }
  main .member_search .member_anchor .member_anchor_text {
    font-size: 1.6rem;
    line-height: 3.4rem;
  }
  main .member_search .member_anchor .member_anchor_arrow {
    width: 5.7rem;
    max-width: none;
    min-width: 0;
    height: 3.4rem;
    max-height: none;
    min-height: 0;
  }
  main .member_search .member_anchor .member_anchor_arrow img {
    width: 1rem;
  }
  main .member_search .section_title {
    gap: 1.1rem;
    margin-top: 3.5rem;
  }
  main .member_search .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .member_search .section_title h3 {
    font-size: 2.2rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .member_search .member_form {
    margin-top: 2rem;
  }
  main .member_search .member_form_head {
    gap: 0.8rem;
    min-height: 4.4rem;
    padding: 0.8rem 1rem;
    border-radius: 10px 10px 0 0;
  }
  main .member_search .member_form_head .member_form_head_icon {
    font-size: 2.2rem;
  }
  main .member_search .member_form_head .f_30 {
    font-size: 1.8rem;
  }
  main .member_search .member_form_body {
    padding: 2rem 1.5rem 3rem;
    border-radius: 0 0 10px 10px;
  }
  main .member_search .member_form_row {
    padding-bottom: 1.6rem;
  }
  main .member_search .member_form_row + .member_form_row {
    padding-top: 1.6rem;
  }
  main .member_search .member_form_label {
    font-size: 1.8rem;
    letter-spacing: 2px;
  }
  main .member_search .member_form_select {
    width: 100%;
    max-width: none;
    min-width: 0;
    margin-top: 0.8rem;
  }
  main .member_search .member_form_select select {
    height: 4.4rem;
    max-height: none;
    min-height: 0;
    padding: 0 4rem 0 1.2rem;
    font-size: 1.5rem;
  }
  main .member_search .member_form_select .member_form_select_icon {
    right: 0.8rem;
    font-size: 2.4rem;
  }
  main .member_search .member_check_list {
    -moz-column-gap: 1.6rem;
         column-gap: 1.6rem;
    row-gap: 1rem;
    margin-top: 1rem;
  }
  main .member_search .member_check {
    gap: 0.8rem;
  }
  main .member_search .member_check .member_check_box {
    width: 2rem;
    max-width: none;
    min-width: 0;
    height: 2rem;
    max-height: none;
    min-height: 0;
  }
  main .member_search .member_check .member_check_text {
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
  main .member_search .member_form_input {
    height: 4.6rem;
    max-height: none;
    min-height: 0;
    margin-top: 0.8rem;
    padding: 0 1.2rem;
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
  main .member_search .member_form_btn_area {
    margin-top: 2.4rem;
  }
  main .member_search .member_form_btn {
    gap: 1.2rem;
    padding: 1rem 1.5rem;
  }
  main .member_search .member_form_btn .member_form_btn_icon {
    font-size: 2.2rem;
  }
  main .member_search .member_form_btn .member_form_btn_text {
    font-size: 1.6rem;
    line-height: 3.4rem;
  }
  main {
    /* --- 社労士会員一覧 --- */
  }
  main .member_list {
    padding: 4.5rem 0 5rem;
  }
  main .member_list .member_list_glow {
    top: 1rem;
    left: 8rem;
    width: 14rem;
    max-width: none;
  }
  main .member_list .section_title {
    gap: 1.1rem;
  }
  main .member_list .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .member_list .section_title h3 {
    font-size: 2.2rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .member_list .member_card_list {
    margin-top: 3rem !important;
  }
  main .member_list .member_card {
    padding: 1.5rem 1.5rem 2.4rem;
    border-radius: 15px;
  }
  main .member_list .member_card + .member_card {
    margin-top: 2rem;
  }
  main .member_list .member_card_office {
    min-height: 4rem;
    padding: 0.6rem 1.2rem;
    font-size: 1.7rem;
    letter-spacing: 1px;
  }
  main .member_list .member_card_body {
    flex-direction: column;
    gap: 2rem;
    margin-top: 2rem;
  }
  main .member_list .member_card_photo {
    width: 24rem;
    max-width: 100%;
    margin-inline: auto;
  }
  main .member_list .member_card_row {
    display: block;
    padding: 1rem 0;
  }
  main .member_list .member_card_dt {
    width: auto;
    max-width: none;
    min-width: 0;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  main .member_list .member_card_dt.f_16 {
    margin-bottom: 0.4rem;
  }
  main .member_list .member_card_dd {
    font-size: 1.5rem;
    line-height: 1.7;
  }
  main .member_list .member_card_name {
    font-size: 2.2rem;
    letter-spacing: 1px;
  }
  main .member_list .member_card_kana {
    margin-left: 1rem;
    font-size: 1.4rem;
  }
  main .member_list .member_badge {
    min-height: 4.4rem;
    gap: 0.8rem;
    padding: 0.6rem 1.2rem;
  }
  main .member_list .member_badge + .member_badge {
    margin-left: 0;
    margin-top: 0.8rem;
  }
  main .member_list .member_badge .member_badge_icon {
    width: 2.2rem;
    max-width: none;
    min-width: 0;
  }
  main .member_list .member_badge .member_badge_text {
    font-size: 1.4rem;
    white-space: normal;
  }
  main .member_list .member_card_btn_area {
    margin-top: 2.4rem;
  }
  main .member_list .member_card_btn {
    width: 24rem;
    max-width: 100%;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.8rem 1.2rem;
  }
  main .member_list .member_card_btn .member_card_btn_text {
    font-size: 1.6rem;
    line-height: 3.4rem;
  }
  main .member_list .member_card_btn .member_card_btn_arrow {
    width: 5.7rem;
    max-width: none;
    min-width: 0;
    height: 3.4rem;
    max-height: none;
    min-height: 0;
  }
  main .member_list .member_card_btn .member_card_btn_arrow .arrow {
    width: 2.8rem;
    max-width: none;
    min-width: 0;
  }
  main .member_list .pagenavi_wrap {
    margin-top: 3.5rem;
  }
  main .member_list .wp-pagenavi {
    gap: 0.8rem;
  }
  main .member_list .wp-pagenavi > a,
  main .member_list .wp-pagenavi > span {
    min-width: 3.4rem;
    min-height: 3.4rem;
    padding: 0.4rem 0.6rem;
    font-size: 1.4rem;
  }
  main {
    /*----------------------------------------------------------------

    会員個人ページ

    ----------------------------------------------------------------*/
  }
  main .member_mv .member_mv_blur {
    top: 6rem;
    width: 26rem;
    max-width: none;
    min-width: 0;
  }
  main .member_mv .member_mv_inner {
    padding: 10.5rem 2.35rem 1.6rem;
  }
  main .member_mv .member_mv_icon {
    width: 2.6rem;
    max-width: none;
    min-width: 0;
  }
  main .member_mv .member_mv_title {
    margin-top: 1rem;
    font-size: 2.6rem;
    line-height: 1.5;
    letter-spacing: 2px;
  }
  main .member_mv .sub_mv_breadcrumb {
    margin-top: 2.8rem;
  }
  main {
    /* --- プロフィール --- */
  }
  main .member_profile {
    padding: 3rem 0 4rem;
  }
  main .member_profile .member_profile_card {
    width: 34.3rem;
    max-width: 100%;
    padding: 2.4rem 1.5rem 3rem;
    border-radius: 15px;
  }
  main .member_profile .member_profile_body {
    flex-direction: column;
    gap: 2rem;
  }
  main .member_profile .member_profile_photo {
    width: 100%;
    max-width: none;
  }
  main .member_profile .member_profile_detail {
    padding-left: 0;
  }
  main .member_profile .member_profile_kana {
    font-size: 1.4rem;
  }
  main .member_profile .member_profile_name {
    font-size: 2.8rem;
    letter-spacing: 1px;
  }
  main .member_profile .member_profile_catch {
    margin-top: 1rem;
    font-size: 1.8rem;
  }
  main .member_profile .member_profile_field {
    align-items: flex-start !important;
    gap: 1.2rem;
    margin: 2rem 0 0 !important;
    padding: 1.2rem 0 !important;
  }
  main .member_profile .member_profile_field_dt {
    font-size: 1.5rem;
  }
  main .member_profile .member_profile_field_dd {
    font-size: 1.5rem;
    line-height: 1.7;
  }
  main .member_profile .member_profile_text {
    margin-top: 2rem;
    font-size: 1.5rem;
    line-height: 1.9;
  }
  main .member_profile {
    /* --- 新規受け入れ可否 --- */
  }
  main .member_profile .member_accept {
    width: 34.3rem;
    max-width: 100%;
    margin-top: 3rem;
  }
  main .member_profile .member_accept_title {
    gap: 1.2rem;
    font-size: 1.8rem;
    letter-spacing: 1px;
  }
  main .member_profile .member_accept_list {
    flex-direction: column;
    align-items: center;
    gap: 1.2rem;
    margin-top: 1.6rem !important;
    padding-bottom: 2.4rem !important;
  }
  main .member_profile .member_accept_badge {
    gap: 0.8rem;
    min-height: 5rem;
    padding: 0.6rem 1.6rem;
  }
  main .member_profile .member_accept_icon {
    width: 2.6rem;
    max-width: none;
    min-width: 0;
  }
  main .member_profile .member_accept_text {
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
  main .member_profile .member_accept_text span {
    font-size: 2.2rem;
  }
  main {
    /* --- 事務所情報 --- */
  }
  main .member_info {
    padding: 3.5rem 0 5rem;
  }
  main .member_info .member_info_list {
    width: 34.3rem;
    max-width: 100%;
  }
  main .member_info .member_info_row {
    grid-template-columns: 1fr;
    padding: 1.4rem 0;
  }
  main .member_info .member_info_dt {
    font-size: 1.5rem;
  }
  main .member_info .member_info_dd {
    margin-top: 0.6rem;
    font-size: 1.5rem;
    line-height: 1.7;
  }
  main .member_info .member_tag_list {
    gap: 0.8rem;
  }
  main .member_info .member_tag {
    min-height: 3rem;
    padding: 0.2rem 1.4rem;
    font-size: 1.4rem;
  }
  main .member_info .member_sns_list {
    gap: 1.6rem;
  }
  main .member_info .member_sns_link {
    width: 3.8rem;
    max-width: none;
    min-width: 0;
  }
  main .member_info .member_info_map {
    aspect-ratio: 343/220;
  }
  main .member_info .member_map_btn_area {
    margin-top: 1.2rem;
    justify-content: center !important;
  }
  main .member_info .member_map_btn {
    justify-content: space-between;
    width: 30rem;
    max-width: 100%;
    gap: 1rem;
    padding: 0rem 0rem 0rem 1rem;
  }
  main .member_info .member_map_btn .member_map_btn_text {
    font-size: 1.4rem;
    line-height: 3.4rem;
  }
  main .member_info .member_map_btn .member_map_btn_arrow {
    width: 5.4rem;
    max-width: none;
    min-width: 0;
    height: 3.4rem;
    max-height: none;
    min-height: 0;
  }
  main .member_info .member_map_btn .member_map_btn_arrow .arrow {
    width: 2.8rem;
    max-width: none;
    min-width: 0;
  }
  main {
    /*----------------------------------------------------------------

    愛知中央SR経営労務センターの特徴

    ----------------------------------------------------------------*/
  }
  main .tk_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main .tk_lead {
    width: 100%;
    max-width: none;
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 2px;
  }
  main {
    /* --- 選ばれる理由 ＋ 加入メリット --- */
  }
  main .tk_reason {
    padding: 5rem 0;
  }
  main .tk_reason .tk_reason_blur {
    top: 1rem;
    left: 12rem;
    width: 20rem;
    max-width: none;
    min-width: 0;
  }
  main .tk_reason .tk_reason_title .tk_reason_title_sub {
    margin-bottom: 0.4rem;
    font-size: 1.4rem;
    letter-spacing: 2px;
  }
  main .tk_reason .tk_reason_title .tk_reason_title_main {
    font-size: 2.6rem;
    line-height: 1.4;
    letter-spacing: 2px;
  }
  main .tk_reason .tk_reason_bar {
    width: 100%;
    max-width: none;
    height: 0.8rem;
    max-height: none;
    min-height: 0;
    margin-top: 1.2rem;
  }
  main .tk_reason .tk_reason_lead {
    width: 100%;
    max-width: none;
    margin-top: 2rem;
    font-size: 1.6rem;
    line-height: 1.8;
    letter-spacing: 2px;
  }
  main .tk_reason .tk_merit_head {
    gap: 0.8rem;
    margin-top: 4.5rem;
  }
  main .tk_reason .tk_merit_head .tk_merit_head_icon {
    width: 2.2rem;
    max-width: none;
    min-width: 0;
  }
  main .tk_reason .tk_merit_head h4 {
    font-size: 2rem;
    letter-spacing: 2px;
  }
  main .tk_reason .tk_merit_list {
    grid-template-columns: 1fr;
    row-gap: 1.2rem;
    margin-top: 2rem !important;
  }
  main .tk_reason .tk_merit_card {
    min-height: 0;
  }
  main .tk_reason .tk_merit_body {
    gap: 1.4rem;
    padding: 1.2rem 1.2rem 1.2rem 1.6rem;
  }
  main .tk_reason .tk_merit_icon {
    width: 4rem;
    max-width: none;
    min-width: 0;
  }
  main .tk_reason .tk_merit_no {
    font-size: 1.3rem;
    letter-spacing: 1.5px;
  }
  main .tk_reason .tk_merit_text {
    font-size: 1.7rem;
    letter-spacing: 1px;
  }
  main .tk_reason .tk_merit_arrow {
    width: 4rem;
    max-width: none;
    min-width: 0;
  }
  main .tk_reason .tk_merit_arrow .material-symbols-outlined {
    font-size: 2.4rem;
  }
  main {
    /* --- 各セクション共通の見出し --- */
  }
  main .tk_grant .section_title,
  main .tk_law .section_title,
  main .tk_event .section_title,
  main .tk_promo .section_title {
    gap: 1.1rem;
  }
  main .tk_grant .section_title .img,
  main .tk_law .section_title .img,
  main .tk_event .section_title .img,
  main .tk_promo .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .tk_grant .section_title h3,
  main .tk_law .section_title h3,
  main .tk_event .section_title h3,
  main .tk_promo .section_title h3 {
    font-size: 2.2rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main {
    /* --- MERIT 01 活動助成費の支給 --- */
  }
  main .tk_grant {
    padding: 5rem 0;
  }
  main .tk_grant .tk_grant_box {
    width: 100%;
    max-width: none;
    margin-top: 2rem;
    padding: 1.6rem 1.6rem 1.6rem 2rem;
    border-radius: 1.5rem;
  }
  main .tk_grant .tk_grant_item {
    gap: 0.8rem;
  }
  main .tk_grant .tk_grant_item .tk_grant_dot {
    width: 0.8rem;
    max-width: none;
    min-width: 0;
    height: 0.8rem;
    max-height: none;
    min-height: 0;
  }
  main .tk_grant .tk_grant_item span {
    font-size: 1.8rem;
    line-height: 1.8;
    letter-spacing: 2px;
  }
  main .tk_grant .tk_lead_lower {
    margin-top: 2.4rem;
  }
  main .tk_grant .tk_frame {
    width: 100%;
    max-width: none;
    margin-top: 3rem;
    padding: 2rem 1.6rem 2.4rem;
    border-width: 2px;
    border-radius: 1.5rem;
  }
  main .tk_grant .tk_frame + .tk_frame {
    margin-top: 2rem;
  }
  main .tk_grant .tk_frame_title {
    font-size: 2rem;
    letter-spacing: 2px;
  }
  main .tk_grant .tk_frame_line {
    margin-top: 1rem;
  }
  main .tk_grant .tk_frame_text {
    margin-top: 1.4rem;
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
  main .tk_grant .tk_frame_text span {
    font-size: 1.8rem;
    letter-spacing: 1px;
  }
  main {
    /* --- MERIT 02 顧問弁護士への無料法律相談 --- */
  }
  main .tk_law {
    padding: 5rem 0;
  }
  main .tk_law .tk_law_box {
    width: 100%;
    max-width: none;
    margin-top: 2.4rem;
    padding: 3rem 1.6rem 1.6rem;
    border-radius: 1.5rem;
  }
  main .tk_law .tk_law_row {
    display: block;
    padding: 1.5rem 0;
  }
  main .tk_law .tk_law_dt {
    font-size: 1.6rem;
    letter-spacing: 1px;
  }
  main .tk_law .tk_law_dd {
    margin-top: 0.6rem;
    font-size: 1.6rem;
    letter-spacing: 1px;
  }
  main .tk_law .tk_law_note {
    gap: 0.8rem;
  }
  main .tk_law .tk_law_note + .tk_law_note {
    margin-top: 0.4rem;
  }
  main .tk_law .tk_law_note .tk_law_dot {
    width: 0.8rem;
    max-width: none;
    min-width: 0;
    height: 0.8rem;
    max-height: none;
    min-height: 0;
    margin-top: 0.8rem;
  }
  main .tk_law .tk_law_note span {
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
  main .tk_pill_btn {
    gap: 0.8rem;
    margin-top: 1rem;
    padding: 0.6rem 1.2rem;
  }
  main .tk_pill_btn .tk_pill_btn_text {
    font-size: 1.4rem;
    letter-spacing: 1px;
  }
  main .tk_pill_btn .tk_pill_btn_arrow {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main {
    /* --- MERIT 03 社労士会員名簿の個人ページ --- */
  }
  main .tk_profile {
    padding: 5rem 0;
  }
  main .tk_profile .tk_profile_glow {
    top: 2rem;
    left: 8rem;
    width: 14rem;
    max-width: none;
  }
  main .tk_profile .tk_profile_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main .tk_profile .tk_profile_head {
    gap: 0.8rem;
  }
  main .tk_profile .tk_profile_head .tk_profile_head_icon {
    width: 2.2rem;
    max-width: none;
    min-width: 0;
    margin-top: 0.4rem;
  }
  main .tk_profile .tk_profile_head h3 {
    font-size: 2.2rem;
    letter-spacing: 2px;
  }
  main .tk_profile .tk_profile_lead {
    width: 100%;
    max-width: none;
    margin-top: 2rem;
    font-size: 1.6rem;
    letter-spacing: 1px;
  }
  main .tk_profile .tk_bar_title {
    gap: 1rem;
    margin-top: 4rem;
    font-size: 2rem;
    letter-spacing: 2px;
  }
  main .tk_profile .tk_profile_body {
    flex-direction: column;
    gap: 2.4rem;
    margin-top: 2.4rem;
  }
  main .tk_profile .tk_profile_img {
    width: 100%;
    max-width: none;
  }
  main .tk_profile .tk_pmerit_list {
    grid-template-columns: 1fr;
    gap: 1.6rem;
  }
  main .tk_profile .tk_pmerit_icon_area {
    min-height: 12rem;
    padding: 1rem;
  }
  main .tk_profile .tk_pmerit_icon_area img {
    max-height: 9rem;
  }
  main .tk_profile .tk_pmerit_body {
    padding: 1.2rem 1.6rem 1.6rem;
  }
  main .tk_profile .tk_pmerit_title {
    font-size: 1.8rem;
    letter-spacing: 2px;
  }
  main .tk_profile .tk_pmerit_text {
    margin-top: 1rem;
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
  main .tk_profile .tk_bar_btn_area {
    gap: 1rem;
    margin-top: 3rem;
  }
  main .tk_btn_white,
  main .tk_btn_outline {
    width: 32rem;
    max-width: 100%;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.2rem;
  }
  main .tk_btn_white .tk_btn_white_text,
  main .tk_btn_outline .tk_btn_outline_text {
    min-width: 0;
    font-size: 1.5rem;
    line-height: 1.6;
    letter-spacing: 1px;
    white-space: normal;
  }
  main .tk_btn_white .tk_btn_white_arrow,
  main .tk_btn_outline .tk_btn_outline_arrow {
    width: 5rem;
    max-width: none;
    min-width: 0;
    height: 3.2rem;
    max-height: none;
    min-height: 0;
    padding-left: 0.9rem;
  }
  main .tk_btn_white .tk_btn_white_arrow .arrow,
  main .tk_btn_outline .tk_btn_outline_arrow .arrow {
    width: 2.6rem;
    max-width: none;
    min-width: 0;
  }
  main {
    /* --- MERIT 04 懇親会・イベント ／ MERIT 05 研修制度 --- */
  }
  main .tk_event {
    padding: 5rem 0;
  }
  main .tk_event .sub_heading {
    margin-top: 3rem;
  }
  main .tk_event .tk_event_list {
    grid-template-columns: 1fr;
    gap: 2rem;
    margin-top: 1.6rem !important;
  }
  main .tk_event .tk_event_card {
    padding: 1.6rem 1.6rem 2rem;
    border-radius: 1.5rem;
  }
  main .tk_event .tk_event_title {
    font-size: 1.7rem;
    letter-spacing: 1px;
  }
  main .tk_event .tk_event_img {
    max-width: none;
    margin-top: 1.2rem;
  }
  main .tk_event .tk_event_meta {
    margin-top: 1.2rem;
    padding-bottom: 1.2rem;
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
  main .tk_event .tk_event_text {
    margin-top: 0.6rem;
    font-size: 1.5rem;
    letter-spacing: 1px;
    padding-top: 1.6rem;
  }
  main .tk_event .tk_training {
    margin-top: 4.5rem;
  }
  main .tk_event .tk_training .section_title {
    gap: 1.1rem;
  }
  main .tk_event .tk_theme_box {
    margin-top: 1.6rem;
    padding: 1.6rem 1.6rem 2rem;
    border-radius: 1.5rem;
  }
  main .tk_event .tk_theme_row {
    display: block;
    padding: 1.2rem 0;
  }
  main .tk_event .tk_theme_dt {
    font-size: 1.3rem;
    letter-spacing: 1px;
  }
  main .tk_event .tk_theme_dd {
    margin-top: 0.4rem;
    font-size: 1.6rem;
    letter-spacing: 1px;
  }
  main .tk_event .tk_theme_more {
    margin-top: 0.8rem;
    font-size: 1.4rem;
    letter-spacing: 1px;
  }
  main .tk_event .tk_theme_img_list {
    max-width: none;
    gap: 0.8rem;
    margin-top: 1.6rem !important;
  }
  main {
    /* --- MERIT 06 労働保険未手続事業一掃推進員への推薦 --- */
  }
  main .tk_promo {
    padding: 5rem 0;
  }
  main {
    /* --- 入会に関するお問い合わせ --- */
  }
  main .tk_contact {
    padding: 5rem 0 4rem;
    background-image: url(../img/top/contact_bg_sp.webp);
  }
  main .tk_contact .tk_contact_panel {
    width: 34.3rem;
    max-width: 100%;
    padding: 2.4rem 1.6rem 3rem;
  }
  main .tk_contact .tk_contact_head {
    gap: 0.6rem;
  }
  main .tk_contact .tk_contact_head .tk_contact_head_icon {
    width: 2.2rem;
    max-width: none;
    min-width: 0;
  }
  main .tk_contact .tk_contact_head span {
    font-size: 2rem;
    letter-spacing: 0;
    white-space: nowrap;
  }
  main .tk_contact .tk_contact_body {
    flex-direction: column;
    gap: 1.2rem;
    margin-top: 2rem;
    padding: 1.6rem 0;
  }
  main .tk_contact .tk_contact_label {
    padding-right: 0;
    font-size: 1.8rem;
    letter-spacing: 1px;
  }
  main .tk_contact .tk_contact_right {
    padding-left: 0;
    border-left: 0;
  }
  main .tk_contact .tk_contact_tel {
    gap: 0.8rem;
  }
  main .tk_contact .tk_contact_tel .tk_contact_tel_icon {
    width: 3.2rem;
    max-width: none;
    min-width: 0;
  }
  main .tk_contact .tk_contact_tel .tk_contact_tel_num {
    font-size: 3.4rem;
    letter-spacing: 1px;
  }
  main .tk_contact .tk_contact_date_wrap {
    margin-top: 1.6rem;
  }
  main .tk_contact .tk_contact_date dt,
  main .tk_contact .tk_contact_date dd {
    min-height: 3.2rem;
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
  main .tk_contact .tk_contact_date .tk_contact_date_dt {
    padding: 0 1rem;
  }
  main .tk_contact .tk_contact_date .tk_contact_date_dd {
    padding: 0 1.2rem;
  }
  main .tk_contact .tk_contact_btn_area {
    margin-top: 3rem;
  }
  main {
    /*----------------------------------------------------------------

    よくあるご質問


    ----------------------------------------------------------------*/
  }
  main .faq_cat {
    padding: 5rem 0;
  }
  main .faq_cat .faq_cat_inner .faq_title {
    top: -5rem;
    left: 3rem;
    width: 15rem;
  }
  main .faq_cat .faq_cat_glow {
    top: 2.5rem;
    left: 6rem;
    width: 13rem;
    max-width: none;
  }
  main .faq_cat .section_title {
    gap: 1.1rem;
  }
  main .faq_cat .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .faq_cat .section_title h3 {
    font-size: 2.4rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .faq_cat .faq_cat_list {
    grid-template-columns: 1fr;
    row-gap: 1.2rem;
    width: 34.3rem;
    max-width: 100%;
    margin-top: 2.4rem !important;
  }
  main .faq_cat_btn {
    gap: 1rem;
    min-height: 0;
    padding: 0.9rem 1.2rem;
  }
  main .faq_cat_btn .faq_cat_btn_text {
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .faq_cat_btn .faq_cat_btn_arrow {
    width: 5rem;
    max-width: none;
    min-width: 0;
    height: 3.2rem;
    max-height: none;
    min-height: 0;
    padding-left: 0.9rem;
  }
  main .faq_cat_btn .faq_cat_btn_arrow .arrow {
    width: 2.6rem;
    max-width: none;
    min-width: 0;
  }
  main .faq_area.faq_archive {
    padding: 5rem 0;
  }
  main .faq_area.faq_archive .faq_list {
    gap: 2rem;
  }
  main .faq_area.faq_archive .faq_list .faq_item {
    border-radius: 1.5rem;
  }
  main .faq_area.faq_archive .pagenavi_wrap {
    margin-top: 3rem;
  }
  main .faq_area.faq_archive .wp-pagenavi {
    gap: 0.8rem;
  }
  main .faq_area.faq_archive .wp-pagenavi > a,
  main .faq_area.faq_archive .wp-pagenavi > span {
    min-width: 3.4rem;
    min-height: 3.4rem;
    padding: 0.4rem 0.6rem;
    font-size: 1.4rem;
  }
  main .faq_area.faq_archive .wp-pagenavi .extend {
    min-width: 3.4rem;
  }
  main {
    /*----------------------------------------------------------------

    社会保険労務士のみなさまへ

    研修のご案内（.info_area）と よくあるご質問（.faq_area）は
    TOP ぶんの SP 指定がそのまま効くので、ここでは差分だけを足す。

    ----------------------------------------------------------------*/
  }
  main .sr_bar {
    width: 100%;
    max-width: none;
    height: 0.6rem;
    max-height: none;
    min-height: 0;
  }
  main .sr_bar.sr_bar_narrow {
    width: 100%;
    max-width: none;
  }
  main .sr_check {
    font-size: 2.2rem;
  }
  main .sr_btn {
    width: 32rem;
    max-width: 100%;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.2rem;
  }
  main .sr_btn .sr_btn_text {
    min-width: 0;
    font-size: 1.5rem;
    line-height: 1.6;
    white-space: normal;
  }
  main .sr_btn .sr_btn_arrow {
    width: 5rem;
    max-width: none;
    min-width: 0;
    height: 3.2rem;
    max-height: none;
    min-height: 0;
  }
  main .sr_btn .sr_btn_arrow .arrow {
    width: 2.6rem;
    max-width: none;
    min-width: 0;
  }
  main .sr_btn .sr_btn_arrow .arrow_down {
    width: auto;
    height: 2.1rem;
    max-height: none;
    min-height: 0;
  }
  main #cs_faq,
  main #sr_orient {
    scroll-margin-top: 8.5rem;
  }
  main .sr_pill_btn {
    gap: 0.8rem;
    margin-top: 1.2rem;
    padding: 0.6rem 1.2rem;
  }
  main .sr_pill_btn .sr_pill_btn_text {
    font-size: 1.4rem;
  }
  main .sr_pill_btn .sr_pill_btn_icon {
    font-size: 1.8rem;
  }
  main {
    /* --- 研修のご案内 --- */
  }
  main .sr_kensyu {
    padding: 5rem 0;
  }
  main .sr_kensyu .sr_kensyu_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main .sr_kensyu .sr_kensyu_title {
    font-size: 2.6rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .sr_kensyu .sr_kensyu_bar {
    width: 100%;
    max-width: none;
    height: 0.6rem;
    max-height: none;
    min-height: 0;
    margin-top: 1rem;
  }
  main .sr_kensyu .tab_wrap {
    margin-top: 2rem;
  }
  main .sr_kensyu .tab_body {
    padding-top: 1.6rem;
    padding-bottom: 2rem;
  }
  main .sr_kensyu .info_link {
    min-height: 0;
  }
  main {
    /* --- こんなお悩み --- */
  }
  main .sr_onayami {
    padding: 5rem 0;
  }
  main .sr_onayami .sr_onayami_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main .sr_onayami .sr_onayami_title {
    font-size: 2.2rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .sr_onayami .sr_onayami_list {
    margin-top: 2.4rem !important;
  }
  main .sr_onayami .sr_onayami_item {
    gap: 0.8rem;
  }
  main .sr_onayami .sr_onayami_item + .sr_onayami_item {
    margin-top: 1.2rem;
  }
  main .sr_onayami .sr_onayami_item:not(:last-child) {
    padding-bottom: 1.2rem;
  }
  main .sr_onayami .sr_onayami_item .sr_check {
    margin-top: 0.2rem;
  }
  main .sr_onayami .sr_onayami_text {
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .sr_onayami .sr_onayami_text span {
    letter-spacing: 1px;
  }
  main {
    /* --- 各セクションの見出し --- */
  }
  main .sr_merit .section_title,
  main .sr_join .section_title,
  main .sr_flow .section_title,
  main .sr_orient .section_title,
  main .sr_link .section_title,
  main .faq_area.sr_faq .section_title {
    gap: 1.1rem;
  }
  main .sr_merit .section_title .img,
  main .sr_join .section_title .img,
  main .sr_flow .section_title .img,
  main .sr_orient .section_title .img,
  main .sr_link .section_title .img,
  main .faq_area.sr_faq .section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .sr_merit .section_title h3,
  main .sr_join .section_title h3,
  main .sr_flow .section_title h3,
  main .sr_orient .section_title h3,
  main .sr_link .section_title h3,
  main .faq_area.sr_faq .section_title h3 {
    font-size: 2.2rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .sr_merit .section_title h4,
  main .sr_join .section_title h4,
  main .sr_flow .section_title h4,
  main .sr_orient .section_title h4,
  main .sr_link .section_title h4,
  main .faq_area.sr_faq .section_title h4 {
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main {
    /* --- 入会するメリット --- */
  }
  main .sr_merit {
    padding: 5rem 0;
  }
  main .sr_merit .sr_merit_inner {
    width: 34.3rem;
    max-width: 100%;
    margin-inline: auto;
  }
  main .sr_merit .sr_merit_card {
    width: 34.3rem;
    max-width: 100%;
    margin-top: 2.4rem;
    padding: 2rem 1.6rem 2.4rem;
    border-radius: 1.5rem;
  }
  main .sr_merit .sr_merit_band {
    width: 62vw;
    min-height: 4rem;
    padding: 0.6rem 1.2rem;
    font-size: 2rem;
    line-height: 1.4;
    letter-spacing: 2px;
  }
  main .sr_merit .sr_merit_lead {
    margin-top: 1.6rem;
    line-height: 1.6;
  }
  main .sr_merit .sr_merit_check_list {
    margin-top: 2rem !important;
    padding: 2.2rem 1.2rem !important;
    border-radius: 1.5rem;
  }
  main .sr_merit .sr_merit_check_item {
    gap: 0.8rem;
    padding-left: 0;
  }
  main .sr_merit .sr_merit_check_item + .sr_merit_check_item {
    margin-top: 1.2rem;
    padding-top: 1.2rem;
  }
  main .sr_merit .sr_merit_check_item p {
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .sr_merit .sr_merit_band_sub {
    margin-top: 3rem;
  }
  main .sr_merit .sr_merit_text {
    margin-top: 1.6rem;
    line-height: 1.6;
    text-align: left;
  }
  main .sr_merit .sr_merit_box {
    width: 100%;
    max-width: none;
    margin-top: 1.6rem;
    padding: 1.2rem 1.4rem;
  }
  main .sr_merit .sr_merit_note {
    margin-top: 1.6rem;
    line-height: 1.6;
  }
  main .sr_merit .sr_merit_btn_area {
    margin-top: 2.4rem;
  }
  main {
    /* --- 入会のご案内 --- */
  }
  main .sr_join {
    padding: 5rem 0;
  }
  main .sr_join .sr_join_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main .sr_join .sub_heading {
    margin-top: 2rem;
  }
  main .sr_join .sub_heading.sr_join_sub2 {
    margin-top: 4rem;
  }
  main .sr_join .sr_plan_list {
    grid-template-columns: 1fr;
    gap: 1.6rem;
    width: 100%;
    max-width: none;
    margin-top: 1.6rem !important;
  }
  main .sr_join .sr_plan_card {
    display: flex;
    flex-direction: column;
    grid-row: auto;
    padding: 1.6rem 1.6rem 2rem;
    border-radius: 1.5rem;
  }
  main .sr_join .sr_plan_band {
    min-height: 4rem;
    padding: 0.6rem 1.2rem;
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: 2px;
  }
  main .sr_join .sr_plan_desc {
    margin-top: 1.2rem;
    line-height: 1.6;
  }
  main .sr_join .sr_plan_fee {
    margin-top: 1.2rem;
    padding: 1rem 1.6rem 1.4rem;
    border-radius: 1.5rem;
  }
  main .sr_join .sr_plan_fee_list {
    margin-top: 0.6rem;
  }
  main .sr_join .sr_plan_fee_row {
    padding: 0.5rem 0;
  }
  main .sr_join .sr_plan_note {
    padding-top: 1.4rem;
    line-height: 1.6;
  }
  main .sr_join .sr_join_note,
  main .sr_join .sr_join_lead {
    margin-top: 1.6rem;
    line-height: 1.6;
  }
  main .sr_join {
    /* --- 表 --- */
  }
  main .sr_join .sr_fee_table_wrap {
    margin-top: 2.4rem;
    margin-inline: -2.35rem;
    padding-inline: 2.35rem;
  }
  main .sr_join .sr_fee_table_inner {
    min-width: 90rem;
    padding-top: 3.2rem;
  }
  main .sr_join .sr_fee_table {
    min-width: 90rem;
  }
  main .sr_join .sr_fee_table th,
  main .sr_join .sr_fee_table td {
    padding: 1rem 0.4rem;
    font-size: 1.5rem;
  }
  main .sr_join .sr_fee_col_frame {
    top: 3.2rem;
  }
  main .sr_join .sr_fee_label {
    width: 7.6925%;
    min-width: 0;
    height: calc(3.2rem + 3px);
    min-height: 0;
    font-size: 1.3rem;
  }
  main {
    /* --- 入会の流れ --- */
  }
  main .sr_flow {
    padding: 5rem 0;
  }
  main .sr_flow .sr_flow_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main .sr_flow .sr_step_list {
    margin-top: 2.4rem !important;
  }
  main .sr_flow .sr_step {
    grid-template-columns: 7.2rem 1fr;
  }
  main .sr_flow .sr_step .sr_step_num {
    font-size: 1.6rem;
    letter-spacing: 1px;
  }
  main .sr_flow .sr_step .sr_step_body {
    padding: 1.2rem 0 1.6rem 1.2rem;
  }
  main .sr_flow .sr_step .sr_step_body::before {
    top: 1.4rem;
    bottom: 1.4rem;
    left: -3.6rem;
  }
  main .sr_flow .sr_step_title {
    font-size: 1.8rem;
    line-height: 1.5;
    letter-spacing: 1px;
  }
  main .sr_flow .sr_step_text {
    margin-top: 0.6rem;
    line-height: 1.6;
  }
  main .sr_flow .sr_flow_note {
    margin-top: 3.5rem;
  }
  main .sr_flow .sr_flow_note_text {
    width: 100%;
    max-width: none;
    margin-top: 1.4rem;
    line-height: 1.6;
  }
  main .sr_flow .sr_flow_box {
    width: 100%;
    max-width: none;
    margin-top: 2.4rem;
    padding: 2rem 1.6rem;
    border-radius: 1.5rem;
  }
  main .sr_flow .sr_flow_box p {
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main {
    /* --- 入会オリエンテーション --- */
  }
  main .sr_orient {
    padding: 5rem 0;
  }
  main .sr_orient .sr_orient_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main .sr_orient .sr_orient_lead,
  main .sr_orient .sr_orient_note {
    margin-top: 1.4rem;
    line-height: 1.6;
  }
  main .sr_orient .sr_orient_box {
    margin-top: 2.4rem;
    padding: 1.6rem 1.6rem 2.4rem;
    border-radius: 1.5rem;
  }
  main .sr_orient .sr_orient_band {
    min-height: 4rem;
    padding: 0.6rem 1.2rem;
    font-size: 1.8rem;
    line-height: 1.4;
    letter-spacing: 2px;
  }
  main .sr_orient .sr_orient_date {
    margin-top: 1.6rem;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .sr_orient .sr_orient_text {
    margin-top: 1.4rem;
    line-height: 1.6;
  }
  main .sr_orient .sr_schedule {
    width: 100%;
    max-width: none;
    margin-top: 2.4rem;
  }
  main .sr_orient .sr_schedule_btn {
    width: 100%;
    max-width: none;
    gap: 1rem;
    min-height: 4rem;
    padding: 0.6rem 1.2rem;
  }
  main .sr_orient .sr_schedule_btn .sr_schedule_text {
    font-size: 1.6rem;
    line-height: 1.5;
    letter-spacing: 1px;
  }
  main .sr_orient .sr_schedule_btn .sr_schedule_icon {
    font-size: 2.4rem;
  }
  main .sr_orient .sr_schedule_body {
    top: calc(100% - 2.2rem);
  }
  main .sr_orient .sr_schedule_body .faq_a_inner {
    border-radius: 0 0 1.5rem 1.5rem;
  }
  main .sr_orient .sr_schedule_list {
    padding: 3.8rem 1.6rem 2.4rem !important;
  }
  main .sr_orient .sr_schedule_link {
    gap: 1rem;
    min-height: 4.4rem;
  }
  main .sr_orient .sr_schedule_link span {
    font-size: 1.5rem;
    line-height: 2.2;
  }
  main .sr_orient .sr_schedule_link .sr_schedule_link_icon {
    font-size: 2.4rem;
  }
  main {
    /* --- よくあるご質問 --- */
  }
  main .faq_area.sr_faq {
    padding: 5rem 0;
  }
  main .faq_area.sr_faq .sr_faq_head {
    width: 34.3rem;
    max-width: 100%;
    margin-inline: auto;
  }
  main .faq_area.sr_faq .sr_faq_lead {
    margin-top: 1.4rem;
    line-height: 1.6;
  }
  main .faq_area.sr_faq .faq_area_inner {
    margin-top: 3rem;
  }
  main .faq_area.sr_faq .faq_list {
    gap: 2rem;
  }
  main .faq_area.sr_faq .faq_list .faq_item {
    border-radius: 1.5rem;
  }
  main .faq_area.sr_faq .sr_faq_btn_area {
    margin-top: 3rem;
  }
  main {
    /* --- リンク --- */
  }
  main .sr_link {
    padding: 5rem 0;
  }
  main .sr_link .sr_link_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main .sr_link .sr_link_list {
    grid-template-columns: 1fr;
    row-gap: 1.2rem;
    margin-top: 2.4rem !important;
  }
  main .sr_link .sr_link_item {
    gap: 1rem;
    min-height: 3.4rem;
    padding-bottom: 0.4rem;
  }
  main .sr_link .sr_link_item .sr_link_icon {
    font-size: 1.8rem;
  }
  main {
    /*----------------------------------------------------------------

    中小事業主のみなさまへ ／ 一人親方のみなさまへ

    PC は 1280px の 2〜3 カラムだが、SP は 343px の 1 カラムに積み直す。
    研修のご案内（.info_area）と よくあるご質問（.faq_area）は
    TOP ぶんの SP 指定がそのまま効くので、ここでは差分だけを足す。

    ----------------------------------------------------------------*/
  }
  main .tb_inner {
    width: 34.3rem;
    max-width: 100%;
  }
  main .tb_bar {
    width: 100%;
    max-width: none;
    height: 0.6rem;
    max-height: none;
    min-height: 0;
    margin-top: 1rem;
  }
  main .tb_bar.tb_bar_wide {
    width: 100%;
    max-width: none;
  }
  main {
    /* --- 見出し（36px の h3 ／ 26px の小見出し） --- */
  }
  main .tb_section_title {
    gap: 1.1rem;
  }
  main .tb_section_title .img {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .tb_section_title h3 {
    font-size: 2.2rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .tb_lead {
    margin-top: 1.2rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main {
    /* --- 研修のご案内（サムネイル付きの行） --- */
  }
  main .info_link_card {
    flex-direction: column;
    align-items: stretch;
    gap: 1.2rem;
    padding: 1.6rem 1.4rem;
  }
  main .info_link_card .info_thumb {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
  main .info_link_card .info_meta {
    gap: 1rem;
  }
  main .info_link_card .info_card_title {
    margin-top: 1rem;
    letter-spacing: 1px;
  }
  main .info_link_card .info_excerpt {
    margin-top: 0.8rem;
    letter-spacing: 1px;
  }
  main .info_link_card .info_arrow {
    width: 100%;
    max-width: none;
    min-width: 0;
    height: 3.2rem;
    min-height: 0;
  }
  main {
    /* --- 入会するメリット --- */
  }
  main .tb_merit {
    padding: 5rem 0;
  }
  main .tb_merit .tb_merit_lead {
    margin-top: 1.4rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_merit .tb_merit_note {
    width: 100%;
    margin-top: 1.2rem;
    line-height: 1.6;
    letter-spacing: 1px;
    text-align: left;
  }
  main .tb_merit .tb_merit_list {
    width: 100%;
    max-width: none;
    margin-top: 2.4rem !important;
  }
  main .tb_merit .tb_merit_item {
    flex-direction: column;
    align-items: center;
    padding: 2rem 0 2.4rem;
  }
  main .tb_merit .tb_merit_icon {
    width: 100%;
    max-width: none;
    min-width: 0;
  }
  main .tb_merit .tb_merit_icon img {
    width: 8rem;
    max-width: none;
    min-width: 0;
  }
  main .tb_merit .tb_merit_body {
    width: 100%;
    margin-top: 1.2rem;
  }
  main .tb_merit .tb_merit_num {
    font-size: 1.4rem;
  }
  main .tb_merit .tb_merit_title {
    margin-top: 0.4rem;
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .tb_merit .tb_merit_text {
    margin-top: 0.8rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main {
    /* --- 納めていただく費用 --- */
  }
  main .tb_fee {
    padding: 5rem 0;
  }
  main .tb_fee .tb_fee_card {
    width: 34.3rem;
    max-width: 100%;
    margin-top: 2rem;
    padding: 2rem 1.6rem 2.4rem;
    border-width: 2px;
    border-radius: 1.5rem;
  }
  main .tb_fee .tb_fee_price {
    flex-direction: column;
    align-items: center;
    gap: 1.6rem;
    margin-top: 1.6rem;
  }
  main .tb_fee .tb_fee_item {
    width: -moz-fit-content;
    width: fit-content;
    max-width: none;
    gap: 1rem;
    padding-bottom: 0.4rem;
  }
  main .tb_fee .tb_fee_item::after {
    height: 0.6rem;
    max-height: none;
    min-height: 0;
  }
  main .tb_fee .tb_fee_month {
    margin-top: 1.6rem;
    letter-spacing: 1px;
  }
  main .tb_fee .tb_fee_note {
    width: 100%;
    max-width: none;
    margin-top: 1.6rem;
    line-height: 1.8;
    letter-spacing: 1px;
  }
  main .tb_fee .tb_fee_table_head {
    margin-top: 4rem;
  }
  main .tb_fee .tb_fee_table_lead {
    margin-top: 1.2rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_fee .tb_fee_table_wrap {
    margin-top: 3rem;
  }
  main .tb_fee .tb_fee_table_inner {
    min-width: 90rem;
    padding-top: 3.2rem;
  }
  main .tb_fee .tb_fee_table {
    min-width: 90rem;
  }
  main .tb_fee .tb_fee_table th,
  main .tb_fee .tb_fee_table td {
    padding: 1rem 0.4rem;
    font-size: 1.6rem;
  }
  main .tb_fee .tb_fee_table th span,
  main .tb_fee .tb_fee_table td span {
    font-size: 1.6rem;
  }
  main .tb_fee .tb_fee_table .tb_fee_head {
    padding-inline: 0.4rem;
    white-space: normal;
  }
  main .tb_fee .tb_fee_col_frame {
    top: 3.2rem;
  }
  main .tb_fee .tb_fee_label_tag {
    width: 7.6925%;
    min-width: 0;
    height: calc(3.2rem + 3px);
    min-height: 0;
    font-size: 1.4rem;
  }
  main {
    /* --- 特別加入とは --- */
  }
  main .tb_about {
    padding: 5rem 0;
  }
  main .tb_about .tb_about_sub {
    margin-top: 1.6rem;
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .tb_about .tb_about_text {
    width: 100%;
    max-width: none;
    margin-top: 1.6rem;
    line-height: 1.8;
    letter-spacing: 1px;
  }
  main .tb_about .tb_about_btn_area {
    margin-top: 2.4rem;
  }
  main {
    /* --- 特別加入のメリット --- */
  }
  main .tb_point {
    padding: 5rem 0;
  }
  main .tb_point .tb_point_list {
    grid-template-columns: 1fr;
    row-gap: 1.6rem;
    width: 34.3rem;
    max-width: 100%;
    margin-top: 2.4rem !important;
  }
  main .tb_point .tb_point_card {
    display: flex;
    flex-direction: column;
    grid-row: auto;
    padding: 2rem 2rem 2.4rem;
    border-radius: 1.5rem;
  }
  main .tb_point .tb_point_card:nth-child(-n+3) {
    margin-bottom: 0;
  }
  main .tb_point .tb_point_icon {
    height: 8rem;
    min-height: 0;
  }
  main .tb_point .tb_point_title {
    margin-top: 1.2rem;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_point .tb_point_text {
    margin-top: 1.2rem;
    padding-top: 1.2rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main {
    /* --- 給付について --- */
  }
  main .tb_grant {
    padding: 5rem 0;
  }
  main .tb_grant .tb_grant_lead {
    width: 100%;
    max-width: none;
    margin-top: 1.6rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_grant .tb_grant_table_wrap {
    margin-top: 2.4rem;
  }
  main .tb_grant .tb_grant_table {
    min-width: 72rem;
  }
  main .tb_grant .tb_grant_table thead th {
    padding: 1.2rem 0.6rem;
    font-size: 1.8rem;
  }
  main .tb_grant .tb_grant_table .tb_grant_side {
    padding: 0.6rem 0 5.4rem;
    font-size: 1.6rem;
  }
  main .tb_grant .tb_grant_table .tb_grant_case {
    padding: 1.4rem 1.2rem 1.4rem 1.6rem;
  }
  main .tb_grant .tb_grant_table .tb_grant_case.is_wide {
    padding-left: 1.6rem;
  }
  main .tb_grant .tb_grant_sub {
    gap: 0.6rem;
    padding: 1.4rem 1.2rem 1.4rem 1.6rem;
  }
  main .tb_grant .tb_grant_list li {
    padding-left: 1.4rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_grant .tb_grant_list li::before {
    width: 0.7rem;
    max-width: none;
    min-width: 0;
  }
  main .tb_grant .tb_grant_note {
    width: 100%;
    max-width: none;
    margin: 1.6rem 0 0;
    line-height: 1.6;
    letter-spacing: 1px;
    text-align: left;
  }
  main {
    /* --- 業務災害の補償例 --- */
  }
  main .tb_case {
    padding: 5rem 0;
  }
  main .tb_case .tb_case_lead {
    margin-top: 1rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_case .tb_case_card {
    width: 34.3rem;
    max-width: 100%;
    padding: 1.6rem 1.4rem 2.4rem;
    border-radius: 1.5rem;
  }
  main .tb_case .tb_case_card + .tb_case_card {
    margin-top: 2.4rem;
  }
  main .tb_case .tb_case_band {
    min-height: 4rem;
    padding: 0.6rem 1rem;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .tb_case .tb_case_text {
    width: 100%;
    max-width: none;
    margin-top: 1.6rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_case .tb_case_box {
    margin-top: 2rem;
    padding: 1.2rem 1.4rem;
    border-radius: 1.5rem;
  }
  main .tb_case .tb_case_row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
    padding: 1.2rem 0;
  }
  main .tb_case .tb_case_row_label {
    width: 100%;
    max-width: none;
    min-width: 0;
    letter-spacing: 1px;
  }
  main .tb_case .tb_case_chips {
    gap: 0.2rem;
  }
  main .tb_case .tb_case_chip {
    min-height: 3.4rem;
    padding: 0.4rem 1.4rem;
  }
  main .tb_case .tb_case_chip span {
    font-size: 1.5rem;
  }
  main .tb_case .tb_case_plus {
    font-size: 2.4rem;
  }
  main .tb_case .tb_case_amount {
    gap: 0.8rem;
  }
  main .tb_case .tb_case_calc {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.8rem;
    margin-top: 2rem;
  }
  main .tb_case .tb_case_calc_label {
    width: 100%;
    max-width: none;
    min-width: 0;
    letter-spacing: 1px;
  }
  main .tb_case .tb_case_calc_list {
    width: 100%;
  }
  main .tb_case .tb_case_calc_row {
    flex-direction: column;
    gap: 0.2rem;
    padding: 0.8rem 0;
  }
  main .tb_case .tb_case_calc_row dt {
    width: 100%;
    max-width: none;
    min-width: 0;
    letter-spacing: 1px;
  }
  main .tb_case .tb_case_calc_row dd {
    letter-spacing: 1px;
  }
  main {
    /* --- 特別加入の対象となる方 --- */
  }
  main .tb_target {
    padding: 5rem 0;
  }
  main .tb_target .tb_target_body {
    flex-direction: column-reverse;
    gap: 2.4rem;
    margin-top: 2.4rem;
  }
  main .tb_target .tb_target_table {
    width: 100%;
    max-width: none;
  }
  main .tb_target .tb_target_table thead th {
    padding: 0.8rem 0.6rem;
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
  main .tb_target .tb_target_table tbody th {
    padding: 1.2rem 0.6rem 1.2rem 1rem;
  }
  main .tb_target .tb_target_table tbody td {
    padding: 1.2rem 0.6rem;
    font-size: 1.8rem;
    letter-spacing: 1px;
  }
  main .tb_target .tb_target_job {
    gap: 0.8rem;
  }
  main .tb_target .tb_target_job img {
    width: 3.2rem;
    max-width: none;
    min-width: 0;
  }
  main .tb_target .tb_target_job span {
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
  main .tb_target .tb_target_side_title {
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_target .tb_target_side_text {
    margin-top: 1.2rem;
    line-height: 1.8;
    letter-spacing: 1px;
  }
  main .tb_target .tb_target_read {
    margin-top: 2rem;
    line-height: 1.6;
    letter-spacing: 1px;
    text-align: left;
  }
  main .tb_target .tb_target_read span {
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_target .tb_target_note {
    margin-top: 1rem;
    line-height: 1.6;
    letter-spacing: 1px;
    text-align: left;
  }
  main .tb_target .tb_target_note span {
    letter-spacing: 1px;
  }
  main .tb_target .tb_target_text {
    width: 100%;
    max-width: none;
    margin-top: 1.6rem;
    line-height: 1.8;
    letter-spacing: 1px;
  }
  main {
    /* --- 特別加入手続きの流れ --- */
  }
  main .tb_flow {
    padding: 5rem 0;
  }
  main .tb_flow .tb_flow_box {
    width: 34.3rem;
    max-width: 100%;
    margin-top: 2.4rem;
    padding: 1.6rem 1.4rem;
    border-radius: 1.5rem;
  }
  main .tb_flow .tb_flow_box_list li {
    padding-left: 1.8rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_flow .tb_flow_box_list li::before {
    width: 1rem;
    max-width: none;
    min-width: 0;
  }
  main .tb_flow .tb_flow_box_list li + li {
    margin-top: 1rem;
  }
  main .tb_flow .tb_flow_box_list li span {
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_flow .tb_flow_band {
    min-height: 4rem;
    margin-top: 2.4rem;
    padding: 0.6rem 1.2rem;
  }
  main .tb_flow .tb_flow_band h4 {
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_flow .tb_flow_band02 {
    margin-top: 4rem;
  }
  main .tb_flow .tb_flow_band_text {
    margin-top: 1.2rem;
    line-height: 1.8;
    letter-spacing: 1px;
  }
  main .tb_flow .tb_step_list {
    margin-top: 3rem !important;
    margin-left: -1.2rem !important;
  }
  main .tb_flow .tb_step {
    display: grid;
    grid-template-columns: 5.95rem minmax(0, 1fr);
    align-items: start;
  }
  main .tb_flow .tb_step_num {
    width: auto;
    padding-right: 0;
    font-size: 1.6rem;
    letter-spacing: 0;
    background-color: transparent;
    transform: translateY(-50%);
  }
  main .tb_flow .tb_step_body {
    margin-top: 0;
    padding: 3.5rem 0 2.6rem;
    border-top: 0;
  }
  main .tb_flow .tb_step_body::before {
    content: "";
    top: 3rem;
    bottom: 3.6rem;
    left: calc(5.95rem * -0.5);
  }
  main .tb_flow .tb_step_body::after {
    content: "";
    position: absolute;
    top: 0;
    left: 1.8rem;
    right: 0;
    height: 1px;
    background-color: #4a5783;
  }
  main .tb_flow .tb_step:first-child .tb_step_body::after {
    content: none;
  }
  main .tb_flow .tb_step_nodivider .tb_step_body {
    padding-top: 1rem;
  }
  main .tb_flow .tb_step_nodivider .tb_step_body::after {
    content: none;
  }
  main .tb_flow .tb_step_nodivider .tb_step_body::before {
    top: 0;
  }
  main .tb_flow .tb_step:has(+ .tb_step_nodivider) .tb_step_body {
    padding-bottom: 1rem;
  }
  main .tb_flow .tb_step:has(+ .tb_step_nodivider) .tb_step_body::before {
    bottom: 0;
  }
  main .tb_flow .tb_step_title {
    font-size: 2rem;
    line-height: 1.5;
    letter-spacing: 3px;
  }
  main .tb_flow .tb_step_text {
    margin-top: 1rem;
    font-size: 1.6rem;
    line-height: 1.6;
    letter-spacing: 3px;
  }
  main .tb_flow .tb_step_body .sr_pill_btn {
    width: 100%;
    max-width: 100%;
    min-height: 3.5rem;
    margin-top: 2rem;
    gap: 1rem;
    padding: 0 2rem;
    justify-content: center;
  }
  main .tb_flow .tb_step_body .sr_pill_btn .sr_pill_btn_text {
    font-size: 1.6rem;
    line-height: 1.4;
    letter-spacing: 0;
  }
  main .tb_flow .tb_step_body .sr_pill_btn .sr_pill_btn_arrow {
    width: 2.83rem;
  }
  main .tb_flow .tb_step_goal .tb_step_body {
    padding: 0;
    border-top: 0;
  }
  main .tb_flow .tb_step_goal .tb_step_body::before {
    content: none;
  }
  main .tb_flow {
    /* --- 一人親方紹介キャンペーン --- */
  }
  main .tb_flow .tb_promo {
    width: 34.3rem;
    max-width: 100%;
    margin-top: 2.4rem;
    padding: 1.6rem 1.4rem 2.4rem;
    border-radius: 1.5rem;
  }
  main .tb_flow .tb_promo_band {
    min-height: 4rem;
    padding: 0.6rem 1rem;
    font-size: 1.8rem;
    line-height: 1.6;
    letter-spacing: 1px;
  }
  main .tb_flow .tb_promo_text {
    margin-top: 2rem;
    line-height: 1.8;
    letter-spacing: 1px;
  }
  main .tb_flow .tb_promo_text span {
    line-height: 1.8;
  }
  main .tb_flow .tb_promo_mark {
    background: linear-gradient(to top, #c9d0e8 0.6rem, transparent 0.6rem);
  }
  main .tb_flow .tb_promo_note {
    margin-top: 0.6rem;
    line-height: 1.8;
  }
  main .tb_flow .tb_promo_btn_area {
    margin-top: 2rem;
    width: 90%;
    margin-left: auto;
    margin-right: auto;
  }
  main {
    /* --- 労災保険料の算出方法 --- */
  }
  main .tb_rate {
    padding: 5rem 0;
  }
  main .tb_rate .tb_rate_body {
    flex-direction: column;
    align-items: stretch;
    gap: 1.6rem;
    margin-top: 2.4rem;
  }
  main .tb_rate .tb_rate_base,
  main .tb_rate .tb_rate_ratio {
    width: 100%;
    max-width: none;
  }
  main .tb_rate .tb_rate_box_head {
    min-height: 5rem;
    padding: 0.6rem 1rem;
    border-radius: 1.5rem 1.5rem 0 0;
    font-size: 2rem;
    line-height: 1.6;
    letter-spacing: 2px;
  }
  main .tb_rate .tb_rate_box_body {
    gap: 1.2rem;
    min-height: 8rem;
    padding: 1.2rem 1.4rem;
    border-radius: 0 0 1.5rem 1.5rem;
  }
  main .tb_rate .tb_rate_base_day {
    letter-spacing: 1px;
  }
  main .tb_rate .tb_rate_mark {
    align-self: center;
    font-size: 3.2rem;
  }
  main .tb_rate .tb_rate_ratio_note {
    margin-top: 0.8rem;
    line-height: 1.6;
  }
  main {
    /* --- 入会後 一年の流れ --- */
  }
  main .tb_year {
    padding: 5rem 0;
  }
  main .tb_year .tb_year_list {
    width: 100%;
    max-width: none;
    margin-top: 2.4rem;
  }
  main .tb_year .tb_year_note {
    width: 100%;
    max-width: none;
    margin-top: 1.2rem;
    font-size: 1.5rem;
    letter-spacing: 1px;
  }
  main .tb_year .tb_year_item {
    gap: 2rem;
    min-height: 0;
    padding: 1.6rem;
    border-radius: 1rem;
  }
  main .tb_year .tb_year_item + .tb_year_item {
    margin-top: 2rem;
  }
  main .tb_year .tb_year_item + .tb_year_item::before {
    top: -2rem;
    left: 4.5rem;
    height: 2rem;
  }
  main .tb_year .tb_year_item_top {
    align-items: flex-start !important;
  }
  main .tb_year .tb_year_month {
    width: 5.8rem;
    max-width: none;
    min-width: 0;
    font-size: 1.8rem;
    line-height: 1.5;
  }
  main .tb_year .tb_year_text {
    font-size: 1.6rem;
    line-height: 1.4;
  }
  main {
    /* --- お近くの社労士会員を探す --- */
  }
  main .tb_search {
    padding: 5rem 0;
  }
  main .tb_search .tb_search_lead {
    margin-top: 1.2rem;
    line-height: 1.8;
    letter-spacing: 1px;
  }
  main .tb_search .tb_search_banner {
    width: 32.5rem;
    max-width: 100%;
    margin-top: 2rem;
  }
  main {
    /* --- 丸い小さなボタンの矢印 --- */
  }
  main .sr_pill_btn .sr_pill_btn_arrow {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  main .sr_pill_btn .sr_pill_btn_arrow_down {
    width: auto;
    height: 1.8rem;
  }
  /*----------------------------------------------------------------

  footer

  ----------------------------------------------------------------*/
  footer .footer_inner .footer_info {
    width: 100%;
    max-width: none;
    padding: 3rem 3.3rem 3.5rem;
  }
  footer .footer_inner .footer_info .f_20 {
    padding-left: 1rem;
  }
  footer .footer_inner .footer_info .footer_address {
    font-size: 1.4rem;
  }
  footer .footer_inner .footer_info .footer_logo {
    margin-top: 0.3rem;
  }
  footer .footer_inner .footer_info .footer_logo img {
    width: 28rem;
    max-width: 100%;
    margin-left: 1.4rem;
  }
  footer .footer_inner .footer_info .footer_map {
    aspect-ratio: 294/92;
    margin-top: 0.4rem;
  }
  footer .footer_inner .footer_info .footer_map_link {
    margin-top: 0.7rem;
    font-size: 1.4rem;
    font-weight: 500;
    gap: 1rem;
    line-height: 1.8;
  }
  footer .footer_inner .footer_info .footer_map_link .arrow {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  footer .footer_inner .footer_main {
    padding: 4.5rem 0rem 1.7rem;
  }
  footer .footer_inner .footer_main .footer_main_upper {
    gap: 3.7rem;
    padding-left: 4rem;
    padding-right: 4rem;
    padding-top: 0;
  }
  footer .footer_inner .footer_main .footer_nav {
    width: 100%;
  }
  footer .footer_inner .footer_main .footer_nav .footer_nav_top {
    font-size: 2rem;
    font-weight: 500;
    padding-bottom: 1.8rem;
  }
  footer .footer_inner .footer_main .footer_nav .footer_nav_list {
    grid-auto-flow: row;
    grid-template-rows: none;
    -moz-column-gap: 0;
         column-gap: 0;
  }
  footer .footer_inner .footer_main .footer_nav .footer_nav_list li a {
    padding: 1.4rem 0;
    font-size: 1.8rem;
  }
  footer .footer_inner .footer_main .footer_nav .footer_nav_list li:nth-child(3n+1) a {
    padding-top: 1.4rem;
  }
  footer .footer_inner .footer_main .footer_nav .footer_nav_list li:first-child a {
    padding-top: 2rem;
  }
  footer .footer_inner .footer_main .footer_btn_list {
    width: 100%;
    max-width: none;
    gap: 1rem;
  }
  footer .footer_inner .footer_main .footer_btn_list .footer_btn {
    gap: 0rem;
    padding: 0rem 1.3rem 0 0;
    height: 6rem;
  }
  footer .footer_inner .footer_main .footer_btn_list .footer_btn .footer_btn_icon {
    width: 6.8rem;
    max-width: none;
    min-width: 0;
    padding: 1rem 1.5rem 1rem 1.3rem;
  }
  footer .footer_inner .footer_main .footer_btn_list .footer_btn .footer_btn_icon .material-symbols-outlined {
    font-size: 2.8rem;
  }
  footer .footer_inner .footer_main .footer_btn_list .footer_btn .footer_btn_icon img {
    width: 3.5rem;
    max-width: 36px;
    min-width: 35px;
  }
  footer .footer_inner .footer_main .footer_btn_list .footer_btn .footer_btn_arrow {
    width: 3.6rem;
    max-width: none;
    min-width: 0;
    height: 4rem;
    max-height: none;
    min-height: 0;
    margin-right: 0;
    width: 5.75rem;
  }
  footer .footer_inner .footer_main .footer_btn_list .footer_btn .footer_btn_arrow .arrow {
    width: 2.4rem;
    max-width: none;
    min-width: 0;
  }
  footer .footer_inner .footer_main .footer_btn_list .footer_btn .footer_btn_text {
    font-size: 2rem;
    padding-left: 1.3rem;
  }
  footer .footer_inner .footer_main .footer_copyright {
    padding-left: 0;
    padding-right: 0;
    margin-top: 2.4rem;
    text-align: center;
    font-size: 1.4rem;
    padding-bottom: 0;
    padding-top: 1rem;
  }
}