@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,700|Noto+Serif+JP&display=swap|Marcellus&display=swap");
[color-black-1] {
  color: rgba(0, 0, 0, 0.1) !important; }

[color-black-2] {
  color: rgba(0, 0, 0, 0.2) !important; }

[color-black-3] {
  color: rgba(0, 0, 0, 0.3) !important; }

[color-black-4] {
  color: rgba(0, 0, 0, 0.4) !important; }

[color-black-5] {
  color: rgba(0, 0, 0, 0.5) !important; }

[color-black-6] {
  color: rgba(0, 0, 0, 0.6) !important; }

[color-black-7] {
  color: rgba(0, 0, 0, 0.7) !important; }

[color-black-8] {
  color: rgba(0, 0, 0, 0.8) !important; }

[color-black-9] {
  color: rgba(0, 0, 0, 0.9) !important; }

[color-black] {
  color: black !important; }

[color-white-1] {
  color: rgba(255, 255, 255, 0.1) !important; }

[color-white-2] {
  color: rgba(255, 255, 255, 0.2) !important; }

[color-white-3] {
  color: rgba(255, 255, 255, 0.3) !important; }

[color-white-4] {
  color: rgba(255, 255, 255, 0.4) !important; }

[color-white-5] {
  color: rgba(255, 255, 255, 0.5) !important; }

[color-white-6] {
  color: rgba(255, 255, 255, 0.6) !important; }

[color-white-7] {
  color: rgba(255, 255, 255, 0.7) !important; }

[color-white-8] {
  color: rgba(255, 255, 255, 0.8) !important; }

[color-white-9] {
  color: rgba(255, 255, 255, 0.9) !important; }

[color-white] {
  color: white !important; }

[color-transparent] {
  color: rgba(0, 0, 0, 0) !important; }

[color-error] {
  color: #EF671A !important; }

[color-bg-1] {
  color: #F2EEE4 !important; }

[color-bg-2] {
  color: #FFFFFF !important; }

[color-brand-1] {
  color: #4A5472 !important; }

[color-brand-2] {
  color: #C7BCA2 !important; }

[color-brand-3] {
  color: #03334B !important; }

[color-brand-4] {
  color: #D9A51E !important; }

[bg-black-1] {
  background-color: rgba(0, 0, 0, 0.1) !important; }

[bg-black-2] {
  background-color: rgba(0, 0, 0, 0.2) !important; }

[bg-black-3] {
  background-color: rgba(0, 0, 0, 0.3) !important; }

[bg-black-4] {
  background-color: rgba(0, 0, 0, 0.4) !important; }

[bg-black-5] {
  background-color: rgba(0, 0, 0, 0.5) !important; }

[bg-black-6] {
  background-color: rgba(0, 0, 0, 0.6) !important; }

[bg-black-7] {
  background-color: rgba(0, 0, 0, 0.7) !important; }

[bg-black-8] {
  background-color: rgba(0, 0, 0, 0.8) !important; }

[bg-black-9] {
  background-color: rgba(0, 0, 0, 0.9) !important; }

[bg-black] {
  background-color: black !important; }

[bg-white-1] {
  background-color: rgba(255, 255, 255, 0.1) !important; }

[bg-white-2] {
  background-color: rgba(255, 255, 255, 0.2) !important; }

[bg-white-3] {
  background-color: rgba(255, 255, 255, 0.3) !important; }

[bg-white-4] {
  background-color: rgba(255, 255, 255, 0.4) !important; }

[bg-white-5] {
  background-color: rgba(255, 255, 255, 0.5) !important; }

[bg-white-6] {
  background-color: rgba(255, 255, 255, 0.6) !important; }

[bg-white-7] {
  background-color: rgba(255, 255, 255, 0.7) !important; }

[bg-white-8] {
  background-color: rgba(255, 255, 255, 0.8) !important; }

[bg-white-9] {
  background-color: rgba(255, 255, 255, 0.9) !important; }

[bg-white] {
  background-color: white !important; }

[bg-transparent] {
  background-color: rgba(0, 0, 0, 0) !important; }

[bg-error] {
  background-color: #EF671A !important; }

[bg-bg-1] {
  background-color: #F2EEE4 !important; }

[bg-bg-2] {
  background-color: #FFFFFF !important; }

[bg-brand-1] {
  background-color: #4A5472 !important; }

[bg-brand-2] {
  background-color: #C7BCA2 !important; }

[bg-brand-3] {
  background-color: #03334B !important; }

[bg-brand-4] {
  background-color: #D9A51E !important; }

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

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

@media screen and (max-width: 849.98px) {
  .min-md {
    display: none !important; } }

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

@media screen and (max-width: 1349.98px) {
  .min-xl {
    display: none !important; } }

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

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

@media screen and (min-width: 850px) {
  .max-md {
    display: none !important; } }

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

@media screen and (min-width: 1350px) {
  .max-xl {
    display: none !important; } }

.m-1 {
  margin: 1rem !important; }
.m-2 {
  margin: 2rem !important; }
.m-3 {
  margin: 3rem !important; }
.m-4 {
  margin: 4rem !important; }
.m-5 {
  margin: 5rem !important; }
.m-6 {
  margin: 6rem !important; }
.m-7 {
  margin: 7rem !important; }
.m-8 {
  margin: 8rem !important; }
.m-9 {
  margin: 9rem !important; }
.m-10 {
  margin: 10rem !important; }
.m-11 {
  margin: 11rem !important; }
.m-12 {
  margin: 12rem !important; }
.m-13 {
  margin: 13rem !important; }
.m-14 {
  margin: 14rem !important; }
.m-15 {
  margin: 15rem !important; }
.m-16 {
  margin: 16rem !important; }
.m-17 {
  margin: 17rem !important; }
.m-18 {
  margin: 18rem !important; }
.m-19 {
  margin: 19rem !important; }

.mt-1 {
  margin-top: 1rem !important; }
.mt-2 {
  margin-top: 2rem !important; }
.mt-3 {
  margin-top: 3rem !important; }
.mt-4 {
  margin-top: 4rem !important; }
.mt-5 {
  margin-top: 5rem !important; }
.mt-6 {
  margin-top: 6rem !important; }
.mt-7 {
  margin-top: 7rem !important; }
.mt-8 {
  margin-top: 8rem !important; }
.mt-9 {
  margin-top: 9rem !important; }
.mt-10 {
  margin-top: 10rem !important; }
.mt-11 {
  margin-top: 11rem !important; }
.mt-12 {
  margin-top: 12rem !important; }
.mt-13 {
  margin-top: 13rem !important; }
.mt-14 {
  margin-top: 14rem !important; }
.mt-15 {
  margin-top: 15rem !important; }
.mt-16 {
  margin-top: 16rem !important; }
.mt-17 {
  margin-top: 17rem !important; }
.mt-18 {
  margin-top: 18rem !important; }
.mt-19 {
  margin-top: 19rem !important; }

.mr-1 {
  margin-right: 1rem !important; }
.mr-2 {
  margin-right: 2rem !important; }
.mr-3 {
  margin-right: 3rem !important; }
.mr-4 {
  margin-right: 4rem !important; }
.mr-5 {
  margin-right: 5rem !important; }
.mr-6 {
  margin-right: 6rem !important; }
.mr-7 {
  margin-right: 7rem !important; }
.mr-8 {
  margin-right: 8rem !important; }
.mr-9 {
  margin-right: 9rem !important; }
.mr-10 {
  margin-right: 10rem !important; }
.mr-11 {
  margin-right: 11rem !important; }
.mr-12 {
  margin-right: 12rem !important; }
.mr-13 {
  margin-right: 13rem !important; }
.mr-14 {
  margin-right: 14rem !important; }
.mr-15 {
  margin-right: 15rem !important; }
.mr-16 {
  margin-right: 16rem !important; }
.mr-17 {
  margin-right: 17rem !important; }
.mr-18 {
  margin-right: 18rem !important; }
.mr-19 {
  margin-right: 19rem !important; }

.mb-1 {
  margin-bottom: 1rem !important; }
.mb-2 {
  margin-bottom: 2rem !important; }
.mb-3 {
  margin-bottom: 3rem !important; }
.mb-4 {
  margin-bottom: 4rem !important; }
.mb-5 {
  margin-bottom: 5rem !important; }
.mb-6 {
  margin-bottom: 6rem !important; }
.mb-7 {
  margin-bottom: 7rem !important; }
.mb-8 {
  margin-bottom: 8rem !important; }
.mb-9 {
  margin-bottom: 9rem !important; }
.mb-10 {
  margin-bottom: 10rem !important; }
.mb-11 {
  margin-bottom: 11rem !important; }
.mb-12 {
  margin-bottom: 12rem !important; }
.mb-13 {
  margin-bottom: 13rem !important; }
.mb-14 {
  margin-bottom: 14rem !important; }
.mb-15 {
  margin-bottom: 15rem !important; }
.mb-16 {
  margin-bottom: 16rem !important; }
.mb-17 {
  margin-bottom: 17rem !important; }
.mb-18 {
  margin-bottom: 18rem !important; }
.mb-19 {
  margin-bottom: 19rem !important; }

.ml-1 {
  margin-left: 1rem !important; }
.ml-2 {
  margin-left: 2rem !important; }
.ml-3 {
  margin-left: 3rem !important; }
.ml-4 {
  margin-left: 4rem !important; }
.ml-5 {
  margin-left: 5rem !important; }
.ml-6 {
  margin-left: 6rem !important; }
.ml-7 {
  margin-left: 7rem !important; }
.ml-8 {
  margin-left: 8rem !important; }
.ml-9 {
  margin-left: 9rem !important; }
.ml-10 {
  margin-left: 10rem !important; }
.ml-11 {
  margin-left: 11rem !important; }
.ml-12 {
  margin-left: 12rem !important; }
.ml-13 {
  margin-left: 13rem !important; }
.ml-14 {
  margin-left: 14rem !important; }
.ml-15 {
  margin-left: 15rem !important; }
.ml-16 {
  margin-left: 16rem !important; }
.ml-17 {
  margin-left: 17rem !important; }
.ml-18 {
  margin-left: 18rem !important; }
.ml-19 {
  margin-left: 19rem !important; }

.my-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }
.my-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important; }
.my-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }
.my-4 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important; }
.my-5 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important; }
.my-6 {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important; }
.my-7 {
  margin-top: 7rem !important;
  margin-bottom: 7rem !important; }
.my-8 {
  margin-top: 8rem !important;
  margin-bottom: 8rem !important; }
.my-9 {
  margin-top: 9rem !important;
  margin-bottom: 9rem !important; }
.my-10 {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important; }
.my-11 {
  margin-top: 11rem !important;
  margin-bottom: 11rem !important; }
.my-12 {
  margin-top: 12rem !important;
  margin-bottom: 12rem !important; }
.my-13 {
  margin-top: 13rem !important;
  margin-bottom: 13rem !important; }
.my-14 {
  margin-top: 14rem !important;
  margin-bottom: 14rem !important; }
.my-15 {
  margin-top: 15rem !important;
  margin-bottom: 15rem !important; }
.my-16 {
  margin-top: 16rem !important;
  margin-bottom: 16rem !important; }
.my-17 {
  margin-top: 17rem !important;
  margin-bottom: 17rem !important; }
.my-18 {
  margin-top: 18rem !important;
  margin-bottom: 18rem !important; }
.my-19 {
  margin-top: 19rem !important;
  margin-bottom: 19rem !important; }

.mx-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }
.mx-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important; }
.mx-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }
.mx-4 {
  margin-right: 4rem !important;
  margin-left: 4rem !important; }
.mx-5 {
  margin-right: 5rem !important;
  margin-left: 5rem !important; }
.mx-6 {
  margin-right: 6rem !important;
  margin-left: 6rem !important; }
.mx-7 {
  margin-right: 7rem !important;
  margin-left: 7rem !important; }
.mx-8 {
  margin-right: 8rem !important;
  margin-left: 8rem !important; }
.mx-9 {
  margin-right: 9rem !important;
  margin-left: 9rem !important; }
.mx-10 {
  margin-right: 10rem !important;
  margin-left: 10rem !important; }
.mx-11 {
  margin-right: 11rem !important;
  margin-left: 11rem !important; }
.mx-12 {
  margin-right: 12rem !important;
  margin-left: 12rem !important; }
.mx-13 {
  margin-right: 13rem !important;
  margin-left: 13rem !important; }
.mx-14 {
  margin-right: 14rem !important;
  margin-left: 14rem !important; }
.mx-15 {
  margin-right: 15rem !important;
  margin-left: 15rem !important; }
.mx-16 {
  margin-right: 16rem !important;
  margin-left: 16rem !important; }
.mx-17 {
  margin-right: 17rem !important;
  margin-left: 17rem !important; }
.mx-18 {
  margin-right: 18rem !important;
  margin-left: 18rem !important; }
.mx-19 {
  margin-right: 19rem !important;
  margin-left: 19rem !important; }

.p-1 {
  margin: 1rem !important; }
.p-2 {
  margin: 2rem !important; }
.p-3 {
  margin: 3rem !important; }
.p-4 {
  margin: 4rem !important; }
.p-5 {
  margin: 5rem !important; }
.p-6 {
  margin: 6rem !important; }
.p-7 {
  margin: 7rem !important; }
.p-8 {
  margin: 8rem !important; }
.p-9 {
  margin: 9rem !important; }
.p-10 {
  margin: 10rem !important; }
.p-11 {
  margin: 11rem !important; }
.p-12 {
  margin: 12rem !important; }
.p-13 {
  margin: 13rem !important; }
.p-14 {
  margin: 14rem !important; }
.p-15 {
  margin: 15rem !important; }
.p-16 {
  margin: 16rem !important; }
.p-17 {
  margin: 17rem !important; }
.p-18 {
  margin: 18rem !important; }
.p-19 {
  margin: 19rem !important; }

.pt-1 {
  margin-top: 1rem !important; }
.pt-2 {
  margin-top: 2rem !important; }
.pt-3 {
  margin-top: 3rem !important; }
.pt-4 {
  margin-top: 4rem !important; }
.pt-5 {
  margin-top: 5rem !important; }
.pt-6 {
  margin-top: 6rem !important; }
.pt-7 {
  margin-top: 7rem !important; }
.pt-8 {
  margin-top: 8rem !important; }
.pt-9 {
  margin-top: 9rem !important; }
.pt-10 {
  margin-top: 10rem !important; }
.pt-11 {
  margin-top: 11rem !important; }
.pt-12 {
  margin-top: 12rem !important; }
.pt-13 {
  margin-top: 13rem !important; }
.pt-14 {
  margin-top: 14rem !important; }
.pt-15 {
  margin-top: 15rem !important; }
.pt-16 {
  margin-top: 16rem !important; }
.pt-17 {
  margin-top: 17rem !important; }
.pt-18 {
  margin-top: 18rem !important; }
.pt-19 {
  margin-top: 19rem !important; }

.pr-1 {
  margin-right: 1rem !important; }
.pr-2 {
  margin-right: 2rem !important; }
.pr-3 {
  margin-right: 3rem !important; }
.pr-4 {
  margin-right: 4rem !important; }
.pr-5 {
  margin-right: 5rem !important; }
.pr-6 {
  margin-right: 6rem !important; }
.pr-7 {
  margin-right: 7rem !important; }
.pr-8 {
  margin-right: 8rem !important; }
.pr-9 {
  margin-right: 9rem !important; }
.pr-10 {
  margin-right: 10rem !important; }
.pr-11 {
  margin-right: 11rem !important; }
.pr-12 {
  margin-right: 12rem !important; }
.pr-13 {
  margin-right: 13rem !important; }
.pr-14 {
  margin-right: 14rem !important; }
.pr-15 {
  margin-right: 15rem !important; }
.pr-16 {
  margin-right: 16rem !important; }
.pr-17 {
  margin-right: 17rem !important; }
.pr-18 {
  margin-right: 18rem !important; }
.pr-19 {
  margin-right: 19rem !important; }

.pb-1 {
  margin-bottom: 1rem !important; }
.pb-2 {
  margin-bottom: 2rem !important; }
.pb-3 {
  margin-bottom: 3rem !important; }
.pb-4 {
  margin-bottom: 4rem !important; }
.pb-5 {
  margin-bottom: 5rem !important; }
.pb-6 {
  margin-bottom: 6rem !important; }
.pb-7 {
  margin-bottom: 7rem !important; }
.pb-8 {
  margin-bottom: 8rem !important; }
.pb-9 {
  margin-bottom: 9rem !important; }
.pb-10 {
  margin-bottom: 10rem !important; }
.pb-11 {
  margin-bottom: 11rem !important; }
.pb-12 {
  margin-bottom: 12rem !important; }
.pb-13 {
  margin-bottom: 13rem !important; }
.pb-14 {
  margin-bottom: 14rem !important; }
.pb-15 {
  margin-bottom: 15rem !important; }
.pb-16 {
  margin-bottom: 16rem !important; }
.pb-17 {
  margin-bottom: 17rem !important; }
.pb-18 {
  margin-bottom: 18rem !important; }
.pb-19 {
  margin-bottom: 19rem !important; }

.pl-1 {
  margin-left: 1rem !important; }
.pl-2 {
  margin-left: 2rem !important; }
.pl-3 {
  margin-left: 3rem !important; }
.pl-4 {
  margin-left: 4rem !important; }
.pl-5 {
  margin-left: 5rem !important; }
.pl-6 {
  margin-left: 6rem !important; }
.pl-7 {
  margin-left: 7rem !important; }
.pl-8 {
  margin-left: 8rem !important; }
.pl-9 {
  margin-left: 9rem !important; }
.pl-10 {
  margin-left: 10rem !important; }
.pl-11 {
  margin-left: 11rem !important; }
.pl-12 {
  margin-left: 12rem !important; }
.pl-13 {
  margin-left: 13rem !important; }
.pl-14 {
  margin-left: 14rem !important; }
.pl-15 {
  margin-left: 15rem !important; }
.pl-16 {
  margin-left: 16rem !important; }
.pl-17 {
  margin-left: 17rem !important; }
.pl-18 {
  margin-left: 18rem !important; }
.pl-19 {
  margin-left: 19rem !important; }

.py-1 {
  margin-top: 1rem !important;
  margin-bottom: 1rem !important; }
.py-2 {
  margin-top: 2rem !important;
  margin-bottom: 2rem !important; }
.py-3 {
  margin-top: 3rem !important;
  margin-bottom: 3rem !important; }
.py-4 {
  margin-top: 4rem !important;
  margin-bottom: 4rem !important; }
.py-5 {
  margin-top: 5rem !important;
  margin-bottom: 5rem !important; }
.py-6 {
  margin-top: 6rem !important;
  margin-bottom: 6rem !important; }
.py-7 {
  margin-top: 7rem !important;
  margin-bottom: 7rem !important; }
.py-8 {
  margin-top: 8rem !important;
  margin-bottom: 8rem !important; }
.py-9 {
  margin-top: 9rem !important;
  margin-bottom: 9rem !important; }
.py-10 {
  margin-top: 10rem !important;
  margin-bottom: 10rem !important; }
.py-11 {
  margin-top: 11rem !important;
  margin-bottom: 11rem !important; }
.py-12 {
  margin-top: 12rem !important;
  margin-bottom: 12rem !important; }
.py-13 {
  margin-top: 13rem !important;
  margin-bottom: 13rem !important; }
.py-14 {
  margin-top: 14rem !important;
  margin-bottom: 14rem !important; }
.py-15 {
  margin-top: 15rem !important;
  margin-bottom: 15rem !important; }
.py-16 {
  margin-top: 16rem !important;
  margin-bottom: 16rem !important; }
.py-17 {
  margin-top: 17rem !important;
  margin-bottom: 17rem !important; }
.py-18 {
  margin-top: 18rem !important;
  margin-bottom: 18rem !important; }
.py-19 {
  margin-top: 19rem !important;
  margin-bottom: 19rem !important; }

.px-1 {
  margin-right: 1rem !important;
  margin-left: 1rem !important; }
.px-2 {
  margin-right: 2rem !important;
  margin-left: 2rem !important; }
.px-3 {
  margin-right: 3rem !important;
  margin-left: 3rem !important; }
.px-4 {
  margin-right: 4rem !important;
  margin-left: 4rem !important; }
.px-5 {
  margin-right: 5rem !important;
  margin-left: 5rem !important; }
.px-6 {
  margin-right: 6rem !important;
  margin-left: 6rem !important; }
.px-7 {
  margin-right: 7rem !important;
  margin-left: 7rem !important; }
.px-8 {
  margin-right: 8rem !important;
  margin-left: 8rem !important; }
.px-9 {
  margin-right: 9rem !important;
  margin-left: 9rem !important; }
.px-10 {
  margin-right: 10rem !important;
  margin-left: 10rem !important; }
.px-11 {
  margin-right: 11rem !important;
  margin-left: 11rem !important; }
.px-12 {
  margin-right: 12rem !important;
  margin-left: 12rem !important; }
.px-13 {
  margin-right: 13rem !important;
  margin-left: 13rem !important; }
.px-14 {
  margin-right: 14rem !important;
  margin-left: 14rem !important; }
.px-15 {
  margin-right: 15rem !important;
  margin-left: 15rem !important; }
.px-16 {
  margin-right: 16rem !important;
  margin-left: 16rem !important; }
.px-17 {
  margin-right: 17rem !important;
  margin-left: 17rem !important; }
.px-18 {
  margin-right: 18rem !important;
  margin-left: 18rem !important; }
.px-19 {
  margin-right: 19rem !important;
  margin-left: 19rem !important; }

[data-ss-trigger] * {
  pointer-events: none; }

.heading-1,
.page-heading .ja,
#top .kv .container .text .ja,
#company .message .container .text .ja {
  font: 24px/1.8 "Noto Serif JP", serif; }
  @media screen and (min-width: 600px) {
    .heading-1,
    .page-heading .ja,
    #top .kv .container .text .ja,
    #company .message .container .text .ja {
      font-size: 32px; } }
  @media screen and (min-width: 1100px) {
    .heading-1,
    .page-heading .ja,
    #top .kv .container .text .ja,
    #company .message .container .text .ja {
      font-size: 40px; } }

.heading-2,
#top .about .content .text .heading .ja,
#top .about .certification .text .heading,
#building .office .heading,
#building .apartment .heading,
#bm .work .heading,
#bm .example .heading,
#bm .other .heading,
#company .certification .heading,
#company .outline .heading,
#company .associated-company .heading,
#contact .tel .heading,
#contact .mail .heading,
#form .tel .heading,
#form .mainform .heading,
#faq .block .heading,
#interview .full-time .heading,
#interview .consideration .heading,
#link .content .heading,
#recruit .full-time .heading,
#recruit .interview .heading,
#recruit .about .heading,
#recruit .more .heading,
#recruit-detail .detail .heading,
#recruit-detail .more .heading,
#recruit-detail .consideration .heading,
#recruit-list .full-time .heading,
#recruit-list .consideration .heading,
#training .content .heading,
#training .movies .heading,
#training-detail .content .heading,
#part .intro .visual .inner .copy,
#part .about .heading,
#part .description .heading,
#part .tel .heading,
#part .mailform .heading,
#welfare .intro .heading,
#welfare .culture .heading,
#work .maintenance .heading,
#work .clean .heading,
#work .security .heading,
#work .front .heading {
  font: 20px/1.8 "Noto Serif JP", serif; }
  @media screen and (min-width: 600px) {
    .heading-2,
    #top .about .content .text .heading .ja,
    #top .about .certification .text .heading,
    #building .office .heading,
    #building .apartment .heading,
    #bm .work .heading,
    #bm .example .heading,
    #bm .other .heading,
    #company .certification .heading,
    #company .outline .heading,
    #company .associated-company .heading,
    #contact .tel .heading,
    #contact .mail .heading,
    #form .tel .heading,
    #form .mainform .heading,
    #faq .block .heading,
    #interview .full-time .heading,
    #interview .consideration .heading,
    #link .content .heading,
    #recruit .full-time .heading,
    #recruit .interview .heading,
    #recruit .about .heading,
    #recruit .more .heading,
    #recruit-detail .detail .heading,
    #recruit-detail .more .heading,
    #recruit-detail .consideration .heading,
    #recruit-list .full-time .heading,
    #recruit-list .consideration .heading,
    #training .content .heading,
    #training .movies .heading,
    #training-detail .content .heading,
    #part .intro .visual .inner .copy,
    #part .about .heading,
    #part .description .heading,
    #part .tel .heading,
    #part .mailform .heading,
    #welfare .intro .heading,
    #welfare .culture .heading,
    #work .maintenance .heading,
    #work .clean .heading,
    #work .security .heading,
    #work .front .heading {
      font-size: 30px; } }
  @media screen and (min-width: 1100px) {
    .heading-2,
    #top .about .content .text .heading .ja,
    #top .about .certification .text .heading,
    #building .office .heading,
    #building .apartment .heading,
    #bm .work .heading,
    #bm .example .heading,
    #bm .other .heading,
    #company .certification .heading,
    #company .outline .heading,
    #company .associated-company .heading,
    #contact .tel .heading,
    #contact .mail .heading,
    #form .tel .heading,
    #form .mainform .heading,
    #faq .block .heading,
    #interview .full-time .heading,
    #interview .consideration .heading,
    #link .content .heading,
    #recruit .full-time .heading,
    #recruit .interview .heading,
    #recruit .about .heading,
    #recruit .more .heading,
    #recruit-detail .detail .heading,
    #recruit-detail .more .heading,
    #recruit-detail .consideration .heading,
    #recruit-list .full-time .heading,
    #recruit-list .consideration .heading,
    #training .content .heading,
    #training .movies .heading,
    #training-detail .content .heading,
    #part .intro .visual .inner .copy,
    #part .about .heading,
    #part .description .heading,
    #part .tel .heading,
    #part .mailform .heading,
    #welfare .intro .heading,
    #welfare .culture .heading,
    #work .maintenance .heading,
    #work .clean .heading,
    #work .security .heading,
    #work .front .heading {
      font-size: 32px; } }

.heading-3,
#top .kv .surface .heading .main,
#form .mainform .subheading,
#interview .full-time .label,
#interview .intro .lead,
#interview .person .text .name,
#interview .more .heading,
#message .content .lead,
#recruit .full-time .label,
#recruit-detail .detail .subheading,
#recruit-list .content .list .item .title,
#recruit-list .full-time .label,
#training-detail .intro .subheading,
#part .state .heading,
#part .work .heading,
#part .mailform .subheading {
  font: 18px/1.4 "Noto Serif JP", serif; }
  @media screen and (min-width: 600px) {
    .heading-3,
    #top .kv .surface .heading .main,
    #form .mainform .subheading,
    #interview .full-time .label,
    #interview .intro .lead,
    #interview .person .text .name,
    #interview .more .heading,
    #message .content .lead,
    #recruit .full-time .label,
    #recruit-detail .detail .subheading,
    #recruit-list .content .list .item .title,
    #recruit-list .full-time .label,
    #training-detail .intro .subheading,
    #part .state .heading,
    #part .work .heading,
    #part .mailform .subheading {
      font-size: 21px; } }
  @media screen and (min-width: 1100px) {
    .heading-3,
    #top .kv .surface .heading .main,
    #form .mainform .subheading,
    #interview .full-time .label,
    #interview .intro .lead,
    #interview .person .text .name,
    #interview .more .heading,
    #message .content .lead,
    #recruit .full-time .label,
    #recruit-detail .detail .subheading,
    #recruit-list .content .list .item .title,
    #recruit-list .full-time .label,
    #training-detail .intro .subheading,
    #part .state .heading,
    #part .work .heading,
    #part .mailform .subheading {
      font-size: 24px; } }

.heading-4,
.page-head .label .ja,
#top .company .heading .ja,
#top .service .heading .ja,
#top .recruit .heading .ja {
  font: 18px/26px "Noto Serif JP", serif; }

.label-1,
.footer .sitemap .label,
#interview .content .list .item .text .label,
#interview .more .list .item .text .label,
#recruit .interview .list .item .text .label,
.interview-list .item .text .label,
#interview .content .list .item .text .name,
#interview .more .list .item .text .name,
#recruit .interview .list .item .text .name,
.interview-list .item .text .name,
#service .links .label .ja,
.links-1 .label .ja,
#bm .other .links .label .ja,
#recruit .more .links .label .ja,
.links-2 .label .ja,
#interview .consideration .links .label .ja,
#recruit-detail .more .links .label .ja,
#recruit-detail .consideration .links .label .ja,
#recruit-list .consideration .links .label .ja,
.links-3 .label .ja,
#training .content .links .label .ja,
#training .movies .list .label .ja,
.links-4 .label .ja,
#top .news .heading,
#top .company .label .ja,
#top .service .label .ja,
#top .recruit .label .ja,
#top .recruit .lead,
#bm .work .label,
#company .certification .subheading,
#news .posts .post .container .heading,
#privacy .content .heading,
#training .intro .subheading,
#training-detail .content .label,
#work .maintenance .subheading,
#work .clean .subheading,
#work .security .subheading,
#work .front .subheading {
  font: 16px/1.5 "Noto Serif JP", serif; }
  @media screen and (min-width: 600px) {
    .label-1,
    .footer .sitemap .label,
    #interview .content .list .item .text .label,
    #interview .more .list .item .text .label,
    #recruit .interview .list .item .text .label,
    .interview-list .item .text .label,
    #interview .content .list .item .text .name,
    #interview .more .list .item .text .name,
    #recruit .interview .list .item .text .name,
    .interview-list .item .text .name,
    #service .links .label .ja,
    .links-1 .label .ja,
    #bm .other .links .label .ja,
    #recruit .more .links .label .ja,
    .links-2 .label .ja,
    #interview .consideration .links .label .ja,
    #recruit-detail .more .links .label .ja,
    #recruit-detail .consideration .links .label .ja,
    #recruit-list .consideration .links .label .ja,
    .links-3 .label .ja,
    #training .content .links .label .ja,
    #training .movies .list .label .ja,
    .links-4 .label .ja,
    #top .news .heading,
    #top .company .label .ja,
    #top .service .label .ja,
    #top .recruit .label .ja,
    #top .recruit .lead,
    #bm .work .label,
    #company .certification .subheading,
    #news .posts .post .container .heading,
    #privacy .content .heading,
    #training .intro .subheading,
    #training-detail .content .label,
    #work .maintenance .subheading,
    #work .clean .subheading,
    #work .security .subheading,
    #work .front .subheading {
      font-size: 18px; } }
  @media screen and (min-width: 1100px) {
    .label-1,
    .footer .sitemap .label,
    #interview .content .list .item .text .label,
    #interview .more .list .item .text .label,
    #recruit .interview .list .item .text .label,
    .interview-list .item .text .label,
    #interview .content .list .item .text .name,
    #interview .more .list .item .text .name,
    #recruit .interview .list .item .text .name,
    .interview-list .item .text .name,
    #service .links .label .ja,
    .links-1 .label .ja,
    #bm .other .links .label .ja,
    #recruit .more .links .label .ja,
    .links-2 .label .ja,
    #interview .consideration .links .label .ja,
    #recruit-detail .more .links .label .ja,
    #recruit-detail .consideration .links .label .ja,
    #recruit-list .consideration .links .label .ja,
    .links-3 .label .ja,
    #training .content .links .label .ja,
    #training .movies .list .label .ja,
    .links-4 .label .ja,
    #top .news .heading,
    #top .company .label .ja,
    #top .service .label .ja,
    #top .recruit .label .ja,
    #top .recruit .lead,
    #bm .work .label,
    #company .certification .subheading,
    #news .posts .post .container .heading,
    #privacy .content .heading,
    #training .intro .subheading,
    #training-detail .content .label,
    #work .maintenance .subheading,
    #work .clean .subheading,
    #work .security .subheading,
    #work .front .subheading {
      font-size: 20px; } }

.label-2,
.form .unit .label,
#interview .full-time .categories .category,
#recruit .full-time .categories .category,
#recruit-list .full-time .categories .category,
.recruit-categories .category,
.form .btn a,
.btn-area .btn a,
#recruit-detail .detail .btn a,
.form .btn input,
.btn-area .btn input,
#recruit-detail .detail .btn input,
.btn-1 a,
.btn-1 input,
#top .about .content .text .border-box .label,
#training .movies .list .item .title,
#training-detail .intro .label,
#training-detail .intro .flow .inner .unit .time,
#training-detail .intro .practice li,
#training-detail .content .person .text .title,
#part .about .label,
#part .work .parson .text .label {
  font: bold 16px/1.4 "Noto Sans JP", sans-serif; }
  @media screen and (min-width: 600px) {
    .label-2,
    .form .unit .label,
    #interview .full-time .categories .category,
    #recruit .full-time .categories .category,
    #recruit-list .full-time .categories .category,
    .recruit-categories .category,
    .form .btn a,
    .btn-area .btn a,
    #recruit-detail .detail .btn a,
    .form .btn input,
    .btn-area .btn input,
    #recruit-detail .detail .btn input,
    .btn-1 a,
    .btn-1 input,
    #top .about .content .text .border-box .label,
    #training .movies .list .item .title,
    #training-detail .intro .label,
    #training-detail .intro .flow .inner .unit .time,
    #training-detail .intro .practice li,
    #training-detail .content .person .text .title,
    #part .about .label,
    #part .work .parson .text .label {
      font-size: 17px; } }
  @media screen and (min-width: 1100px) {
    .label-2,
    .form .unit .label,
    #interview .full-time .categories .category,
    #recruit .full-time .categories .category,
    #recruit-list .full-time .categories .category,
    .recruit-categories .category,
    .form .btn a,
    .btn-area .btn a,
    #recruit-detail .detail .btn a,
    .form .btn input,
    .btn-area .btn input,
    #recruit-detail .detail .btn input,
    .btn-1 a,
    .btn-1 input,
    #top .about .content .text .border-box .label,
    #training .movies .list .item .title,
    #training-detail .intro .label,
    #training-detail .intro .flow .inner .unit .time,
    #training-detail .intro .practice li,
    #training-detail .content .person .text .title,
    #part .about .label,
    #part .work .parson .text .label {
      font-size: 18px; } }

.label-3,
#bm .example .list .item .label,
#welfare .culture .list .item .label,
.card-1 .item .label,
#recruit .about .point .box .label,
#training-detail .intro .flow .inner .unit .title,
#part .work .parson .text .income {
  font: bold 16px/1.5 "Noto Sans JP", sans-serif; }

.subtext-1,
.footer .copy .text,
#interview .content .list .item .job,
#interview .more .list .item .job,
#recruit .interview .list .item .job,
.interview-list .item .job,
#interview .content .list .item .text .name span,
#interview .more .list .item .text .name span,
#recruit .interview .list .item .text .name span,
.interview-list .item .text .name span,
.form .back,
#interview .back,
#recruit-detail .back,
#recruit-list .back,
#training-detail .back,
#part .back,
.page-back,
.page-head .nav .item,
#top .news .post span,
#interview .person .text .job,
#interview .person .text .name span {
  font: 14px/1.4 "Noto Sans JP", sans-serif; }
  @media screen and (min-width: 600px) {
    .subtext-1,
    .footer .copy .text,
    #interview .content .list .item .job,
    #interview .more .list .item .job,
    #recruit .interview .list .item .job,
    .interview-list .item .job,
    #interview .content .list .item .text .name span,
    #interview .more .list .item .text .name span,
    #recruit .interview .list .item .text .name span,
    .interview-list .item .text .name span,
    .form .back,
    #interview .back,
    #recruit-detail .back,
    #recruit-list .back,
    #training-detail .back,
    #part .back,
    .page-back,
    .page-head .nav .item,
    #top .news .post span,
    #interview .person .text .job,
    #interview .person .text .name span {
      font-size: 15px; } }
  @media screen and (min-width: 1100px) {
    .subtext-1,
    .footer .copy .text,
    #interview .content .list .item .job,
    #interview .more .list .item .job,
    #recruit .interview .list .item .job,
    .interview-list .item .job,
    #interview .content .list .item .text .name span,
    #interview .more .list .item .text .name span,
    #recruit .interview .list .item .text .name span,
    .interview-list .item .text .name span,
    .form .back,
    #interview .back,
    #recruit-detail .back,
    #recruit-list .back,
    #training-detail .back,
    #part .back,
    .page-back,
    .page-head .nav .item,
    #top .news .post span,
    #interview .person .text .job,
    #interview .person .text .name span {
      font-size: 16px; } }

.subtext-2,
#training-detail .content .heading span {
  font: 18px/23px "Noto Sans JP", sans-serif; }

.subtext-3 {
  font: 16px/20px "Noto Sans JP", sans-serif; }

.body-1,
.form .input-radio,
.form .input-checkbox,
.form .input-radio > label span,
.form .input-checkbox > label span,
.form input[type='text'],
.form input[type='number'],
.form input[type='tel'],
.form input[type='email'],
.form textarea,
.number span,
#top .about .content .text .body,
#building .intro .lead,
#bm .intro .body,
#contact .intro .lead,
#contact .tel .note,
#contact .mail .note,
#form .intro .body,
#form .tel .body,
#form .mainform .lead,
#faq .intro .body,
#faq .block .unit .q,
#faq .block .unit .a,
#link .content .lead,
#message .content .body,
#message .content .sign,
#recruit .about .lead,
#recruit-detail .intro .container .lead,
#service .intro .lead,
#training .intro .body,
#training-detail .content .lead,
#part .about .body,
#part .mailform .lead,
#work .intro .lead {
  font: 16px/2 "Noto Sans JP", sans-serif; }
  @media screen and (min-width: 600px) {
    .body-1,
    .form .input-radio,
    .form .input-checkbox,
    .form .input-radio > label span,
    .form .input-checkbox > label span,
    .form input[type='text'],
    .form input[type='number'],
    .form input[type='tel'],
    .form input[type='email'],
    .form textarea,
    .number span,
    #top .about .content .text .body,
    #building .intro .lead,
    #bm .intro .body,
    #contact .intro .lead,
    #contact .tel .note,
    #contact .mail .note,
    #form .intro .body,
    #form .tel .body,
    #form .mainform .lead,
    #faq .intro .body,
    #faq .block .unit .q,
    #faq .block .unit .a,
    #link .content .lead,
    #message .content .body,
    #message .content .sign,
    #recruit .about .lead,
    #recruit-detail .intro .container .lead,
    #service .intro .lead,
    #training .intro .body,
    #training-detail .content .lead,
    #part .about .body,
    #part .mailform .lead,
    #work .intro .lead {
      font-size: 17px; } }
  @media screen and (min-width: 1100px) {
    .body-1,
    .form .input-radio,
    .form .input-checkbox,
    .form .input-radio > label span,
    .form .input-checkbox > label span,
    .form input[type='text'],
    .form input[type='number'],
    .form input[type='tel'],
    .form input[type='email'],
    .form textarea,
    .number span,
    #top .about .content .text .body,
    #building .intro .lead,
    #bm .intro .body,
    #contact .intro .lead,
    #contact .tel .note,
    #contact .mail .note,
    #form .intro .body,
    #form .tel .body,
    #form .mainform .lead,
    #faq .intro .body,
    #faq .block .unit .q,
    #faq .block .unit .a,
    #link .content .lead,
    #message .content .body,
    #message .content .sign,
    #recruit .about .lead,
    #recruit-detail .intro .container .lead,
    #service .intro .lead,
    #training .intro .body,
    #training-detail .content .lead,
    #part .about .body,
    #part .mailform .lead,
    #work .intro .lead {
      font-size: 18px; } }

.body-2,
.footer .sitemap .item,
.footer .sitemap .sub,
.indent,
.table table,
#bm .example .list .item .body,
.card-1 .item .body,
#top .kv .surface .tel .body,
#top .about .content .text .border-box .description,
#top .company .excerpt,
#top .service .excerpt,
#top .recruit .excerpt,
#building .office .list table,
#building .apartment .list table,
#company .certification .body,
#company .outline .lead,
#company .associated-company .lead,
#interview .qa .box .label,
#interview .qa .box .body,
#link .content .body,
#news .posts .post .container .body,
#privacy .content .body,
#recruit .about .point .box .body,
#recruit-list .content .list .item .info,
#thanks .content .body,
#training-detail .intro .flow .inner .unit .list,
#training-detail .content .person .text .body,
#part .work .parson .text .body,
#welfare .intro .body,
#welfare .culture .body,
#work .maintenance .lead,
#work .clean .lead,
#work .security .lead,
#work .front .lead {
  font: 15px/2 "Noto Sans JP", sans-serif; }
  @media screen and (min-width: 600px) {
    .body-2,
    .footer .sitemap .item,
    .footer .sitemap .sub,
    .indent,
    .table table,
    #bm .example .list .item .body,
    .card-1 .item .body,
    #top .kv .surface .tel .body,
    #top .about .content .text .border-box .description,
    #top .company .excerpt,
    #top .service .excerpt,
    #top .recruit .excerpt,
    #building .office .list table,
    #building .apartment .list table,
    #company .certification .body,
    #company .outline .lead,
    #company .associated-company .lead,
    #interview .qa .box .label,
    #interview .qa .box .body,
    #link .content .body,
    #news .posts .post .container .body,
    #privacy .content .body,
    #recruit .about .point .box .body,
    #recruit-list .content .list .item .info,
    #thanks .content .body,
    #training-detail .intro .flow .inner .unit .list,
    #training-detail .content .person .text .body,
    #part .work .parson .text .body,
    #welfare .intro .body,
    #welfare .culture .body,
    #work .maintenance .lead,
    #work .clean .lead,
    #work .security .lead,
    #work .front .lead {
      font-size: 16px; } }
  @media screen and (min-width: 1100px) {
    .body-2,
    .footer .sitemap .item,
    .footer .sitemap .sub,
    .indent,
    .table table,
    #bm .example .list .item .body,
    .card-1 .item .body,
    #top .kv .surface .tel .body,
    #top .about .content .text .border-box .description,
    #top .company .excerpt,
    #top .service .excerpt,
    #top .recruit .excerpt,
    #building .office .list table,
    #building .apartment .list table,
    #company .certification .body,
    #company .outline .lead,
    #company .associated-company .lead,
    #interview .qa .box .label,
    #interview .qa .box .body,
    #link .content .body,
    #news .posts .post .container .body,
    #privacy .content .body,
    #recruit .about .point .box .body,
    #recruit-list .content .list .item .info,
    #thanks .content .body,
    #training-detail .intro .flow .inner .unit .list,
    #training-detail .content .person .text .body,
    #part .work .parson .text .body,
    #welfare .intro .body,
    #welfare .culture .body,
    #work .maintenance .lead,
    #work .clean .lead,
    #work .security .lead,
    #work .front .lead {
      font-size: 17px; } }

.body-3,
.form .error {
  font: 14px/2 "Noto Sans JP", sans-serif; }

.heading-1-en,
.page-head .label .en,
#top .company .heading .en,
#top .service .heading .en,
#top .recruit .heading .en,
#recruit .about .point .box .num {
  font: 32px/1.25 "Marcellus", serif; }
  @media screen and (min-width: 600px) {
    .heading-1-en,
    .page-head .label .en,
    #top .company .heading .en,
    #top .service .heading .en,
    #top .recruit .heading .en,
    #recruit .about .point .box .num {
      font-size: 40px; } }
  @media screen and (min-width: 1100px) {
    .heading-1-en,
    .page-head .label .en,
    #top .company .heading .en,
    #top .service .heading .en,
    #top .recruit .heading .en,
    #recruit .about .point .box .num {
      font-size: 48px; } }

.heading-2-en {
  font: 56px/76px "Marcellus", serif; }

.label-1-en {
  font: 24px/42px "Marcellus", serif; }

.label-2-en {
  font: 18px/1.1 "Marcellus", serif; }

.label-3-en {
  font: bold 16px/1.1 "Marcellus", serif; }

.subtext-1-en,
#service .links .label .en,
.links-1 .label .en,
#bm .other .links .label .en,
#recruit .more .links .label .en,
.links-2 .label .en,
#interview .consideration .links .label .en,
#recruit-detail .more .links .label .en,
#recruit-detail .consideration .links .label .en,
#recruit-list .consideration .links .label .en,
.links-3 .label .en,
#training .content .links .label .en,
#training .movies .list .label .en,
.links-4 .label .en,
.page-heading .en,
#top .kv .container .text .en,
#top .kv .surface .heading .sub,
#top .news .post time,
#top .about .content .text .heading .en,
#top .company .label .en,
#top .service .label .en,
#top .recruit .label .en,
#company .message .container .text .en,
#news .posts .data {
  font: bold 12px/1.5 "Arial", serif;
  letter-spacing: .3em; }
  @media screen and (min-width: 600px) {
    .subtext-1-en,
    #service .links .label .en,
    .links-1 .label .en,
    #bm .other .links .label .en,
    #recruit .more .links .label .en,
    .links-2 .label .en,
    #interview .consideration .links .label .en,
    #recruit-detail .more .links .label .en,
    #recruit-detail .consideration .links .label .en,
    #recruit-list .consideration .links .label .en,
    .links-3 .label .en,
    #training .content .links .label .en,
    #training .movies .list .label .en,
    .links-4 .label .en,
    .page-heading .en,
    #top .kv .container .text .en,
    #top .kv .surface .heading .sub,
    #top .news .post time,
    #top .about .content .text .heading .en,
    #top .company .label .en,
    #top .service .label .en,
    #top .recruit .label .en,
    #company .message .container .text .en,
    #news .posts .data {
      font-size: 13px; } }
  @media screen and (min-width: 1100px) {
    .subtext-1-en,
    #service .links .label .en,
    .links-1 .label .en,
    #bm .other .links .label .en,
    #recruit .more .links .label .en,
    .links-2 .label .en,
    #interview .consideration .links .label .en,
    #recruit-detail .more .links .label .en,
    #recruit-detail .consideration .links .label .en,
    #recruit-list .consideration .links .label .en,
    .links-3 .label .en,
    #training .content .links .label .en,
    #training .movies .list .label .en,
    .links-4 .label .en,
    .page-heading .en,
    #top .kv .container .text .en,
    #top .kv .surface .heading .sub,
    #top .news .post time,
    #top .about .content .text .heading .en,
    #top .company .label .en,
    #top .service .label .en,
    #top .recruit .label .en,
    #company .message .container .text .en,
    #news .posts .data {
      font-size: 14px; } }

.subtext-2-en {
  font: 16px/25px "Marcellus", serif; }

.subtext-2-en {
  font: 14px/21px "Marcellus", serif; }

.first-line,
#service .links .label .en,
.links-1 .label .en,
#bm .other .links .label .en,
#recruit .more .links .label .en,
.links-2 .label .en,
#interview .consideration .links .label .en,
#recruit-detail .more .links .label .en,
#recruit-detail .consideration .links .label .en,
#recruit-list .consideration .links .label .en,
.links-3 .label .en,
#training .content .links .label .en,
#training .movies .list .label .en,
.links-4 .label .en,
.page-heading .en,
#top .kv .container .text .en,
#top .kv .surface .heading .sub,
#top .news .post time,
#top .about .content .text .heading .en,
#top .company .label .en,
#top .service .label .en,
#top .recruit .label .en,
#company .message .container .text .en,
#news .posts .data {
  margin-left: 1em;
  text-indent: -1em; }
  .first-line:before,
  #service .links .label .en:before,
  .links-1 .label .en:before,
  #bm .other .links .label .en:before,
  #recruit .more .links .label .en:before,
  .links-2 .label .en:before,
  #interview .consideration .links .label .en:before,
  #recruit-detail .more .links .label .en:before,
  #recruit-detail .consideration .links .label .en:before,
  #recruit-list .consideration .links .label .en:before,
  .links-3 .label .en:before,
  #training .content .links .label .en:before,
  #training .movies .list .label .en:before,
  .links-4 .label .en:before,
  .page-heading .en:before,
  #top .kv .container .text .en:before,
  #top .kv .surface .heading .sub:before,
  #top .news .post time:before,
  #top .about .content .text .heading .en:before,
  #top .company .label .en:before,
  #top .service .label .en:before,
  #top .recruit .label .en:before,
  #company .message .container .text .en:before,
  #news .posts .data:before {
    content: '';
    display: inline-block;
    vertical-align: middle;
    margin-right: .5rem;
    border: 1px solid currentColor;
    width: .5em;
    height: 0; }

.after-arrow,
#service .links .label .ja,
.links-1 .label .ja,
#bm .other .links .label .ja,
#recruit .more .links .label .ja,
.links-2 .label .ja,
#interview .consideration .links .label .ja,
#recruit-detail .more .links .label .ja,
#recruit-detail .consideration .links .label .ja,
#recruit-list .consideration .links .label .ja,
.links-3 .label .ja,
#training .content .links .label .ja,
#training .movies .list .label .ja,
.links-4 .label .ja,
.form .btn a,
.btn-area .btn a,
#recruit-detail .detail .btn a,
.form .btn input,
.btn-area .btn input,
#recruit-detail .detail .btn input,
.btn-1 a,
.btn-1 input,
#top .company .label .ja,
#top .service .label .ja,
#top .recruit .label .ja,
#building .office .list a,
#building .apartment .list a,
#link .content .indent li a {
  position: relative; }
  .after-arrow:after,
  #service .links .label .ja:after,
  .links-1 .label .ja:after,
  #bm .other .links .label .ja:after,
  #recruit .more .links .label .ja:after,
  .links-2 .label .ja:after,
  #interview .consideration .links .label .ja:after,
  #recruit-detail .more .links .label .ja:after,
  #recruit-detail .consideration .links .label .ja:after,
  #recruit-list .consideration .links .label .ja:after,
  .links-3 .label .ja:after,
  #training .content .links .label .ja:after,
  #training .movies .list .label .ja:after,
  .links-4 .label .ja:after,
  .form .btn a:after,
  .btn-area .btn a:after,
  #recruit-detail .detail .btn a:after,
  .form .btn input:after,
  .btn-area .btn input:after,
  #recruit-detail .detail .btn input:after,
  .btn-1 a:after,
  .btn-1 input:after,
  #top .company .label .ja:after,
  #top .service .label .ja:after,
  #top .recruit .label .ja:after,
  #building .office .list a:after,
  #building .apartment .list a:after,
  #link .content .indent li a:after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 1em;
    border-top: 2px solid white;
    border-right: 2px solid white;
    width: .75em;
    height: .75em;
    transform: translateY(-50%) rotate(45deg); }

.frame-1,
.page-head .nav,
.btn-area,
#top .company,
#top .service,
#top .recruit,
#bm .visual,
#bm .other .links,
#company .message,
#company .message .container,
#interview .back,
#recruit .visual,
#recruit .more .links,
#recruit-detail .back,
#recruit-detail .more .links,
#recruit-detail .consideration .links,
#recruit-list .back,
#recruit-list .consideration .links,
#service .links,
#training .intro .visual,
#training-detail .back,
#part .back,
#part .intro .frame {
  margin-right: auto;
  margin-left: auto;
  padding-right: 10px;
  padding-left: 10px;
  max-width: 1500px;
  width: 100%; }
  @media screen and (min-width: 600px) {
    .frame-1,
    .page-head .nav,
    .btn-area,
    #top .company,
    #top .service,
    #top .recruit,
    #bm .visual,
    #bm .other .links,
    #company .message,
    #company .message .container,
    #interview .back,
    #recruit .visual,
    #recruit .more .links,
    #recruit-detail .back,
    #recruit-detail .more .links,
    #recruit-detail .consideration .links,
    #recruit-list .back,
    #recruit-list .consideration .links,
    #service .links,
    #training .intro .visual,
    #training-detail .back,
    #part .back,
    #part .intro .frame {
      padding-right: 20px;
      padding-left: 20px; } }
  @media screen and (min-width: 1100px) {
    .frame-1,
    .page-head .nav,
    .btn-area,
    #top .company,
    #top .service,
    #top .recruit,
    #bm .visual,
    #bm .other .links,
    #company .message,
    #company .message .container,
    #interview .back,
    #recruit .visual,
    #recruit .more .links,
    #recruit-detail .back,
    #recruit-detail .more .links,
    #recruit-detail .consideration .links,
    #recruit-list .back,
    #recruit-list .consideration .links,
    #service .links,
    #training .intro .visual,
    #training-detail .back,
    #part .back,
    #part .intro .frame {
      padding-right: 40px;
      padding-left: 40px; } }

.frame-2,
.footer .link-area,
.footer .copy,
#top .kv .container .text,
#top .news,
#top .about,
#message .content,
#message .gallery,
#news .posts {
  margin-right: auto;
  margin-left: auto;
  padding-right: 10px;
  padding-left: 10px;
  max-width: 1500px;
  width: 100%; }
  @media screen and (min-width: 600px) {
    .frame-2,
    .footer .link-area,
    .footer .copy,
    #top .kv .container .text,
    #top .news,
    #top .about,
    #message .content,
    #message .gallery,
    #news .posts {
      padding-right: 20px;
      padding-left: 20px; } }
  @media screen and (min-width: 1100px) {
    .frame-2,
    .footer .link-area,
    .footer .copy,
    #top .kv .container .text,
    #top .news,
    #top .about,
    #message .content,
    #message .gallery,
    #news .posts {
      padding-right: 50px;
      padding-left: 50px; } }
  @media screen and (min-width: 1350px) {
    .frame-2,
    .footer .link-area,
    .footer .copy,
    #top .kv .container .text,
    #top .news,
    #top .about,
    #message .content,
    #message .gallery,
    #news .posts {
      padding-right: 80px;
      padding-left: 80px; } }

.frame-3,
#building .intro,
#building .office,
#building .apartment,
#bm .page-heading,
#bm .intro,
#bm .work,
#bm .example,
#bm .other .heading,
#company .certification,
#company .outline,
#company .associated-company,
#contact .intro,
#contact .tel,
#contact .mail,
#form .intro,
#form .tel,
#form .mainform,
#faq .intro,
#faq .block,
#interview .content,
#interview .full-time,
#interview .consideration,
#interview .intro,
#interview .person,
#interview .qa,
#interview .more,
#link .content,
#privacy .content,
#recruit .bnr,
#recruit .full-time,
#recruit .interview,
#recruit .about,
#recruit .more .heading,
#recruit-detail .intro,
#recruit-detail .detail,
#recruit-detail .more .heading,
#recruit-detail .consideration .heading,
#recruit-list .content,
#recruit-list .full-time,
#recruit-list .consideration .heading,
#service .intro,
#thanks .content,
#training .intro .page-heading,
#training .intro .subheading,
#training .intro .body,
#training .content,
#training .movies,
#training-detail .intro,
#training-detail .content,
#part .intro .page-heading,
#part .about,
#part .description,
#part .state,
#part .work,
#part .tel,
#part .mailform,
#welfare .intro,
#welfare .content,
#welfare .culture,
#work .intro,
#work .maintenance,
#work .clean,
#work .security,
#work .front {
  margin-right: auto;
  margin-left: auto;
  padding-right: 10px;
  padding-left: 10px;
  max-width: 1500px;
  width: 100%; }
  @media screen and (min-width: 600px) {
    .frame-3,
    #building .intro,
    #building .office,
    #building .apartment,
    #bm .page-heading,
    #bm .intro,
    #bm .work,
    #bm .example,
    #bm .other .heading,
    #company .certification,
    #company .outline,
    #company .associated-company,
    #contact .intro,
    #contact .tel,
    #contact .mail,
    #form .intro,
    #form .tel,
    #form .mainform,
    #faq .intro,
    #faq .block,
    #interview .content,
    #interview .full-time,
    #interview .consideration,
    #interview .intro,
    #interview .person,
    #interview .qa,
    #interview .more,
    #link .content,
    #privacy .content,
    #recruit .bnr,
    #recruit .full-time,
    #recruit .interview,
    #recruit .about,
    #recruit .more .heading,
    #recruit-detail .intro,
    #recruit-detail .detail,
    #recruit-detail .more .heading,
    #recruit-detail .consideration .heading,
    #recruit-list .content,
    #recruit-list .full-time,
    #recruit-list .consideration .heading,
    #service .intro,
    #thanks .content,
    #training .intro .page-heading,
    #training .intro .subheading,
    #training .intro .body,
    #training .content,
    #training .movies,
    #training-detail .intro,
    #training-detail .content,
    #part .intro .page-heading,
    #part .about,
    #part .description,
    #part .state,
    #part .work,
    #part .tel,
    #part .mailform,
    #welfare .intro,
    #welfare .content,
    #welfare .culture,
    #work .intro,
    #work .maintenance,
    #work .clean,
    #work .security,
    #work .front {
      padding-right: 20px;
      padding-left: 20px; } }
  @media screen and (min-width: 1100px) {
    .frame-3,
    #building .intro,
    #building .office,
    #building .apartment,
    #bm .page-heading,
    #bm .intro,
    #bm .work,
    #bm .example,
    #bm .other .heading,
    #company .certification,
    #company .outline,
    #company .associated-company,
    #contact .intro,
    #contact .tel,
    #contact .mail,
    #form .intro,
    #form .tel,
    #form .mainform,
    #faq .intro,
    #faq .block,
    #interview .content,
    #interview .full-time,
    #interview .consideration,
    #interview .intro,
    #interview .person,
    #interview .qa,
    #interview .more,
    #link .content,
    #privacy .content,
    #recruit .bnr,
    #recruit .full-time,
    #recruit .interview,
    #recruit .about,
    #recruit .more .heading,
    #recruit-detail .intro,
    #recruit-detail .detail,
    #recruit-detail .more .heading,
    #recruit-detail .consideration .heading,
    #recruit-list .content,
    #recruit-list .full-time,
    #recruit-list .consideration .heading,
    #service .intro,
    #thanks .content,
    #training .intro .page-heading,
    #training .intro .subheading,
    #training .intro .body,
    #training .content,
    #training .movies,
    #training-detail .intro,
    #training-detail .content,
    #part .intro .page-heading,
    #part .about,
    #part .description,
    #part .state,
    #part .work,
    #part .tel,
    #part .mailform,
    #welfare .intro,
    #welfare .content,
    #welfare .culture,
    #work .intro,
    #work .maintenance,
    #work .clean,
    #work .security,
    #work .front {
      padding-right: 70px;
      padding-left: 70px; } }
  @media screen and (min-width: 1350px) {
    .frame-3,
    #building .intro,
    #building .office,
    #building .apartment,
    #bm .page-heading,
    #bm .intro,
    #bm .work,
    #bm .example,
    #bm .other .heading,
    #company .certification,
    #company .outline,
    #company .associated-company,
    #contact .intro,
    #contact .tel,
    #contact .mail,
    #form .intro,
    #form .tel,
    #form .mainform,
    #faq .intro,
    #faq .block,
    #interview .content,
    #interview .full-time,
    #interview .consideration,
    #interview .intro,
    #interview .person,
    #interview .qa,
    #interview .more,
    #link .content,
    #privacy .content,
    #recruit .bnr,
    #recruit .full-time,
    #recruit .interview,
    #recruit .about,
    #recruit .more .heading,
    #recruit-detail .intro,
    #recruit-detail .detail,
    #recruit-detail .more .heading,
    #recruit-detail .consideration .heading,
    #recruit-list .content,
    #recruit-list .full-time,
    #recruit-list .consideration .heading,
    #service .intro,
    #thanks .content,
    #training .intro .page-heading,
    #training .intro .subheading,
    #training .intro .body,
    #training .content,
    #training .movies,
    #training-detail .intro,
    #training-detail .content,
    #part .intro .page-heading,
    #part .about,
    #part .description,
    #part .state,
    #part .work,
    #part .tel,
    #part .mailform,
    #welfare .intro,
    #welfare .content,
    #welfare .culture,
    #work .intro,
    #work .maintenance,
    #work .clean,
    #work .security,
    #work .front {
      padding-right: 120px;
      padding-left: 120px; } }

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box; }

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline; }

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
  display: block; }

html {
  font-size: 12px; }
  @media screen and (min-width: 600px) {
    html {
      font-size: 14px; } }
  @media screen and (min-width: 600px) {
    html {
      font-size: 16px; } }

body {
  display: block;
  position: relative;
  margin: 0px;
  height: 100%;
  width: 100%;
  background: white;
  text-align: left;
  color: rgba(0, 0, 0, 0.8);
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
  pointer-events: all;
  font: 16px/2 "Noto Sans JP", sans-serif; }
  @media screen and (min-width: 600px) {
    body {
      font-size: 17px; } }
  @media screen and (min-width: 600px) {
    body {
      font-size: 18px; } }

ol, ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

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

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

a {
  display: block; }
  a:link, a:visited, a:hover {
    color: inherit;
    text-decoration: none; }

img {
  vertical-align: top;
  width: 100%;
  max-width: 100%;
  height: auto; }

input, button, textarea, select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  outline: none; }

::selection {
  background-color: #4A5472;
  color: white; }

::-moz-selection {
  background-color: #4A5472;
  color: white; }

[data-cc-trigger] {
  cursor: pointer;
  pointer-events: all; }

[data-cc-content][data-cc-status="0"] {
  display: none !important; }

@font-face {
  font-family: 'Material Icons';
  font-style: normal;
  font-weight: 400;
  src: url(../font/MaterialIcons-Regular.eot);
  /* For IE6-8 */
  src: local("Material Icons"), local("MaterialIcons-Regular"), url(../font/MaterialIcons-Regular.woff2) format("woff2"), url(../font/MaterialIcons-Regular.woff) format("woff"), url(../font/MaterialIcons-Regular.ttf) format("truetype"); }
.icon, .icon-sm, .icon-md, .icon-lg, .form .back a:before, #interview .back a:before, #recruit-detail .back a:before, #recruit-list .back a:before, #training-detail .back a:before, #part .back a:before,
.page-back a:before, #news .pager .prev,
#news .pager .next {
  display: inline-block;
  vertical-align: middle;
  font-family: 'Material Icons';
  font-weight: normal;
  font-style: normal;
  font-size: 1.2em;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  word-wrap: normal;
  direction: ltr;
  font-feature-settings: 'liga';
  -webkit-font-feature-settings: 'liga';
  -webkit-font-smoothing: antialiased; }

.icon-sm {
  font-size: 16px;
  line-height: 16px; }

.icon-md {
  font-size: 24px;
  line-height: 24px; }

.icon-lg {
  font-size: 32px;
  line-height: 32px; }

.footer {
  margin-top: 7.5rem; }
  .footer .link-area {
    padding-top: 5rem;
    padding-bottom: 2.5rem;
    max-width: inherit;
    background-color: #F2EEE4; }
  .footer .sitemap {
    display: flex;
    flex-wrap: wrap; }
    @media screen and (min-width: 1100px) {
      .footer .sitemap {
        justify-content: center; } }
    @media screen and (max-width: 599.98px) {
      .footer .sitemap .group {
        width: 50%; }
        .footer .sitemap .group:nth-child(n+3) {
          margin-top: 2rem; }
        .footer .sitemap .group:last-child {
          width: 100%; }
          .footer .sitemap .group:last-child .label {
            display: none; } }
    @media screen and (min-width: 600px) and (max-width: 1349.98px) {
      .footer .sitemap .group {
        width: 33.3333%; }
        .footer .sitemap .group:nth-child(n+4) {
          margin-top: 3rem; }
        .footer .sitemap .group:last-child {
          width: 66.6666%; } }
    @media screen and (min-width: 1350px) {
      .footer .sitemap .group {
        width: auto; }
        .footer .sitemap .group:nth-child(n+2) {
          margin-left: 100px; } }
    .footer .sitemap .label {
      padding-bottom: 1rem; }
      @media screen and (min-width: 850px) {
        .footer .sitemap .label {
          padding-bottom: 1.5rem; } }
    .footer .sitemap .sub {
      color: rgba(0, 0, 0, 0.5); }
    .footer .sitemap a {
      display: inline-block;
      transition: .2s color; }
      @media screen and (min-width: 850px) {
        .footer .sitemap a:hover {
          color: #C7BCA2; } }
  .footer .bnr-area {
    margin: 5rem auto 0;
    max-width: 1024px; }
    @media screen and (min-width: 850px) {
      .footer .bnr-area {
        display: flex;
        justify-content: space-between; } }
    .footer .bnr-area .bnr {
      max-width: 492px; }
      @media screen and (max-width: 849.98px) {
        .footer .bnr-area .bnr {
          margin-right: auto;
          margin-left: auto; } }
      @media screen and (min-width: 850px) {
        .footer .bnr-area .bnr {
          width: calc(50% - 1.25rem); } }
      @media screen and (max-width: 849.98px) {
        .footer .bnr-area .bnr:nth-child(n+2) {
          margin-top: 2rem; } }
      .footer .bnr-area .bnr a {
        background-color: #C7BCA2; }
        .footer .bnr-area .bnr a img {
          transition: .2s opacity; }
        @media screen and (min-width: 850px) {
          .footer .bnr-area .bnr a:hover img {
            opacity: .75; } }
  .footer .copy {
    padding: 2rem 1.5rem;
    max-width: inherit;
    background-color: rgba(0, 0, 0, 0.8);
    text-align: center; }
    @media screen and (min-width: 1100px) {
      .footer .copy {
        text-align: left; } }
    .footer .copy .logo {
      margin-right: 1rem;
      width: 72px;
      opacity: .6; }
    .footer .copy .text {
      color: rgba(255, 255, 255, 0.6); }
  @media screen and (max-width: 1099.98px) {
    .footer .fixed-bnr {
      padding-bottom: 84px;
      width: 100%; } }
  @media screen and (max-width: 599.98px) {
    .footer .fixed-bnr {
      padding-bottom: 76px; } }
  .footer .fixed-bnr .inner {
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 10;
    padding: .75rem 1.5rem;
    width: 100%;
    background-color: rgba(255, 255, 255, 0.8); }
    @media screen and (min-width: 1100px) {
      .footer .fixed-bnr .inner {
        right: 1.5rem;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
        align-items: center;
        border-radius: 20px 20px 0 0;
        width: auto; } }
  .footer .fixed-bnr .text {
    line-height: 1; }
    @media screen and (max-width: 1099.98px) {
      .footer .fixed-bnr .text {
        margin-top: .5rem; } }
    @media screen and (min-width: 1100px) {
      .footer .fixed-bnr .text {
        width: 250px; } }
    .footer .fixed-bnr .text .label {
      font-size: 12px; }
      @media screen and (max-width: 1099.98px) {
        .footer .fixed-bnr .text .label {
          text-align: center; } }
    @media screen and (max-width: 1099.98px) {
      .footer .fixed-bnr .text .number {
        display: none; } }
    @media screen and (min-width: 1100px) {
      .footer .fixed-bnr .text .number {
        margin-top: 5px;
        font-size: 24px;
        font-weight: bold;
        color: #4A5472;
        letter-spacing: .15em; }
        .footer .fixed-bnr .text .number span {
          font-size: 12px;
          font-weight: bold;
          letter-spacing: 0; } }
  .footer .fixed-bnr .links {
    display: flex;
    justify-content: space-between; }
    @media screen and (max-width: 1099.98px) {
      .footer .fixed-bnr .links .link {
        width: 50%; } }
    .footer .fixed-bnr .links .link a {
      text-align: center;
      font-weight: bold;
      height: 40px;
      font-size: 14px;
      line-height: 40px;
      color: white; }
      @media screen and (min-width: 850px) {
        .footer .fixed-bnr .links .link a {
          transition: .2s opacity; }
          .footer .fixed-bnr .links .link a:hover {
            opacity: .75; } }
      @media screen and (min-width: 1100px) {
        .footer .fixed-bnr .links .link a {
          width: 164px; } }
    .footer .fixed-bnr .links .link.recruit a {
      background-color: #4A5472; }
    .footer .fixed-bnr .links .link.part a {
      background-color: #D9A51E; }

@media screen and (min-width: 850px) {
  .form .unit {
    display: flex; } }
.form .unit:nth-child(n+2) {
  margin-top: 2.5rem; }
.form .unit .label {
  padding: 1em 0;
  width: 190px; }
  .form .unit .label i {
    color: #C7BCA2; }
@media screen and (min-width: 850px) {
  .form .unit .detail {
    width: calc(100% - 190px); } }
.form .unit .detail .input-radio,
.form .unit .detail .input-checkbox {
  margin-top: .75rem; }
  .form .unit .detail .input-radio > label,
  .form .unit .detail .input-checkbox > label {
    margin-right: 3rem; }
.form .input-text {
  font-size: 16px; }
  .form .input-text:nth-child(n+2) {
    margin-top: 1rem; }
.form .textarea {
  line-height: 0; }
.form .input-radio.horizontal,
.form .input-checkbox.horizontal {
  display: flex;
  align-items: center;
  flex-wrap: wrap; }
.form .input-radio.vertical label:nth-child(n+2),
.form .input-checkbox.vertical label:nth-child(n+2) {
  margin-top: 1rem; }
.form .input-radio > label,
.form .input-checkbox > label {
  position: relative;
  display: flex;
  align-items: center;
  cursor: pointer; }
  .form .input-radio > label > i,
  .form .input-checkbox > label > i {
    display: block;
    position: relative;
    margin-right: 1rem;
    width: 2rem;
    height: 2rem;
    border-width: 1px;
    border-style: solid;
    border-color: rgba(0, 0, 0, 0.1);
    border-radius: .5rem;
    background-color: white;
    align-items: center;
    cursor: pointer;
    transition: box-shadow .2s; }
    .form .input-radio > label > i:after,
    .form .input-checkbox > label > i:after {
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      border-bottom: 2px solid #C7BCA2;
      border-right: 2px solid #C7BCA2;
      width: .5rem;
      height: 1rem;
      transform: translate(-50%, -65%) rotate(45deg);
      opacity: 0;
      transition: opacity .2s; }
  .form .input-radio > label input,
  .form .input-checkbox > label input {
    position: absolute;
    top: 0;
    left: 0;
    width: 0;
    height: 0;
    pointer-events: none;
    opacity: 0; }
    .form .input-radio > label input:checked + i,
    .form .input-checkbox > label input:checked + i {
      box-shadow: 0 0 3px rgba(0, 0, 0, 0.3) !important; }
      .form .input-radio > label input:checked + i:after,
      .form .input-checkbox > label input:checked + i:after {
        opacity: 1; }
  .form .input-radio > label span,
  .form .input-checkbox > label span {
    order: 2; }
    .form .input-radio > label span i,
    .form .input-checkbox > label span i {
      color: #C7BCA2; }
    .form .input-radio > label span a,
    .form .input-checkbox > label span a {
      display: inline;
      text-decoration: underline; }
.form .error {
  margin-top: .5rem;
  width: 100% !important;
  color: #EF671A; }
.form input[type='text'],
.form input[type='number'],
.form input[type='tel'],
.form input[type='email'],
.form textarea {
  padding: .5em 1em;
  border-width: 1px;
  border-style: solid;
  border-color: rgba(0, 0, 0, 0.1);
  border-radius: .5rem;
  width: 100%;
  transition: box-shadow .2s;
  background-color: white; }
  .form input[type='text']:focus,
  .form input[type='number']:focus,
  .form input[type='tel']:focus,
  .form input[type='email']:focus,
  .form textarea:focus {
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.3) !important;
    outline: none !important; }
.form .foot {
  margin-top: 3.5rem;
  padding: 3rem 0;
  background-color: #F2EEE4; }
.form .privacy {
  margin-top: 2rem;
  text-align: center; }
  .form .privacy .input-checkbox {
    display: flex;
    justify-content: center; }
    .form .privacy .input-checkbox label {
      margin-right: 0 !important; }
.form .btn {
  text-align: center;
  margin: 2.5rem auto 0; }
.form .table {
  width: 100% !important; }
  @media screen and (min-width: 850px) {
    .form .table th {
      padding: 1.5rem;
      text-align: left !important;
      width: 300px !important; } }
.form .back {
  margin-top: 1rem;
  text-align: center; }

.header {
  position: relative;
  z-index: 11;
  height: 50px;
  background-color: white; }
  @media screen and (min-width: 600px) {
    .header {
      height: 65px; } }
  @media screen and (min-width: 1100px) {
    .header {
      height: 80px; } }
  .header .inner {
    position: fixed;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    padding-left: 10px;
    width: 100%;
    height: 50px;
    background-color: white;
    transition: transform .2s;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.25); }
    @media screen and (min-width: 600px) {
      .header .inner {
        padding-left: 25px;
        height: 65px; } }
    @media screen and (min-width: 1100px) {
      .header .inner {
        padding: 20px 40px;
        height: 80px; } }
  .header .site-id a {
    display: flex;
    align-items: center;
    transition: .2s opacity; }
    @media screen and (min-width: 850px) {
      .header .site-id a:hover {
        opacity: .75; } }
  .header .site-id .logo {
    width: 40px;
    line-height: 0; }
    @media screen and (min-width: 600px) {
      .header .site-id .logo {
        width: 60px; } }
    @media screen and (min-width: 1100px) {
      .header .site-id .logo {
        width: 80px; } }
  .header .site-id .text {
    margin-left: .5rem;
    width: 170px; }
    @media screen and (min-width: 600px) {
      .header .site-id .text {
        width: 230px; } }
    @media screen and (min-width: 1100px) {
      .header .site-id .text {
        width: 250px; } }
    @media screen and (min-width: 1350px) {
      .header .site-id .text {
        width: 280px; } }
    .header .site-id .text .label {
      margin-bottom: .5rem;
      font: bold 8px/1 "Noto Serif JP", serif;
      color: #4A5472; }
      @media screen and (min-width: 600px) {
        .header .site-id .text .label {
          font-size: 11px; } }
      @media screen and (min-width: 1100px) {
        .header .site-id .text .label {
          font-size: 12px; } }
    .header .site-id .text .company-name {
      line-height: 0; }
  .header .gnav {
    letter-spacing: .05em;
    text-indent: .05em; }
    @media screen and (max-width: 1099.98px) {
      .header .gnav {
        position: fixed;
        top: 0;
        right: 0;
        z-index: 10;
        width: 100%;
        height: 120vh;
        overflow-y: auto;
        background-color: #4A5472;
        color: white;
        box-shadow: 0px 6px 30px rgba(0, 0, 0, 0.25); } }
    @media screen and (min-width: 1100px) {
      .header .gnav {
        display: flex;
        align-items: center;
        margin-left: auto; } }
    .header .gnav .container {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin: 1rem 0 0 auto; }
      .header .gnav .container > * {
        margin: 0 7px; }
        .header .gnav .container > *:first-child {
          margin-left: 0 !important; }
        .header .gnav .container > *:last-child {
          margin-right: 0 !important; }
        @media screen and (min-width: 1350px) {
          .header .gnav .container > * {
            margin: 0 12px; } }
      .header .gnav .container .vr {
        width: 1px;
        height: 24px;
        background-color: rgba(0, 0, 0, 0.2); }
      .header .gnav .container .sub {
        font-size: .8rem; }
      @media screen and (min-width: 600px) {
        .header .gnav .container a {
          transition: color .2s; }
          .header .gnav .container a:hover {
            color: #C7BCA2; } }
    @media screen and (max-width: 1099.98px) {
      .header .gnav .scroller {
        padding: 5rem 2.5rem calc(20vh + 5rem); } }
    .header .gnav .scroller .sitemap .group:nth-child(n+2) {
      margin-top: 3rem; }
    .header .gnav .scroller .sitemap .label {
      margin-bottom: .75rem;
      border-bottom: 1px solid rgba(255, 255, 255, 0.9);
      padding-bottom: .75rem;
      font: 1.5rem/1.5 "Noto Serif JP", serif; }
    .header .gnav .scroller .sitemap .item {
      margin-top: .5rem;
      font-size: 1.1rem; }
    .header .gnav .scroller .recruit {
      margin-top: 3rem;
      border-top: 1px solid rgba(255, 255, 255, 0.9);
      padding-top: 3rem; }
      .header .gnav .scroller .recruit .label {
        font: 1.25rem/1.5 "Noto Sans JP", sans-serif; }
      .header .gnav .scroller .recruit .number {
        font: bold 1.75rem/1.5 "Arial", serif;
        letter-spacing: .2em; }
    .header .gnav .scroller .bnr-area {
      margin-top: 3rem; }
      .header .gnav .scroller .bnr-area .bnr {
        margin-top: 2rem;
        max-width: 295px; }
  .header .sumitomo {
    padding: .5rem 1rem;
    background-color: rgba(0, 0, 0, 0.8);
    font-weight: bold;
    font-size: .8rem;
    line-height: 1;
    color: white; }
    @media screen and (max-width: 1099.98px) {
      .header .sumitomo {
        margin-left: auto; } }
    @media screen and (min-width: 1100px) {
      .header .sumitomo {
        margin: 1rem 0 0 24px;
        padding: 6px 12px;
        font-size: 13px; } }
    .header .sumitomo i {
      margin-left: .25em; }
  .header .hamburger {
    position: relative;
    z-index: 11;
    border: none;
    width: 44px;
    height: 100%;
    background-color: rgba(0, 0, 0, 0); }
    @media screen and (max-width: 599.98px) {
      .header .hamburger {
        margin-left: auto; } }
    @media screen and (min-width: 600px) {
      .header .hamburger {
        width: 60px; } }
    @media screen and (min-width: 1100px) {
      .header .hamburger {
        display: none; } }
    .header .hamburger span {
      display: block;
      margin: 0 auto;
      width: 26px;
      height: 3px;
      background-color: #4A5472; }
      .header .hamburger span:nth-child(n+2) {
        margin-top: 5px; }

@media screen and (max-width: 1099.98px) {
  .gnav {
    opacity: 0;
    pointer-events: none;
    transform: translateX(100%);
    transition: .2s; }

  .hamburger span {
    transition: all .2s;
    transform-origin: center; }

  .js-hamburger-active .gnav {
    opacity: 1 !important;
    pointer-events: all !important;
    transform: scale(1) !important; }
  .js-hamburger-active .hamburger span {
    width: 30px !important;
    background-color: white; }
    .js-hamburger-active .hamburger span:nth-child(1) {
      transform: translate(0, 8px) rotate(45deg) !important; }
    .js-hamburger-active .hamburger span:nth-child(2) {
      opacity: 0 !important; }
    .js-hamburger-active .hamburger span:nth-child(3) {
      transform: translate(0, -8px) rotate(-45deg) !important; } }
.indent {
  margin-left: 1rem;
  border-left: 0.5rem solid #F2EEE4;
  padding: 0 0 1.5rem 1.5rem; }
  .indent > *:nth-child(n+2) {
    margin-top: 1em; }
  .indent strong {
    font-weight: bold; }
  .indent ul li > i {
    display: inline-block;
    vertical-align: top; }
    .indent ul li > i + span {
      display: inline-block;
      vertical-align: top;
      width: calc(100% - 1em); }
  .indent ul li > ul {
    margin-left: 1rem; }

#interview .full-time .categories, #recruit .full-time .categories, #recruit-list .full-time .categories,
.recruit-categories {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1rem; }
  #interview .full-time .categories .category, #recruit .full-time .categories .category, #recruit-list .full-time .categories .category,
  .recruit-categories .category {
    text-align: center;
    color: white; }
    @media screen and (max-width: 599.98px) {
      #interview .full-time .categories .category, #recruit .full-time .categories .category, #recruit-list .full-time .categories .category,
      .recruit-categories .category {
        margin-left: 14px;
        width: calc(50% - 7px - .1px); }
        #interview .full-time .categories .category:nth-child(2n+1), #recruit .full-time .categories .category:nth-child(2n+1), #recruit-list .full-time .categories .category:nth-child(2n+1),
        .recruit-categories .category:nth-child(2n+1) {
          margin-left: 0; }
        #interview .full-time .categories .category:nth-child(n+3), #recruit .full-time .categories .category:nth-child(n+3), #recruit-list .full-time .categories .category:nth-child(n+3),
        .recruit-categories .category:nth-child(n+3) {
          margin-top: 15px; } }
    @media screen and (min-width: 600px) and (max-width: 1099.98px) {
      #interview .full-time .categories .category, #recruit .full-time .categories .category, #recruit-list .full-time .categories .category,
      .recruit-categories .category {
        margin-left: 15px;
        width: calc(33.3333% - 10px - .1px); }
        #interview .full-time .categories .category:nth-child(3n+1), #recruit .full-time .categories .category:nth-child(3n+1), #recruit-list .full-time .categories .category:nth-child(3n+1),
        .recruit-categories .category:nth-child(3n+1) {
          margin-left: 0; }
        #interview .full-time .categories .category:nth-child(n+4), #recruit .full-time .categories .category:nth-child(n+4), #recruit-list .full-time .categories .category:nth-child(n+4),
        .recruit-categories .category:nth-child(n+4) {
          margin-top: 15px; } }
    @media screen and (min-width: 1100px) {
      #interview .full-time .categories .category, #recruit .full-time .categories .category, #recruit-list .full-time .categories .category,
      .recruit-categories .category {
        margin-left: 15px;
        width: calc(20% - 12px - .1px); }
        #interview .full-time .categories .category:nth-child(5n+1), #recruit .full-time .categories .category:nth-child(5n+1), #recruit-list .full-time .categories .category:nth-child(5n+1),
        .recruit-categories .category:nth-child(5n+1) {
          margin-left: 0; }
        #interview .full-time .categories .category:nth-child(n+6), #recruit .full-time .categories .category:nth-child(n+6), #recruit-list .full-time .categories .category:nth-child(n+6),
        .recruit-categories .category:nth-child(n+6) {
          margin-top: 15px; } }
    #interview .full-time .categories .category a, #recruit .full-time .categories .category a, #recruit-list .full-time .categories .category a,
    .recruit-categories .category a {
      display: flex;
      justify-content: center;
      align-items: center;
      position: relative;
      background-color: #4A5472;
      height: 5rem; }
      @media screen and (min-width: 850px) {
        #interview .full-time .categories .category a, #recruit .full-time .categories .category a, #recruit-list .full-time .categories .category a,
        .recruit-categories .category a {
          transition: opacity .2s; }
          #interview .full-time .categories .category a:after, #recruit .full-time .categories .category a:after, #recruit-list .full-time .categories .category a:after,
          .recruit-categories .category a:after {
            transition: transform .2s; }
          #interview .full-time .categories .category a:hover, #recruit .full-time .categories .category a:hover, #recruit-list .full-time .categories .category a:hover,
          .recruit-categories .category a:hover {
            opacity: .9; }
            #interview .full-time .categories .category a:hover:after, #recruit .full-time .categories .category a:hover:after, #recruit-list .full-time .categories .category a:hover:after,
            .recruit-categories .category a:hover:after {
              transform: translate(25%, -50%) rotate(45deg); } }
      #interview .full-time .categories .category a:after, #recruit .full-time .categories .category a:after, #recruit-list .full-time .categories .category a:after,
      .recruit-categories .category a:after {
        content: '';
        display: block;
        position: absolute;
        top: 50%;
        right: 1.5rem;
        border-top: 2px solid rgba(255, 255, 255, 0.4);
        border-right: 2px solid rgba(255, 255, 255, 0.4);
        width: .75rem;
        height: .75rem;
        box-sizing: border-box;
        transform: translateY(-50%) rotate(45deg); }

#interview .content .list, #interview .more .list, #recruit .interview .list,
.interview-list {
  display: flex;
  flex-wrap: wrap; }
  #interview .content .list .item, #interview .more .list .item, #recruit .interview .list .item,
  .interview-list .item {
    position: relative;
    color: white; }
    @media screen and (max-width: 849.98px) {
      #interview .content .list .item, #interview .more .list .item, #recruit .interview .list .item,
      .interview-list .item {
        margin-left: 8px;
        width: calc(50% - 4px - .1px); }
        #interview .content .list .item:nth-child(2n+1), #interview .more .list .item:nth-child(2n+1), #recruit .interview .list .item:nth-child(2n+1),
        .interview-list .item:nth-child(2n+1) {
          margin-left: 0; }
        #interview .content .list .item:nth-child(n+3), #interview .more .list .item:nth-child(n+3), #recruit .interview .list .item:nth-child(n+3),
        .interview-list .item:nth-child(n+3) {
          margin-top: 20px; } }
    @media screen and (min-width: 850px) {
      #interview .content .list .item, #interview .more .list .item, #recruit .interview .list .item,
      .interview-list .item {
        margin-left: 39px;
        width: calc(33.3333% - 26px - .1px); }
        #interview .content .list .item:nth-child(3n+1), #interview .more .list .item:nth-child(3n+1), #recruit .interview .list .item:nth-child(3n+1),
        .interview-list .item:nth-child(3n+1) {
          margin-left: 0; }
        #interview .content .list .item:nth-child(n+4), #interview .more .list .item:nth-child(n+4), #recruit .interview .list .item:nth-child(n+4),
        .interview-list .item:nth-child(n+4) {
          margin-top: 40px; } }
    @media screen and (min-width: 850px) {
      #interview .content .list .item a .pic:after, #interview .more .list .item a .pic:after, #recruit .interview .list .item a .pic:after,
      .interview-list .item a .pic:after {
        transition: background-color .2s; }
      #interview .content .list .item a:hover .pic:after, #interview .more .list .item a:hover .pic:after, #recruit .interview .list .item a:hover .pic:after,
      .interview-list .item a:hover .pic:after {
        background-color: rgba(0, 0, 0, 0.5); } }
    #interview .content .list .item .job, #interview .more .list .item .job, #recruit .interview .list .item .job,
    .interview-list .item .job {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 2;
      padding: .25rem .5rem;
      background-color: #C7BCA2; }
    #interview .content .list .item .pic, #interview .more .list .item .pic, #recruit .interview .list .item .pic,
    .interview-list .item .pic {
      position: relative;
      z-index: 1;
      width: 100%;
      height: 100%;
      background-size: cover; }
      #interview .content .list .item .pic:after, #interview .more .list .item .pic:after, #recruit .interview .list .item .pic:after,
      .interview-list .item .pic:after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.3); }
    #interview .content .list .item .text, #interview .more .list .item .text, #recruit .interview .list .item .text,
    .interview-list .item .text {
      position: absolute;
      bottom: 1rem;
      left: 0;
      z-index: 2;
      padding: 0 1rem;
      width: 100%; }
      @media screen and (max-width: 849.98px) {
        #interview .content .list .item .text .label, #interview .more .list .item .text .label, #recruit .interview .list .item .text .label,
        .interview-list .item .text .label {
          display: none; } }
      #interview .content .list .item .text .name, #interview .more .list .item .text .name, #recruit .interview .list .item .text .name,
      .interview-list .item .text .name {
        margin-top: .5rem;
        text-align: right; }
        #interview .content .list .item .text .name span, #interview .more .list .item .text .name span, #recruit .interview .list .item .text .name span,
        .interview-list .item .text .name span {
          margin-left: 1rem; }
          @media screen and (max-width: 849.98px) {
            #interview .content .list .item .text .name span, #interview .more .list .item .text .name span, #recruit .interview .list .item .text .name span,
            .interview-list .item .text .name span {
              display: block; } }

#service .links .unit,
.links-1 .unit,
#top .service .links .unit, #bm .other .links .unit, #recruit .more .links .unit,
.links-2 .unit, #interview .consideration .links .unit, #recruit-detail .more .links .unit, #recruit-detail .consideration .links .unit, #recruit-list .consideration .links .unit,
.links-3 .unit, #training .content .links .unit, #training .movies .list .unit,
.links-4 .unit, #top .recruit .visual .unit {
  position: relative; }
#service .links .label,
.links-1 .label,
#top .service .links .label, #bm .other .links .label, #recruit .more .links .label,
.links-2 .label, #interview .consideration .links .label, #recruit-detail .more .links .label, #recruit-detail .consideration .links .label, #recruit-list .consideration .links .label,
.links-3 .label, #training .content .links .label, #training .movies .list .label,
.links-4 .label, #top .recruit .visual .label {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2; }
  #service .links .label .ja,
  .links-1 .label .ja,
  #top .service .links .label .ja, #bm .other .links .label .ja, #recruit .more .links .label .ja,
  .links-2 .label .ja, #interview .consideration .links .label .ja, #recruit-detail .more .links .label .ja, #recruit-detail .consideration .links .label .ja, #recruit-list .consideration .links .label .ja,
  .links-3 .label .ja, #training .content .links .label .ja, #training .movies .list .label .ja,
  .links-4 .label .ja, #top .recruit .visual .label .ja {
    position: absolute;
    bottom: 0;
    left: 0;
    padding: 1rem 3rem 1rem 1rem;
    background-color: white; }
    #service .links .label .ja:after,
    .links-1 .label .ja:after,
    #top .service .links .label .ja:after, #bm .other .links .label .ja:after, #recruit .more .links .label .ja:after,
    .links-2 .label .ja:after, #interview .consideration .links .label .ja:after, #recruit-detail .more .links .label .ja:after, #recruit-detail .consideration .links .label .ja:after, #recruit-list .consideration .links .label .ja:after,
    .links-3 .label .ja:after, #training .content .links .label .ja:after, #training .movies .list .label .ja:after,
    .links-4 .label .ja:after, #top .recruit .visual .label .ja:after {
      border-top: 2px solid #C7BCA2;
      border-right: 2px solid #C7BCA2; }
  #service .links .label .en,
  .links-1 .label .en,
  #top .service .links .label .en, #bm .other .links .label .en, #recruit .more .links .label .en,
  .links-2 .label .en, #interview .consideration .links .label .en, #recruit-detail .more .links .label .en, #recruit-detail .consideration .links .label .en, #recruit-list .consideration .links .label .en,
  .links-3 .label .en, #training .content .links .label .en, #training .movies .list .label .en,
  .links-4 .label .en, #top .recruit .visual .label .en {
    position: absolute;
    top: 2em;
    right: 1.5em;
    padding-left: 1rem;
    width: auto;
    color: white; }
#service .links .pic,
.links-1 .pic,
#top .service .links .pic, #bm .other .links .pic, #recruit .more .links .pic,
.links-2 .pic, #interview .consideration .links .pic, #recruit-detail .more .links .pic, #recruit-detail .consideration .links .pic, #recruit-list .consideration .links .pic,
.links-3 .pic, #training .content .links .pic, #training .movies .list .pic,
.links-4 .pic, #top .recruit .visual .pic {
  position: relative;
  z-index: 1; }
  #service .links .pic:after,
  .links-1 .pic:after,
  #top .service .links .pic:after, #bm .other .links .pic:after, #recruit .more .links .pic:after,
  .links-2 .pic:after, #interview .consideration .links .pic:after, #recruit-detail .more .links .pic:after, #recruit-detail .consideration .links .pic:after, #recruit-list .consideration .links .pic:after,
  .links-3 .pic:after, #training .content .links .pic:after, #training .movies .list .pic:after,
  .links-4 .pic:after, #top .recruit .visual .pic:after {
    content: '';
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.1); }
@media screen and (min-width: 850px) {
  #service .links a .pic:after,
  .links-1 a .pic:after,
  #top .service .links a .pic:after, #bm .other .links a .pic:after, #recruit .more .links a .pic:after,
  .links-2 a .pic:after, #interview .consideration .links a .pic:after, #recruit-detail .more .links a .pic:after, #recruit-detail .consideration .links a .pic:after, #recruit-list .consideration .links a .pic:after,
  .links-3 a .pic:after, #training .content .links a .pic:after, #training .movies .list a .pic:after,
  .links-4 a .pic:after, #top .recruit .visual a .pic:after {
    transition: background-color .2s; }
  #service .links a .label .ja:after,
  .links-1 a .label .ja:after,
  #top .service .links a .label .ja:after, #bm .other .links a .label .ja:after, #recruit .more .links a .label .ja:after,
  .links-2 a .label .ja:after, #interview .consideration .links a .label .ja:after, #recruit-detail .more .links a .label .ja:after, #recruit-detail .consideration .links a .label .ja:after, #recruit-list .consideration .links a .label .ja:after,
  .links-3 a .label .ja:after, #training .content .links a .label .ja:after, #training .movies .list a .label .ja:after,
  .links-4 a .label .ja:after, #top .recruit .visual a .label .ja:after {
    transition: transform .2s; }
  #service .links a:hover .pic:after,
  .links-1 a:hover .pic:after,
  #top .service .links a:hover .pic:after, #bm .other .links a:hover .pic:after, #recruit .more .links a:hover .pic:after,
  .links-2 a:hover .pic:after, #interview .consideration .links a:hover .pic:after, #recruit-detail .more .links a:hover .pic:after, #recruit-detail .consideration .links a:hover .pic:after, #recruit-list .consideration .links a:hover .pic:after,
  .links-3 a:hover .pic:after, #training .content .links a:hover .pic:after, #training .movies .list a:hover .pic:after,
  .links-4 a:hover .pic:after, #top .recruit .visual a:hover .pic:after {
    background-color: rgba(0, 0, 0, 0.5); }
  #service .links a:hover .label .ja:after,
  .links-1 a:hover .label .ja:after,
  #top .service .links a:hover .label .ja:after, #bm .other .links a:hover .label .ja:after, #recruit .more .links a:hover .label .ja:after,
  .links-2 a:hover .label .ja:after, #interview .consideration .links a:hover .label .ja:after, #recruit-detail .more .links a:hover .label .ja:after, #recruit-detail .consideration .links a:hover .label .ja:after, #recruit-list .consideration .links a:hover .label .ja:after,
  .links-3 a:hover .label .ja:after, #training .content .links a:hover .label .ja:after, #training .movies .list a:hover .label .ja:after,
  .links-4 a:hover .label .ja:after, #top .recruit .visual a:hover .label .ja:after {
    transform: translate(3px, -50%) rotate(45deg); } }

@media screen and (max-width: 1099.98px) {
  #service .links,
  .links-1,
  #top .service .links {
    overflow-x: auto; } }
#service .links .inner,
.links-1 .inner,
#top .service .links .inner {
  display: flex;
  justify-content: space-between;
  width: 1000px; }
  @media screen and (min-width: 600px) {
    #service .links .inner,
    .links-1 .inner,
    #top .service .links .inner {
      width: 1100px; } }
  @media screen and (min-width: 1100px) {
    #service .links .inner,
    .links-1 .inner,
    #top .service .links .inner {
      width: 100%; } }
#service .links .unit,
.links-1 .unit,
#top .service .links .unit {
  width: calc(25% - .5em); }
  #service .links .unit .thumbnail,
  .links-1 .unit .thumbnail,
  #top .service .links .unit .thumbnail {
    position: relative; }

@media screen and (min-width: 850px) {
  #bm .other .links, #recruit .more .links,
  .links-2 {
    display: flex; } }
@media screen and (max-width: 849.98px) {
  #bm .other .links .unit, #recruit .more .links .unit,
  .links-2 .unit {
    margin-top: 9px; } }
@media screen and (min-width: 850px) {
  #bm .other .links .unit, #recruit .more .links .unit,
  .links-2 .unit {
    margin-left: 9px;
    width: calc(33.3333% - 6px - .1px); }
    #bm .other .links .unit:nth-child(3n+1), #recruit .more .links .unit:nth-child(3n+1),
    .links-2 .unit:nth-child(3n+1) {
      margin-left: 0; } }
#bm .other .links .unit .pic, #recruit .more .links .unit .pic,
.links-2 .unit .pic {
  background-position: center top;
  background-size: cover; }

@media screen and (min-width: 850px) {
  #interview .consideration .links, #recruit-detail .more .links, #recruit-detail .consideration .links, #recruit-list .consideration .links,
  .links-3 {
    display: flex; } }
@media screen and (max-width: 849.98px) {
  #interview .consideration .links .unit, #recruit-detail .more .links .unit, #recruit-detail .consideration .links .unit, #recruit-list .consideration .links .unit,
  .links-3 .unit {
    margin-top: 9px; } }
@media screen and (min-width: 850px) {
  #interview .consideration .links .unit, #recruit-detail .more .links .unit, #recruit-detail .consideration .links .unit, #recruit-list .consideration .links .unit,
  .links-3 .unit {
    margin-left: 10px;
    width: calc(50% - 5px - .1px); }
    #interview .consideration .links .unit:nth-child(3n+1), #recruit-detail .more .links .unit:nth-child(3n+1), #recruit-detail .consideration .links .unit:nth-child(3n+1), #recruit-list .consideration .links .unit:nth-child(3n+1),
    .links-3 .unit:nth-child(3n+1) {
      margin-left: 0; } }

#training .content .links .unit:nth-child(n+2), #training .movies .list .unit:nth-child(n+2),
.links-4 .unit:nth-child(n+2) {
  margin-top: 2rem; }

.map {
  position: relative;
  width: 100%; }
  .map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .map:after {
    content: '';
    display: block;
    width: 100%;
    height: 0;
    padding-bottom: 100%; }
    @media screen and (min-width: 1100px) {
      .map:after {
        padding-bottom: 38%; } }

.movie {
  position: relative; }
  .movie > iframe, .movie video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .movie:after {
    content: '';
    position: relative;
    display: block;
    width: 100%;
    padding-bottom: 56.25%;
    pointer-events: none; }

.number strong {
  font: bold 28px/1.15 "Arial", serif;
  letter-spacing: .2em; }
  @media screen and (min-width: 600px) {
    .number strong {
      font-size: 34px; } }
  @media screen and (min-width: 1100px) {
    .number strong {
      font-size: 40px; } }

.form .back, #interview .back, #recruit-detail .back, #recruit-list .back, #training-detail .back, #part .back,
.page-back {
  margin-top: 2rem; }
  .form .back a:before, #interview .back a:before, #recruit-detail .back a:before, #recruit-list .back a:before, #training-detail .back a:before, #part .back a:before,
  .page-back a:before {
    content: 'chevron_left';
    display: inline-block;
    vertical-align: middle;
    font-size: 2rem;
    text-indent: -.25em;
    color: #C7BCA2; }

.page-head .label {
  position: relative;
  z-index: 2;
  padding: 4rem 0 2.5rem;
  text-align: center; }
  .page-head .label .ja {
    margin-top: 1rem; }
.page-head .nav {
  width: 100%;
  max-width: inherit !important;
  background-color: #4A5472;
  color: white; }
  .page-head .nav .page,
  .page-head .nav .anchor {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    padding: .5rem 0; }
    .page-head .nav .page:nth-child(n+2),
    .page-head .nav .anchor:nth-child(n+2) {
      border-top: 1px solid rgba(255, 255, 255, 0.4); }
  .page-head .nav .page .item {
    margin: 0 1.5rem; }
    .page-head .nav .page .item.current {
      font-weight: bold;
      color: #C7BCA2; }
  .page-head .nav .anchor {
    color: rgba(255, 255, 255, 0.6); }
    .page-head .nav .anchor .item {
      margin: 0 2rem;
      cursor: pointer;
      pointer-events: all; }
  .page-head .nav .item {
    margin-top: .5rem !important;
    margin-bottom: .5rem !important; }
    @media screen and (min-width: 850px) {
      .page-head .nav .item {
        transition: color .2s; }
        .page-head .nav .item:hover {
          color: #C7BCA2; } }

.page-heading .ja {
  margin-top: .5rem; }

.table table {
  width: 100%; }
@media screen and (max-width: 849.98px) {
  .table * {
    display: block; }
  .table thead {
    display: none;
    padding: .5em 1em;
    color: rgba(0, 0, 0, 0.5); }
  .table tbody tr {
    padding-bottom: 1.5em; }
  .table tbody th {
    margin-bottom: 1em;
    padding: .5em 1em;
    background-color: #F2EEE4;
    color: rgba(0, 0, 0, 0.5); }
  .table tbody td {
    padding: 0 1em; } }
@media screen and (min-width: 850px) {
  .table thead {
    text-align: center;
    color: rgba(0, 0, 0, 0.5); }
    .table thead td {
      padding-bottom: 1.5rem; }
    .table thead th {
      padding: 1em; }
  .table tbody th,
  .table tbody td {
    padding: 1.5rem 0; }
  .table tbody tr:nth-child(1) td:before {
    opacity: 1; }
  .table tbody th {
    padding: 1.5rem 0;
    background-color: #F2EEE4;
    width: 174px;
    text-align: center;
    color: rgba(0, 0, 0, 0.5);
    border-top: 2px solid white; }
  .table tbody td {
    position: relative;
    padding: 1.5rem 2.5rem; }
    .table tbody td:before, .table tbody td:after {
      content: '';
      display: block;
      position: absolute;
      right: 0;
      width: calc(100% - 1rem);
      height: 1px;
      background-color: rgba(0, 0, 0, 0.1); }
    .table tbody td:before {
      top: 0;
      opacity: 0; }
    .table tbody td:after {
      bottom: 0; }
  .table p:nth-child(n+2) {
    margin-top: 1em; } }
.table .map {
  margin: 1em auto;
  max-width: 554px; }

.btn-area {
  margin-left: 50%;
  padding-top: 3.5rem;
  padding-bottom: 1.5rem;
  width: 100vw;
  min-width: 100vw;
  text-align: right;
  transform: translateX(-50vw); }
  @media screen and (min-width: 600px) {
    .btn-area {
      display: flex;
      justify-content: flex-end; } }
  @media screen and (min-width: 1580px) {
    .btn-area {
      max-width: 1500px !important;
      min-width: inherit !important;
      transform: translateX(0);
      margin: 0 auto;
      padding-right: 0 !important;
      padding-left: 0 !important;
      width: 100% !important; } }
  .btn-area:after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.5);
    width: calc(100vw - 60px); }
    @media screen and (min-width: 600px) {
      .btn-area:after {
        width: calc(100vw - 120px); } }
    @media screen and (min-width: 1100px) {
      .btn-area:after {
        width: calc(100vw - 240px); } }
    @media screen and (min-width: 1500px) {
      .btn-area:after {
        right: auto;
        left: 240px;
        width: 100vw; } }
  @media screen and (max-width: 599.98px) {
    .btn-area .btn {
      margin-left: auto; } }
  @media screen and (max-width: 599.98px) {
    .btn-area .btn:nth-child(n+2) {
      margin-top: 1rem; } }
  @media screen and (min-width: 600px) {
    .btn-area .btn:nth-child(n+2) {
      margin-left: 1.5rem; } }

.form .btn a, .btn-area .btn a, #recruit-detail .detail .btn a,
.form .btn input,
.btn-area .btn input,
#recruit-detail .detail .btn input,
.btn-1 a,
.btn-1 input {
  display: inline-block;
  position: relative;
  border-radius: 0 !important;
  padding: 1rem 3rem;
  min-width: 160px;
  background-color: #4A5472;
  text-align: center;
  color: white; }
  .form .btn a:after, .btn-area .btn a:after, #recruit-detail .detail .btn a:after,
  .form .btn input:after,
  .btn-area .btn input:after,
  #recruit-detail .detail .btn input:after,
  .btn-1 a:after,
  .btn-1 input:after {
    border-top: 2px solid rgba(255, 255, 255, 0.5);
    border-right: 2px solid rgba(255, 255, 255, 0.5); }
  @media screen and (min-width: 600px) {
    .form .btn a, .btn-area .btn a, #recruit-detail .detail .btn a,
    .form .btn input,
    .btn-area .btn input,
    #recruit-detail .detail .btn input,
    .btn-1 a,
    .btn-1 input {
      min-width: 200px; } }
  @media screen and (min-width: 850px) {
    .form .btn a, .btn-area .btn a, #recruit-detail .detail .btn a,
    .form .btn input,
    .btn-area .btn input,
    #recruit-detail .detail .btn input,
    .btn-1 a,
    .btn-1 input {
      transition: opacity .2s; }
      .form .btn a:after, .btn-area .btn a:after, #recruit-detail .detail .btn a:after,
      .form .btn input:after,
      .btn-area .btn input:after,
      #recruit-detail .detail .btn input:after,
      .btn-1 a:after,
      .btn-1 input:after {
        transition: transform .2s; }
      .form .btn a:hover, .btn-area .btn a:hover, #recruit-detail .detail .btn a:hover,
      .form .btn input:hover,
      .btn-area .btn input:hover,
      #recruit-detail .detail .btn input:hover,
      .btn-1 a:hover,
      .btn-1 input:hover {
        opacity: .9; }
        .form .btn a:hover:after, .btn-area .btn a:hover:after, #recruit-detail .detail .btn a:hover:after,
        .form .btn input:hover:after,
        .btn-area .btn input:hover:after,
        #recruit-detail .detail .btn input:hover:after,
        .btn-1 a:hover:after,
        .btn-1 input:hover:after {
          transform: translate(3px, -50%) rotate(45deg); } }
  @media screen and (min-width: 1100px) {
    .form .btn a, .btn-area .btn a, #recruit-detail .detail .btn a,
    .form .btn input,
    .btn-area .btn input,
    #recruit-detail .detail .btn input,
    .btn-1 a,
    .btn-1 input {
      min-width: 240px; } }

.btn-sign {
  display: block;
  max-width: 240px;
  height: 40px;
  margin: 0.5rem auto 0;
  border: 1px solid #4a5572;
  background-color: #4a5572;
  text-align: center;
  font-weight: bold;
  font-size: 14px;
  line-height: 40px;
  color: #fff;
  transition: all 0.2s ease; }
  .btn-sign:link, .btn-sign:visited {
    color: #fff; }
  .btn-sign:hover {
    background-color: #fff;
    color: #4a5572; }

#bm .example .list, #welfare .culture .list,
.card-1 {
  display: flex;
  flex-wrap: wrap;
  margin-top: 1rem; }
  @media screen and (max-width: 849.98px) {
    #bm .example .list .item, #welfare .culture .list .item,
    .card-1 .item {
      margin-left: 1rem;
      width: calc(50% - .5rem - .1px); }
      #bm .example .list .item:nth-child(2n+1), #welfare .culture .list .item:nth-child(2n+1),
      .card-1 .item:nth-child(2n+1) {
        margin-left: 0; }
      #bm .example .list .item:nth-child(n+3), #welfare .culture .list .item:nth-child(n+3),
      .card-1 .item:nth-child(n+3) {
        margin-top: 2rem; } }
  @media screen and (min-width: 850px) {
    #bm .example .list .item, #welfare .culture .list .item,
    .card-1 .item {
      margin-left: 1.5rem;
      width: calc(33.3333% - 1rem - .1px); }
      #bm .example .list .item:nth-child(3n+1), #welfare .culture .list .item:nth-child(3n+1),
      .card-1 .item:nth-child(3n+1) {
        margin-left: 0; }
      #bm .example .list .item:nth-child(n+4), #welfare .culture .list .item:nth-child(n+4),
      .card-1 .item:nth-child(n+4) {
        margin-top: 2rem; } }
  #bm .example .list .item .label, #welfare .culture .list .item .label,
  .card-1 .item .label {
    margin-top: 1rem; }
  #bm .example .list .item .body, #welfare .culture .list .item .body,
  .card-1 .item .body {
    margin-top: .5rem;
    color: rgba(0, 0, 0, 0.5); }

#top .kv {
  position: relative;
  color: white;
  background-color: rgba(0, 0, 0, 0.8); }
  @media screen and (min-width: 1700px) {
    #top .kv {
      padding: 0 calc((100% - 1700px) / 2); } }
  #top .kv .container {
    position: relative;
    z-index: 1;
    overflow: hidden; }
    #top .kv .container .unit {
      position: relative;
      opacity: 0;
      filter: contrast(200%);
      transition: opacity 5s, filter 2.5s; }
      #top .kv .container .unit .pic {
        transform: scale(1.1);
        transition: transform-origin 15s linear; }
        @media screen and (min-width: 850px) {
          #top .kv .container .unit .pic {
            transform: scale(1.05); } }
      #top .kv .container .unit:nth-child(4n+1) .pic {
        transform-origin: right center; }
      #top .kv .container .unit:nth-child(4n+2) .pic {
        transform-origin: center top; }
      #top .kv .container .unit:nth-child(4n+3) .pic {
        transform-origin: left center; }
      #top .kv .container .unit:nth-child(4n+4) .pic {
        transform-origin: center bottom; }
      #top .kv .container .unit[data-active='1'] {
        filter: contrast(100%);
        opacity: 1; }
        #top .kv .container .unit[data-active='1']:nth-child(4n+1) .pic {
          transform-origin: left center; }
        #top .kv .container .unit[data-active='1']:nth-child(4n+2) .pic {
          transform-origin: center bottom; }
        #top .kv .container .unit[data-active='1']:nth-child(4n+3) .pic {
          transform-origin: right center; }
        #top .kv .container .unit[data-active='1']:nth-child(4n+4) .pic {
          transform-origin: center top; }
      #top .kv .container .unit[data-after='1']:nth-child(4n+1) .pic {
        transform-origin: left center; }
      #top .kv .container .unit[data-after='1']:nth-child(4n+2) .pic {
        transform-origin: center bottom; }
      #top .kv .container .unit[data-after='1']:nth-child(4n+3) .pic {
        transform-origin: right center; }
      #top .kv .container .unit[data-after='1']:nth-child(4n+4) .pic {
        transform-origin: center top; }
    #top .kv .container .unit:nth-child(n+2) {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    #top .kv .container .text {
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      z-index: 2;
      transform: translate(-50%, -50%); }
      #top .kv .container .text .en {
        margin-top: 1rem; }
        @media screen and (min-width: 600px) {
          #top .kv .container .text .en {
            margin-top: 1.5rem; } }
        @media screen and (min-width: 1100px) {
          #top .kv .container .text .en {
            margin-top: 2.75rem; } }
    #top .kv .container .pic {
      position: relative;
      z-index: 1; }
      #top .kv .container .pic > div {
        width: 100%;
        background-size: cover;
        background-position: center; }
        #top .kv .container .pic > div:after {
          content: '';
          display: block;
          width: 100%;
          height: 0;
          box-sizing: content-box; }
        @media screen and (max-width: 849.98px) {
          #top .kv .container .pic > div {
            padding-bottom: 106.6%; } }
        @media screen and (min-width: 850px) {
          #top .kv .container .pic > div {
            padding-bottom: 61.8%; } }
      #top .kv .container .pic:after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 2;
        width: 100%;
        height: 100%;
        background-color: rgba(0, 0, 0, 0.2); }
  #top .kv .guide {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    z-index: 2;
    font: bold 10px/14px "Arial", serif;
    transform: translateX(-50%);
    cursor: pointer;
    pointer-events: all; }
    @media screen and (min-width: 600px) {
      #top .kv .guide {
        font-size: 11px; } }
    @media screen and (min-width: 600px) {
      #top .kv .guide i {
        transition: transform .2s; }
      #top .kv .guide:hover i {
        transform: translateY(2px); } }
    @media screen and (min-width: 1100px) {
      #top .kv .guide {
        font-size: 12px;
        bottom: 1.5rem; } }
    #top .kv .guide span {
      display: block; }
    #top .kv .guide i {
      display: block;
      position: relative;
      margin: .5em auto 0;
      width: 2em;
      height: 2em; }
      #top .kv .guide i:before, #top .kv .guide i:after {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 50%; }
      #top .kv .guide i:before {
        width: 1px;
        height: 100%;
        transform: translateX(-50%);
        background-color: white; }
      #top .kv .guide i:after {
        border-top: 1px solid white;
        border-right: 1px solid white;
        width: 50%;
        height: 50%;
        transform: translate(-50%, -10%) rotate(135deg); }
  #top .kv .surface {
    position: absolute;
    top: 24px;
    left: 48px;
    z-index: 9;
    padding: 1.5rem;
    background-color: rgba(255, 255, 255, 0.8);
    color: rgba(0, 0, 0, 0.8); }
    #top .kv .surface .heading {
      display: flex;
      align-items: baseline; }
      #top .kv .surface .heading .sub {
        margin-right: 1rem; }
    #top .kv .surface .tel {
      margin-top: 1rem; }
      #top .kv .surface .tel .number {
        margin-top: .25rem;
        font: bold 2rem/1 "Arial", serif;
        letter-spacing: .15em;
        color: #4A5472; }
        #top .kv .surface .tel .number span {
          font-weight: bold;
          letter-spacing: 0; }
    #top .kv .surface .btns {
      display: flex;
      margin-top: 1rem; }
      #top .kv .surface .btns .btn.full a {
        background-color: #4A5472; }
      #top .kv .surface .btns .btn.part a {
        background-color: #D9A51E; }
      #top .kv .surface .btns .btn a {
        padding: .5rem 0;
        width: 10rem;
        text-align: center;
        font-weight: bold;
        font-size: .9rem;
        color: white; }
        @media screen and (min-width: 850px) {
          #top .kv .surface .btns .btn a {
            transition: .2s opacity; }
            #top .kv .surface .btns .btn a:hover {
              opacity: .75; } }
#top .news {
  position: relative;
  display: flex;
  align-items: center;
  padding-top: 1rem;
  padding-bottom: 1rem; }
  @media screen and (min-width: 600px) {
    #top .news {
      padding-top: 1.25rem;
      padding-bottom: 1.25rem; } }
  @media screen and (min-width: 1100px) {
    #top .news {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem; } }
  #top .news:after {
    content: '';
    position: absolute;
    bottom: 0;
    right: 0;
    width: calc(100vw - 10px);
    height: 1px;
    background-color: rgba(0, 0, 0, 0.5); }
    @media screen and (min-width: 600px) {
      #top .news:after {
        width: calc(100vw - 20px); } }
    @media screen and (min-width: 1100px) {
      #top .news:after {
        width: calc(100vw - 40px); } }
    @media screen and (min-width: 1400px) {
      #top .news:after {
        width: calc(100% - 40px); } }
  #top .news .heading {
    width: 100px; }
    @media screen and (min-width: 600px) {
      #top .news .heading {
        width: 130px; } }
    @media screen and (min-width: 1100px) {
      #top .news .heading {
        width: 160px; } }
  #top .news .container {
    width: calc(100% - 100px); }
    @media screen and (min-width: 600px) {
      #top .news .container {
        width: calc(100% - 130px); } }
    @media screen and (min-width: 1100px) {
      #top .news .container {
        width: calc(100% - 160px); } }
  @media screen and (min-width: 600px) {
    #top .news .post a {
      display: flex;
      align-items: center; } }
  #top .news .post time {
    width: 10em; }
    @media screen and (max-width: 1099.98px) {
      #top .news .post time {
        display: block; } }
  #top .news .post span {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; }
    @media screen and (max-width: 1099.98px) {
      #top .news .post span {
        display: block; } }
    @media screen and (min-width: 1100px) {
      #top .news .post span {
        margin-left: 1.5rem; } }
#top .about {
  padding-top: 4.25rem;
  padding-bottom: 2.5rem; }
  @media screen and (min-width: 850px) {
    #top .about .content {
      display: flex;
      flex-direction: row-reverse;
      justify-content: space-between; } }
  #top .about .content .fig {
    text-align: center; }
    @media screen and (min-width: 850px) {
      #top .about .content .fig {
        padding-left: 3.75rem;
        width: 50%; } }
    @media screen and (min-width: 1100px) {
      #top .about .content .fig {
        padding-left: 7.5rem; } }
    #top .about .content .fig img {
      max-width: 370px; }
      @media screen and (min-width: 1100px) {
        #top .about .content .fig img {
          max-width: 474px; } }
  @media screen and (max-width: 849.98px) {
    #top .about .content .text {
      margin-top: 2rem; } }
  @media screen and (min-width: 850px) {
    #top .about .content .text {
      width: 50%; } }
  #top .about .content .text .heading .ja {
    margin-top: .5rem; }
  #top .about .content .text .body {
    margin-top: 2.5em; }
  #top .about .content .text .border-box {
    margin-top: 1.5rem;
    padding: 2rem;
    border: 1px solid #C7BCA2; }
    #top .about .content .text .border-box .description {
      margin-top: 1rem; }
  #top .about .certification {
    margin-top: 3.5rem; }
    @media screen and (min-width: 850px) {
      #top .about .certification {
        display: flex; } }
    @media screen and (min-width: 850px) {
      #top .about .certification .text {
        width: calc(100% - 250px); } }
    #top .about .certification .text .body {
      margin-top: 1rem; }
    #top .about .certification .fig {
      width: 200px; }
      @media screen and (max-width: 849.98px) {
        #top .about .certification .fig {
          margin-top: 1rem; } }
      @media screen and (min-width: 850px) {
        #top .about .certification .fig {
          margin-left: auto; } }
#top .company,
#top .service,
#top .recruit {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }
  #top .company .heading,
  #top .service .heading,
  #top .recruit .heading {
    padding-bottom: 5rem;
    text-align: center; }
    #top .company .heading .ja,
    #top .service .heading .ja,
    #top .recruit .heading .ja {
      margin-top: 1rem; }
  #top .company .label,
  #top .service .label,
  #top .recruit .label {
    z-index: 2; }
    #top .company .label .ja,
    #top .service .label .ja,
    #top .recruit .label .ja {
      position: absolute;
      bottom: 0;
      left: 0;
      padding: 1rem 3rem 1rem 1rem;
      background-color: white; }
    #top .company .label .en,
    #top .service .label .en,
    #top .recruit .label .en {
      position: absolute;
      top: 2em;
      right: 1.5em;
      width: calc(100% - 3rem);
      color: white; }
  #top .company .pic,
  #top .service .pic,
  #top .recruit .pic {
    z-index: 1;
    background: no-repeat center/cover; }
  #top .company .excerpt,
  #top .service .excerpt,
  #top .recruit .excerpt {
    padding: 1rem;
    background-color: white; }
@media screen and (min-width: 850px) {
  #top .company .links {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }
#top .company .links .unit {
  position: relative;
  height: 200px;
  width: 100%; }
  @media screen and (max-width: 1099.98px) {
    #top .company .links .unit:nth-child(n+2) {
      margin-top: .5em; } }
  @media screen and (min-width: 600px) {
    #top .company .links .unit {
      height: 320px; } }
  @media screen and (min-width: 1100px) {
    #top .company .links .unit {
      width: calc(50% - .25em);
      height: 320px; } }
  #top .company .links .unit:nth-child(1) .pic {
    background-position: 50% 30%; }
  @media screen and (min-width: 1100px) {
    #top .company .links .unit:nth-child(3) {
      margin-top: .5em;
      width: 100%;
      height: 230px; } }
  #top .company .links .unit a {
    height: 100%; }
#top .recruit .visual {
  position: relative;
  background: url(../img/recruit/visual.jpg) no-repeat center/cover; }
#top .recruit .lead {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 3;
  padding-left: 1rem;
  max-width: 100%;
  color: white;
  transform: translateY(-50%); }
#top .recruit .pic {
  position: relative;
  background-size: cover;
  background-position: 65% center; }
  #top .recruit .pic:before {
    content: '';
    display: block;
    padding-bottom: 75%;
    width: 100%; }
    @media screen and (min-width: 850px) {
      #top .recruit .pic:before {
        padding-bottom: 37.3%; } }

#building .intro {
  padding-top: 5rem;
  padding-bottom: 2.5rem; }
  #building .intro .lead {
    margin-top: 1rem; }
  #building .intro .map {
    margin-top: 3.5rem; }
#building .office,
#building .apartment {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }
  @media screen and (min-width: 1100px) {
    #building .office .container,
    #building .apartment .container {
      display: flex;
      justify-content: space-between; } }
  @media screen and (max-width: 1099.98px) {
    #building .office .container .pic,
    #building .apartment .container .pic {
      margin-top: 3rem; } }
  @media screen and (min-width: 1100px) {
    #building .office .container .pic,
    #building .apartment .container .pic {
      margin: 7rem 0 0 3rem; } }
  #building .office .list,
  #building .apartment .list {
    margin-top: 3.5rem; }
    #building .office .list table,
    #building .apartment .list table {
      width: auto; }
    @media screen and (min-width: 850px) {
      #building .office .list a,
      #building .apartment .list a {
        transition: color .2s; }
        #building .office .list a:after,
        #building .apartment .list a:after {
          transition: transform .2s; }
        #building .office .list a:hover,
        #building .apartment .list a:hover {
          color: #C7BCA2; }
          #building .office .list a:hover:after,
          #building .apartment .list a:hover:after {
            transform: translate(3px, -50%) rotate(45deg); } }
    @media screen and (max-width: 599.98px) {
      #building .office .list *,
      #building .apartment .list * {
        display: block; }
      #building .office .list thead,
      #building .apartment .list thead {
        display: none; } }
@media screen and (max-width: 599.98px) and (min-width: 600px) {
  #building .office .list tbody,
  #building .apartment .list tbody {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between; } }
    @media screen and (max-width: 599.98px) {
      #building .office .list tbody tr,
      #building .apartment .list tbody tr {
        border: 1px solid rgba(0, 0, 0, 0.1); }
        #building .office .list tbody tr:nth-child(n+1),
        #building .apartment .list tbody tr:nth-child(n+1) {
          margin-top: 1rem; } }
  @media screen and (max-width: 599.98px) and (min-width: 600px) {
    #building .office .list tbody tr,
    #building .apartment .list tbody tr {
      width: calc(50% - .5rem); } }
    @media screen and (max-width: 599.98px) {
      #building .office .list tbody th, #building .office .list tbody td,
      #building .apartment .list tbody th,
      #building .apartment .list tbody td {
        padding: 0 1em;
        line-height: 1.5; }
        #building .office .list tbody th:before, #building .office .list tbody td:before,
        #building .apartment .list tbody th:before,
        #building .apartment .list tbody td:before {
          content: attr(data-label);
          display: inline-block;
          vertical-align: middle;
          width: 7em;
          font-size: 1em;
          color: rgba(0, 0, 0, 0.5); }
        #building .office .list tbody th:nth-child(1), #building .office .list tbody td:nth-child(1),
        #building .apartment .list tbody th:nth-child(1),
        #building .apartment .list tbody td:nth-child(1) {
          margin-bottom: .5em; }
        #building .office .list tbody th:last-child, #building .office .list tbody td:last-child,
        #building .apartment .list tbody th:last-child,
        #building .apartment .list tbody td:last-child {
          padding-bottom: .5em; }
        #building .office .list tbody th:nth-child(n+2), #building .office .list tbody td:nth-child(n+2),
        #building .apartment .list tbody th:nth-child(n+2),
        #building .apartment .list tbody td:nth-child(n+2) {
          margin-top: .25em; }
        #building .office .list tbody th a, #building .office .list tbody td a,
        #building .apartment .list tbody th a,
        #building .apartment .list tbody td a {
          display: inline-block;
          vertical-align: middle;
          padding-right: 3em;
          width: calc(100% - 6em); }
      #building .office .list tbody th,
      #building .apartment .list tbody th {
        padding: .5em 1em;
        background-color: #F2EEE4; } }
    @media screen and (min-width: 600px) {
      #building .office .list thead,
      #building .apartment .list thead {
        text-align: center;
        color: rgba(0, 0, 0, 0.5); }
        #building .office .list thead td,
        #building .apartment .list thead td {
          padding-bottom: 1.5rem; }
          #building .office .list thead td:nth-child(n+2),
          #building .apartment .list thead td:nth-child(n+2) {
            padding-left: 1rem; }
        #building .office .list thead th,
        #building .apartment .list thead th {
          padding: 1em; }
      #building .office .list tbody tr:nth-child(1) td:before,
      #building .apartment .list tbody tr:nth-child(1) td:before {
        opacity: 1; }
      #building .office .list tbody th,
      #building .apartment .list tbody th {
        padding: 1.5rem 0;
        background-color: #F2EEE4;
        width: 200px;
        text-align: center;
        color: rgba(0, 0, 0, 0.5);
        border-top: 2px solid white; }
      #building .office .list tbody td,
      #building .apartment .list tbody td {
        position: relative;
        padding: 1.5rem 0 1.5rem 1rem;
        width: 200px;
        text-align: center; }
        #building .office .list tbody td:before, #building .office .list tbody td:after,
        #building .apartment .list tbody td:before,
        #building .apartment .list tbody td:after {
          content: '';
          display: block;
          position: absolute;
          right: 0;
          width: calc(100% - 1rem);
          height: 1px;
          background-color: rgba(0, 0, 0, 0.1); }
        #building .office .list tbody td:before,
        #building .apartment .list tbody td:before {
          top: 0;
          opacity: 0; }
        #building .office .list tbody td:after,
        #building .apartment .list tbody td:after {
          bottom: 0; } }

#bm .page-heading {
  margin-top: 5rem; }
#bm .visual {
  margin-top: 1.5rem; }
#bm .intro {
  margin-top: 2rem; }
  @media screen and (min-width: 850px) {
    #bm .intro {
      display: flex;
      align-items: center; } }
  @media screen and (min-width: 850px) {
    #bm .intro .body {
      width: calc(100% - 400px); } }
  #bm .intro .fig {
    font-size: 0; }
    @media screen and (max-width: 849.98px) {
      #bm .intro .fig {
        margin-top: 2rem; } }
    @media screen and (min-width: 850px) {
      #bm .intro .fig {
        padding-left: 2rem;
        width: 400px; } }
#bm .work {
  margin-top: 5rem; }
  #bm .work .label {
    margin-top: 3rem; }
  #bm .work .indent {
    margin-top: 1.5rem; }
#bm .example {
  margin-top: 5rem; }
  #bm .example .triggers {
    margin: 2rem 0 3rem; }
    @media screen and (min-width: 1100px) {
      #bm .example .triggers {
        display: flex;
        flex-wrap: wrap; } }
    #bm .example .triggers .trigger {
      position: relative;
      padding: 0 1.5rem;
      color: rgba(0, 0, 0, 0.5); }
      @media screen and (min-width: 1100px) {
        #bm .example .triggers .trigger {
          border-right: 1px solid rgba(0, 0, 0, 0.2); }
          #bm .example .triggers .trigger:first-child {
            border-left: 1px solid rgba(0, 0, 0, 0.2); } }
      #bm .example .triggers .trigger:after {
        content: '';
        display: block;
        position: absolute;
        height: 0;
        border-bottom: 3px solid #C7BCA2;
        display: none; }
        @media screen and (max-width: 1099.98px) {
          #bm .example .triggers .trigger:after {
            top: 50%;
            left: 0;
            width: .75rem; } }
        @media screen and (min-width: 1100px) {
          #bm .example .triggers .trigger:after {
            bottom: -.5rem;
            left: 50%;
            width: 60px;
            transform: translateX(-50%); } }
      #bm .example .triggers .trigger[data-cc-status='1'] {
        color: black; }
        #bm .example .triggers .trigger[data-cc-status='1']:after {
          display: block; }
#bm .other {
  margin-top: 5rem; }
  #bm .other .links {
    margin-top: 2rem; }

#company .message {
  padding-top: 5rem;
  padding-bottom: 2.5rem; }
  #company .message .container {
    display: flex;
    align-items: center;
    position: relative; }
    #company .message .container .text {
      position: relative;
      z-index: 2;
      padding: 5rem 0 8rem;
      color: white; }
      @media screen and (min-width: 600px) {
        #company .message .container .text {
          padding: 7.5rem 0 12rem; } }
      @media screen and (min-width: 1100px) {
        #company .message .container .text {
          padding: 10rem 0 16rem; } }
      #company .message .container .text .ja {
        margin-top: 2.5rem; }
    #company .message .container .pic {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      background: url(../images/company/message-pic.jpg) no-repeat center/cover; }
#company .certification {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }
  #company .certification .fig {
    margin-top: 1rem;
    width: 200px; }
  #company .certification .body {
    margin-top: 1rem; }
  #company .certification .subheading {
    margin-top: 2.5rem; }
  #company .certification .indent {
    margin-top: 1rem; }
#company .outline,
#company .associated-company {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }
  #company .outline .lead,
  #company .associated-company .lead {
    margin-top: 1rem; }
  #company .outline .table,
  #company .associated-company .table {
    margin-top: 3.5rem; }

#contact .intro {
  padding-top: 5rem;
  padding-bottom: 2.5rem; }
#contact .tel {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }
  #contact .tel .number {
    margin: 1rem 0; }
#contact .mail {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }
  #contact .mail .note {
    margin-top: 1rem; }
    #contact .mail .note i {
      color: #C7BCA2; }
  #contact .mail .form {
    margin-top: 6rem; }

#form .intro {
  margin-top: 5.5rem; }
  #form .intro .body {
    margin-top: 1rem; }
  #form .intro .bnr {
    margin-top: 1rem;
    max-width: 492px; }
#form .tel {
  margin-top: 5rem; }
  #form .tel .body {
    margin-top: 1rem; }
  #form .tel .number {
    display: inline-block;
    margin-top: 1rem;
    padding: 1.5rem;
    background-color: #F2EEE4;
    font: bold 2rem/1 "Arial", serif;
    letter-spacing: .2em; }
    @media screen and (min-width: 1100px) {
      #form .tel .number {
        font: bold 2.5rem/1 "Arial", serif;
        padding: 1.5rem 3rem; } }
    #form .tel .number span {
      letter-spacing: 0; }
#form .mainform {
  padding-top: 5rem;
  padding-bottom: 2.5rem; }
  #form .mainform .subheading {
    margin-bottom: 1.5rem; }
  #form .mainform .lead {
    margin-top: 1rem; }
  #form .mainform .form {
    margin-top: 4rem; }
    #form .mainform .form .indent {
      margin-bottom: 2.5rem; }
    #form .mainform .form .age [name="年齢"] {
      width: 7.5em; }
    #form .mainform .form .occupation .input-checkbox > * {
      margin-bottom: .5em; }
    #form .mainform .form .address [name="郵便番号"] {
      margin-left: 1rem;
      width: 10em; }

#faq .intro {
  margin-top: 5.5rem; }
#faq .block {
  margin-top: 3.5rem; }
  #faq .block .heading {
    margin-bottom: 1rem; }
  #faq .block .unit {
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    padding: 2rem 1rem 2rem 1rem; }
    #faq .block .unit .q,
    #faq .block .unit .a {
      display: flex; }
    #faq .block .unit .q {
      align-items: center; }
      #faq .block .unit .q:before {
        content: 'Q';
        margin-right: 1rem;
        font-family: "Marcellus", serif;
        display: inline-block;
        vertical-align: middle;
        align-self: flex-start;
        font-size: 1.5rem; }
    #faq .block .unit .a {
      margin: 1rem 0 0 2.5rem;
      padding: 1rem 1.5rem;
      background-color: #F2EEE4;
      color: rgba(0, 0, 0, 0.5); }
      @media screen and (min-width: 850px) {
        #faq .block .unit .a {
          padding: .5rem 1.5rem; } }
      #faq .block .unit .a:before {
        content: 'A';
        margin-right: 1rem;
        font-family: "Marcellus", serif;
        display: inline-block;
        vertical-align: middle;
        font-size: 1.5rem; }

#interview .content {
  margin-top: 3.5rem; }
  #interview .content .list {
    margin-top: 2rem; }
#interview .full-time {
  margin-top: 6.5rem; }
  #interview .full-time .label {
    margin-top: 3rem; }
#interview .consideration {
  margin-top: 6.5rem; }

#interview .intro {
  padding-top: 5rem;
  padding-bottom: 2.5rem; }
  @media screen and (min-width: 850px) {
    #interview .intro {
      display: flex;
      align-items: flex-start; }
      #interview .intro > * {
        width: 50%; } }
  #interview .intro .lead {
    margin-top: 1rem; }
  @media screen and (max-width: 849.98px) {
    #interview .intro .pic {
      margin-top: 1rem; } }
  @media screen and (min-width: 850px) {
    #interview .intro .pic {
      padding-left: 4rem; } }
#interview .person .inner {
  padding: 2rem 2rem;
  border: 1px solid #C7BCA2; }
  @media screen and (min-width: 850px) {
    #interview .person .inner {
      display: flex; } }
#interview .person .face {
  border-radius: 50%;
  width: 100px;
  height: 100px;
  overflow: hidden;
  line-height: 0; }
  @media screen and (min-width: 850px) {
    #interview .person .face {
      width: 180px;
      height: 180px; } }
  #interview .person .face img {
    width: 100%; }
@media screen and (max-width: 849.98px) {
  #interview .person .text {
    margin-top: 2rem; } }
@media screen and (min-width: 850px) {
  #interview .person .text {
    padding-left: 2rem;
    width: calc(100% - 180px); } }
#interview .person .text .job {
  color: rgba(0, 0, 0, 0.5); }
#interview .person .text .name {
  margin-top: .5rem; }
  #interview .person .text .name span {
    display: inline-block;
    vertical-align: baseline;
    margin-left: 1.5rem;
    color: rgba(0, 0, 0, 0.5); }
#interview .person .text .body {
  margin-top: 1.5rem; }
#interview .qa {
  margin-top: 2.5rem; }
  @media screen and (min-width: 850px) {
    #interview .qa .block {
      display: flex;
      justify-content: space-between; } }
  @media screen and (max-width: 849.98px) {
    #interview .qa .box:nth-child(n+2) {
      margin-top: 3rem; } }
  @media screen and (min-width: 850px) {
    #interview .qa .box {
      width: calc(50% - 3rem); }
      #interview .qa .box:first-child {
        margin-top: 0; } }
  #interview .qa .box .label {
    margin-top: 3rem;
    font-weight: bold; }
  #interview .qa .box .body {
    margin-top: 1.5rem; }
  #interview .qa .box .pic {
    margin-top: 1rem; }
#interview .more {
  padding-top: 2.5rem;
  margin-top: 2.5rem; }
  #interview .more .list {
    margin-top: 2rem; }

#link .content {
  padding-top: 5rem;
  padding-bottom: 2.5rem; }
  #link .content .lead {
    margin-top: 1rem; }
  #link .content .heading {
    margin: 5rem 0 1rem; }
  #link .content .body {
    margin-top: 1rem; }
  #link .content .indent {
    margin-top: 1rem; }
    #link .content .indent li:nth-child(n+2) {
      margin-top: 1rem; }
    #link .content .indent li a {
      padding-right: 3rem;
      display: inline-block; }
      @media screen and (min-width: 1100px) {
        #link .content .indent li a {
          padding-right: 6em; } }
      #link .content .indent li a:after {
        border-top: 2px solid #C7BCA2;
        border-right: 2px solid #C7BCA2; }

#message .content {
  padding-top: 5rem;
  padding-bottom: 7rem; }
  @media screen and (min-width: 850px) {
    #message .content .container {
      display: flex;
      align-items: flex-start; }
      #message .content .container > * {
        width: 50%; } }
  #message .content .lead {
    margin-top: 1.5rem; }
  @media screen and (max-width: 849.98px) {
    #message .content .pic {
      margin-top: 2rem; } }
  #message .content .body {
    margin-top: 5rem; }
    #message .content .body p:nth-child(n+2) {
      margin-top: 2em; }
  #message .content .sign {
    margin-top: 2rem; }
    #message .content .sign img {
      display: inline-block;
      vertical-align: middle;
      margin-left: 2em;
      width: 109px; }
#message .gallery {
  display: flex;
  justify-content: space-between; }
  #message .gallery .item {
    width: calc(33% - (1rem/3)); }

#news .posts .data {
  width: 100%; }
#news .posts .post {
  border-bottom: 1px solid rgba(0, 0, 0, 0.5);
  padding: 3.5rem 0 3.5rem; }
  #news .posts .post .container:after {
    content: '';
    display: block;
    clear: both; }
  #news .posts .post .container .heading {
    margin-top: 2rem; }
  #news .posts .post .container .body {
    margin-top: 2rem;
    color: rgba(0, 0, 0, 0.5); }
    #news .posts .post .container .body > p:nth-child(n+2) {
      margin-top: 2em; }
  @media screen and (max-width: 599.98px) {
    #news .posts .post .container .media {
      margin-top: 1rem; } }
  @media screen and (min-width: 600px) {
    #news .posts .post .container .media {
      float: right;
      margin-left: 2rem;
      width: 50%;
      max-width: 470px; } }
#news .pager {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 5rem;
  font-size: 1.25rem; }
  #news .pager .prev,
  #news .pager .next {
    font-size: 1.5rem;
    color: #C7BCA2; }
  #news .pager > *:nth-child(n+2) {
    margin-left: 3rem; }
  #news .pager .item span {
    position: relative; }
    #news .pager .item span:after {
      content: '';
      display: block;
      position: absolute;
      top: calc(100% + 3px);
      left: 50%;
      width: 1.25rem;
      height: 3px;
      background-color: #C7BCA2;
      transform: translateX(-50%); }

#privacy .content {
  padding-top: 5rem;
  padding-bottom: 2.5rem; }
  #privacy .content .lead {
    margin-top: 1rem; }
  #privacy .content .heading {
    text-indent: -.1em;
    margin: 3.5rem 0 1rem; }
  #privacy .content .body {
    margin-top: 1rem; }
  #privacy .content .indent {
    margin-top: 1rem; }

#recruit .visual {
  position: relative;
  margin-top: 5rem; }
  @media screen and (min-width: 1100px) {
    #recruit .visual .page-heading {
      position: absolute;
      top: 5rem;
      left: 5rem;
      z-index: 2;
      color: white; } }
  #recruit .visual .pic {
    position: relative;
    z-index: 1; }
    @media screen and (max-width: 1099.98px) {
      #recruit .visual .pic {
        margin-top: 1rem; } }
  #recruit .visual .container {
    position: relative;
    z-index: 2; }
    @media screen and (max-width: 1099.98px) {
      #recruit .visual .container {
        padding: 0 1rem; } }
    @media screen and (min-width: 1100px) {
      #recruit .visual .container {
        display: flex;
        justify-content: center;
        position: absolute;
        bottom: 1.5rem;
        left: 0;
        padding: 0 5rem;
        width: 100%; } }
    #recruit .visual .container .box {
      display: flex;
      align-items: stretch;
      position: relative;
      padding: 1.5rem 0;
      background-color: #C7BCA2;
      color: white; }
      @media screen and (max-width: 1099.98px) {
        #recruit .visual .container .box {
          margin-top: 1rem; } }
      @media screen and (min-width: 1100px) {
        #recruit .visual .container .box {
          max-width: 20rem;
          width: calc(33.3333% - 1rem); }
          #recruit .visual .container .box:nth-child(n+2) {
            margin-left: 1.5rem; } }
      #recruit .visual .container .box .label {
        align-self: center;
        padding: 0 1rem;
        width: 9rem;
        text-align: center;
        font: bold 14px/1.5 "Noto Sans JP", sans-serif; }
        @media screen and (min-width: 1100px) {
          #recruit .visual .container .box .label {
            width: 6.5rem; } }
        #recruit .visual .container .box .label:after {
          content: '';
          display: block;
          position: absolute;
          top: 1.5rem;
          left: 9rem;
          width: 1px;
          height: calc(100% - 3rem);
          background-color: white; }
          @media screen and (min-width: 1100px) {
            #recruit .visual .container .box .label:after {
              left: 6.5rem; } }
      #recruit .visual .container .box .body {
        align-self: center;
        width: calc(100% - 9rem);
        padding: 0 1rem;
        font: 13px/2 "Noto Sans JP", sans-serif; }
        @media screen and (min-width: 600px) {
          #recruit .visual .container .box .body {
            font-size: 14px; } }
        @media screen and (min-width: 1100px) {
          #recruit .visual .container .box .body {
            width: calc(100% - 6.5rem);
            font-size: 15px; } }
#recruit .bnr {
  position: relative;
  margin-top: 2.5rem; }
  @media screen and (min-width: 850px) {
    #recruit .bnr a {
      transition: opacity .2s; }
      #recruit .bnr a:hover {
        opacity: .75; } }
  #recruit .bnr .inner {
    position: relative;
    padding: 2rem 2rem 4rem;
    color: white; }
    #recruit .bnr .inner > * {
      position: relative;
      z-index: 2; }
    #recruit .bnr .inner .label {
      font: bold 2rem/1 "Noto Sans JP", sans-serif; }
    #recruit .bnr .inner .sub {
      margin-top: .5rem;
      font-size: 1rem; }
    #recruit .bnr .inner .pic {
      position: absolute;
      top: 0;
      left: 0;
      z-index: 1;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: right; }
#recruit .full-time {
  margin-top: 6.5rem; }
  #recruit .full-time .label {
    margin-top: 3rem; }
#recruit .interview {
  margin-top: 5rem; }
  #recruit .interview .list {
    margin-top: 2.5rem; }
#recruit .about {
  margin-top: 3.5rem; }
  #recruit .about .lead {
    margin-top: 2.5rem; }
  #recruit .about .point {
    display: flex;
    flex-wrap: wrap;
    margin-top: 3.5rem; }
    #recruit .about .point .box {
      position: relative;
      padding: 2.5rem;
      text-align: center; }
      #recruit .about .point .box:after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border: 8px solid #C7BCA2;
        opacity: .5;
        box-sizing: border-box; }
      @media screen and (max-width: 849.98px) {
        #recruit .about .point .box {
          width: 100%; }
          #recruit .about .point .box:nth-child(n+2) {
            margin-top: 20px; } }
      @media screen and (min-width: 850px) {
        #recruit .about .point .box {
          margin-left: 39px;
          width: calc(33.3333% - 26px - .1px); }
          #recruit .about .point .box:nth-child(3n+1) {
            margin-left: 0; }
          #recruit .about .point .box:nth-child(n+4) {
            margin-top: 40px; } }
      #recruit .about .point .box .num {
        text-align: center;
        color: #C7BCA2; }
      #recruit .about .point .box .label {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 3em; }
      #recruit .about .point .box .body {
        margin-top: 1rem;
        text-align: left;
        color: rgba(0, 0, 0, 0.5); }
#recruit .more {
  margin-top: 3.5rem; }
  #recruit .more .links {
    margin-top: 2rem; }

#recruit-detail .intro {
  margin-top: 3.75em; }
  #recruit-detail .intro .page-heading {
    width: 100%; }
  #recruit-detail .intro .container {
    margin-top: 1.5rem; }
    @media screen and (min-width: 850px) {
      #recruit-detail .intro .container {
        display: flex;
        align-items: flex-end; } }
    @media screen and (min-width: 850px) {
      #recruit-detail .intro .container .pic {
        width: 60%; } }
    @media screen and (min-width: 850px) {
      #recruit-detail .intro .container .lead {
        padding-left: 1em;
        width: 40%; } }
#recruit-detail .detail {
  margin-top: 5rem; }
  #recruit-detail .detail .table {
    margin-top: 1rem; }
  #recruit-detail .detail .subheading {
    margin-top: 3rem; }
  #recruit-detail .detail .work {
    display: flex;
    flex-wrap: wrap;
    margin-top: 1.5rem; }
    @media screen and (max-width: 849.98px) {
      #recruit-detail .detail .work .fig {
        margin-left: 16px;
        width: calc(50% - 8px); }
        #recruit-detail .detail .work .fig:nth-child(2n+1) {
          margin-left: 0; }
        #recruit-detail .detail .work .fig:nth-child(n+3) {
          margin-top: 1rem; } }
    @media screen and (min-width: 850px) {
      #recruit-detail .detail .work .fig {
        margin-left: 9px;
        width: calc(33.3333% - 6px); }
        #recruit-detail .detail .work .fig:nth-child(n+4) {
          margin-top: 1rem; }
        #recruit-detail .detail .work .fig:nth-child(3n+1) {
          margin-left: 0; } }
    #recruit-detail .detail .work .fig figcaption {
      margin-top: .5rem;
      text-align: left;
      font: 12px/1.75 "Noto Sans JP", sans-serif;
      color: rgba(0, 0, 0, 0.6); }
  #recruit-detail .detail .btn {
    margin-top: 6rem;
    text-align: center; }
#recruit-detail .more {
  margin-top: 6.5rem; }
  #recruit-detail .more .links {
    margin-top: 2rem; }
#recruit-detail .consideration {
  margin-top: 6.5rem; }
  #recruit-detail .consideration .links {
    margin-top: 2rem; }

#recruit-list .content {
  margin-top: 3.5rem; }
  #recruit-list .content .list {
    margin-top: 3rem; }
    #recruit-list .content .list .quantity {
      padding: .5rem 1.5rem;
      background-color: #F2EEE4;
      color: rgba(0, 0, 0, 0.5);
      line-height: 1; }
    #recruit-list .content .list .item {
      margin-top: 3.5rem; }
      #recruit-list .content .list .item .title {
        margin-bottom: 2rem;
        width: 100%; }
        @media screen and (min-width: 850px) {
          #recruit-list .content .list .item .title {
            font-size: 1.5rem; } }
      @media screen and (min-width: 850px) {
        #recruit-list .content .list .item .container {
          display: flex; } }
      @media screen and (min-width: 850px) {
        #recruit-list .content .list .item .thumbnail {
          width: 294px; } }
      #recruit-list .content .list .item .info {
        display: flex;
        flex-wrap: wrap;
        position: relative; }
        @media screen and (max-width: 849.98px) {
          #recruit-list .content .list .item .info {
            margin: 1rem 0 0 .5rem;
            padding-left: 2rem; } }
        @media screen and (min-width: 850px) {
          #recruit-list .content .list .item .info {
            padding-left: 4rem;
            width: calc(100% - 294px); } }
        #recruit-list .content .list .item .info:before {
          content: '';
          display: block;
          position: absolute;
          top: 0;
          left: 0rem;
          width: 8px;
          height: 100%;
          background-color: #F2EEE4; }
          @media screen and (min-width: 850px) {
            #recruit-list .content .list .item .info:before {
              left: 2rem; } }
        #recruit-list .content .list .item .info th {
          padding-right: 1.5em;
          font-weight: bold; }
        #recruit-list .content .list .item .info table tr:nth-child(n+2) > * {
          padding-top: 1em; }
        #recruit-list .content .list .item .info table th {
          white-space: nowrap; }
#recruit-list .full-time {
  margin-top: 6.5rem; }
  #recruit-list .full-time .label {
    margin-top: 3rem; }
#recruit-list .consideration {
  margin-top: 6.5rem; }
  #recruit-list .consideration .links {
    margin-top: 2rem; }

#service .intro {
  padding-top: 5rem;
  padding-bottom: 2.5rem; }
  @media screen and (min-width: 850px) {
    #service .intro {
      display: flex;
      align-items: flex-start; }
      #service .intro > * {
        width: 50%; }
      #service .intro .pic {
        padding-left: 4rem; } }
  @media screen and (max-width: 849.98px) {
    #service .intro .pic {
      margin-top: 2rem; } }
  #service .intro .lead {
    margin-top: 1rem; }

#thanks .content {
  padding-top: 5rem;
  padding-bottom: 2.5rem; }
  #thanks .content .body {
    margin-top: 1rem; }
    #thanks .content .body p:nth-child(n+2) {
      margin-top: 1rem; }
  #thanks .content .btn {
    margin-top: 2.5rem; }

#training .intro {
  margin-top: 5.5rem; }
  #training .intro .visual {
    margin-top: 1.5rem; }
  #training .intro .subheading {
    margin-top: 2rem; }
  #training .intro .body {
    margin-top: 1rem; }
#training .content {
  margin-top: 5.5rem; }
  #training .content .links {
    margin-top: 2.5rem; }
#training .movies {
  margin-top: 5.5rem; }
  #training .movies .list {
    margin-top: 2.5rem; }
    #training .movies .list .item {
      padding: 2rem;
      border: 1px solid #C7BCA2; }
      @media screen and (min-width: 850px) {
        #training .movies .list .item {
          display: flex;
          align-items: flex-start; } }
      #training .movies .list .item:nth-child(n+2) {
        margin-top: 1.5rem; }
      @media screen and (min-width: 850px) {
        #training .movies .list .item .text {
          padding-right: 1.5rem;
          width: calc(100% - 242px); } }
      #training .movies .list .item .movie {
        position: relative; }
        @media screen and (max-width: 849.98px) {
          #training .movies .list .item .movie {
            margin-top: 1rem; } }
        @media screen and (min-width: 850px) {
          #training .movies .list .item .movie {
            width: 242px; } }
      #training .movies .list .item .body {
        margin-top: 1rem; }

#training-detail .intro {
  margin-top: 3.5rem; }
  #training-detail .intro .subheading {
    margin-top: 4rem; }
  #training-detail .intro .label {
    margin-top: 1.5rem;
    color: #C7BCA2; }
  #training-detail .intro .flow {
    overflow-x: auto; }
    #training-detail .intro .flow .inner {
      position: relative;
      display: flex;
      padding-top: 30px; }
      @media screen and (max-width: 1099.98px) {
        #training-detail .intro .flow .inner {
          min-width: 1200px; } }
      #training-detail .intro .flow .inner:before {
        content: '';
        display: block;
        position: absolute;
        top: 50px;
        left: 0;
        z-index: 1;
        width: calc(100% - 120px);
        height: 220px;
        background-color: #F2EEE4; }
      #training-detail .intro .flow .inner:after {
        content: '';
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        z-index: 1;
        border-top: 160px solid rgba(0, 0, 0, 0);
        border-left: 120px solid #F2EEE4;
        border-bottom: 160px solid rgba(0, 0, 0, 0);
        width: 0;
        height: 0; }
      #training-detail .intro .flow .inner .unit {
        position: relative;
        z-index: 2;
        margin: 2rem 0 0 1.5rem;
        width: calc((100% - 250px) / 4); }
        #training-detail .intro .flow .inner .unit .time {
          padding-top: .5rem;
          text-align: center;
          color: #C7BCA2; }
        #training-detail .intro .flow .inner .unit .box {
          margin-top: .5rem;
          padding: 2rem 1.5rem;
          border: 1px solid #C7BCA2;
          background-color: white; }
        #training-detail .intro .flow .inner .unit .title {
          text-align: center; }
        #training-detail .intro .flow .inner .unit .list {
          margin-top: 1rem;
          color: rgba(0, 0, 0, 0.5); }
          #training-detail .intro .flow .inner .unit .list li {
            text-indent: -.5em;
            margin-left: .5em; }
  #training-detail .intro .practice li {
    display: inline-block;
    margin: 1rem 1rem 0  0;
    padding: 1.5rem 2rem;
    border: 1px solid #C7BCA2; }
#training-detail .content {
  margin-top: 5rem; }
  #training-detail .content .heading span {
    display: inline-block;
    margin-left: 1.5rem;
    color: rgba(0, 0, 0, 0.5); }
  #training-detail .content .visual {
    margin-top: 1rem; }
  #training-detail .content .container {
    margin-top: 1rem; }
    @media screen and (min-width: 850px) {
      #training-detail .content .container {
        display: flex;
        justify-content: space-between; } }
    #training-detail .content .container + .container {
      margin-top: 5rem; }
    @media screen and (min-width: 850px) {
      #training-detail .content .container .box {
        width: calc(50% - .75rem); } }
    @media screen and (max-width: 849.98px) {
      #training-detail .content .container .box:nth-child(n+2) {
        margin-top: 1.5rem; } }
    #training-detail .content .container .box span {
      margin-left: 0;
      display: block; }
    #training-detail .content .container .box .body {
      margin-top: 1.5rem; }
  #training-detail .content .lead {
    margin: 1rem 0 3rem; }
  #training-detail .content .label {
    margin-top: 1.5rem; }
  #training-detail .content .person {
    margin-top: 1rem;
    padding: 2rem 2rem;
    border: 1px solid #C7BCA2; }
    @media screen and (min-width: 850px) {
      #training-detail .content .person {
        display: flex; } }
    #training-detail .content .person .face {
      border-radius: 50%;
      width: 100px;
      height: 100px;
      overflow: hidden;
      line-height: 0; }
      @media screen and (min-width: 850px) {
        #training-detail .content .person .face {
          width: 180px;
          height: 180px; } }
      #training-detail .content .person .face img {
        width: 100%; }
    @media screen and (max-width: 849.98px) {
      #training-detail .content .person .text {
        margin-top: 2rem; } }
    @media screen and (min-width: 850px) {
      #training-detail .content .person .text {
        padding-left: 2rem;
        width: calc(100% - 180px); } }
    #training-detail .content .person .text .body {
      margin-top: 1rem; }

#part .intro {
  margin-top: 4.5rem; }
  #part .intro .visual {
    position: relative;
    margin-top: 2.5rem; }
    #part .intro .visual .inner {
      position: relative; }
      @media screen and (max-width: 599.98px) {
        #part .intro .visual .inner .copy {
          margin-top: 1rem; } }
      @media screen and (min-width: 600px) {
        #part .intro .visual .inner .copy {
          position: absolute;
          top: 50%;
          left: 5rem;
          z-index: 2;
          color: white;
          transform: translateY(-50%); } }
      #part .intro .visual .inner .pic {
        position: relative;
        z-index: 1; }
        #part .intro .visual .inner .pic:after {
          content: '';
          display: block;
          position: absolute;
          top: 0;
          left: 0;
          width: 100%;
          height: 100%;
          background-color: rgba(0, 0, 0, 0.1); }
    #part .intro .visual .container {
      z-index: 2;
      margin: 0 auto; }
      @media screen and (max-width: 599.98px) {
        #part .intro .visual .container {
          margin-top: 1rem; } }
      @media screen and (min-width: 600px) and (max-width: 1099.98px) {
        #part .intro .visual .container {
          display: flex;
          flex-wrap: wrap;
          justify-content: space-between;
          margin-top: 1rem;
          padding: 0 1rem; } }
      @media screen and (min-width: 1100px) {
        #part .intro .visual .container {
          justify-content: center;
          position: absolute;
          top: 50%;
          right: 5rem;
          width: 520px;
          transform: translateY(-50%); } }
      #part .intro .visual .container .box {
        display: flex;
        align-items: stretch;
        position: relative;
        background-color: #C7BCA2;
        min-height: 120px;
        color: white; }
        @media screen and (min-width: 600px) and (max-width: 1099.98px) {
          #part .intro .visual .container .box {
            margin-bottom: 1rem;
            width: calc(50% - 1rem); } }
        @media screen and (min-width: 1100px) {
          #part .intro .visual .container .box {
            padding: 1rem 0;
            width: 520px; } }
        @media screen and (max-width: 599.98px) {
          #part .intro .visual .container .box:nth-child(n+2) {
            margin-top: 1.5rem; } }
        @media screen and (min-width: 1100px) {
          #part .intro .visual .container .box:nth-child(n+2) {
            margin-top: 1.5rem; } }
        #part .intro .visual .container .box .label {
          align-self: center;
          width: 9rem;
          text-align: center;
          font: bold 14px/1.5 "Noto Sans JP", sans-serif; }
          @media screen and (min-width: 600px) {
            #part .intro .visual .container .box .label {
              width: 7rem; } }
          @media screen and (min-width: 1100px) {
            #part .intro .visual .container .box .label {
              width: 9rem; } }
          #part .intro .visual .container .box .label:after {
            content: '';
            display: block;
            position: absolute;
            top: 1rem;
            left: 9rem;
            width: 1px;
            height: calc(100% - 2rem);
            background-color: white; }
            @media screen and (min-width: 600px) {
              #part .intro .visual .container .box .label:after {
                left: 7rem; } }
            @media screen and (min-width: 1100px) {
              #part .intro .visual .container .box .label:after {
                left: 9rem; } }
        #part .intro .visual .container .box .body {
          align-self: center;
          padding: 0 1rem;
          width: calc(100% - 9rem);
          font: 13px/2 "Noto Sans JP", sans-serif; }
          @media screen and (min-width: 600px) {
            #part .intro .visual .container .box .body {
              width: calc(100% - 9rem);
              font-size: 14px; } }
          @media screen and (min-width: 1100px) {
            #part .intro .visual .container .box .body {
              width: calc(100% - 9rem);
              font-size: 15px; } }
#part .about {
  margin-top: 5rem; }
  #part .about .label {
    margin-top: 1.5rem; }
  #part .about .body {
    margin-top: 1rem; }
#part .description {
  margin-top: 5rem; }
  #part .description .table {
    margin-top: 1rem; }
#part .state {
  margin-top: 5rem; }
  #part .state .list {
    margin-top: 1.5rem; }
    @media screen and (min-width: 850px) {
      #part .state .list {
        display: flex;
        justify-content: space-between; } }
    @media screen and (max-width: 849.98px) {
      #part .state .list .item:nth-child(n+2) {
        margin-top: 2rem; } }
    @media screen and (min-width: 850px) {
      #part .state .list .item {
        width: calc(33.3333% - .5rem - .1px); } }
    #part .state .list .item .caption {
      text-align: center; }
#part .work {
  margin-top: 5rem; }
  @media screen and (min-width: 850px) {
    #part .work .container {
      display: flex;
      justify-content: space-between; } }
  #part .work .parson {
    margin-top: 1rem;
    padding: 1rem 1.5rem;
    border: 1px solid #C7BCA2;
    display: flex;
    align-items: center; }
    @media screen and (min-width: 850px) {
      #part .work .parson {
        padding: 1.5rem 2rem;
        width: calc(50% - .75rem); } }
    #part .work .parson .face {
      border-radius: 50%;
      width: 80px;
      height: 80px;
      overflow: hidden;
      line-height: 0; }
      @media screen and (min-width: 850px) {
        #part .work .parson .face {
          width: 120px;
          height: 120px; } }
      #part .work .parson .face img {
        width: 100%; }
    @media screen and (max-width: 849.98px) {
      #part .work .parson .text {
        padding-left: 1rem;
        width: calc(100% - 80px); } }
    @media screen and (min-width: 850px) {
      #part .work .parson .text {
        padding-left: 2rem;
        width: calc(100% - 120px); } }
    #part .work .parson .text .body {
      margin-top: 1rem; }
    #part .work .parson .text .income {
      margin-top: 1rem;
      text-align: right;
      color: #C7BCA2; }
#part .tel {
  margin-top: 5rem; }
  #part .tel .body {
    margin-top: 1rem; }
  #part .tel .number {
    display: inline-block;
    margin-top: 1rem;
    padding: 1.5rem 3rem;
    background-color: #F2EEE4;
    font: bold 2.5rem/1 "Arial", serif;
    letter-spacing: .2em; }
    #part .tel .number span {
      letter-spacing: 0; }
#part .mailform {
  margin-top: 5rem; }
  #part .mailform .form {
    margin-top: 3.5rem; }
  #part .mailform .subheading {
    margin-top: 3rem; }
  #part .mailform .indent {
    margin-top: 1.5rem; }
  #part .mailform .body {
    margin-top: 1rem;
    color: rgba(0, 0, 0, 0.5); }
  @media screen and (min-width: 1100px) {
    #part .mailform .block {
      display: flex;
      justify-content: space-between; } }
  @media screen and (min-width: 1100px) {
    #part .mailform .block .box {
      width: calc(50% - 1.5rem); } }
  #part .mailform .block .box label {
    margin-right: 0 !important; }
  @media screen and (min-width: 1100px) {
    #part .mailform .detail.date {
      display: flex;
      flex-wrap: wrap;
      align-items: center; }
      #part .mailform .detail.date .input-text {
        width: 130px; }
      #part .mailform .detail.date .input-radio {
        margin-top: 0;
        padding-left: 2.5rem;
        width: calc(100% - 130px); } }

#welfare .intro {
  margin-top: 5.5rem; }
#welfare .content {
  margin-top: 3rem; }
  #welfare .content .indent:nth-child(n+2) {
    margin-top: 1rem; }
#welfare .culture {
  margin-top: 5rem; }

#work .intro {
  margin-top: 5.5rem;
  padding-bottom: 3rem; }
  #work .intro .lead {
    margin-top: 1rem; }
#work .maintenance,
#work .clean,
#work .security,
#work .front {
  padding-top: 2.5rem;
  padding-bottom: 2.5rem; }
  #work .maintenance .lead,
  #work .clean .lead,
  #work .security .lead,
  #work .front .lead {
    margin-top: 1rem; }
  #work .maintenance .subheading,
  #work .clean .subheading,
  #work .security .subheading,
  #work .front .subheading {
    margin-top: 3.5rem; }
  #work .maintenance .indent,
  #work .clean .indent,
  #work .security .indent,
  #work .front .indent {
    margin-top: 1rem; }
