@charset "UTF-8";
.oomidashi {
  max-width: 1600px;
  width: 90%;
  margin: 0 auto 40px;
  display: flex;
  align-items: center;
  padding-top: 100px; }
  @media (min-width: 1024px) {
    .oomidashi {
      margin: 0 auto 90px;
      padding-top: 150px; } }
  .oomidashi .square {
    background-color: #EFEFEF;
    width: 100px;
    margin-left: -6%;
    overflow: hidden; }
    @media (min-width: 1024px) {
      .oomidashi .square {
        margin-left: -50px; } }
    .oomidashi .square.takasa1 {
      height: 200px; }
      @media (min-width: 1024px) {
        .oomidashi .square.takasa1 {
          height: 290px; } }
    .oomidashi .square.takasa2 {
      height: 150px; }
      @media (min-width: 1024px) {
        .oomidashi .square.takasa2 {
          height: 230px; } }
  .oomidashi .midashi-text {
    margin-left: -50px; }
    .oomidashi .midashi-text h2 {
      font-size: 1.8em;
      line-height: 1.2em;
      color: #064CCE; }
      @media (min-width: 1024px) {
        .oomidashi .midashi-text h2 {
          font-size: 3.8em; } }
    .oomidashi .midashi-text h3 {
      font-size: 1.25em;
      line-height: 1.3em;
      margin-top: 10px; }
      @media (min-width: 1024px) {
        .oomidashi .midashi-text h3 {
          font-size: 2.2em; } }
      @media (min-width: 1250px) {
        .oomidashi .midashi-text h3 {
          font-size: 2.6em; } }

.midashi {
  display: flex;
  align-items: center;
  max-width: 1600px;
  width: 90%;
  margin: auto;
  padding-top: 90px; }
  .midashi.flow {
    width: 100%; }
  .midashi img {
    width: 36px;
    margin-right: 10px; }
    @media (min-width: 1024px) {
      .midashi img {
        width: 66px; } }
  .midashi h2 {
    font-size: 1.4em;
    line-height: 1.2em;
    color: #064CCE; }
    @media (min-width: 1024px) {
      .midashi h2 {
        font-size: 2.25em; } }

.common-introduction {
  max-width: 1600px;
  width: 90%;
  margin: 60px auto 0; }
  @media (min-width: 768px) {
    .common-introduction {
      display: flex; } }
  .common-introduction h3 {
    font-size: 1.45em;
    line-height: 1.4em;
    color: #064CCE;
    margin-top: 20px; }
    @media (min-width: 768px) {
      .common-introduction h3 {
        margin-top: 0; } }
    @media (min-width: 1024px) {
      .common-introduction h3 {
        font-size: 2.0em; } }
    @media (min-width: 1250px) {
      .common-introduction h3 {
        font-size: 2.25em; } }
  .common-introduction h4 {
    font-size: 1.125em;
    line-height: 1.2em;
    margin: 20px auto 5px; }
    @media (min-width: 768px) {
      .common-introduction h4 {
        margin: 0 auto 10px; } }
    @media (min-width: 1024px) {
      .common-introduction h4 {
        font-size: 1.5em; } }
    .common-introduction h4 .color-blue {
      color: #064CCE;
      margin: 0 5px; }
  .common-introduction h5 {
    font-size: 1.6em;
    line-height: 1.2em; }
    @media (min-width: 1024px) {
      .common-introduction h5 {
        font-size: 2.25em; } }
  .common-introduction p {
    font-size: 0.9em;
    line-height: 1.6em;
    text-align: justify;
    margin-top: 15px; }
    @media (min-width: 1024px) {
      .common-introduction p {
        font-size: 1.0em;
        margin-top: 30px; } }
    @media (min-width: 1250px) {
      .common-introduction p {
        line-height: 1.8em; } }
    @media (min-width: 1450px) {
      .common-introduction p {
        font-size: 1.125em;
        line-height: 2.0em; } }
  .common-introduction img {
    border-radius: 10px; }
    @media (min-width: 1024px) {
      .common-introduction img {
        border-radius: 20px; } }
  @media (min-width: 768px) {
    .common-introduction .text-left {
      width: 60%;
      padding-right: 3%; } }
  @media (min-width: 768px) {
    .common-introduction .photo-right {
      width: 40%; } }
  @media (min-width: 768px) {
    .common-introduction .photo-left {
      width: 40%; } }
  @media (min-width: 768px) {
    .common-introduction .text-right {
      width: 60%;
      padding-left: 3%; } }

.program-box {
  text-align: center;
  border: 5px solid #EFEFEF;
  border-radius: 20px;
  padding: 20px;
  margin-bottom: 20px;
  width: 100%; }
  @media (min-width: 1250px) {
    .program-box {
      padding: 30px;
      margin-bottom: 40px; } }
  .program-box h3 {
    font-size: 1.125em;
    line-height: 1.4em;
    color: #064CCE; }
    @media (min-width: 1024px) {
      .program-box h3 {
        font-size: 1.25em; } }
  .program-box p {
    font-size: 0.9em;
    line-height: 1.6em;
    text-align: justify;
    margin-top: 15px; }
    @media (min-width: 1024px) {
      .program-box p {
        font-size: 1.0em; } }

/*
---------------------------------------------------------------------------------------------------------------------
プロローグ
---------------------------------------------------------------------------------------------------------------------
*/
#prologue {
  width: 90%;
  margin: auto;
  padding-top: 60px; }
  @media (min-width: 1024px) {
    #prologue {
      padding-top: 150px; } }
  #prologue h1 {
    font-size: 1.6em;
    line-height: 1.4em;
    text-align: center;
    color: #064CCE;
    margin-bottom: 45px; }
    @media (min-width: 1024px) {
      #prologue h1 {
        font-size: 3.0em;
        margin-bottom: 90px; } }
  #prologue img {
    vertical-align: bottom;
    border-radius: 10px; }
    @media (min-width: 768px) {
      #prologue img {
        border-radius: 20px; } }
    @media (min-width: 1024px) {
      #prologue img {
        border-radius: 40px; } }
  #prologue .prologue-in {
    max-width: 1600px;
    width: 90%;
    margin: 60px auto 0;
    display: flex; }
    #prologue .prologue-in .prologue-left {
      display: none; }
      @media (min-width: 768px) {
        #prologue .prologue-in .prologue-left {
          display: block;
          width: 40%;
          padding-right: 5%; } }
      #prologue .prologue-in .prologue-left img {
        border-radius: 20px; }
    @media (min-width: 768px) {
      #prologue .prologue-in .prologue-right {
        width: 60%; } }
    #prologue .prologue-in .prologue-right h2 {
      font-size: 2.0em;
      line-height: 1.0em;
      color: #064CCE;
      margin-bottom: 10px; }
      @media (min-width: 1024px) {
        #prologue .prologue-in .prologue-right h2 {
          font-size: 3.0em;
          margin-bottom: 40px; } }
    #prologue .prologue-in .prologue-right h3 {
      font-size: 1.25em;
      font-weight: bold;
      line-height: 1.4em;
      margin-bottom: 10px; }
      @media (min-width: 1024px) {
        #prologue .prologue-in .prologue-right h3 {
          font-size: 2.2em;
          margin-bottom: 20px; } }
      #prologue .prologue-in .prologue-right h3.sogoh3 {
        margin-top: 40px; }
    #prologue .prologue-in .prologue-right p {
      font-size: 0.9em;
      text-align: justify;
      line-height: 2.0em; }
      @media (min-width: 1024px) {
        #prologue .prologue-in .prologue-right p {
          font-size: 1.125em; } }

/*
---------------------------------------------------------------------------------------------------------------------
一日の流れ
---------------------------------------------------------------------------------------------------------------------
*/
#day-flow {
  max-width: 1200px;
  width: 90%;
  margin: auto; }
  #day-flow .flow-chart {
    margin: 50px 0 0 5%; }
    @media (min-width: 1024px) {
      #day-flow .flow-chart {
        margin: 100px 0 0 5%; } }
    #day-flow .flow-chart .chart-box {
      position: relative; }
      #day-flow .flow-chart .chart-box h3 {
        font-size: 1.25em;
        line-height: 1.4em;
        color: #064CCE; }
        @media (min-width: 1024px) {
          #day-flow .flow-chart .chart-box h3 {
            font-size: 1.75em; } }
      #day-flow .flow-chart .chart-box h4, #day-flow .flow-chart .chart-box h5 {
        font-size: 1.5em;
        position: absolute;
        left: -5%;
        color: #064CCE; }
        @media (min-width: 1024px) {
          #day-flow .flow-chart .chart-box h4, #day-flow .flow-chart .chart-box h5 {
            font-size: 2.5em; } }
      #day-flow .flow-chart .chart-box h4 {
        top: -5%; }
        @media (min-width: 1024px) {
          #day-flow .flow-chart .chart-box h4 {
            top: -6%; } }
      #day-flow .flow-chart .chart-box h5 {
        bottom: -3%; }
        @media (min-width: 1024px) {
          #day-flow .flow-chart .chart-box h5 {
            bottom: -6%; } }
      #day-flow .flow-chart .chart-box p {
        font-size: 0.9em;
        line-height: 1.6em;
        margin-top: 10px; }
        @media (min-width: 1024px) {
          #day-flow .flow-chart .chart-box p {
            font-size: 1.0em; } }
      #day-flow .flow-chart .chart-box .photo img, #day-flow .flow-chart .chart-box .photo2 img {
        border-radius: 50%; }
    #day-flow .flow-chart .color1 {
      background-color: #EFEFEF; }
    #day-flow .flow-chart .color2 {
      background-color: #DDDDDD; }
    #day-flow .flow-chart .type1 {
      border-top-right-radius: 20px;
      border-top-left-radius: 20px; }
    #day-flow .flow-chart .type1-in {
      display: flex;
      align-items: center;
      max-width: 760px;
      margin: auto;
      padding: 40px 15px; }
      @media (min-width: 768px) {
        #day-flow .flow-chart .type1-in {
          padding: 40px 30px; } }
      #day-flow .flow-chart .type1-in .photo {
        width: 160px; }
        @media (min-width: 768px) {
          #day-flow .flow-chart .type1-in .photo {
            width: 120px; } }
      #day-flow .flow-chart .type1-in .text {
        margin-left: 20px; }
    #day-flow .flow-chart .type2 .type2-in {
      max-width: 760px;
      margin: auto;
      padding: 40px 15px; }
      #day-flow .flow-chart .type2 .type2-in h3 {
        margin-right: 10px; }
      @media (min-width: 768px) {
        #day-flow .flow-chart .type2 .type2-in {
          padding: 40px 30px;
          display: flex; } }
    #day-flow .flow-chart .type3 {
      position: relative; }
      #day-flow .flow-chart .type3 .type3-in {
        max-width: 760px;
        margin: auto;
        padding: 40px 15px; }
        @media (min-width: 768px) {
          #day-flow .flow-chart .type3 .type3-in {
            padding: 40px 30px;
            display: flex; } }
        #day-flow .flow-chart .type3 .type3-in .photo {
          position: absolute;
          top: -40%;
          right: 5%;
          width: 140px; }
          @media (min-width: 768px) {
            #day-flow .flow-chart .type3 .type3-in .photo {
              width: 180px;
              right: 10%; } }
          @media (min-width: 1024px) {
            #day-flow .flow-chart .type3 .type3-in .photo {
              width: 240px; } }
        #day-flow .flow-chart .type3 .type3-in .photo2 {
          position: absolute;
          top: -40%;
          right: 5%;
          width: 120px; }
          @media (min-width: 768px) {
            #day-flow .flow-chart .type3 .type3-in .photo2 {
              top: -100%;
              right: 10%;
              width: 180px; } }
          @media (min-width: 1024px) {
            #day-flow .flow-chart .type3 .type3-in .photo2 {
              width: 240px; } }
        #day-flow .flow-chart .type3 .type3-in .baai {
          background-color: #E60013;
          border-radius: 20px;
          text-align: center;
          padding: 10px 20px;
          position: relative;
          margin-top: 20px; }
          @media (min-width: 1024px) {
            #day-flow .flow-chart .type3 .type3-in .baai {
              padding: 20px 40px;
              margin-left: 15%;
              border-radius: 30px; } }
          #day-flow .flow-chart .type3 .type3-in .baai img {
            width: 40px;
            position: absolute;
            top: -40px;
            left: 60%; }
            @media (min-width: 1024px) {
              #day-flow .flow-chart .type3 .type3-in .baai img {
                width: 40px;
                top: 15px;
                left: -40px; } }
          #day-flow .flow-chart .type3 .type3-in .baai .baai-in h3 {
            font-size: 1.25em;
            line-height: 1.2em;
            color: #fff; }
            @media (min-width: 1024px) {
              #day-flow .flow-chart .type3 .type3-in .baai .baai-in h3 {
                font-size: 1.5em; } }
          #day-flow .flow-chart .type3 .type3-in .baai .baai-in h4 {
            font-size: 0.8em;
            font-weight: 400;
            line-height: 1.4em;
            color: #fff;
            position: unset;
            margin-top: 5px; }
            @media (min-width: 1024px) {
              #day-flow .flow-chart .type3 .type3-in .baai .baai-in h4 {
                font-size: 1.0em;
                margin-top: 15px; } }
    #day-flow .flow-chart .type4 {
      border-bottom-right-radius: 20px;
      border-bottom-left-radius: 20px; }

/*
---------------------------------------------------------------------------------------------------------------------
キャリアアップ制度
---------------------------------------------------------------------------------------------------------------------
*/
.career-graph {
  max-width: 1600px;
  width: 90%;
  margin: 40px auto 0;
  border: 1px solid #D6D5D5;
  border-radius: 20px;
  padding: 3% 6%;
  position: relative; }
  @media (min-width: 1024px) {
    .career-graph {
      margin: 90px auto 0; } }
  .career-graph h2 {
    font-size: 1.0em;
    line-height: 1.2em;
    color: #064CCE;
    position: absolute;
    top: 10%;
    left: 5%; }
    @media (min-width: 768px) {
      .career-graph h2 {
        font-size: 1.25em; } }
    @media (min-width: 1024px) {
      .career-graph h2 {
        font-size: 1.5em; } }
  .career-graph img {
    width: 100%; }

/*
---------------------------------------------------------------------------------------------------------------------
研修制度
---------------------------------------------------------------------------------------------------------------------
*/
.training {
  max-width: 1600px;
  width: 90%;
  margin: 40px auto 0; }
  @media only screen and (min-width: 768px) {
    .training .o-4column .col-lg-4 {
      padding: 0 10px; }
    .training .o-4column {
      margin: 0 -10px; } }
  @media only screen and (min-width: 1250px) {
    .training .o-4column .col-lg-4 {
      padding: 0 20px; }
    .training .o-4column {
      margin: 0 -20px; } }

/*
---------------------------------------------------------------------------------------------------------------------
福利厚生・職場環境
---------------------------------------------------------------------------------------------------------------------
*/
@media only screen and (min-width: 1024px) {
  #welfare .o-3column .col-xs-12 {
    padding: 0 10px; }
  #welfare .o-3column {
    margin: 0 -10px; } }
@media only screen and (min-width: 1250px) {
  #welfare .o-3column .col-xs-12 {
    padding: 0 20px; }
  #welfare .o-3column {
    margin: 0 -20px; } }

/*
---------------------------------------------------------------------------------------------------------------------
数字で見る
---------------------------------------------------------------------------------------------------------------------
*/
.data {
  max-width: 1600px;
  width: 90%;
  margin: 40px auto 0; }
  @media only screen and (min-width: 1024px) {
    .data .o-4column .col-lg-4 {
      padding: 0 10px; }
    .data .o-4column {
      margin: 0 -10px; } }
  @media only screen and (min-width: 1250px) {
    .data .o-4column .col-lg-4 {
      padding: 0 20px; }
    .data .o-4column {
      margin: 0 -20px; } }
  .data .data-box {
    border: 5px solid #EFEFEF;
    border-radius: 20px;
    text-align: center;
    width: 100%;
    padding: 20px 0;
    margin-bottom: 20px; }
    @media (min-width: 1024px) {
      .data .data-box {
        padding: 40px 0;
        margin-bottom: 20px; } }
    @media (min-width: 1250px) {
      .data .data-box {
        margin-bottom: 40px; } }
    .data .data-box h3 {
      font-size: 1.125em;
      line-height: 1.3em;
      color: #064CCE; }
      @media (min-width: 1250px) {
        .data .data-box h3 {
          font-size: 1.375em; } }
      .data .data-box h3.one {
        line-height: 2.5em; }
    .data .data-box img {
      width: 40%;
      margin-top: 15px; }
      @media (min-width: 1024px) {
        .data .data-box img {
          width: 95px;
          margin-top: 35px; } }
      .data .data-box img.typeA {
        margin-top: 10px; }
    .data .data-box .data-type1 {
      display: flex;
      justify-content: center;
      margin-bottom: 10px; }
      .data .data-box .data-type1 h4 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 900;
        font-size: 5.25em;
        line-height: 1.0em;
        color: #064CCE; }
        @media (min-width: 1250px) {
          .data .data-box .data-type1 h4 {
            font-size: 6.25em; } }
        .data .data-box .data-type1 h4.tyoautai {
          transform: scale(0.9, 1); }
      .data .data-box .data-type1 h5 {
        font-size: 2.225em;
        font-weight: 900;
        line-height: 1.2em;
        margin-top: 40px; }
        @media (min-width: 1250px) {
          .data .data-box .data-type1 h5 {
            font-size: 3.125em; } }
    .data .data-box .data-type2 {
      display: flex;
      justify-content: center;
      margin-bottom: 10px; }
      .data .data-box .data-type2 h4 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 900;
        font-size: 2.6em;
        line-height: 1.0em;
        color: #064CCE; }
        @media (min-width: 1250px) {
          .data .data-box .data-type2 h4 {
            font-size: 3.125em; } }
      .data .data-box .data-type2 h5 {
        font-size: 0.95em;
        font-weight: 900;
        line-height: 1.2em;
        margin-top: 22px; }
        @media (min-width: 1250px) {
          .data .data-box .data-type2 h5 {
            font-size: 1.56em; } }
    .data .data-box .data-type3 {
      display: flex;
      justify-content: center;
      margin-bottom: 10px; }
      .data .data-box .data-type3 h4 {
        font-family: 'Noto Sans JP', sans-serif;
        font-weight: 900;
        font-size: 3.5em;
        line-height: 1.0em;
        color: #064CCE; }
        @media (min-width: 1250px) {
          .data .data-box .data-type3 h4 {
            font-size: 5em; } }
      .data .data-box .data-type3 h5 {
        font-size: 0.95em;
        font-weight: 900;
        line-height: 1.2em;
        margin-top: 35px; }
        @media (min-width: 1250px) {
          .data .data-box .data-type3 h5 {
            font-size: 1.56em;
            margin-top: 46px; } }
    .data .data-box h6 {
      font-size: 0.9em;
      font-weight: 400;
      line-height: 1.4em; }
      @media (min-width: 1250px) {
        .data .data-box h6 {
          font-size: 1.0em; } }
    .data .data-box .data-item {
      display: flex;
      justify-content: center;
      margin: 20px 0; }
      .data .data-box .data-item .data-item-in {
        margin: 0 10px; }
      .data .data-box .data-item p {
        font-size: 1.0em;
        font-weight: bold; }
      .data .data-box .data-item img {
        width: auto;
        height: 99px;
        margin-top: 35px; }
      .data .data-box .data-item.type2 img {
        margin-top: 0; }
      .data .data-box .data-item.type3 img {
        height: 120px;
        margin-top: 0; }
        @media (min-width: 1250px) {
          .data .data-box .data-item.type3 img {
            height: 100px; } }

/*
---------------------------------------------------------------------------------------------------------------------
よくある質問
---------------------------------------------------------------------------------------------------------------------
*/
.question {
  max-width: 1600px;
  width: 90%;
  margin: 40px auto 0; }
  .question .question-box {
    margin-bottom: 60px; }
    .question .question-box .q-title {
      display: flex;
      align-items: center;
      color: #064CCE; }
      .question .question-box .q-title h2 {
        font-size: 3.0em;
        line-height: 1.0em; }
        @media (min-width: 1024px) {
          .question .question-box .q-title h2 {
            font-size: 4.0em; } }
      .question .question-box .q-title h3 {
        font-size: 1.5em;
        line-height: 1.35em;
        text-decoration: underline;
        margin: 10px 0 0 20px; }
        @media (min-width: 1024px) {
          .question .question-box .q-title h3 {
            font-size: 2.0em;
            margin: 10px 0 0 35px; } }
    .question .question-box .answer {
      margin: 10px 0 0 0; }
      @media (min-width: 768px) {
        .question .question-box .answer {
          margin: 20px 0 0 0; } }
      @media (min-width: 1024px) {
        .question .question-box .answer {
          display: flex;
          margin: 30px 0 0 88px; } }
      .question .question-box .answer h4 {
        font-size: 1.125em;
        line-height: 1.0em;
        font-weight: 700;
        margin-right: 80px; }
      .question .question-box .answer p {
        font-size: 1.0em;
        text-align: justify;
        font-weight: 300;
        line-height: 1.6em;
        border-top: 1px solid #D6D5D5;
        padding-top: 5px;
        margin-top: 5px; }
        @media (min-width: 1024px) {
          .question .question-box .answer p {
            font-size: 1.125em;
            border-left: 1px solid #D6D5D5;
            border-top: none;
            padding: 5px 0 0 40px;
            margin-top: 0px; } }

/*
---------------------------------------------------------------------------------------------------------------------
募集要項
---------------------------------------------------------------------------------------------------------------------
*/
.recruiting {
  max-width: 1600px;
  width: 90%;
  margin: 40px auto 40px; }
  @media (min-width: 1024px) {
    .recruiting {
      margin: 40px auto 150px; } }
  .recruiting table tr th, .recruiting table tr td {
    display: block; }
    @media (min-width: 1024px) {
      .recruiting table tr th, .recruiting table tr td {
        display: table-cell; } }
  .recruiting table tr th {
    width: 240px;
    padding-bottom: 20px;
    vertical-align: top; }
    @media (min-width: 1024px) {
      .recruiting table tr th {
        padding-bottom: 40px; } }
    .recruiting table tr th .item {
      position: relative; }
    .recruiting table tr th h3 {
      font-size: 1.0em;
      font-weight: bold;
      text-align: left;
      color: #064CCE;
      padding-left: 10px; }
      @media (min-width: 1024px) {
        .recruiting table tr th h3 {
          font-size: 1.125em; } }
    .recruiting table tr th .border {
      background-color: #EFEFEF;
      width: 200px;
      height: 20px;
      position: absolute;
      top: 14px;
      z-index: -1; }
  .recruiting table tr td {
    font-size: 1.0em;
    font-weight: 300;
    line-height: 1.6em;
    padding-bottom: 40px; }
    @media (min-width: 1024px) {
      .recruiting table tr td {
        font-size: 1.125em; } }
    .recruiting table tr td a {
      color: #064CCE;
      font-weight: 400;
      position: relative;
      display: inline-block; }
      .recruiting table tr td a::after {
        position: absolute;
        bottom: 0;
        left: 0;
        content: '';
        width: 100%;
        height: 1px;
        background: #064CCE;
        transform: scale(0, 1);
        transform-origin: right top;
        transition: transform .3s; }
      .recruiting table tr td a:hover::after {
        transform-origin: left top;
        transform: scale(1, 1); }
    .recruiting table tr td ul {
      margin-bottom: 20px; }
      .recruiting table tr td ul li {
        font-size: 1.0em; }
