@charset "UTF-8";
/* custom properties */
:root {
  --color-primary: #009b94;
  --color-secondary: #004097;
  --color-link: #193342;
  --color-hover: #009b94;
  --color-white: #fff;
  --color-black: #000;
  --color-gray: #666;
  --color-lightgray: #999;
  --color-lightgray2: #ccc;
  --color-lightgray3: #e4e4e4;
  --color-maintext: #193342;
  --color-subtext: #333;
  --color-bg01: #f3f7fa;
  --color-bg02: #bde5e3;
  --color-border01: #c0cdd7;
  --font-family-sans-serif: "Noto Sans JP", sans-serif;
  --font-family-font-awesome: "Font Awesome 5 Free"; }

/*------------------------------------------------------------
	HOME
------------------------------------------------------------*/
#gHeader {
  border-bottom: none; }

#home_hero {
  max-width: 198rem;
  margin: 0 auto 8rem; }
  @media screen and (max-width: 767px) {
    #home_hero {
      margin: 0 auto 5rem; } }
  #home_hero #slick-slide .slick-dots {
    bottom: 1.5rem; }
    #home_hero #slick-slide .slick-dots li button:before {
      color: var(--color-white);
      font-size: 1.0rem;
      opacity: 0.5; }
    #home_hero #slick-slide .slick-dots li.slick-active button:before {
      opacity: 1.0; }

.section_heading .section_title {
  font-size: clamp( 2.8rem, calc(2.8rem + (3.2rem - 2.8rem) * ((100vw - 375px) / (1200px - 375px))), 3.2rem ); }
  .section_heading .section_title small {
    display: inline-block;
    margin-right: 1em;
    font-size: clamp( 1.6rem, calc(1.6rem + (2.4rem - 1.6rem) * ((100vw - 375px) / (1200px - 375px))), 2.4rem ); }
  .section_heading .section_title span {
    display: inline-block; }

#sec_about {
  margin-bottom: 8rem;
  padding-bottom: 8rem;
  background-image: linear-gradient(var(--color-white) 12%, var(--color-bg01) 12%); }
  @media screen and (max-width: 767px) {
    #sec_about {
      margin-bottom: 4rem;
      padding-bottom: 4rem;
      background-image: linear-gradient(var(--color-white) 50%, var(--color-bg01) 50%); } }
  #sec_about .block_detail {
    width: 100%;
    max-width: 96rem;
    margin: auto; }
    #sec_about .block_detail .box_txt {
      width: 34rem;
      margin-top: 10rem; }
      @media screen and (max-width: 767px) {
        #sec_about .block_detail .box_txt {
          width: 100%;
          margin-top: 0;
          padding: 0 2rem; } }
      #sec_about .block_detail .box_txt .txt {
        margin-bottom: 2rem;
        line-height: 2.0; }
    #sec_about .block_detail .box_img {
      width: 54rem; }
      @media screen and (max-width: 767px) {
        #sec_about .block_detail .box_img {
          width: 27rem;
          margin: 3rem auto 0; } }
    #sec_about .block_detail .headLine {
      margin-bottom: 4rem;
      color: var(--color-primary);
      font-size: clamp( 3.8rem, calc(3.8rem + (5.4rem - 3.8rem) * ((100vw - 375px) / (1200px - 375px))), 5.4rem );
      font-weight: 700;
      letter-spacing: 0;
      line-height: 1.2; }
      @media screen and (max-width: 767px) {
        #sec_about .block_detail .headLine {
          margin-bottom: 2rem; } }
      #sec_about .block_detail .headLine small {
        display: block;
        font-size: clamp( 1.2rem, calc(1.2rem + (1.4rem - 1.2rem) * ((100vw - 375px) / (1200px - 375px))), 1.4rem );
        font-weight: 500;
        letter-spacing: 0.1em; }
    #sec_about .block_detail.columns {
      align-items: center; }
  #sec_about .link_btn_pdf a {
    position: relative;
    display: inline-block;
    padding: 1.8rem 4rem 1.8rem 2rem;
    color: var(--color-white);
    font-weight: 600;
    line-height: 1.0;
    border: 1px solid var(--color-primary);
    background-color: var(--color-primary); }
    @media screen and (max-width: 767px) {
      #sec_about .link_btn_pdf a {
        padding: 1.2rem 3rem 1.2rem 1.5rem; } }
    #sec_about .link_btn_pdf a::after {
      content: "";
      display: inline-block;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 1.5rem;
      width: 1.4rem;
      height: 1.4rem;
      margin: auto;
      -webkit-mask: url("../img/icon01.svg");
      mask: url("../img/icon01.svg");
      mask-size: cover;
      vertical-align: middle;
      background-color: var(--color-white); }
      @media screen and (max-width: 767px) {
        #sec_about .link_btn_pdf a::after {
          right: 1rem;
          width: 1rem;
          height: 1rem; } }
    #sec_about .link_btn_pdf a:hover {
      color: var(--color-primary);
      background-color: unset; }
      #sec_about .link_btn_pdf a:hover::after {
        background-color: var(--color-primary); }

#sec_point {
  margin-bottom: 8rem; }
  #sec_point .list_top_point {
    display: flex;
    flex-wrap: wrap;
    column-gap: 1.8rem;
    row-gap: 5rem; }
    #sec_point .list_top_point > li {
      width: 100%;
      max-width: 348px; }
    @media screen and (max-width: 767px) {
      #sec_point .list_top_point {
        row-gap: 2rem; } }
  #sec_point .sec_point_img {
    max-width: 82rem;
    margin: 3.5rem auto 0; }
    @media screen and (max-width: 767px) {
      #sec_point .sec_point_img {
        max-width: 25rem;
        margin: 2.8rem auto 0; } }

#sec_group_companies {
  margin-bottom: 8rem; }
  #sec_group_companies .comLinkList {
    gap: 3rem; }
    #sec_group_companies .comLinkList > li {
      width: calc((100% - 3rem * 2) / 3);
      border: none; }
      @media screen and (max-width: 767px) {
        #sec_group_companies .comLinkList > li {
          width: 100%; } }
      #sec_group_companies .comLinkList > li .img {
        margin-bottom: 2rem;
        aspect-ratio: 340 / 214; }
      #sec_group_companies .comLinkList > li .txt {
        padding: 0 4rem 0 2rem;
        font-size: 1.8rem;
        font-weight: 500;
        letter-spacing: 0.1em; }
        @media screen and (max-width: 767px) {
          #sec_group_companies .comLinkList > li .txt {
            padding: 0 4rem 0 0; } }
        @media screen and (max-width: 767px) {
          #sec_group_companies .comLinkList > li .txt::after {
            right: 0; } }

#sec_news {
  margin-bottom: 8rem; }
  #sec_news .list_news {
    display: flex;
    flex-wrap: wrap; }
    @media screen and (max-width: 767px) {
      #sec_news .list_news {
        display: block; } }
    #sec_news .list_news > dt {
      flex-shrink: 0;
      width: 14em;
      padding: 1.5rem 0 1.5rem 2rem;
      font-weight: 600;
      border-top: 1px solid var(--color-primary); }
      @media screen and (max-width: 767px) {
        #sec_news .list_news > dt {
          width: 100%;
          padding: 1rem 0 0.5rem;
          border-image: linear-gradient(to right, var(--color-primary) 7em, var(--color-lightgray3) 7em) 1; } }
      #sec_news .list_news > dt:last-of-type {
        border-bottom: 1px solid var(--color-primary); }
        @media screen and (max-width: 767px) {
          #sec_news .list_news > dt:last-of-type {
            border-bottom: none; } }
      #sec_news .list_news > dt .date {
        display: inline-block;
        width: 7em; }
    #sec_news .list_news > dd {
      width: calc(100% - 14em);
      padding: 1.5rem 2rem;
      border-top: 1px solid var(--color-lightgray3); }
      @media screen and (max-width: 767px) {
        #sec_news .list_news > dd {
          width: 100%;
          padding: 0 0 1.5rem;
          border-top: none; } }
      #sec_news .list_news > dd:last-of-type {
        border-bottom: 1px solid var(--color-lightgray3); }
    #sec_news .list_news .label {
      display: inline-block;
      width: 6em;
      padding: 0 0.5em;
      font-size: clamp( 1.1rem, calc(1.1rem + (1.2rem - 1.1rem) * ((100vw - 375px) / (1200px - 375px))), 1.2rem );
      text-align: center;
      background-color: var(--color-bg02); }

#sec_access {
  margin-bottom: 8rem; }
  #sec_access .access_details {
    display: flex;
    gap: 3rem;
    margin-top: 1.5rem; }
    @media screen and (max-width: 767px) {
      #sec_access .access_details {
        flex-wrap: wrap;
        gap: 2rem; } }
    @media screen and (max-width: 767px) {
      #sec_access .access_details .access_info {
        width: 100%; } }
    @media screen and (max-width: 767px) {
      #sec_access .access_details .access_directions {
        width: 100%; } }
    #sec_access .access_details .access_directions > dl > dd {
      margin-left: 1em; }
    #sec_access .access_details .access_directions > dl + dl {
      margin-top: 1rem; }

/*------------------------------------------------------------
	グループ会社
------------------------------------------------------------*/
.page_navi {
  display: flex;
  justify-content: space-between;
  margin-bottom: 2rem; }
  .page_navi > li {
    width: calc((100% - 2rem)/ 2);
    height: 9.6rem;
    color: var(--color-white);
    font-size: clamp( 1.8rem, calc(1.8rem + (2.4rem - 1.8rem) * ((100vw - 375px) / (1200px - 375px))), 2.4rem );
    font-weight: 700; }
    @media screen and (max-width: 767px) {
      .page_navi > li {
        width: calc((100% - 1.5rem)/ 2);
        height: 5rem; } }
    .page_navi > li a, .page_navi > li span {
      position: relative;
      display: flex;
      align-items: center;
      width: 100%;
      height: 100%;
      padding: 0 3rem;
      background-color: var(--color-primary); }
      @media screen and (max-width: 767px) {
        .page_navi > li a, .page_navi > li span {
          padding: 0 2rem; } }
    .page_navi > li a {
      color: var(--color-primary);
      background-color: var(--color-bg01); }
      .page_navi > li a::after {
        content: "";
        position: absolute;
        top: 0;
        bottom: 0;
        right: 4rem;
        display: inline-block;
        width: 4rem;
        height: 4rem;
        margin: auto;
        background-image: url("../img/icon10.svg");
        background-size: cover;
        background-repeat: no-repeat;
        vertical-align: middle; }
        @media screen and (max-width: 767px) {
          .page_navi > li a::after {
            right: 2rem;
            width: 2rem;
            height: 2rem; } }
      .page_navi > li a:hover {
        color: var(--color-white);
        background-color: var(--color-bg02); }

/*------------------------------------------------------------
	category_company
------------------------------------------------------------*/
.category_company #sec_company {
  margin-bottom: 8rem; }
  .category_company #sec_company .about_company {
    width: 100%;
    max-width: 70rem;
    margin: 0 auto; }
    .category_company #sec_company .about_company .txt {
      margin-top: 2rem;
      line-height: 2; }
  .category_company #sec_company .company_profile {
    display: flex;
    flex-wrap: wrap;
    margin-top: 5rem; }
    .category_company #sec_company .company_profile > dt {
      flex-shrink: 0;
      width: 20rem;
      padding: 1.5rem 2rem;
      font-weight: 600;
      border-top: 1px solid var(--color-primary); }
      @media screen and (max-width: 767px) {
        .category_company #sec_company .company_profile > dt {
          width: 6em;
          padding: 1rem 0; } }
      .category_company #sec_company .company_profile > dt:last-of-type {
        border-bottom: 1px solid var(--color-primary); }
    .category_company #sec_company .company_profile > dd {
      width: calc(100% - 20rem);
      padding: 1.5rem 2rem;
      border-top: 1px solid var(--color-lightgray3); }
      @media screen and (max-width: 767px) {
        .category_company #sec_company .company_profile > dd {
          width: calc(100% - 6em);
          padding: 1rem 0; } }
      .category_company #sec_company .company_profile > dd:last-of-type {
        border-bottom: 1px solid var(--color-lightgray3); }
      .category_company #sec_company .company_profile > dd span {
        display: inline-block; }
  .category_company #sec_company .block_link_btn {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin: 2rem 0; }
  .category_company #sec_company .link_btn02 a {
    display: inline-block;
    padding: 0.3em 1.5em;
    border: 1px solid var(--color-primary);
    border-radius: 999px; }
    .category_company #sec_company .link_btn02 a::after {
      width: 1.6rem;
      height: 1.6rem;
      margin-left: 1rem;
      content: "";
      display: inline-block;
      -webkit-mask: url("../img/icon01.svg");
      mask: url("../img/icon01.svg");
      mask-size: cover;
      vertical-align: baseline;
      background-color: var(--color-primary); }
      @media screen and (max-width: 767px) {
        .category_company #sec_company .link_btn02 a::after {
          width: 1.4rem;
          height: 1.4rem; } }
.category_company #sec_image {
  margin-bottom: 8rem;
  padding: 5rem 0;
  background-color: var(--color-bg01); }
  @media screen and (max-width: 767px) {
    .category_company #sec_image {
      padding: 3rem 0; } }
  .category_company #sec_image .innerBox {
    max-width: 108rem;
    margin: auto; }
    @media screen and (max-width: 767px) {
      .category_company #sec_image .innerBox {
        padding: 0; } }
  .category_company #sec_image #slick-slide .slick-arrow {
    position: absolute;
    top: 13.5rem;
    z-index: 1;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .category_company #sec_image #slick-slide .slick-arrow {
        top: 4.8rem; } }
  .category_company #sec_image #slick-slide .slick-prev:before,
  .category_company #sec_image #slick-slide .slick-next:before {
    font-size: 20px; }
  .category_company #sec_image #slick-slide .slick-prev {
    left: 20px; }
    @media screen and (max-width: 767px) {
      .category_company #sec_image #slick-slide .slick-prev {
        left: 0; } }
  .category_company #sec_image #slick-slide .slick-next {
    right: 20px; }
    @media screen and (max-width: 767px) {
      .category_company #sec_image #slick-slide .slick-next {
        right: 0; } }
  .category_company #sec_image #slick-slide .slick-slide {
    padding: 20px; }
    @media screen and (max-width: 767px) {
      .category_company #sec_image #slick-slide .slick-slide {
        padding: 5px; } }
    .category_company #sec_image #slick-slide .slick-slide img {
      width: 100%;
      height: auto; }
  .category_company #sec_image .list_img {
    display: flex;
    flex-wrap: wrap;
    column-gap: 4rem;
    row-gap: 3rem;
    padding: 0 2rem; }
    @media screen and (max-width: 767px) {
      .category_company #sec_image .list_img {
        column-gap: 1.5rem;
        row-gap: 2rem; } }
    .category_company #sec_image .list_img > li {
      width: calc((100% - 8rem) / 3); }
      @media screen and (max-width: 767px) {
        .category_company #sec_image .list_img > li {
          width: calc((100% - 1.5rem) / 2); } }
  .category_company #sec_image .caption {
    margin-top: 1rem;
    font-size: clamp( 1.2rem, calc(1.2rem + (1.4rem - 1.2rem) * ((100vw - 375px) / (1200px - 375px))), 1.4rem );
    line-height: 1.5; }
.category_company #sec_recruit {
  margin-bottom: 8rem; }
  .category_company #sec_recruit .block_detail {
    padding: 0 2rem;
    align-items: center; }
    @media screen and (max-width: 767px) {
      .category_company #sec_recruit .block_detail {
        padding: 0; } }
  .category_company #sec_recruit .link_recruit a {
    position: relative;
    display: block;
    width: 30rem;
    padding: 1.9rem 3rem;
    margin: 2rem auto 0;
    color: var(--color-white);
    font-size: clamp( 1.6rem, calc(1.6rem + (2rem - 1.6rem) * ((100vw - 375px) / (1200px - 375px))), 2rem );
    font-weight: 700;
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 0.5rem; }
    @media screen and (max-width: 767px) {
      .category_company #sec_recruit .link_recruit a {
        width: 24rem;
        padding: 1rem 2rem; } }
    .category_company #sec_recruit .link_recruit a::after {
      content: "";
      position: absolute;
      top: 0;
      bottom: 0;
      right: 2rem;
      display: inline-block;
      width: 4rem;
      height: 4rem;
      margin: auto;
      -webkit-mask: url("../img/icon11.svg");
      mask: url("../img/icon11.svg");
      -webkit-mask-size: cover;
      mask-size: cover;
      background-color: var(--color-white);
      vertical-align: middle; }
      @media screen and (max-width: 767px) {
        .category_company #sec_recruit .link_recruit a::after {
          width: 3rem;
          height: 3rem; } }
    .category_company #sec_recruit .link_recruit a:hover {
      color: var(--color-primary);
      background-color: unset; }
      .category_company #sec_recruit .link_recruit a:hover::after {
        background-color: var(--color-primary); }

/*------------------------------------------------------------
	category_recruit
------------------------------------------------------------*/
.category_recruit #sec_requirements {
  margin-bottom: 8rem; }
  .category_recruit #sec_requirements .requirements {
    display: flex;
    flex-wrap: wrap; }
    .category_recruit #sec_requirements .requirements > dt {
      flex-shrink: 0;
      width: 20rem;
      padding: 1.5rem 2rem;
      color: var(--color-primary);
      font-weight: 600;
      border-top: 1px solid var(--color-lightgray3); }
      @media screen and (max-width: 767px) {
        .category_recruit #sec_requirements .requirements > dt {
          width: 6em;
          padding: 1rem 0; } }
      .category_recruit #sec_requirements .requirements > dt:last-of-type {
        border-bottom: 1px solid var(--color-lightgray3); }
    .category_recruit #sec_requirements .requirements > dd {
      width: calc(100% - 20rem);
      padding: 1.5rem 2rem;
      border-top: 1px solid var(--color-lightgray3); }
      @media screen and (max-width: 767px) {
        .category_recruit #sec_requirements .requirements > dd {
          width: calc(100% - 6em);
          padding: 1rem 0; } }
      .category_recruit #sec_requirements .requirements > dd:last-of-type {
        border-bottom: 1px solid var(--color-lightgray3); }
      .category_recruit #sec_requirements .requirements > dd span {
        display: inline-block; }
  .category_recruit #sec_requirements a.email {
    display: inline-block;
    text-decoration: underline; }
.category_recruit #sec_apply {
  margin-bottom: 8rem; }
  .category_recruit #sec_apply .block_detail {
    width: 100%;
    max-width: 92rem;
    margin: auto; }
  .category_recruit #sec_apply .btn_apply a {
    display: block;
    width: 35rem;
    padding: 1.9rem 3rem;
    margin: 3rem auto 0;
    color: var(--color-white);
    font-size: clamp( 1.8rem, calc(1.8rem + (2rem - 1.8rem) * ((100vw - 375px) / (1200px - 375px))), 2rem );
    font-weight: 700;
    text-align: center;
    background-color: var(--color-primary);
    border: 1px solid var(--color-primary);
    border-radius: 0.5rem;
    /*&::before {
        content: '\f0e0';
        margin-right: 0.3em;
        font-family: var(--font-family-font-awesome);
    }*/ }
    @media screen and (max-width: 767px) {
      .category_recruit #sec_apply .btn_apply a {
        width: 24rem;
        padding: 1rem 2rem; } }
    .category_recruit #sec_apply .btn_apply a::before {
      width: 2.4rem;
      height: 2.4rem;
      margin-right: 0.3em;
      content: "";
      display: inline-block;
      -webkit-mask: url("../img/envelope-solid-full.svg");
      mask: url("../img/envelope-solid-full.svg");
      mask-size: cover;
      vertical-align: middle;
      background-color: var(--color-white); }
    .category_recruit #sec_apply .btn_apply a:hover {
      color: var(--color-primary);
      background-color: unset; }
      .category_recruit #sec_apply .btn_apply a:hover::before {
        background-color: var(--color-primary); }
  .category_recruit #sec_apply .btn_apply .note {
    text-align: center; }
