@charset "UTF-8";
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/* html */
.bg-illust {
  background: transparent linear-gradient(90deg, #FDFDFD 0%, #EFF9FF 100%) 0% 0% no-repeat padding-box;
}

.service__common-link_contents_wrapper {
  max-width: 1520px;
  margin: 0 auto;
  margin-bottom: 100px;
}
.service__common-link_contents_wrapper > ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 40px;
}
@media (430px >= width) {
  .service__common-link_contents_wrapper > ul {
    gap: 8px;
  }
}
.service__common-link_contents_wrapper > ul > li {
  display: flex;
  justify-content: center;
  align-items: center;
  block-size: 110px;
  max-inline-size: 480px;
  inline-size: 480px;
  border-radius: 10px;
  font-size: clamp(0.75rem, 0.283839779rem + 1.9889502762vw, 1.875rem);
  font-weight: normal;
  background: var(--main-color);
  color: #fff;
  transition: background-color 0.3s;
}
.service__common-link_contents_wrapper > ul > li:disabled, .service__common-link_contents_wrapper > ul > li[aria-disabled=true] {
  background-color: oklch(from var(--main-color) calc(l + 0.2) calc(c - 0.1) h);
}
@media (any-hover: hover) {
  .service__common-link_contents_wrapper > ul > li:not(:disabled, [aria-disabled=true]):hover {
    background-color: color-mix(in srgb, var(--main-color) 70%, #fff);
  }
}
@media (768px > width) {
  .service__common-link_contents_wrapper > ul > li {
    inline-size: 90%;
    block-size: 80px;
    max-inline-size: 380px;
  }
}
@media (430px >= width) {
  .service__common-link_contents_wrapper > ul > li {
    inline-size: 45%;
  }
}
.service__common-link_contents_wrapper > ul > li.current, .service__common-link_contents_wrapper > ul > li.current:hover {
  background-color: oklch(from var(--main-color) calc(l + 0.2) calc(c - 0.1) h);
}
.service__common-link_contents_wrapper > ul > li span,
.service__common-link_contents_wrapper > ul > li a {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  border-radius: 10px;
  block-size: min(110px, 100%);
  max-inline-size: 480px;
  inline-size: 480px;
}
@media (768px > width) {
  .service__common-link_contents_wrapper > ul > li span,
  .service__common-link_contents_wrapper > ul > li a {
    inline-size: 90%;
    max-inline-size: 380px;
  }
}
@media (430px >= width) {
  .service__common-link_contents_wrapper > ul > li span,
  .service__common-link_contents_wrapper > ul > li a {
    gap: 4px;
  }
}
.service__common-link_contents_wrapper > ul > li span img,
.service__common-link_contents_wrapper > ul > li a img {
  display: inline;
  object-fit: contain;
  mix-blend-mode: lighten;
}
@media (768px > width) {
  .service__common-link_contents_wrapper > ul > li span img,
  .service__common-link_contents_wrapper > ul > li a img {
    transform: scale(0.7);
  }
}
.service__common-link .service_menu-spbr {
  display: none;
}
@media (430px >= width) {
  .service__common-link .service_menu-spbr {
    display: inline-block;
  }
}

.title_zone {
  height: clamp(12.5rem, 8.6153314917rem + 16.5745856354vw, 21.875rem);
  margin-bottom: clamp(2.5rem, 1.4640883978rem + 4.4198895028vw, 5rem);
  background: var(--title_zone-bg-gradient);
}
.title_zone__title hgroup {
  display: block grid;
  gap: 0;
  align-items: center;
  color: var(--main-color);
}
.title_zone__title hgroup h1,
.title_zone__title hgroup h2,
.title_zone__title hgroup h3 {
  grid-row: 1;
  font-size: clamp(3rem, 2.3007596685rem + 2.9834254144vw, 4.6875rem);
  font-weight: bold;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
.title_zone__title hgroup h1 + p,
.title_zone__title hgroup h2 + p,
.title_zone__title hgroup h3 + p {
  grid-row: 2;
  color: var(--body-fg);
  font-size: clamp(1rem, 0.6374309392rem + 1.546961326vw, 1.875rem);
  font-weight: bold;
}
.title_zone__title hgroup h1 + p::before,
.title_zone__title hgroup h2 + p::before,
.title_zone__title hgroup h3 + p::before {
  content: "■";
  color: #FF8F1C;
  width: clamp(1rem, 0.6374309392rem + 1.546961326vw, 1.875rem);
  height: clamp(1rem, 0.6374309392rem + 1.546961326vw, 1.875rem);
  padding-right: calc(clamp(1rem, 0.6374309392rem + 1.546961326vw, 1.875rem) * 0.25);
  padding-left: calc(clamp(1rem, 0.6374309392rem + 1.546961326vw, 1.875rem) * 0.25);
}

nav:has(ol#breadcrumb) {
  padding-top: 1rem;
}

ol.breadcrumb {
  display: inline flex;
  flex-wrap: wrap;
  gap: clamp(0.25rem, 0.1464088398rem + 0.4419889503vw, 0.5rem);
}
ol.breadcrumb li.breadcrumb-item {
  display: flex;
  align-items: center;
  gap: clamp(0.25rem, 0.1464088398rem + 0.4419889503vw, 0.5rem);
  font-size: clamp(0.75rem, 0.6464088398rem + 0.4419889503vw, 1rem);
}
ol.breadcrumb li.breadcrumb-item:not(:last-child)::after {
  content: "ー";
  font-size: clamp(0.75rem, 0.6464088398rem + 0.4419889503vw, 1rem);
  color: hsl(0, 0%, 50%);
}
ol.breadcrumb li.breadcrumb-item a:hover {
  opacity: 0.5;
}

.illust-wrapper {
  --_fluid-ratio: calc(1 / var(--pc-layout-width) * 100vw);
  position: relative;
  z-index: calc(-infinity);
  display: none;
}
@media (768px < width) {
  .illust-wrapper {
    display: block;
  }
}

.bg-illust {
  inline-size: 100vw;
  block-size: 1600px;
  position: fixed;
  top: 0;
  left: 0;
}
.bg-illust > img {
  inline-size: calc(var(--_width) * var(--_fluid-ratio));
  position: absolute;
  left: calc(var(--_x, 0) * var(--_fluid-ratio));
  top: calc(var(--_y, 0) * var(--_fluid-ratio));
  object-fit: cover;
}
.bg-illust > img:nth-of-type(1) {
  --_width: 729;
  --_x: -95;
  --_y: 0;
}
.bg-illust > img:nth-of-type(2) {
  --_width: 624;
  --_x: 1545;
  --_y: 442;
}
.bg-illust > img:nth-of-type(3) {
  --_width: 412;
  --_x: -35;
  --_y: 1071;
}

.service_reform .title_zone__title hgroup h1,
.service_reform .title_zone__title hgroup h2,
.service_reform .title_zone__title hgroup h3 {
  font-size: clamp(1.875rem, 0.7095994475rem + 4.9723756906vw, 4.6875rem);
}
.service_reform__intro {
  position: relative;
  height: fit-content;
  margin-bottom: clamp(2.5rem, -1.4105662983rem + 16.6850828729vw, 11.9375rem);
}
.service_reform__intro-description {
  margin-bottom: clamp(2.5rem, 0.8943370166rem + 6.8508287293vw, 6.375rem);
}
.service_reform__intro-description p {
  font-size: clamp(1.25rem, 0.9910220994rem + 1.1049723757vw, 1.875rem);
  font-weight: bold;
  line-height: 1.5;
}
.service_reform__intro-contents {
  width: 100%;
}
.service_reform__intro-contents_inner {
  --_s: clamp(0.72, calc(0.72 + 0.28 * (100vw - 1280px) / 380px), 1);
  display: flex;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: calc(40px * var(--_s));
}
@media (1280px > width) {
  .service_reform__intro-contents_inner {
    --_s: 1;
    align-items: flex-end;
    flex-direction: column-reverse;
  }
}
.service_reform__intro-contents_inner_image img {
  width: calc(clamp(20.625rem, 15.7044198895rem + 20.9944751381vw, 32.5rem) * var(--_s));
}
.service_reform__intro-contents_inner_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  min-height: calc(450px * var(--_s));
  gap: calc(40px * var(--_s));
  flex-grow: 1;
}
@media (1280px > width) {
  .service_reform__intro-contents_inner_wrapper {
    align-self: center;
    justify-content: center;
  }
}
@media (1100px > width) {
  .service_reform__intro-contents_inner_wrapper {
    min-height: 900px;
  }
}
@media (768px > width) {
  .service_reform__intro-contents_inner_wrapper {
    min-height: 1200px;
  }
}
.service_reform__intro-contents_inner_wrapper_item {
  position: relative;
  width: calc(340px * var(--_s));
}
.service_reform__intro-contents_inner_wrapper_item_image {
  position: absolute;
  top: calc(120px * var(--_s));
}
.service_reform__intro-contents_inner_wrapper_item_image img {
  width: calc(340px * var(--_s));
}
@media (1280px > width) {
  .service_reform__intro-contents_inner_wrapper_item_image {
    top: 0;
  }
}
.service_reform__intro-contents_inner_wrapper_item_text {
  position: absolute;
  top: calc(445px * var(--_s));
  font-size: calc(clamp(0.875rem, 0.7714088398rem + 0.4419889503vw, 1.125rem) * var(--_s));
  line-height: 1.5;
}
@media (768px >= width) {
  .service_reform__intro-contents_inner_wrapper_item_text {
    top: 300px;
  }
}
@media ((1280px > width) and (768px < width)) {
  .service_reform__intro-contents_inner_wrapper_item_text {
    top: 325px;
  }
}
.service_reform__cases {
  position: relative;
  margin-bottom: clamp(5rem, 2.1253453039rem + 12.2651933702vw, 11.9375rem);
}
.service_reform__cases h2.title {
  display: flex;
  align-items: flex-end;
  font-size: clamp(1.875rem, 1.6160220994rem + 1.1049723757vw, 2.5rem);
  margin-bottom: 0.75em;
  font-weight: bold;
  color: var(--main-color);
}
.service_reform__cases h2.title::before {
  display: inline-block;
  content: "";
  margin: 0 clamp(0.5rem, 0.2669198895rem + 0.9944751381vw, 1.0625rem) 0 calc(-1 * clamp(1.0625rem, 0.7776243094rem + 1.2154696133vw, 1.75rem));
  width: 12px;
  height: 100%;
  background-color: var(--main-color);
}
.service_reform__cases p.desc {
  font-size: clamp(1rem, 0.7614503817rem + 1.0178117048vw, 1.25rem);
  font-weight: bold;
  line-height: 1.8;
  margin-bottom: clamp(2.5rem, 1.6712707182rem + 3.5359116022vw, 4.5rem);
}
.service_reform__cases-carousel {
  --_arrow-size: clamp(2.25rem, 1.5939885496rem + 2.7989821883vw, 2.9375rem);
  --_arrow-gap: clamp(
      calc(-0.5 * var(--_arrow-size)),
      calc((100vw - 1024px) * 30 / 316),
      30px
  );
  position: relative;
  inline-size: calc(100% - var(--gutter-outer) * 2);
  margin-inline: auto;
  padding-inline: calc(var(--_arrow-size) + var(--_arrow-gap));
}
@media (768px < width) {
  .service_reform__cases-carousel {
    inline-size: clamp(43rem, -5rem + 100vw, 75rem);
    max-inline-size: min(1200px, 100%);
  }
}
.service_reform__cases-more {
  display: flex;
  justify-content: center;
  margin-block-start: clamp(1.875rem, 1.0980662983rem + 3.3149171271vw, 3.75rem);
}
.service_reform__cases-more-btn {
  font-size: clamp(0.9375rem, 0.8080110497rem + 0.5524861878vw, 1.25rem);
  display: block grid;
  grid-template: "text after"/1fr auto;
  align-items: center;
  padding: 0.7em 1.6em;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  border-radius: calc(infinity * 1px);
  background: var(--main-color);
  color: #fff;
  transition: background-color 0.3s;
}
.service_reform__cases-more-btn:disabled, .service_reform__cases-more-btn[aria-disabled=true] {
  background-color: oklch(from var(--main-color) calc(l + 0.2) calc(c - 0.1) h);
}
@media (any-hover: hover) {
  .service_reform__cases-more-btn:not(:disabled, [aria-disabled=true]):hover {
    background-color: color-mix(in srgb, var(--main-color) 70%, #fff);
  }
}
.service_reform__cases-more-btn {
  text-align: revert;
}
.service_reform__cases-more-btn::after {
  grid-area: after;
  content: "";
  display: block flow;
  inline-size: clamp(1.625rem, 1.4696132597rem + 0.6629834254vw, 2rem);
  block-size: clamp(1.625rem, 1.4696132597rem + 0.6629834254vw, 2rem);
  margin-inline-start: clamp(0.625rem, 0.4696132597rem + 0.6629834254vw, 1rem);
  border-radius: calc(infinity * 1px);
  background: #fff url("/image/arrow_right_blue_bold.svg") no-repeat center/16px;
}
.service_reform__cases-slider:not(.slick-initialized) {
  display: flex;
  overflow: clip;
}
.service_reform__cases-slider:not(.slick-initialized) .service_reform__cases-slide {
  flex: 0 0 33.3333%;
}
@media (1024px >= width) {
  .service_reform__cases-slider:not(.slick-initialized) .service_reform__cases-slide {
    flex-basis: 50%;
  }
}
@media (768px >= width) {
  .service_reform__cases-slider:not(.slick-initialized) .service_reform__cases-slide {
    flex-basis: 100%;
  }
}
.service_reform__cases-slider .slick-track {
  display: flex;
}
.service_reform__cases-slider .slick-slide {
  box-sizing: border-box;
  height: auto;
  padding-inline: clamp(0.5rem, 0.3446132597rem + 0.6629834254vw, 0.875rem);
  padding-block: clamp(0.75rem, 0.6464088398rem + 0.4419889503vw, 1rem);
  display: flex;
}
.service_reform__cases-slider .slick-slide > div {
  display: flex;
  inline-size: 100%;
}
.service_reform__cases-slider .slick-prev,
.service_reform__cases-slider .slick-next {
  position: absolute;
  top: 38%;
  z-index: 2;
  font-size: 0;
  inline-size: var(--_arrow-size);
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #0185CF;
  box-shadow: 0 3px 8px rgb(from #000 r g b/0.12);
  transition: background-color 0.3s, box-shadow 0.3s;
}
.service_reform__cases-slider .slick-prev::before,
.service_reform__cases-slider .slick-next::before {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  inline-size: 28%;
  block-size: 28%;
  border-block-start: 2px solid #fff;
  border-inline-end: 2px solid #fff;
}
@media (any-hover: hover) {
  .service_reform__cases-slider .slick-prev:hover,
  .service_reform__cases-slider .slick-next:hover {
    background-color: color-mix(in srgb, #0185CF 75%, #fff);
    box-shadow: 0 4px 12px rgb(from #000 r g b/0.18);
  }
}
.service_reform__cases-slider .slick-prev {
  inset-inline-start: calc(-1 * (var(--_arrow-size) + var(--_arrow-gap)));
}
.service_reform__cases-slider .slick-prev::before {
  translate: -40% -50%;
  rotate: -135deg;
}
.service_reform__cases-slider .slick-next {
  inset-inline-end: calc(-1 * (var(--_arrow-size) + var(--_arrow-gap)));
}
.service_reform__cases-slider .slick-next::before {
  translate: -60% -50%;
  rotate: 45deg;
}
.service_reform__cases-slide {
  block-size: auto;
}
.service_reform__cases-card {
  display: flex;
  flex-direction: column;
  inline-size: 100%;
  block-size: 100%;
  text-align: start;
  background-color: #fff;
  border: none;
  border-block-end: 2px solid #0185CF;
  border-radius: 0;
  overflow: clip;
  cursor: pointer;
  position: relative;
  box-shadow: 0 3px 12px -3px rgb(from #000 r g b/0.58);
  transition: box-shadow 0.2s, translate 0.2s;
}
.service_reform__cases-card::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background-color: rgb(from #0185CF r g b/0.08);
  opacity: 0;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
@media (any-hover: hover) {
  .service_reform__cases-card:hover {
    box-shadow: 0 12px 28px -6px rgb(from #000 r g b/0.22);
    translate: 0 -12px;
  }
  .service_reform__cases-card:hover::after {
    opacity: 1;
  }
}
.service_reform__cases-card:focus-visible {
  outline: 2px solid var(--main-color);
  outline-offset: 2px;
}
.service_reform__cases-card-image {
  display: block;
  inline-size: 100%;
  aspect-ratio: 4/3;
}
.service_reform__cases-card-image img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}
.service_reform__cases-card-body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.5em;
  padding: clamp(0.875rem, 0.7196132597rem + 0.6629834254vw, 1.25rem);
}
.service_reform__cases-card-tag {
  display: inline-block;
  padding: 0.3em 1.2em;
  font-size: clamp(0.75rem, 0.6982044199rem + 0.2209944751vw, 0.875rem);
  color: #fff;
  background-color: var(--main-color);
  border-radius: var(--border-radius-sm);
}
.service_reform__cases-card-place {
  font-size: clamp(0.9375rem, 0.8598066298rem + 0.3314917127vw, 1.125rem);
  font-weight: bold;
  line-height: 1.5;
}
.service_reform__cases-card-summary {
  font-size: clamp(0.8125rem, 0.7607044199rem + 0.2209944751vw, 0.9375rem);
  line-height: 1.6;
  color: var(--body-fg-light);
}
.service_reform__cases-modal {
  --_arrow-size: clamp(2.25rem, 1.5939885496rem + 2.7989821883vw, 2.9375rem);
  --_content-max: 572px;
  inline-size: min(900px, 100% - 40px);
  block-size: fit-content;
  max-block-size: calc(100dvh - 40px);
  margin: auto;
  background-color: #fff;
  border-radius: var(--border-radius-md);
  box-shadow: 0 20px 60px -10px rgb(from #000 r g b/0.35);
  overflow: hidden;
}
.service_reform__cases-modal[open] {
  display: flex;
  flex-direction: column;
}
@media (768px < width) {
  .service_reform__cases-modal {
    block-size: min(1000px, 100dvh - 40px);
  }
}
.service_reform__cases-modal::backdrop {
  background-color: rgb(from #000 r g b/0.5);
}
.service_reform__cases-modal-inner {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-block-size: 0;
  box-sizing: border-box;
  padding: clamp(1.5rem, 0.9820441989rem + 2.2099447514vw, 2.75rem);
  padding-bottom: clamp(0.875rem, 0.6160220994rem + 1.1049723757vw, 1.5rem);
}
@media (768px >= width) {
  .service_reform__cases-modal-inner {
    padding-block-start: 40px;
  }
}
.service_reform__cases-modal-cases {
  flex: 1 1 auto;
  min-block-size: 0;
  overflow-y: auto;
  overflow-x: hidden;
}
.service_reform__cases-modal-case[hidden] {
  display: none;
}
.service_reform__cases-modal-close {
  position: absolute;
  z-index: 3;
  inset-block-start: clamp(0.625rem, 0.4178176796rem + 0.8839779006vw, 1.125rem);
  inset-inline-end: clamp(0.625rem, 0.4178176796rem + 0.8839779006vw, 1.125rem);
  inline-size: 28px;
  aspect-ratio: 1;
  color: var(--body-fg-light);
}
@media (768px >= width) {
  .service_reform__cases-modal-close {
    inset-block-start: 8px;
    inset-inline-end: 8px;
  }
}
.service_reform__cases-modal-close::before, .service_reform__cases-modal-close::after {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  inline-size: 70%;
  block-size: 2px;
  background-color: currentColor;
}
.service_reform__cases-modal-close::before {
  translate: -50% -50%;
  rotate: 45deg;
}
.service_reform__cases-modal-close::after {
  translate: -50% -50%;
  rotate: -45deg;
}
@media (any-hover: hover) {
  .service_reform__cases-modal-close:hover {
    color: var(--main-color);
  }
}
.service_reform__cases-modal-gallery {
  margin-block-end: clamp(1rem, 0.7928176796rem + 0.8839779006vw, 1.5rem);
}
@media (768px >= width) {
  .service_reform__cases-modal-gallery {
    margin-block-end: clamp(0.5rem, 0.0229007634rem + 2.0356234097vw, 1rem);
  }
}
.service_reform__cases-modal-frame {
  position: relative;
  box-sizing: border-box;
  max-inline-size: calc(var(--_content-max) + 2 * (var(--_arrow-size) + 30px));
  margin-inline: auto;
  padding-inline: calc(var(--_arrow-size) + 30px);
}
@media (768px >= width) {
  .service_reform__cases-modal-frame {
    padding-inline: 0;
    margin-inline: calc(var(--_arrow-size) / 2);
  }
}
.service_reform__cases-modal-slider:not(.slick-initialized) .service_reform__cases-modal-imgslide:not(:first-child) {
  display: none;
}
.service_reform__cases-modal-imgslide img {
  inline-size: 100%;
  aspect-ratio: 16/10;
  object-fit: cover;
}
.service_reform__cases-modal-arrow {
  position: absolute;
  inset-block-start: 50%;
  translate: 0 -50%;
  z-index: 2;
  font-size: 0;
  inline-size: var(--_arrow-size);
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: #0185CF;
  box-shadow: 0 3px 8px rgb(from #000 r g b/0.12);
  transition: background-color 0.3s, box-shadow 0.3s;
}
.service_reform__cases-modal-arrow::before {
  content: "";
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  inline-size: 28%;
  block-size: 28%;
  border-block-start: 2px solid #fff;
  border-inline-end: 2px solid #fff;
}
@media (any-hover: hover) {
  .service_reform__cases-modal-arrow:hover {
    background-color: color-mix(in srgb, #0185CF 75%, #fff);
    box-shadow: 0 4px 12px rgb(from #000 r g b/0.18);
  }
}
.service_reform__cases-modal-arrow.prev {
  inset-inline-start: 0;
}
.service_reform__cases-modal-arrow.prev::before {
  translate: -40% -50%;
  rotate: -135deg;
}
@media (768px >= width) {
  .service_reform__cases-modal-arrow.prev {
    inset-inline-start: calc(-1 * var(--_arrow-size) / 2);
  }
}
.service_reform__cases-modal-arrow.next {
  inset-inline-end: 0;
}
.service_reform__cases-modal-arrow.next::before {
  translate: -60% -50%;
  rotate: 45deg;
}
@media (768px >= width) {
  .service_reform__cases-modal-arrow.next {
    inset-inline-end: calc(-1 * var(--_arrow-size) / 2);
  }
}
.service_reform__cases-modal-dots {
  margin-block-start: clamp(0.625rem, 0.4696132597rem + 0.6629834254vw, 1rem);
}
@media (768px >= width) {
  .service_reform__cases-modal-dots {
    margin-block-start: clamp(0.375rem, 0.0171755725rem + 1.5267175573vw, 0.75rem);
  }
}
.service_reform__cases-modal-dots .slick-dots {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
}
.service_reform__cases-modal-dots .slick-dots li {
  display: block flex;
  line-height: 0;
}
.service_reform__cases-modal-dots .slick-dots button {
  font-size: 0;
  inline-size: 10px;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--main-color) 25%, #fff);
  transition: background-color 0.3s;
}
.service_reform__cases-modal-dots .slick-dots .slick-active button {
  background-color: var(--main-color);
}
.service_reform__cases-modal-detail {
  max-inline-size: var(--_content-max);
  margin-inline: auto;
}
.service_reform__cases-modal-detail-title {
  padding: clamp(0.5rem, 0.3964088398rem + 0.4419889503vw, 0.75rem) 1em;
  font-size: clamp(1rem, 0.8964088398rem + 0.4419889503vw, 1.25rem);
  font-weight: bold;
  color: #fff;
  background-color: var(--main-color);
}
@media (768px >= width) {
  .service_reform__cases-modal-detail-title {
    padding-block: clamp(0.1875rem, -0.1106870229rem + 1.272264631vw, 0.5rem);
    font-size: clamp(0.8125rem, 0.6335877863rem + 0.7633587786vw, 1rem);
  }
}
.service_reform__cases-modal-table {
  inline-size: 100%;
  border-collapse: collapse;
  font-size: clamp(0.8125rem, 0.7348066298rem + 0.3314917127vw, 1rem);
}
@media (768px >= width) {
  .service_reform__cases-modal-table {
    font-size: clamp(0.6875rem, 0.5682251908rem + 0.5089058524vw, 0.8125rem);
  }
}
.service_reform__cases-modal-table th,
.service_reform__cases-modal-table td {
  min-block-size: 45px;
  padding-block: 8px;
  padding-inline: 1em;
  border-block: 1px solid #D6D6D6;
  border-inline: none;
  line-height: 1.5;
  vertical-align: middle;
}
@media (768px >= width) {
  .service_reform__cases-modal-table th,
  .service_reform__cases-modal-table td {
    min-block-size: clamp(1.875rem, 1.2786259542rem + 2.5445292621vw, 2.5rem);
    padding-block: clamp(0.1875rem, 0.0085877863rem + 0.7633587786vw, 0.375rem);
    line-height: 1.4;
  }
}
.service_reform__cases-modal-table th {
  inline-size: clamp(5.25rem, 3.1030534351rem + 9.1603053435vw, 7.5rem);
  white-space: nowrap;
  font-size: clamp(0.875rem, 0.6364503817rem + 1.0178117048vw, 1.125rem);
  font-weight: normal;
  text-align: center;
  color: var(--body-fg);
  background-color: #DCF2FE;
}
@media (768px >= width) {
  .service_reform__cases-modal-table th {
    inline-size: clamp(4.25rem, 2.5801526718rem + 7.1246819338vw, 6rem);
    font-size: clamp(0.75rem, 0.5710877863rem + 0.7633587786vw, 0.9375rem);
  }
}
.service_reform__cases-modal-table td {
  text-align: start;
}
.service_reform__cases-modal-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5em;
}
@media (768px >= width) {
  .service_reform__cases-modal-tags {
    gap: 0.3em;
  }
}
.service_reform__cases-modal-tag {
  display: inline-block;
  padding: 0.25em 0.7em;
  font-size: clamp(0.625rem, 0.5732044199rem + 0.2209944751vw, 0.75rem);
  color: var(--body-fg-light);
  background-color: #D6D6D6;
  border-radius: 5px;
}
@media (768px >= width) {
  .service_reform__cases-modal-tag {
    padding-block: 0.12em;
    font-size: clamp(0.5625rem, 0.4432251908rem + 0.5089058524vw, 0.6875rem);
  }
}
.service_reform__cases-modal-cta {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: end;
  column-gap: clamp(0.3125rem, 0.1830110497rem + 0.5524861878vw, 0.625rem);
  margin-block-start: clamp(0.625rem, 0.4178176796rem + 0.8839779006vw, 1.125rem);
}
@media (768px >= width) {
  .service_reform__cases-modal-cta {
    display: flex;
    justify-content: center;
  }
}
.service_reform__cases-modal-cta-sumineko {
  grid-column: 1;
  justify-self: end;
  inline-size: clamp(4.5625rem, 3.604281768rem + 4.0883977901vw, 6.875rem);
  aspect-ratio: 110/92;
  block-size: auto;
  flex-shrink: 0;
}
.service_reform__cases-modal-cta-btn {
  grid-column: 2;
  font-size: clamp(0.9375rem, 0.8080110497rem + 0.5524861878vw, 1.25rem);
  display: block grid;
  grid-template: "text after"/1fr auto;
  align-items: center;
  padding: 0.7em 1.6em;
  font-weight: bold;
  text-decoration: none;
  text-align: center;
  border-radius: calc(infinity * 1px);
  background: var(--main-color);
  color: #fff;
  transition: background-color 0.3s;
}
.service_reform__cases-modal-cta-btn:disabled, .service_reform__cases-modal-cta-btn[aria-disabled=true] {
  background-color: oklch(from var(--main-color) calc(l + 0.2) calc(c - 0.1) h);
}
@media (any-hover: hover) {
  .service_reform__cases-modal-cta-btn:not(:disabled, [aria-disabled=true]):hover {
    background-color: color-mix(in srgb, var(--main-color) 70%, #fff);
  }
}
.service_reform__cases-modal-cta-btn {
  text-align: revert;
}
.service_reform__cases-modal-cta-btn::after {
  grid-area: after;
  content: "";
  display: block flow;
  inline-size: clamp(1.625rem, 1.4696132597rem + 0.6629834254vw, 2rem);
  block-size: clamp(1.625rem, 1.4696132597rem + 0.6629834254vw, 2rem);
  margin-inline-start: clamp(0.625rem, 0.4696132597rem + 0.6629834254vw, 1rem);
  border-radius: calc(infinity * 1px);
  background: #fff url("/image/arrow_right_blue_bold.svg") no-repeat center/16px;
}
.service_reform__main {
  position: relative;
  height: fit-content;
  margin-bottom: clamp(5rem, 2.1253453039rem + 12.2651933702vw, 11.9375rem);
}
.service_reform__main.outermost_container {
  overflow-x: clip;
  overflow-y: unset;
}
.service_reform__main h2.title {
  display: flex;
  align-items: flex-end;
  font-size: clamp(1.875rem, 1.6160220994rem + 1.1049723757vw, 2.5rem);
  margin-bottom: 0.75em;
  font-weight: bold;
  color: var(--main-color);
}
.service_reform__main h2.title::before {
  display: inline-block;
  content: "";
  margin: 0 clamp(0.5rem, 0.2669198895rem + 0.9944751381vw, 1.0625rem) 0 calc(-1 * clamp(1.0625rem, 0.7776243094rem + 1.2154696133vw, 1.75rem));
  width: 12px;
  height: 100%;
  background-color: var(--main-color);
}
.service_reform__main p.desc {
  font-size: clamp(1rem, 0.7614503817rem + 1.0178117048vw, 1.25rem);
  font-weight: bold;
  line-height: 1.8;
  margin-bottom: clamp(2.5rem, 1.9820441989rem + 2.2099447514vw, 3.75rem);
}
.service_reform__main .spacer {
  margin-bottom: clamp(3.75rem, 1.4968922652rem + 9.6132596685vw, 9.1875rem);
}
.service_reform__main-contents {
  --_s: clamp(0.72, calc(0.72 + 0.28 * (100vw - 1280px) / 380px), 1);
  --_inner_wrapper_col_min-height: 600px;
  --_inner_wrapper_row_min-height: calc(430px * var(--_s));
  --_inner_wrapper_item_max-width: calc(300px * var(--_s));
  --_inner_wrapper_item_min-height: calc(420px * var(--_s));
  --_inner_wrapper_item_image_min-height: calc(350px * var(--_s));
  --_inner_wrapper_item_image_margin-bottom: calc(40px * var(--_s));
  width: 100%;
}
@media (1280px > width) {
  .service_reform__main-contents {
    --_s: 1;
  }
}
.service_reform__main-contents_inner {
  display: flex;
  flex-wrap: wrap;
  gap: calc(40px * var(--_s));
}
.service_reform__main-contents_inner_image {
  margin-right: calc(clamp(1.25rem, -0.625rem + 3.90625vw, 2.5rem) * var(--_s));
}
.service_reform__main-contents_inner_image img {
  width: calc(clamp(47.5rem, 40.1875rem + 15.234375vw, 52.375rem) * var(--_s));
}
@media (768px > width) {
  .service_reform__main-contents_inner_image {
    margin-right: 0;
  }
  .service_reform__main-contents_inner_image img {
    width: 95%;
  }
}
.service_reform__main-contents_inner_image.reverse {
  display: flex;
  justify-content: flex-end;
  margin-right: 0;
}
.service_reform__main-contents_inner_image.reverse img {
  object-fit: contain;
  object-position: top;
}
.service_reform__main-contents_inner_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  column-gap: calc(49px * var(--_s));
  flex-grow: 1;
  max-width: calc(720px * var(--_s));
  min-height: var(--_inner_wrapper_row_min-height);
}
@media (1280px > width) {
  .service_reform__main-contents_inner_wrapper {
    flex-direction: column;
    align-items: flex-start;
    min-height: var(--_inner_wrapper_col_min-height);
    align-content: center;
  }
}
@media (1280px > width) {
  .service_reform__main-contents_inner_wrapper {
    align-items: center;
    justify-content: center;
    flex-direction: row;
    max-width: 100%;
    min-height: var(--_inner_wrapper_row_min-height);
  }
}
@media (768px > width) {
  .service_reform__main-contents_inner_wrapper {
    max-width: calc(100% - var(--gutter-outer) * 2);
    min-height: unset;
    margin-inline: auto;
    --_arrow-size: clamp(1rem, 0.6421755725rem + 1.5267175573vw, 1.375rem);
    display: block grid;
    grid-template-columns: 1fr auto 1fr;
    row-gap: 16px;
    column-gap: var(--_arrow-size);
  }
}
.service_reform__main-contents_inner_wrapper_item {
  display: flex;
  justify-content: center;
  position: relative;
  max-width: var(--_inner_wrapper_item_max-width);
  min-height: var(--_inner_wrapper_item_min-height);
  inline-size: calc(100% - var(--gutter-outer) * 2);
}
.service_reform__main-contents_inner_wrapper_item_image {
  position: absolute;
  top: calc(30px * var(--_s));
  margin-bottom: var(--_inner_wrapper_item_image_margin-bottom);
}
.service_reform__main-contents_inner_wrapper_item_image img {
  width: calc(300px * var(--_s));
}
@media (1280px > width) {
  .service_reform__main-contents_inner_wrapper_item_image {
    top: 0;
    --_inner_wrapper_item_image_margin-bottom: 20px;
    margin-bottom: var(--_inner_wrapper_item_image_margin-bottom);
  }
}
.service_reform__main-contents_inner_wrapper_item_text {
  position: absolute;
  top: calc(30px * var(--_s) + var(--_inner_wrapper_item_image_min-height));
  font-size: calc(30px * var(--_s));
  font-weight: bold;
  line-height: 1.5;
  text-align: center;
  color: var(--main-color);
}
@media (1280px > width) {
  .service_reform__main-contents_inner_wrapper_item_text {
    top: calc(var(--_inner_wrapper_item_image_min-height));
  }
}
.service_reform__main-contents_inner_wrapper_item:first-of-type .service_reform__main-contents_inner_wrapper_item_text {
  color: #666666;
}
@media (768px > width) {
  .service_reform__main-contents_inner_wrapper_item {
    grid-row: span 2;
    display: block grid;
    grid-template-rows: subgrid;
    row-gap: 0;
    justify-content: normal;
    position: static;
    max-width: unset;
    min-height: unset;
    inline-size: auto;
  }
  .service_reform__main-contents_inner_wrapper_item_image {
    position: static;
    margin-bottom: unset;
  }
  .service_reform__main-contents_inner_wrapper_item_image > img {
    width: 100%;
  }
  .service_reform__main-contents_inner_wrapper_item_text {
    position: static;
    font-size: clamp(1.5rem, 1.1421755725rem + 1.5267175573vw, 1.875rem);
  }
}
.service_reform__main-contents_inner_wrapper_item_desc {
  width: 100%;
  max-width: calc(720px * var(--_s));
  min-width: calc(375px - var(--gutter-outer) * 2);
  min-height: 60px;
}
@media (1280px > width) {
  .service_reform__main-contents_inner_wrapper_item_desc {
    max-width: var(--_inner_wrapper_item_max-width);
    margin: 20px 0 10px 0;
  }
}
@media (1280px > width) {
  .service_reform__main-contents_inner_wrapper_item_desc {
    max-width: 720px;
    min-width: calc(375px - var(--gutter-outer) * 2);
    margin: 0;
  }
}
@media (768px > width) {
  .service_reform__main-contents_inner_wrapper_item_desc {
    grid-column: span 3;
    min-height: unset;
    max-width: unset;
    min-width: unset;
  }
}
.service_reform__main-contents_inner_wrapper_item_desc p {
  font-size: calc(clamp(0.875rem, 0.7714088398rem + 0.4419889503vw, 1.125rem) * var(--_s));
}
.service_reform__main-contents_inner_wrapper .arrow_wrapper {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: calc(22px * var(--_s));
  min-width: calc(22px * var(--_s));
}
@media (1280px > width) {
  .service_reform__main-contents_inner_wrapper .arrow_wrapper {
    max-width: var(--_inner_wrapper_item_max-width);
    min-width: var(--_inner_wrapper_item_max-width);
    margin: 20px 0 10px 0;
  }
}
@media (1280px > width) {
  .service_reform__main-contents_inner_wrapper .arrow_wrapper {
    max-width: 22px;
    min-width: 22px;
    margin: 0;
  }
}
@media (768px > width) {
  .service_reform__main-contents_inner_wrapper .arrow_wrapper {
    min-width: unset;
  }
}
.service_reform__main-contents_inner_wrapper .arrow_wrapper .arrow {
  width: 0;
  height: 0;
  border-style: solid;
  border-width: calc(22px * var(--_s)) 0 calc(22px * var(--_s)) calc(22px * var(--_s));
  /* 高さ(44px)と幅(22px) */
  border-color: transparent transparent transparent var(--main-color);
  /* 右が頂点の色 */
}
@media (1280px > width) {
  .service_reform__main-contents_inner_wrapper .arrow_wrapper .arrow {
    border-width: 22px 22px 0 22px;
    border-color: var(--main-color) transparent transparent transparent;
    /* 下向きの三角形 */
  }
}
@media (1280px > width) {
  .service_reform__main-contents_inner_wrapper .arrow_wrapper .arrow {
    border-width: 22px 0 22px 22px;
    /* 高さ(44px)と幅(22px) */
    border-color: transparent transparent transparent var(--main-color);
    /* 右が頂点の色 */
  }
}
@media (768px > width) {
  .service_reform__main-contents_inner_wrapper .arrow_wrapper .arrow {
    border-width: var(--_arrow-size);
    border-right: 0;
    /* 高さ(32~44px)と幅(16~22px) */
    border-color: transparent transparent transparent var(--main-color);
    /* 右が頂点の色 */
  }
}
.service_reform__main-contents_inner.reverse {
  justify-content: flex-end;
}
@media (1280px > width) {
  .service_reform__main-contents_inner.reverse {
    flex-direction: column-reverse;
  }
}
.service_reform__main-contents-2 {
  --_s: clamp(0.72, calc(0.72 + 0.28 * (100vw - 1280px) / 380px), 1);
  --_inner_wrapper_col_min-height: 600px;
  --_inner_wrapper_row_min-height: calc(450px * var(--_s));
  --_inner_wrapper_item_max-width: calc(340px * var(--_s));
  --_inner_wrapper_item_min-height: calc(350px * var(--_s));
  --_inner_wrapper_item_image_min-height: calc(287px * var(--_s));
  --_inner_wrapper_item_image_margin-bottom: calc(39px * var(--_s));
  width: 100%;
  margin-bottom: clamp(3.5625rem, 2.0863259669rem + 6.2983425414vw, 7.125rem);
}
@media (1280px > width) {
  .service_reform__main-contents-2 {
    --_s: 1;
  }
}
.service_reform__main-contents-2_inner {
  display: flex;
  flex-wrap: wrap;
  gap: calc(40px * var(--_s));
}
.service_reform__main-contents-2_inner_image {
  margin-right: calc(clamp(1.25rem, -0.625rem + 3.90625vw, 2.5rem) * var(--_s));
}
.service_reform__main-contents-2_inner_image img {
  width: calc(clamp(47.5rem, 40.1875rem + 15.234375vw, 52.375rem) * var(--_s));
}
@media (768px > width) {
  .service_reform__main-contents-2_inner_image {
    margin-right: 0;
  }
  .service_reform__main-contents-2_inner_image img {
    width: 95%;
  }
}
.service_reform__main-contents-2_inner_wrapper {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: calc(40px * var(--_s));
  flex-grow: 1;
  min-height: var(--_inner_wrapper_row_min-height);
}
@media (1280px > width) {
  .service_reform__main-contents-2_inner_wrapper {
    flex-direction: column;
    align-items: flex-start;
    min-height: var(--_inner_wrapper_col_min-height);
  }
}
@media (1280px > width) {
  .service_reform__main-contents-2_inner_wrapper {
    align-items: center;
    justify-content: center;
    flex-direction: row;
    min-height: var(--_inner_wrapper_row_min-height);
  }
}
@media (768px > width) {
  .service_reform__main-contents-2_inner_wrapper {
    flex-direction: column;
    min-height: var(--_inner_wrapper_col_min-height);
  }
}
.service_reform__main-contents-2_inner_wrapper_item {
  position: relative;
  max-width: var(--_inner_wrapper_item_max-width);
  min-width: calc((375px - var(--gutter-outer) * 2) * var(--_s));
  min-height: var(--_inner_wrapper_item_min-height);
  inline-size: calc(100% - var(--gutter-outer) * 2);
}
@media (1440px <= width) {
  .service_reform__main-contents-2_inner_wrapper_item {
    min-height: calc(var(--_inner_wrapper_item_min-height) + 40px * var(--_s));
  }
}
.service_reform__main-contents-2_inner_wrapper_item_image {
  position: absolute;
  top: calc(115px * var(--_s));
  margin-bottom: var(--_inner_wrapper_item_image_margin-bottom);
}
.service_reform__main-contents-2_inner_wrapper_item_image img {
  width: calc(340px * var(--_s));
}
@media (1280px > width) {
  .service_reform__main-contents-2_inner_wrapper_item_image {
    top: 0;
    --_inner_wrapper_item_image_margin-bottom: 20px;
    margin-bottom: var(--_inner_wrapper_item_image_margin-bottom);
  }
}
.service_reform__main-contents-2_inner_wrapper_item_text {
  position: absolute;
  top: calc(115px * var(--_s) + var(--_inner_wrapper_item_image_min-height) + 40px * var(--_s));
  font-size: calc(clamp(0.875rem, 0.7714088398rem + 0.4419889503vw, 1.125rem) * var(--_s));
  line-height: 1.5;
}
@media (1280px > width) {
  .service_reform__main-contents-2_inner_wrapper_item_text {
    top: calc(var(--_inner_wrapper_item_image_min-height) + 20px);
  }
}
.service_reform__main_banner {
  display: block grid;
  grid-template-columns: repeat(auto-fit, minmax(min(340px, 100%), 1fr));
  justify-items: center;
  row-gap: clamp(1.875rem, 0.5801104972rem + 5.5248618785vw, 5rem);
  column-gap: 40px;
}
@media (1280px < width) {
  .service_reform__main_banner {
    inline-size: calc(100% - var(--gutter-outer) * 2);
    max-inline-size: min(1240px, 100vw - var(--scrollbar-width));
  }
}
.service_reform__main_banner-item {
  width: 100%;
  max-width: 420px;
  text-align: center;
  font-size: clamp(0.875rem, 0.7714088398rem + 0.4419889503vw, 1.125rem);
}
@media (768px < width) {
  .service_reform__main_banner-item {
    max-width: 600px;
  }
}
.service_reform__main_banner-item-link {
  display: inline flow-root;
  margin-bottom: 1.5em;
  transition: filter 0.1s, translate 0.1s;
}
@media (any-hover: hover) {
  .service_reform__main_banner-item-link:hover {
    filter: drop-shadow(0 3px 20px rgb(from #000 r g b/0.08));
    translate: 0 -5px;
  }
}
.service_reform__main_banner-item-link img {
  width: 100%;
}

#full-renovation .service_reform__main-contents {
  --_s: clamp(0.72, calc(0.72 + 0.28 * (100vw - 1280px) / 450px), 1);
  --_inner_wrapper_item_max-width: calc(350px * var(--_s));
}
@media (1280px > width) {
  #full-renovation .service_reform__main-contents {
    --_s: 1;
  }
}
#full-renovation .service_reform__main-contents .service_reform__main-contents_inner_wrapper {
  max-width: calc(764px * var(--_s));
  column-gap: calc(20px * var(--_s));
}
@media (1280px > width) {
  #full-renovation .service_reform__main-contents .service_reform__main-contents_inner_wrapper {
    max-width: 100%;
  }
}
@media (768px > width) {
  #full-renovation .service_reform__main-contents .service_reform__main-contents_inner_wrapper {
    width: 100%;
    max-width: calc(100% - var(--gutter-outer) * 2);
    column-gap: var(--_arrow-size);
  }
}
#full-renovation .service_reform__main-contents .service_reform__main-contents_inner_wrapper_item_image img {
  width: calc(350px * var(--_s));
}
@media (768px > width) {
  #full-renovation .service_reform__main-contents .service_reform__main-contents_inner_wrapper_item_image img {
    width: 100%;
  }
}