/* ==================================================
 * Color set
 * ================================================== */
/* ==================================================
 * Font
 * ================================================== */
/* ==================================================
 * width
 * ================================================== */
/* ==================================================
 * layout
 * ================================================== */
/* ==================================================
 * bg
 * ================================================== */
/* ==================================================
 * font text
 * ================================================== */
/* ==================================================
 * other
 * ================================================== */
.btn-01__link, .btn-02__link {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.btn-01__link {
  background: #0a1e46;
  color: #fff;
}
.btn-01__link p {
  display: flex;
  flex-direction: column;
}
.btn-01__link .en, .btn-01__link .jp {
  letter-spacing: 0.1em;
}
.btn-01__link .en {
  font-family: "Cormorant Garamond", serif;
  line-height: 1;
}
.btn-01__link .jp {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
}
.btn-01__link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.btn-02__link {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  border: solid 1px #171c27;
  padding-bottom: 2px;
}
.btn-02__link:hover {
  color: rgba(23, 28, 39, 0.7);
}
.btn-03__link {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  color: #fff;
  font-weight: 400;
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.btn-03__link::after {
  content: "";
  display: block;
  width: 15px;
  height: 1px;
  background: #fff;
  transition: 0.3s;
}
.btn-03__link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.btn-03__link:hover::after {
  transform: translateX(-2px);
  opacity: 0.8;
}

#side-bar {
  position: fixed;
  right: 20px;
  bottom: 20px;
  z-index: 88;
}

.arw-solid-blk, .arw-solid-wht {
  position: relative;
  z-index: 1;
}
.arw-solid-blk::after, .arw-solid-wht::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 15px;
  height: 1px;
  background: #171c27;
  top: 50%;
  right: 15px;
  transform: translate(0, -50%);
}
.arw-solid-blk:hover::after, .arw-solid-wht:hover::after {
  transform: translate(-2px, -50%);
}
.arw-solid-wht::after {
  background: #fff;
}

.deco-bf, .deco-af,
.obj-bf,
.obj-af,
.bg-bf,
.bg-af {
  position: relative;
  z-index: 1;
}
.deco-bf::before, .deco-af::after,
.obj-bf::before,
.obj-af::after,
.bg-bf::before,
.bg-af::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
}

.tbl {
  width: 100%;
}
.tbl td {
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
.tbl-01 th, .tbl-01 td, .tbl-02 th, .tbl-02 td {
  padding: 15px 0;
  vertical-align: middle;
  font-weight: 400;
}
.tbl-01 th, .tbl-02 th {
  width: 15%;
}
.tbl-01 td, .tbl-02 td {
  padding-left: 4%;
  white-space: pre-wrap;
}
.tbl-01 tr:not(:last-child) th, .tbl-01 tr:not(:last-child) td, .tbl-02 tr:not(:last-child) th, .tbl-02 tr:not(:last-child) td {
  border-bottom: solid 1px #fff;
}
.tbl-01 tr:first-child th, .tbl-01 tr:first-child td, .tbl-02 tr:first-child th, .tbl-02 tr:first-child td {
  padding-top: 0 !important;
}
.tbl-01 tr:last-child th, .tbl-01 tr:last-child td, .tbl-02 tr:last-child th, .tbl-02 tr:last-child td {
  padding-bottom: 0 !important;
}
.tbl-02 th, .tbl-02 td {
  vertical-align: top;
}
.tbl-02 th {
  width: 25%;
}
.tbl-02 td {
  white-space: inherit;
}

.com-layout {
  display: flex;
}
.com-tel .tel {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 1;
}
.com-contents {
  display: flex;
  flex-direction: column;
}

.layout-clm-2 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-2 .list-item,
.layout-clm-2 .layout-item {
  width: calc((100% - 40px) / 2);
}
.layout-clm-2-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-2-c .list-item,
.layout-clm-2-c .layout-item {
  width: calc((100% - 40px) / 2);
}
.layout-clm-3 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-3 .list-item,
.layout-clm-3 .layout-item {
  width: calc((100% - 80px) / 3);
}
.layout-clm-3-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-3-c .list-item,
.layout-clm-3-c .layout-item {
  width: calc((100% - 80px) / 3);
}
.layout-clm-4 {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.layout-clm-4 .list-item,
.layout-clm-4 .layout-item {
  width: calc((100% - 120px) / 4);
}
.layout-clm-4-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 40px;
}
.layout-clm-4-c .list-item,
.layout-clm-4-c .layout-item {
  width: calc((100% - 120px) / 4);
}

.list-blog .list-item, .list-news .list-item, .list-privacy .list-item {
  width: 100%;
}
.list-news {
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .list-news {
    font-size: 25px;
    font-size: 3.2552083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-news {
    font-size: 16.6666666667px;
  }
}
.list-news time {
  display: block;
  line-height: 1;
}
.list-news__item {
  padding: 20px 0;
}
.list-news__item:not(:first-child) {
  border-top: solid 1px #fff;
}
.list-news__item:first-child {
  padding-top: 0 !important;
}
.list-news__item:last-child {
  padding-bottom: 0 !important;
}
.list-news__link {
  display: flex;
  flex-direction: column;
  color: #fff;
  row-gap: 12px;
}
.list-news__bx {
  display: flex;
  align-items: center;
  gap: 10px;
}
.list-news__ttl {
  width: 100%;
  overflow-wrap: break-word;
  word-break: break-all;
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  text-align: left;
}
.list-appeal {
  display: flex;
  flex-wrap: wrap;
  gap: 0px;
}
.list-appeal .list-item,
.list-appeal .layout-item {
  width: calc((100% - 0px) / 2);
}
.list-appeal {
  row-gap: 50px;
}
.list-appeal__item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  row-gap: 10px;
}
.list-appeal dt {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  background: #171c27;
  color: #fff;
  padding: 5px;
  line-height: 1;
  font-size: 30px;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .list-appeal dt {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-appeal dt {
    font-size: 26.6666666667px;
  }
}
.list-salary {
  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}
.list-salary .list-item,
.list-salary .layout-item {
  width: calc((100% - 30px) / 3);
}
.list-salary__item {
  min-height: 280px;
  padding: 20px 15px;
  background: #fff;
  display: flex;
  position: relative;
  z-index: 1;
}
.list-salary__item::before, .list-salary__item::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 150px;
  max-width: 100%;
  aspect-ratio: 1/1;
  clip-path: polygon(0 0, 0% 100%, 100% 0);
  background: #e6e8ec;
}
.list-salary__item::before {
  top: 0;
  left: 0;
}
.list-salary__item::after {
  right: 0;
  bottom: 0;
  transform: scale(-1, -1);
}
.list-salary__item:first-child {
  margin-top: 80px;
}
.list-salary__item:nth-child(2) {
  margin-top: 40px;
}
.list-salary__illust {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translate(0, -50%);
  z-index: -1;
}
.list-salary__bx, .list-salary__inner {
  display: flex;
  flex-direction: column;
}
.list-salary__bx {
  width: 240px;
  max-width: 100%;
  margin-left: auto;
  justify-content: space-between;
  row-gap: 10px;
}
.list-salary__inner {
  align-items: flex-end;
  row-gap: 10px;
}
.list-salary h3 {
  width: 100%;
  text-align: left;
  line-height: 1.1;
  letter-spacing: -0.06em;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  display: flex;
  flex-direction: column;
}
.list-salary h3 span, .list-salary h3 em {
  letter-spacing: -0.06em;
}
.list-salary h3 .inner:last-child {
  margin-left: 3rem;
}
.list-salary h4 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  line-height: 1;
  padding: 3px;
  background: #171c27;
  color: #171c27;
  color: #fff;
  font-size: 26px;
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .list-salary h4 {
    font-size: 36px;
    font-size: 4.6875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-salary h4 {
    font-size: 24px;
  }
}
.list-salary .list {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.list-salary .list dl {
  display: flex;
  align-items: center;
}
.list-salary .list dt, .list-salary .list dd {
  line-height: 1;
}
.list-salary .list dt {
  border-right: solid 1px #171c27;
  padding-right: 5px;
  font-weight: 600;
}
.list-salary .list dd {
  padding-left: 5px;
}
.list-salary .list em {
  font-weight: 900;
  font-size: 26px;
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .list-salary .list em {
    font-size: 36px;
    font-size: 4.6875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-salary .list em {
    font-size: 24px;
  }
}
.list-salary .txt {
  font-weight: 400;
  letter-spacing: 0;
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .list-salary .txt {
    font-size: 25px;
    font-size: 3.2552083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-salary .txt {
    font-size: 16.6666666667px;
  }
}
.list-privacy {
  padding: 40px;
}
.list-privacy__item {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.list-privacy h4 {
  border-left: solid 4px #0a1e46;
  padding-left: 10px;
  font-weight: 600;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .list-privacy h4 {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-privacy h4 {
    font-size: 17.3333333333px;
  }
}
.list-privacy .txt,
.list-privacy ul li {
  line-height: 1.5;
  font-weight: 400;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .list-privacy .txt,
  .list-privacy ul li {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-privacy .txt,
  .list-privacy ul li {
    font-size: 16px;
  }
}

.tag-main__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 5px;
  font-weight: 500;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .tag-main__list {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .tag-main__list {
    font-size: 18.6666666667px;
  }
}
.tag-main__link {
  display: block;
  background: #0a1e46;
  color: #fff;
  padding: 10px 20px;
}
.tag-main__link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.tag-sub__list {
  display: flex;
  flex-wrap: wrap;
}
.tag-sub__item {
  padding: 0 10px;
  line-height: 1;
  color: #fff;
  border-left: solid 1px #fff;
}

.ttl-main {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  letter-spacing: -0.06em;
}
.ttl-main span, .ttl-main em {
  letter-spacing: -0.06em;
}
.ttl-sub {
  border-left: solid #0e5897 6px;
  border-bottom: solid 1px #ddd;
  background: #f0f0f0;
  padding: 10px 20px 15px 20px;
  margin-bottom: 30px;
  font-weight: 600;
  font-size: 24px;
  font-size: 2.4rem;
}
@media screen and (max-width: 768px) {
  .ttl-sub {
    font-size: 34px;
    font-size: 4.4270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-sub {
    font-size: 22.6666666667px;
  }
}
.ttl-01 .en, .ttl-02 .en {
  font-family: "Cormorant Garamond", serif;
  background: linear-gradient(-90deg, #0e5897 30%, rgba(14, 88, 151, 0) 90%);
  background: -webkit-linear-gradient(-90deg, #0e5897 30%, rgba(14, 88, 151, 0) 90%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  display: block;
  line-height: 1;
  font-weight: 600;
  letter-spacing: 0;
}
.ttl-01 .jp, .ttl-02 .jp {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  letter-spacing: -0.06em;
  display: block;
  position: relative;
  z-index: 1;
}
.ttl-01 {
  position: relative;
  z-index: 1;
}
.ttl-01 .en {
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translate(0, -20px);
  z-index: -1;
}
.ttl-01.txt-aln-c .en {
  left: 50%;
  transform: translate(-50%, -20px);
}
.ttl-02 {
  display: flex;
  flex-direction: column;
}
.ttl-02 .jp {
  margin-top: -25px;
}
.ttl-03 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  background: rgba(255, 255, 255, 0);
  background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #fff 50%, rgba(255, 255, 255, 0) 100%);
  text-align: center;
  letter-spacing: 0.28em;
  font-weight: 500;
  padding: 15px 40px;
}
.ttl-04 {
  display: flex;
  flex-direction: column;
}
.ttl-04 .en, .ttl-04 .jp {
  letter-spacing: 0.08em;
  font-weight: 400;
}
.ttl-04 .en {
  line-height: 1;
  font-family: "Cormorant Garamond", serif;
}
.ttl-04 .jp {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
}

.txt-plain {
  line-height: 2.1176470588;
}
.txt-01 {
  font-weight: 600;
  line-height: 2.2222222222;
  font-size: 18px;
  font-size: 1.8rem;
}
@media screen and (max-width: 768px) {
  .txt-01 {
    font-size: 28px;
    font-size: 3.6458333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .txt-01 {
    font-size: 18.6666666667px;
  }
}
.txt-02 {
  line-height: 2.3529411765;
}
.txt-03 {
  font-weight: 400;
  line-height: 1.8666666667;
  font-size: 15px;
  font-size: 1.5rem;
}
@media screen and (max-width: 768px) {
  .txt-03 {
    font-size: 25px;
    font-size: 3.2552083333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .txt-03 {
    font-size: 16.6666666667px;
  }
}

.header-nav__item,
.drawer-nav__item,
.footer-nav__item {
  line-height: 1;
}
.header-nav__link:hover,
.drawer-nav__link:hover,
.footer-nav__link:hover {
  opacity: 0.7;
}

.header-nav {
  margin: 20px 20px 0 0;
}
.header-nav__list {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  display: flex;
  -moz-column-gap: 40px;
       column-gap: 40px;
  font-weight: 600;
}
.header-nav__item {
  position: relative;
  z-index: 1;
}
.header-nav__item:not(:first-child)::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 8px;
  aspect-ratio: 8/40;
  background-image: url("/img/common/nav-slash.png");
  background-size: 100%;
  left: 0;
  top: 50%;
  transform: translate(calc(-25px + 50%), -50%);
}
.header-nav__link {
  color: #fff;
}

.footer-nav__list {
  display: flex;
  border-left: solid 1px #171c27;
  border-right: solid 1px #171c27;
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  font-size: 14px;
  font-size: 1.4rem;
}
@media screen and (max-width: 768px) {
  .footer-nav__list {
    font-size: 24px;
    font-size: 3.125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .footer-nav__list {
    font-size: 16px;
  }
}
.footer-nav__item {
  padding: 0 20px;
}
.footer-nav__item:not(:first-child) {
  border-left: solid 1px #171c27;
}

#header {
  position: relative;
}

.header-bar {
  width: 100%;
  padding: 0 0 0 1.3%;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 10;
}
.header-bar .com-logo {
  margin-top: 30px;
}

.mv, .sv {
  width: 100%;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
.mv img, .sv img {
  display: block;
  width: 100%;
}

.mv {
  aspect-ratio: 1920/920;
  background: url("/img/top/mv-bg.jpg") center center no-repeat;
  background-size: cover;
}
.mv-cc {
  width: 100%;
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translate(-50%, 0);
}
.mv-cc-main, .mv-cc-txt {
  width: 1028px;
  max-width: 53.5416666667%;
}
.mv-cc-sub, .mv-cc-txt {
  position: absolute;
  left: 50%;
  bottom: 0;
}
.mv-cc-main {
  margin: 0 auto;
}
.mv-cc-sub {
  width: 1198px;
  max-width: 62.3958333333%;
  transform: translate(-50%, -30%);
  z-index: 1;
}
.mv-cc-txt {
  transform: translate(-50%, -70%);
  z-index: 2;
}
.mv::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 1889px;
  max-width: 98.3854166667%;
  aspect-ratio: 1889/500;
  background-image: url("/img/top/mv-cc-en.png");
  background-size: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.sv {
  aspect-ratio: 1920/380;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sv-ttl {
  width: 1029px;
  max-width: 53.59375%;
  aspect-ratio: 1029/100;
  background: url("/img/common/sv-ttl-bg.png") center center no-repeat;
  background-size: cover;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  padding-bottom: 3px;
  transform: translateY(30%);
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
  line-height: 1;
  font-size: 46px;
  font-size: 2.3958333333vw;
}
@media screen and (max-width: 1260px) {
  .sv-ttl {
    font-size: 30.6666666667px;
  }
}
@media screen and (min-width: 1920px) {
  .sv-ttl {
    font-size: 46px;
  }
}
.sv-en {
  width: 100%;
  text-align: center;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(20%);
  z-index: -1;
  font-family: "Cormorant Garamond", serif;
  line-height: 1;
  background: linear-gradient(-90deg, #0e5897 30%, rgba(14, 88, 151, 0) 90%);
  background: -webkit-linear-gradient(-90deg, #0e5897 30%, rgba(14, 88, 151, 0) 90%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  letter-spacing: -0.06em;
  font-size: 320px;
  font-size: 16.6666666667vw;
}
@media screen and (max-width: 1260px) {
  .sv-en {
    font-size: 213.3333333333px;
  }
}
@media screen and (min-width: 1920px) {
  .sv-en {
    font-size: 320px;
  }
}
.sv-bg-complete {
  background: url("/img/complete/sv.jpg") center center no-repeat;
  background-size: cover;
}
.sv-bg-blog {
  background: url("/img/blog/sv.jpg") center center no-repeat;
  background-size: cover;
}
.sv-bg-privacy {
  background: url("/img/privacy/sv.jpg") center center no-repeat;
  background-size: cover;
}
.sv-bg-site {
  background: url("/img/site/sv.jpg") center center no-repeat;
  background-size: cover;
}
.sv-bg-notfound {
  background: url("/img/notfound/sv.jpg") center center no-repeat;
  background-size: cover;
}

.top-appeal .ttl-main, .top-recruit .ttl-main, .top-contact .ttl-main {
  margin-bottom: 50px;
}
.top-salary .ttl-main, .top-info .ttl-main {
  margin-bottom: 60px;
}
.top-recruit .ttl-main .jp, .top-info .ttl-main .jp {
  letter-spacing: 0.1em;
}
.top-recruit .ttl-main .jp span, .top-recruit .ttl-main .jp em, .top-info .ttl-main .jp span, .top-info .ttl-main .jp em {
  letter-spacing: 0.1em;
}

.top-feature {
  clip-path: polygon(0 0, 100% 0, 100% calc(100% - 100px), 0 100%);
  padding: 130px 0 180px 0;
  background: url("/img/top/feature-bg.jpg") center top no-repeat;
  background-size: cover;
}
.top-feature .ttl-main {
  margin-bottom: 60px;
}
.top-feature .com-layout__item {
  width: 50%;
  text-align: center;
  color: #fff;
}
.top-feature .num, .top-feature h3 {
  font-family: "Zen Old Mincho", serif;
  font-weight: 900;
}
.top-feature .num {
  font-size: 21px;
  font-size: 2.1rem;
}
@media screen and (max-width: 768px) {
  .top-feature .num {
    font-size: 31px;
    font-size: 4.0364583333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-feature .num {
    font-size: 20.6666666667px;
  }
}
.top-feature h3 {
  margin-top: 15px;
  line-height: 1.25;
  font-size: 22px;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .top-feature h3 {
    font-size: 32px;
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-feature h3 {
    font-size: 21.3333333333px;
  }
}
.top-feature h3 span {
  font-size: 30px;
  font-size: 3rem;
}
@media screen and (max-width: 768px) {
  .top-feature h3 span {
    font-size: 40px;
    font-size: 5.2083333333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-feature h3 span {
    font-size: 26.6666666667px;
  }
}
.top-feature h3 em {
  font-size: 40px;
  font-size: 4rem;
}
@media screen and (max-width: 768px) {
  .top-feature h3 em {
    font-size: 50px;
    font-size: 6.5104166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .top-feature h3 em {
    font-size: 33.3333333333px;
  }
}
.top-feature .txt {
  font-weight: 400;
  margin-top: 30px;
}
.top-feature .obj-bf::before {
  width: 128px;
  aspect-ratio: 128/377;
  background-image: url("/img/top/feature-slash.png");
  background-size: 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.top-appeal {
  padding: 130px 0 110px 0;
  margin-top: -100px;
  clip-path: polygon(0 100px, 100% 0, 100% calc(100% - 100px), 0 100%);
  background: url("/img/top/appeal-bg.jpg") center top no-repeat;
  background-size: cover;
}
.top-appeal .ttl-main {
  line-height: 1.08;
}

.top-about {
  margin-top: -100px;
}
.top-about .wrp-ttl {
  padding: 60px 0 90px 0;
  clip-path: polygon(0 100px, 100% 0, 100% calc(100% - 100px), 0 100%);
}
.top-about .ttl-main {
  font-family: "Cormorant Garamond", serif;
  line-height: 1;
  font-weight: 500;
  letter-spacing: 0;
}
.top-about .wrp-contents {
  padding: 60px 0 220px 0;
  margin-top: -100px;
  clip-path: polygon(0 100px, 100% 0, 100% 100%, 0 100%);
  background: url("/img/top/about-bg.jpg") center top no-repeat;
  background-size: cover;
}
.top-about h4 {
  line-height: 1;
}
.top-about h4 .inner {
  background: #171c27;
  color: #fff;
  padding-bottom: 5px;
}

.top-works {
  padding: 0 0 90px 0;
}
.top-works .ttl-main {
  background: #000;
}
.top-works .bx {
  border-bottom: solid 39px #000;
}
.top-works .list-gallery {
  display: flex;
}
.top-works .list-gallery-wrp {
  display: flex;
  flex-direction: column;
}
.top-works .list-gallery-wrp:first-child {
  margin-left: -420px;
}
.top-works .list-gallery-wrp:last-child {
  margin-right: -420px;
}
.top-works .list-gallery-wrp::before, .top-works .list-gallery-wrp::after {
  content: "";
  display: block;
  width: 100%;
  height: 39px;
  background: url("/img/common/pattern-film.png");
  background-repeat: repeat-x;
  background-position: center;
}
.top-works .list-works {
  display: grid;
  grid-auto-flow: column;
  grid-template-rows: repeat(5, auto);
  gap: 15px 0;
  padding: 30px 40px;
}

.top-salary {
  padding: 140px 0 190px 0;
  background: url("/img/top/salary-bg.jpg") top center no-repeat;
  background-size: cover;
}

.top-recruit {
  padding: 160px 0;
  position: relative;
  z-index: 1;
}
.top-recruit::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 100%;
  aspect-ratio: 1920/300;
  background: #0d1226;
  background: linear-gradient(180deg, #0d1226 0%, rgba(23, 28, 39, 0) 100%);
  top: 0;
  left: 0;
}

.top-contact {
  padding: 120px 0 150px 0;
}
.top-contact .wrp-tel .ttl {
  position: relative;
  z-index: 1;
}
.top-contact .wrp-tel .ttl::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 13px;
  aspect-ratio: 13/35;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  background: #0e5897;
  top: 50%;
  left: 100%;
  transform: translate(-1px, -50%);
}

.top-info {
  padding: 140px 0 200px 0;
  background: url("/img/top/info-bg.jpg") center top no-repeat;
  background-size: cover;
}
.top-info .com-gmap {
  min-width: 600px;
}

.top-blog {
  padding: 0 0 170px 0;
  background: url("/img/top/blog-bg.jpg") center bottom no-repeat;
  background-size: cover;
}
.top-blog .cts-1180 {
  transform: translateY(-80px);
}
.top-blog .cts-1080 {
  min-height: 180px;
}
.top-blog .btn {
  position: absolute;
  top: 160px;
  left: 0;
  z-index: 1;
}

#ctn-low {
  background: #fff;
}
#ctn-low section {
  padding: 150px 0 120px 0;
}
#ctn-low .ttl-main {
  text-align: center;
  margin-bottom: 60px;
}
#ctn-low .ttl-main .en {
  width: 100%;
  font-size: 120px;
  font-size: 12rem;
}
@media screen and (max-width: 768px) {
  #ctn-low .ttl-main .en {
    font-size: 130px;
    font-size: 16.9270833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #ctn-low .ttl-main .en {
    font-size: 86.6666666667px;
  }
}
#ctn-low .ttl-main .jp {
  font-size: 48px;
  font-size: 4.8rem;
}
@media screen and (max-width: 768px) {
  #ctn-low .ttl-main .jp {
    font-size: 58px;
    font-size: 7.5520833333vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  #ctn-low .ttl-main .jp {
    font-size: 38.6666666667px;
  }
}

#footer {
  padding: 54px 0 85px 0;
  background: #fff;
}
#footer .com-layout {
  justify-content: space-between;
  align-items: flex-end;
}

.footer-copy small {
  letter-spacing: 0;
}/*# sourceMappingURL=style.css.map */