@charset 'UTF-8';
/**
 * common
 */
html {
  font-family:'Noto Sans JP', sans-serif;
  font-size:62.5%;
}
body {
  background-color:#fff;
  color:#000;
  font-family:'Noto Sans JP', sans-serif;
  font-weight:400;
  line-height:1.5;
  min-width:1250px;
  overflow:hidden;
  overflow:hidden;
  overflow-wrap:break-word;
  width:100%;
}

ul, ol, li {
  list-style:none;
}

a {
  display:block;
  text-decoration:none;
}

a:link {
  color:inherit;
  text-decoration:none;
}

a:visited {
  color:inherit;
  text-decoration:none;
}

a:hover {
  color:inherit;
  text-decoration:none;
}

a[href*=tel] {
  cursor:default;
  pointer-events:none;
  text-decoration:none;
}

a img {
  background:transparent;
  border-color:#fff;
  border-style:none;
  border-width:0;
}

img {
  image-rendering:-webkit-optimize-contrast;
  vertical-align:top;
}

picture {
  display:block;
}

br.xll-only {
  display:block;
}

br.pc-only {
  display:block;
}

br.sp-only {
  display:none;
}

br.pc-sp-only {
  display:block;
}

.wrapper {
  min-width:1250px;
}

main * {
  font-size:1.6rem;
  letter-spacing:.05em;
}

.inline-block {
  display:inline-block;
}

.sectionTitle {
  border-bottom:6px solid #000;
  display:inline-block;
  font-size:4.5rem;
  margin:0 auto;
  padding-bottom:12px;
}

.mt40 {
  margin-top:40px;
}

/*
 * header
 */
.header {
  position:relative;

  margin:0 auto;
  max-width:1995px;
  z-index:999;
}

.header_inner {
  position:absolute;
  top:0;

  -webkit-box-pack:justify;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-pack:justify;
  justify-content:space-between;
  padding:30px 48px;
  width:100%;
}

.header-logo_wrapper {
  margin-top:11px;
  max-width:173px;
}
.header-logo_wrapper img {
  width:100%;
}
.header-logo_title {
  color:#2d5d2a;
  font-size:1.6rem;
}

.header-btn_wrapper {
  margin-top:13px;
  width:250px;
}

.header-btn {
  background-color:transparent;
  border:3px solid #fff;
  border-radius:100px;
  color:#fff;
  padding:12px;
  text-align:center;
  -webkit-transition:all .3s ease;
  transition:all .3s ease;
}
.header-btn:hover {
  background:rgba(255, 255, 255, .2);
}
.header-btn span {
  position:relative;

  font-size:1.6rem;
  font-weight:500;
  letter-spacing:.05em;
  padding-right:20px;
}
.header-btn span:after {
  position:absolute;
  top:50%;
  right:7px;

  background-image:url(../image/top/btn-sankaku.png);
  background-size:contain;
  content:'';
  height:16px;
  margin-top:4px;
  -webkit-transform:translateY(-50%);
  transform:translateY(-50%);
  width:8px;
}

/**
 * footer
 */
.footer {
  position:relative;

  padding:32px 0;
  text-align:center;
}
.footer span {
  font-size:1.4rem;
  font-weight:300;
  letter-spacing:.025em;
  text-transform:uppercase;
}

/**
 * toTop
 */
#page-top a {
  max-width:72px;
  opacity:1;
  -webkit-transition:all .3s;
  transition:all .3s;
  -webkit-transition-duration:.3s;
  transition-duration:.3s;
  -webkit-transition-property:opacity;
  transition-property:opacity;
  -webkit-transition-timing-function:ease;
  transition-timing-function:ease;
}
#page-top a:hover {
  opacity:.8;
}
#page-top a img {
  width:100%;
}

#page-top {
  position:fixed;
  right:41px;
  bottom:84px;

  opacity:0;
  -webkit-transform:translateY(100px);
  transform:translateY(100px);
  z-index:99;
}
#page-top.UpMove {
  -webkit-animation:UpAnime .5s forwards;
  animation:UpAnime .5s forwards;
}
#page-top.DownMove {
  -webkit-animation:DownAnime .5s forwards;
  animation:DownAnime .5s forwards;
}

/*　上に上がる動き　*/
@-webkit-keyframes UpAnime {
  from {
    opacity:0;
    -webkit-transform:translateY(100px);
    transform:translateY(100px);
  }
  to {
    opacity:1;
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
}
@keyframes UpAnime {
  from {
    opacity:0;
    -webkit-transform:translateY(100px);
    transform:translateY(100px);
  }
  to {
    opacity:1;
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
}
/*　下に下がる動き　*/
@-webkit-keyframes DownAnime {
  from {
    opacity:1;
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
  to {
    opacity:1;
    -webkit-transform:translateY(100px);
    transform:translateY(100px);
  }
}
@keyframes DownAnime {
  from {
    opacity:1;
    -webkit-transform:translateY(0);
    transform:translateY(0);
  }
  to {
    opacity:1;
    -webkit-transform:translateY(100px);
    transform:translateY(100px);
  }
}
/**
 * cta
 */
.cta {
  position:relative;

  background-image:url(../image/top/cta-bg.jpg);
  background-image:-webkit-image-set(url(../image/top/cta-bg.jpg) 1x, url(../image/top/2x/cta-bg@2x.jpg) 2x);
  background-image:image-set(url(../image/top/cta-bg.jpg) 1x, url(../image/top/2x/cta-bg@2x.jpg) 2x);
  background-size:cover;
  padding:90px 0 100px;
  z-index:3;
}
.cta_inner {
  padding:0 20px;
  text-align:center;
}

.cta-mes {
  position:relative;

  color:#fff;
  display:inline-block;
  font-size:3.6rem;
  margin-bottom:46px;
  padding-left:10px;
}
.cta-mes:before {
  position:absolute;
  top:9px;
  left:-41px;

  background-image:url(../image/top/cta-title.png);
  background-image:-webkit-image-set(url(../image/top/cta-title.png) 1x, url(../image/top/2x/cta-title@2x.png) 2x);
  background-image:image-set(url(../image/top/cta-title.png) 1x, url(../image/top/2x/cta-title@2x.png) 2x);
  content:'';
  height:40px;
  width:25px;
}
.cta-mes:after {
  position:absolute;
  top:9px;
  right:-42px;

  background-image:url(../image/top/cta-title.png);
  background-image:-webkit-image-set(url(../image/top/cta-title.png) 1x, url(../image/top/2x/cta-title@2x.png) 2x);
  background-image:image-set(url(../image/top/cta-title.png) 1x, url(../image/top/2x/cta-title@2x.png) 2x);
  content:'';
  height:40px;
  -webkit-transform:scale(1, -1);
  transform:scale(1, -1);
  width:25px;
}
.cta-btn {
  background-color:#000;
  border-radius:100px;
  margin:0 auto;
  max-width:707px;
  padding:27px 0 27px 86px;
  -webkit-transition:background-color .4s ease;
  transition:background-color .4s ease;
}
.cta-btn:hover {
  background-color:#777;
}
.cta-btn_inner {
  align-items:center;
  -webkit-box-align:center;
  -webkit-box-pack:start;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-align:center;
  -ms-flex-pack:start;
  justify-content:flex-start;
}
.cta-btn figure {
  margin-right:16px;
  width:23px;
}
.cta-btn figure img {
  width:100%;
}
.cta-btn p {
  position:relative;

  color:#fff;
  font-size:3rem;
  font-weight:600;
}
.cta-btn p:after {
  position:absolute;
  top:50%;
  right:-23px;

  background-image:url(../image/top/cta-sankaku.png);
  background-image:-webkit-image-set(url(../image/top/cta-sankaku.png) 1x, url(../image/top/2x/cta-sankaku@2x.png) 2x);
  background-image:image-set(url(../image/top/cta-sankaku.png) 1x, url(../image/top/2x/cta-sankaku@2x.png) 2x);
  background-size:contain;
  content:'';
  height:16px;
  -webkit-transform:translateY(-50%);
  transform:translateY(-50%);
  width:8px;
}
/**
 * binding
 */
.binding {
  background-color:#36558f;
  background-image:url(../image/top/message.svg);
  background-position:bottom center;
  padding:71px 0 86px;
}

.binding_img_wrapper {
  margin-bottom:18px;
  margin-left:20px;
}

.binding_img {
  margin:0 auto;
  max-width:235px;
}
.binding_img img {
  width:100%;
}

.enclosing {
  border:3px solid #fff;
  color:#fff;
  font-size:3.6rem;
  font-weight:700;
  margin:0 auto;
  margin-bottom:67px;
  padding:13px;
  text-align:center;
  width:295px;
}

.binding_mes {
  color:#fff;
  font-size:2.4rem;
  line-height:2;
  text-align:center;
}

/** recruit **/
.recruit {
  background-color:#f5f5f5;
  padding:100px 0;
}

.recruit_container {
  margin:0 auto;
  max-width:1440px;
  padding:0 20px;
}

.recruit_inner {
  align-items:center;
  -webkit-box-align:center;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -ms-flex-align:center;
  padding:0 5.55%;
}

.recruit_img_wrapper {
  max-width:640px;
  width:50%;
}

.recruit_img {
  width:100%;
}
.recruit_img img {
  width:100%;
}

.recruit_body_wrapper {
  padding:0 7.14%;
  width:50%;
}

.recruit_ttl {
  border-bottom:5px solid #000;
  font-size:2.7rem;
  font-weight:700;
  margin:0 auto;
  margin-bottom:30px;
  padding:0 0 8px;
  text-align:center;
  width:12.5em;
}

.recruit_txt_wrapper {
  margin-bottom:30px;
}

.recruit_txt {
  font-size:1.7rem;
  text-align:center;
}

.recruit_txt_pale {
  color:#f98900;
}

.recruit-btn {
  background-color:#000;
  border-radius:100px;
  margin:0 auto 30px;
  padding:15px 10px;
  text-align:center;
  -webkit-transition:opacity .3s ease;
  transition:opacity .3s ease;
  width:19em;
}
.recruit-btn:hover {
  opacity:.6;
}

.recruit-btn_txt {
  color:#fff;
  font-size:2.3rem;
  font-weight:500;
}

.recruit_notice {
  font-size:1.6rem;
  margin:0 auto;
}

@media screen and (max-width: 1200px) {
  html {
    font-size:62.5%;
  }
  .wrapper {
    min-width:1px;
  }
  .header_inner {
    width:100%;
  }
  .footer {
    position:relative;
  }
  .recruit_inner {
    padding:0;
  }
  .recruit_img_wrapper {
    padding:3%;
  }
  .recruit_body_wrapper {
    padding:0;
  }
}

@media screen and (max-width: 820px) {
  html {
    font-size:1.25vw;
  }
  body {
    min-width:1px;
  }
  br.pc-only {
    display:none;
  }
  br.sp-only {
    display:none;
  }
  br.pc-sp-only {
    display:none;
  }
  .sectionTitle {
    border-bottom:.8vw solid #000;
    font-size:4.5vw;
    padding-bottom:.5vw;
  }
  .header_inner {
    padding:3vw 4vw;
  }
  .header-logo_wrapper {
    width:20vw;
  }
  .header-btn span {
    font-size:2.4vw;
  }
  .header-btn span:after {
    right:0;

    height:2vw;
    margin-top:0;
    width:1vw;
  }
  .footer {
    position:relative;
  }
  .cta {
    padding:5vw 0 8vw;
  }
  .cta_inner {
    padding:0 5vw;
  }
  .cta-mes {
    font-size:3.5vw;
    margin-bottom:5vw;
  }
  .cta-mes:before {
    top:.2vw;
    left:-5vw;

    height:6vw;
    width:3vw;
  }
  .cta-mes:after {
    top:.2vw;
    right:-5vw;

    height:6vw;
    width:3vw;
  }
  .cta-btn {
    padding:3vw 0;
  }
  .cta-btn_inner {
    -webkit-box-pack:center;
    -ms-flex-pack:center;
    justify-content:center;
  }
  .cta-btn figure {
    width:3vw;
  }
  .cta-btn p {
    font-size:3.8vw;
  }
  .cta-btn p:after {
    height:2vw;
    width:1vw;
  }
  .binding {
    padding-bottom:6vw;
    padding-top:6vw;
  }
  .binding_img_wrapper {
    margin-bottom:4vw;
    margin-left:0;
  }
  .binding_img {
    width:25vw;
  }
  .enclosing {
    margin-bottom:5vw;
    padding:2vw 3vw;
    width:44vw;
  }
  .binding_mes {
    font-size:2.3vw;
  }
  .recruit {
    padding:8vw 0;
  }
  .recruit_container {
    padding:0 5vw;
  }
  .recruit_inner {
    -webkit-box-direction:normal;
    -webkit-box-orient:vertical;
    -ms-flex-direction:column;
    flex-direction:column;
  }
  .recruit_img_wrapper {
    margin-bottom:5vw;
    width:70%;
  }
  .recruit_body_wrapper {
    width:100%;
  }
  .recruit_ttl {
    border-bottom:3px solid #000;
    font-size:4vw;
    margin-bottom:4vw;
    padding-bottom:1.5vw;
  }
  .recruit_txt {
    font-size:2.3vw;
  }
  .recruit-btn {
    padding:2vw 0;
    width:60vw;
  }
  .recruit-btn_txt {
    font-size:3.8vw;
  }
  .recruit_notice {
    font-size:2.3vw;
  }
}

@media screen and (max-width: 599px) {
  body {
    min-width:100%;
    width:100%;
  }
  a[href*=tel] {
    pointer-events:auto !important;
  }
  br.pc-only {
    display:none;
  }
  br.sp-only {
    display:block;
  }
  br.pc-sp-only {
    display:block;
  }
  .wrapper {
    width:100%;
  }
  .sectionTitle {
    font-size:6.5vw;
    padding-bottom:2vw;
  }
  .mt40 {
    margin-top:8vw;
  }
  .header_inner {
    padding:2vw;
  }
  .header-logo_title {
    display:none;
  }
  .header-btn_wrapper {
    margin-top:0;
    width:40vw;
  }
  .header-btn {
    padding:2vw;
  }
  .header-btn span {
    font-size:3.3vw;
    padding-right:3.5vw;
  }
  .footer {
    padding:3vw 0;
  }
  #page-top {
    right:5vw;
    bottom:5vw;

    width:11.5vw;
  }
  .cta {
    padding-bottom:11vw;
    padding-top:11vw;
  }
  .cta-mes {
    font-size:6vw;
  }
  .cta-mes:before {
    top:2vw;
    left:-8vw;

    height:-8vw;
    width:5vw;
  }
  .cta-mes:after {
    top:2vw;
    right:-8vw;

    height:8vw;
    width:5vw;
  }
  .cta-btn {
    padding:5vw 3vw 5vw 3vw;
  }
  .cta-btn figure {
    margin-right:4vw;
  }
  .cta-btn p {
    font-size:4vw;
  }
  .cta-btn p:after {
    right:-2vw;
  }
  .binding {
    padding-bottom:10vw;
    padding-top:10vw;
  }
  .binding_img {
    width:45vw;
  }
  .enclosing {
    font-size:5vw;
    margin-bottom:8vw;
    width:54vw;
  }
  .binding_mes {
    font-size:3.5vw;
  }
  .recruit_container {
    padding:0;
  }
  .recruit_ttl {
    font-size:4.3vw;
  }
  .recruit_txt {
    font-size:3.4vw;
  }
  .recruit-btn_txt {
    font-size:4vw;
  }
  .recruit_notice {
    font-size:3.3vw;
  }
}

@media screen and (max-width:1380px) {
  br.xll-only {
    display:none;
  }
}

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop, .cta {
    background-image:url(../image/top/cta-bg.jpg);
  }
  *::-ms-backdrop, .cta-mes:before, .cta-mes:after {
    background-image:url(../image/top/cta-title.png);
  }
  *::-ms-backdrop, .cta-btn p:after {
    background-image:url(../image/top/cta-sankaku.png);
  }
}
