/***********************************************************************
media queries setting
**********************************************************************/
/***********************************************************************
variable
**********************************************************************/
.pc {
  display: block; }
  @media (max-width: 768px) {
    .pc {
      display: none !important; } }

.sp {
  display: none !important; }
  @media (max-width: 768px) {
    .sp {
      display: block !important; } }

.flex-reverse {
  flex-direction: row-reverse; }

/*------------------------------
    lower page
--------------------------------*/
.lower-page {
  /*main*/ }
  .lower-page .main {
    margin: 130px auto 0;
    max-width: 1200px;
    width: 90%; }
    @media (max-width: 768px) {
      .lower-page .main {
        margin-top: 48px; } }
    .lower-page .main .inner {
      display: flex;
      justify-content: space-between;
      gap: 0 5%; }
    .lower-page .main .title-wrapper {
      width: 46%; }
      @media (max-width: 768px) {
        .lower-page .main .title-wrapper {
          width: 100%; } }
    .lower-page .main .en {
      font-family: "Antonio", serif;
      font-size: clamp(52px, 8vw, 100px);
      font-weight: 700;
      letter-spacing: 23px;
      line-height: 1; }
      @media (max-width: 768px) {
        .lower-page .main .en {
          text-align: center;
          letter-spacing: 8px; } }
    .lower-page .main .head {
      font-size: clamp(18px, 2vw, 30px);
      font-weight: 700;
      margin-top: 1.5rem;
      letter-spacing: 5px; }
      @media (max-width: 768px) {
        .lower-page .main .head {
          text-align: center; } }
    .lower-page .main .text {
      font-size: clamp(15px, 1.6vw, 18px);
      font-weight: 400;
      line-height: 2;
      margin-top: 3.5rem; }
      @media (max-width: 768px) {
        .lower-page .main .text {
          margin-top: 1.5rem; } }
    .lower-page .main .image {
      width: auto; }
      @media (max-width: 768px) {
        .lower-page .main .image {
          margin: 2rem auto 0;
          width: 80%; } }
  .lower-page#benefits .main .inner {
    align-items: flex-end; }
  .lower-page#career-plan .main .inner {
    gap: 0 2%; }
  .lower-page#career-plan .main .title-wrapper {
    width: 65%; }
    @media (max-width: 768px) {
      .lower-page#career-plan .main .title-wrapper {
        width: 100%; } }
    .lower-page#career-plan .main .title-wrapper .en {
      white-space: nowrap; }

/*lower-page*/
/*------------------------------
    benefits
--------------------------------*/
#benefits {
  /*welfare-list-wrapper*/
  /*nextbtn-wrapper*/
  /*welfare-swiper-container*/ }
  #benefits .welfare-list-wrapper {
    border: 11px solid #ea5514;
    border-radius: 25px;
    margin: 120px auto 0;
    max-width: 870px;
    padding: 0 4rem;
    width: calc(90% - 8rem); }
    @media (max-width: 768px) {
      #benefits .welfare-list-wrapper {
        border-width: 6px;
        margin-top: 32px;
        padding: 2rem 0rem;
        width: 90%; } }
    #benefits .welfare-list-wrapper .inner {
      display: flex;
      justify-content: space-around;
      padding: 0 0;
      position: relative;
      /*ul*/ }
      @media (max-width: 768px) {
        #benefits .welfare-list-wrapper .inner {
          display: inherit; } }
      #benefits .welfare-list-wrapper .inner::before {
        content: "";
        background: #fff;
        height: calc(100% + 22px);
        width: 100%;
        position: absolute;
        top: -11px;
        left: 0; }
        @media (max-width: 768px) {
          #benefits .welfare-list-wrapper .inner::before {
            height: 100%;
            width: calc(100% + 12px);
            top: 0;
            left: -6px; } }
      @media (max-width: 768px) {
        #benefits .welfare-list-wrapper .inner ul {
          padding-left: 1.2rem; } }
      #benefits .welfare-list-wrapper .inner ul li {
        font-size: clamp(17px, 1.7vw, 18px);
        font-weight: 700;
        position: relative;
        padding-left: 1.5rem; }
        #benefits .welfare-list-wrapper .inner ul li::before {
          content: "\025ce";
          position: absolute;
          top: 0;
          left: 1px; }
        #benefits .welfare-list-wrapper .inner ul li + li {
          margin-top: .5rem; }
  #benefits .nextbtn-wrapper {
    position: relative; }
  #benefits .swiper-button-prev {
    left: var(--swiper-navigation-sides-offset, 23%);
    top: 41%; }
    @media (max-width: 768px) {
      #benefits .swiper-button-prev {
        display: none; } }
    #benefits .swiper-button-prev::after {
      content: "";
      display: block;
      background: url("../img/benefits/arrow-prev.svg") no-repeat 0 0;
      width: 52px;
      height: 118px; }
  #benefits .swiper-button-next {
    right: var(--swiper-navigation-sides-offset, 23%);
    top: 41%; }
    @media (max-width: 768px) {
      #benefits .swiper-button-next {
        display: none; } }
    #benefits .swiper-button-next::after {
      content: "";
      display: block;
      background: url("../img/benefits/arrow-next.svg") no-repeat 0 0;
      width: 52px;
      height: 118px; }
  #benefits .welfare-swiper-container {
    margin: 6rem auto 3rem;
    padding-bottom: 140px;
    width: 100%;
    overflow: hidden;
    /*swiper-slide*/ }
    @media (max-width: 768px) {
      #benefits .welfare-swiper-container {
        margin-bottom: 0;
        padding-bottom: 0;
        overflow: inherit; } }
    #benefits .welfare-swiper-container::before {
      content: "";
      background: #f8b605;
      clip-path: polygon(20% 0, 80% 0, 100% 100%, 0 100%);
      height: 345px;
      width: 95%;
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translate(-50%, 0); }
      @media (max-width: 768px) {
        #benefits .welfare-swiper-container::before {
          content: none; } }
    @media (max-width: 768px) {
      #benefits .welfare-swiper-container .swiper-wrapper {
        flex-wrap: wrap; } }
    #benefits .welfare-swiper-container .swiper-slide {
      height: auto;
      /*box*/ }
      #benefits .welfare-swiper-container .swiper-slide .box {
        background: #fff;
        border: 1px solid #f8b605;
        border-radius: 15px;
        height: 86%;
        padding: 40px;
        position: relative; }
        @media (max-width: 768px) {
          #benefits .welfare-swiper-container .swiper-slide .box {
            border-width: 2px;
            border-left: none;
            border-right: none;
            border-bottom: none;
            border-radius: 0;
            height: auto;
            padding: 30px 5% 40px; } }
        #benefits .welfare-swiper-container .swiper-slide .box .head {
          background: #f8b605;
          padding: .45rem 0;
          text-align: center;
          clip-path: polygon(5% 100%, 95% 100%, 100% 0, 0 0);
          border-radius: 0 0 29px 29px / 0 0 65px 65px;
          position: absolute;
          top: 0;
          left: 50%;
          transform: translate(-50%, 0);
          width: 68%; }
          @media (max-width: 768px) {
            #benefits .welfare-swiper-container .swiper-slide .box .head {
              padding: 0 0 .15rem;
              min-width: 170px; } }
          #benefits .welfare-swiper-container .swiper-slide .box .head span {
            color: #fff;
            font-size: clamp(20px, 2.5vw, 29px);
            font-weight: 700; }
        #benefits .welfare-swiper-container .swiper-slide .box .text-box {
          margin: 1rem auto 0;
          width: 80%;
          max-width: 455px; }
          @media (max-width: 768px) {
            #benefits .welfare-swiper-container .swiper-slide .box .text-box {
              width: 100%; } }
        #benefits .welfare-swiper-container .swiper-slide .box .desc {
          font-size: clamp(14px, 1.4vw, 15px);
          font-weight: 400; }
        #benefits .welfare-swiper-container .swiper-slide .box ul {
          margin-top: 1rem; }
          #benefits .welfare-swiper-container .swiper-slide .box ul li {
            font-size: clamp(14px, 1.5vw, 16px);
            font-weight: 700;
            padding: .5rem;
            text-align: center; }
            #benefits .welfare-swiper-container .swiper-slide .box ul li small {
              font-size: clamp(14px, 1.4vw, 15px); }
            #benefits .welfare-swiper-container .swiper-slide .box ul li + li {
              border-top: 1px solid #000; }
      #benefits .welfare-swiper-container .swiper-slide.swiper-slide-prev, #benefits .welfare-swiper-container .swiper-slide.swiper-slide-next {
        opacity: .6; }

/*benefits*/
/*------------------------------
    message
--------------------------------*/
.message-page {
  background: #fef6e5;
  /*message-main*/
  /*answer-wrapper*/
  /*schedule-wrapper*/
  /*person-list-wrapper*/ }
  .message-page .header {
    background: #fff; }
  .message-page .back-border {
    margin: 56px auto 0;
    max-width: 1200px;
    padding: 0 0 138px;
    position: relative; }
    @media (max-width: 768px) {
      .message-page .back-border {
        margin: 0px auto 0;
        padding: 0 0 55px; } }
    .message-page .back-border::before {
      content: "";
      background: #fff;
      border-radius: 32px;
      height: calc(100% - 300px);
      max-width: 840px;
      width: 69%;
      position: absolute;
      top: 300px;
      left: 50%;
      transform: translate(-50%, 0);
      z-index: -1; }
      @media (max-width: 768px) {
        .message-page .back-border::before {
          border-radius: 18px;
          width: 60%; } }
  .message-page .message-main {
    /*title-wrapper*/ }
    @media (max-width: 768px) {
      .message-page .message-main .inner {
        margin: auto;
        width: 95%; } }
    .message-page .message-main .title-wrapper {
      /*head*/ }
      .message-page .message-main .title-wrapper .head {
        color: #ea5514;
        font-size: clamp(20px, 2.4vw, 33px);
        font-weight: 700;
        letter-spacing: 2px;
        text-align: center; }
        @media (max-width: 768px) {
          .message-page .message-main .title-wrapper .head {
            padding-left: .5rem;
            text-align: left; } }
        .message-page .message-main .title-wrapper .head span {
          display: inline-block;
          padding: 5rem 10rem;
          position: relative; }
          @media (max-width: 768px) {
            .message-page .message-main .title-wrapper .head span {
              display: block;
              padding: 2.5rem 0 1rem; } }
          .message-page .message-main .title-wrapper .head span::before, .message-page .message-main .title-wrapper .head span::after {
            content: "";
            background: url("../img/message/illust1.svg") no-repeat 0 0;
            background-size: cover;
            height: 184px;
            width: 93px;
            position: absolute;
            bottom: 0; }
            @media (max-width: 768px) {
              .message-page .message-main .title-wrapper .head span::before, .message-page .message-main .title-wrapper .head span::after {
                height: 81px;
                width: 86px; } }
          .message-page .message-main .title-wrapper .head span::before {
            left: 0; }
            @media (max-width: 768px) {
              .message-page .message-main .title-wrapper .head span::before {
                content: none; } }
          .message-page .message-main .title-wrapper .head span::after {
            background-image: url("../img/message/illust2.svg");
            right: 0; }
            @media (max-width: 768px) {
              .message-page .message-main .title-wrapper .head span::after {
                background-image: url("../img/message/illust-sp.svg"); } }
    .message-page .message-main .image img {
      width: 100%; }
    .message-page .message-main .shozoku {
      font-size: clamp(16px, 1.8vw, 20px);
      font-weight: 700;
      margin-top: 1rem;
      text-align: right; }
      .message-page .message-main .shozoku small {
        font-size: clamp(14px, 1.4vw, 16px);
        font-weight: 400; }
  .message-page .answer-wrapper {
    /*question-wrapper*/ }
    .message-page .answer-wrapper .question-wrapper {
      margin-top: 104px; }
      @media (max-width: 768px) {
        .message-page .answer-wrapper .question-wrapper {
          margin-top: 56px; } }
      .message-page .answer-wrapper .question-wrapper .question,
      .message-page .answer-wrapper .question-wrapper .sub-head {
        margin: auto;
        max-width: 732px;
        width: 61%; }
        @media (max-width: 768px) {
          .message-page .answer-wrapper .question-wrapper .question,
          .message-page .answer-wrapper .question-wrapper .sub-head {
            max-width: inherit;
            width: 90%; } }
      .message-page .answer-wrapper .question-wrapper.right-side .question,
      .message-page .answer-wrapper .question-wrapper.right-side .sub-head {
        text-align: right; }
        @media (max-width: 768px) {
          .message-page .answer-wrapper .question-wrapper.right-side .question,
          .message-page .answer-wrapper .question-wrapper.right-side .sub-head {
            text-align: left; } }
      .message-page .answer-wrapper .question-wrapper .question {
        border-bottom: 1px solid #ebc7b8;
        color: #ea5514;
        font-size: 14px;
        font-weight: 700;
        letter-spacing: 4px;
        line-height: 1;
        position: relative; }
        .message-page .answer-wrapper .question-wrapper .question::before {
          content: "";
          background: url("../img/message/fukidashi.svg") no-repeat 0 0;
          background-size: cover;
          height: 54px;
          width: 58px;
          position: absolute;
          top: -9px; }
          @media (max-width: 768px) {
            .message-page .answer-wrapper .question-wrapper .question::before {
              content: none; } }
        .message-page .answer-wrapper .question-wrapper .question span {
          /*background: #fff;*/ }
      .message-page .answer-wrapper .question-wrapper.left-side .question::before, .message-page .answer-wrapper .question-wrapper.center .question::before {
        left: -72px; }
      .message-page .answer-wrapper .question-wrapper.right-side .question::before {
        transform: scale(-1, 1);
        right: -72px; }
      .message-page .answer-wrapper .question-wrapper .flex-wrapper {
        display: flex;
        gap: 0 5%;
        margin-top: 56px;
        max-width: 965px;
        width: 81%; }
        @media (max-width: 768px) {
          .message-page .answer-wrapper .question-wrapper .flex-wrapper {
            display: inherit;
            max-width: inherit;
            margin-top: 24px;
            width: 90%; } }
      .message-page .answer-wrapper .question-wrapper.left-side .flex-wrapper {
        margin-left: auto; }
        @media (max-width: 768px) {
          .message-page .answer-wrapper .question-wrapper.left-side .flex-wrapper {
            margin-right: auto; } }
      .message-page .answer-wrapper .question-wrapper.right-side .flex-wrapper {
        margin-right: auto; }
        @media (max-width: 768px) {
          .message-page .answer-wrapper .question-wrapper.right-side .flex-wrapper {
            margin-left: auto; } }
      .message-page .answer-wrapper .question-wrapper .sub-head {
        font-size: clamp(19px, 2vw, 24px);
        font-weight: 700;
        margin-top: 32px; }
      .message-page .answer-wrapper .question-wrapper .text {
        font-size: clamp(15px, 14vw, 15px);
        width: 320px; }
        @media (max-width: 768px) {
          .message-page .answer-wrapper .question-wrapper .text {
            width: 90%; } }
      .message-page .answer-wrapper .question-wrapper.center .text {
        margin: 56px auto 0;
        max-width: 732px;
        width: 61%; }
        @media (max-width: 768px) {
          .message-page .answer-wrapper .question-wrapper.center .text {
            margin-top: 24px;
            max-width: inherit;
            width: 90%; } }
      @media (max-width: 768px) {
        .message-page .answer-wrapper .question-wrapper .image {
          margin-top: 28px; } }
      .message-page .answer-wrapper .question-wrapper .image img {
        border-radius: 24px; }
  .message-page .schedule-wrapper {
    background: #fff;
    border: 20px solid #e4dece;
    border-radius: 20px;
    padding: 54px 2rem;
    margin-top: 160px;
    /*sub-head*/
    /*ul*/ }
    @media (max-width: 768px) {
      .message-page .schedule-wrapper {
        border-width: 8px;
        border-radius: 15px;
        padding: 42px 1rem;
        position: relative;
        margin: 52px auto 0;
        width: calc(95% - 30px - 2rem); }
        .message-page .schedule-wrapper::after {
          content: "";
          background: url("../img/message/icon-time-l.svg") no-repeat 0 0;
          background-size: cover;
          height: 52px;
          width: 52px;
          position: absolute;
          top: -30px;
          left: 50%;
          transform: translate(-50%, 0); } }
    .message-page .schedule-wrapper .sub-head {
      font-size: clamp(20px, 2vw, 22px);
      font-weight: 700;
      text-align: center;
      /*span*/ }
      .message-page .schedule-wrapper .sub-head span {
        display: inline-block;
        padding: 0 8rem;
        position: relative; }
        @media (max-width: 768px) {
          .message-page .schedule-wrapper .sub-head span {
            padding: 0 0; } }
        .message-page .schedule-wrapper .sub-head span::before, .message-page .schedule-wrapper .sub-head span::after {
          content: "";
          background: url("../img/message/icon-time-l.svg") no-repeat 0 0;
          background-size: cover;
          height: 64px;
          width: 64px;
          position: absolute;
          bottom: 0; }
          @media (max-width: 768px) {
            .message-page .schedule-wrapper .sub-head span::before, .message-page .schedule-wrapper .sub-head span::after {
              content: none; } }
        .message-page .schedule-wrapper .sub-head span::before {
          left: 0; }
        .message-page .schedule-wrapper .sub-head span::after {
          background-image: url("../img/message/icon-time-r.svg");
          right: 0; }
      .message-page .schedule-wrapper .sub-head small {
        display: block;
        font-family: "Antonio", serif;
        font-weight: 700;
        font-size: 12px;
        letter-spacing: 3px; }
    .message-page .schedule-wrapper .flex-wrapper {
      display: flex;
      gap: 0 8%;
      justify-content: center;
      margin-top: 48px; }
      @media (max-width: 768px) {
        .message-page .schedule-wrapper .flex-wrapper {
          display: inherit;
          margin: 32px auto 0;
          width: fit-content; } }
    .message-page .schedule-wrapper ul {
      flex: 1;
      padding: 14px 0;
      position: relative;
      /*li*/ }
      @media (max-width: 768px) {
        .message-page .schedule-wrapper ul {
          padding: 14px 0 0; } }
      .message-page .schedule-wrapper ul::before {
        content: "";
        background: #efefef;
        border-top-left-radius: 20px;
        border-top-right-radius: 20px;
        height: 100%;
        width: 40px;
        position: absolute;
        top: 0;
        left: clamp(51px, 6.1vw, 67px);
        z-index: 0; }
        @media (max-width: 768px) {
          .message-page .schedule-wrapper ul::before {
            width: 32px; } }
      .message-page .schedule-wrapper ul + ul::before {
        border-top-left-radius: 0px;
        border-top-right-radius: 0px;
        border-bottom-left-radius: 20px;
        border-bottom-right-radius: 20px; }
      @media (max-width: 768px) {
        .message-page .schedule-wrapper ul + ul {
          padding: 0 0 14px; } }
      .message-page .schedule-wrapper ul li {
        display: flex; }
        .message-page .schedule-wrapper ul li .time {
          font-size: clamp(18px, 2vw, 23px);
          font-weight: 300; }
        .message-page .schedule-wrapper ul li .circle {
          color: #ea5514;
          font-size: 18px;
          margin: .35rem 1.5rem;
          position: relative;
          z-index: 2; }
          @media (max-width: 768px) {
            .message-page .schedule-wrapper ul li .circle {
              font-size: 15px;
              margin: .35rem 1rem; } }
        .message-page .schedule-wrapper ul li .action {
          font-size: clamp(15px, 1.5vw, 16px);
          font-weight: 500;
          margin-top: .45rem; }
  .message-page .person-list-wrapper {
    margin: 150px auto 62px;
    max-width: 1200px;
    width: 90%; }
    @media (max-width: 768px) {
      .message-page .person-list-wrapper {
        margin: 56px auto 0; } }
    .message-page .person-list-wrapper ul {
      display: flex;
      gap: 0 3%;
      flex-wrap: wrap;
      justify-content: space-between; }
      .message-page .person-list-wrapper ul li {
        margin: 2rem 0;
        width: 22%; }
        @media (max-width: 768px) {
          .message-page .person-list-wrapper ul li {
            margin: 1rem 0;
            width: 47%; } }
        .message-page .person-list-wrapper ul li img {
          transition: transform 1s;
          /*&:hover{
              @media (hover: hover) and (pointer: fine) {
                  animation: spin 1s forwards;
              }
          }*/ }
@keyframes spin {
  0% {
    transform: rotateY(0deg); }
  100% {
    transform: rotateY(360deg); } }
/*message*/
/**********************
infinit-slide
**********************/
.infinit-slide .slide-inner {
  display: flex;
  overflow: hidden; }
.infinit-slide ul {
  animation: band 90s linear infinite 0.5s both;
  display: flex;
  list-style: none;
  padding: 0;
  /*width: calc(653px * 2 * n);*/ }
.infinit-slide img {
  pointer-events: none;
  max-width: inherit;
  height: 230px; }
  @media (max-width: 768px) {
    .infinit-slide img {
      height: 116px;
      width: auto; } }

/*infinit-slide*/
@keyframes band {
  0% {
    transform: translateX(0%); }
  100% {
    transform: translateX(-100%); } }
/*------------------------------
    career-plan
--------------------------------*/
#career-plan {
  /*training-menu-wrapper*/
  /*career-up-image-wrapper*/ }
  #career-plan .training-menu-wrapper {
    padding: 82px 0 82px;
    position: relative;
    margin-top: 105px;
    /*sub-head*/
    /*month-wrapper*/
    /*menu-list-wrapper*/ }
    @media (max-width: 768px) {
      #career-plan .training-menu-wrapper {
        padding: 62px 0 62px;
        margin-top: 40px; } }
    #career-plan .training-menu-wrapper::before {
      content: "";
      background: #fef6e5;
      border-radius: 150px;
      border-radius: 150px;
      height: 100%;
      width: 267px;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, 0);
      z-index: -1; }
      @media (max-width: 768px) {
        #career-plan .training-menu-wrapper::before {
          width: 168px; } }
    #career-plan .training-menu-wrapper .sub-head {
      font-size: clamp(22px, 2.4vw, 33px);
      font-weight: 700;
      text-align: center;
      /*span*/ }
      #career-plan .training-menu-wrapper .sub-head span {
        display: inline-block;
        position: relative; }
        @media (max-width: 768px) {
          #career-plan .training-menu-wrapper .sub-head span {
            padding: 0 0; } }
      #career-plan .training-menu-wrapper .sub-head small {
        display: block;
        font-family: "Antonio", serif;
        font-weight: 700;
        font-size: clamp(10px, 1.2vw, 14px);
        letter-spacing: 3px;
        margin-top: 1rem; }
    #career-plan .training-menu-wrapper .month-wrapper {
      margin: 80px auto 0;
      max-width: 718px;
      width: 95%;
      /*flex-wrapper*/ }
      @media (max-width: 768px) {
        #career-plan .training-menu-wrapper .month-wrapper {
          margin: 46px auto 0; } }
      #career-plan .training-menu-wrapper .month-wrapper .cross-head {
        background: #cea913;
        border-radius: 25px;
        color: #fff;
        font-size: clamp(19px, 2.5vw, 30px);
        margin-top: 60px;
        padding-bottom: .25rem;
        text-align: center; }
        @media (max-width: 768px) {
          #career-plan .training-menu-wrapper .month-wrapper .cross-head {
            /*margin-top: 32px;*/ } }
        #career-plan .training-menu-wrapper .month-wrapper .cross-head small {
          font-size: clamp(14px, 1.8vw, 23px);
          margin-left: .25rem; }
        #career-plan .training-menu-wrapper .month-wrapper .cross-head.last {
          margin-top: 16px; }
      #career-plan .training-menu-wrapper .month-wrapper ul {
        margin: 1.5rem auto 0;
        padding: 0 1rem;
        width: fit-content; }
        #career-plan .training-menu-wrapper .month-wrapper ul li {
          font-size: clamp(16px, 1.8vw, 20px);
          padding-left: 1.5rem;
          position: relative; }
          #career-plan .training-menu-wrapper .month-wrapper ul li::before {
            content: "\025cf";
            position: absolute;
            top: 0;
            left: 0; }
          #career-plan .training-menu-wrapper .month-wrapper ul li + li {
            margin-top: .25rem; }
      #career-plan .training-menu-wrapper .month-wrapper .strong {
        font-size: clamp(20px, 2.2vw, 25px);
        font-weight: 700;
        margin-top: 1rem;
        text-align: center; }
      #career-plan .training-menu-wrapper .month-wrapper .text {
        font-size: clamp(16px, 1.8vw, 20px);
        margin-top: 1.5rem;
        text-align: center; }
      #career-plan .training-menu-wrapper .month-wrapper .arrow {
        margin: 1.25rem auto;
        width: 33px; }
      #career-plan .training-menu-wrapper .month-wrapper .orange {
        color: #ea5514;
        font-size: clamp(20px, 2.2vw, 25px);
        font-weight: 700;
        margin-top: 1rem;
        text-align: center; }
      #career-plan .training-menu-wrapper .month-wrapper .flex-wrapper {
        display: flex;
        justify-content: space-between; }
        #career-plan .training-menu-wrapper .month-wrapper .flex-wrapper .left,
        #career-plan .training-menu-wrapper .month-wrapper .flex-wrapper .right {
          position: relative;
          width: 48%; }
          #career-plan .training-menu-wrapper .month-wrapper .flex-wrapper .left .arrow,
          #career-plan .training-menu-wrapper .month-wrapper .flex-wrapper .right .arrow {
            position: absolute;
            top: 0;
            left: 50%;
            transform: translate(-50%, 0); }
    #career-plan .training-menu-wrapper .infinit-slide-stop {
      margin: 92px auto 0;
      max-width: 1200px;
      width: 100%; }
    #career-plan .training-menu-wrapper .infinit-slide {
      margin-top: 62px; }
    #career-plan .training-menu-wrapper .menu-list-wrapper {
      margin-top: 2rem; }
      #career-plan .training-menu-wrapper .menu-list-wrapper .cross-head {
        font-size: clamp(17px, 1.8vw, 22px);
        font-weight: 700;
        text-align: center; }
      #career-plan .training-menu-wrapper .menu-list-wrapper ul {
        display: flex;
        justify-content: space-around;
        margin: 42px auto 0;
        max-width: 960px;
        width: 90%; }
        @media (max-width: 768px) {
          #career-plan .training-menu-wrapper .menu-list-wrapper ul {
            flex-wrap: wrap;
            justify-content: center;
            margin: 24px auto 0; } }
        #career-plan .training-menu-wrapper .menu-list-wrapper ul li {
          background: #f38e00;
          border-radius: 50%;
          line-height: 1.5;
          padding-top: 16%;
          position: relative;
          text-align: center;
          width: 16%; }
          @media (max-width: 768px) {
            #career-plan .training-menu-wrapper .menu-list-wrapper ul li {
              margin: .25rem .25rem;
              padding-top: 30%;
              width: 30%; } }
          #career-plan .training-menu-wrapper .menu-list-wrapper ul li:nth-child(even) {
            background: #f36b00; }
          #career-plan .training-menu-wrapper .menu-list-wrapper ul li span {
            color: #fff;
            font-size: clamp(17px, 1.8vw, 20px);
            font-weight: 700;
            text-align: center;
            position: absolute;
            top: 50%;
            left: 50%;
            transform: translate(-50%, -50%);
            white-space: nowrap; }
  #career-plan .career-up-image-wrapper {
    padding: 82px 0 70px;
    margin: 120px 0 136px;
    position: relative;
    /*sub-head*/
    /*profile-wrapper*/
    /*flow-wrapper*/ }
    @media (max-width: 768px) {
      #career-plan .career-up-image-wrapper {
        padding: 48px 0 16px;
        margin: 60px 0 62px; } }
    #career-plan .career-up-image-wrapper::before {
      content: "";
      background: #fef6e5;
      border-radius: 35px;
      height: 100%;
      max-width: 840px;
      width: 100%;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, 0);
      z-index: -1; }
      @media (max-width: 768px) {
        #career-plan .career-up-image-wrapper::before {
          border-radius: 0; } }
    #career-plan .career-up-image-wrapper .inner {
      padding: 0 3%;
      margin: 0 auto;
      max-width: calc(840px - 6%); }
    #career-plan .career-up-image-wrapper .sub-head {
      font-size: clamp(22px, 2.4vw, 33px);
      font-weight: 700;
      text-align: center;
      /*span*/ }
      #career-plan .career-up-image-wrapper .sub-head span {
        display: inline-block;
        position: relative; }
        @media (max-width: 768px) {
          #career-plan .career-up-image-wrapper .sub-head span {
            padding: 0 0; } }
      #career-plan .career-up-image-wrapper .sub-head small {
        display: block;
        font-family: "Antonio", serif;
        font-weight: 700;
        font-size: clamp(10px, 1.2vw, 14px);
        letter-spacing: 3px;
        margin-top: 1rem; }
    #career-plan .career-up-image-wrapper .desc {
      font-size: clamp(15px, 1.6vw, 18px);
      margin-top: 62px; }
      @media (max-width: 768px) {
        #career-plan .career-up-image-wrapper .desc {
          margin-top: 42px; } }
    #career-plan .career-up-image-wrapper .flow-img {
      margin: 35px auto 0;
      max-width: 1032px;
      width: 95%; }
    #career-plan .career-up-image-wrapper .arrow {
      margin: 32px auto 0;
      width: 86px; }
      @media (max-width: 768px) {
        #career-plan .career-up-image-wrapper .arrow {
          margin: 24px auto 0;
          width: 24px; } }
    #career-plan .career-up-image-wrapper .badge {
      background: #ea5514;
      border-radius: 50%;
      line-height: 1.5;
      height: 186px;
      position: relative;
      text-align: center;
      width: 186px;
      margin: 30px auto 0;
      z-index: 1; }
      @media (max-width: 768px) {
        #career-plan .career-up-image-wrapper .badge {
          margin: 16px auto 0;
          height: 100px;
          width: 100px; } }
      #career-plan .career-up-image-wrapper .badge p {
        color: #fff;
        font-size: clamp(17px, 1.8vw, 20px);
        text-align: center;
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        white-space: nowrap; }
    #career-plan .career-up-image-wrapper .person-img {
      margin: -76px auto 0;
      max-width: 840px;
      position: relative;
      width: 100%; }
      @media (max-width: 768px) {
        #career-plan .career-up-image-wrapper .person-img {
          margin: -22px auto 0; } }
      #career-plan .career-up-image-wrapper .person-img .fukidashi {
        background: #fff;
        border: 5px solid #ea5514;
        border-radius: 56px;
        color: #bb4314;
        font-size: clamp(15px, 1.5vw, 17px);
        padding: 2rem 3.5rem;
        position: relative;
        max-width: calc(477px - 7rem);
        width: calc(58% - 7rem);
        position: absolute;
        bottom: -33%;
        right: -7%; }
        @media (max-width: 768px) {
          #career-plan .career-up-image-wrapper .person-img .fukidashi {
            border-width: 3px;
            border-radius: 36px;
            margin: -24px auto 0;
            padding: 1.25rem 1.25rem;
            position: relative;
            bottom: auto;
            right: auto;
            max-width: inherit;
            width: calc(85% - 2.5rem); } }
        #career-plan .career-up-image-wrapper .person-img .fukidashi::before {
          content: "";
          background: url("../img/career-plan/fukidashi.svg") no-repeat 0 0;
          background-size: cover;
          width: 72px;
          height: 50px;
          position: absolute;
          top: -50px;
          left: 30%; }
          @media (max-width: 768px) {
            #career-plan .career-up-image-wrapper .person-img .fukidashi::before {
              width: 44px;
              height: 30px;
              top: -30px;
              left: auto;
              right: 13%; } }
    #career-plan .career-up-image-wrapper .profile-wrapper {
      padding: 0 3%;
      margin: 42px auto 0;
      max-width: calc(840px - 6%); }
      @media (max-width: 768px) {
        #career-plan .career-up-image-wrapper .profile-wrapper {
          margin: 30px auto 0; } }
      #career-plan .career-up-image-wrapper .profile-wrapper .text-box {
        width: 40%;
        max-width: 298px; }
        @media (max-width: 768px) {
          #career-plan .career-up-image-wrapper .profile-wrapper .text-box {
            width: 100%;
            max-width: inherit; } }
      #career-plan .career-up-image-wrapper .profile-wrapper .en {
        color: #ea5514;
        font-size: clamp(15px, 1.5vw, 17px); }
      #career-plan .career-up-image-wrapper .profile-wrapper .text {
        font-size: clamp(14px, 1.4vw, 15px);
        font-weight: 400;
        margin-top: 1rem; }
    #career-plan .career-up-image-wrapper .flow-wrapper {
      margin: 54px auto 0;
      padding: 0 3%;
      max-width: calc(840px - 6%); }
      @media (max-width: 768px) {
        #career-plan .career-up-image-wrapper .flow-wrapper {
          margin-top: 36px; } }
      #career-plan .career-up-image-wrapper .flow-wrapper .sub-head {
        font-size: clamp(18px, 1.8vw, 20px); }
      #career-plan .career-up-image-wrapper .flow-wrapper table {
        border-top: 1px solid #ebc7b8;
        margin-top: 32px;
        width: 100%; }
        @media (max-width: 768px) {
          #career-plan .career-up-image-wrapper .flow-wrapper table {
            margin-top: 18px; } }
        #career-plan .career-up-image-wrapper .flow-wrapper table th {
          border-bottom: 1px solid #ebc7b8;
          font-size: clamp(12px, 1.3vw, 15px);
          font-weight: 400;
          padding: .5rem 0;
          vertical-align: top;
          white-space: nowrap; }
        #career-plan .career-up-image-wrapper .flow-wrapper table td {
          border-bottom: 1px solid #ebc7b8;
          font-size: clamp(13px, 1.3vw, 16px);
          padding: .5rem 0 .5rem 1rem; }
        #career-plan .career-up-image-wrapper .flow-wrapper table .orange th, #career-plan .career-up-image-wrapper .flow-wrapper table .orange td {
          color: #bb4314; }

/*career-plan*/
/*------------------------------
   career-recruitment
--------------------------------*/
#career-recruitment {
  /*rating-system-wrapper*/
  /*training-program-wrapper*/
  /*qa-wrapper*/ }
  #career-recruitment .main .inner {
    margin-top: 3.5rem; }
    @media (max-width: 768px) {
      #career-recruitment .main .inner {
        margin-top: 1.5rem; } }
  #career-recruitment .main .text {
    margin-top: 0; }
  #career-recruitment .main .link-btn {
    margin-top: 3rem;
    text-align: center; }
    @media (max-width: 768px) {
      #career-recruitment .main .link-btn {
        margin: 1rem auto 0; } }
    @media (max-width: 768px) {
      #career-recruitment .main .link-btn a {
        margin: auto; } }
    #career-recruitment .main .link-btn .el-btn--career::before {
      background: url("../img/career-recruitment/icon-youkou.svg") no-repeat;
      aspect-ratio: 51 / 53;
      left: 15%; }
  #career-recruitment .rating-system-wrapper {
    padding: 82px 0 70px;
    position: relative;
    /*sub-head*/
    /*rating-flow*/ }
    @media (max-width: 768px) {
      #career-recruitment .rating-system-wrapper {
        padding: 48px 0 16px;
        margin-top: 68px; } }
    #career-recruitment .rating-system-wrapper::before {
      content: "";
      background: #fef6e5;
      border-radius: 35px;
      height: 100%;
      max-width: 840px;
      width: 95%;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, 0);
      z-index: -1; }
      @media (max-width: 768px) {
        #career-recruitment .rating-system-wrapper::before {
          border-radius: 18px; } }
    #career-recruitment .rating-system-wrapper .inner {
      padding: 0 3%;
      margin: 0 auto;
      max-width: calc(840px - 6%); }
      @media (max-width: 768px) {
        #career-recruitment .rating-system-wrapper .inner {
          width: 85%; } }
    #career-recruitment .rating-system-wrapper .sub-head {
      font-size: clamp(22px, 2.4vw, 33px);
      font-weight: 700;
      text-align: center;
      /*span*/ }
      #career-recruitment .rating-system-wrapper .sub-head span {
        display: inline-block;
        position: relative; }
        @media (max-width: 768px) {
          #career-recruitment .rating-system-wrapper .sub-head span {
            padding: 0 0; } }
      #career-recruitment .rating-system-wrapper .sub-head small {
        display: block;
        font-family: "Antonio", serif;
        font-weight: 700;
        font-size: clamp(10px, 1.2vw, 14px);
        letter-spacing: 3px;
        margin-top: 1rem; }
    #career-recruitment .rating-system-wrapper .desc {
      font-size: clamp(15px, 1.6vw, 18px);
      margin-top: 62px; }
      @media (max-width: 768px) {
        #career-recruitment .rating-system-wrapper .desc {
          margin-top: 42px; } }
    #career-recruitment .rating-system-wrapper .rating-flow {
      margin-top: 76px;
      padding: 68px 0;
      position: relative;
      /*ul*/ }
      @media (max-width: 768px) {
        #career-recruitment .rating-system-wrapper .rating-flow {
          margin-top: 38px;
          padding: 42px 0; } }
      #career-recruitment .rating-system-wrapper .rating-flow::before {
        content: "";
        background: #fff;
        border-radius: 150px;
        border-radius: 150px;
        height: 100%;
        width: 267px;
        position: absolute;
        top: 0;
        left: 50%;
        transform: translate(-50%, 0);
        z-index: -1; }
        @media (max-width: 768px) {
          #career-recruitment .rating-system-wrapper .rating-flow::before {
            width: 168px; } }
      #career-recruitment .rating-system-wrapper .rating-flow .cross-head {
        font-size: clamp(18px, 1.8vw, 20px);
        font-weight: 700;
        text-align: center; }
      #career-recruitment .rating-system-wrapper .rating-flow ul {
        margin-top: 46px;
        /*li*/ }
        @media (max-width: 768px) {
          #career-recruitment .rating-system-wrapper .rating-flow ul {
            margin-top: 20px; } }
        #career-recruitment .rating-system-wrapper .rating-flow ul li {
          background: #cea913;
          border-radius: 25px;
          color: #fff;
          font-size: clamp(15px, 1.8vw, 24px);
          font-weight: 500;
          padding: .25rem 0;
          position: relative;
          margin-bottom: 45px;
          text-align: center; }
          @media (max-width: 768px) {
            #career-recruitment .rating-system-wrapper .rating-flow ul li {
              padding: .25rem 0;
              margin-bottom: 20px; } }
          #career-recruitment .rating-system-wrapper .rating-flow ul li::before {
            content: "";
            display: block;
            background: url("../img/career-recruitment/arrow-flow.svg") no-repeat 0 0;
            background-size: cover;
            height: 16px;
            width: 18px;
            position: absolute;
            bottom: -31px;
            left: 50%;
            transform: translate(-50%, 0); }
            @media (max-width: 768px) {
              #career-recruitment .rating-system-wrapper .rating-flow ul li::before {
                height: 8px;
                width: 9px;
                bottom: -15px; } }
          #career-recruitment .rating-system-wrapper .rating-flow ul li:last-child {
            margin: 0; }
            #career-recruitment .rating-system-wrapper .rating-flow ul li:last-child::before {
              content: none; }
  #career-recruitment .training-program-wrapper {
    margin-top: 110px;
    padding: 82px 0 70px;
    position: relative;
    /*sub-head*/
    /*text-box*/ }
    @media (max-width: 768px) {
      #career-recruitment .training-program-wrapper {
        margin-top: 52px;
        padding: 48px 0 40px; } }
    #career-recruitment .training-program-wrapper::before {
      content: "";
      background: #fef6e5;
      border-radius: 35px;
      height: 100%;
      max-width: 840px;
      width: 95%;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, 0);
      z-index: -1; }
      @media (max-width: 768px) {
        #career-recruitment .training-program-wrapper::before {
          border-radius: 18px; } }
    #career-recruitment .training-program-wrapper .inner {
      padding: 0 3%;
      margin: 0 auto;
      max-width: calc(840px - 6%); }
      @media (max-width: 768px) {
        #career-recruitment .training-program-wrapper .inner {
          width: 85%; } }
    #career-recruitment .training-program-wrapper .sub-head {
      font-size: clamp(22px, 2.4vw, 33px);
      font-weight: 700;
      text-align: center;
      /*span*/ }
      #career-recruitment .training-program-wrapper .sub-head span {
        display: inline-block;
        position: relative; }
        @media (max-width: 768px) {
          #career-recruitment .training-program-wrapper .sub-head span {
            padding: 0 0; } }
      #career-recruitment .training-program-wrapper .sub-head small {
        display: block;
        font-family: "Antonio", serif;
        font-weight: 700;
        font-size: clamp(10px, 1.2vw, 14px);
        letter-spacing: 3px;
        margin-top: 1rem; }
    #career-recruitment .training-program-wrapper .desc {
      font-size: clamp(15px, 1.6vw, 18px);
      margin-top: 62px; }
      @media (max-width: 768px) {
        #career-recruitment .training-program-wrapper .desc {
          margin-top: 42px; } }
    #career-recruitment .training-program-wrapper .float-box {
      margin: 0 auto 0;
      max-width: 1200px;
      width: 95%; }
      @media (max-width: 768px) {
        #career-recruitment .training-program-wrapper .float-box {
          width: 100%; } }
    #career-recruitment .training-program-wrapper .flex-wrapper {
      display: flex;
      gap: 0 5%;
      margin-top: 56px;
      margin-left: auto;
      max-width: 965px;
      width: 81%; }
      @media (max-width: 768px) {
        #career-recruitment .training-program-wrapper .flex-wrapper {
          display: inherit;
          max-width: inherit;
          margin-top: 24px;
          margin-right: auto;
          width: 100%; } }
    #career-recruitment .training-program-wrapper .text-box {
      /*ul*/ }
      #career-recruitment .training-program-wrapper .text-box .head {
        font-size: clamp(17px, 1.7vw, 20px);
        font-weight: 700;
        white-space: nowrap; }
        @media (max-width: 768px) {
          #career-recruitment .training-program-wrapper .text-box .head {
            text-align: center; } }
      @media (max-width: 768px) {
        #career-recruitment .training-program-wrapper .text-box .ul-box {
          display: flex;
          gap: 0 8%;
          justify-content: center;
          /*width: fit-content;*/
          margin: 3rem auto 0; } }
      #career-recruitment .training-program-wrapper .text-box ul {
        margin-top: 2rem; }
        @media (max-width: 768px) {
          #career-recruitment .training-program-wrapper .text-box ul {
            margin-top: 0; } }
        #career-recruitment .training-program-wrapper .text-box ul li {
          font-size: clamp(15px, 1.7vw, 20px);
          font-weight: 700;
          line-height: 1.3;
          padding-left: 1.5rem;
          position: relative; }
          @media (max-width: 768px) {
            #career-recruitment .training-program-wrapper .text-box ul li {
              padding-left: 1.25rem;
              white-space: nowrap; } }
          #career-recruitment .training-program-wrapper .text-box ul li::before {
            content: "\025cf";
            color: #f8b605;
            position: absolute;
            top: 0;
            left: 0; }
          #career-recruitment .training-program-wrapper .text-box ul li:nth-child(even)::before {
            color: #ea5514; }
          #career-recruitment .training-program-wrapper .text-box ul li + li {
            margin-top: .75rem; }
            @media (max-width: 768px) {
              #career-recruitment .training-program-wrapper .text-box ul li + li {
                margin-top: .5rem; } }
        #career-recruitment .training-program-wrapper .text-box ul + ul {
          margin-top: .75rem; }
          @media (max-width: 768px) {
            #career-recruitment .training-program-wrapper .text-box ul + ul {
              margin-top: 0; } }
          #career-recruitment .training-program-wrapper .text-box ul + ul li::before {
            content: "\025cf";
            color: #ea5514; }
          #career-recruitment .training-program-wrapper .text-box ul + ul li:nth-child(even)::before {
            color: #f8b605; }
    @media (max-width: 768px) {
      #career-recruitment .training-program-wrapper .image {
        margin-top: 24px; } }
  #career-recruitment .qa-wrapper {
    margin: 152px auto 0;
    max-width: 1200px;
    width: 95%;
    /*sub-head*/
    /*ul*/ }
    @media (max-width: 768px) {
      #career-recruitment .qa-wrapper {
        margin-top: 74px; } }
    #career-recruitment .qa-wrapper .sub-head {
      font-size: clamp(22px, 2.4vw, 33px);
      font-weight: 700;
      text-align: center;
      /*span*/ }
      #career-recruitment .qa-wrapper .sub-head span {
        display: inline-block;
        position: relative; }
        @media (max-width: 768px) {
          #career-recruitment .qa-wrapper .sub-head span {
            padding: 0 0; } }
      #career-recruitment .qa-wrapper .sub-head small {
        display: block;
        font-family: "Antonio", serif;
        font-weight: 700;
        font-size: clamp(10px, 1.2vw, 14px);
        letter-spacing: 3px;
        margin-top: 1rem; }
    #career-recruitment .qa-wrapper ul {
      margin-top: 68px;
      /*li*/ }
      @media (max-width: 768px) {
        #career-recruitment .qa-wrapper ul {
          margin-top: 28px; } }
      #career-recruitment .qa-wrapper ul li {
        border: 1px solid #ebc7b8;
        border-left: none;
        border-right: none;
        padding: 2rem 2rem;
        /*answer*/ }
        @media (max-width: 768px) {
          #career-recruitment .qa-wrapper ul li {
            padding: 1.25rem 1.25rem; } }
        #career-recruitment .qa-wrapper ul li + li {
          border-top: none; }
        #career-recruitment .qa-wrapper ul li .question {
          cursor: pointer;
          font-size: clamp(16px, 1.7vw, 24px);
          font-weight: 700;
          padding-left: 42px;
          position: relative;
          display: flex;
          justify-content: space-between;
          align-items: center; }
          @media (max-width: 768px) {
            #career-recruitment .qa-wrapper ul li .question {
              padding-left: 28px; } }
          @media (hover: hover) and (pointer: fine) {
            #career-recruitment .qa-wrapper ul li .question:hover {
              color: #ea5514; } }
          #career-recruitment .qa-wrapper ul li .question::before {
            content: "Q";
            color: #9fa0a0;
            font-family: "Antonio", serif;
            font-size: clamp(27px, 3vw, 50px);
            font-weight: 700;
            line-height: 1;
            position: absolute;
            top: -4px;
            left: 0; }
            @media (max-width: 768px) {
              #career-recruitment .qa-wrapper ul li .question::before {
                top: -1px; } }
        #career-recruitment .qa-wrapper ul li .answer {
          display: none;
          font-size: clamp(14px, 1.4vw, 18px);
          padding-left: 42px;
          position: relative;
          margin-top: 2rem; }
          @media (max-width: 768px) {
            #career-recruitment .qa-wrapper ul li .answer {
              padding-left: 28px;
              margin-top: 1rem; } }
          #career-recruitment .qa-wrapper ul li .answer::before {
            content: "A";
            color: #ea5514;
            font-family: "Antonio", serif;
            font-size: clamp(27px, 3vw, 50px);
            font-weight: 700;
            line-height: 1;
            position: absolute;
            top: -9px;
            left: 0; }
            @media (max-width: 768px) {
              #career-recruitment .qa-wrapper ul li .answer::before {
                top: -3px; } }
          #career-recruitment .qa-wrapper ul li .answer p {
            position: relative;
            padding-left: 1.25rem; }
            #career-recruitment .qa-wrapper ul li .answer p::before {
              content: "\025cf";
              color: #9fa0a0;
              position: absolute;
              top: 0;
              left: 0; }
            #career-recruitment .qa-wrapper ul li .answer p + p {
              margin-top: .25rem; }
          #career-recruitment .qa-wrapper ul li .answer .flex-wrapper {
            display: flex;
            gap: 0 5%; }
            @media (max-width: 768px) {
              #career-recruitment .qa-wrapper ul li .answer .flex-wrapper {
                display: inherit; } }
            #career-recruitment .qa-wrapper ul li .answer .flex-wrapper p {
              width: 50%; }
              @media (max-width: 768px) {
                #career-recruitment .qa-wrapper ul li .answer .flex-wrapper p {
                  margin-top: 1rem;
                  width: 100%; } }
        #career-recruitment .qa-wrapper ul li .arrow {
          transition: transform 0.3s; }
        #career-recruitment .qa-wrapper ul li .arrow.up {
          transform: rotate(180deg); }

/*career-recruitment*/
#career-recruitment,
#requirements {
  /*requirements-wrapper*/
  /*link-btn-list*/ }
  #career-recruitment .not-recruiting,
  #requirements .not-recruiting {
    border: 1px solid red;
    padding: 3rem;
    margin: 3rem auto;
    text-align: center;
    max-width: 670px;
    width: calc(90% - 6rem); }
    @media (max-width: 768px) {
      #career-recruitment .not-recruiting,
      #requirements .not-recruiting {
        padding: 1.5rem;
        margin: 1.5rem auto 0;
        width: calc(90% - 3rem); } }
  #career-recruitment .requirements-wrapper,
  #requirements .requirements-wrapper {
    margin: 152px auto 0;
    /*sub-head*/ }
    @media (max-width: 768px) {
      #career-recruitment .requirements-wrapper,
      #requirements .requirements-wrapper {
        margin-top: 72px; } }
    #career-recruitment .requirements-wrapper .sub-head,
    #requirements .requirements-wrapper .sub-head {
      font-size: clamp(22px, 2.4vw, 33px);
      font-weight: 700;
      text-align: center;
      /*span*/ }
      #career-recruitment .requirements-wrapper .sub-head span,
      #requirements .requirements-wrapper .sub-head span {
        display: inline-block;
        position: relative; }
        @media (max-width: 768px) {
          #career-recruitment .requirements-wrapper .sub-head span,
          #requirements .requirements-wrapper .sub-head span {
            padding: 0 0; } }
      #career-recruitment .requirements-wrapper .sub-head small,
      #requirements .requirements-wrapper .sub-head small {
        display: block;
        font-family: "Antonio", serif;
        font-weight: 700;
        font-size: clamp(10px, 1.2vw, 14px);
        letter-spacing: 3px;
        margin-top: 1rem; }
    #career-recruitment .requirements-wrapper .table-wrapper,
    #requirements .requirements-wrapper .table-wrapper {
      background: #fef6e5;
      padding: 78px 0;
      margin: 82px auto 0; }
      @media (max-width: 768px) {
        #career-recruitment .requirements-wrapper .table-wrapper,
        #requirements .requirements-wrapper .table-wrapper {
          padding: 34px 0;
          margin: 42px auto 0; } }
    #career-recruitment .requirements-wrapper table,
    #requirements .requirements-wrapper table {
      border-collapse: collapse;
      margin: auto;
      width: 100%;
      max-width: 840px; }
      @media (max-width: 768px) {
        #career-recruitment .requirements-wrapper table,
        #requirements .requirements-wrapper table {
          width: 93%; } }
      #career-recruitment .requirements-wrapper table a,
      #requirements .requirements-wrapper table a {
        color: #ea5514;
        text-decoration: underline; }
      #career-recruitment .requirements-wrapper table th,
      #requirements .requirements-wrapper table th {
        border-top: 1px solid #bb4314;
        color: #ea5514;
        font-size: clamp(19px, 2vw, 26px);
        font-weight: 700;
        padding-top: 1rem;
        text-align: left; }
        #career-recruitment .requirements-wrapper table th p,
        #requirements .requirements-wrapper table th p {
          padding-left: 28px;
          position: relative; }
          #career-recruitment .requirements-wrapper table th p::before,
          #requirements .requirements-wrapper table th p::before {
            content: "";
            background: #ea5514;
            height: 5px;
            width: 16px;
            position: absolute;
            top: 50%;
            left: 0;
            transform: translate(0, -50%); }
      #career-recruitment .requirements-wrapper table td,
      #requirements .requirements-wrapper table td {
        border-bottom: 1px solid #bb4314;
        font-weight: 500;
        padding: 1rem 0 1.5rem; }
  #career-recruitment .link-btn-list,
  #requirements .link-btn-list {
    display: flex;
    justify-content: center;
    gap: 0 4%;
    margin: 108px auto 132px;
    width: 90%; }
    @media screen and (max-width: 900px) {
      #career-recruitment .link-btn-list,
      #requirements .link-btn-list {
        display: inherit; } }
    @media (max-width: 768px) {
      #career-recruitment .link-btn-list,
      #requirements .link-btn-list {
        margin: 38px auto 56px; } }
    @media screen and (max-width: 900px) {
      #career-recruitment .link-btn-list li,
      #requirements .link-btn-list li {
        margin: 1.5rem auto;
        width: 90%; } }
    @media (max-width: 768px) {
      #career-recruitment .link-btn-list li a,
      #requirements .link-btn-list li a {
        font-size: 14px; } }
    #career-recruitment .link-btn-list .entry-btn,
    #requirements .link-btn-list .entry-btn {
      width: 510px;
      text-align: center; }
      @media screen and (max-width: 900px) {
        #career-recruitment .link-btn-list .entry-btn,
        #requirements .link-btn-list .entry-btn {
          width: 100%; } }
      @media (max-width: 768px) {
        #career-recruitment .link-btn-list .entry-btn span,
        #requirements .link-btn-list .entry-btn span {
          margin-left: 1.5rem; } }
      #career-recruitment .link-btn-list .entry-btn a,
      #requirements .link-btn-list .entry-btn a {
        aspect-ratio: 512/133;
        width: 100%; }
        @media screen and (max-width: 900px) {
          #career-recruitment .link-btn-list .entry-btn a,
          #requirements .link-btn-list .entry-btn a {
            aspect-ratio: 445/131;
            margin: auto;
            width: 100%; } }
        #career-recruitment .link-btn-list .entry-btn a::before,
        #requirements .link-btn-list .entry-btn a::before {
          background: url("../img/career-recruitment/icon-entry.svg") no-repeat;
          left: 5%; }
    @media screen and (max-width: 900px) {
      #career-recruitment .link-btn-list .rirekisho-btn,
      #requirements .link-btn-list .rirekisho-btn {
        width: 100%; } }
    @media screen and (max-width: 900px) {
      #career-recruitment .link-btn-list .rirekisho-btn a,
      #requirements .link-btn-list .rirekisho-btn a {
        aspect-ratio: 445/131;
        margin: auto;
        width: 100%; } }
    #career-recruitment .link-btn-list .rirekisho-btn a::before,
    #requirements .link-btn-list .rirekisho-btn a::before {
      background: url("../img/career-recruitment/icon-rirekisho.svg") no-repeat;
      left: 10%;
      aspect-ratio: 67/70; }
    #career-recruitment .link-btn-list .rirekisho-btn a::after,
    #requirements .link-btn-list .rirekisho-btn a::after {
      background: url("../img/career-recruitment/icon-dl.svg") no-repeat; }
    #career-recruitment .link-btn-list .rirekisho-btn a:hover::after,
    #requirements .link-btn-list .rirekisho-btn a:hover::after {
      right: calc(clamp(1.25rem, 0.9966216216rem + 1.0810810811vw, 1.875rem)); }

/*career-recruitment recruitment*/
/*------------------------------
   requirements
--------------------------------*/
#requirements {
  /*requirements-wrapper*/
  /*employee-training-wrapper*/ }
  #requirements .requirements-wrapper {
    margin: 120px auto 0; }
    @media (max-width: 768px) {
      #requirements .requirements-wrapper {
        margin-top: 62px; } }
  #requirements .employee-training-wrapper {
    padding: 74px 0;
    position: relative;
    margin-top: 138px;
    /*sub-head*/
    /*rirekisho-wrapper*/ }
    @media (max-width: 768px) {
      #requirements .employee-training-wrapper {
        margin-top: 52px;
        padding: 62px 0; } }
    #requirements .employee-training-wrapper::before {
      content: "";
      background: #fef6e5;
      border-radius: 150px;
      border-radius: 150px;
      height: 100%;
      width: 267px;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translate(-50%, 0);
      z-index: -1; }
      @media (max-width: 768px) {
        #requirements .employee-training-wrapper::before {
          width: 168px; } }
    #requirements .employee-training-wrapper .sub-head {
      font-size: clamp(22px, 2.4vw, 33px);
      font-weight: 700;
      text-align: center;
      /*span*/ }
      #requirements .employee-training-wrapper .sub-head span {
        display: inline-block;
        position: relative; }
        @media (max-width: 768px) {
          #requirements .employee-training-wrapper .sub-head span {
            padding: 0 0; } }
      #requirements .employee-training-wrapper .sub-head small {
        display: block;
        font-family: "Antonio", serif;
        font-weight: 700;
        font-size: clamp(10px, 1.2vw, 14px);
        letter-spacing: 3px;
        margin-top: 1rem; }
    #requirements .employee-training-wrapper .desc {
      font-size: clamp(15px, 1.6vw, 18px);
      margin: 62px auto 0;
      max-width: 840px;
      width: 90%; }
      @media (max-width: 768px) {
        #requirements .employee-training-wrapper .desc {
          margin-top: 42px; } }
    #requirements .employee-training-wrapper .flow-img {
      margin: 92px auto 0;
      max-width: 964px;
      width: 95%; }
      @media (max-width: 768px) {
        #requirements .employee-training-wrapper .flow-img {
          margin-top: 42px; } }
    #requirements .employee-training-wrapper .rirekisho-wrapper {
      margin: 98px auto 0;
      max-width: 840px;
      width: 90%;
      /*ol*/ }
      @media (max-width: 768px) {
        #requirements .employee-training-wrapper .rirekisho-wrapper {
          margin-top: 46px; } }
      #requirements .employee-training-wrapper .rirekisho-wrapper .cross-head {
        background: #cea913;
        border-radius: 25px;
        color: #fff;
        font-size: clamp(16px, 1.7vw, 20px);
        font-weight: 700;
        padding: .25rem 0;
        text-align: center; }
      #requirements .employee-training-wrapper .rirekisho-wrapper .desc {
        margin-top: 2rem;
        width: 100%; }
      #requirements .employee-training-wrapper .rirekisho-wrapper .sup-head {
        position: relative;
        margin-top: 66px; }
        #requirements .employee-training-wrapper .rirekisho-wrapper .sup-head::before {
          content: "";
          background: #898989;
          height: 1px;
          width: 100%;
          position: absolute;
          top: calc(50% - 1px);
          left: 0; }
        #requirements .employee-training-wrapper .rirekisho-wrapper .sup-head span {
          background: #fff;
          font-size: clamp(16px, 1.7vw, 20px);
          font-weight: 700;
          padding-right: .25rem;
          position: relative;
          z-index: 1; }
      #requirements .employee-training-wrapper .rirekisho-wrapper ol {
        margin-top: 1rem;
        /*li*/ }
        #requirements .employee-training-wrapper .rirekisho-wrapper ol li {
          font-size: clamp(15px, 1.6vw, 18px); }
          #requirements .employee-training-wrapper .rirekisho-wrapper ol li::before {
            content: ""; }
          #requirements .employee-training-wrapper .rirekisho-wrapper ol li:nth-child(1)::before {
            content: "1."; }
          #requirements .employee-training-wrapper .rirekisho-wrapper ol li:nth-child(2)::before {
            content: "2."; }
          #requirements .employee-training-wrapper .rirekisho-wrapper ol li:nth-child(3)::before {
            content: "3."; }
          #requirements .employee-training-wrapper .rirekisho-wrapper ol li:nth-child(4)::before {
            content: "4."; }
          #requirements .employee-training-wrapper .rirekisho-wrapper ol li:nth-child(5)::before {
            content: "5."; }
      #requirements .employee-training-wrapper .rirekisho-wrapper .sup {
        font-size: clamp(15px, 1.6vw, 18px);
        margin-top: 1.5rem; }
  #requirements .link-btn-list .entry-btn {
    width: auto;
    /*a{
        background: #fff;
        border: 2px solid #005c80;
        display: inline-block;
        letter-spacing: 0.18em;
        text-align: center;
        
        img{
            margin: 15px auto 15px;
            width: 78%;
        }
        p{
            background: #005c80;
            color: #fff;
            font-weight: bold;
            text-align: center;
            width: 100%;
        }
    }*/ }

/*recruitment*/
/********************************************************************************
entry form
********************************************************************************/
.entry-form-wrapper {
  margin: 62px auto 0;
  max-width: 840px;
  width: 90%;
  /*sub-head*/ }
  @media (max-width: 768px) {
    .entry-form-wrapper {
      margin: 42px auto 0; } }
  .entry-form-wrapper .sub-head {
    font-size: clamp(22px, 2.4vw, 33px);
    font-weight: 700;
    text-align: center;
    /*span*/ }
    .entry-form-wrapper .sub-head span {
      display: inline-block;
      position: relative; }
      @media (max-width: 768px) {
        .entry-form-wrapper .sub-head span {
          padding: 0 0; } }
    .entry-form-wrapper .sub-head small {
      display: block;
      font-family: "Antonio", serif;
      font-weight: 700;
      font-size: clamp(10px, 1.2vw, 14px);
      letter-spacing: 3px;
      margin-top: 1rem; }

.contact-box {
  font-size: clamp(15px, 1.6vw, 18px);
  padding: 40px 0 0; }
  @media (max-width: 768px) {
    .contact-box {
      padding: 15px 0; } }
  .contact-box .center-title h1 {
    color: #ea5514;
    margin-bottom: 20px;
    padding-left: 28px;
    position: relative; }
    @media (max-width: 768px) {
      .contact-box .center-title h1 {
        margin-bottom: 5px; } }
    .contact-box .center-title h1::before {
      content: "";
      background: #ea5514;
      height: 5px;
      width: 16px;
      position: absolute;
      top: 50%;
      left: 0;
      transform: translate(0, -50%); }
  .contact-box strong {
    color: #ea5514;
    margin-left: .5rem; }

.form .note {
  border-bottom: 1px solid #B2B2B2;
  margin-bottom: 55px;
  padding-bottom: 15px; }
  @media (max-width: 768px) {
    .form .note {
      margin-bottom: 30px; } }
  .form .note span {
    color: #a40022; }
.form table {
  border-collapse: collapse;
  width: 100%; }
  .form table th {
    font-weight: bold;
    padding-bottom: 23px;
    padding: 0 0 23px;
    text-align: left;
    vertical-align: top;
    width: 35%; }
    @media (max-width: 768px) {
      .form table th {
        display: block;
        padding: 0 0 5px;
        white-space: nowrap;
        width: 100%; } }
    .form table th span {
      color: #fff;
      font-weight: bold;
      margin-right: 10px;
      padding: 4px 16px; }
      @media (max-width: 768px) {
        .form table th span {
          margin-right: 3px;
          padding: 2px 10px; } }
      .form table th span.optional {
        background: #5E5E5E; }
      .form table th span.required {
        background: #ea5514; }
  .form table td {
    padding: 0 0 23px; }
    @media (max-width: 768px) {
      .form table td {
        display: block;
        padding: 0 0 15px;
        width: 100%; } }
.form input[type="text"],
.form textarea {
  background: #fef6e5;
  border: none;
  padding: 4% 3%;
  width: 100%; }
  @media (max-width: 768px) {
    .form input[type="text"],
    .form textarea {
      border-radius: 0;
      font-size: initial; } }
.form label {
  display: block; }
.form input[type="checkbox"] {
  -webkit-appearance: checkbox; }
.form .submit-btn {
  margin-top: 3rem;
  text-align: center; }
  @media (max-width: 768px) {
    .form .submit-btn {
      margin-top: 2rem; } }
.form input[type="submit"] {
  background: #ea5514;
  border: none;
  border-radius: 45px;
  color: #fff;
  cursor: pointer;
  font-size: 18px;
  font-weight: bold;
  padding: 2rem 6rem;
  margin-bottom: 42px; }
  @media (max-width: 768px) {
    .form input[type="submit"] {
      -webkit-appearance: none;
      border-radius: 25px;
      padding: 1.5rem 3rem;
      text-align: center;
      width: 100%; } }
.form .mw_wp_form_confirm th span {
  display: none; }

.confirm table th, .confirm table td,
.mc-confirm table th,
.mc-confirm table td {
  border: 1px solid #b7b7b6;
  padding: 5px; }
  @media (max-width: 768px) {
    .confirm table th, .confirm table td,
    .mc-confirm table th,
    .mc-confirm table td {
      border: none;
      padding: 5px 0; } }
@media (max-width: 768px) {
  .confirm table th,
  .mc-confirm table th {
    border-bottom: 1px solid #b7b7b6; } }
@media (max-width: 768px) {
  .confirm table td,
  .mc-confirm table td {
    padding: 0 0 15px; } }

.thanks .form,
#mc-thanks .form {
  margin: 70px 0; }
  @media (max-width: 768px) {
    .thanks .form,
    #mc-thanks .form {
      margin: 30px 0; } }
  .thanks .form p,
  #mc-thanks .form p {
    line-height: 2;
    margin-top: 15px; }
.thanks .top-btn,
#mc-thanks .top-btn {
  margin-bottom: 70px;
  text-align: center; }
  @media (max-width: 768px) {
    .thanks .top-btn,
    #mc-thanks .top-btn {
      margin: 0 auto 30px; } }
  .thanks .top-btn a,
  #mc-thanks .top-btn a {
    background: #ea5514;
    border-radius: 45px;
    color: #fff;
    font-size: 18px;
    font-weight: bold;
    margin-left: auto;
    margin-right: auto;
    padding: 2rem 6rem;
    max-width: 300px;
    width: 80%; }
    @media (max-width: 768px) {
      .thanks .top-btn a,
      #mc-thanks .top-btn a {
        padding: 1.5rem 2rem; } }

.form .privacy-check {
  margin: 0 0 1.5em;
  text-align: center; }
  .form .privacy-check label {
    display: inline; }
  .form .privacy-check .required {
    background: #ea5514;
    color: #fff;
    font-weight: bold;
    margin-right: 10px;
    padding: 4px 16px; }
    @media (max-width: 768px) {
      .form .privacy-check .required {
        margin-right: 3px;
        padding: 2px 10px; } }
.form .privacy-optional {
  border: 1px solid #ea5514;
  background: #fef6e5;
  margin: 0 0 2em;
  padding: 1rem;
  text-align: center; }
  .form .privacy-optional a {
    color: #ea5514;
    font-weight: bold;
    margin: 0 .5em;
    text-decoration: underline; }
.form .mw_wp_form_confirm .privacy-check,
.form .mw_wp_form_confirm .privacy-optional {
  display: none; }

/********************************************************************************
news
********************************************************************************/
.lower-page {
  /*news-list*/ }
  .lower-page #news-list {
    margin-top: 120px;
    /*sub-head*/ }
    @media (max-width: 768px) {
      .lower-page #news-list {
        margin-top: 62px; } }
    .lower-page #news-list .sub-head {
      font-size: clamp(22px, 2.4vw, 33px);
      font-weight: 700;
      text-align: center;
      /*span*/ }
      .lower-page #news-list .sub-head span {
        display: inline-block;
        position: relative; }
        @media (max-width: 768px) {
          .lower-page #news-list .sub-head span {
            padding: 0 0; } }
      .lower-page #news-list .sub-head small {
        display: block;
        font-family: "Antonio", serif;
        font-weight: 700;
        font-size: clamp(10px, 1.2vw, 14px);
        letter-spacing: 3px;
        margin-top: 1rem; }
    .lower-page #news-list .top-topics__list {
      margin: 62px auto 3rem;
      max-width: 980px;
      width: 100%; }
      @media (max-width: 768px) {
        .lower-page #news-list .top-topics__list {
          margin: 42px auto 2rem; } }
  .lower-page article {
    margin: 75px auto;
    width: 720px;
    /*sub-head*/ }
    @media (max-width: 768px) {
      .lower-page article {
        margin: 15px auto;
        width: 90%; } }
    .lower-page article .sub-head {
      font-size: clamp(22px, 2.4vw, 33px);
      font-weight: 700;
      text-align: center;
      /*span*/ }
      .lower-page article .sub-head span {
        display: inline-block;
        position: relative; }
        @media (max-width: 768px) {
          .lower-page article .sub-head span {
            padding: 0 0; } }
      .lower-page article .sub-head small {
        display: block;
        font-family: "Antonio", serif;
        font-weight: 700;
        font-size: clamp(10px, 1.2vw, 14px);
        letter-spacing: 3px;
        margin-top: 1rem; }
    .lower-page article .title {
      margin: 3rem 0 3rem; }
      @media (max-width: 768px) {
        .lower-page article .title {
          margin: 1.5rem 0 1.5rem; } }
    .lower-page article .date {
      font-size: 14px;
      margin-bottom: 17px; }
      @media (max-width: 768px) {
        .lower-page article .date {
          font-size: 12px;
          margin-bottom: 0; } }
    .lower-page article .article-title {
      border: 1px solid #ea5514;
      border-left: none;
      border-right: none;
      font-size: 34px;
      font-weight: bold;
      padding: 1.5rem 0;
      line-height: 1.5; }
      @media (max-width: 768px) {
        .lower-page article .article-title {
          font-size: 20px; } }
    .lower-page article .desc p {
      line-height: 2.2;
      margin-bottom: 28px; }
      @media (max-width: 768px) {
        .lower-page article .desc p {
          line-height: 1.8;
          margin-bottom: 5px; } }
    .lower-page article .desc a {
      color: #ea5514;
      text-decoration: underline; }

/*lower-page*/
.top-topics__list {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5); }

.top-topics__list li a {
  display: flex;
  align-items: center;
  position: relative;
  padding: clamp(0.625rem, 0.3716216216rem + 1.0810810811vw, 1.25rem);
  transition: 0.3s;
  gap: clamp(0.3125rem, -0.3209459459rem + 2.7027027027vw, 1.875rem); }

@media screen and (max-width: 767px) {
  .top-topics__list li a {
    flex-direction: column;
    align-items: start; } }
.top-topics__list li a::after {
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%) rotate(45deg);
  width: 7px;
  height: 7px;
  border-top: 1px solid currentColor;
  border-right: 1px solid currentColor;
  content: ""; }

@media screen and (max-width: 767px) {
  .top-topics__list li a::after {
    right: 10px; } }
.top-topics__list li a:hover {
  background-color: #fef8e3; }

.top-topics__list li:not(:last-child) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.25); }

.top-topics__list .date {
  font-size: 0.8125rem;
  letter-spacing: 0.1em; }

.top-topics__list .text {
  font-weight: 700;
  font-size: clamp(1rem, 0.9493243243rem + 0.2162162162vw, 1.125rem);
  letter-spacing: 0.1em; }

@media screen and (max-width: 767px) {
  .top-topics__list .text {
    padding-right: 15px; } }
.article-nav {
  border-bottom: 1px solid #000;
  border-top: 1px solid #000;
  margin-top: 8%;
  padding: 1rem 0;
  display: flex;
  gap: 0 3%;
  align-items: center; }
  .article-nav .pre a, .article-nav .later a {
    color: #ea5514;
    display: inline-block;
    text-decoration: underline; }
  .article-nav .return {
    border-left: 1px dashed #000;
    border-right: 1px dashed #000;
    line-height: 1.2;
    padding: 0 1rem; }
    @media (max-width: 768px) {
      .article-nav .return {
        margin: auto; } }
    .article-nav .return p {
      text-align: center; }
  .article-nav a {
    color: #231815;
    font-size: 14px; }
    @media (max-width: 768px) {
      .article-nav a {
        font-size: 12px; } }
