html body .l-container {
  width: clamp(1114px * var(--fluid-min, 0.8), 81.5519765739vw, 1336.8px);
  max-width: calc(100% - clamp(40px * var(--fluid-min, 0.8), 2.9282576867vw, 48px));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  html body .l-container {
    width: clamp(550.4px, 89.5833333333vw, 825.6px);
    max-width: calc(100% - clamp(32px, 5.2083333333vw, 48px) * 2);
    margin-inline: auto;
  }
}
@media screen and (max-width: 767px) {
  html body .l-container {
    width: clamp(268px, 89.3333333333vw, 402px);
    max-width: calc(100% - clamp(16px, 5.3333333333vw, 24px) * 2);
    margin-inline: auto;
  }
}
html body .c-sectionTitle {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
html body .c-sectionTitle__ja {
  margin-top: clamp(23px * var(--fluid-min, 0.8), 1.6837481698vw, 27.6px);
}
html body .c-sectionTitle--gradient .c-sectionTitle__en,
html body .c-sectionTitle--gradientLight .c-sectionTitle__en {
  padding: clamp(20px * var(--fluid-min, 0.8), 1.4641288433vw, 24px) 0;
  margin: clamp(-24px, -1.4641288433vw, -20px * var(--fluid-min, 0.8)) 0;
}
html body .c-sectionTitle--md .c-sectionTitle__ja {
  margin-top: clamp(18px * var(--fluid-min, 0.8), 1.317715959vw, 21.6px);
}
@media screen and (max-width: 767px) {
  html body .c-sectionTitle__ja,
  html body .c-sectionTitle--md .c-sectionTitle__ja {
    margin-top: clamp(11.2px, 1.8229166667vw, 16.8px);
  }
}
html body .c-moreLink {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: clamp(12.7px * var(--fluid-min, 0.8), 0.9297218155vw, 15.24px);
  width: fit-content;
  min-height: 46px;
}
html body .c-moreLink p {
  padding-bottom: clamp(7.5px * var(--fluid-min, 0.8), 0.5490483163vw, 9px);
  border-bottom: 1px solid rgba(112, 112, 112, 0.43);
  transition: border-color 0.3s ease;
}
html body .c-moreLink::before {
  content: "";
  order: 1;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: #133570;
  box-shadow: inset 0 0 0 1px #133570;
  transition: background-color 0.3s ease;
}
html body .c-moreLink::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 19px;
  width: 5px;
  height: 7px;
  margin-top: -3.5px;
  background-color: #fff;
  -webkit-mask-image: url("../images/icon-triangle.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("../images/icon-triangle.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  transition: background-color 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  html body .c-moreLink:hover p {
    border-color: currentColor;
  }
  html body .c-moreLink:hover::before {
    background: #fff;
  }
  html body .c-moreLink:hover::after {
    background-color: #133570;
  }
}
html body .c-moreLink--white p {
  border-color: rgba(255, 255, 255, 0.6);
}
html body .c-moreLink--white::before {
  background: #acb8d2;
  box-shadow: inset 0 0 0 1px #acb8d2;
}
@media (hover: hover) and (pointer: fine) {
  html body .c-moreLink--white:hover::before {
    background: #fff;
    box-shadow: inset 0 0 0 1px #fff;
  }
}
html body .c-postThumb {
  position: relative;
}
html body .c-postThumb__media {
  height: 100%;
}
html body .c-postThumb .c-postThumb__fallback {
  display: none;
  position: absolute;
  inset: 0;
}
html body .c-postThumb .c-postThumb__fallback.is-show {
  display: block;
}
html body .c-marquee {
  overflow-x: clip;
  pointer-events: none;
}
html body .c-marquee__track {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
}
html body .c-marquee__text {
  flex-shrink: 0;
  padding-right: clamp(60px * var(--fluid-min, 0.8), 4.39238653vw, 72px);
  white-space: nowrap;
}
html body .c-outline {
  -webkit-text-stroke: 0;
  color: transparent;
}
html body .c-outline::after {
  content: "";
}
html body .c-outline::before, html body .c-outline::after {
  position: absolute;
  background: no-repeat 0 0/100% 100%;
  pointer-events: none;
}
html body .c-marquee__text.c-outline {
  position: relative;
}
html body .c-outline--newHome::after {
  top: calc(0.5lh + 0.3185em - 0.729em);
  left: 0.031em;
  width: 4.346em;
  height: 0.75em;
  background-image: url("../images/outline-newHome.svg");
}
html body .c-outline--reform::after {
  top: calc(0.5lh + 0.3185em - 0.73em);
  left: 0.037em;
  width: 3.0887em;
  height: 0.747em;
  background-image: url("../images/outline-reform.svg");
}
html body .c-outline--realEstate::after {
  top: calc(0.5lh + 0.3185em - 0.729em);
  left: 0.037em;
  width: 4.4603em;
  height: 0.745em;
  background-image: url("../images/outline-realEstate.svg");
}
html body .c-outline--works::after {
  top: calc(0.5lh + 0.3185em - 0.729em);
  left: -0.007em;
  width: 2.6664em;
  height: 0.746em;
  background-image: url("../images/outline-works.svg");
}
html body .c-outline--company::after {
  top: calc(0.5lh + 0.3185em - 0.64em);
  left: 0.045em;
  width: 3.9559em;
  height: 0.925em;
  background-image: url("../images/outline-company.svg");
}
html body .c-outline--news::after {
  top: calc(0.5lh + 0.3185em - 0.629em);
  left: 0.031em;
  width: 2.1676em;
  height: 0.65em;
  background-image: url("../images/outline-news.svg");
}
html body .c-outline--contact::after {
  top: calc(0.5lh + 0.3185em - 0.64em);
  left: 0.045em;
  width: 3.3155em;
  height: 0.657em;
  background-image: url("../images/outline-contact.svg");
}
html body .c-outline--planning::after {
  top: calc(0.5lh + 0.3185em - 0.7293em);
  right: 0.038em;
  width: 3.6648em;
  height: 1.014em;
  background-image: url("../images/outline-planning.svg");
}
html body .c-outline--planning::before {
  content: "";
  top: calc(1.5lh + 0.3185em - 0.7293em);
  right: 0.051em;
  width: 3.4352em;
  height: 1.014em;
  background-image: url("../images/outline-planning-2.svg");
}
html body .c-outline--reformMenu::after {
  top: calc(0.5lh + 0.3185em - 0.7303em);
  right: 0.043em;
  width: 3.0887em;
  height: 0.747em;
  background-image: url("../images/outline-reformMenu.svg");
}
html body .c-outline--reformMenu::before {
  content: "";
  top: calc(1.5lh + 0.3185em - 0.4033em);
  right: 0.025em;
  width: 2.2794em;
  height: 0.419em;
  background-image: url("../images/outline-reformMenu-2.svg");
}
html body .c-outline--approach::after {
  top: calc(0.5lh + 0.3185em - 0.6403em);
  right: 0.051em;
  width: 1.6217em;
  height: 0.656em;
  background-image: url("../images/outline-approach.svg");
}
html body .c-outline--approach::before {
  content: "";
  top: calc(1.5lh + 0.3185em - 0.7293em);
  right: 0.043em;
  width: 3.7593em;
  height: 1.008em;
  background-image: url("../images/outline-approach-2.svg");
}
html body .c-outline--inquiry::after {
  top: calc(0.5lh + 0.3185em - 0.6293em);
  right: 0.024em;
  width: 3.0576em;
  height: 0.914em;
  background-image: url("../images/outline-inquiry.svg");
}
html body .c-outline--kyodo::after {
  top: calc(0.5lh + 0.3185em - 0.729em);
  left: 0.028em;
  width: 12.4154em;
  height: 1.014em;
  background-image: url("../images/outline-kyodo.svg");
}
html body .p-contactCta {
  position: relative;
  background: linear-gradient(to bottom, transparent clamp(228px * var(--fluid-min, 0.8), 16.6910688141vw, 273.6px), #3a5a93 clamp(228px * var(--fluid-min, 0.8), 16.6910688141vw, 273.6px));
}
html body .p-contactCta__inner {
  position: relative;
  display: flex;
  align-items: flex-start;
  width: clamp(1266px * var(--fluid-min, 0.8), 92.6793557833vw, 1519.2px);
  min-height: clamp(430px * var(--fluid-min, 0.8), 31.4787701318vw, 516px);
  margin-inline: auto;
  padding: clamp(124px * var(--fluid-min, 0.8), 9.0775988287vw, 148.8px) 0 clamp(60px * var(--fluid-min, 0.8), 4.39238653vw, 72px) clamp(129px * var(--fluid-min, 0.8), 9.4436310395vw, 154.8px);
  border-radius: 40px;
  overflow: hidden;
}
html body .p-contactCta__image {
  position: absolute;
  inset: 0;
}
html body .p-contactCta__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
html body .p-contactCta__image::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(109deg, rgba(67, 168, 222, 0.92) 0%, rgba(36, 66, 120, 0.92) 56%);
  pointer-events: none;
}
html body .p-contactCta__body,
html body .p-contactCta__tel {
  position: relative;
  pointer-events: none;
}
html body .p-contactCta__body > *,
html body .p-contactCta__tel > * {
  pointer-events: auto;
}
html body .p-contactCta__body {
  width: clamp(377px * var(--fluid-min, 0.8), 27.5988286969vw, 452.4px);
  padding-top: 1px;
}
html body .p-contactCta__texts {
  width: fit-content;
  margin-top: clamp(59px * var(--fluid-min, 0.8), 4.3191800878vw, 70.8px);
}
html body .p-contactCta__tel {
  display: flex;
  flex-direction: column;
  width: clamp(551px * var(--fluid-min, 0.8), 40.336749634vw, 661.2px);
  margin-left: clamp(98px * var(--fluid-min, 0.8), 7.1742313324vw, 117.6px);
  padding: clamp(47px * var(--fluid-min, 0.8), 3.4407027818vw, 56.4px) 0 clamp(42px * var(--fluid-min, 0.8), 3.074670571vw, 50.4px) clamp(75px * var(--fluid-min, 0.8), 5.4904831625vw, 90px);
  border-top: 1px solid rgba(255, 255, 255, 0.4);
  border-bottom: 1px solid rgba(255, 255, 255, 0.4);
}
html body .p-contactCta__number {
  display: flex;
  align-items: center;
  width: clamp(402px * var(--fluid-min, 0.8), 29.4289897511vw, 482.4px);
  padding-bottom: clamp(26px * var(--fluid-min, 0.8), 1.9033674963vw, 31.2px);
  border-bottom: 1px solid #fff;
}
html body .p-contactCta__number::before {
  content: "";
  flex-shrink: 0;
  width: 8px;
  height: 21px;
  margin-right: clamp(11.5px * var(--fluid-min, 0.8), 0.8418740849vw, 13.8px);
  background-color: #fff;
  -webkit-mask-image: url("../images/icon-tel.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  mask-image: url("../images/icon-tel.svg");
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
}
html body .p-contactCta__telNumber a {
  display: inline-block;
  white-space: nowrap;
  transition: transform 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  html body .p-contactCta__telNumber a:hover {
    transform: scale(1.05);
  }
}
html body .p-contactCta__telLabel {
  width: clamp(79px * var(--fluid-min, 0.8), 5.7833089312vw, 94.8px);
}
html body .p-contactCta__hours {
  width: fit-content;
  margin-top: clamp(5px * var(--fluid-min, 0.8), 0.3660322108vw, 6px);
  margin-left: clamp(118px * var(--fluid-min, 0.8), 8.6383601757vw, 141.6px);
}
@media screen and (max-width: 767px) {
  html body .p-contactCta {
    background: linear-gradient(to bottom, transparent 50%, #3a5a93 50%);
  }
  html body .p-contactCta__inner {
    flex-direction: column;
    width: clamp(550.4px, 89.5833333333vw, 825.6px);
    max-width: calc(100% - clamp(32px, 5.2083333333vw, 48px) * 2);
    margin-inline: auto;
    min-height: 0;
    padding: clamp(44.8px, 7.2916666667vw, 67.2px) clamp(38.4px, 6.25vw, 57.6px);
    border-radius: 24px;
  }
  html body .p-contactCta__body {
    width: 100%;
  }
  html body .p-contactCta__texts {
    margin-top: clamp(25.6px, 4.1666666667vw, 38.4px);
  }
  html body .p-contactCta__tel {
    width: 100%;
    margin: clamp(25.6px, 4.1666666667vw, 38.4px) 0 0;
    padding: clamp(22.4px, 3.6458333333vw, 33.6px) 0;
    align-items: center;
  }
  html body .p-contactCta__number {
    width: auto;
    padding-bottom: clamp(12.8px, 2.0833333333vw, 19.2px);
  }
  html body .p-contactCta__telLabel {
    width: auto;
    margin-right: clamp(16px, 2.6041666667vw, 24px);
  }
  html body .p-contactCta__hours {
    margin: clamp(6.4px, 1.0416666667vw, 9.6px) 0 0;
  }
}
@media screen and (max-width: 767px) {
  html body .p-contactCta__inner {
    width: clamp(268px, 89.3333333333vw, 402px);
    max-width: calc(100% - clamp(16px, 5.3333333333vw, 24px) * 2);
    margin-inline: auto;
    padding: clamp(32px, 10.6666666667vw, 48px) clamp(19.2px, 6.4vw, 28.8px);
    border-radius: 20px;
  }
  html body .p-contactCta__texts {
    margin-top: clamp(19.2px, 6.4vw, 28.8px);
  }
  html body .p-contactCta__tel {
    margin-top: clamp(19.2px, 6.4vw, 28.8px);
    padding: clamp(16px, 5.3333333333vw, 24px) 0;
  }
  html body .p-contactCta__telLabel {
    margin-right: clamp(9.6px, 3.2vw, 14.4px);
  }
}
