.main-msg {
  font-size: 3.2rem;
  font-weight: bold; }
  @media (max-width: 480px) {
    .main-msg {
      font-size: 5.7692307692vw;
      line-height: 1.3;
      padding-top: 11.2820512821vw;
      padding-bottom: 5.8974358974vw; } }

#slide-bottom {
  position: relative; }
  #slide-bottom.section {
    padding-bottom: 0; }
    @media (max-width: 480px) {
      #slide-bottom.section {
        padding: 0; } }
  #slide-bottom .slide_content {
    position: sticky;
    top: 150px; }
    @media (max-width: 480px) {
      #slide-bottom .slide_content {
        position: static;
        top: 0; } }
    #slide-bottom .slide_content .slide_in {
      position: relative;
      width: 100%;
      padding: 100px 0 130px;
      margin: 0 auto; }
      @media (max-width: 480px) {
        #slide-bottom .slide_content .slide_in {
          padding: 7.6923076923vw 0 12.8205128205vw; } }
      #slide-bottom .slide_content .slide_in .tab {
        position: absolute;
        top: 30px;
        right: 9px;
        font-size: 1.8rem;
        font-weight: bold;
        writing-mode: vertical-rl;
        padding-top: 25px; }
        @media (max-width: 480px) {
          #slide-bottom .slide_content .slide_in .tab {
            position: relative;
            top: auto;
            right: auto;
            font-size: 3.5897435897vw;
            line-height: 1;
            writing-mode: unset;
            padding-top: 0;
            padding-left: 8%;
            margin-bottom: 3.8461538462vw; } }
        #slide-bottom .slide_content .slide_in .tab::before {
          position: absolute;
          top: 0;
          left: 50%;
          transform: translateX(-50%);
          content: "";
          width: 14px;
          height: 14px;
          background-color: #ffd800;
          border-radius: 50%; }
          @media (max-width: 480px) {
            #slide-bottom .slide_content .slide_in .tab::before {
              top: 50%;
              left: 4%;
              width: 2.5641025641vw;
              height: 2.5641025641vw;
              transform: translateY(-50%); } }
      #slide-bottom .slide_content .slide_in.item01 {
        background-color: #fff;
        z-index: 1; }
      #slide-bottom .slide_content .slide_in.item02 {
        right: 47px;
        background-color: #f4f6fe;
        border-radius: 0 20px 0 0;
        z-index: 2; }
        #slide-bottom .slide_content .slide_in.item02 .flex_in {
          left: 47px; }
      #slide-bottom .slide_content .slide_in.item03 {
        right: 93px;
        background-color: #e8ecfc;
        border-radius: 0 20px 0 0;
        z-index: 3; }
        #slide-bottom .slide_content .slide_in.item03 .flex_in {
          left: 93px; }
      #slide-bottom .slide_content .slide_in.item04 {
        right: 139px;
        background-color: #dde2fb;
        border-radius: 0 20px 0 0;
        z-index: 4; }
        @media (max-width: 480px) {
          #slide-bottom .slide_content .slide_in.item04 {
            padding-bottom: 38.4615384615vw; } }
        #slide-bottom .slide_content .slide_in.item04 .flex_in {
          left: 139px; }
      @media (max-width: 480px) {
        #slide-bottom .slide_content .slide_in.item01, #slide-bottom .slide_content .slide_in.item02, #slide-bottom .slide_content .slide_in.item03, #slide-bottom .slide_content .slide_in.item04 {
          right: auto;
          border-radius: 0; }
          #slide-bottom .slide_content .slide_in.item01 .flex_in, #slide-bottom .slide_content .slide_in.item02 .flex_in, #slide-bottom .slide_content .slide_in.item03 .flex_in, #slide-bottom .slide_content .slide_in.item04 .flex_in {
            left: auto; } }
      #slide-bottom .slide_content .slide_in .section_content .flex_in {
        position: relative;
        justify-content: space-between;
        gap: 100px; }
        @media (max-width: 1500px) {
          #slide-bottom .slide_content .slide_in .section_content .flex_in {
            width: 74vw; } }
        @media (max-width: 480px) {
          #slide-bottom .slide_content .slide_in .section_content .flex_in {
            gap: 4.8717948718vw;
            width: 100%;
            flex-direction: column-reverse; } }
        #slide-bottom .slide_content .slide_in .section_content .flex_in .left_area,
        #slide-bottom .slide_content .slide_in .section_content .flex_in .right_area {
          flex: 1; }
        #slide-bottom .slide_content .slide_in .section_content .flex_in .left_area {
          max-width: 520px;
          min-width: 460px; }
          @media (max-width: 480px) {
            #slide-bottom .slide_content .slide_in .section_content .flex_in .left_area {
              max-width: 100%;
              min-width: 100%; } }
          #slide-bottom .slide_content .slide_in .section_content .flex_in .left_area .txt {
            font-weight: 500;
            letter-spacing: 0;
            padding-top: 30px; }
            @media (max-width: 480px) {
              #slide-bottom .slide_content .slide_in .section_content .flex_in .left_area .txt {
                font-size: 3.8461538462vw;
                line-height: 1.5;
                padding-top: 2.8205128205vw; } }
        #slide-bottom .slide_content .slide_in .section_content .flex_in .right_area {
          max-width: 490px;
          min-width: 350px; }
          @media (max-width: 480px) {
            #slide-bottom .slide_content .slide_in .section_content .flex_in .right_area {
              max-width: 100%;
              min-width: 100%; } }
          #slide-bottom .slide_content .slide_in .section_content .flex_in .right_area .img {
            border-radius: 20px;
            overflow: hidden; }
            @media (max-width: 480px) {
              #slide-bottom .slide_content .slide_in .section_content .flex_in .right_area .img {
                border-radius: 2.5641025641vw; } }

@media (max-width: 480px) {
  #environment {
    padding: 11.5384615385vw 0 0; } }
#environment .flex_in {
  justify-content: space-between;
  gap: 40px; }
  @media (max-width: 480px) {
    #environment .flex_in {
      gap: 5.3846153846vw; } }
  #environment .flex_in .left_area {
    flex: 1; }
    #environment .flex_in .left_area .ttl {
      font-size: 3.2rem;
      font-weight: bold;
      margin-top: -10px;
      margin-bottom: 35px; }
      @media (max-width: 480px) {
        #environment .flex_in .left_area .ttl {
          font-size: 5.7692307692vw;
          line-height: 1.4;
          margin-top: 0;
          margin-bottom: 3.3333333333vw; } }
    #environment .flex_in .left_area .txt {
      font-weight: 500;
      letter-spacing: 0; }
      @media (max-width: 480px) {
        #environment .flex_in .left_area .txt {
          font-size: 3.8461538462vw;
          line-height: 1.5; } }
      @media (max-width: 480px) {
        #environment .flex_in .left_area .txt p:not(:last-child) {
          margin-bottom: 6.4102564103vw; } }
      #environment .flex_in .left_area .txt p:last-child {
        margin-bottom: 0; }
  #environment .flex_in .right_area {
    width: 436px; }
    @media (max-width: 480px) {
      #environment .flex_in .right_area {
        width: 100%; } }
    #environment .flex_in .right_area .img {
      border-radius: 20px;
      overflow: hidden; }
      @media (max-width: 480px) {
        #environment .flex_in .right_area .img {
          border-radius: 2.5641025641vw; } }

#safety .flex_in .flex_item {
  min-height: 659px; }
  @media (max-width: 480px) {
    #safety .flex_in .flex_item {
      min-height: auto; } }

#work {
  position: relative;
  z-index: 0; }
  #work::after {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    content: "";
    width: 100%;
    height: 180%;
    background-color: #f4f6fe;
    z-index: -1; }
    @media (max-width: 480px) {
      #work::after {
        height: 145%; } }
  #work .flex_in {
    justify-content: space-between;
    align-items: stretch; }
    @media (max-width: 480px) {
      #work .flex_in {
        gap: 6.4102564103vw; } }
    #work .flex_in .card_item {
      display: flex;
      align-items: center;
      flex-direction: column;
      gap: 20px;
      width: calc((100% - 38px) / 3);
      background-color: #fff;
      border: 1px solid #2f49e3;
      border-radius: 10px;
      padding: 27px 16px 22px 16px; }
      @media (max-width: 480px) {
        #work .flex_in .card_item {
          gap: 4.8717948718vw;
          width: 100%;
          border-radius: 2.5641025641vw;
          padding: 7.1794871795vw 6.1538461538vw 5.641025641vw 6.1538461538vw; } }
      #work .flex_in .card_item .ttl {
        font-size: 2.6rem;
        font-weight: bold;
        line-height: 1; }
        @media (max-width: 480px) {
          #work .flex_in .card_item .ttl {
            font-size: 6.4102564103vw; } }
      #work .flex_in .card_item .line {
        width: 30px;
        height: 1px;
        background-color: #2f49e3; }
        @media (max-width: 480px) {
          #work .flex_in .card_item .line {
            width: 7.6923076923vw; } }
      #work .flex_in .card_item .txt {
        flex-grow: 1;
        font-weight: 500;
        line-height: 1.4;
        letter-spacing: 0;
        text-align: center; }
        @media (max-width: 480px) {
          #work .flex_in .card_item .txt {
            font-size: 3.8461538462vw;
            line-height: 1.5;
            padding-bottom: 0.7692307692vw; } }
      #work .flex_in .card_item .img {
        align-self: flex-end;
        width: 306px;
        border-radius: 10px;
        overflow: hidden; }
        @media (max-width: 480px) {
          #work .flex_in .card_item .img {
            width: 100%;
            border-radius: 1.2820512821vw; } }
  #work .btn {
    margin: 51px auto 100px; }
    @media (max-width: 480px) {
      #work .btn {
        margin: 10.2564102564vw auto 34.6153846154vw; } }

.contents_ttl {
  font-size: 3.2rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 30px; }
  @media (max-width: 480px) {
    .contents_ttl {
      font-size: 5.1282051282vw;
      line-height: 1;
      margin-bottom: 6.6666666667vw; } }
  .contents_ttl .fc-base {
    font-size: 4rem; }
    @media (max-width: 480px) {
      .contents_ttl .fc-base {
        font-size: 6.4102564103vw; } }

@media (max-width: 480px) {
  #point {
    padding-top: 15.3846153846vw; } }
#point .flex_in .flex_item {
  min-height: 608px; }
  @media (max-width: 480px) {
    #point .flex_in .flex_item {
      min-height: auto; } }

#point .flex_in,
#safety .flex_in {
  justify-content: space-between;
  align-items: stretch; }
  @media (max-width: 480px) {
    #point .flex_in,
    #safety .flex_in {
      gap: 6.4102564103vw; } }
  #point .flex_in .flex_item,
  #safety .flex_in .flex_item {
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    width: 528px;
    background-color: #fff;
    border: 2px solid #2f49e3;
    border-radius: 20px;
    padding: 0 32px 32px; }
    @media (max-width: 480px) {
      #point .flex_in .flex_item,
      #safety .flex_in .flex_item {
        gap: 3.5897435897vw;
        width: 100%;
        border: 1px solid #2f49e3;
        border-radius: 2.5641025641vw;
        padding: 0 7.0512820513vw 6.4102564103vw; } }
    #point .flex_in .flex_item .index,
    #safety .flex_in .flex_item .index {
      width: 298px;
      font-size: 2.2rem;
      font-weight: 900;
      line-height: 1;
      color: #fff;
      text-align: center;
      background-color: #2f49e3;
      border-radius: 0 0 20px 20px;
      padding: 12px 0 20px;
      margin-bottom: 10px; }
      @media (max-width: 480px) {
        #point .flex_in .flex_item .index,
        #safety .flex_in .flex_item .index {
          width: 38.2051282051vw;
          font-size: 2.8205128205vw;
          border-radius: 0 0 2.5641025641vw 2.5641025641vw;
          padding: 1.5384615385vw 0 2.5641025641vw;
          margin-bottom: 1.2820512821vw; } }
    #point .flex_in .flex_item .ttl,
    #safety .flex_in .flex_item .ttl {
      font-size: 4.5rem;
      font-weight: bold;
      line-height: 1;
      margin-bottom: 6px; }
      @media (max-width: 480px) {
        #point .flex_in .flex_item .ttl,
        #safety .flex_in .flex_item .ttl {
          font-size: 6.4102564103vw;
          margin-bottom: 0.7692307692vw; } }
    #point .flex_in .flex_item .txt,
    #safety .flex_in .flex_item .txt {
      flex-grow: 1;
      font-weight: 500;
      letter-spacing: 0; }
      @media (max-width: 480px) {
        #point .flex_in .flex_item .txt,
        #safety .flex_in .flex_item .txt {
          flex-grow: unset;
          font-size: 3.8461538462vw; } }
    #point .flex_in .flex_item .img,
    #safety .flex_in .flex_item .img {
      align-self: end;
      width: 460px;
      border-radius: 20px;
      overflow: hidden;
      margin-top: 15px; }
      @media (max-width: 480px) {
        #point .flex_in .flex_item .img,
        #safety .flex_in .flex_item .img {
          width: 100%;
          border-radius: 2.5641025641vw;
          margin-top: 1.9230769231vw; } }

@media (max-width: 480px) {
  #recruit.section {
    padding-bottom: 32.0512820513vw; } }

@media (max-width: 480px) {
  .greeting {
    padding: 15.3846153846vw 0; } }
.greeting .notification {
  margin-bottom: 0; }
.greeting .img {
  width: 500px;
  margin: 0 auto; }
  @media (max-width: 480px) {
    .greeting .img {
      width: 100%; } }

section.access {
  margin-bottom: 100px; }
  @media (max-width: 480px) {
    section.access {
      padding-top: 15.3846153846vw;
      margin-bottom: 25.641025641vw; } }
  section.access .explanation {
    padding-top: 50px; }
    @media (max-width: 480px) {
      section.access .explanation {
        padding-top: 6.4102564103vw; } }
    section.access .explanation .img {
      margin-bottom: 20px; }
      @media (max-width: 480px) {
        section.access .explanation .img {
          margin-bottom: 2.5641025641vw; } }
      section.access .explanation .img .flex_in {
        gap: 25px; }
        section.access .explanation .img .flex_in .left_img {
          width: 735px;
          aspect-ratio: 748 / 350; }
          @media (max-width: 480px) {
            section.access .explanation .img .flex_in .left_img {
              width: 100%; } }
        section.access .explanation .img .flex_in .right_img {
          width: calc(100% - (735px + 25px)); }
          @media (max-width: 480px) {
            section.access .explanation .img .flex_in .right_img {
              width: 80%; } }
