@charset "UTF-8";
/* ====================================================
reset style
==================================================== */
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700&subset=japanese");
@import url("https://fonts.googleapis.com/css?family=Noto+Serif:400,400i,700,700i&display=swap");
html {
  overflow-y: auto;
  overflow-x: hidden;
  font-size: 10px;
  /* Base font size, change to 14px or 16px if needed */
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0;
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

fieldset, img {
  border: 0;
}

img {
  vertical-align: middle;
  max-width: 100%;
}

address, caption, cite, code, dfn, var {
  font-style: normal;
  font-weight: normal;
}

li {
  list-style: none;
}

caption, th {
  text-align: left;
}

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal;
}

q:before, q:after {
  content: '';
}

abbr, acronym {
  border: 0;
  font-variant: normal;
}

sup {
  vertical-align: text-top;
}

sub {
  vertical-align: text-bottom;
}

input, textarea, select {
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/*to enable resizing for IE*/
input, textarea, select {
  *font-size: 100%;
}

/*because legend doesn't inherit in IE */
legend {
  color: #000;
}

del, ins {
  text-decoration: none;
}

main {
  display: block;
}

section {
  position: relative;
}

/* ====================================================
Font
==================================================== */
/* ====================================================
Media Quary
==================================================== */
@media screen and (min-width: 835px) {
  .mbpc-1 {
    margin-bottom: 1px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-1 {
    margin-bottom: 1px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-2 {
    margin-bottom: 2px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-2 {
    margin-bottom: 2px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-3 {
    margin-bottom: 3px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-3 {
    margin-bottom: 3px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-4 {
    margin-bottom: 4px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-4 {
    margin-bottom: 4px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-5 {
    margin-bottom: 5px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-5 {
    margin-bottom: 5px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-6 {
    margin-bottom: 6px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-6 {
    margin-bottom: 6px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-7 {
    margin-bottom: 7px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-7 {
    margin-bottom: 7px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-8 {
    margin-bottom: 8px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-8 {
    margin-bottom: 8px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-9 {
    margin-bottom: 9px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-9 {
    margin-bottom: 9px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-10 {
    margin-bottom: 10px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-10 {
    margin-bottom: 10px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-11 {
    margin-bottom: 11px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-11 {
    margin-bottom: 11px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-12 {
    margin-bottom: 12px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-12 {
    margin-bottom: 12px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-13 {
    margin-bottom: 13px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-13 {
    margin-bottom: 13px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-14 {
    margin-bottom: 14px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-14 {
    margin-bottom: 14px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-15 {
    margin-bottom: 15px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-15 {
    margin-bottom: 15px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-16 {
    margin-bottom: 16px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-16 {
    margin-bottom: 16px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-17 {
    margin-bottom: 17px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-17 {
    margin-bottom: 17px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-18 {
    margin-bottom: 18px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-18 {
    margin-bottom: 18px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-19 {
    margin-bottom: 19px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-19 {
    margin-bottom: 19px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-20 {
    margin-bottom: 20px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-20 {
    margin-bottom: 20px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-21 {
    margin-bottom: 21px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-21 {
    margin-bottom: 21px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-22 {
    margin-bottom: 22px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-22 {
    margin-bottom: 22px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-23 {
    margin-bottom: 23px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-23 {
    margin-bottom: 23px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-24 {
    margin-bottom: 24px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-24 {
    margin-bottom: 24px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-25 {
    margin-bottom: 25px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-25 {
    margin-bottom: 25px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-26 {
    margin-bottom: 26px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-26 {
    margin-bottom: 26px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-27 {
    margin-bottom: 27px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-27 {
    margin-bottom: 27px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-28 {
    margin-bottom: 28px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-28 {
    margin-bottom: 28px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-29 {
    margin-bottom: 29px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-29 {
    margin-bottom: 29px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-30 {
    margin-bottom: 30px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-30 {
    margin-bottom: 30px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-31 {
    margin-bottom: 31px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-31 {
    margin-bottom: 31px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-32 {
    margin-bottom: 32px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-32 {
    margin-bottom: 32px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-33 {
    margin-bottom: 33px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-33 {
    margin-bottom: 33px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-34 {
    margin-bottom: 34px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-34 {
    margin-bottom: 34px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-35 {
    margin-bottom: 35px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-35 {
    margin-bottom: 35px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-36 {
    margin-bottom: 36px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-36 {
    margin-bottom: 36px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-37 {
    margin-bottom: 37px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-37 {
    margin-bottom: 37px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-38 {
    margin-bottom: 38px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-38 {
    margin-bottom: 38px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-39 {
    margin-bottom: 39px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-39 {
    margin-bottom: 39px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-40 {
    margin-bottom: 40px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-40 {
    margin-bottom: 40px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-41 {
    margin-bottom: 41px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-41 {
    margin-bottom: 41px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-42 {
    margin-bottom: 42px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-42 {
    margin-bottom: 42px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-43 {
    margin-bottom: 43px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-43 {
    margin-bottom: 43px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-44 {
    margin-bottom: 44px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-44 {
    margin-bottom: 44px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-45 {
    margin-bottom: 45px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-45 {
    margin-bottom: 45px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-46 {
    margin-bottom: 46px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-46 {
    margin-bottom: 46px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-47 {
    margin-bottom: 47px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-47 {
    margin-bottom: 47px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-48 {
    margin-bottom: 48px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-48 {
    margin-bottom: 48px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-49 {
    margin-bottom: 49px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-49 {
    margin-bottom: 49px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-50 {
    margin-bottom: 50px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-50 {
    margin-bottom: 50px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-51 {
    margin-bottom: 51px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-51 {
    margin-bottom: 51px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-52 {
    margin-bottom: 52px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-52 {
    margin-bottom: 52px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-53 {
    margin-bottom: 53px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-53 {
    margin-bottom: 53px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-54 {
    margin-bottom: 54px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-54 {
    margin-bottom: 54px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-55 {
    margin-bottom: 55px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-55 {
    margin-bottom: 55px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-56 {
    margin-bottom: 56px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-56 {
    margin-bottom: 56px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-57 {
    margin-bottom: 57px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-57 {
    margin-bottom: 57px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-58 {
    margin-bottom: 58px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-58 {
    margin-bottom: 58px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-59 {
    margin-bottom: 59px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-59 {
    margin-bottom: 59px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-60 {
    margin-bottom: 60px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-60 {
    margin-bottom: 60px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-61 {
    margin-bottom: 61px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-61 {
    margin-bottom: 61px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-62 {
    margin-bottom: 62px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-62 {
    margin-bottom: 62px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-63 {
    margin-bottom: 63px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-63 {
    margin-bottom: 63px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-64 {
    margin-bottom: 64px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-64 {
    margin-bottom: 64px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-65 {
    margin-bottom: 65px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-65 {
    margin-bottom: 65px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-66 {
    margin-bottom: 66px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-66 {
    margin-bottom: 66px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-67 {
    margin-bottom: 67px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-67 {
    margin-bottom: 67px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-68 {
    margin-bottom: 68px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-68 {
    margin-bottom: 68px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-69 {
    margin-bottom: 69px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-69 {
    margin-bottom: 69px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-70 {
    margin-bottom: 70px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-70 {
    margin-bottom: 70px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-71 {
    margin-bottom: 71px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-71 {
    margin-bottom: 71px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-72 {
    margin-bottom: 72px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-72 {
    margin-bottom: 72px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-73 {
    margin-bottom: 73px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-73 {
    margin-bottom: 73px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-74 {
    margin-bottom: 74px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-74 {
    margin-bottom: 74px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-75 {
    margin-bottom: 75px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-75 {
    margin-bottom: 75px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-76 {
    margin-bottom: 76px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-76 {
    margin-bottom: 76px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-77 {
    margin-bottom: 77px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-77 {
    margin-bottom: 77px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-78 {
    margin-bottom: 78px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-78 {
    margin-bottom: 78px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-79 {
    margin-bottom: 79px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-79 {
    margin-bottom: 79px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-80 {
    margin-bottom: 80px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-80 {
    margin-bottom: 80px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-81 {
    margin-bottom: 81px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-81 {
    margin-bottom: 81px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-82 {
    margin-bottom: 82px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-82 {
    margin-bottom: 82px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-83 {
    margin-bottom: 83px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-83 {
    margin-bottom: 83px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-84 {
    margin-bottom: 84px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-84 {
    margin-bottom: 84px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-85 {
    margin-bottom: 85px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-85 {
    margin-bottom: 85px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-86 {
    margin-bottom: 86px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-86 {
    margin-bottom: 86px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-87 {
    margin-bottom: 87px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-87 {
    margin-bottom: 87px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-88 {
    margin-bottom: 88px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-88 {
    margin-bottom: 88px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-89 {
    margin-bottom: 89px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-89 {
    margin-bottom: 89px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-90 {
    margin-bottom: 90px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-90 {
    margin-bottom: 90px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-91 {
    margin-bottom: 91px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-91 {
    margin-bottom: 91px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-92 {
    margin-bottom: 92px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-92 {
    margin-bottom: 92px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-93 {
    margin-bottom: 93px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-93 {
    margin-bottom: 93px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-94 {
    margin-bottom: 94px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-94 {
    margin-bottom: 94px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-95 {
    margin-bottom: 95px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-95 {
    margin-bottom: 95px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-96 {
    margin-bottom: 96px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-96 {
    margin-bottom: 96px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-97 {
    margin-bottom: 97px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-97 {
    margin-bottom: 97px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-98 {
    margin-bottom: 98px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-98 {
    margin-bottom: 98px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-99 {
    margin-bottom: 99px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-99 {
    margin-bottom: 99px !important;
  }
}

@media screen and (min-width: 835px) {
  .mbpc-100 {
    margin-bottom: 100px !important;
  }
}

@media screen and (max-width: 834px) {
  .mbsp-100 {
    margin-bottom: 100px !important;
  }
}

.inner {
  display: block;
  width: 100%;
  max-width: 1030px;
  padding: 0 15px;
  margin: 0 auto;
}

.inner-1250 {
  max-width: 1280px;
}

.clearfix {
  *zoom: 1;
}

.clearfix:before {
  content: "";
  display: table;
}

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

a {
  color: inherit;
  text-decoration: none;
  -webkit-backface-visibility: hidden;
  -webkit-transition: all .3s ease;
  -o-transition: all .3s ease;
  transition: all .3s ease;
}

a:hover {
  opacity: 0.7;
}

@media screen and (min-width: 835px) {
  a[href^="tel"] {
    pointer-events: none;
  }
}

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

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

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

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

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

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

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

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

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

.ttl-comp01 {
  color: #ffffff;
  font-family: "Noto Serif", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝", "游明朝体", "ＭＳ 明朝", "MS Mincho", "HiraMinProN-W3", "TakaoEx明朝", TakaoExMincho, "MotoyaLCedar", "Droid Sans Japanese", serif;
}

.ttl-comp01 .txt-jp {
  font-size: 36px;
  font-size: 3.6rem;
  display: block;
  font-weight: bold;
  letter-spacing: 2px;
}

@media screen and (max-width: 834px) {
  .ttl-comp01 .txt-jp {
    font-size: 28px;
    font-size: 2.8rem;
  }
}

.ttl-comp01 .txt-en {
  font-size: 18px;
  font-size: 1.8rem;
  display: block;
  font-weight: 300;
  margin-top: 3px;
}

@media screen and (max-width: 834px) {
  .ttl-comp01 .txt-en {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.ttl-comp02 {
  color: #1eaa39;
  display: block;
  font-family: "Noto Serif", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝", "游明朝体", "ＭＳ 明朝", "MS Mincho", "HiraMinProN-W3", "TakaoEx明朝", TakaoExMincho, "MotoyaLCedar", "Droid Sans Japanese", serif;
  line-height: 1;
}

.ttl-comp02 .txt-en {
  display: inline-block;
  font-size: 48px;
  font-size: 4.8rem;
}

@media screen and (max-width: 834px) {
  .ttl-comp02 .txt-en {
    font-size: 34px;
    font-size: 3.4rem;
  }
}

.ttl-comp02 .txt-jp {
  font-size: 16px;
  font-size: 1.6rem;
  display: inline-block;
  margin-left: 16px;
  letter-spacing: 1px;
}

@media screen and (max-width: 834px) {
  .ttl-comp02 .txt-jp {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.ttl-comp02.white {
  color: #ffffff;
}

.ttl-comp03 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 92px;
}

@media screen and (max-width: 1024px) {
  .ttl-comp03 {
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 834px) {
  .ttl-comp03 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    margin-bottom: 35px;
  }
}

.ttl-comp03 .txt {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.75;
  font-weight: 700;
  color: #ffffff;
  display: inline-block;
  background: #1EAA39;
  padding: 22px 5px 22px calc((100vw - 1000px) / 2);
  width: 50%;
  position: relative;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 1200px) {
  .ttl-comp03 .txt {
    padding: 22px 5px 22px 15px;
  }
}

@media screen and (max-width: 834px) {
  .ttl-comp03 .txt {
    font-size: 16px;
    font-size: 1.6rem;
    width: 75%;
    margin-top: -20px;
  }
}

.ttl-comp03 .txt:after {
  content: '';
  width: 14.5%;
  height: 0;
  border-top: 100px solid #1EAA39;
  border-right: 50px solid transparent;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  left: 100%;
}

@media screen and (max-width: 834px) {
  .ttl-comp03 .txt:after {
    border-top-width: 72px;
    border-right-width: 50px;
    width: 5%;
  }
}

.ttl-comp03 .img {
  width: 50%;
}

@media screen and (max-width: 834px) {
  .ttl-comp03 .img {
    width: 100%;
  }
}

.ttl-comp04 {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.75;
  font-weight: 700;
  letter-spacing: 0.1em;
  color: #914897;
  margin-bottom: 30px;
}

@media screen and (max-width: 1024px) {
  .ttl-comp04 {
    font-size: 24px;
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 834px) {
  .ttl-comp04 {
    font-size: 16px;
    font-size: 1.6rem;
    width: 100%;
  }
}

@media screen and (max-width: 640px) {
  .ttl-comp04 {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 374px) {
  .ttl-comp04 {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.ttl-comp04 span {
  position: relative;
  padding-bottom: 12px;
  padding-right: 24px;
}

.ttl-comp04 span:before {
  content: '';
  height: calc(100% - 2px);
  background: #914897;
  width: 1px;
  -webkit-transform: rotate(27deg);
      -ms-transform: rotate(27deg);
          transform: rotate(27deg);
  position: absolute;
  right: -11px;
  bottom: -2px;
}

@media screen and (max-width: 834px) {
  .ttl-comp04 span:before {
    right: -7px;
  }
}

.ttl-comp04 span:after {
  content: '';
  height: 1px;
  width: calc(100% + ((100vw - 1000px)/ 2));
  background: #914897;
  position: absolute;
  bottom: 0;
  left: calc(-1*(100vw - 1000px) / 2);
}

@media screen and (max-width: 1024px) {
  .ttl-comp04 span:after {
    width: calc(100% + 15px);
    left: -15px;
  }
}

.ttl-comp05 {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.75;
  font-weight: 700;
  color: #ffffff;
  background: #914897;
  padding: 22px calc((100vw - 1000px) / 2) 22px 5px;
  position: relative;
  letter-spacing: 0.1em;
  margin-bottom: 22px;
  margin-left: 50px;
  display: block;
}

@media screen and (max-width: 1200px) {
  .ttl-comp05 {
    padding: 22px 5px 22px 15px;
  }
}

@media screen and (max-width: 990px) {
  .ttl-comp05 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 834px) {
  .ttl-comp05 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.ttl-comp05:before {
  content: '';
  width: 0;
  height: 0;
  border-bottom: 100px solid #914897;
  border-left: 50px solid transparent;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  right: 100%;
}

@media screen and (max-width: 990px) {
  .ttl-comp05:before {
    border-bottom-width: 75px;
    border-left-width: 50px;
  }
}

@media screen and (max-width: 834px) {
  .ttl-comp05:before {
    border-bottom-width: 72px;
  }
}

.ttl-comp05--reverse {
  margin-right: 50px;
  margin-left: 0;
  text-align: left;
  padding: 22px 5px 22px calc((100vw - 1000px) / 2);
}

@media screen and (max-width: 1200px) {
  .ttl-comp05--reverse {
    padding: 22px 5px 22px 15px;
  }
}

.ttl-comp05--reverse:before {
  border-top: 100px solid #914897;
  border-right: 50px solid transparent;
  border-left: none;
  right: auto;
  left: 100%;
  border-bottom: none;
}

@media screen and (max-width: 990px) {
  .ttl-comp05--reverse:before {
    border-top-width: 75px;
    border-right-width: 50px;
  }
}

@media screen and (max-width: 834px) {
  .ttl-comp05--reverse:before {
    border-top-width: 72px;
  }
}

.txt-basic {
  line-height: 1.75;
  font-size: 15px;
  font-size: 1.5rem;
}

@media screen and (max-width: 834px) {
  .txt-basic {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.6;
  }
}

.txt-basic--lg {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  font-weight: 500;
}

@media screen and (max-width: 834px) {
  .txt-basic--lg {
    font-size: 15px;
    font-size: 1.5rem;
  }
}

@media screen and (max-width: 640px) {
  .txt-basic--lg {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.txt-center {
  text-align: center;
}

.txt-right {
  text-align: right;
}

.txt-left {
  text-align: left;
}

.txt-bold {
  font-weight: 700;
}

.btn-center {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.btn-comp01 {
  width: 200px;
  height: 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid #333333;
  color: #333333;
  font-size: 16px;
  font-size: 1.6rem;
}

@media screen and (max-width: 834px) {
  .btn-comp01 {
    font-size: 14px;
    font-size: 1.4rem;
    width: 100%;
    max-width: 200px;
  }
}

.btn-comp01.green {
  border: 1px solid #1eaa39;
  color: #ffffff;
  background: #1eaa39;
}

.btn-comp01.white {
  color: #ffffff;
  border: 1px solid #ffffff;
}

.btn-comp02 {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.4;
  color: #FFFFFF;
  letter-spacing: 0.1em;
  font-weight: 700;
  min-width: 500px;
  padding: 15px 10px;
  background: #1EAA39;
  position: relative;
  text-align: center;
  display: inline-block;
}

@media screen and (max-width: 834px) {
  .btn-comp02 {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 640px) {
  .btn-comp02 {
    width: 100%;
    max-width: 500px;
    min-width: auto;
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.btn-comp02:after {
  content: '';
  width: 24px;
  height: 24px;
  background: url("../img/common/img-link.png") no-repeat center center;
  background-size: 100%;
  position: absolute;
  right: 20px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
}

@media screen and (max-width: 834px) {
  .btn-comp02:after {
    width: 15px;
    height: 15px;
    right: 10px;
  }
}

.box-contact-common {
  background: #914897;
  color: #ffffff;
  padding: 17px 54px 17px 52px;
  font-size: 15px;
  font-size: 1.5rem;
  display: inline-block;
  position: absolute;
  top: 0;
  right: -25px;
  z-index: 3;
  font-weight: bold;
}

.box-contact-common .num {
  font-size: 32px;
  font-size: 3.2rem;
  display: block;
}

@media screen and (max-width: 834px) {
  .box-contact-common {
    display: none;
  }
}

.skew-common-r, .sec-recruit .box-recruit {
  -webkit-transform: skew(-27deg);
      -ms-transform: skew(-27deg);
          transform: skew(-27deg);
}

.skew-common-r > *, .sec-recruit .box-recruit > * {
  -webkit-transform: skew(27deg);
      -ms-transform: skew(27deg);
          transform: skew(27deg);
}

@media screen and (max-width: 834px) {
  .skew-common-r, .sec-recruit .box-recruit {
    -webkit-transform: skew(0) !important;
        -ms-transform: skew(0) !important;
            transform: skew(0) !important;
  }
  .skew-common-r > *, .sec-recruit .box-recruit > * {
    -webkit-transform: skew(0) !important;
        -ms-transform: skew(0) !important;
            transform: skew(0) !important;
  }
}

.skew-common-r.fade-left, .sec-recruit .fade-left.box-recruit {
  -webkit-transform: translateX(20px) skew(-27deg);
      -ms-transform: translateX(20px) skew(-27deg);
          transform: translateX(20px) skew(-27deg);
}

.skew-common-r.fade-left > *, .sec-recruit .fade-left.box-recruit > * {
  -webkit-transform: skew(27deg);
      -ms-transform: skew(27deg);
          transform: skew(27deg);
}

.skew-common-r.fade-left.active, .sec-recruit .fade-left.active.box-recruit {
  -webkit-transform: skew(-27deg);
      -ms-transform: skew(-27deg);
          transform: skew(-27deg);
}

.skew-common-r.fade-left.active > *, .sec-recruit .fade-left.active.box-recruit > * {
  -webkit-transform: skew(27deg);
      -ms-transform: skew(27deg);
          transform: skew(27deg);
}

.skew-common-l {
  -webkit-transform: skew(27deg);
      -ms-transform: skew(27deg);
          transform: skew(27deg);
}

.skew-common-l > * {
  -webkit-transform: skew(-27deg);
      -ms-transform: skew(-27deg);
          transform: skew(-27deg);
}

@media screen and (max-width: 834px) {
  .skew-common-l {
    -webkit-transform: skew(0) !important;
        -ms-transform: skew(0) !important;
            transform: skew(0) !important;
  }
  .skew-common-l > * {
    -webkit-transform: skew(0) !important;
        -ms-transform: skew(0) !important;
            transform: skew(0) !important;
  }
}

.fade-up {
  -webkit-transform: translateY(20px);
      -ms-transform: translateY(20px);
          transform: translateY(20px);
  opacity: 0;
  -webkit-transition: opacity 1.2s, -webkit-transform 1.6s;
  transition: opacity 1.2s, -webkit-transform 1.6s;
  -o-transition: transform 1.6s, opacity 1.2s;
  transition: transform 1.6s, opacity 1.2s;
  transition: transform 1.6s, opacity 1.2s, -webkit-transform 1.6s;
}

.fade-up.active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: opacity 1.2s, -webkit-transform 1.6s;
  transition: opacity 1.2s, -webkit-transform 1.6s;
  -o-transition: transform 1.6s, opacity 1.2s;
  transition: transform 1.6s, opacity 1.2s;
  transition: transform 1.6s, opacity 1.2s, -webkit-transform 1.6s;
}

.fade-up.delay03s {
  -webkit-transition-delay: 0.3s;
       -o-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.fade-up.delay033s {
  -webkit-transition-delay: 0.33s;
       -o-transition-delay: 0.33s;
          transition-delay: 0.33s;
}

.fade-up.delay036s {
  -webkit-transition-delay: 0.36s;
       -o-transition-delay: 0.36s;
          transition-delay: 0.36s;
}

.fade-up.delay039s {
  -webkit-transition-delay: 0.39s;
       -o-transition-delay: 0.39s;
          transition-delay: 0.39s;
}

.fade-up.delay042s {
  -webkit-transition-delay: 0.42s;
       -o-transition-delay: 0.42s;
          transition-delay: 0.42s;
}

.fade-up.delay045s {
  -webkit-transition-delay: 0.45s;
       -o-transition-delay: 0.45s;
          transition-delay: 0.45s;
}

.fade-up.delay048s {
  -webkit-transition-delay: 0.48s;
       -o-transition-delay: 0.48s;
          transition-delay: 0.48s;
}

.fade-up.delay05s {
  -webkit-transition-delay: 0.5s;
       -o-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.fade-up.delay051s {
  -webkit-transition-delay: 0.51s;
       -o-transition-delay: 0.51s;
          transition-delay: 0.51s;
}

.fade-up.delay054s {
  -webkit-transition-delay: 0.54s;
       -o-transition-delay: 0.54s;
          transition-delay: 0.54s;
}

.fade-up.delay057s {
  -webkit-transition-delay: 0.57s;
       -o-transition-delay: 0.57s;
          transition-delay: 0.57s;
}

.fade-up.delay06s {
  -webkit-transition-delay: 0.6s;
       -o-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.fade-up.delay063s {
  -webkit-transition-delay: 0.63s;
       -o-transition-delay: 0.63s;
          transition-delay: 0.63s;
}

.fade-up.delay066s {
  -webkit-transition-delay: 0.66s;
       -o-transition-delay: 0.66s;
          transition-delay: 0.66s;
}

.fade-up.delay069s {
  -webkit-transition-delay: 0.69s;
       -o-transition-delay: 0.69s;
          transition-delay: 0.69s;
}

.fade-up.delay07s {
  -webkit-transition-delay: 0.7s;
       -o-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.fade-up.delay072s {
  -webkit-transition-delay: 0.72s;
       -o-transition-delay: 0.72s;
          transition-delay: 0.72s;
}

.fade-up.delay075s {
  -webkit-transition-delay: 0.75s;
       -o-transition-delay: 0.75s;
          transition-delay: 0.75s;
}

.fade-up.delay078s {
  -webkit-transition-delay: 0.78s;
       -o-transition-delay: 0.78s;
          transition-delay: 0.78s;
}

.fade-up.delay081s {
  -webkit-transition-delay: 0.81s;
       -o-transition-delay: 0.81s;
          transition-delay: 0.81s;
}

.fade-up.delay084s {
  -webkit-transition-delay: 0.84s;
       -o-transition-delay: 0.84s;
          transition-delay: 0.84s;
}

.fade-up.delay087s {
  -webkit-transition-delay: 0.87s;
       -o-transition-delay: 0.87s;
          transition-delay: 0.87s;
}

.fade-up.delay09s {
  -webkit-transition-delay: 0.9s;
       -o-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.fade-up.delay093s {
  -webkit-transition-delay: 0.93s;
       -o-transition-delay: 0.93s;
          transition-delay: 0.93s;
}

.fade-up.delay096s {
  -webkit-transition-delay: 0.96s;
       -o-transition-delay: 0.96s;
          transition-delay: 0.96s;
}

.fade-up.delay099s {
  -webkit-transition-delay: 0.99s;
       -o-transition-delay: 0.99s;
          transition-delay: 0.99s;
}

.fade-up.delay102s {
  -webkit-transition-delay: 1.02s;
       -o-transition-delay: 1.02s;
          transition-delay: 1.02s;
}

.fade-up.delay105s {
  -webkit-transition-delay: 1.05s;
       -o-transition-delay: 1.05s;
          transition-delay: 1.05s;
}

.fade-up.delay108s {
  -webkit-transition-delay: 1.08s;
       -o-transition-delay: 1.08s;
          transition-delay: 1.08s;
}

.fade-up.delay11s {
  -webkit-transition-delay: 1.1s;
       -o-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

.fade-up.delay111s {
  -webkit-transition-delay: 1.11s;
       -o-transition-delay: 1.11s;
          transition-delay: 1.11s;
}

.fade-up.delay114s {
  -webkit-transition-delay: 1.14s;
       -o-transition-delay: 1.14s;
          transition-delay: 1.14s;
}

.fade-up.delay117s {
  -webkit-transition-delay: 1.17s;
       -o-transition-delay: 1.17s;
          transition-delay: 1.17s;
}

.fade-up.delay120s {
  -webkit-transition-delay: 1.2s;
       -o-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.fade-up.delay123s {
  -webkit-transition-delay: 1.23s;
       -o-transition-delay: 1.23s;
          transition-delay: 1.23s;
}

.fade-up.delay124s {
  -webkit-transition-delay: 1.24s;
       -o-transition-delay: 1.24s;
          transition-delay: 1.24s;
}

.fade-up.delay127s {
  -webkit-transition-delay: 1.27s;
       -o-transition-delay: 1.27s;
          transition-delay: 1.27s;
}

.fade-up.delay130s {
  -webkit-transition-delay: 1.3s;
       -o-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

.fade-up.delay133s {
  -webkit-transition-delay: 1.33s;
       -o-transition-delay: 1.33s;
          transition-delay: 1.33s;
}

.fade-up.delay136s {
  -webkit-transition-delay: 1.36s;
       -o-transition-delay: 1.36s;
          transition-delay: 1.36s;
}

.fade-up.delay139s {
  -webkit-transition-delay: 1.39s;
       -o-transition-delay: 1.39s;
          transition-delay: 1.39s;
}

.fade-up.delay142s {
  -webkit-transition-delay: 1.42s;
       -o-transition-delay: 1.42s;
          transition-delay: 1.42s;
}

.fade-up.delay145s {
  -webkit-transition-delay: 1.45s;
       -o-transition-delay: 1.45s;
          transition-delay: 1.45s;
}

.fade-up.delay148s {
  -webkit-transition-delay: 1.48s;
       -o-transition-delay: 1.48s;
          transition-delay: 1.48s;
}

.fade-up.delay150s {
  -webkit-transition-delay: 1.5s;
       -o-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.fade-up.delay151s {
  -webkit-transition-delay: 1.51s;
       -o-transition-delay: 1.51s;
          transition-delay: 1.51s;
}

.fade-up.delay154s {
  -webkit-transition-delay: 1.54s;
       -o-transition-delay: 1.54s;
          transition-delay: 1.54s;
}

.fade-up.delay157s {
  -webkit-transition-delay: 1.57s;
       -o-transition-delay: 1.57s;
          transition-delay: 1.57s;
}

.fade-up.delay160s {
  -webkit-transition-delay: 1.6s;
       -o-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

.fade-up.delay163s {
  -webkit-transition-delay: 1.63s;
       -o-transition-delay: 1.63s;
          transition-delay: 1.63s;
}

.fade-up.delay165s {
  -webkit-transition-delay: 1.65s;
       -o-transition-delay: 1.65s;
          transition-delay: 1.65s;
}

.fade-up.delay168s {
  -webkit-transition-delay: 1.68s;
       -o-transition-delay: 1.68s;
          transition-delay: 1.68s;
}

.fade-up.delay171s {
  -webkit-transition-delay: 1.71s;
       -o-transition-delay: 1.71s;
          transition-delay: 1.71s;
}

.fade-down {
  -webkit-transform: translateY(-20px);
      -ms-transform: translateY(-20px);
          transform: translateY(-20px);
  opacity: 0;
  -webkit-transition: opacity 1.2s, -webkit-transform 1.6s;
  transition: opacity 1.2s, -webkit-transform 1.6s;
  -o-transition: transform 1.6s, opacity 1.2s;
  transition: transform 1.6s, opacity 1.2s;
  transition: transform 1.6s, opacity 1.2s, -webkit-transform 1.6s;
}

.fade-down.active {
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  opacity: 1;
  -webkit-transition: opacity 1.2s, -webkit-transform 1.6s;
  transition: opacity 1.2s, -webkit-transform 1.6s;
  -o-transition: transform 1.6s, opacity 1.2s;
  transition: transform 1.6s, opacity 1.2s;
  transition: transform 1.6s, opacity 1.2s, -webkit-transform 1.6s;
}

.fade-down.delay03s {
  -webkit-transition-delay: 0.3s;
       -o-transition-delay: 0.3s;
          transition-delay: 0.3s;
}

.fade-down.delay033s {
  -webkit-transition-delay: 0.33s;
       -o-transition-delay: 0.33s;
          transition-delay: 0.33s;
}

.fade-down.delay036s {
  -webkit-transition-delay: 0.36s;
       -o-transition-delay: 0.36s;
          transition-delay: 0.36s;
}

.fade-down.delay039s {
  -webkit-transition-delay: 0.39s;
       -o-transition-delay: 0.39s;
          transition-delay: 0.39s;
}

.fade-down.delay042s {
  -webkit-transition-delay: 0.42s;
       -o-transition-delay: 0.42s;
          transition-delay: 0.42s;
}

.fade-down.delay045s {
  -webkit-transition-delay: 0.45s;
       -o-transition-delay: 0.45s;
          transition-delay: 0.45s;
}

.fade-down.delay048s {
  -webkit-transition-delay: 0.48s;
       -o-transition-delay: 0.48s;
          transition-delay: 0.48s;
}

.fade-down.delay05s {
  -webkit-transition-delay: 0.5s;
       -o-transition-delay: 0.5s;
          transition-delay: 0.5s;
}

.fade-down.delay051s {
  -webkit-transition-delay: 0.51s;
       -o-transition-delay: 0.51s;
          transition-delay: 0.51s;
}

.fade-down.delay054s {
  -webkit-transition-delay: 0.54s;
       -o-transition-delay: 0.54s;
          transition-delay: 0.54s;
}

.fade-down.delay057s {
  -webkit-transition-delay: 0.57s;
       -o-transition-delay: 0.57s;
          transition-delay: 0.57s;
}

.fade-down.delay06s {
  -webkit-transition-delay: 0.6s;
       -o-transition-delay: 0.6s;
          transition-delay: 0.6s;
}

.fade-down.delay063s {
  -webkit-transition-delay: 0.63s;
       -o-transition-delay: 0.63s;
          transition-delay: 0.63s;
}

.fade-down.delay066s {
  -webkit-transition-delay: 0.66s;
       -o-transition-delay: 0.66s;
          transition-delay: 0.66s;
}

.fade-down.delay069s {
  -webkit-transition-delay: 0.69s;
       -o-transition-delay: 0.69s;
          transition-delay: 0.69s;
}

.fade-down.delay07s {
  -webkit-transition-delay: 0.7s;
       -o-transition-delay: 0.7s;
          transition-delay: 0.7s;
}

.fade-down.delay072s {
  -webkit-transition-delay: 0.72s;
       -o-transition-delay: 0.72s;
          transition-delay: 0.72s;
}

.fade-down.delay075s {
  -webkit-transition-delay: 0.75s;
       -o-transition-delay: 0.75s;
          transition-delay: 0.75s;
}

.fade-down.delay078s {
  -webkit-transition-delay: 0.78s;
       -o-transition-delay: 0.78s;
          transition-delay: 0.78s;
}

.fade-down.delay081s {
  -webkit-transition-delay: 0.81s;
       -o-transition-delay: 0.81s;
          transition-delay: 0.81s;
}

.fade-down.delay084s {
  -webkit-transition-delay: 0.84s;
       -o-transition-delay: 0.84s;
          transition-delay: 0.84s;
}

.fade-down.delay087s {
  -webkit-transition-delay: 0.87s;
       -o-transition-delay: 0.87s;
          transition-delay: 0.87s;
}

.fade-down.delay09s {
  -webkit-transition-delay: 0.9s;
       -o-transition-delay: 0.9s;
          transition-delay: 0.9s;
}

.fade-down.delay093s {
  -webkit-transition-delay: 0.93s;
       -o-transition-delay: 0.93s;
          transition-delay: 0.93s;
}

.fade-down.delay096s {
  -webkit-transition-delay: 0.96s;
       -o-transition-delay: 0.96s;
          transition-delay: 0.96s;
}

.fade-down.delay099s {
  -webkit-transition-delay: 0.99s;
       -o-transition-delay: 0.99s;
          transition-delay: 0.99s;
}

.fade-down.delay102s {
  -webkit-transition-delay: 1.02s;
       -o-transition-delay: 1.02s;
          transition-delay: 1.02s;
}

.fade-down.delay105s {
  -webkit-transition-delay: 1.05s;
       -o-transition-delay: 1.05s;
          transition-delay: 1.05s;
}

.fade-down.delay108s {
  -webkit-transition-delay: 1.08s;
       -o-transition-delay: 1.08s;
          transition-delay: 1.08s;
}

.fade-down.delay11s {
  -webkit-transition-delay: 1.1s;
       -o-transition-delay: 1.1s;
          transition-delay: 1.1s;
}

.fade-down.delay111s {
  -webkit-transition-delay: 1.11s;
       -o-transition-delay: 1.11s;
          transition-delay: 1.11s;
}

.fade-down.delay114s {
  -webkit-transition-delay: 1.14s;
       -o-transition-delay: 1.14s;
          transition-delay: 1.14s;
}

.fade-down.delay117s {
  -webkit-transition-delay: 1.17s;
       -o-transition-delay: 1.17s;
          transition-delay: 1.17s;
}

.fade-down.delay120s {
  -webkit-transition-delay: 1.2s;
       -o-transition-delay: 1.2s;
          transition-delay: 1.2s;
}

.fade-down.delay123s {
  -webkit-transition-delay: 1.23s;
       -o-transition-delay: 1.23s;
          transition-delay: 1.23s;
}

.fade-down.delay124s {
  -webkit-transition-delay: 1.24s;
       -o-transition-delay: 1.24s;
          transition-delay: 1.24s;
}

.fade-down.delay127s {
  -webkit-transition-delay: 1.27s;
       -o-transition-delay: 1.27s;
          transition-delay: 1.27s;
}

.fade-down.delay130s {
  -webkit-transition-delay: 1.3s;
       -o-transition-delay: 1.3s;
          transition-delay: 1.3s;
}

.fade-down.delay133s {
  -webkit-transition-delay: 1.33s;
       -o-transition-delay: 1.33s;
          transition-delay: 1.33s;
}

.fade-down.delay136s {
  -webkit-transition-delay: 1.36s;
       -o-transition-delay: 1.36s;
          transition-delay: 1.36s;
}

.fade-down.delay139s {
  -webkit-transition-delay: 1.39s;
       -o-transition-delay: 1.39s;
          transition-delay: 1.39s;
}

.fade-down.delay142s {
  -webkit-transition-delay: 1.42s;
       -o-transition-delay: 1.42s;
          transition-delay: 1.42s;
}

.fade-down.delay145s {
  -webkit-transition-delay: 1.45s;
       -o-transition-delay: 1.45s;
          transition-delay: 1.45s;
}

.fade-down.delay148s {
  -webkit-transition-delay: 1.48s;
       -o-transition-delay: 1.48s;
          transition-delay: 1.48s;
}

.fade-down.delay150s {
  -webkit-transition-delay: 1.5s;
       -o-transition-delay: 1.5s;
          transition-delay: 1.5s;
}

.fade-down.delay151s {
  -webkit-transition-delay: 1.51s;
       -o-transition-delay: 1.51s;
          transition-delay: 1.51s;
}

.fade-down.delay154s {
  -webkit-transition-delay: 1.54s;
       -o-transition-delay: 1.54s;
          transition-delay: 1.54s;
}

.fade-down.delay157s {
  -webkit-transition-delay: 1.57s;
       -o-transition-delay: 1.57s;
          transition-delay: 1.57s;
}

.fade-down.delay160s {
  -webkit-transition-delay: 1.6s;
       -o-transition-delay: 1.6s;
          transition-delay: 1.6s;
}

.fade-down.delay163s {
  -webkit-transition-delay: 1.63s;
       -o-transition-delay: 1.63s;
          transition-delay: 1.63s;
}

.fade-down.delay165s {
  -webkit-transition-delay: 1.65s;
       -o-transition-delay: 1.65s;
          transition-delay: 1.65s;
}

.fade-down.delay168s {
  -webkit-transition-delay: 1.68s;
       -o-transition-delay: 1.68s;
          transition-delay: 1.68s;
}

.fade-down.delay171s {
  -webkit-transition-delay: 1.71s;
       -o-transition-delay: 1.71s;
          transition-delay: 1.71s;
}

.fade-left {
  -webkit-transform: translateX(20px);
      -ms-transform: translateX(20px);
          transform: translateX(20px);
  opacity: 0;
  -webkit-transition: opacity 1.0s, -webkit-transform 1.8s;
  transition: opacity 1.0s, -webkit-transform 1.8s;
  -o-transition: transform 1.8s, opacity 1.0s;
  transition: transform 1.8s, opacity 1.0s;
  transition: transform 1.8s, opacity 1.0s, -webkit-transform 1.8s;
}

.fade-left.active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
  -webkit-transition: opacity 1.0s, -webkit-transform 1.8s;
  transition: opacity 1.0s, -webkit-transform 1.8s;
  -o-transition: transform 1.8s, opacity 1.0s;
  transition: transform 1.8s, opacity 1.0s;
  transition: transform 1.8s, opacity 1.0s, -webkit-transform 1.8s;
}

.fade-right {
  -webkit-transform: translateX(-20px);
      -ms-transform: translateX(-20px);
          transform: translateX(-20px);
  opacity: 0;
  -webkit-transition: opacity 1.0s, -webkit-transform 1.8s;
  transition: opacity 1.0s, -webkit-transform 1.8s;
  -o-transition: transform 1.8s, opacity 1.0s;
  transition: transform 1.8s, opacity 1.0s;
  transition: transform 1.8s, opacity 1.0s, -webkit-transform 1.8s;
}

.fade-right.active {
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
  -webkit-transition: opacity 1.0s, -webkit-transform 1.8s;
  transition: opacity 1.0s, -webkit-transform 1.8s;
  -o-transition: transform 1.8s, opacity 1.0s;
  transition: transform 1.8s, opacity 1.0s;
  transition: transform 1.8s, opacity 1.0s, -webkit-transform 1.8s;
}

body {
  color: #333333;
  font-family: "Noto Sans JP", "ヒラギノ角ゴPro W6", "Hiragino Kaku Gothic Pro", Osaka, "Meiryo", "メイリオ", "MS Pゴシック", Arial, Helvetica, Verdana, sans-serif;
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
  line-height: 1.4;
  overflow-x: hidden;
}

.header {
  position: fixed;
  z-index: 999;
  top: 0;
  left: 0;
  right: 0;
  background: #1eaa39;
  height: 100px;
}

@media screen and (max-width: 990px) {
  .header {
    height: 69px;
  }
}

.header__logo {
  width: 290px;
  position: fixed;
  left: 0;
  top: 0;
}

@media screen and (max-width: 990px) {
  .header__logo {
    width: 200px;
  }
}

.header .box-contact-common {
  position: fixed;
  top: 0;
  padding: 17px 54px 17px 25px;
}

@media screen and (max-width: 990px) {
  .header .box-contact-common {
    display: none;
  }
}

@media screen and (max-width: 990px) {
  .header .header-nav {
    height: calc(100vh - 69px);
    overflow-y: scroll;
    position: fixed;
    padding-top: 50px;
    z-index: 33;
    width: 100%;
    background: #1eaa39;
    top: 69px;
    display: none;
  }
}

@media screen and (max-width: 990px) {
  .header .list-nav {
    display: block;
  }
}

@media screen and (max-width: 834px) {
  .header .list-nav .item {
    width: 100%;
    padding: 10px 0px;
  }
}

.header .list-nav .item {
  width: auto;
  padding: 18px 22px;
}

@media screen and (max-width: 1050px) {
  .header .list-nav .item {
    padding: 18px 10px;
  }
}

.header .list-nav .item a .txt-en {
  margin-top: 0;
}

.header .list-nav .item a .txt-jp {
  margin-bottom: 0;
}

.header .list-nav .item .img {
  margin-bottom: 0;
}

.header-control {
  width: 45px;
  height: 32px;
  position: relative;
  margin-bottom: 29px;
  display: none;
}

@media screen and (max-width: 990px) {
  .header-control {
    display: block;
    width: 41px;
    height: 29px;
    margin: 0 0 6px auto;
    position: fixed;
    top: 20px;
    right: 15px;
    z-index: 999;
  }
}

.header-control span {
  position: absolute;
  width: 100%;
  left: 0;
  height: 4px;
  background: #1eaa39;
  -webkit-transition: 0.3s all;
  -o-transition: 0.3s all;
  transition: 0.3s all;
}

@media screen and (max-width: 1024px) {
  .header-control span {
    height: 3px;
  }
}

.header-control span:first-child {
  top: 0;
}

.header-control span:nth-of-type(2) {
  top: 44%;
}

.header-control span:last-child {
  bottom: 0;
}

.header-control.control-page span {
  background: #ffffff;
}

.header-control.control-page span.close {
  background: #ffffff;
}

.header-control.close span {
  background: #ffffff;
}

.header-control.close span:first-child {
  top: 46%;
  -webkit-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
          transform: rotate(45deg);
}

.header-control.close span:nth-of-type(2) {
  opacity: 0;
}

.header-control.close span:last-child {
  bottom: 46%;
  -webkit-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
          transform: rotate(-45deg);
}

.header-index {
  background: #1eaa39;
  position: absolute;
  left: 0;
  right: 0;
  display: block;
  z-index: 333;
  bottom: 0;
}

@media screen and (max-width: 834px) {
  .header-index {
    height: 100vh;
    overflow-y: scroll;
    position: fixed;
    padding-top: 50px;
    top: 0;
    display: none;
  }
}

.header-index .list-nav {
  padding: 20px 0px;
}

.list-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 834px) {
  .list-nav {
    display: block;
  }
}

.list-nav .item {
  width: 25%;
  padding: 0px 25px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.list-nav .item.home {
  display: none;
}

@media screen and (max-width: 834px) {
  .list-nav .item {
    width: 100%;
    padding: 10px 0px;
  }

  .list-nav .item.home {
    display: flex;
  }
}

.list-nav .item a {
  display: inline-block;
  line-height: 1.1;
  font-weight: bold;
  text-align: center;
}

.list-nav .item a .img {
  display: block;
  height: 29px;
  text-align: center;
  margin-bottom: 10px;
}

.list-nav .item a .img img {
  display: inline-block;
}

.list-nav .item a .txt-jp {
  font-size: 18px;
  font-size: 1.8rem;
  display: block;
  margin-bottom: 3px;
  color: #fff000;
}

@media screen and (max-width: 834px) {
  .list-nav .item a .txt-jp {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.list-nav .item a .txt-en {
  font-size: 12px;
  font-size: 1.2rem;
  display: block;
  color: #ffffff;
  margin-top: 10px;
}

@media screen and (max-width: 834px) {
  .list-nav .item a .txt-en {
    font-size: 11px;
    font-size: 1.1rem;
  }
}

#footer {
  position: relative;
}

#footer:before, #footer:after {
  content: '';
  position: absolute;
  width: 150px;
  height: 300px;
  z-index: 1;
}

@media screen and (max-width: 834px) {
  #footer:before, #footer:after {
    width: 38px;
    height: 75px;
  }
}

#footer:before {
  top: 0;
  left: 0;
  background: url("../img/index/bg03.png") no-repeat center/cover;
}

#footer:after {
  bottom: 0;
  right: 0;
  background: url("../img/index/bg04.png") no-repeat center/cover;
}

#footer .footer {
  display: block;
  max-width: 418px;
  margin: auto;
  padding-top: 50px;
  padding-bottom: 45px;
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.43;
}

@media screen and (max-width: 834px) {
  #footer .footer {
    padding-left: 15px;
    padding-right: 15px;
  }
}

#footer .footer .logo-f {
  display: inline-block;
  margin-bottom: 15px;
}

@media screen and (max-width: 834px) {
  #footer .footer {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

#footer .footer .pl {
  padding-left: 90px;
}

@media screen and (max-width: 834px) {
  #footer .footer .pl {
    padding-left: 0;
    text-align: center;
  }
}

#footer .footer .tel {
  font-size: 15px;
  font-size: 1.5rem;
}

@media screen and (max-width: 834px) {
  #footer .footer .tel {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

#footer .footer .tel a {
  font-size: 20px;
  font-size: 2rem;
}

@media screen and (max-width: 834px) {
  #footer .footer .tel a {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

#footer .footer-nav {
  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;
  border-top: 1px solid #999999;
  position: relative;
  z-index: 2;
  padding: 30px 50px 30px 32px;
}

#footer .footer-gotop {
  position: fixed;
  right: 15px;
  bottom: 95px;
  display: none;
  z-index: 9;
}

#footer .footer-gotop a {
  display: inline-block;
}

@media screen and (max-width: 834px) {
  #footer .footer-nav {
    padding: 20px 15px;
    display: block;
  }

  #footer .footer-gotop {
    right: 10px;
  }

  #footer .footer-gotop img {
    width: 40px;
  }
}

#footer .coppyRight {
  font-size: 14px;
  font-size: 1.4rem;
}

@media screen and (max-width: 834px) {
  #footer .coppyRight {
    font-size: 13px;
    font-size: 1.3rem;
    text-align: center;
  }
}

#footer .list-nav-f {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 834px) {
  #footer .list-nav-f {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

#footer .list-nav-f .item a {
  font-size: 14px;
  font-size: 1.4rem;
  display: inline-block;
  line-height: 1.2;
  padding: 0px 22px;
  border-right: 1px solid #333333;
}

@media screen and (max-width: 834px) {
  #footer .list-nav-f .item a {
    font-size: 13px;
    font-size: 1.3rem;
    margin-bottom: 15px;
    padding: 0px 7px;
  }
}

#footer .list-nav-f .item:last-child a {
  border-right: 0;
}

html.no-scroll {
  overflow: hidden;
}

.sec-mv {
  position: relative;
}

.sec-mv__ico {
  position: absolute;
  top: 20px;
  z-index: 3;
  left: 30px;
}

@media screen and (max-width: 834px) {
  .sec-mv__ico {
    max-width: 100px;
  }
}

.sec-mv .logo-index {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
  left: -40px;
  top: 41%;
  height: 150px;
  width: 46%;
  max-width: 625px;
  background: rgba(255, 255, 255, 0.8);
  -webkit-transform: translateY(-50%) skew(-27deg);
      -ms-transform: translateY(-50%) skew(-27deg);
          transform: translateY(-50%) skew(-27deg);
  padding: 30px 35px 30px 7.5%;
}

@media screen and (max-width: 834px) {
  .sec-mv .logo-index {
    padding: 20px;
    height: auto;
    left: 50%;
    -webkit-transform: translate(-50%, -50%) !important;
        -ms-transform: translate(-50%, -50%) !important;
            transform: translate(-50%, -50%) !important;
    width: 80%;
    margin: auto;
    top: 45%;
  }
}

.sec-mv .logo-index a {
  display: inline-block;
  -webkit-transform: skew(27deg);
      -ms-transform: skew(27deg);
          transform: skew(27deg);
}

@media screen and (max-width: 834px) {
  .sec-mv .logo-index a {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
  }
}

.sec-mv .ttl {
  position: absolute;
  top: 50%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  top: 41%;
  right: 2%;
}

@media screen and (max-width: 834px) {
  .sec-mv .ttl {
    width: 90%;
    margin: auto;
    top: 60%;
  }
}

.sec-mv .slider-home .item {
  outline: none !important;
}

.sec-mv .slider-home .item img {
  height: 100vh;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: 'object-fit: cover;';
}

.sec-community {
  background: url("../img/index/bg01.jpg") no-repeat center/cover;
  padding: 109px 0px;
  overflow: hidden;
}

@media screen and (max-width: 834px) {
  .sec-community {
    padding: 50px 0px;
  }
}

.sec-community .box-style01 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

@media screen and (max-width: 834px) {
  .sec-community .box-style01 {
    display: block;
  }
}

.sec-community .box-style01 .btn-comp01 {
  margin-top: 43px;
}

@media screen and (max-width: 834px) {
  .sec-community .box-style01 .btn-comp01 {
    margin-top: 20px;
  }
}

.sec-community .box-style01__ttl {
  width: 40%;
}

@media screen and (max-width: 834px) {
  .sec-community .box-style01__ttl {
    width: 100%;
    text-align: center;
    margin-bottom: 20px;
  }
}

.sec-community .box-style01__cnt {
  width: 52%;
  background: rgba(255, 255, 255, 0.8);
  padding: 55px 0px 50px 12%;
  position: relative;
}

@media screen and (max-width: 834px) {
  .sec-community .box-style01__cnt {
    width: 100%;
    padding: 30px 15px;
  }
}

.sec-community .box-style01__cnt:after {
  content: '';
  position: absolute;
  top: 0;
  background: rgba(255, 255, 255, 0.8);
  bottom: 0;
  left: 100%;
  right: -1000px;
}

@media screen and (max-width: 834px) {
  .sec-community .box-style01__cnt:after {
    display: none;
  }
}

.sec-bussiness {
  padding: 148px 0px 151px;
  position: relative;
}

@media screen and (max-width: 834px) {
  .sec-bussiness {
    padding: 50px 0px 20px;
  }
}

.sec-bussiness:before, .sec-bussiness:after {
  content: '';
  position: absolute;
  width: 250px;
  height: 500px;
}

@media screen and (max-width: 1200px) {
  .sec-bussiness:before, .sec-bussiness:after {
    width: 125px;
    height: 250px;
  }
}

@media screen and (max-width: 834px) {
  .sec-bussiness:before, .sec-bussiness:after {
    width: 63px;
    height: 125px;
  }
}

.sec-bussiness:before {
  top: 0;
  left: 0;
  background: url("../img/index/bg01.png") no-repeat center/cover;
}

.sec-bussiness:after {
  bottom: 0;
  right: 0;
  background: url("../img/index/bg02.png") no-repeat center/cover;
}

.sec-bussiness .box-style02 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  color: #ffffff;
}

@media screen and (max-width: 834px) {
  .sec-bussiness .box-style02 {
    display: block;
    padding: 0px 15px;
  }
}

.sec-bussiness .box-style02 .ttl-comp02 {
  padding-left: 18%;
  margin-bottom: 23px;
}

@media screen and (max-width: 834px) {
  .sec-bussiness .box-style02 .ttl-comp02 {
    padding: 0;
    text-align: center;
  }
}

.sec-bussiness .box-style02__cnt {
  width: 50%;
}

@media screen and (max-width: 834px) {
  .sec-bussiness .box-style02__cnt {
    width: 100%;
    margin-bottom: 30px;
  }
}

.sec-bussiness .box-style02__cnt .cnt .cnt-detail {
  background: url("../img/index/img02.png");
  min-height: 260px;
  background-size: 100% 100%;
  padding: 78px calc((100vw - 1015px)/2) 30px 15%;
}

@media screen and (max-width: 1200px) {
  .sec-bussiness .box-style02__cnt .cnt .cnt-detail {
    padding-top: 40px !important;
  }
}

@media screen and (max-width: 834px) {
  .sec-bussiness .box-style02__cnt .cnt .cnt-detail {
    padding: 30px 15px !important;
    background: url("../img/index/img02.jpg");
    background-size: 100% 100%;
    position: relative;
    height: auto;
    min-height: inherit;
  }
  .sec-bussiness .box-style02__cnt .cnt .cnt-detail:after {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    background: rgba(30, 170, 57, 0.8);
  }
  .sec-bussiness .box-style02__cnt .cnt .cnt-detail > * {
    position: relative;
    z-index: 3;
  }
}

.sec-bussiness .box-style02__cnt .cnt .ttl-comp03 {
  color: #fff000;
  font-weight: bold;
  font-size: 24px;
  font-size: 2.4rem;
  text-align: center;
  letter-spacing: 2px;
  margin-bottom: 25px;
}

@media screen and (max-width: 834px) {
  .sec-bussiness .box-style02__cnt .cnt .ttl-comp03 {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

.sec-bussiness .box-style02__cnt--02 {
  padding-top: 30px;
}

@media screen and (max-width: 834px) {
  .sec-bussiness .box-style02__cnt--02 {
    padding-top: 0;
  }
}

.sec-bussiness .box-style02__cnt--01 .btn-comp01 {
  margin-left: auto;
  margin-right: 21.3%;
  margin-top: 43px;
}

@media screen and (max-width: 834px) {
  .sec-bussiness .box-style02__cnt--01 .btn-comp01 {
    margin: 20px auto 0px;
  }
}

.sec-bussiness .box-style02__cnt--01 .cnt .cnt-detail {
  background: url("../img/index/img01.png") no-repeat center/cover;
  background-size: 100% 100%;
  padding: 78px 15% 30px calc((100vw - 1015px)/2);
}

@media screen and (max-width: 834px) {
  .sec-bussiness .box-style02__cnt--01 .cnt .cnt-detail {
    background: url("../img/index/img01.jpg");
    background-size: cover;
  }
}

.sec-recruit {
  padding: 50px 0px 50px;
  margin-bottom: 50px;
}

@media screen and (max-width: 834px) {
  .sec-recruit {
    padding: 30% 0px 50px;
    margin-bottom: 0;
  }
}

.sec-recruit .box-recruit {
  background: #914897;
  width: 70%;
  display: block;
  max-width: 1000px;
  color: #ffffff;
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.55;
  margin-left: 63px;
  padding: 70px 15% 55px 59px;
  position: relative;
}

@media screen and (max-width: 1200px) {
  .sec-recruit .box-recruit {
    width: 60%;
    padding: 35px 15% 30px 60px;
  }
}

@media screen and (max-width: 834px) {
  .sec-recruit .box-recruit {
    font-size: 16px;
    font-size: 1.6rem;
    width: 100%;
    margin: auto;
    padding: 30px 15px;
  }
}

.sec-recruit .box-recruit .btn-comp01 {
  position: absolute;
  right: -79px;
  top: 24px;
}

@media screen and (max-width: 1200px) {
  .sec-recruit .box-recruit .btn-comp01 {
    position: static;
    margin: 20px auto 0px;
  }
}

@media screen and (max-width: 834px) {
  .sec-recruit .box-recruit .btn-comp01 {
    position: static;
    margin: 20px auto 0px;
  }
}

.sec-recruit .box-recruit .ttl-comp02 {
  padding-left: 55px;
  margin-bottom: 23px;
}

@media screen and (max-width: 834px) {
  .sec-recruit .box-recruit .ttl-comp02 {
    padding: 0;
    margin-bottom: 20px;
  }
}

.sec-recruit .fade-right {
  position: relative;
  z-index: 1;
}

.sec-recruit .img-right {
  position: absolute;
  right: 0;
  top: 0;
  width: 700px;
}

@media screen and (max-width: 834px) {
  .sec-recruit .img-right {
    width: 100%;
  }
}

.sec-mv01 {
  position: relative;
  margin-bottom: 100px;
}

@media screen and (max-width: 834px) {
  .sec-mv01 {
    margin-bottom: 50px;
  }
}

.sec-mv01__nomb {
  margin-bottom: 0;
}

@media screen and (max-width: 834px) {
  .sec-mv01 .img-mv img {
    min-height: 300px;
    -o-object-fit: cover;
       object-fit: cover;
    font-family: 'object-fit: cover;';
  }
}

.sec-mv01 .txt-mv {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  padding-top: 100px;
}

@media screen and (-ms-high-contrast: active) and (min-width: 1025px), screen and (-ms-high-contrast: none) and (min-width: 1025px) {
  .sec-mv01 .txt-mv {
    padding-right: calc( (100vw - 1030px) /2);
  }
}

@media screen and (max-width: 834px) {
  .sec-mv01 .txt-mv {
    margin-bottom: 50px;
  }
}

.sec-mv01 .ttl-mv {
  color: #ffffff;
}

.sec-mv01 .ttl-mv .jp {
  font-size: 32px;
  font-size: 3.2rem;
  line-height: 1.75;
  font-weight: 700;
  letter-spacing: 0.2em;
  display: inline-block;
  width: 100%;
}

@media screen and (max-width: 834px) {
  .sec-mv01 .ttl-mv .jp {
    /* font-size: 16px;
    font-size: 1.6rem; */
    font-size: 20px;
    font-size: 2.0rem;
  }
}

.sec-mv01 .ttl-mv .en {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: 300;
  line-height: 1.72;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 834px) {
  .sec-mv01 .ttl-mv .en {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.list-business {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  margin: 0 -25px 19px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 834px) {
  .list-business {
    margin: 0 -10px 0;
  }
}

.list-business .item {
  padding: 0 25px;
  width: 33.33%;
  margin-bottom: 55px;
}

@media screen and (max-width: 834px) {
  .list-business .item {
    width: 50%;
    padding: 0 10px;
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 640px) {
  .list-business .item {
    width: 100%;
    padding: 0;
  }
}

.list-business .item-img {
  margin-bottom: 18px;
}

.list-business .item-txt--ttl {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.33;
  font-weight: 700;
  color: #1EAA39;
  margin-bottom: 17px;
}

@media screen and (max-width: 834px) {
  .list-business .item-txt--ttl {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

.list-business .item .txt-basic {
  line-height: 1.6;
}

.txt-red {
  color: #ED1C24;
}

.txt-line {
  border-bottom: 2px solid #FFF000;
  display: inline;
}

.list-position {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 106px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media screen and (max-width: 834px) {
  .list-position {
    margin-bottom: 50px;
  }
}

.list-position .item-pos {
  padding: 15px 33px 15px 33px;
  background: #F2F2F2;
  width: calc( 50%  - 25px);
  margin-right: 50px;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

@media screen and (max-width: 834px) {
  .list-position .item-pos {
    width: calc( 50%  - 10px);
    margin-right: 20px;
    padding: 15px;
  }
}

@media screen and (max-width: 640px) {
  .list-position .item-pos {
    width: 100%;
    margin-right: 0;
    margin-bottom: 15px;
  }
}

.list-position .item-pos .item-pos__txt {
  text-align: left;
}

.list-position .item-pos:nth-child(2n) {
  margin-right: 0;
}

.list-position .item-pos__ttl {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.75;
  font-weight: 700;
  color: #914896;
  margin-bottom: 8px;
}

@media screen and (max-width: 834px) {
  .list-position .item-pos__ttl {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 834px) {
  .list-position .item-pos__img {
    width: 32px;
  }
}

.list-position .item-pos__txt {
  width: calc(100% - 44px);
  display: inline-block;
  padding-left: 35px;
}

@media screen and (max-width: 834px) {
  .list-position .item-pos__txt {
    padding-left: 15px;
  }
}

.list-position .item-pos__noflex {
  display: block;
  padding-top: 21px;
}

.list-position .item-pos__noflex .item-pos__img {
  margin-bottom: 15px;
}

@media screen and (max-width: 834px) {
  .list-position .item-pos__noflex .item-pos__img {
    width: auto;
  }
}

.sec-greeting {
  position: relative;
  padding: 87px 0 133px;
  overflow-x: hidden;
}

@media screen and (max-width: 1440px) {
  .sec-greeting {
    padding: 87px 13.5vw 133px;
  }
}

@media screen and (max-width: 1024px) {
  .sec-greeting {
    padding: 50px 13vw 50px;
  }
}

@media screen and (max-width: 640px) {
  .sec-greeting {
    padding: 35px 5vw 35px;
  }
}

.sec-greeting:before {
  content: '';
  width: 18vw;
  height: 36vw;
  background: url("../img/company/img-greeting01.png") no-repeat top left;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.sec-greeting:after {
  content: '';
  width: 18vw;
  height: 36vw;
  background: url("../img/company/img-greeting02.png") no-repeat bottom right;
  background-size: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
}

.sec-greeting .ttl-comp04 span:after {
  width: 99vw;
  left: auto;
  right: 0;
}

.sec-greeting .name-txt {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.75;
  letter-spacing: 0.35em;
  font-weight: 500;
  color: #333333;
  padding-right: 47px;
  font-family: "Noto Serif", YuMincho, "Yu Mincho", "ヒラギノ明朝 ProN", "Hiragino Mincho ProN", "游明朝", "游明朝体", "ＭＳ 明朝", "MS Mincho", "HiraMinProN-W3", "TakaoEx明朝", TakaoExMincho, "MotoyaLCedar", "Droid Sans Japanese", serif;
}

.sec-greeting .name-txt .name {
  font-size: 22px;
  font-size: 2.2rem;
}

@media screen and (max-width: 834px) {
  .sec-greeting .name-txt .name {
    font-size: 18px;
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 834px) {
  .sec-greeting .name-txt {
    font-size: 16px;
    font-size: 1.6rem;
    padding-right: 10px;
  }
}

.sec-greeting .box-greeting {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
}

@media screen and (max-width: 640px) {
  .sec-greeting .box-greeting {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}

.sec-greeting .box-greeting__des {
  width: calc(100% - 250px);
  padding-right: 45px;
}

@media screen and (max-width: 834px) {
  .sec-greeting .box-greeting__des {
    width: calc(100% - 120px);
    padding-right: 15px;
  }
}

@media screen and (max-width: 640px) {
  .sec-greeting .box-greeting__des {
    width: 100%;
    padding-right: 0;
  }
}

.sec-greeting .box-greeting__img {
  width: 250px;
  margin-top: 6px;
}

@media screen and (max-width: 834px) {
  .sec-greeting .box-greeting__img {
    width: 120px;
  }
}

@media screen and (max-width: 640px) {
  .sec-greeting .box-greeting__img {
    width: 100%;
    margin-bottom: 15px;
  }
  .sec-greeting .box-greeting__img img {
    width: 100%;
  }
}

.sec-greeting .box-greeting .txt-basic {
  letter-spacing: 0.05em;
  margin-bottom: 26px;
}

.sec-contribution {
  padding: 86px 0 119px;
  margin-bottom: 87px;
  background: url("../img/company/img-bg.jpg") no-repeat center center;
  background-size: cover;
}

@media screen and (max-width: 834px) {
  .sec-contribution {
    padding: 50px 0 50px;
    margin-bottom: 50px;
  }
}

.sec-contribution .txt-basic--lg {
  margin-bottom: 56px;
}

@media screen and (max-width: 834px) {
  .sec-contribution .txt-basic--lg {
    margin-bottom: 50px;
  }
}

.list-img {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 -24px;
}

@media screen and (max-width: 834px) {
  .list-img {
    margin: 0 -12px;
  }
}

@media screen and (max-width: 640px) {
  .list-img {
    margin: 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.list-img .item {
  width: 33.33%;
  padding: 0 24px;
}

@media screen and (max-width: 834px) {
  .list-img .item {
    padding: 0 12px;
  }
}

@media screen and (max-width: 640px) {
  .list-img .item {
    width: 100%;
    padding: 0;
    margin-bottom: 15px;
  }
  .list-img .item:last-child {
    margin-bottom: 0;
  }
}

.dl-common dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-bottom: 1px solid #999999;
  padding: 19px 20px;
  line-height: 1.6;
}

@media screen and (max-width: 834px) {
  .dl-common dl {
    padding: 15px 10px;
  }
}

@media screen and (max-width: 640px) {
  .dl-common dl {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 10px 10px;
  }
}

.dl-common dl:first-child {
  border-top: 1px solid #999999;
}

.dl-common dl dt {
  width: 250px;
}

@media screen and (max-width: 834px) {
  .dl-common dl dt {
    width: 200px;
  }
}

@media screen and (max-width: 640px) {
  .dl-common dl dt {
    width: 100%;
    margin-bottom: 15px;
  }
}

.dl-common dl dd {
  width: calc(100% - 250px);
}

@media screen and (max-width: 834px) {
  .dl-common dl dd {
    width: calc(100% - 200px);
  }
}

@media screen and (max-width: 640px) {
  .dl-common dl dd {
    width: 100%;
  }
}

.dl-common dl dd ul {
  list-style-type: disc;
}

.dl-common dl dd ul li {
  padding-left: 5px;
}

.dl-common dl dd ul li::marker {
  content: "•";
  margin: 0 .5rem 0 0;
  color: #333333;
}

.box-overview {
  margin-bottom: 48px;
}

@media screen and (max-width: 834px) {
  .box-overview {
    margin-bottom: 45px;
  }
}

.box-brand {
  margin-bottom: 96px;
}

@media screen and (max-width: 834px) {
  .box-brand {
    margin-bottom: 50px;
  }
}

.box-brand .list-brands {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin: 0 -24px;
}

@media screen and (max-width: 834px) {
  .box-brand .list-brands {
    margin: 0 -12px;
  }
}

@media screen and (max-width: 640px) {
  .box-brand .list-brands {
    margin: 0;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.box-brand .list-brands .item {
  width: 33.33%;
  padding: 0 24px;
}

@media screen and (max-width: 834px) {
  .box-brand .list-brands .item {
    padding: 0 12px;
  }
}

@media screen and (max-width: 640px) {
  .box-brand .list-brands .item {
    width: 100%;
    padding: 0;
    margin-top: 25px;
  }
}

.box-brand .list-brands .item-img {
  margin-bottom: 5px;
}

.box-brand .list-brands .item .txt {
  text-align: center;
}

.list-clients {
  list-style-type: disc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

.list-clients .item {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #333333;
  width: 25%;
  padding: 0 13px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  position: relative;
}

@media screen and (max-width: 834px) {
  .list-clients .item {
    font-size: 14px;
    font-size: 1.4rem;
    width: 33.33%;
  }
}

@media screen and (max-width: 640px) {
  .list-clients .item {
    width: 50%;
    padding: 0 5px;
    font-size: 12px;
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 374px) {
  .list-clients .item {
    font-size: 10px;
    font-size: 1rem;
  }
}

.list-clients .item:before {
  content: "•";
  margin: 0 .5rem 0 0;
  color: #1EAA39;
  font-size: 30px;
  line-height: 1;
  position: absolute;
  top: calc(50% - 3px);
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  left: 0;
}

@media screen and (max-width: 834px) {
  .list-clients .item:before {
    font-size: 15px;
    font-size: 1.5rem;
    left: -5px;
  }
}

.box-permission {
  margin-bottom: 85px;
}

.box-permission .dl-common dd a {
  padding: 0.1em 1.8em 0.1em 0;
  display: inline-block;
  background-image: url(../img/company/cmm_icn_pdf.svg);
  background-repeat: no-repeat;
  background-position: right top .3em;
  background-size: 1.2em;
}

@media screen and (max-width: 834px) {
  .box-permission {
    margin-bottom: 50px;
  }
}

.box-client {
  margin-bottom: 90px;
}

@media screen and (max-width: 834px) {
  .box-client {
    margin-bottom: 50px;
  }
}

.manific .mfp-iframe-scaler {
  width: 800px;
  padding-top: 800px;
}

.manific .mfp-iframe-scaler img {
  width: 100%;
}

@media screen and (max-width: 1024px) {
  .manific .mfp-iframe-scaler {
    width: 100%;
    padding-top: 100%;
  }
}

.box-maps iframe {
  width: 100%;
  vertical-align: bottom;
}

.txt-others {
  font-size: 13px;
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1.6;
}

.sec-recruits {
  margin-bottom: 103px;
}

@media screen and (max-width: 834px) {
  .sec-recruits {
    margin-bottom: 50px;
  }
}

.sec-recruits .box-recruits {
  margin-bottom: 100px;
}

@media screen and (max-width: 834px) {
  .sec-recruits .box-recruits {
    margin-bottom: 50px;
  }
}

.sec-recruits .box-voice {
  margin-bottom: 140px;
}

@media screen and (max-width: 834px) {
  .sec-recruits .box-voice {
    margin-bottom: 50px;
  }
}

.list-recruit {
  overflow-x: hidden;
}

.list-recruit .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  margin-bottom: 76px;
}

@media screen and (max-width: 834px) {
  .list-recruit .item {
    margin-bottom: 50px;
  }
}

@media screen and (max-width: 640px) {
  .list-recruit .item {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.list-recruit .item:last-child {
  margin-bottom: 0;
}

.list-recruit .item-img {
  width: 50%;
}

@media screen and (max-width: 640px) {
  .list-recruit .item-img {
    width: 100%;
    margin-bottom: 25px;
  }
}

.list-recruit .item-txt {
  width: 50%;
}

.list-recruit .ttl-comp05::after {
  content: '';
  position: absolute;
  right: 1px;
  top: 0;
  transform: translate(100%, 0);
  z-index: -1;
  display: block;
  width: 99px;
  width: calc((109vw - 100%) / 2);
  height: 100%;
  background-color: inherit;
}

.list-recruit .ttl-comp05--reverse::after {
  left: 1px;
  right: auto;
  transform: translate(-100%, 0);
}



@media screen and (max-width: 640px) {
  .list-recruit .item-txt {
    width: 100%;
    padding: 0 15px;
  }
}

.list-recruit .item-txt__mt {
  margin-top: 100px;
}

@media screen and (max-width: 834px) {
  .list-recruit .item-txt__mt {
    margin-top: 0;
  }
}

.list-recruit .item .txt-basic {
  padding-right: calc((100vw - 1000px) / 2);
}

@media screen and (max-width: 1024px) {
  .list-recruit .item .txt-basic {
    padding-right: 15px;
  }
}

@media screen and (max-width: 640px) {
  .list-recruit .item .txt-basic {
    padding-right: 0;
  }
}

.list-recruit .item:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.list-recruit .item:nth-child(2n) .txt-basic {
  padding-left: calc((100vw - 1000px) / 2);
  padding-right: 0;
}

@media screen and (max-width: 1024px) {
  .list-recruit .item:nth-child(2n) .txt-basic {
    padding-left: 15px;
  }
}

@media screen and (max-width: 640px) {
  .list-recruit .item:nth-child(2n) .txt-basic {
    padding-left: 0;
  }
}

.box-voice__main {
  position: relative;
  margin-bottom: 70px;
}

@media screen and (max-width: 834px) {
  .box-voice__main {
    margin-bottom: 50px;
  }
}

.box-voice__main .ttl-comp05 {
  position: absolute;
  width: 46.2%;
  bottom: 0;
  right: 0;
  margin-bottom: 0;
}

.list-voice .item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 45px;
}

@media screen and (max-width: 640px) {
  .list-voice .item {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.list-voice .item:last-child {
  margin-bottom: 0;
}

.list-voice .item:nth-child(2n) {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.list-voice .item:nth-child(2n) .item-txt {
  padding-left: 0;
  padding-right: 12px;
}

@media screen and (max-width: 640px) {
  .list-voice .item:nth-child(2n) .item-txt {
    padding-left: 0;
  }
}

.list-voice .item:nth-child(2n) .item-txt .txt-basic--lg {
  margin-left: 0;
  margin-right: 105px;
}

@media screen and (max-width: 1024px) {
  .list-voice .item:nth-child(2n) .item-txt .txt-basic--lg {
    margin-right: 15.5vw;
  }
}

.list-voice .item:nth-child(2n) .item-txt .txt-basic--lg:before {
  top: -2px;
  bottom: auto;
  right: -102px;
  background: url("../img/recruit/img-arr01.png") no-repeat left top;
  background-size: 100%;
  left: auto;
}

@media screen and (max-width: 1024px) {
  .list-voice .item:nth-child(2n) .item-txt .txt-basic--lg:before {
    right: -9.7vw;
    top: -1.5px;
  }
}

@media screen and (max-width: 640px) {
  .list-voice .item:nth-child(2n) .item-txt .txt-basic--lg:before {
    right: -14.8vw;
    top: -0.35vw;
  }
}

.list-voice .item-img {
  width: 60%;
}

@media screen and (max-width: 834px) {
  .list-voice .item-img {
    width: 50%;
  }
}

@media screen and (max-width: 640px) {
  .list-voice .item-img {
    width: 100%;
    margin-bottom: 25px;
  }
}

.list-voice .item-txt {
  width: 40%;
  padding-left: 12px;
}

@media screen and (max-width: 834px) {
  .list-voice .item-txt {
    width: 50%;
  }
}

@media screen and (max-width: 640px) {
  .list-voice .item-txt {
    width: 100%;
  }
}

.list-voice .item-txt .txt-basic--lg {
  padding: 10px 0;
  border-top: 2px solid #914897;
  border-bottom: 2px solid #914897;
  position: relative;
  margin-left: 105px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  height: 200px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-weight: 400;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media screen and (max-width: 1024px) {
  .list-voice .item-txt .txt-basic--lg {
    margin-left: 10vw;
    height: 19vw;
    border-top-width: 1.5px;
    border-bottom-width: 1.5px;
  }
}

@media screen and (max-width: 640px) {
  .list-voice .item-txt .txt-basic--lg {
    border-top-width: 0.3vw;
    border-bottom-width: 0.3vw;
    height: 29vw;
    margin-left: 15vw;
  }
}

.list-voice .item-txt .txt-basic--lg:before {
  content: '';
  width: 106px;
  height: calc(100% + 2px);
  position: absolute;
  top: auto;
  bottom: -2px;
  left: -101px;
  background: url("../img/recruit/img-arr02.png") no-repeat right bottom;
  background-size: 100%;
}

@media screen and (max-width: 1024px) {
  .list-voice .item-txt .txt-basic--lg:before {
    width: 10vw;
    left: -9.7vw;
    bottom: -1.5px;
  }
}

@media screen and (max-width: 640px) {
  .list-voice .item-txt .txt-basic--lg:before {
    width: 15vw;
    left: -14.9vw;
    bottom: -0.3vw;
  }
}

@media screen and (max-width: 374px) {
  .list-voice .item-txt .txt-basic--lg:before {
    width: 15.5vw;
  }
}

.box-application {
  margin-bottom: 100px;
}

@media screen and (max-width: 834px) {
  .box-application {
    margin-bottom: 50px;
  }
}

.box-application .txt-note {
  margin-bottom: 27px;
}

.box-application .dl-common {
  margin-bottom: 45px;
}

@media screen and (min-width: 835px) {
  .box-application .dl-common dl dt {
    width: 200px;
  }
}

@media screen and (min-width: 835px) {
  .box-application .dl-common dl dd {
    width: calc(100% - 200px);
  }
}

.sec-contact {
  padding-bottom: 101px;
}

@media screen and (max-width: 834px) {
  .sec-contact {
    padding-bottom: 50px;
  }
}

.txt-yellow {
  color: #F7931E;
}

.box-contacttop {
  background: #F2F2F2;
  position: relative;
  padding: 87px 0 104px;
  margin-bottom: 85px;
  overflow-x: hidden;
}

@media screen and (max-width: 1440px) {
  .box-contacttop {
    padding: 87px 13.5vw 104px;
  }
}

@media screen and (max-width: 1024px) {
  .box-contacttop {
    padding: 50px 13vw 50px;
  }
}

@media screen and (max-width: 640px) {
  .box-contacttop {
    padding: 35px 3vw 35px;
  }
}

.box-contacttop:before {
  content: '';
  width: 14vw;
  height: 29vw;
  background: url("../img/contact/img-bg01.png") no-repeat top left;
  background-size: 100%;
  position: absolute;
  top: 0;
  left: 0;
}

.box-contacttop:after {
  content: '';
  width: 14vw;
  height: 29vw;
  background: url("../img/contact/img-bg02.png") no-repeat bottom right;
  background-size: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
}


.box-contacttop .ttl-comp04 span {
  display: inline-block;
}

.box-contacttop .ttl-comp04 span:after {
  width: 99vw;
  left: auto;
  right: 0;
}

@media screen and (max-width: 834px) {
  .box-contacttop {
    margin-bottom: 50px;
  }
}

.block-contact {
  padding: 46px 50px 36px;
  max-width: 717px;
  margin: 0 auto;
  text-align: center;
  position: relative;
}

@media screen and (max-width: 834px) {
  .block-contact {
    padding: 45px 15px 45px;
  }
}

.block-contact__wrap {
  position: relative;
  z-index: 2;
}

.block-contact:after {
  content: '';
  height: 100%;
  width: 100%;
  background: #FFFFFF;
  -webkit-transform: skew(-27deg);
      -ms-transform: skew(-27deg);
          transform: skew(-27deg);
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}

@media screen and (max-width: 1024px) {
  .block-contact:after {
    width: calc(100% - 30px);
    left: 15px;
    right: 15px;
  }
}

@media screen and (max-width: 834px) {
  .block-contact:after {
    -webkit-transform: skew(-15deg);
        -ms-transform: skew(-15deg);
            transform: skew(-15deg);
    width: calc(100% - 10px);
    left: 5px;
    right: 5px;
  }
}

.block-contact .ttl {
  font-size: 32px;
  font-size: 3.2rem;
  color: #333333;
  font-weight: 900;
  letter-spacing: 0.1em;
  margin-bottom: 4px;
}

@media screen and (max-width: 834px) {
  .block-contact .ttl {
    font-size: 16px;
    font-size: 1.6rem;
  }
}

.block-contact .phone {
  margin-bottom: -8px;
}

.block-contact .phone a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.block-contact .time-phone {
  font-weight: 900;
}

.block-contact .time-phone .phone__txt {
  font-size: 24px;
  font-size: 2.4rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #333333;
  margin-right: 8px;
}

@media screen and (max-width: 834px) {
  .block-contact .time-phone .phone__txt {
    font-size: 12px;
    font-size: 1.2rem;
  }
}

.block-contact .time-phone .number {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  color: #333333;
}

@media screen and (max-width: 834px) {
  .block-contact .time-phone .number {
    font-size: 18px;
    font-size: 1.8rem;
  }
}
.block-contact .time-phone .fax__txt {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 834px) {
  .block-contact .time-phone .fax__txt {
    margin-top: 6px;
    font-size: 12px;
    font-size: 1.2rem;
  }
}
.block-contact .time-phone .fax__number {
  display: inline-block;
  margin-bottom: 8px;
  font-size: 28px;
  font-size: 2.8rem;
}
@media screen and (max-width: 834px) {
  .block-contact .time-phone .fax__number {
    margin-top: 6px;
    font-size: 14px;
    font-size: 1.4rem;
  }
}
.block-contact .time-phone .time {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
  margin-bottom: 13px;
  font-weight: 400;
}

@media screen and (max-width: 834px) {
  .block-contact .time-phone .time {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.block-contact .time-phone .address {
  font-weight: 400;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 640px) {
  .block-contact .time-phone .address {
    font-size: 12px;
    font-size: 1.2rem;
    margin-left: -35px;
  }
}

.box-formcontact .txt-basic {
  line-height: 1.6;
}

.box-formcontact .form-contact .group-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-bottom: 1px;
  padding: 19.5px 0px;
  border-bottom: 1px dashed #B3B3B3;
}

.box-formcontact .form-contact .group-line:first-child {
  border-top: 1px dashed #B3B3B3;
}

.box-formcontact .form-contact .group-line:last-child {
  border-bottom: none;
}

@media screen and (max-width: 834px) {
  .box-formcontact .form-contact .group-line {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}

.box-formcontact .form-contact .group-line .btn-comp01 {
  margin-left: 50px;
  margin-right: 50px;
  cursor: pointer;
  font-family: inherit;
}

@media screen and (max-width: 834px) {
  .box-formcontact .form-contact .group-line .btn-comp01 {
    margin-left: 25px;
    margin-right: 25px;
  }
}

@media screen and (max-width: 640px) {
  .box-formcontact .form-contact .group-line .btn-comp01 {
    margin-top: 8px;
    margin-bottom: 8px;
  }
}

@media screen and (max-width: 640px) {
  .box-formcontact .form-contact .group-line .btn-comp01:last-child {
    /* margin-bottom: 0; */
  }
}

.box-formcontact .form-contact .group-line .btn-comp01.back {
  background: #E8F6EB;
  color: #1EAA39;
}

.box-formcontact .form-contact .group-line__pd {
  padding: 96px 0 0;
}

@media screen and (max-width: 834px) {
  .box-formcontact .form-contact .group-line__pd {
    padding: 50px 0 0;
  }
}

.box-formcontact .form-contact .th {
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.867;
  letter-spacing: 0.05em;
  font-weight: 900;
  width: 250px;
  padding-left: 31px;
}

@media screen and (max-width: 834px) {
  .box-formcontact .form-contact .th {
    font-size: 13px;
    font-size: 1.3rem;
    width: 100%;
    padding-left: 0;
    margin-bottom: 15px;
  }
}

.box-formcontact .form-contact .td {
  width: calc(100% - 250px);
  padding-right: 30px;
}

@media screen and (max-width: 834px) {
  .box-formcontact .form-contact .td {
    width: 100%;
    padding-right: 0;
  }
}

.box-formcontact .form-contact .td-wrap {
  margin-bottom: 10px;
  display: inline-block;
  width: 100%;
}

.box-formcontact .form-contact .td-wrap:last-child {
  margin-bottom: 0;
}

.box-formcontact .form-contact .td-wrap .txt-pdr {
  padding-right: 9px;
  font-weight: 900;
  font-size: 20px;
  font-size: 2rem;
}

.box-formcontact .form-contact input, .box-formcontact .form-contact select, .box-formcontact .form-contact textarea {
  -webkit-box-shadow: none;
          box-shadow: none;
  border: 1px solid #CCCCCC;
  outline: none;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: #F1EFEE;
  font-size: 15px;
  font-size: 1.5rem;
  line-height: 1.75;
  color: #939393;
  padding: 6px 10px;
}

@media screen and (max-width: 834px) {
  .box-formcontact .form-contact input, .box-formcontact .form-contact select, .box-formcontact .form-contact textarea {
    font-size: 13px;
    font-size: 1.3rem;
  }
}

.box-formcontact .form-contact input::-ms-expand, .box-formcontact .form-contact select::-ms-expand, .box-formcontact .form-contact textarea::-ms-expand {
  display: none;
}

.box-formcontact .form-contact input.w-40, .box-formcontact .form-contact select.w-40, .box-formcontact .form-contact textarea.w-40 {
  width: 300px;
}

@media screen and (max-width: 640px) {
  .box-formcontact .form-contact input.w-40, .box-formcontact .form-contact select.w-40, .box-formcontact .form-contact textarea.w-40 {
    width: 250px;
  }
}

.box-formcontact .form-contact input.w-full, .box-formcontact .form-contact select.w-full, .box-formcontact .form-contact textarea.w-full {
  width: 100%;
}

.box-formcontact .form-contact textarea.w-full {
  width: 100% !important;
}

.box-formcontact .form-contact input.w-80, .box-formcontact .form-contact select.w-80, .box-formcontact .form-contact textarea.w-80 {
  width: calc(100% - 70px);
}

.box-formcontact .form-contact input.w-auto, .box-formcontact .form-contact select.w-auto, .box-formcontact .form-contact textarea.w-auto {
  width: 200px;
}

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .box-formcontact .form-contact input {
    padding: 4px 10px 8px;
  }
}

.box-formcontact .form-contact select {
  position: relative;
  background: #F1EFEE url("../img/contact/img-select.png") no-repeat center right 10px;
  background-size: 15px 13px;
}

.box-formcontact .form-contact .txt-note {
  font-size: 12px;
  font-size: 1.2rem;
  line-height: 2.1875;
  font-weight: 500;
}

@media screen and (max-width: 834px) {
  .box-formcontact .form-contact .txt-note {
    font-size: 10px;
    font-size: 1rem;
  }
}

.box-formcontact .form-contact textarea {
  min-height: 248px;
}

/*# sourceMappingURL=maps/styles.css.map */
