@charset "UTF-8";
@font-face {
  font-family: YuMin;
  src: url(../font/yumin.ttf) format("truetype");
}
html {
  font-size: 1px;
}

body {
  font-family: "Montserrat", sans-serif;
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  color: #000;
  box-sizing: border-box;
  margin: 0;
  border: 0;
  font-feature-settings: "palt";
  line-height: 1.4;
  font-size: 16px;
}

* {
  box-sizing: border-box;
}

h1, h2, h3, h4, figure {
  margin: 0;
}

.d-flex {
  display: flex;
}

.flex-reserve {
  flex-direction: row-reverse;
}

ul {
  padding: 0;
  margin: 0;
  list-style: none;
}

p {
  margin-top: 0;
  margin-bottom: 0;
  padding: 0;
}

a {
  text-decoration: none;
}

.align-items-center {
  align-items: center;
}

.pc {
  display: flex !important;
}

.pc-block {
  display: block !important;
}

.font-mincho {
  font-family: "Hina Mincho", serif;
}

.sp {
  display: none !important;
}

.sp-block {
  display: none !important;
}

.justify-content-center {
  justify-content: center;
}

.justify-content-between {
  justify-content: space-between;
}

.justify-content-around {
  justify-content: space-around;
}

.justify-content-end {
  justify-content: flex-end;
}

.align-items-baseline {
  align-items: baseline;
}

.text-center {
  text-align: center !important;
}

.center {
  margin-left: auto;
  margin-right: auto;
}

img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.jusify-content-left {
  justify-content: left !important;
}

@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeInUp {
  0% {
    opacity: 0;
    transform: translateY(50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  0% {
    opacity: 0;
    transform: translateY(-50px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  0% {
    opacity: 0;
    transform: translateX(-100px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  0% {
    opacity: 0;
    transform: translateX(100px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes scaled_x {
  0% {
    clip-path: inset(0 100% 0 0);
  }
  100% {
    opacity: 1;
    clip-path: inset(0);
  }
}
@keyframes scaled_x_reserve {
  0% {
    clip-path: inset(0 0 0 100%);
  }
  100% {
    opacity: 1;
    clip-path: inset(0);
  }
}
@keyframes scaled_x_down {
  0% {
    clip-path: inset(0 0 100% 0);
  }
  100% {
    opacity: 1;
    clip-path: inset(0);
  }
}
.anim {
  opacity: 0;
}
.anim.fadeInUp.is-animated {
  animation: fadeInUp 1s ease-in-out forwards;
}
.anim.fadeInDown.is-animated {
  animation: fadeInDown 0.5s ease-in-out forwards;
}
.anim.fadeIn.is-animated {
  animation: fadeIn 1s ease-in-out forwards;
}
.anim.fadeInLeft.is-animated {
  animation: fadeInLeft 1s ease-in-out forwards;
}
.anim.fadeInRight.is-animated {
  animation: fadeInRight 1s ease-in-out forwards;
}
.anim.scaled_x.is-animated {
  transform-origin: left;
  animation: scaled_x 1s ease-in-out forwards;
}
.anim.scaled_x_reserve.is-animated {
  transform-origin: right;
  animation: scaled_x_reserve 1s ease-in-out forwards;
}
.anim.scaled_x_down.is-animated {
  transform-origin: right;
  animation: scaled_x_down 1s ease-in-out forwards;
}

@media screen and (max-width: 768px) {
  html {
    font-size: 0.133333vw;
  }
  .pc {
    display: none !important;
  }
  .pc-block {
    display: none !important;
  }
  .sp {
    display: flex !important;
  }
  .sp-block {
    display: block !important;
  }
}
header {
  width: 97.2222222222%;
  height: 68rem;
  padding: 0 20rem;
  border-radius: 10rem;
  background: #fff;
  box-shadow: 1rem 1rem 1rem rgba(140, 140, 140, 0.75);
  position: absolute;
  left: 50%;
  top: 20rem;
  transform: translate(-50%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  z-index: 21;
}
header.active {
  box-shadow: none;
  background: transparent;
}
header.active .logo {
  opacity: 0;
}
header.active nav ul {
  opacity: 0;
}
header.active nav .contact__btn {
  opacity: 0;
}
header.fixed {
  position: fixed;
  animation: fadeIn 0.3s forwards;
}
header .logo {
  width: 235rem;
  display: flex;
}
header nav {
  display: flex;
  align-items: center;
}
header nav ul.top {
  display: flex;
  align-items: center;
}
header nav ul.top li {
  padding: 10rem 15rem;
}
header nav ul.top li:hover a {
  color: #f39800;
}
header nav ul.top li.parent {
  position: relative;
}
header nav ul.top li.parent:hover ul.child {
  opacity: 1;
  visibility: visible;
}
header nav ul.top li.parent:hover a {
  color: #f39800;
}
header nav ul.top li.parent:hover a:after {
  content: "";
  opacity: 0;
}
header nav ul.top li.parent a {
  padding-right: 20rem;
  position: relative;
}
header nav ul.top li.parent a:after {
  content: "";
  width: 9rem;
  height: 9rem;
  background: url(../img/sign_plus.png);
  background-size: cover;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
header nav ul.top li.parent ul.child {
  height: auto;
  padding: 15rem 20rem;
  border-radius: 12rem;
  background: #f39800;
  position: absolute;
  left: 0;
  top: 100%;
  display: block;
  opacity: 0;
  transition: 0.3s;
  visibility: hidden;
}
header nav ul.top li.parent ul.child li {
  width: 100%;
  margin-bottom: 15rem;
  padding: 0;
}
header nav ul.top li.parent ul.child li:last-child {
  margin-bottom: 0;
}
header nav ul.top li.parent ul.child li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0;
}
header nav ul.top li.parent ul.child li a:after {
  content: unset;
}
header nav ul.top li.parent ul.child li a .lbl {
  width: -moz-max-content;
  width: max-content;
  font-weight: 500;
  font-size: 11rem;
  letter-spacing: 0.05em;
  margin-right: 20rem;
  line-height: 1;
  text-align: left;
  color: #fff;
}
header nav ul.top li.parent ul.child li a .arrow {
  width: 4rem;
  display: flex;
}
header nav ul.top li a {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 13rem;
  line-height: 22.75rem;
  text-align: right;
  color: #1a1a1a;
  transition: 0.3s;
}
header nav .contact__btn {
  width: 180rem;
  height: 48rem;
  margin: 0 20rem;
  border-radius: 24rem;
  background: #f39800;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1rem solid #f39800;
  transition: 0.3s;
}
header nav .contact__btn:hover {
  background: white;
}
header nav .contact__btn:hover span {
  color: #f39800;
}
header nav .contact__btn span {
  font-weight: 500;
  font-size: 13rem;
  letter-spacing: 0.05em;
  line-height: 22.75rem;
  text-align: center;
  color: #fff;
  transition: 0.3s;
}
header nav .sp-menu {
  width: 48rem;
  height: 48rem;
  border-radius: 24rem;
  background: #f39800;
  position: relative;
  z-index: 1;
  border: 1rem solid #f39800;
  transition: 0.3s;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 6rem;
}
header nav .sp-menu:hover {
  background: white;
}
header nav .sp-menu:hover span {
  border-color: #f39800;
}
header nav .sp-menu.open {
  background: white;
}
header nav .sp-menu.open span {
  position: absolute;
  left: 50%;
  top: 50%;
  border-color: #f39800;
}
header nav .sp-menu.open span:nth-child(1) {
  transform: translate(-50%, -50%) rotate(45deg);
}
header nav .sp-menu.open span:nth-child(2) {
  transform: translate(-50%, -50%) rotate(-45deg);
}
header nav .sp-menu span {
  width: 16rem;
  height: 0rem;
  background: transparent;
  border-top: 2px solid #fff;
  flex-shrink: 0;
  transition: 0.3s;
}

.hambeg__bg {
  aspect-ratio: 1/1;
  width: 0vw;
  max-width: none;
  height: auto;
  right: 0;
  top: 0;
  translate: 50% -50%;
  position: fixed;
  z-index: 19;
  background: white;
  border-radius: 50%;
  flex: none;
  transition-delay: 0ms;
  transition-duration: 1200ms;
  transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
}
.hambeg__bg.active {
  width: 284vw;
}

.hambeg__menu {
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  padding: 0 20rem 0;
  position: fixed;
  left: 0;
  top: 0;
  display: flex;
  z-index: 20;
  opacity: 0;
  visibility: hidden;
}
.hambeg__menu.active {
  display: flex;
  animation: fadeIn 0.3s forwards;
  animation-delay: 1.2s;
  visibility: visible;
}
.hambeg__menu .logo__part {
  width: 48.6111111111%;
  height: 760rem;
  border-radius: 20rem;
  background: #f39800;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.hambeg__menu .logo__part .sns__items {
  display: flex;
  justify-content: center;
  gap: 48rem;
  position: absolute;
  left: 50%;
  bottom: 90rem;
  transform: translate(-50%);
}
.hambeg__menu .logo__part .sns__items .item {
  width: 48rem;
  display: flex;
}
.hambeg__menu .logo__part .sns__items .item:nth-child(3) {
  width: 40rem;
}
.hambeg__menu .logo__part .sns__items .item:hover path {
  fill: #fff;
}
.hambeg__menu .logo__part .sns__items .item:hover rect {
  fill: #fff;
}
.hambeg__menu .logo__part .sns__items .item svg {
  width: 100%;
  height: 100%;
}
.hambeg__menu .logo__part .sns__items .item svg path {
  transition: 0.3s;
}
.hambeg__menu .logo__part .sns__items .item svg rect {
  transition: 0.3s;
}
.hambeg__menu .logo__part .logo {
  width: 320rem;
  display: flex;
}
.hambeg__menu .menu__part {
  width: 45.1388888889%;
  padding-top: 90rem;
}
.hambeg__menu .menu__part .menu__content {
  width: 430rem;
  margin: auto;
}
.hambeg__menu .menu__part .menu__content .menu__items {
  display: flex;
  justify-content: space-between;
}
.hambeg__menu .menu__part .menu__content .menu__items ul {
  display: block;
}
.hambeg__menu .menu__part .menu__content .menu__items ul li {
  margin-bottom: 45rem;
}
.hambeg__menu .menu__part .menu__content .menu__items ul li:last-child {
  margin-bottom: 0;
}
.hambeg__menu .menu__part .menu__content .menu__items ul li a {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 30rem;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: left;
  color: #1a1a1a;
  transition: 0.3s;
}
.hambeg__menu .menu__part .menu__content .menu__items ul li a:hover {
  color: #f39800;
}
.hambeg__menu .menu__part .menu__content .menu__items ul li ul.child {
  margin-top: 18rem;
}
.hambeg__menu .menu__part .menu__content .menu__items ul li ul.child li {
  margin-bottom: 18rem;
}
.hambeg__menu .menu__part .menu__content .menu__items ul li ul.child li a {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 500;
  font-size: 13rem;
  line-height: 1.5;
  text-align: left;
  color: #1a1a1a;
  transition: 0.3s;
  display: flex;
  align-items: center;
}
.hambeg__menu .menu__part .menu__content .menu__items ul li ul.child li a:hover {
  color: #f39800;
}
.hambeg__menu .menu__part .menu__content .bottom__menu {
  padding-top: 30rem;
  margin-top: 25rem;
  border-top: 1rem solid #231815;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.hambeg__menu .menu__part .menu__content .bottom__menu .detail__btn {
  height: 48rem;
  padding: 0 10rem 0 25rem;
}
.hambeg__menu .menu__part .menu__content .bottom__menu .detail__btn .icon {
  width: 24rem;
}
.hambeg__menu .menu__part .menu__content .bottom__menu .privacy {
  font-weight: normal;
  text-decoration: underline;
  font-size: 12rem;
  line-height: 24rem;
  text-align: right;
  color: #1a1a1a;
  transition: 0.3s;
}
.hambeg__menu .menu__part .menu__content .bottom__menu .privacy:hover {
  color: #f39800;
}

.frontview {
  width: 100%;
  height: 100vh;
  position: relative;
  overflow: hidden;
}
.frontview .logo__mark {
  width: 660rem;
  display: flex;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: none;
}
.frontview .logo__mark.show {
  display: flex;
  animation: fadeIn 0.3s forwards;
}
.frontview video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  display: block;
  transition: opacity 0.4s ease;
}
.frontview.is-motion video {
  -o-object-position: center center;
     object-position: center center;
}
.frontview.is-main video {
  -o-object-position: center center;
     object-position: center center;
}
.frontview__end {
  position: absolute;
  inset: 0;
  background: #f39800;
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.4s ease, visibility 0.4s ease;
}
.frontview__logo {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 660rem;
  display: flex;
}
.frontview__logo img {
  width: 100%;
  display: block;
}
.frontview.is-end .frontview__end {
  opacity: 1;
  visibility: visible;
}
.frontview.is-end video {
  opacity: 0;
}

.section-title .ja__txt {
  display: flex;
  align-items: center;
}
.section-title .ja__txt .icon {
  width: 28rem;
  height: 28rem;
  margin-right: 10rem;
  display: flex;
  animation: rotateLogo 1.8s linear infinite;
  overflow: hidden;
}
.section-title .ja__txt .lbl {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: bold;
  font-size: 18rem;
  letter-spacing: 0.05em;
  line-height: 31.5rem;
  text-align: left;
  color: #1a1a1a;
}
.section-title .en__txt {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 90rem;
  margin-top: 15rem;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: left;
  color: #1a1a1a;
}

@keyframes rotateLogo {
  0% {
    transform: rotate(0deg); /* 開始時 */
  }
  100% {
    transform: rotate(360deg); /* 終了時（1回転） */
  }
}
input[type=submit] {
  font-weight: 500;
  font-size: 15rem;
  letter-spacing: 0.05em;
  line-height: 26.25rem;
  text-align: left;
  color: #fff;
}

.detail__btn {
  width: 240rem;
  height: 60rem;
  padding: 0 15rem 0 30rem;
  border-radius: 30rem;
  background: #f39800;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border: 2px solid #f39800;
  transition: 0.3s;
}
.detail__btn:hover {
  background: white;
}
.detail__btn:hover .lbl {
  color: #f39800;
}
.detail__btn:hover .icon {
  animation: rotateLogo 1.8s linear infinite;
}
.detail__btn:hover .icon svg path {
  fill: #f39800;
}
.detail__btn .lbl {
  font-weight: 500;
  font-size: 15rem;
  letter-spacing: 0.05em;
  line-height: 26.25rem;
  text-align: left;
  color: #fff;
  transition: 0.3s;
}
.detail__btn .icon {
  width: 32rem;
  height: 32rem;
  border-radius: 50%;
  padding: 2rem;
  overflow: hidden;
  display: flex;
}
.detail__btn .icon svg {
  width: 100%;
  height: 100%;
}
.detail__btn .icon svg path {
  transition: 0.3s;
}

.section-mission {
  padding: 140rem 0 0;
}
.section-mission .content__inner {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.section-mission .content__inner .content__text .section-title .ja__txt .lbl {
  font-family: "Montserrat", sans-serif;
}
.section-mission .content__inner .content__text .section-title .en__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 50rem;
  letter-spacing: 0.05em;
  line-height: 70rem;
  margin-top: 20rem;
  text-align: left;
  color: #1a1a1a;
}
.section-mission .content__inner .content__text .c__txt {
  width: 580rem;
  font-weight: 500;
  font-size: 15rem;
  letter-spacing: 0.05em;
  line-height: 40rem;
  margin-top: 40rem;
  text-align: left;
  color: #1a1a1a;
}
.section-mission .content__inner .content__text .detail__btn {
  margin-top: 45rem;
}
.section-mission .content__inner .c__image {
  width: 512rem;
  display: flex;
}

@keyframes rotateLogo02 {
  0% {
    transform: rotate(0deg) scale(1.3); /* 開始時 */
  }
  100% {
    transform: rotate(360deg) scale(1.3); /* 終了時（1回転） */
  }
}
.section-business {
  padding-top: 140rem;
}
.section-business .title__part {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.section-business .businesss__items {
  width: 100%;
  margin-top: 60rem;
  display: flex;
}
.section-business .businesss__items:hover .b__item:not(:hover) {
  width: 15.9722222222%;
}
.section-business .businesss__items .b__item {
  width: 20%;
  height: 600rem;
  position: relative;
  transition: 0.3s;
}
.section-business .businesss__items .b__item:hover {
  width: 41.6666666667%;
}
.section-business .businesss__items .b__item:hover:nth-child(2):after {
  background: #8fc31f;
}
.section-business .businesss__items .b__item:hover:nth-child(3):after {
  background: #036eb8;
}
.section-business .businesss__items .b__item:hover:nth-child(4):after {
  background: #f39800;
}
.section-business .businesss__items .b__item:hover:nth-child(5):after {
  background: #8f52d7;
}
.section-business .businesss__items .b__item:hover:after {
  background: #e73c82;
  opacity: 1;
}
.section-business .businesss__items .b__item:hover .c__txt {
  opacity: 1;
}
.section-business .businesss__items .b__item:after {
  content: "";
  width: 100%;
  height: 100%;
  background: #1a1a1a;
  opacity: 0.8;
  position: absolute;
  left: 0;
  top: 0;
  mix-blend-mode: multiply;
  transition: 0.3s;
}
.section-business .businesss__items .b__item .c__text {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  position: absolute;
  left: 50%;
  top: 240rem;
  transform: translate(-50%);
  z-index: 1;
}
.section-business .businesss__items .b__item .c__text .j__lbl {
  width: 100%;
  font-weight: 500;
  font-size: 14rem;
  letter-spacing: 0.02em;
  line-height: 24.5rem;
  text-align: center;
  color: #fff;
}
.section-business .businesss__items .b__item .c__text .e__lbl {
  width: 100%;
  height: 90rem;
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 36rem;
  line-height: 46rem;
  margin-top: 5rem;
  text-align: center;
  color: #fff;
}
.section-business .businesss__items .b__item .c__txt {
  width: 80%;
  font-weight: normal;
  font-size: 14rem;
  letter-spacing: 0.03em;
  line-height: 28rem;
  margin-top: 22rem;
  text-align: left;
  color: #fff;
  transition: 0.3s;
  opacity: 0;
}
.section-business .businesss__items .b__item .more__btn {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  bottom: 26rem;
  left: 50%;
  transform: translate(-50%);
  z-index: 1;
}
.section-business .businesss__items .b__item .more__btn:hover .icon {
  animation: rotateLogo02 1.8s linear infinite;
}
.section-business .businesss__items .b__item .more__btn .lbl {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: 13rem;
  letter-spacing: 0.05em;
  line-height: 22.75rem;
  text-align: left;
  color: #fff;
}
.section-business .businesss__items .b__item .more__btn .icon {
  width: 24rem;
  height: 24rem;
  overflow: hidden;
  margin-left: 20rem;
  display: flex;
  transition: 0.3s;
  animation: rotateLogo 1.8s linear infinite;
}
.section-business .businesss__items .b__item .more__btn .icon svg {
  width: 100%;
  height: 100%;
}

.section-works {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  padding-top: 140rem;
}
.section-works .title__part {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.section-works .works__items {
  width: calc(100% + 40rem);
  margin-top: 50rem;
  margin-left: -20rem;
  margin-right: -20rem;
  display: flex;
  flex-wrap: wrap;
}
.section-works .works__items .w__item {
  width: 33.3333333333%;
  padding: 0 20rem;
}
.section-works .works__items .w__item .w__inner {
  width: 100%;
}
.section-works .works__items .w__item .w__inner .c__image {
  width: 100%;
  border-radius: 23rem;
  background: transparent;
  border: 2rem solid #1a1a1a;
  display: flex;
  overflow: hidden;
}
.section-works .works__items .w__item .w__inner .content__text {
  margin-top: 30rem;
}
.section-works .works__items .w__item .w__inner .content__text .info {
  display: flex;
  align-items: center;
}
.section-works .works__items .w__item .w__inner .content__text .info .cat {
  width: 128rem;
  height: 20rem;
  margin-right: 20rem;
  border-radius: 10rem;
  background: #f39800;
  border: 1rem solid #f39800;
  font-weight: 500;
  font-size: 12rem;
  line-height: 1;
  text-align: center;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.section-works .works__items .w__item .w__inner .content__text .info .date {
  font-weight: normal;
  font-size: 14rem;
  line-height: 28rem;
  text-align: left;
  color: #9fa0a0;
}
.section-works .works__items .w__item .w__inner .content__text h3 {
  font-weight: bold;
  font-size: 18rem;
  line-height: 30rem;
  margin-top: 10rem;
  text-align: left;
  color: #f39800;
}
.section-works .works__items .w__item .w__inner .content__text .c__txt {
  height: 55rem;
  font-weight: bold;
  font-size: 17rem;
  line-height: 27rem;
  margin-top: 10rem;
  text-align: left;
  color: #1a1a1a;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.flow__items {
  margin-top: 130rem;
}
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}
.flow__items _:-ms-lang(x)::-ms-backdrop,
.flow__items .d-demo {
  display: -ms-grid;
  overflow: hidden;
}
.flow__items {
  /*----------------------------*/
}
.flow__items .d-demo__wrap {
  display: flex;
  overflow: hidden;
}
.flow__items .d-demo__list {
  display: flex;
  list-style: none;
}
.flow__items .d-demo__list--left {
  animation: infinity-scroll-left 14.3s infinite linear 0.5s both;
}
.flow__items .d-demo__item {
  width: 1332rem;
  padding: 0 30rem;
}
.flow__items .d-demo__item > img {
  width: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.flow__items .d-demo.down {
  margin-top: 60rem;
}
.flow__items .d-demo.down .d-demo__item {
  width: 1400rem;
}
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}
.flow__items .d-demo__list--right {
  animation: infinity-scroll-right 15s infinite linear 0.5s both;
}

.section-news {
  margin-top: 130rem;
  padding: 120rem 0;
  background: #f7f8f8;
}
.section-news .content__inner {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
}
.section-news .content__inner .title__part {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
.section-news .content__inner .news__items {
  width: calc(100% + 40rem);
  margin-top: 50rem;
  margin-left: -20rem;
  margin-right: -20rem;
  display: flex;
  flex-wrap: wrap;
}
.section-news .content__inner .news__items .n__item {
  width: 33.3333333333%;
  padding: 0 20rem;
}
.section-news .content__inner .news__items .n__item .n__inner {
  width: 100%;
  border: 2rem solid #1a1a1a;
  border-radius: 23rem;
  overflow: hidden;
  display: block;
}
.section-news .content__inner .news__items .n__item .n__inner .c__image {
  width: 100%;
  background: transparent;
  display: flex;
}
.section-news .content__inner .news__items .n__item .n__inner .content__text {
  padding: 30rem 20rem;
  border-top: 2rem solid #1a1a1a;
}
.section-news .content__inner .news__items .n__item .n__inner .content__text .info {
  display: flex;
  align-items: center;
}
.section-news .content__inner .news__items .n__item .n__inner .content__text .info .cat {
  width: 100rem;
  height: 20rem;
  margin-right: 20rem;
  border-radius: 10rem;
  background: #f39800;
  border: 1rem solid #f39800;
  font-weight: 500;
  font-size: 12rem;
  line-height: 1;
  text-align: center;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.section-news .content__inner .news__items .n__item .n__inner .content__text .info .date {
  font-weight: normal;
  font-size: 14rem;
  line-height: 28rem;
  text-align: left;
  color: #9fa0a0;
}
.section-news .content__inner .news__items .n__item .n__inner .content__text h3 {
  height: 50rem;
  font-weight: bold;
  font-size: 16rem;
  line-height: 24rem;
  margin-top: 15rem;
  text-align: left;
  color: #1a1a1a;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.section__contact {
  width: 100%;
  height: auto;
  padding: 120rem 0;
  background: #f39800;
  display: flex;
  justify-content: center;
}
.section__contact .c__btn {
  width: 570rem;
  height: 180rem;
  margin: 0 10rem;
  border-radius: 12rem;
  background: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  transition: 0.3s;
}
.section__contact .c__btn:hover {
  background: #fdeacc;
}
.section__contact .c__btn .e__lbl {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 40rem;
  letter-spacing: 0.03em;
  line-height: 70rem;
  text-align: center;
  color: #f39800;
}
.section__contact .c__btn .j__lbl {
  font-weight: 500;
  font-size: 14rem;
  letter-spacing: 0.1em;
  line-height: 24rem;
  text-align: center;
  color: #f39800;
}

footer {
  width: 100%;
  background: #1a1a1a;
  padding: 75rem 0 40rem;
}
footer .footer__inner {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
footer .footer__inner .f__logo {
  width: 180rem;
  display: flex;
}
footer .footer__inner .footer__menu {
  width: 860rem;
}
footer .footer__inner .footer__menu ul {
  display: flex;
}
footer .footer__inner .footer__menu ul li {
  width: 104rem;
  margin-right: 45rem;
}
footer .footer__inner .footer__menu ul li:nth-child(2) {
  width: 190rem;
}
footer .footer__inner .footer__menu ul li:nth-child(3) {
  width: 100rem;
}
footer .footer__inner .footer__menu ul li:nth-child(4) {
  width: 95rem;
}
footer .footer__inner .footer__menu ul li:nth-child(5) {
  width: 111rem;
}
footer .footer__inner .footer__menu ul li a {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 18rem;
  letter-spacing: 0.1em;
  line-height: 1;
  text-align: left;
  color: #fff;
  transition: 0.3s;
}
footer .footer__inner .footer__menu ul li a:hover {
  color: #f39800;
}
footer .footer__inner .footer__menu ul li ul {
  display: block;
  margin-top: 15rem;
}
footer .footer__inner .footer__menu ul li ul li {
  width: auto !important;
  margin-right: 0;
  margin-bottom: 2rem;
}
footer .footer__inner .footer__menu ul li ul li a {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
footer .footer__inner .footer__menu ul li ul li a:hover .lbl {
  color: #f39800;
}
footer .footer__inner .footer__menu ul li ul li a:hover .arrow svg path {
  stroke: #f39800;
}
footer .footer__inner .footer__menu ul li ul li a .lbl {
  font-weight: normal;
  font-size: 12rem;
  line-height: 24rem;
  letter-spacing: 0;
  text-align: left;
  color: #fff;
  transition: 0.3s;
}
footer .footer__inner .footer__menu ul li ul li a .arrow {
  width: 3rem;
  display: flex;
}
footer .footer__inner .footer__menu ul li ul li a .arrow svg {
  width: 100%;
  height: 100%;
}
footer .footer__inner .footer__menu .footer__contact {
  width: 100%;
  padding-top: 20rem;
  margin-top: 35rem;
  border-top: 1px solid #fff;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}
footer .footer__inner .footer__menu .footer__contact .contact__content {
  display: flex;
}
footer .footer__inner .footer__menu .footer__contact .contact__content .detail__btn {
  width: 240rem;
  height: 48rem;
  padding: 0 12rem 0 24rem;
}
footer .footer__inner .footer__menu .footer__contact .contact__content .detail__btn .lbl {
  font-size: 14rem;
}
footer .footer__inner .footer__menu .footer__contact .contact__content .detail__btn .icon {
  width: 24rem;
}
footer .footer__inner .footer__menu .footer__contact .contact__content .sns__items {
  display: flex;
  align-items: center;
  margin-left: 40rem;
}
footer .footer__inner .footer__menu .footer__contact .contact__content .sns__items .item {
  width: 28rem;
  margin-right: 28rem;
  display: flex;
}
footer .footer__inner .footer__menu .footer__contact .contact__content .sns__items .item:hover path {
  fill: #fff;
}
footer .footer__inner .footer__menu .footer__contact .contact__content .sns__items .item:hover rect {
  fill: #fff;
}
footer .footer__inner .footer__menu .footer__contact .contact__content .sns__items .item svg {
  width: 100%;
  height: 100%;
}
footer .footer__inner .footer__menu .footer__contact .contact__content .sns__items .item svg path {
  transition: 0.3s;
}
footer .footer__inner .footer__menu .footer__contact .contact__content .sns__items .item svg rect {
  transition: 0.3s;
}
footer .footer__inner .footer__menu .footer__contact .contact__content .sns__items .item:nth-child(3) {
  width: 24rem;
}
footer .footer__inner .footer__menu .footer__contact .privacy {
  font-weight: normal;
  text-decoration: underline;
  font-size: 12rem;
  line-height: 24rem;
  text-align: right;
  color: #fff;
  transition: 0.3s;
}
footer .footer__inner .footer__menu .footer__contact .privacy:hover {
  color: #f39800;
}
footer .copyright {
  font-weight: normal;
  font-size: 10rem;
  letter-spacing: 0.05em;
  line-height: 24rem;
  margin-top: 60rem;
  text-align: center;
  color: #fff;
}

.subfrontview {
  padding: 240rem 0 140rem;
}
.subfrontview .content__inner {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
}
.subfrontview .content__inner .subtitle .en__txt {
  display: flex;
  align-items: center;
}
.subfrontview .content__inner .subtitle .en__txt .icon {
  width: 40rem;
  margin-right: 20rem;
  display: flex;
  animation: rotateLogo 1.8s linear infinite;
}
.subfrontview .content__inner .subtitle .en__txt .lbl {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 90rem;
  line-height: 1;
  text-align: left;
  color: #1a1a1a;
}
.subfrontview .content__inner .subtitle .ja__txt {
  font-weight: bold;
  font-size: 18rem;
  letter-spacing: 0.05em;
  line-height: 31.5rem;
  padding-left: 56rem;
  margin-top: 10rem;
  text-align: left;
  color: #1a1a1a;
}

.sub__menu {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.sub__menu.right {
  justify-content: right;
}
.sub__menu ul {
  display: flex;
  align-items: center;
}
.sub__menu ul li {
  margin-right: 12rem;
}
.sub__menu ul li.c01 a {
  width: 260rem;
}
.sub__menu ul li.c02 a {
  width: 180rem;
}
.sub__menu ul li.c03 a {
  width: 200rem;
}
.sub__menu ul li a {
  width: 160rem;
  height: 40rem;
  border-radius: 20rem;
  background: #f39800;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  border: 1rem solid #f39800;
  transition: 0.3s;
}
.sub__menu ul li a:hover {
  background: white;
}
.sub__menu ul li a:hover .lbl {
  color: #f39800;
}
.sub__menu ul li a:hover .icon svg path {
  stroke: #f39800;
}
.sub__menu ul li a .icon {
  width: 8rem;
  display: flex;
  position: absolute;
  right: 10rem;
  top: 50%;
  transform: translateY(-50%);
  transition: 0.3s;
}
.sub__menu ul li a .icon svg {
  width: 100%;
  height: 100%;
}
.sub__menu ul li a .lbl {
  font-weight: bold;
  font-size: 13rem;
  letter-spacing: 0.05em;
  line-height: 22.75rem;
  text-align: center;
  color: #fff;
  transition: 0.3s;
}
.sub__menu .breadcrumb {
  display: inline-flex;
  align-items: center;
}
.sub__menu .breadcrumb a, .sub__menu .breadcrumb span {
  font-weight: 500;
  font-size: 13rem;
  line-height: 22.75rem;
  text-align: right;
  color: #666;
}
.sub__menu .breadcrumb span {
  max-width: 250rem; /* or max-width */
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: inline-block;
}

.about__wrapper {
  padding-top: 150rem;
}
.about__wrapper .mission__content,
.about__wrapper .messsage__content,
.about__wrapper .member__content,
.about__wrapper .outline__content {
  position: relative;
}
.about__wrapper .mission__content .id__pos,
.about__wrapper .messsage__content .id__pos,
.about__wrapper .member__content .id__pos,
.about__wrapper .outline__content .id__pos {
  position: absolute;
  left: 0;
  top: -50rem;
}
.about__wrapper .mission__content {
  width: 100%;
  height: 620rem;
  background: url(../img/mission_bg.png);
  background-size: cover;
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
}
.about__wrapper .mission__content .p__lbl {
  width: 100rem;
  display: flex;
  position: absolute;
  left: 3rem;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
}
.about__wrapper .mission__content .content__inner {
  width: 1000rem;
  margin: auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.about__wrapper .mission__content .content__inner .t__text .t__txt {
  font-weight: 900;
  font-size: 50rem;
  letter-spacing: 0.1em;
  line-height: 70rem;
  text-align: left;
  color: #fff;
}
.about__wrapper .mission__content .content__inner .t__text .t__lbl {
  width: 380rem;
  display: flex;
  margin-top: 15rem;
}
.about__wrapper .mission__content .content__inner .c__text {
  width: 520.05rem;
  font-weight: 500;
  font-size: 15rem;
  letter-spacing: 0.05em;
  line-height: 40rem;
  text-align: left;
  color: #fff;
}
.about__wrapper .messsage__content {
  padding: 80rem 0;
  background: #efefef;
}
.about__wrapper .messsage__content .content__inner {
  max-width: 1160rem;
  width: 95%;
  height: auto;
  margin: auto;
  padding: 60rem;
  border-radius: 40rem;
  background: #fff;
  display: flex;
  align-items: flex-start;
}
.about__wrapper .messsage__content .content__inner .c__image {
  width: 384rem;
  display: flex;
}
.about__wrapper .messsage__content .content__inner .content__text {
  width: calc(100% - 384rem);
  padding-right: 50rem;
}
.about__wrapper .messsage__content .content__inner .content__text .section-title .en__txt {
  font-size: 40rem;
}
.about__wrapper .messsage__content .content__inner .content__text .role {
  font-weight: 500;
  font-size: 14rem;
  line-height: 24.5rem;
  margin-top: 20rem;
  text-align: left;
  color: #1a1a1a;
}
.about__wrapper .messsage__content .content__inner .content__text .info {
  display: flex;
  align-items: center;
  margin-top: 10rem;
}
.about__wrapper .messsage__content .content__inner .content__text .info .name {
  font-weight: bold;
  font-size: 28rem;
  line-height: 45rem;
  text-align: left;
  color: #1a1a1a;
}
.about__wrapper .messsage__content .content__inner .content__text .info .e__name {
  font-weight: normal;
  font-size: 14rem;
  line-height: 24.5rem;
  margin-left: 20rem;
  text-align: left;
  color: #f39800;
}
.about__wrapper .messsage__content .content__inner .content__text h3 {
  font-weight: 900;
  font-size: 26rem;
  letter-spacing: 0.05em;
  line-height: 39rem;
  margin-top: 15rem;
  text-align: left;
  color: #1a1a1a;
}
.about__wrapper .messsage__content .content__inner .content__text .c__txt {
  font-weight: normal;
  font-size: 13rem;
  letter-spacing: 0.02em;
  line-height: 26rem;
  margin-top: 15rem;
  text-align: left;
  color: #1a1a1a;
}
.about__wrapper .member__content {
  padding-top: 130rem;
  max-width: 1160rem;
  width: 95%;
  margin: auto;
}
.about__wrapper .member__content .section-title .en__txt {
  font-size: 60rem;
}
.about__wrapper .member__content .member__items {
  width: calc(100% + 40rem);
  margin-left: -20rem;
  margin-right: -20rem;
  margin-top: 50rem;
  display: flex;
  gap: 50rem 0;
  flex-wrap: wrap;
}
.about__wrapper .member__content .member__items .m__item {
  width: 25%;
  padding: 0 20rem;
}
.about__wrapper .member__content .member__items .m__item .m__inner {
  width: 100%;
}
.about__wrapper .member__content .member__items .m__item .m__inner .c__image {
  width: 100%;
  display: flex;
}
.about__wrapper .member__content .member__items .m__item .m__inner .content__text {
  padding-top: 15rem;
}
.about__wrapper .member__content .member__items .m__item .m__inner .content__text .role {
  font-weight: 500;
  font-size: 11rem;
  line-height: 19.25rem;
  text-align: left;
  color: #898989;
}
.about__wrapper .member__content .member__items .m__item .m__inner .content__text .name {
  font-weight: bold;
  font-size: 18rem;
  line-height: 1.2;
  margin-top: 10rem;
  text-align: left;
  color: #1a1a1a;
}
.about__wrapper .member__content .member__items .m__item .m__inner .content__text .c__txt {
  font-weight: normal;
  font-size: 12rem;
  line-height: 18rem;
  margin-top: 10rem;
  text-align: left;
  color: #1a1a1a;
}
.about__wrapper .outline__content {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  padding-top: 140rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.about__wrapper .outline__content .section-title .en__txt {
  font-size: 60rem;
}
.about__wrapper .outline__content .content__text {
  width: 860rem;
}
.about__wrapper .outline__content .content__text table {
  width: 100%;
  border-collapse: collapse;
}
.about__wrapper .outline__content .content__text table tr {
  border-top: 2rem solid #efefef;
}
.about__wrapper .outline__content .content__text table tr:last-child {
  border-bottom: 2rem solid #efefef;
}
.about__wrapper .outline__content .content__text table tr:last-child td:first-child:before {
  content: "";
  width: 20rem;
  height: 0rem;
  background: transparent;
  border-top: 2rem solid #f39800;
  position: absolute;
  left: 0;
  bottom: 0;
  top: auto;
  transform: translateY(100%);
}
.about__wrapper .outline__content .content__text table tr td {
  font-weight: normal;
  font-size: 14rem;
  line-height: 25rem;
  padding: 35rem 0;
  text-align: left;
  color: #1a1a1a;
}
.about__wrapper .outline__content .content__text table tr td span {
  display: block;
  margin-bottom: 20rem;
}
.about__wrapper .outline__content .content__text table tr td .link {
  width: 12rem;
  display: inline-flex;
  margin-left: 10rem;
}
.about__wrapper .outline__content .content__text table tr td:first-child {
  width: 160rem;
  font-weight: bold;
  position: relative;
  vertical-align: top;
}
.about__wrapper .outline__content .content__text table tr td:first-child:after {
  content: "";
  width: 20rem;
  height: 0rem;
  background: transparent;
  border-top: 2rem solid #f39800;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-100%);
}
.about__wrapper .access__content {
  padding: 140rem 0;
}
.about__wrapper .access__content .content__inner {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  display: flex;
  justify-content: space-between;
}
.about__wrapper .access__content .content__inner .title__part {
  width: 360rem;
}
.about__wrapper .access__content .content__inner .title__part .section-title .en__txt {
  font-size: 60rem;
}
.about__wrapper .access__content .content__inner .title__part .c__txt {
  font-weight: normal;
  font-size: 15rem;
  line-height: 30rem;
  padding-top: 25rem;
  margin-top: 25rem;
  border-top: 1rem solid #231815;
  text-align: left;
  color: #000;
}
.about__wrapper .access__content .content__inner .map {
  width: 700rem;
  height: 400rem;
}
.about__wrapper .access__content .content__inner .map iframe {
  width: 100%;
  height: 100%;
}

.business__wrapper .section-mission .content__inner .content__text .section-title .en__txt {
  font-size: 40rem;
  line-height: 60rem;
}
.business__wrapper .section-mission .content__inner .content__text .c__txt {
  width: 517rem;
}
.business__wrapper .section-mission .content__inner .c__image {
  width: 528rem;
}
.business__wrapper .section-mission .content__inner {
  gap: 160rem;
}
.business__wrapper .business__content {
  padding: 80rem 0;
  margin-top: 120rem;
  background: #efefef;
}
.business__wrapper .business__content .b__item {
  max-width: 1160rem;
  width: 95%;
  height: auto;
  margin: auto;
  margin-bottom: 60rem;
  padding: 50rem;
  border-radius: 40rem;
  background: #fff;
  display: flex;
  align-items: flex-start;
  position: relative;
}
.business__wrapper .business__content .b__item .id__pos {
  position: absolute;
  left: 0;
  top: -50rem;
}
.business__wrapper .business__content .b__item:last-child {
  margin-bottom: 0;
}
.business__wrapper .business__content .b__item:nth-child(2) .content__text .section-title .ja__txt .icon svg path {
  fill: #8FC31F;
}
.business__wrapper .business__content .b__item:nth-child(2) .content__text .p__txt li:after {
  color: #8FC31F;
}
.business__wrapper .business__content .b__item:nth-child(3) .content__text .section-title .ja__txt .icon svg path {
  fill: #036EB8;
}
.business__wrapper .business__content .b__item:nth-child(3) .content__text .p__txt li:after {
  color: #036EB8;
}
.business__wrapper .business__content .b__item:nth-child(4) .content__text .section-title .ja__txt .icon svg path {
  fill: #F39800;
}
.business__wrapper .business__content .b__item:nth-child(4) .content__text .p__txt li:after {
  color: #F39800;
}
.business__wrapper .business__content .b__item:nth-child(5) .content__text .section-title .ja__txt .icon svg path {
  fill: #8F52D7;
}
.business__wrapper .business__content .b__item:nth-child(5) .content__text .p__txt li:after {
  color: #8F52D7;
}
.business__wrapper .business__content .b__item .c__image {
  width: 480rem;
  display: flex;
}
.business__wrapper .business__content .b__item .content__text {
  width: calc(100% - 480rem);
  padding-right: 60rem;
}
.business__wrapper .business__content .b__item .content__text .section-title .ja__txt .icon svg {
  width: 100%;
  height: 100%;
}
.business__wrapper .business__content .b__item .content__text .section-title .ja__txt .lbl {
  font-family: "Montserrat", sans-serif;
  font-weight: bold;
  font-size: 16rem;
  letter-spacing: 0.05em;
  line-height: 28rem;
  text-align: left;
  color: #1a1a1a;
}
.business__wrapper .business__content .b__item .content__text .section-title .en__txt {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 900;
  font-size: 30rem;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: left;
  color: #1a1a1a;
}
.business__wrapper .business__content .b__item .content__text .c__txt {
  font-weight: normal;
  font-size: 15rem;
  letter-spacing: 0.03em;
  line-height: 30rem;
  margin-top: 36rem;
  text-align: left;
  color: #1a1a1a;
}
.business__wrapper .business__content .b__item .content__text .p__txt {
  font-weight: bold;
  font-size: 15rem;
  letter-spacing: 0;
  line-height: 1.4;
  margin-top: 36rem;
  text-align: left;
  color: #000;
}
.business__wrapper .business__content .b__item .content__text .p__txt li {
  position: relative;
  padding-left: 20rem;
  margin-bottom: 20rem;
}
.business__wrapper .business__content .b__item .content__text .p__txt li span {
  font-weight: normal;
}
.business__wrapper .business__content .b__item .content__text .p__txt li:after {
  content: "■";
  color: #E73C82;
  position: absolute;
  left: 0;
  top: 0;
}

.works__wrapper {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  margin-top: 65rem;
  padding-bottom: 140rem;
}
.works__wrapper .cat__items {
  width: 60%;
  display: flex;
  flex-wrap: wrap;
  gap: 16rem;
}
.works__wrapper .cat__items .cat {
  border-radius: 12rem;
  background: #fff;
  border: 1rem solid #f39800;
  display: inline-flex;
  font-weight: 500;
  font-size: 12rem;
  line-height: 1;
  padding: 5rem 15rem;
  text-align: center;
  color: #f39800;
  transition: 0.3s;
}
.works__wrapper .cat__items .cat:hover {
  background: #f39800;
  color: white;
}
.works__wrapper .cat__items .cat.active {
  background: #f39800;
  color: white;
}
.works__wrapper .works__items {
  width: calc(100% + 40rem);
  margin-top: 90rem;
  margin-left: -20rem;
  margin-right: -20rem;
  display: flex;
  gap: 60rem 0;
  flex-wrap: wrap;
}
.works__wrapper .works__items .w__item.is-hidden {
  display: none;
}
.works__wrapper .works__items.news .w__item .w__inner .content__text {
  padding: 0 15rem;
}
.works__wrapper .works__items.news .w__item .w__inner .content__text .info .cat {
  width: 100rem;
}
.works__wrapper .works__items.news .w__item .w__inner .content__text .info .c__txt {
  width: 16rem;
}
.works__wrapper .works__items .w__item {
  width: 33.3333333333%;
  padding: 0 20rem;
}
.works__wrapper .works__items .w__item .w__inner {
  width: 100%;
}
.works__wrapper .works__items .w__item .w__inner .c__image {
  width: 100%;
  border-radius: 23rem;
  background: transparent;
  border: 2rem solid #1a1a1a;
  display: flex;
  overflow: hidden;
}
.works__wrapper .works__items .w__item .w__inner .content__text {
  margin-top: 30rem;
}
.works__wrapper .works__items .w__item .w__inner .content__text .info {
  display: flex;
  align-items: center;
}
.works__wrapper .works__items .w__item .w__inner .content__text .info .cat {
  width: 128rem;
  height: 20rem;
  margin-right: 20rem;
  border-radius: 10rem;
  background: #f39800;
  border: 1rem solid #f39800;
  font-weight: 500;
  font-size: 12rem;
  line-height: 1;
  text-align: center;
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
}
.works__wrapper .works__items .w__item .w__inner .content__text .info .date {
  font-weight: normal;
  font-size: 14rem;
  line-height: 28rem;
  text-align: left;
  color: #9fa0a0;
}
.works__wrapper .works__items .w__item .w__inner .content__text h3 {
  font-weight: bold;
  font-size: 18rem;
  line-height: 30rem;
  margin-top: 10rem;
  text-align: left;
  color: #f39800;
}
.works__wrapper .works__items .w__item .w__inner .content__text .c__txt {
  height: 55rem;
  font-weight: bold;
  font-size: 17rem;
  line-height: 27rem;
  margin-top: 10rem;
  text-align: left;
  color: #1a1a1a;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}
.works__wrapper .detail__btn {
  margin: auto;
  margin-top: 120rem;
}
.works__wrapper .detail__btn.is-hidden {
  display: none;
}

.recruit__wrapper .message__content {
  padding-top: 140rem;
  position: relative;
}
.recruit__wrapper .message__content .content__inner {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  position: relative;
}
.recruit__wrapper .message__content .content__inner .section-title .en__txt {
  font-size: 60rem;
}
.recruit__wrapper .message__content .content__inner .t__txt {
  font-weight: 900;
  font-size: 40rem;
  letter-spacing: 0.05em;
  line-height: 60rem;
  margin-top: 45rem;
  text-align: left;
  color: #000;
}
.recruit__wrapper .message__content .content__inner .c__txt {
  width: 576rem;
  font-weight: 500;
  font-size: 16rem;
  letter-spacing: 0.05em;
  line-height: 48rem;
  margin-top: 20rem;
  text-align: left;
  color: #000;
}
.recruit__wrapper .message__content .content__inner .gap01 {
  width: 22.2222222222%;
  display: flex;
  position: absolute;
  top: 0;
  right: 4.3103448276%;
}
.recruit__wrapper .message__content .content__inner .gap01 .recruit-phone {
  position: relative;
  width: 100%;
}
.recruit__wrapper .message__content .content__inner .gap01 .recruit-phone .recruit-phone__video {
  position: absolute;
  top: 1.4%;
  left: 3.4%;
  width: 93.2%;
  height: 97.2%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 11%/5.5%;
  z-index: 0;
}
.recruit__wrapper .message__content .content__inner .gap01 .recruit-phone .recruit-phone__frame {
  position: relative;
  width: 100%;
  height: auto;
  display: block;
  z-index: 1;
  pointer-events: none;
}
.recruit__wrapper .interview__content {
  max-width: 1160rem;
  width: 95%;
  margin: auto;
  padding-top: 160rem;
}
.recruit__wrapper .interview__content .section-title .en__txt {
  font-size: 60rem;
}
.recruit__wrapper .interview__content .interview__items {
  width: 100%;
  margin-top: 60rem;
  display: flex;
  justify-content: space-between;
}
.recruit__wrapper .interview__content .interview__items .p__item {
  width: 31.0344827586%;
  position: relative;
}
.recruit__wrapper .interview__content .interview__items .p__item .c__image {
  width: 100%;
  display: flex;
  position: relative;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl {
  width: 300rem;
  height: auto;
  padding: 15rem 30rem;
  border-radius: 12rem;
  background: #fff;
  box-shadow: 2.13rem 2.13rem 2.13rem rgba(160, 160, 160, 0.75);
  position: absolute;
  left: 50%;
  bottom: -80rem;
  transform: translate(-50%);
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .info {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .info .name {
  font-weight: bold;
  font-size: 20rem;
  letter-spacing: 0.05em;
  line-height: 32rem;
  margin-right: 10rem;
  text-align: left;
  color: #1a1a1a;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .info .e__name {
  font-weight: 500;
  font-size: 11rem;
  letter-spacing: 0.1em;
  line-height: 28rem;
  text-align: left;
  color: #f39800;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .role {
  font-weight: 500;
  font-size: 12rem;
  line-height: 28rem;
  text-align: left;
  color: #9fa0a0;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .more__btn {
  width: 100%;
  height: 48rem;
  margin-top: 15rem;
  border-radius: 5rem;
  background: #fff;
  border: 1.13rem solid #f39800;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
  transition: 0.3s;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .more__btn:hover {
  background: #f39800;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .more__btn:hover .lbl {
  color: white;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .more__btn:hover .icon {
  animation: rotateLogo01 1s linear infinite;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .more__btn:hover .icon svg path {
  fill: #fff;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .more__btn .icon {
  width: 20rem;
  display: flex;
  position: absolute;
  right: 10rem;
  top: 50%;
  transform: translateY(-50%);
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .more__btn .icon svg {
  width: 100%;
  height: 100%;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .more__btn .icon svg path {
  transition: 0.3s;
}
.recruit__wrapper .interview__content .interview__items .p__item .content__lbl .more__btn .lbl {
  font-weight: 500;
  font-size: 14rem;
  letter-spacing: 0.05em;
  line-height: 32rem;
  text-align: center;
  color: #f39800;
  transition: 0.3s;
}
.recruit__wrapper .job__content {
  max-width: 1320rem;
  width: 95%;
  height: auto;
  padding: 60rem;
  margin: auto;
  margin-top: 220rem;
  border-radius: 40rem;
  background: #efefef;
}
.recruit__wrapper .job__content .section-title .ja__txt {
  justify-content: center;
}
.recruit__wrapper .job__content .section-title .en__txt {
  font-size: 60rem;
  text-align: center;
}
.recruit__wrapper .job__content .job__items {
  display: flex;
  justify-content: center;
  margin-top: 60rem;
  gap: 40rem 40rem;
  flex-wrap: wrap;
}
.recruit__wrapper .job__content .job__items .j__item {
  width: 520rem;
  height: auto;
  padding: 20rem 20rem 20rem 30rem;
  border-radius: 10rem;
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: 0.3s;
}
.recruit__wrapper .job__content .job__items .j__item .lbl {
  font-weight: bold;
  font-size: 18rem;
  letter-spacing: 0.05em;
  line-height: 31.5rem;
  text-align: left;
  color: #1a1a1a;
  transition: 0.3s;
}
.recruit__wrapper .job__content .job__items .j__item:hover {
  background: #f39800;
}
.recruit__wrapper .job__content .job__items .j__item:hover .lbl {
  color: white;
}
.recruit__wrapper .job__content .job__items .j__item:hover .icon {
  animation: rotateLogo 1s linear infinite;
}
.recruit__wrapper .job__content .job__items .j__item:hover .icon svg path {
  fill: #fff;
}
.recruit__wrapper .job__content .job__items .j__item .icon {
  width: 28rem;
  display: flex;
}
.recruit__wrapper .job__content .job__items .j__item .icon svg {
  width: 100%;
  height: 100%;
}
.recruit__wrapper .job__content .job__items .j__item .icon svg path {
  transition: 0.3s;
}
.recruit__wrapper .benifit__content {
  max-width: 1160rem;
  width: 95%;
  margin: 0 auto 140rem;
  padding-top: 140rem;
}
.recruit__wrapper .benifit__content .section-title .en__txt {
  font-size: 48rem;
}
.recruit__wrapper .benifit__content .note__txt {
  font-weight: 500;
  font-size: 16rem;
  letter-spacing: 0.05em;
  line-height: 48rem;
  text-align: left;
  color: #1a1a1a;
}
.recruit__wrapper .benifit__content .ben__items {
  width: 100%;
  margin-top: 45rem;
  display: flex;
  flex-wrap: wrap;
  gap: 50rem 80rem;
}
.recruit__wrapper .benifit__content .ben__items .b__item {
  width: 500rem;
}
.recruit__wrapper .benifit__content .ben__items .b__item .b__txt {
  font-weight: bold;
  font-size: 20rem;
  letter-spacing: 0.05em;
  line-height: 48rem;
  text-align: left;
  color: #f39800;
}
.recruit__wrapper .benifit__content .ben__items .b__item .c__txt {
  font-weight: normal;
  font-size: 16rem;
  line-height: 32rem;
  text-align: left;
  color: #1a1a1a;
}

@keyframes rotateLogo01 {
  0% {
    transform: translateY(-50%) rotate(0deg); /* 開始時 */
  }
  100% {
    transform: translateY(-50%) rotate(360deg); /* 終了時（1回転） */
  }
}
.contact__wrapper {
  max-width: 1320rem;
  width: 95%;
  height: auto;
  padding: 60rem;
  margin: auto;
  margin-top: 60rem;
  margin-bottom: 100rem;
  border-radius: 40rem;
  background: #f8f8f8;
}
.contact__wrapper .note__txt {
  font-weight: 500;
  font-size: 16rem;
  letter-spacing: 0.05em;
  line-height: 48rem;
  text-align: center;
  color: #1a1a1a;
}
.contact__wrapper table {
  width: 1000rem;
  margin: auto;
  margin-top: 90rem;
  border-collapse: collapse;
}
.contact__wrapper table .wpcf7-spinner {
  position: absolute;
  margin: auto;
  margin-top: 30rem;
}
.contact__wrapper table tr:last-child td:first-child {
  padding-top: 40rem;
  vertical-align: top;
}
.contact__wrapper table tr td {
  padding: 12rem 0;
  font-weight: 500;
  font-size: 14rem;
  line-height: 1;
  text-align: left;
  color: #1a1a1a;
}
.contact__wrapper table tr td .detail__btn {
  margin-top: 30rem;
}
.contact__wrapper table tr td .privacy {
  margin-top: 15rem;
  display: flex;
  align-items: center;
}
.contact__wrapper table tr td .privacy p {
  font-weight: normal;
  text-decoration: underline;
  font-size: 14rem;
  line-height: 32.4rem;
  margin-left: 10rem;
  text-align: left;
  color: #00202f;
}
.contact__wrapper table tr td .privacy p a {
  color: #1488CC;
}
.contact__wrapper table tr td .names {
  display: flex;
  gap: 24rem;
}
.contact__wrapper table tr td .names input[type=text] {
  width: 48.3783783784%;
}
.contact__wrapper table tr td .n__txt {
  font-weight: normal;
  font-size: 11rem;
  line-height: 1;
  margin-top: 10rem;
  text-align: left;
  color: #000;
}
.contact__wrapper table tr td select {
  width: 740rem;
  height: 60rem;
  padding-left: 20rem;
  border-radius: 5rem;
  background: #fff;
  font-size: 14rem;
  line-height: 1;
  text-align: left;
  color: #1a1a1a;
  border: 0;
  background-image: url(../img/d_arrow.png);
  background-size: 10rem 8rem;
  background-repeat: no-repeat;
  background-position: 710rem center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.contact__wrapper table tr td select :disabled {
  color: red;
}
.contact__wrapper table tr td ::-moz-placeholder {
  color: #c9caca;
}
.contact__wrapper table tr td ::placeholder {
  color: #c9caca;
}
.contact__wrapper table tr td input[type=text] {
  width: 740rem;
  height: 60rem;
  padding-left: 20rem;
  border-radius: 5rem;
  background: #fff;
  font-size: 14rem;
  line-height: 1;
  text-align: left;
  color: #1a1a1a;
  border: 0;
}
.contact__wrapper table tr td textarea {
  width: 740rem;
  height: 180rem;
  padding: 20rem;
  border-radius: 5rem;
  background: #fff;
  font-size: 14rem;
  line-height: 1;
  text-align: left;
  color: #1a1a1a;
  border: 0;
}
.contact__wrapper table tr td input[type=email] {
  width: 48.3783783784%;
  height: 60rem;
  padding-left: 20rem;
  border-radius: 5rem;
  background: #fff;
  font-size: 14rem;
  line-height: 1;
  text-align: left;
  color: #1a1a1a;
  border: 0;
}
.contact__wrapper table tr td .send__btn {
  width: -moz-max-content;
  width: max-content;
  position: relative;
  cursor: pointer;
  text-align: center;
}
.contact__wrapper table tr td .send__btn .op {
  width: 100%;
  height: 100%;
  border-radius: 30rem;
  background: #1a1a1a;
  opacity: 0.6;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 1;
}
.contact__wrapper table tr td .send__btn:hover .detail__btn {
  background: white;
}
.contact__wrapper table tr td .send__btn:hover .detail__btn:disabled {
  background: #f39800;
}
.contact__wrapper table tr td .send__btn:hover input[type=submit] {
  color: #f39800;
}
.contact__wrapper table tr td .send__btn:hover input[type=submit]:disabled {
  color: white;
}
.contact__wrapper table tr td .send__btn:hover .icon {
  animation: rotateLogo01 1s linear infinite;
}
.contact__wrapper table tr td .send__btn:hover .icon svg path {
  fill: #f39800;
}
.contact__wrapper table tr td .send__btn:hover input[type=submit]:disabled + .icon {
  animation: unset;
}
.contact__wrapper table tr td .send__btn:hover input[type=submit]:disabled + .icon svg path {
  fill: #fff;
}
.contact__wrapper table tr td .send__btn .icon {
  width: 30rem;
  display: flex;
  position: absolute;
  right: 20rem;
  top: 50%;
  transform: translateY(-50%);
  transition: 1s;
  transform-origin: center center;
}
.contact__wrapper table tr td .send__btn .icon svg {
  width: 100%;
  height: 100%;
}
.contact__wrapper table tr td .send__btn .icon svg path {
  transition: 0.3s;
}
.contact__wrapper table tr td input[type=button] {
  font-weight: 500;
  font-size: 15rem;
  letter-spacing: 0.05em;
  line-height: 26.25rem;
  text-align: left;
  color: #fff;
}
.contact__wrapper table tr td input[type=button]:hover {
  color: #f39800;
}
.contact__wrapper table tr td:first-child {
  width: 260rem;
}
.contact__wrapper table tr td:first-child .required {
  font-weight: 500;
  font-size: 10rem;
  padding: 3rem 7rem;
  margin-left: 10rem;
  letter-spacing: 0.05em;
  display: inline-block;
  line-height: 1;
  text-align: center;
  color: #fff;
  border-radius: 6.75rem;
  background: #1a1a1a;
}

.privacy__wrapper {
  width: 1040rem;
  margin: auto;
  margin-top: 60rem;
  margin-bottom: 100rem;
}
.privacy__wrapper table {
  width: 100%;
  border-collapse: collapse;
}
.privacy__wrapper table tr {
  display: grid;
}
.privacy__wrapper table tr th {
  font-weight: bold;
  font-size: 22rem;
  letter-spacing: 0.02em;
  line-height: 27rem;
  padding-top: 30rem;
  text-align: left;
  color: #1a1a1a;
}
.privacy__wrapper table tr td {
  font-weight: normal;
  font-size: 15rem;
  line-height: 26rem;
  padding: 30rem 0;
  text-align: left;
  color: #1a1a1a;
  border-bottom: 1rem solid #1a1a1a;
}
.privacy__wrapper table tr td ul.c01 {
  margin-top: 18rem;
}
.privacy__wrapper table tr td ul li {
  margin-bottom: 10rem;
}
.privacy__wrapper table tr td ul li:last-child {
  margin-bottom: 0;
}
.privacy__wrapper .note__sign {
  font-weight: 500;
  font-size: 15rem;
  line-height: 30rem;
  margin-top: 35rem;
  text-align: right;
  color: #1a1a1a;
}

.news-detail__wrapper {
  max-width: 1160rem;
  width: 95%;
  height: auto;
  padding: 80rem 100rem;
  margin: 100rem auto;
  border-radius: 40rem;
  background: #f7f8f8;
}
.news-detail__wrapper .info {
  display: flex;
  align-items: center;
}
.news-detail__wrapper .info .cat {
  width: 140rem;
  height: 24rem;
  margin-right: 15rem;
  border-radius: 12rem;
  background: #f39800;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: 15rem;
  letter-spacing: 0.05em;
  line-height: 39.2rem;
  text-align: center;
  color: #fff;
}
.news-detail__wrapper .info .date {
  font-weight: normal;
  font-size: 15rem;
  line-height: 28rem;
  text-align: left;
  color: #1a1a1a;
}
.news-detail__wrapper h3 {
  font-weight: bold;
  font-size: 22rem;
  line-height: 37rem;
  margin-top: 30rem;
  text-align: left;
  color: #1a1a1a;
}
.news-detail__wrapper .content__text {
  margin-top: 50rem;
}
.news-detail__wrapper .content__text img {
  width: 100%;
  margin-bottom: 40rem;
}
.news-detail__wrapper .content__text p {
  font-weight: normal;
  font-size: 15rem;
  line-height: 25rem;
  margin-bottom: 40rem;
  text-align: left;
  color: #000000;
}
.news-detail__wrapper .list__btn {
  width: 200rem;
  height: 48rem;
  margin: auto;
  margin-top: 50rem;
  border-radius: 24rem;
  background: #f39800;
  border: 1rem solid #f39800;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: 0.3s;
}
.news-detail__wrapper .list__btn:hover {
  background: #fff;
}
.news-detail__wrapper .list__btn:hover span {
  color: #f39800;
}
.news-detail__wrapper .list__btn span {
  font-weight: 500;
  font-size: 15rem;
  letter-spacing: 0.05em;
  line-height: 26.25rem;
  text-align: center;
  color: #fff;
  transition: 0.3s;
}

.interview__modal {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 25;
  display: none;
}
.interview__modal.active {
  display: block;
  animation: fadeIn 0.3s forwards;
}
.interview__modal .overlay {
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.8;
  position: absolute;
  left: 0;
  top: 0;
}
.interview__modal .modal__inner {
  max-width: 1120rem;
  width: 95%;
  height: 640rem;
  padding: 40rem;
  border-radius: 20rem;
  background: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.interview__modal .modal__inner .close__btn {
  width: 16rem;
  display: flex;
  position: absolute;
  top: 40rem;
  right: 40rem;
  cursor: pointer;
}
.interview__modal .modal__inner .c__image {
  width: 360rem;
}
.interview__modal .modal__inner .content__text {
  width: calc(100% - 360rem);
  padding-left: 60rem;
}
.interview__modal .modal__inner .content__text .info {
  display: flex;
  align-items: center;
  justify-content: left;
}
.interview__modal .modal__inner .content__text .info .name {
  font-weight: bold;
  font-size: 20rem;
  letter-spacing: 0.05em;
  line-height: 32rem;
  margin-right: 10rem;
  text-align: left;
  color: #1a1a1a;
}
.interview__modal .modal__inner .content__text .info .e__name {
  font-weight: 500;
  font-size: 11rem;
  letter-spacing: 0.1em;
  line-height: 28rem;
  text-align: left;
  color: #f39800;
}
.interview__modal .modal__inner .content__text .role {
  font-weight: 500;
  font-size: 12rem;
  line-height: 28rem;
  text-align: left;
  color: #9fa0a0;
}
.interview__modal .modal__inner .content__text .note__txt {
  font-weight: normal;
  font-size: 14rem;
  line-height: 28rem;
  margin-top: 10rem;
  text-align: left;
  color: #1a1a1a;
}
.interview__modal .modal__inner .content__text .q__txt {
  font-weight: bold;
  font-size: 16rem;
  letter-spacing: 0.05em;
  line-height: 24.3rem;
  margin-top: 20rem;
  text-align: left;
  color: #f39800;
}
.interview__modal .modal__inner .content__text .a__txt {
  font-weight: normal;
  font-size: 14rem;
  line-height: 28rem;
  margin-top: 10rem;
  text-align: left;
  color: #1a1a1a;
}

.job__modal {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 30;
  display: none;
}
.job__modal.active {
  display: block;
  animation: fadeIn 0.3s forwards;
}
.job__modal .overlay {
  width: 100%;
  height: 100%;
  background: #000;
  opacity: 0.8;
  position: absolute;
  left: 0;
  top: 0;
}
.job__modal .modal__inner {
  max-width: 1120rem;
  width: 95%;
  height: 640rem;
  padding: 40rem;
  border-radius: 20rem;
  background: #fff;
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.job__modal .modal__inner .close__btn {
  width: 16rem;
  display: flex;
  position: absolute;
  top: 40rem;
  right: 40rem;
  cursor: pointer;
}
.job__modal .modal__inner .title__part {
  display: flex;
  align-items: center;
}
.job__modal .modal__inner .title__part .icon {
  width: 28rem;
  margin-right: 10rem;
  display: flex;
}
.job__modal .modal__inner .title__part .lbl {
  font-weight: 900;
  font-size: 24rem;
  letter-spacing: 0.05em;
  line-height: 39rem;
  text-align: left;
  color: #1a1a1a;
}
.job__modal .modal__inner .modal__content {
  width: 100%;
  height: 97%;
  overflow: auto;
  padding-right: 10rem;
}
.job__modal .modal__inner .modal__content table {
  width: 100%;
  height: auto;
  border-collapse: collapse;
  margin-top: 35rem;
}
.job__modal .modal__inner .modal__content table tr {
  border-top: 1rem solid #c9caca;
}
.job__modal .modal__inner .modal__content table tr:last-child {
  border-bottom: 1rem solid #c9caca;
}
.job__modal .modal__inner .modal__content table tr:last-child td:first-child:before {
  content: "";
  width: 40rem;
  height: 0rem;
  background: transparent;
  border-top: 1rem solid #f39800;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(100%);
}
.job__modal .modal__inner .modal__content table tr td {
  font-weight: normal;
  font-size: 14rem;
  letter-spacing: 0.03em;
  line-height: 26rem;
  padding: 25rem 0;
  text-align: left;
  color: #1a1a1a;
}
.job__modal .modal__inner .modal__content table tr td:first-child {
  width: 230rem;
  padding-left: 20rem;
  font-weight: bold;
  position: relative;
  vertical-align: top;
}
.job__modal .modal__inner .modal__content table tr td:first-child:after {
  content: "";
  width: 40rem;
  height: 0rem;
  background: transparent;
  border-top: 1rem solid #f39800;
  position: absolute;
  left: 0;
  top: 0;
  transform: translateY(-100%);
}
.job__modal .modal__inner .modal__content table tr td p {
  margin-bottom: 10rem;
}
.job__modal .modal__inner .modal__content table tr td p:last-child {
  margin-bottom: 0;
}

.works-detail__wrapper {
  max-width: 1160rem;
  width: 95%;
  height: auto;
  padding: 80rem 100rem;
  margin: 100rem auto;
  border-radius: 40rem;
  background: #f7f8f8;
}
.works-detail__wrapper .info {
  display: flex;
  align-items: center;
}
.works-detail__wrapper .info .cat {
  width: 128rem;
  height: 20rem;
  margin-right: 15rem;
  border-radius: 12rem;
  background: #f39800;
  display: flex;
  justify-content: center;
  align-items: center;
  font-weight: 500;
  font-size: 12rem;
  letter-spacing: 0.05em;
  line-height: 39.2rem;
  text-align: center;
  color: #fff;
}
.works-detail__wrapper .info .date {
  font-weight: normal;
  font-size: 14rem;
  line-height: 28rem;
  text-align: left;
  color: #1a1a1a;
}
.works-detail__wrapper .name {
  font-weight: bold;
  font-size: 18rem;
  line-height: 24rem;
  margin-top: 10rem;
  text-align: left;
  color: #1a1a1a;
}
.works-detail__wrapper h3 {
  font-weight: bold;
  font-size: 26rem;
  line-height: 1.5;
  margin-top: 10rem;
  text-align: left;
  color: #1a1a1a;
}
.works-detail__wrapper .content__text {
  margin-top: 20rem;
}
.works-detail__wrapper .content__text p {
  font-weight: normal;
  font-size: 16rem;
  line-height: 32rem;
  margin-bottom: 40rem;
  text-align: left;
  color: #1a1a1a;
}
.works-detail__wrapper .content__text .main__contents {
  width: 100%;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.works-detail__wrapper .content__text .main__contents .p__image {
  width: 245rem;
  display: flex;
}
.works-detail__wrapper .content__text .main__contents .contents {
  width: 600rem;
}
.works-detail__wrapper .content__text .main__contents .contents .c__lbl {
  width: 160rem;
  height: 32rem;
  margin: auto;
  border-radius: 16rem;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #000;
}
.works-detail__wrapper .content__text .main__contents .contents .c__lbl span {
  font-size: 18rem;
  font-weight: bold;
  color: white;
}
.works-detail__wrapper .content__text .main__contents .contents .members {
  margin-top: 30rem;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.works-detail__wrapper .content__text .main__contents .contents .members .item {
  width: 32%;
}
.works-detail__wrapper .content__text .main__contents .contents .members .item .txt {
  height: 32rem;
  font-size: 12rem;
  line-height: 1.4;
  margin: 0;
  font-weight: 500;
  color: #000000;
}
.works-detail__wrapper .content__text .main__contents .contents .members .item .image {
  width: 100%;
  display: flex;
  margin-top: 25rem;
}
.works-detail__wrapper .content__text .main__contents .other__image {
  width: 554rem;
  display: flex;
}
.works-detail__wrapper .content__text .post__contents {
  width: 100%;
  display: flex;
  margin-top: 35rem;
  flex-direction: column;
  gap: 20rem;
}
.works-detail__wrapper .content__text .post__contents .post__image {
  width: 100%;
  display: flex;
}
.works-detail__wrapper .content__text .post__contents .post__items {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.works-detail__wrapper .content__text .post__contents .post__items .item {
  width: 23.5%;
  display: flex;
}
.works-detail__wrapper .control__btns {
  margin-top: 100rem;
  display: flex;
  justify-content: center;
  gap: 40rem;
}
.works-detail__wrapper .control__btns .c__btn {
  width: 220rem;
  height: 48rem;
  border-radius: 24rem;
  background: #f39800;
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1rem solid #f39800;
  transition: 0.3s;
}
.works-detail__wrapper .control__btns .c__btn:hover {
  background: white;
}
.works-detail__wrapper .control__btns .c__btn:hover span {
  color: #f39800;
}
.works-detail__wrapper .control__btns .c__btn span {
  font-weight: 500;
  font-size: 15rem;
  letter-spacing: 0.05em;
  line-height: 26.25rem;
  text-align: center;
  color: #fff;
  transition: 0.3s;
}

@media screen and (max-width: 1090px) {
  html {
    font-size: 0.8px;
  }
  header nav ul.top {
    display: none;
  }
  header nav .contact__btn {
    display: none;
  }
  footer .footer__inner .footer__menu {
    width: 77%;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: 0.256vw;
  }
  header {
    width: 350rem;
    height: 64rem;
    padding: 0 12rem;
    top: 16rem;
  }
  header .logo {
    width: 190rem;
  }
  .section-mission .content__inner {
    width: 350rem;
    display: block;
  }
  .section-title .ja__txt .icon {
    width: 24rem;
    height: 24rem;
  }
  .section-title .ja__txt .lbl {
    font-size: 16rem;
  }
  .section-mission .content__inner .content__text .section-title .en__txt {
    font-size: 30rem;
    letter-spacing: 0.05em;
    line-height: 50rem;
  }
  .section-mission .content__inner .content__text .c__txt {
    width: 100%;
    font-weight: 500;
    font-size: 14rem;
    letter-spacing: 0.05em;
    line-height: 28rem;
    margin-top: 30rem;
    text-align: justify;
  }
  .section-mission .content__inner .c__image {
    width: 330rem;
    margin: auto;
    margin-top: 30rem;
  }
  .detail__btn {
    width: 350rem;
  }
  .section-title .en__txt {
    font-size: 54rem;
  }
  .section-business .businesss__items .b__item {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    display: flex;
  }
  .section-business .detail__btn {
    margin: auto;
    margin-top: 40rem;
  }
  .section-business .businesss__items {
    width: 100%;
    margin-top: 60rem;
    display: block;
  }
  .section-business .businesss__items:hover .b__item:not(:hover) {
    width: 100%;
  }
  .section-business .businesss__items:hover .b__item {
    width: 100%;
  }
  .section-business .businesss__items .b__item .c__text {
    top: 60rem;
  }
  .section-business .businesss__items .b__item .c__txt {
    display: none;
  }
  .section-business .businesss__items .b__item .more__btn:hover .icon {
    animation: unset;
  }
  .section-business .businesss__items .b__item .more__btn .lbl {
    font-size: 14rem;
  }
  .section-works {
    width: 350rem;
  }
  .section-works .detail__btn {
    margin-top: 40rem;
  }
  .section-works .works__items {
    width: 100%;
    margin-top: 50rem;
    margin-left: 0;
    margin-right: 0;
    display: block;
  }
  .section-works .works__items .w__item {
    width: 100%;
    padding: 0;
    margin-bottom: 40rem;
  }
  .section-works .works__items .w__item:last-child {
    margin-bottom: 0;
  }
  .section-works .works__items .w__item .w__inner .content__text .info .cat {
    width: 140rem;
    height: 24rem;
    margin-right: 20rem;
    border-radius: 15rem;
    font-weight: 500;
    font-size: 14rem;
  }
  .section-works .works__items .w__item .w__inner .content__text .c__txt {
    font-size: 16rem;
    line-height: 26rem;
  }
  .section-news .content__inner {
    width: 350rem;
  }
  .section-news .content__inner .news__items {
    width: 100%;
    margin-top: 50rem;
    margin-left: 0;
    margin-right: 0;
  }
  .section-news .content__inner .news__items .n__item {
    width: 100%;
    padding: 0;
    margin-bottom: 40rem;
  }
  .section-news .content__inner .news__items .n__item .n__inner .content__text .info .cat {
    width: 120rem;
    font-size: 14rem;
  }
  .section-news .detail__btn {
    margin: auto;
    margin-top: 20rem;
  }
  .section__contact {
    width: 100%;
    height: auto;
    padding: 60rem 0;
    gap: 20rem;
    flex-wrap: wrap;
  }
  .section__contact .c__btn {
    width: 350rem;
  }
  footer {
    padding: 60rem 0 25rem;
  }
  footer .footer__inner {
    width: 350rem;
    margin: auto;
    display: block;
  }
  footer .footer__inner .f__logo {
    width: 250rem;
    margin: auto;
    margin-bottom: 50rem;
  }
  footer .footer__inner .footer__menu {
    width: 100%;
  }
  footer .footer__inner .footer__menu ul {
    display: block;
  }
  footer .footer__inner .footer__menu ul li {
    width: 100%;
    margin-right: 0;
    margin-bottom: 30rem;
  }
  footer .footer__inner .footer__menu ul li a {
    font-size: 22rem;
    width: 100%;
    display: block;
    position: relative;
  }
  footer .footer__inner .footer__menu ul li a.open:after {
    transform: translateY(-50%) rotate(180deg);
  }
  footer .footer__inner .footer__menu ul li a:after {
    content: "";
    width: 12px;
    height: 5.68px;
    background: url(../img/down_arrow.png);
    background-size: 100% 100%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s;
  }
  footer .footer__inner .footer__menu ul li a:hover {
    color: white;
  }
  footer .footer__inner .footer__menu ul li ul li a:after {
    content: unset;
  }
  footer .footer__inner .footer__menu ul li ul li a .lbl {
    font-size: 15rem;
    line-height: 36rem;
  }
  footer .footer__inner .footer__menu ul li:nth-child(2) {
    width: 100%;
  }
  footer .footer__inner .footer__menu ul li:nth-child(3) {
    width: 100%;
  }
  footer .footer__inner .footer__menu ul li:nth-child(4) {
    width: 100%;
  }
  footer .footer__inner .footer__menu ul li:nth-child(5) {
    width: 100%;
  }
  footer .footer__inner .footer__menu .footer__contact {
    display: flex;
    border: 0;
    flex-direction: column-reverse;
    align-items: baseline;
    padding-top: 0;
    margin-top: 0;
  }
  footer .footer__inner .footer__menu .footer__contact .contact__content {
    width: 100%;
    display: block;
  }
  footer .footer__inner .footer__menu .footer__contact .contact__content .detail__btn {
    width: 100%;
    height: 60rem;
  }
  footer .footer__inner .footer__menu .footer__contact .privacy {
    font-size: 14rem;
    margin-bottom: 25rem;
  }
  footer .footer__inner .footer__menu .footer__contact .contact__content .sns__items {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 0;
    margin-top: 30rem;
  }
  footer .footer__inner .footer__menu .footer__contact .contact__content .sns__items .item {
    width: 36px;
    margin: 0 18rem;
  }
  footer .footer__inner .footer__menu .footer__contact .contact__content .sns__items .item:nth-child(3) {
    width: 30px;
  }
  footer .copyright {
    font-size: 11rem;
    letter-spacing: 0.05em;
    line-height: 24rem;
    margin-top: 40rem;
  }
  footer .footer__inner .footer__menu ul li ul li a .arrow {
    width: 4rem;
    margin-left: 30rem;
  }
  footer .footer__inner .footer__menu ul li ul {
    width: -moz-max-content;
    width: max-content;
    display: none;
  }
  .hambeg__menu .logo__part {
    display: none;
  }
  .frontview__logo {
    width: 300rem;
  }
  header nav .hambeg__menu {
    height: 95vh;
    overflow: auto;
    background: #f39800;
  }
  .hambeg__menu .menu__part .menu__content .menu__items {
    display: block;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li a {
    width: 100%;
    font-size: 22rem;
    letter-spacing: 0.05em;
    line-height: 1;
    text-align: left;
    color: white;
    position: relative;
    display: flex;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li a.open:after {
    transform: translateY(-50%) rotate(180deg);
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li a:after {
    content: "";
    width: 12px;
    height: 5.68px;
    background: url(../img/down_arrow.png);
    background-size: 100% 100%;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    transition: 0.3s;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li:nth-child(1) ul.child li a {
    width: 85rem;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li:nth-child(2) ul.child li a {
    width: 235rem;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul:nth-child(2) li:nth-child(1) ul.child li a {
    width: 135rem;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul:nth-child(2) li:nth-child(2) ul.child li a {
    width: 115rem;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul:nth-child(2) li:nth-child(3) ul.child li a {
    width: 125rem;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li ul.child li {
    display: flex;
    align-items: center;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li ul.child li .arrow {
    width: 4rem;
    display: flex;
    margin-left: 15rem;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li ul.child li a {
    font-size: 15rem;
    line-height: 1.4;
    color: white;
    width: -moz-max-content;
    width: max-content;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li ul.child li a:after {
    content: unset;
  }
  .hambeg__menu .menu__part .menu__content {
    width: 100%;
  }
  .hambeg__menu .menu__part {
    width: 100%;
    height: 90vh;
    overflow: auto;
    padding-top: 50rem;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul:first-child {
    margin-bottom: 35rem;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li {
    margin-bottom: 35rem;
  }
  .hambeg__menu .menu__part .menu__content .bottom__menu {
    padding-top: 0;
    margin-top: 25rem;
    border-top: 0;
    display: flex;
    align-items: baseline;
    flex-direction: column-reverse;
    justify-content: left;
  }
  .hambeg__menu .menu__part .menu__content .bottom__menu .privacy {
    font-size: 14rem;
    color: white;
  }
  .hambeg__menu .menu__part .menu__content .bottom__menu .privacy:hover {
    color: white;
  }
  .hambeg__menu .menu__part .menu__content .bottom__menu .detail__btn {
    width: 100%;
    height: 60rem;
    margin-top: 20rem;
    background: white;
  }
  .hambeg__menu .menu__part .menu__content .bottom__menu .detail__btn .lbl {
    color: #f39800;
  }
  .hambeg__menu .menu__part .menu__content .bottom__menu .detail__btn path {
    fill: #f39800;
  }
  .hambeg__menu .menu__part .menu__content .sns__items {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-top: 25rem;
  }
  .hambeg__menu .menu__part .menu__content .sns__items .item {
    width: 36px;
    display: flex;
  }
  .hambeg__menu .menu__part .menu__content .sns__items .item svg {
    width: 100%;
    height: 100%;
  }
  .hambeg__menu .menu__part .menu__content .sns__items .item {
    margin: 0 18px;
  }
  .hambeg__menu .menu__part .menu__content .sns__items .item:nth-child(3) {
    width: 30px;
  }
  .hambeg__menu .menu__part .menu__content .copyright {
    font-weight: normal;
    font-size: 11rem;
    letter-spacing: 0.05em;
    line-height: 24rem;
    margin: 20rem 0 0;
    padding-bottom: 20rem;
    text-align: center;
    color: #fff;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li ul.child {
    display: none;
  }
  .hambeg__bg.active {
    width: 510vw;
    background: #f39800;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li a:hover {
    color: white;
  }
  .subfrontview .content__inner {
    width: 350rem;
  }
  .subfrontview .content__inner .subtitle .en__txt .icon {
    width: 32rem;
  }
  .subfrontview .content__inner .subtitle .en__txt .lbl {
    font-size: 50rem;
  }
  .subfrontview .content__inner .subtitle .ja__txt {
    font-size: 16rem;
    letter-spacing: 0.05em;
    line-height: 28.5rem;
    padding-left: 50rem;
  }
  .sub__menu {
    width: 350rem;
  }
  .sub__menu .breadcrumb {
    position: absolute;
    left: 20rem;
    top: 195rem;
  }
  .sub__menu ul {
    width: 100%;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .sub__menu ul li a {
    width: 168rem;
  }
  .sub__menu ul li {
    margin-right: 0;
    margin-bottom: 15rem;
  }
  .sub__menu ul li a .lbl {
    font-size: 14rem;
  }
  .about__wrapper .mission__content .content__inner {
    width: 100%;
    margin: auto;
    display: block;
  }
  .about__wrapper .mission__content .content__inner .t__text {
    padding: 70rem 0 0 120rem;
  }
  .about__wrapper .mission__content .content__inner .t__text .t__txt {
    font-size: 32rem;
    letter-spacing: 0.1em;
    line-height: 48rem;
  }
  .about__wrapper .mission__content .content__inner .t__text .t__lbl {
    width: 250rem;
  }
  .about__wrapper .mission__content .p__lbl {
    width: 47rem;
    display: flex;
    position: absolute;
    left: 27rem;
    top: 40rem;
    transform: translateY(0) rotate(180deg);
  }
  .about__wrapper .mission__content .content__inner .c__text {
    width: 100%;
    font-weight: 500;
    font-size: 14rem;
    letter-spacing: 0.05em;
    line-height: 28rem;
    padding: 65rem 20rem 40rem;
    text-align: justify;
  }
  .about__wrapper .mission__content {
    width: 100%;
    height: auto;
    background: url(../img/mission_bg_sp.png);
    background-size: cover;
  }
  .about__wrapper .messsage__content .content__inner {
    width: 350rem;
    height: auto;
    margin: auto;
    padding: 20rem;
    border-radius: 20rem;
    display: block;
  }
  .about__wrapper .messsage__content .content__inner .content__text {
    width: 100%;
    padding-right: 0;
  }
  .about__wrapper .messsage__content .content__inner .content__text .section-title .en__txt {
    font-size: 36rem;
  }
  .about__wrapper .messsage__content .content__inner .content__text .role {
    font-size: 13rem;
  }
  .about__wrapper .messsage__content .content__inner .content__text .info .name {
    font-size: 24rem;
    line-height: 34rem;
  }
  .about__wrapper .messsage__content .content__inner .content__text .info .e__name {
    font-size: 13rem;
  }
  .about__wrapper .messsage__content .content__inner .c__image {
    width: 100%;
    margin-top: 20rem;
  }
  .about__wrapper .messsage__content .content__inner .content__text h3 {
    font-size: 24rem;
    letter-spacing: 0.05em;
    line-height: 39rem;
    margin-top: 20rem;
  }
  .about__wrapper .messsage__content .content__inner .content__text .c__txt {
    font-size: 14rem;
    letter-spacing: 0.02em;
    line-height: 28rem;
    margin-bottom: 20rem;
  }
  .about__wrapper .member__content {
    width: 350rem;
  }
  .about__wrapper .member__content .section-title .en__txt {
    font-size: 36rem;
  }
  .about__wrapper .member__content .member__items {
    width: 100%;
    margin-left: 0;
    margin-right: -20rem;
    margin-top: 25rem;
    display: flex;
    gap: 0;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .about__wrapper .member__content .member__items .m__item {
    width: 168rem;
    padding: 0;
    margin-bottom: 40rem;
  }
  .about__wrapper .outline__content {
    width: 350rem;
    margin: auto;
    padding-top: 140rem;
    display: block;
  }
  .about__wrapper .outline__content .section-title .en__txt {
    font-size: 36rem;
  }
  .about__wrapper .outline__content .content__text {
    width: 100%;
    margin-top: 40rem;
  }
  .about__wrapper .outline__content .content__text table tr td {
    padding: 20rem 0;
    position: relative;
  }
  .about__wrapper .outline__content .content__text table tr {
    display: grid;
  }
  .about__wrapper .outline__content .content__text table tr td:last-child {
    padding-top: 5rem;
  }
  .about__wrapper .outline__content .content__text table tr td:first-child {
    width: 100%;
    padding-bottom: 0;
  }
  .about__wrapper .outline__content .content__text table tr:last-child td:first-child:before {
    content: unset;
  }
  .about__wrapper .outline__content .content__text table tr:last-child td:last-child:before {
    content: "";
    width: 20rem;
    height: 0rem;
    background: transparent;
    border-bottom: 2rem solid #f39800;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translateY(100%);
  }
  .about__wrapper .access__content .content__inner {
    width: 350rem;
    display: block;
  }
  .about__wrapper .access__content .content__inner .title__part .section-title .en__txt {
    font-size: 36rem;
  }
  .about__wrapper .access__content .content__inner .title__part .c__txt {
    font-size: 14rem;
    line-height: 28rem;
  }
  .about__wrapper .access__content .content__inner .map {
    width: 100%;
    height: 320rem;
    margin-top: 30rem;
  }
  .sub__menu.business ul li {
    width: 100%;
  }
  .sub__menu.business ul li a {
    width: 100%;
  }
  .sub__menu.business ul li.c01 a {
    width: 100%;
  }
  .business__wrapper .section-mission .content__inner .content__text .section-title .en__txt {
    font-size: 30rem;
    line-height: 50rem;
  }
  .business__wrapper .business__content .b__item {
    width: 350rem;
    height: auto;
    margin: auto;
    margin-bottom: 60rem;
    padding: 30rem 20rem;
    border-radius: 20rem;
    display: block;
  }
  .business__wrapper .business__content .b__item .content__text {
    width: 100%;
    padding-right: 0;
  }
  .business__wrapper .business__content .b__item .content__text .section-title .en__txt {
    font-size: 24rem;
    letter-spacing: 0.05em;
    line-height: 1.5;
  }
  .business__wrapper .business__content .b__item .c__image {
    width: 100%;
    margin-top: 20rem;
  }
  .business__wrapper .business__content .b__item .content__text .c__txt {
    font-size: 14rem;
    letter-spacing: 0.03em;
    line-height: 28rem;
    margin-top: 25rem;
  }
  .business__wrapper .business__content .b__item .content__text .p__txt {
    font-size: 16rem;
    line-height: 1.5;
  }
  .business__wrapper .business__content .b__item .content__text .p__txt li span {
    font-size: 13rem;
    letter-spacing: -0.05em;
  }
  .business__wrapper .business__content .b__item .content__text .p__txt li:after {
    font-size: 13rem;
    top: 4rem;
  }
  .frontview .logo__mark {
    width: 300rem;
  }
  .business__wrapper .business__content .b__item .content__text .p__txt li {
    margin-bottom: 10rem;
    padding-left: 15rem;
  }
  .contact__wrapper {
    width: 100%;
    height: auto;
    padding: 30rem 20rem;
    margin-top: 10rem;
  }
  .contact__wrapper .note__txt {
    font-size: 13rem;
    letter-spacing: 0.05em;
    line-height: 33rem;
  }
  .contact__wrapper table {
    width: 100%;
    margin: auto;
    margin-top: 50rem;
  }
  .contact__wrapper table tr {
    display: grid;
  }
  .contact__wrapper table tr td:first-child {
    width: 100%;
    padding-bottom: 0;
    font-size: 14rem;
    display: flex;
    align-items: center;
  }
  .contact__wrapper table tr td select {
    width: 100%;
    height: 56rem;
    font-size: 16rem;
    padding: 0 30rem 0 20rem;
    background-position: 325rem center;
  }
  .contact__wrapper table tr td .n__txt {
    display: inline-flex;
    margin-left: 10rem;
    margin-top: 0;
  }
  .contact__wrapper table tr td input[type=text] {
    width: 100%;
    height: 56rem;
    font-size: 16rem;
  }
  .contact__wrapper table tr td .names input[type=text] {
    width: 169rem;
  }
  .contact__wrapper table tr td input[type=email] {
    width: 100%;
    height: 56rem;
    font-size: 16rem;
  }
  .contact__wrapper table tr td textarea {
    width: 100%;
    height: 200rem;
    font-size: 16rem;
  }
  .works__wrapper {
    width: 350rem;
  }
  .works__wrapper .cat__items {
    width: 100%;
  }
  .works__wrapper .works__items {
    width: 100%;
    margin-top: 90rem;
    margin-left: 0;
    margin-right: 0;
  }
  .works__wrapper .works__items .w__item {
    width: 100%;
    padding: 0;
  }
  .subfrontview .content__inner .subtitle.privacy .en__txt .lbl {
    font-size: 40rem;
  }
  .privacy__wrapper {
    width: 350rem;
    margin: auto;
    margin-bottom: 100rem;
  }
  .privacy__wrapper table tr th {
    font-size: 18rem;
    letter-spacing: 0.02em;
    line-height: 1.5;
    padding-top: 30rem;
  }
  .privacy__wrapper table tr td {
    font-size: 14rem;
    padding-top: 15rem;
  }
  .recruit__wrapper .message__content .content__inner .section-title .en__txt {
    font-size: 36rem;
  }
  .recruit__wrapper .message__content .content__inner .t__txt {
    font-size: 30rem;
    letter-spacing: 0.05em;
    line-height: 50rem;
    margin-top: 30rem;
  }
  .recruit__wrapper .message__content .content__inner .c__txt {
    width: 100%;
    font-weight: 500;
    font-size: 14rem;
    letter-spacing: 0.05em;
    line-height: 35rem;
  }
  .recruit__wrapper .message__content .content__inner {
    width: 350rem;
  }
  .recruit__wrapper .message__content .gap03 {
    display: none;
  }
  .recruit__wrapper .message__content .content__inner .gap01 {
    width: 313rem;
    margin: auto;
    display: flex;
    position: relative;
    top: auto;
    margin-top: 68rem;
    left: 0;
  }
  .recruit__wrapper .message__content .gap02 {
    width: 160rem;
    display: inline-flex;
    position: absolute;
    bottom: 110rem;
    right: 0;
    top: auto;
    left: 20rem;
  }
  .recruit__wrapper .interview__content {
    width: 350rem;
  }
  .recruit__wrapper .interview__content .section-title .en__txt {
    font-size: 36rem;
  }
  .recruit__wrapper .interview__content .interview__items {
    display: block;
  }
  .recruit__wrapper .interview__content .interview__items .p__item {
    width: 100%;
    margin-bottom: 120rem;
  }
  .recruit__wrapper .job__content {
    width: 100%;
    height: auto;
    padding: 50rem 20rem;
    margin: auto;
    margin-top: 220rem;
    border-radius: 20rem;
  }
  .recruit__wrapper .job__content .section-title .en__txt {
    font-size: 36rem;
  }
  .recruit__wrapper .job__content .job__items {
    display: flex;
    justify-content: center;
    margin-top: 40rem;
    gap: 12rem;
  }
  .recruit__wrapper .job__content .job__items .j__item {
    width: 100%;
    height: auto;
    padding: 20rem 12rem;
    border-radius: 12rem;
  }
  .recruit__wrapper .job__content .job__items .j__item .lbl {
    width: 90%;
    font-size: 15rem;
    line-height: 23rem;
    letter-spacing: 0;
  }
  .recruit__wrapper .job__content .job__items .j__item .icon {
    width: 24rem;
  }
  .recruit__wrapper .benifit__content .section-title .en__txt {
    font-size: 36rem;
  }
  .recruit__wrapper .benifit__content {
    width: 350rem;
  }
  .recruit__wrapper .benifit__content .note__txt {
    font-weight: 500;
    font-size: 15rem;
    letter-spacing: 0.05em;
    line-height: 30rem;
    margin-top: 15rem;
  }
  .recruit__wrapper .benifit__content .ben__items .b__item {
    width: 100%;
  }
  .recruit__wrapper .benifit__content .ben__items .b__item .b__txt {
    font-size: 18rem;
    letter-spacing: 0.05em;
    line-height: 1.4;
  }
  .recruit__wrapper .benifit__content .ben__items .b__item .c__txt {
    font-weight: normal;
    font-size: 14rem;
    line-height: 28rem;
    margin-top: 10rem;
    text-align: justify;
  }
  .recruit__wrapper .benifit__content .ben__items {
    gap: 40rem;
  }
  .interview__modal .modal__inner {
    width: 350rem;
    height: 90dvh;
    overflow-y: auto;
    padding: 50rem 5rem 20rem 20rem;
    display: block;
  }
  .interview__modal .modal__inner .content__text {
    width: 100%;
    padding-left: 0;
    padding-top: 5rem;
    padding-right: 10rem;
    height: 100%;
    overflow: auto;
  }
  .interview__modal .modal__inner .c__image {
    width: 100%;
    height: 205rem;
    border-radius: 15rem;
    margin-top: 15rem;
    overflow: hidden;
  }
  .interview__modal .modal__inner .c__image span {
    width: 100%;
    height: 270rem;
    display: flex;
  }
  .interview__modal .modal__inner .close__btn {
    width: 16rem;
    top: 20rem;
    right: 20rem;
  }
  ::-webkit-scrollbar {
    width: 4px;
  }
  /* Track styling */
  ::-webkit-scrollbar-track {
    background: #f1f1f1;
  }
  /* Thumb styling */
  ::-webkit-scrollbar-thumb {
    background: #f39800;
  }
  .job__modal .modal__inner {
    width: 350rem;
    height: 90dvh;
    padding: 50rem 5rem 20rem 20rem;
  }
  .job__modal .modal__inner .title__part .lbl {
    width: 82%;
    font-size: 18rem;
    padding-bottom: 0;
    letter-spacing: 0;
    line-height: 1.4;
  }
  .job__modal .modal__inner .title__part {
    padding-bottom: 15rem;
  }
  .job__modal .modal__inner .title__part .icon {
    width: 24rem;
  }
  .job__modal .modal__inner .modal__content table tr {
    display: grid;
  }
  .job__modal .modal__inner .modal__content table tr td:first-child {
    width: 100%;
    padding-left: 0;
    padding-bottom: 0;
  }
  .job__modal .modal__inner .modal__content table tr td {
    position: relative;
  }
  .job__modal .modal__inner .modal__content table tr td:last-child {
    padding-top: 10rem;
  }
  .job__modal .modal__inner .modal__content table tr:last-child td:first-child:before {
    content: unset;
  }
  .job__modal .modal__inner .modal__content table tr:last-child td:last-child:before {
    content: "";
    width: 40rem;
    height: 0rem;
    background: transparent;
    border-top: 1rem solid #f39800;
    position: absolute;
    left: 0;
    bottom: 0;
    transform: translateY(100%);
  }
  .job__modal .modal__inner .modal__content {
    width: 100%;
    height: 73dvh;
    overflow: auto;
    padding-right: 15rem;
  }
  .job__modal .modal__inner .close__btn {
    width: 16rem;
    display: flex;
    position: absolute;
    top: 20rem;
    right: 20rem;
  }
  .job__modal .modal__inner .modal__content table {
    margin-top: 15rem;
  }
  .news-detail__wrapper {
    width: 100%;
    height: auto;
    padding: 40rem 20rem;
    margin: 0 auto 100rem;
    border-radius: 20rem;
  }
  .news-detail__wrapper .info .cat {
    width: 128rem;
    height: 20rem;
    font-size: 12rem;
  }
  .news-detail__wrapper .info .date {
    font-size: 14rem;
  }
  .news-detail__wrapper h3 {
    font-weight: bold;
    font-size: 20rem;
    line-height: 32rem;
    margin-top: 15rem;
  }
  .news-detail__wrapper .content__text p {
    font-weight: normal;
    font-size: 14rem;
    line-height: 24rem;
  }
  .news-detail__wrapper .list__btn {
    width: 350rem;
  }
  .works-detail__wrapper {
    width: 100%;
    height: auto;
    padding: 40rem 20rem;
    margin: 0 0 100rem;
    border-radius: 20rem;
  }
  .works-detail__wrapper h3 {
    font-size: 20rem;
  }
  .works-detail__wrapper .content__text p {
    font-size: 14rem;
    line-height: 28rem;
  }
  .works-detail__wrapper .control__btns {
    margin-top: 50rem;
    display: block;
  }
  .works-detail__wrapper .control__btns .c__btn {
    width: 100%;
    height: 48rem;
    margin-bottom: 20rem;
  }
  .section-business .businesss__items .b__item:hover:after {
    background: #1a1a1a !important;
    opacity: 0.8;
  }
  .section-business .businesss__items .b__item .more__btn .lbl {
    color: #e73c82;
  }
  .section-business .businesss__items .b__item .more__btn .icon path {
    fill: #e73c82;
  }
  .section-business .businesss__items .b__item:nth-child(2) .more__btn .lbl {
    color: #8fc31f;
  }
  .section-business .businesss__items .b__item:nth-child(2) .more__btn .icon path {
    fill: #8fc31f;
  }
  .section-business .businesss__items .b__item:nth-child(3) .more__btn .lbl {
    color: #036eb8;
  }
  .section-business .businesss__items .b__item:nth-child(3) .more__btn .icon path {
    fill: #036eb8;
  }
  .section-business .businesss__items .b__item:nth-child(4) .more__btn .lbl {
    color: #f39800;
  }
  .section-business .businesss__items .b__item:nth-child(4) .more__btn .icon path {
    fill: #f39800;
  }
  .section-business .businesss__items .b__item:nth-child(5) .more__btn .lbl {
    color: #8f52d7;
  }
  .section-business .businesss__items .b__item:nth-child(5) .more__btn .icon path {
    fill: #8f52d7;
  }
  .business__wrapper .section-mission .content__inner .content__text .c__txt {
    width: 100%;
  }
  .business__wrapper .section-mission .content__inner .c__image {
    width: 330rem;
  }
  .hambeg__menu .menu__part .menu__content .menu__items ul li ul.child li a:hover {
    color: white;
  }
  .works__wrapper .cat__items .cat {
    border-width: 1.5px;
  }
  .contact__wrapper table tr td .names input[type=text].tel {
    width: 100%;
  }
  .contact__wrapper table tr td .names {
    gap: 12rem;
  }
  .contact__wrapper table tr td:first-child .required {
    padding: 3rem 7rem 4rem;
  }
  .flow__items .d-demo__item {
    width: 400rem;
  }
  .flow__items .d-demo.down .d-demo__item {
    width: 558rem;
  }
  .flow__items .d-demo.down {
    margin-top: 50rem;
  }
  .flow__items .d-demo.down01 {
    margin-top: 50rem;
  }
  .flow__items .d-demo.down01 .d-demo__list--left {
    animation: infinity-scroll-left 10.27s infinite linear 0.5s both;
  }
  .flow__items .d-demo__list--right {
    animation: infinity-scroll-right 12.3s infinite linear 0.5s both;
  }
  .flow__items .d-demo__list--left {
    animation: infinity-scroll-left 8.82s infinite linear 0.5s both;
  }
  .flow__items .d-demo__item {
    padding: 0 20rem;
  }
  .flow__items .d-demo.down02 {
    margin-top: 50rem;
  }
  .flow__items .d-demo.down02 .d-demo__list--right {
    animation: infinity-scroll-right 12s infinite linear 0.5s both;
  }
  .flow__items .d-demo.down01 .d-demo__item {
    width: 465rem;
  }
  .flow__items .d-demo.down02 .d-demo__item {
    width: 544rem;
  }
  .section-news {
    padding: 60rem 0;
  }
  .works-detail__wrapper .content__text .main__contents {
    display: block;
  }
  .works-detail__wrapper .content__text .main__contents .contents {
    width: 320rem;
    margin: auto;
    margin-top: 50rem;
  }
  .works-detail__wrapper .content__text .main__contents .p__image {
    width: 320rem;
    margin: auto;
  }
  .works-detail__wrapper .content__text .main__contents .contents .members {
    display: block;
  }
  .works-detail__wrapper .content__text .main__contents .contents .members .item {
    width: 100%;
    margin-bottom: 30rem;
  }
  .works-detail__wrapper .content__text .main__contents .contents .members .item .txt {
    height: auto;
    font-size: 18rem;
    text-align: center;
  }
  .works-detail__wrapper .content__text .post__contents .post__items .item {
    width: 167rem;
  }
  .works-detail__wrapper .content__text .post__contents .post__items {
    display: flex;
    flex-wrap: wrap;
    gap: 15rem;
  }
  .works-detail__wrapper .content__text .main__contents .other__image {
    width: 100%;
    margin-top: 30rem;
  }
  .works__wrapper .detail__btn {
    margin-top: 80rem;
  }
}/*# sourceMappingURL=style.css.map */