@charset "UTF-8";
/*----------------------------------------------------------------

下層ページ（PC）

数値は Figma（PC 1920px）実測。px ÷ 19.2 = vw。
色・$transition などの変数は main.scss 側で定義しているものと同じ値を使う。
SP は mediaquery.scss の @media (max-width: 767px) 側で上書きする。

----------------------------------------------------------------*/
main {
  /*----------------------------------------------------------------

  sub_mv（下層 MV）

  Figma: 1920 × 466。青のグラデーション（TOP の $gra_blue と左右逆向き）に、
  枠の左上で切った円（sub_mv_blur.svg）を重ねる。

  ----------------------------------------------------------------*/
}
main .sub_mv {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-image: linear-gradient(90deg, #183cb6 0%, #3667c2 100%);
}
main .sub_mv .sub_mv_inner {
  position: relative;
  z-index: 1;
  padding: clamp(210px, 13.85vw, 266px) 8.33vw 1px;
}
main .sub_mv .sub_mv_blur {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 0;
  width: 22.66vw;
  max-width: 435px;
  min-width: 240px;
  height: auto;
  pointer-events: none;
}
main .sub_mv .sub_mv_title {
  line-height: 1.6;
}
main .sub_mv .sub_mv_titles {
  gap: 1.04vw;
}
main .sub_mv .sub_mv_lead {
  line-height: 1.6;
}
main .sub_mv .sub_mv_breadcrumb {
  margin-top: 5.02vw;
}
main {
  /*----------------------------------------------------------------

  sub_mv_bar（投稿詳細の MV）

  Figma: 1920 × 234。詳細ページは大見出しを持たず（記事タイトルが h1 のため）、
  グラデーションの帯にパンくずだけを置く。

  ----------------------------------------------------------------*/
}
main .sub_mv_bar {
  display: flex;
  align-items: flex-end;
  padding: clamp(186px, 10.16vw, 195px) 8.49vw 0.53vw;
  background-image: linear-gradient(90deg, #3667c2 0%, #183cb6 100%);
}
main {
  /*----------------------------------------------------------------

  パンくず（sub_mv ／ sub_mv_bar 共通）

  Figma: 16px / Medium / 180% / 0.48px

  ----------------------------------------------------------------*/
}
main .sub_mv_breadcrumb {
  width: 100%;
}
main .sub_mv_breadcrumb .breadcrumb_list {
  list-style: none;
  gap: 0;
}
main .sub_mv_breadcrumb .breadcrumb_item {
  line-height: 1.8;
  min-width: 0;
  overflow-wrap: anywhere;
}
main .sub_mv_breadcrumb .breadcrumb_item + .breadcrumb_item::before {
  content: "＞";
  margin: 0 0.26vw;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 0.48px;
  color: #ffffff;
}
main .sub_mv_breadcrumb a,
main .sub_mv_breadcrumb span {
  line-height: 1.8;
  letter-spacing: 0.48px;
}
main .sub_mv_breadcrumb a {
  color: #ffffff;
  transition: opacity 0.4s ease;
}
@media (hover: hover) {
  main .sub_mv_breadcrumb a:hover {
    color: #ffffff;
    opacity: 0.6;
  }
}
main {
  /*----------------------------------------------------------------

  contact_btn（白地に青枠のボタン）


  ----------------------------------------------------------------*/
}
main .contact_btn {
  width: -moz-fit-content;
  width: fit-content;
  padding: 0.68vw 0.88vw;
  gap: 1.98vw;
  border: 1px solid #183cb6;
  background-color: #ffffff;
  transition: background-color 0.4s ease;
}
main .contact_btn:hover {
  opacity: 1;
}
main .contact_btn .contact_btn_text {
  line-height: 2.08vw;
  letter-spacing: 0.9px;
  white-space: nowrap;
  transition: color 0.4s ease;
}
main .contact_btn .contact_btn_arrow {
  flex-shrink: 0;
  justify-content: center;
  width: 3.38vw;
  max-width: 65px;
  min-width: 50px;
  height: 2.08vw;
  max-height: 40px;
  min-height: 30px;
  transition: background-color 0.4s ease;
}
main .contact_btn .contact_btn_arrow .arrow {
  display: block;
  width: 1.72vw;
  max-width: 33px;
  min-width: 22px;
  height: auto;
}
main .contact_btn .contact_btn_arrow .arrow path {
  fill: #ffffff;
  transition: fill 0.4s ease;
}
@media (hover: hover) {
  main .contact_btn:hover {
    background-color: #183cb6;
  }
  main .contact_btn:hover .contact_btn_text {
    color: #ffffff;
  }
  main .contact_btn:hover .contact_btn_arrow {
    background-color: #ffffff;
  }
  main .contact_btn:hover .contact_btn_arrow .arrow path {
    fill: #183cb6;
  }
}
main .contact_btn:focus {
  outline: none;
}
main .contact_btn:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  contact_faq（よくあるご質問への導線）

  ----------------------------------------------------------------*/
}
main .contact_faq {
  background-color: #f5f5f5;
  /* --- 見出し --- */
}
main .contact_faq .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .contact_faq .section_title h3 {
  line-height: 1.7;
}
main .contact_faq .contact_faq_lead {
  width: 41.93vw;
  max-width: 805px;
  margin-inline: auto;
}
main {
  /*----------------------------------------------------------------

  contact_tel（お電話でのお問い合わせ）

  ----------------------------------------------------------------*/
}
main .contact_tel {
  background-color: #dee2ee;
  /* --- 見出し --- */
}
main .contact_tel .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .contact_tel .section_title h3 {
  line-height: 1.7;
}
main .contact_tel {
  /* --- 白いカード --- */
}
main .contact_tel .contact_tel_card {
  width: 59.44vw;
  max-width: 1141px;
  padding: 1.98vw 2.08vw 2.17vw;
  border-radius: 23.78px;
  box-shadow: 0 4.76px 35.67px 0 rgba(91, 116, 196, 0.5);
}
main .contact_tel .contact_tel_lead {
  line-height: 1.4;
  letter-spacing: 2.38px;
}
main .contact_tel .contact_tel_link {
  gap: 1.86vw;
}
main .contact_tel .contact_tel_link:hover {
  opacity: 1;
}
main .contact_tel .contact_tel_icon {
  flex-shrink: 0;
  width: 2.68vw;
  max-width: 51.5px;
  min-width: 30px;
  height: auto;
}
main .contact_tel .contact_tel_num {
  line-height: 1.5;
  letter-spacing: 3.29px;
  white-space: nowrap;
}
main .contact_tel .contact_tel_line {
  width: 39.63vw;
  max-width: 761px;
  height: auto;
}
main .contact_tel .contact_tel_time {
  line-height: 1.2;
  letter-spacing: 2.38px;
}
main .contact_tel .contact_tel_time time {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
main {
  /*----------------------------------------------------------------

  policy_area（プライバシーポリシー）

  デザインが無いページ。読み物なので幅はお問い合わせのカードと同じ 1141px に揃え、
  条項の区切りは TOP の一覧（.info_item）と同じ 1px の罫線で表現する。

  ----------------------------------------------------------------*/
}
main .policy_area {
  background-color: #f5f5f5;
}
main .policy_area .policy_area_inner {
  width: 59.44vw;
  max-width: 1141px;
  margin-inline: auto;
}
main .policy_area {
  /* --- 見出し --- */
}
main .policy_area .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .policy_area .section_title h3 {
  line-height: 1.7;
}
main .policy_area {
  /* --- リード文 --- */
}
main .policy_area .policy_lead {
  text-align: left;
}
main .policy_area {
  /* --- 条項 --- */
}
main .policy_area .policy_item {
  border-bottom: 1px solid #c9d0e8;
}
main .policy_area .policy_item:first-child {
  border-top: 1px solid #c9d0e8;
}
main .policy_area .policy_item_title {
  font-size: clamp(18px, 1.25vw, 24px);
}
main .policy_area .policy_note_list {
  margin-top: 0.78vw !important;
  list-style: none;
}
main .policy_area .policy_note {
  position: relative;
  padding-left: 1.2em;
}
main .policy_area .policy_note::before {
  content: "・";
  position: absolute;
  top: 0;
  left: 0;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}
main .policy_area {
  /* --- お問い合わせ窓口 --- */
}
main .policy_area .policy_contact_address {
  font-style: normal;
}
main .policy_area .policy_contact_address a,
main .policy_area .policy_contact_address time {
  font: inherit;
  letter-spacing: inherit;
}
main .policy_area .policy_contact_address time {
  color: inherit;
}
main .policy_area .policy_contact_address a {
  color: #183cb6;
  transition: opacity 0.4s ease;
}
@media (hover: hover) {
  main .policy_area .policy_contact_address a:hover {
    color: #183cb6;
    opacity: 0.6;
  }
}
main {
  /*----------------------------------------------------------------

  post_area（お知らせ ／ 研修のご案内：一覧・詳細の共通レイアウト）

  Figma（PC 1920px）実測。px ÷ 19.2 = vw。
  本文カラム 1206px ＋ 余白 145px ＋ サイドバー 299px = 1650px。
  左 160px / 右 110px で置く。

  ----------------------------------------------------------------*/
}
main .post_area {
  padding-left: 8.33vw;
  padding-right: 5.73vw;
}
main .post_area .post_area_inner {
  align-items: flex-start;
}
main .post_area .post_main {
  flex: 1;
  min-width: 0;
}
main .post_area .post_side {
  flex-shrink: 0;
  width: 15.57vw;
  max-width: 299px;
  min-width: 200px;
  margin-left: 7.55vw;
}
main .post_area_detail .post_side {
  margin-top: 8.54vw;
}
main {
  /*----------------------------------------------------------------

  サイドバー（WP では動的に出力する想定）

  Figma: 見出し 300 × 40 / 項目 30px / ブロック間 40px / 見出しと項目の間 20px

  ----------------------------------------------------------------*/
}
main .post_side .side_block + .side_block {
  margin-top: 2.08vw;
}
main .post_side .side_block_title {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.08vw;
  padding: 0.26vw 0.52vw;
  line-height: 1.5;
  text-align: center;
}
main .post_side .side_list {
  margin-top: 1.04vw !important;
  list-style: none;
}
main .post_side .side_item + .side_item {
  margin-top: 1.04vw;
}
main .post_side .side_link {
  min-height: 1.56vw;
  border-bottom: 1px solid #4a5783;
  line-height: 1.3;
  transition: opacity 0.4s ease;
}
main .post_side .side_link:hover {
  opacity: 1;
}
@media (hover: hover) {
  main .post_side .side_link:hover {
    opacity: 0.6;
  }
}
main .post_side .side_link_text {
  line-height: 1.3;
}
main .post_side .side_icon {
  flex-shrink: 0;
  font-size: 24px;
  line-height: 1;
  color: #4a5783;
}
main .post_side {
  /* --- 最近の記事 --- */
}
main .post_side .side_post {
  padding: 0.26vw 0;
  border-bottom: 1px solid #4a5783;
  transition: opacity 0.4s ease;
}
main .post_side .side_post:hover {
  opacity: 1;
}
@media (hover: hover) {
  main .post_side .side_post:hover {
    opacity: 0.6;
  }
}
main .post_side .side_post_title {
  width: 12.5vw;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
main .post_side .side_post_date {
  width: 6.56vw;
  line-height: 1.3;
  color: rgba(74, 87, 131, 0.5);
}
main .post_side .side_post_date time {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
main .post_side .side_link_year .side_icon {
  font-size: 24px;
}
main {
  /*----------------------------------------------------------------

  一覧ページ（デザイン無し。TOP の .info_list をそのまま使う）

  ----------------------------------------------------------------*/
}
main .post_main.info_area .info_link {
  min-height: 4.17vw;
  background-color: transparent;
}
main .post_main.info_area .info_arrow {
  height: 1.88vw;
  max-height: 36px;
  min-height: 26px;
}
main .post_main.info_area .info_text {
  font-weight: inherit;
}
main .post_main.info_area .info_date time {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
main {
  /*----------------------------------------------------------------

  ページネーション（WordPress プラグイン WP-PageNavi 出力）

  ----------------------------------------------------------------*/
}
main .wp-pagenavi {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.52vw;
}
main .wp-pagenavi > a,
main .wp-pagenavi > span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3.2vw;
  height: 3.2vw;
  min-width: 40px;
  min-height: 40px;
  padding: 0.26vw 0.42vw;
  border: 1px solid #183cb6;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 1px;
  color: #183cb6;
  background-color: #ffffff;
  transition: background-color 0.4s ease, color 0.4s ease;
}
main .wp-pagenavi .material-symbols-outlined {
  line-height: 1;
  color: inherit;
}
main .wp-pagenavi > a:hover {
  opacity: 1;
}
@media (hover: hover) {
  main .wp-pagenavi > a:hover {
    background-color: #183cb6;
    color: #ffffff;
  }
}
main .wp-pagenavi a:focus {
  outline: none;
}
main .wp-pagenavi a:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main .wp-pagenavi .current {
  background-color: #183cb6;
  color: #ffffff;
}
main .wp-pagenavi .pages,
main .wp-pagenavi .extend {
  min-width: 0;
  border: 0;
  background-color: transparent;
  color: #4a5783;
}
main .wp-pagenavi .pages {
  margin-right: 0.52vw;
}
main .wp-pagenavi .nextpostslink {
  padding: 0 !important;
}
main .wp-pagenavi .last {
  padding: 0 !important;
}
main {
  /*----------------------------------------------------------------

  post_card（記事本文）

  Figma: 1206px / 角丸 20 / 枠線 1px #183CB6 / 地 #F3F3F3。
  カード内は 上 41px・右 70px・左 87px・下 72px。

  ----------------------------------------------------------------*/
}
main .post_card {
  padding: 2.14vw 3.65vw 3.75vw 4.53vw;
  border: 1px solid #183cb6;
  border-radius: 20px;
  background-color: #f3f3f3;
}
main .post_card.post_card_white {
  background-color: #ffffff;
}
main .post_card {
  /* --- タグ --- */
}
main .post_card .post_tag_list {
  gap: 0.47vw;
}
main .post_card .post_tag {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.67vw;
  padding: 0.1vw 0.78vw;
  line-height: 1.5;
  white-space: nowrap;
}
main .post_card {
  /* --- 日付・受付期間 --- */
}
main .post_card .post_meta {
  margin-top: 0.52vw;
  gap: 0.52vw;
}
main .post_card .post_date {
  line-height: 1.4;
}
main .post_card .post_date time {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
main .post_card .post_term {
  line-height: 1.4;
  white-space: nowrap;
}
main .post_card .post_term .post_term_label {
  line-height: 1.4;
}
main .post_card .post_line {
  height: 5px;
  margin-top: 0.42vw;
  border-top: 1px solid #4a5783;
  border-bottom: 1px solid #4a5783;
}
main .post_card {
  /* --- 本文まわり --- */
}
main .post_card .post_content {
  padding: 0 1.35vw 0 1.41vw;
}
main .post_card .post_title {
  margin-top: 1.72vw;
  line-height: 1.5;
}
main .post_card .post_thumb {
  margin-top: 2.08vw;
}
main .post_card .post_thumb img {
  width: 100%;
  height: auto;
  aspect-ratio: 1001/504;
  -o-object-fit: cover;
     object-fit: cover;
}
main {
  /*----------------------------------------------------------------

  post_body（WordPress の投稿本文。クラスが付かない前提で要素に直接あてる）

  ----------------------------------------------------------------*/
}
main .post_body {
  margin-top: 1.56vw;
}
main .post_body > * + * {
  margin-top: 1.04vw;
}
main .post_body p {
  font-size: 16px;
  line-height: 1.4;
  letter-spacing: 2px;
  color: #333333;
}
main .post_body h2 {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  min-height: 2.34vw;
  margin-top: 2.08vw;
  padding: 0.26vw 1.04vw;
  border-left: 8px solid #183cb6;
  background-color: #ffffff;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 2px;
  color: #183cb6;
}
main .post_body h3 {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  min-height: 2.14vw;
  margin-top: 1.56vw;
  padding: 0.52vw;
  background-color: rgba(201, 208, 232, 0.5);
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 2px;
  color: #183cb6;
}
main .post_body h4 {
  display: flex;
  align-items: center;
  gap: 0.52vw;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin-top: 0.89vw;
  padding: 0.52vw;
  border-bottom: 1px solid #183cb6;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 2px;
  color: #183cb6;
}
main .post_body h4::before {
  content: "";
  flex-shrink: 0;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: #c9d0e8;
}
main .post_body h2 + *,
main .post_body h3 + *,
main .post_body h4 + * {
  margin-top: 1.04vw;
}
main .post_body ul,
main .post_body ol {
  padding-left: 1.5em !important;
  font-size: 16px;
  line-height: 1.8;
  letter-spacing: 2px;
  color: #333333;
}
main .post_body ul li,
main .post_body ol li {
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}
main .post_body ul {
  list-style: disc;
}
main .post_body ol {
  list-style: decimal;
}
main .post_body img {
  max-width: 100%;
  height: auto;
}
main .post_body a {
  color: #183cb6;
  text-decoration: underline;
}
@media (hover: hover) {
  main .post_body a:hover {
    color: #183cb6;
    opacity: 0.6;
  }
}
main {
  /*----------------------------------------------------------------

  post_password（研修録画配信のパスワード入力）

  Figma: 747 × 340 / 角丸 22 / 白地

  ----------------------------------------------------------------*/
}
main .post_password {
  width: 38.91vw;
  max-width: 747px;
  margin: 2.08vw auto 0;
  padding: 2.6vw 1.04vw 2.55vw;
  border-radius: 22px;
  background-color: #ffffff;
}
main .post_password .post_password_title {
  gap: 1.04vw;
  line-height: 1.4;
}
main .post_password .post_password_title .post_password_icon {
  flex-shrink: 0;
  width: 1.46vw;
  max-width: 28px;
  min-width: 20px;
  height: auto;
}
main .post_password .post_password_text {
  margin-top: 1.46vw;
  line-height: 1.4;
}
main .post_password .post_password_input {
  display: block;
  width: 25vw;
  max-width: 480px;
  min-width: 240px;
  height: 2.66vw;
  max-height: 51px;
  min-height: 44px;
  margin: 0.52vw auto 0;
  padding: 0 0.78vw;
  border: 2px solid #333333;
  border-radius: 5px;
  background-color: #f5f5f5;
  font-size: 18px;
  line-height: 1.4;
  letter-spacing: 2px;
  text-align: center;
  color: #333333;
}
main .post_password .post_password_input::-moz-placeholder {
  font-size: 18px;
  letter-spacing: 0.5em;
  color: #cccccc;
}
main .post_password .post_password_input::placeholder {
  font-size: 18px;
  letter-spacing: 0.5em;
  color: #cccccc;
}
main .post_password .post_password_input:focus {
  outline: none;
  border-color: #183cb6;
}
main .post_password .post_password_submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.9vw;
  max-width: 190px;
  min-width: 150px;
  height: 2.18vw;
  max-height: 42px;
  min-height: 40px;
  margin: 2.08vw auto 0;
  padding: 0;
  border: 1px solid #183cb6;
  border-radius: 10px;
  background-color: #183cb6;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 2px;
  color: #ffffff;
  cursor: pointer;
  transition: background-color 0.4s ease, color 0.4s ease;
}
@media (hover: hover) {
  main .post_password .post_password_submit:hover {
    background-color: #ffffff;
    color: #183cb6;
  }
}
main .post_password .post_password_submit:focus {
  outline: none;
}
main .post_password .post_password_submit:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  post_nav（前の記事へ ／ 一覧へ戻る ／ 次の記事へ）

  Figma: ボタンは 347 × 66。左右のリンクとの間はそれぞれ 60px。

  ----------------------------------------------------------------*/
}
main .post_nav {
  margin-top: 2.08vw;
  gap: 3.13vw;
}
main .post_nav .post_nav_link {
  gap: 0.52vw;
  line-height: 1.4;
}
main .post_nav .post_nav_link .post_nav_icon {
  font-size: 24px;
  line-height: 1;
  color: #183cb6;
}
main .post_nav .post_back_btn {
  flex-shrink: 0;
  padding: 0.68vw 0.88vw;
  gap: 1.98vw;
  border: 1px solid #ffffff;
  background-color: #183cb6;
  transition: background-color 0.4s ease, border-color 0.4s ease;
}
main .post_nav .post_back_btn:hover {
  opacity: 1;
}
main .post_nav .post_back_btn .post_back_btn_text {
  line-height: 2.08vw;
  letter-spacing: 0.9px;
  white-space: nowrap;
  transition: color 0.4s ease;
}
main .post_nav .post_back_btn .post_back_btn_arrow {
  flex-shrink: 0;
  justify-content: center;
  width: 3.38vw;
  max-width: 65px;
  min-width: 50px;
  height: 2.08vw;
  max-height: 40px;
  min-height: 30px;
  transition: background-color 0.4s ease;
}
main .post_nav .post_back_btn .post_back_btn_arrow .arrow {
  display: block;
  width: 1.72vw;
  max-width: 33px;
  min-width: 22px;
  height: auto;
}
main .post_nav .post_back_btn .post_back_btn_arrow .arrow path {
  fill: #183cb6;
  transition: fill 0.4s ease;
}
@media (hover: hover) {
  main .post_nav .post_back_btn:hover {
    border-color: #183cb6;
    background-color: #ffffff;
  }
  main .post_nav .post_back_btn:hover .post_back_btn_text {
    color: #183cb6;
  }
  main .post_nav .post_back_btn:hover .post_back_btn_arrow {
    background-color: #183cb6;
  }
  main .post_nav .post_back_btn:hover .post_back_btn_arrow .arrow path {
    fill: #ffffff;
  }
}
main .post_nav .post_back_btn:focus {
  outline: none;
}
main .post_nav .post_back_btn:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  団体概要・アクセス

  Figma（PC 1920px）実測。px ÷ 19.2 = vw。
  コンテナは 320〜1600px（1280px）を基準にしている。

  ----------------------------------------------------------------*/
}
main .access_inner {
  width: 66.67vw;
  max-width: 1280px;
  margin-inline: auto;
}
main .sub_heading {
  gap: 0.42vw;
}
main .sub_heading .sub_heading_mark {
  flex-shrink: 0;
  width: 1.09vw;
  max-width: 21px;
  min-width: 14px;
  height: auto;
}
main .sub_heading .sub_heading_text {
  line-height: 1.6;
}
main {
  /*----------------------------------------------------------------

  団体概要 ＋ プロフィール

  Figma: 地 #F5F5F5 / 上 117px・下 122px

  ----------------------------------------------------------------*/
}
main .access_intro {
  background-color: #f5f5f5;
  padding: 6.09vw 0 6.35vw;
}
main .access_intro .section_title h3 {
  line-height: 1.7;
}
main .access_intro .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .access_intro .access_intro_lead {
  width: 48.91vw;
  max-width: 939px;
  margin: 1.56vw auto 0;
  line-height: 1.6;
}
main .access_intro {
  /* --- 2 枚のカード --- */
}
main .access_intro .access_card_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 2.55vw;
       column-gap: 2.55vw;
  width: 55.99vw;
  max-width: 1075px;
  margin: 3.18vw auto 0 !important;
  list-style: none;
}
main .access_intro .access_card {
  display: flex;
  flex-direction: column;
}
main .access_intro .access_card_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.68vw;
  min-height: 5.94vw;
  padding: 0.68vw 1.04vw;
  border-radius: 20px 20px 0 0;
}
main .access_intro .access_card_mark {
  width: 1.5vw;
  max-width: 29px;
  min-width: 20px;
  height: auto;
}
main .access_intro .access_card_title {
  line-height: 1.6;
  text-align: center;
}
main .access_intro .access_card_body {
  flex: 1;
  padding: 1.67vw 2.34vw 1.67vw 2.34vw;
  border-radius: 0 0 20px 20px;
  background-color: #ffffff;
}
main .access_intro .access_card_text {
  line-height: 1.9;
}
main .access_intro .access_card_main .access_card_head {
  background-color: #183cb6;
}
main .access_intro .access_card_sub .access_card_head {
  background-color: #c9d0e8;
}
main .access_intro {
  /* --- プロフィール --- */
}
main .access_intro .access_profile {
  margin-top: 5.16vw;
}
main .access_intro .access_profile_table {
  width: 59.9vw;
  max-width: 1150px;
  margin: 1.04vw auto 0;
  table-layout: fixed;
  border-collapse: collapse;
}
main .access_intro .access_profile_table .access_profile_blank,
main .access_intro .access_profile_table .access_profile_label {
  width: 16.17%;
}
main .access_intro .access_profile_table .access_profile_th,
main .access_intro .access_profile_table .access_profile_val {
  background-color: #ffffff;
}
main .access_intro .access_profile_table .access_profile_blank,
main .access_intro .access_profile_table .access_profile_label {
  border-right: 1px solid #4a5783;
}
main .access_intro .access_profile_table .access_profile_val + .access_profile_val {
  border-left: 1px solid #4a5783;
}
main .access_intro .access_profile_table thead tr,
main .access_intro .access_profile_table tbody tr {
  border-bottom: 1px solid #4a5783;
}
main .access_intro .access_profile_table .access_profile_th {
  height: 2.92vw;
  padding: 0.26vw 0.52vw;
  text-align: center;
  vertical-align: middle;
}
main .access_intro .access_profile_table .access_profile_th span {
  line-height: 1.5;
}
main .access_intro .access_profile_table .access_profile_th_main {
  background-color: #183cb6;
}
main .access_intro .access_profile_table .access_profile_th_sub {
  background-color: #c9d0e8;
}
main .access_intro .access_profile_table .access_profile_label {
  padding: 1.04vw 0.52vw;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
}
main .access_intro .access_profile_table .access_profile_val {
  padding: 1.04vw 1.56vw;
  line-height: 1.5;
  text-align: center;
  vertical-align: middle;
  color: #333333;
}
main .access_intro .access_profile_table .access_profile_val a {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
main .access_intro .access_profile_table .access_profile_val_wide {
  padding-left: 3.44vw;
  text-align: left;
}
main {
  /*----------------------------------------------------------------

  会長挨拶

  Figma: 地 #FFFFFF / 上 154px・下 110px / 内容幅 1130px

  ----------------------------------------------------------------*/
}
main .access_greeting {
  background-color: #ffffff;
  padding: 8.02vw 0 5.73vw;
}
main .access_greeting .access_greeting_inner {
  width: 58.85vw;
  max-width: 1130px;
  margin-inline: auto;
}
main .access_greeting .section_title h3 {
  line-height: 1.7;
}
main .access_greeting .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .access_greeting .access_greeting_left {
  width: 24.5vw;
  max-width: 470px;
}
main .access_greeting .access_greeting_catch {
  margin-top: 2.24vw;
  line-height: 1.8;
}
main .access_greeting .access_greeting_img {
  flex-shrink: 0;
  width: 29.95vw;
  max-width: 575px;
}
main .access_greeting .access_greeting_img img {
  width: 100%;
  height: auto;
  aspect-ratio: 575/339;
  -o-object-fit: cover;
     object-fit: cover;
}
main .access_greeting .access_greeting_body {
  margin-top: 2.08vw;
}
main .access_greeting .access_greeting_body p {
  line-height: 1.8;
}
main .access_greeting .access_greeting_body p + p {
  margin-top: 1.69vw;
}
main .access_greeting .access_greeting_sign {
  margin-top: 2.08vw;
  line-height: 1.5;
  text-align: right;
}
main {
  /*----------------------------------------------------------------

  組織体制

  Figma: 地 #F5F5F5 / 上 179px・下 168px

  ----------------------------------------------------------------*/
}
main .access_org {
  background-color: #f5f5f5;
  padding: 9.32vw 0 8.75vw;
}
main .access_org .section_title h3 {
  line-height: 1.7;
}
main .access_org .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .access_org .access_org_block {
  margin-top: 2.08vw;
}
main .access_org .access_org_block_sub {
  margin-top: 4.64vw;
}
main .access_org .access_org_head {
  min-height: 2.6vw;
  padding: 0.26vw 0.52vw;
  background-color: #c9d0e8;
  gap: 0.68vw;
}
main .access_org .access_org_list {
  padding: 0.5vw 7.71vw 1vw 7.08vw !important;
  background-color: #ffffff;
}
main .access_org .access_org_row {
  display: grid;
  grid-template-columns: 14.95vw 1fr;
  align-items: start;
  padding: 1.25vw 0;
}
main .access_org .access_org_row + .access_org_row {
  border-top: 1px solid #4a5783;
}
main .access_org .access_org_label {
  line-height: 1.5;
}
main .access_org .access_org_val {
  margin: 0;
  line-height: 1.4;
}
main .access_org .access_org_block_sub .access_org_row {
  padding: 1.56vw 0;
}
main .access_org .access_org_block_sub .access_org_val {
  line-height: 1.5;
}
main {
  /*----------------------------------------------------------------

  アクセスマップ

  Figma: 地 #FFFFFF / 上 123px・下 140px

  ----------------------------------------------------------------*/
}
main .access_map {
  background-color: #ffffff;
  padding: 6.41vw 0 7.29vw;
}
main .access_map .section_title h3 {
  line-height: 1.7;
}
main .access_map .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .access_map .access_map_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  -moz-column-gap: 3.18vw;
       column-gap: 3.18vw;
  margin-top: 2.97vw !important;
  list-style: none;
}
main .access_map {
  /* --- カード上部（名称・住所） --- */
}
main .access_map .access_map_head {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 8.44vw;
  padding: 1.04vw 1.04vw 0;
  border-radius: 20px 20px 0 0;
}
main .access_map .access_map_name {
  line-height: 1.5;
  text-align: center;
}
main .access_map .access_map_line {
  display: block;
  width: 77.2%;
  height: 1px;
  margin-top: 0.78vw;
  background-color: #ffffff;
}
main .access_map .access_map_address {
  margin-top: 0.99vw;
  line-height: 1.3;
}
main .access_map {
  /* --- Google マップ --- */
}
main .access_map .access_map_frame {
  aspect-ratio: 610/234;
  overflow: hidden;
}
main .access_map .access_map_frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 0 0 20px 20px;
}
main .access_map {
  /* --- カード下部（アクセス方法） --- */
}
main .access_map .access_map_info {
  min-height: 11.3vw;
  margin-top: 1.56vw;
  padding: 1.2vw 1.56vw 1.56vw;
  border-radius: 20px;
  background-color: #f5f5f5;
}
main .access_map .access_map_info_title {
  line-height: 1.5;
  text-align: center;
}
main .access_map .access_map_info_text {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0.78vw auto 0;
  line-height: 1.8;
}
main .access_map .access_map_info_note {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 1.04vw 0 0;
  line-height: 1.5;
}
main .access_map .access_map_info_note span {
  line-height: 1.5;
  margin-bottom: 5px;
}
main .access_map .access_map_card_main .access_map_head {
  background-color: #183cb6;
}
main .access_map .access_map_card_main .access_map_info {
  border: 2px solid #183cb6;
}
main .access_map .access_map_card_sub .access_map_head {
  background-color: #4a5783;
}
main .access_map .access_map_card_sub .access_map_info {
  border: 2px solid #4a5783;
}
main .access_map {
  /*----------------------------------------------------------------

  提携駐車場からの道順

  ----------------------------------------------------------------*/
}
main .access_map .access_route {
  margin-top: 4.17vw;
}
main .access_map .access_route_panel {
  align-items: flex-start;
  margin-top: 1.56vw;
  padding: 1.77vw 7.19vw 2.6vw 2.92vw;
  border-radius: 30px;
  background-color: #e3e7f3;
}
main .access_map .access_route_img {
  flex-shrink: 0;
  width: 33.33vw;
  max-width: 640px;
}
main .access_map .access_route_img img {
  width: 100%;
  height: auto;
}
main .access_map .access_route_steps {
  flex-shrink: 0;
  width: 19.79vw;
  max-width: 380px;
  margin-top: 3.39vw;
}
main .access_map .access_route_steps_head {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.98vw;
  padding: 0.26vw 0.52vw;
  background-color: #4a5783;
  line-height: 1.5;
}
main .access_map .access_route_steps_body {
  padding: 1.46vw 1.25vw 1.82vw;
  border-radius: 0 0 20px 20px;
  background-color: #ffffff;
}
main .access_map .access_route_step_list {
  list-style: none;
}
main .access_map .access_route_step {
  gap: 0.52vw;
}
main .access_map .access_route_step + .access_route_step {
  margin-top: 0.73vw;
}
main .access_map .access_route_step_no {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.46vw;
  max-width: 28px;
  min-width: 22px;
  height: 1.46vw;
  max-height: 28px;
  min-height: 22px;
  border-radius: 50%;
  background-color: #ff0880;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0;
  color: #ffffff;
}
main .access_map .access_route_step_text {
  line-height: 1.7;
}
main .access_map .access_route_note {
  margin-top: 1.35vw;
  line-height: 1.5;
}
main {
  /*----------------------------------------------------------------

  社会保険労務士 会員名簿

  Figma（PC 1920px）実測。px ÷ 19.2 = vw。
  コンテナは 320〜1600px（1280px）を基準にしている。

  ----------------------------------------------------------------*/
}
main .member_inner {
  width: 66.67vw;
  max-width: 1280px;
  margin-inline: auto;
}
main {
  /*----------------------------------------------------------------

  会員名簿検索

  Figma: 地 #F5F5F5 / 上 90px・下 115px

  ----------------------------------------------------------------*/
}
main .member_search {
  background-color: #f5f5f5;
  padding: 4.69vw 0 5.99vw;
  /* --- ページ内リンク --- */
}
main .member_search .member_anchor_list {
  list-style: none;
  gap: 1.04vw;
}
main .member_search .member_anchor {
  gap: 2.08vw;
  padding: 0.68vw 0.88vw;
  border: 1px solid #183cb6;
  background-color: #ffffff;
  transition: background-color 0.4s ease;
}
main .member_search .member_anchor:hover {
  opacity: 1;
}
main .member_search .member_anchor .member_anchor_icon {
  flex-shrink: 0;
  font-size: 1.77vw;
  line-height: 1;
  color: #183cb6;
  transition: color 0.4s ease;
}
main .member_search .member_anchor .member_anchor_img {
  flex-shrink: 0;
  width: 1.44vw;
  max-width: 42px;
  min-width: 26px;
  height: auto;
}
main .member_search .member_anchor .member_anchor_text {
  line-height: 2.08vw;
  letter-spacing: 0.9px;
  white-space: nowrap;
  transition: color 0.4s ease;
}
main .member_search .member_anchor .member_anchor_arrow {
  flex-shrink: 0;
  justify-content: center;
  width: 3.38vw;
  height: 2.08vw;
  transition: background-color 0.4s ease;
}
main .member_search .member_anchor .member_anchor_arrow img {
  width: 0.625vw;
  height: auto;
  transition: transform 0.4s ease;
}
@media (hover: hover) {
  main .member_search .member_anchor:hover .member_anchor_arrow img {
    transform: translateY(0.26vw);
  }
}
main .member_search .member_anchor:focus {
  outline: none;
}
main .member_search .member_anchor:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main .member_search {
  /* --- 見出し --- */
}
main .member_search .section_title {
  gap: 1.04vw;
  margin-top: 3.09vw;
}
main .member_search .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .member_search .section_title h3 {
  line-height: 1.8;
}
main .member_search {
  /*----------------------------------------------------------------

  検索フォーム

  ----------------------------------------------------------------*/
}
main .member_search .member_form {
  margin-top: 1.56vw;
}
main .member_search .member_form_head {
  gap: 1.09vw;
  min-height: 3.49vw;
  padding: 0.26vw 1.04vw;
  border-radius: 20px 20px 0 0;
  background-color: #183cb6;
  line-height: 1.8;
}
main .member_search .member_form_head .member_form_head_icon {
  flex-shrink: 0;
  font-size: 2.2vw;
  line-height: 1;
  color: #ffffff;
}
main .member_search .member_form_body {
  padding: 1.72vw 8.33vw 3.02vw;
  border: 2px solid #183cb6;
  border-top: 0;
  border-radius: 0 0 20px 20px;
  background-color: #ffffff;
}
main .member_search .member_form_row {
  padding-bottom: 1.35vw;
  border: 0;
  border-bottom: 1px dotted #4a5783;
}
main .member_search .member_form_row + .member_form_row {
  padding-top: 0.73vw;
}
main .member_search .member_form_row_last {
  border-bottom: 0;
  padding-bottom: 0;
}
main .member_search .member_form_label {
  padding: 0;
  line-height: 1.8;
}
main .member_search .member_form_note {
  display: inline-block;
  margin-left: 0.63vw;
  line-height: 1.8;
  color: #4a5783;
}
main .member_search {
  /* --- セレクト --- */
}
main .member_search .member_form_select {
  position: relative;
  width: 20.73vw;
  max-width: 398px;
  min-width: 240px;
  margin-top: 0.26vw;
}
main .member_search .member_form_select select {
  width: 100%;
  height: 2.29vw;
  max-height: 44px;
  min-height: 40px;
  padding: 0 2.6vw 0 1.04vw;
  border: 1px solid #4a5783;
  border-radius: 10px;
  background-color: #ffffff;
  line-height: 1.8;
  color: #4a5783;
  cursor: pointer;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
main .member_search .member_form_select select:focus {
  outline: none;
  border-color: #183cb6;
}
main .member_search .member_form_select select:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 2px;
}
main .member_search .member_form_select .member_form_select_icon {
  position: absolute;
  top: 50%;
  right: 0.52vw;
  transform: translateY(-50%);
  font-size: 2.08vw;
  line-height: 1;
  color: #4a5783;
  pointer-events: none;
}
main .member_search {
  /* --- チェックボックス --- */
}
main .member_search .member_check_list {
  list-style: none;
  -moz-column-gap: 1.51vw;
       column-gap: 1.51vw;
  row-gap: 0.52vw;
  margin-top: 0.52vw !important;
}
main .member_search .member_check {
  gap: 0.52vw;
  cursor: pointer;
}
main .member_search .member_check input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
main .member_search .member_check .member_check_box {
  position: relative;
  flex-shrink: 0;
  display: block;
  width: 1.35vw;
  max-width: 26px;
  min-width: 20px;
  height: 1.35vw;
  max-height: 26px;
  min-height: 20px;
  border: 1px solid #4a5783;
  border-radius: 5px;
  background-color: #ffffff;
  transition: background-color 0.4s ease, border-color 0.4s ease;
}
main .member_search .member_check .member_check_box::after {
  content: "";
  position: absolute;
  top: 44%;
  left: 50%;
  width: 32%;
  height: 60%;
  border: solid #183cb6;
  border-width: 0 2px 2px 0;
  transform: translate(-50%, -50%) rotate(45deg);
  opacity: 0;
  transition: opacity 0.4s ease;
}
main .member_search .member_check .member_check_text {
  line-height: 1.8;
  color: #4a5783;
  transition: color 0.4s ease;
}
main .member_search .member_check input:checked ~ .member_check_box {
  border-color: #183cb6;
  background-color: #ffffff;
}
main .member_search .member_check input:checked ~ .member_check_box::after {
  opacity: 1;
}
main .member_search .member_check input:checked ~ .member_check_text {
  color: #183cb6;
}
main .member_search .member_check input:focus-visible ~ .member_check_box {
  outline: 2px solid #183cb6;
  outline-offset: 2px;
}
@media (hover: hover) {
  main .member_search .member_check:hover .member_check_box {
    border-color: #183cb6;
  }
}
main .member_search {
  /* --- キーワード --- */
}
main .member_search .member_form_input {
  display: block;
  width: 100%;
  height: 2.4vw;
  max-height: 46px;
  min-height: 42px;
  margin-top: 0.26vw;
  padding: 0 1.04vw;
  border: 1px solid #4a5783;
  border-radius: 10px;
  background-color: #ffffff;
  line-height: 1.8;
  color: #4a5783;
}
main .member_search .member_form_input::-moz-placeholder {
  font-size: inherit;
  letter-spacing: inherit;
  color: #4a5783;
}
main .member_search .member_form_input::placeholder {
  font-size: inherit;
  letter-spacing: inherit;
  color: #4a5783;
}
main .member_search .member_form_input:focus {
  outline: none;
  border-color: #183cb6;
}
main .member_search .member_form_input:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 2px;
}
main .member_search {
  /* --- 検索ボタン --- */
}
main .member_search .member_form_btn_area {
  margin-top: 1.56vw;
}
main .member_search .member_form_btn {
  gap: 1.98vw;
  padding: 0.68vw 1.98vw 0.68vw 0.88vw;
  border: 1px solid #ffffff;
  background-color: #183cb6;
  cursor: pointer;
  transition: background-color 0.4s ease, border-color 0.4s ease;
}
main .member_search .member_form_btn .member_form_btn_icon {
  flex-shrink: 0;
  font-size: 2.08vw;
  line-height: 1;
  color: #ffffff;
  transition: color 0.4s ease;
}
main .member_search .member_form_btn .member_form_btn_text {
  line-height: 2.08vw;
  letter-spacing: 0.9px;
  white-space: nowrap;
  transition: color 0.4s ease;
}
@media (hover: hover) {
  main .member_search .member_form_btn:hover {
    border-color: #183cb6;
    background-color: #ffffff;
  }
  main .member_search .member_form_btn:hover .member_form_btn_icon,
  main .member_search .member_form_btn:hover .member_form_btn_text {
    color: #183cb6;
  }
}
main .member_search .member_form_btn:focus {
  outline: none;
}
main .member_search .member_form_btn:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  社労士会員一覧

  Figma: 地は $gra_blue / 上 89px・下 118px

  ----------------------------------------------------------------*/
}
main .member_list {
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding: 4.64vw 0 6.15vw;
  background-image: linear-gradient(90deg, #3667c2 0%, #183cb6 100%);
}
main .member_list .member_list_glow {
  position: absolute;
  z-index: 0;
  top: 0.42vw;
  left: 35.63vw;
  display: block;
  width: 9.58vw;
  max-width: 184px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(186, 202, 255, 0.2) 3%, rgba(190, 205, 255, 0) 100%);
  pointer-events: none;
}
main .member_list .member_inner {
  position: relative;
  z-index: 1;
}
main .member_list .section_title {
  gap: 1.04vw;
  position: relative;
  z-index: 0;
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
}
main .member_list .section_title .blur_img {
  position: absolute;
  z-index: 0;
  top: -4vw;
  left: -7vw;
  max-width: 184px;
  min-width: 60px;
  width: 9.58vw;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
main .member_list .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .member_list .section_title h3 {
  line-height: 1.8;
}
main .member_list .member_card_list {
  list-style: none;
  margin-top: 3.28vw !important;
}
main .member_list .member_card {
  padding: 1.56vw 3.18vw 1.61vw;
  border-radius: 20px;
  background-color: #f5f5f5;
}
main .member_list .member_card + .member_card {
  margin-top: 2.66vw;
}
main .member_list .member_card_office {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.6vw;
  padding: 0.21vw 1.3vw;
  border-radius: 20px;
  background-image: linear-gradient(90deg, #3667c2 0%, #183cb6 100%);
  line-height: 1.8;
  text-align: center;
}
main .member_list .member_card_body {
  margin-top: 2.19vw;
  gap: 3.28vw;
}
main .member_list .member_card_photo {
  flex-shrink: 0;
  width: 17.6vw;
  max-width: 338px;
}
main .member_list .member_card_photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
main .member_list .member_card_detail {
  flex: 1;
  min-width: 0;
}
main .member_list .member_card_row {
  display: flex;
  align-items: center;
  padding: 1.04vw 0;
  border-bottom: 1px solid #183cb6;
}
main .member_list .member_card_row.member_card_row_name {
  border-bottom: 0;
  margin-bottom: 0.5vw;
  margin-left: 0.52vw;
}
main .member_list .member_card_row.member_card_row_name .member_card_dt {
  width: auto;
  max-width: none;
  min-width: 0;
  margin-right: 1.04vw;
}
main .member_list .member_card_dt {
  line-height: 2.2;
  color: #003883;
  width: 9.47vw;
  max-width: 190px;
  min-width: 142px;
}
main .member_list .member_card_dd {
  margin: 0;
  line-height: 1.8;
  color: #333333;
  gap: 0.73vw;
}
main .member_list .member_card_dd a {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
main .member_list .member_card_name {
  line-height: 1.8;
  letter-spacing: 1.28px;
  color: #333333;
}
main .member_list .member_card_kana {
  margin-left: 1.04vw;
  line-height: 1.8;
  color: #333333;
}
main .member_list .member_badge {
  gap: 0.78vw;
  min-height: 3.13vw;
  padding: 0.26vw 1.04vw;
  border-radius: 50px;
}
main .member_list .member_badge_icon {
  flex-shrink: 0;
  width: 1.51vw;
  max-width: 29px;
  min-width: 20px;
  height: auto;
}
main .member_list .member_badge_text {
  line-height: 1.8;
  white-space: nowrap;
}
main .member_list .member_badge_orange {
  background-image: linear-gradient(90deg, #d38200 0%, #da5f07 100%);
}
main .member_list .member_badge_green {
  background-image: linear-gradient(90deg, #21a778 0%, #28ac45 100%);
}
main .member_list .member_badge_green .member_badge_text {
  line-height: 1.3;
}
main .member_list .member_badge_hold {
  background-image: none;
  background-color: #4a5783;
}
main .member_list {
  /* --- くわしく見るボタン --- */
}
main .member_list .member_card_btn_area {
  margin-top: 2.03vw;
}
main .member_list .member_card_btn {
  gap: 1.98vw;
  padding: 0.68vw 1.04vw;
  border: 1px solid #ffffff;
  background-color: #183cb6;
  transition: background-color 0.4s ease, border-color 0.4s ease;
}
main .member_list .member_card_btn:hover {
  opacity: 1;
}
main .member_list .member_card_btn .member_card_btn_text {
  line-height: 2.08vw;
  letter-spacing: 0.9px;
  white-space: nowrap;
  transition: color 0.4s ease;
}
main .member_list .member_card_btn .member_card_btn_arrow {
  flex-shrink: 0;
  justify-content: center;
  width: 3.38vw;
  max-width: 65px;
  min-width: 50px;
  height: 2.08vw;
  max-height: 40px;
  min-height: 30px;
  transition: background-color 0.4s ease;
}
main .member_list .member_card_btn .member_card_btn_arrow .arrow {
  display: block;
  width: 1.72vw;
  max-width: 33px;
  min-width: 22px;
  height: auto;
}
main .member_list .member_card_btn .member_card_btn_arrow .arrow path {
  fill: #183cb6;
  transition: fill 0.4s ease;
}
@media (hover: hover) {
  main .member_list .member_card_btn:hover {
    border-color: #183cb6;
    background-color: #ffffff;
  }
  main .member_list .member_card_btn:hover .member_card_btn_text {
    color: #183cb6;
  }
  main .member_list .member_card_btn:hover .member_card_btn_arrow {
    background-color: #183cb6;
  }
  main .member_list .member_card_btn:hover .member_card_btn_arrow .arrow path {
    fill: #ffffff;
  }
}
main .member_list .member_card_btn:focus {
  outline: none;
}
main .member_list .member_card_btn:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}
main .member_list .pagenavi_wrap {
  margin-top: 4.69vw;
}
main .member_list .wp-pagenavi {
  gap: 0.52vw;
}
main .member_list .wp-pagenavi > a,
main .member_list .wp-pagenavi > span {
  width: 3.2vw;
  height: 3.2vw;
  min-width: 40px;
  min-height: 40px;
  padding: 0.4vw;
}
main .member_list .wp-pagenavi .extend {
  color: #ffffff;
}
main .member_list .wp-pagenavi a:focus-visible {
  outline-color: #ffffff;
}
main {
  /*----------------------------------------------------------------

  会員個人ページ（会員名簿の詳細）

  Figma（PC 1920px）実測。px ÷ 19.2 = vw。

  ----------------------------------------------------------------*/
}
main .member_mv {
  position: relative;
  z-index: 0;
  overflow: hidden;
  background-color: #183cb6;
}
main .member_mv .member_mv_blur {
  position: absolute;
  z-index: 0;
  top: 2.29vw;
  left: 50%;
  width: 21.98vw;
  max-width: 422px;
  min-width: 240px;
  height: auto;
  transform: translateX(-50%);
  pointer-events: none;
}
main .member_mv .member_mv_inner {
  position: relative;
  z-index: 1;
  padding: 13.28vw 8.33vw 1px;
  text-align: center;
}
main .member_mv .member_mv_icon {
  display: block;
  width: 1.82vw;
  max-width: 35px;
  min-width: 24px;
  height: auto;
  margin-inline: auto;
}
main .member_mv .member_mv_title {
  margin-top: 0.53vw;
  line-height: 1.6;
}
main .member_mv .sub_mv_breadcrumb {
  margin-top: 3.39vw;
  text-align: left;
}
main .member_mv .sub_mv_breadcrumb .breadcrumb_list {
  justify-content: flex-start;
}
main {
  /*----------------------------------------------------------------

  プロフィール ＋ 新規受け入れ可否

  Figma: 地 #F5F5F5 / 上 63px・下 87px

  ----------------------------------------------------------------*/
}
main .member_profile {
  background-color: #f5f5f5;
  padding: 3.28vw 0 4.53vw;
}
main .member_profile .member_profile_card {
  width: 66.61vw;
  max-width: 1279px;
  margin-inline: auto;
  padding: 3.07vw 8.28vw 2.86vw 8.33vw;
  border-radius: 20px;
  background-color: #ffffff;
}
main .member_profile .member_profile_body {
  align-items: flex-start;
  gap: 2.55vw;
}
main .member_profile .member_profile_photo {
  flex-shrink: 0;
  width: 16.67vw;
  max-width: 320px;
}
main .member_profile .member_profile_photo img {
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 10px;
}
main .member_profile .member_profile_detail {
  flex: 1;
  min-width: 0;
  padding-left: 0.57vw;
}
main .member_profile .member_profile_kana {
  line-height: 1.8;
  color: #333333;
}
main .member_profile .member_profile_name {
  line-height: 1.8;
  letter-spacing: 2.15px;
  color: #333333;
}
main .member_profile .member_profile_catch {
  margin-top: 1.04vw;
  line-height: 1.8;
  color: #003883;
}
main .member_profile .member_profile_field {
  gap: 2.14vw;
  margin: 2.4vw 0 0 -0.57vw !important;
  padding: 0.73vw 0 0.73vw 0.57vw !important;
  border-top: 1px solid #183cb6;
  border-bottom: 1px solid #183cb6;
}
main .member_profile .member_profile_field_dt {
  flex-shrink: 0;
  line-height: 1.5;
  color: #003883;
}
main .member_profile .member_profile_field_dd {
  margin: 0;
  line-height: 1.8;
  color: #333333;
}
main .member_profile .member_profile_text {
  margin-top: 1.56vw;
  line-height: 1.9;
  color: #333333;
}
main .member_profile {
  /*----------------------------------------------------------------

  新規受け入れ可否

  ----------------------------------------------------------------*/
}
main .member_profile .member_accept {
  width: 66.61vw;
  max-width: 1279px;
  margin: 2.08vw auto 0;
}
main .member_profile .member_accept_title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.55vw;
  line-height: 2.2;
  color: #003883;
}
main .member_profile .member_accept_title::before, main .member_profile .member_accept_title::after {
  content: "";
  flex: 1;
  height: 1px;
  background-color: #183cb6;
}
main .member_profile .member_accept_list {
  list-style: none;
  gap: 3.18vw;
  margin-top: 0.94vw !important;
  padding-bottom: 2.29vw !important;
  border-bottom: 1px solid #183cb6;
}
main .member_profile .member_accept_badge {
  gap: 0.84vw;
  min-height: 2.92vw;
  padding: 0.26vw 1.56vw;
  border-radius: 50px;
}
main .member_profile .member_accept_icon {
  flex-shrink: 0;
  width: 1.84vw;
  max-width: 36px;
  min-width: 24px;
  height: auto;
}
main .member_profile .member_accept_text {
  line-height: 1.8;
  letter-spacing: 1.34px;
  white-space: nowrap;
}
main .member_profile .member_accept_text span {
  line-height: 1;
  letter-spacing: 1.34px;
}
main .member_profile .member_accept_badge_orange {
  background-image: linear-gradient(90deg, #d38200 0%, #da5f07 100%);
}
main .member_profile .member_accept_badge_green {
  background-image: linear-gradient(90deg, #21a778 0%, #28ac45 100%);
}
main .member_profile .member_accept_badge_hold {
  background-image: none;
  background-color: #4a5783;
}
main {
  /*----------------------------------------------------------------

  事務所情報

  Figma: 地 #FFFFFF / 上 65px・下 121px / 表の幅 1101px

  ----------------------------------------------------------------*/
}
main .member_info {
  background-color: #ffffff;
  padding: 3.39vw 0 6.3vw;
}
main .member_info .member_info_list {
  width: 57.34vw;
  max-width: 1101px;
  margin-inline: auto !important;
}
main .member_info .member_info_row {
  display: grid;
  grid-template-columns: 12.34vw 1fr;
  align-items: start;
  gap: 0 0;
  padding: 1.15vw 0.69vw;
  background-image: repeating-linear-gradient(to right, #d1d5e0 0, #d1d5e0 3px, transparent 3px, transparent 4px);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 100% 1px;
}
main .member_info .member_info_row.member_info_row_map {
  background-image: none;
}
main .member_info .member_info_dt {
  line-height: 1.5;
  color: #4a5783;
}
main .member_info .member_info_dd {
  margin: 0;
  line-height: 1.4;
  color: #333333;
}
main .member_info .member_info_dd a:not(.member_map_btn):not(.member_sns_link) {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
@media (hover: hover) {
  main .member_info .member_info_dd a:not(.member_map_btn):not(.member_sns_link):hover {
    color: #183cb6;
    opacity: 1;
  }
}
main .member_info {
  /* --- おすすめ対象 --- */
}
main .member_info .member_tag_list {
  list-style: none;
  gap: 1.15vw;
}
main .member_info .member_tag {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.82vw;
  padding: 0.1vw 1.15vw;
  border-radius: 50px;
  line-height: 1.8;
  white-space: nowrap;
}
main .member_info .member_tag_orange {
  background-color: #c27d1e;
}
main .member_info .member_tag_blue {
  background-color: #183cb6;
}
main .member_info .member_tag_navy {
  background-color: #4a5783;
}
main .member_info {
  /* --- SNS --- */
}
main .member_info .member_sns_list {
  list-style: none;
  gap: 1.72vw;
}
main .member_info .member_sns_link {
  width: 2.33vw;
  max-width: 45px;
  min-width: 30px;
  transition: opacity 0.4s ease;
}
main .member_info .member_sns_link img {
  width: 100%;
  height: auto;
}
@media (hover: hover) {
  main .member_info .member_sns_link:hover {
    opacity: 0.6;
  }
}
main .member_info {
  /* --- Google マップ --- */
}
main .member_info .member_info_map {
  aspect-ratio: 771/253;
  overflow: hidden;
  background-color: #f5f5f5;
}
main .member_info .member_info_map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}
main .member_info .member_map_btn_area {
  margin-top: 0.99vw;
}
main .member_info .member_map_btn {
  gap: 0.78vw;
  padding: 0vw 0 0 0.83vw;
  border: 1px solid #183cb6;
  background-color: #ffffff;
  text-decoration: none;
  transition: background-color 0.4s ease;
}
main .member_info .member_map_btn:hover {
  opacity: 1;
}
main .member_info .member_map_btn .member_map_btn_text {
  line-height: 2.6;
  letter-spacing: 0.86px;
  white-space: nowrap;
  transition: color 0.4s ease;
}
main .member_info .member_map_btn .member_map_btn_arrow {
  flex-shrink: 0;
  justify-content: center;
  width: 3.23vw;
  max-width: 62px;
  min-width: 48px;
  height: 100%;
  transition: background-color 0.4s ease;
}
main .member_info .member_map_btn .member_map_btn_arrow .arrow {
  display: block;
  width: 1.72vw;
  max-width: 33px;
  min-width: 22px;
  height: auto;
}
main .member_info .member_map_btn .member_map_btn_arrow .arrow path {
  fill: #ffffff;
  transition: fill 0.4s ease;
}
@media (hover: hover) {
  main .member_info .member_map_btn:hover {
    background-color: #183cb6;
  }
  main .member_info .member_map_btn:hover .member_map_btn_text {
    color: #ffffff;
  }
  main .member_info .member_map_btn:hover .member_map_btn_arrow {
    background-color: #ffffff;
  }
  main .member_info .member_map_btn:hover .member_map_btn_arrow .arrow path {
    fill: #183cb6;
  }
}
main .member_info .member_map_btn:focus {
  outline: none;
}
main .member_info .member_map_btn:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  愛知中央SR経営労務センターの特徴

  Figma（PC 1920px）実測。px ÷ 19.2 = vw。
  コンテナは 320〜1600px（1280px）を基準にしている。

  ----------------------------------------------------------------*/
}
main .tk_inner {
  width: 66.67vw;
  max-width: 1280px;
  margin-inline: auto;
}
main .tk_lead {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0.78vw auto 0;
  line-height: 1.5;
  color: #333333;
}
main {
  /*----------------------------------------------------------------

  選ばれる理由 ＋ 加入メリット

  Figma: 地 #183CB6 / 上 98px・下 119px

  ----------------------------------------------------------------*/
}
main .tk_reason {
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding: 5.1vw 0 6.2vw;
  background-color: #183cb6;
}
main .tk_reason .tk_reason_blur {
  position: absolute;
  z-index: 0;
  top: -0.47vw;
  left: 42.81vw;
  width: 14.38vw;
  max-width: 276px;
  min-width: 160px;
  height: auto;
  pointer-events: none;
}
main .tk_reason .tk_inner {
  position: relative;
  z-index: 1;
}
main .tk_reason .tk_reason_title {
  text-align: center;
}
main .tk_reason .tk_reason_title .tk_reason_title_sub {
  margin-bottom: 5px;
  line-height: 1.6;
}
main .tk_reason .tk_reason_title .tk_reason_title_main {
  line-height: 1.2;
}
main .tk_reason .tk_reason_bar {
  display: block;
  width: 33.44vw;
  max-width: 642px;
  height: 0.57vw;
  max-height: 11px;
  min-height: 6px;
  margin: 0.52vw auto 0;
  background-color: rgba(255, 255, 255, 0.2);
}
main .tk_reason .tk_reason_lead {
  width: 32.97vw;
  max-width: 633px;
  margin: 1.56vw auto 0;
  line-height: 1.6;
}
main .tk_reason {
  /* --- 加入メリット --- */
}
main .tk_reason .tk_merit_head {
  gap: 0.31vw;
  margin-top: 4.11vw;
}
main .tk_reason .tk_merit_head .tk_merit_head_icon {
  flex-shrink: 0;
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
  height: auto;
}
main .tk_reason .tk_merit_head h4 {
  line-height: 1.6;
}
main .tk_reason .tk_merit_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 1.15vw;
       column-gap: 1.15vw;
  row-gap: 1.2vw;
  margin-top: 1.51vw !important;
  list-style: none;
}
main .tk_reason .tk_merit_card {
  min-height: 6.88vw;
  transition: opacity 0.4s ease;
}
@media (hover: hover) {
  main .tk_reason .tk_merit_card:hover {
    opacity: 0.85;
  }
  main .tk_reason .tk_merit_card:hover .tk_merit_arrow .material-symbols-outlined {
    transform: translateY(4px);
  }
}
main .tk_reason .tk_merit_card:focus {
  outline: none;
}
main .tk_reason .tk_merit_card:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}
main .tk_reason .tk_merit_body {
  flex: 1;
  min-width: 0;
  gap: 1.04vw;
  padding: 0.78vw 1.04vw 0.78vw 1.41vw;
  border-radius: 10px 0 0 10px;
  background-color: #f5f5f5;
}
main .tk_reason .tk_merit_icon_area {
  flex-shrink: 0;
  gap: 0.16vw;
}
main .tk_reason .tk_merit_icon {
  width: 2.29vw;
  max-width: 44px;
  min-width: 30px;
  height: auto;
}
main .tk_reason .tk_merit_no {
  font-size: clamp(12px, 0.81vw, 15.5px);
  line-height: 1.5;
  letter-spacing: 1.94px;
  text-transform: uppercase;
  white-space: nowrap;
}
main .tk_reason .tk_merit_text {
  line-height: 1.4;
  color: #333333;
}
main .tk_reason .tk_merit_text span {
  line-height: 1.4;
}
main .tk_reason .tk_merit_arrow {
  flex-shrink: 0;
  width: 2.08vw;
  max-width: 40px;
  min-width: 30px;
  border-radius: 0 10px 10px 0;
  background-color: #4a5783;
}
main .tk_reason .tk_merit_arrow .material-symbols-outlined {
  font-size: clamp(20px, 1.61vw, 31px);
  line-height: 1;
  color: #ffffff;
  transition: transform 0.4s ease;
}
main {
  /*----------------------------------------------------------------

  MERIT 01 活動助成費の支給

  Figma: 地 #F8F8F8 / 上 82px・下 112px

  ----------------------------------------------------------------*/
}
main .tk_grant {
  background-color: #f8f8f8;
  padding: 4.27vw 0 5.83vw;
}
main .tk_grant .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .tk_grant .section_title h3 {
  line-height: 1.6;
}
main .tk_grant .tk_grant_box {
  width: 33.33vw;
  max-width: 640px;
  margin: 1.56vw auto 0;
  padding: 0.73vw 1.04vw 1.04vw 5.42vw;
  border-radius: 20px;
  background-color: #ffffff;
}
main .tk_grant .tk_grant_list {
  list-style: none;
}
main .tk_grant .tk_grant_item {
  gap: 0.42vw;
}
main .tk_grant .tk_grant_item .tk_grant_dot {
  flex-shrink: 0;
  display: block;
  width: 0.57vw;
  max-width: 11px;
  min-width: 8px;
  height: 0.57vw;
  max-height: 11px;
  min-height: 8px;
  border-radius: 50%;
  background-color: #183cb6;
}
main .tk_grant .tk_grant_item span {
  line-height: 2;
}
main .tk_grant .tk_lead_lower {
  margin-top: 2.19vw;
}
main .tk_grant .tk_frame {
  width: 58.44vw;
  max-width: 1122px;
  margin: 3.65vw auto 0;
  padding: 2.08vw 9.22vw 2.34vw;
  border: 3px solid #183cb6;
  border-radius: 20px;
  background-color: #ffffff;
}
main .tk_grant .tk_frame + .tk_frame {
  margin-top: 2.03vw;
}
main .tk_grant .tk_frame_title {
  line-height: 1.6;
  text-align: center;
}
main .tk_grant .tk_frame_line {
  display: block;
  width: 100%;
  height: auto;
  margin-top: 1.04vw;
}
main .tk_grant .tk_frame_text {
  margin-top: 1.04vw;
  line-height: 1.8;
  color: #333333;
}
main .tk_grant .tk_frame_text span {
  line-height: 1.8;
}
main {
  /*----------------------------------------------------------------

  MERIT 02 顧問弁護士への無料法律相談

  Figma: 地 #FFFFFF / 上 96px・下 120px

  ----------------------------------------------------------------*/
}
main .tk_law {
  background-color: #ffffff;
  padding: 5vw 0 6.25vw;
}
main .tk_law .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .tk_law .section_title h3 {
  line-height: 1.6;
}
main .tk_law .tk_law_box {
  width: 59.38vw;
  max-width: 1140px;
  margin: 2.66vw auto 0;
  padding: 2.34vw 4.95vw 1.82vw 4.43vw;
  border: 1px solid #183cb6;
  border-radius: 20px;
  background-color: #f8f8f8;
}
main .tk_law .tk_law_row {
  display: grid;
  grid-template-columns: clamp(140px, 10.99vw, 211px) 1fr;
  align-items: start;
  padding: 1.15vw 0 1.15vw 1.2vw;
}
main .tk_law .tk_law_row + .tk_law_row {
  border-top: 1px solid rgba(74, 87, 131, 0.4);
}
main .tk_law .tk_law_row:first-child {
  padding-top: 0;
}
main .tk_law .tk_law_dt {
  line-height: 1.5;
}
main .tk_law .tk_law_dd {
  margin: 0;
  line-height: 1.5;
  color: #333333;
}
main .tk_law .tk_law_note_list {
  list-style: none;
}
main .tk_law .tk_law_note {
  gap: 0.42vw;
}
main .tk_law .tk_law_note + .tk_law_note {
  margin-top: 0.26vw;
}
main .tk_law .tk_law_note .tk_law_dot {
  flex-shrink: 0;
  display: block;
  width: 0.52vw;
  max-width: 10px;
  min-width: 8px;
  height: 0.52vw;
  max-height: 10px;
  min-height: 8px;
  margin-top: 8px;
  border-radius: 50%;
  background-color: #183cb6;
}
main .tk_law .tk_law_note span {
  line-height: 1.5;
}
main {
  /*----------------------------------------------------------------

  丸い小さなボタン（相談日・申込書）

  Figma: 高さ 35 / 角丸いっぱい / 地 #183CB6 / 上下 10px・左右 20px

  ----------------------------------------------------------------*/
}
main .tk_pill_btn {
  width: -moz-fit-content;
  width: fit-content;
  gap: 0.52vw;
  margin-top: 0.57vw;
  padding: 0.34vw 1.04vw;
  border: 1px solid #183cb6;
  border-radius: 999px;
  background-color: #183cb6;
  transition: background-color 0.4s ease;
}
main .tk_pill_btn:hover {
  opacity: 1;
}
main .tk_pill_btn .tk_pill_btn_text {
  line-height: 1.4;
  white-space: nowrap;
  transition: color 0.4s ease;
}
main .tk_pill_btn .tk_pill_btn_arrow {
  flex-shrink: 0;
  display: block;
  width: 1.48vw;
  max-width: 28.33px;
  min-width: 18px;
  height: auto;
}
main .tk_pill_btn .tk_pill_btn_arrow path {
  fill: #ffffff;
  transition: fill 0.4s ease;
}
@media (hover: hover) {
  main .tk_pill_btn:hover {
    background-color: #ffffff;
  }
  main .tk_pill_btn:hover .tk_pill_btn_text {
    color: #183cb6;
  }
  main .tk_pill_btn:hover .tk_pill_btn_arrow path {
    fill: #183cb6;
  }
}
main .tk_pill_btn:focus {
  outline: none;
}
main .tk_pill_btn:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  MERIT 03 社労士会員名簿の個人ページ

  Figma: 地はグラデーション / 上 100px・下 125px。
  内容は 185〜1714px（1529px）と、他のセクションより広い

  ----------------------------------------------------------------*/
}
main .tk_profile {
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding: 5.21vw 0 6.51vw;
  background-image: linear-gradient(90deg, #3667c2 0%, #183cb6 100%);
}
main .tk_profile .tk_profile_glow {
  position: absolute;
  z-index: 0;
  top: 0.36vw;
  left: 29.27vw;
  display: block;
  width: 9.58vw;
  max-width: 184px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(186, 202, 255, 0.2) 3%, rgba(190, 205, 255, 0) 100%);
  pointer-events: none;
}
main .tk_profile .tk_profile_inner {
  position: relative;
  z-index: 1;
  width: 79.64vw;
  max-width: 1529px;
  margin-inline: auto;
}
main .tk_profile .tk_profile_head {
  gap: 0.78vw;
  position: relative;
  z-index: 0;
  margin: 0 auto;
  width: -moz-fit-content;
  width: fit-content;
}
main .tk_profile .tk_profile_head .business_card_img {
  position: absolute;
  z-index: -1;
  top: -4vw;
  left: -5vw;
  max-width: 184px;
  min-width: 60px;
  width: 9.58vw;
  height: auto;
}
main .tk_profile .tk_profile_head .tk_profile_head_icon {
  flex-shrink: 0;
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
  height: auto;
  margin-top: 0.52vw;
}
main .tk_profile .tk_profile_head h3 {
  line-height: 1.6;
  text-align: center;
}
main .tk_profile .tk_profile_lead {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 1.56vw auto 0;
  line-height: 1.8;
}
main .tk_profile .tk_bar_title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.61vw;
  margin: 4.53vw calc(50% - 50vw) 0;
  line-height: 1.6;
  text-align: center;
}
main .tk_profile .tk_bar_title::before, main .tk_profile .tk_bar_title::after {
  content: "";
  flex: 1 1 0;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.6);
}
main .tk_profile .tk_profile_body {
  align-items: flex-start;
  gap: 3.13vw;
  margin-top: 2.66vw;
}
main .tk_profile .tk_profile_img {
  flex-shrink: 0;
  width: 34.53vw;
  max-width: 663px;
}
main .tk_profile .tk_profile_img img {
  width: 100%;
  height: auto;
  border-radius: 10px;
}
main .tk_profile .tk_pmerit_list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.56vw;
  list-style: none;
  flex: 1;
  min-width: 0;
}
main .tk_profile .tk_pmerit_card {
  display: flex;
  flex-direction: column;
  border-radius: 19px 19px 0 0;
  overflow: hidden;
}
main .tk_profile .tk_pmerit_icon_area {
  min-height: 7.24vw;
  padding: 0.78vw;
  background-color: #f5f5f5;
}
main .tk_profile .tk_pmerit_icon_area img {
  width: auto;
  max-width: 100%;
  max-height: 5.9vw;
  height: auto;
}
main .tk_profile .tk_pmerit_body {
  flex: 1;
  padding: 0.83vw 2.03vw 1.3vw;
  background-color: #ffffff;
}
main .tk_profile .tk_pmerit_title {
  line-height: 1.3;
  letter-spacing: 2.82px;
}
main .tk_profile .tk_pmerit_title span {
  line-height: 1.3;
}
main .tk_profile .tk_pmerit_text {
  margin-top: 1.09vw;
  line-height: 1.4;
  letter-spacing: 1.88px;
  color: #333333;
}
main .tk_profile .tk_bar_btn_area {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.92vw;
  margin: 3.65vw calc(50% - 50vw) 0;
}
main .tk_profile .tk_bar_btn_area::before, main .tk_profile .tk_bar_btn_area::after {
  content: "";
  flex: 1 1 0;
  height: 1px;
  background-color: rgba(255, 255, 255, 0.6);
}
main .tk_btn_white {
  gap: 1.98vw;
  padding: 0.68vw 0.88vw;
  border: 1px solid #ffffff;
  background-color: transparent;
  transition: background-color 0.4s ease;
}
main .tk_btn_white:hover {
  opacity: 1;
}
main .tk_btn_white .tk_btn_white_text {
  line-height: 2.08vw;
  letter-spacing: 0.9px;
  white-space: nowrap;
  transition: color 0.4s ease;
}
main .tk_btn_white .tk_btn_white_arrow {
  flex-shrink: 0;
  justify-content: center;
  width: 3.38vw;
  max-width: 65px;
  min-width: 50px;
  height: 2.08vw;
  max-height: 40px;
  min-height: 30px;
  transition: background-color 0.4s ease;
}
main .tk_btn_white .tk_btn_white_arrow .arrow {
  display: block;
  width: 1.72vw;
  max-width: 33px;
  min-width: 22px;
  height: auto;
}
main .tk_btn_white .tk_btn_white_arrow .arrow path {
  fill: #183cb6;
  transition: fill 0.4s ease;
}
@media (hover: hover) {
  main .tk_btn_white:hover {
    background-color: #ffffff;
  }
  main .tk_btn_white:hover .tk_btn_white_text {
    color: #183cb6;
  }
  main .tk_btn_white:hover .tk_btn_white_arrow {
    background-color: #183cb6;
  }
  main .tk_btn_white:hover .tk_btn_white_arrow .arrow path {
    fill: #ffffff;
  }
}
main .tk_btn_white:focus {
  outline: none;
}
main .tk_btn_white:focus-visible {
  outline: 2px solid #ffffff;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  MERIT 04 懇親会・イベント ／ MERIT 05 研修制度

  Figma: 地 #F5F5F5 / 上 110px・下 126px

  ----------------------------------------------------------------*/
}
main .tk_event {
  background-color: #f5f5f5;
  padding: 5.73vw 0 6.56vw;
}
main .tk_event .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .tk_event .section_title h3 {
  line-height: 1.6;
}
main .tk_event .sub_heading {
  margin-top: 2.6vw;
}
main .tk_event .tk_event_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2.5vw;
  margin-top: 0.52vw !important;
  list-style: none;
}
main .tk_event .tk_event_card {
  padding: 1.15vw 1.72vw 2.24vw;
  border-radius: 20px;
  background-color: #ffffff;
}
main .tk_event .tk_event_title {
  line-height: 1.5;
  text-align: center;
  color: #333333;
}
main .tk_event .tk_event_title span {
  line-height: 1.5;
}
main .tk_event .tk_event_img {
  max-width: 14.39vw;
  margin: 0.78vw auto 0;
}
main .tk_event .tk_event_img img {
  width: 100%;
  height: auto;
  aspect-ratio: 276/173;
  -o-object-fit: cover;
     object-fit: cover;
}
main .tk_event .tk_event_meta {
  margin-top: 0.78vw;
  padding-bottom: 1.04vw;
  line-height: 1.4;
  margin-left: auto;
  margin-right: auto;
  width: -moz-fit-content;
  width: fit-content;
}
main .tk_event .tk_event_text {
  border-top: 1px solid rgba(74, 87, 131, 0.4);
  padding-top: 1.04vw;
  line-height: 1.4;
  color: #333333;
}
main .tk_event {
  /* --- 研修制度 --- */
}
main .tk_event .tk_training {
  margin-top: 4.69vw;
}
main .tk_event .tk_training .section_title {
  gap: 0.52vw;
}
main .tk_event .tk_theme_box {
  margin-top: 0.52vw;
  padding: 1.56vw 8.39vw 1.88vw 11.25vw;
  border-radius: 20px;
  background-color: #ffffff;
}
main .tk_event .tk_theme_row {
  display: grid;
  grid-template-columns: clamp(230px, 18.07vw, 347px) 1fr;
  align-items: center;
  gap: 0;
  padding: 0.63vw 0;
  background-image: repeating-linear-gradient(to right, rgba(74, 87, 131, 0.5) 0, rgba(74, 87, 131, 0.5) 3px, transparent 3px, transparent 6px);
  background-repeat: repeat-x;
  background-position: left bottom;
  background-size: 100% 1px;
}
main .tk_event .tk_theme_row:first-child {
  background-image: repeating-linear-gradient(to right, rgba(74, 87, 131, 0.5) 0, rgba(74, 87, 131, 0.5) 3px, transparent 3px, transparent 6px), repeating-linear-gradient(to right, rgba(74, 87, 131, 0.5) 0, rgba(74, 87, 131, 0.5) 3px, transparent 3px, transparent 6px);
  background-size: 100% 1px, 100% 1px;
  background-repeat: repeat-x, repeat-x;
}
main .tk_event .tk_theme_dt {
  line-height: 1.3;
}
main .tk_event .tk_theme_dd {
  margin: 0;
  line-height: 1.5;
  color: #333333;
}
main .tk_event .tk_theme_more {
  line-height: 1.4;
  text-align: right;
}
main .tk_event .tk_theme_img_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.94vw;
  max-width: 43.59vw;
  margin-top: 1.04vw !important;
  list-style: none;
}
main .tk_event .tk_theme_img_list img {
  width: 100%;
  height: auto;
  aspect-ratio: 271/150;
  -o-object-fit: cover;
     object-fit: cover;
}
main {
  /*----------------------------------------------------------------

  MERIT 06 労働保険未手続事業一掃推進員への推薦

  Figma: 地 #FFFFFF / 上 100px・下 111px

  ----------------------------------------------------------------*/
}
main .tk_promo {
  background-color: #ffffff;
  padding: 5.21vw 0 5.78vw;
}
main .tk_promo .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .tk_promo .section_title h3 {
  line-height: 1.6;
}
main {
  /*----------------------------------------------------------------

  入会に関するお問い合わせ

  Figma: 写真の上に白 70% ＋ ぼかしのパネルを重ねる

  ----------------------------------------------------------------*/
}
main .tk_contact {
  padding: 5.73vw 0 4.22vw;
  background-image: url(../img/top/contact_bg_pc.webp);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
main .tk_contact .tk_contact_panel {
  width: 68.59vw;
  max-width: 1317px;
  margin-inline: auto;
  padding: 2.71vw 6.41vw 4.27vw;
  background-color: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(5px);
}
main .tk_contact .tk_contact_head {
  gap: 0.68vw;
  line-height: 1.5;
}
main .tk_contact .tk_contact_head .tk_contact_head_icon {
  flex-shrink: 0;
  width: 1.68vw;
  max-width: 32.18px;
  min-width: 22px;
  height: auto;
}
main .tk_contact .tk_contact_body {
  margin-top: 2.08vw;
  padding: 1.09vw 0;
  border-top: 1px solid #183cb6;
  border-bottom: 1px solid #183cb6;
}
main .tk_contact .tk_contact_label {
  line-height: 1.5;
  padding-right: 2.34vw;
}
main .tk_contact .tk_contact_right {
  padding-left: 2.71vw;
  border-left: 1px solid #183cb6;
}
main .tk_contact .tk_contact_tel {
  gap: 1.09vw;
}
main .tk_contact .tk_contact_tel:hover {
  opacity: 1;
}
main .tk_contact .tk_contact_tel .tk_contact_tel_icon {
  flex-shrink: 0;
  width: 2.76vw;
  max-width: 53px;
  min-width: 32px;
  height: auto;
}
main .tk_contact .tk_contact_tel .tk_contact_tel_num {
  line-height: 1.5;
  letter-spacing: 2.59px;
  white-space: nowrap;
}
main .tk_contact .tk_contact_date_wrap {
  width: -moz-fit-content;
  width: fit-content;
  margin: 1.67vw auto 0;
}
main .tk_contact .tk_contact_date {
  margin-bottom: 0;
}
main .tk_contact .tk_contact_date dt,
main .tk_contact .tk_contact_date dd {
  margin: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 1.98vw;
  border: 1px solid #4a5783;
  line-height: 1.5;
}
main .tk_contact .tk_contact_date .tk_contact_date_dt {
  padding: 0 0.89vw;
  border-radius: 10px 0 0 10px;
  background-color: #4a5783;
}
main .tk_contact .tk_contact_date .tk_contact_date_dd {
  padding: 0 1.56vw;
  border-left: 0;
  border-radius: 0 10px 10px 0;
  background-color: #ffffff;
  white-space: nowrap;
}
main .tk_contact .tk_contact_date time {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
main .tk_contact .tk_contact_btn_area {
  margin-top: 3.13vw;
}
main .tk_btn_outline {
  gap: 1.98vw;
  padding: 0.68vw 0.88vw;
  border: 1px solid #183cb6;
  background-color: #ffffff;
  transition: background-color 0.4s ease;
}
main .tk_btn_outline:hover {
  opacity: 1;
}
main .tk_btn_outline .tk_btn_outline_text {
  line-height: 2.08vw;
  letter-spacing: 0.9px;
  white-space: nowrap;
  transition: color 0.4s ease;
}
main .tk_btn_outline .tk_btn_outline_arrow {
  flex-shrink: 0;
  justify-content: flex-start;
  width: 3.38vw;
  max-width: 65px;
  min-width: 50px;
  height: 2.08vw;
  max-height: 40px;
  min-height: 30px;
  padding-left: 0.62vw;
  transition: background-color 0.4s ease;
}
main .tk_btn_outline .tk_btn_outline_arrow .arrow {
  display: block;
  width: 1.72vw;
  max-width: 33px;
  min-width: 22px;
  height: auto;
}
main .tk_btn_outline .tk_btn_outline_arrow .arrow path {
  fill: #ffffff;
  transition: fill 0.4s ease;
}
@media (hover: hover) {
  main .tk_btn_outline:hover {
    background-color: #183cb6;
  }
  main .tk_btn_outline:hover .tk_btn_outline_text {
    color: #ffffff;
  }
  main .tk_btn_outline:hover .tk_btn_outline_arrow {
    background-color: #ffffff;
  }
  main .tk_btn_outline:hover .tk_btn_outline_arrow .arrow path {
    fill: #183cb6;
  }
}
main .tk_btn_outline:focus {
  outline: none;
}
main .tk_btn_outline:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  よくあるご質問

  Figma（PC 1920px）実測。px ÷ 19.2 = vw。
  アコーディオン本体（.faq_area）は TOP と同じものを流用し、
  ここではカテゴリ（タクソノミー）ごとの色と下層ページぶんの余白だけを足す。

  ----------------------------------------------------------------*/
}
main .sub_mv.cat_blue {
  background-image: linear-gradient(90deg, #183cb6 0%, #3667c2 100%);
}
main .sub_mv.cat_purple {
  background-image: linear-gradient(90deg, #8c3dc0 0%, #a37aba 100%);
}
main .sub_mv.cat_orange {
  background-image: linear-gradient(90deg, #da5f07 0%, #d38200 100%);
}
main .sub_mv.cat_green {
  background-image: linear-gradient(90deg, #28ac45 0%, #21a778 100%);
}
main {
  /*----------------------------------------------------------------

  カテゴリ一覧

  Figma: 1920 × 430 / 地 #F5F5F5 / 上 73px・下 94px

  ----------------------------------------------------------------*/
}
main .faq_cat {
  position: relative;
  z-index: 0;
  overflow: hidden;
  padding: 3.8vw 0 4.9vw;
  background-color: #f5f5f5;
}
main .faq_cat .faq_cat_glow {
  position: absolute;
  z-index: 0;
  top: 0.83vw;
  left: 36.93vw;
  display: block;
  width: 8.49vw;
  max-width: 163px;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(186, 202, 255, 0.3) 3%, rgba(190, 205, 255, 0) 100%);
  pointer-events: none;
}
main .faq_cat .faq_cat_inner {
  position: relative;
  z-index: 1;
}
main .faq_cat .faq_cat_inner .faq_title {
  position: absolute;
  top: -1.4vw;
  left: 38.4vw;
  width: 8.48vw;
  max-width: 163px;
  min-width: 60px;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
  z-index: 0;
}
main .faq_cat .section_title {
  position: relative;
  z-index: 10;
}
main .faq_cat .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .faq_cat .section_title h3 {
  line-height: 1.7;
}
main .faq_cat .faq_cat_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 2.08vw;
       column-gap: 2.08vw;
  row-gap: 1.04vw;
  width: 63.54vw;
  max-width: 1220px;
  margin: 2.6vw auto 0 !important;
  list-style: none;
}
main .faq_cat_btn {
  gap: 1.04vw;
  min-height: 3.44vw;
  padding: 0.68vw 1.04vw;
  border: 1px solid #183cb6;
  background-color: #ffffff;
  transition: background-color 0.4s ease, border-color 0.4s ease;
}
main .faq_cat_btn:hover {
  opacity: 1;
}
main .faq_cat_btn .faq_cat_btn_text {
  min-width: 0;
  line-height: 2.08vw;
  letter-spacing: 0.9px;
  transition: color 0.4s ease;
}
main .faq_cat_btn .faq_cat_btn_text span {
  color: inherit;
  transition: color 0.4s ease;
}
main .faq_cat_btn .faq_cat_btn_arrow {
  flex-shrink: 0;
  justify-content: center;
  width: 3.38vw;
  max-width: 65px;
  min-width: 50px;
  height: 2.08vw;
  max-height: 40px;
  min-height: 30px;
  background-color: #183cb6;
  transition: background-color 0.4s ease;
}
main .faq_cat_btn .faq_cat_btn_arrow .arrow {
  display: block;
  width: 1.72vw;
  max-width: 33px;
  min-width: 22px;
  height: auto;
}
main .faq_cat_btn .faq_cat_btn_arrow .arrow path {
  fill: #ffffff;
  transition: fill 0.4s ease;
}
main .faq_cat_btn:focus {
  outline: none;
}
main .faq_cat_btn:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main .faq_cat_btn.cat_blue .faq_cat_btn_arrow {
  background-color: #183cb6;
}
main .faq_cat_btn.cat_blue[aria-current=page] {
  border-color: #ffffff;
  background-color: #183cb6;
}
main .faq_cat_btn.cat_blue[aria-current=page] .faq_cat_btn_text {
  color: #ffffff;
}
main .faq_cat_btn.cat_blue[aria-current=page] .faq_cat_btn_arrow {
  background-color: #ffffff;
}
main .faq_cat_btn.cat_blue[aria-current=page] .faq_cat_btn_arrow .arrow path {
  fill: #183cb6;
}
@media (hover: hover) {
  main .faq_cat_btn.cat_blue:hover {
    border-color: #ffffff;
    background-color: #183cb6;
  }
  main .faq_cat_btn.cat_blue:hover .faq_cat_btn_text {
    color: #ffffff;
  }
  main .faq_cat_btn.cat_blue:hover .faq_cat_btn_arrow {
    background-color: #ffffff;
  }
  main .faq_cat_btn.cat_blue:hover .faq_cat_btn_arrow .arrow path {
    fill: #183cb6;
  }
}
main .faq_cat_btn.cat_purple .faq_cat_btn_arrow {
  background-color: #8b4bb1;
}
main .faq_cat_btn.cat_purple[aria-current=page] {
  border-color: #ffffff;
  background-color: #8b4bb1;
}
main .faq_cat_btn.cat_purple[aria-current=page] .faq_cat_btn_text {
  color: #ffffff;
}
main .faq_cat_btn.cat_purple[aria-current=page] .faq_cat_btn_arrow {
  background-color: #ffffff;
}
main .faq_cat_btn.cat_purple[aria-current=page] .faq_cat_btn_arrow .arrow path {
  fill: #8b4bb1;
}
@media (hover: hover) {
  main .faq_cat_btn.cat_purple:hover {
    border-color: #ffffff;
    background-color: #8b4bb1;
  }
  main .faq_cat_btn.cat_purple:hover .faq_cat_btn_text {
    color: #ffffff;
  }
  main .faq_cat_btn.cat_purple:hover .faq_cat_btn_arrow {
    background-color: #ffffff;
  }
  main .faq_cat_btn.cat_purple:hover .faq_cat_btn_arrow .arrow path {
    fill: #8b4bb1;
  }
}
main .faq_cat_btn.cat_orange .faq_cat_btn_arrow {
  background-color: #c27d1e;
}
main .faq_cat_btn.cat_orange[aria-current=page] {
  border-color: #ffffff;
  background-color: #c27d1e;
}
main .faq_cat_btn.cat_orange[aria-current=page] .faq_cat_btn_text {
  color: #ffffff;
}
main .faq_cat_btn.cat_orange[aria-current=page] .faq_cat_btn_arrow {
  background-color: #ffffff;
}
main .faq_cat_btn.cat_orange[aria-current=page] .faq_cat_btn_arrow .arrow path {
  fill: #c27d1e;
}
@media (hover: hover) {
  main .faq_cat_btn.cat_orange:hover {
    border-color: #ffffff;
    background-color: #c27d1e;
  }
  main .faq_cat_btn.cat_orange:hover .faq_cat_btn_text {
    color: #ffffff;
  }
  main .faq_cat_btn.cat_orange:hover .faq_cat_btn_arrow {
    background-color: #ffffff;
  }
  main .faq_cat_btn.cat_orange:hover .faq_cat_btn_arrow .arrow path {
    fill: #c27d1e;
  }
}
main .faq_cat_btn.cat_green .faq_cat_btn_arrow {
  background-color: #1aa075;
}
main .faq_cat_btn.cat_green[aria-current=page] {
  border-color: #ffffff;
  background-color: #1aa075;
}
main .faq_cat_btn.cat_green[aria-current=page] .faq_cat_btn_text {
  color: #ffffff;
}
main .faq_cat_btn.cat_green[aria-current=page] .faq_cat_btn_arrow {
  background-color: #ffffff;
}
main .faq_cat_btn.cat_green[aria-current=page] .faq_cat_btn_arrow .arrow path {
  fill: #1aa075;
}
@media (hover: hover) {
  main .faq_cat_btn.cat_green:hover {
    border-color: #ffffff;
    background-color: #1aa075;
  }
  main .faq_cat_btn.cat_green:hover .faq_cat_btn_text {
    color: #ffffff;
  }
  main .faq_cat_btn.cat_green:hover .faq_cat_btn_arrow {
    background-color: #ffffff;
  }
  main .faq_cat_btn.cat_green:hover .faq_cat_btn_arrow .arrow path {
    fill: #1aa075;
  }
}
main {
  /*----------------------------------------------------------------

  質問一覧（.faq_area は TOP と共通。下層ぶんの差分だけを当てる）

  Figma: 地 白 / 上 100px・下 147px

  ----------------------------------------------------------------*/
}
main .faq_area.faq_archive {
  padding: 5.21vw 0 7.66vw;
  background-color: #ffffff;
}
main .faq_area.faq_archive .faq_list {
  gap: 1.56vw;
}
main .faq_area.faq_archive .faq_list .faq_item {
  border-radius: 20px;
}
main .faq_area.faq_archive .faq_list .faq_item.cat_blue .faq_q_btn {
  background-image: linear-gradient(90deg, #3667c2 0%, #183cb6 100%);
}
main .faq_area.faq_archive .faq_list .faq_item.cat_blue .faq_mark_a {
  background-image: linear-gradient(90deg, #3667c2 0%, #183cb6 100%);
}
main .faq_area.faq_archive .faq_list .faq_item.cat_purple .faq_q_btn {
  background-image: linear-gradient(90deg, #a37aba 0%, #8c3dc0 100%);
}
main .faq_area.faq_archive .faq_list .faq_item.cat_purple .faq_mark_a {
  background-image: linear-gradient(90deg, #a37aba 0%, #8c3dc0 100%);
}
main .faq_area.faq_archive .faq_list .faq_item.cat_orange .faq_q_btn {
  background-image: linear-gradient(90deg, #d38200 0%, #da5f07 100%);
}
main .faq_area.faq_archive .faq_list .faq_item.cat_orange .faq_mark_a {
  background-image: linear-gradient(90deg, #d38200 0%, #da5f07 100%);
}
main .faq_area.faq_archive .faq_list .faq_item.cat_green .faq_q_btn {
  background-image: linear-gradient(90deg, #21a778 0%, #28ac45 100%);
}
main .faq_area.faq_archive .faq_list .faq_item.cat_green .faq_mark_a {
  background-image: linear-gradient(90deg, #21a778 0%, #28ac45 100%);
}
main .faq_area.faq_archive {
  /* --- ページネーション --- */
}
main .faq_area.faq_archive .pagenavi_wrap {
  margin-top: 3.65vw;
}
main .faq_area.faq_archive .wp-pagenavi {
  gap: 0.52vw;
}
main .faq_area.faq_archive .wp-pagenavi > a,
main .faq_area.faq_archive .wp-pagenavi > span {
  min-width: 1.56vw;
  min-height: 1.56vw;
  padding: 0.1vw 0.26vw;
  color: #ffffff;
  background-color: #183cb6;
}
main .faq_area.faq_archive .wp-pagenavi .extend {
  min-width: 1.56vw;
  border: 1px solid #183cb6;
  color: #ffffff;
  background-color: #183cb6;
}
main .faq_area.faq_archive .wp-pagenavi .current {
  color: #183cb6;
  background-color: #ffffff;
}
@media (hover: hover) {
  main .faq_area.faq_archive .wp-pagenavi > a:hover {
    color: #183cb6;
    background-color: #ffffff;
  }
}
main {
  /*----------------------------------------------------------------

  社会保険労務士のみなさまへ

  Figma（PC 1920px）実測。px ÷ 19.2 = vw。
  研修のご案内は TOP の .info_area（タブ ＋ 一覧）を、
  よくあるご質問は TOP の .faq_area をそのまま流用している。

  ----------------------------------------------------------------*/
}
main .sr_bar {
  display: block;
  width: 42.03vw;
  max-width: 807px;
  height: 0.42vw;
  max-height: 8px;
  min-height: 5px;
  margin-inline: auto;
  background-color: rgba(24, 60, 182, 0.2);
}
main .sr_bar.sr_bar_narrow {
  width: 34.22vw;
  max-width: 657px;
  background-color: rgba(74, 87, 131, 0.2);
}
main .sr_bar.sr_bar_box {
  width: 100%;
  max-width: none;
}
main .sr_check {
  flex-shrink: 0;
  font-variation-settings: "FILL" 1;
  font-size: 1.77vw;
  line-height: 1;
  color: #8b4bb1;
}
main .sr_btn {
  gap: 1.98vw;
  padding: 0.68vw 0.88vw;
  border: 1px solid #183cb6;
  background-color: #ffffff;
  transition: background-color 0.4s ease;
}
main .sr_btn:hover {
  opacity: 1;
}
main .sr_btn .sr_btn_text {
  line-height: 2.08vw;
  letter-spacing: 0.9px;
  white-space: nowrap;
  transition: color 0.4s ease;
}
main .sr_btn .sr_btn_arrow {
  flex-shrink: 0;
  justify-content: center;
  width: 3.38vw;
  max-width: 65px;
  min-width: 50px;
  height: 2.08vw;
  max-height: 40px;
  min-height: 30px;
  transition: background-color 0.4s ease;
}
main .sr_btn .sr_btn_arrow .arrow {
  display: block;
  width: 1.72vw;
  max-width: 33px;
  min-width: 22px;
  height: auto;
}
main .sr_btn .sr_btn_arrow .arrow path {
  fill: #ffffff;
  transition: fill 0.4s ease;
}
main .sr_btn .sr_btn_arrow .arrow_down {
  width: auto;
  max-width: none;
  min-width: 0;
  height: 1.09vw;
  max-height: 21px;
  min-height: 12px;
}
@media (hover: hover) {
  main .sr_btn:hover {
    background-color: #183cb6;
  }
  main .sr_btn:hover .sr_btn_text {
    color: #ffffff;
  }
  main .sr_btn:hover .sr_btn_arrow {
    background-color: #ffffff;
  }
  main .sr_btn:hover .sr_btn_arrow .arrow path {
    fill: #183cb6;
  }
}
main .sr_btn:focus {
  outline: none;
}
main .sr_btn:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main #cs_faq,
main #sr_orient {
  scroll-margin-top: clamp(110px, 11vw, 200px);
}
main .sr_pill_btn {
  width: -moz-fit-content;
  width: fit-content;
  gap: 0.52vw;
  margin-top: 1.04vw;
  padding: 0.34vw 1.04vw;
  border: 1px solid #183cb6;
  border-radius: 999px;
  background-color: #183cb6;
  transition: background-color 0.4s ease;
}
main .sr_pill_btn:hover {
  opacity: 1;
}
main .sr_pill_btn .sr_pill_btn_text {
  line-height: 1.4;
  white-space: nowrap;
  transition: color 0.4s ease;
}
main .sr_pill_btn .sr_pill_btn_icon {
  flex-shrink: 0;
  font-size: 1.09vw;
  line-height: 1;
  color: #ffffff;
  transition: color 0.4s ease;
}
@media (hover: hover) {
  main .sr_pill_btn:hover {
    background-color: #ffffff;
  }
  main .sr_pill_btn:hover .sr_pill_btn_text,
  main .sr_pill_btn:hover .sr_pill_btn_icon {
    color: #183cb6;
  }
}
main .sr_pill_btn:focus {
  outline: none;
}
main .sr_pill_btn:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  研修のご案内

  Figma: 1920 × 565 / 地 #183CB6 / 上 110px・下 130px

  ----------------------------------------------------------------*/
}
main .sr_kensyu {
  padding: 5.73vw 0 6.77vw;
  background-color: #183cb6;
}
main .sr_kensyu .sr_kensyu_inner {
  width: 72.92vw;
  max-width: 1400px;
}
main .sr_kensyu .sr_kensyu_title {
  text-align: center;
  letter-spacing: 1.26px;
}
main .sr_kensyu .sr_kensyu_bar {
  display: block;
  width: 33.44vw;
  max-width: 642px;
  height: 0.42vw;
  max-height: 8px;
  min-height: 5px;
  margin: 0.52vw auto 0;
  background-color: rgba(255, 255, 255, 0.2);
}
main .sr_kensyu .tab_wrap {
  margin-top: 2.19vw;
}
main .sr_kensyu .tab_body {
  padding: 1.88vw 3.13vw 2.24vw;
}
main .sr_kensyu .tab_body .info_item .info_link {
  gap: 1.25vw;
  padding-top: 1.04vw;
  padding-bottom: 1.56vw;
}
main .sr_kensyu .info_link {
  min-height: 4.27vw;
}
main {
  /*----------------------------------------------------------------

  こんなお悩みを持つ社労士のみなさまへ

  Figma: 1920 × 556 / 地 #F5F5F5 / 上 100px・下 108px

  ----------------------------------------------------------------*/
}
main .sr_onayami {
  padding: 5.21vw 0 5.63vw;
  background-color: #f5f5f5;
}
main .sr_onayami .sr_onayami_inner {
  width: 52.5vw;
  max-width: 1008px;
  margin-inline: auto;
}
main .sr_onayami .sr_onayami_title {
  line-height: 1.8;
  text-align: center;
}
main .sr_onayami .sr_onayami_list {
  margin-top: 2.6vw !important;
  list-style: none;
}
main .sr_onayami .sr_onayami_item {
  gap: 0.78vw;
  padding-left: 1.56vw;
  padding-right: 1.56vw;
}
main .sr_onayami .sr_onayami_item + .sr_onayami_item {
  margin-top: 1.35vw;
}
main .sr_onayami .sr_onayami_item:not(:last-child) {
  padding-bottom: 1vw;
  border-bottom: 1px solid #4A5783;
}
main .sr_onayami .sr_onayami_item .sr_check {
  margin-top: 0.16vw;
}
main .sr_onayami .sr_onayami_text {
  flex: 1;
  min-width: 0;
  line-height: 1.5;
  color: #333333;
}
main .sr_onayami .sr_onayami_text span {
  line-height: 1.5;
}
main {
  /*----------------------------------------------------------------

  入会するメリット

  Figma: 地は白 / 上 100px・下 100px

  ----------------------------------------------------------------*/
}
main .sr_merit {
  padding: 5.21vw 0;
  background-color: #ffffff;
}
main .sr_merit .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .sr_merit .section_title h3 {
  line-height: 1.7;
}
main .sr_merit .sr_merit_card {
  width: 66.67vw;
  max-width: 1280px;
  margin: 2.55vw auto 0;
  padding: 3.18vw 4.17vw 3.18vw;
  border-radius: 20px;
  background-color: #f5f5f5;
}
main .sr_merit .sr_merit_band {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.76vw;
  padding: 0.52vw;
  border-radius: 50px;
  border: 2px solid #8b4bb1;
  color: #8b4bb1;
  line-height: 1.6;
  text-align: center;
  max-width: 960px;
  width: 50vw;
  margin-left: auto;
  margin-right: auto;
}
main .sr_merit .sr_merit_lead {
  margin-top: 1.56vw;
  line-height: 1.6;
  color: #333333;
  margin-left: auto;
  margin-right: auto;
  width: -moz-fit-content;
  width: fit-content;
}
main .sr_merit .sr_merit_check_list {
  margin-top: 2.08vw !important;
  padding: 1.56vw 4.27vw 1.93vw !important;
  border-radius: 0px;
  background-color: #ffffff;
  list-style: none;
}
main .sr_merit .sr_merit_check_item {
  gap: 0.89vw;
  padding-left: 3.65vw;
}
main .sr_merit .sr_merit_check_item p {
  flex: 1;
  min-width: 0;
  line-height: 1.5;
}
main .sr_merit .sr_merit_check_item .sr_check {
  margin-top: 0.4vw;
}
main .sr_merit .sr_merit_check_item + .sr_merit_check_item {
  margin-top: 1.09vw;
  padding-top: 1.09vw;
  border-top: 1px solid #183CB6;
}
main .sr_merit .sr_merit_band_sub {
  margin-top: 4.17vw;
}
main .sr_merit .sr_merit_text {
  margin-top: 1.56vw;
  line-height: 1.4;
  text-align: center;
  color: #333333;
}
main .sr_merit .sr_merit_box {
  width: 35.26vw;
  max-width: 677px;
  margin: 1.56vw auto 0;
  padding: 1.2vw 1.93vw;
  background-color: #ffffff;
}
main .sr_merit .sr_merit_box_list {
  list-style: none;
}
main .sr_merit .sr_merit_box_list li {
  line-height: 1.6;
  color: #333333;
}
main .sr_merit .sr_merit_box_list li span {
  line-height: 1.6;
  color: #333333;
}
main .sr_merit .sr_merit_note {
  margin-top: 1.56vw;
  line-height: 1.5;
  color: #333333;
  width: -moz-fit-content;
  width: fit-content;
}
main .sr_merit .sr_merit_btn_area {
  margin-top: 2.6vw;
}
main {
  /*----------------------------------------------------------------

  入会のご案内

  Figma: 1920 × 1441 / 地 #F5F5F5 / 上 100px・下 118px

  ----------------------------------------------------------------*/
}
main .sr_join {
  padding: 5.21vw 0 6.15vw;
  background-color: #f5f5f5;
}
main .sr_join .sr_join_inner {
  width: 67.71vw;
  max-width: 1300px;
  margin-inline: auto;
}
main .sr_join .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .sr_join .section_title h3 {
  line-height: 1.7;
}
main .sr_join .sub_heading {
  margin-top: 1.56vw;
}
main .sr_join .sub_heading.sr_join_sub2 {
  margin-top: 4.69vw;
}
main .sr_join .sr_plan_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 1.93vw;
       column-gap: 1.93vw;
  row-gap: 0;
  width: 66.56vw;
  max-width: 1278px;
  margin: 1.04vw auto 0 !important;
  list-style: none;
}
main .sr_join .sr_plan_card {
  display: grid;
  grid-row: span 4;
  grid-template-rows: subgrid;
  padding: 1.15vw 1.67vw 1.67vw;
  border-radius: 20px;
  background-color: #ffffff;
  border: 1px solid #333333;
}
main .sr_join .sr_plan_band {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.55vw;
  padding: 0.52vw;
  border-radius: 50px;
  line-height: 1.6;
  text-align: center;
}
main .sr_join .sr_plan_desc {
  margin-top: 1.15vw;
  line-height: 1.6;
  margin-left: auto;
  margin-right: auto;
  width: -moz-fit-content;
  width: fit-content;
}
main .sr_join .sr_plan_fee {
  margin-top: 1.04vw;
  padding: 0.52vw 1.67vw 0.99vw 1.98vw;
  border-radius: 20px;
  background-color: #f5f5f5;
}
main .sr_join .sr_plan_fee_title {
  line-height: 1.6;
  text-align: center;
  color: #333333;
}
main .sr_join .sr_plan_fee_list {
  margin-top: 0.63vw;
}
main .sr_join .sr_plan_fee_row {
  padding: 0.31vw 0;
}
main .sr_join .sr_plan_fee_row dt,
main .sr_join .sr_plan_fee_row dd {
  margin: 0;
  line-height: 1.6;
  color: #333333;
}
main .sr_join .sr_plan_fee_row dt span,
main .sr_join .sr_plan_fee_row dd span {
  color: #333333;
  line-height: 1.6;
}
main .sr_join .sr_plan_fee_row + .sr_plan_fee_row {
  border-top: 1px solid #333333;
}
main .sr_join .sr_plan_fee_row .sr_plan_fee_num {
  white-space: nowrap;
}
main .sr_join .sr_plan_fee_row .sr_plan_fee_num span {
  line-height: 1.6;
}
main .sr_join .sr_plan_note {
  margin-top: auto;
  padding-top: 1.56vw;
  line-height: 1.6;
  text-align: center;
}
main .sr_join .sr_plan_card.cat_a .sr_plan_band {
  background-color: #d54040;
}
main .sr_join .sr_plan_card.cat_a .sr_plan_fee_num span {
  color: #d54040;
}
main .sr_join .sr_plan_card.cat_b .sr_plan_band {
  background-color: #4876bc;
}
main .sr_join .sr_plan_card.cat_b .sr_plan_fee_num span {
  color: #4876bc;
}
main .sr_join .sr_plan_card.cat_c .sr_plan_band {
  background-color: #088387;
}
main .sr_join .sr_plan_card.cat_c .sr_plan_fee_num span {
  color: #088387;
}
main .sr_join .sr_join_note {
  margin-top: 1.04vw;
  line-height: 1.5;
  color: #333333;
  margin-left: auto;
  margin-right: auto;
  width: -moz-fit-content;
  width: fit-content;
}
main .sr_join .sr_join_lead {
  margin-top: 0.52vw;
  line-height: 1.6;
  text-align: center;
  color: #333333;
}
main .sr_join {
  /* --- 入会月ごとの入会金等一覧 --- */
}
main .sr_join .sr_fee_table_wrap {
  margin-top: 4.06vw;
  overflow-x: auto;
}
main .sr_join .sr_fee_table_wrap:focus {
  outline: none;
}
main .sr_join .sr_fee_table_wrap:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main .sr_join .sr_fee_table_inner {
  position: relative;
  min-width: 1000px;
  padding-top: 2.5vw;
}
main .sr_join .sr_fee_table {
  width: 100%;
  min-width: 1000px;
  border-collapse: collapse;
  table-layout: fixed;
}
main .sr_join .sr_fee_table th,
main .sr_join .sr_fee_table td {
  padding: 0.78vw 0.26vw;
  border: 1px solid #dbdbdb;
  line-height: 1.6;
  text-align: center;
  color: #4a5783;
}
main .sr_join .sr_fee_table thead th {
  background-color: #ffffff;
}
main .sr_join .sr_fee_table .sr_fee_corner {
  width: 7.69%;
  background-color: #f5f5f5;
}
main .sr_join .sr_fee_table .sr_fee_head {
  width: 7.69%;
  border-color: #bebebe;
  color: #ffffff;
}
main .sr_join .sr_fee_table .sr_fee_head.cat_a {
  background-color: #d54040;
}
main .sr_join .sr_fee_table .sr_fee_head.cat_b {
  background-color: #4876bc;
}
main .sr_join .sr_fee_table .sr_fee_head.cat_c {
  background-color: #088387;
}
main .sr_join .sr_fee_table tbody tr.cat_a td {
  background-color: #fff2f2;
}
main .sr_join .sr_fee_table tbody tr.cat_b td {
  background-color: #f0f6ff;
}
main .sr_join .sr_fee_table tbody tr.cat_c td {
  background-color: #f0ffff;
}
main .sr_join .sr_fee_col_frame {
  position: absolute;
  top: 2.5vw;
  bottom: 0;
  z-index: 2;
  width: 7.6925%;
  border: 3px solid;
  box-sizing: border-box;
  pointer-events: none;
}
main .sr_join .sr_fee_col_now {
  left: calc(7.69% + 6 * 7.6925%);
  border-color: #d34949;
}
main .sr_join .sr_fee_col_next {
  left: calc(7.69% + 7 * 7.6925%);
  border-color: #47bfc3;
}
main .sr_join .sr_fee_label {
  position: absolute;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.6925%;
  height: calc(2.5vw + 3px);
  line-height: 1.4;
  white-space: nowrap;
}
main .sr_join .sr_fee_label_now {
  left: calc(7.69% + 6 * 7.6925%);
  background-color: #d34949;
}
main .sr_join .sr_fee_label_next {
  left: calc(7.69% + 7 * 7.6925%);
  background-color: #47bfc3;
}
main {
  /*----------------------------------------------------------------

  入会の流れ

  Figma: 地は白 / 上 100px・下 130px

  ----------------------------------------------------------------*/
}
main .sr_flow {
  padding: 5.21vw 0 6.77vw;
  background-color: #ffffff;
}
main .sr_flow .sr_flow_inner {
  width: 66.7vw;
  max-width: 1280px;
  margin-inline: auto;
}
main .sr_flow .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .sr_flow .section_title h3,
main .sr_flow .section_title h4 {
  line-height: 1.7;
}
main .sr_flow {
  /* --- STEP --- */
}
main .sr_flow .sr_step_list {
  margin-top: 2.29vw !important;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
main .sr_flow .sr_step {
  display: grid;
  grid-template-columns: clamp(90px, 8.33vw, 160px) 1fr;
  align-items: start;
}
main .sr_flow .sr_step_num {
  position: relative;
  z-index: 1;
  line-height: 1.6;
  text-align: center;
  white-space: nowrap;
  background-color: #ffffff;
  transform: translateY(-50%);
}
main .sr_flow .sr_step_body {
  position: relative;
  padding: 1.56vw 0 2.14vw clamp(20px, 2.24vw, 43px);
  border-top: 1px solid #333333;
}
main .sr_flow .sr_step_body::before {
  content: "";
  position: absolute;
  top: 1.56vw;
  bottom: 1.56vw;
  left: calc(-1 * clamp(40px, 4.58vw, 88px));
  width: 1px;
  background-color: #4a5783;
}
main .sr_flow .sr_step_goal .sr_step_body {
  padding: 0;
  border-top: 1px solid #333333;
}
main .sr_flow .sr_step_goal .sr_step_body::before {
  content: none;
}
main .sr_flow .sr_step_title {
  line-height: 1.5;
}
main .sr_flow .sr_step_text {
  margin-top: 0.52vw;
  line-height: 1.6;
  color: #333333;
}
main .sr_flow .sr_step_text a {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}
main .sr_flow {
  /* --- 建設安全協会 --- */
}
main .sr_flow .sr_flow_note {
  margin-top: 3.7vw;
}
main .sr_flow .sr_flow_note .section_title h4 {
  line-height: 1.6;
}
main .sr_flow .sr_flow_note .sr_flow_note_title {
  width: -moz-fit-content;
  width: fit-content;
  margin-left: auto;
  margin-right: auto;
  border-bottom: 8px solid rgba(74, 87, 131, 0.2);
}
main .sr_flow .sr_flow_note .sr_bar {
  margin-top: 0.16vw;
}
main .sr_flow .sr_flow_note_text {
  width: 45.83vw;
  max-width: 880px;
  margin: 1.46vw auto 0;
  line-height: 1.6;
  color: #333333;
}
main .sr_flow .sr_flow_box {
  width: 66.67vw;
  max-width: 1280px;
  margin: 2.6vw auto 0;
  padding: 2.55vw 6.97vw;
  border-radius: 20px;
  background-color: #4a5783;
}
main .sr_flow .sr_flow_box p {
  line-height: 1.6;
}
main {
  /*----------------------------------------------------------------

  入会オリエンテーションのご案内

  Figma: 1920 × 817 / 地 #F5F5F5 / 上 100px・下 121px

  ----------------------------------------------------------------*/
}
main .sr_orient {
  padding: 5.21vw 0 6.3vw;
  background-color: #f5f5f5;
}
main .sr_orient .sr_orient_inner {
  width: 50vw;
  max-width: 960px;
  margin-inline: auto;
}
main .sr_orient .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .sr_orient .section_title h3 {
  line-height: 1.7;
}
main .sr_orient .sr_orient_lead {
  margin-top: 1.04vw;
  line-height: 1.8;
  text-align: center;
  color: #333333;
}
main .sr_orient .sr_orient_note {
  margin-top: 1.04vw;
  line-height: 1.6;
  text-align: center;
  color: #333333;
}
main .sr_orient .sr_orient_box {
  margin-top: 2.08vw;
  padding: 1.3vw 6.88vw 2.24vw;
  border-radius: 20px;
  background-color: #ffffff;
  border: 1px solid #333333;
}
main .sr_orient .sr_orient_box .sr_bar {
  background-color: rgba(74, 87, 131, 0.2);
}
main .sr_orient .sr_orient_band {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5vw;
  padding: 0 0.52vw;
  border-radius: 50px;
  background-color: #4a5783;
  line-height: 1.6;
  text-align: center;
}
main .sr_orient .sr_orient_date {
  margin-top: 1.56vw;
  line-height: 1.6;
  text-align: center;
}
main .sr_orient .sr_orient_text {
  margin-top: 1.35vw;
  line-height: 1.6;
  color: #333333;
}
main .sr_orient {
  /* --- 開催予定日のアコーディオン --- */
}
main .sr_orient .sr_schedule {
  position: relative;
  z-index: 2;
  width: 31.51vw;
  max-width: 605px;
  margin: 2.08vw auto 0;
}
main .sr_orient .sr_schedule_head {
  margin: 0;
}
main .sr_orient .sr_schedule_btn {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: none;
  gap: 1.56vw;
  min-height: 2.08vw;
  padding: 0vw 1.04vw;
  border: 1px solid #183cb6;
  border-radius: 50px;
  background-color: #f5f5f5;
  background-image: none;
  cursor: pointer;
  transition: background-color 0.4s ease;
}
main .sr_orient .sr_schedule_btn .sr_schedule_text {
  transition: color 0.4s ease;
}
main .sr_orient .sr_schedule_btn .sr_schedule_icon {
  flex-shrink: 0;
  font-size: 1.88vw;
  line-height: 1;
  color: #183cb6;
  transition: transform 0.4s ease, color 0.4s ease;
}
main .sr_orient .sr_schedule_btn[aria-expanded=true] .sr_schedule_icon {
  transform: rotate(180deg);
}
@media (hover: hover) {
  main .sr_orient .sr_schedule_btn:hover {
    background-color: #183cb6;
  }
  main .sr_orient .sr_schedule_btn:hover .sr_schedule_text,
  main .sr_orient .sr_schedule_btn:hover .sr_schedule_icon {
    color: #ffffff;
  }
}
main .sr_orient .sr_schedule_btn:focus {
  outline: none;
}
main .sr_orient .sr_schedule_btn:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main .sr_orient .sr_schedule_body {
  position: absolute;
  top: calc(100% - 1.15vw);
  left: 0;
  right: 0;
  z-index: 1;
  display: grid;
  grid-template-rows: 0fr;
  visibility: hidden;
  transition: grid-template-rows 0.4s ease, visibility 0.4s ease;
}
main .sr_orient .sr_schedule_body .faq_a_inner {
  overflow: hidden;
  min-height: 0;
  border: 1px solid #000000;
  border-radius: 0 0 20px 20px;
  background-color: #ffffff;
}
main .sr_orient .sr_schedule.is_open .sr_schedule_body {
  grid-template-rows: 1fr;
  visibility: visible;
}
main .sr_orient .sr_schedule_list {
  padding: 2.71vw 4.58vw 3.18vw !important;
  list-style: none;
}
main .sr_orient .sr_schedule_link {
  gap: 1.04vw;
  min-height: 2.76vw;
  border-bottom: 1px solid #4a5783;
  pointer-events: none;
  transition: opacity 0.4s ease;
}
main .sr_orient .sr_schedule_link span {
  line-height: 2.4;
  color: #4a5783;
  transition: color 0.4s ease;
}
main .sr_orient .sr_schedule_link .sr_schedule_link_icon {
  flex-shrink: 0;
  font-size: 1.88vw;
  line-height: 1;
  color: #183cb6;
}
main .sr_orient .sr_schedule_link:focus {
  outline: none;
}
main .sr_orient .sr_schedule_link:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  よくあるご質問（.faq_area は TOP と共通）

  Figma: 地は白 / 上 100px・下 98px

  ----------------------------------------------------------------*/
}
main .faq_area.sr_faq {
  padding: 5.21vw 0 5.1vw;
  background-color: #ffffff;
}
main .faq_area.sr_faq .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .faq_area.sr_faq .section_title h3 {
  line-height: 1.7;
}
main .faq_area.sr_faq .sr_faq_lead {
  margin-top: 1.04vw;
  line-height: 1.5;
  text-align: center;
  color: #333333;
}
main .faq_area.sr_faq .faq_area_inner {
  margin-top: 3.44vw;
}
main .faq_area.sr_faq .faq_list {
  gap: 1.56vw;
}
main .faq_area.sr_faq .faq_list .faq_item {
  border-radius: 20px;
}
main .faq_area.sr_faq .faq_list .faq_item.cat_blue .faq_q_btn {
  background-image: linear-gradient(90deg, #3667c2 0%, #183cb6 100%);
}
main .faq_area.sr_faq .sr_faq_btn_area {
  margin-top: 3.13vw;
}
main {
  /*----------------------------------------------------------------

  リンク

  Figma: 1920 × 413 / 地 #F5F5F5 / 上 100px・下 122px

  ----------------------------------------------------------------*/
}
main .sr_link {
  padding: 5.21vw 0 6.35vw;
  background-color: #f5f5f5;
}
main .sr_link .sr_link_inner {
  width: 70.99vw;
  max-width: 1363px;
  margin-inline: auto;
}
main .sr_link .section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .sr_link .section_title h3 {
  line-height: 1.7;
}
main .sr_link .sr_link_list {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  -moz-column-gap: 1.41vw;
       column-gap: 1.41vw;
  row-gap: 1.04vw;
  margin-top: 2.66vw !important;
  list-style: none;
}
main .sr_link .sr_link_item {
  gap: 0.52vw;
  min-height: 2.08vw;
  padding-bottom: 0.26vw;
  border-bottom: 1px solid #183cb6;
  transition: opacity 0.4s ease;
}
main .sr_link .sr_link_item span {
  line-height: 1.5;
  transition: color 0.4s ease;
}
main .sr_link .sr_link_item .sr_link_icon {
  flex-shrink: 0;
  font-size: max(1.13vw, 14px);
  line-height: 1;
  color: #183cb6;
}
@media (hover: hover) {
  main .sr_link .sr_link_item:hover {
    opacity: 0.6;
  }
}
main .sr_link .sr_link_item:focus {
  outline: none;
}
main .sr_link .sr_link_item:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  中小事業主のみなさまへ ／ 一人親方のみなさまへ

  2 ページはセクション構成がほぼ同じなので共通の .tb_ 系で組み、
  ページごとの差分（オレンジ ／ グリーンのアクセント）は
  .cat_orange / .cat_green / .cat_blue で切り替える。
  研修のご案内は TOP の .info_area（タブ ＋ 一覧）を、
  よくあるご質問は TOP の .faq_area（＋ .sr_faq）を流用している。

  Figma（PC 1920px）実測。px ÷ 19.2 = vw。
  コンテナは 320〜1600px（1280px）を基準にしている。

  ----------------------------------------------------------------*/
}
main .tb_inner {
  width: 66.67vw;
  max-width: 1280px;
  margin-inline: auto;
}
main .sub_mv .sub_mv_head {
  gap: 0.42vw 1.67vw;
}
main .sub_mv .sub_mv_sub {
  line-height: 1.6;
}
main .tb_bar {
  display: block;
  width: 33.33vw;
  max-width: 640px;
  height: 0.52vw;
  max-height: 10px;
  min-height: 6px;
  margin: 0.52vw auto 0;
  background-color: rgba(24, 60, 182, 0.2);
}
main .tb_bar.tb_bar_wide {
  width: 49.74vw;
  max-width: 955px;
}
main .tb_section_title .img {
  width: 1.5vw;
  max-width: 28.85px;
  min-width: 20px;
}
main .tb_section_title h3 {
  line-height: 1.7;
}
main .tb_lead {
  margin-top: 0.83vw;
  line-height: 1.4;
  text-align: center;
  color: #333333;
}
main {
  /*----------------------------------------------------------------

  入会するメリット（MERIT 01〜04）

  Figma: 地は白 / 上 100px・下 110px。
  1044px の罫線で 4 行に区切り、左にアイコン・右に本文を置く。

  ----------------------------------------------------------------*/
}
main .tb_merit {
  padding: 5.21vw 0 5.73vw;
  background-color: #ffffff;
}
main .tb_merit .tb_merit_lead {
  margin-top: 0.68vw;
  line-height: 1.3;
  margin-left: auto;
  margin-right: auto;
  width: -moz-fit-content;
  width: fit-content;
}
main .tb_merit .tb_merit_note {
  margin-top: 0.94vw;
  line-height: 1.4;
  color: #333333;
  max-width: 754px;
  margin-left: auto;
  margin-right: auto;
  width: 39.2vw;
}
main .tb_merit .tb_merit_list {
  width: 54.38vw;
  max-width: 1044px;
  margin: 2.86vw auto 0 !important;
  border-top: 1px solid #183cb6;
  list-style: none;
}
main .tb_merit .tb_merit_item {
  gap: 0;
  padding: 1.72vw 0 2.4vw;
  border-bottom: 1px solid #183cb6;
}
main .tb_merit .tb_merit_icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.32vw;
  max-width: 179px;
  min-width: 60px;
}
main .tb_merit .tb_merit_icon img {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
main .tb_merit .tb_merit_body {
  flex: 1;
  min-width: 0;
}
main .tb_merit .tb_merit_num {
  line-height: 1.5;
  text-transform: uppercase;
}
main .tb_merit .tb_merit_title {
  margin-top: 0.1vw;
  line-height: 1.6;
}
main .tb_merit .tb_merit_text {
  margin-top: 0.63vw;
  line-height: 1.5;
  color: #333333;
}
main {
  /*----------------------------------------------------------------

  納めていただく費用

  Figma: 地 #F5F5F5 / 上 91px・下 110px

  ----------------------------------------------------------------*/
}
main .tb_fee {
  padding: 4.74vw 0 5.73vw;
  background-color: #f5f5f5;
}
main .tb_fee .tb_fee_card {
  width: 58.75vw;
  max-width: 1128px;
  margin: 1.04vw auto 0;
  padding: 2.08vw 2.6vw 2.5vw;
  border: 2px solid #4a5783;
  border-radius: 20px;
  background-color: #ffffff;
}
main .tb_fee .tb_fee_unit {
  line-height: 1.6;
  text-align: center;
  color: #333333;
}
main .tb_fee .tb_fee_price {
  gap: 1.56vw;
  margin-top: 1.15vw;
}
main .tb_fee .tb_fee_item {
  position: relative;
  justify-content: center;
  gap: 0.63vw;
  width: 17.22vw;
  max-width: 331px;
  padding-bottom: 0.94vw;
}
main .tb_fee .tb_fee_item::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 1vw;
  left: 0;
  height: 0.51vw;
  max-height: 10px;
  min-height: 6px;
  background-color: rgba(24, 60, 182, 0.2);
}
main .tb_fee .tb_fee_label {
  line-height: 1.6;
  white-space: nowrap;
}
main .tb_fee .tb_fee_num {
  white-space: nowrap;
}
main .tb_fee .tb_fee_num span {
  line-height: 1.6;
  color: inherit;
}
main .tb_fee .tb_fee_month {
  margin-top: 1.04vw;
  line-height: 1.6;
  text-align: center;
  color: #333333;
}
main .tb_fee .tb_fee_month span {
  line-height: 1.6;
  color: inherit;
}
main .tb_fee .tb_fee_note {
  width: 38.75vw;
  max-width: 744px;
  margin: 1.52vw auto 0;
  line-height: 1.8;
}
main .tb_fee .tb_fee_note.is_center {
  width: auto;
  max-width: none;
  text-align: center;
}
main .tb_fee {
  /* --- 入会月ごとの入会金等一覧 --- */
}
main .tb_fee .tb_fee_table_head {
  margin-top: 4.38vw;
}
main .tb_fee .tb_fee_table_lead {
  margin-top: 0.63vw;
  line-height: 1.6;
  text-align: center;
  color: #333333;
}
main .tb_fee .tb_fee_table_lead span {
  line-height: 1.6;
  color: inherit;
}
main .tb_fee .tb_fee_table_wrap {
  margin-top: 3.18vw;
  overflow-x: auto;
}
main .tb_fee .tb_fee_table_wrap:focus {
  outline: none;
}
main .tb_fee .tb_fee_table_wrap:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main .tb_fee .tb_fee_table_inner {
  position: relative;
  min-width: 1000px;
  padding-top: 2.5vw;
}
main .tb_fee .tb_fee_table {
  width: 100%;
  min-width: 1000px;
  border-collapse: collapse;
  table-layout: fixed;
}
main .tb_fee .tb_fee_table th,
main .tb_fee .tb_fee_table td {
  padding: 0.78vw 0.26vw;
  border: 1px solid #bebebe;
  line-height: 1.6;
  text-align: center;
  color: #4a5783;
  vertical-align: middle;
}
main .tb_fee .tb_fee_table thead th,
main .tb_fee .tb_fee_table .tb_fee_corner {
  background-color: #ffffff;
}
main .tb_fee .tb_fee_table .tb_fee_corner {
  width: 7.69%;
  border-color: #dbdbdb;
}
main .tb_fee .tb_fee_table tbody td {
  background-color: #fff8f2;
}
main .tb_fee .tb_fee_table .tb_fee_head {
  width: 7.69%;
  padding-inline: 0.1vw;
  color: #ffffff;
  vertical-align: middle;
  line-height: 1.2;
}
main .tb_fee .tb_fee_col_frame {
  position: absolute;
  top: 2.5vw;
  bottom: 0;
  z-index: 2;
  width: 7.6925%;
  border: 3px solid;
  box-sizing: border-box;
  pointer-events: none;
}
main .tb_fee .tb_fee_col_now {
  left: calc(7.69% + 6 * 7.6925%);
  border-color: #d34949;
}
main .tb_fee .tb_fee_col_next {
  left: calc(7.69% + 7 * 7.6925%);
  border-color: #47bfc3;
}
main .tb_fee .tb_fee_label_tag {
  position: absolute;
  top: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 7.6925%;
  height: calc(2.5vw + 3px);
  line-height: 1.4;
  white-space: nowrap;
  border-radius: 4px 4px 0 0;
}
main .tb_fee .tb_fee_label_now {
  left: calc(7.69% + 6 * 7.6925%);
  background-color: #d34949;
}
main .tb_fee .tb_fee_label_next {
  left: calc(7.69% + 7 * 7.6925%);
  background-color: #47bfc3;
}
main .tb_fee.cat_orange .tb_fee_head {
  background-color: #c27d1e;
}
main .tb_fee.cat_green .tb_fee_head {
  background-color: #1aa075;
}
main {
  /*----------------------------------------------------------------

  特別加入とは

  Figma: 地は白 / 上 120px・下 110px

  ----------------------------------------------------------------*/
}
main .tb_about {
  padding: 6.25vw 0 5.73vw;
  background-color: #ffffff;
}
main .tb_about .tb_about_sub {
  margin-top: 1.04vw;
  line-height: 1.5;
  text-align: center;
  color: #333333;
}
main .tb_about .tb_about_text {
  width: 37.55vw;
  max-width: 721px;
  margin: 1.77vw auto 0;
  line-height: 1.7;
  color: #333333;
}
main .tb_about .tb_about_btn_area {
  margin-top: 2.4vw;
}
main {
  /*----------------------------------------------------------------

  特別加入のメリット（カード 6 枚）

  Figma: 地 #F5F5F5 / 上 80px・下 100px / カード 359 × 326（3 列 × 2 段）

  ----------------------------------------------------------------*/
}
main .tb_point {
  padding: 4.17vw 0 5.21vw;
  background-color: #f5f5f5;
}
main .tb_point .tb_point_list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  -moz-column-gap: 1.46vw;
       column-gap: 1.46vw;
  row-gap: 0;
  width: 59.01vw;
  max-width: 1133px;
  margin: 1.04vw auto 0 !important;
  list-style: none;
}
main .tb_point .tb_point_card {
  display: grid;
  grid-row: span 3;
  grid-template-rows: subgrid;
  padding: 1.04vw 1.82vw 1.98vw;
  border: 1px solid #4a5783;
  border-radius: 20px;
  background-color: #ffffff;
}
main .tb_point .tb_point_card:nth-child(-n+3) {
  margin-bottom: 1.04vw;
}
main .tb_point .tb_point_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 4.69vw;
  min-height: 70px;
}
main .tb_point .tb_point_icon img {
  width: auto;
  max-width: 100%;
  max-height: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
main .tb_point .tb_point_title {
  margin-top: 0.94vw;
  line-height: 1.4;
  text-align: center;
}
main .tb_point .tb_point_title span {
  line-height: 1.4;
}
main .tb_point .tb_point_text {
  margin-top: 0.83vw;
  padding-top: 0.83vw;
  border-top: 1px solid #4a5783;
  line-height: 1.5;
  color: #333333;
}
main {
  /*----------------------------------------------------------------

  給付について

  Figma: 地は白 / 上 90px・下 100px / 表 1280 × 999（枠線 2px #4A5783）

  ----------------------------------------------------------------*/
}
main .tb_grant {
  padding: 4.69vw 0 5.21vw;
  background-color: #ffffff;
}
main .tb_grant .tb_grant_lead {
  width: 37.6vw;
  max-width: 722px;
  margin: 1.15vw auto 0;
  line-height: 1.5;
  color: #333333;
}
main .tb_grant .tb_grant_table_wrap {
  margin-top: 2.55vw;
  overflow-x: auto;
}
main .tb_grant .tb_grant_table_wrap:focus {
  outline: none;
}
main .tb_grant .tb_grant_table_wrap:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main .tb_grant .tb_grant_table {
  width: 100%;
  min-width: 660px;
  border: 2px solid #4a5783;
  border-collapse: collapse;
}
main .tb_grant .tb_grant_table th,
main .tb_grant .tb_grant_table td {
  border: 1px solid #4a5783;
  text-align: left;
  vertical-align: middle;
}
main .tb_grant .tb_grant_table thead th {
  padding: 0.94vw 0.52vw;
  line-height: 1.6;
  text-align: center;
}
main .tb_grant .tb_grant_table .tb_grant_th_case {
  width: 46.25%;
  background-color: #4a5783;
}
main .tb_grant .tb_grant_table .tb_grant_th_type {
  width: 50%;
  background-color: #183cb6;
}
main .tb_grant .tb_grant_table .tb_grant_corner {
  width: 3.75%;
  border: none;
  border-right: 2px solid #4a5783;
  background-color: #ffffff;
}
main .tb_grant .tb_grant_table tbody tr:nth-child(odd) {
  background-color: #f5f5f5;
}
main .tb_grant .tb_grant_table .tb_grant_side {
  width: 3.75%;
  padding: 0.52vw 0 5.52vw;
  line-height: 1.4;
  text-align: center;
  writing-mode: vertical-rl;
  background-color: #ffffff;
  white-space: nowrap;
  border-top: unset;
  border-right: 2px solid #4a5783;
}
main .tb_grant .tb_grant_table .tb_grant_side > span {
  display: inline-block;
  font-size: inherit;
  letter-spacing: inherit;
  line-height: 1.4;
  color: inherit;
}
main .tb_grant .tb_grant_table .tb_grant_case {
  padding: 1.04vw 1.04vw 1.04vw 5.36vw;
}
main .tb_grant .tb_grant_table .tb_grant_case.is_wide {
  padding-left: 7.86vw;
}
main .tb_grant .tb_grant_table .tb_grant_type {
  padding: 0;
}
main .tb_grant .tb_grant_sub {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.52vw;
  padding: 1.04vw 2.55vw 1.04vw 7.66vw;
}
main .tb_grant .tb_grant_sub + .tb_grant_sub {
  border-top: 1px solid #4a5783;
}
main .tb_grant .tb_grant_list {
  list-style: none;
}
main .tb_grant .tb_grant_list li {
  position: relative;
  padding-left: 0.89vw;
  line-height: 1.5;
  color: #333333;
}
main .tb_grant .tb_grant_list li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 0.36vw;
  max-width: 7px;
  min-width: 5px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #183cb6;
}
main .tb_grant .tb_grant_mark {
  flex-shrink: 0;
  line-height: 1.8;
}
main .tb_grant .tb_grant_note {
  width: 40.42vw;
  max-width: 778px;
  margin: 1.25vw auto 0;
  line-height: 1.5;
  color: #333333;
}
main {
  /*----------------------------------------------------------------

  業務災害の補償例

  Figma: 地 #F5F5F5 / 上 70px・下 108px / カード 1139px（角丸 20 / 枠線 1px）

  ----------------------------------------------------------------*/
}
main .tb_case {
  padding: 3.65vw 0 5.63vw;
  background-color: #f5f5f5;
}
main .tb_case .tb_case_lead {
  margin-top: 0.42vw;
  line-height: 1.5;
  text-align: center;
  color: #333333;
}
main .tb_case .tb_case_list {
  list-style: none;
  margin-top: 1.92vw !important;
}
main .tb_case .tb_case_card {
  width: 59.32vw;
  max-width: 1139px;
  margin-inline: auto;
  padding: 1.56vw 2.34vw 2.5vw;
  border: 1px solid #4a5783;
  border-radius: 20px;
  background-color: #ffffff;
}
main .tb_case .tb_case_card + .tb_case_card {
  margin-top: 2.6vw;
}
main .tb_case .tb_case_band {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5vw;
  padding: 0.52vw;
  border-radius: 50px;
  background-color: #4a5783;
  line-height: 1.6;
  text-align: center;
}
main .tb_case .tb_case_text {
  width: 43.13vw;
  max-width: 828px;
  margin: 1.77vw auto 0;
  line-height: 1.6;
  color: #333333;
}
main .tb_case .tb_case_box {
  margin-top: 1.88vw;
  padding: 1.09vw 2.86vw;
  border-radius: 20px;
  background-color: #f5f5f5;
}
main .tb_case .tb_case_row {
  gap: 1.35vw;
  padding: 0.94vw 0;
}
main .tb_case .tb_case_row + .tb_case_row {
  border-top: 1px solid #4a5783;
}
main .tb_case .tb_case_row_label {
  flex-shrink: 0;
  width: 10.42vw;
  max-width: 200px;
  min-width: 110px;
  line-height: 1.6;
  color: #333333;
}
main .tb_case .tb_case_row_label span {
  color: #333333;
  line-height: 1.6;
}
main .tb_case .tb_case_chips {
  flex: 1;
  min-width: 0;
  flex-wrap: wrap;
  align-items: stretch;
  gap: 0.26vw;
}
main .tb_case .tb_case_chip {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: clamp(38px, 2.49vw, 48px);
  padding: 0.16vw 1.04vw;
  border-radius: 50px;
  background-color: #183cb6;
}
main .tb_case .tb_case_chip span {
  line-height: 1.6;
}
main .tb_case .tb_case_plus {
  flex-shrink: 0;
  align-self: center;
  font-size: 1.72vw;
  line-height: 1;
  color: #333333;
}
main .tb_case .tb_case_amount {
  flex: 1;
  min-width: 0;
  flex-wrap: wrap;
  gap: 0.52vw;
  line-height: 1.6;
}
main .tb_case .tb_case_amount span:not(.tb_case_plus) {
  line-height: 1.6;
  color: inherit;
}
main .tb_case {
  /* --- 算出方法 --- */
}
main .tb_case .tb_case_calc {
  gap: 1.35vw;
  margin-top: 1.72vw;
}
main .tb_case .tb_case_calc_label {
  flex-shrink: 0;
  width: 10.42vw;
  max-width: 200px;
  min-width: 110px;
  line-height: 1.6;
  color: #333333;
}
main .tb_case .tb_case_calc_list {
  flex: 1;
  min-width: 0;
}
main .tb_case .tb_case_calc_row {
  gap: 1.25vw;
  padding: 0.31vw 0;
}
main .tb_case .tb_case_calc_row + .tb_case_calc_row {
  border-top: 1px solid #183cb6;
}
main .tb_case .tb_case_calc_row dt {
  flex-shrink: 0;
  width: 8.85vw;
  max-width: 170px;
  min-width: 100px;
  line-height: 1.6;
}
main .tb_case .tb_case_calc_row dd {
  flex: 1;
  min-width: 0;
  line-height: 1.6;
  color: #333333;
}
main .tb_case .tb_case_calc_row dd span {
  color: #333333;
  line-height: 1.6;
}
main .tb_case.cat_orange .tb_case_chip,
main .tb_case .tb_case_card.cat_orange .tb_case_chip {
  background-color: #c27d1e;
}
main .tb_case.cat_orange .tb_case_amount,
main .tb_case.cat_orange .tb_case_calc_row dt,
main .tb_case .tb_case_card.cat_orange .tb_case_amount,
main .tb_case .tb_case_card.cat_orange .tb_case_calc_row dt {
  color: #c27d1e;
}
main .tb_case.cat_orange .tb_case_amount span,
main .tb_case.cat_orange .tb_case_calc_row dt span,
main .tb_case .tb_case_card.cat_orange .tb_case_amount span,
main .tb_case .tb_case_card.cat_orange .tb_case_calc_row dt span {
  color: #c27d1e;
}
main .tb_case .tb_case_card.cat_green .tb_case_chip {
  background-color: #1aa075;
}
main .tb_case .tb_case_card.cat_green .tb_case_amount,
main .tb_case .tb_case_card.cat_green .tb_case_calc_row dt {
  color: #1aa075;
}
main .tb_case .tb_case_card.cat_green .tb_case_amount span,
main .tb_case .tb_case_card.cat_green .tb_case_calc_row dt span {
  color: #1aa075;
}
main .tb_case .tb_case_card.cat_blue .tb_case_chip {
  background-color: #183cb6;
}
main .tb_case .tb_case_card.cat_blue .tb_case_amount,
main .tb_case .tb_case_card.cat_blue .tb_case_calc_row dt {
  color: #183cb6;
}
main .tb_case .tb_case_card.cat_blue .tb_case_amount span,
main .tb_case .tb_case_card.cat_blue .tb_case_calc_row dt span {
  color: #183cb6;
}
main {
  /*----------------------------------------------------------------

  特別加入の対象となる方

  Figma: 地は白 / 上 90px・下 100px

  ----------------------------------------------------------------*/
}
main .tb_target {
  padding: 4.69vw 0 5.21vw;
  background-color: #ffffff;
}
main .tb_target .tb_target_body {
  flex-direction: row-reverse;
  gap: 2.6vw;
  margin-top: 2.6vw;
}
main .tb_target .tb_target_table {
  flex-shrink: 0;
  width: 33.33vw;
  max-width: 640px;
  border: 1px solid #4a5783;
  border-collapse: collapse;
  table-layout: fixed;
}
main .tb_target .tb_target_table th,
main .tb_target .tb_target_table td {
  border: 1px solid #4a5783;
  vertical-align: middle;
}
main .tb_target .tb_target_table thead th {
  padding: 0.42vw 0.52vw;
  line-height: 1.6;
  text-align: center;
}
main .tb_target .tb_target_table thead th span {
  line-height: 1.6;
}
main .tb_target .tb_target_table .tb_target_th_job {
  width: 49.38%;
  background-color: #4a5783;
}
main .tb_target .tb_target_table .tb_target_th_num {
  background-color: #f5f5f5;
  border-bottom: unset;
}
main .tb_target .tb_target_table tbody th {
  padding: 0.83vw 0.52vw 0.83vw 1.35vw;
  text-align: left;
}
main .tb_target .tb_target_table tbody td {
  padding: 0.83vw 0.52vw;
  line-height: 1.6;
  text-align: center;
}
main .tb_target .tb_target_job {
  gap: 0.94vw;
}
main .tb_target .tb_target_job img {
  flex-shrink: 0;
  width: 2.5vw;
  max-width: 48px;
  min-width: 32px;
  height: auto;
}
main .tb_target .tb_target_job span {
  line-height: 1.6;
}
main .tb_target .tb_target_side {
  flex: 1;
  min-width: 0;
}
main .tb_target .tb_target_side_title {
  line-height: 1.5;
}
main .tb_target .tb_target_side_text {
  margin-top: 0.99vw;
  line-height: 1.8;
  color: #333333;
}
main .tb_target {
  /* --- 一人親方（表を持たず、文章だけ） --- */
}
main .tb_target .tb_target_read {
  margin-top: 2.19vw;
  line-height: 1.5;
  text-align: center;
  color: #333333;
}
main .tb_target .tb_target_read span {
  line-height: 1.5;
}
main .tb_target .tb_target_read span:not([class*=blue]):not(.pink) {
  color: inherit;
}
main .tb_target .tb_target_note {
  margin-top: 0.63vw;
  line-height: 1.5;
  text-align: center;
}
main .tb_target .tb_target_note span {
  line-height: 1.5;
}
main .tb_target .tb_target_text {
  width: 41.67vw;
  max-width: 800px;
  margin: 1.77vw auto 0;
  line-height: 1.6;
  color: #333333;
}
main {
  /*----------------------------------------------------------------

  特別加入手続きの流れ

  Figma: 地 #F5F5F5 / 上 80px・下 110px

  ----------------------------------------------------------------*/
}
main .tb_flow {
  padding: 4.17vw 0 5.73vw;
  background-color: #f5f5f5;
}
main .tb_flow .tb_flow_box {
  width: 50vw;
  max-width: 960px;
  margin: 1.04vw auto 0;
  padding: 1.35vw 2.19vw;
  border-radius: 20px;
  background-color: #ffffff;
}
main .tb_flow .tb_flow_box_list {
  list-style: none;
}
main .tb_flow .tb_flow_box_list li {
  position: relative;
  padding-left: 1.15vw;
  line-height: 1.4;
}
main .tb_flow .tb_flow_box_list li::before {
  content: "";
  position: absolute;
  top: 0.55em;
  left: 0;
  width: 0.63vw;
  max-width: 12px;
  min-width: 8px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #183cb6;
}
main .tb_flow .tb_flow_box_list li + li {
  margin-top: 0.52vw;
}
main .tb_flow .tb_flow_box_list li span {
  line-height: 1.4;
}
main .tb_flow .tb_flow_band {
  display: flex;
  align-items: center;
  min-height: 2.6vw;
  margin-top: 2.4vw;
  padding: 0.26vw 1.2vw;
  background-color: #c9d0e8;
}
main .tb_flow .tb_flow_band h4 {
  line-height: 1.6;
}
main .tb_flow .tb_flow_band02 {
  margin-top: 5.4vw;
}
main .tb_flow .tb_flow_band_text {
  margin-top: 1.35vw;
  line-height: 1.8;
  color: #333333;
}
main .tb_flow {
  /* --- STEP --- */
}
main .tb_flow .tb_step_list {
  margin-top: 3.02vw !important;
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
main .tb_flow .tb_step {
  display: grid;
  grid-template-columns: clamp(90px, 7.19vw, 138px) 1fr;
  align-items: start;
}
main .tb_flow .tb_step_num {
  position: relative;
  z-index: 1;
  line-height: 1.6;
  text-align: center;
  white-space: nowrap;
  background-color: #f5f5f5;
  transform: translateY(-50%);
}
main .tb_flow .tb_step_body {
  position: relative;
  padding: 1.56vw 0 2.14vw clamp(20px, 2.24vw, 43px);
  border-top: 1px solid #333333;
}
main .tb_flow .tb_step_body::before {
  content: "";
  position: absolute;
  top: 1.56vw;
  bottom: 1.51vw;
  left: calc(clamp(90px, 7.19vw, 138px) * -0.5);
  width: 1px;
  background-color: #4a5783;
}
main .tb_flow .tb_step_nodivider .tb_step_body {
  border-top: 0;
  padding-top: 0.83vw;
}
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: 0.83vw;
}
main .tb_flow .tb_step:has(+ .tb_step_nodivider) .tb_step_body::before {
  bottom: 0;
}
main .tb_flow .tb_step_title {
  line-height: 1.5;
}
main .tb_flow .tb_step_text {
  margin-top: 0.31vw;
  line-height: 1.6;
  color: #333333;
}
main .tb_flow .tb_step_goal .tb_step_body {
  padding: 0;
  border-top: 1px solid #333333;
}
main .tb_flow .tb_step_goal .tb_step_body::before {
  content: none;
}
main .tb_flow {
  /* --- 一人親方紹介キャンペーン --- */
}
main .tb_flow .tb_promo {
  width: 57.08vw;
  max-width: 1096px;
  margin: 2.5vw auto 0;
  padding: 1.56vw 2.19vw 2.29vw;
  border: 3px solid #21a778;
  border-radius: 20px;
  background-color: #ffffff;
}
main .tb_flow .tb_promo_band {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5vw;
  padding: 0.52vw;
  background-image: linear-gradient(90deg, #21a778 0%, #28ac45 100%);
  line-height: 1.6;
  text-align: center;
}
main .tb_flow .tb_promo_text {
  margin-top: 2.4vw;
  line-height: 1.8;
  text-align: center;
  color: #333333;
}
main .tb_flow .tb_promo_text span {
  line-height: 1.8;
}
main .tb_flow .tb_promo_text .tb_promo_mark span {
  color: inherit;
}
main .tb_flow .tb_promo_mark {
  background: linear-gradient(to top, #c9d0e8 0.52vw, transparent 0.52vw);
}
main .tb_flow .tb_promo_note {
  margin-top: 0.31vw;
  line-height: 1.8;
  text-align: center;
}
main .tb_flow .tb_promo_note span {
  line-height: 1.8;
}
main .tb_flow .tb_promo_btn_area {
  margin-top: 1.77vw;
}
main .tb_flow .tb_promo_btn_area .sr_btn02 {
  padding: 0;
  padding-left: 0.78vw;
}
main {
  /*----------------------------------------------------------------

  特別加入者の労災保険料（年額）の算出方法

  Figma: 地は白 / 上 80px・下 110px

  ----------------------------------------------------------------*/
}
main .tb_rate {
  padding: 4.17vw 0 5.73vw;
  background-color: #ffffff;
}
main .tb_rate .tb_rate_body {
  gap: 1.98vw;
  margin-top: 2.4vw;
}
main .tb_rate .tb_rate_box {
  flex-shrink: 0;
}
main .tb_rate .tb_rate_box_head {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.39vw;
  padding: 0.42vw 0.52vw;
  border-radius: 20px 20px 0 0;
  line-height: 1.6;
  text-align: center;
}
main .tb_rate .tb_rate_box_body {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.15vw;
  min-height: 4.53vw;
  padding: 0.52vw 1.04vw;
  border-radius: 0 0 20px 20px;
  background-color: #f5f5f5;
  text-align: center;
}
main .tb_rate .tb_rate_box_body p > span {
  line-height: 1.6;
  color: inherit;
}
main .tb_rate .tb_rate_base {
  width: 29.53vw;
  max-width: 567px;
}
main .tb_rate .tb_rate_base .tb_rate_box_head {
  background-color: #183cb6;
}
main .tb_rate .tb_rate_base .tb_rate_box_body {
  border: 1px solid #183cb6;
}
main .tb_rate .tb_rate_base_day {
  line-height: 1.6;
}
main .tb_rate .tb_rate_base_day span {
  line-height: 1.6;
  color: inherit;
}
main .tb_rate .tb_rate_times {
  line-height: 1.6;
  color: #333333;
}
main .tb_rate .tb_rate_ratio {
  width: 19.27vw;
  max-width: 370px;
}
main .tb_rate .tb_rate_ratio .tb_rate_box_head {
  background-color: #4a5783;
}
main .tb_rate .tb_rate_ratio .tb_rate_box_body {
  border: 1px solid #4a5783;
}
main .tb_rate .tb_rate_ratio_text {
  line-height: 1.6;
}
main .tb_rate .tb_rate_frac dt,
main .tb_rate .tb_rate_frac dd {
  line-height: 1.6;
  text-align: center;
}
main .tb_rate .tb_rate_frac dd {
  padding-top: 0.16vw;
  border-top: 1px solid #4a5783;
}
main .tb_rate .tb_rate_ratio_note {
  margin-top: 0.42vw;
  line-height: 1.6;
  text-align: center;
}
main .tb_rate .tb_rate_mark {
  flex-shrink: 0;
  align-self: center;
  font-size: 2.71vw;
  line-height: 1;
  color: #333333;
}
main {
  /*----------------------------------------------------------------

  入会後 一年の流れ

  Figma: 地 #F5F5F5 / 上 90px・下 134px。
  カードは 883 × 90px〜（地 白 / 枠線 1px #4A5783 / 角丸 10）で間隔は 30px。
  月の丸（71px）どうしをつなぐ線はカードの背面に敷かれているため、
  実際に見えるのはカードとカードの隙間だけ。そこにだけ引く。

  ----------------------------------------------------------------*/
}
main .tb_year {
  padding: 4.69vw 0 6.98vw;
  background-color: #f5f5f5;
}
main .tb_year .tb_year_list {
  width: 46vw;
  max-width: 883px;
  margin: 2.08vw auto 0 !important;
  padding-left: 0;
  list-style: none;
}
main .tb_year .tb_year_note {
  width: 46vw;
  max-width: 883px;
  margin: 1.04vw auto 0;
  line-height: 1.8;
  color: #333333;
}
main .tb_year .tb_year_item {
  position: relative;
  gap: 2.6vw;
  min-height: 4.69vw;
  padding: 1.09vw 2.6vw;
  border: 1px solid #4a5783;
  border-radius: 10px;
  background-color: #ffffff;
}
main .tb_year .tb_year_item + .tb_year_item {
  margin-top: 1.56vw;
}
main .tb_year .tb_year_item + .tb_year_item::before {
  content: "";
  position: absolute;
  top: -1.56vw;
  left: 4.45vw;
  width: 3px;
  height: 1.56vw;
  transform: translateX(-50%);
  background-color: #c27d1e;
}
main .tb_year .tb_year_month {
  flex-shrink: 0;
  width: 3.7vw;
  max-width: 71px;
  min-width: 44px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-image: linear-gradient(90deg, #d38200 0%, #da5f07 100%);
  line-height: 1.6;
}
main .tb_year .tb_year_text {
  line-height: 1.6;
  color: #333333;
}
main .tb_year_green .tb_year_item + .tb_year_item::before {
  background-color: #1aa075;
}
main .tb_year_green .tb_year_month {
  background-image: linear-gradient(90deg, #21a778 0%, #28ac45 100%);
}
main {
  /*----------------------------------------------------------------

  お近くの社労士会員を探す

  Figma: 地 #F5F5F5 / 上 70px・下 90px

  ----------------------------------------------------------------*/
}
main .tb_search {
  padding: 3.65vw 0 4.69vw;
  background-color: rgba(201, 208, 232, 0.5);
}
main .tb_search .tb_search_lead {
  margin-top: 0.83vw;
  line-height: 1.8;
  text-align: center;
  color: #333333;
}
main .tb_search .tb_search_banner {
  display: block;
  width: 56.04vw;
  max-width: 1076px;
  margin: 1.98vw auto 0;
  transition: opacity 0.4s ease;
}
main .tb_search .tb_search_banner img {
  width: 100%;
  height: auto;
}
main .tb_search .tb_search_banner:focus {
  outline: none;
}
main .tb_search .tb_search_banner:focus-visible {
  outline: 2px solid #183cb6;
  outline-offset: 3px;
}
main {
  /*----------------------------------------------------------------

  研修のご案内（サムネイル付きの行）

  Figma: 1 行 211px。左にサムネイル 276 × 156、右にタグ・日付・タイトル・抜粋。
  枠や罫線は TOP の .info_item をそのまま使う。

  ----------------------------------------------------------------*/
}
main .info_link_card {
  gap: 1.25vw;
  padding: 1.2vw 1.88vw 1.2vw 1.04vw;
}
main .info_link_card .info_thumb {
  flex-shrink: 0;
  display: block;
  width: 14.38vw;
  max-width: 276px;
  min-width: 140px;
}
main .info_link_card .info_thumb img {
  width: 100%;
  aspect-ratio: 276/156;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
main .info_link_card .info_body {
  flex: 1;
  min-width: 0;
}
main .info_link_card .info_meta {
  gap: 0.94vw;
}
main .info_link_card .info_tag,
main .info_link_card .info_date {
  margin-right: 0;
}
main .info_link_card .info_card_title {
  margin-top: 0.63vw;
  line-height: 1.5;
  color: #231815;
}
main .info_link_card .info_excerpt {
  display: block;
  margin-top: 0.83vw;
  line-height: 1.5;
  color: #231815;
}
main .info_link_card .info_arrow {
  height: 1.88vw;
  min-height: 30px;
}
main .sr_pill_btn .sr_pill_btn_arrow {
  flex-shrink: 0;
  display: block;
  width: 1.48vw;
  max-width: 28.33px;
  min-width: 20px;
  height: auto;
}
main .sr_pill_btn .sr_pill_btn_arrow path {
  fill: #ffffff;
  transition: fill 0.4s ease;
}
main .sr_pill_btn .sr_pill_btn_arrow_down {
  width: auto;
  max-width: none;
  min-width: 0;
  height: 1.09vw;
  max-height: 21px;
  min-height: 12px;
}
@media (hover: hover) {
  main .sr_pill_btn:hover .sr_pill_btn_arrow path {
    fill: #183cb6;
  }
}