/* ==================================================
 * 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, .btn-02__link {
  background: #000;
  color: #fff;
}
.btn-01__link:hover, .btn-02__link:hover {
  color: rgba(255, 255, 255, 0.8);
}
.btn-02__link span {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
}

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

.arw-solid {
  position: relative;
  z-index: 1;
}
.arw-solid::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 20px;
  height: 1px;
  background: #e60012;
  top: 50%;
  right: 20px;
  transform: translate(0, -50%);
}
.arw-solid:hover::after {
  transform: translate(-2px, -50%);
}
.arw-solid-ver {
  position: relative;
  z-index: 1;
}
.arw-solid-ver::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 1px;
  height: 20px;
  background: #e60012;
  left: 50%;
  bottom: 20px;
  transform: translate(-50%, 0);
}
.arw-solid-ver:hover::after {
  transform: translate(-50%, -2px);
}

.frame-wave-top {
  position: relative;
  z-index: 1;
}
.frame-wave-top::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 100%;
  aspect-ratio: 1920/55;
  background-image: url("/img/common/frame-wave-wht.png");
  background-size: 100%;
  top: 0;
  left: 50%;
  transform: translate(-50%, -1px);
}

.deco-bf-float, .deco-af-float,
.obj-bf-float,
.obj-af-float,
.bg-bf-float,
.bg-af-float {
  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;
  transition: 0.3s;
}
.deco-bf-float::before, .deco-af-float::after,
.obj-bf-float::before,
.obj-af-float::after,
.bg-bf-float::before,
.bg-af-float::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-info {
  border-top: solid 1px #666;
  border-bottom: solid 1px #666;
}
.tbl-info th, .tbl-info td {
  padding: 15px 4%;
  vertical-align: middle;
}
.tbl-info th {
  width: 25%;
  text-align: center;
}
.tbl-info tr:not(:first-child) th, .tbl-info tr:not(:first-child) td {
  border-top: solid 1px #666;
}
.tbl-recruit {
  border-top: solid 1px #666;
  border-bottom: solid 1px #666;
}
.tbl-recruit th, .tbl-recruit td {
  padding: 20px 30px;
}
.tbl-recruit th {
  width: 400px;
  max-width: 100%;
  background: #000;
  color: #fff;
}
.tbl-recruit tr:not(:first-child) th, .tbl-recruit tr:not(:first-child) td {
  border-top: solid 1px #fff;
}
.tbl-recruit tr:not(:first-child) td {
  border-top-color: #666;
}

.com-layout {
  display: flex;
}
.com-tel .tel {
  line-height: 1;
}
.com-contbx, .com-txtbx {
  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: 60px;
}
.layout-clm-3 .list-item,
.layout-clm-3 .layout-item {
  width: calc((100% - 120px) / 3);
}
.layout-clm-3-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 60px;
}
.layout-clm-3-c .list-item,
.layout-clm-3-c .layout-item {
  width: calc((100% - 120px) / 3);
}
.layout-clm-4 {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.layout-clm-4 .list-item,
.layout-clm-4 .layout-item {
  width: calc((100% - 72px) / 4);
}
.layout-clm-4-c {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 24px;
}
.layout-clm-4-c .list-item,
.layout-clm-4-c .layout-item {
  width: calc((100% - 72px) / 4);
}

.list-news-top .list-item, .list-news-low .list-item, .list-privacy .list-item, .list-attractive .list-item, .list-voice .list-item, .list-faq .list-item {
  width: 100%;
}
.list-news-top time {
  display: block;
  line-height: 1;
  color: #666;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .list-news-top time {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-news-top time {
    font-size: 17.3333333333px;
  }
}
.list-news-top__item {
  padding: 20px 0;
  border-bottom: solid 1px #b3b3b3;
}
.list-news-top__item:first-child {
  border-top: solid 1px #b3b3b3;
}
.list-news-top__link {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.list-news-top__bx {
  max-width: 70%;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.list-news-top__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-news-top .tag-sub__list {
  max-width: 30%;
  justify-content: flex-end;
}
.list-check__item {
  display: flex;
  align-items: center;
  -moz-column-gap: 10px;
       column-gap: 10px;
}
.list-check__item::before {
  content: "";
  display: block;
  transition: 0.3s;
  width: 22px;
  min-width: 22px;
  aspect-ratio: 1/1;
  background-image: url("/img/common/ic-check.png");
  background-size: 100%;
}
.list-attractive__item {
  color: #fff;
}
.list-attractive__item:nth-child(even) {
  flex-direction: row-reverse;
}
.list-attractive .com-layout {
  justify-content: space-between;
}
.list-attractive .txtbx {
  width: 570px;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.list-flow {
  position: relative;
  z-index: 1;
}
.list-flow__item,
.list-flow dl {
  display: flex;
  align-items: center;
}
.list-flow__item {
  -moz-column-gap: 50px;
       column-gap: 50px;
}
.list-flow__ic {
  min-width: 120px;
}
.list-flow dl {
  -moz-column-gap: 20px;
       column-gap: 20px;
}
.list-flow dt {
  width: 100px;
  max-width: 100%;
  min-width: 100px;
  border-radius: 50rem;
  background: #e60012;
  color: #fff;
  line-height: 1;
  padding: 5px 10px;
  text-align: center;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .list-flow dt {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow dt {
    font-size: 20px;
  }
}
.list-flow dd {
  font-size: 26px;
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .list-flow dd {
    font-size: 36px;
    font-size: 4.6875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow dd {
    font-size: 24px;
  }
}
.list-flow::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 1px;
  height: 100%;
  border-left: dashed 1px #666;
  top: 0;
  left: 60px;
  transform: translate(-50%, 0);
}
.list-career .duration {
  margin-bottom: 5px;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .list-career .duration {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-career .duration {
    font-size: 20px;
  }
}
.list-career .ttl-02 {
  text-align: center;
  position: relative;
  z-index: 1;
}
.list-career .ttl-02::before {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  bottom: 100%;
  right: 0;
}
.list-career .txt {
  background: #fff;
  padding: 15px;
}
.list-career__item:first-child .ttl-02 {
  background: #404040;
}
.list-career__item:first-child .ttl-02::before {
  width: 38px;
  max-width: 100%;
  aspect-ratio: 38/60;
  background-image: url("/img/work-style/career-ic-01.png");
  background-size: 100%;
  margin-bottom: 10px;
}
.list-career__item:nth-child(2) .ttl-02::before {
  width: 114px;
  max-width: 100%;
  aspect-ratio: 114/99;
  background-image: url("/img/work-style/career-ic-02.png");
  background-size: 100%;
}
.list-career__item:nth-child(3) .ttl-02 {
  background: #700009;
}
.list-career__item:nth-child(3) .ttl-02::before {
  width: 94px;
  max-width: 100%;
  aspect-ratio: 94/99;
  background-image: url("/img/work-style/career-ic-03.png");
  background-size: 100%;
}
.list-career__item:last-child .ttl-02 {
  background: #e60012;
}
.list-career__item:last-child .ttl-02::before {
  width: 64px;
  max-width: 100%;
  aspect-ratio: 64/99;
  background-image: url("/img/work-style/career-ic-04.png");
  background-size: 100%;
}
.list-voice__item {
  background: #fff;
  padding: 40px 60px;
  display: flex;
  align-items: flex-start;
  -moz-column-gap: 50px;
       column-gap: 50px;
}
.list-voice__ttl {
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .list-voice__ttl {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-voice__ttl {
    font-size: 28px;
  }
}
.list-voice .img {
  width: 240px;
  max-width: 100%;
  min-width: 240px;
  aspect-ratio: 240/200;
  overflow: hidden;
}
.list-voice .txtbx {
  width: 100%;
  display: flex;
  flex-direction: column;
  row-gap: 15px;
}
.list-faq dt, .list-faq dd {
  display: flex;
  -moz-column-gap: 5px;
       column-gap: 5px;
  padding: 15px 20px;
}
.list-faq dt::before, .list-faq dd::before {
  content: "";
  display: block;
  transition: 0.3s;
  line-height: 1;
  font-size: 26px;
  font-size: 2.6rem;
}
@media screen and (max-width: 768px) {
  .list-faq dt::before, .list-faq dd::before {
    font-size: 36px;
    font-size: 4.6875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-faq dt::before, .list-faq dd::before {
    font-size: 24px;
  }
}
.list-faq dt {
  background: #000;
  color: #fff;
  font-size: 20px;
  font-size: 2rem;
}
@media screen and (max-width: 768px) {
  .list-faq dt {
    font-size: 30px;
    font-size: 3.90625vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-faq dt {
    font-size: 20px;
  }
}
.list-faq dt::before {
  content: "Q.";
}
.list-faq dd::before {
  content: "A.";
  color: #e60012;
}
.list-flow-recruit__item {
  background: #fff;
  aspect-ratio: 1/1;
  border-radius: 50rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}
.list-flow-recruit__item:nth-child(2) dt::before {
  content: "02";
}
.list-flow-recruit__item:nth-child(3) dt::before {
  content: "03";
}
.list-flow-recruit__item:nth-child(4) dt::before {
  content: "04";
}
.list-flow-recruit__item:nth-child(5) dt::before {
  content: "05";
}
.list-flow-recruit dl {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.list-flow-recruit dt {
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.list-flow-recruit dt::before {
  content: "";
  display: block;
  transition: 0.3s;
  content: "01";
  line-height: 1;
  color: #e60012;
  font-size: 44px;
  font-size: 4.4rem;
}
@media screen and (max-width: 768px) {
  .list-flow-recruit dt::before {
    font-size: 54px;
    font-size: 7.03125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow-recruit dt::before {
    font-size: 36px;
  }
}
.list-flow-recruit dt {
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .list-flow-recruit dt {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .list-flow-recruit dt {
    font-size: 28px;
  }
}

.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;
  border: solid 1px #000;
  padding: 10px 20px;
  border-radius: 50rem;
}
.tag-main__link:hover {
  opacity: 0.8;
}
.tag-sub__list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.tag-sub__item {
  line-height: 1;
  border: solid 1px #e60012;
  padding: 5px 10px;
  border-radius: 50rem;
  color: #e60012;
}

.ttl-main {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.ttl-main .en {
  line-height: 1;
  font-size: 22px;
  font-size: 2.2rem;
}
@media screen and (max-width: 768px) {
  .ttl-main .en {
    font-size: 32px;
    font-size: 4.1666666667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main .en {
    font-size: 21.3333333333px;
  }
}
.ttl-main .en::first-letter {
  color: #e60012;
}
.ttl-main .jp {
  line-height: 1.4772727273;
  font-size: 44px;
  font-size: 4.4rem;
}
@media screen and (max-width: 768px) {
  .ttl-main .jp {
    font-size: 54px;
    font-size: 7.03125vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-main .jp {
    font-size: 36px;
  }
}
.ttl-main.vertical {
  display: flex;
  flex-direction: row-reverse;
}
.ttl-main.vertical .en, .ttl-main.vertical .jp {
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
}
.ttl-sub {
  border-left: solid #000 6px;
  background: #fff;
  padding: 10px 20px 15px 20px;
  margin-bottom: 30px;
  font-weight: 500;
  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 {
  border-bottom: solid 1px #e60012;
  padding-bottom: 15px;
  font-size: 32px;
  font-size: 3.2rem;
}
@media screen and (max-width: 768px) {
  .ttl-01 {
    font-size: 42px;
    font-size: 5.46875vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-01 {
    font-size: 28px;
  }
}
.ttl-02 {
  background: #000;
  color: #fff;
  padding: 15px 30px;
  font-size: 28px;
  font-size: 2.8rem;
}
@media screen and (max-width: 768px) {
  .ttl-02 {
    font-size: 38px;
    font-size: 4.9479166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .ttl-02 {
    font-size: 25.3333333333px;
  }
}

.txt-plain {
  line-height: 2.1176470588;
}
.txt-01 {
  line-height: 2;
}
.txt-02 {
  letter-spacing: 0;
  line-height: 1.75;
  font-size: 16px;
  font-size: 1.6rem;
}
@media screen and (max-width: 768px) {
  .txt-02 {
    font-size: 26px;
    font-size: 3.3854166667vw;
  }
}
@media screen and (max-width: 768px) and (min-width: 539px) {
  .txt-02 {
    font-size: 17.3333333333px;
  }
}
.txt-03 {
  line-height: 1.7647058824;
}
.txt-04 {
  line-height: 1.6470588235;
}

.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 {
  width: 100%;
  height: 70px;
  background: url("/img/common/pattern-paper-wht.jpg");
  border-bottom: solid 1px #b3b3b3;
}
.header-nav__list {
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 70px;
       column-gap: 70px;
}
.header-nav .current {
  color: #e60012;
}

.footer-nav__list {
  display: grid;
  grid-auto-flow: column;
  grid-template-columns: 150px 185px;
  grid-template-rows: repeat(6, auto);
  gap: 35px 65px;
}

#header {
  position: relative;
}

.header-ent {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.header-com .com-logo {
  position: absolute;
  top: 30px;
  left: 50px;
  z-index: 2;
}
.header-com__bx {
  width: 670px;
  max-width: 100%;
  height: 80px;
  background: rgba(255, 255, 255, 0.88);
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
}

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

.mv {
  aspect-ratio: 1920/860;
  background: url("/img/top/mv-bg.jpg") center center no-repeat;
  background-size: cover;
}
.mv-cc {
  width: 693px;
  max-width: 36.09375%;
  position: absolute;
  left: 5.73%;
  bottom: 0;
  transform: translate(0, -25%);
  z-index: 1;
}

.sv {
  aspect-ratio: 1920/600;
  display: flex;
  justify-content: center;
  align-items: center;
}
.sv-ttl {
  width: 700px;
  max-width: 36.4583333333%;
  aspect-ratio: 700/80;
  background: rgba(255, 255, 255, 0.9);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  line-height: 1;
  letter-spacing: 0.12em;
  font-size: 48px;
  font-size: 2.5vw;
}
@media screen and (max-width: 1260px) {
  .sv-ttl {
    font-size: 32px;
  }
}
@media screen and (min-width: 1920px) {
  .sv-ttl {
    font-size: 48px;
  }
}
.sv-bg-about {
  background: url("/img/about/sv.jpg") center center no-repeat;
  background-size: cover;
}
.sv-bg-works {
  background: url("/img/works/sv.jpg") center center no-repeat;
  background-size: cover;
}
.sv-bg-work-style {
  background: url("/img/work-style/sv.jpg") center center no-repeat;
  background-size: cover;
}
.sv-bg-faq {
  background: url("/img/faq/sv.jpg") center center no-repeat;
  background-size: cover;
}
.sv-bg-recruit {
  background: url("/img/recruit/sv.jpg") center center no-repeat;
  background-size: cover;
}
.sv-bg-news {
  background: url("/img/news/sv.jpg") center center no-repeat;
  background-size: cover;
}
.sv-bg-contact {
  background: url("/img/contact/sv.jpg") center center no-repeat;
  background-size: cover;
}
.sv-bg-complete {
  background: url("/img/complete/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;
}

#page-ent {
  padding: 20px 2.6%;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}

.ent-item {
  width: 48.9%;
  height: 770px;
  overflow: hidden;
}
.ent-item.recruit .ent-link::before {
  background: url("/img/entrance/bg-recruit.jpg");
  background-position: center;
  background-size: cover;
}
.ent-item.recruit .ent-ttl .sub {
  display: flex;
  justify-content: center;
  align-items: center;
  -moz-column-gap: 0.6vw;
       column-gap: 0.6vw;
  margin-bottom: 0.8vw;
  font-size: 30px;
  font-size: 1.5625vw;
}
@media screen and (max-width: 1260px) {
  .ent-item.recruit .ent-ttl .sub {
    font-size: 20px;
  }
}
@media screen and (min-width: 1920px) {
  .ent-item.recruit .ent-ttl .sub {
    font-size: 30px;
  }
}
.ent-item.recruit .ent-ttl .sub::before, .ent-item.recruit .ent-ttl .sub::after {
  content: "";
  display: block;
  transition: 0.3s;
  width: 1.5vw;
  height: 1px;
  background: #000;
}
.ent-item.recruit .ent-ttl .jp {
  font-size: 25px;
  font-size: 1.3020833333vw;
}
@media screen and (max-width: 1260px) {
  .ent-item.recruit .ent-ttl .jp {
    font-size: 16.6666666667px;
  }
}
@media screen and (min-width: 1920px) {
  .ent-item.recruit .ent-ttl .jp {
    font-size: 25px;
  }
}
.ent-item.interview .ent-link::before {
  background: url("/img/entrance/bg-interview.jpg");
  background-position: center;
  background-size: cover;
}
.ent-item.interview .ent-ttl .jp {
  line-height: 1.5;
  font-size: 28px;
  font-size: 1.4583333333vw;
}
@media screen and (max-width: 1260px) {
  .ent-item.interview .ent-ttl .jp {
    font-size: 18.6666666667px;
  }
}
@media screen and (min-width: 1920px) {
  .ent-item.interview .ent-ttl .jp {
    font-size: 28px;
  }
}
.ent-link {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  z-index: 1;
}
.ent-link::before, .ent-link::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
}
.ent-link::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  background: #000;
  opacity: 0;
}
.ent-link:hover::before {
  transform: scale(1.04);
}
.ent-link:hover::after {
  opacity: 0.2;
}
.ent-ttl {
  width: 56.18%;
  height: 300px;
  background: rgba(255, 255, 255, 0.93);
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  position: relative;
  z-index: 1;
}
.ent-ttl .en {
  margin-bottom: 1.2vw;
  line-height: 1;
  font-size: 65px;
  font-size: 3.3854166667vw;
}
@media screen and (max-width: 1260px) {
  .ent-ttl .en {
    font-size: 43.3333333333px;
  }
}
@media screen and (min-width: 1920px) {
  .ent-ttl .en {
    font-size: 65px;
  }
}
.ent-ttl .en:first-letter {
  color: #e60012;
}
.ent-ttl::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 20px;
  aspect-ratio: 20/19;
  background-image: url("/img/common/arrow-double.png");
  background-size: 100%;
  right: 0;
  bottom: 0;
  transform: translate(-100%, -100%);
}

#page-top section {
  position: relative;
}

.top-works, .top-style, .top-bnr, .top-company {
  margin-top: -45px;
}
.top-about .cts-1080,
.top-about .cts-full, .top-works .cts-1080,
.top-works .cts-full, .top-style .cts-1080,
.top-style .cts-full, .top-bnr .cts-1080,
.top-bnr .cts-full {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.top-works .ttl-main, .top-style .ttl-main {
  margin-bottom: 40px;
}
.top-works .ttl-main, .top-bnr .ttl-main, .top-company .ttl-main {
  color: #fff;
}

.top-about {
  height: 835px;
  background: url("/img/top/about-bg.png") center bottom no-repeat;
  background-size: cover;
}

.top-works {
  height: 705px;
  background: url("/img/top/works-bg.png") center bottom no-repeat;
  background-size: cover;
}

.top-style {
  height: 720px;
  background: url("/img/top/style-bg.png") center bottom no-repeat;
  background-size: cover;
}

.top-bnr {
  height: 889px;
  background: url("/img/top/bnr-bg.png") center bottom no-repeat;
  background-size: cover;
}
.top-bnr .bnr-item {
  width: 800px;
  max-width: 100%;
  aspect-ratio: 800/539;
  clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  row-gap: 35px;
}
.top-bnr .bnr-item.faq {
  background: url("/img/top/bnr-base-faq.png") center center no-repeat;
  background-size: cover;
}
.top-bnr .bnr-item.recruit {
  background: url("/img/top/bnr-base-recruit.png") center center no-repeat;
  background-size: cover;
  margin: 130px 0 0 -130px;
}
.top-bnr .bnr .ttl-main .en::first-letter {
  color: #fff;
}

.top-company {
  padding: 135px 0 100px 0;
}
.top-company .ttl-main {
  margin-bottom: 55px;
}

.top-news {
  padding: 100px 0;
}
.top-news .cts-1080 {
  min-height: 230px;
}
.top-news .btn {
  position: absolute;
  left: 0;
  bottom: 0;
}

#page-low {
  background: url("/img/common/pattern-paper-wht.jpg");
}
#page-low section {
  padding: 120px 0;
}
#page-low section.frame-wave-top {
  padding-top: 150px;
}
#page-low .ttl-main {
  margin-bottom: 60px;
}

.about-us .img {
  margin-left: -420px;
}
.about-us .com-base {
  border: solid 1px #b3b3b3;
  border-top: none;
}
.about-us .com-base h4 {
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(0, -50%);
}
.about-us .com-base h4::before, .about-us .com-base h4::after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  transition: 0.3s;
  width: 30px;
  height: 1px;
  background: #b3b3b3;
  top: 50%;
  right: 0;
}
.about-us .com-base h4::after {
  right: inherit;
  left: 0;
}
.about-us .bg-af-float::after {
  width: 1062px;
  max-width: 100%;
  aspect-ratio: 1062/491;
  background-image: url("/img/about/about-img-02.png");
  background-size: 100%;
  right: 0;
  bottom: 0;
  transform: translate(165px, 120px);
}
.about-us h5 {
  line-height: 1.6923076923;
}
.about-message {
  background: url("/img/about/message-bg.jpg") center center no-repeat;
  background-size: cover;
}
.about-message .img {
  margin-left: -60px;
}

.works-contents .img {
  margin-left: -100px;
}
.works-contents h4 {
  line-height: 2;
}
.works-contents .obj-af-float::after {
  width: 405px;
  max-width: 100%;
  aspect-ratio: 405/308;
  background-image: url("/img/works/area-img.png");
  background-size: 100%;
  top: 50%;
  right: 80px;
  transform: translate(0, -50%);
}

.footer-com {
  padding: 100px 0;
  background: #fff;
}
.footer-com .com-logo {
  margin-bottom: 50px;
}/*# sourceMappingURL=style.css.map */