*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol {
  margin: 0;
}

ul,
ol {
  padding: 0;
  list-style: none;
}

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

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
textarea,
select {
  color: inherit;
  font: inherit;
}

button {
  border: 0;
  cursor: pointer;
}

.wpcf7 .screen-reader-response {
  position: absolute;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  border: 0;
  word-wrap: normal !important;
  word-break: normal !important;
}

.wpcf7 .hidden-fields-container {
  display: none;
}

.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  border: 2px solid #03daaf; /* Blue */
}

.wpcf7 form.init .wpcf7-response-output,
.wpcf7 form.resetting .wpcf7-response-output,
.wpcf7 form.submitting .wpcf7-response-output {
  display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
  border-color: #46b450; /* Green */
}

.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.aborted .wpcf7-response-output {
  border-color: #dc3232; /* Red */
}

.wpcf7 form.spam .wpcf7-response-output {
  border-color: #ff4332; /* Orange */
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.unaccepted .wpcf7-response-output,
.wpcf7 form.payment-required .wpcf7-response-output {
  border-color: #ffb900; /* Yellow */
}

.wpcf7-form-control-wrap {
  position: relative;
}

.wpcf7-not-valid-tip {
  color: #dc3232; /* Red */
  font-size: 1em;
  font-weight: normal;
  display: block;
}

.use-floating-validation-tip .wpcf7-not-valid-tip {
  position: relative;
  top: -2ex;
  left: 1em;
  z-index: 100;
  border: 1px solid #dc3232;
  background: #ffffff;
  padding: 0.2em 0.8em;
  width: 24em;
}

.wpcf7-list-item {
  display: inline-block;
  margin: 0 0 0 1em;
}

.wpcf7-list-item-label::before,
.wpcf7-list-item-label::after {
  content: " ";
}

.wpcf7-spinner {
  visibility: hidden;
  display: inline-block;
  background-color: #2a2726; /* Dark Gray 800 */
  opacity: 0.75;
  width: 24px;
  height: 24px;
  border: none;
  border-radius: 100%;
  padding: 0;
  margin: 0 24px;
  position: relative;
}

form.submitting .wpcf7-spinner {
  visibility: visible;
}

.wpcf7-spinner::before {
  content: "";
  position: absolute;
  background-color: #fbfbfc; /* Light Gray 100 */
  top: 4px;
  left: 4px;
  width: 6px;
  height: 6px;
  border: none;
  border-radius: 100%;
  transform-origin: 8px 8px;
  animation-name: spin;
  animation-duration: 1000ms;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

@media (prefers-reduced-motion: reduce) {
  .wpcf7-spinner::before {
    animation-name: blink;
    animation-duration: 2000ms;
  }
}

@keyframes spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

@keyframes blink {
  from {
    opacity: 0;
  }

  50% {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.wpcf7 [inert] {
  opacity: 0.5;
}

.wpcf7 input[type="file"] {
  cursor: pointer;
}

.wpcf7 input[type="file"]:disabled {
  cursor: default;
}

.wpcf7 .wpcf7-submit:disabled {
  cursor: not-allowed;
}

.wpcf7 input[type="url"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"] {
  direction: ltr;
}

.wpcf7-reflection > output {
  display: list-item;
  list-style: none;
}

.wpcf7-reflection > output[hidden] {
  display: none;
}

@charset "utf-8";

/* Shared site foundations, navigation and footer */

/* Motion */

@keyframes logo-parallax-left {
  from { transform: translateX(var(--logo-motion-start)); }
  to { transform: translateX(var(--logo-motion-end)); }
}
@keyframes logo-parallax-right {
  from { transform: translateX(var(--logo-motion-start)); }
  to { transform: translateX(var(--logo-motion-end)); }
}
@keyframes hero-background-reveal {
  from {
    opacity: 0;
    transform: translate3d(-50%, var(--hero-wave-parallax-y, 0px), 0) scale(1.08);
  }
  to {
    opacity: 1;
    transform: translate3d(-50%, var(--hero-wave-parallax-y, 0px), 0) scale(1.04);
  }
}
@keyframes hero-lead-write {
  from {
    clip-path: inset(0 100% 0 0);
    opacity: 0;
    transform: translateY(42px);
  }
  to {
    clip-path: inset(0 0 0 0);
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes hero-text-rise {
  from {
    opacity: 0;
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes hero-workers-rise {
  from {
    opacity: 0;
    transform: translateY(36px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@keyframes team-marquee {
  from {
    transform: translateX(var(--team-start));
  }
  to {
    transform: translateX(calc(var(--team-start) - var(--team-distance)));
  }
}
@keyframes logo-marquee-left {
  from {
    transform: translate3d(var(--logo-start-offset), 0, 0);
  }
  to {
    transform: translate3d(calc(var(--logo-start-offset) - var(--logo-cycle-distance)), 0, 0);
  }
}
@keyframes logo-marquee-right {
  from {
    transform: translate3d(calc(var(--logo-start-offset) - var(--logo-cycle-distance)), 0, 0);
  }
  to {
    transform: translate3d(var(--logo-start-offset), 0, 0);
  }
}

/* shared */

/* base */
:root {
  --main1: #03a685;
  --hero1: #262323;
  --accent1: #03ddb1;
  --white1: #ffffff;
  --gray1: #f8faf4;
  --gray2: #eef1e5;
  --gray3: #6e847e;
  --black1: #1e1e1e;
  --gradient1: linear-gradient(105deg, #028e72 0%, #03a685 45%, #03ddb1 100%);
  --gradient2: linear-gradient(100deg, #028e72 0%, #03a685 55%, #03ddb1 100%);
  --gradient2-reverse: linear-gradient(100deg, #03ddb1 0%, #03a685 45%, #028e72 100%);
  --noto-sans: "Noto Sans JP", sans-serif;
  --barlow: "Barlow Condensed", sans-serif;
  --inter: "Inter", sans-serif;
  --content-width: 1248px;
  --padding-sp: clamp(20px, 4.1vw, 40px);
  --section-space: clamp(76px, 9vw, 140px);
  --basic-transition: all 0.4s ease-out;
  --service-dark: #02846a;
  --service-gradient: radial-gradient(ellipse at center, #02a282 0%, #039175 50%, #02846a 100%);
  --service-banner-gradient: var(--service-gradient);
  --pricing-font-56-36: clamp(2.25rem, calc(1.352rem + 3.356vw), 3.5rem);
  --pricing-font-40-26: clamp(1.625rem, calc(.997rem + 2.349vw), 2.5rem);
  --pricing-font-28-22: clamp(1.375rem, calc(1.106rem + 1.007vw), 1.75rem);
  --pricing-font-22-20: clamp(1.25rem, calc(1.16rem + .336vw), 1.375rem);
  --pricing-font-120-80: clamp(5rem, calc(3.205rem + 6.711vw), 7.5rem);
  --pricing-font-30-20: clamp(1.25rem, calc(.801rem + 1.678vw), 1.875rem);
  --service-content-width: 1280px;
  --service-padding: clamp(20px, calc(5.882vw - 5.176px), 40px);
  --service-font-52-28: clamp(1.75rem, calc(.673rem + 4.027vw), 3.25rem);
  --service-font-56-24: clamp(1.5rem, calc(.064rem + 5.369vw), 3.5rem);
  --service-font-40-24: clamp(1.5rem, calc(.782rem + 2.685vw), 2.5rem);
  --service-font-32-20: clamp(1.25rem, calc(.712rem + 2.013vw), 2rem);
  --service-font-32-24: clamp(1.5rem, calc(1.141rem + 1.342vw), 2rem);
  --service-font-40-28: clamp(1.75rem, calc(1.211rem + 2.013vw), 2.5rem);
  --service-font-25-16: clamp(1rem, calc(.596rem + 1.51vw), 1.5625rem);
  --service-font-18-16: clamp(1rem, calc(.91rem + .336vw), 1.125rem);
  --service-font-28-20: clamp(1.25rem, calc(.891rem + 1.342vw), 1.75rem);
  --service-font-24-18: clamp(1.125rem, calc(.856rem + 1.007vw), 1.5rem);
  --service-font-18-14: clamp(.875rem, calc(.696rem + .671vw), 1.125rem);
  --service-font-16-14: clamp(.875rem, calc(.785rem + .336vw), 1rem);
  --ai-sky: #7de6d2;
  --ai-orange: #ff2511;
  --ai-warm: #ff7c70;
  --ai-panel: #f2f6e7;
  --ai-card-dark: #15806b;
}
html {
  scroll-padding-top: 82px;
}
body {
  min-width: 320px;
  overflow-x: hidden;
  color: var(--black1);
  background: var(--white1);
  font-family: var(--noto-sans);
  font-size: 16px;
  font-weight: 400;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}
@media screen and (max-width: 860px) {
  html {
    scroll-padding-top: 64px;
  }
}
@media screen and (max-width: 520px) {
  body {
    font-size: 14px;
  }
}
@media screen and (min-width: 861px) {
  :root {
    --content-width: 1280px;
  }
}
@media screen and (max-width: 520px) {
  html {
    scroll-padding-top: 68px;
  }
}
@media screen and (min-width: 861px) and (max-width: 1100px) {
  html {
    scroll-padding-top: 64px;
  }
}
@media screen and (max-width: 520px) {
  :root {
    --mobile-content-width: min(350px, calc(100vw - 40px));
  }
}

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

/* section-inner */
@media screen and (max-width: 860px) {
  
  .footer__inner {
    width: min(100% - (var(--padding-sp) * 2), var(--content-width));
  }
}
@media screen and (max-width: 520px) {
  
  .footer__inner {
    width: calc(100% - (var(--padding-sp) * 2));
  }

  
  .flow .section-inner,
  .resources .section-inner,
  .faq .section-inner {
    width: var(--mobile-content-width);
    max-width: 100%;
  }
}

/* section-title */

/* c-btn */
.c-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-width: 180px;
  min-height: 54px;
  padding: 12px 20px;
  color: var(--white1);
  background: var(--gradient1);
  border: 0;
  border-radius: 4px;
  box-shadow: 0 7px 7px -7px rgb(2 142 114 / 18%);
  font-family: var(--inter);
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  transition: var(--basic-transition);
}
.c-btn img {
  width: auto;
  max-height: 20px;
  filter: brightness(0) invert(1);
}
.c-btn:hover {
  color: var(--main1);
  background: var(--white1);
}
.c-btn:not(.c-btn--outline):not(.c-btn--white):not(.c-btn--small):hover {
  box-shadow:
  inset 0 0 0 1px var(--main1),
  0 7px 7px -7px rgb(2 142 114 / 18%);
}
.c-btn:hover img {
  filter: none;
}
.c-btn--outline {
  color: var(--main1);
  background: var(--white1);
  border: 1px solid transparent;
  border-color: var(--main1);
}
.c-btn--outline img {
  filter: none;
}
.c-btn--outline:hover {
  color: var(--white1);
  background: var(--gradient1);
}
.c-btn--outline:hover img {
  filter: brightness(0) invert(1);
}
.c-btn--white {
  color: var(--main1);
  background: var(--white1);
  border: 1px solid transparent;
}
.c-btn--white img {
  filter: none;
}
.c-btn--white:hover {
  color: var(--white1);
  background: var(--gradient1);
  border-color: var(--main1);
}
.c-btn--white:hover img {
  filter: brightness(0) invert(1);
}
.c-btn--header {
  min-width: 176px;
  min-height: 42px;
  padding: 9px 22px;
  font-size: 15px;
}
.c-btn--header.c-btn--outline {
  min-width: 200px;
}
@media screen and (max-width: 1200px) {
  .c-btn--header {
    padding-inline: 12px;
  }
}
@media screen and (max-width: 520px) {
  .c-btn {
    min-height: 48px;
    min-width: 0;
    font-size: 13px;
  }
}

/* button-pair */
.button-pair {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

/* fade-in */
.fade-in {
  opacity: 0;
  transform: translateY(20px);
  transition:
  opacity 0.7s ease-out,
  transform 0.7s ease-out;
}
.fade-in--visible {
  opacity: 1;
  transform: translateY(0);
}

/* header */
.header {
  z-index: 50;
  top: 0;
  background: rgb(255 255 255 / 96%);
  border-bottom: 1px solid rgb(3 166 133 / 12%);
}
.header.is-scrolled {
  box-shadow: 0 3px 15px rgb(1 135 108 / 12%);
}
.header__inner {
  display: flex;
  align-items: center;
  width: min(100% - 150px, 1290px);
  min-height: 102px;
  margin-inline: auto;
}
.header__logo,
.footer__brand > a {
  color: var(--black1);

  font-weight: 900;
  letter-spacing: -0.05em;
  line-height: 1.2;
  white-space: nowrap;
}
.header__actions {
  display: flex;
  gap: 12px;
  margin-left: 36px;
}
@media screen and (max-width: 1200px) {
  .header__inner {
    width: min(100% - 40px, 1320px);
  }

  .header__actions {
    margin-left: 20px;
  }
}
@media screen and (max-width: 980px) {

  .header__actions {
    margin-left: auto;
  }
}
@media screen and (max-width: 860px) {
  .header__inner {
    min-height: 68px;
    width: min(100% - 32px, 1320px);
  }

  .header__logo {
    font-size: 19px;
  }

  .header__actions {
    display: none;
  }
}
@media screen and (min-width: 861px) {
  .header__inner {
    width: min(100% - 160px, 1280px);
  }

  .header__logo {
    font-size: 25.25px;
    line-height: 1;
  }

  .header__actions {
    gap: 16px;
    margin-left: 40px;
  }
}
@media screen and (max-width: 520px) {
  .header__inner {
    width: calc(100% - 40px);
  }

  .header__logo {
    font-size: 18px;
  }
}
.header {
  position: fixed;
  right: 0;
  left: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transform: translateY(-100%);
  transition: transform 0.45s ease, opacity 0.3s ease, visibility 0s linear 0.45s;
}
.header.is-scrolled {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}
@media screen and (min-width: 861px) and (max-width: 1100px) {
  .header__inner {
    width: min(calc(100% - 40px), 1020px);
  }

  
  .header__actions {
    display: none;
  }
}
.header__logo,
.footer__brand > .footer__logo {
  display: block;
  height: auto;
  flex: 0 0 auto;
  font-size: 0;
  letter-spacing: 0;
  line-height: 0;
}
.header__logo {
  width: 248px;
}
@media screen and (max-width: 1200px) {
  .header__logo { width: 220px; }
}
.header__logo img,
.footer__logo img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 860px) {
  .header__logo {
    width: 144px;
  }
}

/* burger */
.burger,
.mobile-menu {
  display: none;
}
.burger:focus {
  outline: none;
}
.burger:focus-visible {
  border-radius: 2px;
  outline: 2px solid var(--main2);
  outline-offset: 4px;
}
@media screen and (min-width: 861px) and (max-width: 1100px) {
  .burger {
    gap: 5px;
  }
}
@media screen and (max-width: 860px) {
  .burger {
    --burger-line-offset: 7px;
    position: relative;
    display: block;
    width: 28px;
    height: 28px;
    margin-left: auto;
    padding: 0;
    background: transparent;
  }

  .burger span {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: var(--black1);
    transform-origin: center;
    transition:
    opacity 0.25s ease,
    transform 0.25s ease;
  }

  .burger span:nth-child(1) {
    transform: translateY(calc(-50% - var(--burger-line-offset)));
  }

  .burger span:nth-child(2) {
    transform: translateY(-50%);
  }

  .burger span:nth-child(3) {
    transform: translateY(calc(-50% + var(--burger-line-offset)));
  }

  .burger.is-active span:nth-child(1) {
    transform: translateY(-50%) rotate(45deg);
  }

  .burger.is-active span:nth-child(2) {
    opacity: 0;
  }

  .burger.is-active span:nth-child(3) {
    transform: translateY(-50%) rotate(-45deg);
  }
}
@media screen and (max-width: 520px) {
  .burger {
    --burger-line-offset: 8px;
    width: 30px;
    height: 30px;
    gap: 0;
  }
}
@media screen and (min-width: 861px) and (max-width: 1100px) {
  .burger {
    --burger-line-offset: 7px;
    position: relative;
    display: block;
    width: 28px;
    height: 28px;
    margin-left: auto;
    padding: 0;
    background: transparent;
  }

  .burger span {
    position: absolute;
    top: 50%;
    left: 0;
    display: block;
    width: 100%;
    height: 2px;
    background: var(--black1);
    transform-origin: center;
    transition:
    opacity 0.25s ease,
    transform 0.25s ease;
  }

  .burger span:nth-child(1) {
    transform: translateY(calc(-50% - var(--burger-line-offset)));
  }

  .burger span:nth-child(2) {
    transform: translateY(-50%);
  }

  .burger span:nth-child(3) {
    transform: translateY(calc(-50% + var(--burger-line-offset)));
  }

  .burger.is-active span:nth-child(1) {
    transform: translateY(-50%) rotate(45deg);
  }

  .burger.is-active span:nth-child(2) {
    opacity: 0;
  }

  .burger.is-active span:nth-child(3) {
    transform: translateY(-50%) rotate(-45deg);
  }
}

/* mobile-menu */
.mobile-menu {
  position: fixed;
  z-index: 40;
  top: 64px;
  right: 0;
  bottom: 0;
  left: 0;
  overflow-y: auto;
  visibility: hidden;
  background: rgb(1 120 96 / 60%);
  opacity: 0;
  transition: var(--basic-transition);
}
.mobile-menu.is-active {
  visibility: visible;
  opacity: 1;
}
.mobile-menu__inner {
  min-height: 680px;
  padding: 44px 28px 42px;
  color: var(--white1);
  background: var(--gradient2);
  transform: translateY(-20px);
  transition: var(--basic-transition);
}
.mobile-menu.is-active .mobile-menu__inner {
  transform: translateY(0);
}
.mobile-menu__children.is-active {
  max-height: 390px;
}
.mobile-menu__actions {
  display: grid;
  gap: 18px;
  margin-top: 40px;
}
.mobile-menu__actions .c-btn {
  width: 100%;
}
@media screen and (max-width: 860px) {
  .mobile-menu {
    display: block;
  }
}
@media screen and (max-width: 520px) {
  .mobile-menu {
    top: 68px;
  }
}
@media screen and (min-width: 861px) and (max-width: 1100px) {
  .mobile-menu {
    top: 64px;
    display: block;
  }
}

/* section-wave */

.section-wave .section-inner {
  position: relative;
  z-index: 1;
}
.section-wave {
  --wave-background-image: url("../../img/ornament-wave-base.webp");
  position: relative;
  overflow: hidden;
  background-color: var(--white1);
  background-image:
  linear-gradient(rgb(255 255 255 / 95%), rgb(255 255 255 / 95%)),
  var(--wave-background-image);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  background-attachment: fixed;
}
.section-wave > .section-wave__image {
  display: none;
}
@media screen and (max-width: 860px) {
  .section-wave {
    background-attachment: scroll;
    background-position: center calc(50% + var(--wave-parallax-y, 0px));
    background-size: auto 125%;
  }
}

/* feature-card */
@media screen and (max-width: 520px) {
  
  .content-card__image {
    width: 100%;
    max-width: 100%;
    height: auto;
  }
}
@media screen and (min-width: 1200px) {

  
  .faq__item p {
    text-wrap: pretty;
  }
}

/* challenge-card */

.content-card span {
  display: inline-block;
  padding: 2px 10px;
  color: var(--white1);
  background: var(--main1);
  border: 1px solid var(--white1);
  border-radius: 50px;
  font-size: 12px;
  font-weight: 700;
}

/* plan-consult */
@media screen and (min-width: 861px) and (max-width: 1100px) {

  .plan-consult .button-pair,
  .contact .button-pair {
    gap: 12px;
  }

  .plan-consult .button-pair .c-btn,
  .contact .button-pair .c-btn {
    width: auto;
    min-width: 0;
    flex: 1;
    padding-inline: 12px;
  }
}

/* card-grid */

/* news-card */
.news-card .content-card__image {
  aspect-ratio: 2 / 1;
}
@media screen and (min-width: 861px) {
  .news-card .content-card__image {
    height: 180px;
    aspect-ratio: auto;
  }
}

/* footer */
.footer {
  position: relative;
  color: var(--white1);
  background: var(--gradient2);
}
.footer__inner {
  display: grid;
  grid-template-columns: 40% 60%;
  width: min(100% - 80px, 1280px);
  margin-inline: auto;
  padding-block: clamp(58px, 7vw, 88px) 32px;
}
.footer__brand {
  width: 100%;
}
.footer__brand > a {
  color: var(--white1);
  font-size: 36px;
}
.footer__brand > p {
  margin: 13px 0 27px;
  color: #a9e6da;
  font-size: 14px;
}
.footer__links {
  display: grid;
  grid-template-columns: 1.6fr 1fr 0.7fr 0.8fr;
  gap: 28px;
  width: 100%;
  padding-top: 4px;
}
.footer__links div {
  display: grid;
  align-content: start;
  gap: 8px;
}
.footer__links h2 {
  margin-bottom: 8px;
  font-size: 16px;
}
.footer__links a {
  color: #c4ebe3;
  font-size: 14px;
  line-height: 1.5;
  transition: var(--basic-transition);
}
.footer__links a:hover {
  color: var(--white1);
}
.footer__bottom {
  grid-column: 1 / -1;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  margin-top: 42px;
  padding-top: 30px;
  border-top: 1px solid rgb(255 255 255 / 66%);
  color: #d3f0ea;
  font-size: 12px;
}
.footer__bottom p {
  display: flex;
  gap: 25px;
}
@media screen and (min-width: 861px) and (max-width: 1100px) {
  .footer {
    min-height: 0;
  }
}
@media screen and (max-width: 980px) {
  .footer__inner {
    grid-template-columns: 36% 64%;
  }

  .footer__brand,
  .footer__links {
    width: 100%;
  }

  .footer__links {
    gap: 18px;
  }
}
@media screen and (max-width: 860px) {
  .footer__brand,
  .footer__links {
    width: 100%;
  }

  .footer__inner {
    display: block;
  }

  .footer__brand {
    margin-bottom: 38px;
  }

  .footer__links {
    grid-template-columns: repeat(2, 1fr);
    gap: 30px 18px;
  }
}
@media screen and (max-width: 520px) {
  .footer__inner {
    padding-top: 48px;
  }

  .footer__brand .button-pair {
    margin-top: 30px;
  }

  .footer__brand .button-pair .c-btn:first-child {
    order: 2;
  }

  .footer__brand .button-pair .c-btn:last-child {
    order: 1;
  }

  .footer__bottom {
    margin-top: 32px;
  }

}
@media screen and (min-width: 861px) {
  .footer {
    height: 443px;
    background: linear-gradient(37.5638deg, #0c0f05 14.286%, #01876c 42.857%, #03a685 67.857%, #02c69f 85.714%);
  }

  .footer__inner {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: 193px;
    align-items: start;
    align-content: start;
    width: 1280px;
    height: 443px;
    padding: 64px 0;
  }

  .footer__brand {
    align-self: center;
  }

  .footer__brand > a {
    font-size: 40px;
    line-height: 1;
  }

  .footer__brand > p {
    margin: 12px 0 24px;
    color: rgb(255 255 255 / 60%);
    font-size: 13px;
  }

  .footer__brand .button-pair {
    gap: 24px;
  }

  .footer__brand .button-pair .c-btn:first-child {
    width: 200px;
  }

  .footer__brand .button-pair .c-btn:last-child {
    width: 208px;
  }

  .footer__links {
    display: flex;
    gap: 56px;
    width: auto;
    padding: 0;
  }

  .footer__links h2 {
    margin-bottom: 8px;
    font-size: 16px;
  }

  .footer__links a {
    font-size: 14px;
  }

  .footer__bottom {
    position: absolute;
    right: 0;
    bottom: 64px;
    left: 0;
    height: 72px;
    margin: 0;
    padding-top: 48px;
    font-size: 13px;
  }

  .footer__bottom small {
    font-size: 10px;
  }
}
@media screen and (max-width: 520px) {
  .footer {
    background: linear-gradient(76.1345deg, #0c0f05 14.286%, #01876c 42.857%, #03a685 67.857%, #02c69f 85.714%);
  }

  .footer__inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: 64px 20px 16px;
    text-align: center;
  }

  .footer__brand {
    display: contents;
  }

  .footer__brand > a {
    order: 1;
    height: 24px;
    font-size: 26.5px;
    letter-spacing: -0.02em;
    line-height: 24px;
  }

  .footer__brand > p {
    order: 2;
    margin: 12px 0 0;
    color: rgb(255 255 255 / 60%);
    font-size: 12px;
    line-height: 20px;
  }

  .footer__links {
    order: 3;
    display: grid;

    margin-top: 40px;
    padding: 0;
    text-align: left;
  }

  .footer__links div {
    gap: 8px;
  }

  .footer__links div:nth-child(1) {
    grid-column: 1;
    grid-row: 1 / 4;
  }

  .footer__links div:nth-child(2) {
    grid-column: 2;
    grid-row: 1;
  }

  .footer__links div:nth-child(3) {
    grid-column: 2;
    grid-row: 2;
  }

  .footer__links div:nth-child(4) {
    grid-column: 2;
    grid-row: 3;
  }

  .footer__links h2 {
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.2;
  }

  .footer__links a {
    font-size: 14px;
    line-height: 1.4;
  }

  .footer__brand .button-pair {
    order: 4;
    display: grid;

    margin: 40px 0 0;
  }

  .footer__brand .button-pair .c-btn {
    width: auto;
    height: 54px;
    min-height: 54px;
  }

  .footer__bottom {
    order: 5;
    display: flex;

    flex-direction: column;
    gap: 8px;
    margin: 40px 0 0;
    padding-top: 16px;
    font-size: 12px;
    line-height: 20.4px;
  }

  .footer__bottom p {
    order: 1;
    justify-content: center;
    gap: 24px;
  }

  .footer__bottom small {
    order: 2;
    font-size: 10px;
    line-height: 14px;
    text-align: center;
  }
}
@media screen and (min-width: 861px) and (max-width: 1100px) {
  .footer__inner {
    display: block;
    width: min(calc(100% - 80px), 1020px);
    height: auto;
    min-height: 0;
    padding: 64px 0 32px;
  }

  .footer__brand {
    margin-bottom: 42px;
  }

  .footer__links {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 28px;
    width: 100%;
  }

  .footer__bottom {
    position: static;
    width: 100%;
    height: auto;
    margin-top: 42px;
    padding-top: 30px;
  }
}
@media screen and (max-width: 520px) {
  .footer__inner {
    width: 100%;
    height: auto;
    min-height: 0;
  }

  .footer__brand > p {
    height: auto;
    white-space: normal;
  }

  .footer__links,
  .footer__brand .button-pair,
  .footer__bottom {
    width: 100%;
    max-width: 100%;
  }

  .footer__links {
    grid-template-columns: minmax(112px, 139px) minmax(0, 1fr);
    column-gap: clamp(24px, 9vw, 48px);
    height: auto;
  }

  .footer__brand .button-pair,
  .footer__bottom {
    height: auto;
  }

  .footer__brand .button-pair .c-btn {
    min-width: 0;
  }

  .footer__bottom {
    position: static;
  }

  .footer__links {
    grid-template-rows: auto auto auto;
    row-gap: 28px;
  }

  .footer__brand .button-pair {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(12px, 4vw, 24px);
  }

  .footer__brand .button-pair .c-btn {
    padding-inline: 6px;
    font-size: clamp(11px, 3.35vw, 14px);
    white-space: nowrap;
  }
}
.footer__brand > .footer__logo {
  width: min(350px, 100%);
}
@media screen and (max-width: 860px) {
  .footer__brand > .footer__logo {
    width: 260px;
    margin-inline: auto;
  }
}

/* to-top */
.to-top {
  position: fixed;
  z-index: 20;
  right: 28px;
  bottom: 28px;
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  color: var(--white1);
  background: var(--accent1);
  border-radius: 50%;
  box-shadow: 0 4px 12px rgb(1 150 120 / 24%);
  font-family: var(--inter);
  line-height: 1;
  visibility: hidden;
  opacity: 0;
  transform: translateY(14px);
  transition: var(--basic-transition);
}
.to-top.is-visible {
  visibility: visible;
  opacity: 1;
  transform: translateY(0);
}
.to-top:hover {
  background: var(--main1);
  transform: translateY(0);
}
@media screen and (max-width: 520px) {
  .to-top {
    font-size: 29px;
  }
}
@media screen and (min-width: 861px) {
  .to-top {
    position: absolute;
    top: -31px;
    right: 82px;
    bottom: auto;
    width: 64px;
    height: 62px;
  }
}
@media screen and (max-width: 520px) {
  .to-top {
    position: absolute;
    top: -28px;
    right: 20px;
    bottom: auto;
    width: 56px;
    height: 56px;
  }
}
.to-top {
  font-size: 0;
}
.to-top::before,
.to-top::after {
  position: absolute;
  left: 50%;
  width: 15px;
  height: 15px;
  border-top: 3px solid var(--white1);
  border-left: 3px solid var(--white1);
  content: "";
  transform: translateX(-50%) rotate(45deg);
}
.to-top::before {
  top: 17px;
}
.to-top::after {
  top: 30px;
}

/* logo-features-wave */
main > section,
.content-card {
  min-width: 0;
}

/* reasons */

/* features */

@media screen and (min-width: 861px) and (max-width: 1439px) {
  
  .flow,
  .resources,
  .download,
  .faq,
  .contact,
  .footer {
    height: auto;
  }

  
  .flow,
  .resources,
  .faq,
  .contact,
  .footer {
    min-height: 0;
  }
}
@media screen and (min-width: 521px) and (max-width: 860px) {
  
  .flow,
  .resources,
  .download,
  .faq,
  .contact,
  .footer,
  .footer__inner {
    height: auto;
    min-height: 0;
  }
}
@media screen and (max-width: 520px) {
  
  .flow,
  .resources,
  .download,
  .faq,
  .contact,
  .footer,
  .content-card {
    height: auto;
    min-height: 0;
  }
}

/* promo-campaign */
@media screen and (min-width: 521px) and (max-width: 860px) {
  
  .footer__inner {
    height: auto;
    min-height: 0;
  }
}
@media screen and (max-width: 380px) {
  
  .plan-consult .c-btn,
  .contact .c-btn,
  .footer__brand .c-btn {
    font-size: 13px;
  }
}

/* is-menu-open */
@media screen and (max-width: 860px) {
  body.is-menu-open {
    overflow: hidden;
  }
}
@media screen and (min-width: 861px) and (max-width: 1100px) {
  body.is-menu-open {
    overflow: hidden;
  }
}

/* challenges */

/* cases */

/* hero */
@media (prefers-reduced-motion: reduce) {
  .hero::before {
    animation: none;
  }
}

/* services */
@media screen and (min-width: 861px) and (max-width: 1439px) {
  
  .contact {
    height: auto;
    min-height: 0;
  }
}

/* solution-item */
@media screen and (max-width: 520px) {
  
  .content-card__image {
    aspect-ratio: auto;
  }
}

/* flow */
@media screen and (max-width: 520px) {
  .flow .button-pair,
  .plan-consult .button-pair,
  .download .button-pair,
  .contact .button-pair {
    width: 100%;
    max-width: 100%;
  }
}

/* no-orphan */

/* break-sp-only */
.break-sp-only {
  display: none;
}
@media screen and (max-width: 520px) {
  .break-sp-only {
    display: block;
  }
}

/* reason */
main p {
  text-wrap: pretty;
}

/* resources */
.resources .content-card__body,
.news .content-card__body {
  min-height: 168px;
}

/* content-card */
@media screen and (max-width: 860px) {
  .content-card__body,
  .resources .content-card__body,
  .news .content-card__body {
    min-height: 150px;
    padding: 18px;
  }
}
@media screen and (max-width: 520px) {
  .content-card__body,
  .resources .content-card__body,
  .news .content-card__body {
    min-height: 0;
    padding: 16px;
  }
}

@charset "utf-8";

/* Home page: rules grouped by visible section and component */

/* hero */
.hero {
  position: relative;
  overflow: hidden;
  color: var(--white1);
  background: var(--white1);
}
.hero::before {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 760px;
  background: url("../../img/ornament-wave-plan.webp") center top / cover no-repeat;
  content: "";
}
.hero::before {
  background-attachment: fixed;
}
@media screen and (min-width: 681px) and (max-width: 860px) {
  .hero .hero__price span {
    padding: 6px 5px;
    overflow: hidden;
    text-orientation: upright;
    white-space: nowrap;
  }
}
@media screen and (min-width: 861px) and (max-width: 1439px) {
  .hero .hero__lead {
    right: 16px;
    left: 16px;
    width: auto;
    margin: 0;
    font-size: clamp(88px, calc(12.44vw - 19px), 160px);
    text-align: center;
  }

  .hero .hero__lead .hero__lead-particle {
    font-size: 0.75em;
  }

  .hero .hero__lead .hero__lead-second {
    font-size: 1em;
  }

  .hero .hero__copy-head {
    gap: clamp(8px, 0.98vw, 14px);
  }

  .hero .hero__copy-head img {
    width: clamp(54px, 6.25vw, 90px);
  }

  .hero .hero__copy h1 {
    font-size: clamp(32px, 3.34vw, 48px);
  }

  .hero .hero__copy h1 span {
    font-size: 0.67em;
  }

  .hero .hero__copy > p {
    margin: clamp(8px, 0.84vw, 12px) 0 clamp(14px, 1.74vw, 25px);
    font-size: clamp(14px, 1.39vw, 20px);
  }

  .hero .hero__copy .hero__buttons {
    gap: clamp(8px, 1.67vw, 24px);
  }

  .hero .hero__copy .c-btn {
    min-width: 0;
    min-height: clamp(46px, 3.75vw, 54px);
    flex: 1 1 0;
    padding-inline: clamp(8px, 1.12vw, 16px);
    font-size: clamp(12px, 1.05vw, 15px);
    white-space: nowrap;
  }
}
@media screen and (min-width: 521px) and (max-width: 860px) {
  .hero .hero__lead {
    font-size: clamp(54px, 9vw, 78px);
  }

  .hero .hero__lead .hero__lead-particle {
    font-size: 0.55em;
  }

  .hero .hero__lead .hero__lead-second {
    font-size: 1em;
  }

  .hero .hero__copy {
    width: clamp(270px, 40vw, 344px);
  }

  .hero .hero__copy-head {
    gap: clamp(7px, 1.05vw, 9px);
  }

  .hero .hero__copy-head img {
    width: clamp(52px, 8vw, 70px);
  }

  .hero .hero__copy h1 {
    font-size: clamp(22px, 3.2vw, 28px);
  }

  .hero .hero__copy h1 span {
    font-size: 0.72em;
  }

  .hero .hero__copy > p {
    font-size: clamp(11px, 1.55vw, 13px);
  }

  .hero .hero__copy .hero__buttons {
    gap: clamp(6px, 1vw, 9px);
  }

  .hero .hero__copy .c-btn {
    min-width: 0;
    flex: 1 1 0;
    padding-inline: 6px;
    font-size: clamp(10px, 1.4vw, 12px);
    white-space: nowrap;
  }
}
@media screen and (max-width: 520px) {
  .hero .hero__lead .hero__lead-particle {
    font-size: 0.5em;
  }

  .hero .hero__lead .hero__lead-second {
    font-size: 0.9em;
  }

  .hero .hero__copy-head {
    gap: clamp(8px, 2.56vw, 10px);
  }

  .hero .hero__copy-head img {
    width: clamp(58px, 17.95vw, 70px);
    margin-left: clamp(8px, 4.87vw, 19px);
  }

  .hero .hero__copy h1 {
    font-size: clamp(23px, 7.18vw, 28px);
  }

  .hero .hero__copy h1 span {
    font-size: 0.72em;
  }

  .hero .hero__copy > p {
    font-size: clamp(12px, 3.59vw, 14px);
  }
}
@media screen and (min-width: 861px) and (max-width: 1100px) {
  .hero .hero__inner {
    min-height: clamp(520px, 59vw, 560px);
  }

  .hero .hero__lead {
    top: 38px;
    right: 16px;
    left: 16px;
    width: auto;
    margin: 0;
    font-size: clamp(84px, 10.2vw, 112px);
    text-align: center;
  }

  .hero .hero__lead .hero__lead-particle {
    font-size: 0.65em;
  }

  .hero .hero__lead .hero__lead-second {
    font-size: 1em;
  }

  .hero .hero__price {
    top: 275px;
    bottom: auto;
    left: 24px;
    gap: 3px;
  }

  .hero .hero__price span {
    width: 52px;
    height: 116px;
    font-size: 30px;
    transform: none;
  }

  .hero .hero__price strong {
    flex-basis: 80px;
    width: 80px;
    font-size: 136px;
    transform: translateY(4px);
  }

  .hero .hero__price small {
    margin-left: 0;
    font-size: 48px;
    transform: none;
  }

  .hero .hero__workers {
    top: auto;
    bottom: -22px;
    left: calc(50% - clamp(145px, 17.5vw, 170px));
    width: clamp(290px, 35vw, 340px);
  }

  .hero .hero__copy {
    top: auto;
    right: 24px;
    bottom: 22px;
    left: auto;
    width: clamp(300px, 36vw, 340px);
  }

  .hero .hero__copy-head {
    min-height: 0;
    gap: clamp(8px, 1vw, 11px);
  }

  .hero .hero__copy-head img {
    position: static;
    width: clamp(54px, 6.2vw, 64px);
    margin-left: 0;
  }

  .hero .hero__copy h1 {
    margin-left: 0;
    font-size: clamp(28px, 3.35vw, 34px);
  }

  .hero .hero__copy > p {
    margin: 8px 0 14px;
    font-size: clamp(12px, 1.4vw, 14px);
  }

  .hero .hero__copy .c-btn {
    min-height: 46px;
    font-size: clamp(11px, 1.25vw, 13px);
  }
}
@media screen and (min-width: 681px) and (max-width: 860px) {
  .hero .hero__inner {
    min-height: 560px;
  }

  .hero .hero__lead {
    z-index: 3;
    top: 24px;
    right: 16px;
    left: 16px;
    width: auto;
    margin: 0;
    font-size: clamp(58px, 8.4vw, 72px);
    text-align: center;
  }

  .hero .hero__lead .hero__lead-particle {
    font-size: 0.55em;
  }

  .hero .hero__price {
    z-index: 3;
    top: 300px;
    bottom: auto;
    left: 20px;
    gap: 2px;
  }

  .hero .hero__price span {
    width: 42px;
    height: 94px;
    font-size: 24px;
    transform: none;
  }

  .hero .hero__price strong {
    flex-basis: 72px;
    width: 72px;
    font-size: 116px;
    transform: translateY(3px);
  }

  .hero .hero__price small {
    font-size: 42px;
    transform: none;
  }

  .hero .hero__workers {
    top: 80px;
    bottom: auto;
    left: calc(47% - clamp(140px, 20vw, 160px));
    width: clamp(280px, 40vw, 320px);
  }

  .hero .hero__copy {
    z-index: 3;
    top: 290px;
    right: 20px;
    bottom: auto;
    left: auto;
    width: clamp(260px, 36vw, 280px);
  }

  .hero .hero__copy-head {
    min-height: 0;
    gap: 7px;
  }

  .hero .hero__copy-head img {
    position: static;
    width: clamp(48px, 7vw, 56px);
    margin-left: 0;
  }

  .hero .hero__copy h1 {
    margin-left: 0;
    font-size: clamp(21px, 3.2vw, 25px);
  }

  .hero .hero__copy > p {
    margin: 7px 0 11px;
    font-size: clamp(10px, 1.55vw, 12px);
  }

  .hero .hero__copy .hero__buttons {
    gap: 6px;
  }

  .hero .hero__copy .c-btn {
    min-height: 44px;
    padding-inline: 5px;
    font-size: clamp(9px, 1.45vw, 11px);
  }
}
@media screen and (min-width: 521px) and (max-width: 680px) {
  .hero .hero__lead {
    margin: 0;
  }

  .hero .hero__price strong {
    flex-basis: 66px;
  }
}
@media screen and (max-width: 860px) {

  .hero__copy .c-btn {
    min-width: 0;
    flex: 1;
    min-height: 43px;
    padding: 8px;
    font-size: 12px;
  }
}
@media screen and (max-width: 520px) {
  .hero {
    background-blend-mode: normal;
  }

  .hero__copy .c-btn {
    padding: 9px 8px;
  }

  .hero__copy .c-btn img {
    max-height: 16px;
  }
}
@media screen and (min-width: 861px) {

  .hero__copy .c-btn {
    min-width: 200px;
  }
}
@media screen and (max-width: 520px) {

  .hero {
    background-color: var(--white1);
  }

  .hero::before {
    height: 650px;
    background-position: center top;
  }

  .hero__copy .c-btn {
    min-height: 54px;
    font-size: 14px;
  }
}
.hero::before {
  animation: hero-background-reveal 0.8s ease-out 0.05s both;
}
.hero::before {
  transform: translate3d(-50%, var(--hero-wave-parallax-y, 0px), 0) scale(1.04);
  transform-origin: center;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .hero::before {
    transform: none;
    will-change: auto;
  }
}
@media screen and (min-width: 521px) and (max-width: 860px) {
  .hero .hero__workers {
    top: auto;
    bottom: 0;
  }

  .hero .hero__price,
  .hero .hero__copy {
    top: auto;
    bottom: 24px;
  }
}
@media screen and (max-width: 520px) {
  .hero::before {
    width: 100%;
    background-size: cover;
  }
}
@media screen and (min-width: 521px) and (max-width: 680px) {
  .hero {
    background-color: var(--white1);
  }

  .hero::before {
    width: 100%;
    height: 650px;
    background-position: center top;
    background-size: cover;
  }

  .hero .hero__inner {
    min-height: 803px;
  }

  .hero .hero__inner::before {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 650px;
    background: transparent;
  }

  .hero .hero__inner::after {
    position: absolute;
    z-index: 2;
    top: 500px;
    right: 0;
    left: 0;
    height: 180px;
    background: linear-gradient(180deg, rgb(255 255 255 / 0%) 0%, rgb(255 255 255 / 18%) 18%, rgb(255 255 255 / 68%) 40%, var(--white1) 53%, var(--white1) 100%);
    content: "";
  }

  .hero .hero__lead {
    top: 33px;
    right: 0;
    left: 0;
    width: 390px;
    margin-inline: auto;
    font-size: 80px;
    letter-spacing: 0;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
  }

  .hero .hero__lead .hero__lead-particle {
    font-size: 40px;
  }

  .hero .hero__lead .hero__lead-second {
    display: block;
    font-size: 72px;
  }

  .hero .hero__workers {
    top: 181px;
    right: 0;
    bottom: auto;
    left: 0;
    width: 351px;
    height: 469px;
    margin-inline: auto;
    object-fit: contain;
  }

  .hero .hero__price {
    z-index: 2;
    top: 368px;
    right: auto;
    bottom: auto;
    left: calc(50% - 131px);
    gap: 7px;
    align-items: flex-end;
  }

  .hero .hero__price span {
    width: 47px;
    height: 103px;
    padding: 5px 3px;
    font-size: 26px;
    transform: translateY(-5px);
  }

  .hero .hero__price strong {
    flex: 0 0 68px;
    width: 68px;
    font-size: 120px;
    line-height: 1;
    transform: none;
  }

  .hero .hero__price small {
    margin-left: 0;
    padding: 0;
    font-size: 44px;
    line-height: 1.3;
    transform: translateY(-7px);
  }

  .hero .hero__copy {
    z-index: 3;
    top: 496px;
    right: 0;
    bottom: auto;
    left: 0;
    width: 350px;
    margin-inline: auto;
    color: var(--black1);
    text-align: center;
    text-shadow: 0 0 5px rgb(255 255 255 / 96%);
  }

  .hero .hero__copy-head {
    position: relative;
    display: flex;
    min-height: 88px;
    align-items: flex-start;
    gap: 10px;
    padding: 0;
    border-bottom: 0;
  }

  .hero .hero__copy-head img {
    position: static;
    width: 70px;
    margin-left: 19px;
    transform: none;
  }

  .hero .hero__copy h1 {
    margin-left: 0;
    color: var(--white1);
    font-size: 28px;
    line-height: 1.35;
    text-align: left;
    text-shadow: 0 2px 4px rgb(0 0 0 / 40%);
    transform: translateY(3px);
  }

  .hero .hero__copy h1 span {
    font-size: 20px;
  }

  .hero .hero__copy > p {
    margin: -2px 0 10px;
    color: var(--black1);
    font-size: 14px;
    line-height: 1.6;
  }

  .hero .hero__copy > p span {
    color: #00d0a6;
  }

  .hero .hero__copy .hero__buttons {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .hero .hero__copy .c-btn {
    width: 100%;
    min-height: 54px;
    padding: 9px 8px;
    font-size: 14px;
  }
}

/* hero-support */

/* section-wave */
@media (prefers-reduced-motion: reduce) {
  .section-wave,
  .hero::before {
    background-attachment: scroll;
    background-position: center center;
  }
}

/* logo-strip */
.logo-strip__track {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 861px) {

  .logo-strip__track {
    grid-template-columns: repeat(6, 250px);
    gap: 48px;
    transform: translateX(-150px);
  }
}
@media screen and (max-width: 520px) {

  .logo-strip__track {
    grid-template-columns: repeat(6, 140px);
    gap: 20px 12px;
  }
}
.logo-strip__track {
  --logo-item-width: 216px;
  --logo-gap: 42px;
  --logo-cycle-distance: 1548px;
  --logo-priority-width: 732px;
  --logo-start-offset: calc((100vw - var(--logo-priority-width)) / 2);
  display: flex;
  grid-template-columns: none;
  gap: var(--logo-gap);
  width: max-content;
  margin-inline: 0;
  animation-direction: normal;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
}
.logo-strip__track span {
  flex: 0 0 var(--logo-item-width);
  width: var(--logo-item-width);
  padding: 8px 16px;
  background: var(--white1);
}
.logo-strip__track span img {
  width: 100%;
  height: 100%;
  max-height: 46px;
  object-fit: contain;
}
.logo-strip__track span:nth-child(n + 7) {
  transform: none;
}
@media screen and (min-width: 861px) {
  .logo-strip__track {
    --logo-item-width: 250px;
    --logo-gap: 48px;
    --logo-cycle-distance: 1788px;
    --logo-priority-width: 846px;
  }
}
@media screen and (max-width: 520px) {
  .logo-strip__track {
    --logo-item-width: 110px;
    --logo-gap: 12px;
    --logo-cycle-distance: 732px;
    --logo-priority-width: 354px;
  }
}

/* features */

/* feature-card */

/* challenges */

/* challenge-card */

/* solutions */

/* solution-item */

/* reasons */

/* reason */

/* team-slider */

/* flow */
.flow {
  padding-block: var(--section-space);
}
.flow .button-pair {
  justify-content: center;
  margin-top: 42px;
}
@media screen and (max-width: 520px) {

  .flow .button-pair {
    display: grid;
  }
}
@media screen and (min-width: 861px) {
  .flow {
    padding: 120px 0 80px;
  }

  .flow .section-title {
    margin-bottom: 64px;
  }
}
@media screen and (max-width: 520px) {
  .flow {
    padding: 64px 0;
  }

  .flow .section-title {
    margin-bottom: 40px;
  }

  .flow .button-pair {
    gap: 16px;
    margin-top: 40px;
  }

  .flow .button-pair .c-btn {
    min-height: 54px;
  }
}
@media screen and (min-width: 861px) {
  .flow {
    height: 814px;
  }

  .flow .button-pair {
    margin-top: 64px;
  }
}
@media screen and (max-width: 520px) {
  .flow {
    height: 1893px;
  }
}
@media screen and (min-width: 861px) and (max-width: 1439px) {
  .flow {
    height: auto;
    min-height: 814px;
  }
}
@media screen and (max-width: 520px) {

  .footer__links,
  .footer__brand .button-pair,
  .footer__bottom {
    width: min(350px, calc(100vw - 40px));
  }
}

/* front-pricing */

/* campaign */

/* promo-campaign */

/* button-pair */
@media screen and (min-width: 521px) and (max-width: 860px) {
  .button-pair {
    max-width: 100%;
  }
}

/* consultation */

/* plan-consult */
@media screen and (max-width: 520px) {

  .plan-consult .button-pair {
    margin-inline: auto;
  }
}
@media screen and (min-width: 861px) {

  .plan-consult .button-pair {
    gap: 24px;
    justify-content: center;
  }

  .plan-consult .button-pair .c-btn:first-child {
    width: 200px;
  }

  .plan-consult .button-pair .c-btn:last-child {
    width: 208px;
  }
}
@media screen and (max-width: 860px) {

  .plan-consult .button-pair {
    display: flex;
    width: min(100%, 440px);
    gap: 12px;
    margin-inline: auto;
  }

  .plan-consult .button-pair .c-btn {
    min-width: 0;
    flex: 1 1 0;
  }
}
@media screen and (max-width: 520px) {

  .plan-consult .button-pair {
    display: grid;
    width: min(302px, 100%);
    gap: 12px;
  }
}

/* cases-resources */

/* cases */

.resources {
  padding-block: 100px;
}

.resources .section-inner {
  width: min(100% - 80px, 1280px);
}
@media screen and (min-width: 861px) {
  
  .resources {
    padding-block: 120px;
  }

  .cases .content-card__image {
    height: 180px;
    aspect-ratio: auto;
  }

  .cases .content-card > div:last-child {
    padding: 24px;
  }
}
@media screen and (max-width: 520px) {
  
  .resources {
    padding: 64px 0;
  }

  
  .resources .section-title {
    margin-bottom: 40px;
  }

  .cases .content-card__image,
  .resources .content-card__image {
    height: 180px;
    aspect-ratio: auto;
  }

  .cases .content-card > div:last-child {
    padding: 24px;
  }

  
  .resources .c-btn--small {
    height: 40px;
    min-height: 40px;
    margin-top: 40px;
  }
}

.resources {
  height: auto !important;
}

/* content-card */
.content-card {
  min-width: 0;
  overflow: hidden;
  background: var(--white1);
  border-radius: 8px;
  box-shadow: 0 5px 14px rgb(2 147 118 / 8%);
}
.content-card__link {
  display: flex;
  height: 100%;
  flex-direction: column;
}
.content-card__image {
  display: grid;
  aspect-ratio: 2.28 / 1;
  place-items: center;
  background: #e6e8e0;
}
.content-card__image::after {
  width: 32px;
  height: 32px;
  background: center / 24px 24px no-repeat url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23afb59d' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='3.5' width='17' height='17' rx='2'/%3E%3Ccircle cx='8.5' cy='8.5' r='1.5'/%3E%3Cpath d='m5 18 5-5 3 3 2-2 4 4'/%3E%3C/svg%3E");
  content: "";
}
.content-card__image:has(img)::after {
  display: none;
}
.content-card__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.45s ease;
}
.content-card:hover .content-card__image img {
  transform: scale(1.035);
}
.content-card > div:last-child,
.content-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}
.content-card span {
  color: var(--white1);
  background: var(--main1);
}
.content-card__body > span {
  align-self: flex-start;
  max-width: 100%;
}
.content-card h3 {
  margin: 13px 0 9px;
  font-size: 18px;
  line-height: 1.55;
}
.content-card p {
  color: var(--gray3);
  font-size: 14px;
}
.content-card time {
  display: block;
  margin-top: auto;
  padding-top: 12px;
  color: var(--gray3);
  font-size: 14px;
}
.content-card b {
  display: inline-block;
  margin-top: 12px;
  padding: 3px 10px;
  color: var(--main1);
  background: var(--gray1);
  border-radius: 6px;
  font-size: 14px;
}
@media screen and (max-width: 520px) {
  .content-card > div:last-child {
    padding: 16px;
  }

  .content-card h3 {
    font-size: 16px;
  }
}
.content-card h3 {
  text-wrap: pretty;
}
.content-card__body {
  min-height: 178px;
}

/* resources */
.resources .content-card {
  border: 1px solid #e4e7dc;
  box-shadow: none;
}
.resources .content-card__image {
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
  aspect-ratio: 2 / 1;
}
.resources .content-card__image img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.resources .content-card > div:last-child {
  padding: 16px;
}
.resources .content-card__body {
  padding: 16px;
}
.resources .content-card h3 {
  font-size: 16px;
}
@media screen and (min-width: 861px) and (max-width: 1100px) {
  .resources .content-card,
  .cases .content-card {
    height: auto;
  }
}
@media screen and (min-width: 861px) {
  .resources {
    height: 767px;
  }

  .resources .section-title {
    margin-bottom: 48px;
  }

  .resources .content-card__image {
    height: 150px;
    aspect-ratio: auto;
  }

  .resources .content-card > div:last-child {
    padding: 16px;
  }

  .resources .c-btn--small {
    height: 40px;
    min-height: 40px;
    margin-top: 48px;
  }
}
@media screen and (max-width: 520px) {
  .resources {
    height: 1815px;
  }

  .resources .card-grid {
    gap: 16px;
  }

  .resources .content-card > div:last-child {
    padding: 24px;
  }
}
@media screen and (min-width: 861px) and (max-width: 1100px) {
  .resources .card-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* front-posts-empty */

/* card-grid */
@media screen and (max-width: 520px) {
  .card-grid--three .content-card__image,
  .card-grid--four .content-card__image {
    aspect-ratio: 1.95 / 1;
  }
}

/* news */
.news {
  padding-block: 100px;
  background: var(--gray1);
}
.news .section-inner {
  width: min(100% - 80px, 1280px);
}
.news .section-title {
  margin-bottom: 48px;
}
.news .c-btn--small {
  min-width: 168px;
}
@media screen and (min-width: 861px) {
  .news {
    padding-block: 120px;
  }

  .news .c-btn--small {
    height: 40px;
    min-height: 40px;
    margin-top: 64px;
  }
}
@media screen and (max-width: 860px) {
  .news {
    padding-block: 80px;
  }

  .news .section-inner {
    width: min(calc(100% - 40px), 720px);
  }
}
@media screen and (max-width: 520px) {
  .news {
    padding-block: 64px;
  }

  .news .section-inner {
    width: var(--mobile-content-width);
  }

  .news .section-title {
    margin-bottom: 40px;
  }

  .news .c-btn--small {
    margin-top: 40px;
  }
}
@media screen and (min-width: 521px) and (max-width: 860px) {
  .news .section-inner {
    width: min(calc(100% - 80px), 1280px);
  }
}

/* news-card */

/* ==========================================================================
Downloads: guidebook banner
========================================================================== */
.download {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: var(--white1);
  background: var(--white1);
}
.download::before,
.download::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
}
.download::before {
  background: url("../../img/home-download-background.webp") center / cover no-repeat;
  opacity: .5;
}
.download::after {
  background: linear-gradient(to left, rgb(3 166 133 / 0) 0%, var(--main1) 85.096%);
}
.download em {
  max-width: 100%;
  padding: 8px 16px;
  color: var(--black1);
  background: var(--white1);
  border: 1px solid var(--white1);
  border-radius: 99px;
  font-size: 14px;
  font-style: normal;
  line-height: 1.6;
}
.download h3 {
  font-size: clamp(1.25rem, calc(.532rem + 2.685vw), 2.25rem);
  font-weight: 900;
  line-height: 1.4;
}
.download p {
  color: rgb(255 255 255 / 75%);
  font-size: 15px;
  line-height: 1.8;
  overflow-wrap: break-word;
  line-break: strict;
}
.download ul { display: grid; gap: 12px; }
.download li {
  display: flex;
  gap: 10px;
  color: rgb(255 255 255 / 85%);
  font-size: 14px;
  line-height: 17px;
}
.download li::before { flex-shrink: 0; color: var(--accent1); content: "✓"; }
.download .button-pair { justify-content: flex-start; gap: 24px; }
.download .button-pair .c-btn { min-width: 200px; }
.download .button-pair .c-btn:last-child { min-width: 208px; }
@media screen and (max-width: 1100px) {
  .download .button-pair { gap: 12px; }
  .download .button-pair .c-btn { min-width: 0; padding-inline: 16px; }
}
@media screen and (max-width: 860px) {
  .download .button-pair { width: 100%; justify-content: center; }
}
@media screen and (max-width: 520px) {
  .download::before { background-position: center top; background-size: auto 477px; }
  .download::after { background: linear-gradient(180deg, rgb(3 166 133 / 15%) 0%, var(--main1) 48%); }
  .download em { text-align: center; }
  .download h3 { text-align: center; }
  .download ul { align-self: stretch; }
  .download .button-pair { flex-direction: column; gap: 24px; }
  .download .button-pair .c-btn { width: 100%; min-height: 54px; }
}
@media screen and (min-width: 861px) and (max-width: 1439px) {
  .footer__inner { width: min(calc(100% - 80px), 1280px); }
}

/* faq */
.faq {
  padding: 130px 0 180px;
}
.faq__item {
  border-bottom: 1px solid #acb19c;
}
.faq__item summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 24px 18px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  cursor: pointer;
  list-style: none;
}
.faq__item summary::-webkit-details-marker {
  display: none;
}
.faq__item summary::before {
  margin-right: 14px;
  color: var(--main1);
  content: "Q.";
  font-family: var(--barlow);
  font-size: 26px;
}
.faq__item summary b {
  margin-left: auto;
  color: var(--main1);
  font-weight: 400;
}
.faq__item[open] summary b {
  transform: none;
}
.faq__item summary b {
  font-size: 0;
}
.faq__item summary b::after {
  content: "+";
  font-size: 29px;
}
.faq__item[open] summary b::after {
  content: "−";
}
.faq__item p {
  position: relative;
  margin-bottom: 6px;
  padding: 58px 20px 24px;
  color: #413c3b;
  background: var(--gray1);
  font-size: 15px;
  line-height: 2;
}
.faq__item p::before {
  position: absolute;
  top: 17px;
  left: 20px;
  color: var(--accent1);
  content: "A.";
  font-family: var(--barlow);
  font-size: 25px;
  font-weight: 700;
}
@media screen and (max-width: 520px) {
  .faq__item summary::before {
    margin-right: 2px;
  }
}
@media screen and (min-width: 861px) {
  .faq {
    height: 1574px;
    padding: 120px 0;
  }

  .faq .section-title {
    margin-bottom: 80px;
  }

  .faq__item {
    height: 77px;
  }

  .faq__item:first-child {
    height: 373px;
  }

  .faq__item summary {
    height: 77px;
    padding: 24px 16px;
    gap: 20px;
  }

  .faq__item summary::before,
  .faq__item summary b::after {
    line-height: 1;
  }

  .faq__item p {
    height: 296px;
    margin: 0;
    padding: 48px 16px 16px;
    overflow: hidden;
    font-size: 16px;
    line-height: 1.8;
  }
}
@media screen and (max-width: 520px) {
  .faq {
    height: 1606px;
    padding: 64px 20px;
  }

  .faq .section-inner {
    width: 350px;
  }

  .faq .section-title {
    margin-bottom: 40px;
  }

  .faq__item summary {
    gap: 12px;
    padding: 16px;
    font-size: 16px;
    line-height: 1.6;
  }

  .faq__item summary::before {
    margin: 0;
    font-size: 20px;
    line-height: 1;
  }

  .faq__item summary b {
    flex: 0 0 20px;
    width: 20px;
    line-height: 1;
  }

  .faq__item summary b::after {
    font-size: 20px;
    line-height: 1;
  }

  .faq__item p {
    height: 431px;
    margin: 0;
    padding: 48px 16px 16px;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.8;
  }

  .faq__item p::before {
    top: 16px;
    left: 16px;
    font-size: 20px;
    line-height: 1;
  }
}
@media screen and (min-width: 861px) {
  .faq .section-wave__image--faq {
    top: 25.27%;
    right: auto;
    left: 0;
    width: 100.01%;
    height: 49.45%;
    opacity: 0.2;
    object-fit: cover;
  }
}
.faq {
  height: auto;
  min-height: 1574px;
}
.faq__item,
.faq__item:first-child {
  height: auto;
  min-height: 77px;
}
.faq__item p {
  height: auto;
  min-height: 0;
  overflow: visible;
}
@media screen and (max-width: 520px) {
  .faq {
    min-height: 1606px;
  }
}
.faq__item {
  overflow: hidden;
}
.faq__item > p {
  display: block;
  max-height: 0;
  margin: 0;
  padding-top: 0;
  padding-bottom: 0;
  overflow: hidden;
  opacity: 0;
  transition: max-height 0.45s ease, padding 0.45s ease, margin 0.45s ease, opacity 0.22s ease;
}
.faq__item[open] > p {
  max-height: 760px;
  margin-bottom: 6px;
  padding-top: 48px;
  padding-bottom: 24px;
  opacity: 1;
}
@media screen and (max-width: 520px) {
  .faq__item[open] > p {
    max-height: 900px;
    padding-top: 48px;
    padding-bottom: 16px;
  }

  .faq__item,
  .faq__item:first-child {
    height: auto;
    min-height: 84px;
  }

  .faq__item summary {
    height: auto;
    min-height: 84px;
  }

  .faq__item > p,
  .faq__item:first-child > p {
    height: auto;
    min-height: 0;
  }

  .faq__item summary b {
    font-size: 0;
  }
}
.faq__item.is-accordion-ready > p,
.faq__item.is-accordion-ready[open] > p {
  max-height: none;
  margin-bottom: 6px;
  padding-top: 48px;
  padding-bottom: 24px;
  opacity: 1;
  transition: none;
}
@media screen and (max-width: 520px) {
  .faq__item.is-accordion-ready > p,
  .faq__item.is-accordion-ready[open] > p {
    padding-top: 48px;
    padding-bottom: 16px;
  }
}

/* services */

/* c-btn */

/* services */

/* service-card */

/* contact */
.contact {
  padding-block: clamp(70px, 10vw, 140px);
  background: var(--gray1);
}
.contact h2 {
  margin-bottom: 35px;
  font-size: clamp(27px, 2.7vw, 40px);
  line-height: 1.55;
}
.contact .button-pair {
  justify-content: center;
}
@media screen and (max-width: 860px) {
  .contact h2 {
    margin-bottom: 22px;
  }

  .contact .c-btn {
    min-width: 0;
    padding-inline: 10px;
    font-size: 12px;
  }
}
@media screen and (max-width: 520px) {

  .contact .button-pair {
    justify-content: stretch;
  }

  .contact .button-pair .c-btn {
    width: 100%;
  }
}
@media screen and (min-width: 861px) {
  .contact {
    height: 610px;
    padding: 80px 0;
  }
}
@media screen and (max-width: 520px) {
  .contact {
    height: 670px;
  }

  .contact h2 {
    margin-bottom: 24px;
    line-height: 1.6;
  }

  .contact .button-pair {
    display: grid;
    margin-inline: auto;
  }

  .contact .button-pair .c-btn {
    height: 54px;
  }
}
@media screen and (min-width: 861px) {

  .contact h2 {
    font-weight: 900;
  }

  .contact .button-pair {
    justify-content: center;
  }

}
@media screen and (min-width: 861px) {

  .contact h2 {
    letter-spacing: -0.02em;
  }

  .contact h2 {
    margin: 0 0 40px;
    font-size: clamp(28px, 3vw, 40px);
    line-height: 1.55;
  }

  .contact h2 .no-orphan {
    white-space: nowrap;
  }

  .contact .button-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: clamp(12px, 1.7vw, 24px);
    width: 100%;
  }

  .contact .button-pair .c-btn,
  .contact .button-pair .c-btn:first-child,
  .contact .button-pair .c-btn:last-child {
    width: 100%;
    min-width: 0;
  }
}
@media screen and (max-width: 860px) {
  .contact {
    height: auto;
    min-height: 0;
    padding: 64px 0 80px;
  }

  .contact h2 {
    margin: 0 0 24px;
    font-size: clamp(22px, 3.4vw, 28px);
    line-height: 1.55;
  }

  .contact h2 .no-orphan {
    white-space: nowrap;
  }

  .contact .button-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    width: min(100%, 440px);
    margin-inline: auto;
  }

  .contact .button-pair .c-btn,
  .contact .button-pair .c-btn:first-child,
  .contact .button-pair .c-btn:last-child {
    width: 100%;
    min-width: 0;
  }
}
@media screen and (max-width: 520px) {
  .contact {
    padding: 64px 0;
  }

  .contact h2 {
    font-size: clamp(17px, 4.35vw, 20px);
  }

  .contact .button-pair {
    grid-template-columns: 1fr;
    width: min(302px, 100%);
    gap: 12px;
  }
}
@media screen and (min-width: 521px) and (max-width: 860px) {

  .contact h2 {
    margin: 0 0 26px;
    font-size: clamp(20px, 3.05vw, 27px);
    line-height: 1.55;
  }

  .contact .button-pair {
    width: 100%;
  }

  .contact .button-pair .c-btn {
    height: 54px;
    min-height: 54px;
    padding-inline: 8px;
    font-size: clamp(11px, 1.65vw, 14px);
    white-space: nowrap;
  }
}

/* Cross-section card and mobile content widths */

@media screen and (max-width: 520px) {
  
  .resources .section-inner {
    width: calc(100% - (var(--padding-sp) * 2));
  }
}

@charset "utf-8";

/* Lower pages: archives, articles, service directory and forms */

/* ===== shared ===== */

/* home */
body:not(.home) .header {
  position: sticky;
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
  transform: none;
}
@media screen and (max-width: 520px) {
  body:not(.home) .header {
    min-height: 64px;
  }
}

/* lower-main */

/* lower-shell */
.lower-shell {
  width: min(calc(100% - 80px), 1248px);
  margin-inline: auto;
}
@media screen and (max-width: 900px) {
  .lower-shell {
    width: min(calc(100% - 48px), 760px);
  }
}
@media screen and (max-width: 680px) {
  .lower-shell {
    width: min(calc(100% - 40px), 560px);
  }
}
@media screen and (max-width: 520px) {
  .lower-shell {
    width: calc(100% - 32px);
  }
}

/* lower-breadcrumb */
.lower-breadcrumb {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
  padding-block: 20px;
  color: var(--gray3);
  font-size: 12px;
  line-height: 1.6;
}
.lower-breadcrumb ol {
  display: flex;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  align-items: center;
  gap: 0;
  overflow: hidden;
  white-space: nowrap;
}
.lower-breadcrumb li {
  display: flex;
  flex: 0 1 auto;
  min-width: 0;
  align-items: center;
  gap: 8px;
  line-height: inherit;
}
.lower-breadcrumb li:first-child {
  flex: 0 0 auto;
}
.lower-breadcrumb li:not(:last-child) {
  margin-inline-end: 8px;
}
.lower-breadcrumb li:not(:last-child)::after {
  display: block;
  flex: 0 0 6px;
  width: 6px;
  height: 6px;
  border-block-start: 1px solid var(--accent1);
  border-inline-end: 1px solid var(--accent1);
  content: "";
  transform: rotate(45deg);
}
.lower-breadcrumb li:last-child {
  flex: 1 1 auto;
  min-width: 0;
}
.lower-breadcrumb li > span,
.lower-breadcrumb li > a {
  display: block;
  flex: 0 1 auto;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.lower-breadcrumb a {
  transition: color 0.25s ease;
}
.lower-breadcrumb a:hover {
  color: var(--accent1);
}
@media screen and (max-width: 680px) {
  .lower-breadcrumb {
    padding-block: 14px;
    font-size: 10px;
  }

  .lower-breadcrumb li {
    gap: 6px;
  }

  .lower-breadcrumb li:not(:last-child) {
    margin-inline-end: 6px;
  }

  .lower-breadcrumb li:not(:last-child)::after {
    flex-basis: 5px;
    width: 5px;
    height: 5px;
  }
}

/* lower-hero */
.lower-hero {
  position: relative;
  min-height: 310px;
  overflow: hidden;
  background: var(--white1);
}
.lower-hero::after {
  position: absolute;
  inset: auto 0 0;
  height: 5px;
  background: var(--gradient1);
  content: "";
}
.lower-hero h1 {
  position: relative;
  margin-top: 4px;
  padding-bottom: 18px;
  color: var(--black1);
  font-size: clamp(30px, 3.5vw, 48px);
  font-weight: 700;
  line-height: 1.45;
}
.lower-hero h1::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 48px;
  height: 4px;
  margin: auto;
  background: var(--gradient1);
  border-radius: 10px;
  content: "";
}
.lower-hero p {
  max-width: 760px;
  margin-top: 22px;
  color: #5c5554;
  font-size: 15px;
  text-wrap: pretty;
}
@media screen and (max-width: 680px) {
  .lower-hero {
    min-height: 250px;
  }

  .lower-hero p {
    font-size: 13px;
  }
}
@media screen and (max-width: 520px) {
  .lower-hero {
    min-height: 220px;
  }

  .lower-hero h1 {
    font-size: 28px;
  }

  .lower-hero p {
    margin-top: 18px;
  }
}

/* lower-card */
.lower-card__category {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 4px 11px;
  color: var(--white1);
  background: var(--gradient1);
  border-radius: 4px;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.45;
}
:is(.lower-card--case, .lower-card--column) :is(h2, p, strong),
:is(.content-card.type-case, .content-card.type-column) :is(h3, p, b),
body:is(.single-case, .single-column) .single-article__header :is(h1, p),
body:is(.single-case, .single-column) .single-article__content :is(h1, h2, h3, h4, h5, h6, p, li, blockquote, figcaption, td, th),
body:is(.single-case, .single-column) .single-sidebar :is(h2, h3, p) {
  overflow-wrap: break-word;
  word-break: normal;
  line-break: strict;
  text-wrap: pretty;
}
@media (prefers-reduced-motion: reduce) {
  .lower-card,
  .lower-card__media img,
  .lower-card__more b,
  .form-submit,
  .form-submit b {
    transition: none;
  }
}

/* service-detail-placeholder */

/* service-detail-material */
.service-detail-material .c-btn {
  min-width: 220px;
  flex: 0 0 auto;
  color: var(--main1);
  background: var(--white1);
}
.service-detail-material .c-btn:hover {
  color: var(--white1);
  background: var(--main1);
  box-shadow: inset 0 0 0 1px var(--white1);
}

/* service-directory-card */
@media screen and (max-width: 520px) {
  .service-directory-card__actions .c-btn,
  .service-detail-material .c-btn {
    width: 100%;
    min-width: 0;
  }
}

/* form-field */
.form-field label,
.form-field legend {
  display: block;
  margin-bottom: 8px;
  color: var(--main1);
  font-size: 14px;
  font-weight: 700;
}
.form-field em,
.form-consent em {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 7px;
  color: var(--white1);
  background: var(--accent1);
  border-radius: 3px;
  font-size: 10px;
  font-style: normal;
  line-height: 1.5;
}
.form-field label > span,
.form-field legend > span {
  display: inline-block;
  margin-left: 8px;
  padding: 2px 7px;
  color: var(--white1);
  background: #868a7a;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.5;
}

/* form-back */

/* ===== archive ===== */

/* lower-archive */
.lower-archive__list-title {
  margin-bottom: 34px;
}

/* lower-taxonomy-index */
.lower-taxonomy-index {
  display: grid;
  gap: 32px;
  margin-bottom: clamp(64px, 8vw, 100px);
}
@media screen and (max-width: 520px) {
  .lower-taxonomy-index {
    gap: 20px;
    margin-bottom: 56px;
  }
}

/* lower-taxonomy-group */
.lower-taxonomy-group {
  padding: clamp(28px, 3.5vw, 44px);
  background: var(--white1);
  border: 1px solid #dadfcc;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgb(2 148 118 / 4%);
}
.lower-taxonomy-group h2,
.lower-archive__list-title {
  position: relative;
  padding-left: 34px;
  color: var(--black1);
  font-size: clamp(21px, 2.1vw, 28px);
  line-height: 1.5;
}
.lower-taxonomy-group h2::before,
.lower-archive__list-title::before {
  position: absolute;
  top: 0.72em;
  left: 0;
  width: 23px;
  height: 4px;
  background: var(--gradient1);
  border-radius: 999px;
  content: "";
}
.lower-taxonomy-group--categories .lower-taxonomy-links a {
  padding: 8px 18px;
  color: var(--main1);
  background: #f7faed;
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgb(3 166 133 / 34%);
  font-size: 13px;
  font-weight: 600;
  line-height: 1.5;
  transition: color 0.3s ease, background 0.3s ease, box-shadow 0.3s ease;
}
.lower-taxonomy-group--categories .lower-taxonomy-links a:hover,
.lower-taxonomy-group--categories .lower-taxonomy-links a.is-current {
  color: var(--white1);
  background: var(--gradient1);
  box-shadow: inset 0 0 0 1px transparent;
}
.lower-taxonomy-group--tags .lower-taxonomy-links {
  gap: 14px 24px;
}
.lower-taxonomy-group--tags .lower-taxonomy-links a {
  position: relative;
  padding-left: 16px;
  color: #4c4645;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.55;
  transition: color 0.3s ease;
}
.lower-taxonomy-group--tags .lower-taxonomy-links a::before {
  position: absolute;
  top: 0.45em;
  left: 0;
  width: 10px;
  height: 10px;
  background: var(--gradient1);
  clip-path: polygon(0 0, 72% 0, 100% 50%, 72% 100%, 0 100%);
  content: "";
}
.lower-taxonomy-group--tags .lower-taxonomy-links a:hover,
.lower-taxonomy-group--tags .lower-taxonomy-links a.is-current {
  color: var(--accent1);
}
@media screen and (max-width: 520px) {
  .lower-taxonomy-group {
    padding: 24px 20px;
    border-radius: 8px;
  }

  .lower-taxonomy-group h2,
  .lower-archive__list-title {
    padding-left: 28px;
    font-size: 21px;
  }

  .lower-taxonomy-group h2::before,
  .lower-archive__list-title::before {
    width: 19px;
  }

  .lower-taxonomy-group--categories .lower-taxonomy-links a {
    padding: 7px 12px;
    font-size: 12px;
  }

  .lower-taxonomy-group--tags .lower-taxonomy-links {
    gap: 12px 16px;
  }

  .lower-taxonomy-group--tags .lower-taxonomy-links a {
    font-size: 12px;
  }
}

/* lower-taxonomy-links */
.lower-taxonomy-links {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 14px;
  margin-top: 24px;
}
@media screen and (max-width: 520px) {
  .lower-taxonomy-links {
    gap: 10px 8px;
    margin-top: 20px;
  }
}

/* lower-card-grid */
.lower-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px 24px;
}
@media screen and (max-width: 1100px) {
  .lower-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 680px) {
  .lower-card-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
  }
}

/* lower-card */
.lower-card {
  min-width: 0;
  overflow: hidden;
  background: var(--white1);
  border-radius: 10px;
  box-shadow: 0 10px 30px rgb(2 148 118 / 8%);
  transition: box-shadow 0.35s ease, transform 0.35s ease;
}
.lower-card:hover {
  box-shadow: 0 16px 38px rgb(2 148 118 / 14%);
  transform: translateY(-4px);
}
.lower-card__link {
  display: flex;
  height: 100%;
  flex-direction: column;
}
.lower-card__media {
  position: relative;
  aspect-ratio: 720 / 430;
  overflow: hidden;
  background: #e7ebdb;
}
.lower-card__media::after {
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: var(--gradient1);
  content: "";
}
.lower-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.5s ease;
}
.lower-card:hover .lower-card__media img {
  transform: scale(1.035);
}
.lower-card__body {
  display: flex;
  min-height: 260px;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  padding: 24px;
}
.lower-card h2 {
  margin-block: 14px 10px;
  color: var(--black1);
  font-size: clamp(17px, 1.6vw, 20px);
  font-weight: 700;
  line-height: 1.7;
  text-wrap: pretty;
}
.lower-card p,
.lower-card time {
  color: var(--gray3);
  font-size: 13px;
  text-wrap: pretty;
}
.lower-card strong {
  display: inline-block;
  margin-top: 10px;
  padding: 4px 10px;
  color: var(--main1);
  background: var(--gray1);
  border-radius: 5px;
  font-size: 13px;
}
.lower-card__more {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 20px;
  color: var(--main1);
  font-size: 13px;
  font-weight: 700;
}
.lower-card__more b {
  display: grid;
  width: 28px;
  height: 28px;
  place-items: center;
  color: var(--white1);
  background: var(--accent1);
  border-radius: 50%;
  line-height: 1;
  transition: transform 0.3s ease;
}
.lower-card:hover .lower-card__more b {
  transform: translateX(4px);
}
@media screen and (max-width: 680px) {
  .lower-card__body {
    min-height: 230px;
  }
}
@media screen and (max-width: 520px) {
  .lower-card__body {
    min-height: 0;
    padding: 20px;
  }

  .lower-card h2 {
    font-size: 17px;
  }
}

/* lower-empty */

/* navigation */

/* nav-links */

/* ===== single ===== */

/* single-article */

/* case-profile */

/* single-sidebar */

/* single-sidebar-card */
.single-sidebar-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  background: var(--white1);
  transition: background 0.3s ease;
}
.single-sidebar-card:hover {
  background: #fafcf4;
}
.single-sidebar-card figure {
  aspect-ratio: 720 / 430;
  overflow: hidden;
  background: #e7ebdb;
  border-radius: 5px;
}
.single-sidebar-card figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.single-sidebar-card span {
  display: inline-flex;
  padding: 3px 8px;
  color: var(--white1);
  background: var(--main1);
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
}
.single-sidebar-card h3 {
  margin-top: 8px;
  color: var(--black1);
  font-size: 14px;
  line-height: 1.65;
  text-wrap: pretty;
}
.single-sidebar-card time {
  display: block;
  margin-top: 8px;
  color: var(--gray3);
  font-size: 11px;
}
@media screen and (max-width: 680px) {
  .single-sidebar-card {
    grid-template-columns: 112px minmax(0, 1fr);
  }
}
@media screen and (max-width: 520px) {
  .single-sidebar-card {
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 10px;
    padding: 12px;
  }

  .single-sidebar-card h3 {
    font-size: 13px;
  }
}

/* entry-content */

/* ===== directory ===== */

/* service-directory */

.service-detail-placeholder {
  padding-block: clamp(72px, 8vw, 120px);
  background: #f5f7ee;
}
@media screen and (max-width: 520px) {
  
  .service-detail-placeholder {
    padding-block: 64px;
  }
}

/* service-directory-card */
.service-directory-card__actions .c-btn {
  min-width: 0;
  flex: 1;
  padding-inline: 18px;
  color: var(--main1);
  background: var(--white1);
  font-size: 13px;
}
.service-directory-card__actions .c-btn:hover {
  color: var(--white1);
  background: var(--main1);
  box-shadow: inset 0 0 0 1px var(--white1);
}

/* service-detail-placeholder */

/* ===== form ===== */

/* lower-hero */

/* form-page */

/* form-layout */

/* download-summary */
body.is-download-preview-open {
  overflow: hidden;
}
.download-preview {
  position: fixed;
  inset: 0;
  width: min(1200px, calc(100% - 32px));
  max-width: none;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 52px 20px 20px;
  overflow: auto;
  color: var(--black1);
  background: var(--white1);
  border: 0;
  border-radius: 12px;
}
.download-preview:not([open]) { display: none; }
.download-preview::backdrop { background: rgb(2 123 99 / 80%); }
.download-preview__close {
  position: absolute;
  top: 10px;
  right: 12px;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  color: var(--white1);
  background: var(--main1);
  border: 0;
  border-radius: 50%;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
}
.download-preview__image {
  display: block;
  width: 100%;
  max-height: calc(100dvh - 160px);
  object-fit: contain;
}
.download-preview__caption {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
  overflow-wrap: anywhere;
}
@media screen and (max-width: 520px) {
  .download-preview { width: calc(100% - 20px); padding-inline: 12px; }
}

/* themed-form-card */
.themed-form-card .wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 10px 14px;
  color: var(--main1);
  background: rgb(3 221 177 / 8%);
  border: 1px solid var(--accent1);
  border-radius: 4px;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

/* form-field */
.form-field {
  margin: 0 0 22px;
}
fieldset.form-field {
  min-width: 0;
  padding: 0;
  border: 0;
}
.form-field input,
.form-field textarea,
.form-field select {
  width: 100%;
  min-height: 52px;
  padding: 12px 14px;
  color: var(--black1);
  background: var(--white1);
  border: 1px solid #e2e5d8;
  border-radius: 3px;
  outline: 0;
  transition: border-color 0.25s ease, box-shadow 0.25s ease;
}
.form-field .wpcf7-form-control-wrap {
  display: block;
  width: 100%;
}
.form-field textarea {
  min-height: 150px;
  resize: vertical;
}
.form-field select {
  appearance: auto;
}
.form-field input:focus,
.form-field textarea:focus,
.form-field select:focus {
  border-color: var(--accent1);
  box-shadow: 0 0 0 3px rgb(3 221 177 / 12%);
}

/* form-row */

/* form-options */
.form-options .wpcf7-radio {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
}
@media screen and (max-width: 680px) {
  .form-options .wpcf7-radio { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
.form-options .wpcf7-list-item {
  margin: 0;
}

.form-consent input {
  width: 18px;
  min-height: 18px;
  flex: 0 0 auto;
  accent-color: var(--accent1);
}

/* form-consent */
.form-consent {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
  margin-top: 34px;
  font-size: 13px;
}
.form-consent > .wpcf7-form-control-wrap,
.form-consent .wpcf7-acceptance,
.form-consent .wpcf7-list-item {
  display: block;
  width: 100%;
}
.form-consent .wpcf7-list-item {
  margin: 0;
}
.form-consent .wpcf7-list-item label {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  gap: 10px;
}
.form-consent a {
  color: var(--main1);
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* form-submit */
.form-submit {
  display: flex;
  width: min(100%, 350px);
  min-height: 58px;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin: 30px auto 0;
  padding: 12px 24px;
  color: var(--white1);
  background: var(--gradient1);
  border: 0;
  border-radius: 999px;
  box-shadow: 0 8px 18px rgb(3 166 133 / 17%);
  font-size: 15px;
  font-weight: 700;
  transition: color 0.3s ease, background-color 0.3s ease, box-shadow 0.3s ease;
}
.form-submit:hover {
  color: var(--main1);
  background: var(--white1);
  box-shadow: inset 0 0 0 2px var(--main1), 0 10px 24px rgb(3 166 133 / 20%);
}
.form-submit b {
  line-height: 1;
  transition: transform 0.3s ease;
}
.form-submit:hover b {
  transform: translateX(4px);
}
.form-submit.is-loading {
  cursor: wait;
  opacity: 0.65;
  pointer-events: none;
}
.form-submit:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}
@media screen and (max-width: 520px) {
  .form-submit {
    min-height: 54px;
    font-size: 14px;
  }
}

/* themed-form */
.themed-form .wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #c02b2b;
  font-size: 12px;
  font-weight: 700;
}

/* form-status */
.form-status {
  min-height: 1.6em;
  margin-top: 18px;
  color: #c02b2b;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

/* kst-cf7-bridge */

.kst-cf7-confirm-form {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* form-visual */
.form-visual {
  margin-top: 34px;
}
@media screen and (max-width: 900px) {
  .form-visual {
    max-width: 560px;
    margin-inline: auto;
  }
}

/* ==========================================================================
Legal pages
========================================================================== */

/* ==========================================================================
News index and article
========================================================================== */

/* ===== completion ===== */

/* confirm-list */

.confirm-list__pair > div {
  padding: 17px 0;
  border-bottom: 1px solid #e4e7db;
}
.confirm-list__pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  padding: 0 !important;
  border: 0 !important;
}
@media screen and (max-width: 680px) {
  .confirm-list__pair { grid-template-columns: minmax(0, 1fr); gap: 0; }

  .confirm-list__pair > div:first-child {
    border-bottom: 1px solid #e4e7db;
  }
}

/* confirm-actions */

/* completion-page */

/* completion-card */
.completion-card__download.is-disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

/* Whitepaper directory and the two lists. */
.whitepaper-directory__section { margin-top: clamp(60px, 8vw, 100px); }
.whitepaper-directory__section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.whitepaper-directory__section-heading span { color: var(--main1); font: 700 13px var(--barlow); letter-spacing: .12em; }
.whitepaper-directory__section-heading h2 { margin-top: 4px; font-size: clamp(25px, 2.8vw, 36px); }
.whitepaper-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.whitepaper-card { display: flex; min-width: 0; flex-direction: column; overflow: hidden; background: #ffffff; border: 1px solid #e5e9db; border-radius: 8px; }
.whitepaper-card__image { display: block; aspect-ratio: 16 / 9; overflow: hidden; background: #eef0e7; }
.whitepaper-card__image img { display: block; width: 100%; height: 100%; object-fit: contain; }
.whitepaper-card__body { display: flex; flex: 1; flex-direction: column; align-items: start; padding: 22px; }
.whitepaper-card__type { display: inline-block; padding: 5px 13px; color: #ffffff; background: var(--gradient1); border-radius: 99px; font-size: 12px; font-weight: 700; }
.whitepaper-card__meta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 14px; color: var(--main1); font-size: 12px; }
.whitepaper-card h3 { margin-top: 10px; font-size: clamp(18px, 1.7vw, 23px); line-height: 1.55; text-wrap: pretty; }
.whitepaper-card__excerpt { margin-top: 12px; color: #635c5a; font-size: 13px; line-height: 1.8; text-wrap: pretty; }
.whitepaper-card__actions { margin-top: auto; padding-top: 24px; }

/* 404 page */
@media screen and (max-width: 900px) { .whitepaper-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media screen and (max-width: 600px) {
   .whitepaper-grid { grid-template-columns: 1fr; }
  .whitepaper-directory__section-heading { align-items: start; flex-direction: column; gap: 14px; }
}

@charset "utf-8";

/* Service pages: shared components */

/* Photo marquee animation */
@keyframes photo-hero-up {
  to { transform: translateY(-50%); }
}
@keyframes photo-hero-down {
  from { transform: translateY(-50%); }
  to { transform: translateY(0); }
}

/* service-landing */
.service-landing { overflow: clip; font-size: var(--service-font-16-14); line-height: 1.8; }

/* Indeed・AI・費用: 放射状グラデーションの広がりを共通化 */
.service-landing p, .service-landing li { text-wrap: pretty; line-break: strict; overflow-wrap: break-word; word-break: normal; }
.service-landing h1, .service-landing h2, .service-landing h3, .service-landing h4 { line-break: strict; word-break: normal; }
.service-landing mark { color: inherit; background: linear-gradient(transparent 60%, rgb(255 196 0 / 50%) 60%); font-weight: 700; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.service-landing--site .service-section, .service-landing--brand .service-section { scroll-margin-top: 90px; }
.service-landing--site .service-section:not(.site-strategy):not(.site-support), .service-landing--brand .service-section:not(.brand-detail) { color: var(--black1); }

/* service-shell */
.service-shell { width: min(calc(100% - 160px), var(--service-content-width)); margin-inline: auto; }
@media screen and (max-width: 1200px) {
  .service-shell { width: calc(100% - 80px); }
}
@media screen and (max-width: 860px) {
  .service-shell { width: calc(100% - 2 * var(--service-padding)); }
}

/* service-section */
.service-section { padding-block: 120px; }
@media screen and (max-width: 860px) {
  .service-section { padding-block: 64px; }
}

/* service-heading */
.service-heading { display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.service-heading > span { color: transparent; background: var(--gradient2); background-clip: text; -webkit-background-clip: text; font: 700 14px/1.4 var(--barlow); letter-spacing: .08em; }
.service-heading h2 { font-size: var(--service-font-40-24); font-weight: 700; line-height: 1.6; }
.service-heading::after { content: ''; width: 48px; height: 3px; margin-top: 8px; border-radius: 2px; background: var(--gradient1); }
.service-heading--light > span, .service-heading--light h2 { color: white; }
.service-heading--light > span { background: none; -webkit-text-fill-color: currentColor; }
.service-heading--light::after { background: white; }
.service-heading--left { align-items: flex-start; text-align: left; }
@media screen and (max-width: 860px) {
  .service-heading > span { font-size: 12px; }
}

/* service-actions */

/* Indeed・AI・費用: 白背景の資料DLラベルは、背景を保ち文字だけグラデーション */
body.has-service-text-gradients :is(.c-btn--outline, .c-btn--white) > .c-btn__label { color: transparent; background: var(--gradient2); background-clip: text; -webkit-background-clip: text; }
body.has-service-text-gradients :is(.c-btn--outline, .c-btn--white):hover > .c-btn__label { color: inherit; background: none; }
.service-actions { justify-content: center; gap: 24px; }
.service-actions .c-btn { min-width: 0; width: 208px; height: 54px; padding: 12px 16px; font-family: var(--noto-sans); font-weight: 700; white-space: nowrap; }
.service-actions .c-btn--outline { width: 200px; }
@media screen and (max-width: 540px) {
  .service-actions { width: 100%; gap: 12px; flex-wrap: nowrap; }
  .service-actions .c-btn, .service-actions .c-btn--outline { flex: 1 1 0; width: auto; padding-inline: 8px; gap: 6px; font-size: 13px; }
  .service-actions .c-btn img { max-width: 18px; }
}

/* Closing banners: the same large pair across service pages. */
.service-final-banner .service-actions { width: 100%; max-width: 820px; margin-inline: auto; flex-direction: row; flex-wrap: nowrap; justify-content: center; gap: 20px; }
.service-final-banner .service-actions > a.c-btn { flex: 1 1 0; width: 400px; max-width: 400px; min-width: 0; height: 88px; padding: 12px 24px; gap: 8px; font-size: 20px; font-weight: 500; line-height: 1.45; }
.service-final-banner .service-actions > a.c-btn:first-child { border: 1px solid var(--main1); color: var(--main1); background: white; }
.service-final-banner .service-actions > a.c-btn:first-child > span { color: transparent; background: var(--gradient2); background-clip: text; -webkit-background-clip: text; }
.service-final-banner .service-actions > a.c-btn:first-child:hover { color: white; background: var(--gradient2); }
.service-final-banner .service-actions > a.c-btn:first-child:hover > span { color: white; background: none; -webkit-text-fill-color: currentColor; }
.service-final-banner .service-actions > a.c-btn + .c-btn { color: white; border: 2px solid white; background: transparent; }
.service-final-banner .service-actions > a.c-btn + .c-btn:hover { color: var(--main1); background: white; }
.service-final-banner .service-actions > a.c-btn > img { width: 40px; height: 40px; max-width: none; max-height: none; flex: none; object-fit: contain; }
.service-final-banner .service-actions > a.c-btn + .c-btn > img { filter: brightness(0) invert(1); }
.service-final-banner .service-actions > a.c-btn + .c-btn:hover > img { filter: brightness(0) saturate(100%) invert(25%) sepia(75%) saturate(1200%) hue-rotate(149deg) brightness(90%) contrast(101%); }
@media screen and (max-width: 860px) {
  .service-final-banner .service-actions { gap: 12px; }
  .service-final-banner .service-actions > a.c-btn { height: 54px; padding-inline: 8px; gap: 6px; font-size: clamp(12px, 3.5vw, 15px); }
  .service-final-banner .service-actions > a.c-btn > img { width: 24px; height: 24px; }
  .service-final-banner .service-actions.ai-actions { flex-direction: column; align-items: center; gap: 10px; }
  .service-final-banner .service-actions.ai-actions > a.c-btn { flex: none; width: min(100%, 350px); max-width: 350px; }
}
@media screen and (max-width: 375px) {
  .service-final-banner .service-actions > a.c-btn { padding-inline: 6px; gap: 4px; }
  .service-final-banner .service-actions > a.c-btn > img { width: 20px; height: 20px; }
}

/* has-service-landing */
body.has-service-landing .header { position: fixed; top: 0; width: 100%; height: auto; background: transparent; border: 0; opacity: 1; visibility: visible; transform: none; }
body.has-service-landing .header:not(.is-scrolled) .header__brand-color { display: none; }
body.has-service-landing .header:not(.is-scrolled) .header__brand-white { display: block !important; }
body.has-service-landing .header:not(.is-scrolled) .header__nav { color: white; }
body.has-service-landing .header:not(.is-scrolled) .burger { color: white; }
body.has-service-landing .header:not(.is-scrolled) .burger span { background: white; }
body.has-service-landing .header.is-scrolled { background: rgb(255 255 255 / 97%); }
body.has-service-landing.is-menu-open .header { background: white; border-bottom: 1px solid rgb(3 166 133 / 12%); }
body.has-service-landing.is-menu-open .header .header__brand-color { display: block !important; }
body.has-service-landing.is-menu-open .header .header__brand-white { display: none !important; }
body.has-service-landing.is-menu-open .header .burger { color: var(--black1); }
body.has-service-landing.is-menu-open .header .burger span { background: var(--black1); }

/* service-pc-break */
@media screen and (max-width: 860px) {
  .service-pc-break { display: none; }
}

/* service-sp-break */
.service-sp-break { display: none; }
@media screen and (max-width: 860px) {
  .service-sp-break { display: block; }
}

/* service-final-cta */
.service-final-cta { position: relative; isolation: isolate; color: white; text-align: center; background: url("../../img/service-final-cta.webp") center / cover; }
.service-final-cta::before { content: ''; position: absolute; inset: 0; z-index: -1; background: var(--service-gradient); opacity: .6; }
.service-final-cta h2 { font-size: var(--service-font-40-24); font-weight: 700; line-height: 1.6; }
.service-final-cta .service-actions { margin-top: 40px; }
@media screen and (max-width: 860px) {
  .service-final-cta h2 { font-size: 24px; }
  .service-final-cta .service-actions { margin-top: 32px; }
}
@media screen and (max-width: 375px) {
  .service-final-cta h2 { font-size: 21px; }
}

/* service-chip-heading */
.service-chip-heading { width: fit-content; max-width: 100%; margin-inline: auto; padding: 14px 40px; color: white; background: var(--gradient1); font-size: 28px; line-height: 1.6; font-weight: 600; text-align: center; }
@media screen and (max-width: 860px) {
  .service-chip-heading { font-size: 16px; font-weight: 700; padding: 17px 32px; }
}

/* service-carousel */
.service-carousel__track { display: flex; gap: 48px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-inline: max(20px,calc((100% - 706px)/2)); margin-top: 40px; }
.service-carousel__track::-webkit-scrollbar { display: none; }
.service-carousel__slide { flex: 0 0 706px; scroll-snap-align: center; }
.service-carousel__dots { display: flex; gap: 8px; justify-content: center; margin-top: 24px; }
.service-carousel__dots button { width: 10px; height: 10px; border: 0; border-radius: 50%; padding: 0; background: #dbded2; cursor: pointer; }
.service-carousel__dots button[aria-current='true'] { background: var(--main1); }
@media screen and (max-width: 860px) {
  .service-carousel__track { gap: 16px; padding-inline: max(20px,calc((100% - 320px)/2)); margin-top: 32px; }
  .service-carousel__slide { flex-basis: 320px; }
  .service-carousel__dots { margin-top: 16px; }
  .service-carousel__dots button { width: 8px; height: 8px; }
}

/* service-keep */
.service-keep { display: inline-block; }

/* service-pricing */
.service-pricing__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 40px; margin-top: 88px; }
.service-pricing__notes { margin-top: 32px; font-size: 13px; line-height: 1.7; }
.service-pricing--rpo .service-pricing__grid { margin-top: 96px; }
.service-pricing--rpo .service-price-table th, .service-pricing--rpo .service-price-table td { padding-block: 10px; }
@media screen and (max-width: 860px) {
  .service-pricing__grid, .service-pricing--rpo .service-pricing__grid { grid-template-columns: 1fr; gap: 24px; margin-top: 40px; }
  .service-pricing__notes { font-size: 12px; margin-top: 30px; }
}

/* service-price-card */

/* service-plan-contact */

/* service-price-table */
.service-price-table { display: flex; flex-direction: column; border: 1px solid #e9ebe5; border-radius: 14px; overflow: hidden; box-shadow: 0 4px 10px rgb(0 0 0 / 5%); }
.service-price-table h3 { margin: 0; padding: 24px 16px; color: white; background: var(--gradient1); text-align: center; font-size: 18px; font-weight: 700; line-height: 1.8; }
.service-price-table table { flex: 1; width: 100%; border-collapse: collapse; }
.service-price-table th { text-align: left; font-weight: 400; padding: 14px 0 14px 63px; }
.service-price-table td, .service-price-table thead th:last-child { width: 144px; text-align: center; padding: 14px 63px 14px 0; }
.service-price-table thead { border-bottom: 1.5px solid rgb(3 166 133 / 60%); color: var(--main1); }
.service-price-table thead th { font-weight: 700; padding-block: 16px; }
.service-price-table tbody tr:nth-child(even) { background: var(--gray1); }
.service-price-table__dot { display: inline-block; width: 14px; height: 14px; border-radius: 50%; background: var(--main1); }
@media screen and (max-width: 1200px) and (min-width: 861px) {
  .service-price-table th { padding-left: 24px; }
  .service-price-table td, .service-price-table thead th:last-child { width: 80px; padding-right: 24px; }
}
@media screen and (max-width: 860px) {
  .service-price-table h3 { font-size: 14px; padding: 13px 12px; }
  .service-price-table th { padding: 11px 0 11px 15px; }
  .service-price-table td, .service-price-table thead th:last-child { width: 63px; padding: 11px 15px 11px 0; }
  .service-price-table thead th, .service-pricing--rpo .service-price-table th, .service-pricing--rpo .service-price-table td { padding-block: 10px; }
  .service-price-table__dot { width: 8px; height: 8px; }
}
@media screen and (max-width: 375px) {
  .service-price-table h3 { font-size: 12px; }
}
@media screen and (max-width: 860px) {
  .service-price-table tbody tr { height: 47.6px; }
}

/* service-flow */
.service-flow { background: var(--gray1); }
.service-flow__steps { position: relative; display: grid; grid-template-columns: repeat(4,minmax(0,250px)); gap: 56px; justify-content: center; margin-top: 64px; isolation: isolate; }
.service-flow__steps::before { content: ''; position: absolute; z-index: -1; left: 10%; right: 10%; top: 50%; height: 10px; background: var(--main1); }
.service-flow__steps > li { position: relative; display: flex; flex-direction: column; align-items: center; padding: 128px 16px 24px; border-radius: 8px; background: white; box-shadow: 0 4px 10px rgb(0 0 0 / 10%); min-height: 360px; }
.service-flow__badge { position: absolute; inset: 0 0 auto; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 16px; color: white; background: var(--main1); border-radius: 8px 8px 0 0; font-family: var(--barlow); font-weight: 700; letter-spacing: .08em; }
.service-flow__badge span { font-size: 24px; line-height: 19.6px; }
.service-flow__badge b { font-size: 40px; line-height: 1; }
.service-flow__badge::after { content: ''; position: absolute; top: 100%; left: calc(50% - 7px); border-top: 12px solid var(--main1); border-inline: 7px solid transparent; }
.service-flow__steps > li > img { width: 64px; height: 64px; }
.service-flow__steps h3 { font-size: 18px; font-weight: 700; line-height: 1.8; margin-top: 16px; text-align: center; }
.service-flow__steps p { margin-top: 8px; letter-spacing: .005em; width: 100%; }
@media screen and (max-width: 1200px) and (min-width: 861px) {
  .service-flow__steps { gap: 24px; }
  .service-flow__steps h3 { font-size: 16px; }
}
@media screen and (max-width: 860px) {
  .service-flow__steps { grid-template-columns: minmax(0,350px); gap: 24px; margin-top: 40px; }
  .service-flow__steps::before { inset: 5% auto 5% calc(50% - 3px); height: auto; width: 6px; }
  .service-flow__steps > li { min-height: 324px; }
}

/* service-cases */
.service-cases { position: relative; isolation: isolate; background: var(--gradient1); border-radius: 50% 50% 0 0 / 140px 140px 0 0; }
.service-cases::before { content: ''; position: absolute; inset: 0; background: var(--gray1); z-index: -2; }
.service-cases::after { content: ''; position: absolute; inset: 0; border-radius: inherit; background: var(--gradient1); z-index: -1; }
.service-cases__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 64px; }
@media screen and (max-width: 860px) {
  .service-cases { border-radius: 50% 50% 0 0 / 40px 40px 0 0; }
  .service-cases__grid { grid-template-columns: 1fr; margin-top: 40px; gap: 24px; }
}

/* service-case */
.service-case { border-radius: 12px; background: white; }
.service-case > a { display: block; padding: 24px; height: 100%; }
.service-case__number { display: block; color: var(--main1); font: 700 14px/1.4 var(--barlow); letter-spacing: .08em; }
.service-case__tag { display: table; margin-top: 12px; color: white; background: var(--main1); padding: 4px 12px; border-radius: 99px; font-size: 14px; font-weight: 700; }
.service-case h3 { margin: 4px 0 20px; font-size: 18px; line-height: 1.8; font-weight: 500; }
.service-case h4 { margin: 0 0 8px; padding-bottom: 8px; border-bottom: 1px solid var(--main1); font-size: 28px; line-height: 1.6; color: var(--main1); }
@media screen and (max-width: 860px) {
  .service-case h3 { font-size: 16px; }
  .service-case h4 { font-size: 24px; }
}

/* service-info-cta */
.service-info-cta { position: relative; isolation: isolate; padding: 120px 0; color: white; background: url("../../img/sns-info-cta-14-final-cta.webp") center / cover; }
.service-info-cta::before { content: ''; position: absolute; z-index: -1; inset: 0; background: var(--service-gradient); opacity: .7; }
.service-info-cta h2 { font-size: 40px; font-weight: 700; line-height: 1.6; text-align: center; }
.service-info-cta .c-btn { display: flex; margin: 40px auto 0; width: 250px; height: 60px; }
@media screen and (max-width: 860px) {
  .service-info-cta { padding: 122px 0 113px; }
  .service-info-cta h2 { font-size: 24px; }
  .service-info-cta .c-btn { margin-top: 28px; }
}
.service-info-cta .c-btn { flex-shrink: 0; min-height: 60px; }

/* service-faq */
.service-faq__list { max-width: 800px; margin: 64px auto 0; margin-top: 56px; }
.service-faq .service-actions { margin-top: 56px; }
@media screen and (max-width: 860px) {
  .service-faq__list, .service-faq .service-actions { margin-top: 40px; }
  .service-faq .service-actions .c-btn { height: 54px; }
}

/* service-faq-item */
.service-faq-item { border-block: 1px solid #d8dbd1; }
.service-faq-item summary { display: flex; align-items: center; gap: 20px; padding: 24px 16px; border-bottom: 1px solid #e9ebe5; cursor: pointer; list-style: none; font-size: 18px; line-height: 1.6; font-weight: 500; }
.service-faq-item summary::-webkit-details-marker { display: none; }
.service-faq-item__q { flex-shrink: 0; color: var(--main1); font: 700 20px/1.2 var(--barlow); letter-spacing: .08em; }
:is(.service-landing--indeed, .service-landing--ai, .service-landing--pricing) .service-faq-item__q { color: transparent; background: var(--gradient2); background-clip: text; -webkit-background-clip: text; }
.service-faq-item summary > span:nth-child(2) { flex: 1; }
.service-faq-item summary b { position: relative; width: 20px; height: 20px; flex-shrink: 0; }
.service-faq-item summary b::before, .service-faq-item summary b::after { content: ''; position: absolute; width: 14px; height: 2px; top: 9px; left: 3px; background: var(--main1); border-radius: 1px; }
.service-faq-item summary b::after { transform: rotate(90deg); }
.service-faq-item[open] summary b::after { transform: none; }
.service-faq-item__answer { padding: 16px; border-bottom: 1px solid #e9ebe5; background: var(--gray1); }
.service-faq-item__answer > span { display: block; font: 700 20px/1.2 var(--barlow); letter-spacing: .08em; color: var(--accent1); margin-bottom: 8px; }
@media screen and (max-width: 860px) {
  .service-faq-item summary { gap: 12px; }
  .service-faq-item { border-bottom: 0; }
  .service-faq-item:last-child { border-bottom: 1px solid #d8dbd1; }
  .service-faq-item summary { padding: 16px; min-height: 83px; font-size: 16px; border-bottom: 0; }
}
@media screen and (min-width: 861px) {
  .service-faq-item { border: 0; box-shadow: inset 0 -1px #d8dbd1; }
  .service-faq-item:first-child { box-shadow: inset 0 1px #d8dbd1, inset 0 -1px #d8dbd1; }
  .service-faq-item summary { border: 0; min-height: 77px; }
}
.service-faq-item__answer p { display: block; }
.service-faq-item__answer p br + br { display: none; }
.service-faq-item__answer p { white-space: normal; }
.service-faq-item__list { display: grid; gap: 4px; margin-block: 10px; }
.service-faq-item__list li { position: relative; display: block; padding-left: 1em; text-indent: 0; }
.service-faq-item__list li::before { content: '・'; position: absolute; left: 0; }

/* service-pc-only */

/* photo-hero */
.photo-hero .service-actions { justify-content: flex-start; margin-top: 28px; }
@media screen and (max-width: 860px) {
  .photo-hero .service-actions { margin-top: 24px; }
}

/* service-diagonal-divider */

/* base */

/* service-new-info */
.service-new-info .c-btn { display: flex; width: 260px; height: 60px; margin: 40px auto 0; }
@media screen and (max-width: 540px) {
  .service-new-info .c-btn { width: 220px; }
}

/* service-new-final */
.service-new-final .service-actions { margin-top: 40px; }

/* ==========================================================================
   Layered slopes: recruitment site strategy / AI case
   ========================================================================== */

@charset "utf-8";

/* Recruitment SNS */

/* sns-hero */
.sns-hero { min-height: 803px; color: white; background: var(--service-gradient); position: relative; isolation: isolate; }
.sns-hero::before { content: ''; position: absolute; z-index: -2; inset: 0; background: url("../../img/sns-hero-background-pc.webp") center / cover no-repeat; }
.sns-hero::after { content: ''; position: absolute; z-index: -1; inset: 0; background: var(--service-gradient); opacity: .5; }
.sns-hero__inner { display: flex; flex-direction: column; align-items: center; padding: 165px 20px 63px; text-align: center; }
.sns-hero__label { border: 1px solid rgb(3 166 133 / 60%); background: white; color: var(--main1); border-radius: 4px; padding: 7px 16px; font-size: var(--service-font-18-14); font-weight: 700; line-height: 1.6; }
.sns-hero h1 { margin-top: 16px; font-size: var(--service-font-52-28); font-weight: 900; line-height: 1.4; text-shadow: 0 0 5px #02846a, 0 0 5px #02846a, 2px 2px 0 #02846a, -2px -2px 0 #02846a; }
.sns-hero__description { width: min(770px, 100%); margin-top: 8px; font-size: var(--service-font-16-14); letter-spacing: .005em; text-shadow: 0 0 4px #02846a, 0 0 4px #02846a; }
.sns-hero__metrics { display: flex; gap: 45px; margin-top: 29px; }
.sns-hero__metrics li { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 150px; aspect-ratio: 1; border: 3px solid var(--service-dark); border-radius: 50%; color: var(--service-dark); background: white; line-height: 1; }
.sns-hero__metrics li > span { font-size: 20px; font-weight: 500; line-height: 1.2; }
.sns-hero__metrics strong { display: flex; gap: 2px; align-items: baseline; margin-top: 4px; font-size: 56px; font-weight: 900; line-height: 1.2; }
.sns-hero__metrics small { font-size: 24px; }
.sns-hero__metrics b { font-size: 18px; line-height: 1.2; }
.sns-hero .service-actions { margin-top: 40px; }
@media screen and (max-width: 860px) {
  .sns-hero { min-height: 650px; }
  .sns-hero__inner { padding-top: 110px; padding-bottom: 44px; }
  .sns-hero__description { max-width: 600px; }
}
@media screen and (max-width: 540px) {
  .sns-hero::before { background-image: url("../../img/sns-hero-background-sp.webp"); }
  .sns-hero__label { padding: 4px 12px; }
  .sns-hero h1 { width: calc(100% + 20px); margin-top: 20px; font-size: clamp(23px, 7.18vw, 28px); }
  .sns-hero__description { margin-top: 20px; line-height: 1.8; }
  .sns-hero__metrics { width: min(100%, 346px); gap: 10px; justify-content: space-between; margin-top: 20px; }
  .sns-hero__metrics li { width: min(102px, 30%); border-width: 2px; }
  .sns-hero__metrics li > span { font-size: clamp(12px, 3.49vw, 13.6px); }
  .sns-hero__metrics strong { gap: 1px; margin-top: 2px; font-size: clamp(32px, 9.764vw, 38.08px); }
  .sns-hero__metrics small { font-size: 16.32px; }
  .sns-hero__metrics b { font-size: 12.24px; }
  .sns-hero .service-actions { margin-top: 20px; }
}

/* sns-problems */
.sns-problems__list { display: grid; gap: 40px; margin-top: 64px; }
.sns-problems__row { display: grid; grid-template-columns: minmax(0, 450px) minmax(0, 600px); justify-content: center; align-items: center; gap: 40px; min-height: 413px; }
.sns-problems__label { display: flex; align-items: center; gap: 16px; color: var(--main1); }
.sns-problems__label h3 { font-size: var(--service-font-28-20); font-weight: 600; line-height: 1.6; }
.sns-problems__badge { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 160px; height: 160px; flex-shrink: 0; border: 1px solid var(--main1); border-radius: 50%; font-family: var(--barlow); font-weight: 700; line-height: 1; }
.sns-problems__badge small { font-size: 24px; line-height: 1.2; margin-bottom: -8px; }
.sns-problems__badge b { font-size: 80px; }
.sns-problems__image { display: block; width: 270px; height: 270px; margin: 0 0 0 110px; }
.sns-problems__image img { width: 100%; height: 100%; object-fit: contain; }
.sns-problems__panel { padding: 24px 32px; border-radius: 8px; background: var(--service-gradient); }
.sns-problems__panel-title { display: flex; align-items: center; gap: 16px; color: white; font-size: var(--service-font-28-20); font-weight: 600; line-height: 1.6; }
.sns-problems__panel-title b { font: 700 54px/1 var(--barlow); letter-spacing: .08em; }
.sns-problems__panel ul { display: grid; gap: 16px; margin-top: 16px; padding: 16px; background: white; border-radius: 7px; }
.sns-problems__panel li { display: flex; align-items: flex-start; gap: 10px; padding: 0 0 9px 8px; border-bottom: 1px dashed var(--gray3); }
.sns-problems__panel li:last-child { border-bottom: 0; padding-bottom: 8px; }
.sns-problems__panel li > img { flex-shrink: 0; width: 20px; height: 20px; margin-top: 6px; object-fit: contain; }
.sns-problems__panel li > span { min-width: 0; }
@media screen and (max-width: 1200px) and (min-width: 861px) {
  .sns-problems__row { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 28px; }
  .sns-problems__badge { width: 120px; height: 120px; }
  .sns-problems__badge small { font-size: 19px; }
  .sns-problems__badge b { font-size: 60px; }
  .sns-problems__label h3 { font-size: 23px; }
  .sns-problems__image { margin-left: auto; margin-right: auto; margin-top: 0; max-width: 100%; }
  .sns-problems__panel { padding: 24px; }
  .sns-problems__panel-title { font-size: 23px; }
}
@media screen and (max-width: 860px) {
  .sns-problems__list { gap: 48px; margin-top: 40px; }
  .sns-problems__row { display: block; min-height: 0; width: min(100%, 600px); margin-inline: auto; }
  .sns-problems__badge { width: 96px; height: 96px; border-width: .625px; }
  .sns-problems__badge small { font-size: 15px; margin-bottom: -2px; }
  .sns-problems__badge b { font-size: 48px; }
  .sns-problems__image { width: 194px; height: 194px; margin: 0 auto; }
  .sns-problems__row:nth-child(2) .sns-problems__image { height: 194.889px; }
  .sns-problems__panel { padding: 20px 16px; }
  .sns-problems__panel-title { gap: 12px; font-size: 20px; line-height: 32px; }
  .sns-problems__panel-title b { font-size: 32px; }
  .sns-problems__panel ul { gap: 8px; margin-top: 14px; padding: 12px 6px; }
  .sns-problems__panel li { padding-left: 0; gap: 8px; font-size: 13px; line-height: 1.7; }
  .sns-problems__panel li > img { margin-top: 2px; }
}
@media screen and (max-width: 375px) {
  .sns-problems__label { gap: 12px; }
  .sns-problems__label h3 { font-size: 18px; }
  .sns-problems__panel-title { font-size: 17px; gap: 8px; }
}
@media screen and (max-width: 860px) {
  .sns-problems__panel li:last-child { padding-bottom: 6px; }
}
.sns-problems__visual, .sns-problems__label { overflow: visible; }
.sns-problems__row:nth-child(2) .sns-problems__image img { width: 100%; height: 100%; max-width: 100%; object-fit: contain; }

/* sns-benefits */
.sns-benefits { position: relative; isolation: isolate; padding: 160px 0 120px; color: white; }
.sns-benefits::before { content: ''; position: absolute; inset: 0 0 auto; height: 101px; background: url("../../img/sns-benefits-decoration-shape-top.svg") center / 100% 100% no-repeat; transform: scaleX(-1); z-index: -2; }
.sns-benefits::after { content: ''; position: absolute; inset: 47px 0 0; z-index: -1; background: url("../../img/sns-benefits-background-shape.svg") center / 100% 100% no-repeat; }
.sns-benefits__upper { display: grid; grid-template-columns: 600px minmax(0, 1fr); gap: 40px; align-items: end; }
.sns-benefits__intro { margin-top: 40px; font-weight: 700; line-height: 2.625 !important; }
.sns-benefits__intro strong { padding: 5px 8px; margin-inline: 4px; color: var(--service-dark); background: white; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
.sns-benefits__cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 16px; margin-top: 40px; }
.sns-benefits__cards article { padding: 16px; background: white; color: var(--black1); }
.sns-benefits__cards header { display: flex; gap: 17px; align-items: flex-start; padding-top: 8px; margin-bottom: 16px; color: var(--main1); }
.sns-benefits__cards header > b { font: 700 54px/1 var(--barlow); letter-spacing: .08em; }
.sns-benefits__cards h3 { font-size: 18px; line-height: 1.8; font-weight: 700; }
.sns-benefits__cards p { letter-spacing: .005em; }
@media screen and (max-width: 1300px) and (min-width: 861px) {
  .sns-benefits__upper { grid-template-columns: 1fr 1fr; }
  .sns-benefits__text h2 { font-size: 30px; }
}
@media screen and (max-width: 860px) {
  .sns-benefits { padding: 160px 0 64px; }
  .sns-benefits::before { height: 64px; background-image: url("../../img/sns-benefits-sp-decoration-shape-top.svg"); }
  .sns-benefits::after { top: 34px; background-image: url("../../img/sns-benefits-sp-background-shape.svg"); }
  .sns-benefits__upper { display: block; }
  .sns-benefits__text .service-heading { width: fit-content; margin-inline: auto; }
  .sns-benefits__intro { line-height: 2.43 !important; }
  .sns-benefits__intro strong { display: inline-block; padding-block: 0; line-height: 2; margin-inline: 0 3px; }
  .sns-benefits__cards { grid-template-columns: 1fr; gap: 20px; }
  .sns-benefits__cards header { align-items: center; gap: 12px; margin-bottom: 10px; }
  .sns-benefits__cards header > b { font-size: 36px; }
  .sns-benefits__cards h3 { font-size: 16px; line-height: 1.6; }
}
@media screen and (max-width: 375px) {
  .sns-benefits__text h2 { font-size: 21px; }
  .sns-benefits__intro strong { display: inline; }
  .sns-benefits__cards h3 { font-size: 15px; }
}
@media screen and (min-width: 1301px) {
  .sns-benefits__intro { display: grid; gap: 10px; line-height: 2 !important; }
  .sns-benefits__intro > span { display: flex; gap: 4px; align-items: baseline; white-space: nowrap; }
  .sns-benefits__intro strong { padding-block: 0; margin-inline: 0; }
}
@media screen and (max-width: 1300px) {
  .sns-benefits__intro > span { display: contents; }
}

/* sns-pyramid */
.sns-pyramid { position: relative; }
@media screen and (max-width: 1300px) and (min-width: 861px) {
  .sns-pyramid { transform: scale(.8); transform-origin: bottom right; }
}
.sns-pyramid { display: block; width: 100%; max-width: 500px; height: auto; margin-left: auto; }
.sns-pyramid > img { width: 100%; height: auto; object-fit: contain; }
@media screen and (max-width: 860px) {
  .sns-pyramid { width: min(350px, 100%); margin: 40px auto 0; }
}

/* sns-effects */
.sns-effects { position: relative; isolation: isolate; background: var(--gray1); }
.sns-effects::before, .sns-effects::after { content: ''; position: absolute; z-index: -1; inset: 0 0 auto; height: 351px; }
.sns-effects::before { background: url("../../img/sns-effects-bg-overlay.webp") center / cover; }
.sns-effects::after { background: var(--service-gradient); opacity: .7; }
.sns-effects__cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 32px; margin-top: 80px; }
.sns-effects__cards article { padding: 24px 24px 36px; background: white; border-radius: 12px; box-shadow: 0 4px 20px rgb(3 140 113 / 8%); }
.sns-effects__cards article > img { width: 100%; height: 200px; object-fit: cover; border-radius: 8px; }
.sns-effects__cards header { display: flex; align-items: center; gap: 16px; padding: 0 8px; margin-block: 16px; color: var(--main1); }
.sns-effects__cards header > b { font: 700 64px/1.2 var(--barlow); }
.sns-effects__cards h3 { font-size: 18px; font-weight: 500; line-height: 1.8; }
.sns-effects__cards article > p { border-top: 1px solid var(--main1); padding-top: 16px; letter-spacing: .005em; }
@media screen and (max-width: 1100px) and (min-width: 861px) {
  .sns-effects__cards { gap: 20px; }
  .sns-effects__cards article { padding-inline: 18px; }
  .sns-effects__cards header { padding-inline: 0; gap: 8px; }
  .sns-effects__cards h3 { font-size: 16px; }
  .sns-effects__cards header > b { font-size: 48px; }
}
@media screen and (max-width: 860px) {
  .sns-effects::before, .sns-effects::after { height: 260px; }
  .sns-effects__cards { grid-template-columns: 1fr; gap: 24px; margin: 40px auto 0; max-width: 600px; }
  .sns-effects__cards article { padding: 20px; }
  .sns-effects__cards article > img { height: auto; aspect-ratio: 310/174; }
  .sns-effects__cards header { gap: 12px; margin-block: 14px; }
  .sns-effects__cards header > b { font-size: 36px; }
  .sns-effects__cards h3 { font-size: 16px; font-weight: 700; line-height: 1.6; }
  .sns-effects__cards article > p { padding-top: 14px; }
}

/* sns-survey */
.sns-survey { position: relative; isolation: isolate; }
.sns-survey::before { content: ''; position: absolute; z-index: -1; inset: 400px 0 120px; background: url("../../img/sns-voices-background-image.webp") right center / auto 100% no-repeat; opacity: .1; }
.sns-survey__data { margin-top: 80px; }
.sns-survey__grid { display: grid; grid-template-columns: repeat(2,323px); gap: 40px 24px; width: fit-content; margin: 40px auto 0; }
.sns-survey__card { position: relative; height: 326px; }
.sns-survey__card:nth-child(n+3) { height: 358px; }
.sns-survey__negative-label { position: absolute; top: 5px; left: 0; font-weight: 700; font-size: 16px; line-height: 1.8; }
.sns-survey__line { position: absolute; left: 0; top: 38px; width: 185px; z-index: 2; }
.sns-survey__line img { width: 100%; height: 36px; }
.sns-survey__pie { position: absolute; top: 39px; left: 113.5px; width: 203px; height: 206px; }
.sns-survey__pie > img { width: 100%; height: 100%; }
.sns-survey__positive { position: absolute; top: 110px; left: 50%; transform: translateX(-43%); color: white; font-size: 64px; line-height: 1; white-space: nowrap; }
.sns-survey__positive small { font-size: 40px; font-weight: 600; }
.sns-survey__negative { position: absolute; top: 32px; left: 26%; font-size: 24px; font-weight: 700; line-height: 1; }
.sns-survey__negative small { font-size: 16px; }
.sns-survey__card h4 { position: absolute; top: 261px; left: 215px; width: 250px; transform: translateX(-50%); text-align: center; font-size: 18px; font-weight: 700; line-height: 1.8; }
.sns-survey__card--2 .sns-survey__negative { top: -33px; left: 40%; }
.sns-survey__card--2 .sns-survey__negative-label { left: 37px; }
.sns-survey__card--2 .sns-survey__line { left: 30px; top: 33px; }
.sns-survey__card--3 .sns-survey__negative, .sns-survey__card--4 .sns-survey__negative { top: 55px; left: 20%; }
.sns-survey__voices { margin-top: 64px; }
@media screen and (max-width: 860px) {
  .sns-survey__data { margin-top: 40px; }
  .sns-survey__grid { grid-template-columns: repeat(2,minmax(0,168px)); width: min(344px,100%); gap: 24px 8px; margin-top: 32px; }
  .sns-survey__card { height: 188px; }
  .sns-survey__card:nth-child(n+3) { height: 212px; }
  .sns-survey__negative-label { top: 0; font-size: 10px; line-height: 1.5; }
  .sns-survey__line { top: 19px; width: 74px; }
  .sns-survey__line img { height: 19px; }
  .sns-survey__pie { top: 27.8px; left: 50%; transform: translateX(-50%); width: 105.56px; height: 107.12px; }
  .sns-survey__positive { font-size: 33px; top: 57.2px; }
  .sns-survey__positive small { font-size: 21px; }
  .sns-survey__negative { font-size: 12px; top: 16.64px; }
  .sns-survey__negative small { font-size: 8px; }
  .sns-survey__card h4 { top: 143.24px; left: 50%; width: 170px; max-width: calc(100% + 8px); font-size: 12px; font-weight: 500; line-height: 22.1px; }
  .sns-survey__card--2 .sns-survey__negative-label { left: 4px; }
  .sns-survey__card--2 .sns-survey__line { left: 0; top: 14px; width: 96px; }
  .sns-survey__card--2 .sns-survey__negative { top: -17px; }
  .sns-survey__card--3 .sns-survey__negative, .sns-survey__card--4 .sns-survey__negative { top: 28.6px; }
  .sns-survey::before { inset: 400px 0 auto; height: 228px; background-size: auto 100%; }
  .sns-survey__voices { margin-top: 40px; }
  .sns-survey__voices .service-chip-heading { padding: 4px 18px; }
}
@media screen and (max-width: 375px) {
  .sns-survey__card h4 { font-size: 11px; }
}
@media screen and (max-width: 860px) {
  .sns-survey__card:nth-child(even) .sns-survey__pie { margin-left: 12px; }
  .sns-survey__card:nth-child(even) h4 { left: calc(50% + 12px); }
}

/* sns-voice */
.sns-voice { display: flex; gap: 32px; align-items: center; min-height: 232px; }
.sns-voice__person { flex: 0 0 120px; text-align: center; }
.sns-voice__person img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; }
.sns-voice__person b { display: block; margin-top: 8px; color: #000000; font-size: 16px; line-height: 1.2; }
.sns-voice__person b > span { display: block; }
.sns-voice__text { position: relative; padding: 28px 32px; background: var(--gray1); border-radius: 12px; flex: 1; align-self: stretch; color: #1e1e1e; font-size: 16px; line-height: 1.8; letter-spacing: .005em; }
.sns-voice__text::before { content: ''; position: absolute; left: -24px; top: 85px; width: 26px; height: 17px; background: url("../../img/sns-voice-bubble-tail-final.svg") center / 26px 17px no-repeat; }
.sns-voice__text > span { display: flex; align-items: baseline; gap: 8px; margin-bottom: 12px; color: var(--main1); font: 700 14px/1.4 var(--barlow); letter-spacing: .08em; }
.sns-voice__text > span::before { content: ''; width: 6px; height: 6px; flex: 0 0 6px; background: url("../../img/sns-voice-comment-dot-final.svg") center / 6px 6px no-repeat; }
.sns-voice__text p { margin: 0; }
@media screen and (max-width: 860px) {
  .sns-voice { gap: 20px; align-items: flex-start; min-height: 0; }
  .sns-voice__person { flex-basis: 80px; }
  .sns-voice__person b { font-size: 12px; }
  .sns-voice__person img { width: 80px; height: 80px; }
  .sns-voice__text { padding: 16px; }
  .sns-voice__text::before { top: 20px; left: -18px; }
  .sns-voice__text > span { font-size: 12px; }
}

/* sns-services */
.sns-services { padding-bottom: 0; }
.sns-services__list { display: grid; gap: 48px; margin-top: 64px; padding-bottom: 20px; }
@media screen and (max-width: 860px) {
  .sns-services__list { margin-top: 48px; gap: 32px; padding-bottom: 8px; }
}

/* sns-service-block */
.sns-service-block { padding-block: 48px; border-radius: 16px; background: white; box-shadow: 0 0 10px rgb(0 0 0 / 15%); }
.sns-service-block__upper { display: flex; align-items: center; gap: 20px; padding-right: 48px; }
.sns-service-block__text { min-width: 0; flex: 1; }
.sns-service-block__text header { display: flex; gap: 24px; align-items: center; border-left: 5px solid var(--main1); padding-left: 48px; }
.sns-service-block__text header > b { color: var(--main1); font: 700 88px/1.2 var(--barlow); }
.sns-service-block__text header h3 { color: var(--main1); font-size: 28px; font-weight: 600; line-height: 1.6; }
.sns-service-block__text header p { margin-top: 6px; font-weight: 700; font-size: 16px; letter-spacing: .005em; }
.sns-service-block__description { padding-inline: 48px; margin-top: 20px; letter-spacing: .005em; }
.sns-service-block__upper > img { flex: 0 0 500px; width: 500px; height: 333px; object-fit: cover; }
.sns-service-block__coverage { margin: 20px 48px 0; padding: 24px; color: white; background: var(--service-gradient); }
.sns-service-block__coverage > h4 { margin-bottom: 8px; font-size: 18px; font-weight: 500; line-height: 1.8; }
.sns-service-block:first-child .sns-coverage-card:last-child h5 { font-size: 14px; }
@media screen and (max-width: 1300px) and (min-width: 861px) {
  .sns-service-block__upper > img { flex-basis: 40%; width: 40%; }
  .sns-service-block__text header { padding-left: 28px; gap: 16px; }
  .sns-service-block__description { padding-inline: 32px; }
  .sns-service-block__text header > b { font-size: 70px; }
  .sns-service-block__text header h3 { font-size: 25px; }
}
@media screen and (max-width: 860px) {
  .sns-service-block { padding: 16px 12px; border-radius: 8px; box-shadow: 0 0 15px rgb(0 0 0 / 10%); }
  .sns-service-block__upper { display: block; padding-right: 0; }
  .sns-service-block__text header { gap: 14px; align-items: flex-start; padding-left: 14px; border-left-width: 4px; }
  .sns-service-block__text header > b { font-size: 40px; }
  .sns-service-block__text header h3 { font-size: 18px; font-weight: 700; }
  .sns-service-block__text header p { font-size: 13px; line-height: 1.6; }
  .sns-service-block__description { padding-inline: 0; }
  .sns-service-block__upper > img { width: 100%; height: auto; aspect-ratio: 500/333; margin-top: 20px; }
  .sns-service-block__coverage { padding: 20px 16px; margin: 20px 0 0; border-radius: 4px; }
  .sns-service-block__coverage > h4 { font-size: 16px; text-align: center; margin-bottom: 14px; line-height: 33px; }
  .sns-service-block:first-child .sns-coverage-card:last-child h5 { font-size: 15px; }
  .sns-service-block:nth-child(2) .sns-coverage-card:nth-child(4) li:nth-child(-n+2) { display: inline; padding-left: 0; text-indent: 0; }
  .sns-service-block:nth-child(3) .sns-coverage-card:nth-child(2) h5 { font-size: 16px; line-height: 26px; }
}

/* sns-coverage-grid */
.sns-coverage-grid { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; }
@media screen and (max-width: 1300px) and (min-width: 861px) {
  .sns-coverage-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media screen and (max-width: 860px) {
  .sns-coverage-grid { grid-template-columns: 1fr; }
}

/* sns-coverage-card */
.sns-coverage-card { padding: 16px 12px; color: var(--black1); background: white; border: 1px solid rgb(3 166 133 / 15%); border-radius: 8px; }
.sns-coverage-card h5 { margin: 0; display: flex; align-items: center; gap: 3px; padding-bottom: 8px; border-bottom: 1px solid var(--main1); color: var(--main1); font-size: 18px; font-weight: 500; line-height: 1.8; white-space: nowrap; }
.sns-coverage-card h5 img { width: 28px; height: 28px; object-fit: contain; flex-shrink: 0; }
.sns-coverage-card ul { margin-top: 8px; font-size: 13px; line-height: 1.7; }
.sns-coverage-card li { padding-left: 1em; text-indent: -1em; }
.sns-coverage-card li::before { content: '・'; }
@media screen and (max-width: 860px) {
  .sns-coverage-card { border: 0; box-shadow: inset 0 0 0 1px rgb(3 166 133 / 15%); }
  .sns-coverage-card h5 { border: 0; box-shadow: 0 1px 0 var(--main1); line-height: 33px; }
  .sns-coverage-card ul { line-height: 22.2px; }
}

/* sns-team */
.sns-team { background: var(--gradient1); clip-path: polygon(50% 120px, 100% 0, 100% 100%, 0 100%, 0 0); padding-top: 240px; }
.sns-team__inner { position: relative; isolation: isolate; padding: 56px; border-radius: 16px; background: rgb(255 255 255 / 90%); overflow: hidden; }
.sns-team__inner::before { content: ''; position: absolute; z-index: -1; inset: 0; background: url("../../img/sns-team-expert-cardbg-sns-support-team.webp") center bottom / 242.53% 110.52% no-repeat; opacity: .15; }
.sns-team__eyebrow { display: flex; align-items: center; justify-content: center; gap: 16px; color: var(--accent1); font-size: 40px; line-height: 1.4; font-weight: 900; }
.sns-team__eyebrow::before, .sns-team__eyebrow::after { content: ''; width: 40px; height: 3px; background: var(--accent1); transform: rotate(45deg); }
.sns-team__eyebrow::after { transform: rotate(-45deg); }
.sns-team h2 { font-size: var(--service-font-28-20); line-height: 1.6; font-weight: 600; text-align: center; margin-top: 16px; }
.sns-team__intro { width: min(800px,100%); margin: 24px auto; letter-spacing: .005em; }
.sns-team__grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
@media screen and (max-width: 1200px) and (min-width: 861px) {
  .sns-team__inner { padding: 40px 28px; }
}
@media screen and (max-width: 860px) {
  .sns-team { clip-path: polygon(50% 64px, 100% 0, 100% 100%, 0 100%, 0 0); padding-top: 120px; }
  .sns-team__inner { padding: 24px 12px; }
  .sns-team__inner::before { background-position: 57% top; background-size: 510.4% 35.47%; }
  .sns-team__eyebrow { font-size: 24px; }
  .sns-team h2 { font-size: 20px; }
  .sns-team__intro { margin-bottom: 20px; }
  .sns-team__grid { grid-template-columns: 1fr; gap: 20px; }
}
@media screen and (min-width: 861px) {
  .sns-team__eyebrow { line-height: 1.2; }
}

/* sns-team-category */
.sns-team-category { display: flex; flex-direction: column; border-radius: 12px; overflow: hidden; background: var(--gray1); }
.sns-team-category > h3 { display: flex; align-items: center; justify-content: center; gap: 8px; padding: 24px 20px 20px; background: var(--main1); color: white; font-size: 18px; font-weight: 700; line-height: 1.8; }
.sns-team-category > h3 img { width: 40px; height: 40px; flex-shrink: 0; }
.sns-team-category__body { display: flex; flex-direction: column; gap: 16px; padding: 16px 24px; flex: 1; }
.sns-team-category__body article { background: white; border-radius: 8px; box-shadow: 0 4px 10px rgb(0 0 0 / 10%); padding: 16px 24px; min-height: 115px; }
.sns-team-category:first-child .sns-team-category__body { min-height: 466px; }
.sns-team-category:first-child article { flex: 1; }
.sns-team-category__body article:last-child:not(:nth-child(2)) { box-shadow: none; }
.sns-team-category__body h4 { display: flex; align-items: center; gap: 8px; color: var(--main1); font-size: 18px; font-weight: 700; line-height: 1.8; }
.sns-team-category__body h4 b { display: grid; place-items: center; flex: 0 0 33px; height: 33px; background: var(--main1); color: white; font: 700 20px/1 var(--barlow); letter-spacing: .08em; }
.sns-team-category__body p { margin-top: 6px; letter-spacing: .005em; }
@media screen and (max-width: 1200px) and (min-width: 861px) {
  .sns-team-category__body { padding-inline: 16px; }
  .sns-team-category__body article { padding-inline: 16px; }
  .sns-team-category__body h4 { font-size: 16px; }
}
@media screen and (max-width: 860px) {
  .sns-team-category > h3 { font-size: 16px; line-height: 1.6; }
  .sns-team-category__body { padding-inline: 12px; }
  .sns-team-category__body article { padding-inline: 12px; }
  .sns-team-category__body h4 { font-size: 16px; line-height: 1.6; }
}
@media screen and (max-width: 375px) {
  .sns-team-category > h3 { padding-inline: 12px; font-size: 14px; }
  .sns-team-category > h3 img { width: 32px; height: 32px; }
  .sns-team-category__body h4 { font-size: 14px; }
}

/* sns-media */
.sns-media__grid { display: grid; grid-template-columns: repeat(4,260px); gap: 40px; justify-content: center; margin-top: 48px; }
@media screen and (max-width: 1250px) and (min-width: 861px) {
  .sns-media__grid { grid-template-columns: repeat(2,260px); }
}
@media screen and (max-width: 860px) {
  .sns-media__grid { grid-template-columns: minmax(0,260px); gap: 32px; margin-top: 40px; }
}

/* sns-platform */
.sns-platform { position: relative; isolation: isolate; display: flex; flex-direction: column; align-items: center; padding: 40px 24px; border-radius: 20px; background: var(--gray1); }
.sns-platform::before { content: ''; position: absolute; z-index: -2; inset: 5px -5px -5px 5px; border-radius: 20px; background: var(--gradient1); }
.sns-platform::after { content: ''; position: absolute; z-index: -1; inset: 0; border-radius: 20px; background: var(--gray1); }
.sns-platform__icon { width: 80px; height: 80px; display: grid; place-items: center; border-radius: 24px; background: white; }
.sns-platform__icon img { width: 40px; height: 40px; object-fit: contain; }
.sns-platform__instagram { width: 40px; height: 40px; background: url("../../img/sns-media-instagram-glyph2500-px1.webp") center / 156%; mask: url("../../img/sns-media-instagram-glyph2500-px.svg") center / contain no-repeat; }
.sns-platform__info { min-height: 150px; width: 100%; margin-top: 16px; }
.sns-platform h3 { font-size: 28px; font-weight: 600; line-height: 1.6; text-align: center; white-space: nowrap; }
.sns-platform__info p { margin-top: 8px; letter-spacing: .005em; }
.sns-platform__stat { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; width: 100%; padding: 12px; color: white; background: var(--gradient1); border-radius: 100px; }
.sns-platform__stat span { font-size: 12px; color: rgb(255 255 255 / 60%); }
.sns-platform__stat b { font-size: 18px; line-height: 1.4; }
@media screen and (max-width: 860px) {
  .sns-platform { padding: 24px; }
  .sns-platform::before { inset: 8px -8px -8px 8px; }
  .sns-platform__info { min-height: 0; }
  .sns-platform h3 { font-size: 16px; font-weight: 700; }
  .sns-platform__stat { margin-top: 24px; }
  .sns-platform__stat b { font-size: 16px; line-height: 1.6; }
}
@media screen and (min-width: 861px) {
  .sns-platform__stat b { line-height: 1.2; }
}
.sns-platform__stat span { line-height: 1.2; }
@media screen and (max-width: 860px) {
  .sns-platform:nth-child(2) .sns-platform__info p::after { content: ''; display: block; height: 25.2px; }
  .sns-platform__stat { min-height: 67px; }
}

/* sns-reasons */
.sns-reasons { position: relative; isolation: isolate; color: white; background: #126f5c; }
.sns-reasons::before { content: ''; position: absolute; z-index: -2; inset: 0; background: url("../../img/sns-reasons-background-image.webp") center -530px / 2202px 1721px no-repeat; }
.sns-reasons::after { content: ''; position: absolute; z-index: -1; inset: 0; background: var(--service-gradient); opacity: .6; }
.sns-reasons__intro { margin-top: 40px; letter-spacing: .005em; }
.sns-reasons__cards { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px; margin-top: 64px; margin-left: 16px; }
.sns-reasons__cards article { display: flex; flex-direction: column; gap: 16px; padding: 32px 24px 24px; background: var(--service-gradient); border-radius: 8px; }
.sns-reasons__cards header { position: relative; }
.sns-reasons__cards header > b { position: absolute; top: -27px; left: 0; font: 700 80px/1 var(--barlow); letter-spacing: .08em; opacity: .2; }
.sns-reasons__cards h3 { position: relative; font-size: 25px; font-weight: 600; line-height: 44.8px; text-align: center; }
.sns-reasons__cards article > div { flex: 1; min-height: 300px; padding: 16px 24px; color: var(--black1); background: white; border-radius: 4px; letter-spacing: .005em; }
.sns-reasons__cards p + p { margin-top: 8px; }
@media screen and (max-width: 1200px) and (min-width: 861px) {
  .sns-reasons__cards { margin-left: 0; gap: 16px; }
  .sns-reasons__cards article { padding-inline: 16px; }
  .sns-reasons__cards h3 { font-size: 20px; line-height: 1.6; }
  .sns-reasons__cards article > div { padding-inline: 16px; }
}
@media screen and (max-width: 860px) {
  .sns-reasons::before { background-image: url("../../img/sns-reasons-sp-sns-genba-planning.webp"); }
  .sns-reasons__cards { grid-template-columns: 1fr; gap: 24px; margin-top: 40px; margin-left: 0; }
  .sns-reasons__cards h3 { font-size: 20px; line-height: 1.5; }
  .sns-reasons__cards article > div { padding: 16px; min-height: 0; }
  .sns-reasons__cards article:first-child p:first-child mark { font-weight: 400; }
}
.sns-reasons::before { background-size: auto 1721px; }
@media screen and (max-width: 860px) {
  .sns-reasons::before { background-size: auto 1799px; background-position: calc(50% - 281px) -130px; }
}

/* sns-creative */
.sns-creative__groups { display: grid; gap: 48px; margin-top: 64px; }
@media screen and (max-width: 860px) {
  .sns-creative__groups { margin-top: 40px; gap: 32px; }
}
.sns-creative__groups { grid-template-columns: minmax(0,1fr); }

/* sns-creative-gallery */
.sns-creative-gallery > header { display: flex; align-items: center; gap: 16px; }
.sns-creative-gallery h3 { font-size: 28px; line-height: 1.6; font-weight: 600; }
.sns-creative-gallery header ul { display: flex; flex-wrap: wrap; gap: 8px; padding-top: 6px; }
.sns-creative-gallery header li { padding: 4px 16px; color: white; background: var(--service-gradient); border-radius: 99px; font: 700 14px/1.4 var(--barlow); letter-spacing: .08em; }
.sns-creative-gallery .service-carousel__track { gap: 24px; padding: 4px 0 6px; margin-top: 20px; scroll-snap-type: x mandatory; }
.sns-creative-gallery--still .sns-creative-sample { padding: 12px; box-shadow: inset 0 0 0 1px #e9ebe5, 0 2px 5px rgb(0 0 0 / 5%); }
.sns-creative-gallery--still .sns-creative-sample > :is(img, video) { height: 350px; }
.sns-creative-gallery--short .sns-creative-sample > :is(img, video) { height: 498px; border-radius: 16px; }
.sns-creative-gallery .service-carousel__dots { justify-content: flex-start; min-height: 10px; margin-top: 18px; }
.sns-creative-gallery--long .service-carousel__track { padding-inline: max(40px,calc((100% - 1280px)/2)); }
.sns-creative-gallery--long .sns-creative-sample { flex-basis: 600px; margin: 0; }
.sns-creative-gallery--long .sns-creative-sample > :is(img, video) { height: 400px; border-radius: 16px; }
@media screen and (max-width: 860px) {
  .sns-creative-gallery > header { align-items: flex-start; flex-direction: column; }
  .sns-creative-gallery h3 { font-size: 20px; }
  .sns-creative-gallery header ul { padding-top: 0; }
  .sns-creative-gallery header li { font-size: 12px; }
  .sns-creative-gallery .service-carousel__track { padding-inline: var(--service-padding); gap: 16px; margin-top: 12px; }
  .sns-creative-gallery--still .sns-creative-sample { padding: 10.714px; }
  .sns-creative-gallery--still .sns-creative-sample > :is(img, video) { height: 312.5px; }
  .sns-creative-gallery--short .sns-creative-sample > :is(img, video) { height: 444.64px; }
  .sns-creative-gallery--short > header { gap: 8px; }
  .sns-creative-gallery--long > header { flex-direction: row; align-items: center; }
  .sns-creative-gallery--long .sns-creative-sample { flex-basis: min(300px,100%); }
  .sns-creative-gallery--long .sns-creative-sample > :is(img, video) { height: auto; aspect-ratio: 3/2; border-radius: 8px; }
  .sns-creative-gallery .service-carousel__dots { min-height: 8px; margin-top: 10px; }
}
.sns-creative-gallery { min-width: 0; width: 100%; }
.sns-creative-gallery > header ul { max-width: 100%; }
.sns-creative-gallery:not(.sns-creative-gallery--long) .service-carousel__track { justify-content: flex-start; }
.sns-creative-gallery .service-carousel__slide:first-child { margin-left: 0; }
.sns-creative-gallery:not(.sns-creative-gallery--long) .service-carousel__track { scroll-snap-type: none; }
@media screen and (max-width: 860px) {
  .sns-creative-gallery:not(.sns-creative-gallery--long) .service-carousel__track { scroll-snap-type: x mandatory; scroll-padding-inline: var(--service-padding); }
}

/* sns-creative-sample */
.sns-creative-sample { margin: 0; flex: 0 0 280px; scroll-snap-align: start; }
.sns-creative-sample:first-child { margin-left: calc((100% - 1496px)/2); }
.sns-creative-sample > :is(img, video) { display: block; width: 100%; object-fit: cover; }
.sns-creative-sample__actions { display: flex; gap: 16px; margin-top: 12px; }
.sns-creative-sample__actions img { width: 20px; height: 20px; }
.sns-creative-sample__actions img:last-child { margin-left: auto; }
.sns-creative-sample figcaption { margin-top: 12px; font: 500 12px/1.2 var(--inter); color: #262626; }
@media screen and (min-width: 1600px) {
  .sns-creative-sample:first-child { margin-left: 0; }
}
@media screen and (max-width: 860px) {
  .sns-creative-sample { flex-basis: 250px; }
  .sns-creative-sample:first-child { margin-left: 0; }
  .sns-creative-sample__actions { gap: 14.286px; margin-top: 10.714px; }
  .sns-creative-sample__actions img { width: 17.857px; height: 17.857px; }
  .sns-creative-sample figcaption { font-size: 10.714px; margin-top: 10.714px; }
}
.sns-creative-sample > video { background: #02856b; }
.sns-creative-sample__video { width: 100%; aspect-ratio: 9 / 16; overflow: hidden; background: #02856b; border-radius: 16px; }
.sns-creative-sample__video iframe { display: block; width: 100%; height: 100%; border: 0; }
.sns-creative-gallery--long .sns-creative-sample__video { aspect-ratio: 3 / 2; }

/* service-cases */
.service-cases--sns { width: calc(100% + 800px); margin-left: -400px; padding-inline: 400px; border-radius: 50% 50% 0 0 / 180px 180px 0 0; }
.service-cases--sns .service-shell { width: min(calc(100% - 160px), var(--service-content-width)); }
.service-cases--sns .service-case { padding: 24px; }
.service-cases--sns .service-case p { line-height: 1.8; }
.service-cases--sns .service-case:nth-child(6) h4 { display: flex; align-items: baseline; gap: 4px; white-space: nowrap; }
.service-cases--sns .service-case:nth-child(6) h4 small { font-size: .62em; font-weight: inherit; }
@media screen and (max-width: 860px) {
  .service-cases--sns { width: calc(100% + 160px); margin-left: -80px; padding-inline: 80px; border-radius: 50% 50% 0 0 / 80px 80px 0 0; }
  .service-cases--sns .service-shell { width: min(calc(100% - 40px), 350px); }
  .service-cases--sns .service-case { padding: 20px; }
}

@charset "utf-8";

/* Recruitment outsourcing */

/* rpo-hero */
.rpo-hero .service-actions { justify-content: flex-start; }
.rpo-hero .service-actions .c-btn { width: 250px; height: 60px; }
@media screen and (max-width: 540px) {
  .rpo-hero .service-actions { width: 250px; max-width: 100%; }
  .rpo-hero .service-actions .c-btn { height: 54px; }
}
@media screen and (max-width: 860px) {
  .rpo-hero .service-actions { width: 232px; }
}

/* service-flow */
.service-flow--rpo .service-flow__steps > li { min-height: 334px; }
@media screen and (max-width: 860px) {
  .service-flow--rpo .service-flow__steps > li { min-height: 0; }
  .service-flow--rpo .service-flow__steps p { font-size: 16px; line-height: 1.8; }
}

/* rpo-emphasis */

/* rpo-problems */

/* rpo-middle-cta */
.rpo-middle-cta .service-actions { margin-top: 32px; }
.rpo-middle-cta .c-btn:not(.c-btn--outline) { border: 1px solid rgb(255 255 255 / 60%); }
@media screen and (max-width: 860px) {
  .rpo-middle-cta .service-actions { margin-top: 24px; }
}

/* rpo-solutions */

/* rpo-section-intro */

/* rpo-support */

/* rpo-support-column */

/* rpo-menu */
.rpo-menu .service-actions { margin-top: 0; }

/* rpo-menu-card */

/* service-landing */
@media screen and (max-width: 860px) {
  .service-landing--rpo .service-faq-item:nth-child(9) { display: none; }
}

/* service-cases */

/* service-use-cases */
.service-use-cases__controls .service-carousel__dots { display: none; }
.service-use-cases__arrow--prev img { transform: scaleX(-1); }

/* service-use-case */

/* service-info-cta */

/* service-final-cta */

@charset "utf-8";

/* Recruitment site production */

/* photo-hero */

/* site-overview */
.site-overview > .service-shell { position: relative; }
.site-overview > .service-shell > .service-heading { max-width: 900px; }
.site-overview__strengths .service-heading { margin-bottom: 64px; }
@media screen and (max-width: 860px) {
  .site-overview__strengths .service-heading { margin-bottom: 40px; }
}

/* site-strength */

/* site-strategy */

/* site-lineup */

/* site-sp-break */

/* site-feasible */

/* site-contents */
.site-contents > .service-shell > p { max-width: 940px; margin: 30px auto 59px; }

/* site-project */

/* site-support */

/* site-flow */

/* ==========================================================================
   Site voice
   ========================================================================== */
.site-voice > .service-shell { width: min(calc(100% - 80px), 1280px); }
@media screen and (max-width: 860px) {
  .site-voice > .service-shell { width: calc(100% - 2 * var(--service-padding)); }
}

/* service-new-info */

@charset "utf-8";

/* Recruitment branding */

/* photo-hero */
@media screen and (max-width: 860px) {
  .photo-hero--brand .service-actions { display: flex; flex-direction: column; align-items: flex-start; width: 190px; margin-top: 20px; gap: 12px; }
  .photo-hero--brand .service-actions .c-btn { width: 100%; flex: none; }
}
@media screen and (min-width: 600px) and (max-width: 860px) {
  .photo-hero--brand .service-actions { width: 230px; }
}
 .brand-detail__body > .service-shell > p strong span { color: transparent; background: var(--service-gradient); background-clip: text; -webkit-background-clip: text; }

/* brand-detail */
.brand-detail__body > .service-shell > p { margin-top: 48px; line-height: 35.6px; }
.brand-detail__body > .service-shell > p strong { padding: 0 4px; background: #ffffff; color: var(--service-dark); font-weight: 700; box-decoration-break: clone; -webkit-box-decoration-break: clone; }
@media screen and (max-width: 860px) {
  .brand-detail__body > .service-shell > p { margin-top: 40px; line-height: 25.2px; }
}

/* brand-problems */

/* brand-solutions */

/* brand-services */

/* brand-reasons */
@media screen and (max-width: 860px) {
  .brand-reasons .service-heading h2 { max-width: 240px; margin-inline: auto; }
}

/* brand-sp-break */

/* service-new-info */

@charset "utf-8";

/* ==========================================================================
   Indeed shared page parts
   ========================================================================== */

/* ==========================================================================
   Indeed main visual
   ========================================================================== */
.indeed-hero .service-actions { justify-content: flex-start; margin-top: 32px; }
.indeed-hero .service-actions .c-btn { width: 250px; height: 60px; }
@media screen and (max-width: 860px) {
  .indeed-hero .service-actions { justify-content: center; gap: 12px; margin-top: 24px; }
  .indeed-hero .service-actions .c-btn { height: 54px; font-size: 15px; }
}
@media screen and (max-width: 375px) {
  .indeed-hero .service-actions .c-btn, .service-landing--indeed .service-faq .service-actions .c-btn { padding-inline: 6px; gap: 4px; font-size: 12px; }
}

/* ==========================================================================
   Indeed recruitment problems
   ========================================================================== */

/* ==========================================================================
   Indeed solutions
   ========================================================================== */

/* ==========================================================================
   Indeed consultation CTA
   ========================================================================== */
.indeed-cta .service-actions { margin-top: 40px; }
.indeed-cta .service-actions .c-btn { width: 400px; height: 87px; font-size: var(--service-font-18-14); }
.indeed-cta .service-actions .c-btn + .c-btn { color: white; background: transparent; border: 2px solid white; }
.indeed-cta .service-actions .c-btn + .c-btn img { filter: brightness(0) invert(1); }
.indeed-cta .service-actions .c-btn + .c-btn:hover { background: white; color: var(--main1); }
.indeed-cta .service-actions .c-btn + .c-btn:hover img { filter: none; }
@media screen and (max-width: 860px) {
  .indeed-cta .service-actions .c-btn { width: min(400px, calc((100% - 12px) / 2)); height: 54px; }
}
@media screen and (max-width: 540px) {
  .indeed-cta .service-actions .c-btn { width: auto; font-size: 15px; }
}
@media screen and (max-width: 375px) {
  .indeed-cta .service-actions .c-btn { padding-inline: 6px; gap: 4px; font-size: 12px; }
}

/* ==========================================================================
   About Indeed
   ========================================================================== */
.indeed-about .service-heading > span { background-image: var(--service-gradient); }
.indeed-about .service-heading::after { background: var(--service-gradient); }
@media screen and (max-width: 860px) {
  .indeed-about .service-heading > span { background-image: var(--gradient2); }
  .indeed-about .service-heading::after { background: var(--gradient2); }
}

/* ==========================================================================
   Why Indeed reaches candidates
   ========================================================================== */

/* ==========================================================================
   Indeed advertising features and comparison
   ========================================================================== */
.indeed-ads .service-heading > span { background-image: var(--service-gradient); }
.indeed-ads .service-heading::after { background: var(--service-gradient); }
@media screen and (max-width: 860px) {
  .indeed-ads .service-heading > span { background-image: var(--gradient2); }
  .indeed-ads .service-heading::after { background: var(--gradient2); }
}

/* ==========================================================================
   Indeed support strengths and PDCA
   ========================================================================== */
@media screen and (max-width: 860px) {
  .indeed-pdca__content p .service-pc-break { display: none; }
}

/* ==========================================================================
   Indeed pricing
   ========================================================================== */

/* ==========================================================================
   Indeed introduction flow
   ========================================================================== */

/* ==========================================================================
   Indeed resources
   ========================================================================== */

@charset "utf-8";

/* ==========================================================================
   AI page foundations and service actions
   ========================================================================== */
.ai-actions .c-btn { flex: none; width: var(--ai-action-width, 240px); height: 60px; padding: 12px 24px; gap: 12px; }
.ai-actions .c-btn:last-child { --ai-action-width: 312px; }
.ai-actions .c-btn > span { white-space: nowrap; }
.ai-actions .c-btn img { width: 24px; height: 24px; max-height: none; max-width: none; flex: none; object-fit: contain; }
.ai-actions .c-btn--outline:hover > .ai-text-gradient, .ai-info .c-btn--outline:hover > .ai-text-gradient { color: white; background-image: none; }
.ai-actions .c-btn:not(.c-btn--outline):hover img { filter: brightness(0) saturate(100%) invert(25%) sepia(75%) saturate(1200%) hue-rotate(149deg) brightness(90%) contrast(101%); }
@media screen and (max-width: 540px) {
  .ai-actions .c-btn { width: min(100%, 350px); height: 56px; padding-inline: 20px; font-size: 14px; }
  .ai-actions .c-btn img { width: 20px; height: 20px; }
}

/* ==========================================================================
   Hero
   ========================================================================== */
.ai-hero .ai-actions .c-btn { width: 250px; padding-inline: 16px; gap: 8px; font-size: 15px; }
@media screen and (min-width: 1001px) and (max-width: 1350px) {
  .ai-hero .ai-actions .c-btn { font-size: 14px; }
  .ai-hero .ai-actions .c-btn:first-child { width: 200px; }
  .ai-hero .ai-actions .c-btn:last-child { width: 264px; }
  .ai-hero .ai-actions .c-btn img { width: 20px; height: 20px; }
}
@media screen and (min-width: 1001px) and (max-width: 1150px) {
  .ai-hero .ai-actions .c-btn { padding-inline: 12px; gap: 6px; height: 56px; font-size: 13px; }
  .ai-hero .ai-actions .c-btn:first-child { width: 160px; }
  .ai-hero .ai-actions .c-btn:last-child { width: 232px; }
  .ai-hero .ai-actions .c-btn img { width: 18px; height: 18px; }
}
@media screen and (max-width: 540px) {
  .ai-hero .ai-actions .c-btn { width: 100%; height: 54px; }
}

/* ==========================================================================
   Supported recruitment tasks
   ========================================================================== */

/* ==========================================================================
   Recruitment problems
   ========================================================================== */

/* ==========================================================================
   Four solutions
   ========================================================================== */

/* ==========================================================================
   Recruitment-led AI support features
   ========================================================================== */

/* ==========================================================================
   What AI can do
   ========================================================================== */
.ai-function__roles { min-width: 0; }
.ai-function__roles summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 14px; border: 1px solid var(--main1); border-radius: 8px; color: var(--main1); list-style: none; cursor: pointer; font-size: 14px; line-height: 1.6; font-weight: 700; }
.ai-function__roles summary::-webkit-details-marker { display: none; }
.ai-function__roles summary > b { position: relative; flex: none; width: 14px; height: 14px; }
.ai-function__roles summary > b::before, .ai-function__roles summary > b::after { position: absolute; top: 6px; left: 0; width: 14px; height: 2px; background: currentColor; content: ''; transition: transform .35s ease; }
.ai-function__roles summary > b::after { transform: rotate(90deg); }
.ai-function__roles[open] summary > b::after { transform: rotate(0); }
.ai-function__roles[data-accordion-state='closing'] summary > b::after { transform: rotate(90deg); }
.ai-function__roles > div { padding-top: 16px; }
.ai-function__roles ul { display: grid; gap: 10px; margin-top: 14px; }
.ai-function__roles li { display: flex; align-items: flex-start; gap: 10px; font-size: 13px; line-height: 1.6; }
.ai-function__roles .ai-role { min-width: 72px; font-size: 11px; }
@media screen and (max-width: 1200px) {
  .ai-function__roles li { flex-wrap: wrap; gap: 4px 8px; }
}
@media screen and (max-width: 860px) {
  .ai-function__roles summary { padding: 10px 12px; font-size: 13px; }
   .ai-function__roles li { font-size: 13px; }
  .ai-function__roles li { flex-wrap: nowrap; }
  .ai-function__roles .ai-role { min-width: 60px; }
}

/* ==========================================================================
   AI movies and playback controls
   ========================================================================== */
.ai-movies { background: white; scroll-margin-top: 100px; }

/* ==========================================================================
   Before / After example
   ========================================================================== */

/* ==========================================================================
   Recruitment results
   ========================================================================== */
.ai-results > .service-shell > header { display: flex; flex-direction: column; align-items: center; gap: 10px; text-align: center; }
.ai-results > .service-shell > header > span { color: var(--main1); font: 700 13px/1.4 var(--barlow); letter-spacing: .24em; }
.ai-results > .service-shell > header > h2 { font-size: clamp(24px, 2.5vw, 36px); font-weight: 900; line-height: 1.6; }
.ai-results > .service-shell > header::after { width: 48px; height: 3px; content: ''; background: var(--main1); }
@media screen and (max-width: 640px) {
  .ai-results > .service-shell > header > h2 { max-width: 240px; }
}

/* ==========================================================================
   Reasons to choose our team
   ========================================================================== */

/* ==========================================================================
   Introduction flow
   ========================================================================== */

/* ==========================================================================
   Support plans
   ========================================================================== */

/* ==========================================================================
   Information and final consultation CTA
   ========================================================================== */
.service-landing--ai .service-faq { background: white; }
.service-landing--ai .service-faq__list { max-width: 1200px; }
.service-landing--ai .service-faq-item { border-top: 0; border-bottom: 1px solid #c8ece5; }
.service-landing--ai .service-faq-item summary { min-height: 90px; padding: 28px 16px; gap: 24px; font-size: var(--service-font-18-16); border-bottom: 0; }
.service-landing--ai .service-faq-item__q { color: var(--service-dark); background: none; }
.service-landing--ai .service-faq-item summary > span:nth-child(2) { text-wrap: pretty; }
.service-landing--ai .service-faq-item__answer { border-bottom: 0; }
@media screen and (max-width: 540px) {
  .service-landing--ai .service-faq-item summary { padding-inline: 4px; gap: 12px; }
}
.ai-info .c-btn { width: 250px; margin-top: 40px; }
@media screen and (max-width: 540px) {
  .ai-info .c-btn { width: 220px; margin-top: 32px; }
}

@charset "utf-8";

/* ==========================================================================
   費用：メインビジュアル
   ========================================================================== */
.service-landing .pricing-hero__title { font-size: var(--service-font-32-20); font-weight: 700; line-height: 1.3; text-wrap: unset; }
@media screen and (max-width: 860px) {
  .service-landing .pricing-hero__title { font-weight: 600; line-height: 1.6; }
}

/* ==========================================================================
   費用：導入文と料金カード（月額支援・サイト制作共通）
   ========================================================================== */
.pricing-monthly .service-heading h2 { font-size: clamp(20px, 6.154vw, var(--service-font-40-24)); }

/* ==========================================================================
   費用：月額支援のサービス
   ========================================================================== */

/* ==========================================================================
   費用：制作可能な採用サイト
   ========================================================================== */

/* ==========================================================================
   費用：お見積もりまでの流れ
   ========================================================================== */
.pricing-flow .service-actions { margin-top: 64px; }
@media screen and (max-width: 860px) {
  .pricing-flow .service-actions { margin-top: 40px; }
}

/* ==========================================================================
   費用：相談CTAとよくある質問
   ========================================================================== */
.pricing-contact .service-actions { margin-top: 40px; }
@media screen and (max-width: 860px) {
  .pricing-contact .service-actions { margin-top: 24px; }
}
@media screen and (max-width: 375px) {
  .service-landing--pricing .service-actions .c-btn { padding-inline: 6px; gap: 4px; font-size: 12px; }
  .service-landing--pricing .service-actions .c-btn > img { max-width: 16px; max-height: 16px; }
}


/* ===== ヨビコム介護 mock overrides ===== */
:root{ --cta1:#ff4e3d; --cta2:#ff7164; --cream:#fbf8f2; }
.fade-in,[class*="fade"],.js-fade,.is-fade{opacity:1!important;transform:none!important;filter:none!important}
.c-btn:not(.c-btn--outline):not(.c-btn--small):not(.c-btn--white){background:linear-gradient(100deg,var(--cta1) 0%,var(--cta2) 100%)!important;border-color:transparent!important;color:#ffffff!important}
.kg-ph{display:flex!important;align-items:center;justify-content:center;text-align:center;min-height:120px;background:repeating-linear-gradient(135deg,#eef3ee 0 14px,#e6ede6 14px 28px);border:2px dashed #b9cdbf;color:#2da089;font-weight:700;font-size:14px;line-height:1.6;border-radius:12px;padding:12px;box-sizing:border-box}
.kg-ph span{max-width:90%}
.hero .kg-ph{height:540px;align-items:flex-end;padding-bottom:130px;background:rgba(255,255,255,.28);border-color:rgba(255,255,255,.9);border-radius:16px 16px 0 0}
.kg-media span.is-public{color:#bd1000;border-color:#efd9b8}
.kg-thumb{aspect-ratio:16/10;min-height:0;width:100%}
/* 介護版で追加するページ用の汎用パーツ */
.kg-table .is-us{background:#fff7ef;font-weight:700}
.kg-sim__result .is-us strong{color:var(--cta1)}
.kg-note{font-size:12px;color:#6b7b72;line-height:1.7}

.home,.kg-root,:root{--cream:#f3f7f5}
/* スマホ（767px以下）：インラインstyleで組んだ新設セクションを1カラムに直す */
@media (max-width: 767px) {
  .kg-root .sp-1 { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: auto !important; }
  .kg-root section [style*="grid-column"], .kg-root section [style*="grid-row"] { grid-column: auto !important; grid-row: auto !important; }
  .kg-root section [style*="display:flex"]:has(> a), .kg-root section ul[style*="display:flex"], .kg-root section ol[style*="display:flex"], .kg-root section div[style*="display:flex"]:has(> span[style*="padding"]) { flex-wrap: wrap !important; }
  .kg-root section [style*="display:flex"] > span:last-child, .kg-root section [style*="display:flex"] > p:last-child { min-width: 0; }
  .kg-root section [style*="width:"] { max-width: 100% !important; }
  .kg-root section [style*="writing-mode"] { writing-mode: horizontal-tb !important; }
  .kg-root section [style*="font-size:3"]:not([style*="font-size:3px"]) { font-size: 24px !important; }
  .kg-root section [style*="font-size:4"]:not([style*="font-size:4px"]) { font-size: 28px !important; }
  .kg-root section [style*="font-size:5"]:not([style*="font-size:5px"]), .kg-root section [style*="font-size:6"]:not([style*="font-size:6px"]) { font-size: 32px !important; }
  .kg-root section [style*="font-size:7"]:not([style*="font-size:7px"]), .kg-root section [style*="font-size:8"]:not([style*="font-size:8px"]), .kg-root section [style*="font-size:9"]:not([style*="font-size:9px"]), .kg-root section [style*="font-size:10"]:not([style*="font-size:10px"]):not([style*="font-size:10."]) { font-size: 40px !important; }
  .kg-root section [style*="padding:4"], .kg-root section [style*="padding:5"], .kg-root section [style*="padding:6"], .kg-root section [style*="padding:7"], .kg-root section [style*="padding:8"], .kg-root section [style*="padding:9"],
  .kg-root section [style*="padding:24px 4"], .kg-root section [style*="padding:28px 3"], .kg-root section [style*="padding:32px 3"], .kg-root section [style*="padding:36px 4"], .kg-root section [style*="padding:40px 4"], .kg-root section [style*="padding:44px 5"] {
    padding-left: 20px !important; padding-right: 20px !important;
  }
  .kg-root section [style*="gap:56px"], .kg-root section [style*="gap:64px"], .kg-root section [style*="gap:72px"], .kg-root section [style*="gap:48px"] { gap: 28px !important; }
  .kg-root section [style*="border-left:1px"] { border-left: 0 !important; border-top: 1px solid #d9e6dd; }
  .kg-root section [style*="height:460px"], .kg-root section [style*="height:480px"], .kg-root section [style*="height:500px"], .kg-root section [style*="height:520px"], .kg-root section [style*="height:560px"], .kg-root section [style*="height:580px"], .kg-root section [style*="min-height:580px"], .kg-root section [style*="min-height:600px"], .kg-root section [style*="min-height:620px"] { height: auto; min-height: 260px !important; }
  .kg-root section [style*="clip-path:polygon"] { clip-path: none !important; }
  .kg-root .kg-plan { padding: 40px 20px !important; }
   .kg-root table[style*="table-layout:fixed"] td, .kg-root table[style*="table-layout:fixed"] th { padding: 12px 8px !important; }
}
/* TOPヒーロー（520px以下）：人物を右に寄せて価格と重ならないようにし、3つ目のボタンまで見えるようにする */
@media (max-width: 520px) {
  .hero .hero__inner { min-height: 900px !important; }
  .hero .hero__workers { left: auto !important; right: -10px !important; width: 230px !important; height: 330px !important; top: 330px !important; }
  .hero .hero__price { left: 20px !important; top: 222px !important; }
  .hero .kg-badge { display: none !important; }
  .hero .hero__copy-head { min-height: 0 !important; }
  .hero .hero__copy .hero__buttons { gap: 10px !important; }
  .hero .hero__copy .c-btn { min-height: 50px !important; }
}
/* 全幅：日本語の改行を文節単位にし、1〜2文字だけの行を出にくくする */
.kg-root h1, .kg-root h2, .kg-root h3, .kg-root h4 { word-break: auto-phrase; text-wrap: balance; }
.kg-root p, .kg-root li, .kg-root dd, .kg-root td, .kg-root th { word-break: auto-phrase; text-wrap: pretty; }
/* 記事カードの画像（写真をdivの背景で入れているため、元のプレースホルダーのアイコンを消す） */
.content-card__image { overflow: hidden; margin: 0; }
.content-card__image:has(.kg-photo)::after { display: none; }
.content-card__image .kg-photo { grid-area: 1 / 1; width: 100%; height: 100%; aspect-ratio: auto; border-radius: 0 !important; }
/* TOP比較表の下のボタン：長い文言でも枠に収める */
.kg-top-compare .button-pair { flex-wrap: wrap; }
.kg-top-compare .button-pair .c-btn { width: auto; min-width: 260px; padding: 0 28px; white-space: nowrap; }
@media (max-width: 520px) { .kg-top-compare .button-pair .c-btn { width: 100%; min-width: 0; white-space: normal; } }
/* 採用SNS運用：サービス内容のブロックが画面からはみ出さないようにする */
@media (max-width: 767px) {
  .sns-service-block { min-width: 0; max-width: 100%; }
  .sns-service-block * { min-width: 0; }
  .sns-service-block__upper > img { flex: none !important; max-width: 100%; }
  .sns-coverage-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .service-cases--sns { overflow: hidden; }
}
/* スマホ：はみ出しの個別対策 */
@media (max-width: 767px) {
  .kg-root section [style*="white-space:nowrap"] { white-space: normal !important; }
  .kg-root section [style*="margin-inline:-"], .kg-root section [style*="margin-inline:calc"] { margin-inline: 0 !important; }
  .kg-root section .c-btn, .kg-root .button-pair .c-btn { max-width: 100%; min-width: 0 !important; height: auto; min-height: 50px; white-space: normal !important; }
  .kg-root .button-pair { flex-wrap: wrap; }
  .kg-root .button-pair .c-btn[style*="min-width:260px"] { width: 100% !important; }
  .kg-root section svg[style*="position:absolute"][style*="pointer-events:none"] { display: none; }
}
/* スマホ：PC用の絶対配置の装飾・写真 */
@media (max-width: 767px) {
  .kg-root section span[style*="position:absolute"][style*="left:7"], .kg-root section span[style*="position:absolute"][style*="left:8"], .kg-root section span[style*="position:absolute"][style*="left:9"] { display: none !important; }
  .kg-root section div[style*="position:absolute"][style*="right:-40px"][style*="width:500px"] { position: relative !important; right: auto !important; top: auto !important; width: 100% !important; height: 380px !important; margin-bottom: 32px; }
}
@media (max-width: 767px) {
  .kg-root section div[style*="position:relative;width:500px;height:440px"] { zoom: .68; margin-inline: auto; }
  .kg-root section span[style*="position:absolute"][style*="border-radius:50%"][style*="box-shadow:inset"] { display: none; }
  .kg-root section div:has(> img[style*="position:absolute"][style*="inset:0"]) { min-height: 200px; }
}
@media (max-width: 767px) {
  /* リンクが3つ以上並ぶボタン群（ほかの施設形態・職種へ）：折り返して横に並べる */
  .kg-root .button-pair:has(> a:nth-child(3)) { display: flex !important; flex-wrap: wrap !important; justify-content: center; gap: 10px !important; }
  .kg-root .button-pair:has(> a:nth-child(3)) > .c-btn { flex: 0 1 auto; width: auto !important; white-space: nowrap !important; padding-inline: 16px !important; min-height: 46px; font-size: 14px; }
  /* 2つ並びのボタン：縦に並べて押しやすくする */
  .kg-root section .button-pair:not(:has(> a:nth-child(3))) { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; width: 100%; }
  .kg-root section .button-pair:not(:has(> a:nth-child(3))) > .c-btn { width: 100% !important; }
}
@media (max-width: 767px) {
  .kg-root section > div[style*="position:absolute;top:0;bottom:0;right:0;width:52%"] { position: relative !important; width: 100% !important; height: 300px; }
}
@media (max-width: 767px) {
  .kg-root .kg-diagram.kg-photo, .kg-root .kg-collage.kg-photo { background-size: contain !important; background-color: #f4f8f6 !important; height: auto !important; aspect-ratio: 1280 / 440; min-height: 0 !important; }
  .kg-root .kg-collage.kg-photo { aspect-ratio: 660 / 845; }
}
@media (max-width: 767px) {
  .sns-reasons__cards header > b { opacity: .1; }
  .hero .hero__price small { margin-left: 8px !important; }
}

/* ==========================================================
   ヘッダー・メニュー／動き（ホバー・アニメーション）の全体調整
   ========================================================== */
:root {
  --ykg-ease: cubic-bezier(.22, .61, .36, 1);
  --ykg-ease-io: cubic-bezier(.65, 0, .35, 1);
  --ykg-fast: .18s;
  --ykg-mid: .28s;
  --ykg-hh: 76px;
  --ykg-adm: var(--wp-admin--admin-bar--height, 0px);
  --basic-transition: color var(--ykg-mid) var(--ykg-ease), background-color var(--ykg-mid) var(--ykg-ease), border-color var(--ykg-mid) var(--ykg-ease), box-shadow var(--ykg-mid) var(--ykg-ease), opacity var(--ykg-mid) var(--ykg-ease), transform var(--ykg-mid) var(--ykg-ease), visibility var(--ykg-mid);
}
@media (max-width: 1100px) { :root { --ykg-hh: 64px; } }
html { scroll-padding-top: calc(var(--ykg-hh) + var(--ykg-adm) + 12px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
@media (max-width: 600px) { html { --ykg-adm: 0px; } }

/* ---------- ヘッダー：常に表示（上部で消えない）、高さを詰める ---------- */
.kg-root { padding-top: var(--ykg-hh); }
.header.ykg-header,
body .header.ykg-header {
  position: fixed; top: var(--ykg-adm); left: 0; right: 0; z-index: 80;
  width: 100%; height: auto;
  visibility: visible; opacity: 1; pointer-events: auto; transform: none;
  background: rgb(255 255 255 / 96%);
  -webkit-backdrop-filter: saturate(160%) blur(10px); backdrop-filter: saturate(160%) blur(10px);
  border-bottom: 1px solid rgb(3 166 133 / 12%);
  box-shadow: none;
  transition: box-shadow var(--ykg-mid) var(--ykg-ease), background-color var(--ykg-mid) var(--ykg-ease);
}
.header.ykg-header.is-scrolled { box-shadow: 0 6px 24px -10px rgb(1 96 77 / 22%); }
.ykg-header .header__inner { min-height: var(--ykg-hh); width: min(100% - 64px, 1360px); gap: 24px; }
.ykg-header .header__logo { width: auto; flex: none; }
.ykg-header .header__logo img { display: block; height: 34px; width: auto; }
@media (max-width: 1100px) { .ykg-header .header__inner { width: calc(100% - 40px); } .ykg-header .header__logo img { height: 30px; } }
@media (max-width: 520px) { .ykg-header .header__logo img { height: 27px; } }

/* PCナビ */
.ykg-nav { margin-left: auto; }
.ykg-nav__list { display: flex; align-items: center; gap: 4px; margin: 0; padding: 0; list-style: none; }
.ykg-nav__item { position: relative; }
.ykg-nav__top {
  position: relative; display: inline-flex; align-items: center; gap: 6px;
  height: 44px; padding: 0 12px; border: 0; border-radius: 8px; background: transparent;
  color: #1f2b28; font: 600 14.5px/1 var(--noto-sans, "Noto Sans JP", sans-serif); white-space: nowrap; cursor: pointer;
  transition: color var(--ykg-fast) var(--ykg-ease), background-color var(--ykg-fast) var(--ykg-ease);
}
.ykg-nav__top::after {
  content: ""; position: absolute; left: 12px; right: 12px; bottom: 6px; height: 2px; border-radius: 2px;
  background: var(--main1); transform: scaleX(0); transform-origin: left; transition: transform var(--ykg-mid) var(--ykg-ease);
}
.ykg-nav__top:hover, .ykg-nav__item.is-open > .ykg-nav__top { color: var(--main1); background: rgb(3 166 133 / 7%); }
.ykg-nav__item.is-current > .ykg-nav__top { color: var(--main1); }
.ykg-nav__item.is-current > .ykg-nav__top::after { transform: scaleX(1); }
.ykg-nav__caret { width: 6px; height: 6px; margin-top: -3px; border-right: 1.6px solid currentColor; border-bottom: 1.6px solid currentColor; transform: rotate(45deg); transition: transform var(--ykg-mid) var(--ykg-ease), margin var(--ykg-mid) var(--ykg-ease); }
.ykg-nav__item.is-open .ykg-nav__caret { transform: rotate(-135deg); margin-top: 3px; }

/* ドロップダウン */
.ykg-drop {
  position: absolute; top: calc(100% + 10px); left: 50%; z-index: 90;
  min-width: 260px; padding: 10px; border-radius: 14px; background: #fff;
  border: 1px solid rgb(3 166 133 / 12%);
  box-shadow: 0 24px 48px -16px rgb(1 70 56 / 28%), 0 2px 6px rgb(1 70 56 / 6%);
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translate(-50%, -6px);
  transition: opacity var(--ykg-fast) var(--ykg-ease), transform var(--ykg-mid) var(--ykg-ease), visibility 0s linear var(--ykg-mid);
}
.ykg-drop::before { content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px; } /* 隙間でメニューが閉じないように */
.ykg-drop--c2 { min-width: 460px; }
.ykg-nav__item.is-open > .ykg-drop { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); transition-delay: 0s; }
.ykg-drop__list { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ykg-drop--c2 .ykg-drop__list { grid-template-columns: 1fr 1fr; column-gap: 4px; }
.ykg-drop a {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  padding: 11px 12px; border-radius: 9px; color: #22302c; font: 600 14px/1.4 var(--noto-sans, "Noto Sans JP", sans-serif);
  transition: background-color var(--ykg-fast) var(--ykg-ease), color var(--ykg-fast) var(--ykg-ease);
}
.ykg-drop a > span { color: var(--main1); opacity: .45; transform: translateX(-3px); transition: transform var(--ykg-mid) var(--ykg-ease), opacity var(--ykg-fast) var(--ykg-ease); }
.ykg-drop a:hover, .ykg-drop a:focus-visible, .ykg-drop a[aria-current] { color: var(--main1); background: #eef8f4; }
.ykg-drop a:hover > span, .ykg-drop a:focus-visible > span { opacity: 1; transform: translateX(2px); }
.ykg-drop__all { margin-bottom: 6px; color: var(--main1) !important; background: #f3faf7; font-size: 13px !important; }
.ykg-drop__all + .ykg-drop__list { padding-top: 6px; border-top: 1px solid #e6f0ec; }

.ykg-actions { display: flex; align-items: center; gap: 10px; margin-left: 12px; }
.ykg-actions .c-btn--header { min-width: 0; min-height: 44px; padding: 0 18px; font-size: 14px; border-radius: 999px; }
@media (max-width: 1280px) {
  .ykg-nav__top { padding: 0 9px; font-size: 14px; }
  .ykg-actions .c-btn--outline .c-btn__label { font-size: 0; }
  .ykg-actions .c-btn--outline .c-btn__label::after { content: "資料DL"; font-size: 14px; }
}
@media (max-width: 1100px) { .ykg-nav, .ykg-actions { display: none; } }

/* スマホメニュー */
.ykg-mmenu { top: calc(var(--ykg-hh) + var(--ykg-adm)); background: rgb(10 40 33 / 45%); }
.ykg-mmenu .mobile-menu__inner { min-height: 0; padding: 12px 20px 28px; color: #1f2b28; background: #fff; border-radius: 0 0 20px 20px; transform: translateY(-12px); transition: transform var(--ykg-mid) var(--ykg-ease); max-height: calc(100dvh - var(--ykg-hh) - var(--ykg-adm)); overflow-y: auto; overscroll-behavior: contain; }
.ykg-mmenu.is-active .mobile-menu__inner { transform: none; }
.ykg-mmenu__parent, .ykg-mmenu__link {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  padding: 17px 4px; border: 0; border-bottom: 1px solid #e7efec; background: none;
  color: #1f2b28; font: 700 16px/1.4 var(--noto-sans, "Noto Sans JP", sans-serif); text-align: left; cursor: pointer;
}
.ykg-mmenu__link > span { color: var(--main1); }
.ykg-mmenu__parent > span { position: relative; width: 14px; height: 14px; flex: none; }
.ykg-mmenu__parent > span::before, .ykg-mmenu__parent > span::after { content: ""; position: absolute; left: 0; top: 6px; width: 14px; height: 2px; border-radius: 2px; background: var(--main1); transition: transform var(--ykg-mid) var(--ykg-ease); }
.ykg-mmenu__parent > span::after { transform: rotate(90deg); }
.ykg-mmenu__group.is-open .ykg-mmenu__parent > span::after { transform: rotate(0); }
.ykg-mmenu__children { overflow: hidden; max-height: 0; transition: max-height .34s var(--ykg-ease); }
.ykg-mmenu__group.is-open .ykg-mmenu__children { max-height: 520px; }
.ykg-mmenu__children ul { display: grid; gap: 6px; margin: 0; padding: 12px 0 6px; list-style: none; }
.ykg-mmenu__children ul.is-2col { grid-template-columns: 1fr 1fr; }
.ykg-mmenu__children li a { display: block; padding: 12px 12px; border-radius: 10px; background: #f3f8f6; color: #22302c; font: 600 14px/1.4 var(--noto-sans, "Noto Sans JP", sans-serif); transition: background-color var(--ykg-fast) var(--ykg-ease); }
.ykg-mmenu__children li a:active { background: #e2f2ec; }
.ykg-mmenu__all { display: inline-block; margin: 4px 0 14px; padding: 6px 2px; color: var(--main1); font: 700 13px/1.4 var(--noto-sans, "Noto Sans JP", sans-serif); }
.ykg-mmenu .mobile-menu__actions { gap: 10px; margin-top: 22px; }
.ykg-mmenu .mobile-menu__actions .c-btn { min-height: 52px; border-radius: 999px; }
body.is-menu-open { overflow: hidden; }

/* ---------- ボタン：反転ではなく「少し浮く＋影」に統一 ---------- */
.kg-root .c-btn { transition: color var(--ykg-fast) var(--ykg-ease), background-color var(--ykg-fast) var(--ykg-ease), border-color var(--ykg-fast) var(--ykg-ease), box-shadow var(--ykg-mid) var(--ykg-ease), transform var(--ykg-mid) var(--ykg-ease), filter var(--ykg-fast) var(--ykg-ease); will-change: transform; }
.kg-root .c-btn:not(.c-btn--outline):not(.c-btn--white):not(.c-btn--small):hover {
  color: var(--white1); background: var(--gradient1); filter: brightness(1.06) saturate(1.05);
  box-shadow: 0 10px 22px -10px rgb(2 120 96 / 55%); transform: translateY(-2px);
}
.kg-root .c-btn:not(.c-btn--outline):not(.c-btn--white):not(.c-btn--small):hover img { filter: brightness(0) invert(1); }
.kg-root .c-btn--outline:hover, .kg-root .c-btn--white:hover { transform: translateY(-2px); box-shadow: 0 10px 22px -12px rgb(2 120 96 / 45%); }
.kg-root .c-btn:active, .kg-root .form-submit:active { transform: translateY(0) scale(.985); box-shadow: none; transition-duration: .08s; }
.kg-root .c-btn:focus-visible, .kg-root a:focus-visible, .kg-root button:focus-visible { outline: 2px solid var(--main1); outline-offset: 3px; }
.kg-root .form-submit { transition: box-shadow var(--ykg-mid) var(--ykg-ease), transform var(--ykg-mid) var(--ykg-ease), background-color var(--ykg-fast), color var(--ykg-fast); }
.kg-root .form-submit:hover { transform: translateY(-2px); }

/* ---------- カード：JSで .ykg-card を付けたリンクカード ---------- */
.kg-root .ykg-card { transition: transform var(--ykg-mid) var(--ykg-ease), box-shadow var(--ykg-mid) var(--ykg-ease), border-color var(--ykg-mid) var(--ykg-ease); }
.kg-root .ykg-card:hover { transform: translateY(-4px); box-shadow: 0 18px 36px -18px rgb(1 96 77 / 35%); }
.kg-root .ykg-card img { transition: transform .6s var(--ykg-ease); }
.kg-root .ykg-card:hover img { transform: scale(1.04); }
.kg-root .ykg-card .ykg-media { overflow: hidden; }
.kg-root .lower-card:hover { transform: translateY(-4px); }
.kg-root .content-card { transition: transform var(--ykg-mid) var(--ykg-ease); }
.kg-root .content-card:hover { transform: translateY(-3px); }
.kg-root .content-card__image img, .kg-root .lower-card__media img { transition: transform .6s var(--ykg-ease); }

/* ---------- 文中リンク：下線が伸びる ---------- */
.kg-root main p a:not(.c-btn), .kg-root main li > a:not([class]) {
  background: linear-gradient(currentColor, currentColor) 0 100% / 0 1px no-repeat; transition: background-size var(--ykg-mid) var(--ykg-ease), color var(--ykg-fast);
}
.kg-root main p a:not(.c-btn):hover, .kg-root main li > a:not([class]):hover { background-size: 100% 1px; }

/* フッターのリンク */
.kg-root .footer a { transition: color var(--ykg-fast) var(--ykg-ease), opacity var(--ykg-fast) var(--ykg-ease); }
.kg-root .footer__links a:hover { opacity: .85; }

/* FAQ（details） */
.kg-root details > summary { cursor: pointer; transition: color var(--ykg-fast) var(--ykg-ease); }
.kg-root details > summary:hover { color: var(--main1); }
.kg-root details[open] > :not(summary) { animation: ykg-open .32s var(--ykg-ease); }
@keyframes ykg-open { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* ページ上部へ戻る */
.kg-root .to-top { transition: opacity var(--ykg-mid) var(--ykg-ease), transform var(--ykg-mid) var(--ykg-ease), background-color var(--ykg-fast); }

/* ---------- スクロールで要素をふわっと表示（JSが動いたときだけ） ---------- */
html.ykg-motion .ykg-reveal { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--ykg-ease), transform .7s var(--ykg-ease); transition-delay: var(--ykg-d, 0s); }
html.ykg-motion .ykg-reveal.is-in { opacity: 1; transform: none; }
html.ykg-motion .fade-in { transition: opacity .7s var(--ykg-ease), transform .7s var(--ykg-ease); }

@media (prefers-reduced-motion: reduce) {
  .kg-root *, .kg-root *::before, .kg-root *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; }
  html.ykg-motion .ykg-reveal { opacity: 1; transform: none; }
  .kg-root .c-btn:hover, .kg-root .ykg-card:hover { transform: none !important; }
}
@media (hover: none) {
  .kg-root .ykg-card:hover, .kg-root .c-btn:hover { transform: none; }
  .kg-root .ykg-card:hover img { transform: none; }
}

/* ==========================================================
   DL資料：紹介ページ・一覧カード・フォーム・完了ページ
   ========================================================== */
.ykg-res-tag { display: inline-block; padding: 3px 12px; border-radius: 999px; background: var(--main1); color: #fff; font-size: 12.5px; font-weight: 700; line-height: 1.5; }
.ykg-res-tag.is-o { background: #fff; color: var(--main1); box-shadow: inset 0 0 0 1.5px var(--main1); }
.ykg-res-hero { background: linear-gradient(180deg, #f3faf7, #fff); padding: 40px 0 56px; }
.ykg-res-hero__inner { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 48px; align-items: center; }
.ykg-res-hero__tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ykg-res-hero h1 { margin-top: 16px; font-size: clamp(26px, 3.2vw, 38px); font-weight: 800; line-height: 1.45; color: #1f2b28; }
.ykg-res-hero__lead { margin-top: 18px; font-size: 15.5px; line-height: 1.95; color: #3d4b47; }
.ykg-res-hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: 26px; }
.ykg-res-hero__cta .c-btn { width: auto; min-width: 280px; padding-inline: 28px; }
.ykg-res-hero__note { font-size: 13px; color: #5b6b66; }
.ykg-res-hero__cover { margin: 0; }
.ykg-res-hero__cover img { display: block; width: 100%; height: auto; border-radius: 10px; box-shadow: 0 24px 48px -20px rgb(1 70 56 / 35%), 0 0 0 1px rgb(3 166 133 / 12%); transform: rotate(-1.2deg); }
.ykg-res-sec { padding: 64px 0; }
.ykg-res-sec.is-tint { background: #f5faf8; }
.ykg-res-h2 { font-size: clamp(21px, 2.3vw, 27px); font-weight: 800; line-height: 1.5; color: #1f2b28; }
.ykg-res-h2 span { display: block; margin-bottom: 4px; color: var(--main1); font-family: var(--barlow, "Barlow Condensed", sans-serif); font-size: 14px; letter-spacing: .14em; }
.ykg-res-h2.is-center { text-align: center; }
.ykg-res-two { display: grid; grid-template-columns: 1.2fr 1fr; gap: 28px; }
.ykg-res-two.is-toc { grid-template-columns: minmax(0, 1fr) 340px; align-items: start; }
.ykg-res-box { background: #fff; border: 1px solid #dbe9e3; border-radius: 14px; padding: 28px 30px; }
.ykg-res-box.is-sub { background: #f3faf7; border-color: transparent; }
.ykg-res-check, .ykg-res-dot { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.ykg-res-check li, .ykg-res-dot li { position: relative; padding-left: 30px; font-size: 15px; line-height: 1.75; }
.ykg-res-check li::before { content: ""; position: absolute; left: 0; top: .3em; width: 20px; height: 20px; border-radius: 50%; background: var(--main1); }
.ykg-res-check li::after { content: ""; position: absolute; left: 6px; top: calc(.3em + 6px); width: 8px; height: 5px; border-left: 2px solid #fff; border-bottom: 2px solid #fff; transform: rotate(-45deg); }
.ykg-res-dot li { padding-left: 18px; }
.ykg-res-dot li::before { content: ""; position: absolute; left: 2px; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--accent1); }
.ykg-res-previews { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; margin-top: 28px; }
.ykg-res-previews figure { margin: 0; position: relative; }
.ykg-res-previews img { display: block; width: 100%; height: auto; border-radius: 8px; box-shadow: 0 14px 30px -18px rgb(1 70 56 / 40%), 0 0 0 1px #dbe9e3; }
.ykg-res-previews figcaption { position: absolute; right: 10px; bottom: 10px; padding: 2px 9px; border-radius: 4px; background: rgb(0 0 0 / 55%); color: #fff; font-size: 12px; font-weight: 700; }
.ykg-res-summary { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 30px; }
.ykg-res-summary article { background: #fff; border-radius: 12px; padding: 24px 26px; border: 1px solid #dbe9e3; }
.ykg-res-summary h3 { font-size: 17px; font-weight: 800; line-height: 1.6; color: var(--main1); }
.ykg-res-summary p { margin-top: 10px; font-size: 14.5px; line-height: 1.95; color: #33413d; }
.ykg-res-toc { list-style: none; margin: 18px 0 0; padding: 0; columns: 2; column-gap: 28px; }
.ykg-res-toc li { break-inside: avoid; display: flex; gap: 12px; padding: 9px 0; border-bottom: 1px dotted #cfe0d9; font-size: 14.5px; line-height: 1.6; }
.ykg-res-toc b { flex: none; width: 44px; color: var(--main1); font-family: var(--inter, Inter, sans-serif); font-size: 13px; }
.ykg-res-side { position: sticky; top: calc(var(--ykg-hh) + var(--ykg-adm) + 20px); background: #fff; border: 1px solid #dbe9e3; border-radius: 14px; padding: 18px; }
.ykg-res-side img { display: block; width: 100%; height: auto; border-radius: 6px; }
.ykg-res-side__title { margin-top: 12px; font-size: 15px; font-weight: 800; line-height: 1.6; }
.ykg-res-side .c-btn { width: 100%; margin-top: 14px; }
.ykg-res-side__note { margin-top: 12px; font-size: 12px; line-height: 1.7; color: #5b6b66; }
.ykg-res-narrow { max-width: 880px; }
.ykg-res-faq { display: grid; gap: 10px; margin-top: 24px; }
.ykg-res-faq details { background: #fff; border-radius: 10px; border: 1px solid #dbe9e3; padding: 0 22px; }
.ykg-res-faq summary { padding: 18px 0; font-weight: 700; font-size: 15.5px; list-style: none; position: relative; padding-right: 28px; }
.ykg-res-faq summary::-webkit-details-marker { display: none; }
.ykg-res-faq summary::before { content: "Q"; margin-right: 10px; color: var(--main1); font-family: var(--inter, Inter, sans-serif); font-weight: 800; }
.ykg-res-faq summary::after { content: ""; position: absolute; right: 4px; top: 50%; width: 8px; height: 8px; border-right: 2px solid var(--main1); border-bottom: 2px solid var(--main1); transform: translateY(-70%) rotate(45deg); transition: transform var(--ykg-mid) var(--ykg-ease); }
.ykg-res-faq details[open] summary::after { transform: translateY(-30%) rotate(-135deg); }
.ykg-res-faq details p { padding: 0 0 18px 26px; font-size: 14.5px; line-height: 1.9; color: #33413d; }
.ykg-res-cta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 22px 32px; padding: 36px 40px; border-radius: 16px; background: var(--gradient1); color: #fff; }
.ykg-res-cta span { font-family: var(--barlow, "Barlow Condensed", sans-serif); letter-spacing: .16em; font-size: 14px; opacity: .9; }
.ykg-res-cta h2 { margin-top: 4px; font-size: clamp(21px, 2.3vw, 27px); font-weight: 800; }
.ykg-res-cta p { margin-top: 8px; font-size: 14.5px; line-height: 1.85; max-width: 640px; }
.ykg-res-cta__btns { display: flex; flex-wrap: wrap; gap: 10px; }
.ykg-res-cta__btns .c-btn { width: auto; min-width: 220px; padding-inline: 24px; }
.ykg-res-next { margin-top: 48px; }
.ykg-res-next h3, .ykg-res-related h3 { font-size: 19px; font-weight: 800; margin-bottom: 18px; }
.ykg-res-related { margin-top: 40px; }
.ykg-res-related ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.ykg-res-related a { display: inline-flex; gap: 8px; align-items: center; padding: 10px 16px; border-radius: 999px; background: #f3faf7; color: #1f2b28; font-weight: 700; font-size: 14px; }
.ykg-res-related a b { color: var(--main1); }
/* 一覧カード */
.ykg-res-card .ykg-res-card__img { display: block; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; box-shadow: 0 0 0 1px #dbe9e3; }
.ykg-res-card .ykg-res-card__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ykg-res-card .whitepaper-card__actions { display: flex; flex-wrap: wrap; gap: 8px; }
.ykg-res-card .whitepaper-card__actions .c-btn { flex: 1 1 auto; min-width: 0; width: auto; padding-inline: 14px; min-height: 44px; font-size: 14px; }
.whitepaper-directory__section-heading > p { font-size: 13px; color: #5b6b66; }
/* フォーム横の資料 */
.ykg-res-aside { margin-top: 28px; background: #fff; border: 1px solid #d6e2dc; border-radius: 10px; padding: 20px; }
.ykg-res-aside__doc { display: grid; grid-template-columns: 170px 1fr; gap: 16px; align-items: center; }
.ykg-res-aside__doc img { display: block; width: 100%; height: auto; border-radius: 4px; box-shadow: 0 0 0 1px #d6e2dc; }
.ykg-res-aside__type { font-size: 13px; color: #5b6b62; }
.ykg-res-aside__title { margin-top: 2px; font-size: 17px; font-weight: 800; line-height: 1.6; color: #1f2b25; }
.ykg-res-aside__learn { margin: 14px 0 0; padding-left: 1.2em; font-size: 14px; line-height: 1.9; color: #3b4a43; list-style: disc; }
.ykg-res-aside__note { margin-top: 14px; font-size: 13.5px; line-height: 1.85; color: #3b4a43; }
.ykg-res-aside__links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 12px; font-size: 14px; font-weight: 700; }
.ykg-res-aside__links a { color: var(--main1); text-decoration: underline; }
/* 完了ページ */
.ykg-res-thanks__box { display: grid; grid-template-columns: 380px 1fr; gap: 40px; align-items: center; background: #fff; border-radius: 12px; padding: 40px; box-shadow: 0 12px 40px rgb(0 65 81 / 7%); }
.ykg-res-thanks__cover { display: block; width: 100%; height: auto; border-radius: 6px; box-shadow: 0 0 0 1px #dbe9e3; }
.ykg-res-thanks h2 { margin-top: 12px; color: var(--main1); font-size: 26px; font-weight: 800; line-height: 1.5; }
.ykg-res-thanks__box p { margin-top: 10px; line-height: 1.9; color: #4b5a52; }
.ykg-res-thanks .c-btn { width: auto; min-width: 320px; padding-inline: 28px; }
@media (max-width: 900px) {
  .ykg-res-hero__inner, .ykg-res-two, .ykg-res-two.is-toc, .ykg-res-thanks__box { grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .ykg-res-hero__cover { order: -1; }
  .ykg-res-previews, .ykg-res-summary { grid-template-columns: minmax(0, 1fr); }
  .ykg-res-toc { columns: 1; }
  .ykg-res-side { position: static; }
  .ykg-res-sec { padding: 44px 0; }
  .ykg-res-box, .ykg-res-summary article { padding: 20px; }
  .ykg-res-cta { padding: 26px 22px; }
  .ykg-res-cta__btns .c-btn, .ykg-res-hero__cta .c-btn, .ykg-res-thanks .c-btn { width: 100%; min-width: 0; }
  .ykg-res-thanks__box { padding: 22px; }
  .ykg-res-aside__doc { grid-template-columns: 120px 1fr; }
}
.ykg-res-side .c-btn { white-space: nowrap; font-size: 15px; }
.ykg-res-card .whitepaper-card__actions .c-btn img, .ykg-res .c-btn img { width: 16px; height: 16px; flex: none; }

/* 料金：任せる範囲の広げ方 */
.ykg-scope__lead { margin-top: 14px; font-size: 15px; line-height: 1.9; color: #33413d; }
.ykg-scope { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; counter-reset: none; }
.ykg-scope li { position: relative; background: #fff; border: 1px solid #dbe9e3; border-radius: 12px; padding: 26px 24px 24px; }
.ykg-scope li + li::before { content: ""; position: absolute; left: -14px; top: 50%; width: 10px; height: 10px; border-top: 2px solid var(--main1); border-right: 2px solid var(--main1); transform: translateY(-50%) rotate(45deg); }
.ykg-scope__no { display: inline-block; padding: 3px 10px; border-radius: 4px; background: var(--main1); color: #fff; font-family: var(--inter, Inter, sans-serif); font-size: 12px; font-weight: 800; letter-spacing: .08em; }
.ykg-scope li:nth-child(2) .ykg-scope__no { background: #028e72; }
.ykg-scope li:nth-child(3) .ykg-scope__no { background: #02755e; }
.ykg-scope h4 { margin-top: 12px; font-size: 19px; font-weight: 800; line-height: 1.5; }
.ykg-scope__price { margin-top: 6px; font-size: 16px; font-weight: 800; color: var(--main1); }
.ykg-scope__price small { font-size: 12px; font-weight: 700; color: #5b6b66; margin-left: 2px; }
.ykg-scope li > p:last-child { margin-top: 12px; font-size: 14.5px; line-height: 1.9; color: #33413d; }
.ykg-scope__cta { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 18px 28px; padding: 26px 30px; border-radius: 12px; background: #eef8f4; }
.ykg-scope__cta p { font-size: 15.5px; line-height: 1.85; }
.ykg-scope__cta .c-btn { flex: none; }
@media (max-width: 860px) {
  .ykg-scope { grid-template-columns: 1fr; gap: 22px; }
  .ykg-scope li + li::before { left: 50%; top: -15px; transform: translateX(-50%) rotate(135deg); }
  .ykg-scope__cta { padding: 22px 20px; }
  .ykg-scope__cta .c-btn { width: 100%; }
}

/* 導入事例 */
.ykg-case { margin-top: 28px; background: #fff; border: 1px solid #dbe9e3; border-radius: 16px; padding: 40px 44px; }
.ykg-case__label { display: inline-block; padding: 4px 12px; border-radius: 4px; background: var(--main1); color: #fff; font-size: 12.5px; font-weight: 800; letter-spacing: .06em; }
.ykg-case__company { margin-top: 16px; font-size: 15px; font-weight: 700; color: #33413d; }
.ykg-case__company small { margin-left: 10px; font-size: 13px; font-weight: 500; color: #5b6b66; }
.ykg-case h3 { margin-top: 8px; font-size: clamp(22px, 2.6vw, 30px); font-weight: 800; line-height: 1.5; }
.ykg-case__tags { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.ykg-case__tags li { padding: 3px 12px; border-radius: 999px; background: #eef8f4; color: #02755e; font-size: 12.5px; font-weight: 700; }
.ykg-case__stat { margin-top: 26px; padding: 26px 28px; border-radius: 12px; background: var(--gradient1); color: #fff; text-align: center; }
.ykg-case__stat p { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; gap: 4px 12px; font-size: 15px; font-weight: 700; }
.ykg-case__stat b { font-size: clamp(30px, 4vw, 44px); font-weight: 900; line-height: 1.2; }
.ykg-case__grid { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: 22px 28px; }
.ykg-case__grid section { padding-top: 18px; border-top: 2px solid #e3efea; }
.ykg-case__grid h4 { font-size: 17px; font-weight: 800; color: var(--main1); }
.ykg-case__grid p, .ykg-case__grid li { font-size: 14.5px; line-height: 1.9; color: #33413d; }
.ykg-case__grid p { margin-top: 10px; }
.ykg-case__grid ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.ykg-case__grid li { position: relative; padding-left: 18px; }
.ykg-case__grid li::before { content: ""; position: absolute; left: 2px; top: .75em; width: 7px; height: 7px; border-radius: 50%; background: var(--accent1); }
.ykg-case__note { margin-top: 26px; font-size: 12.5px; line-height: 1.8; color: #5b6b66; }
.ykg-case__note a { color: var(--main1); text-decoration: underline; }
.ykg-case__more { margin-top: 28px; }
@media (max-width: 860px) {
  .ykg-case { padding: 28px 20px; }
  .ykg-case__grid { grid-template-columns: 1fr; }
}

/* ===== コラム（投稿） ===== */
.ykg-toc{background:#f3f8f1;border:1px solid #d9e6dd;border-radius:10px;padding:24px 28px}
.ykg-toc__title{font-weight:800;color:var(--main1);font-size:17px;margin:0}
.entry-content .ykg-toc ol{margin:10px 0 0;padding-left:1.4em;line-height:2.1;list-style:decimal}
.ykg-toc a{color:var(--main1);text-decoration:underline;text-underline-offset:4px}
.entry-content a:not(.c-btn){color:var(--main1);text-decoration:underline;text-underline-offset:3px;word-break:break-word}
.entry-content .ykg-checklist{list-style:none;padding:16px 24px;background:#f3f8f1;border:1px solid #d9e6dd;border-radius:10px}
.entry-content .ykg-checklist li{position:relative;padding-left:1.8em}
.entry-content .ykg-checklist li+li{margin-top:.4em}
.entry-content .ykg-checklist li::before{content:"";position:absolute;left:0;top:.55em;width:1em;height:1em;border:2px solid var(--main1);border-radius:3px;background:#fff}
.ykg-faq h3{border-bottom:0;padding-bottom:0;font-size:18px}
.ykg-faq h3,.ykg-faq p>strong:first-child{color:var(--main1)}
.ykg-faq>p{padding:14px 18px;background:#f7faf8;border-radius:8px}
.ykg-cta{margin-top:2.4em;border-radius:12px;padding:32px 28px;background:linear-gradient(120deg,var(--main1),#1f8a5a);color:#fff}
.entry-content .ykg-cta h2{margin-top:0;padding:0;background:none;color:#fff;font-size:clamp(20px,2.2vw,24px)}
.ykg-cta p{color:#fff}
.ykg-cta__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.ykg-cta__btns .c-btn{width:auto;min-width:240px;padding-inline:24px;text-decoration:none}
.ykg-cta__btns .c-btn--outline{background:#fff;color:var(--main1);border-color:#fff}
.ykg-refs{margin-top:2.4em;border-top:1px solid #d9e6dd;padding-top:1.4em}
.entry-content .ykg-refs h2{margin-top:0;padding:0;background:none;color:var(--main1);font-size:16px}
.ykg-refs li{font-size:13px;line-height:1.9}
.lower-taxonomy-links a.is-current{background:var(--main1);color:#fff;border-color:var(--main1)}
.ykg-col-empty{margin-top:24px;padding:24px;background:#fff;border:1px solid #d9e6dd;border-radius:10px}
.ykg-pager{display:flex;justify-content:center;gap:8px;margin-top:40px}
.ykg-pager a,.ykg-pager span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;border:1px solid #d9e6dd;border-radius:8px;background:#fff;color:var(--main1);font-weight:700;text-decoration:none}
.ykg-pager span{background:var(--main1);color:#fff;border-color:var(--main1)}
.ykg-col-grid{margin-top:32px}
@media (max-width:860px){.ykg-cta{padding:24px 18px}.ykg-cta__btns .c-btn{min-width:0;width:100%}}

/* 日本語は端末のフォントで表示（Webフォントの読み込み約0.9MBを省く） */
:root, .home, .kg-root { --noto-sans: "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Noto Sans CJK JP", "Yu Gothic Medium", "YuGothic", "Yu Gothic", Meiryo, sans-serif; }

/* ===== スマホ表示の調整（2026-11-04） ===== */
/* 本文は行末までふつうに折り返す（Safari の text-wrap:pretty で行末がそろわず左寄りに見えるのを防ぐ）。見出しはバランス折り返しのまま */
.kg-root :is(p, li, dd, dt, td, th, figcaption, blockquote, small) { text-wrap: pretty !important; word-break: normal; }
/* 日本語の改行：テーマ作成時に BudouX で文節の区切りに <wbr> を入れてあるので、そこだけで改行する（単語の途中で切れない）。
   入りきらない長い語は、はみ出さずに折り返す */
.kg-root :has(> wbr) { word-break: keep-all !important; overflow-wrap: break-word; line-break: strict; }
@media (max-width: 860px) {
  /* 求人媒体運用：写真の上の媒体名は小さく右上にまとめ、見出しに重ねない */
}

@media (max-width: 860px) {
  /* PCで横並びの区切り線（左の縦線）は、縦積みでは上の横線に */
  .kg-root .sp-1:has(> [style*="border-left"]) > * { padding-left: 0 !important; padding-right: 0 !important; }
  .kg-root .sp-1 > [style*="border-left"] { border-left: 0 !important; border-top: 1px solid #d9e6dd !important; padding-top: 20px !important; margin-top: 20px !important; }
  /* TOPのファーストビュー：「10」と「万円〜」が重ならないように */
  .hero .hero__price strong { width: auto !important; min-width: 0 !important; flex: none !important; letter-spacing: -.02em !important; font-size: 118px !important; }
  .hero .hero__price small { margin-left: 6px !important; font-size: 44px !important; white-space: nowrap !important; }
  .kg-top-stats .sp-1 > div { padding-left: 0 !important; padding-right: 0 !important; }
  /* TOPの料金：見出しを小さくし、「ではじめる採用支援」を途中で切らない */
  .kg-plan > p:nth-of-type(2) { font-size: 19px !important; }
  .kg-plan > p:nth-of-type(2) b { font-size: 40px !important; }
  /* 求人媒体運用：写真が見出しに重ならないように */
  .indeed-reach__images .kg-ph { aspect-ratio: 4 / 3 !important; width: 100%; }
}
@media (max-width: 860px) {
  /* 採用サイト制作：採用コンセプトの図がつぶれないように */
  .site-overview__concept-diagram.kg-ph { height: auto !important; aspect-ratio: 1400 / 481 !important; background-size: contain !important; background-position: center !important; }
}

/* ===== 新設ページ（施設形態・職種・費用比較）のファーストビュー：スマホは「文章 → 写真1枚」に統一 ===== */
@media (max-width: 860px) {
  .kg-new > section:first-child :is(div, figure, picture, ul):has(img):not(:has(h1)):not(:has(.c-btn)):not(.kg-mhero) { display: none !important; }
  .kg-new > section:first-child .service-shell { margin-top: 0 !important; padding-top: 36px !important; padding-bottom: 28px !important; border-top: 0 !important; position: relative !important; }
  .kg-new > section:first-child > .sp-1:not(.service-shell) div:has(> h1) { padding: 36px 20px 28px !important; }
}

/* TOPのファーストビュー：要素を順番に出す演出をやめ、最初から一度に表示する（ヨビコム建設と同じ見え方） */
.hero::before { animation: none !important; opacity: 1 !important; clip-path: none !important; }

/* ---------- スマホの整え（1.6.0） ---------- */
/* 01・02・03 の番号：数字の幅をそろえ、縮ませない */
.kg-root .kg-num { font-variant-numeric: tabular-nums; flex-shrink: 0; }
/* よくある質問：2行になっても Q. と＋を1行目にそろえる */
.service-faq-item summary { align-items: flex-start !important; }
.service-faq-item summary > .service-faq-item__q { line-height: 1.6 !important; font-size: 18px; }
.service-faq-item summary > b { margin-top: calc((1.6em - 20px) / 2); }
.faq__item summary { align-items: flex-start !important; }
.faq__item summary::before { line-height: 1.6 !important; }
.faq__item summary b { margin-top: .1em; }
/* アイコン＋文の箇条書き：2行になってもアイコンを1行目にそろえる */
.kg-root li[style*="display:flex"][style*="align-items:center"]:has(> img, > svg, > span:empty) { align-items: flex-start !important; }
.kg-root li[style*="display:flex"]:has(> img) > img { margin-top: .3em; flex-shrink: 0; }

@media (max-width: 767px) {
  /* PC用の改行（<br>）は、見出しとセルフチェックの結びの文ではスマホで使わない（文節で自然に折り返す） */
  .kg-root main :is(h2, h3, h4):not(.kg-keepbr) br:not(.break-sp-only) { display: none; }

  /* セルフチェック：「チェック枠｜番号｜文」を1行にそろえる */

  /* 表・表のように並べたグリッド：行ごとのカードにして、各項目に見出し（data-label）を添える */

}

/* お問い合わせ・資料DLフォームの選択肢：格子にそろえ、チェック枠と文をはなさない（2行になっても枠は1行目） */
.form-options .wpcf7-checkbox, .form-options .wpcf7-radio { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px 18px; }
.form-options .wpcf7-list-item { display: block !important; margin: 0 !important; }
.form-options .wpcf7-list-item label { display: flex !important; align-items: flex-start !important; gap: 8px !important; line-height: 1.5 !important; cursor: pointer; }
.form-options .wpcf7-list-item input { flex: none; width: 18px !important; height: 18px !important; min-height: 18px !important; margin: 1px 0 0 !important; padding: 0 !important; }
.form-options .wpcf7-list-item-label::before, .form-options .wpcf7-list-item-label::after { content: none !important; }
.form-options .wpcf7-list-item-label { min-width: 0; font-size: 14px !important; line-height: 20px !important; text-align: left !important; }
@media (max-width: 767px) {
  .form-options .wpcf7-checkbox, .form-options .wpcf7-radio { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 12px 12px !important; }
}
@media (max-width: 767px) {
  /* 料金比較：年間コストの計算例（棒の中は金額だけにし、見出しと金額は縦に並べる） */
  /* 料金比較：見出しのカード（人材紹介・求人広告・ヨビコム介護）の間をあける */
}
@media (max-width: 767px) {
  /* 見出し・写真・タイトル・本文を行ごとに並べたグリッド：1件ずつの順に並べ替える */
}
@media (max-width: 767px) {
  /* 最初の1か月の進め方：WEEK を縦の一覧に */
  /* ヒーローの強調語（白地）が文の途中にあるときは、文と同じ行に並べる */
}
@media (max-width: 860px) {
  /* 白いカードの中で区切り線つきに並べた項目：文字が枠に付かないよう左右の余白を戻す */
  .kg-root .sp-1[style*="background:#fff"]:has(> [style*="border-left"]) > * { padding-left: 22px !important; padding-right: 22px !important; }
  .kg-root .sp-1[style*="background:#fff"]:has(> [style*="border-left"]) > [style*="border-left"] { margin-top: 0 !important; }
}
@media (max-width: 767px) {
  /* 求人原稿のBefore / After例：左右2列をやめ、BEFORE（全部）→ AFTER（全部）の順に縦に並べる */
  .kg-root .kg-ba .sp-1 > div[style*="align-self:center"] img { transform: rotate(90deg); }
  .kg-root .kg-ba .sp-1 > div[style*="align-self:center"] { padding: 10px 0; }
}
@media (max-width: 767px) {
  /* 大きな番号＋内容の2列カード（ターゲット別の訴求など）：番号を上に置いて1列に */
  .kg-root div[style*="grid-template-columns:96px minmax(0,1fr)"]:has(> .kg-num) { grid-template-columns: minmax(0, 1fr) !important; padding: 24px 20px 26px !important; gap: 10px !important; }
  .kg-root div[style*="grid-template-columns:96px minmax(0,1fr)"] > .kg-num { font-size: 44px !important; }
  .kg-root div[style*="grid-template-columns:96px minmax(0,1fr)"] p[style*="font-size:24px"] { font-size: 20px !important; }
}
@media (max-width: 767px) {
  /* つなぎの小さな点（PCで横並びのときの飾り）はスマホでは出さない */
  .kg-root section span:empty[style*="border-radius:50%"][style*="width:10px"] { display: none !important; }
  /* 採用サイト制作「私たちの強み」：番号と見出しの高さをそろえる */
  /* 採用SNS運用「選ばれる理由」：大きな薄い番号が見出しに重ならないよう、見出しの左に並べる */
  .sns-reasons__cards article > header { display: flex !important; align-items: center !important; gap: 12px !important; padding-top: 0 !important; min-height: 0 !important; }
  .sns-reasons__cards article > header > b { position: static !important; flex: none; opacity: .35 !important; font-size: 44px !important; line-height: 1 !important; transform: none !important; }
  .sns-reasons__cards article > header > h3 { margin: 0 !important; text-align: left !important; }
}
/* 見出し・ボタン・表の見出し：<wbr> のない短い語（「採用ブランディング」など）も途中で切らない（入らないときだけ折り返す） */
.kg-root :is(h1, h2, h3, h4, h5, th, dt, label, .c-btn, .c-btn span, summary) { word-break: keep-all; overflow-wrap: break-word; }
/* 短い語の要素（箇条書き・ラベル・リンクなど）も語の途中で切らない。入らないときだけ折り返す（記事本文は除く） */
@media (max-width: 767px) {
  /* 記事本文の表：画面幅に収め、小さめの文字で読めるようにする */
  /* 列の多い早見表（要介護度など）：横にスクロールして読む幅を確保 */
}
@media (max-width: 767px) {
  /* 「WEEK」と大きな数字を縦に置いた進め方（新卒など）：1行ずつ「WEEK 1｜内容」にする */
  /* セルフチェックの右側の括弧の線・つなぎの点（PCの横並び用） */
  .kg-root section div:has(> svg[aria-hidden="true"][preserveaspectratio="none"]) { display: none !important; }
  .kg-root section span[style*="position:absolute"][style*="border-radius:50%"][style*="left:-7px"] { display: none !important; }
}
/* ×・✓ などのアイコン付き箇条書き：2行になってもアイコンを1行目にそろえる */
 .kg-root li:has(> span[aria-hidden="true"]:first-child + p) { align-items: flex-start !important; }
 .kg-root li:has(> span[aria-hidden="true"]:first-child + p) > span[aria-hidden="true"] { margin-top: .2em; flex-shrink: 0; }
@media (max-width: 767px) {
  /* カードにした行の中で、横並び（flex）の項目は見出しの下に内容を置く */
  /* 数字で見る〜（PCで段差をつけた棒グラフ風の並び）：段差と棒をなくし、カードを詰めて並べる */
  .kg-root .sp-1 > div[style*="flex-direction:column"][style*="margin-top:"] { margin-top: 0 !important; }
  .kg-root .sp-1 > div[style*="flex-direction:column"][style*="margin-top:"] > div[style*="flex:1"] { display: none !important; }
  .kg-root .sp-1 > div[style*="flex-direction:column"][style*="margin-top:"] p[style*="min-height"] { min-height: 0 !important; }
}
@media (max-width: 767px) {
  /* Indeed運用：採用支援フロー図は横にスクロールして読める大きさで表示 */
  .indeed-chart > .kg-ph { min-width: 860px; }
  /* 採用ブランディングのヒーロー：写真の上の説明文が読めるよう、文の下に地の色を敷く */
}
@media (max-width: 767px) {
  /* 職種ページの課題（写真と文を左右交互に並べたもの）：PC用の左右の余白をなくす */
  .kg-root .sp-1[style*="margin-left:80px"], .kg-root .sp-1[style*="margin-right:80px"] { margin-left: 0 !important; margin-right: 0 !important; }
  .kg-root div[style*="padding:0 0 0 48px"], .kg-root div[style*="padding:0 48px 0 0"] { padding: 18px 0 0 !important; }
  /* 採用サイト制作「制作できるもの」：アイコンを上、名前を下にして語の途中で折り返さない */
  /* 施設形態一覧：縦書きの分類ラベル（訪問系など）を横書きの帯にする */
  .kg-root div[style*="grid-template-columns:56px minmax(0,1fr)"] { grid-template-columns: minmax(0, 1fr) !important; gap: 0 !important; }
  .kg-root div[style*="grid-template-columns:56px minmax(0,1fr)"] > div[style*="writing-mode"] { justify-content: flex-start !important; padding: 8px 16px !important; letter-spacing: .1em !important; }
  /* 箱型の WEEK 一覧（看護など）：見出しの箱の余白をとり、横並びにそろえる */
  /* 番号つきのカード：PCの配置の都合で順番が入れ替わっているものは番号順に並べる */
  /* 料金比較：ヨビコム介護の列の目印は左の線にそろえる */
  .kg-root [style*="border-right:2px solid var(--cta1)"] { border-right: 0 !important; border-left: 3px solid var(--cta1) !important; }
  /* 横にスクロールする表・図：スクロールできることを示す */
  .entry-content .ykg-tbl { overflow-x: auto; -webkit-overflow-scrolling: touch; max-width: 100%; }
  .entry-content .ykg-tbl:has(table tr > :nth-child(4)) > table { min-width: 600px !important; }
  .entry-content .ykg-tbl:has(table tr > :nth-child(4))::before { content: "← 横にスクロールできます →"; display: block; position: sticky; left: 0; margin-bottom: 6px; font-size: 12px; font-weight: 700; color: var(--main1); }
}
/* 2行になってもチェックアイコンを1行目にそろえる（採用業務代行の支援内容など） */
.kg-root h1 { text-wrap: pretty; }
@media (max-width: 767px) {
  .kg-root [style*="border-bottom:2px solid var(--cta1)"] { border-bottom: 0 !important; }
}
