/* Great Attractor common bottom components
   Contact page only: SIMULATION / RECRUIT, banners, CONTACT and footer */

/*
 * Shared bottom components are owned by the global style.css.
 * Keep this legacy bundle inactive so the Contact page cannot override
 * the responsive rules used by the other pages.
 */
@media not all {

:root {
  --design-pc: 1440;
  --design-sp: 375;
}

/* Contact page: the fixed side banner is not displayed. */
.ga-sidebanner {
  display: none !important;
}

#fixed_bottom_banner {

  position: fixed;
  display: none;
  bottom: 0;
  left: 0;
  width: 100%;
  background: rgb(100,100,100,.7);
  z-index: 900;

}
#fixed_bottom_banner .flex {

  list-style: none;
  justify-content: center;
  margin-left: 0;
  margin-bottom: 0;
  padding: 15px;

}
#fixed_bottom_banner li {

  margin-right: 10px;
  font-size: 0;

}
#fixed_bottom_banner li:last-child {
 margin-right: 0; 
}
#fixed_bottom_banner img {

  object-fit: cover;
  width: auto;
  height: 75px;
  border-radius: 10px;

}
.pc #fixed_bottom_banner a:hover {

  color: #fff;
  background: #FC5D17;

}
@media screen and (max-width: 820px) {
#fixed_bottom_banner .flex {
 flex-wrap: nowrap; 
}
#fixed_bottom_banner img {

    object-fit: contain;
    width: auto;
    height: auto;
  
}
}
.ga-sidebanner {

  position: fixed;
  top: 50%;
  right: 0;
  z-index: 11900;
  width: 91px;
  transform: translateY(-50%);

}
.ga-sidebanner__link,
.ga-sidebanner__picture,
.ga-sidebanner__image {

  display: block;

}
.ga-sidebanner__link {

  text-decoration: none;

}
.ga-sidebanner__picture {

  width: 100%;

}
.ga-sidebanner__image {

  width: 100%;
  height: auto;

}
@media screen and (max-width: 820px) {
.ga-sidebanner {

    top: auto;
    right: clamp(8px, 2.7vw, 14px);
    bottom: calc(8px + env(safe-area-inset-bottom));
    left: clamp(8px, 2.7vw, 14px);
    width: auto;
    transform: none;
  
}
.ga-sidebanner__link {

    width: 100%;
  
}
body.ga-sp-fv-visible .ga-sidebanner {

    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(12px);
  
}
}
#fixed_bottom_banner {

  z-index: 11900;

}
@media screen and (min-width: 821px) {
html.is-ga-loading-active .ga-sidebanner,
  body.is-ga-loading-active .ga-sidebanner {

    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(-50% - 28px));
  
}
body.is-ga-loading-done .ga-sidebanner {

    animation: ga-sidebanner-drop-in 720ms cubic-bezier(0.16, 1, 0.3, 1) 380ms both;
  
}
}
@keyframes ga-sidebanner-drop-in {

  from {
    opacity: 0;
    transform: translateY(calc(-50% - 28px));
  }
  to {
    opacity: 1;
    transform: translateY(-50%);
  }

}
@media (prefers-reduced-motion: reduce) {
body.is-ga-loading-done #header .logo,
  body.is-ga-loading-done #global_nav_pc,
  body.is-ga-loading-done .ga-sidebanner {

    animation: none;
  
}
}
#footer.ga-footer {

  position: relative;
  z-index: 3;
  overflow: hidden;
  margin-left: calc(50% - 50vw);
  width: 100vw;
  min-height: 939px;
  color: #fff;
  background-color: #79a9b8;
  background-image:
    linear-gradient(180deg, rgba(36, 93, 112, 0.52) 0%, rgba(51, 101, 111, 0.28) 46%, rgba(13, 46, 60, 0.18) 100%),
    url("../../images/common/footer-bg.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;

}
#footer.ga-footer,
#footer.ga-footer * {

  box-sizing: border-box;

}
#footer.ga-footer p,
#footer.ga-footer ul,
#footer.ga-footer address {

  margin: 0;
  padding: 0;

}
#footer.ga-footer ul {

  list-style: none;

}
#footer.ga-footer a {

  color: inherit;
  text-decoration: none;

}
.pc #footer.ga-footer a:hover {

  opacity: 1;
  color: #15b9f5;

}
#footer.ga-footer .ga-footer__inner {

  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: min(100%, 1440px);
  min-height: 939px;
  margin: 0 auto;
  padding: 81px 20px 28px;

}
.ga-footer__top {

  display: flex;
  justify-content: space-between;
  gap: 64px;
  padding: 0 56px 0 48px;

}
.ga-footer__catch {

  flex: 0 0 auto;
  color: #fff;
  font-family: "Noto Sans JP", "Noto Sans Japanese", sans-serif;
  font-size: 50.5px;
  font-weight: 700;
  line-height: 68px;
  letter-spacing: 0;

}
.ga-footer__nav {

  display: grid;
  grid-template-columns: 164px 248px 184px;
  grid-template-rows: auto auto;
  column-gap: 44px;
  row-gap: 40px;
  align-items: start;
  width: min(100%, 720px);
  padding-top: 18px;

}
.ga-footer__nav-group--about {

  grid-column: 1;
  grid-row: 1;

}
.ga-footer__nav-group--personal {

  grid-column: 2;
  grid-row: 1;

}
.ga-footer__nav-group--corporate {

  grid-column: 2;
  grid-row: 2;

}
.ga-footer__nav-group--links {

  grid-column: 3;
  grid-row: 1 / span 2;

}
.ga-footer__nav-heading {

  position: relative;
  display: block;
  width: fit-content;
  margin-bottom: 0;
  color: #fff;
  font-family: "Noto Sans JP", "Noto Sans Japanese", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 16px;
  letter-spacing: 0;

}
a.ga-footer__nav-heading {

  display: inline-block;
  margin-bottom: 0;

}
.ga-footer__nav-list {

  display: grid;
  gap: 22px;

}
.ga-footer__nav-heading + .ga-footer__nav-list {

  padding-top: 30px;

}
.ga-footer__nav-list a {

  position: relative;
  display: inline-block;
  color: #fff;
  font-family: "Noto Sans JP", "Noto Sans Japanese", sans-serif;
  font-size: 15px;
  font-weight: 400;
  line-height: 16px;
  letter-spacing: 0;

}
.ga-footer__nav-list--primary {

  gap: 24px;

}
.ga-footer__nav-list--primary a {

  font-size: 18px;
  font-weight: 700;
  line-height: 16px;

}
#footer.ga-footer .ga-footer__nav-heading::after,
#footer.ga-footer .ga-footer__nav-list a::after {

  content: "";
  position: absolute;
  left: 0;
  bottom: -6px;
  width: 100%;
  height: 1px;
  background: currentColor;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.32s cubic-bezier(0.22, 0.61, 0.36, 1);
  pointer-events: none;

}
#footer.ga-footer .ga-footer__nav-heading:hover::after,
#footer.ga-footer .ga-footer__nav-list a:hover::after,
#footer.ga-footer .ga-footer__nav-list a:focus-visible::after {

  transform: scaleX(1);

}
.pc #footer.ga-footer .ga-footer__nav a:hover {

  color: #fff;

}
@media screen and (min-width: 821px) {
#footer.ga-footer .ga-footer__nav-heading {

    display: block;
    margin-bottom: 0;
  
}
#footer.ga-footer a.ga-footer__nav-heading {

    display: inline-block;
    margin-bottom: 0;
  
}
#footer.ga-footer .ga-footer__nav-list {

    gap: 15px;
    padding-top: 0;
  
}
#footer.ga-footer .ga-footer__nav-heading + .ga-footer__nav-list {

    padding-top: 30px;
  
}
}
.pc #footer.ga-footer .ga-footer__nav-heading {

  display: block;
  margin-bottom: 0;
  line-height: 16px;

}
.pc #footer.ga-footer a.ga-footer__nav-heading {

  display: inline-block;
  margin-bottom: 0;

}
.pc #footer.ga-footer .ga-footer__nav-list {

  display: block;
  gap: 0;
  padding-top: 0;

}
.pc #footer.ga-footer .ga-footer__nav-heading + .ga-footer__nav-list {

  padding-top: 30px;

}
.pc #footer.ga-footer .ga-footer__nav-list > li {

  line-height: 0;

}
.pc #footer.ga-footer .ga-footer__nav-list > li + li {

  margin-top: 15px;

}
.pc #footer.ga-footer .ga-footer__nav-list--primary > li + li {

  margin-top: 0;

}
.pc #footer.ga-footer .ga-footer__nav-list--primary > li:nth-child(2) {

  margin-top: 22px;

}
.pc #footer.ga-footer .ga-footer__nav-list--primary > li:nth-child(3) {

  margin-top: 24px;

}
.pc #footer.ga-footer .ga-footer__nav-list--primary > li:nth-child(4) {

  margin-top: 23px;

}
.pc #footer.ga-footer .ga-footer__nav-list--primary > li:nth-child(5),
.pc #footer.ga-footer .ga-footer__nav-list--primary > li:nth-child(6) {

  margin-top: 25px;

}
.pc #footer.ga-footer .ga-footer__nav-list a {

  line-height: 16px;

}
.ga-footer__company {

  position: relative;
  container-type: inline-size;
  overflow: hidden;
  width: min(100%, 1400px);
  height: 72px;
  min-height: 72px;
  margin-top: 80px;
  margin-right: auto;
  margin-left: auto;
  padding: 0 52px;
  border-radius: 10px;
  background-color: #15b9f5;
  transition: height 520ms cubic-bezier(0.22, 0.61, 0.36, 1), min-height 520ms cubic-bezier(0.22, 0.61, 0.36, 1), padding 520ms cubic-bezier(0.22, 0.61, 0.36, 1);

}
.ga-footer__company.is-expanded {

  height: 260px;
  min-height: 260px;
  padding: 43px 52px 28px;

}
.ga-footer__company::before,
.ga-footer__company::after {

  content: "";
  position: absolute;
  pointer-events: none;
  width: clamp(108px, 10.19279cqw, 142.699px);
  height: clamp(410px, 38.68729cqw, 541.622px);
  border: clamp(7px, 0.71429cqw, 10px) solid #2ebef3;
  border-radius: 50%;
  background-color: #15b9f5;

}
.ga-footer__company::before {

  left: clamp(670px, 67.85714cqw, 950px);
  top: clamp(-8px, -0.57143cqw, -5px);
  transform: rotate(-45deg);

}
.ga-footer__company::after {

  right: clamp(110px, 20.71429cqw, 290px);
  top: clamp(-128px, -9.14286cqw, -92px);
  transform: rotate(45deg);

}
.ga-footer__brand,
.ga-footer__company-name,
.ga-footer__address,
.ga-footer__bottom {

  position: relative;
  z-index: 1;
  color: inherit;
  text-decoration: none;

}
.ga-footer__brand,
.ga-footer__company-name,
.ga-footer__address,
.ga-footer__bottom {

  opacity: 0;
  pointer-events: none;
  transform: translateY(12px);
  transition: opacity 320ms ease 120ms, transform 420ms cubic-bezier(0.22, 0.61, 0.36, 1) 80ms;

}
.ga-footer__company.is-expanded .ga-footer__brand,
.ga-footer__company.is-expanded .ga-footer__company-name,
.ga-footer__company.is-expanded .ga-footer__address,
.ga-footer__company.is-expanded .ga-footer__bottom {

  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);

}
.ga-footer__brand {

  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;

}
.ga-footer__brand-mark {

  display: inline-block;
  width: 36px;
  height: 36px;
  flex: 0 0 36px;
  background-image: url("../../images/common/logo-mark.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: brightness(0) invert(1);

}
.ga-footer__brand-text {

  display: block;
  width: 196.435px;
  height: 21.913px;
  flex: 0 1 auto;
  overflow: hidden;
  color: transparent;
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
  background: url("../../images/common/logo-text.svg") left center / contain no-repeat;
  filter: brightness(0) invert(1);

}
.ga-footer__company-name {

  margin-top: 26px !important;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;

}
.ga-footer__address {

  display: block;
  margin-top: 13px !important;
  color: #fff;
  font-size: 15px;
  font-style: normal;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: 0.04em;

}
.ga-footer__to-top {

  position: absolute;
  z-index: 2;
  --ga-footer-to-top-icon-size: calc(100% * 16 / 84);
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 56px;
  height: 56px;
  border-radius: 10px;
  background-color: #fff;
  color: #313131 !important;
  font-size: 12px;
  line-height: 1;
  opacity: 1;
  overflow: hidden;
  transform: none;
  transition:
    top 520ms cubic-bezier(0.22, 0.61, 0.36, 1),
    right 520ms cubic-bezier(0.22, 0.61, 0.36, 1),
    width 520ms cubic-bezier(0.22, 0.61, 0.36, 1),
    height 520ms cubic-bezier(0.22, 0.61, 0.36, 1);

}
.ga-footer__to-top span {

  display: none;

}
.ga-footer__to-top::before {

  content: "";
  position: absolute;
  left: calc(50% - (var(--ga-footer-to-top-icon-size) / 2));
  top: calc(50% - (var(--ga-footer-to-top-icon-size) / 2));
  width: var(--ga-footer-to-top-icon-size);
  height: var(--ga-footer-to-top-icon-size);
  aspect-ratio: 1 / 1;
  background-color: #313131;
  clip-path: polygon(50% 0, 0 100%, 100% 100%);
  pointer-events: none;

}
.ga-footer__company.is-expanded .ga-footer__to-top {

  opacity: 1;

}
.pc #footer.ga-footer .ga-footer__to-top:hover,
.pc #footer.ga-footer .ga-footer__to-top:focus-visible {

  top: 0;
  right: 0;
  width: 84px;
  height: 84px;
  transform: none;

}
.ga-footer__bottom {

  position: absolute;
  right: 40px;
  bottom: 28px;
  display: flex;
  align-items: center;
  gap: 38px;
  color: #fff;

}
.ga-footer__bottom a,
.ga-footer__bottom small {

  color: #fff;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0.03em;

}
@media screen and (max-width: 820px) {
#footer.ga-footer {

    min-height: auto;
  
}
#footer.ga-footer .ga-footer__inner {

    min-height: auto;
    padding: 64px 20px 80px;
  
}
.ga-footer__top {

    display: block;
    padding: 0;
  
}
.ga-footer__catch {

    font-size: 38px;
    line-height: 1.28;
  
}
.ga-footer__nav {

    grid-template-columns: 1fr 1fr;
    column-gap: 34px;
    row-gap: 32px;
    width: 100%;
    margin-top: 48px;
  
}
.ga-footer__nav-group--about,
  .ga-footer__nav-group--personal,
  .ga-footer__nav-group--corporate,
  .ga-footer__nav-group--links {

    grid-column: auto;
    grid-row: auto;
  
}
.ga-footer__company {

    height: auto;
    min-height: 230px;
    margin-top: 56px;
    padding: 34px 28px 72px;
  
}
.ga-footer__company.is-expanded {

    height: auto;
    min-height: 230px;
    padding: 34px 28px 72px;
  
}
.ga-footer__brand,
  .ga-footer__company-name,
  .ga-footer__address,
  .ga-footer__bottom {

    opacity: 1;
    pointer-events: auto;
    transform: none;
  
}
.ga-footer__to-top {

    top: 20px;
    right: 20px;
    width: 48px;
    height: 48px;
  
}
.ga-footer__bottom {

    left: 28px;
    right: 28px;
    bottom: 28px;
    justify-content: space-between;
    gap: 20px;
  
}
}
@media screen and (max-width: 575px) {
#footer.ga-footer .ga-footer__inner {

    padding: 48px 16px 16px;
  
}
.ga-footer__catch {

    font-size: 30px;
  
}
.ga-footer__nav {

    grid-template-columns: 1fr;
    gap: 26px;
    margin-top: 40px;
  
}
.ga-footer__nav-heading {

    margin-bottom: 14px;
    font-size: 16px;
  
}
.ga-footer__nav-list,
  .ga-footer__nav-list--primary {

    gap: 10px;
  
}
.ga-footer__nav-list a {

    font-size: 14px;
  
}
.ga-footer__company {

    height: auto;
    min-height: 260px;
    margin-top: 42px;
    padding: 30px 20px 86px;
  
}
.ga-footer__company.is-expanded {

    height: auto;
    min-height: 260px;
    padding: 30px 20px 86px;
  
}
.ga-footer__brand-mark {

    width: 30px;
    height: 30px;
    flex-basis: 30px;
  
}
.ga-footer__brand-text {

    font-size: 24px;
  
}
.ga-footer__company-name,
  .ga-footer__address {

    font-size: 13px;
    line-height: 1.55;
  
}
.ga-footer__bottom {

    display: grid;
    gap: 8px;
  
}
}
@media screen and (max-width: 820px) {
#footer.ga-footer {

    background-position: center bottom;
  
}
}
@media screen and (max-width: 820px) {
.ga-footer__nav {

    grid-template-columns: minmax(0, 1fr);
    width: 100%;
  
}
.ga-footer__nav-group--about,
  .ga-footer__nav-group--personal,
  .ga-footer__nav-group--corporate,
  .ga-footer__nav-group--links {

    grid-column: auto;
    grid-row: auto;
  
}
}
@media screen and (max-width: 575px) {
#footer.ga-footer .ga-footer__inner {

    padding-bottom: calc(18px + env(safe-area-inset-bottom));
  
}
.ga-footer__nav-list a,
  .ga-footer__nav-list--primary a {

    line-height: 1.5;
  
}
.ga-footer__company {

    border-radius: 8px;
  
}
.ga-footer__to-top {

    top: 16px;
    right: 16px;
    width: 42px;
    height: 42px;
  
}
.ga-footer__bottom {

    left: 20px;
    right: 20px;
    bottom: 24px;
  
}
}
@media screen and (max-width: 390px) {
.ga-footer__brand {

    gap: 8px;
    max-width: calc(100% - 54px);
  
}
.ga-footer__brand-text {

    font-size: 22px;
  
}
.ga-footer__company {

    padding-right: 16px;
    padding-left: 16px;
  
}
}
@media screen and (max-width: 575px) {
#footer.ga-footer {

    min-height: auto;
    background-color: #79a9b8;
    background-image:
      linear-gradient(180deg, rgba(6, 24, 42, 0.28) 0%, rgba(6, 24, 42, 0.34) 48%, rgba(6, 24, 42, 0.28) 100%),
      linear-gradient(90deg, rgba(6, 24, 42, 0.24) 0%, rgba(6, 24, 42, 0.18) 58%, rgba(6, 24, 42, 0.12) 100%),
      url("../../images/common/footer-bg.png");
    background-position: center top;
  
}
#footer.ga-footer .ga-footer__inner {

    width: min(100%, 430px);
    padding: 56px 16px calc(22px + env(safe-area-inset-bottom));
  
}
.ga-footer__top {

    display: block;
  
}
.ga-footer__catch {

    max-width: 280px;
    font-size: clamp(28px, 8.2vw, 34px);
    line-height: 1.28;
    letter-spacing: 0.02em;
    text-shadow: 0 10px 28px rgba(0, 0, 0, 0.38);
  
}
.ga-footer__nav {

    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: start;
    column-gap: clamp(34px, 10vw, 56px);
    row-gap: 22px;
    width: 100%;
    margin-top: 32px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  
}
.ga-footer__nav-group {

    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
  
}
.ga-footer__nav-group + .ga-footer__nav-group {

    border-top: 0;
  
}
.ga-footer__nav-group--links {

    grid-column: 2;
    grid-row: 2 / span 2;
    align-self: start;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    backdrop-filter: none;
    width: auto;
  
}
.ga-footer__nav-group--about {

    grid-column: 1 / -1;
  
}
.ga-footer__nav-group--personal {

    grid-column: 1;
    grid-row: 2;
  
}
.ga-footer__nav-group--corporate {

    grid-column: 1;
    grid-row: 3;
    margin-top: 2px;
  
}
.ga-footer__nav-heading {

    display: block;
    margin: 0;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
    letter-spacing: 0.03em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.28);
  
}
.ga-footer__nav-group--about .ga-footer__nav-heading {

    position: relative;
    padding-right: 0;
  
}
.ga-footer__nav-group--about .ga-footer__nav-heading::after {

    display: none;
  
}
.ga-footer__nav-group--personal .ga-footer__nav-heading,
  .ga-footer__nav-group--corporate .ga-footer__nav-heading {

    display: block;
    padding-left: 0;
  
}
.ga-footer__nav-group--personal .ga-footer__nav-heading::before,
  .ga-footer__nav-group--corporate .ga-footer__nav-heading::before {

    display: none;
  
}
.ga-footer__nav-heading + .ga-footer__nav-list {

    padding-top: 13px;
  
}
.ga-footer__nav-list {

    display: grid;
    gap: 9px;
  
}
.ga-footer__nav-list a {

    display: inline-flex;
    align-items: center;
    gap: 0;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.55;
    letter-spacing: 0.03em;
    text-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
  
}
.ga-footer__nav-list a::before {

    display: none;
  
}
.ga-footer__nav-group--personal .ga-footer__nav-list a::before,
  .ga-footer__nav-group--corporate .ga-footer__nav-list a::before {

    content: "";
    display: inline-block;
    flex: 0 0 14px;
    width: 14px;
    height: 2px;
    margin-right: 7px;
    border-radius: 999px;
    background: #15b9f5;
  
}
.ga-footer__nav-list--primary {

    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    justify-content: start;
    gap: 13px;
    width: auto;
    padding-top: 0;
  
}
.ga-footer__nav-list--primary::before {

    display: none;
  
}
.ga-footer__nav-list--primary > li {

    min-width: 0;
  
}
.ga-footer__nav-list--primary a {

    display: inline-flex;
    justify-content: flex-start;
    width: auto;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.45;
    gap: 0;
    white-space: nowrap;
  
}
.ga-footer__nav-list--primary a::before {

    display: none;
  
}
.ga-footer__nav-list--primary a::after {

    display: none;
  
}
#footer.ga-footer .ga-footer__nav-heading {

    color: #fff;
  
}
#footer.ga-footer .ga-footer__nav-list a {

    color: #fff;
  
}
#footer.ga-footer .ga-footer__nav-list--primary a {

    color: #fff;
  
}
.ga-footer__company {

    height: auto;
    min-height: 214px;
    margin-top: 28px;
    margin-bottom: 0;
    padding: 28px 18px 22px;
    border: 0;
    border-radius: 10px;
    background: #15b9f5;
    box-shadow: none;
    transform: none;
    transition: none;
  
}
.ga-footer__company.is-expanded {

    height: auto;
    min-height: 214px;
    margin-bottom: 0;
    padding: 28px 18px 22px;
    transform: none;
  
}
.ga-footer__company::before,
  .ga-footer__company::after {

    width: 108px;
    height: 410px;
    border-width: 7px;
    border-color: #2ebef3;
    background-color: #15b9f5;
    opacity: 1;
  
}
.ga-footer__company::before {

    left: 92px;
    top: 56px;
    transform: rotate(-45deg);
  
}
.ga-footer__company::after {

    right: 82px;
    top: -82px;
    transform: rotate(45deg);
  
}
.ga-footer__brand {

    gap: 9px;
    max-width: calc(100% - 52px);
  
}
.ga-footer__brand,
  .ga-footer__company-name,
  .ga-footer__address,
  .ga-footer__bottom {

    opacity: 1;
    pointer-events: auto;
    transform: none;
    transition: none;
  
}
.ga-footer__company.is-expanded .ga-footer__brand,
  .ga-footer__company.is-expanded .ga-footer__company-name,
  .ga-footer__company.is-expanded .ga-footer__address,
  .ga-footer__company.is-expanded .ga-footer__bottom {

    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  
}
.ga-footer__brand-mark {

    width: 28px;
    height: 28px;
    flex-basis: 28px;
  
}
.ga-footer__brand-text {

    font-size: clamp(22px, 6.6vw, 27px);
  
}
.ga-footer__company-name {

    margin-top: 20px !important;
    font-size: 13px;
    line-height: 1.5;
  
}
.ga-footer__address {

    margin-top: 8px !important;
    font-size: 12px;
    line-height: 1.65;
  
}
.ga-footer__to-top {

    top: 13px;
    right: 14px;
    width: 46px;
    height: 46px;
    border-radius: 8px;
    color: #313131 !important;
  
}
.ga-footer__bottom {

    left: 18px;
    right: 18px;
    bottom: 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  
}
.ga-footer__bottom a,
  .ga-footer__bottom small {

    font-size: 11px;
    line-height: 1.4;
  
}
}
.ga-promo-banners,
.ga-contact {

  position: relative;
  z-index: 3;

}
.ga-promo-banners {

  margin-left: calc(50% - 50vw);
  width: 100vw;
  box-sizing: border-box;
  padding: 0 0 80px;
  background: #fff;

}
.ga-promo-banners__inner {

  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 1.875vw, 27px);
  width: min(calc(100% - clamp(32px, 4.16667vw, 60px)), 1380px);
  margin: 0 auto;

}
.ga-promo-banners__card {

  position: relative;
  container-type: inline-size;
  display: block;
  aspect-ratio: 443 / 178;
  overflow: hidden;
  box-sizing: border-box;
  border-radius: 10px;
  color: #000;
  text-decoration: none;

}
.ga-promo-banners__card::after {

  content: "";
  position: absolute;
  inset: 0;
  z-index: 4;
  background: rgba(0, 0, 0, 0.16);
  opacity: 0;
  transition: opacity 0.24s ease;
  pointer-events: none;

}
.ga-promo-banners__card:hover::after,
.ga-promo-banners__card:focus-visible::after {

  opacity: 1;

}
.ga-promo-banners__card--electric {

  background-image:
    linear-gradient(90deg, rgba(0,121,205,0.86) 0%, rgba(0,121,205,0.44) 50%, rgba(0,121,205,0.05) 100%),
    url("../../images/front/promo-solar.png");
  background-position: center;
  background-size: cover;

}
.ga-promo-banners__electric-copy {

  position: absolute;
  inset: 0;
  z-index: 1;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;
  text-align: center;
  text-shadow: 0 0 8px rgba(0,0,0,0.3);

}
.ga-promo-banners__electric-title {

  display: block;
  position: absolute;
  inset: 0;
  font-size: 0;
  line-height: 0;

}
.ga-promo-banners__electric-main,
.ga-promo-banners__electric-yen {

  position: absolute;
  top: clamp(30px, 8.33333cqw, 47px);
  font-size: clamp(30px, 8.92857cqw, 54px);
  line-height: clamp(30px, 8.92857cqw, 54px);
  letter-spacing: 0;
  white-space: nowrap;

}
.ga-promo-banners__electric-main {

  left: clamp(14px, 3.80952cqw, 24px);

}
.ga-promo-banners__electric-zero {

  position: absolute;
  left: clamp(212px, 57.85714cqw, 354px);
  top: clamp(5px, 1.42857cqw, 9px);
  font-size: clamp(58px, 17.38095cqw, 106px);
  line-height: clamp(58px, 17.38095cqw, 106px);
  letter-spacing: 0;
  white-space: nowrap;

}
.ga-promo-banners__electric-yen {

  left: clamp(254px, 68.57143cqw, 420px);

}
.ga-promo-banners__electric-lead {

  display: block;
  position: absolute;
  left: clamp(16px, 4.28571cqw, 26px);
  top: clamp(74px, 19.52381cqw, 118px);
  width: clamp(190px, 51.66667cqw, 316px);
  font-size: clamp(13px, 3.80952cqw, 22px);
  font-weight: 700;
  line-height: clamp(19px, 5.45635cqw, 32px);
  letter-spacing: 0;
  text-align: left;
  white-space: nowrap;

}
.ga-promo-banners__electric-lead-tight {

  letter-spacing: clamp(-6px, -1.14286cqw, -4px);

}
.ga-promo-banners__electric-sub {

  display: block;
  position: absolute;
  left: clamp(14px, 3.80952cqw, 24px);
  top: clamp(96px, 25.2381cqw, 154px);
  font-family: "A-OTF Gothic MB101 Pr5", "Noto Sans JP", sans-serif;
  font-size: clamp(19px, 5.61571cqw, 34px);
  font-weight: 700;
  line-height: clamp(25px, 7.42595cqw, 45px);
  letter-spacing: 0;
  white-space: nowrap;

}
.ga-promo-banners__more {

  --ga-promo-more-font-size: clamp(13px, 3.09524cqw, 19px);
  position: absolute;
  right: 0;
  bottom: -1px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 3px;
  height: clamp(23px, 5.47619cqw, 34px);
  padding: 0 clamp(7px, 1.66667cqw, 10px) 0 clamp(14px, 3.33333cqw, 20px);
  box-sizing: border-box;
  border-radius: 4px 0 10px 0;
  background: #f37135;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0;
  font-weight: 700;
  line-height: 0;
  white-space: nowrap;

}
.ga-promo-banners__more::before {

  
  content: none;

}
.ga-promo-banners__more::after {

  content: "";
  display: block;
  width: clamp(14px, 3.33333cqw, 20px);
  height: clamp(12px, 2.85714cqw, 17px);
  flex: 0 0 auto;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='17' viewBox='0 0 20 17' fill='none'%3E%3Cpath d='M2 8.5H16.5' stroke='white' stroke-width='1' stroke-linecap='round'/%3E%3Cpath d='M11 2.5L17 8.5L11 14.5' stroke='white' stroke-width='1' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;

}
.ga-promo-banners__card--paint {

  --ga-promo-paint-photo-w: 209px;
  background: #ccf0ec;

}
.ga-promo-banners__card--paint::before {

  content: "";
  position: absolute;
  top: 5px;
  right: 5px;
  z-index: 0;
  width: var(--ga-promo-paint-photo-w);
  height: 168px;
  box-sizing: border-box;
  border-radius: 10px;
  background: #fff url("../../images/front/promo-paint.png") center right / cover no-repeat;

}
.ga-promo-banners__paint-badge {

  position: absolute;
  left: 10px;
  top: 7px;
  z-index: 1;
  display: inline-grid;
  height: 30px;
  width: 207px;
  place-items: center;
  border-radius: 50px;
  background: #00ddc3;
  color: #313131;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1;

}
.ga-promo-banners__paint-copy {

  position: absolute;
  inset: 0;
  z-index: 1;
  color: #313131;
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 700;

}
.ga-promo-banners__paint-kicker {

  position: absolute;
  left: clamp(41px, 10.71429cqw, 65px);
  top: auto;
  bottom: 100px;
  display: inline-block;
  font-size: 26px;
  line-height: clamp(30px, 8.04238cqw, 49px);
  white-space: nowrap;

}
.ga-promo-banners__paint-kicker::before,
.ga-promo-banners__paint-kicker::after {

  content: "";
  position: absolute;
  top: clamp(14px, 3.80952cqw, 23px);
  width: clamp(28px, 7.66714cqw, 46px);
  height: clamp(2px, 0.47619cqw, 3px);
  background: #313131;
  transform-origin: center center;

}
.ga-promo-banners__paint-kicker::before {

  right: calc(100% - 1px);
  transform: rotate(64.23deg);

}
.ga-promo-banners__paint-kicker::after {

  left: calc(100% - 1px);
  transform: rotate(-64.23deg);

}
.ga-promo-banners__paint-main {

  display: block;
  position: absolute;
  left: clamp(20px, 5.47619cqw, 33px);
  top: auto;
  bottom: 54px;
  color: #119417;
  font-size: clamp(45px, 12.01476cqw, 73px);
  line-height: clamp(36px, 9.73095cqw, 59px);
  white-space: nowrap;

}
.ga-promo-banners__paint-sub {

  display: block;
  position: absolute;
  left: clamp(113px, 30.2381cqw, 184px);
  top: auto;
  bottom: 48px;
  margin-left: 0;
  color: #119417;
  font-size: 23px;
  line-height: clamp(22px, 5.69452cqw, 35px);
  white-space: nowrap;

}
.ga-promo-banners__paint-note {

  position: absolute;
  left: clamp(18px, 4.52381cqw, 28px);
  right: auto;
  bottom: 10px;
  top: auto;
  z-index: 1;
  display: block;
  min-height: 0;
  padding: 0;
  box-sizing: border-box;
  background: transparent;
  color: #313131;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 700;
  line-height: 16px;
  width: 14em;

}
.ga-promo-banners__card--electric .ga-promo-banners__more,
.ga-promo-banners__card--paint .ga-promo-banners__more {

  --ga-promo-more-font-size: 13px;
  right: 0;
  bottom: 0;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 4px;
  width: 128px;
  height: 23px;
  padding: 0 0 0 5px;
  border-radius: 4px 0 10px 0;
  color: #fff;
  font-family: "Noto Sans JP", sans-serif;
  font-size: var(--ga-promo-more-font-size);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;

}
.ga-promo-banners__card--electric .ga-promo-banners__more::before,
.ga-promo-banners__card--paint .ga-promo-banners__more::before {

  
  content: none;

}
.ga-promo-banners__card--electric .ga-promo-banners__more::after,
.ga-promo-banners__card--paint .ga-promo-banners__more::after {

  width: 8px;
  height: 9px;
  margin-left: -3px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='8' height='9' viewBox='0 0 8 9' fill='none'%3E%3Cpath d='M0 4.5H7.4' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.5 0.6L7.4 4.5L3.5 8.4' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");

}
.ga-promo-banners__card--soon {

  display: grid;
  place-items: center;
  background: #d9d9d9;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: clamp(12px, 3.80952cqw, 16px);
  font-weight: 500;
  line-height: 1;

}
.ga-promo-banners__card--soon {

  display: none !important;

}
.ga-promo-banners__inner {

  grid-template-columns: repeat(2, minmax(0, 1fr));
  width: min(calc(100% - clamp(32px, 4.16667vw, 60px)), calc(882px + clamp(16px, 1.875vw, 27px)));
  justify-content: center;

}
@media screen and (max-width: 820px) {
.ga-promo-banners {

    padding-bottom: 56px;
  
}
.ga-promo-banners__inner {

    grid-template-columns: 1fr;
    width: min(calc(100% - 20px), 355px);
    gap: 22px;
  
}
.ga-promo-banners__card {

    width: 100%;
    height: auto;
    aspect-ratio: 355 / 143.288;
  
}
.ga-promo-banners__paint-kicker {

    top: clamp(39px, 10.30714cqw, 63px);
    bottom: auto;
  
}
.ga-promo-banners__paint-sub {

    top: clamp(74px, 19.52381cqw, 118px);
    bottom: auto;
  
}
.ga-promo-banners__paint-main {

    top: clamp(75px, 19.7619cqw, 120px);
    bottom: auto;
  
}
.ga-promo-banners__paint-note {

    top: clamp(122px, 32.38095cqw, 197px);
    bottom: auto;
    font-size: clamp(12px, 3.33333cqw, 20px);
    line-height: clamp(14px, 3.78976cqw, 23px);
  
}
}
@media screen and (max-width: 575px) {
.ga-promo-banners {

    padding-bottom: 51px;
  
}
.ga-promo-banners__inner {

    width: min(calc(100% - 20px), 355px);
    gap: 22px;
  
}
.ga-promo-banners__electric-copy {

    inset: 0;
  
}
.ga-promo-banners__electric-main,
  .ga-promo-banners__electric-yen {

    top: clamp(32px, 9.04762cqw, 38px);
    font-size: clamp(26px, 7.14286cqw, 30px);
    line-height: clamp(26px, 7.14286cqw, 30px);
  
}
.ga-promo-banners__electric-main {

    left: clamp(14px, 3.80952cqw, 16px);
  
}
.ga-promo-banners__electric-zero {

    left: clamp(180px, 50.47619cqw, 212px);
    top: clamp(14px, 4.04762cqw, 17px);
    font-size: clamp(49px, 13.80952cqw, 58px);
    line-height: clamp(49px, 13.80952cqw, 58px);
  
}
.ga-promo-banners__electric-yen {

    left: clamp(216px, 60.47619cqw, 254px);
  
}
.ga-promo-banners__electric-lead {

    left: clamp(15px, 4.28571cqw, 18px);
    top: clamp(70px, 19.52381cqw, 82px);
    font-size: clamp(11px, 3.09524cqw, 13px);
  
}
.ga-promo-banners__electric-sub {

    left: clamp(14px, 3.80952cqw, 16px);
    top: clamp(90px, 25.2381cqw, 106px);
    font-size: clamp(16px, 4.52381cqw, 19px);
  
}
.ga-promo-banners__paint-badge {

    left: clamp(8px, 2.38095cqw, 10px);
    width: clamp(156px, 43.80952cqw, 184px);
    font-size: clamp(13px, 3.80952cqw, 16px);
  
}
.ga-promo-banners__card--paint::before {

    width: clamp(184px, 44.46809cqw, 209px);
  
}
.ga-promo-banners__paint-copy {

    inset: 0;
  
}
.ga-promo-banners__paint-kicker {

    left: clamp(35px, 9.7619cqw, 41px);
    font-size: clamp(19px, 5.47619cqw, 23px);
  
}
.ga-promo-banners__paint-main {

    left: clamp(17px, 4.7619cqw, 20px);
    font-size: clamp(38px, 10.71429cqw, 45px);
  
}
.ga-promo-banners__paint-sub {

    left: clamp(96px, 26.90476cqw, 113px);
    font-size: clamp(16px, 4.52381cqw, 19px);
    line-height: clamp(19px, 5.2381cqw, 22px);
  
}
.ga-promo-banners__paint-note {

    left: clamp(15px, 4.28571cqw, 18px);
    top: clamp(116px, 32.38095cqw, 136px);
    bottom: auto;
    padding: 0;
    font-size: clamp(10px, 2.85714cqw, 12px);
    width: 14em;
  
}
}
@media screen and (min-width: 821px) {
.ga-promo-banners {

    container-type: inline-size;
    padding-bottom: calc(80 / var(--design-pc) * 100cqw);
  
}
.ga-promo-banners__inner {

    grid-template-columns: repeat(2, minmax(0, calc(443 / var(--design-pc) * 100cqw)));
    gap: calc(27 / var(--design-pc) * 100cqw);
    width: calc(913 / var(--design-pc) * 100cqw);
    max-width: calc(100% - calc(60 / var(--design-pc) * 100cqw));
  
}
.ga-promo-banners__card {

    min-height: 0;
    border-radius: calc(10 / var(--design-pc) * 100cqw);
  
}
.ga-promo-banners__paint-badge {

    left: calc(10 / 443 * 100cqw);
    top: calc(7 / 443 * 100cqw);
    width: calc(207 / 443 * 100cqw);
    height: calc(30 / 443 * 100cqw);
    border-radius: calc(50 / 443 * 100cqw);
    font-size: calc(18 / 443 * 100cqw);
  
}
.ga-promo-banners__paint-kicker {

    left: 10.71429cqw;
    bottom: calc(100 / 443 * 100cqw);
    font-size: calc(26 / 443 * 100cqw);
    line-height: 8.04238cqw;
  
}
.ga-promo-banners__paint-kicker::before,
  .ga-promo-banners__paint-kicker::after {

    top: 3.80952cqw;
    width: 7.66714cqw;
    height: 0.47619cqw;
  
}
.ga-promo-banners__paint-main {

    left: 5.47619cqw;
    bottom: calc(54 / 443 * 100cqw);
    font-size: 12.01476cqw;
    line-height: 9.73095cqw;
  
}
.ga-promo-banners__paint-sub {

    left: 30.2381cqw;
    bottom: calc(48 / 443 * 100cqw);
    font-size: calc(23 / 443 * 100cqw);
    line-height: 5.69452cqw;
  
}
.ga-promo-banners__paint-note {

    left: calc(229 / 443 * 50cqw - 7em);
    bottom: calc(10 / 443 * 100cqw);
    font-size: max(14px, calc(14 / 443 * 100cqw));
    line-height: max(16px, calc(16 / 443 * 100cqw));
  
}
.ga-promo-banners__card--electric .ga-promo-banners__more,
  .ga-promo-banners__card--paint .ga-promo-banners__more {

    --ga-promo-more-font-size: max(14px, calc(14 / 443 * 100cqw));
    gap: max(4px, calc(4 / 443 * 100cqw));
    width: max(128px, calc(128 / 443 * 100cqw));
    height: max(23px, calc(23 / 443 * 100cqw));
    padding-left: max(5px, calc(5 / 443 * 100cqw));
    border-radius: max(4px, calc(4 / 443 * 100cqw)) 0 calc(10 / 443 * 100cqw) 0;
  
}
.ga-promo-banners__card--electric .ga-promo-banners__more::after,
  .ga-promo-banners__card--paint .ga-promo-banners__more::after {

    width: max(8px, calc(8 / 443 * 100cqw));
    height: max(9px, calc(9 / 443 * 100cqw));
    margin-left: min(-3px, calc(-3 / 443 * 100cqw));
  
}
}
.ga-promo-banners__card--paint::before {

  top: calc(5 / 443 * 100cqw);
  right: calc(5 / 443 * 100cqw);
  width: calc(209 / 443 * 100cqw);
  height: calc(168 / 443 * 100cqw);
  border-radius: calc(10 / 443 * 100cqw);

}
.ga-promo-banners__more::before {

  content: none !important;

}
@media screen and (max-width: 820px) {
.ga-promo-banners {

    padding-bottom: calc(56 / var(--design-sp) * 100vw);
  
}
.ga-promo-banners__inner {

    grid-template-columns: 1fr;
    width: min(calc(100% - calc(20 / var(--design-sp) * 100vw)), calc(355 / var(--design-sp) * 100vw));
    max-width: none;
    gap: calc(22 / var(--design-sp) * 100vw);
    padding-right: 0;
    padding-left: 0;
  
}
.ga-promo-banners__card {

    min-height: 0;
  
}
}
@media screen and (max-width: 575px) {
.ga-promo-banners {

    padding-bottom: calc(51 / var(--design-sp) * 100vw);
  
}
.ga-promo-banners__inner {

    width: calc(355 / var(--design-sp) * 100vw);
    max-width: calc(100% - calc(20 / var(--design-sp) * 100vw));
    gap: calc(22 / var(--design-sp) * 100vw);
  
}
.ga-promo-banners__more {

    display: inline-flex;
    align-items: center;
    color: #fff;
    font-family: "Noto Sans JP", sans-serif;
    font-size: var(--ga-promo-more-font-size, 13px);
    font-weight: 700;
    line-height: 13px;
    letter-spacing: 0;
    white-space: nowrap;
    overflow: hidden;
  
}
.ga-promo-banners__more::after {

    display: block;
    flex: 0 0 auto;
  
}
.ga-promo-banners__card--paint::before {

    top: calc(4 / var(--design-sp) * 100vw);
    right: calc(4 / var(--design-sp) * 100vw);
    width: calc(168.243 / var(--design-sp) * 100vw);
    height: calc(135.238 / var(--design-sp) * 100vw);
    border: 0;
    border-radius: calc(8.05 / var(--design-sp) * 100vw);
    background-color: #fff;
    background-size: cover;
  
}
.ga-promo-banners__paint-main {

    bottom: calc(63 / var(--design-sp) * 100vw);
    transform: translate(calc(5 / var(--design-sp) * 100vw), calc(-5 / var(--design-sp) * 100vw));
  
}
.ga-promo-banners__paint-sub {

    bottom: calc(57 / var(--design-sp) * 100vw);
    transform: translate(calc(5 / var(--design-sp) * 100vw), calc(-5 / var(--design-sp) * 100vw));
  
}
.ga-promo-banners__paint-note {

    --ga-promo-paint-note-area: calc(100cqw - calc(4 / var(--design-sp) * 100vw) - calc(168.243 / var(--design-sp) * 100vw));
    top: auto;
    bottom: calc(8 / 355 * 100cqw);
    left: calc(var(--ga-promo-paint-note-area) / 2);
    width: min(13em, var(--ga-promo-paint-note-area));
    text-align: left;
    font-size: max(10px, calc(14 / 443 * 100cqw));
    line-height: max(12px, calc(16 / 443 * 100cqw));
    letter-spacing: 0;
    transform: translateX(-50%);
  
}
.ga-promo-banners__paint-badge,
  .ga-promo-banners__paint-kicker {

    transform: translateX(calc(5 / var(--design-sp) * 100vw));
  
}
}
.ga-contact {

  margin-left: calc(50% - 50vw);
  width: 100vw;
  box-sizing: border-box;
  background-color: #fff;
  cursor: pointer;
  transition: background-color 300ms ease-out;
  border-top: 0;

}
.ga-contact__inner {

  position: relative;
  width: min(100%, 1440px);
  height: 338px;
  margin: 0 auto;

}
.ga-contact__link {

  position: absolute;
  inset: 0;
  display: block;
  color: inherit;
  text-decoration: none;

}
.ga-contact__link:focus-visible {

  outline: none;

}
.ga-contact__label {

  position: absolute;
  left: 80px;
  top: 101px;
  display: inline-flex;
  align-items: center;
  gap: 3.25px;
  margin: 0;
  color: #313131;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 14px;
  letter-spacing: 0.7px;
  white-space: nowrap;
  transition: color 300ms ease-out;

}
.ga-contact__mark {

  display: inline-block;
  width: 16.75px;
  height: 16.75px;
  flex: 0 0 16.75px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M0.727327 13.9818C-0.236973 13.0175 1.94836 9.26873 5.6084 5.60869C9.26845 1.94864 13.0172 -0.236689 13.9815 0.727612C14.9458 1.69191 12.7605 5.44068 9.10044 9.10073C5.4404 12.7608 1.69163 14.9461 0.727327 13.9818Z' stroke='%2315B9F5' stroke-miterlimit='10'/%3E%3Cpath d='M13.9817 13.9818C14.946 13.0175 12.7606 9.26873 9.10058 5.60869C5.44054 1.94864 1.69177 -0.236689 0.727466 0.727612C-0.236835 1.69191 1.9485 5.44068 5.60854 9.10073C9.26858 12.7608 13.0174 14.9461 13.9817 13.9818Z' stroke='%2315B9F5' stroke-miterlimit='10'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;

}
.ga-contact__title {

  position: absolute;
  left: 78px;
  top: 157px;
  margin: 0;
  color: #313131;
  font-family: "Google Sans Flex", "Outfit", sans-serif;
  font-size: 70px;
  font-weight: 400;
  line-height: 66px;
  letter-spacing: 0;
  transition: color 300ms ease-out;

}
.ga-contact__arrow {

  position: absolute;
  top: 149px;
  right: 78px;
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  overflow: hidden;
  box-sizing: border-box;
  border-radius: 5px;
  background: #fff;
  color: #313131;
  text-decoration: none;
  transition: color 300ms ease-out;

}
.ga-contact__arrow::before {

  content: "";
  position: absolute;
  inset: -1px 100% -1px auto;
  z-index: 0;
  width: calc(100% + 2px);
  border-radius: 5px;
  background: #15b9f5;
  transition: right 300ms ease-out;

}
.ga-contact__arrow-icon {

  position: relative;
  z-index: 1;
  display: block;
  width: 40px;
  height: 40px;

}
.ga-contact__arrow-line {

  stroke: currentColor;
  transition: stroke 300ms ease-out;

}
.ga-contact__arrow-rect {

  transition: stroke 300ms ease-out;

}
.ga-contact__arrow:hover,
.ga-contact__arrow:focus-visible {

  color: #fff;

}
.ga-contact:hover,
.ga-contact:focus-within {

  background-color: #0b1930;

}
.ga-contact:hover .ga-contact__label,
.ga-contact:focus-within .ga-contact__label,
.ga-contact:hover .ga-contact__title,
.ga-contact:focus-within .ga-contact__title {

  color: #fff;

}
.ga-contact__arrow:hover::before,
.ga-contact__arrow:focus-visible::before,
.ga-contact:hover .ga-contact__arrow::before,
.ga-contact:focus-within .ga-contact__arrow::before {

  right: -1px;

}
.ga-contact__arrow:hover .ga-contact__arrow-rect,
.ga-contact__arrow:focus-visible .ga-contact__arrow-rect,
.ga-contact:hover .ga-contact__arrow-rect,
.ga-contact:focus-within .ga-contact__arrow-rect {

  stroke: #15b9f5;

}
.ga-contact:hover .ga-contact__arrow,
.ga-contact:focus-within .ga-contact__arrow {

  color: #fff;

}
.ga-contact__arrow {

  touch-action: manipulation;
  background: #15b9f5;
  color: #fff;

}
.ga-contact__arrow::before,
.ga-contact__arrow::after {

  content: none;
  display: none;

}
.ga-contact__arrow-rect {

  fill: #15b9f5;
  stroke: #15b9f5;

}
.ga-contact__arrow-line {

  stroke: #fff;

}
@media screen and (max-width: 820px) {
.ga-contact__inner {

    height: 280px;
  
}
.ga-contact__label {

    left: 40px;
    top: 78px;
  
}
.ga-contact__title {

    left: 38px;
    top: 124px;
    font-size: 58px;
    line-height: 1;
    overflow-wrap: anywhere;
  
}
.ga-contact__arrow {

    top: 120px;
    right: 40px;
  
}
}
@media screen and (max-width: 575px) {
.ga-contact__inner {

    width: 100%;
    max-width: none;
    height: 156px;
    background: #0b1930;
  
}
.ga-contact__label {

    left: 30px;
    top: 48px;
    gap: 4.25px;
    color: #fff;
    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 14px;
    letter-spacing: 0.7px;
  
}
.ga-contact__mark {

    width: 16.746px;
    height: 16.746px;
    flex: 0 0 16.746px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17' fill='none'%3E%3Cpath d='M15.0002 15.0002C15.9645 14.0359 13.7792 10.2872 10.1191 6.62712C6.45909 2.96708 2.71032 0.781744 1.74602 1.74604C0.78172 2.71035 2.96705 6.45912 6.6271 10.1192C10.2871 13.7792 14.0359 15.9645 15.0002 15.0002Z' stroke='%23fff' stroke-miterlimit='10'/%3E%3Cpath d='M1.746 15.0002C0.781704 14.0359 2.96704 10.2872 6.62708 6.62712C10.2871 2.96708 14.0359 0.781744 15.0002 1.74604C15.9645 2.71035 13.7792 6.45912 10.1191 10.1192C6.45908 13.7792 2.7103 15.9645 1.746 15.0002Z' stroke='%23fff' stroke-miterlimit='10'/%3E%3C/svg%3E");
  
}
.ga-contact__title {

    left: 30px;
    top: 78px;
    color: #fff;
    font-family: "Google Sans Flex", "Outfit", sans-serif;
    font-size: 36px;
    font-weight: 400;
    line-height: 52px;
    letter-spacing: 0;
  
}
.ga-contact__arrow {

    top: 58px;
    right: 30px;
    width: 40px;
    height: 40px;
  
}
.ga-contact__arrow-icon {

    width: 40px;
    height: 40px;
  
}
}
@media screen and (min-width: 821px) {
.ga-contact {

    container-type: inline-size;
  
}
.ga-contact__inner {

    width: 100%;
    max-width: none;
    height: calc(338 / var(--design-pc) * 100cqw);
  
}
.ga-contact__label {

    left: calc(80 / var(--design-pc) * 100cqw);
    top: calc(101 / var(--design-pc) * 100cqw);
    gap: calc(3.25 / var(--design-pc) * 100cqw);
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 0.7px;
  
}
.ga-contact__mark {

    width: calc(16.75 / var(--design-pc) * 100cqw);
    height: calc(16.75 / var(--design-pc) * 100cqw);
    flex-basis: calc(16.75 / var(--design-pc) * 100cqw);
  
}
.ga-contact__title {

    left: calc(78 / var(--design-pc) * 100cqw);
    top: calc(157 / var(--design-pc) * 100cqw);
    font-size: calc(70 / var(--design-pc) * 100cqw);
    line-height: calc(66 / var(--design-pc) * 100cqw);
  
}
.ga-contact__arrow {

    top: calc(149 / var(--design-pc) * 100cqw);
    right: calc(78 / var(--design-pc) * 100cqw);
    width: calc(40 / var(--design-pc) * 100cqw);
    height: calc(40 / var(--design-pc) * 100cqw);
    border-radius: calc(5 / var(--design-pc) * 100cqw);
  
}
.ga-contact__arrow::before {

    border-radius: calc(5 / var(--design-pc) * 100cqw);
  
}
.ga-contact__arrow-icon {

    width: calc(40 / var(--design-pc) * 100cqw);
    height: calc(40 / var(--design-pc) * 100cqw);
  
}
}
@media screen and (max-width: 575px) {
.ga-contact {

    container-type: inline-size;
    margin-bottom: 0;
    padding-bottom: 0;
    background: #0b1930;
  
}
.ga-contact__inner {

    width: 100%;
    max-width: none;
    height: calc(156 / var(--design-sp) * 100cqw);
    margin-bottom: 0;
  
}
.ga-contact__label {

    left: calc(30 / var(--design-sp) * 100cqw);
    top: calc(48 / var(--design-sp) * 100cqw);
    gap: calc(4.25 / var(--design-sp) * 100cqw);
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 0.7px;
  
}
.ga-contact__mark {

    width: calc(16.746 / var(--design-sp) * 100cqw);
    height: calc(16.746 / var(--design-sp) * 100cqw);
    flex-basis: calc(16.746 / var(--design-sp) * 100cqw);
  
}
.ga-contact__title {

    left: calc(30 / var(--design-sp) * 100cqw);
    top: calc(78 / var(--design-sp) * 100cqw);
    font-size: calc(36 / var(--design-sp) * 100cqw);
    line-height: calc(52 / var(--design-sp) * 100cqw);
  
}
.ga-contact__arrow {

    top: calc(58 / var(--design-sp) * 100cqw);
    right: calc(30 / var(--design-sp) * 100cqw);
    width: calc(40 / var(--design-sp) * 100cqw);
    height: calc(40 / var(--design-sp) * 100cqw);
    border-radius: calc(5 / var(--design-sp) * 100cqw);
  
}
.ga-contact__arrow::before {

    border-radius: calc(5 / var(--design-sp) * 100cqw);
  
}
.ga-contact__arrow-icon {

    width: calc(40 / var(--design-sp) * 100cqw);
    height: calc(40 / var(--design-sp) * 100cqw);
  
}
.ga-contact__arrow,
  .ga-contact__arrow::before,
  .ga-contact__arrow::after,
  .ga-contact__arrow-line,
  .ga-contact__arrow-rect,
  .ga-contact__arrow:hover .ga-contact__arrow-line,
  .ga-contact__arrow:focus-visible .ga-contact__arrow-line,
  .ga-contact__arrow:active .ga-contact__arrow-line,
  .ga-contact:hover .ga-contact__arrow-line,
  .ga-contact:focus-within .ga-contact__arrow-line,
  .ga-contact:active .ga-contact__arrow-line {

    animation: none;
    transition: none;
  
}
}
@media screen and (max-width: 575px) {
#footer.ga-footer {

    margin-top: 0 !important;
    padding: 0 !important;
  
}
#footer.ga-footer .ga-footer__inner {

    width: 100% !important;
    max-width: none !important;
    padding: 52px 20px 0 !important;
    box-sizing: border-box !important;
  
}
#footer.ga-footer .ga-footer__catch {

    max-width: 100% !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 30px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 43px !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
  
}
#footer.ga-footer .ga-footer__nav {

    width: 100% !important;
    margin-top: 48px !important;
    padding: 0 !important;
  
}
#footer.ga-footer .ga-footer__nav-heading,
  #footer.ga-footer .ga-footer__nav-list--primary a {

    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 16px !important;
    font-style: normal !important;
    font-weight: 700 !important;
    line-height: 16px !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
  
}
#footer.ga-footer .ga-footer__nav-heading + .ga-footer__nav-list {

    padding-top: 20px !important;
  
}
#footer.ga-footer .ga-footer__nav-list {

    gap: 15px !important;
  
}
#footer.ga-footer .ga-footer__nav-list a,
  #footer.ga-footer .ga-footer__nav-group--personal .ga-footer__nav-list a,
  #footer.ga-footer .ga-footer__nav-group--corporate .ga-footer__nav-list a {

    display: inline-block !important;
    align-items: initial !important;
    gap: 0 !important;
    padding-left: 0 !important;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 14px !important;
    letter-spacing: 0 !important;
    text-shadow: none !important;
  
}
#footer.ga-footer .ga-footer__nav-group--personal .ga-footer__nav-list a::before,
  #footer.ga-footer .ga-footer__nav-group--corporate .ga-footer__nav-list a::before {

    content: none !important;
    display: none !important;
  
}
#footer.ga-footer .ga-footer__nav-list--primary {

    gap: 30px !important;
  
}
#footer.ga-footer .ga-footer__nav-list--primary a {

    width: auto !important;
    font-size: 16px !important;
    font-weight: 700 !important;
    line-height: 16px !important;
  
}
#footer.ga-footer .ga-footer__company {

    position: relative !important;
    width: 100vw !important;
    height: 224px !important;
    min-height: 224px !important;
    margin: 116px calc(50% - 50vw) 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 10px 10px 0 0 !important;
    background: #15b9f5 !important;
    box-shadow: none !important;
    transform: none !important;
    transition: none !important;
    overflow: hidden !important;
  
}
#footer.ga-footer .ga-footer__company.is-expanded {

    height: 224px !important;
    min-height: 274px !important;
    padding: 0 !important;
  
}
#footer.ga-footer .ga-footer__company::before,
  #footer.ga-footer .ga-footer__company::after {

    display: none !important;
  
}
#footer.ga-footer .ga-footer__brand,
  #footer.ga-footer .ga-footer__company-name,
  #footer.ga-footer .ga-footer__address,
  #footer.ga-footer .ga-footer__bottom {

    opacity: 1 !important;
    pointer-events: auto !important;
    transform: none !important;
    transition: none !important;
  
}
#footer.ga-footer .ga-footer__brand {

    position: absolute !important;
    left: 20px !important;
    top: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8.43px !important;
    max-width: calc(100% - 116px) !important;
    margin: 0 !important;
  
}
#footer.ga-footer .ga-footer__brand-mark {

    width: 40.982px !important;
    height: 41.014px !important;
    flex: 0 0 40.982px !important;
    filter: brightness(0) invert(1) !important;
  
}
#footer.ga-footer .ga-footer__brand-text {

    display: block !important;
    width: 223.577px !important;
    height: 24.963px !important;
    flex: 0 1 auto !important;
    max-width: calc(100vw - 152px) !important;
    overflow: hidden !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background: url("../../images/common/logo-text.svg") left center / contain no-repeat !important;
    filter: brightness(0) invert(1) !important;
  
}
#footer.ga-footer .ga-footer__company-name {

    position: absolute !important;
    left: 20px !important;
    top: 83px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 28px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  
}
#footer.ga-footer .ga-footer__address {

    position: absolute !important;
    left: 20px !important;
    top: 113px !important;
    margin: 0 !important;
    color: #fff !important;
    font-family: "Noto Sans JP", sans-serif !important;
    font-size: 15px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 28px !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  
}
#footer.ga-footer .ga-footer__to-top {

    --ga-footer-to-top-icon-size: 8px;
    top: 10px !important;
    right: 10px !important;
    display: grid !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 10px !important;
    background: #fff !important;
    color: #313131 !important;
  
}
#footer.ga-footer .ga-footer__bottom {

    position: absolute !important;
    left: 23px !important;
    right: auto !important;
    bottom: 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 29px !important;
    margin: 0 !important;
  
}
#footer.ga-footer .ga-footer__bottom a {

    color: #fff !important;
    font-family: Inter, "Noto Sans JP", sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  
}
#footer.ga-footer .ga-footer__bottom small {

    color: #fff !important;
    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif !important;
    font-size: 12px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: normal !important;
    letter-spacing: 0 !important;
    white-space: nowrap !important;
  
}
}
@media screen and (max-width: 820px) {
.ga-entry-links {

    padding: calc(50 / var(--design-sp) * 100vw) 0 calc(56 / var(--design-sp) * 100vw) !important;
    background: #fff !important;
  
}
.ga-entry-links__inner {

    grid-template-columns: minmax(0, 1fr) !important;
    gap: calc(20 / var(--design-sp) * 100vw) !important;
    width: calc(355 / var(--design-sp) * 100vw) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  
}
.ga-entry-links__card {

    width: 100% !important;
    height: calc(189 / var(--design-sp) * 100vw) !important;
    min-height: calc(189 / var(--design-sp) * 100vw) !important;
    overflow: hidden !important;
    border: 1px solid #31807e !important;
    border-radius: calc(10 / var(--design-sp) * 100vw) !important;
    background: #31807e !important;
    color: #fff !important;
  
}
.ga-entry-links__card::before {

    inset: 0 !important;
    border: 1px solid #31807e !important;
    border-radius: calc(10 / var(--design-sp) * 100vw) !important;
    background: #31807e !important;
  
}
.ga-entry-links__card--recruit {

    border-color: #31807e !important;
    background: #31804f !important;
  
}
.ga-entry-links__card--recruit::before {

    border-color: #31807e !important;
    background: #31804f !important;
  
}
.ga-entry-links__body {

    top: calc(40 / var(--design-sp) * 100vw) !important;
    left: 50% !important;
    width: 100% !important;
    align-items: center !important;
    transform: translateX(-50%) !important;
  
}
.ga-entry-links__label {

    gap: calc(4 / var(--design-sp) * 100vw) !important;
    color: #fff !important;
    font-family: "A-OTF Gothic MB101 Pr5", "Noto Sans JP", sans-serif !important;
    font-size: 14px !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: 14px !important;
    letter-spacing: 0.7px !important;
  
}
.ga-entry-links__card--recruit .ga-entry-links__body {

    top: calc(36 / var(--design-sp) * 100vw) !important;
  
}
.ga-entry-links__card--recruit .ga-entry-links__label {

    font-family: "Google Sans Flex", "Noto Sans JP", sans-serif !important;
  
}
.ga-entry-links__mark {

    width: calc(16.747 / var(--design-sp) * 100vw) !important;
    height: calc(16.746 / var(--design-sp) * 100vw) !important;
    flex: 0 0 calc(16.747 / var(--design-sp) * 100vw) !important;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' viewBox='0 0 17 17' fill='none'%3E%3Cpath d='M15.0002 15.0004C15.9645 14.0361 13.7791 10.2873 10.1191 6.62727C6.45904 2.96723 2.71027 0.781896 1.74597 1.7462C0.781665 2.7105 2.967 6.45927 6.62704 10.1193C10.2871 13.7794 14.0359 15.9647 15.0002 15.0004Z' stroke='white' stroke-miterlimit='10'/%3E%3Cpath d='M1.74637 15.0004C0.782069 14.0361 2.9674 10.2873 6.62745 6.62727C10.2875 2.96723 14.0363 0.781896 15.0006 1.7462C15.9649 2.7105 13.7795 6.45927 10.1195 10.1193C6.45945 13.7794 2.71068 15.9647 1.74637 15.0004Z' stroke='white' stroke-miterlimit='10'/%3E%3C/svg%3E") !important;
  
}
.ga-entry-links__title {

    width: calc(316 / var(--design-sp) * 100vw) !important;
    max-width: calc(100% - calc(40 / var(--design-sp) * 100vw)) !important;
    margin: calc(11 / var(--design-sp) * 100vw) 0 0 !important;
    color: #fff !important;
    text-align: center !important;
    font-family: "Google Sans Flex", "Outfit", sans-serif !important;
    font-size: calc(35 / var(--design-sp) * 100vw) !important;
    font-style: normal !important;
    font-weight: 400 !important;
    line-height: calc(35 / var(--design-sp) * 100vw) !important;
    letter-spacing: 0 !important;
  
}
.ga-entry-links__lead {

    width: calc(315 / var(--design-sp) * 100vw) !important;
    max-width: calc(100% - calc(40 / var(--design-sp) * 100vw)) !important;
    margin: calc(10 / var(--design-sp) * 100vw) 0 0 !important;
    color: #fff !important;
    font-family: var(--16-px-32-rem-5, "Noto Sans JP") !important;
    font-size: 13px !important;
    font-style: normal !important;
    font-weight: 500 !important;
    line-height: 23px !important;
    letter-spacing: 0.65px !important;
    white-space: normal !important;
  
}
.ga-entry-links__lead span {

    display: inline !important;
  
}
.ga-entry-links__arrow {

    width: calc(30 / var(--design-sp) * 100vw) !important;
    height: calc(30 / var(--design-sp) * 100vw) !important;
    border-radius: calc(5 / var(--design-sp) * 100vw) !important;
  
}
.ga-entry-links__card::after {

    width: calc(30 / var(--design-sp) * 100vw) !important;
    height: calc(30 / var(--design-sp) * 100vw) !important;
    border-bottom-right-radius: calc(10 / var(--design-sp) * 100vw) !important;
  
}
.ga-entry-links__arrow::after {

    background-size: calc(30 / var(--design-sp) * 100vw) calc(30 / var(--design-sp) * 100vw) !important;
  
}
}
.ga-entry-links {

  margin-left: calc(50% - 50vw);
  width: 100vw;
  box-sizing: border-box;
  padding: 46px 0 80px;
  background: #fff;

}
.ga-entry-links__inner {

  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 26px;
  width: min(calc(100% - 60px), 1380px);
  margin: 0 auto;

}
.ga-entry-links__card {

  --ga-entry-hover-bg: #31807f;
  position: relative;
  height: 427px;
  overflow: hidden;
  box-sizing: border-box;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: #000;
  text-align: center;
  text-decoration: none;

}
.ga-entry-links__card::before {

  position: absolute;
  inset: 0;
  z-index: 0;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 10px;
  background: #fff;
  content: "";
  transition: inset 300ms ease-out, border-color 300ms ease-out, background-color 300ms ease-out, border-radius 300ms ease-out;

}
.ga-entry-links__card::after {

  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 3;
  width: 40px;
  height: 40px;
  box-sizing: border-box;
  border-right: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  border-bottom-right-radius: 10px;
  pointer-events: none;
  content: "";
  opacity: 1;
  transition: opacity 0ms linear 300ms;

}
.ga-entry-links__body {

  position: absolute;
  top: 125px;
  left: 50%;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin-top: 0;
  transform: translateX(-50%);

}
.ga-entry-links__label {

  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: #000;
  font-family: "A-OTF Gothic MB101 Pr5", "Noto Sans JP", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 14px;
  letter-spacing: 0.7px;

}
.ga-entry-links__mark {

  display: inline-block;
  width: 16.75px;
  height: 16.75px;
  flex: 0 0 16.75px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='15' viewBox='0 0 15 15' fill='none'%3E%3Cpath d='M0.727327 13.9818C-0.236973 13.0175 1.94836 9.26873 5.6084 5.60869C9.26845 1.94864 13.0172 -0.236689 13.9815 0.727612C14.9458 1.69191 12.7605 5.44068 9.10044 9.10073C5.4404 12.7608 1.69163 14.9461 0.727327 13.9818Z' stroke='%2315B9F5' stroke-miterlimit='10'/%3E%3Cpath d='M13.9817 13.9818C14.946 13.0175 12.7606 9.26873 9.10058 5.60869C5.44054 1.94864 1.69177 -0.236689 0.727466 0.727612C-0.236835 1.69191 1.9485 5.44068 5.60854 9.10073C9.26858 12.7608 13.0174 14.9461 13.9817 13.9818Z' stroke='%2315B9F5' stroke-miterlimit='10'/%3E%3C/svg%3E");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;

}
.ga-entry-links__title {

  margin: 9px 0 0;
  color: #000;
  font-family: "Google Sans Flex", "Outfit", sans-serif;
  font-size: 50px;
  font-weight: 400;
  line-height: 66px;
  letter-spacing: 0;
  white-space: nowrap;

}
.ga-entry-links__lead {

  width: 520px;
  max-width: calc(100% - 158px);
  margin: 17px 0 0;
  color: #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 16px;
  font-weight: 500;
  line-height: 32px;
  letter-spacing: 0.8px;
  white-space: nowrap;

}
.ga-entry-links__lead span {

  display: block;
  margin: 0;

}
.ga-entry-links__card--recruit .ga-entry-links__label,
.ga-entry-links__card--recruit .ga-entry-links__title {

  color: #313131;

}
.ga-entry-links__card--recruit .ga-entry-links__label {

  font-family: "Google Sans Flex", "Noto Sans JP", sans-serif;

}
.ga-entry-links__card--recruit {

  --ga-entry-hover-bg: #31804f;

}
.ga-entry-links__card:hover::before,
.ga-entry-links__card:focus-visible::before {

  inset: 20px;
  border-color: transparent;
  border-radius: 5px;
  background: var(--ga-entry-hover-bg);

}
.ga-entry-links__card:hover::after,
.ga-entry-links__card:focus-visible::after {

  opacity: 0;
  transition-delay: 0ms;

}
.ga-entry-links__card:hover .ga-entry-links__label,
.ga-entry-links__card:hover .ga-entry-links__title,
.ga-entry-links__card:hover .ga-entry-links__lead,
.ga-entry-links__card:focus-visible .ga-entry-links__label,
.ga-entry-links__card:focus-visible .ga-entry-links__title,
.ga-entry-links__card:focus-visible .ga-entry-links__lead {

  color: #fff;

}
.ga-entry-links__arrow {

  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 5px;
  background: #fff;
  color: #000;
  font-family: "Outfit", sans-serif;
  font-size: 18px;
  font-weight: 400;
  line-height: 1;
  transition: right 300ms ease-out, bottom 300ms ease-out, color 0.25s ease;

}
.ga-entry-links__arrow::before {

  position: absolute;
  inset: -1px 100% -1px auto;
  z-index: 0;
  width: calc(100% + 2px);
  border-radius: 5px;
  background: #15b9f5;
  content: "";
  transition: right 0.28s ease;

}
.ga-entry-links__arrow span {

  position: relative;
  z-index: 1;

}
.ga-entry-links__card:hover .ga-entry-links__arrow,
.ga-entry-links__card:focus-visible .ga-entry-links__arrow {

  right: 20px;
  bottom: 20px;

}
.ga-entry-links__arrow:hover,
.ga-entry-links__card:focus-visible .ga-entry-links__arrow {

  color: #fff;

}
.ga-entry-links__arrow:hover::before,
.ga-entry-links__card:focus-visible .ga-entry-links__arrow::before {

  right: -1px;

}
@media screen and (max-width: 820px) {
.ga-entry-links {

    padding: 40px 0 64px;
  
}
.ga-entry-links__inner {

    grid-template-columns: 1fr;
    width: min(calc(100% - 40px), 720px);
  
}
.ga-entry-links__card {

    height: 320px;
  
}
.ga-entry-links__body {

    top: 78px;
  
}
.ga-entry-links__title {

    font-size: 42px;
    line-height: 1.2;
  
}
.ga-entry-links__lead {

    width: auto;
    max-width: calc(100% - 48px);
    margin-top: 22px;
    font-size: 14px;
    line-height: 2;
    letter-spacing: 0.05em;
    white-space: normal;
  
}
}
@media screen and (max-width: 575px) {
.ga-entry-links {

    padding: 32px 0 56px;
  
}
.ga-entry-links__inner {

    width: min(calc(100% - 32px), 420px);
    gap: 18px;
  
}
.ga-entry-links__card {

    height: 260px;
  
}
.ga-entry-links__body {

    top: 56px;
    width: calc(100% - 42px);
  
}
.ga-entry-links__label {

    font-size: 12px;
    line-height: 1.4;
  
}
.ga-entry-links__title {

    margin-top: 14px;
    font-size: clamp(34px, 10vw, 42px);
  
}
.ga-entry-links__lead {

    margin-top: 18px;
    font-size: 13px;
    line-height: 1.9;
  
}
}
.ga-entry-links__arrow span {

  position: relative !important;
  z-index: 1 !important;
  display: inline-block !important;

}
@media screen and (min-width: 821px) {
.ga-entry-links {

    container-type: inline-size;
    padding-top: calc(46 / var(--design-pc) * 100cqw);
    padding-bottom: calc(80 / var(--design-pc) * 100cqw);
  
}
.ga-entry-links__inner {

    gap: calc(26 / var(--design-pc) * 100cqw);
    width: calc(1380 / var(--design-pc) * 100cqw);
  
}
.ga-entry-links__card {

    height: calc(427 / var(--design-pc) * 100cqw);
    border-radius: calc(10 / var(--design-pc) * 100cqw);
  
}
.ga-entry-links__card::before {

    border-radius: calc(10 / var(--design-pc) * 100cqw);
  
}
.ga-entry-links__card::after {

    width: calc(40 / var(--design-pc) * 100cqw);
    height: calc(40 / var(--design-pc) * 100cqw);
    border-bottom-right-radius: calc(10 / var(--design-pc) * 100cqw);
  
}
.ga-entry-links__body {

    top: calc(125 / var(--design-pc) * 100cqw);
  
}
.ga-entry-links__label {

    gap: calc(4 / var(--design-pc) * 100cqw);
    font-size: 14px;
    line-height: 14px;
    letter-spacing: 0.7px;
  
}
.ga-entry-links__mark {

    width: calc(16.75 / var(--design-pc) * 100cqw);
    height: calc(16.75 / var(--design-pc) * 100cqw);
    flex-basis: calc(16.75 / var(--design-pc) * 100cqw);
  
}
.ga-entry-links__title {

    margin-top: calc(9 / var(--design-pc) * 100cqw);
    font-size: calc(50 / var(--design-pc) * 100cqw);
    line-height: calc(66 / var(--design-pc) * 100cqw);
  
}
.ga-entry-links__lead {

    width: calc(520 / var(--design-pc) * 100cqw);
    max-width: calc(100% - calc(158 / var(--design-pc) * 100cqw));
    margin-top: calc(17 / var(--design-pc) * 100cqw);
    font-size: max(14px, calc(16 / var(--design-pc) * 100cqw));
    line-height: max(28px, calc(32 / var(--design-pc) * 100cqw));
    letter-spacing: calc(0.8 / var(--design-pc) * 100cqw);
  
}
.ga-entry-links__card:hover::before,
  .ga-entry-links__card:focus-visible::before {

    inset: calc(20 / var(--design-pc) * 100cqw);
    border-radius: calc(5 / var(--design-pc) * 100cqw);
  
}
.ga-entry-links__arrow {

    width: calc(40 / var(--design-pc) * 100cqw);
    height: calc(40 / var(--design-pc) * 100cqw);
    border-radius: calc(5 / var(--design-pc) * 100cqw);
    font-size: max(14px, calc(18 / var(--design-pc) * 100cqw));
  
}
.ga-entry-links__arrow::before {

    border-radius: calc(5 / var(--design-pc) * 100cqw);
  
}
.ga-entry-links__card:hover .ga-entry-links__arrow,
  .ga-entry-links__card:focus-visible .ga-entry-links__arrow {

    right: calc(20 / var(--design-pc) * 100cqw);
    bottom: calc(20 / var(--design-pc) * 100cqw);
  
}
}
@keyframes ga-arrow-slide-return {

  0% {
    transform: translateX(0);
  }
  44% {
    transform: translateX(145%);
  }
  45% {
    transform: translateX(-145%);
  }
  100% {
    transform: translateX(0);
  }

}
@keyframes ga-entry-links-span-leftbar-seq {

  0%, 12% { opacity: 1; }
  50%, 62% { opacity: 0; }
  96%, 100% { opacity: 1; }

}
@keyframes ga-entry-links-span-rightgroup-seq {

  0%, 24% { opacity: 1; }
  58%, 74% { opacity: 0; }
  100% { opacity: 1; }

}
@keyframes ga-entry-links-span-leftbar-restart-seq {

  0%, 12% { opacity: 1; }
  50%, 62% { opacity: 0; }
  96%, 100% { opacity: 1; }

}
@keyframes ga-entry-links-span-rightgroup-restart-seq {

  0%, 24% { opacity: 1; }
  58%, 74% { opacity: 0; }
  100% { opacity: 1; }

}
.ga-entry-links .ga-entry-links__arrow {

  overflow: hidden !important;
  background: #fff !important;
  color: transparent !important;

}
.ga-entry-links .ga-entry-links__arrow:hover,
.ga-entry-links .ga-entry-links__arrow:focus-visible {

  background: #fff !important;
  color: transparent !important;

}
.ga-entry-links .ga-entry-links__arrow::before,
.ga-entry-links .ga-entry-links__arrow::after {

  content: none !important;
  display: none !important;
  animation: none !important;
  transition: none !important;

}
.ga-entry-links .ga-entry-links__arrow span {

  position: absolute !important;
  inset: 0 !important;
  z-index: 3 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  color: transparent !important;
  font-size: 0 !important;
  line-height: 0 !important;
  opacity: 1 !important;
  transform: none !important;
  animation: none !important;
  pointer-events: none !important;

}
.ga-entry-links .ga-entry-links__arrow span::before,
.ga-entry-links .ga-entry-links__arrow span::after {

  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='41' height='41' viewBox='0 0 41 41' fill='none'%3E%3Cpath d='M14.1909 20.2837H26.3545' stroke='black' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M21.2756 15.2049L26.3754 20.3047L21.2756 25.4045' stroke='black' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center center / 100% 100% no-repeat !important;
  opacity: 1 !important;
  pointer-events: none !important;
  transition: none !important;
  will-change: transform;
  backface-visibility: hidden;

}
.ga-entry-links .ga-entry-links__arrow span::before {

  z-index: 1 !important;
  transform: translateX(0);
  animation: none !important;

}
.ga-entry-links .ga-entry-links__arrow span::after {

  z-index: 0 !important;
  transform: translateX(-100%);
  animation: none !important;

}
.ga-entry-links .ga-entry-links__card.is-hover .ga-entry-links__arrow span::before {

  animation: ga-entry-links-arrow-in 0.6s cubic-bezier(0.45, 0, 0.55, 1) 0.2s 1 normal both !important;

}
.ga-entry-links .ga-entry-links__card.is-hover .ga-entry-links__arrow span::after {

  animation: ga-entry-links-arrow-out 0.6s cubic-bezier(0.45, 0, 0.55, 1) 0s 1 normal both !important;

}
.ga-entry-links .ga-entry-links__card.is-hover:hover .ga-entry-links__arrow span::before,
.ga-entry-links .ga-entry-links__card.is-hover:focus-visible .ga-entry-links__arrow span::before,
.ga-entry-links .ga-entry-links__card.is-hover:focus-within .ga-entry-links__arrow span::before,
.ga-entry-links .ga-entry-links__card.is-hover:active .ga-entry-links__arrow span::before {

  animation: ga-entry-links-arrow-out 0.6s cubic-bezier(0.45, 0, 0.55, 1) 0s 1 normal both !important;

}
.ga-entry-links .ga-entry-links__card.is-hover:hover .ga-entry-links__arrow span::after,
.ga-entry-links .ga-entry-links__card.is-hover:focus-visible .ga-entry-links__arrow span::after,
.ga-entry-links .ga-entry-links__card.is-hover:focus-within .ga-entry-links__arrow span::after,
.ga-entry-links .ga-entry-links__card.is-hover:active .ga-entry-links__arrow span::after {

  animation: ga-entry-links-arrow-in 0.6s cubic-bezier(0.45, 0, 0.55, 1) 0.2s 1 normal both !important;

}
@keyframes ga-entry-links-arrow-in {

  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }

}
@keyframes ga-entry-links-arrow-out {

  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }

}
@media (prefers-reduced-motion: reduce) {
.ga-entry-links .ga-entry-links__arrow span::before {

    animation: none !important;
    transform: translateX(0) !important;
  
}
.ga-entry-links .ga-entry-links__arrow span::after {

    animation: none !important;
    transform: translateX(-100%) !important;
  
}
}
@media screen and (min-width: 821px) {
.ga-contact__arrow {

    overflow: hidden !important;
    background: #15b9f5 !important;
    color: #fff !important;
  
}
.ga-contact__arrow::before,
  .ga-contact__arrow::after {

    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: auto !important;
    height: auto !important;
    animation: none !important;
    pointer-events: none !important;
    transition: none !important;
    will-change: transform;
    backface-visibility: hidden;
  
}
.ga-contact__arrow::before {

    z-index: 3 !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='41' height='41' viewBox='0 0 41 41' fill='none'%3E%3Cpath d='M14.1909 20.2837H26.3545' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M21.2756 15.2049L26.3754 20.3047L21.2756 25.4045' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center center / 100% 100% no-repeat !important;
    transform: translateX(0);
  
}
.ga-contact__arrow::after {

    z-index: 2 !important;
    background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='41' height='41' viewBox='0 0 41 41' fill='none'%3E%3Cpath d='M14.1909 20.2837H26.3545' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M21.2756 15.2049L26.3754 20.3047L21.2756 25.4045' stroke='white' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center center / 100% 100% no-repeat !important;
    transform: translateX(-100%);
  
}
.ga-contact__arrow-icon {

    position: relative !important;
    z-index: 1 !important;
  
}
.ga-contact__arrow-line {

    display: none !important;
    opacity: 0 !important;
    transform: none !important;
    animation: none !important;
  
}
.ga-contact__arrow-rect {

    fill: #15b9f5 !important;
    stroke: #15b9f5 !important;
  
}
}
@media screen and (min-width: 821px) and (hover: hover) and (pointer: fine) {
.ga-contact.is-hover .ga-contact__arrow::before {

    animation: ga-contact-arrow-in 0.6s cubic-bezier(0.45, 0, 0.55, 1) 0.2s 1 normal both !important;
  
}
.ga-contact.is-hover .ga-contact__arrow::after {

    animation: ga-contact-arrow-out 0.6s cubic-bezier(0.45, 0, 0.55, 1) 0s 1 normal both !important;
  
}
.ga-contact.is-hover:hover .ga-contact__arrow::after,
  .ga-contact.is-hover:focus-within .ga-contact__arrow::after,
  .ga-contact.is-hover .ga-contact__arrow:hover::after,
  .ga-contact.is-hover .ga-contact__arrow:focus-visible::after {

    animation: ga-contact-arrow-in 0.6s cubic-bezier(0.45, 0, 0.55, 1) 0.2s 1 normal both !important;
  
}
.ga-contact.is-hover:hover .ga-contact__arrow::before,
  .ga-contact.is-hover:focus-within .ga-contact__arrow::before,
  .ga-contact.is-hover .ga-contact__arrow:hover::before,
  .ga-contact.is-hover .ga-contact__arrow:focus-visible::before {

    animation: ga-contact-arrow-out 0.6s cubic-bezier(0.45, 0, 0.55, 1) 0s 1 normal both !important;
  
}
}
@keyframes ga-contact-arrow-in {

  0% {
    transform: translateX(-100%);
  }
  100% {
    transform: translateX(0);
  }

}
@keyframes ga-contact-arrow-out {

  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }

}
@media screen and (min-width: 821px) {
#footer.ga-footer {

    container-type: inline-size;
    min-height: calc(939 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__inner {

    width: 100%;
    max-width: none;
    min-height: calc(939 / var(--design-pc) * 100cqw);
    padding: calc(81 / var(--design-pc) * 100cqw) calc(20 / var(--design-pc) * 100cqw) calc(28 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__top {

    gap: calc(64 / var(--design-pc) * 100cqw);
    padding: 0 calc(56 / var(--design-pc) * 100cqw) 0 calc(48 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__catch {

    font-size: calc(50.5 / var(--design-pc) * 100cqw);
    line-height: calc(68 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__nav {

    grid-template-columns:
      calc(164 / var(--design-pc) * 100cqw)
      calc(248 / var(--design-pc) * 100cqw)
      calc(184 / var(--design-pc) * 100cqw);
    column-gap: calc(44 / var(--design-pc) * 100cqw);
    row-gap: calc(40 / var(--design-pc) * 100cqw);
    width: calc(720 / var(--design-pc) * 100cqw);
    padding-top: calc(18 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__nav-heading,
  #footer.ga-footer .ga-footer__nav-list--primary a {

    font-size: max(14px, calc(18 / var(--design-pc) * 100cqw));
    line-height: max(14px, calc(16 / var(--design-pc) * 100cqw));
  
}
#footer.ga-footer .ga-footer__nav-heading + .ga-footer__nav-list {

    padding-top: calc(30 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__nav-list > li + li {

    margin-top: calc(15 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__nav-list--primary > li + li {

    margin-top: 0;
  
}
#footer.ga-footer .ga-footer__nav-list--primary > li:nth-child(2) {

    margin-top: calc(22 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__nav-list--primary > li:nth-child(3) {

    margin-top: calc(24 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__nav-list--primary > li:nth-child(4) {

    margin-top: calc(23 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__nav-list--primary > li:nth-child(5),
  #footer.ga-footer .ga-footer__nav-list--primary > li:nth-child(6) {

    margin-top: calc(25 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__nav-list a {

    font-size: 15px;
    line-height: max(14px, calc(16 / var(--design-pc) * 100cqw));
  
}
#footer.ga-footer .ga-footer__company {

    container-type: normal;
    width: calc(1400 / var(--design-pc) * 100cqw);
    height: calc(72 / var(--design-pc) * 100cqw);
    min-height: calc(72 / var(--design-pc) * 100cqw);
    margin-top: calc(80 / var(--design-pc) * 100cqw);
    padding: 0 calc(52 / var(--design-pc) * 100cqw);
    border-radius: calc(10 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__company.is-expanded {

    height: calc(260 / var(--design-pc) * 100cqw);
    min-height: calc(260 / var(--design-pc) * 100cqw);
    padding: calc(43 / var(--design-pc) * 100cqw) calc(52 / var(--design-pc) * 100cqw) calc(28 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__company::before,
  #footer.ga-footer .ga-footer__company::after {

    width: calc(142.699 / var(--design-pc) * 100cqw);
    height: calc(541.622 / var(--design-pc) * 100cqw);
    border-width: calc(10 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__company::before {

    left: calc(950 / var(--design-pc) * 100cqw);
    top: calc(-8 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__company::after {

    right: calc(290 / var(--design-pc) * 100cqw);
    top: calc(-128 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__brand {

    gap: calc(10 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__brand-mark {

    width: calc(36 / var(--design-pc) * 100cqw);
    height: calc(36 / var(--design-pc) * 100cqw);
    flex-basis: calc(36 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__brand-text {

    width: calc(196.435 / var(--design-pc) * 100cqw);
    height: calc(21.913 / var(--design-pc) * 100cqw);
    max-width: calc(100% - calc(46 / var(--design-pc) * 100cqw));
    font-size: 0;
    line-height: 0;
  
}
#footer.ga-footer .ga-footer__company-name {

    margin-top: calc(26 / var(--design-pc) * 100cqw) !important;
    font-size: max(14px, calc(15 / var(--design-pc) * 100cqw));
    line-height: max(18px, calc(18 / var(--design-pc) * 100cqw));
  
}
#footer.ga-footer .ga-footer__address {

    margin-top: calc(13 / var(--design-pc) * 100cqw) !important;
    font-size: max(14px, calc(15 / var(--design-pc) * 100cqw));
    line-height: max(18px, calc(18 / var(--design-pc) * 100cqw));
  
}
#footer.ga-footer .ga-footer__to-top {

    top: calc(14 / var(--design-pc) * 100cqw);
    right: calc(14 / var(--design-pc) * 100cqw);
    width: calc(56 / var(--design-pc) * 100cqw);
    height: calc(56 / var(--design-pc) * 100cqw);
    border-radius: calc(10 / var(--design-pc) * 100cqw);
  
}
.pc #footer.ga-footer .ga-footer__to-top:hover,
  .pc #footer.ga-footer .ga-footer__to-top:focus-visible {

    width: calc(84 / var(--design-pc) * 100cqw);
    height: calc(84 / var(--design-pc) * 100cqw);
  
}
#footer.ga-footer .ga-footer__bottom {

    right: calc(40 / var(--design-pc) * 100cqw);
    bottom: calc(28 / var(--design-pc) * 100cqw);
    gap: calc(38 / var(--design-pc) * 100cqw);
  
}
}
@media screen and (max-width: 575px) {
#footer.ga-footer {

    container-type: inline-size;
  
}
#footer.ga-footer .ga-footer__inner {

    padding: calc(52 / var(--design-sp) * 100cqw) calc(20 / var(--design-sp) * 100cqw) 0 !important;
  
}
#footer.ga-footer .ga-footer__catch {

    font-size: calc(30 / var(--design-sp) * 100cqw) !important;
    line-height: calc(43 / var(--design-sp) * 100cqw) !important;
  
}
#footer.ga-footer .ga-footer__nav {

    margin-top: calc(48 / var(--design-sp) * 100cqw) !important;
  
}
#footer.ga-footer .ga-footer__nav-heading,
  #footer.ga-footer .ga-footer__nav-list--primary a {

    font-size: max(14px, calc(16 / var(--design-sp) * 100cqw)) !important;
    line-height: max(14px, calc(16 / var(--design-sp) * 100cqw)) !important;
  
}
#footer.ga-footer .ga-footer__nav-heading + .ga-footer__nav-list {

    padding-top: calc(20 / var(--design-sp) * 100cqw) !important;
  
}
#footer.ga-footer .ga-footer__nav-list {

    gap: calc(15 / var(--design-sp) * 100cqw) !important;
  
}
#footer.ga-footer .ga-footer__nav-list a,
  #footer.ga-footer .ga-footer__nav-group--personal .ga-footer__nav-list a,
  #footer.ga-footer .ga-footer__nav-group--corporate .ga-footer__nav-list a {

    font-size: 14px !important;
    line-height: 14px !important;
  
}
#footer.ga-footer .ga-footer__nav-list--primary {

    gap: calc(30 / var(--design-sp) * 100cqw) !important;
  
}
#footer.ga-footer .ga-footer__company {

    container-type: normal !important;
    width: 100cqw !important;
    height: calc(224 / var(--design-sp) * 100cqw) !important;
    min-height: calc(224 / var(--design-sp) * 100cqw) !important;
    margin: calc(116 / var(--design-sp) * 100cqw) calc(50% - 50cqw) 0 !important;
    border-radius: calc(10 / var(--design-sp) * 100cqw) calc(10 / var(--design-sp) * 100cqw) 0 0 !important;
  
}
#footer.ga-footer .ga-footer__company.is-expanded {

    height: calc(224 / var(--design-sp) * 100cqw) !important;
    min-height: calc(274 / var(--design-sp) * 100cqw) !important;
  
}
#footer.ga-footer .ga-footer__brand {

    left: calc(20 / var(--design-sp) * 100cqw) !important;
    top: calc(30 / var(--design-sp) * 100cqw) !important;
    gap: calc(8.43 / var(--design-sp) * 100cqw) !important;
    max-width: calc(100% - calc(116 / var(--design-sp) * 100cqw)) !important;
  
}
#footer.ga-footer .ga-footer__brand-mark {

    width: calc(40.982 / var(--design-sp) * 100cqw) !important;
    height: calc(41.014 / var(--design-sp) * 100cqw) !important;
    flex-basis: calc(40.982 / var(--design-sp) * 100cqw) !important;
  
}
#footer.ga-footer .ga-footer__brand-text {

    width: calc(223.577 / var(--design-sp) * 100cqw) !important;
    height: calc(24.963 / var(--design-sp) * 100cqw) !important;
    max-width: calc(100cqw - calc(152 / var(--design-sp) * 100cqw)) !important;
    color: transparent !important;
    font-size: 0 !important;
    line-height: 0 !important;
    background: url("../../images/common/logo-text.svg") left center / contain no-repeat !important;
    filter: brightness(0) invert(1) !important;
  
}
#footer.ga-footer .ga-footer__company-name {

    left: calc(20 / var(--design-sp) * 100cqw) !important;
    top: calc(83 / var(--design-sp) * 100cqw) !important;
    font-size: max(14px, calc(15 / var(--design-sp) * 100cqw)) !important;
    line-height: calc(28 / var(--design-sp) * 100cqw) !important;
  
}
#footer.ga-footer .ga-footer__address {

    left: calc(20 / var(--design-sp) * 100cqw) !important;
    top: calc(113 / var(--design-sp) * 100cqw) !important;
    font-size: max(14px, calc(15 / var(--design-sp) * 100cqw)) !important;
    line-height: calc(28 / var(--design-sp) * 100cqw) !important;
  
}
#footer.ga-footer .ga-footer__to-top {

    top: calc(10 / var(--design-sp) * 100cqw) !important;
    right: calc(10 / var(--design-sp) * 100cqw) !important;
    width: calc(44 / var(--design-sp) * 100cqw) !important;
    height: calc(44 / var(--design-sp) * 100cqw) !important;
    border-radius: calc(10 / var(--design-sp) * 100cqw) !important;
  
}
#footer.ga-footer .ga-footer__bottom {

    left: calc(23 / var(--design-sp) * 100cqw) !important;
    bottom: calc(80 / var(--design-sp) * 100cqw) !important;
    gap: calc(29 / var(--design-sp) * 100cqw) !important;
  
}
#footer.ga-footer .ga-footer__bottom a,
  #footer.ga-footer .ga-footer__bottom small {

    font-size: 12px !important;
  
}
}
}

/* Contact-only exceptions. */
.ga-sidebanner {
  display: none !important;
}
