@charset "UTF-8";
/* =================================
 Basic
================================= */
/* margin / padding
---------------------------------------------------------- */
.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.mt90 {
  margin-top: 90px;
}

.mt100 {
  margin-top: 100px;
}

.mb00 {
  margin-bottom: 0 !important;
}

.mb10 {
  margin-bottom: 10px;
}

.mb20 {
  margin-bottom: 20px;
}

.mb30 {
  margin-bottom: 30px;
}

.mb40 {
  margin-bottom: 40px;
}

.mb50 {
  margin-bottom: 50px;
}

.mb60 {
  margin-bottom: 60px;
}

.mb70 {
  margin-bottom: 70px;
}

.mb80 {
  margin-bottom: 80px;
}

.mb90 {
  margin-bottom: 90px;
}

.mb100 {
  margin-bottom: 100px;
}

.pt10 {
  padding-top: 10px;
}

.pt20 {
  padding-top: 20px;
}

.pt30 {
  padding-top: 30px;
}

.pt40 {
  padding-top: 40px;
}

.pt50 {
  padding-top: 50px;
}

.pt60 {
  padding-top: 60px;
}

.pt70 {
  padding-top: 70px;
}

.pt80 {
  padding-top: 80px;
}

.pt90 {
  padding-top: 90px;
}

.pt100 {
  padding-top: 100px;
}

.pb10 {
  padding-bottom: 10px;
}

.pb20 {
  padding-bottom: 20px;
}

.pb30 {
  padding-bottom: 30px;
}

.pb40 {
  padding-bottom: 40px;
}

.pb50 {
  padding-bottom: 50px;
}

.pb60 {
  padding-bottom: 60px;
}

.pb70 {
  padding-bottom: 70px;
}

.pb80 {
  padding-bottom: 80px;
}

.pb90 {
  padding-bottom: 90px;
}

.pb100 {
  padding-bottom: 100px;
}

.width50 {
  width: 50%;
}

/*
span.ls {
    letter-spacing: -10px;
}
*/
span.ls2 {
  display: inline-block;
  margin-left: 0.1em;
  white-space: nowrap;
}

.mac span.ls2 {
  margin-left: 0.6em;
}

_::-webkit-full-page-media,
_:future,
:root span.ls2 {
  margin-left: 0;
}

_:-ms-lang(x)::-ms-backdrop,
span.ls2 {
  margin-left: 0.6em;
}

_:lang(x) + _:-webkit-full-screen-document,
span.ls2 {
  margin-left: 0.6em;
}

_:lang(x)::-ms-,
span.ls2 {
  margin-left: 0.1em;
}

@media all and (-ms-high-contrast: none) {
  span.ls2 {
    margin-left: 0.6em;
  }
}
_:-ms-lang(x)::backdrop,
span.ls2 {
  margin-left: 0.6em;
}

.c-tit__sub.c-txt__nS-r,
.c-txt__nS-r {
  /* フォントレンダリング設定: 1x解像度ではsubpixel、2x以上の解像度ではgrayscale */
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

@media only screen and (-webkit-min-device-pixel-ratio: 2), (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  .c-tit__sub.c-txt__nS-r,
  .c-txt__nS-r {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}
@media all and (-ms-high-contrast: none) {
  /* ここに書く */
  .c-tit__sub.c-txt__nS-r,
  .c-txt__nS-r {
    transform: rotate(0.001deg);
  }
}
/* text
---------------------------------------------------------- */
.ta_center {
  text-align: center;
}

.ta_left {
  text-align: left;
}

.ta_right {
  text-align: right;
}

.fw_bold {
  font-weight: bold;
}

/* float
---------------------------------------------------------- */
.fl_left {
  float: left;
}

.fl_right {
  float: right;
}

.l-row {
  display: flex;
  flex-wrap: wrap;
}

.l-row.flex-sb {
  justify-content: space-between;
}

.l-row.flex-end {
  justify-content: flex-end;
}

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

.l-row.item-end {
  -ms-align-items: flex-end;
  align-items: flex-end;
}

.l-row.item-center {
  align-items: center;
}

@media screen and (max-width: 767px) {
  span.ls2 {
    display: inline-block;
    margin-left: 0.6em;
    white-space: nowrap;
  }
}
h1,
h2,
h3 {
  font-family: "Noto Serif JP", serif;
}

.f-sans {
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
  font-style: normal;
}

.f-serif {
  font-family: "Noto Serif JP", serif;
  font-style: normal;
}

.f-lato {
  font-family: "Lato", sans-serif;
}

.fw-r {
  font-family: noto-sans-cjk-jp, sans-serif;
  font-weight: 400;
}

.fw-m {
  font-weight: 500;
}

.fw-b {
  font-weight: 700;
}

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

img[src=""] {
  display: none;
}

.b-lato {
  font-weight: bold;
  font-size: 15px;
}

.p-recruit {
  padding: 80px 0;
  background: #fafafa;
}