/* CSS Document */
.ul-header {
  background-image: url("../img/lower_header5.jpg"); }

#concept .concept_bg {
  background: url("../img/recruit_bg.png");
  background-repeat: no-repeat;
  background-position: right center;
  background-size: cover;
  padding: 5rem 0; }
  @media screen and (max-width: 767px) {
    #concept .concept_bg {
      background-position: center; } }
  #concept .concept_bg h3 {
    font-size: 36px;
    font-size: 3.6rem;
    color: #3D3D33;
    line-height: 1.75; }
    @media screen and (max-width: 767px) {
      #concept .concept_bg h3 {
        font-size: 30px;
        font-size: 3rem;
        line-height: 1.5; } }
    @media screen and (max-width: 575px) {
      #concept .concept_bg h3 {
        font-size: 25px;
        font-size: 2.5rem;
        margin-bottom: 2rem; } }
    #concept .concept_bg h3 span {
      color: #1A5319; }
  #concept .concept_bg p {
    text-align: justify; }

#merit .merit_bg {
  background: url("../img/recruit_bg2.png"), #EBF5EC;
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: cover;
  padding: 5rem 0; }
  @media screen and (max-width: 767px) {
    #merit .merit_bg {
      background-size: 100%; } }
  #merit .merit_bg h3 {
    text-align: center; }
    @media screen and (max-width: 575px) {
      #merit .merit_bg h3 {
        letter-spacing: 0;
        font-size: 24px;
        font-size: 2.4rem; } }
  #merit .merit_bg ol li {
    background-color: #fff;
    filter: drop-shadow(5px 5px 10px rgba(0, 0, 0, 0.2));
    transform: translateZ(0);
    position: relative;
    padding: 4rem 4rem 3rem 10rem;
    margin: 5rem 0; }
    @media screen and (max-width: 767px) {
      #merit .merit_bg ol li {
        padding: 3rem 3rem 2rem 8rem;
        margin: 4rem 0; } }
    @media screen and (max-width: 575px) {
      #merit .merit_bg ol li {
        padding: 2rem 2rem 1.5rem 4rem; } }
    #merit .merit_bg ol li h4 {
      margin-top: 0; }
    #merit .merit_bg ol li::before {
      content: '';
      background: url("../img/recruit_number1.svg");
      background-repeat: no-repeat;
      background-size: cover;
      width: 55px;
      height: 55px;
      position: absolute;
      top: -10%;
      left: 3%; }
      @media screen and (max-width: 767px) {
        #merit .merit_bg ol li::before {
          width: 45px;
          height: 45px; } }
      @media screen and (max-width: 575px) {
        #merit .merit_bg ol li::before {
          width: 35px;
          height: 35px;
          top: -5%;
          left: 0; } }
    #merit .merit_bg ol li:nth-child(1)::before {
      background: url("../img/recruit_number1.svg"); }
    #merit .merit_bg ol li:nth-child(2)::before {
      background: url("../img/recruit_number2.svg"); }
    #merit .merit_bg ol li:nth-child(3)::before {
      background: url("../img/recruit_number3.svg"); }
    #merit .merit_bg ol li:nth-child(4)::before {
      background: url("../img/recruit_number4.svg"); }
    #merit .merit_bg ol li:nth-child(5)::before {
      background: url("../img/recruit_number5.svg"); }
  #merit .merit_bg ol + div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    border: 1px solid #508D4E;
    background-color: #EBF5EC;
    border-radius: 5rem;
    font-size: 18px;
    font-size: 1.8rem; }
    @media screen and (max-width: 767px) {
      #merit .merit_bg ol + div {
        flex-wrap: wrap;
        border-radius: 2rem;
        position: relative;
        z-index: 1; } }
    @media screen and (max-width: 575px) {
      #merit .merit_bg ol + div {
        font-size: 15px;
        font-size: 1.5rem; } }
    #merit .merit_bg ol + div p {
      margin: 0;
      color: #1A5319;
      padding-left: 4rem; }
      @media screen and (max-width: 1199px) {
        #merit .merit_bg ol + div p {
          line-height: normal; } }
      @media screen and (max-width: 767px) {
        #merit .merit_bg ol + div p {
          padding: 1rem;
          text-align: center;
          width: 100%; } }
    #merit .merit_bg ol + div a {
      background-color: #508D4E;
      color: #fff;
      position: relative;
      display: flex;
      align-items: center;
      padding: 2rem 5rem 2rem 3rem;
      border-radius: 0 5rem 5rem 0;
      transition: 0.3s; }
      @media screen and (max-width: 767px) {
        #merit .merit_bg ol + div a {
          padding: 1rem 3rem 1rem 3rem;
          border-radius: 0 0 2rem 2rem;
          justify-content: center;
          width: 100%;
          display: flex;
          justify-content: space-between;
          align-items: center; } }
      #merit .merit_bg ol + div a:hover {
        background-color: #fff;
        color: #508D4E; }
      #merit .merit_bg ol + div a:hover::after {
        content: '';
        background-image: url("../img/arrow-04.svg");
        background-repeat: no-repeat;
        background-size: auto; }
      #merit .merit_bg ol + div a::after {
        content: '';
        background-image: url("../img/arrow-03.svg");
        background-repeat: no-repeat;
        background-size: auto;
        width: 30px;
        height: 30px;
        position: relative;
        top: 0;
        left: 20px;
        bottom: -5px;
        margin: auto;
        transition: 0.3s; }
        @media screen and (max-width: 767px) {
          #merit .merit_bg ol + div a::after {
            left: auto;
            margin: 0;
            bottom: 0;
            width: 24px;
            height: 24px;
            bottom: auto; } }

#staff .staff_bg {
  padding: 5rem 0; }
  #staff .staff_bg h3 {
    text-align: center; }
  #staff .staff_bg ul {
    margin: 5rem 0;
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 767px) {
      #staff .staff_bg ul {
        flex-wrap: wrap; } }
    @media screen and (max-width: 575px) {
      #staff .staff_bg ul {
        margin: 3rem 0; } }
    #staff .staff_bg ul li {
      width: 30%; }
      @media screen and (max-width: 767px) {
        #staff .staff_bg ul li {
          width: 47%;
          margin-top: 2rem; } }
      @media screen and (max-width: 575px) {
        #staff .staff_bg ul li {
          width: 100%; } }
      #staff .staff_bg ul li img {
        width: 100%; }
      #staff .staff_bg ul li h4 {
        font-style: oblique;
        font-size: 18px;
        font-size: 1.8rem;
        font-weight: bold;
        color: #1A5319;
        font-family: "Noto Serif JP", serif;
        padding: 2rem 0 1.5rem; }
      #staff .staff_bg ul li p {
        text-align: justify; }
    #staff .staff_bg ul + a {
      display: block;
      background-image: url("../img/recruit_department.png");
      background-color: #EBF5EC;
      background-repeat: no-repeat;
      background-position: right center;
      background-size: cover;
      padding: 6rem;
      filter: drop-shadow(5px 5px 5px rgba(0, 0, 0, 0.3));
      transform: translateZ(0);
      transition: 0.3s;
      margin-bottom: 3rem; }
      @media screen and (max-width: 767px) {
        #staff .staff_bg ul + a {
          background-position: center center;
          padding: 3rem; } }
      #staff .staff_bg ul + a:hover {
        background-color: #508D4E;
        filter: none; }
        #staff .staff_bg ul + a:hover h3 {
          color: #fff; }
          #staff .staff_bg ul + a:hover h3::after {
            content: '';
            background-image: url("../img/arrow-03.svg");
            background-repeat: no-repeat;
            background-size: auto; }
      #staff .staff_bg ul + a h3 {
        text-align: left;
        margin-bottom: 0;
        position: relative; }
        #staff .staff_bg ul + a h3::after {
          content: '';
          background-image: url("../../img/arrow-01.svg");
          background-repeat: no-repeat;
          background-size: auto;
          width: 30px;
          height: 30px;
          position: absolute;
          top: 0;
          left: 20%;
          bottom: -5px;
          margin: auto;
          transition: 0.3s; }
          @media screen and (max-width: 1199px) {
            #staff .staff_bg ul + a h3::after {
              left: 25%; } }
          @media screen and (max-width: 991px) {
            #staff .staff_bg ul + a h3::after {
              left: 20%;
              bottom: 0;
              width: 24px;
              height: 24px;
              bottom: -2px; } }
          @media screen and (max-width: 767px) {
            #staff .staff_bg ul + a h3::after {
              left: 25%; } }
          @media screen and (max-width: 575px) {
            #staff .staff_bg ul + a h3::after {
              left: 45%; } }

#person .person_bg {
  background-color: #EBF5EC;
  padding: 5rem 0; }
  #person .person_bg p {
    text-align: justify; }

#recruitment .recruitment_bg {
  padding: 5rem 0 8rem; }
  @media screen and (max-width: 767px) {
    #recruitment .recruitment_bg {
      padding: 5rem 0; } }
  #recruitment .recruitment_bg table {
    width: 100%; }
    #recruitment .recruitment_bg table tr th {
      background-color: #508D4E;
      color: #fff;
      border-bottom: 3px solid #fff;
      border-right: 3px solid #fff;
      padding: 1rem 2rem;
      align-content: flex-start; }
      @media screen and (max-width: 767px) {
        #recruitment .recruitment_bg table tr th {
          padding: 1rem; } }
      @media screen and (max-width: 575px) {
        #recruitment .recruitment_bg table tr th {
          padding: 1rem;
          text-align: justify;
          display: block; } }
    #recruitment .recruitment_bg table tr td {
      background-color: #EBF5EC;
      border-bottom: 3px solid #fff;
      padding: 1rem 2rem; }
      @media screen and (max-width: 767px) {
        #recruitment .recruitment_bg table tr td {
          padding: 1rem 1rem 1rem 2rem; } }
      @media screen and (max-width: 575px) {
        #recruitment .recruitment_bg table tr td {
          padding: 1rem 1.5rem;
          text-align: justify;
          display: block; } }
      #recruitment .recruitment_bg table tr td span {
        font-size: 14px;
        font-size: 1.4rem;
        display: block;
        text-indent: -1em;
        padding-left: 1em;
        line-height: normal;
        margin-top: 0.5rem; }
        @media screen and (max-width: 575px) {
          #recruitment .recruitment_bg table tr td span {
            font-size: 12px;
            font-size: 1.2rem; } }

#entry .entry_bg {
  background-image: url("../img/recruit_entry.png");
  background-repeat: no-repeat;
  background-position: left center;
  background-size: cover;
  padding: 10rem 0;
  text-align: center; }
  @media screen and (max-width: 767px) {
    #entry .entry_bg {
      padding: 5rem 0; } }
  @media screen and (max-width: 575px) {
    #entry .entry_bg {
      background-position: center; } }
  @media screen and (max-width: 575px) {
    #entry .entry_bg p {
      font-size: 14px;
      font-size: 1.4rem;
      -webkit-filter: drop-shadow(0px 0px 5px white);
      filter: drop-shadow(0px 0px 5px white);
      transform: translateZ(0); } }
  #entry .entry_bg a {
    background-color: rgba(255, 255, 255, 0.5);
    border: 1px solid #1A5319;
    display: inline-block;
    padding: 3rem 20rem 2.5rem;
    margin-top: 1rem;
    transition: 0.3s; }
    @media screen and (max-width: 767px) {
      #entry .entry_bg a {
        padding: 2.5rem 15rem 2rem; } }
    @media screen and (max-width: 575px) {
      #entry .entry_bg a {
        padding: 2rem 8rem 1.5rem; } }
    #entry .entry_bg a:hover {
      background-color: #508D4E; }
      #entry .entry_bg a:hover span {
        color: #fff; }
    #entry .entry_bg a span {
      position: relative;
      font-size: 50px;
      font-size: 5rem;
      font-family: "Noto Serif JP", serif;
      color: #1A5319; }
      @media screen and (max-width: 767px) {
        #entry .entry_bg a span {
          font-size: 40px;
          font-size: 4rem; } }
      @media screen and (max-width: 575px) {
        #entry .entry_bg a span {
          font-size: 30px;
          font-size: 3rem; } }
