@charset "UTF-8";
html { font-size: 100%;}

body { padding: 0; margin: 0; color: #000; font-size: 1.0rem; font-weight: 500; overflow-x: hidden;}

html[lang^=ja] body { font-family: "Noto Sans JP", ヒラギノ角ゴ ProN W3, HiraKakuProN-W3, Hiragino Kaku Gothic Pro, メイリオ, MS Pゴシック, sans-serif;}
html[lang^=en] body { font-family: Helvetica, "Noto Sans JP", "Roboto", Arial, sans-serif;}

* {margin: 0; padding: 0;}
p { line-height: 1.6;}
ul { list-style: none;}
img { width: 100%;}
a { text-decoration: none;}

html {
  scroll-behavior: smooth;
}
body.fixed {
  overflow: hidden;
}
@media (min-width: 1024px) {
  a:hover { text-decoration: underline;}
  a:hover img { opacity: 0.7;}

  header {
    position: fixed;
    z-index: 20;
    height: 6.0rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
  }
  header h1 {
    display: block;
    margin: 0 0 0 2.375rem;
    font-size: 1.25rem;
  }
  header h1 .h_logo {
    display: flex;
    align-items: center;
  }
  header h1 .h_logo img {
    width: 8.0rem;
    margin-right: 2.25rem;
  }
  header h1 a {
    color: #5C5C5C;
  }
  header h1 .h_logo:hover img {
    opacity: 0.6;
  }
  header h1 .h_logo:hover {
    text-decoration: none;
    color: #DC0021;
  }
  header .menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin: 0 2.5rem 0 0;
  }
  header .menu a {
    display: block;
    font-size: 1.0rem;
    color: #5C5C5C;
    margin: 0 0 0 1.875rem;
  }
  header .menu a:hover {
    text-decoration: none;
    color: #DC0021;
  }
  header .sp_menu_btn {
    display: none;
  }
  .sp_menu {
    display: none;
  }


  footer {
    background: #E7E7E7;
    padding: 3.125rem 0 0;
  }
  footer .list_menu_link {
    display: flex;
    flex-wrap: wrap;
    margin: 2.5rem auto 8rem;
    width: 90%;
    max-width: 1340px;
  }
  footer .list_menu_link li {
    width: 19.25rem;
    margin: 0 1.275rem 1.25rem 0;
    border: 1px solid #E7E7E7;
  }
  footer .list_menu_link li:last-child {
    margin: 0 0 1.25rem 0;
  }
  footer .list_menu_link li a {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 5.0rem;
    transition: all 0.3s 0s ease;
    background: #fff;
  }
  footer .list_menu_link li a:after {
    position: absolute;
    display: block;
    content: "";
    width: 0.4375rem;
    height: 0.75rem;
    background: url(../images/guidance/list_menu_link_arrow.png) no-repeat;
    background-size: 100% 100%;
    right: 1.25rem;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  footer .list_menu_link li a .list_icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 5.0rem;
    height: 5.0rem;
    background: #DC0021;
  }
  footer .list_menu_link li a .list_icon img {
    width: 2.0rem;
  }
  footer .list_menu_link li a p {
    padding: 0 1.375rem 0 0 ;
    font-size: 1.125rem;
    font-weight: 500;
    color: #5C5C5C;
    line-height: 1.6;
    margin: 0;
    width: calc(100% - 6.375rem);
    text-align: center;
  }
  footer .list_menu_link li a:hover {
    text-decoration: none;
  }
  footer .list_menu_link li a:hover p {
    color: #DC0021;
    text-decoration: none;
  }

  footer .footer_cell {
    padding: 0 2.5rem 2.5rem;
    display: flex;
    justify-content: space-between;
  }
  footer .footer_cell .f_left {
    font-size: 1rem;
    display: flex;
  }
  footer .footer_cell .f_left .footer_menu {
    display: flex;
  }
  footer .footer_cell .f_left .footer_menu .cell {
    margin-right: 2.25rem;
  }
  footer .footer_cell .f_left .footer_menu .cell a {
    display: block;
    margin: 0 0 1.375rem;
    font-size: 1rem;
    color: #000;
  }
  footer .footer_cell .f_right {
  }
  footer .footer_cell .f_right .footer_ttl {
    font-size: 1rem;
    font-weight: bold;
    line-height: 1;
    margin: 0 0 0.5rem;
  }
  footer .footer_cell .f_right .footer_txt {
    font-size: 1rem;
    font-weight: 500;
    line-height: 1;
    margin: 0 0 1rem;
  }
  footer .footer_cell .f_right .footer_info {
  }
  footer .footer_cell .f_right .footer_info li {
    display: flex;
    margin: 0 0 0.3125rem;
  }
  footer .footer_cell .f_right .footer_info li .ttl {
    display: flex;
    justify-content: center;
    text-align: center;
    width: 5.8rem;
    height: 1.75rem;
    line-height: 1.75rem;
    margin: 0 0.5625rem 0 0;
    font-size: 0.875rem;
    font-weight: 500;
    background: #D9D9DA;
  }
  footer .footer_cell .f_right .footer_info li .txt {
    height: 1.75rem;
    line-height: 1.75rem;
    margin: 0 0 0 0;
    font-size: 1rem;
    font-weight: 500;
  }
  footer .footer_bottom {
    background: #D9D9DA;
  }
  footer .footer_bottom ul {
    display: flex;
    padding: 0.9375rem 0 0.9375rem 2.5rem;
  }
  footer .footer_bottom ul li {
    line-height: 1;
    margin: 0 1.875rem 0 0;
    font-size: 0.75rem;
  }
  footer .footer_bottom ul li a {
    color: #000;
    font-size: 0.75rem;
  }

  main { padding-top: 6.0rem;}


  /* 下層共通 */
  .under_ttl {
    position: relative;
    margin: 0 0 1.5625rem;
    padding: 0vw 0 0 0;
    z-index: 2;
  }
  .under_ttl h2 {
    position: absolute;
    left: 8.125rem;
    top: 0;
    bottom: 0;
    margin: auto;
    line-height: 1;
    font-weight: bold;
    font-size: 2.5rem;
    color: #5C5C5C;
    height: max-content;
  }
  .under_ttl p {
    position: absolute;
    left: 8.125rem;
    bottom: 2.275rem;
    line-height: 1.86;
    font-weight: 500;
    font-size: 1.4375rem;
    color: #5C5C5C;
    height: max-content;
  }
  .under main .under_cell h3 {
    font-size: 1.375rem;
    line-height: 1;
    color: #5C5C5C;
    margin: 0 0 1.875rem;
  }
  .under.hanbaihoushin main .under_cell h3 {
    font-size: 1.6875rem;
  }
  .under.policy main .under_cell h3 {
    margin: 0 0 0.625rem;
  }
  .under.dantai_sougou main .under_cell h3 {
    font-size: 2.5rem;
  }
  .under.dantai_car main .under_cell h3 {
    font-size: 2.5rem;
    margin-top: 4.375rem;
  }
  .under.policy main .under_cell h3.h3_ttl {
    font-size: 1.25rem;
    line-height: 1;
    color: #5C5C5C;
    padding: 0 0 0rem;
    margin: 0 0 1.25rem;
  }
  .under main .under_cell h4 {
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1;
    color: #5C5C5C;
    margin: 0 0 0.3125rem;
  }


  main .breadcrumbs {
    display: flex;
    margin: 0 0 4.5vw;
  }
  main .breadcrumbs li {
    font-size: 0.75rem;
    color: #404040;
    line-height: 1;
  }
  main .breadcrumbs li a {
    position: relative;
    display: block;
    width: max-content;
    color: #404040;
    margin: 0 0.5rem 0 0;
    padding: 0 1rem 0 0;
    line-height: 1;
  }
  main .breadcrumbs li a::after {
    display: block;
    position: absolute;
    content: ">";
    right:0;
    top: 0;
    bottom: 0;
    margin: auto;
    color: #A3A3A3;
  }
  .under main .under_cell {
    padding-right: 2.5rem;
    padding-left: 2.5rem;
    max-width: 1340px;
    margin: 0 auto;
  }
  .under main .under_cell .cell {
    margin: 0 0 2.0rem;
  }
  .under main .under_cell .cell.cell02 {
    margin: 0 0 0;
  }

  .under main .under_cell .cell p.txt {
    font-size: 1.0rem;
    font-weight: 500;
    color: #5C5C5C;
    line-height: 1.8;
    margin: 0 0 2.0rem;
  }
  .under main .under_cell .cell p.txt + h4 {
    margin-top: 3.43rem;
  }
  .under.policy main .under_cell .cell p.txt + h3 {
    margin-top: 3.43rem;
  }
  .under main .under_cell .cell p.txt02 {
    font-size: 1.0rem;
    font-weight: 500;
    color: #5C5C5C;
    line-height: 1.8;
    margin: 0 0 2.0rem;
  }
  .under main .under_cell .cell p.txt:last-of-type,
  .under main .under_cell .cell p.txt02:last-of-type {
    margin: 0 0 0;
  }
  .under main .under_cell .cell p.txt span {
    color: #DC0021;
  }
  .under main .under_cell .cell p.txt02 span {
    font-size: 1.125rem;
    font-weight: bold;
  }
  .under main .under_cell .cell p.company_name {
    font-size: 1.0rem;
    font-weight: 500;
    color: #5C5C5C;
    line-height: 1.8;
    margin: 0 0 0.625rem;
    text-align: right;
  }
  .under main .under_cell .under_box {
    margin: 0 0 7.43rem;
  }
  .under.guidance main .under_cell .under_box {
    margin: 0 0 6.25rem;
  }
  .under main .under_cell .under_box:last-of-type {
    margin: 0 0 0rem;
  }
  .under main table.table01 {
    width: 100%;
    border-top: 1px solid #000;
    border-collapse:collapse;
  }
  .under main table.table01 th {
    width: 44%;
    height: 5.625rem;
    padding: 0 0rem;
    text-align: center;
    font-size: 1.25rem;
    font-weight: bold;
    color: #000;
    line-height: 1;
    background: #F5F5F5;
    vertical-align: middle;
    border-bottom: 1px solid #D9D9DA;
  }
  .under main table.table01 td {
    width: 56%;
    height: 5.625rem;
    padding: 0 0rem 0 2.81rem;
    text-align: left;
    font-size: 1.0rem;
    font-weight: 500;
    color: #5C5C5C;
    line-height: 1;
    vertical-align: middle;
    border-bottom: 1px solid #D9D9DA;
  }
  .under main table.table01 td a {
    color: #5C5C5C;
  }


  .under main .under_main_cell {
    display: flex;
    justify-content: space-between;
  }
  .under main .under_main_cell .under_main {
    width: 75.4%;
  }
  .under main .under_main_cell .under_menu {
    width: 21.4%;
  }


  /* hoken */
  .under main .tab {
    margin: 0 auto 2.8125rem;
  }
  .under main .tab ul {
    border-bottom: 1px solid #DC0021;
    display: flex;
  }
  .under main .tab ul li {
    margin: 0 1.75rem 0 0;
  }
  .under main .tab ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 18.0625rem;
    height: 4.4375rem;
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    border: 1px solid #C8C8C8;
    border-bottom: none;
    background: #fff;
    color: #5C5C5C;
    transition: all 0.3s 0s ease;
  }
  .under main .tab ul li.active a {
    border: 1px solid #DC0021;
    border-bottom: none;
    background: #DC0021;
    color: #fff;
  }
  .under main .tab ul li a:hover {
    border: 1px solid #DC0021;
    border-bottom: none;
    text-decoration: none;
    background: #DC0021;
    color: #fff;
  }

  .under main .hoken_cell {
    background: #E7E7E7;
    padding-top: 4.0625rem;
    padding-right: 2.5rem;
    padding-left: 2.5rem;
  }
  .under main .hoken_cell h3 {
    font-size: 2.5rem;
    line-height: 1;
    color: #5C5C5C;
    margin: 0 auto 1.5rem;
    max-width: 1340px;
  }
  .under main .hoken_cell h4 {
    font-size: 1.875rem;
    line-height: 1;
    color: #5C5C5C;
    margin: 0 0 0.625rem;
  }
  .under main .hoken_cell .hoken_box {
    background: #fff;
    margin: 0 auto 5.3125rem;
    padding: 3.75rem 5.625rem 3.75rem;
    max-width: calc(1340px - 11.25rem);
  }
  .under main .hoken_cell .hoken_box:last-of-type {
    margin: 0 auto 0;
  }
  .under main .hoken_cell .hoken_box .lead {
    text-align: center;
    font-size: 1.0rem;
    line-height: 1.81;
    color: #5C5C5C;
    margin: 0 auto 3.75rem;
  }
  .under.dantai_sougou main .hoken_cell .hoken_box .lead {
    margin: 0 auto 1.875rem;
  }
  .under main .hoken_cell .hoken_box .lead02 {
    text-align: left;
    font-size: 1.0rem;
    line-height: 1.81;
    color: #5C5C5C;
    margin: 0 auto 1.5625rem;
  }
  .under main .hoken_cell .hoken_box .lead02 span {
    font-size: 0.8125rem;
  }

  .under main .list_merit {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 5.625rem auto 0rem;
  }
  .under main .hoken_cell .list_merit {
    margin: 0 auto 2.25rem;
  }
  .under main .list_merit li {
    width: 22.375rem;
    position: relative;
    background: #F8F8F8;
    border: 1px solid #C8C8C8;
    border-radius: 1rem;
    margin: 0 2.25rem 2.0rem 0;
    padding: 0 0 2.8125rem;
  }
  .under main .list_merit li:last-child {
    margin: 0 0rem 2.0rem 0;
  }
  .under main .list_merit li .txt_merit {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 1.875rem;
    color: #DC0021;
    font-weight: bold;
    line-height: 1;
    margin: -2.0rem auto 1.5625rem;
  }
  .under main .list_merit li .txt_merit span {
    font-size: 3.75rem;
    margin-left: 0.25rem;
  }
  .under main .list_merit li .txt_ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    font-size: 1.4375rem;
    font-weight: bold;
    color: #5C5C5C;
    height: 6.25rem;
    margin: 0 auto 2.1875rem;
  }
  .under main .hoken_cell .list_merit li .txt_ttl {
    height: 4.6875rem;
  }
  .under main .list_merit li .icon {
    margin: 0 auto 2.5rem;
    width: 6.875rem;
  }
  .under main .list_merit li .txt_detail {
    text-align: center;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.8125;
    color: #5C5C5C;
    margin: 0 auto 0;
    width: 20.8125rem;
  }


  .under main .list_merit_L {
    margin: 0rem auto 1.5625rem;
  }
  .under main .list_merit_L li {
    position: relative;
    width: calc(100% - 3.5rem);
    background: #F8F8F8;
    border: 1px solid #C8C8C8;
    border-radius: 1rem;
    margin: 0 0rem 0.875rem 0;
    padding: 0.625rem 2.5rem 0.625rem 1rem;
  }
  .under main .list_merit_L li:last-child {
    margin: 0 0rem 0rem 0;
  }
  .under main .list_merit_L li .toggle_cell {
    position: relative;
    display: flex;
    align-items: center;
    cursor: pointer;
  }
  .under main .list_merit_L li .toggle_cell:after {
    position: absolute;
    display: block;
    content: "";
    width: 1.625rem;
    height: 1.625rem;
    background: url(../images/common/icon_plus.png) no-repeat;
    background-size: 100% 100%;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
  }
  .under main .list_merit_L li .txt_merit {
    font-size: 1.625rem;
    color: #DC0021;
    font-weight: bold;
    line-height: 1;
    margin: 0;
    padding: 0 0 0 0;
    width: 24%;
    display: flex;
    align-items: center;
  }
  .under main .list_merit_L li .txt_merit span {
    font-size: 3.3125rem;
    margin-bottom: 0.5rem;
  }
  .under main .list_merit_L li .icon {
    margin: 0 3% 0 0;
    width: 6%;
  }
  .under main .list_merit_L li .txt_ttl {
    font-size: 1.4375rem;
    line-height: 1;
    font-weight: bold;
    color: #5C5C5C;
    margin: 0 2rem 0 0;
  }
  .under main .list_merit_L li .txt_detail {
    display: none;
    text-align: left;
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.8125;
    color: #5C5C5C;
    margin: 0 0;
    width: calc(100% - 3rem);
  }

  .under main .list_hoken_btn {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 3.125rem;
  }
  .under main .list_hoken_btn li {
    width: 48%;
  }
  .under main .list_hoken_btn li a {
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: calc(100% - 4px);
    height: 8.3125rem;
    background: #DC0021;
    border-radius: 1rem;
    color: #fff;
    text-decoration: none;
    font-size: 1.875rem;
    line-height: 1.0;
    transition: all 0.3s 0s ease;
    border: 2px solid #DC0021;
  }
  .under.guidance main .list_hoken_btn li a {
    font-size: 1.5rem;
    line-height: 1.2;
  }
  .under main .list_hoken_btn li a:hover {
    text-decoration: none;
    background: #fff;
    color: #DC0021;
  }
  .under main .list_hoken_bnr {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 2.8125rem;
  }
  .under main .list_hoken_bnr li {
    width: 32%;
  }
  .under main .list_hoken_bnr.bnr01 li:nth-child(1) {
    width: 27.4%;
  }
  .under main .list_hoken_bnr.bnr01 li:nth-child(3) {
    width: 25.7%;
  }
  .under main .list_hoken_bnr.bnr02 li:nth-child(1) {
    width: 33.4%;
  }
  .under main .list_hoken_bnr.bnr02 li:nth-child(2) {
    width: 31.2%;
  }
  .under main .list_hoken_bnr.bnr02 li:nth-child(3) {
    width: 25.7%;
  }

  .top main .hoken_consultation,
  .under main .hoken_consultation {
    padding: 1.5625rem 0 1.5625rem;
    border: 1px solid #DC0021;
    border-radius: 1rem;
  }
  .top main .hoken_consultation .hoken_consultation_ttl,
  .under main .hoken_consultation .hoken_consultation_ttl {
    text-align: center;
    font-size: 2.1875rem;
    font-weight: bold;
    color: #DC0021;
    line-height: 1;
    margin: 0 auto 1.25rem;
  }
  .top main .hoken_consultation .hoken_consultation_lead,
  .under main .hoken_consultation .hoken_consultation_lead {
    text-align: center;
    font-size: 1.25rem;
    font-weight: bold;
    color: #5C5C5C;
    line-height: 1;
    margin: 0 auto 1.5625rem;
  }
  .top main .hoken_consultation .hoken_consultation_info,
  .under main .hoken_consultation .hoken_consultation_info {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 0 0 2.8125rem;
  }
  .top main .hoken_consultation .hoken_consultation_info:after,
  .under main .hoken_consultation .hoken_consultation_info:after {
    position: absolute;
    display: block;
    content: "";
    width: 4.125rem;
    height: 4.125rem;
    background: url(../images/common/hoken_arrow.png) no-repeat;
    background-size: 100% 100%;
    right: 0;
    left: 0;
    bottom: -1.25rem;
    margin: auto;
  }
  .top main .hoken_consultation .hoken_consultation_info .left_cell,
  .under main .hoken_consultation .hoken_consultation_info .left_cell {
    margin-right: 4.375rem;
  }
  .top main .hoken_consultation .hoken_consultation_info .left_cell p,
  .under main .hoken_consultation .hoken_consultation_info .left_cell p {
    text-align: center;
    font-size: 1.5625rem;
    line-height: 1.4;
    font-weight: bold;
    color: #5C5C5C;
    letter-spacing: 0.03em;
  }
  .top main .hoken_consultation .hoken_consultation_info .right_cell,
  .under main .hoken_consultation .hoken_consultation_info .right_cell {
  }
  .top main .hoken_consultation .hoken_consultation_info .right_cell .txt01,
  .under main .hoken_consultation .hoken_consultation_info .right_cell .txt01 {
    font-size: 1.125rem;
    line-height: 1;
    margin: 0 0 0.9375rem;
    color: #5C5C5C;
    font-weight: 500;
  }
  .top main .hoken_consultation .hoken_consultation_info .right_cell .right_info,
  .under main .hoken_consultation .hoken_consultation_info .right_cell .right_info {}
  .top main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell,
  .under main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell {
    display: flex;
    align-items: center;
    margin: 0 0 0.3125rem;
  }
  .top main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_left,
  .under main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_left {
    margin-right: 1.25rem;
  }
  .top main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_left p,
  .under main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_left p {
    width: 5.875rem;
    height: 1.75rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background: #D9D9DA;
    font-size: 0.9375rem;
    line-height: 1;
    color: #5C5C5C;
    margin: 0;
  }
  .top main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_right p,
  .under main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_right p {
    font-size: 1.125rem;
    line-height: 1;
    color: #5C5C5C;
    margin: 0;
  }


  /* newslist */
  .under main .under_main_cell .under_main .news_list {
  }
  .under main .under_main_cell .under_main .news_list .list {
    display: flex;
    margin: 0 0 0.75rem;
    padding: 0 1.25rem 0.75rem;
    border-bottom: 1px solid #DCDCDC;
  }
  .under main .under_main_cell .under_main .news_list p.time {
    width: 13.75rem;
    font-size: 1.0rem;
    color: #5C5C5C;
  }
  .under main .under_main_cell .under_main .news_list a {
    width: calc(100% - 13.75rem);
    color: #DC0021;
  }
  .under main .under_main_cell .under_main .news_list a:hover {
    text-decoration: underline;
  }
  .under main .under_main_cell .under_menu ul {
    border: 1px solid #C8C8C8;
    border-bottom: none;
  }
  .under main .under_main_cell .under_menu ul li {
    border-bottom: 1px solid #C8C8C8;
  }
  .under main .under_main_cell .under_menu ul li a {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 4.375rem;
    font-size: 1.25rem;
    text-decoration: none;
    color: #5C5C5C;
    background: #fff;
  }
  .under main .under_main_cell .under_menu ul li a:hover {
    text-decoration: underline;
  }
  .under main .under_main_cell .under_menu ul li.active a {
    color: #fff;
    background: #DC0021;
  }



  .pcOnly { display: block !important;}
  .spOnly { display: none !important;}
}

@media (max-width: 1023px) {
  body,html {
    overflow-x: hidden !important;
  }
  html { font-size:82.5%;}


  header {
    position: fixed;
    z-index: 20;
    height: 7.0rem;
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #fff;
    box-shadow: 0 4px 15px 0 rgba(0,0,0,0.15);
  }
  header h1 {
    display: block;
    margin: 0 0 0 2.375rem;
    font-size: 1.0rem;
  }
  header h1 .h_logo {
    display: flex;
    align-items: center;
  }
  header h1 .h_logo img {
    width: 7.0rem;
    margin-right: 2.0rem;
  }
  header h1 a {
    color: #5C5C5C;
  }
  header .menu {
    display: none;
  }
  header .sp_menu_btn {
    display: block;
    margin: 0 2.375rem 0 0;
    width: 1.4375rem;
  }
  .sp_menu {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    height: calc(100vh - 7rem);
    background: #fff;
    z-index: 15;
    padding: 7rem 0 0;
    color: #000;
    overflow-x: scroll;
  }
  .sp_menu .inner {
    display: flex;
    flex-direction: column;
  }
  .sp_menu .inner a {
    position: relative;
    display: block;
    padding: 1.5625rem 0rem 1.5625rem 1.75rem;
    border-bottom: 1px solid #D9D9DA;
    font-size: 1.25rem;
    line-height: 1;
    color: #5C5C5C;
  }
  .sp_menu .inner a:after {
    position: absolute;
    display: block;
    content: "";
    width: 0.625rem;
    height: 1rem;
    background: url(../images/common/sp_menu_link.png) no-repeat;
    background-size: 100% 100%;
    right: 1.5rem;
    top: 0;
    bottom: 0;
    margin: auto;
  }



    footer {
      background: #E7E7E7;
      padding: 0 0 0;
    }

    footer .list_menu_link {
      display: flex;
      flex-direction: column;
      padding: 2.5rem 1.25rem 0;
    }
    footer .list_menu_link li {
      width: 100%;
      margin: 0 0 1.125rem 0;
      border: 1px solid #E7E7E7;
      background: #fff;
    }
    footer .list_menu_link li:last-child {
      margin: 0 0 1.25rem 0;
    }
    footer .list_menu_link li a {
      position: relative;
      display: flex;
      align-items: center;
      width: 100%;
      height: 4.0rem;
    }
    footer .list_menu_link li a:after {
      position: absolute;
      display: block;
      content: "";
      width: 0.4375rem;
      height: 0.75rem;
      background: url(../images/guidance/list_menu_link_arrow.png) no-repeat;
      background-size: 100% 100%;
      right: 2.25rem;
      top: 0;
      bottom: 0;
      margin: auto;
    }
    footer .list_menu_link li a .list_icon {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 4.0rem;
      height: 4.0rem;
      background: #DC0021;
    }
    footer .list_menu_link li a .list_icon img {
      width: 2.0rem;
    }
    footer .list_menu_link li a p {
      padding: 0 1.5rem 0 0;
      margin: 0 auto;
      font-size: 1.125rem;
      font-weight: 500;
      color: #5C5C5C;
      line-height: 1.6;
      width: calc(100% - 6.5rem);
      text-align: center;
    }
    footer .footer_cell {
      padding: 0 0 1.0rem;
      display: flex;
      justify-content: space-between;
      flex-direction: column;
    }
    footer .footer_cell .f_left {
      font-size: 1rem;
      display: flex;
      width: 100%;
      flex-direction: column;
    }
    footer .footer_cell .f_left .footer_menu {
      display: flex;
      flex-direction: column;
    }
    footer .footer_cell .f_left .footer_menu .cell {
      width: 100%;
      padding-top: 0.9375rem;
    }
    footer .footer_cell .f_left .footer_menu .cell:last-of-type {
      padding-top: 0rem;
    }
    footer .footer_cell .f_left .footer_menu .cell a {
      display: block;
      width: calc(100% - 2.75rem);
      margin: 0 0 0.9375rem;
      padding: 0 1.375rem 0.9375rem;
      font-size: 1.1875rem;
      color: #000;
      border-bottom: 1px solid #DEDEDF;
    }
    footer .footer_cell .f_right {
      margin-top: 1.875rem;
      padding: 0 1.375rem 0.9375rem;
    }
    footer .footer_cell .f_right .footer_ttl {
      font-size: 1.125rem;
      font-weight: bold;
      line-height: 1;
      margin: 0 0 0.825rem;
    }
    footer .footer_cell .f_right .footer_txt {
      font-size: 1.125rem;
      font-weight: 500;
      line-height: 1;
      margin: 0 0 1.25rem;
    }
    footer .footer_cell .f_right .footer_info {
    }
    footer .footer_cell .f_right .footer_info li {
      display: flex;
      margin: 0 0 0.3125rem;
    }
    footer .footer_cell .f_right .footer_info li .ttl {
      display: flex;
      justify-content: center;
      text-align: center;
      width: 5.8rem;
      height: 1.75rem;
      line-height: 1.75rem;
      margin: 0 1.0625rem 0 0;
      font-size: 0.875rem;
      font-weight: 500;
      background: #D9D9DA;
    }
    footer .footer_cell .f_right .footer_info li .txt {
      height: 1.75rem;
      line-height: 1.75rem;
      margin: 0 0 0 0;
      font-size: 1rem;
      font-weight: 500;
    }
    footer .footer_bottom {
      background: #D9D9DA;
    }
    footer .footer_bottom ul {
      display: flex;
      flex-wrap: wrap;
      padding: 0.9375rem 0 0.9375rem 1.5rem;
    }
    footer .footer_bottom ul li {
      line-height: 1;
      margin: 0 1.875rem 1.0rem 0;
      font-size: 0.75rem;
    }
    footer .footer_bottom ul li:last-child {
      width: 100%;
      margin: 0;
    }
    footer .footer_bottom ul li a {
      color: #000;
      font-size: 0.75rem;
    }

    main { padding-top: 7.0rem;}


    /* 下層共通 */
    .under_ttl {
      position: relative;
      margin: 0 0 1.5625rem;
      padding: 0vw 0 0 0;
      z-index: 2;
    }
    .under_ttl h2 {
      position: absolute;
      left: 1.625rem;
      bottom: 4.6875rem;
      line-height: 1;
      font-weight: bold;
      font-size: 1.25rem;
      color: #5C5C5C;
      height: max-content;
    }
    .under main .under_cell h3 {
      font-size: 1.375rem;
      line-height: 1.31;
      color: #5C5C5C;
      margin: 0 0 1.875rem;
    }
    .under.hanbaihoushin main .under_cell h3 {
      font-size: 1.6875rem;
    }
    .under.policy main .under_cell h3 {
      margin: 0 0 0.625rem;
    }
    .under.dantai_sougou main .under_cell h3 {
      font-size: 1.25rem;
    }
    .under.dantai_car main .under_cell h3 {
      font-size: 1.25rem;
      margin-top: 2rem;
    }
    .under.policy main .under_cell h3.h3_ttl {
      font-size: 1.25rem;
      line-height: 1;
      color: #5C5C5C;
      padding: 0 0 0rem;
      margin: 0 0 1.25rem;
    }
    .under main .under_cell h4 {
      font-size: 1.25rem;
      font-weight: 500;
      line-height: 1;
      color: #5C5C5C;
      margin: 0 0 0.3125rem;
    }


    main .breadcrumbs {
      display: flex;
      margin: 0 0 1.875rem;
    }
    main .breadcrumbs li {
      font-size: 0.75rem;
      color: #404040;
      line-height: 1;
    }
    main .breadcrumbs li a {
      position: relative;
      display: block;
      width: max-content;
      color: #404040;
      margin: 0 0.5rem 0 0;
      padding: 0 1rem 0 0;
      line-height: 1;
    }
    main .breadcrumbs li a::after {
      display: block;
      position: absolute;
      content: ">";
      right:0;
      top: 0;
      bottom: 0;
      margin: auto;
      color: #A3A3A3;
    }
    .under main .under_cell {
      padding-right: 1.25rem;
      padding-left: 1.25rem;
    }
    .under main .under_cell .cell {
      margin: 0 0 2.0rem;
    }
    .under main .under_cell .cell.cell02 {
      margin: 0 0 0;
    }

    .under main .under_cell .cell p.txt {
      font-size: 1.0rem;
      font-weight: 500;
      color: #5C5C5C;
      line-height: 1.8;
      margin: 0 0 2.0rem;
    }
    .under main .under_cell .cell p.txt + h4 {
      margin-top: 3.43rem;
    }
    .under.policy main .under_cell .cell p.txt + h3 {
      margin-top: 3.43rem;
    }
    .under main .under_cell .cell p.txt02 {
      font-size: 1.0rem;
      font-weight: 500;
      color: #5C5C5C;
      line-height: 1.8;
      margin: 0 0 2.0rem;
    }
    .under main .under_cell .cell p.txt:last-of-type,
    .under main .under_cell .cell p.txt02:last-of-type {
      margin: 0 0 0;
    }
    .under main .under_cell .cell p.txt span {
      color: #DC0021;
    }
    .under main .under_cell .cell p.txt02 span {
      font-size: 1.125rem;
      font-weight: bold;
    }
    .under main .under_cell .cell p.company_name {
      font-size: 1.0rem;
      font-weight: 500;
      color: #5C5C5C;
      line-height: 1.8;
      margin: 0 0 0.625rem auto;
      text-align: left;
      width: max-content;
    }
    .under main .under_cell .under_box {
      margin: 0 0 7.43rem;
    }
    .under.guidance main .under_cell .under_box {
      margin: 0 0 6.25rem;
    }
    .under main .under_cell .under_box:last-of-type {
      margin: 0 0 0rem;
    }
    .under main table.table01 {
      width: 100%;
      border-top: 1px solid #000;
      border-bottom: 1px solid #D9D9DA;
    }
    .under main table.table01 tr {
      display: flex;
      flex-direction: column;
    }
    .under main table.table01 th {
      width: 100%;
      padding: 1.125rem 0rem;
      text-align: center;
      font-size: 1.125rem;
      font-weight: bold;
      color: #000;
      line-height: 1;
      background: #F5F5F5;
      vertical-align: middle;
      border-bottom: 1px solid #D9D9DA;
    }
    .under main table.table01 td {
      width: 100%;
      padding: 1.125rem 0rem;
      text-align: center;
      font-size: 1.0rem;
      font-weight: 500;
      color: #5C5C5C;
      line-height: 1;
      vertical-align: middle;
    }
    .under main table.table01 td a {
      color: #5C5C5C;
    }


    .under main .under_main_cell {
      display: flex;
      justify-content: space-between;
      flex-direction: column-reverse;
    }
    .under main .under_main_cell .under_main {
      width: 100%;
    }
    .under main .under_main_cell .under_menu {
      width: 100%;
      overflow-x: scroll;
      margin: 0 0 1.875rem;
      border-bottom: 1px solid #DC0021;
    }


    /* hoken */
    .under main .tab {
      position: relative;
      margin: 0 -1.25rem 2rem auto;
      /*margin: 0 auto 2rem;*/
      overflow-x: scroll;
    }
    .under main .tab ul {
      position: relative;
      display: flex;
      width: max-content;
    }
    .under main .tab ul:after {
      display: block;
      position: absolute;
      content: "";
      z-index: 2;
      width: 100%;
      height: 1px;
      background: #DC0021;
      left: 0;
      bottom: 0;
    }
    .under main .tab ul li {
      margin: 0 0.3125rem 0 0;
    }
    .under main .tab ul li:last-child {
      margin: 0 0 0 0;
    }
    .under main .tab ul li a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 11.1875rem;
      height: 3.5rem;
      font-size: 1.0rem;
      font-weight: 500;
      line-height: 1;
      text-align: center;
      border: 1px solid #C8C8C8;
      border-bottom: none;
      background: #fff;
      color: #5C5C5C;
    }
    .under main .tab ul li.active a {
      border: 1px solid #DC0021;
      border-bottom: none;
      background: #DC0021;
      color: #fff;
    }

    .under main .hoken_cell {
      background: #E7E7E7;
      padding-top: 2.5rem;
      padding-right: 1.25rem;
      padding-left: 1.25rem;
    }
    .under main .hoken_cell h3 {
      font-size: 1.25rem;
      line-height: 1;
      color: #5C5C5C;
      margin: 0 0 1.5rem;
    }
    .under main .hoken_cell h4 {
      font-size: 1.25rem;
      line-height: 1;
      color: #5C5C5C;
      margin: 0 0 0.625rem;
    }
    .under main .hoken_cell .hoken_box {
      background: #fff;
      margin: 0 0 4.3125rem;
      padding: 1.5rem 1.25rem 1.5rem;
    }
    .under main .hoken_cell .hoken_box:last-of-type {
      margin: 0 0 0;
    }
    .under main .hoken_cell .hoken_box .lead {
      text-align: left;
      font-size: 1.0rem;
      line-height: 1.81;
      color: #5C5C5C;
      margin: 0 auto 3.125rem;
    }
    .under.dantai_sougou main .hoken_cell .hoken_box .lead {
      margin: 0 auto 1.875rem;
    }
    .under main .hoken_cell .hoken_box .lead02 {
      text-align: left;
      font-size: 1.0rem;
      line-height: 1.81;
      color: #5C5C5C;
      margin: 0 auto 1.5625rem;
    }
    .under main .hoken_cell .hoken_box .lead02 span {
      font-size: 0.8125rem;
    }

    .under main .list_merit {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      margin: 5.625rem auto 0rem;
    }
    .under main .hoken_cell .list_merit {
      margin: 0 auto 2.25rem;
    }
    .under main .list_merit li {
      width: 100%;
      position: relative;
      background: #F8F8F8;
      border: 1px solid #C8C8C8;
      border-radius: 1rem;
      margin: 0 0 3.4375rem 0;
      padding: 0 0 2.8125rem;
    }
    .under main .list_merit li:last-child {
      margin: 0 0rem 2.0rem 0;
    }
    .under main .list_merit li .txt_merit {
      display: flex;
      align-items: center;
      justify-content: center;
      text-align: center;
      font-size: 1.875rem;
      color: #DC0021;
      font-weight: bold;
      line-height: 1;
      margin: -2.0rem auto 0.9375rem;
    }
    .under main .list_merit li .txt_merit span {
      font-size: 3.75rem;
      margin-left: 0.25rem;
    }
    .under main .list_merit li .txt_ttl {
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      font-size: 1.125rem;
      font-weight: bold;
      color: #5C5C5C;
      height: 6.25rem;
      margin: 0 auto 2.1875rem;
    }
    .under main .hoken_cell .list_merit li .txt_ttl {
      height: 4.6875rem;
    }
    .under main .list_merit li .icon {
      margin: 0 auto 2.5rem;
      width: 6.875rem;
    }
    .under main .list_merit li .txt_detail {
      text-align: center;
      font-size: 1.0rem;
      font-weight: 500;
      line-height: 1.8125;
      color: #5C5C5C;
      margin: 0 auto 0;
      padding: 0 1.0rem;
    }


    .under main .list_merit_L {
      margin: 0rem auto 1.5625rem;
    }
    .under main .list_merit_L li {
      position: relative;
      width: calc(100% - 2.5rem);
      background: #F8F8F8;
      border: 1px solid #C8C8C8;
      border-radius: 1rem;
      margin: 2.25rem 0rem 0.3125rem 0;
      padding: 1.375rem 1.375rem 1.375rem 1.125rem;
    }
    .under main .list_merit_L li .toggle_cell {
      position: relative;
      display: flex;
      align-items: center;
      width: 100%;
    }
    .under main .list_merit_L li .toggle_cell:after {
      position: absolute;
      display: block;
      content: "";
      width: 1.625rem;
      height: 1.625rem;
      background: url(../images/common/icon_plus.png) no-repeat;
      background-size: 100% 100%;
      right: 0;
      top: 0;
      bottom: 0;
      margin: auto;
    }
    .under main .list_merit_L li .txt_merit {
      position: absolute;
      left: -1.0rem;
      top: -3.5rem;
      font-size: 0.9375rem;
      color: #DC0021;
      font-weight: bold;
      line-height: 1;
      margin: 0;
      padding: 0 0 0 0;
      display: flex;
      align-items: center;
    }
    .under main .list_merit_L li .txt_merit span {
      font-size: 1.875rem;
      margin: 0 0 0.25rem 0.25rem;
    }
    .under main .list_merit_L li .icon {
      margin: 0 1.875rem 0 0;
      width: 2.8125rem;
    }
    .under main .list_merit_L li .txt_ttl {
      font-size: 1.0rem;
      line-height: 1.3;
      font-weight: bold;
      color: #5C5C5C;
      margin: 0;
    }
    .under main .list_merit_L li .txt_detail {
      display: none;
      text-align: left;
      font-size: 0.95rem;
      font-weight: 500;
      line-height: 1.8125;
      color: #5C5C5C;
      margin: 0 auto 0;
      width: calc(100% - 4rem);
    }

    .under main .list_hoken_btn {
      display: flex;
      flex-flow: column;
      margin: 0 auto 1.5625rem;
    }
    .under main .list_hoken_btn li {
      width: 100%;
      margin: 0 0 0.5rem;
    }
    .under main .list_hoken_btn li:last-child {
      margin: 0 0 0rem;
    }
    .under main .list_hoken_btn li a {
      display: flex;
      justify-content: center;
      align-items: center;
      text-align: center;
      width: 100%;
      height: 5.9375rem;
      background: #DC0021;
      border-radius: 1rem;
      color: #fff;
      text-decoration: none;
      font-size: 1.125rem;
      line-height: 1.0;
    }
    .under.guidance main .list_hoken_btn li a {
      font-size: 1.125rem;
      line-height: 1.2;
    }
    .under main .list_hoken_bnr {
      display: flex;
      flex-direction: column;
      align-items: center;
      margin: 0 auto 1.875rem;
    }
    .under main .list_hoken_bnr li {
      width: 17.5rem;
      margin-bottom: 0.5rem;
    }
    .under main .list_hoken_bnr.bnr01 li:nth-child(1) {
      width: 15.375rem;
    }
    .under main .list_hoken_bnr.bnr01 li:nth-child(3) {
      width: 14.5rem;
      margin-bottom: 0;
    }
    .under main .list_hoken_bnr.bnr02 li:nth-child(1) {
      width: 18.75rem;
    }
    .under main .list_hoken_bnr.bnr02 li:nth-child(2) {
      width: 17.5625rem;
    }
    .under main .list_hoken_bnr.bnr02 li:nth-child(3) {
      width: 14.4375rem;
      margin-bottom: 0;
    }

    .top main .hoken_consultation,
    .under main .hoken_consultation {
      padding: 1.875rem 1.125rem 1.875rem;
      border: 2px solid #DC0021;
      border-radius: 1rem;
    }
    .top main .hoken_consultation .hoken_consultation_ttl,
    .under main .hoken_consultation .hoken_consultation_ttl {
      text-align: center;
      font-size: 1.25rem;
      font-weight: bold;
      color: #DC0021;
      line-height: 1;
      margin: 0 auto 0.625rem;
    }
    .top main .hoken_consultation .hoken_consultation_lead,
    .under main .hoken_consultation .hoken_consultation_lead {
      text-align: center;
      font-size: 0.9375rem;
      font-weight: 500;
      color: #5C5C5C;
      line-height: 1;
      margin: 0 auto 1.875rem;
    }
    .top main .hoken_consultation .hoken_consultation_info,
    .under main .hoken_consultation .hoken_consultation_info {
      position: relative;
      display: flex;
      flex-direction: column;
      margin: 0 auto;
      padding: 0 0 2.125rem;
    }
    .top main .hoken_consultation .hoken_consultation_info:after,
    .under main .hoken_consultation .hoken_consultation_info:after {
      position: absolute;
      display: block;
      content: "";
      width: 2.0625rem;
      height: 2.0625rem;
      background: url(../images/common/hoken_arrow.png) no-repeat;
      background-size: 100% 100%;
      right: 0;
      left: 0;
      bottom: -0.725rem;
      margin: auto;
    }
    .top main .hoken_consultation .hoken_consultation_info .left_cell,
    .under main .hoken_consultation .hoken_consultation_info .left_cell {
      width: 100%;
    }
    .top main .hoken_consultation .hoken_consultation_info .left_cell p,
    .under main .hoken_consultation .hoken_consultation_info .left_cell p {
      text-align: center;
      font-size: 0.9375rem;
      line-height: 1.4;
      font-weight: 500;
      color: #5C5C5C;
      letter-spacing: 0.03em;
      margin: 0 auto 1.125rem;
    }
    .top main .hoken_consultation .hoken_consultation_info .right_cell,
    .under main .hoken_consultation .hoken_consultation_info .right_cell {
    }
    .top main .hoken_consultation .hoken_consultation_info .right_cell .txt01,
    .under main .hoken_consultation .hoken_consultation_info .right_cell .txt01 {
      font-size: 0.9375rem;
      line-height: 1;
      margin: 0 0 0.825rem;
      color: #5C5C5C;
      font-weight: bold;
      text-align: center;
    }
    .top main .hoken_consultation .hoken_consultation_info .right_cell .right_info,
    .under main .hoken_consultation .hoken_consultation_info .right_cell .right_info {}
    .top main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell,
    .under main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell {
      display: flex;
      align-items: center;
      margin: 0 0 0.425rem;
    }
    .top main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_left,
    .under main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_left {
      margin-right: 1.25rem;
    }
    .top main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_left p,
    .under main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_left p {
      width: 5.875rem;
      height: 1.75rem;
      display: flex;
      justify-content: center;
      align-items: center;
      background: #D9D9DA;
      font-size: 0.9375rem;
      line-height: 1;
      color: #5C5C5C;
      margin: 0;
    }
    .top main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_right p,
    .under main .hoken_consultation .hoken_consultation_info .right_cell .right_info .flcell .f_right p {
      font-size: 0.9375rem;
      line-height: 1;
      color: #5C5C5C;
      margin: 0;
    }


    /* newslist */
    .under main .under_main_cell .under_main .news_list {
    }
    .under main .under_main_cell .under_main .news_list .list {
      display: flex;
      flex-direction: column;
      margin: 0 0 0.75rem;
      padding: 0 0rem 0.75rem;
      border-bottom: 1px solid #DCDCDC;
    }
    .under main .under_main_cell .under_main .news_list p.time {
      width: 100%;
      font-size: 1.0rem;
      color: #5C5C5C;
      margin: 0 0 0.5rem;
    }
    .under main .under_main_cell .under_main .news_list a {
      width: 100%;
      color: #DC0021;
    }
    .under main .under_main_cell .under_main .news_list a:hover {
      text-decoration: underline;
    }
    .under main .under_main_cell .under_menu ul {
      display: flex;
    }
    .under main .under_main_cell .under_menu ul li {
      margin-right: 0.625rem;
    }
    .under main .under_main_cell .under_menu ul li a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 7.8125rem;
      height: 2.75rem;
      font-size: 1.0rem;
      text-decoration: none;
      color: #5C5C5C;
      background: #fff;
      border: 1px solid #C8C8C8;
      border-bottom:none;
    }
    .under main .under_main_cell .under_menu ul li.active a {
      color: #fff;
      background: #DC0021;
    }


  .pcOnly { display: none !important;}
  .spOnly { display: block !important;}
}

footer { background: #fff; border-top: 1px solid #D9D9DA;}
footer .footer_bottom { background: #000;}
footer .footer_bottom ul li,
footer .footer_bottom ul li a { color: #fff;}
