.container {
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 20px;
  box-sizing: border-box;
}

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

.text-right {
  text-align: right;
}

.text-left {
  text-align: left;
}

.button {
  display: inline-block;
  padding: 8px 16px;
  background-color: #F9B44C;
  color: #fff;
  border-radius: 4px;
  border: none;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.button:hover {
  background-color: rgb(247.3459459459, 159.3243243243, 26.6540540541);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
}
.button:active {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font-weight: 700;
}

p {
  margin: 0 0 16px;
  font-size: 1em;
  line-height: 1.6;
}

a {
  color: #fff;
  text-decoration: none;
  transition: color 0.2s ease-in-out;
}
a:hover {
  color: rgb(229.5, 229.5, 229.5);
}
a:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
}

ul,
ol {
  margin: 0 0 1.5em;
  padding-left: 1em;
}
ul li,
ol li {
  margin-bottom: 0.5em;
}

hr {
  border: none;
  border-top: 1px solid #ddd;
  margin: 1.5em 0;
}

small {
  font-size: 0.875em;
  color: #fff;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

sub,
sup {
  font-size: 0.875em;
  vertical-align: baseline;
}

body {
  font-family: "Inter", sans-serif;
  font-size: 15px;
  color: #fff;
  background-color: #ffffff;
  line-height: 1.2;
  position: relative;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.btn {
  display: inline-block;
  padding: 6px 10px 5px;
  background-color: #F9B44C;
  color: #404751;
  width: 86px;
  height: 25px;
  border-radius: 12.5px;
  font-weight: 400;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  box-sizing: border-box;
  cursor: pointer;
}
.btn:hover {
  color: #404751;
}

.btn--secondary {
  display: inline-block;
  color: #171717;
  padding: 6px 10px 12px 0;
  background: url(../img/icon-longarrow.svg) no-repeat bottom left;
  min-width: 178px;
  border: none;
  text-align: left;
  cursor: pointer;
}
.btn--secondary:hover {
  color: #171717;
}

input,
textarea {
  background: #171717;
  color: #fff;
  font-weight: 400;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0;
  height: 35px;
  border: none;
  padding: 7px 12px;
  box-sizing: border-box;
}
input::-moz-placeholder, textarea::-moz-placeholder {
  color: #fff;
  opacity: 1;
}
input::placeholder,
textarea::placeholder {
  color: #fff;
  opacity: 1;
}

textarea {
  height: 110px;
}

.sp-only {
  display: none;
}
@media (max-width: 767px) {
  .sp-only {
    display: block;
  }
}

.pc-only {
  display: block;
}
@media (max-width: 767px) {
  .pc-only {
    display: none;
  }
}

.sidebar {
  position: fixed;
  height: 100vh;
  padding: clamp(30px, 4.5vw, 40px);
  overflow-x: hidden;
  overflow-y: auto;
  box-sizing: border-box;
  transition: all 0.3s ease;
  width: clamp(390px, 32vw, 410px);
  background-color: #000000;
  max-width: 100%;
}
.sidebar__intro {
  margin-top: 24px;
}
.sidebar__intro h2 {
  font-weight: 400;
  font-size: 20px;
  line-height: 1.2;
  margin-bottom: 20px;
  transition: all 0.2s ease-in-out;
}
.sidebar__intro h2:hover {
  font-size: 35px;
}
.sidebar__intro p {
  font-weight: 400;
  font-size: 12px;
}
.sidebar__nav {
  font-weight: 400;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0;
  margin-top: 30px;
}
.sidebar__nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.sidebar__nav ul li a {
  color: #fff;
  text-decoration: none;
  transition: all 0.2s ease-in-out;
}
.sidebar__nav ul li a:hover {
  color: rgb(229.5, 229.5, 229.5);
}
.sidebar__nav ul li + li {
  margin-top: 3cqb;
}
.sidebar__info {
  margin-top: 20px;
  font-size: 12px;
  padding-bottom: 25px;
  margin-bottom: 25px;
  position: relative;
}
.sidebar__info ul {
  list-style: none;
  padding: 0;
  margin: 0;
  line-height: 1.5;
}
.sidebar__info::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 1px;
  width: 201px;
  background-color: #ffffff;
}
.sidebar__address {
  background: url(../img/icon-location.svg) no-repeat left center;
  padding-left: 30px;
}
.sidebar__tel {
  background: url(../img/icon-phone.svg) no-repeat left center;
  padding-left: 30px;
}
.sidebar__email {
  background: url(../img/icon-mail.svg) no-repeat left center;
  padding-left: 30px;
}
.sidebar__sns {
  display: flex;
  gap: 9px;
}
.sidebar__toggle {
  position: absolute;
  right: 22px;
  bottom: 78px;
}
.sidebar__toggle button {
  background: url(../img/icon-arrow.svg) no-repeat center center;
  height: 34px;
  width: 14px;
  border: none;
  cursor: pointer;
}
.sidebar__toggle .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}
@media (max-width: 767px) {
  .sidebar__info::after {
    width: 100%;
  }
}
@media (min-width: 768px) {
  .sidebar__nav ul li a:hover {
    font-size: 35px;
  }
}

.home.is-sidebar-active .sidebar {
  transform: translateX(-355px);
  overflow: hidden;
}
.home.is-sidebar-active .sidebar .sidebar__inner {
  opacity: 0;
}
.home.is-sidebar-active .sidebar .sidebar__toggle {
  top: 50%;
  transform: translateY(-50%);
  bottom: auto;
}
.home.is-sidebar-active .sidebar .sidebar__toggle button {
  transform: rotate(180deg);
}

@media (min-width: 768px) {
  .home.is-sidebar-active .main__nav {
    max-width: 812px;
    width: 100%;
    margin-left: calc(50vw - 406px + 27.5px);
  }
  .home.is-sidebar-active .sidebar {
    transform: translateX(-355px);
  }
  .home.is-sidebar-active .sidebar .sidebar__inner {
    opacity: 0;
  }
  .home.is-sidebar-active .sidebar .sidebar__toggle {
    top: 50%;
    transform: translateY(-50%);
    bottom: auto;
  }
  .home.is-sidebar-active .sidebar .sidebar__toggle button {
    transform: rotate(180deg);
  }
}
nav {
  text-align: right;
  padding: 30px 0 60px;
  border-top: 1px solid #ffffff;
  font-size: 0;
  transition: all 0.4s ease-in-out;
}
nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
  text-align: center;
}
nav ul li {
  display: inline-block;
  font-size: 0;
}
nav ul li a {
  color: #fff;
  text-decoration: none;
  font-weight: 400;
  font-size: 14px;
  line-height: 1;
  padding: 12px 25px 16px;
  background-color: transparent;
  border-radius: 28px;
  transition: all 0.2s ease-in-out;
}
nav ul li a:hover {
  background-color: #F9B44C;
  color: #1B1B1B;
}

.hamburger {
  background: #F8B54E;
  width: 50px;
  height: 36px;
  padding: 11px 16px;
  border-radius: 17.5px;
  position: absolute;
  top: 47px;
  right: 30px;
  z-index: 1;
  border: none;
  display: none;
}
.hamburger span {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #04070E;
  border-radius: 2px;
  position: relative;
  transition: all 0.2s ease-in-out;
}
.hamburger span:not(:last-child) {
  margin-bottom: 5px;
}
@media (max-width: 767px) {
  .hamburger {
    display: block;
  }
}

.menu-sp {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  color: #ffffff;
  background-color: #000000;
  z-index: 1000;
  transition: all 0.2s ease-in-out;
  transform: translateX(-100%);
  display: none;
  box-sizing: border-box;
}
.menu-sp__logo {
  position: absolute;
  top: 40px;
  left: 13px;
}
.menu-sp__close {
  background-color: transparent;
  border: none;
  padding: 12px;
  position: absolute;
  right: 18px;
  top: 44px;
}
.menu-sp__inner {
  padding: 142px 25px 0;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}
.menu-sp__nav ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.menu-sp__nav ul li {
  font-size: 0;
}
.menu-sp__nav ul li a {
  display: block;
  color: #fff;
  text-decoration: none;
  font-weight: 400;
  font-size: 20px;
  line-height: 24px;
  transition: all 0.2s ease-in-out;
}
.menu-sp__nav ul li + li {
  margin-top: 40px;
}
.menu-sp__nav ul li.active a {
  font-size: 35px;
  line-height: 42px;
  padding-bottom: 10px;
  border-bottom: 1px solid #ffffff;
}
.menu-sp__bottom {
  font-weight: 400;
  font-size: 10px;
  line-height: 23px;
  letter-spacing: 0;
  padding: 20px 25px;
  margin-left: -25px;
  margin-right: -25px;
  border-top: 1px solid #ffffff;
}
.menu-sp__bottom p {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .menu-sp {
    display: block;
  }
}

.is-menu-active {
  overflow: hidden;
}
.is-menu-active .menu-sp {
  transform: translateX(0);
}

.home .main {
  display: flex;
  background: url(../img/bg-home.jpg) no-repeat center center;
  background-size: cover;
  min-height: 100vh;
}
.home nav {
  border-color: #000000;
}
.home nav ul li a {
  color: #000000;
}
.home nav ul li a:hover {
  background-color: rgba(27, 27, 27, 0.6980392157);
  color: #ffffff;
}
@media (max-width: 767px) {
  .home .main {
    background-image: url(../img/bg-home-sp.jpg);
  }
  .home nav {
    display: none;
  }
}

.main {
  position: relative;
}
.main__logo {
  position: absolute;
  top: 58px;
  left: 53px;
}
.main__sidebar {
  background-color: #000000;
}
.main__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 100%;
}
.main__nav {
  margin-left: clamp(330px, 45vw, 440px);
  margin-right: 28px;
  transition: all 0.2s ease-in-out;
}
@media (max-width: 767px) {
  .main__nav {
    margin-left: 80px;
    margin-right: 25px;
  }
  .main__nav > nav {
    padding: 16px 0 40px;
  }
  .main__nav ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .main__nav ul li a {
    white-space: nowrap;
    display: block;
  }
}

:root {
  --swiper-navigation-top-offset: 112px;
}

.keyvisual {
  min-height: 754px;
  position: relative;
}
.keyvisual__background {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  height: 754px;
}
.keyvisual__background img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.keyvisual__logo {
  position: absolute;
  top: 39px;
  left: 48px;
  z-index: 2;
}
.keyvisual__inner {
  padding-top: 116px;
  padding-left: 48px;
  display: flex;
  margin-right: 143px;
}
.keyvisual__title {
  color: #F9B44C;
  font-weight: 400;
  font-size: 75px;
  line-height: 1;
  letter-spacing: 0;
  padding-right: 15px;
}
.keyvisual__text {
  padding: 40px;
  font-size: 15px;
  background-color: rgba(138, 102, 62, 0.7);
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);
  max-width: 735px;
  line-height: 1;
  box-sizing: border-box;
}
.keyvisual__text p:last-child {
  margin-bottom: 0;
  line-height: 1.2;
}
.keyvisual__nav {
  display: flex;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
}
.keyvisual__nav nav {
  width: 50%;
  display: flex;
  margin-left: 48px;
}
.keyvisual__nav .anchors {
  flex: 1;
  margin-right: 21px;
}
@media (max-width: 767px) {
  .keyvisual__logo {
    position: absolute;
    top: 38px;
    left: 13px;
  }
  .keyvisual__inner {
    flex-direction: column;
    padding-left: 15px;
    padding-right: 15px;
    margin-right: 0;
  }
  .keyvisual__text {
    padding: 40px 30px;
    margin-top: 50px;
  }
  .keyvisual__nav {
    display: none;
  }
}

.anchors {
  margin: 0;
  padding: 0;
  list-style: none;
  background: #ffffff;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);
  display: flex;
  padding: 0 20px;
  align-items: center;
  margin-bottom: -34px;
}
.anchors li {
  position: relative;
  display: flex;
  align-items: center;
  align-self: stretch;
  margin-bottom: 0;
  flex: 1;
  text-align: center;
  justify-content: center;
}
.anchors li a {
  display: block;
  color: #000105;
  padding: 0 20px;
  font-weight: 400;
  font-size: 20px;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  position: relative;
  z-index: 1;
  white-space: nowrap;
}
.anchors li::after {
  content: "";
  position: absolute;
  top: -15px;
  left: 0;
  width: 100%;
  bottom: -20px;
  display: block;
  background-color: transparent;
  transition: all 0.2s ease-in-out;
}
.anchors li + li {
  position: relative;
}
.anchors li + li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  display: block;
  width: 1px;
  height: 48px;
  background-color: #000002;
}
.anchors li:hover::after, .anchors li.active::after {
  background-color: #F9B44C;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);
}

.heading {
  margin-bottom: 60px;
}
.heading h2 {
  font-weight: 700;
  font-size: 60px;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
  color: #F9B44C;
}

.vision {
  margin: 105px 0 70px;
}
.vision__qoute {
  color: #404751;
  font-weight: 400;
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: 0;
  padding-left: 39px;
  background: url("../img/icon-qoute.svg") no-repeat top left;
  max-width: 880px;
  margin: 0 auto;
  box-sizing: border-box;
}
.vision__box {
  color: #000000;
  font-weight: 400;
  display: flex;
  max-width: 880px;
  margin: 60px auto 0;
  background: #FFFFFF;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);
}
.vision__box-item {
  padding: 44px 30px 0;
}
.vision__box-item img {
  max-width: none;
  height: auto;
}
.vision__box-item:nth-child(2n) {
  padding: 0;
  margin-top: -32px;
  margin-bottom: -42px;
}
.vision__box-title {
  font-weight: 700;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 30px;
}
@media (max-width: 767px) {
  .vision .heading h2 {
    text-align: left;
  }
  .vision__qoute {
    margin-bottom: 30px;
  }
  .vision__box {
    flex-direction: column;
    margin-top: 30px;
    box-shadow: none;
  }
  .vision__box-item {
    padding: 30px 20px;
    margin-top: 0;
    margin-bottom: 0;
    padding: 0;
  }
  .vision__box-item img {
    max-width: 100%;
    margin: 0 auto;
  }
  .vision__box-item p:last-child {
    margin-bottom: 0;
  }
  .vision__box-item:nth-child(2n) {
    margin-top: 0;
    margin-bottom: 0;
    text-align: center;
  }
  .vision__box-item:nth-child(1) {
    order: 2;
    margin-top: 25px;
  }
  .vision__box-item:nth-child(2) {
    order: 1;
  }
  .vision__box-item:nth-child(3) {
    order: 3;
    margin-top: 25px;
  }
  .vision__box-title {
    text-align: center;
  }
}

.target {
  color: #000000;
  font-weight: 400;
  font-size: 15px;
  line-height: 1;
  letter-spacing: 0;
  padding-block: 50px;
}
.target__grid {
  margin-bottom: 50px;
}
.target__grid-item {
  display: flex;
  gap: 30px;
}
.target__grid-item .target__content {
  flex-basis: 524px;
}
.target__grid-item:nth-child(2n) {
  flex-direction: row-reverse;
}
.target__grid-item:nth-child(2n) .target__content {
  margin-top: 45px;
  flex-basis: auto;
}
.target__grid-item:nth-child(2n) .target__image {
  flex-basis: 524px;
  text-align: center;
  margin-top: -180px;
}
.target h3 {
  font-weight: 700;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0;
}
.target h4 {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0;
}
.target__title {
  margin-bottom: 30px;
}
.target__box {
  background: #FFFFFF;
  padding: 20px;
  border-radius: 14px;
  transition: all 0.2s ease-in-out;
  display: block;
  cursor: pointer;
}
.target__box ul:last-child,
.target__box p:last-child {
  margin-bottom: 0;
}
.target__box:hover {
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.2509803922);
}
.target__box + .target__box {
  margin-top: 10px;
}
.target__box-subtitle {
  margin-bottom: 20px;
}
.target__box-subtitle ~ .target__box-subtitle {
  margin-top: 45px;
}
.target__list {
  margin-top: 25px;
}
.target__list-item + .target__list-item {
  margin-top: 40px;
}
@media (max-width: 767px) {
  .target .heading h2 {
    text-align: left;
  }
  .target__box {
    padding: 0;
    box-shadow: none;
    border-radius: 0;
  }
  .target__grid-item {
    flex-direction: column-reverse;
  }
  .target__grid-item .target__content {
    margin-top: 0;
    flex-basis: auto;
  }
  .target__grid-item .target__image {
    flex-basis: auto;
    text-align: center;
    margin-top: 30px;
    margin-left: -20px;
    margin-right: -20px;
  }
  .target__grid-item .target__image img {
    width: 100%;
    height: auto;
  }
  .target__grid-item:nth-child(2n) {
    flex-direction: column-reverse;
  }
  .target__grid-item:nth-child(2n) .target__image {
    margin-top: 0;
    flex-basis: auto;
  }
}

.progress-container {
  width: 100%;
}
.progress-container .progress-bar {
  -webkit-appearance: none;
  width: 100%;
  position: relative;
  height: 13px;
  background-color: #e0e0e0;
  border-radius: 3px;
  margin: 30px 0 20px;
  padding: 0;
  border: none;
  outline: none;
  -webkit-appearance: none;
  background: linear-gradient(to right, #F9B44C 0%, #F9B44C var(--value, 0%), #e0e0e0 var(--value, 0%), #e0e0e0 100%);
  border-radius: 13px;
}
.progress-container .progress-bar::-webkit-slider-runnable-track {
  -webkit-appearance: none;
  height: 13px;
  border-radius: 13px;
}
.progress-container .progress-bar::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 27px;
  height: 27px;
  background-color: #F9B44C;
  border-radius: 50%;
  cursor: pointer;
  border: none;
  margin-top: -7px;
  /* Center the thumb */
}
.progress-container .labels {
  display: flex;
  justify-content: space-between;
  text-align: center;
}
.progress-container .labels span {
  line-height: 1.2;
}
.progress-container .labels span.active {
  font-weight: 700;
}
.progress-container .labels em {
  font-style: normal;
  margin-top: 8px;
  display: block;
  line-height: 1.2;
}
.progress-container.long-term {
  max-width: 743px;
}
.progress-container.long-term .labels {
  font-weight: 400;
}
.progress-container.long-term .labels span:first-child {
  text-align: left;
}
@media (max-width: 767px) {
  .progress-container {
    display: flex;
    gap: 25px;
    margin-top: 30px;
  }
  .progress-container .progress-fill {
    position: relative;
    width: 30px;
    height: 292px;
    left: 10px;
    top: -35px;
  }
  .progress-container .progress-bar {
    width: 292px;
    transform: rotate(90deg);
    transform-origin: left center;
  }
  .progress-container .labels {
    flex-direction: column;
    text-align: left;
  }
  .progress-container .labels span em {
    display: none;
  }
  .progress-container .labels span.active em {
    display: block;
    font-weight: 400;
  }
  .progress-container.long-term .progress-bar {
    width: 170px;
  }
  .progress-container.long-term .progress-fill {
    height: 170px;
  }
  .progress-container.long-term .progress-fill::after {
    right: -8px;
    bottom: -13px;
  }
}

.potential {
  display: flex;
  gap: 48px;
  margin-top: 50px;
}
.potential__content {
  max-width: 524px;
  margin-right: 30px;
}
.potential__title {
  font-weight: 400;
  font-size: 40px;
  line-height: 1;
  letter-spacing: 0;
  margin-bottom: 30px;
}
.potential__text {
  font-weight: 400;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 30px;
}
.potential__image {
  flex-basis: 339px;
  text-align: center;
}
.potential__image img {
  width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .potential {
    flex-direction: column;
  }
  .potential__content {
    max-width: 100%;
    margin-right: 0;
  }
}

.staff {
  background-color: #000000;
  padding: 40px 0 50px;
}
.staff__slider {
  max-width: 880px;
  margin: 0 auto;
  position: relative;
}
.staff__button-next, .staff__button-prev {
  -webkit-mask-image: url("../img/icon-nav.svg");
          mask-image: url("../img/icon-nav.svg");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #ffffff;
}
.staff__button-next::after, .staff__button-prev::after {
  display: none;
}
.staff .swiper-button-next {
  right: -30px;
  transform: rotate(180deg);
}
.staff .swiper-button-prev {
  left: -30px;
}
.staff__slider-item {
  text-align: center;
}
.staff__slider-item:hover .staff__slider-image {
  opacity: 0.6;
}
.staff__slider-image {
  aspect-ratio: 1/1;
  font-size: 0;
  margin-bottom: 6px;
  transition: opacity 0.3s ease;
}
.staff__slider-title {
  font-weight: 400;
  font-size: 16px;
  line-height: 1.375;
  letter-spacing: 0;
  margin-bottom: 8px;
}
.staff__sns {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-bottom: 10px;
}
.staff__sns a {
  display: inline-block;
  width: 24px;
  height: 24px;
}
.staff__sns a img {
  width: 100%;
  height: auto;
}
.staff__slider-text {
  font-weight: 400;
  font-size: 11px;
  line-height: 20px;
  letter-spacing: 0;
  color: #ffffff;
}
.staff__heading {
  max-width: 880px;
  margin: 0 auto;
  margin-bottom: 35px;
}
.staff__heading h2 {
  font-weight: 700;
  font-size: 60px;
  line-height: 1;
  letter-spacing: 0;
  color: #F9B44C;
}
@media (max-width: 767px) {
  .staff {
    margin-top: 50px;
  }
  .staff .container {
    padding-right: 0;
  }
  .staff__slider-item {
    max-width: 201px;
  }
  .staff__button-next, .staff__button-prev {
    display: none !important;
  }
}

[aria-expanded=false] {
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease-in-out;
}

.expanded {
  display: none;
}

.collapsed {
  display: block;
}

.is-active .expanded {
  display: block;
}
.is-active .collapsed {
  display: none;
}

.product .keyvisual__inner {
  padding-top: 223px;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .product .keyvisual {
    position: relative;
  }
  .product .keyvisual::after {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }
}

.solution {
  margin-top: 94px;
  color: #000000;
}
.solution h2 {
  font-weight: 700;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0;
  color: #000000;
}
.solution__wrapper {
  max-width: 1007px;
  margin: 0 auto;
  padding: 0 62px;
  box-sizing: border-box;
}
.solution__heading {
  margin-bottom: 30px;
}
.solution__slider {
  position: relative;
}
.solution__slider .swiper-button-next,
.solution__slider .swiper-button-prev {
  -webkit-mask-image: url("../img/icon-nav.svg");
          mask-image: url("../img/icon-nav.svg");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  background-color: #000000;
  top: 50%;
  transform: translateY(-50%);
}
.solution__slider .swiper-button-next::after,
.solution__slider .swiper-button-prev::after {
  display: none;
}
.solution__slider .swiper-button-next {
  right: -62px;
  transform: rotate(180deg);
}
.solution__slider .swiper-button-prev {
  left: -62px;
}
.solution__item {
  display: grid;
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  -moz-column-gap: 12px;
       column-gap: 12px;
  row-gap: 11px;
}
.solution__image {
  position: relative;
  font-size: 0;
}
.solution__image:first-child {
  grid-row: span 2;
}
.solution__title {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 35px 40px;
  color: #090C05;
  font-weight: 400;
  font-size: 25px;
  line-height: 1;
  letter-spacing: 0;
  background-color: rgba(255, 255, 255, 0.7);
}
.solution__notes {
  margin-top: 30px;
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0;
}
@media (max-width: 767px) {
  .solution {
    margin-top: 40px;
  }
  .solution__slider {
    width: 100%;
  }
  .solution__slider .swiper-button-next,
  .solution__slider .swiper-button-prev {
    display: none;
  }
  .solution__image img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .solution__image:first-child {
    width: 59vw;
  }
  .solution__title {
    padding: 12px 15px;
  }
  .solution__wrapper {
    padding: 0;
  }
}

.hardware {
  font-weight: 400;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0;
  max-width: 1072px;
  margin: 50px auto 0;
  padding: 0 39px;
  box-sizing: border-box;
}
.hardware h2 {
  line-height: 1.2;
  margin-bottom: 40px;
}
.hardware h3 {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 20px;
}
.hardware ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.hardware__slider {
  position: relative;
}
.hardware__slider .swiper-button-next,
.hardware__slider .swiper-button-prev {
  -webkit-mask-image: url("../img/icon-nav.svg");
          mask-image: url("../img/icon-nav.svg");
  -webkit-mask-position: center;
          mask-position: center;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 12px 27px;
          mask-size: 12px 27px;
  background-color: #000000;
  top: 50%;
  transform: translateY(-50%);
}
.hardware__slider .swiper-button-next::after,
.hardware__slider .swiper-button-prev::after {
  display: none;
}
.hardware__slider .swiper-button-next {
  right: -39px;
  transform: rotate(180deg);
}
.hardware__slider .swiper-button-prev {
  left: -39px;
}
.hardware__item {
  display: flex;
  gap: 45px;
}
.hardware__content {
  padding-top: 7px;
}
.hardware__subtitle ~ .hardware__subtitle {
  margin-top: 20px;
}
@media (max-width: 767px) {
  .hardware {
    margin-top: 40px;
    padding: 0 20px;
  }
  .hardware__image {
    margin-bottom: 40px;
  }
  .hardware__item {
    flex-direction: column-reverse;
  }
  .hardware__slider .swiper-button-next,
  .hardware__slider .swiper-button-prev {
    display: none;
  }
}

.benefit {
  margin-top: 110px;
  position: relative;
  padding-bottom: 40px;
  line-height: 23px;
}
.benefit h2 {
  font-weight: 700;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0;
  color: #F9B44C;
}
.benefit__wrapper {
  background: #171717;
  padding: 50px 0;
}
.benefit__slider {
  width: 726px;
}
.benefit__slider .swiper {
  font-size: 0;
}
.benefit__item {
  font-size: 0;
  width: 222px;
  height: 229px;
  border-radius: 10px;
  overflow: hidden;
  opacity: 0.6;
  transition: all 0.3s ease;
}
.benefit__item img {
  display: block;
  max-width: none;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.benefit .swiper-slide-thumb-active .benefit__item {
  opacity: 1;
}
.benefit .swiper-pagination-bullet {
  background-color: #171717;
  opacity: 1;
  width: 12px;
  height: 12px;
  margin: 0 6px;
}
.benefit .swiper-pagination-bullet-active {
  background-color: #F9B44C;
}
.benefit .swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 0;
}
.benefit__grid {
  display: grid;
  grid-template-columns: repeat(2, auto);
  gap: 45px;
  max-width: 1040px;
  margin: 0 auto;
}
.benefit__notes {
  text-align: center;
  margin-top: 40px;
}
.benefit__notes img {
  display: block;
}
.benefit__notes-inner {
  max-width: 726px;
}
.benefit__notes-inner .swiper-slide {
  background: #171717;
}
.benefit__notes-inner .swiper-slide p {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .benefit {
    margin-top: 40px;
  }
  .benefit__heading {
    padding: 0 20px;
  }
  .benefit__slider {
    width: 100%;
  }
  .benefit__slider .swiper-slide {
    width: 222px;
  }
  .benefit__grid {
    display: flex;
    flex-direction: column-reverse;
  }
}

.scope {
  color: #000000;
  margin-top: 50px;
}
.scope h2 {
  font-weight: 700;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0;
  text-align: center;
}
.scope h3 {
  margin-bottom: 15px;
}
.scope__inner {
  max-width: 880px;
  margin: 0 auto;
}
.scope__heading {
  margin-bottom: 25px;
}
.scope__list {
  margin-top: 40px;
}
.scope__item {
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
  transition: all 0.3s ease;
  opacity: 0.6;
}
.scope__item + .scope__item {
  margin-top: 2px;
}
.scope__item:hover {
  opacity: 1;
}
.scope__item.is-active {
  opacity: 1;
}
.scope__image {
  font-size: 0;
  aspect-ratio: 1/1;
}
.scope__image::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.scope__text {
  border-bottom: 1px solid transparent;
  transition: all 0.3s ease;
  padding-bottom: 20px;
  flex: 1;
}
.scope__text p {
  margin-bottom: 0;
}
.scope__text ul:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .scope__heading h2 {
    text-align: left;
  }
  .scope__list {
    position: relative;
  }
  .scope__text {
    display: none;
    width: calc(100% - 192px);
    position: absolute;
    top: 0;
    right: 0;
  }
  .scope__item {
    position: static;
  }
  .scope__item .scope__image {
    position: relative;
  }
  .scope__item.is-active .scope__text {
    display: block;
  }
}

.future {
  color: #000000;
  margin-top: 80px;
  margin-bottom: 147px;
}
.future h2 {
  font-weight: 700;
  font-size: 40px;
  line-height: 1.2;
  letter-spacing: 0;
}
.future h3 {
  font-weight: 700;
  font-size: 15px;
  line-height: 1.2;
  letter-spacing: 0;
  margin-bottom: 15px;
}
.future p :last-child {
  margin-bottom: 0;
}
.future p + ul {
  margin-top: -15px;
}
.future ul:last-child {
  margin-bottom: 0;
}
.future figure {
  margin: 15px 0;
}
.future__inner {
  max-width: 916px;
  margin: 0 auto 0;
}
.future__heading {
  margin-bottom: 25px;
}
@media (max-width: 767px) {
  .future {
    margin-top: 40px;
  }
}

.contact h1 {
  font-weight: 400;
  font-size: 48px;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}
.contact .keyvisual {
  background-color: #171717;
  padding-top: 44px;
}
.contact__inner {
  margin-top: 54px;
  display: flex;
  gap: 36px;
}
.contact nav {
  max-width: 600px;
  margin: 0 auto;
}
.contact__form-box {
  padding: 24px 30px;
  background-color: rgba(93, 93, 93, 0.5);
  border-radius: 12px;
}
.contact__form-box > form {
  display: grid;
  gap: 16px;
  margin-top: 30px;
}
.contact__form-box input,
.contact__form-box textarea {
  width: 100%;
  min-width: 257px;
}
.contact__form-box button {
  background-color: #363636;
  color: #fff;
  padding: 0 24px;
  height: 29px;
  border: 1px solid #fff;
  border-radius: 14px;
  box-sizing: border-box;
  font-weight: 400;
  font-size: 12px;
  line-height: 1;
  letter-spacing: 0;
  text-align: center;
}
.contact__info-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 16px;
  margin-top: 54px;
  margin-bottom: 50px;
}
.contact__info-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 12px;
  font-size: 12px;
  line-height: 1.5;
}
.contact__info-item img {
  width: 22px;
  height: auto;
}
.contact__info-item:first-child img {
  width: 26px;
  height: auto;
}
.contact__info-item:last-child img {
  width: 25px;
  height: auto;
}
.contact__footer-inner {
  max-width: 936px;
  margin: 30px auto 0;
  color: #171717;
  padding-bottom: 40px;
}
.contact__footer-info {
  margin-top: 40px;
}
.contact__footer-info-inner {
  display: flex;
  gap: 70px;
}
.contact__footer-info-inner ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.contact .facebook,
.contact .instagram,
.contact .tiktok {
  display: inline-block;
  width: 27px;
  height: 27px;
}
.contact .facebook {
  -webkit-mask-image: url(../img/facebook.svg);
          mask-image: url(../img/facebook.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  background-color: #313131;
}
.contact .instagram {
  -webkit-mask-image: url(../img/instagram.svg);
          mask-image: url(../img/instagram.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  background-color: #313131;
}
.contact .tiktok {
  -webkit-mask-image: url(../img/tiktok.svg);
          mask-image: url(../img/tiktok.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: cover;
          mask-size: cover;
  background-color: #313131;
}
.contact__footer-sns {
  display: flex;
  gap: 9px;
  margin-top: 35px;
}
@media (max-width: 767px) {
  .contact .keyvisual {
    padding: 116px 20px 0;
  }
  .contact .keyvisual .container {
    padding: 0;
  }
  .contact .keyvisual h1 {
    text-align: left;
  }
  .contact__inner {
    flex-direction: column;
    padding-bottom: 30px;
  }
  .contact__map {
    margin: 0 -20px;
  }
  .contact nav {
    display: none;
  }
  .contact__form-box {
    padding: 16px 20px;
  }
  .contact__info-list {
    grid-template-columns: 1fr;
  }
  .contact__footer-inner {
    margin-top: 0;
  }
  .contact__footer-info {
    margin-top: 30px;
  }
  .contact__footer-kv {
    margin: 0 -20px;
  }
  .contact__footer-info-inner {
    flex-direction: column;
    gap: 20px;
  }
  .contact__footer-info-inner ul {
    display: flex;
    gap: 30px;
  }
  .contact__footer-sns {
    margin-top: 20px;
  }
  .contact__logo {
    display: block;
    margin-left: -20px;
    margin-bottom: 15px;
  }
}
