.pc {
  display: flex !important;
}

.sp {
  display: none !important;
}

.tc {
  display: block !important;
}

.tb {
  display: none !important;
}

@media print, screen and (max-width: 1024px) {
  .tc {
    display: none !important;
  }
  .tb {
    display: block !important;
  }
}
@media only screen and (max-width: 640px) {
  .pc {
    display: none !important;
  }
  .sp {
    display: flex !important;
  }
}
@media print, screen and (min-width: 769px) {
  .pc-hide {
    display: none !important;
  }
}
@media only screen and (max-width: 640px) {
  .sp-hide {
    display: none !important;
  }
}
body {
  color: #3e3a39;
}

#wrapper {
  position: relative;
  width: 100%;
}

main {
  position: relative;
}

a {
  transition: opacity 0.2s;
}
a:hover {
  opacity: 0.8;
}

/* input */
input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=password],
select,
textarea {
  position: relative;
  background-color: transparent;
  border: 1px solid #E7E8E8;
  background-color: #E7E8E8;
  border-radius: 1rem;
  box-sizing: border-box;
  padding: 0.9rem 1.6rem;
  width: 100%;
  font-weight: normal;
  font-size: 1.8rem;
  line-height: 3rem;
  text-align: left;
  color: #000000;
  outline: none !important;
}
@media only screen and (max-width: 640px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=number],
  input[type=password],
  select,
  textarea {
    padding: 1.2rem 1.6rem;
    font-size: 2.4rem;
    line-height: 3.2rem;
  }
}

input[type=text],
input[type=email],
input[type=tel],
input[type=number],
input[type=password],
select {
  height: 4.8rem;
}
@media only screen and (max-width: 640px) {
  input[type=text],
  input[type=email],
  input[type=tel],
  input[type=number],
  input[type=password],
  select {
    height: 5.6rem;
  }
}

input[type=text]:focus,
input[type=email]:focus,
input[type=tel]:focus,
input[type=number]:focus,
input[type=password]:focus,
select:focus,
textarea:focus {
  border-color: #E7E8E8;
}

select {
  position: relative;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url(../img/select-down.svg);
  background-position: calc(100% - 1.2rem) 50%;
  background-size: 1rem 0.8rem;
  background-repeat: no-repeat;
  z-index: 0;
}
@media only screen and (max-width: 640px) {
  select {
    background-position: calc(100% - 1rem) 50%;
  }
}

picture,
figure,
.image_wrap {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

picture img,
figure img,
.image_wrap img {
  width: 100%;
}

.c-button {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 33.6rem;
  height: 6.5rem;
  background: #0068b7;
  border-radius: 5rem;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
}
.c-button::after {
  content: "";
  position: absolute;
  top: calc(50% - 1rem);
  right: 2rem;
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.315%22%20height%3D%2213.691%22%20viewBox%3D%220%200%2016.315%2013.691%22%3E%20%3Cg%20transform%3D%22translate(-1285.178%20-46.6)%22%3E%20%3Cpath%20d%3D%22M1294.647%2C48.014l5.431%2C5.431-5.431%2C5.431%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3Cline%20x1%3D%2213.901%22%20transform%3D%22translate(1286.178%2053.446)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;
}
.c-button-white {
  background: #fff;
  color: #0068b7;
}
.c-button-white::after {
  content: "";
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.315%22%20height%3D%2213.691%22%20viewBox%3D%220%200%2016.315%2013.691%22%3E%20%3Cg%20transform%3D%22translate(-1285.178%20-46.6)%22%3E%20%3Cpath%20d%3D%22M1294.647%2C48.014l5.431%2C5.431-5.431%2C5.431%22%20fill%3D%22none%22%20stroke%3D%22%230068b7%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3Cline%20x1%3D%2213.901%22%20transform%3D%22translate(1286.178%2053.446)%22%20fill%3D%22none%22%20stroke%3D%22%230068b7%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
}

@media only screen and (max-width: 640px) {
  .c-button {
    width: 50rem;
    height: 8.5rem;
    margin: 0 auto;
    font-size: 2.1rem;
  }
  .c-button::after {
    top: calc(50% - 1.8rem);
    right: 4.2rem;
    display: block;
    width: 3.2rem;
    height: 3.5rem;
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235.029%22%20height%3D%2228.786%22%20viewBox%3D%220%200%2035.029%2028.786%22%3E%20%3Cg%20transform%3D%22translate(-2944.296%20-3262.351)%22%3E%20%3Cpath%20d%3D%22M2964.932%2C3264.472l12.272%2C12.272-12.272%2C12.272%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%223%22%2F%3E%20%3Cline%20x1%3D%2231.407%22%20transform%3D%22translate(2945.796%203276.744)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%223%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E");
  }
  .c-button-white::after {
    background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2235.029%22%20height%3D%2228.786%22%20viewBox%3D%220%200%2035.029%2028.786%22%3E%20%3Cg%20transform%3D%22translate(-4891.193%20-1832.814)%22%3E%20%3Cpath%20d%3D%22M4911.829%2C1834.935l12.272%2C12.272-12.272%2C12.272%22%20fill%3D%22none%22%20stroke%3D%22%230068b7%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%223%22%2F%3E%20%3Cline%20x1%3D%2231.407%22%20transform%3D%22translate(4892.693%201847.207)%22%20fill%3D%22none%22%20stroke%3D%22%230068b7%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%223%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;
  }
}
.c-title .en {
  font-size: 45px;
  font-weight: 600;
  font-family: sans-serif;
  color: #abd1e8;
  letter-spacing: 0.08em;
  line-height: 1;
  display: block;
  margin-bottom: 8px;
}
@media only screen and (max-width: 640px) {
  .c-title .en {
    font-size: clamp(20px, 4rem, 45px);
  }
}
.c-title .en::first-letter {
  color: #0068b7;
}
.c-title .ja {
  font-size: 16px;
  letter-spacing: 0.08em;
}
.c-title-white .en, .c-title-white .ja {
  color: #fff;
}
.c-title-white .en::first-letter, .c-title-white .ja::first-letter {
  color: #fff;
}

@media only screen and (max-width: 640px) {
  .c-title .ja {
    font-size: clamp(14px, 1.6rem, 24px);
  }
}
.c-slide-images {
  pointer-events: none;
}
.c-slide-images .slide {
  display: flex;
  justify-content: flex-start;
  gap: 0 4.8rem;
  margin-right: 4.8rem;
}
.c-slide-images .item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 42rem;
}
.c-slide-images .item img {
  display: block;
  height: 100%;
  object-fit: contain;
}
.c-slide-images .item-3 img {
  height: 44.37%;
}

.c-slide-boxes {
  pointer-events: none;
}
.c-slide-boxes .slick-track {
  display: flex;
}
.c-slide-boxes .slide {
  width: 118.26vw;
  margin-right: 7rem;
}

@media only screen and (max-width: 640px) {
  .c-slide-images .item {
    height: 38.5rem;
  }
  .c-slide-boxes .slide {
    width: 150.53vw;
    margin-right: 4rem;
  }
}
.c-slide-vertical {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 1.5rem;
  width: 50rem;
  height: 119.6rem;
  transform: rotate(20.867deg);
  transform-origin: center;
  pointer-events: none;
}
.c-slide-vertical .vertical {
  width: 100%;
}
.c-slide-vertical .vertical .slide {
  width: 100% !important;
}
.c-slide-vertical .vertical .slide img {
  display: block;
  width: 100%;
  margin-bottom: 2.5rem;
  object-fit: contain;
}
.c-slide-vertical .reverse .slick-list {
  transform: rotate(180deg);
}
.c-slide-vertical .reverse .slick-list img {
  transform: rotate(180deg);
}

#mv {
  overflow: hidden;
  position: relative;
}
#mv::before {
  content: "";
  position: absolute;
  top: -16%;
  left: -26%;
  width: 131.039%;
  height: 51.7rem;
  background: url(../img/common/dec-1.png) center/cover no-repeat;
  z-index: -1;
}
#mv .cntInner {
  position: relative;
  display: flex;
  justify-content: flex-end;
  max-width: 1250px;
  margin: 0 auto;
  padding: 14rem 2rem 0;
}
#mv .cntInner .title {
  margin-bottom: 4.5rem;
  transform: skew(-9.85deg);
  color: #3e3a39;
  font-size: 4.9rem;
  font-weight: 900;
  line-height: 1.4;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
#mv .cntInner .title span {
  letter-spacing: -0.06em;
}

@media only screen and (max-width: 640px) {
  #mv::before {
    content: "";
    top: -3rem;
    left: -36rem;
    width: 106.2rem;
    height: 30.6rem;
  }
  #mv .cntInner {
    justify-content: flex-start;
    padding: 18.5rem 0 0 3.2rem;
  }
  #mv .cntInner .title {
    margin-bottom: 6rem;
    font-size: 3.5rem;
    letter-spacing: 0.03em;
  }
}
#aboutus {
  position: relative;
  padding-top: 13rem;
}
#aboutus::before {
  content: "";
  position: absolute;
  top: -28px;
  right: 0;
  width: 100%;
  max-width: 1366px;
  height: 82.5rem;
  background: url(../img/common/dec-2.png) top right/contain no-repeat;
  z-index: -1;
}
#aboutus .cntInner {
  width: 704px;
  max-width: calc(100% - 60px);
  margin: 0 auto 53px;
}
@media only screen and (max-width: 640px) {
  #aboutus .cntInner {
    width: 90%;
    max-width: unset;
  }
}
#aboutus .cntInner .cntTitle {
  margin-bottom: 36px;
}
#aboutus .cntInner .cntText-l {
  font-size: 3.6rem;
  font-size: clamp(30px, 3.6rem, 36px);
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.65;
  margin-bottom: 4rem;
}
#aboutus .cntInner .cntText {
  font-size: 1.8rem;
  font-size: clamp(15px, 1.8rem, 18px);
  font-weight: 500;
  line-height: 2.08;
  margin-bottom: 7rem;
}
@media only screen and (max-width: 640px) {
  #aboutus .cntInner .cntText {
    font-size: max(1.8rem, 14px);
  }
}

@media only screen and (max-width: 640px) {
  #aboutus {
    padding-top: 9rem;
  }
  #aboutus::before {
    top: -0.8rem;
    left: auto;
    right: 0;
    width: 36rem;
    height: 51.3rem;
    transform: none;
  }
  #aboutus .cntInner {
    margin: 0 auto 122px;
  }
  #aboutus .cntInner .cntTitle {
    margin-bottom: 28px;
  }
  #aboutus .cntInner .cntText-l {
    font-size: 3.6rem;
  }
  #aboutus .cntInner .cntText {
    font-size: max(2.1rem, 16px);
    line-height: 1.78;
    margin-bottom: 35px;
  }
}
#service {
  position: relative;
  padding: 11rem 3rem 11.8rem;
  overflow: hidden;
}
#service::before {
  content: "";
  position: absolute;
  bottom: -9.5rem;
  left: -31.65rem;
  width: 100%;
  max-width: 103rem;
  height: 64.67rem;
  background: url(../img/common/dec-3.png) bottom/contain no-repeat;
  z-index: -1;
}
#service .cntInner {
  max-width: 1366px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 0 5.41%;
  padding-left: 1.8rem;
}
#service .cntInner .cntImg {
  width: 44.72%;
}
#service .cntInner .cntImg img {
  width: 100%;
}
#service .cntInner .cntBox {
  margin-top: 2.6rem;
  width: 49.6%;
  min-width: 300px;
}
#service .cntInner .cntBox .cntTitle {
  margin-bottom: 3.2rem;
  max-width: 58rem;
}
#service .cntInner .cntBox .cntText-l {
  font-size: 2.4rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  line-height: 1.73;
  margin-bottom: 4rem;
  max-width: 58rem;
}
#service .cntInner .cntBox .cntText {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 2.085;
  margin-bottom: 7rem;
  max-width: 58rem;
}

@media only screen and (max-width: 640px) {
  #service {
    padding: 6rem 3rem 6.9rem;
  }
  #service::before {
    top: 29.5rem;
    left: -6.25vw;
    width: 106.25vw;
    height: 66.71vw;
  }
  #service .cntInner {
    flex-direction: column;
    gap: 7.5rem 0;
    padding-left: 0;
  }
  #service .cntInner .cntImg {
    max-width: 500px;
    width: 100%;
    margin: 0 auto;
  }
  #service .cntInner .cntImg img {
    width: 100%;
  }
  #service .cntInner .cntBox {
    margin-top: 0;
    margin-bottom: 0;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }
  #service .cntInner .cntBox .cntTitle {
    margin-bottom: 4.6rem;
    max-width: 100%;
  }
  #service .cntInner .cntBox .cntText-l {
    font-size: 2.8rem;
    line-height: 1.769;
    max-width: 100%;
  }
  #service .cntInner .cntBox .cntText {
    font-size: max(2.1rem, 16px);
    line-height: 1.78;
    margin-bottom: 4.6rem;
    max-width: 100%;
  }
}
#recruit {
  position: relative;
  padding: 0 30px;
  background: #0068b7;
  border-top-left-radius: 8rem;
  border-top-right-radius: 8rem;
  overflow: hidden;
}
#recruit .cntInner {
  position: relative;
  display: flex;
  justify-content: space-between;
  max-width: 1080px;
  margin: 8rem auto 7.2rem;
  z-index: 2;
}
#recruit .cntInner .cntBox {
  width: 57.7rem;
  padding-top: 2rem;
}
#recruit .cntInner .cntBox .cntTitle {
  margin-bottom: 48px;
}
#recruit .cntInner .cntBox .item {
  position: relative;
  display: block;
  margin-top: 21px;
  padding: 3.3rem 5.5rem 4rem;
  background: #fff;
  border-radius: 1.5rem;
  color: #3e3a39;
}
#recruit .cntInner .cntBox .item::before {
  content: "";
  position: absolute;
  top: 3rem;
  right: 2.2rem;
  width: 5.4rem;
  height: 5.4rem;
  background: #0068b7;
  border-radius: 50%;
}
#recruit .cntInner .cntBox .item::after {
  content: "";
  position: absolute;
  top: 5rem;
  right: 4.2rem;
  display: block;
  width: 1.3rem;
  height: 1.3rem;
  background: url("data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2216.315%22%20height%3D%2213.691%22%20viewBox%3D%220%200%2016.315%2013.691%22%3E%20%3Cg%20transform%3D%22translate(-1285.178%20-46.6)%22%3E%20%3Cpath%20d%3D%22M1294.647%2C48.014l5.431%2C5.431-5.431%2C5.431%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3Cline%20x1%3D%2213.901%22%20transform%3D%22translate(1286.178%2053.446)%22%20fill%3D%22none%22%20stroke%3D%22%23fff%22%20stroke-linecap%3D%22round%22%20stroke-miterlimit%3D%2210%22%20stroke-width%3D%222%22%2F%3E%20%3C%2Fg%3E%3C%2Fsvg%3E") center/contain no-repeat;
}
#recruit .cntInner .cntBox .item .en {
  display: block;
  color: #abd1e8;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.08em;
}
#recruit .cntInner .cntBox .item .en::first-letter {
  color: #0068b7;
}
#recruit .cntInner .cntBox .item .ja {
  margin-bottom: 1.5rem;
  font-size: 24px;
  font-weight: 600;
  letter-spacing: 0.03em;
}
#recruit .cntInner .cntBox .item .text {
  font-size: 1.8rem;
  font-weight: 500;
  letter-spacing: 0.08em;
}
#recruit .cntInner .cntBox-btn {
  flex-shrink: 0;
}
#recruit .cntBox-slide {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  max-width: 1078px;
  height: 100%;
  transform: translateX(-50%);
}
#recruit .cntBox-slide .inner {
  position: absolute;
  top: -15rem;
  right: -7.5rem;
  width: 46.29%;
}
#recruit .cntBox-slide .inner .slick-list {
  overflow: visible;
}

@media only screen and (max-width: 640px) {
  #recruit .cntInner {
    display: block;
    margin-top: 11rem;
  }
  #recruit .cntInner .cntBox {
    width: 100%;
    padding-top: 0;
  }
  #recruit .cntInner .cntBox .item {
    margin-top: 14px;
    padding: 2.4rem 15px 3.1rem;
  }
  #recruit .cntInner .cntBox .item::before {
    content: "";
    position: absolute;
    top: 3rem;
    right: 1.5rem;
    width: 6rem;
    height: 6rem;
  }
  #recruit .cntInner .cntBox .item::after {
    content: "";
    top: 5.2rem;
    right: 3.7rem;
    width: 1.5rem;
    height: 1.5rem;
  }
  #recruit .cntInner .cntBox .item .en {
    font-size: max(1.8rem, 16px);
  }
  #recruit .cntInner .cntBox .item .ja {
    font-size: max(2.8rem, 22px);
  }
  #recruit .cntInner .cntBox .item .text {
    font-size: max(2.1rem, 13px);
  }
  #recruit .cntInner .cntBox-btn {
    flex-shrink: 0;
    margin-top: 4.3rem;
  }
  #recruit .cntBox-slide .inner {
    top: -8.5rem;
    top: -8.74%;
    right: -1.93rem;
    width: 50rem;
    height: 123.04%;
  }
}/*# sourceMappingURL=style.css.map */