@import url(//fonts.googleapis.com/css?family=Open+Sans:400,700);
@import url(//fonts.googleapis.com/css?family=EB+Garamond);
@import url(//fonts.googleapis.com/css?family=Lato:300,300i,400,400i,700,900);
@import url(//fonts.googleapis.com/css?family=Oswald:300);
@import url(//fonts.googleapis.com/css?family=Lora);
@import url(//fonts.googleapis.com/css?family=Niconne);
.clearfix, .loopSlider ul, #section03, #section04, #section04 ul {
  *zoom: 1; }
  .clearfix:after, .loopSlider ul:after, #section03:after, #section04:after, #section04 ul:after {
    content: "";
    display: table;
    clear: both; }

/* ------------------------------
button
------------------------------ */
/* ------------------------------
top
------------------------------ */
article#top {
  padding: 105px 0 0; }
  @media only screen and (max-width: 480px) {
    article#top {
      padding: 54px 0 0; } }
  article#top .top_btn {
    width: 240px;
    margin: 0 auto; }
    article#top .top_btn a {
      display: block;
      box-sizing: border-box;
      width: 240px;
      height: 50px;
      border: 1px solid #005ead;
      background: url(/en/recruit/image/top/btn_bg01.png) right 5px bottom 5px no-repeat;
      color: #005ead;
      font-family: 'Lato', sans-serif;
      font-size: 20px;
      font-weight: 400;
      font-style: italic;
      letter-spacing: 5px;
      line-height: 48px;
      text-decoration: none;
      text-align: center; }
      article#top .top_btn a:hover {
        background-color: #f6f6f6; }

/* ------------------------------
main visual
------------------------------ */
#main_visual {
  max-width: 1500px;
  min-width: 1000px;
  margin: 0 auto;
  position: relative; }
  @media only screen and (max-width: 480px) {
    #main_visual {
      max-width: 100%;
      min-width: 100%;
      height: 150px; } }
  #main_visual #txt_block {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: url(/en/recruit/image/top/slide_bg01.png) left bottom no-repeat, url(/en/recruit/image/top/slide_bg02.png) right top no-repeat;
    background-size: contain;
    color: #fff; }
    #main_visual #txt_block h2 {
      font-family: 'Lato', sans-serif;
      font-size: 96px;
      font-weight: 900;
      text-align: center;
      padding: 240px 0 20px; }
      @media only screen and (max-width: 480px) {
        #main_visual #txt_block h2 {
          font-size: 34px;
          padding: 30px 0 20px; } }
      #main_visual #txt_block h2 span {
        font-family: 'Niconne', cursive;
        font-size: 72px;
        font-weight: 400; }
        @media only screen and (max-width: 480px) {
          #main_visual #txt_block h2 span {
            font-size: 40px; } }
    #main_visual #txt_block p {
      font-size: 22px;
      text-align: center; }
      @media only screen and (max-width: 480px) {
        #main_visual #txt_block p {
          font-size: 16px;
          font-weight: bold;
          line-height: 150%; } }
      #main_visual #txt_block p span {
        font-family: 'Lato', sans-serif; }

/*=== bx slider ===*/
.bx-wrapper {
  position: relative;
  padding: 0;
  *zoom: 1;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  margin: 0; }

.bx-wrapper img {
  max-width: 100%;
  display: block; }

.bxslider {
  margin: 0;
  padding: 0; }

ul.bxslider {
  list-style: none; }

.bx-viewport {
  /*fix other elements on the page moving (on Chrome)*/
  -webkit-transform: translatez(0); }

/* LOADER */
.bx-wrapper .bx-loading {
  min-height: 50px;
  background: url(/en/recruit/image/common/bx_loader.gif) center center no-repeat #ffffff;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2000; }

/* ------------------------------
section01
------------------------------ */
#section01 {
  max-width: 1500px;
  min-width: 1000px;
  margin: 0 auto;
  padding: 60px 0px;
  position: relative; }
  @media only screen and (max-width: 480px) {
    #section01 {
      max-width: 100%;
      min-width: 100%;
      padding: 30px 0; } }
  #section01 h2 {
    font-size: 20px;
    line-height: 150%;
    text-align: center;
    margin: 0 0 55px; }
    @media only screen and (max-width: 480px) {
      #section01 h2 {
        font-size: 16px;
        margin: 0 0 70px; } }
    #section01 h2 span {
      border-bottom: 4px solid #f6ad3c; }
      @media only screen and (max-width: 480px) {
        #section01 h2 span {
          border-bottom: 3px solid #f6ad3c; } }
  #section01 #slide_wrap {
    position: relative;
    padding: 0 0 60px; }
    @media only screen and (max-width: 480px) {
      #section01 #slide_wrap {
        padding: 0 0 30px; } }
    #section01 #slide_wrap #txt_block {
      position: absolute;
      top: -40px;
      left: 0;
      background: #fff;
      padding: 15px 20px;
      z-index: 100; }
      @media only screen and (max-width: 480px) {
        #section01 #slide_wrap #txt_block {
          padding: 10px; } }
      #section01 #slide_wrap #txt_block h3 {
        font-family: 'Lato', sans-serif;
        font-size: 28px;
        font-weight: 700;
        margin: 0 0 15px; }
        @media only screen and (max-width: 480px) {
          #section01 #slide_wrap #txt_block h3 {
            font-size: 22px; } }
        #section01 #slide_wrap #txt_block h3 span {
          font-weight: 300; }
      #section01 #slide_wrap #txt_block p {
        font-size: 16px;
        font-weight: bold; }
        @media only screen and (max-width: 480px) {
          #section01 #slide_wrap #txt_block p {
            font-size: 14px; } }

/*=== loopSlider ===*/
.loopSliderWrap {
  top: 0;
  left: 0;
  height: 450px;
  overflow: hidden;
  position: absolute; }
  @media only screen and (max-width: 480px) {
    .loopSliderWrap {
      height: 350px; } }

.loopSlider {
  margin: 0 auto;
  width: 100%;
  height: 450px;
  text-align: left;
  position: relative;
  overflow: hidden; }
  @media only screen and (max-width: 480px) {
    .loopSlider {
      height: 350px; } }
  .loopSlider ul {
    height: 450px;
    float: left;
    overflow: hidden; }
    @media only screen and (max-width: 480px) {
      .loopSlider ul {
        height: 350px; } }
    .loopSlider ul li {
      width: 300px;
      height: 450px;
      float: left;
      display: inline;
      overflow: hidden;
      position: relative; }
      @media only screen and (max-width: 480px) {
        .loopSlider ul li {
          width: 200px;
          height: 350px; } }
      .loopSlider ul li span {
        display: inline-block;
        position: absolute;
        bottom: 90px;
        left: 0;
        background: #fff;
        padding: 5px 10px;
        font-size: 12px; }
        @media only screen and (max-width: 480px) {
          .loopSlider ul li span {
            font-size: 10px;
            bottom: 110px; } }
      .loopSlider ul li p {
        padding: 10px 10px 0;
        line-height: 135%; }
        @media only screen and (max-width: 480px) {
          .loopSlider ul li p {
            font-size: 13px;
            line-height: 120%; } }
      .loopSlider ul li a {
        text-decoration: none; }
        .loopSlider ul li a:hover {
          opacity: 0.75;
          filter: Alpha(opacity=75); }
      @media only screen and (max-width: 480px) {
        .loopSlider ul li img {
          width: 100%; } }

/* ------------------------------
section02
------------------------------ */
#section02 {
  max-width: 1500px;
  min-width: 1000px;
  height: 540px;
  background: #ede8e2 url(/en/recruit/image/top/sec02_bg01.jpg) bottom right no-repeat;
  margin: 0 auto 60px;
  text-align: center; }
  @media only screen and (max-width: 480px) {
    #section02 {
      padding: 0;
      max-width: 100%;
      min-width: 100%;
      height: 400px;
      background-color: #f3f0eb;
      background-size: contain;
      margin: 0 0 30px; } }
  #section02 h2 {
    padding: 140px 0 20px;
    font-size: 20px; }
    @media only screen and (max-width: 480px) {
      #section02 h2 {
        padding: 30px 10px 20px;
        font-size: 14px;
        line-height: 150%;
        text-align: left; } }
  #section02 .ttl {
    font-family: 'Lato', sans-serif;
    font-size: 48px;
    font-weight: 700;
    margin: 0 0 30px; }
    @media only screen and (max-width: 480px) {
      #section02 .ttl {
        font-size: 28px;
        padding: 0 0 0 10px;
        text-align: left; } }
    #section02 .ttl span {
      font-weight: 300; }
  #section02 .tx01 {
    font-size: 18px;
    line-height: 200%;
    margin: 0 0 30px; }
    @media only screen and (max-width: 480px) {
      #section02 .tx01 {
        font-size: 14px;
        text-align: left;
        padding: 0 0 0 10px;
        width: 45%;
        line-height: 150%; } }
  #section02 .top_btn {
    background-color: rgba(255, 255, 255, 0.3); }

/* ------------------------------
section03
------------------------------ */
#section03 {
  max-width: 1500px;
  min-width: 1000px;
  padding: 0;
  border-bottom: 1px solid #ccc;
  margin: 0 auto; }
  @media only screen and (max-width: 480px) {
    #section03 {
      max-width: 94%;
      min-width: 94%;
      width: 94%;
      margin: 0 3%; } }
  #section03 h2 {
    font-size: 20px;
    text-align: center;
    margin: 0 0 60px; }
    @media only screen and (max-width: 480px) {
      #section03 h2 {
        font-size: 16px;
        margin: 0 0 30px; } }
  #section03 #gptw {
    box-sizing: border-box;
    width: 100%;
    height: 408px;
    padding: 60px 0 0 90px;
    background: #be0730;
    color: #fff;
    margin: 0 0 40px;
    position: relative; }
    @media only screen and (max-width: 480px) {
      #section03 #gptw {
        height: auto;
        padding: 20px 0 0;
        text-align: center;
        margin: 0 0 30px; } }
    #section03 #gptw .logo {
      margin: 0 0 20px; }
    #section03 #gptw h3 {
      font-family: 'Lato', sans-serif;
      font-size: 48px;
      font-weight: 700;
      margin: 0 0 30px; }
      @media only screen and (max-width: 480px) {
        #section03 #gptw h3 {
          font-size: 28px;
          padding: 0 0 0 10px; } }
      #section03 #gptw h3 span {
        font-weight: 300; }
    #section03 #gptw p {
      font-size: 18px;
      margin: 0 0 30px; }
      @media only screen and (max-width: 480px) {
        #section03 #gptw p {
          font-size: 14px;
          padding: 0 0 0 10px;
          line-height: 150%; } }
    #section03 #gptw .top_btn02 {
      width: 240px; }
      @media only screen and (max-width: 480px) {
        #section03 #gptw .top_btn02 {
          margin: 0 auto 20px; } }
      #section03 #gptw .top_btn02 a {
        display: block;
        box-sizing: border-box;
        width: 240px;
        height: 50px;
        border: 1px solid #fff;
        background: url(/en/recruit/image/top/btn_bg02.png) right 5px bottom 5px no-repeat;
        color: #fff;
        font-family: 'Lato', sans-serif;
        font-size: 20px;
        font-weight: 400;
        font-style: italic;
        letter-spacing: 5px;
        line-height: 48px;
        text-decoration: none;
        text-align: center; }
        #section03 #gptw .top_btn02 a:hover {
          background-color: rgba(255, 255, 255, 0.3); }
    #section03 #gptw .pic {
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1; }
      @media only screen and (max-width: 480px) {
        #section03 #gptw .pic {
          position: relative; } }
      @media only screen and (max-width: 480px) {
        #section03 #gptw .pic img {
          width: 100%; } }
  #section03 #history,
  #section03 #department {
    width: 50%;
    height: 310px;
    margin: 0 0 40px;
    float: left;
    position: relative; }
    @media only screen and (max-width: 480px) {
      #section03 #history,
      #section03 #department {
        width: 100%;
        height: 200px;
        float: none;
        margin: 0 0 30px; } }
  #section03 #history {
    background: url(/en/recruit/image/top/sec03_bg01.jpg) top right no-repeat; }
  #section03 #department {
    background: url(/en/recruit/image/top/sec03_bg02.jpg) top left no-repeat; }
  #section03 #support,
  #section03 #women,
  #section03 #welfare {
    width: 33.3%;
    height: 310px;
    margin: 0 0 60px;
    position: relative;
    float: left; }
    @media only screen and (max-width: 480px) {
      #section03 #support,
      #section03 #women,
      #section03 #welfare {
        width: 100%;
        height: 200px;
        float: none;
        margin: 0 0 30px; } }
  #section03 #support {
    background: url(/en/recruit/image/top/sec03_bg03.jpg) top center no-repeat; }
  #section03 #women {
    background: url(/en/recruit/image/top/sec03_bg04.jpg) top center no-repeat; }
  #section03 #welfare {
    background: url(/en/recruit/image/top/sec03_bg05.jpg) top center no-repeat; }
  #section03 #history:hover,
  #section03 #department:hover,
  #section03 #support:hover,
  #section03 #women:hover,
  #section03 #welfare:hover {
    opacity: 0.75;
    filter: Alpha(opacity=75); }
  #section03 #history a,
  #section03 #department a,
  #section03 #support a,
  #section03 #women a,
  #section03 #welfare a {
    display: block;
    width: 100%;
    height: 310px;
    text-decoration: none; }
    @media only screen and (max-width: 480px) {
      #section03 #history a,
      #section03 #department a,
      #section03 #support a,
      #section03 #women a,
      #section03 #welfare a {
        height: 200px; } }
  #section03 #history .txt_block,
  #section03 #department .txt_block,
  #section03 #support .txt_block,
  #section03 #women .txt_block,
  #section03 #welfare .txt_block {
    box-sizing: border-box;
    width: 85%;
    position: absolute;
    right: 0;
    bottom: 0;
    background: #fff url(/en/recruit/image/top/btn_bg01.png) right 10px bottom 10px no-repeat;
    padding: 15px 20px; }
    #section03 #history .txt_block h3,
    #section03 #department .txt_block h3,
    #section03 #support .txt_block h3,
    #section03 #women .txt_block h3,
    #section03 #welfare .txt_block h3 {
      font-family: 'Lato', sans-serif;
      font-size: 22px;
      font-weight: 700;
      margin: 0 0 10px; }
      @media only screen and (max-width: 480px) {
        #section03 #history .txt_block h3,
        #section03 #department .txt_block h3,
        #section03 #support .txt_block h3,
        #section03 #women .txt_block h3,
        #section03 #welfare .txt_block h3 {
          font-size: 20px; } }
      #section03 #history .txt_block h3 span,
      #section03 #department .txt_block h3 span,
      #section03 #support .txt_block h3 span,
      #section03 #women .txt_block h3 span,
      #section03 #welfare .txt_block h3 span {
        font-weight: 300; }
    #section03 #history .txt_block p,
    #section03 #department .txt_block p,
    #section03 #support .txt_block p,
    #section03 #women .txt_block p,
    #section03 #welfare .txt_block p {
      font-weight: bold; }

/* ------------------------------
section04
------------------------------ */
#section04 {
  max-width: 1500px;
  min-width: 1000px;
  padding: 60px 0 100px;
  margin: 0 auto; }
  @media only screen and (max-width: 480px) {
    #section04 {
      max-width: 94%;
      min-width: 94%;
      width: 94%;
      padding: 0;
      margin: 30px 3% 30px; } }
  #section04 h2 {
    font-size: 20px;
    text-align: center;
    margin: 0 0 60px; }
    @media only screen and (max-width: 480px) {
      #section04 h2 {
        font-size: 16px;
        margin: 0 0 30px; } }
  #section04 ul {
    width: 100%; }
    #section04 ul li {
      box-sizing: border-box;
      text-indent: 0px;
      width: 33.3%;
      text-align: center;
      border-right: 1px solid #fff;
      float: left; }
      @media only screen and (max-width: 480px) {
        #section04 ul li {
          width: 100%;
          border: none;
          float: none;
          margin: 0 0 1px; } }
      #section04 ul li:nth-of-type(1) {
        background-color: #005ead; }
      #section04 ul li:nth-of-type(2) {
        background-color: #86b3e0; }
      #section04 ul li:nth-of-type(3) {
        background-color: #f6ad3c;
        border: none; }
      #section04 ul li:hover {
        opacity: 0.75;
        filter: Alpha(opacity=75); }
      #section04 ul li a {
        display: block;
        width: 100%;
        color: #fff;
        font-size: 18px;
        line-height: 310px;
        text-decoration: none; }
        @media only screen and (max-width: 480px) {
          #section04 ul li a {
            line-height: 150px; } }
