@charset "UTF-8";
/* Scss Document */
@import url("../css/reset.css");
@import url("https://fonts.googleapis.com/css?family=Homemade+Apple");
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 20px;
  width: 20px;
  line-height: 0px;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    content: "←"; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    content: "→"; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

@font-face {
  font-family: 'LigatureSymbols';
  src: url("../font/LigatureSymbols-2.11.woff") format("woff");
  font-weight: normal;
  font-style: normal; }

/*=======================================================
    css
========================================================*/
/*-------------- ブレークポイント作成 ここから ----------------*/
/*-------------- ブレークポイント作成 ここまで ----------------*/
/*-------------- calc mixin ここから ----------------*/
/*-------------- calc mixin ここまで ----------------*/
html {
  font-size: 62.5%; }

body {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-size: 1.6rem;
  color: #000;
  line-height: normal; }
  @media screen and (max-width: 767px) {
    body {
      font-size: 1.4rem; } }

main {
  display: block; }

a {
  text-decoration: none;
  -webkit-transition: 0.5s;
  -o-transition: 0.5s;
  transition: 0.5s; }
  a:hover {
    opacity: 0.7;
    cursor: pointer; }
  a:visited, a:link {
    color: #000; }

img {
  max-width: 100%; }

.wrapper {
  overflow: hidden;
  margin: 0 auto; }

.contents {
  -webkit-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  transition-duration: 0.5s; }

.clearfix::after {
  content: "";
  display: table;
  clear: both; }

.inner {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  max-width: 1440px;
  margin: 0 auto; }
  @media screen and (max-width: 1459px) {
    .inner {
      padding: 0 1.38%; } }
  @media screen and (max-width: 767px) {
    .inner {
      padding: 0 2.66%; } }
  @media screen and (min-width: 768px) {
    .inner-01 {
      padding: 0 5.55%; } }

@media screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

@media screen and (max-width: 1030px) {
  .pc-lg {
    display: none !important; } }

@media screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

@media screen and (min-width: 1031px) {
  .sp-lg {
    display: none !important; } }

/*=======================================================

     header

========================================================*/
.header {
  background-color: #fff;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  z-index: 10;
  height: 70px; }
  .header .inner {
    position: relative;
    height: 70px; }
  .header_inner {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0; }
    @media screen and (min-width: 768px) {
      .header_inner {
        background-color: #fff; } }
  .header_logo {
    position: absolute;
    top: 30px;
    left: 2.22%;
    width: 31.18%;
    z-index: 2; }
    @media screen and (max-width: 1030px) {
      .header_logo {
        top: 13px;
        width: 83.81%;
        max-width: 290px; } }
    .header_logo a {
      display: block;
      line-height: 0; }
  .header_btn {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 35px;
    height: 35px;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    padding: 10px 3.5px;
    right: -moz-calc(3.75% - 7px);
    right: -o-calc(3.75% - 7px);
    right: -webkit-calc(3.75% - 7px);
    right: calc(3.75% - 7px);
    cursor: pointer; }
    .header_btn span {
      -webkit-transition-duration: 0.5s;
      -o-transition-duration: 0.5s;
      transition-duration: 0.5s;
      display: block;
      height: 2px;
      width: 100%;
      background-color: #000;
      border-radius: 1px; }
    .header_btn:not(.close) span {
      width: -moz-calc(100% - 0);
      width: -o-calc(100% - 0);
      width: -webkit-calc(100% - 0);
      width: calc(100% - 0); }
      .header_btn:not(.close) span:first-of-type {
        -webkit-transform: translate3d(0, 4px, 0) rotate(-45deg);
        transform: translate3d(0, 4px, 0) rotate(-45deg); }
      .header_btn:not(.close) span:nth-of-type(2) {
        -webkit-transform: translate3d(0, -50%, 0);
        transform: translate3d(0, -50%, 0);
        opacity: 0; }
      .header_btn:not(.close) span:last-of-type {
        -webkit-transform: translate3d(0, 0, 0) rotate(45deg);
        transform: translate3d(0, 0, 0) rotate(45deg); }
    .header_btn.close span:not(:first-of-type) {
      margin-top: 4px; }

/*=======================================================

     footer

========================================================*/
.footer {
  padding: 1.66% 0;
  background-color: #fff;
  position: relative;
  z-index: 2; }
  @media screen and (max-width: 1030px) {
    .footer {
      -webkit-transition: -webkit-transform 0.5s;
      transition: -webkit-transform 0.5s;
      -o-transition: transform 0.5s;
      transition: transform 0.5s;
      transition: transform 0.5s, -webkit-transform 0.5s; } }
  @media screen and (max-width: 767px) {
    .footer {
      padding: 6.66% 0 5.6%; } }
  @media screen and (min-width: 768px) {
    .footer > .inner {
      padding: 1.66% 5.55% 0.33%; } }
  @media screen and (min-width: 768px) {
    .footer > .inner ul {
      width: 93.75%; } }
  .footer_list {
    width: 94.53%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 0 auto 2.34%; }
    .footer_list li {
      margin-top: 0.5%; }
      .footer_list li:not(:last-of-type) {
        margin-right: 2%; }
      .footer_list li a {
        display: inline-block;
        border-bottom: 2px solid #000;
        font-size: 1.4rem;
        font-weight: bold; }
  .footer_link {
    margin: 0 auto; }
    @media screen and (max-width: 767px) {
      .footer_link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 91.56%;
        padding: 4.22% 0 2.81%; } }
    @media screen and (min-width: 768px) {
      .footer_link li {
        display: inline-block; } }
    @media screen and (max-width: 767px) {
      .footer_link li:first-of-type {
        width: 100%;
        margin-bottom: 1.53%; } }
    @media screen and (min-width: 768px) {
      .footer_link li:not(:first-of-type) {
        margin-left: 2.5%; } }
    @media screen and (max-width: 767px) {
      .footer_link li:not(:first-of-type) {
        width: 50%; } }
    @media screen and (max-width: 349px) {
      .footer_link li:not(:first-of-type) {
        width: 100%; } }
    .footer_link li span {
      font-size: 1.8rem;
      font-weight: bold; }
    .footer_link li a {
      font-size: 1.4rem; }
      @media screen and (max-width: 767px) {
        .footer_link li a {
          font-size: 1.3rem; } }
      .footer_link li a::after {
        font-family: "LigatureSymbols";
        content: "\E095";
        margin-left: 5px; }
  .footer_copy {
    background-color: #eee; }
    .footer_copy p {
      font-size: 1.4rem;
      text-align: right; }
      @media screen and (max-width: 767px) {
        .footer_copy p {
          font-size: 1.3rem; } }
  .footer .btn-top {
    width: 8%;
    line-height: 0;
    position: fixed;
    right: 2.25%;
    bottom: 60px; }
    .footer .btn-top:hover {
      opacity: 0.7; }

/*=======================================================

     .home

========================================================*/
@media screen and (max-width: 767px) {
  .home .contents {
    padding-top: 8.53%; } }

@media screen and (min-width: 768px) {
  .home .hero {
    padding: 0 0 4.66%; } }

.home .hero .slider .slick-list {
  padding: 0 20%; }

.home .hero .slider .slick-slide {
  line-height: 0;
  -webkit-transform: rotate3d(0, 0, 1, 2deg) translate3d(0, -30px, 0) scale3d(0.9, 0.9, 0.9);
  transform: rotate3d(0, 0, 1, 2deg) translate3d(0, -30px, 0) scale3d(0.9, 0.9, 0.9);
  -webkit-transition: -webkit-transform 0.5s;
  transition: -webkit-transform 0.5s;
  -o-transition: transform 0.5s;
  transition: transform 0.5s;
  transition: transform 0.5s, -webkit-transform 0.5s;
  margin: 20px -1.2%;
  padding: 10px;
  background-color: #fff;
  -webkit-box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.2);
  box-shadow: 0 0 3px 3px rgba(0, 0, 0, 0.2); }
  @media screen and (max-width: 767px) {
    .home .hero .slider .slick-slide {
      padding: 4px;
      margin: 30px -2% 15px; } }
  .home .hero .slider .slick-slide p img {
    width: 100%; }

.home .hero .slider .slick-active,
.home .hero .slider .slick-now {
  -webkit-transform: rotate3d(0, 0, 1, -2deg) translate3d(0, 0, 0) scale3d(1, 1, 1);
  transform: rotate3d(0, 0, 1, -2deg) translate3d(0, 0, 0) scale3d(1, 1, 1);
  position: relative;
  z-index: 2; }
  @media screen and (max-width: 767px) {
    .home .hero .slider .slick-active,
    .home .hero .slider .slick-now {
      -webkit-transform: rotate3d(0, 0, 1, -2deg) translate3d(0, -20px, 0) scale3d(1, 1, 1);
      transform: rotate3d(0, 0, 1, -2deg) translate3d(0, -20px, 0) scale3d(1, 1, 1); } }

.home .news_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start; }
  @media screen and (max-width: 767px) {
    .home .news_box {
      width: 98.59%;
      margin: 0 auto; } }
  .home .news_box > p {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1.2% 2.34%;
    background-color: #004986;
    color: #fff; }
    @media screen and (max-width: 767px) {
      .home .news_box > p {
        font-size: 1.3rem;
        padding: 5.71% 2.85%; } }
    .home .news_box > p:first-of-type {
      width: 13.67%;
      text-align: center;
      border-radius: 30px 0 0 30px; }
      @media screen and (max-width: 1030px) {
        .home .news_box > p:first-of-type {
          width: 135px; } }
      @media screen and (max-width: 767px) {
        .home .news_box > p:first-of-type {
          width: 28%;
          text-align: right;
          border-radius: 50px 0 0 50px; } }
    .home .news_box > p:last-of-type {
      width: 86.33%;
      border-radius: 0 30px 30px 0;
      border-left: 1px solid #fff; }
      @media screen and (max-width: 1030px) {
        .home .news_box > p:last-of-type {
          width: -moz-calc(100% - 135px);
          width: -o-calc(100% - 135px);
          width: -webkit-calc(100% - 135px);
          width: calc(100% - 135px); } }
      @media screen and (max-width: 767px) {
        .home .news_box > p:last-of-type {
          width: 72%;
          border-radius: 0 50px 50px 0; } }

/*=======================================================

     共通パーツ

========================================================*/
.contents {
  padding: 6% 0 5.66%;
  background: url(../img/common/bg_main.png) left top;
  margin-top: 70px;
  position: relative;
  z-index: 2; }
  @media screen and (max-width: 767px) {
    .contents {
      background: url(../img/common/sp_bg_main.png) left top;
      background-size: 10px;
      padding: 12.5% 0; } }

.gNav {
  width: 600px;
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 1160px) {
    .gNav {
      width: 50%; } }
  @media screen and (min-width: 1031px) {
    .gNav {
      margin: 0 3.47% 0 auto;
      position: absolute;
      bottom: 0;
      right: 3.47%; } }
  @media screen and (max-width: 1030px) {
    .gNav {
      width: 40%;
      position: fixed;
      top: 70px;
      right: 0;
      background-color: #fff;
      opacity: 0;
      z-index: 1; } }
  @media screen and (min-width: 1031px) {
    .gNav ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; } }
  .gNav ul li {
    width: 130px; }
    @media screen and (max-width: 1160px) {
      .gNav ul li {
        width: 22.68%; } }
    @media screen and (max-width: 1030px) {
      .gNav ul li {
        width: 100%;
        font-size: 1.2rem; } }
    @media screen and (max-width: 1030px) {
      .gNav ul li:not(:first-of-type) a, .gNav ul li:not(:first-of-type) span {
        border-top: 1px solid #fff; } }
  @media screen and (min-width: 1031px) {
    .gNav_btn {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end; } }
  .gNav_btn a, .gNav_btn span {
    width: 100%;
    display: block;
    position: relative;
    font-family: Century Gothic, CenturyGothic, Arial, sans-serif;
    padding: 11.11% 0 3.7%;
    color: #fff;
    cursor: pointer; }
    @media screen and (min-width: 1031px) {
      .gNav_btn a, .gNav_btn span {
        text-align: center;
        border-radius: 4px 4px 0 0; } }
    @media screen and (max-width: 1030px) {
      .gNav_btn a, .gNav_btn span {
        line-height: 1;
        font-size: 1.4rem;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 7.93% 6.34%;
        border-left: 1px solid #fff;
        border-right: 1px solid #fff; } }
    .gNav_btn a:hover, .gNav_btn span:hover {
      opacity: 1; }
    @media screen and (max-width: 1030px) {
      .gNav_btn a::after, .gNav_btn span::after {
        content: "";
        display: block;
        background: url(../img/common/ico_gNav_wh.png) no-repeat center;
        background-size: 4.5px auto;
        width: 4.5px;
        height: 8.5px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        right: 9.5%; } }
  .gNav_btn-top a {
    color: #000; }
    @media screen and (max-width: 1030px) {
      .gNav_btn-top a::after {
        background: url(../img/common/ico_gNav_bk.png) no-repeat center;
        background-size: 4.5px auto; } }
    .gNav_btn-00 a {
    background-color: #00B9FC; }
  .gNav_btn-01 a {
    background-color: #ea68a2; }
  .gNav_btn-02 a {
    background-color: #eb7a00; }
  .gNav_btn-03 a, .gNav_btn-03 span {
    background-color: #22ac38; }
  .gNav_btn-04 a, .gNav_btn-04 span {
    background-color: #0068b7; }
  .gNav_btn:not(.close) span::after {
    width: 8.5px;
    height: 4.5px;
    background: url(../img/common/ico_gNav_whDown.png) no-repeat center;
    background-size: 8.5px auto; }
  .gNav_child {
    display: none; }
    .gNav_child p a {
      display: block;
      background-color: #f1f1f1;
      font-size: 1.2rem;
      line-height: normal;
      padding: 5.6% 12.34% 5.6% 6.34%;
      color: #000; }
      @media screen and (max-width: 1030px) {
        .gNav_child p a::after {
          background: url(../img/common/ico_gNav_bk.png) no-repeat center;
          background-size: 4.5px auto; } }
  .gNav_link {
    border: 1px solid #fff;
    padding: 7.93% 6.34%; }
    .gNav_link a {
      font-size: 1.1rem; }
      .gNav_link a::after {
        font-family: "LigatureSymbols";
        content: "\E095";
        margin-left: 5px; }

@media screen and (min-width: 768px) {
  .layout {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.layout > div {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (min-width: 768px) {
    .layout > div {
      width: 50%; } }

@media screen and (min-width: 768px) {
  .layout-reverse {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; } }

.recruit {
  background-color: #fff799;
  padding: 2.66% 0 1.66%; }
  @media screen and (max-width: 1030px) {
    .recruit {
      padding: 3.68% 0%; } }
  @media screen and (max-width: 767px) {
    .recruit {
      padding: 5% 0; } }
  .recruit p {
    width: 100%; }
    @media screen and (min-width: 1031px) {
      .recruit p {
        width: 47.4%; } }
    @media screen and (min-width: 768px) {
      .recruit p {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; } }
    @media screen and (max-width: 1030px) {
      .recruit p {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }
    .recruit p > a,
    .recruit p > span {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      font-size: 1.4rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      width: 32%;
      text-align: center;
      padding: 2.17% 5px;
      color: #fff; }
      @media screen and (max-width: 1030px) {
        .recruit p > a,
        .recruit p > span {
          width: 100%;
          font-size: 1.9rem;
          padding: 1% 4.02%; } }
      @media screen and (max-width: 767px) {
        .recruit p > a,
        .recruit p > span {
          font-size: 1.8rem;
          padding: 1% 10.38%; } }
      @media screen and (max-width: 767px) {
        .recruit p > a:first-of-type,
        .recruit p > span:first-of-type {
          margin-bottom: 3.81%; } }
      .recruit p > a > span,
      .recruit p > span > span {
        font-weight: bold;
        display: block;
        width: 100%; }
    @media screen and (max-width: 1030px) {
      .recruit p a {
        margin-top: 2.29%;
        width: 48%; } }
    @media screen and (max-width: 767px) {
      .recruit p a {
        width: 100%; } }
    @media screen and (max-width: 1030px) {
      .recruit p a span {
        text-align: left; } }
  .recruit_inner {
    width: 75.78%;
    max-width: 970px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    @media screen and (max-width: 1030px) {
      .recruit_inner {
        width: 87.33%;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }
  .recruit_new a {
    background-color: #3490ff;
    border: 2px solid #3490ff; }
  .recruit_new > span {
    border: 2px solid #3490ff;
    background-color: #fff; }
    .recruit_new > span span {
      color: #3490ff; }
  @media screen and (max-width: 1030px) {
    .recruit_career {
      margin-top: 5.08%; } }
  .recruit_career a {
    background-color: #00479d;
    border: 2px solid #00479d; }
  .recruit_career > span {
    border: 2px solid #00479d;
    background-color: #fff; }
    .recruit_career > span span {
      color: #00479d; }

.banner {
  margin-top: 5.33%; }
  .banner:not(:first-of-type) {
    margin-top: 9.66%; }
    @media screen and (max-width: 767px) {
      .banner:not(:first-of-type) {
        margin-top: 12.66%; } }
  .banner_link a {
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 1.875%;
    position: relative; }
    @media screen and (max-width: 767px) {
      .banner_link a {
        padding: 2.81%; } }
  .banner_ico {
    position: absolute;
    line-height: 0; }
  .banner_img {
    line-height: 0;
    text-align: center; }
    .banner_img img {
      width: 100%; }
  .banner_text {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .banner-01 .banner_inner, .banner-02 .banner_inner {
    position: relative; }
    @media screen and (min-width: 768px) {
      .banner-01 .banner_inner, .banner-02 .banner_inner {
        background-color: #fff; } }
  @media screen and (max-width: 767px) {
    .banner-01 .banner_link, .banner-02 .banner_link {
      background-color: #fff; } }
  .banner-01 .banner_ico, .banner-02 .banner_ico {
    width: 21.25%;
    top: -6.818%; }
    @media screen and (min-width: 1031px) {
      .banner-01 .banner_ico, .banner-02 .banner_ico {
        width: 271px;
        top: -45px; } }
    @media screen and (max-width: 767px) {
      .banner-01 .banner_ico, .banner-02 .banner_ico {
        width: 35.91%; } }
  .banner-01 .banner_title, .banner-02 .banner_title {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: rgba(255, 255, 255, 0.7);
    position: absolute;
    top: 41.96%;
    left: 0;
    text-align: center;
    padding: 3.9% 0;
    line-height: 0; }
    @media screen and (max-width: 767px) {
      .banner-01 .banner_title, .banner-02 .banner_title {
        padding: 6.33% 0; } }
    .banner-01 .banner_title span, .banner-02 .banner_title span {
      display: inline-block;
      line-height: 0; }
  .banner-01 .banner_text, .banner-02 .banner_text {
    background-color: #fff;
    padding: 1.17% 1.875% 2.34%; }
    @media screen and (min-width: 768px) {
      .banner-01 .banner_text, .banner-02 .banner_text {
        width: 52.34%;
        position: absolute;
        bottom: 0; } }
    @media screen and (max-width: 767px) {
      .banner-01 .banner_text, .banner-02 .banner_text {
        padding: 2.81% 2.81% 2.11%;
        margin-top: 4.22%; } }
  @media screen and (max-width: 767px) {
    .banner-01 .banner_btn, .banner-02 .banner_btn {
      margin-top: 4.92%; } }
  @media screen and (max-width: 767px) {
    .banner-01 .banner_btn a, .banner-02 .banner_btn a {
      display: block;
      font-family: Century Gothic, CenturyGothic, Arial, sans-serif;
      font-size: 1.8rem;
      text-align: center;
      border: 1px solid #000;
      padding: 3.66% 0; } }
  .banner-01 .banner_btn a:hover, .banner-02 .banner_btn a:hover {
    color: #fff;
    opacity: 1; }
  .banner-01 {
    padding-bottom: 8.66%;
    position: relative; }
    @media screen and (max-width: 767px) {
      .banner-01 {
        padding-bottom: 10.66%; } }
    .banner-01::after {
      content: "";
      width: 88.9%;
      max-width: 1280px;
      padding-bottom: 1.64%;
      background: url(../img/common/bg_line.png) repeat-x;
      position: absolute;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0 auto; }
      @media screen and (max-width: 767px) {
        .banner-01::after {
          width: 94.66%; } }
    .banner-01 .banner_ico {
      left: 0; }
    .banner-01 .banner_title span {
      width: 34.53%; }
      @media screen and (min-width: 1031px) {
        .banner-01 .banner_title span {
          width: 445px; } }
      @media screen and (max-width: 767px) {
        .banner-01 .banner_title span {
          width: 56%; } }
    .banner-01 .banner_text {
      left: 0; }
    .banner-01 .banner_btn:hover a {
      border-color: #ea68a2;
      background-color: #ea68a2; }
  .banner-02 .banner_ico {
    right: 0; }
  .banner-02 .banner_title span {
    width: 20.15%; }
    @media screen and (min-width: 1031px) {
      .banner-02 .banner_title span {
        width: 258px; } }
    @media screen and (max-width: 767px) {
      .banner-02 .banner_title span {
        width: 34.36%; } }
  .banner-02 .banner_text {
    right: 0; }
  .banner-02 .banner_btn:hover a {
    border-color: #eb7a00;
    background-color: #eb7a00; }
  .banner-jobs, .banner-recruit {
    background-color: #fff;
    padding: 0 0 9.375%;
    position: relative; }
    @media screen and (max-width: 767px) {
      .banner-jobs, .banner-recruit {
        padding: 0 0 15.46%; } }
    .banner-jobs::after, .banner-recruit::after {
      content: "";
      width: 100%;
      padding-bottom: 1.64%;
      background: url(../img/common/bg_line.png) repeat-x;
      position: absolute;
      bottom: 0;
      left: 0; }
    .banner-jobs .inner:first-of-type, .banner-recruit .inner:first-of-type {
      position: relative;
      padding-bottom: 7.81%; }
      @media screen and (max-width: 1030px) {
        .banner-jobs .inner:first-of-type, .banner-recruit .inner:first-of-type {
          padding-bottom: 11.65%; } }
      @media screen and (max-width: 767px) {
        .banner-jobs .inner:first-of-type, .banner-recruit .inner:first-of-type {
          padding-bottom: 21.33%; } }
    .banner-jobs .banner_title, .banner-recruit .banner_title {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 41.79%;
      position: absolute;
      top: -50%;
      left: 5.55%;
      margin-left: 2.03%; }
      @media screen and (max-width: 1030px) {
        .banner-jobs .banner_title, .banner-recruit .banner_title {
          top: -35%;
          width: 50%; } }
      @media screen and (max-width: 767px) {
        .banner-jobs .banner_title, .banner-recruit .banner_title {
          width: 71.12%;
          margin-left: 1%; } }
      .banner-jobs .banner_title p, .banner-jobs .banner_title h2, .banner-recruit .banner_title p, .banner-recruit .banner_title h2 {
        line-height: 0;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
      .banner-jobs .banner_title p, .banner-recruit .banner_title p {
        width: 26.35%; }
        @media screen and (max-width: 1030px) {
          .banner-jobs .banner_title p, .banner-recruit .banner_title p {
            width: 28%; } }
        @media screen and (max-width: 767px) {
          .banner-jobs .banner_title p, .banner-recruit .banner_title p {
            width: 26.7%; } }
        @media screen and (max-width: 1030px) {
          .banner-jobs .banner_title p img, .banner-recruit .banner_title p img {
            width: 100%; } }
      .banner-jobs .banner_title h2, .banner-recruit .banner_title h2 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        width: 73.65%;
        padding-left: 7.47%; }
        @media screen and (min-width: 1031px) {
          .banner-jobs .banner_title h2, .banner-recruit .banner_title h2 {
            padding-left: 40px; } }
        @media screen and (max-width: 1030px) {
          .banner-jobs .banner_title h2, .banner-recruit .banner_title h2 {
            width: 72%; } }
        @media screen and (max-width: 767px) {
          .banner-jobs .banner_title h2, .banner-recruit .banner_title h2 {
            width: 73.3%;
            padding-left: 6.93%; } }
        .banner-jobs .banner_title h2 span, .banner-recruit .banner_title h2 span {
          display: block; }
          .banner-jobs .banner_title h2 span:last-of-type, .banner-recruit .banner_title h2 span:last-of-type {
            font-weight: bold;
            font-size: 3.0rem;
            line-height: normal;
            line-height: 1.2; }
            @media screen and (max-width: 1030px) {
              .banner-jobs .banner_title h2 span:last-of-type, .banner-recruit .banner_title h2 span:last-of-type {
                font-size: 2.6rem; } }
            @media screen and (max-width: 767px) {
              .banner-jobs .banner_title h2 span:last-of-type, .banner-recruit .banner_title h2 span:last-of-type {
                font-size: 2.0rem; } }
    .banner-jobs .banner_text, .banner-recruit .banner_text {
      line-height: 1.8;
      margin-left: 2.03%; }
      @media screen and (max-width: 767px) {
        .banner-jobs .banner_text, .banner-recruit .banner_text {
          margin-left: 4.22%; } }
  @media screen and (max-width: 1030px) {
    .banner-jobs .inner:last-of-type {
      padding: 0; } }
  .banner-jobs .banner_title p span:first-of-type {
    width: 51.55%; }
    @media screen and (min-width: 1031px) {
      .banner-jobs .banner_title p span:first-of-type {
        width: 182px; } }
  @media screen and (max-width: 767px) {
    .banner-jobs .banner_title h2 span:first-of-type {
      width: 52.43%; } }
  .banner-jobs .banner_btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-top: 5.46%; }
    @media screen and (max-width: 767px) {
      .banner-jobs .banner_btn {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }
    .banner-jobs .banner_btn p {
      width: 20.63%;
      line-height: 0; }
      @media screen and (max-width: 767px) {
        .banner-jobs .banner_btn p {
          width: 47.46%; } }
      .banner-jobs .banner_btn p a {
        display: block;
        line-height: 0; }
      @media screen and (max-width: 767px) {
        .banner-jobs .banner_btn p:nth-of-type(n+3) {
          margin-top: 6.33%; } }
  .banner-jobs .banner_carousel {
    margin-top: 3.9%; }
    @media screen and (max-width: 1030px) {
      .banner-jobs .banner_carousel {
        overflow: hidden; } }
    @media screen and (max-width: 767px) {
      .banner-jobs .banner_carousel {
        margin-top: 14.08%; } }
    .banner-jobs .banner_carousel .slick-list {
      margin-left: -15px; }
      @media screen and (max-width: 1030px) {
        .banner-jobs .banner_carousel .slick-list {
          margin-left: -30px; } }
    .banner-jobs .banner_carousel .slick-track {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
    .banner-jobs .banner_carousel .slick-slide {
      margin-left: 15px; }
      @media screen and (max-width: 1030px) {
        .banner-jobs .banner_carousel .slick-slide {
          margin-left: 30px; } }
      .banner-jobs .banner_carousel .slick-slide div {
        line-height: 0; }
        .banner-jobs .banner_carousel .slick-slide div p img {
          width: 100%; }
  @media screen and (min-width: 768px) {
    .banner-recruit {
      padding-bottom: 6.25%; } }
  @media screen and (max-width: 767px) {
    .banner-recruit .inner:first-of-type {
      padding-bottom: 17.33%; } }
  .banner-recruit .banner_title p span:first-of-type {
    width: 86.1%; }
    @media screen and (min-width: 1031px) {
      .banner-recruit .banner_title p span:first-of-type {
        width: 347px; } }
  .banner-recruit .banner_inner {
    padding: 0 7.81%; }
    @media screen and (max-width: 767px) {
      .banner-recruit .banner_inner {
        padding: 0 4.22%; } }
  .banner-recruit .banner_img {
    position: relative; }
    .banner-recruit .banner_img a {
      display: block; }
  .banner-recruit .banner_message {
    position: absolute;
    bottom: 6%;
    left: 0;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.7);
    padding: 2.3% 0 1.3%; }
    .banner-recruit .banner_message span {
      display: inline-block; }
      .banner-recruit .banner_message span:first-of-type {
        line-height: 0;
        width: 292px; }
        @media screen and (max-width: 1030px) {
          .banner-recruit .banner_message span:first-of-type {
            width: 27.09%; } }
        @media screen and (max-width: 767px) {
          .banner-recruit .banner_message span:first-of-type {
            width: 43.35%; } }
      .banner-recruit .banner_message span:last-of-type {
        display: block;
        line-height: normal;
        font-size: 2.6rem;
        font-weight: bold;
        margin-top: 0.4%; }
        @media screen and (max-width: 767px) {
          .banner-recruit .banner_message span:last-of-type {
            font-size: 1.6rem; } }
  .banner-recruit .banner_adopt {
    margin-top: 3.24%; }
    @media screen and (min-width: 768px) {
      .banner-recruit .banner_adopt {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; } }
    @media screen and (min-width: 768px) {
      .banner-recruit .banner_adopt > div {
        width: 47%; } }
    @media screen and (max-width: 767px) {
      .banner-recruit .banner_adopt > div:last-of-type {
        margin-top: 4.92%; } }
    .banner-recruit .banner_adopt > div p a, .banner-recruit .banner_adopt > div p span {
      display: block;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      text-align: center;
      padding: 4.5% 0;
      border: 3px solid;
      font-weight: bold;
      color: #fff;
      font-size: 2.5rem;
      position: relative; }
      @media screen and (max-width: 1030px) {
        .banner-recruit .banner_adopt > div p a, .banner-recruit .banner_adopt > div p span {
          font-size: 1.9rem;
          padding: 1% 0; } }
      .banner-recruit .banner_adopt > div p a::after, .banner-recruit .banner_adopt > div p span::after {
        content: "";
        width: 3.5%;
        padding-bottom: 3.5%;
        position: absolute;
        bottom: 2px;
        right: 2px;
        background: url(../img/common/ico_tri_white.svg);
        background-size: contain; }
        @media screen and (max-width: 767px) {
          .banner-recruit .banner_adopt > div p a::after, .banner-recruit .banner_adopt > div p span::after {
            bottom: 0px;
            right: 0px; } }
    .banner-recruit .banner_adopt > div p:first-of-type span {
      padding: 0.5% 0; }
      .banner-recruit .banner_adopt > div p:first-of-type span::after {
        content: "";
        display: block;
        width: 49px;
        height: 16px;
        position: absolute;
        top: 100%;
        left: 0;
        right: 0;
        margin: 0 auto; }
        @media screen and (max-width: 767px) {
          .banner-recruit .banner_adopt > div p:first-of-type span::after {
            width: 31px;
            height: 13px; } }
    .banner-recruit .banner_adopt > div p:not(:first-of-type) {
      margin-top: 18px; }
      @media screen and (max-width: 767px) {
        .banner-recruit .banner_adopt > div p:not(:first-of-type) {
          margin-top: 13px; } }
    .banner-recruit .banner_adopt > div:first-of-type p a {
      border-color: #3490ff;
      background-color: #3490ff; }
    .banner-recruit .banner_adopt > div:first-of-type p:first-of-type span {
      color: #3490ff;
      background-color: #fff; }
      .banner-recruit .banner_adopt > div:first-of-type p:first-of-type span::after {
        background: url(../img/home/ico_tri_blue01.png) no-repeat top center;
        background-size: contain; }
        @media screen and (max-width: 767px) {
          .banner-recruit .banner_adopt > div:first-of-type p:first-of-type span::after {
            background: url(../img/home/sp_ico_tri_blue01.png) no-repeat top center;
            background-size: contain; } }
    .banner-recruit .banner_adopt > div:last-of-type p a {
      border-color: #00479d;
      background-color: #00479d; }
    .banner-recruit .banner_adopt > div:last-of-type p:first-of-type span {
      color: #00479d;
      background-color: #fff; }
      .banner-recruit .banner_adopt > div:last-of-type p:first-of-type span::after {
        background: url(../img/home/ico_tri_blue02.png) no-repeat top center;
        background-size: contain; }
        @media screen and (max-width: 767px) {
          .banner-recruit .banner_adopt > div:last-of-type p:first-of-type span::after {
            background: url(../img/home/sp_ico_tri_blue02.png) no-repeat top center;
            background-size: contain; } }

.js-fade {
  opacity: 0;
  -webkit-transition-duration: 0.5s;
  -o-transition-duration: 0.5s;
  transition-duration: 0.5s; }

.js-split {
  visibility: hidden; }

.js-splitLoad {
  display: none;
  font-weight: bold;
  opacity: 0; }

/*=======================================================

     underLayer　下層ページ共通

========================================================*/
.underLayer .label {
  margin-bottom: 4%; }
  @media screen and (max-width: 767px) {
    .underLayer .label {
      margin-bottom: 1.25%; } }
  @media screen and (min-width: 1031px) {
    .underLayer .label .inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .underLayer .label .inner > p {
    display: block; }
  .underLayer .label_tag {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 44.00%;
    max-width: 600px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #000;
    background-color: #fff; }
    @media screen and (max-width: 1240px) {
      .underLayer .label_tag {
        width: 100%; } }
    .underLayer .label_tag p {
      font-size: 2.4rem;
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      line-height: 1.5;
      min-height: 70px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      @media screen and (max-width: 767px) {
        .underLayer .label_tag p {
          font-size: 1.8rem;
          min-height: 50px; } }
      .underLayer .label_tag p:first-of-type {
        width: 70px;
        text-align: center;
        color: #fff; }
        @media screen and (max-width: 767px) {
          .underLayer .label_tag p:first-of-type {
            width: 50px; } }
        .underLayer .label_tag p:first-of-type span {
          text-align: center; }
      .underLayer .label_tag p:last-of-type {
        width: -moz-calc(100% - 70px);
        width: -o-calc(100% - 70px);
        width: -webkit-calc(100% - 70px);
        width: calc(100% - 70px);
        padding: 0 8.57%; }
        @media screen and (max-width: 767px) {
          .underLayer .label_tag p:last-of-type {
            width: -moz-calc(100% - 50px);
            width: -o-calc(100% - 50px);
            width: -webkit-calc(100% - 50px);
            width: calc(100% - 50px);
            padding: 0 7.14%; } }
      .underLayer .label_tag p span {
        width: 100%;
        display: block;
        font-weight: bold;}
  .underLayer .label_sign {
    position: relative; }
    @media screen and (min-width: 1031px) {
      .underLayer .label_sign {
        width: 67.19%; } }
    @media screen and (max-width: 1030px) {
      .underLayer .label_sign {
        margin-top: 2.7%; } }
    .underLayer .label_sign p {
      font-family: "Homemade Apple", cursive;
      font-size: 4.2rem; }
      @media screen and (min-width: 1031px) {
        .underLayer .label_sign p {
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          left: 7%; } }
      @media screen and (max-width: 1030px) {
        .underLayer .label_sign p {
          font-size: 3.8rem;
          text-align: right; } }
      @media screen and (max-width: 767px) {
        .underLayer .label_sign p {
          font-size: 1.9rem; } }

.underLayer .hero {
  padding-bottom: 6.66%; }
  @media screen and (max-width: 767px) {
    .underLayer .hero {
      padding-bottom: 7.5%; } }
  .underLayer .hero_img {
    position: relative;
    line-height: 0;
    margin-bottom: 5.46%; }
    .underLayer .hero_img img {
      width: 100%; }
  .underLayer .hero_btn {
    position: absolute;
    bottom: 8.5%;
    left: 0;
    right: 0;
    margin: 0 auto;
    cursor: pointer;
    -webkit-transition-duration: 0.5s;
    -o-transition-duration: 0.5s;
    transition-duration: 0.5s;
    text-align: center; }
    .underLayer .hero_btn a {
      display: inline-block;
      font-family: ce-gothic;
      font-weight: bold;
      line-height: normal;
      text-align: center;
      background-color: #fff;
      border: 1px solid #959595;
      font-size: 2.1rem;
      padding: 1.34% 5.07% 1%;
      border-radius: 50px; }
      @media screen and (max-width: 1030px) {
        .underLayer .hero_btn a {
          font-size: 1.5rem; } }
      @media screen and (max-width: 767px) {
        .underLayer .hero_btn a {
          font-size: 1.4rem; } }
      .underLayer .hero_btn a:focus {
        outline: none; }
  .underLayer .hero_title {
    text-align: center; }
    .underLayer .hero_title span {
      font-size: 4.8rem;
      font-weight: bold;
      line-height: 1.5;
      padding-bottom: 5px; }
      @media screen and (max-width: 1030px) {
        .underLayer .hero_title span {
          font-size: 4.5rem; } }
      @media screen and (max-width: 767px) {
        .underLayer .hero_title span {
          font-size: 3.0rem;
          padding-bottom: 2px; } }
      @media screen and (max-width: 374px) {
        .underLayer .hero_title span {
          font-size: 2.5rem; } }
  .underLayer .hero_name {
    font-size: 3.0rem;
    font-weight: bold;
    text-align: center;
    line-height: 1;
    margin-top: 2.34%; }
    @media screen and (max-width: 1030px) {
      .underLayer .hero_name {
        font-size: 2.8rem; } }
    @media screen and (max-width: 767px) {
      .underLayer .hero_name {
        font-size: 1.8rem;
        margin-top: 5.4%; } }
    .underLayer .hero_name span {
      display: block;
      font-family: "Homemade Apple", cursive;
      font-size: 2.4rem;
      line-height: normal; }
      @media screen and (max-width: 1030px) {
        .underLayer .hero_name span {
          font-size: 2.2rem; } }
      @media screen and (max-width: 767px) {
        .underLayer .hero_name span {
          font-size: 1.2rem; } }

.underLayer .cont_title {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 5px solid #000;
  font-size: 4.0rem;
  font-weight: bold;
  line-height: 1.5;
  margin-bottom: 3.8%;
  min-height: 95px; }
  @media screen and (min-width: 1031px) {
    .underLayer .cont_title {
      width: 70%; } }
  @media screen and (max-width: 1030px) {
    .underLayer .cont_title {
      font-size: 3.8rem;
      min-height: 86px; } }
  @media screen and (max-width: 767px) {
    .underLayer .cont_title {
      font-size: 1.8rem;
      border-width: 3px;
      padding: 3% 3.37%;
      margin-bottom: 8.1%;
      min-height: 54px; } }

.underLayer .cont_text {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  padding: 9.92% 8.51% 7.09%; }
  @media screen and (max-width: 767px) {
    .underLayer .cont_text {
      padding: 9.85% 8.1% 7.04%;
      font-size: 1.4rem; } }
  .underLayer .cont_text span {
    display: block;
    padding-top: 4.25%;
    position: relative;
    line-height: 1.8; }
    @media screen and (max-width: 767px) {
      .underLayer .cont_text span {
        padding-top: 5.08%; } }
    .underLayer .cont_text span::before {
      content: "";
      display: block;
      width: 100%;
      height: 6px;
      position: absolute;
      top: 0;
      left: 0;
      background: url(../img/common/bg_cont_01.png) repeat-x left top; }
      @media screen and (max-width: 767px) {
        .underLayer .cont_text span::before {
          background-size: auto 3px; } }
    .underLayer .cont_text span a {
      color: #0075a9;
      text-decoration: underline; }
      .underLayer .cont_text span a:hover {
        text-decoration: none;
        opacity: 1; }
  .underLayer .cont_text-wide {
    margin: 0.6% auto 0;
    padding: 4.86% 3.47% 3.47%; }
    @media screen and (min-width: 768px) {
      .underLayer .cont_text-wide {
        width: 78.125%; } }
    @media screen and (max-width: 767px) {
      .underLayer .cont_text-wide {
        width: 95.94%;
        margin-top: 5.63%;
        padding: 9.85% 8.45% 7.74%; } }
    .underLayer .cont_text-wide span {
      padding-top: 2.67%; }
      @media screen and (max-width: 767px) {
        .underLayer .cont_text-wide span {
          padding-top: 4.22%; } }
      .underLayer .cont_text-wide span::before {
        margin: 0 auto;
        right: 0; }
        @media screen and (min-width: 768px) {
          .underLayer .cont_text-wide span::before {
            width: 53.33%; } }

.underLayer .cont_img {
  line-height: 0;
  text-align: center; }

.underLayer .cont_list {
  margin: 4.29% auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  @media screen and (max-width: 1030px) {
    .underLayer .cont_list {
      margin-top: 7.74%;
      -webkit-box-pack: start;
      -ms-flex-pack: start;
      justify-content: flex-start;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap; } }
  @media screen and (max-width: 1030px) {
    .underLayer .cont_list li {
      width: 100%;
      text-align: center; } }
  .underLayer .cont_list li figure {
    line-height: 0; }
    .underLayer .cont_list li figure img {
      width: 100%; }
    .underLayer .cont_list li figure figcaption {
      text-align: right;
      line-height: normal; }
  @media screen and (min-width: 1031px) {
    .underLayer .cont_list-double {
      width: 84.375%; } }
  @media screen and (max-width: 1030px) {
    .underLayer .cont_list-double {
      padding: 0 4.02%; } }
  @media screen and (max-width: 767px) {
    .underLayer .cont_list-double {
      padding: 0 2.02%; } }
  @media screen and (min-width: 1031px) {
    .underLayer .cont_list-double li {
      width: 46%; } }
  @media screen and (max-width: 1030px) {
    .underLayer .cont_list-double li:not(:first-of-type) {
      margin-top: 6.75%; } }
  .underLayer .cont_list-triple {
    width: 88.8%; }
    @media screen and (max-width: 1030px) {
      .underLayer .cont_list-triple {
        width: 52.97%; } }
    @media screen and (max-width: 767px) {
      .underLayer .cont_list-triple {
        width: 80%; } }
    @media screen and (min-width: 1031px) {
      .underLayer .cont_list-triple li {
        width: 30.625%; } }
    .underLayer .cont_list-triple li figure figcaption {
      margin-top: 1.79%; }
      @media screen and (max-width: 767px) {
        .underLayer .cont_list-triple li figure figcaption {
          font-size: 1.2rem; } }
    @media screen and (max-width: 1030px) {
      .underLayer .cont_list-triple li:not(:first-of-type) {
        margin-top: 6.41%; } }
  @media screen and (min-width: 768px) {
    .underLayer .cont_list-color {
      width: 88.88%; } }
  @media screen and (max-width: 767px) {
    .underLayer .cont_list-color {
      width: 95.94%; } }
  .underLayer .cont_list-color li {
    padding: 2.34%; }
    @media screen and (min-width: 1031px) {
      .underLayer .cont_list-color li {
        width: 50%; } }

@media screen and (min-width: 768px) {
  .underLayer .cont-left .cont_title {
    padding: 1% 3.81% 1% 7.63%; } }

@media screen and (min-width: 768px) {
  .underLayer .cont-right .cont_title {
    margin-left: auto;
    padding: 1% 4.86% 1% 3.47%; } }

.underLayer .cont:not(.cont-01) {
  margin-top: 6.66%; }
  @media screen and (max-width: 767px) {
    .underLayer .cont:not(.cont-01) {
      margin-top: 15%; } }

@media screen and (max-width: 1030px) {
  .underLayer .cont .layout {
    padding: 0 2%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; } }

@media screen and (max-width: 1030px) {
  .underLayer .cont .layout > div {
    width: 100%; } }

@media screen and (max-width: 1030px) {
  .underLayer .cont .layout > div:last-of-type {
    margin-top: 5%; } }

.underLayer .profile {
  margin-top: 7.63%; }
  @media screen and (max-width: 767px) {
    .underLayer .profile {
      margin-top: 15%; } }
  .underLayer .profile_img {
    line-height: 0;
    width: 58%;
    max-width: 870px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0.66%;
    background-color: #fff;
    margin: 0 auto;
    border-radius: 10px;
    -webkit-box-shadow: 0 13px 3px -3px rgba(0, 0, 0, 0.2);
    box-shadow: 0 13px 3px -3px rgba(0, 0, 0, 0.2);
    position: relative; }
    @media screen and (max-width: 1030px) {
      .underLayer .profile_img {
        width: 86.25%; } }
    @media screen and (max-width: 767px) {
      .underLayer .profile_img {
        width: 85.62%;
        -webkit-box-shadow: 0 8px 3px -3px rgba(0, 0, 0, 0.2);
        box-shadow: 0 8px 3px -3px rgba(0, 0, 0, 0.2); } }
    .underLayer .profile_img::after {
      content: "";
      display: block;
      background: url(../img/about/ico_profile_01.png) no-repeat center;
      background-size: contain;
      width: 24.48%;
      height: 28%;
      position: absolute;
      top: -3.63%;
      left: -12.64%; }
      @media screen and (max-width: 1030px) {
        .underLayer .profile_img::after {
          left: -2.8%; } }
      @media screen and (max-width: 767px) {
        .underLayer .profile_img::after {
          width: 21.89%;
          top: -6.81%;
          left: -3.64%; } }
    .underLayer .profile_img img {
      width: 100%; }
  .underLayer .profile_text {
    background-color: #fff;
    margin-top: 2.43%;
    padding: 1.38%; }
    @media screen and (max-width: 1030px) {
      .underLayer .profile_text {
        padding: 2.5% 0;
        margin-top: 6.75%; } }
    @media screen and (max-width: 1030px) {
      .underLayer .profile_text .inner {
        width: 92.5%; } }
    @media screen and (max-width: 767px) {
      .underLayer .profile_text .inner {
        width: 100%; } }
    .underLayer .profile_text p {
      margin: 0 auto;
      font-size: 1.4rem;
      line-height: 1.7; }
      @media screen and (min-width: 1031px) {
        .underLayer .profile_text p {
          width: 60.41%; } }
      @media screen and (max-width: 767px) {
        .underLayer .profile_text p {
          font-size: 1.2rem; } }

.underLayer .btn-recruit {
  text-align: center;
  margin-top: 3.9%; }
  @media screen and (max-width: 767px) {
    .underLayer .btn-recruit {
      margin-top: 8%; } }
  .underLayer .btn-recruit a {
    display: inline-block;
    font-size: 1.8rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 300px;
    padding: 1.56% 0;
    background-color: #00479d;
    color: #fff;
    font-weight: bold;
    border-radius: 35px; }
    @media screen and (max-width: 767px) {
      .underLayer .btn-recruit a {
        width: 250px;
        font-size: 1.6rem;
        padding: 3% 0; } }

/*=======================================================

    社長ごあいさつ .greetings　

========================================================*/
.greetings .label_tag p:first-of-type {
  background-color: #ea68a2; }

.greetings .hero_btn a {
  color: #ea68a2; }

.greetings .hero_title span {
  background: url(../img/greetings/bg_hero_01.png) repeat-x bottom left; }
  @media screen and (max-width: 767px) {
    .greetings .hero_title span {
      background-size: auto 8px; } }

.greetings .hero_name span {
  color: #ea68a2; }

@media screen and (min-width: 1031px) {
  .greetings .cont-01 .layout > div:first-of-type {
    padding: 0 11.11% 0 9.02%; } }

@media screen and (min-width: 1031px) {
  .greetings .cont-01 .layout > div:last-of-type {
    margin-left: -3.81%; } }

@media screen and (max-width: 767px) {
  .greetings .cont-01 .cont_img {
    width: 40%;
    margin: 0 auto; } }

.greetings .cont-02 .cont_img {
  width: 88.88%;
  margin: 0 auto; }
  @media screen and (max-width: 767px) {
    .greetings .cont-02 .cont_img {
      width: 95.94%; } }

.greetings .cont-02 .cont_text {
  margin-top: 3.47%; }

.greetings .cont-02 .cont_list-color {
  background-color: rgba(234, 104, 162, 0.4); }
  .greetings .cont-02 .cont_list-color li figure img {
    width: 100%; }

.greetings .cont-02 .cont_caption {
  font-size: 2.4rem;
  font-weight: bold;
  width: 88.88%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0.69% 1.04%;
  position: relative; }
  @media screen and (max-width: 767px) {
    .greetings .cont-02 .cont_caption {
      width: 95.94%;
      padding: 1% 1.04%;
      font-size: 1.6rem; } }
  .greetings .cont-02 .cont_caption::after {
    content: "";
    display: block;
    width: 100%;
    height: 6px;
    position: absolute;
    bottom: 0;
    left: 0;
    background: url(../img/common/bg_cont_01.png) repeat-x left top; }
    @media screen and (max-width: 767px) {
      .greetings .cont-02 .cont_caption::after {
        height: 3px;
        background-size: 17.5px auto; } }

@media screen and (min-width: 1031px) {
  .greetings .cont-03 .layout > div:first-of-type {
    padding: 0 2.08%; } }

@media screen and (min-width: 1031px) {
  .greetings .cont-03 .layout > div:last-of-type {
    padding: 0 2.08% 0 5.20%; } }

@media screen and (min-width: 768px) {
  .greetings .cont-03 .cont_list {
    width: 82.91%; } }

/*=======================================================

    住まいづくりへ貢献 .about　

========================================================*/
.about .label_tag p:first-of-type {
  background-color: #eb7a00; }

.about .hero_btn a {
  color: #eb7a00; }

.about .hero_title span {
  background: url(../img/about/bg_hero_01.png) repeat-x bottom left; }
  @media screen and (max-width: 767px) {
    .about .hero_title span {
      background-size: auto 8px; } }

.about .hero_name span {
  color: #eb7a00; }

@media screen and (min-width: 1031px) {
  .about .cont-01 .layout > div:first-of-type {
    padding: 5.2% 0 0 0.9%; } }

@media screen and (min-width: 1031px) {
  .about .cont-01 .layout > div:last-of-type {
    padding: 0 0.9%; } }

.about .cont-01 .cont_product {
  line-height: 0;
  margin-top: 5.90%; }
  @media screen and (min-width: 768px) {
    .about .cont-01 .cont_product {
      padding: 0 14.375%; } }
  @media screen and (max-width: 767px) {
    .about .cont-01 .cont_product {
      margin-top: 7.43%; } }
  .about .cont-01 .cont_product img {
    width: 100%; }

@media screen and (min-width: 768px) {
  .about .cont-02 .cont_img {
    padding: 0 10.76% 0 7.63%; } }

.about .cont-02 .cont_img img {
  width: 100%; }

.about .cont-02 .cont_caption {
  text-align: right; }
  @media screen and (min-width: 768px) {
    .about .cont-02 .cont_caption {
      margin: 1% 5.55% 0 0; } }
  @media screen and (max-width: 767px) {
    .about .cont-02 .cont_caption {
      font-size: 1.2rem; } }

.about .cont-03 .layout > div:first-of-type {
  padding: 0.9% 0 0 7.63%; }
  @media screen and (max-width: 1030px) {
    .about .cont-03 .layout > div:first-of-type {
      padding: 0 11.48%; } }

.about .cont-03 .layout > div:last-of-type {
  padding: 0 0.9% 0 6.94%; }
  @media screen and (max-width: 1030px) {
    .about .cont-03 .layout > div:last-of-type {
      padding: 0 2.02%; } }

.about .cont-03 .cont_text {
  padding: 9.72% 4.86% 6.94% 7.62%; }
  .about .cont-03 .cont_text span {
    padding-top: 4.87%; }

/*=======================================================

    アルテックリレー .relay　

========================================================*/
@media screen and (max-width: 767px) {
  .relay .label {
    margin-bottom: 9.33%; } }

@media screen and (max-width: 374px) {
  .relay .label_tag p :last-of-type{
    font-size: 1.4rem; } }

.relay .label_tag p:first-of-type {
  background-color: #22ac38; }

.relay .hero_title > span {
  background: url(../img/relay/bg_hero_03.png) repeat-x bottom left; }
  @media screen and (max-width: 767px) {
    .relay .hero_title > span {
      background-size: auto 8px; } }
  .relay .hero_title > span span {
    font-size: 2.6rem; }
    @media screen and (max-width: 767px) {
      .relay .hero_title > span span {
        font-size: 2.0rem; } }

.relay .diagram:not(.diagram-01) {
  margin-top: 6.66%; }
  @media screen and (max-width: 767px) {
    .relay .diagram:not(.diagram-01) {
      margin-top: 14.66%; } }

@media screen and (min-width: 1031px) {
  .relay .diagram_head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; } }

.relay .diagram_ico {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (min-width: 1031px) {
    .relay .diagram_ico {
      width: 30.14%; } }
  .relay .diagram_ico span {
    display: block;
    line-height: 0; }
    @media screen and (max-width: 1030px) {
      .relay .diagram_ico span {
        text-align: center;
        margin: 0 auto; } }

.relay .diagram_inner {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (min-width: 1031px) {
    .relay .diagram_inner {
      width: 69.86%; } }

.relay .diagram_title {
  font-size: 3.2rem;
  font-weight: bold; }
  @media screen and (max-width: 1030px) {
    .relay .diagram_title {
      width: 91.54%;
      margin: 5.63% auto 0; } }
  @media screen and (max-width: 767px) {
    .relay .diagram_title {
      font-size: 2.0rem;
      line-height: 1.6;
      margin: 11.26% auto 0; } }

.relay .diagram_text {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 2.4rem;
  line-height: 1.5;
  font-weight: bold;
  border: 5px solid #000;
  background-color: #fff;
  margin-top: 3.15%; }
  @media screen and (max-width: 1030px) {
    .relay .diagram_text {
      width: 91.54%;
      margin: 2.815% auto 0;
      padding: 3.04% 2.81%; } }
  @media screen and (max-width: 767px) {
    .relay .diagram_text {
      font-size: 1.8rem;
      margin: 5.63% auto 0;
      padding: 7.04% 2.81%; } }

.relay .diagram_btn {
  margin-top: 1.95%;
  text-align: right; }
  @media screen and (max-width: 1030px) {
    .relay .diagram_btn {
      width: 91.54%;
      margin: 4.925% auto 0;
      text-align: center; } }
  @media screen and (max-width: 767px) {
    .relay .diagram_btn {
      margin-top: 9.85%; } }
  .relay .diagram_btn a {
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 3.0rem;
    padding: 2.34% 5.07% 2.34% 8.59%;
    color: #fff;
    background-color: #22ac38;
    border-radius: 1px;
    background-image: url(../img/relay/ico_binoculars.png), url(../img/relay/ico_tri_yellow.svg);
    background-repeat: no-repeat;
    background-position: 7.71% center, 92.3% center;
    background-size: 21.91% auto, 8.02% auto; }
    @media screen and (max-width: 1030px) {
      .relay .diagram_btn a {
        font-size: 2.2rem; } }
    @media screen and (max-width: 767px) {
      .relay .diagram_btn a {
        width: 100%;
        font-size: 2.8rem;
        padding: 9.23% 20.76% 9.23% 34.46%; } }
    @media screen and (max-width: 349px) {
      .relay .diagram_btn a {
        font-size: 2.4rem; } }

.relay .diagram_img {
  line-height: 0;
  text-align: center;
  margin-top: 1.95%; }
  @media screen and (max-width: 1030px) {
    .relay .diagram_img {
      margin-top: 4.925%; } }
  @media screen and (max-width: 767px) {
    .relay .diagram_img {
      margin-top: 9.85%; } }

@media screen and (min-width: 1031px) {
  .relay .diagram-right .inner {
    padding-left: 5.55%; } }

@media screen and (min-width: 1031px) {
  .relay .diagram-right .diagram_ico {
    padding-left: 2.2%; } }

@media screen and (min-width: 1031px) {
  .relay .diagram-right .diagram_text {
    padding: 2.63% 14.73% 2.63% 5.78%; } }

@media screen and (min-width: 1031px) {
  .relay .diagram-left .inner {
    padding-right: 5.55%; } }

@media screen and (min-width: 1031px) {
  .relay .diagram-left .diagram_head {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; } }

.relay .diagram-left .diagram_ico {
  text-align: right; }
  .relay .diagram-left .diagram_ico span {
    margin-left: auto; }

@media screen and (min-width: 1031px) {
  .relay .diagram-left .diagram_title {
    margin-left: 8.33%; } }

@media screen and (min-width: 1031px) {
  .relay .diagram-left .diagram_text {
    padding: 2.63% 5.3% 2.63% 10.41%; } }

.relay .diagram-01 .diagram_ico span {
  width: 75.6%; }
  @media screen and (max-width: 1030px) {
    .relay .diagram-01 .diagram_ico span {
      width: 30.63%; } }
  @media screen and (max-width: 767px) {
    .relay .diagram-01 .diagram_ico span {
      width: 61.26%; } }

.relay .diagram-01 .diagram_img {
  position: relative; }
  @media screen and (max-width: 1030px) {
    .relay .diagram-01 .diagram_img {
      margin-top: 10.56%; } }
  @media screen and (min-width: 768px) {
    .relay .diagram-01 .diagram_img::after {
      content: "";
      display: block;
      background: url(../img/relay/ico_sun.png) no-repeat center;
      background-size: contain;
      width: 20.39%;
      padding-bottom: 20.39%;
      position: absolute;
      top: -11.125%;
      left: 0;
      right: 0;
      margin: 0 auto; } }

.relay .diagram-02 .diagram_ico span {
  width: 81.46%; }
  @media screen and (max-width: 1030px) {
    .relay .diagram-02 .diagram_ico span {
      width: 34.08%; } }
  @media screen and (max-width: 767px) {
    .relay .diagram-02 .diagram_ico span {
      width: 68.16%; } }

.relay .diagram-03 .diagram_ico span {
  width: 79.75%; }
  @media screen and (max-width: 1030px) {
    .relay .diagram-03 .diagram_ico span {
      width: 33.52%; } }
  @media screen and (max-width: 767px) {
    .relay .diagram-03 .diagram_ico span {
      width: 67.04%; } }

.relay .diagram-04 .diagram_ico span {
  width: 78.04%; }
  @media screen and (max-width: 1030px) {
    .relay .diagram-04 .diagram_ico span {
      width: 33.59%; } }
  @media screen and (max-width: 767px) {
    .relay .diagram-04 .diagram_ico span {
      width: 67.18%; } }

@media screen and (max-width: 767px) {
  .relay .sales .inner {
    padding: 0 6.66%; } }

.relay .sales_box:not(:first-of-type) {
  margin-top: 4.68%; }
  @media screen and (max-width: 767px) {
    .relay .sales_box:not(:first-of-type) {
      margin-top: 9.23%; } }

.relay .sales_box-left .sales_text {
  margin-left: auto; }
  @media screen and (min-width: 768px) {
    .relay .sales_box-left .sales_text::after {
      background: url(../img/relay_01/bg_tirL_green.svg) no-repeat center;
      background-size: contain;
      right: 100%; } }

@media screen and (min-width: 768px) {
  .relay .sales_box-right {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse; } }

.relay .sales_box-right .sales_text {
  margin-right: auto; }
  @media screen and (min-width: 768px) {
    .relay .sales_box-right .sales_text::after {
      background: url(../img/relay_01/bg_tirR_green.svg) no-repeat center;
      background-size: contain;
      left: 100%; } }

@media screen and (max-width: 767px) {
  .relay .sales_box > div:last-of-type {
    margin-top: 6.92%; } }

.relay .sales_box + .sales_time {
  margin: 5.46% 0 0 0; }
  @media screen and (max-width: 767px) {
    .relay .sales_box + .sales_time {
      margin: 9.23% 0 0 0; } }

.relay .sales_img {
  line-height: 0; }

.relay .sales_text {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 2.2rem;
  background-color: #fff;
  border: 6px solid #22ac38;
  border-radius: 18px;
  padding: 4.74% 4.68%;
  position: relative; }
  @media screen and (min-width: 768px) {
    .relay .sales_text {
      width: 89.23%; } }
  @media screen and (max-width: 767px) {
    .relay .sales_text {
      font-size: 1.4rem;
      border-width: 3px;
      border-radius: 9px;
      line-height: 1.8; } }
  .relay .sales_text::after {
    content: "";
    width: 5.86%;
    padding-bottom: 5.86%;
    position: absolute; }
    @media screen and (min-width: 768px) {
      .relay .sales_text::after {
        top: 30%; } }
    @media screen and (max-width: 767px) {
      .relay .sales_text::after {
        width: 5.23%;
        padding-bottom: 5.23%;
        bottom: 100%;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: url(../img/relay_01/bg_tirT_green.svg) no-repeat center;
        background-size: contain; } }
  .relay .sales_text span {
    color: #22ac38; }
  .relay .sales_text:not(:first-of-type) {
    margin-top: 4.68%; }
    @media screen and (max-width: 767px) {
      .relay .sales_text:not(:first-of-type) {
        margin-top: 6.15%; } }

.relay .sales_time {
  background-color: #22ac38;
  text-align: center;
  font-size: 2.8rem;
  color: #fff;
  border-radius: 18px;
  line-height: 1.4;
  padding: 1.56% 5px;
  margin: 0 0 4.68% 0; }
  @media screen and (max-width: 767px) {
    .relay .sales_time {
      font-size: 1.6rem;
      border-radius: 9px;
      padding: 3.84% 0.15%;
      margin: 0 0 9.23% 0; } }
  .relay .sales_time span {
    display: block;
    font-size: 2.0rem; }
    @media screen and (max-width: 767px) {
      .relay .sales_time span {
        font-size: 1.2rem; } }
  .relay .sales_time-ora {
    background-color: #eb6100; }

.relay .sales_sup {
  font-size: 2.2rem;
  margin-top: 3.125%;
  border: 2px solid #22ac38;
  border-radius: 18px;
  padding: 2.34%;
  background-color: #f8ffe6; }
  @media screen and (max-width: 767px) {
    .relay .sales_sup {
      font-size: 1.4rem;
      border-radius: 9px;
      padding: 6.15% 4.61%; } }
  .relay .sales_sup span {
    color: #22ac38; }
  .relay .sales_sup span.name {
    color: #FF5E00; }
  .relay .sales_sup span.chara {
    font-size: 1.6rem;
	color: #000000}
  .relay .sales_sup img{
	float: left; 
	margin-right: 10px; 
	height: 100px;}
  @media screen and (max-width: 767px) {
  .relay .sales_sup span.chara {
    font-size: 1.4rem;}
  .relay .sales_sup img {
	height: 80px;}}

.relay .sales_btn a {
  display: block;
  background-color: #22ac38;
  text-align: center;
  font-size: 2.8rem;
  color: #fff;
  border-radius: 18px;
  line-height: 1.4;
  padding: 1.56% 5px;
  margin-top: 5.46%;
  position: relative; }
  @media screen and (max-width: 767px) {
    .relay .sales_btn a {
      font-size: 1.6rem;
      border-radius: 9px;
      padding: 3.84% 5px; } }
  .relay .sales_btn a::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-top: 13px solid transparent;
    border-bottom: 13px solid transparent;
    border-right: 14px solid transparent;
    border-left: 14px solid #fff45c;
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    left: 94.14%; }
    @media screen and (max-width: 767px) {
      .relay .sales_btn a::after {
        border-top: 7px solid transparent;
        border-bottom: 7px solid transparent;
        border-right: 9px solid transparent;
        border-left: 9px solid #fff45c; } }

.relay .sales_btn-movie a {
  background-color: #e60012;
  padding: 0.625% 1.56%; }
  @media screen and (max-width: 767px) {
    .relay .sales_btn-movie a {
      padding: 1.25%; } }
  .relay .sales_btn-movie a::after {
    content: none; }
  .relay .sales_btn-movie a p {
    padding: 1.2% 0;
    border-radius: 15px;
    border: 1px solid #fff; }
    @media screen and (max-width: 767px) {
      .relay .sales_btn-movie a p {
        border-radius: 7px; } }
    .relay .sales_btn-movie a p span {
      font-family: Century Gothic, CenturyGothic, Arial, sans-serif; }
      .relay .sales_btn-movie a p span::after {
        content: "";
        display: inline-block;
        width: 23px;
        height: 31px;
        background: url(../img/relay_02/ico_play.png) no-repeat center;
        margin-left: 20px;
        vertical-align: text-top; }
        @media screen and (max-width: 767px) {
          .relay .sales_btn-movie a p span::after {
            width: 13.5px;
            height: 17px;
            background-size: 13.5px auto;
            margin-left: 7px; } }

.relay .sales_frame {
  width: 92.18%;
  padding-bottom: 51.875%;
  margin: 1% auto 0;
  position: relative; }
  @media screen and (max-width: 767px) {
    .relay .sales_frame {
      margin-top: 2%; } }
  .relay .sales_frame iframe {
    position: absolute;
    width: 100%;
    height: 100%; }

/*=======================================================

    アルテックリレー1st .relay_01　

========================================================*/
.relay_01 .hero_title span {
  line-height: 1.2; }
  .relay_01 .hero_title span span {
    line-height: 1; }

/*=======================================================

    アルテックリレー2nd .relay_02　

========================================================*/
/*=======================================================

    採用　共通 .recruit_common　

========================================================*/
@media screen and (max-width: 767px) {
  .recruit_common .label {
    margin-bottom: 6%; } }

.recruit_common .label_tag p:first-of-type {
  background-color: #0068b7; }

.recruit_common .hero_btn a {
  color: #0068b7; }

.recruit_common .hero_title span {
  background: url(../img/recruit_message/bg_hero_01.png) repeat-x bottom left; }
  @media screen and (max-width: 767px) {
    .recruit_common .hero_title span {
      background-size: auto 8px; } }

.recruit_common .hero_name span {
  color: #0068b7; }

.recruit_common .person:not(.person-01) {
  margin-top: 4.33%; }
  @media screen and (max-width: 767px) {
    .recruit_common .person:not(.person-01) {
      margin-top: 10.66%; } }

.recruit_common .person_inner {
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .recruit_common .person_inner {
      width: 92.18%; } }

@media screen and (min-width: 768px) {
  .recruit_common .person_head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap; } }

.recruit_common .person_img {
  line-height: 0; }
  @media screen and (min-width: 768px) {
    .recruit_common .person_img {
      width: 60.16%; } }
  @media screen and (max-width: 767px) {
    .recruit_common .person_img {
      margin-top: 8%; } }

.recruit_common .person_info {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background-color: #fff;
  padding: 0 2.96%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  @media screen and (min-width: 768px) {
    .recruit_common .person_info {
      width: 32.62%; } }
  @media screen and (max-width: 767px) {
    .recruit_common .person_info {
      padding: 7.04% 8.45%; } }

.recruit_common .person_box {
  width: 100%; }

.recruit_common .person_label {
  text-align: center; }
  @media screen and (max-width: 767px) {
    .recruit_common .person_label img {
      max-width: 300px; } }

.recruit_common .person_title {
  font-weight: bold;
  color: #448aca;
  font-size: 2.4rem;
  margin-top: 2.59%; }
  @media screen and (max-width: 1030px) {
    .recruit_common .person_title {
      font-size: 2.2rem; } }
  @media screen and (max-width: 767px) {
    .recruit_common .person_title {
      font-size: 1.6rem; } }

.recruit_common .person_name {
  font-weight: bold;
  font-size: 2.8rem; }
  @media screen and (max-width: 1030px) {
    .recruit_common .person_name {
      font-size: 2.6rem; } }
  @media screen and (max-width: 767px) {
    .recruit_common .person_name {
      font-size: 2.0rem; } }

.recruit_common .person_text {
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-top: 17px solid #0068b7;
  line-height: 1.7;
  margin-top: 5.08%;
  background-color: #fff;
  padding: 2.54% 4.66% 3.38%;
  border-radius: 15px; }
  @media screen and (max-width: 1030px) {
    .recruit_common .person_text {
      font-size: 1.5rem; } }
  @media screen and (max-width: 767px) {
    .recruit_common .person_text {
      font-size: 1.6rem;
      padding: 9.15% 4.22%; } }

.recruit_common .person-right .person_head {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.recruit_common .require_inner {
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .recruit_common .require_inner {
      width: 82.03%; } }

.recruit_common .require_table {
  width: 100%;
  table-layout: auto; }
  .recruit_common .require_table tr {
    border-top: 1px solid #dcdcdc; }
    .recruit_common .require_table tr:last-of-type {
      border-bottom: 1px solid #dcdcdc; }
    .recruit_common .require_table tr th, .recruit_common .require_table tr td {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      padding: 20px 25px;
      text-align: left;
      vertical-align: top;
      font-size: 1.5rem; }
      @media screen and (max-width: 767px) {
        .recruit_common .require_table tr th, .recruit_common .require_table tr td {
          padding: 15px 10px;
          font-size: 1.4rem; } }
    .recruit_common .require_table tr th {
      width: 185px;
      color: #fff;
      background-color: #0068b7; }
      @media screen and (max-width: 767px) {
        .recruit_common .require_table tr th {
          width: 100px; } }
    .recruit_common .require_table tr td {
      background-color: #fff; }

/*=======================================================

    採用情報 .recruit_top　

========================================================*/
.recruit_top .contents {
  overflow: hidden; }

.recruit_top .hero_img {
  margin: 0; }

.recruit_top .banner {
  background-color: transparent;
  margin-top: 0;
  padding: 0; }
  .recruit_top .banner .inner {
    padding-bottom: 0; }
  .recruit_top .banner::after {
    content: none; }
  .recruit_top .banner_img {
    background-color: #fff; }
  .recruit_top .banner_text {
    background-color: #fff;
    margin: 1.84% 0 0;
    padding: 1.1% 2.76%;
    font-size: 1.4rem; }
    @media screen and (max-width: 767px) {
      .recruit_top .banner_text {
        margin-top: 6.15%;
        padding: 4.61%; } }
  .recruit_top .banner_carousel {
    margin-top: 4.68%; }
    @media screen and (max-width: 767px) {
      .recruit_top .banner_carousel {
        margin-top: 8.45%; } }
    .recruit_top .banner_carousel .slick-list {
      margin-left: -40px; }
      @media screen and (max-width: 1030px) {
        .recruit_top .banner_carousel .slick-list {
          overflow: visible; } }
      @media screen and (max-width: 1030px) {
        .recruit_top .banner_carousel .slick-list {
          margin-left: -30px; } }
      @media screen and (max-width: 767px) {
        .recruit_top .banner_carousel .slick-list {
          margin-left: -20px; } }
    .recruit_top .banner_carousel .slick-slide {
      margin-left: 40px; }
      @media screen and (max-width: 1030px) {
        .recruit_top .banner_carousel .slick-slide {
          margin-left: 30px; } }
      @media screen and (max-width: 767px) {
        .recruit_top .banner_carousel .slick-slide {
          margin-left: 20px; } }
      .recruit_top .banner_carousel .slick-slide div {
        line-height: 0; }
        .recruit_top .banner_carousel .slick-slide div p {
          line-height: 0; }
  .recruit_top .banner_adopt {
    margin-top: 5.99%; }
    @media screen and (max-width: 767px) {
      .recruit_top .banner_adopt {
        margin-top: 10.76%; } }

/*=======================================================

    フォーム共通 .form_common　

========================================================*/
.form_common .form_inner {
  margin: 0 auto; }
  @media screen and (min-width: 768px) {
    .form_common .form_inner {
      width: 82.03%; } }
  .form_common .form_inner table {
    width: 100%;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
    .form_common .form_inner table tr {
      -webkit-box-sizing: border-box;
      box-sizing: border-box;
      border-top: 1px solid #dcdcdc; }
      @media screen and (max-width: 767px) {
        .form_common .form_inner table tr {
          display: block; } }
      .form_common .form_inner table tr:last-of-type {
        border-bottom: 1px solid #dcdcdc; }
      .form_common .form_inner table tr th, .form_common .form_inner table tr td {
        font-size: 1.4rem;
        text-align: left;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        @media screen and (max-width: 767px) {
          .form_common .form_inner table tr th, .form_common .form_inner table tr td {
            display: block; } }
      .form_common .form_inner table tr th {
        background-color: #ececec;
        padding: 20px 25px;
        font-weight: bold;
        vertical-align: top;
        letter-spacing: 0.05em; }
        @media screen and (min-width: 768px) {
          .form_common .form_inner table tr th {
            width: 205px; } }
        @media screen and (max-width: 767px) {
          .form_common .form_inner table tr th {
            padding: 12px; } }
      .form_common .form_inner table tr td {
        background-color: #fff;
        padding: 20px 45px; }
        @media screen and (max-width: 767px) {
          .form_common .form_inner table tr td {
            padding: 18px 12px; } }
        .form_common .form_inner table tr td input[type="text"],
        .form_common .form_inner table tr td textarea {
          -webkit-appearance: none;
          border: 1px solid #a0a0a0;
          background-color: transparent;
          border-radius: 0px;
          font-size: 1.4rem;
          -webkit-box-sizing: border-box;
          box-sizing: border-box;
          padding: 5px; }
          @media screen and (max-width: 767px) {
            .form_common .form_inner table tr td input[type="text"],
            .form_common .form_inner table tr td textarea {
              font-size: 1.2rem; } }
          .form_common .form_inner table tr td input[type="text"]::-webkit-input-placeholder,
          .form_common .form_inner table tr td textarea::-webkit-input-placeholder {
            color: #888; }
          .form_common .form_inner table tr td input[type="text"]:-ms-input-placeholder,
          .form_common .form_inner table tr td textarea:-ms-input-placeholder {
            color: #888; }
          .form_common .form_inner table tr td input[type="text"]::-moz-placeholder,
          .form_common .form_inner table tr td textarea::-moz-placeholder {
            color: #888; }
          .form_common .form_inner table tr td input[type="text"]::-placeholder,
          .form_common .form_inner table tr td textarea::-placeholder {
            color: #888; }
          .form_common .form_inner table tr td input[type="text"]:focus,
          .form_common .form_inner table tr td textarea:focus {
            outline: none; }
          @media screen and (min-width: 768px) {
            .form_common .form_inner table tr td input[type="text"] + input,
            .form_common .form_inner table tr td textarea + input {
              margin-left: 2.44%; } }
        .form_common .form_inner table tr td input[type="radio"] {
          display: none; }
          .form_common .form_inner table tr td input[type="radio"]:checked + label::before {
            opacity: 1; }
          .form_common .form_inner table tr td input[type="radio"]:checked + label::after {
            background-color: #0099ff; }
        .form_common .form_inner table tr td input[type="radio"] {
          display: none; }
          .form_common .form_inner table tr td input[type="radio"] + label {
            -webkit-box-sizing: border-box;
            box-sizing: border-box;
            -webkit-transition: background-color 0.2s linear;
            -o-transition: background-color 0.2s linear;
            transition: background-color 0.2s linear;
            position: relative;
            display: inline-block;
            padding: 12px 12px 12px 28px;
            border-radius: 8px;
            vertical-align: middle;
            cursor: pointer; }
            @media screen and (max-width: 767px) {
              .form_common .form_inner table tr td input[type="radio"] + label {
                padding: 12px 12px 12px 35px; } }
            .form_common .form_inner table tr td input[type="radio"] + label::before {
              -webkit-transition: opacity 0.2s linear;
              -o-transition: opacity 0.2s linear;
              transition: opacity 0.2s linear;
              position: absolute;
              top: 50%;
              -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
              transform: translateY(-50%);
              left: 5px;
              display: block;
              width: 8px;
              height: 8px;
              content: '';
              opacity: 0;
              border-radius: 50%;
              background-color: #fff;
              z-index: 2; }
              @media screen and (max-width: 767px) {
                .form_common .form_inner table tr td input[type="radio"] + label::before {
                  width: 12px;
                  height: 12px;
                  left: 7px; } }
            .form_common .form_inner table tr td input[type="radio"] + label::after {
              -webkit-transition: border-color 0.2s linear;
              -o-transition: border-color 0.2s linear;
              transition: border-color 0.2s linear;
              position: absolute;
              top: 50%;
              -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
              transform: translateY(-50%);
              left: 0px;
              display: block;
              width: 16px;
              height: 16px;
              border: 1px solid #e2e2e2;
              border-radius: 50%;
              content: ''; }
              @media screen and (max-width: 767px) {
                .form_common .form_inner table tr td input[type="radio"] + label::after {
                  width: 24px;
                  height: 24px; } }
            @media screen and (max-width: 767px) {
              .form_common .form_inner table tr td input[type="radio"] + label span {
                font-size: 1.2rem; } }
        .form_common .form_inner table tr td input[type="file"] {
          font-size: 1.3rem; }
        .form_common .form_inner table tr td .radioWrapper {
          display: inline-block;
          margin-right: 10px; }
        .form_common .form_inner table tr td .selectWrapper {
          display: inline-block; }
          @media screen and (max-width: 767px) {
            .form_common .form_inner table tr td .selectWrapper {
              display: block; } }
          @media screen and (max-width: 767px) {
            .form_common .form_inner table tr td .selectWrapper:not(:first-of-type) {
              margin-top: 10px; } }
          .form_common .form_inner table tr td .selectWrapper select {
            height: 20px;
            border-radius: 0; }
            .form_common .form_inner table tr td .selectWrapper select + span {
              padding: 0 10px; }
            .form_common .form_inner table tr td .selectWrapper select:focus {
              outline: none; }
        @media screen and (max-width: 1030px) {
          .form_common .form_inner table tr td .width {
            width: 100%; } }
        @media screen and (min-width: 1031px) {
          .form_common .form_inner table tr td .width-01 {
            width: 37.08%; } }
        @media screen and (min-width: 1031px) {
          .form_common .form_inner table tr td .width-02 {
            width: 52.98%; } }
        @media screen and (min-width: 1031px) {
          .form_common .form_inner table tr td .width-03 {
            width: 90.06%; } }
      @media screen and (max-width: 1030px) {
        .form_common .form_inner table tr.form_tel td p .width {
          width: -moz-calc(100% - 60px);
          width: -o-calc(100% - 60px);
          width: -webkit-calc(100% - 60px);
          width: calc(100% - 60px); } }
      .form_common .form_inner table tr.form_mail td p:nth-of-type(2) {
        margin-top: 2.64%; }
      @media screen and (max-width: 1030px) {
        .form_common .form_inner table tr.form_mail td p .width {
          width: -moz-calc(100% - 60px);
          width: -o-calc(100% - 60px);
          width: -webkit-calc(100% - 60px);
          width: calc(100% - 60px); } }
      .form_common .form_inner table tr.form_academy td p {
        margin-bottom: 15px; }
        @media screen and (min-width: 1031px) {
          .form_common .form_inner table tr.form_academy td p .width {
            margin-left: 15px; } }
        .form_common .form_inner table tr.form_academy td p:first-of-type .width-other {
          width: -moz-calc(100% - 150px);
          width: -o-calc(100% - 150px);
          width: -webkit-calc(100% - 150px);
          width: calc(100% - 150px); }
          @media screen and (max-width: 1030px) {
            .form_common .form_inner table tr.form_academy td p:first-of-type .width-other {
              width: 100%; } }
        .form_common .form_inner table tr.form_academy td p:nth-of-type(2) .width-other {
          width: -moz-calc(100% - 248px);
          width: -o-calc(100% - 248px);
          width: -webkit-calc(100% - 248px);
          width: calc(100% - 248px); }
          @media screen and (max-width: 1030px) {
            .form_common .form_inner table tr.form_academy td p:nth-of-type(2) .width-other {
              width: 100%; } }

.form_common .form_text {
  font-size: 1.8rem;
  margin-bottom: 4.28%; }
  @media screen and (max-width: 767px) {
    .form_common .form_text {
      font-size: 1.5rem; } }
  .form_common .form_text span {
    color: #ff0000;
    font-weight: bold; }

.form_common .form_hankaku {
  color: #898989;
  font-size: 1.4rem; }

.form_common .form_required {
  color: #ff0000; }

.form_common .form_kome {
  font-size: 1.3rem;
  line-height: 1.8; }
  .form_common .form_kome-alert {
    color: #ff0000; }

.form_common .form .error_text {
  color: #ff0000;
  font-size: 1.4rem;
  margin-top: 5px; }

.form_common .form_agree {
  text-align: center;
  margin-top: 4.76%; }
  .form_common .form_agree p a {
    color: #1f22cc;
    text-decoration: underline;
    font-size: 1.4rem; }
    .form_common .form_agree p a:hover {
      text-decoration: none;
      opacity: 1; }
  .form_common .form_agree .checkboxWrapper label span {
    font-size: 1.5rem; }
  .form_common .form_agree input[type="checkbox"] {
    display: none; }
    .form_common .form_agree input[type="checkbox"]:checked + label::before {
      opacity: 1; }
  .form_common .form_agree input[type="checkbox"] + label {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-transition: background-color 0.2s linear;
    -o-transition: background-color 0.2s linear;
    transition: background-color 0.2s linear;
    position: relative;
    display: inline-block;
    padding: 5px 12px 5px 28px;
    vertical-align: middle;
    cursor: pointer; }
    @media screen and (max-width: 767px) {
      .form_common .form_agree input[type="checkbox"] + label {
        padding-left: 35px; } }
    .form_common .form_agree input[type="checkbox"] + label::before {
      -webkit-transition: opacity 0.2s linear;
      -o-transition: opacity 0.2s linear;
      transition: opacity 0.2s linear;
      position: absolute;
      left: 5px;
      display: block;
      margin-top: -8px;
      width: 6px;
      height: 11px;
      border-bottom: 2px solid #000;
      border-right: 2px solid #000;
      content: '';
      opacity: 0;
      -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      transform: rotate(45deg); }
      @media screen and (min-width: 768px) {
        .form_common .form_agree input[type="checkbox"] + label::before {
          top: 50%; } }
      @media screen and (max-width: 767px) {
        .form_common .form_agree input[type="checkbox"] + label::before {
          width: 7px;
          height: 12px;
          top: 15px;
          left: 7px; } }
    .form_common .form_agree input[type="checkbox"] + label::after {
      -webkit-transition: border-color 0.2s linear;
      -o-transition: border-color 0.2s linear;
      transition: border-color 0.2s linear;
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
      transform: translateY(-50%);
      left: 0px;
      display: block;
      width: 16px;
      height: 16px;
      border: 1px solid #959595;
      content: ''; }
      @media screen and (max-width: 767px) {
        .form_common .form_agree input[type="checkbox"] + label::after {
          width: 20px;
          height: 20px; } }

.form_common .form_btn {
  margin-top: 1.66%; }
  @media screen and (max-width: 767px) {
    .form_common .form_btn {
      margin-top: 4%; } }

/*=======================================================

    フォーム確認画面 .form_confirm　

========================================================*/
.form_confirm .form_btn {
  margin-top: 5%; }
  @media screen and (max-width: 767px) {
    .form_confirm .form_btn {
      padding: 0 2.66%; } }
  @media screen and (max-width: 399px) {
    .form_confirm .form_btn a {
      width: 150px; } }
  @media screen and (max-width: 349px) {
    .form_confirm .form_btn a {
      width: 140px;
      font-size: 1.4rem; } }
  .form_confirm .form_btn a:first-of-type {
    background-color: #7d7d7d; }
  .form_confirm .form_btn a:last-of-type {
    margin-left: 7.6%; }
    @media screen and (max-width: 767px) {
      .form_confirm .form_btn a:last-of-type {
        margin-left: 2%; } }

/*=======================================================

    フォーム完了画面 .complete_career　

========================================================*/
.complete_career .contents {
  min-height: 780px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  @media screen and (max-width: 767px) {
    .complete_career .contents {
      min-height: 400px; } }

.complete_career .form_complete {
  padding: 1.33% 0 2%;
  background-color: #fff; }
  .complete_career .form_complete dl dt {
    font-size: 2.2rem;
    font-weight: bold;
    color: #0068b7; }
    @media screen and (max-width: 767px) {
      .complete_career .form_complete dl dt {
        font-size: 1.8rem; } }
  .complete_career .form_complete dl dd {
    font-size: 1.8rem; }
    @media screen and (max-width: 767px) {
      .complete_career .form_complete dl dd {
        font-size: 1.4rem; } }
