@charset "UTF-8";
/* ========================================
  @media screen and (min-width: 768px),print 
======================================== */
@media screen and (min-width: 768px), print {

/* ========================================
  共通
======================================== */
main {
  max-width: 1920px;
  margin-inline: auto;
  width: 100%;
  background: #FFFBF1;
}
.common__en {
  color: #ED6C00;
  font-size: clamp(2.5rem, 0.833rem + 3.47vw, 5rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  margin-bottom: 17px;
}
.common__ttl {
  font-size: clamp(1.25rem, 0.75rem + 1.04vw, 2rem);
  font-style: normal;
  font-weight: 700;
  line-height: 1; 
  letter-spacing: 0.1em;
}
.common__sub {
  font-size: clamp(0.875rem, 0.708rem + 0.35vw, 1.125rem);
  font-weight: 500;
  line-height: 1.77778;
  letter-spacing: 0.1em;
}
.common__btn {
  width: min(95%, 320px);
}
.common__btn a {
  text-align: center;
  font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.1em;
  border-radius: 200px;
  background: #FFF;
  box-shadow: 0 8px 16px 0 rgba(61, 61, 61, 0.14);
  display: block;
  padding-block: 19px;
  position: relative;
  transition: opacity 0.3s ease, transform 0.3s ease;
}
.common__btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 15px;
  width: 28px;
  height: 28px;
  background: url(../images/common/btn-arrow-b.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}
.common__btn a:hover {
  text-decoration: none;
  opacity: 0.85;
}


/* ========================================
  MV
======================================== */
.ais-mv {
  position: relative;
}
.ais-mv__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.ais-mv__blob {
  position: absolute;
  display: block;
  line-height: 0;
}
.ais-mv__blob svg {
  display: block;
  width: 100%;
  height: auto;
}
.ais-mv__blob--01 {
  top: 0;
  left: 370px;
  width: min(95%, 735px);
}
.ais-mv__blob--02 {
  top: 0;
  right: 0;
  width: min(95%, 506px);
}
.ais-mv__blob--03 {
  top: -20px;
  left: -60px;
  width: min(50%, 500px);
}
.ais-mv__blob--04 {
  top: 396px;
  right: 176px;
  width: min(95%, 790px);
}
.ais-mv__blob--05 {
  top: 140px;
  left: 50%;
  transform: translateX(-50%);
  width: min(95%, 904px);
}

.ais-mv__deco {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.ais-mv__deco-photo {
  position: absolute;
  margin: 0;
  line-height: 0;
}
.ais-mv__deco-photo img {
  display: block;
  width: 100%;
  height: auto;
}
.ais-mv__deco-photo--tl {
  top: 130px;
  left: 82px;
  width: min(95%, 479px);
}
.ais-mv__deco-photo--br {
  right: 160px;
  top: 740px;
  width: min(95%, 405px);
}

.ais-mv__inner {
  position: relative;
  z-index: 1;
  width: min(95%, 1440px);
  margin-inline: auto;
  padding-bottom: 83px;
}
.ais-mv__badges-wrap {
  position: absolute;
  top: 674px;
  left: 84px;
  width: 586px;
}
.ais-mv__badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 7px;
}
.ais-mv__badge-ttl {
  text-align: center;
  font-size: 22px;
  font-weight: 500;
  line-height: 1.63636;
  letter-spacing: 0.16em;
  margin-bottom: 24px;
}

.ais-mv__visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.ais-mv__main {
  position: relative;
  z-index: 1;
}
.ais-mv__main img {
  display: block;
  width: 560px;
  height: auto;
}
.ais-mv__photos {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.ais-mv__photo {
  position: absolute;
}
.ais-mv__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ais-mv__photo--01 {
  top: 108px;
  left: 238px;
  width: 184px;
  height: auto;
}
.ais-mv__photo--02 {
  top: 327px;
  left: 356px;
  width: 201px;
  height: auto;
}
.ais-mv__photo--03 {
  right: 291px;
  bottom: 0%;
  width: 206px;
  height: auto;
}

.ais-mv__copy {
  position: absolute;
  top: 12%;
  right: -2px;
  z-index: 0;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 32px;
}
.ais-mv__copy-sub {
  writing-mode: vertical-rl;
  color: var(--orange, #ED6C00);
  font-size: 40px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.1em;
}
.ais-mv__copy-main {
  writing-mode: vertical-rl;
  font-size: 90px;
  font-weight: 700;
  line-height: 1.11111;
  letter-spacing: 0.11em;
}
.ais-mv__copy-main span {
  background: #fff;
  display: inline-block;
  margin-left: 23px;
  padding: 23px 5px 6px 5px;
}

.ais-mv__nav {
  position: relative;
  width: min(95%, 1600px);
  margin-inline: auto;
  border-radius: 40px;
  background: linear-gradient(95deg, #FDAC30 1.75%, #AECB85 100%);
  padding-block: 60px 70px;
  z-index: 5;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  bottom: -22px;
  z-index: 6;
}
.ais-mv__nav::before {
  position: absolute;
  content: "";
  border-radius: 30px;
  border: 1px solid #FFF;
  inset: 10px;
}
.ais-mv__nav-ttl {
  color: #FFF;
  text-align: center;
  font-size: 30px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.08em;
  margin-bottom: 24px;
}
.ais-mv__nav-list {
  display: flex;
  align-items: stretch;
  gap: 0 40px;
  justify-content: center;
  position: relative;
}
.ais-mv__nav-item {
  display: flex;
  width: 340px;
  height: 90px;
  padding: 30px;
  gap: 9px;
  border-radius: 200px;
  background: #FFF;
  box-shadow: 0 4px 16px 0 rgba(61, 61, 61, 0.20);
  transition: opacity 0.2s ease, transform 0.2s ease;
  align-items: center;
  position: relative;
}
.ais-mv__nav-item::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 15px;
  background: url(../images/common/btn-arrow-b.svg) no-repeat center center / contain;
  width: 28px;
  height: 28px;
}
.ais-mv__nav-item:hover {
  opacity: 0.88;
  text-decoration: none;
  transform: translateY(-1px);
}
.ais-mv__nav-icon {
  width: 30px;
  height: 30px;
}
.ais-mv__nav-txt {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.1; 
  letter-spacing: 0.1em;
}
.ais-mv__wav {
  position: relative;
  z-index: 2;
  line-height: 0;
  margin-bottom: -100px;
}
.ais-mv__wav svg {
  display: block;
  width: 100%;
  height: auto;
}

/* MV：blob・写真のふわっと表示 */
@keyframes ais-mv-reveal {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes ais-mv-reveal-center {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
.ais-mv__blob {
  opacity: 0;
  animation: ais-mv-reveal 2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.ais-mv__blob--01 {
  animation-delay: 0.2s;
}
.ais-mv__blob--02 {
  animation-delay: 0.45s;
}
.ais-mv__blob--03 {
  animation-delay: 0.7s;
}
.ais-mv__blob--04 {
  animation-delay: 0.95s;
}
.ais-mv__blob--05 {
  animation-name: ais-mv-reveal-center;
  animation-delay: 0.35s;
}
.ais-mv__deco-photo,
.ais-mv__main,
.ais-mv__photo {
  opacity: 0;
  animation: ais-mv-reveal 2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.ais-mv__deco-photo--tl {
  animation-delay: 0.8s;
}
.ais-mv__deco-photo--br {
  animation-delay: 1.3s;
}
.ais-mv__main {
  animation-delay: 0.9s;
}
.ais-mv__photo--01 {
  animation-delay: 1.05s;
}
.ais-mv__photo--02 {
  animation-delay: 1.3s;
}
.ais-mv__photo--03 {
  animation-delay: 1.55s;
}
@media (prefers-reduced-motion: reduce) {
  .ais-mv__blob,
  .ais-mv__deco-photo,
  .ais-mv__main,
  .ais-mv__photo {
    animation: none;
    opacity: 1;
    transform: none;
  }
  .ais-mv__blob--05 {
    transform: translateX(-50%);
  }
}


/* ========================================
  PROMISE
======================================== */
.ais-promise {
  position: relative;
  margin-top: -100px;
  background: transparent;
}
.ais-promise::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #FEE8B8;
  z-index: 1;
}
.ais-promise__blob {
  position: absolute;
  display: block;
  line-height: 0;
  z-index: 3;
}
.ais-promise__blob svg {
  display: block;
  width: 100%;
  height: auto;
}
.ais-promise__blob--01 {
  top: 150px;
  right: 0;
  width: min(95%, 615px);
}
.ais-promise__blob--02 {
  top: -60px;
  left: 0;
  width: min(95%, 469px);
}
.ais-promise__blob--03 {
  top: 764px;
  right: 650px;
  width: min(95%, 429px);
  z-index: 5;
}

/* PROMISE：blob・吹き出しのふわっと表示 */
.ais-promise__blob,
.ais-promise__visual .fukidashi {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 2s cubic-bezier(0.22, 1, 0.36, 1), transform 2s cubic-bezier(0.22, 1, 0.36, 1);
}
.ais-promise__blob.is-inview,
.ais-promise__visual .fukidashi.is-inview {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .ais-promise__blob,
  .ais-promise__visual .fukidashi {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.ais-promise__inner {
  position: relative;
  z-index: 4;
  width: min(95%, 1604px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 39.90% 50.62%;
  gap: 0 70px;
  padding-block: 260px 0;
  justify-content: flex-end;
  align-items: flex-start;
  margin-bottom: -90px;
}
.ais-promise__en {
  color: #ED6C00;
  font-size: 80px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
  margin-bottom: 30px;
}
.ais-promise__ttl {
  font-size: 40px;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 35px;
}
.ais-promise__sub {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.77778;
  letter-spacing: 0.1em;
  margin-bottom: 56px;
}
.ais-promise__list {
  display: grid;
}
.ais-promise__item {
  border-bottom: 1px dashed #3D3D3D;
}
.ais-promise__item:first-child {
  border-top: 1px dashed #3D3D3D;
}
.ais-promise__link {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.33333;
  letter-spacing: 0.1em;
  text-decoration: none;
  position: relative;
  transition: opacity 0.2s ease;
  display: flex;
  align-items: center;
  gap: 20px;
  padding-block: 23px;
}
.ais-promise__link:hover {
  opacity: 0.75;
  text-decoration: none;
}
.ais-promise__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 32px;
  height: 32px;
  background: url(../images/common/btn-arrow-b.svg) no-repeat center center / contain;
}
.ais-promise__num {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: #ED6C00;
  color: #FFF;
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
}
.ais-promise__txt {
  font-size: 24px;
  font-weight: 700;
  line-height: 1.33333;
  letter-spacing: 0.1em;
}
.ais-promise__visual {
  position: relative;
  margin-top: 57px;
  line-height: 0;
}
.ais-promise__visual picture,
.ais-promise__visual img {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}
.ais-promise__visual .fukidashi {
  position: absolute;
  top: -55px;
  left: -124px;
  width: 393px;
  z-index: 2;
}
.ais-promise__visual .fukidashi img {
  display: block;
  width: 100%;
  height: auto;
}
.ais-promise__wave {
  position: absolute;
  z-index: 2;
  width: 100%;
  line-height: 0;
  overflow: hidden;
  pointer-events: none;
}
.ais-promise__wave-svg {
  display: block;
  width: 100%;
  height: auto;
}
.ais-promise__wave-static {
  display: none;
  width: 100%;
  height: auto;
}
@media (prefers-reduced-motion: reduce) {
  .ais-promise__wave-svg--motion {
    display: none;
  }
  .ais-promise__wave-static {
    display: block;
  }
}

/* ========================================
  WORKS
======================================== */
.ais-works {
  position: relative;
  background: #FFFBF1;
  margin-top: -90px;
  padding-block: 170px 0;
}
.ais-works__blob {
  position: absolute;
  display: block;
  line-height: 0;
}
.ais-works__blob svg {
  display: block;
  width: 100%;
  height: auto;
}
.ais-works__blob--01 {
  top: 123px;
  left: 0;
  width: min(95%, 514px);
  z-index: 1;
}
.ais-works__blob--02 {
  top: 672px;
  right: 0;
  width: min(95%, 384px);
}
.ais-works__blob--03 {
  bottom: -114px;
  left: 416px;
  width: min(95%, 643px);
}

/* WORKS：blobのふわっと表示 */
.ais-works__blob {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 2s cubic-bezier(0.22, 1, 0.36, 1), transform 2s cubic-bezier(0.22, 1, 0.36, 1);
}
.ais-works__blob.is-inview {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .ais-works__blob {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.ais-works__inner {
  position: relative;
  width: min(95%, 1600px);
  margin-inline: auto;
  padding-block: 262px 140px;
}
.ais-works__en {
  text-align: center;
  margin-bottom: 24px;
}
.ais-works__ttl {
  text-align: center;
  margin-bottom: 39px;
}
.ais-works__sub {
  text-align: center;
  margin-bottom: 64px;
}
.ais-works .system-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 50px;
  margin-bottom: 64px;
  position: relative;
  z-index: 2;
}
.ais-works .system-list li a:hover {
  text-decoration: none;
}
.ais-works .system-list li .system-pic {
  margin-bottom: 24px;
}
.ais-works .system-list li .system-pic img {
  width: 100%;
  height: 330px;
  object-fit: cover;
}
.ais-works .system-list li .system-category span{
  color: var(--blue, #72C6C8);
  font-size: 18px;
  font-style: normal;
  font-weight: 500;
  line-height: 1.77778;
  letter-spacing: 0.1em;
  background: none;
  padding: 0;
  margin: 0;
}

.ais-works .system-list li .system-ttl-01 {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.7; 
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}
.ais-works .system-list li .system-comment {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.71429;
  letter-spacing: 0.1em;
  display: -webkit-box;
  line-clamp: 2;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ais-works__btn {
  width: min(95%, 640px);
  margin-inline: auto;
  position: relative;
  z-index: 3;
}
.ais-works__btn a {
  text-align: center;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.1em;
  border-radius: 200px;
  background: #FFF;
  box-shadow: 0 8px 16px 0 rgba(61, 61, 61, 0.14);
  display: block;
  padding-block: 34px;
  position: relative;
  transition: opacity 0.2s ease;
}
.ais-works__btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 40px;
  width: 28px;
  height: 28px;
  background: url(../images/common/btn-arrow-b.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}
.ais-works__btn a:hover {
  opacity: 0.85;
  text-decoration: none;
}

/* ========================================
  ABOUT US
======================================== */
.ais-about {
  position: relative;
  background: #DE8B45;
  overflow: hidden;
  z-index: 2;
  border-radius: 40px 40px 0 0;
}
.ais-about::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/index/about-bg.png) no-repeat left top / cover;
  opacity: 0.22;
  pointer-events: none;
  z-index: 1;
}
.ais-about__inner {
  position: relative;
  z-index: 2;
  width: min(95%, 1600px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 32.2% 1fr;
  gap: 0 92px;
  align-items: start;
  padding-block: 160px 219px;
}
.ais-about__en {
  color: #FFF;
  margin-bottom: 25px;
}
.ais-about__ttl {
  color: #FFF;
  margin-bottom: 39px;
}
.ais-about__sub {
  color: #FFF;
  font-weight: 400;
  margin-bottom: 80px;
}
.ais-about__header {
  grid-column: 1;
  grid-row: 1;
}
.ais-about__btn {
  grid-column: 1;
  grid-row: 2;
  align-self: start;
}
.ais-about__members {
  display: grid;
  gap: 41px;
  grid-column: 2;
  grid-row: 1 / -1;
}
.ais-about__card--featured {
  display: grid;
  grid-template-columns: 26.31% 1fr;
  gap: 0 40px;
  align-items: center;
  padding: 40px;
  border-radius: 20px;
  background: #FFF;
}
.ais-about__card-photo {
  margin: 0;
  line-height: 0;
}
.ais-about__card-photo picture,
.ais-about__item-photo picture {
  display: block;
  width: 100%;
}
.ais-about__card-photo picture,
.ais-about__card-photo img {
  display: block;
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 12px;
}
.ais-about__card-role {
  color: var(--orange, #ED6C00);
  font-size: 16px;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
.ais-about__card-name {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.41667;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}
.ais-about__card-txt {
  font-size: 14px;
  font-weight: 400;
  line-height: 1.71429;
  letter-spacing: 0.1em;
  margin-bottom: 26px;
}
.ais-about__card-btn a {
  border-radius: 200px;
  background: var(--orange, #ED6C00);
  box-shadow: 0 8px 16px 0 rgba(61, 61, 61, 0.14);
  color: #FFFFFF;
}
.ais-about__card-btn a:hover {
  opacity: 0.85;
  text-decoration: none;
}
.ais-about__card-btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 28px;
  height: 28px;
  background: url(../images/common/btn-arrow-w.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}
.ais-about__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 16px;
}
.ais-about__item-link {
  display: block;
  height: 100%;
  padding: 40px;
  border-radius: 20px;
  background: #FFF;
  text-decoration: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}
.ais-about__item-link:hover {
  opacity: 0.88;
  transform: translateY(-2px);
  text-decoration: none;
}
.ais-about__item-photo {
  margin-bottom: 24px;
  line-height: 0;
}
.ais-about__item-photo picture,
.ais-about__item-photo img {
  display: block;
  width: 100%;
  height: 300px;
  object-fit: cover;
  border-radius: 10px;
}
.ais-about__item-role {
  color: var(--orange, #ED6C00);
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 8px;
}
.ais-about__item-name {
  font-size: 24px;
  font-weight: 500;
  line-height: 1.41667;
  letter-spacing: 0.1em;
}

/* ========================================
  WELCOME
======================================== */
.ais-welcome {
  position: relative;
  margin-top: -120px;
  background: #FDD37D;
}
.ais-welcome__wave {
  position: relative;
  z-index: 2;
  width: 100%;
  line-height: 0;
  margin-bottom: -87px;
  overflow: hidden;
  pointer-events: none;
}
.ais-welcome__wave-svg {
  display: block;
  width: 100%;
  height: auto;
}
.ais-welcome__wave-static {
  display: none;
  width: 100%;
  height: auto;
}
@media (prefers-reduced-motion: reduce) {
  .ais-welcome__wave-svg--motion {
    display: none;
  }
  .ais-welcome__wave-static {
    display: block;
  }
}
.ais-welcome__blob {
  position: absolute;
  display: block;
  line-height: 0;
  pointer-events: none;
  z-index: 3;
}
.ais-welcome__blob svg {
  display: block;
  width: 100%;
  height: auto;
}
.ais-welcome__blob--01 {
  top: 88px;
  left: -40px;
  width: min(95%, 482px);
}
.ais-welcome__blob--02 {
  top: 526px;
  right: 0;
  width: min(95%, 300px);
}

/* WELCOME：blobのふわっと表示 */
.ais-welcome__blob {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 2s cubic-bezier(0.22, 1, 0.36, 1), transform 2s cubic-bezier(0.22, 1, 0.36, 1);
}
.ais-welcome__blob.is-inview {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .ais-welcome__blob {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.ais-welcome__inner {
  position: relative;
  z-index: 3;
  width: min(95%, 1760px);
  margin-inline: auto;
  display: flex;
  align-items: center;
  padding-block: 40px 140px;
}
.ais-welcome__visual {
  margin: 0;
  line-height: 0;
  width: min(100%, 1030px);
  position: absolute;
  top: 0;
  left: 0;
}
.ais-welcome__visual picture,
.ais-welcome__visual img {
  display: block;
  width: 100%;
  height: auto;
}
.ais-welcome__content {
  margin-left: auto;
  margin-right: 80px;
  position: relative;
  z-index: 2;
  padding: 8px 0 0;
}
.ais-welcome__lead {
  text-align: right;
  padding-right: 80px;
  margin-bottom: 22px;
}
.ais-welcome__en {
  color: #FFF;
  text-align: right;
  font-size: 180px;
  font-weight: 500;
  line-height: 0.98889;
  letter-spacing: 0.04em;
  margin-bottom: 32px;
  margin-right: -8px;
}
.ais-welcome__ttl {
  color: #FFF;
  text-align: right;
  font-size: 60px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.13em;
  margin-bottom: 26px;
  position: relative;
  padding: 0 4px 23px 0;
}
.ais-welcome__ttl::after {
  position: absolute;
  content: "";
  background: #FFFFFF;
  width: min(100%, 930px);
  height: 4px;
  bottom: 0;
  left: 50.5%;
  transform: translateX(-50%);
}
.ais-welcome__ttl .orange {
  color: var(--orange, #ED6C00);
}
.ais-welcome__sub {
  text-align: right;
  font-size: 24px;
  font-weight: 500;
  line-height: 1.66667;
  letter-spacing: 0.1em;
  margin-bottom: 64px;
}
.ais-welcome__btns {
  display: grid;
  gap: 15px;
  width: min(100%, 800px);
  margin-left: auto;
}
.ais-welcome__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  text-align: center;
  color: #FFF;
  text-align: center;
  font-size: 40px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  border-radius: 20px;
  padding: 30px 58px 30px 30px;
  text-decoration: none;
  position: relative;
  transition: opacity 0.2s ease;
}
.ais-welcome__btn:hover {
  opacity: 0.85;
  text-decoration: none;
}
.ais-welcome__btn:hover img {
  opacity: 1;
}
.ais-welcome__btn img {
  width: 100px;
  height: auto;
  flex-shrink: 0;
}
.ais-welcome__btn--mail {
  background: #ED6C00;
  color: #FFF;
}
.ais-welcome__btn--mail::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 126px;
  width: 40px;
  height: 40px;
  background: url(../images/common/btn-arrow-w.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}
.ais-welcome__btn--line {
  background: #FFF;
  color: #06C755;
  padding: 30px 93px 30px 30px;
}
.ais-welcome__btn--line::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 160px;
  width: 40px;
  height: 40px;
  background: url(../images/common/btn-arrow-g.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}

/* ========================================
  CONCEPT
======================================== */
.ais-concept {
  background: url(../images/index/concept-bg.jpg) no-repeat top center / cover;
}
.ais-concept__inner {
  width: min(95%, 1200px);
  margin-inline: auto;
  padding-block: 140px 285px;
}
.ais-concept__header {
  text-align: center;
  margin-bottom: 39px;
}
.ais-concept__en {
  color: var(--orange, #ED6C00);
  text-align: center;
  font-size: 24px;
  font-weight: 500;
  line-height: 1; 
  letter-spacing: 0.04em;
  margin-bottom: 40px;
}
.ais-concept__preface {
  text-align: center;
  font-size: clamp(3.75rem, 3.583rem + 0.35vw, 4rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 24px;
}
.ais-concept__catch {
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 65px;
}
.ais-concept__catch span {
  color: #F2486D;
}
.ais-concept__sub {
  line-height: 2.1111;
  font-weight: 700;
}
.ais-concept__body {
  display: grid;
  grid-template-columns: 45% 53%;
  gap: 0 24px;
  align-items: center;
}
.ais-concept__ttl {
  font-size: clamp(1.375rem, 0.958rem + 0.87vw, 2rem);
  font-weight: 700;
  line-height: 1.5625;
  letter-spacing: 0.1em;
  color: var(--orange, #ED6C00);
  margin-bottom: 40px;
}
.ais-concept__txt {
  font-size: 16px;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-bottom: 40px;
}
.ais-concept__visual img {
  width: 100%;
  height: auto;
}

/* ========================================
  COMPANY
======================================== */
.ais-company {
  position: relative;
  z-index: 2;
  margin-top: -186px;
  padding-block: 0 120px;
}
.ais-company__inner {
  width: min(95%, 1440px);
  margin-inline: auto;
  padding: 100px 80px;
  border-radius: 40px;
  background: #FFF;
  display: grid;
  grid-template-columns: 31.17% 62.5%;
  gap: 0 80px;
}
.ais-company__header {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
}
.ais-company__en {
  margin-bottom: 24px;
}
.ais-company__btn {width: min(100%, 320px);}
.ais-company__btn a {
  border-radius: 200px;
  background: var(--orange, #ED6C00);
  box-shadow: 0 8px 16px 0 rgba(61, 61, 61, 0.14);
  color: #FFFFFF;
}
.ais-company__btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 28px;
  height: 28px;
  background: url(../images/common/btn-arrow-w.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}
.ais-company__list {
  margin: 0;
}
.ais-company__item {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 0 32px;
  padding-block: 24px;
  border-bottom: 1px solid #BFBFBF;
}
.ais-company__item:first-child {
  border-top: 1px solid #BFBFBF;
}
.ais-company__term,
.ais-company__desc {
  margin: 0;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: 0.1em;
}
.ais-company__term {
  font-weight: 700;
}

/* ========================================
  FAQ
======================================== */
.ais-faq__inner {
  position: relative;
  z-index: 2;
  width: min(95%, 1200px);
  margin-inline: auto;
  display: grid;
  grid-template-columns: 20% 75%;
  gap: 0 60px;
  align-items: start;
  padding-block: 0 282px;
}
.ais-faq__header {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.ais-faq__en {
  margin-bottom: 24px;
}
.ais-faq__btn {
  margin-top: 40px;
  width: 100%;
}
.ais-faq__btn a {
  border-radius: 200px;
  background: var(--orange, #ED6C00);
  box-shadow: 0 8px 16px 0 rgba(61, 61, 61, 0.14);
  color: #FFF;
}
.ais-faq__btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 16px;
  width: 28px;
  height: 28px;
  background: url(../images/common/btn-arrow-w.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}
.ais-faq__list {
  display: grid;
  gap: 16px;
}
.ais-faq__item {
  border-radius: 10px;
  background: var(--beige, #FEE8B8);
  overflow: hidden;
  padding: 24px 40px;
}
.ais-faq__summary {
  display: grid;
  grid-template-columns: 20px 1fr 25px;
  gap: 0 16px;
  align-items: flex-start;
  cursor: pointer;
  list-style: none;
}
.ais-faq__summary::-webkit-details-marker {
  display: none;
}
.ais-faq__summary::marker {
  content: "";
}
.ais-faq__q {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.ais-faq__question {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.005em;
}
.ais-faq__toggle {
  position: relative;
  width: 20px;
  height: 36px;
  justify-self: end;
  flex-shrink: 0;
}
.ais-faq__toggle::before,
.ais-faq__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #3D3D3D;
  transform: translate(-50%, -50%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.ais-faq__toggle::before {
  width: 14px;
  height: 1px;
}
.ais-faq__toggle::after {
  width: 1px;
  height: 14px;
  transform: translate(-50%, -50%) scaleY(1);
  transform-origin: center center;
}
.ais-faq__item.is-active .ais-faq__toggle::after {
  transform: translate(-50%, -50%) scaleY(0);
}
.ais-faq__answer-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.ais-faq__item.is-active .ais-faq__answer-wrap {
  grid-template-rows: 1fr;
}
.ais-faq__answer {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75; /* 175% */
  letter-spacing: 0.005em;
  display: grid;
  grid-template-columns: 19px 1fr;
  gap: 0 16px;
  padding: 0 30px 0 0;
  min-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    padding 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0.45s;
}
.ais-faq__item.is-active .ais-faq__answer {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  padding-top: 15px;
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.12s,
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.12s,
    padding 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.12s,
    visibility 0s linear 0s;
}
.ais-faq__item.is-closing .ais-faq__answer {
  opacity: 0;
  visibility: visible;
  transform: translateY(0);
  padding-top: 0;
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    padding 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (prefers-reduced-motion: reduce) {
  .ais-faq__answer-wrap {
    transition: none;
  }
  .ais-faq__answer {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none;
  }
  .ais-faq__item:not(.is-active) .ais-faq__answer {
    opacity: 0;
    visibility: hidden;
  }
  .ais-faq__item.is-active .ais-faq__answer {
    opacity: 1;
    visibility: visible;
  }
}
.ais-faq__a {
  font-size: 20px;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
  align-self: start;
  position: relative;
  top: -4px;
}
.ais-faq__answer .wysiwyg {
  margin-bottom: 0;
  min-width: 0;
}
.ais-faq__answer .wysiwyg p {
  margin: 0;
  padding: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.75;
  letter-spacing: 0.005em;
}
.ais-faq__answer .wysiwyg p:last-child {
  margin-bottom: 0;
}
.ais-faq__answer .wysiwyg > *:last-child {
  margin-bottom: 0;
}
.ais-faq__answer .wysiwyg p:empty {
  display: none;
}
.ais-faq__answer .wysiwyg p:has(> br:only-child) {
  display: none;
}

}

/* ========================================
  @media screen and (min-width:768px) and (max-width:1919px)
======================================== */
@media screen and (min-width:768px) and (max-width:1919px) {

/* MV
-------------------------------------*/
@keyframes ais-mv-reveal {
  0% {
    opacity: 0;
    transform: translateY(1.25vw);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes ais-mv-reveal-center {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(1.25vw);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
.ais-mv__blob--01 {
  left: 19.271vw;
  width: min(95%, 38.281vw);
}
.ais-mv__blob--02 {
  width: min(95%, 26.354vw);
}
.ais-mv__blob--03 {
  top: -1.042vw;
  left: -3.125vw;
  width: min(50%, 26.042vw);
}
.ais-mv__blob--04 {
  top: 20.625vw;
  right: 9.167vw;
  width: min(95%, 41.146vw);
}
.ais-mv__blob--05 {
  top: 7.292vw;
  width: min(95%, 47.083vw);
}
.ais-mv__deco-photo--tl {
  top: 6.771vw;
  left: 4.271vw;
  width: min(95%, 24.948vw);
}
.ais-mv__deco-photo--br {
  right: 8.333vw;
  top: 38.542vw;
  width: min(95%, 21.094vw);
}
.ais-mv__inner {
  width: min(95%, 75vw);
  padding-bottom: 4.323vw;
}
.ais-mv__badges-wrap {
  top: 35.104vw;
  left: 4.38vw;
  width: 30.54vw;
}
.ais-mv__badges {
  gap: 0 0.36vw;
  margin-inline: auto;
}
.ais-mv__badge img {
  width: 100%;
  height: auto;
}
.ais-mv__badge-ttl {
  font-size: 1.146vw;
  margin-bottom: 1.25vw;
}
.ais-mv__main img {
  width: 29.167vw;
}
.ais-mv__photo--01 {
  top: 5.625vw;
  left: 12.396vw;
  width: 9.583vw;
}
.ais-mv__photo--02 {
  top: 17.031vw;
  left: 18.542vw;
  width: 10.469vw;
}
.ais-mv__photo--03 {
  right: 15.156vw;
  width: 10.729vw;
}
.ais-mv__copy {
  right: -0.104vw;
  gap: 1.667vw;
}
.ais-mv__copy-sub {
  font-size: 2.083vw;
}
.ais-mv__copy-main {
  font-size: 4.688vw;
}
.ais-mv__copy-main span {
  margin-left: 1.198vw;
  padding: 1.198vw 0.26vw 0.313vw 0.26vw;
}
.ais-mv__nav {
  width: min(95%, 83.333vw);
  border-radius: 2.083vw;
  padding-block: 3.125vw 3.646vw;
  bottom: -1.146vw;
}
.ais-mv__nav::before {
  border-radius: 1.563vw;
  inset: 0.521vw;
}
.ais-mv__nav-ttl {
  font-size: 1.563vw;
  margin-bottom: 1.25vw;
}
.ais-mv__nav-list {
  gap: 0 2.083vw;
}
.ais-mv__nav-item {
  width: 17.708vw;
  height: 4.688vw;
  padding: 1.563vw;
  gap: 0.521vw;
  border-radius: 10.417vw;
  box-shadow: 0 0.208vw 0.833vw 0 rgba(61, 61, 61, 0.20);
}
.ais-mv__nav-item::after {
  right: 0.781vw;
  width: 1.458vw;
  height: 1.458vw;
}
.ais-mv__nav-item:hover {
  transform: translateY(-0.052vw);
}
.ais-mv__nav-icon {
  width: 1.563vw;
  height: 1.563vw;
}
.ais-mv__nav-icon img {
  width: 100%;
  height: auto;
  vertical-align: top;
}
.ais-mv__nav-txt {
  font-size: clamp(0.625rem, 0.208rem + 0.87vw, 1.25rem);
}
.ais-mv__wav {
  margin-bottom: -5.208vw;
}

}

/* ========================================
 @media screen and (min-width:768px) and (max-width:1640px)
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
/* PROMISE
-------------------------------------*/
.ais-promise {
  margin-top: -6.098vw;
}
.ais-promise__blob--01 {
  top: 9.146vw;
  width: min(95%, 37.50vw);
}
.ais-promise__blob--02 {
  top: -3.659vw;
  width: min(95%, 28.60vw);
}
.ais-promise__blob--03 {
  top: 46.585vw;
  right: 30.634vw;
  width: min(95%, 26.16vw);
}

.ais-promise__inner {
  width: min(95%, 97.80vw);
  gap: 0 4.268vw;
  padding-block: 15.854vw 0;
  margin-bottom: -5.488vw;
}
.ais-promise__en {
  font-size: 4.878vw;
  margin-bottom: 1.829vw;
}
.ais-promise__ttl {
  font-size: 2.439vw;
  margin-bottom: 2.134vw;
}
.ais-promise__sub {
  font-size: 1.098vw;
  margin-bottom: 3.415vw;
}
.ais-promise__link {
  font-size: 1.830vw;
  gap: 0.729vw;
  padding-block: 1.739vw;
}
.ais-promise__link::after {
  /* width: 1.25vw; */
  /* height: 1.25vw; */
}
.ais-promise__num {
  width: 3.659vw;
  height: 3.659vw;
  font-size: 1.22vw;
}
.ais-promise__txt {
  font-size: 1.463vw;
}
.ais-promise__visual {
  margin-top: 3.476vw;
}
.ais-promise__visual .fukidashi {
  top: -3.354vw;
  left: -7.561vw;
  width: 23.963vw;
}

/* WORKS
-------------------------------------*/
.ais-works {
  margin-top: -5.488vw;
  padding-block: 10.366vw 0;
}
.ais-works__blob--01 {
  top: 7.5vw;
  width: min(95%, 31.34vw);
}
.ais-works__blob--02 {
  top: 40.976vw;
  width: min(95%, 23.41vw);
}
.ais-works__blob--03 {
  bottom: -6.951vw;
  left: 25.366vw;
  width: min(95%, 39.21vw);
}

.ais-works__inner {
  width: min(95%, 97.56vw);
  padding-block: 15.976vw 8.537vw;
}
.ais-works__en {
  margin-bottom: 1.463vw;
}
.ais-works__ttl {
  margin-bottom: 2.378vw;
}
.ais-works__sub {
  margin-bottom: 3.902vw;
}
.ais-works .system-list {
  gap: 0 3.049vw;
  margin-bottom: 3.902vw;
}
.ais-works .system-list li .system-pic {
  margin-bottom: 1.463vw;
}
.ais-works .system-list li .system-pic img {
  height: 20.122vw;
}
.ais-works .system-list li .system-category {
  margin-bottom: 0.488vw;
}
.ais-works .system-list li .system-category span{
  font-size: clamp(0.875rem, 0.655rem + 0.46vw, 1.125rem);

}

.ais-works .system-list li .system-ttl-01 {
  font-size: clamp(1rem, 0.78rem + 0.46vw, 1.25rem);
  margin-bottom: 1.463vw;
}
.ais-works .system-list li .system-comment {
  font-size: clamp(0.75rem, 0.64rem + 0.23vw, 0.875rem);
}

.ais-works__btn {
  width: min(95%, 39.02vw);
}
.ais-works__btn a {
  font-size: clamp(1rem, 0.78rem + 0.46vw, 1.25rem);
  border-radius: 12.195vw;
  padding-block: 2.073vw;
}
.ais-works__btn a::after {
  right: 2.439vw;
  width: 1.707vw;
  height: 1.707vw;
}

/* ABOUT US
-------------------------------------*/
.ais-about {
  border-radius: 2.439vw 2.439vw 0 0;
}
.ais-about__inner {
  width: min(95%, 97.56vw);
  gap: 0 5.61vw;
  padding-block: 9.756vw 13.354vw;
}
.ais-about__en {
  margin-bottom: 1.524vw;
}
.ais-about__ttl {
  margin-bottom: 2.378vw;
  font-size: clamp(1.125rem, 0.354rem + 1.61vw, 2rem);
}
.ais-about__sub {
  margin-bottom: 4.878vw;
}
.ais-about__members {
  gap: 2.5vw;
}
.ais-about__card--featured {
  grid-template-columns: 26.31% 1fr;
  gap: 0 2.439vw;
  padding: 2.439vw;
  border-radius: 1.22vw;
}
.ais-about__card-photo picture,
.ais-about__card-photo img {
  height: 18.293vw;
  border-radius: 0.732vw;
}
.ais-about__card-role {
  font-size: clamp(0.75rem, 0.53rem + 0.46vw, 1rem);
  margin-bottom: 0.488vw;
}
.ais-about__card-name {
  font-size: clamp(1.25rem, 1.03rem + 0.46vw, 1.5rem);
  margin-bottom: 1.463vw;
}
.ais-about__card-txt {
  font-size: clamp(0.75rem, 0.64rem + 0.23vw, 0.875rem);
  margin-bottom: 1.585vw;
}
.ais-about__card-btn a {
  border-radius: 12.195vw;
}
.ais-about__card-btn a::after {
  right: 0.976vw;
  width: 1.707vw;
  height: 1.707vw;
}
.ais-about__list {
  gap: 0 0.976vw;
}
.ais-about__item-link {
  padding: 2.439vw;
  border-radius: 1.22vw;
}
.ais-about__item-photo {
  margin-bottom: 1.463vw;
}
.ais-about__item-photo picture,
.ais-about__item-photo img {
  height: 18.293vw;
  border-radius: 0.61vw;
}
.ais-about__item-role {
  font-size: clamp(0.75rem, 0.53rem + 0.46vw, 1rem);
  margin-bottom: 0.488vw;
}
.ais-about__item-name {
  font-size: clamp(1.25rem, 1.03rem + 0.46vw, 1.5rem);
}

}

/* ========================================
  @media screen and (min-width:768px) and (max-width:1800px)
======================================== */
@media screen and (min-width:768px) and (max-width:1800px) {
/* WELCOME
-------------------------------------*/
.ais-welcome {
  margin-top: -6.667vw;
}
.ais-welcome__wave {
  margin-bottom: -4.833vw;
}
.ais-welcome__blob--01 {
  top: 4.889vw;
  left: -2.222vw;
  width: min(95%, 26.78vw);
}
.ais-welcome__blob--02 {
  top: 29.222vw;
  right: 0;
  width: min(95%, 16.67vw);
}
.ais-welcome__inner {
  width: min(95%, 97.78vw);
  padding-block: 2.222vw 7.778vw;
}
.ais-welcome__visual {
  width: min(100%, 57.22vw);
}
.ais-welcome__content {
  margin-right: 4.444vw;
  padding: 0.444vw 0 0;
}
.ais-welcome__lead {
  padding-right: 4.444vw;
  margin-bottom: 1.222vw;
}
.ais-welcome__lead img {
  width: 44.67vw;
}
.ais-welcome__en {
  font-size: 10vw;
  margin-bottom: 1.778vw;
  margin-right: -0.444vw;
}
.ais-welcome__ttl {
  font-size: 3.333vw;
  margin-bottom: 1.444vw;
  padding: 0 0.222vw 1.278vw 0;
}
.ais-welcome__ttl::after {
  width: min(100%, 51.67vw);
  height: 0.222vw;
}
.ais-welcome__sub {
  font-size: 1.333vw;
  margin-bottom: 3.556vw;
}
.ais-welcome__btns {
  gap: 0.833vw;
  width: min(100%, 44.44vw);
}
.ais-welcome__btn {
  gap: 1.333vw;
  font-size: 2.222vw;
  border-radius: 1.111vw;
  padding: 1.667vw 3.222vw 1.667vw 1.667vw;
}
.ais-welcome__btn img {
  width: 5.556vw;
}
.ais-welcome__btn--mail::after {
  right: 7vw;
  width: 2.222vw;
  height: 2.222vw;
}
.ais-welcome__btn--line {
  padding: 1.667vw 5.167vw 1.667vw 1.667vw;
}
.ais-welcome__btn--line::after {
  right: 8.889vw;
  width: 2.222vw;
  height: 2.222vw;
}

}

/* ========================================
  @media screen and (min-width:768px) and (max-width:1000px)
======================================== */
@media screen and (min-width:768px) and (max-width:1000px) {
/* company
-------------------------------------*/
.ais-company__inner {
  padding: 8vw 6vw;
  gap: 0 8.00vw;
  grid-template-columns: 34.17% 1fr;
}

/* faq
-------------------------------------*/
.ais-faq__inner {
  gap: 0 6.00vw;
  padding-block: 0 28.20vw;
  grid-template-columns: 22% 1fr;
}
}



/* ========================================
  @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
/* ========================================
  共通
======================================== */
main {
  background: #FFFBF1;
}
.common__en {
  color: var(--orange, #ED6C00);
  font-size:10.145vw;
  font-weight: 500;
  line-height: 1.0119;
  letter-spacing: 0.04em;
  margin-bottom: 2.11vw;
}
.common__ttl {
  font-size:5.314vw;
  font-weight: 700;
  letter-spacing: 0.1em;
  margin-bottom: 6.13vw;
}
.common__sub {
  font-size:3.382vw;
  font-weight: 500;
  line-height: 1.71429;
  letter-spacing: 0.1em;
}
.common__btn {
  width: 82.13vw;
}
.common__btn a {
  text-align: center;
  font-size:3.382vw;
  font-weight: 500;
  line-height: 1.08772;
  letter-spacing: 0.1em;
  display: block;
  border-radius: 33.33vw;
  background: #FFF;
  box-shadow: 0 5.537px 11.075px 0 rgba(61, 61, 61, 0.14);
  padding-block: 5.41vw;
  position: relative;
}
.common__btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 10.87vw;
  width: 4.59vw;
  height: 4.59vw;
  background: url(../images/common/btn-arrow-b.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}
.common__btn a:hover {
  text-decoration: none;
  opacity: 0.85;
}


/* ========================================
  MV
======================================== */
.ais-mv {
  position: relative;
  padding-block: 20.5vw;
  display: grid;
}
.ais-mv__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  overflow: hidden;
}
.ais-mv__blob {
  position: absolute;
  display: block;
  line-height: 0;
}
.ais-mv__blob svg {
  display: block;
  width: 100%;
  height: auto;
}
.ais-mv__blob--01 {
  top: 10vw;
  left: -2vw;
  width: min(95%, 58.21vw);
}
.ais-mv__blob--02 {
  top: -2vw;
  right: 0;
  width: min(95%, 57.25vw);
}
.ais-mv__blob--03 {
  top: 55vw;
  left: -3.65vw;
  width: min(50%, 30.68vw);
}
.ais-mv__blob--04 {
  top: 61vw;
  right: 0;
  width: min(95%, 57.97vw);
}
.ais-mv__blob--05 {
  top: 41vw;
  left: 42%;
  transform: translateX(-50%);
  width: min(95%, 72.22vw);
}

.ais-mv__deco {
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
}
.ais-mv__deco-photo {
  position: absolute;
  margin: 0;
  line-height: 0;
}
.ais-mv__deco-photo img {
  display: block;
  width: 100%;
  height: auto;
}
.ais-mv__deco-photo--tl {
  top: 23vw;
  left: -3vw;
  width: min(95%, 34.06vw);
}
.ais-mv__deco-photo--br {
  right: -8vw;
  top: 82.5vw;
  width: min(95%, 40.58vw);
}

.ais-mv__inner {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12vw;
  padding-bottom: 12.2vw;
}
.ais-mv__badges-wrap {
  order: 2;
  padding-bottom: 5vw;
}
.ais-mv__badges {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0 1.12vw;
  width: min(95%, 81.88vw);
  margin-inline: auto;
}
.ais-mv__badge-ttl {
  text-align: center;
  font-size: 3.07vw;
  font-weight: 500;
  line-height: 1.63636;
  letter-spacing: 0.159em;
  margin-bottom: 3.35vw;
}

.ais-mv__visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: flex-end;
}
.ais-mv__main {
  position: relative;
  z-index: 1;
  padding: 2.5vw 2.5vw 0 0;
}
.ais-mv__main img {
  width: 47.34vw;
}
.ais-mv__photos {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.ais-mv__photo {
  position: absolute;
}
.ais-mv__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.ais-mv__photo--01 {
  top: 17.5vw;
  left: 3.5vw;
  width: 14.73vw;
  height: auto;
}
.ais-mv__photo--02 {
  top: 39.5vw;
  left: 14.5vw;
  width: 15.94vw;
  height: auto;
}
.ais-mv__photo--03 {
  right: 22vw;
  top: 55vw;
  width: 16.43vw;
  height: auto;
}

.ais-mv__copy {
  position: absolute;
  top: 0;
  right: 4vw;
  z-index: 0;
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 2vw;
}
.ais-mv__copy-sub {
  writing-mode: vertical-rl;
  color: var(--orange, #ED6C00);
  font-size: 3.37vw;
  font-weight: 500;
  line-height: 1.05036;
  letter-spacing: 0.05em;
}
.ais-mv__copy-main {
  writing-mode: vertical-rl;
  font-size:7.246vw;
  font-weight: 700;
  line-height: 1.10936;
  letter-spacing: 0.11em;
}
.ais-mv__copy-main span {
  background: #fff;
  display: inline-block;
  padding: 2vw 0.5vw 1vw;
  margin-left: 2vw;
}

.ais-mv__nav {
  position: absolute;
  width: min(95%, 82.13vw);
  margin-inline: auto;
  border-radius: 4.83vw;
  background: linear-gradient(95deg, #FDAC30 1.75%, #AECB85 100%);
  padding-block: 11.11vw;
  z-index: 11;
  bottom: -82.5vw;
  left: 50%;
  transform: translateX(-50%);
}
.ais-mv__nav::before {
  position: absolute;
  content: "";
  border-radius: 3.86vw;
  border: 0.2vw solid #FFF;
  inset: 2.90vw;
}
.ais-mv__nav-ttl {
  color: #FFF;
  text-align: center;
  font-size:5.797vw;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.08em;
  margin-bottom: 3.86vw;
}
.ais-mv__nav-list {
  display: grid;
  gap: 3.86vw;
  position: relative;
}
.ais-mv__nav-item {
  display: flex;
  width: 65.70vw;
  height: 17.39vw;
  padding: 5.80vw;
  gap: 1.72vw;
  border-radius: 38.65vw;
  background: #FFF;
  box-shadow: 0 3.2px 12.8px 0 rgba(61, 61, 61, 0.20);
  transition: opacity 0.2s ease, transform 0.2s ease;
  align-items: center;
  position: relative;
  margin-inline: auto;
}
.ais-mv__nav-item::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.90vw;
  background: url(../images/common/btn-arrow-b.svg) no-repeat center center / contain;
  width: 5.31vw;
  height: 5.31vw;
}
.ais-mv__nav-item:hover {
  opacity: 0.88;
  text-decoration: none;
  transform: translateY(-1px);
}
.ais-mv__nav-icon {
  width: 5.80vw;
  height: 5.80vw;
}
.ais-mv__nav-txt {
  text-align: center;
  font-size:3.865vw;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: 0.1em;
}
.ais-mv__wav {
  position: relative;
  z-index: 2;
  line-height: 0;
  margin-bottom: -5.80vw;
  order: 3;
}
.ais-mv__wav svg {
  display: block;
  width: 100%;
  height: auto;
}


/* MV：blob・写真のふわっと表示 */
@keyframes ais-mv-reveal {
  0% {
    opacity: 0;
    transform: translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes ais-mv-reveal-center {
  0% {
    opacity: 0;
    transform: translateX(-50%) translateY(24px);
  }
  100% {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
.ais-mv__blob {
  opacity: 0;
  animation: ais-mv-reveal 2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.ais-mv__blob--01 {
  animation-delay: 0.2s;
}
.ais-mv__blob--02 {
  animation-delay: 0.45s;
}
.ais-mv__blob--03 {
  animation-delay: 0.7s;
}
.ais-mv__blob--04 {
  animation-delay: 0.95s;
}
.ais-mv__blob--05 {
  animation-name: ais-mv-reveal-center;
  animation-delay: 0.35s;
}
.ais-mv__deco-photo,
.ais-mv__main,
.ais-mv__photo {
  opacity: 0;
  animation: ais-mv-reveal 2s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.ais-mv__deco-photo--tl {
  animation-delay: 0.8s;
}
.ais-mv__deco-photo--br {
  animation-delay: 1.3s;
}
.ais-mv__main {
  animation-delay: 0.9s;
}
.ais-mv__photo--01 {
  animation-delay: 1.05s;
}
.ais-mv__photo--02 {
  animation-delay: 1.3s;
}
.ais-mv__photo--03 {
  animation-delay: 1.55s;
}
@media (prefers-reduced-motion: reduce) {
  .ais-mv__blob,
  .ais-mv__deco-photo,
  .ais-mv__main,
  .ais-mv__photo {
    animation: none;
    opacity: 1;
    transform: none;
  }
  .ais-mv__blob--05 {
    transform: translateX(-50%);
  }
}

/* ========================================
  PROMISE
======================================== */
.ais-promise {
  position: relative;
  margin-top: -18vw;
  background: transparent;
}
.ais-promise::before {
  content: "";
  position: absolute;
  inset: 0;
  background: #FEE8B8;
  z-index: 1;
}

/* PROMISE：吹き出しのふわっと表示 */
.ais-promise__visual .fukidashi {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 2s cubic-bezier(0.22, 1, 0.36, 1), transform 2s cubic-bezier(0.22, 1, 0.36, 1);
}
.ais-promise__visual .fukidashi.is-inview {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .ais-promise__visual .fukidashi {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.ais-promise__inner {
  position: relative;
  z-index: 4;
  width: min(95%, 82.13vw);
  margin-inline: auto;
  display: grid;
  gap: 0 4.268vw;
  padding-block: 120vw 14vw;
}
.ais-promise__content {
  display: contents;
}
.ais-promise__en {
  order: 1;
}
.ais-promise__ttl {
  order: 2;
}
.ais-promise__sub {
  order: 3;
  margin-bottom: 33.54vw;
}
.ais-promise__list {
  display: grid;
  order: 5;
}
.ais-promise__item {
  border-bottom: 0.17vw dashed #3D3D3D;
}
.ais-promise__item:first-child {
  border-top: 0.17vw dashed #3D3D3D;
}
.ais-promise__link {
  font-size:3.865vw;
  font-weight: 700;
  line-height: 1.38125;
  letter-spacing: 0.1em;
  text-decoration: none;
  position: relative;
  transition: opacity 0.2s ease;
  display: flex;
  align-items: center;
  padding-block: 3.85vw;
  gap: 0 3.34vw;
  padding-right: 8.95vw;
}
.ais-promise__link:hover {
  opacity: 0.75;
  text-decoration: none;
}
.ais-promise__link::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: 5.31vw;
  height: 5.31vw;
  background: url(../images/common/btn-arrow-b.svg) no-repeat center center / contain;
}
.ais-promise__num {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 9.66vw;
  height: 9.90vw;
  border-radius: 50%;
  background: #ED6C00;
  color: #FFF;
  text-align: center;
  font-size:3.382vw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.04em;
}
.ais-promise__visual {
  position: relative;
  line-height: 0;
  order: 4;
  margin-bottom: 8.70vw;
}
.ais-promise__visual picture,
.ais-promise__visual img {
  display: block;
  width: 100%;
  height: auto;
  position: relative;
  z-index: 1;
}
.ais-promise__visual .fukidashi {
  position: absolute;
  top: -28vw;
  right: 0;
  width: 63.29vw;
  z-index: 2;
}
.ais-promise__visual .fukidashi img {
  display: block;
  width: 100%;
  height: auto;
}
.ais-promise__wave {
  position: absolute;
  z-index: 2;
  width: 100%;
  line-height: 0;
  overflow: visible;
  pointer-events: none;
}
.ais-promise__wave-svg,
.ais-promise__wave-static {
  margin-top: -1px;
}
.ais-promise__wave-svg {
  display: block;
  width: 100%;
  height: auto;
}
.ais-promise__wave-static {
  display: none;
  width: 100%;
  height: auto;
}
@media (prefers-reduced-motion: reduce) {
  .ais-promise__wave-svg--motion {
    display: none;
  }
  .ais-promise__wave-static {
    display: block;
  }
}

/* ========================================
  WORKS
======================================== */
.ais-works {
  position: relative;
  background: #FFFBF1;
  margin-top: -10vw;
}
.ais-works__blob {
  position: absolute;
  display: block;
  line-height: 0;
}
.ais-works__blob svg {
  display: block;
  width: 100%;
  height: auto;
}
.ais-works__blob--01 {
  top: 19vw;
  left: -12vw;
  width: min(95%, 45.17vw);
  z-index: 1;
}
.ais-works__blob--02 {
  top: 335.31vw;
  right: -14.98vw;
  width: min(95%, 37.20vw);
}
.ais-works__blob--03 {
  bottom: -23vw;
  left: 0;
  width: min(95%, 64.98vw);
}

/* WORKS：blobのふわっと表示 */
.ais-works__blob {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 2s cubic-bezier(0.22, 1, 0.36, 1), transform 2s cubic-bezier(0.22, 1, 0.36, 1);
}
.ais-works__blob.is-inview {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .ais-works__blob {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.ais-works__inner {
  position: relative;
  width: min(95%, 82.13vw);
  margin-inline: auto;
  padding-block: 51vw 24.4vw;
}
.ais-works__en {
  text-align: center;
}
.ais-works__ttl {
  text-align: center;
  margin-bottom: 5vw;
}
.ais-works__sub {width: 75.85vw;margin-inline: auto;margin-bottom: 9.18vw;}
.ais-works .system-list {
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 7.25vw 0;
  margin-bottom: 10.14vw;
  position: relative;
  z-index: 2;
}
.ais-works .system-list li a:hover {
  text-decoration: none;
}
.ais-works .system-list li .system-pic {
  margin-bottom: 5.80vw;
}
.ais-works .system-list li .system-pic img {
  width: 100%;
  height: 54.11vw;
  object-fit: cover;
}
.ais-works .system-list li .system-category {
  margin-bottom: 0.97vw;
}
.ais-works .system-list li .system-category span {
  color: var(--blue, #72C6C8);
  font-size:3.865vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  background: none;
  padding: 0;
  margin: 0;
}

.ais-works .system-list li .system-ttl-01 {
  font-size:4.348vw;
  font-weight: 500;
  line-height: 1.8889; 
  letter-spacing: 0.1em;
  margin-bottom: 3.86vw;
}
.ais-works .system-list li .system-comment {
  font-size:3.382vw;
  font-weight: 400;
  line-height: 1.71429;
  letter-spacing: 0.1em;
  display: -webkit-box;
  line-clamp: 3;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.ais-works__btn {
  position: relative;
  z-index: 3;
}
.ais-works__btn a {
  padding-block: 5.65vw;
}

/* ========================================
  ABOUT US
======================================== */
.ais-about {
  position: relative;
  background: #DE8B45;
  overflow: hidden;
  z-index: 2;
  border-radius: 9.66vw 9.66vw 0 0;
}
.ais-about::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(../images/index/about-bg_sp.png) no-repeat left top / contain;
  opacity: 0.22;
  pointer-events: none;
  z-index: 1;
}
.ais-about__header {
  display: contents;
}
.ais-about__inner {
  position: relative;
  z-index: 2;
  padding-block: 19.32vw 25.32vw;
  display: flex;
  flex-direction: column;
}
.ais-about__en {
  color: #FFF;
  text-align: center;
  order: 1;
}
.ais-about__ttl {
  color: #FFF;
  text-align: center;
  margin-bottom: 5vw;
  order: 2;
}
.ais-about__sub {
  color: #FFF;
  font-weight: 500;
  width: 75.60vw;
  margin-inline: auto;
  margin-bottom: 8.94vw;
  order: 3;
}
.ais-about__btn {
  margin-inline: auto;
  width: 77.29vw;
  order: 5;
}
.ais-about__btn a {
  text-align: center;
  font-size:3.865vw;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.1em;
  padding-block: 4.59vw;
}
.ais-about__btn a::after {
  width: 6.76vw;
  height: 6.76vw;
  right: 3.86vw;
}
.ais-about__members {
  display: flex;
  flex-direction: column;
  gap: 9.5vw;
  width: 100%;
  margin-bottom: 7.5vw;
  order: 4;
}
.ais-about__card--featured {
  padding: 9.66vw 4.83vw;
  border-radius: 4.83vw;
  background: #FFF;
  width: 91.79vw;
  margin-inline: auto;
}
.ais-about__card-photo {
  margin-bottom: 5.80vw;
  line-height: 0;
}
.ais-about__card-photo picture,
.ais-about__item-photo picture {
  display: block;
  width: 100%;
}
.ais-about__card-photo picture,
.ais-about__card-photo img {
  display: block;
  width: 100%;
  height: 45.89vw;
  object-fit: cover;
  border-radius: 2.42vw;
}
.ais-about__card-role {
  color: var(--orange, #ED6C00);
  font-size:3.382vw;
  font-weight: 400;
  line-height: 1.14286;
  letter-spacing: 0.1em;
  margin-bottom: 1.2vw;
}
.ais-about__card-name {
  font-size:4.831vw;
  font-weight: 500;
  line-height: 1.7;
  letter-spacing: 0.1em;
  margin-bottom: 3.86vw;
}
.ais-about__card-txt {
  font-size:3.382vw;
  font-weight: 400;
  line-height: 1.71429;
  letter-spacing: 0.1em;
  margin-bottom: 6.28vw;
}
.ais-about__card-btn {
  width: 72.46vw;
  margin-inline: auto;
}
.ais-about__card-btn a {
  border-radius: 48.31vw;
  background: var(--orange, #ED6C00);
  box-shadow: 0 8px 16px 0 rgba(61, 61, 61, 0.14);
  color: #FFFFFF;
  position: relative;
}
.ais-about__card-btn a:hover {
  opacity: 0.85;
  text-decoration: none;
}
.ais-about__card-btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 8.70vw;
  width: 4.83vw;
  height: 4.83vw;
  background: url(../images/common/btn-arrow-w.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}
.ais-about__list {
  margin: 0;
  padding: 0;
  list-style: none;
  width: 100%;
}
.ais-about__list-wrap {
  position: relative;
  width: 100%;
  margin-inline: auto;
}
.ais-about__list.slick-initialized {
  display: block;
  width: 100%;
}
.ais-about__list:not(.slick-initialized) {
  display: flex;
  flex-direction: column;
  gap: 6.28vw;
}
.ais-about__list:not(.slick-initialized) .ais-about__item {
  width: 75.60vw;
  margin-inline: auto;
}
.ais-about__list .slick-list {
  overflow: hidden;
  width: 100%;
  margin: 0;
  padding: 0;
}
.ais-about__list.slick-initialized .slick-slide {
  width: 77.29vw;
  height: auto;
  margin: 0 1.93vw;
}
.ais-about__list.slick-initialized .slick-slide > div {
  height: 100%;
}
.ais-about__list .slick-slide > div,
.ais-about__list .ais-about__item {
  width: 75.60vw;
  height: 100%;
}
.ais-about__list .slick-prev,
.ais-about__list .slick-next {
  width: 12.56vw;
  height: 12.56vw;
  z-index: 3;
  transform: translateY(-50%);
  top: 50.5%;
}
.ais-about__list .slick-prev {
  left: 3.5vw;
}
.ais-about__list .slick-next {
  right: 4vw;
}
.ais-about__list .slick-prev:before,
.ais-about__list .slick-next:before {
  content: none;
}
.ais-about__list .slide-arrow {
  display: block;
  width: 100%;
  height: auto;
}
.ais-about__item-link {
  display: block;
  height: 100%;
  padding: 9.66vw;
  border-radius: 4.83vw;
  background: #FFF;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.ais-about__item-link:hover {
  opacity: 0.88;
  text-decoration: none;
}
.ais-about__item-photo {
  margin-bottom: 5.80vw;
  line-height: 0;
}
.ais-about__item-photo picture,
.ais-about__item-photo img {
  display: block;
  width: 100%;
  height: 53.14vw;
  object-fit: cover;
  border-radius: 2.42vw;
}
.ais-about__item-role {
  color: var(--orange, #ED6C00);
  font-size:3.865vw;
  font-weight: 400;
  line-height: 1;
  letter-spacing: 0.1em;
  margin-bottom: 1.93vw;
}
.ais-about__item-name {
  font-size:5.797vw;
  font-weight: 500;
  line-height: 1.41667;
  letter-spacing: 0.1em;
}

/* ========================================
  WELCOME
======================================== */
.ais-welcome {
  position: relative;
  margin-top: -5.556vw;
  background: #FDD37D;
}
.ais-welcome__wave {
  position: relative;
  z-index: 2;
  width: 100%;
  line-height: 0;
  margin-bottom: -5.167vw;
  overflow: hidden;
  pointer-events: none;
}
.ais-welcome__wave-svg {
  display: block;
  width: 100%;
  height: auto;
}
.ais-welcome__wave-static {
  display: none;
  width: 100%;
  height: auto;
}
@media (prefers-reduced-motion: reduce) {
  .ais-welcome__wave-svg--motion {
    display: none;
  }
  .ais-welcome__wave-static {
    display: block;
  }
}
.ais-welcome__blob {
  position: absolute;
  display: block;
  line-height: 0;
  pointer-events: none;
  z-index: 3;
}
.ais-welcome__blob svg {
  display: block;
  width: 100%;
  height: auto;
}
.ais-welcome__blob--01 {
  top: 8vw;
  left: -0.62vw;
  width: min(95%, 41.06vw);
}
.ais-welcome__blob--02 {
  top: 134.64vw;
  right: -7.06vw;
  width: min(95%, 45.89vw);
}

/* WELCOME：blobのふわっと表示 */
.ais-welcome__blob {
  opacity: 0;
  transform: translateY(24px);
  transition: opacity 2s cubic-bezier(0.22, 1, 0.36, 1), transform 2s cubic-bezier(0.22, 1, 0.36, 1);
}
.ais-welcome__blob.is-inview {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .ais-welcome__blob {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

.ais-welcome__inner {
  position: relative;
  z-index: 3;
  width: min(95%, 91.79vw);
  margin-inline: auto;
  padding-block: 13.9vw 14.5vw;
  display: grid;
}
.ais-welcome__visual {
  order: 4;
  margin-bottom: 8.21vw;
}
.ais-welcome__visual picture,
.ais-welcome__visual img {
  display: block;
  width: 100%;
  height: auto;
}
.ais-welcome__content {
  display: contents;
}
.ais-welcome__lead {
  text-align: center;
  margin-bottom: 4.29vw;
  order: 1;
}
.ais-welcome__lead img {
  width: 85.27vw;
}
.ais-welcome__en {
  color: #FFF;
  text-align: center;
  font-size: 15.28vw;
  font-weight: 500;
  line-height: 0.98889;
  letter-spacing: 0.04em;
  margin-bottom: 5.2vw;
  order: 2;
}
.ais-welcome__ttl {
  color: #FFF;
  text-align: center;
  font-size:6.28vw;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0.13em;
  position: relative;
  order: 3;
}
.ais-welcome__ttl .line {
  display: inline-block;
  position: relative;
  margin-bottom: 4.29vw;
  padding-bottom: 4.5vw;
}
.ais-welcome__ttl .line::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 50.72vw;
  height: 0.55vw;
  background: #FFF;
  transform: translateX(-50%);
}
.ais-welcome__ttl .line:nth-child(2) {
  margin-bottom: 7.39vw;
}
.ais-welcome__ttl .line:nth-child(2)::after {
  width: 72.46vw;
}
.ais-welcome__ttl .orange {
  color: var(--orange, #ED6C00);
}
.ais-welcome__sub {
  font-size:4.348vw;
  font-weight: 500;
  line-height: 1.77778;
  letter-spacing: 0.1em;
  margin-bottom: 6.52vw;
  order: 5;
  width: 82.13vw;
  margin-inline: auto;
}
.ais-welcome__btns {
  display: grid;
  gap: 1.80vw;
  width: min(100%, 89.86vw);
  margin-inline: auto;
  order: 6;
}
.ais-welcome__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.70vw;
  text-align: center;
  color: #FFF;
  text-align: center;
  font-size: 4.49vw;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.02em;
  border-radius: 2.25vw;
  padding: 5.19vw 20.97vw 5.19vw 17.97vw;
  text-decoration: none;
  position: relative;
  transition: opacity 0.2s ease;
}
.ais-welcome__btn:hover {
  opacity: 0.85;
  text-decoration: none;
}
.ais-welcome__btn:hover img {
  opacity: 1;
}
.ais-welcome__btn img {
  width: 11.35vw;
  height: auto;
  flex-shrink: 0;
}
.ais-welcome__btn--mail {
  background: #ED6C00;
  color: #FFF;
}
.ais-welcome__btn--mail::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 13.84vw;
  width: 4.59vw;
  height: 4.59vw;
  background: url(../images/common/btn-arrow-w.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}
.ais-welcome__btn--line {
  background: #FFF;
  color: #06C755;
  padding: 5.19vw 24.97vw 5.19vw 17.97vw;
}
.ais-welcome__btn--line::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 17.77vw;
  width: 4.59vw;
  height: 4.59vw;
  background: url(../images/common/btn-arrow-g.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}

/* ========================================
  CONCEPT
======================================== */
.ais-concept {
  background: url(../images/index/concept-bg_sp.jpg) no-repeat top center / cover;
}
.ais-concept__inner {
  padding-block: 24.15vw 25.60vw;
}
.ais-concept__header {
  text-align: center;
  margin-bottom: 9.66vw;
  width: min(95%, 82.13vw);
  margin-inline: auto;
}
.ais-concept__en {
  color: var(--orange, #ED6C00);
  text-align: center;
  font-size:5.797vw;
  font-weight: 500;
  line-height: 1; 
  letter-spacing: 0.04em;
  margin-bottom: 5.80vw;
}
.ais-concept__preface {
  text-align: center;
  font-size:6.28vw;
  font-weight: 700;
  line-height: 1.84615;
  letter-spacing: 0.1em;
}
.ais-concept__catch {
  font-size:6.28vw;
  font-weight: 700;
  line-height: 1.84615;
  letter-spacing: 0.1em;
  margin-bottom: 4.83vw;
}
.ais-concept__catch span {
  color: #F2486D;
}
.ais-concept__sub {
  font-size:3.865vw;
  font-weight: 700;
  line-height: 2;
  letter-spacing: 0.1em;
  text-align: left;
  margin-bottom: 9.66vw;
}
.ais-concept__body {
  display: grid;
  gap: 9.66vw 0;
}
.ais-concept__content {
  order: 2;
}
.ais-concept__ttl {
  color: var(--orange, #ED6C00);
  font-size:5.797vw;
  font-weight: 700;
  line-height: 1.75;
  letter-spacing: 0.1em;
  margin-bottom: 4.35vw;
  padding-inline: 8.94vw 0;
}
.ais-concept__txt {
  font-size:3.382vw;
  font-weight: 500;
  line-height: 2;
  letter-spacing: 0.1em;
  margin-bottom: 6.76vw;
  width: min(95%, 82.13vw);
  margin-inline: auto;
}
.ais-concept__visual {
  order: 1;
  width: min(95%, 82.13vw);
  margin-inline: auto;
}
.ais-concept__visual img {
  width: 100%;
  height: auto;
}
.ais-concept__btn {
  width: 77.29vw;
  margin-inline: auto;
}
.ais-concept__btn a {
  text-align: center;
  font-size:3.865vw;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.1em;
  padding-block: 4.59vw;
}
.ais-concept__btn a::after {
  width: 6.76vw;
  height: 6.76vw;
  right: 3.86vw;
}

/* ========================================
  COMPANY
======================================== */
.ais-company {
  position: relative;
  z-index: 2;
  margin-top: -8.21vw;
  padding-block: 0 19.32vw;
}
.ais-company__inner {
  width: min(95%, 91.79vw);
  margin-inline: auto;
  padding-block: 14.49vw;
  border-radius: 9.66vw;
  background: #FFF;
  display: grid;
}
.ais-company__header {
  display: contents;
}
.ais-company__ttl-wrap {
  order: 1;
  margin-bottom: 5.8vw;
}
.ais-company__en {
  text-align: center;
  margin-bottom: 1.81vw;
}
.ais-company__ttl {
  text-align: center;
  margin-bottom: 0.6vw;
}
.ais-company__btn {
  order: 3;
  width: 77.29vw;
  margin-inline: auto;
}
.ais-company__btn a {
  border-radius: 48.31vw;
  background: var(--orange, #ED6C00);
  box-shadow: 0 8px 16px 0 rgba(61, 61, 61, 0.14);
  color: #FFFFFF;
  text-align: center;
  font-size:3.865vw;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.1em;
  padding-block: 4.59vw;
  padding-inline: 0 9vw;
}
.ais-company__btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 9.66vw;
  width: 5.80vw;
  height: 5.80vw;
  background: url(../images/common/btn-arrow-w.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}
.ais-company__list {
  order: 2;
  width: 82.13vw;
  margin-inline: auto;
  margin-bottom: 9.66vw;
}
.ais-company__item {
  display: grid;
  gap: 3.38vw 0;
  padding-block: 3.8vw;
  border-bottom: 0.2vw solid #BFBFBF;
}
.ais-company__item:first-child {
  border-top: 0.2vw solid #BFBFBF;
}
.ais-company__term,
.ais-company__desc {
  margin: 0;
  font-size:3.865vw;
  font-weight: 500;
  line-height: 1.75; 
  letter-spacing: 0.1em;
}
.ais-company__term {
  font-weight: 700;
}

/* ========================================
  FAQ
======================================== */
.ais-faq__inner {
  position: relative;
  z-index: 2;
  width: min(95%, 91.79vw);
  margin-inline: auto;
  display: grid;
  gap: 0.56vw 0;
  padding-bottom: 35.05vw;
}
.ais-faq__en {
  margin-bottom: 1.95vw;
}
.ais-faq__ttl-wrap {
  text-align: center;
}
.ais-faq__list {
  display: grid;
  gap: 3.86vw 0;
  margin-bottom: 3.86vw;
}
.ais-faq__item {
  border-radius: 2.42vw;
  background: var(--beige, #FEE8B8);
  overflow: hidden;
  padding: 5.80vw 7.3vw 5.80vw 4.8vw;
}
.ais-faq__summary {
  display: grid;
  grid-template-columns: 4.83vw 1fr 6.04vw;
  gap: 0 3.86vw;
  align-items: flex-start;
  cursor: pointer;
  list-style: none;
}
.ais-faq__summary::-webkit-details-marker {
  display: none;
}
.ais-faq__summary::marker {
  content: "";
}
.ais-faq__q {
  font-size:4.831vw;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
}
.ais-faq__question {
  font-size:3.865vw;
  font-weight: 500;
  line-height: 1.875;
  letter-spacing: 0.005em;
}
.ais-faq__toggle {
  position: relative;
  width: 4.83vw;
  height: 8.70vw;
  justify-self: end;
  flex-shrink: 0;
}
.ais-faq__toggle::before,
.ais-faq__toggle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  background: #3D3D3D;
  transform: translate(-50%, -50%);
  transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}
.ais-faq__toggle::before {
  width: 3.5vw;
  height: 0.2vw;
}
.ais-faq__toggle::after {
  width: 0.2vw;
  height: 3.38vw;
  transform: translate(-50%, -50%) scaleY(1);
  transform-origin: center center;
}
.ais-faq__item.is-active .ais-faq__toggle::after {
  transform: translate(-50%, -50%) scaleY(0);
}
.ais-faq__answer-wrap {
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
.ais-faq__item.is-active .ais-faq__answer-wrap {
  grid-template-rows: 1fr;
}
.ais-faq__answer {
  font-size:3.382vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.005em;
  display: grid;
  grid-template-columns: 4.59vw 1fr;
  gap: 0 3.86vw;
  padding: 0 7.25vw 0 0;
  min-height: 0;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    padding 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    visibility 0s linear 0.45s;
}
.ais-faq__item.is-active .ais-faq__answer {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  padding-top: 0vw;
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.12s,
    transform 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.12s,
    padding 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.12s,
    visibility 0s linear 0s;
}
.ais-faq__item.is-closing .ais-faq__answer {
  opacity: 0;
  visibility: visible;
  transform: translateY(0);
  padding-top: 0;
  transition:
    opacity 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.45s cubic-bezier(0.22, 1, 0.36, 1),
    padding 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}
@media (prefers-reduced-motion: reduce) {
  .ais-faq__answer-wrap {
    transition: none;
  }
  .ais-faq__answer {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition: none;
  }
  .ais-faq__item:not(.is-active) .ais-faq__answer {
    opacity: 0;
    visibility: hidden;
  }
  .ais-faq__item.is-active .ais-faq__answer {
    opacity: 1;
    visibility: visible;
  }
}
.ais-faq__a {
  font-size:4.831vw;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.1em;
  align-self: start;
}
.ais-faq__answer .wysiwyg {
  margin-bottom: 0;
  min-width: 0;
}
.ais-faq__answer .wysiwyg p {
  margin: 0;
  padding: 2vw 0 0;
  font-size: 3.382vw;
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.005em;
}
.ais-faq__answer .wysiwyg p:last-child {
  margin-bottom: 0;
}
.ais-faq__answer .wysiwyg > *:last-child {
  margin-bottom: 0;
}
.ais-faq__answer .wysiwyg p:empty {
  display: none;
}
.ais-faq__answer .wysiwyg p:has(> br:only-child) {
  display: none;
}
.ais-faq__btn {
  width: 77.29vw;
  margin-inline: auto;
}
.ais-faq__btn a {
  font-size:3.865vw;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.1em;
  padding-block: 4.59vw;
}
.ais-faq__btn a::after {
  background: url(../images/index/faq-open.svg) no-repeat center center / contain;
  width: 6.76vw;
  height: 6.76vw;
  right: 3.86vw;
}
.ais-faq__more-btn {
  width: 100%;
  text-align: center;
  font-size:3.865vw;
  font-weight: 500;
  line-height: 1.375;
  letter-spacing: 0.1em;
  color: #3D3D3D;
  -webkit-text-fill-color: #3D3D3D;
  display: block;
  border: none;
  border-radius: 200px;
  background: #FFF;
  box-shadow: 0 8px 16px 0 rgba(61, 61, 61, 0.14);
  padding-block: 4.59vw;
  position: relative;
  cursor: pointer;
  font-family: inherit;
  -webkit-appearance: none;
  appearance: none;
}
.ais-faq__more-btn::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 3.86vw;
  width: 6.76vw;
  height: 6.76vw;
  background: url(../images/index/faq-open.svg) no-repeat center center / contain;
  transform: translateY(-50%);
}
.ais-faq__more.is-hidden,
.ais-faq__list.is-expanded + .ais-faq__more {
  display: none !important;
}
.ais-faq__list:not(.is-expanded) .ais-faq__item--more {
  display: none;
}
.ais-faq__list.is-expanded .ais-faq__item--more {
  opacity: 0;
  transform: translateY(6.04vw);
  transition: opacity 0.8s ease, transform 0.8s ease;
}
.ais-faq__list.is-expanded .ais-faq__item--more.is-revealed {
  opacity: 1;
  transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
  .ais-faq__list.is-expanded .ais-faq__item--more,
  .ais-faq__list.is-expanded .ais-faq__item--more.is-revealed {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

}
