@charset "UTF-8";
:root {
  --site-primary: var(--color_main, #396ddd);
  --site-primary-70: color-mix(in srgb, var(--site-primary) 70%, transparent);
  --site-secondary: var(--color_sub, #07387a);
  --site-accent: var(--color_accent, #1f4aad);
  --site-text: var(--color_text, #1e1e1e);
  --site-text-muted: #9b9b9b;
  --site-text-navy: #0a2548;
  --site-bg: var(--color_bg, #ffffff);
  --site-cta: #dc2f2e;
  --site-bg-tint: #f8f8f8;
  --site-bg-pale: #f2fbff;
  --site-bg-blue: #e8f1fc;
  --site-bg-hero: #f5f9ff;
  --site-border: #dddddd;
  --site-grad-hero: linear-gradient(90deg, #e8f1fc 0%, #f5f9ff 50%, #f7f8fe 100%);
  --site-grad-section: linear-gradient(90deg, #d3e7ff 0%, #e4eeff 50%, #e1e5ff 100%);
  --site-grad-cta: linear-gradient(90deg, #5da6ff 0%, #6fa4ff 50%, #6176ff 100%);
  --corporate-color: #dc2f2e;
  --corporate-gradient: linear-gradient(180deg, #f13333 0%, #db2f2e 100%);
  --corporate-bg-tint: #fdf7f7;
  --corporate-merit-bg: #f6d7d7;
  --personal-color: #048b87;
  --personal-gradient: linear-gradient(180deg, #0abab5 0%, #078986 100%);
  --personal-bg-tint: #eff9fe;
  --personal-merit-bg: #eaf9f8;
  --personal-bg-hero: #e5f8f8;
}

html {
  font-size: 75%;
}
@media (max-width: 1024px) {
  html {
    font-size: 1.171875vw;
  }
}
@media (max-width: 768px) {
  html {
    font-size: min(4.27vw, 20px);
  }
}

:where(a[href],
button:not(:disabled),
[role=button],
input:is([type=submit], [type=button], [type=reset], [type=checkbox], [type=radio], [type=file]):not(:disabled),
select:not(:disabled),
label:has(input:is([type=checkbox], [type=radio])),
label[for],
summary) {
  cursor: pointer;
}

a[href^="tel:"] {
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  a[href^="tel:"] {
    pointer-events: auto;
  }
}

:where(a[href^="tel:"]) {
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  :where(a[href^="tel:"]) {
    color: revert;
    text-decoration: revert;
  }
}

html,
body {
  overflow-x: clip;
  max-width: 100%;
}

body {
  font-size: max(1rem, min(18px, 4.27vw));
}

:where(.home, .page, .archive, .single) #content.l-content {
  max-width: none;
  margin-bottom: 0;
  padding-top: 0;
  padding-inline: 0;
}

#content.l-content {
  --swl-sidebar_width: 28.44rem;
  --swl-sidebar_margin: 5.56rem;
}

:where(.archive, .single):not(.post-type-archive-document, .corporate-template-page-templatescorporate-custom-php, .personal-template-page-templatespersonal-custom-php) #content.l-content {
  max-width: calc(93.33rem + (var(--swl-pad_container, 0px) + var(--fixed-cta-w-tablet, 0px)) * 2);
  padding-inline: calc(var(--swl-pad_container, 0px) + var(--fixed-cta-w-tablet, 0px));
}

:where(.error404, .search) #content.l-content {
  max-width: calc(var(--container_size, 0px) + (var(--swl-pad_container, 0px) + var(--fixed-cta-w-tablet, 0px)) * 2);
  padding-inline: calc(var(--swl-pad_container, 0px) + var(--fixed-cta-w-tablet, 0px));
}

.archive .l-article,
.single .l-article,
.l-sidebar {
  margin-bottom: 6rem;
}

@media (max-width: 959px) {
  .l-sidebar {
    max-width: 480px;
    margin-inline: auto;
  }
}
.single-case .p-page-title,
.single-case .p-page-breadcrumb {
  width: 100vw;
  flex: 0 0 100vw;
  margin-inline: calc(50% - 50vw);
}

:where(.home, .page, .archive, .single) .p-page-title,
:where(.home, .page, .archive, .single) .p-page-breadcrumb {
  width: 100vw;
  flex: 0 0 100vw;
  margin-inline: calc(50% - 50vw);
}

img,
video,
iframe {
  max-width: 100%;
  height: auto;
}

:root .icon-arrow_drop_down::before,
:root .icon-caret-down::before {
  content: "\e904";
}

:root .icon-caret-left::before {
  content: "\e93c";
}

:root .icon-caret-right::before {
  content: "\e93b";
}

:root .icon-arrow_drop_up::before,
:root .icon-caret-up::before {
  content: "\e943";
}

:root .icon-chevron-down::before,
:root .icon-chevron-small-down::before {
  content: "\e910";
}

:root .icon-chevron-left::before {
  content: "\e911";
}

:root .icon-chevron-right::before {
  content: "\e921";
}

:root .icon-chevron-small-up::before,
:root .icon-chevron-up::before {
  content: "\e912";
}

:root .icon-home::before {
  content: "\e922";
}

:root .icon-price-tag::before,
:root .icon-tag::before {
  content: "\e935";
}

:root .icon-folder::before {
  content: "\e92f";
}

:root .icon-file-empty::before,
:root .icon-file-music::before,
:root .icon-file-picture::before,
:root .icon-file-text2::before,
:root .icon-file-video::before,
:root .icon-file-zip::before {
  content: "\e924";
}

:root .icon-bubble::before {
  content: "\e96b";
}

:root .icon-bubbles::before {
  content: "\e970";
}

:root .icon-eye::before {
  content: "\e9ce";
}

:root .icon-link::before {
  content: "\e9c5";
}

:root .icon-share::before {
  content: "\e925";
}

:root .icon-film::before {
  content: "\e93a";
}

:root .icon-image::before {
  content: "\e937";
}

:root .icon-heart::before {
  content: "\e9da";
}

:root .icon-star-empty::before {
  content: "\e9d7";
}

:root .icon-star-full::before {
  content: "\e9d9";
}

:root .icon-star-half::before {
  content: "\e9d8";
}

:root .icon-blocked::before {
  content: "\ea0e";
}

:root .icon-info::before {
  content: "\e91d";
}

:root .icon-info-fill::before {
  content: "\e941";
}

:root .icon-alert-outline::before {
  content: "\e940";
}

:root .icon-alert::before {
  content: "\e916";
}

:root .icon-modified::before {
  content: "\e92d";
}

:root .icon-posted::before {
  content: "\e931";
}

:root .icon-settings::before {
  content: "\e8b8";
}

:root .icon-download::before {
  content: "\e914";
}

:root .icon-lock-open::before {
  content: "\e933";
}

:root .icon-lock-closed::before {
  content: "\e932";
}

:root .icon-person::before {
  content: "\e7fd";
}

:root .icon-contact::before,
:root .icon-envelope::before,
:root .icon-mail::before,
:root .icon-markunread::before {
  content: "\e92c";
}

:root .icon-cart::before,
:root .icon-shopping_cart::before {
  content: "\e939";
}

:root .icon-phone1::before,
:root .icon-phone::before {
  content: "\e942";
}

:root .icon-pen::before {
  content: "\e934";
}

:root .icon-quill::before {
  content: "\e929";
}

:root .icon-flag::before {
  content: "\e153";
}

:root .icon-bookmark::before,
:root .icon-bookmarks::before {
  content: "\e9d3";
}

:root .icon-book::before,
:root .icon-books::before {
  content: "\e91a";
}

:root .icon-megaphone::before {
  content: "\e913";
}

:root .icon-thumb_down::before {
  content: "\e8db";
}

:root .icon-thumb_up::before {
  content: "\e8dc";
}

:root .icon-light-bulb::before {
  content: "\e915";
}

:root .icon-light-bulb-fill::before {
  content: "\e944";
}

:root .icon-circle::before {
  content: "\ea56";
}

:root .icon-batsu::before,
:root .icon-x::before {
  content: "\e91f";
}

:root .icon-triangle::before {
  content: "\e93f";
}

:root .icon-check::before,
:root .icon-checkmark::before {
  content: "\e923";
}

:root .icon-hatena::before {
  content: "\e917";
}

:root .icon-minus::before {
  content: "\e919";
}

:root .icon-plus::before {
  content: "\e91c";
}

:root .icon-index::before,
:root .icon-toc::before {
  content: "\e918";
}

:root .icon-search::before {
  content: "\e92e";
}

:root .icon-close-thin::before {
  content: "\e920";
}

:root .icon-menu-thin::before {
  content: "\e91b";
}

:root .icon-more_arrow::before {
  content: "\e930";
}

:root .icon-swell::before {
  content: "\e936";
}

:root .icon-tiktok::before {
  content: "\e93e";
}

:root .icon-room::before {
  content: "\e93d";
}

:root .icon-amazon::before {
  content: "\e91e";
}

:root .icon-codepen::before {
  content: "\e900";
}

:root .icon-facebook::before {
  content: "\e901";
}

:root .icon-feedly::before {
  content: "\e902";
}

:root .icon-github::before {
  content: "\e903";
}

:root .icon-hatebu::before {
  content: "\e905";
}

:root .icon-instagram::before {
  content: "\e906";
}

:root .icon-line::before {
  content: "\e907";
}

:root .icon-medium::before {
  content: "\e908";
}

:root .icon-pinterest::before {
  content: "\e909";
}

:root .icon-pocket::before {
  content: "\e90a";
}

:root .icon-rss::before {
  content: "\e90b";
}

:root .icon-tumblr::before {
  content: "\e90c";
}

:root .icon-twitter::before {
  content: "\e90d";
}

:root .icon-twitter-x::before {
  content: "\e926";
}

:root .icon-wordpress::before {
  content: "\e90e";
}

:root .icon-youtube::before {
  content: "\e90f";
}

.p-spMenu .c-widget__title.-spmenu {
  display: none;
}

.p-spMenu__nav {
  margin-top: 0;
}

.p-spMenu.-right .p-spMenu__closeBtn {
  right: var(--drawer-close-right, 0);
}

.l-header {
  position: sticky;
  top: 0;
}

.l-fixHeader {
  display: none;
}

.l-header__bar {
  background: transparent;
}

.personal-template-personal-custom .l-header {
  background: var(--personal-bg-hero);
}

.l-header__bar .c-catchphrase {
  color: var(--site-text);
}

.l-header__bar,
.-parallel-bottom .l-header__inner {
  max-width: 110rem;
  margin-left: auto;
  margin-right: auto;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 768px) {
  .l-header__bar,
  .-parallel-bottom .l-header__inner {
    padding-inline: 1.25rem;
  }
}

.l-header__barInner {
  max-width: initial;
  padding-left: 0;
}

.-parallel-bottom .l-header__inner {
  justify-content: space-between;
  padding-top: 0;
}

.-parallel-bottom .l-header__logo {
  width: max-content;
  padding: 0;
}

.l-header.-parallel .w-header {
  width: max-content;
  margin-top: 0;
  margin-bottom: 0;
}

.-parallel .l-header__gnav .c-gnav {
  max-width: 110rem;
  margin: 0 auto;
  padding-inline: 2.5rem;
  justify-content: flex-end;
  gap: 2.5rem;
  font-weight: 700;
}

.-parallel .l-header__gnav .c-gnav > .menu-item > a {
  padding-inline: 0;
  font-size: max(1rem, min(18px, 4.27vw));
  color: var(--site-text);
}

.-parallel .l-header__gnav .c-gnav > .menu-item > a .ttl {
  font-size: min(max(1.06rem, min(18px, 4.54vw)), 2.06vw - 6.6px);
}

.c-gnav > .menu-item > .sub-menu {
  top: 100%;
}

.is-header-simple .l-header .w-header,
.is-header-simple .l-header__gnav,
.is-header-simple .l-header__menuBtn,
.is-header-simple .l-header__customBtn {
  display: none;
}

.is-header-simple .l-header .c-headLogo a {
  pointer-events: none;
  cursor: default;
}

.is-header-simple .l-header {
  padding-block: 1.44rem;
}
@media screen and (max-width: 768px) {
  .is-header-simple .l-header {
    padding-block: 0.75rem;
  }
}

@media (max-width: 959px) {
  .l-header__menuBtn {
    margin-right: -0.63rem;
  }
}
.l-footer {
  background-color: var(--site-bg-tint);
  color: #292929;
  z-index: auto;
}
.l-footer a {
  color: inherit;
}
.l-footer .l-footer__foot,
.l-footer .w-footer__box {
  background-color: transparent;
  border-color: var(--site-border);
}
.l-footer {
  padding-block: 6.25rem 3.75rem;
}
@media screen and (max-width: 768px) {
  .l-footer {
    padding-block: 2.5rem 1.5rem;
  }
}

.l-footer__inner {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-areas: "info nav" "legal legal" "copyright copyright";
  column-gap: 2.5rem;
  row-gap: 0;
  max-width: calc(var(--container_size, 0px) + (var(--swl-pad_container, 0px) + var(--fixed-cta-w-tablet, 0px)) * 2);
  margin-inline: auto;
  padding-inline: calc(var(--swl-pad_container, 0px) + var(--fixed-cta-w-tablet, 0px));
}
@media (max-width: 1299px) {
  .l-footer__inner {
    grid-template-columns: minmax(0, 1fr) auto;
  }
}
@media screen and (max-width: 768px) {
  .l-footer__inner {
    grid-template-columns: 1fr;
    grid-template-areas: "info" "nav" "legal" "copyright";
  }
}

.l-footer__widgetArea,
.l-footer__widgetArea .l-container,
.l-footer__widgetArea .w-footer__box,
.l-footer__widgetArea .widget_custom_html,
.l-footer__widgetArea .textwidget {
  display: contents;
}

.l-footer__foot,
.l-footer__foot .l-container {
  display: contents;
}

.p-footer-info {
  grid-area: info;
}

.l-footer__nav {
  grid-area: nav;
  justify-self: end;
}
@media screen and (max-width: 768px) {
  .l-footer__nav {
    justify-self: start;
    margin-top: 1.75rem;
  }
}

.copyright {
  grid-area: copyright;
  margin-top: 4.69rem;
}
@media screen and (max-width: 768px) {
  .copyright {
    margin-top: 1.75rem;
  }
}

.l-footer__widgetArea .widget_nav_menu {
  grid-area: legal;
  margin-top: 4.69rem;
}
.l-footer__widgetArea .widget_nav_menu .c-widget__title,
.l-footer__widgetArea .widget_nav_menu .widget-title {
  display: none;
}
.l-footer__widgetArea .widget_nav_menu ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 1.5rem;
  row-gap: 0.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  line-height: 1.6;
}
.l-footer__widgetArea .widget_nav_menu li + li {
  position: relative;
}
.l-footer__widgetArea .widget_nav_menu li + li::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -0.75rem;
  width: 1px;
  height: 1em;
  background-color: currentColor;
  transform: translateY(-50%);
}
.l-footer__widgetArea .widget_nav_menu a {
  display: inline-block;
  padding: 0;
  border: none;
  color: var(--site-text);
  font-size: inherit;
  text-decoration: none;
  transition: opacity 0.3s ease;
}
.l-footer__widgetArea .widget_nav_menu a:hover {
  background-color: transparent;
  opacity: 0.7;
}
.l-footer__widgetArea .widget_nav_menu a::before {
  content: none;
}
@media screen and (max-width: 768px) {
  .l-footer__widgetArea .widget_nav_menu {
    margin-top: 1.75rem;
  }
}

.l-footer__nav a:is([href*="/privacy-policy"], [href*="/tokusyo"]) {
  background-image: none;
  transition: opacity 0.3s ease;
}
.l-footer__nav a:is([href*="/privacy-policy"], [href*="/tokusyo"]):hover {
  opacity: 0.7;
}

.l-footer__widgetArea:has(.widget_nav_menu) ~ .l-footer__foot .copyright {
  margin-top: 1rem;
}

.is-header-simple .p-footer-info,
.is-header-simple .l-footer__nav {
  display: none;
}

.is-header-simple .l-footer {
  padding-block: 1.5rem 2rem;
}
@media screen and (max-width: 768px) {
  .is-header-simple .l-footer {
    padding-block: 1rem 1.5rem;
  }
}

.is-header-simple .l-footer__inner {
  row-gap: 0;
}

.is-header-simple .l-footer .copyright {
  margin-top: 0;
}

.is-header-simple .l-footer__widgetArea .widget_nav_menu {
  display: none;
}

.p-footer-info {
  color: var(--site-text);
}

.p-footer-info__catch {
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .p-footer-info__catch {
    font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  }
}

.p-footer-info__logo {
  margin-top: 0.5rem;
  width: 15.88rem;
  height: auto;
}

.p-footer-info__company {
  margin-top: 1.5rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
}

.p-footer-info__address {
  margin-top: 0.5rem;
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  line-height: 1.5;
}

.p-footer-info__tel,
.p-footer-info__hours {
  margin-top: 0.5rem;
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
}

.l-footer__nav {
  display: grid;
  grid-template-columns: repeat(4, minmax(10.25rem, max-content));
  grid-auto-rows: min-content;
  column-gap: 2.5rem;
  row-gap: 2rem;
}
@media (max-width: 1299px) {
  .l-footer__nav {
    grid-template-columns: repeat(3, minmax(10.25rem, max-content));
  }
}
@media (max-width: 959px) {
  .l-footer__nav {
    grid-template-columns: repeat(2, minmax(10.25rem, max-content));
  }
}
@media screen and (max-width: 768px) {
  .l-footer__nav {
    grid-template-columns: max-content minmax(0, 1fr);
    column-gap: 2.5rem;
    row-gap: 1rem;
  }
}
.l-footer__nav a {
  display: inline-block;
  position: relative;
  padding-block: 0.25rem;
  white-space: nowrap;
  font-size: max(1.06rem, min(18px, 4.54vw));
  font-weight: 700;
  color: var(--site-text);
  border: none;
}
@media screen and (max-width: 768px) {
  .l-footer__nav a {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    font-weight: 500;
    white-space: normal;
  }
}
.l-footer__nav a {
  background-image: linear-gradient(var(--site-primary), var(--site-primary));
  background-repeat: no-repeat;
  background-position: center 100%;
  background-size: 0 2px;
  transition: background-size 0.25s;
}
.l-footer__nav a:hover {
  text-decoration: none;
  background-size: 100% 2px;
}
.l-footer__nav li:first-child > a {
  border: none;
}
.l-footer__nav .sub-menu {
  margin-top: 0.25rem;
}
.l-footer__nav .sub-menu a {
  font-size: max(0.88rem, min(15.75px, 3.74vw));
}
@media screen and (max-width: 768px) {
  .l-footer__nav .sub-menu a {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.l-footer .copyright {
  padding-block: 0;
  font-size: 13px;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .l-footer .copyright {
    padding-bottom: 72px;
  }
}

.c-sec-head {
  position: relative;
  display: flow-root;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  text-align: left;
}

.c-sec-head__label + .c-sec-head__title {
  margin-top: 2.88rem;
}
@media screen and (max-width: 768px) {
  .c-sec-head__label + .c-sec-head__title {
    margin-top: 1.75rem;
  }
}

.c-sec-head__label {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-secondary);
  white-space: nowrap;
}
.c-sec-head__label::after {
  content: "";
  width: 5rem;
  height: 0.07rem;
  background-color: var(--site-secondary);
}
@media screen and (max-width: 768px) {
  .c-sec-head__label {
    gap: 0.63rem;
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
  .c-sec-head__label::after {
    width: 3.13rem;
  }
}

.c-sec-head__title {
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .c-sec-head__title {
    font-size: max(2.75rem, min(18px, 11.74vw));
    line-height: max(3.75rem, min(17.42px, 16.01vw));
  }
}
@media screen and (max-width: 768px) {
  .c-sec-head__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.5rem, min(11.61px, 10.68vw));
  }
}

.c-card-post__link {
  display: block;
}

.c-card-post__thumb {
  position: relative;
  aspect-ratio: 16/9;
  overflow: hidden;
}
.c-card-post__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.c-card-post__meta {
  margin-top: 0.75rem;
}

.c-card-post__title {
  margin-top: 0.5rem;
}

.c-logo-marquee {
  --logo-height: 2.75rem;
  --marquee-duration: 30s;
  --marquee-gap: 4rem;
  margin-inline: calc(50% - 50vw);
  overflow-x: clip;
}

.c-logo-marquee__track {
  display: flex;
  width: max-content;
  animation: c-logo-marquee-scroll var(--marquee-duration) linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .c-logo-marquee__track {
    animation: none;
  }
}

.c-logo-marquee__list {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}
@media (prefers-reduced-motion: reduce) {
  .c-logo-marquee__list[aria-hidden=true] {
    display: none;
  }
}

.c-logo-marquee__item {
  flex-shrink: 0;
  margin-inline-end: var(--marquee-gap);
}

.c-logo-marquee__image {
  display: block;
  width: auto;
  height: var(--logo-height);
}

@keyframes c-logo-marquee-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-50%);
  }
}
.c-bridge-band {
  --bridge-band-bg: color-mix(in srgb, var(--site-primary) 12%, var(--site-bg));
  --bridge-notch-color: var(--site-bg);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  background: var(--bridge-band-bg);
  padding-bottom: 4.38rem;
}

.c-bridge-band__notch {
  width: 5rem;
  height: 2.5rem;
  background: var(--bridge-notch-color);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
}

.c-bridge-band__inner {
  width: 100%;
  max-width: 73.75rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .c-bridge-band__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .c-bridge-band__inner {
    padding-inline: 1.25rem;
  }
}
.c-bridge-band__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
}

.c-bridge-band__catch {
  color: var(--site-primary);
  line-height: 1.6;
  letter-spacing: 0.05em;
  text-align: center;
}

.c-bridge-band__catch-sm {
  font-weight: 500;
  font-size: max(1.5rem, min(18px, 6.4vw));
}

.c-bridge-band__catch-lg {
  font-weight: 800;
  font-size: max(2rem, min(18px, 8.54vw));
}

.c-bridge-band__box {
  background: var(--site-bg);
  border-radius: 0.63rem;
  padding: 0.94rem 1.88rem;
}

.c-bridge-band__text {
  color: var(--site-primary);
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-bridge-band__text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-compare-table {
  background: var(--site-bg);
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .c-compare-table {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.c-compare-table__inner {
  width: 100%;
  max-width: 73.75rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .c-compare-table__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .c-compare-table__inner {
    padding-inline: 1.25rem;
  }
}
.c-compare-table__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.75rem;
}

.c-compare-table__title {
  color: var(--site-primary);
  font-weight: 500;
  font-size: max(2.5rem, min(18px, 10.68vw));
  line-height: 1.4;
  text-align: center;
}

.c-compare-table__lead {
  color: var(--site-text);
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-compare-table__lead {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-compare-table__scroll-hint {
  display: none;
  color: color-mix(in srgb, var(--site-text) 70%, transparent);
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  text-align: center;
}
.c-compare-table__scroll-hint.js-scroll-hint {
  display: block;
}

.c-compare-table__table-wrap {
  width: 100%;
  border-radius: 0.63rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-compare-table__table-wrap {
    overflow-x: auto;
  }
}

.c-compare-table__table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .c-compare-table__table {
    min-width: 47.5rem;
  }
}

.c-compare-table__th:first-child,
.c-compare-table__method {
  width: 6.25rem;
}

.c-compare-table__th,
.c-compare-table__method,
.c-compare-table__cell {
  border: 1px solid color-mix(in srgb, var(--site-text) 20%, transparent);
  padding: 0.75rem 0.75rem 0.75rem 0.88rem;
  vertical-align: top;
  text-align: left;
}

.c-compare-table__th {
  background: var(--site-secondary);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-compare-table__th {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.c-compare-table__method {
  background: color-mix(in srgb, var(--site-secondary) 6%, var(--site-bg));
  color: var(--site-secondary);
  font-weight: 700;
  font-size: max(0.78rem, min(12.5px, 3.34vw), 10px);
  line-height: 1.52;
}
@media screen and (max-width: 768px) {
  .c-compare-table__method {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.c-compare-table__cell {
  background: var(--site-bg);
  color: var(--site-text);
  font-weight: 400;
  font-size: max(0.78rem, min(12.5px, 3.34vw), 10px);
  line-height: 1.52;
}
@media screen and (max-width: 768px) {
  .c-compare-table__cell {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-compare-table__row--accent .c-compare-table__method,
.c-compare-table__row--accent .c-compare-table__cell {
  background: color-mix(in srgb, var(--site-primary) 8%, var(--site-bg));
}

.c-compare-table__callout {
  background: color-mix(in srgb, var(--site-text) 4%, var(--site-bg));
  border-radius: 0.63rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.94rem;
  padding: 1.88rem;
  width: 100%;
}

.c-compare-table__callout-title {
  color: var(--site-primary);
  font-weight: 600;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1.4;
  text-align: center;
}

.c-compare-table__callout-text {
  color: var(--site-text);
  font-size: max(0.94rem, min(16.88px, 4vw));
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-compare-table__callout-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-compare-table__callout-note {
  color: var(--site-text);
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-compare-table__callout-note {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.c-contrast-cards {
  background: var(--site-bg);
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .c-contrast-cards {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.c-contrast-cards__inner {
  width: 100%;
  max-width: 73.75rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .c-contrast-cards__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .c-contrast-cards__inner {
    padding-inline: 1.25rem;
  }
}
.c-contrast-cards__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.75rem;
}

.c-contrast-cards__title {
  color: var(--site-primary);
  font-weight: 500;
  font-size: max(2.5rem, min(18px, 10.68vw));
  line-height: 1.4;
  text-align: center;
}

.c-contrast-cards__lead {
  color: var(--site-text);
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-contrast-cards__lead {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-contrast-cards__cards {
  display: flex;
  align-items: stretch;
  gap: 3.75rem;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .c-contrast-cards__cards {
    gap: 1.88rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contrast-cards__cards {
    flex-direction: column;
  }
}

.c-contrast-cards__card {
  flex: 1 1 0;
  background: var(--site-bg);
  border-radius: 0.63rem;
  box-shadow: 0 0.5rem 0.75rem color-mix(in srgb, var(--site-text) 15%, transparent);
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  padding: 3.75rem;
}
@media screen and (max-width: 1024px) {
  .c-contrast-cards__card {
    padding: 2.5rem 1.88rem;
  }
}
@media screen and (max-width: 768px) {
  .c-contrast-cards__card {
    padding: 1.88rem;
  }
}

.c-contrast-cards__card-title {
  color: var(--site-primary);
  font-weight: 600;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1.4;
  text-align: center;
}

.c-contrast-cards__checks {
  display: flex;
  flex-direction: column;
  gap: 0.94rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.c-contrast-cards__check {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.c-contrast-cards__check-icon {
  flex-shrink: 0;
  background: var(--site-secondary);
  width: 1.63rem;
  height: 1.63rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  line-height: 1;
}

.c-contrast-cards__check-text {
  color: var(--site-text);
  font-weight: 500;
  font-size: max(0.94rem, min(16.88px, 4vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .c-contrast-cards__check-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-contrast-cards__callout {
  background: color-mix(in srgb, var(--site-text) 4%, var(--site-bg));
  border-radius: 0.63rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.94rem;
  padding: 1.88rem;
  width: 100%;
}

.c-contrast-cards__callout-title {
  color: var(--site-primary);
  font-weight: 600;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1.4;
  text-align: center;
}

.c-contrast-cards__callout-text {
  color: var(--site-text);
  font-size: max(0.94rem, min(16.88px, 4vw));
  line-height: 1.6;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-contrast-cards__callout-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-flow-steps {
  background: var(--site-bg);
  padding-top: 9.38rem;
  padding-bottom: 9.38rem;
}
@media screen and (max-width: 768px) {
  .c-flow-steps {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.c-flow-steps__inner {
  width: 100%;
  max-width: 73.75rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .c-flow-steps__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .c-flow-steps__inner {
    padding-inline: 1.25rem;
  }
}
.c-flow-steps__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.75rem;
}

.c-flow-steps__title {
  color: var(--site-primary);
  font-weight: 500;
  font-size: max(2.5rem, min(18px, 10.68vw));
  line-height: 1.4;
  text-align: center;
}

.c-flow-steps__lead {
  color: var(--site-text);
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-flow-steps__lead {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-flow-steps__steps {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
}

.c-flow-steps__step {
  display: flex;
  align-items: stretch;
  width: 100%;
  height: 8.75rem;
}
@media screen and (max-width: 768px) {
  .c-flow-steps__step {
    flex-direction: column;
    height: auto;
  }
}

.c-flow-steps__photo {
  flex-shrink: 0;
  width: 12.5rem;
  border: 1px solid var(--site-primary);
  border-right: none;
  border-radius: 0.63rem 0 0 0.63rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .c-flow-steps__photo {
    width: 100%;
    height: 10rem;
    border-right: 1px solid var(--site-primary);
    border-bottom: none;
    border-radius: 0.63rem 0.63rem 0 0;
  }
}
.c-flow-steps__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.c-flow-steps__body {
  flex: 1 1 0;
  min-width: 0;
  background: var(--site-bg);
  border: 1px solid var(--site-primary);
  border-left: none;
  border-radius: 0 0.63rem 0.63rem 0;
  display: flex;
  align-items: center;
  gap: 1.88rem;
  padding: 1.88rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-flow-steps__body {
    border-left: 1px solid var(--site-primary);
    border-top: none;
    border-radius: 0 0 0.63rem 0.63rem;
  }
}

.c-flow-steps__num {
  flex-shrink: 0;
  width: 3.13rem;
  height: 3.13rem;
  background: var(--site-primary);
  border: 3px solid var(--site-bg);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--site-bg);
  font-weight: 500;
  font-size: max(1.75rem, min(18px, 7.47vw));
  line-height: 1;
}

.c-flow-steps__text {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-flow-steps__text {
    gap: 0.75rem;
  }
}

.c-flow-steps__step-title {
  color: var(--site-text);
  font-weight: 600;
  font-size: max(1.25rem, min(18px, 5.34vw));
  line-height: 1.2;
  letter-spacing: 0.05em;
}

.c-flow-steps__step-desc {
  color: var(--site-text);
  font-size: max(0.94rem, min(16.88px, 4vw));
  line-height: 1.6;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 768px) {
  .c-flow-steps__step-desc {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-flow-steps__arrow {
  width: 1.88rem;
  height: 1.88rem;
  background: color-mix(in srgb, var(--site-primary) 15%, var(--site-bg));
  clip-path: polygon(30.87% 0, 69.13% 0, 69.13% 50.5%, 100% 50.5%, 50% 100%, 0 50.5%, 30.87% 50.5%);
}

.c-flow-steps__note {
  color: var(--site-text);
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-flow-steps__note {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.c-point-grid {
  background: var(--site-bg);
  padding-top: 9.38rem;
  padding-bottom: 9.38rem;
}
@media screen and (max-width: 768px) {
  .c-point-grid {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.c-point-grid__inner {
  width: 100%;
  max-width: 73.75rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .c-point-grid__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .c-point-grid__inner {
    padding-inline: 1.25rem;
  }
}
.c-point-grid__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.75rem;
}

.c-point-grid__title {
  color: var(--site-primary);
  font-weight: 500;
  font-size: max(2.5rem, min(18px, 10.68vw));
  line-height: 1.4;
  text-align: center;
}

.c-point-grid__lead {
  color: var(--site-text);
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.8;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-point-grid__lead {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-point-grid__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.88rem;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .c-point-grid__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 768px) {
  .c-point-grid__grid {
    grid-template-columns: 1fr;
  }
}

.c-point-grid__item {
  background: var(--site-bg);
  border-radius: 0.63rem;
  box-shadow: 0 0.5rem 0.75rem color-mix(in srgb, var(--site-text) 6%, transparent);
  display: flex;
  align-items: flex-start;
  gap: 0.94rem;
  padding: 1.88rem;
}

.c-point-grid__icon {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  object-fit: contain;
}

.c-point-grid__item-body {
  flex: 1 1 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.c-point-grid__item-title {
  color: var(--site-primary);
  font-weight: 600;
  font-size: max(1.19rem, min(18px, 5.07vw));
  line-height: 1.4;
}

.c-point-grid__item-text {
  color: var(--site-text);
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .c-point-grid__item-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-point-grid__callout {
  background: color-mix(in srgb, var(--site-text) 4%, var(--site-bg));
  border-radius: 0.63rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.94rem;
  padding: 1.88rem;
  width: 100%;
  text-align: center;
}

.c-point-grid__callout-title {
  color: var(--site-primary);
  font-weight: 600;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1.4;
}

.c-point-grid__callout-text {
  color: var(--site-text);
  font-size: max(0.94rem, min(16.88px, 4vw));
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .c-point-grid__callout-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-button {
  --c-button-w: 21.25rem;
  --c-button-h: 5rem;
  --c-button-fz: max(1.63rem, min(18px, 6.94vw));
  --c-button-color: var(--site-text);
  --c-button-bg: #fff;
  position: relative;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: auto;
  min-width: var(--c-button-w);
  max-width: 100%;
  min-height: var(--c-button-h);
  padding: 0.63rem 3rem;
  background-color: var(--c-button-bg);
  border: 0.07rem solid var(--c-button-color);
  border-radius: 2.5rem;
  box-shadow: 0 0.19rem 0.31rem rgba(0, 0, 0, 0.25);
  color: var(--c-button-color);
  font-size: var(--c-button-fz);
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.c-button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.31rem;
  width: 1.06rem;
  height: 0.44rem;
  background-color: currentColor;
  mask: url(../images/common/icon-arrow-right.svg) center/contain no-repeat;
  -webkit-mask: url(../images/common/icon-arrow-right.svg) center/contain no-repeat;
  transform: translateY(-50%) rotate(-45deg);
}
.c-button:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 1024px) {
  .c-button {
    --c-button-fz: max(1.63rem, min(18px, 6.94vw));
  }
}
@media screen and (max-width: 768px) {
  .c-button {
    --c-button-w: 15rem;
    --c-button-h: 3.5rem;
    --c-button-fz: max(1rem, min(18px, 4.27vw));
  }
  .c-button::after {
    right: 1.13rem;
    width: 0.81rem;
    height: 0.38rem;
  }
}

.c-button--note {
  --c-button-h: 5.5rem;
}

.c-button__note {
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 500;
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .c-button__note {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.c-button__text {
  font-size: inherit;
  font-weight: inherit;
}

.c-button--cta {
  --c-button-bg: var(--site-cta);
  --c-button-color: #fff;
  border-color: transparent;
}

.c-button--full {
  --c-button-w: 100%;
}
@media screen and (max-width: 768px) {
  .c-button--full {
    --c-button-fz: max(0.88rem, min(15.75px, 3.74vw));
    --c-button-h: 3rem;
  }
}

.c-button--emphasis {
  --c-button-bg: var(--site-cta);
  --c-button-color: #fff;
  --c-button-h: 5rem;
  --c-button-fz: max(1.63rem, min(18px, 6.94vw));
  padding: 0.63rem 1.25rem;
  border-color: transparent;
  box-shadow: 0 0.19rem 0.63rem rgba(0, 0, 0, 0.25);
}
.c-button--emphasis::after {
  content: none;
}
@media screen and (max-width: 768px) {
  .c-button--emphasis {
    --c-button-w: 17.5rem;
    --c-button-h: 4.25rem;
    --c-button-fz: max(1.25rem, min(18px, 5.34vw));
  }
}

.c-button--emphasis .c-button__note {
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.4;
}

.c-button-submit-row {
  margin-top: 3.75rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-button-submit-row {
    margin-top: 2.5rem;
  }
}

.c-button-submit .wpcf7-spinner {
  display: none;
}

.c-button-submit {
  position: relative;
  display: inline-block;
  transition: transform 0.2s ease;
}
.c-button-submit::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.31rem;
  width: 1.06rem;
  height: 0.44rem;
  background-color: var(--site-accent);
  mask: url(../images/common/icon-arrow-right.svg) center/contain no-repeat;
  -webkit-mask: url(../images/common/icon-arrow-right.svg) center/contain no-repeat;
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 768px) {
  .c-button-submit::after {
    right: 1.13rem;
    width: 0.81rem;
    height: 0.38rem;
  }
}

.c-button-submit:hover {
  transform: translateY(-0.19rem);
}

.c-button-submit:hover .c-button {
  transform: none;
}

.c-button-submit input.c-button {
  -webkit-appearance: none;
  appearance: none;
  min-height: 0;
  padding-block: calc((var(--c-button-h) - 1.3em) / 2);
  font-family: inherit;
}

.c-num-badge {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 3.75rem;
  height: 3.75rem;
  background-color: #fff;
  border: 0.13rem dashed var(--site-primary);
  border-radius: 50%;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: max(1.88rem, min(18px, 8.01vw));
  line-height: 1;
  color: var(--site-primary);
}
@media screen and (max-width: 768px) {
  .c-num-badge {
    width: 2.75rem;
    height: 2.75rem;
    font-size: max(1.31rem, min(18px, 5.6vw));
  }
}

.c-slider {
  --c-slider-offset: 2.94rem;
  position: relative;
}

.c-slider__nav {
  display: none;
}
.c-slider:has(.swiper-initialized) .c-slider__nav {
  display: block;
}

.c-slider__prev,
.c-slider__next {
  position: absolute;
  top: 50%;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 3.75rem;
  height: 3.75rem;
  padding: 0;
  background-color: var(--site-primary);
  border: none;
  border-radius: 50%;
  transform: translateY(-50%);
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.c-slider__prev::after,
.c-slider__next::after {
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  border-top: 0.13rem solid #fff;
  border-right: 0.13rem solid #fff;
}
.c-slider__prev:hover,
.c-slider__next:hover {
  background-color: var(--site-accent);
}
.c-slider__prev.swiper-button-disabled,
.c-slider__next.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}
@media screen and (max-width: 768px) {
  .c-slider__prev,
  .c-slider__next {
    width: 2.5rem;
    height: 2.5rem;
  }
  .c-slider__prev::after,
  .c-slider__next::after {
    width: 0.56rem;
    height: 0.56rem;
  }
}

.c-slider__prev {
  left: calc(var(--c-slider-offset) * -1);
}
.c-slider__prev::after {
  transform: rotate(-135deg);
  margin-left: 0.25rem;
}
@media screen and (max-width: 1024px) {
  .c-slider__prev {
    left: -1.25rem;
  }
}

.c-slider__next {
  right: calc(var(--c-slider-offset) * -1);
}
.c-slider__next::after {
  transform: rotate(45deg);
  margin-right: 0.25rem;
}
@media screen and (max-width: 1024px) {
  .c-slider__next {
    right: -1.25rem;
  }
}

.c-slider__pagination {
  display: none;
  margin-top: 1.88rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-slider__pagination {
    margin-top: 0.88rem;
  }
}
.c-slider:has(.swiper-initialized) .c-slider__pagination {
  display: block;
}
.c-slider__pagination.swiper-pagination-horizontal .swiper-pagination-bullet {
  width: 0.75rem;
  height: 0.75rem;
  margin-inline: 0.38rem;
  background-color: var(--site-border);
  opacity: 1;
}
.c-slider__pagination.swiper-pagination-horizontal .swiper-pagination-bullet-active {
  background-color: var(--site-primary);
}

.c-slider--onDark .c-slider__prev,
.c-slider--onDark .c-slider__next {
  background-color: #fff;
}
.c-slider--onDark .c-slider__prev::after,
.c-slider--onDark .c-slider__next::after {
  border-color: var(--site-primary);
}
.c-slider--onDark .c-slider__prev:hover,
.c-slider--onDark .c-slider__next:hover {
  background-color: var(--site-bg-blue);
}
.c-slider--onDark .c-slider__pagination.swiper-pagination-horizontal .swiper-pagination-bullet {
  background-color: color-mix(in srgb, #fff 40%, transparent);
}
.c-slider--onDark .c-slider__pagination.swiper-pagination-horizontal .swiper-pagination-bullet-active {
  background-color: #fff;
}

.c-cta-button {
  --cta-button-bg: #1CCEC7;
  --cta-button-line-bg: #06C755;
  display: inline-block;
  vertical-align: top;
  padding: 1rem 0.5rem;
  background-color: var(--cta-button-bg);
  color: #fff;
  border-radius: 0.31rem;
  font-weight: 700;
  text-align: center;
  position: relative;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.c-cta-button:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.38rem 1rem rgba(0, 0, 0, 0.18);
}
.c-cta-button .message {
  font-weight: 700;
  line-height: 1.5;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  position: absolute;
  top: -1.5rem;
  left: 50%;
  transform: translateX(-50%);
  color: var(--site-text);
  display: block;
  width: fit-content;
  white-space: nowrap;
  padding-inline: 0.75rem;
}
.c-cta-button .message::before {
  content: "";
  position: absolute;
  display: inline-block;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: url(../images/common/icon-left-deco.svg) no-repeat center center/contain;
  height: 0.88rem;
  width: 0.5rem;
}
.c-cta-button .message::after {
  content: "";
  position: absolute;
  display: inline-block;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  background: url(../images/common/icon-right-deco.svg) no-repeat center center/contain;
  height: 0.88rem;
  width: 0.5rem;
}
@media screen and (max-width: 768px) {
  .c-cta-button .message.u-pc-only {
    display: none;
  }
}
.c-cta-button .text {
  display: inline-block;
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-cta-button .text {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}
.c-cta-button .text::before {
  content: "";
  position: absolute;
  display: inline-block;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

.c-cta-button.--line {
  background-color: var(--cta-button-line-bg);
}
.c-cta-button.--line .text {
  padding-left: 2.63rem;
}
.c-cta-button.--line .text::before {
  width: 2.63rem;
  height: 2.63rem;
  background: url(../images/common/icon-line.svg) no-repeat center center/contain;
}

.c-cta-button.--mail .text {
  padding-left: 2.19rem;
}
.c-cta-button.--mail .text::before {
  width: 1.69rem;
  height: 1.69rem;
  background: url(../images/common/icon-mail.svg) no-repeat center center/contain;
}

.c-cta-button.--tel {
  line-height: 1;
  padding-block: 0.5rem;
}
.c-cta-button.--tel .label {
  font-weight: 400;
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  line-height: 1;
  display: block;
  text-align: center;
}
.c-cta-button.--tel .text {
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: 1;
  font-weight: 700;
  padding-left: 1.75rem;
  display: inline-block;
}
.c-cta-button.--tel .text::before {
  width: 1.31rem;
  height: 1.31rem;
  background: url(../images/common/icon-phone.svg) no-repeat center center/contain;
}
.c-cta-button.--tel .time {
  display: block;
  font-size: max(0.63rem, min(10px, 2.67vw), 10px);
  line-height: 1;
  font-weight: 400;
  text-align: center;
}

.c-cta-band {
  position: relative;
  width: 100vw;
  margin-inline: calc(50% - 50vw);
  order: 1;
  background: var(--site-grad-cta);
  overflow: clip;
}

.c-cta-band::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/common/cta-band-bg.webp) center/cover no-repeat;
  opacity: 0.18;
  pointer-events: none;
}

.c-cta-band__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .c-cta-band__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .c-cta-band__inner {
    padding-inline: 1.25rem;
  }
}
.c-cta-band__inner {
  position: relative;
  z-index: 1;
  padding-block: 6.25rem 3rem;
}
@media screen and (max-width: 768px) {
  .c-cta-band__inner {
    padding-block: 3rem;
  }
}

.c-cta-band__num {
  font-size: max(5.13rem, min(18px, 21.88vw));
  line-height: 0;
}
@media screen and (max-width: 1024px) {
  .c-cta-band__num {
    font-size: max(3.88rem, min(18px, 16.55vw));
  }
}
@media screen and (max-width: 768px) {
  .c-cta-band__num {
    font-size: max(2.38rem, min(18px, 10.14vw));
  }
}

.c-cta-band__title {
  font-size: max(3.13rem, min(18px, 13.34vw));
  font-weight: 700;
  line-height: 1.6;
  color: #fff;
  padding-right: 28%;
  word-break: auto-phrase;
  line-break: strict;
}
@media screen and (max-width: 1024px) {
  .c-cta-band__title {
    font-size: max(2.38rem, min(18px, 10.14vw));
  }
}
@media screen and (max-width: 768px) {
  .c-cta-band__title {
    font-size: max(1.38rem, min(18px, 5.87vw));
    padding-right: 0;
  }
}

.c-cta-band__particle {
  font-size: max(2.5rem, min(18px, 10.68vw));
  line-height: 0;
}
@media screen and (max-width: 1024px) {
  .c-cta-band__particle {
    font-size: max(1.88rem, min(18px, 8.01vw));
  }
}
@media screen and (max-width: 768px) {
  .c-cta-band__particle {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.c-cta-band__actions {
  display: flex;
  gap: 4.38rem;
  margin-top: 3.06rem;
  position: relative;
}
@media screen and (max-width: 1024px) {
  .c-cta-band__actions {
    gap: 2.5rem;
  }
}
@media screen and (max-width: 768px) {
  .c-cta-band__actions {
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 2rem;
  }
}

.c-cta-band__actions::after {
  content: "";
  position: absolute;
  bottom: calc(100% - 40px);
  right: 3%;
  z-index: -1;
  width: 26%;
  aspect-ratio: 322/354;
  background: url(../images/common/cta-band-person.webp) center/contain no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .c-cta-band__actions::after {
    display: none;
  }
}

.c-cta-band__action {
  flex: 1;
  min-width: 0;
}

.c-cta-band__tel,
.c-cta-band__contact {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.63rem 1.25rem;
  min-height: 7.5rem;
  border-radius: 4.38rem;
  box-shadow: 0 0.19rem 0.63rem rgba(0, 0, 0, 0.25);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.c-cta-band__tel:hover,
.c-cta-band__contact:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 768px) {
  .c-cta-band__tel,
  .c-cta-band__contact {
    min-height: 4.56rem;
  }
}

.c-cta-band__tel {
  background-color: #fff;
  border: 0.07rem solid var(--site-primary);
  color: var(--site-primary);
}

.c-cta-band__tel-num {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: max(2.63rem, min(18px, 11.21vw));
  line-height: 1.2;
}
.c-cta-band__tel-num::before {
  content: "";
  flex-shrink: 0;
  width: 1.56rem;
  height: 2.31rem;
  background: url(../images/common/icon-tel.svg) center/contain no-repeat;
}
@media screen and (max-width: 1024px) {
  .c-cta-band__tel-num {
    font-size: max(2rem, min(18px, 8.54vw));
  }
  .c-cta-band__tel-num::before {
    width: 1.19rem;
    height: 1.75rem;
  }
}
@media screen and (max-width: 768px) {
  .c-cta-band__tel-num {
    font-size: max(1.75rem, min(18px, 7.47vw));
  }
  .c-cta-band__tel-num::before {
    width: 1.06rem;
    height: 1.56rem;
  }
}

.c-cta-band__tel-hours {
  align-self: flex-end;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  letter-spacing: 0.06em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .c-cta-band__tel-hours {
    align-self: center;
    font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  }
}

.c-cta-band__contact {
  background-color: var(--site-cta);
  color: #fff;
  font-size: max(2.13rem, min(18px, 9.07vw));
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .c-cta-band__contact {
    font-size: max(1.63rem, min(18px, 6.94vw));
  }
}
@media screen and (max-width: 768px) {
  .c-cta-band__contact {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.c-cta-band__note {
  margin-top: 0.25rem;
  color: #fff;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: 2;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .c-cta-band__note {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}
@media screen and (max-width: 768px) {
  .c-cta-band__note {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.post_content .c-cta-band {
  display: none;
}

.c-contact-band {
  --contact-band-field-bg: #F8F8F8;
  --contact-band-placeholder: #BABABA;
  --contact-band-required: #911111;
  --contact-band-submit-bg: var(--site-cta);
}

.c-contact-band__body {
  max-width: 43.75rem;
  margin-inline: auto;
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .c-contact-band__body {
    margin-top: 2rem;
  }
}

.c-contact-band__row {
  display: flex;
  align-items: flex-start;
}
.c-contact-band__row + .c-contact-band__row {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-contact-band__row {
    flex-direction: column;
  }
  .c-contact-band__row + .c-contact-band__row {
    margin-top: 1.5rem;
  }
}

.c-contact-band__label {
  flex-shrink: 0;
  width: 11.75rem;
  padding-top: 0.69rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 700;
  line-height: 1.5;
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .c-contact-band__label {
    width: 100%;
    padding-top: 0;
  }
}

@media screen and (max-width: 768px) {
  .c-contact-band__label + .c-contact-band__field {
    margin-top: 0.5rem;
  }
}

.c-contact-band__req {
  margin-left: 0.38rem;
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  color: var(--contact-band-required);
  vertical-align: super;
}

.c-contact-band__field {
  flex: 1;
  min-width: 0;
  width: 100%;
}
.c-contact-band__field input,
.c-contact-band__field textarea,
.c-contact-band__field select {
  width: 100%;
  background-color: var(--contact-band-field-bg);
  border: none;
  border-radius: 0.31rem;
  padding: 0.69rem 0.88rem;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.5;
  color: var(--site-text);
  font-family: inherit;
}
.c-contact-band__field input::placeholder,
.c-contact-band__field textarea::placeholder,
.c-contact-band__field select::placeholder {
  color: var(--contact-band-placeholder);
}
.c-contact-band__field input:focus,
.c-contact-band__field textarea:focus,
.c-contact-band__field select:focus {
  outline: 0.13rem solid color-mix(in srgb, var(--site-accent) 50%, transparent);
  outline-offset: 0;
}
.c-contact-band__field input,
.c-contact-band__field select {
  height: 2.88rem;
}
.c-contact-band__field select {
  appearance: none;
  -webkit-appearance: none;
  padding-right: 2.5rem;
  cursor: pointer;
}
.c-contact-band__field:has(select) {
  position: relative;
}
.c-contact-band__field:has(select)::before, .c-contact-band__field:has(select)::after {
  content: "";
  position: absolute;
  top: 50%;
  z-index: 1;
  pointer-events: none;
}
.c-contact-band__field:has(select)::before {
  right: 0.75rem;
  transform: translateY(-50%);
  width: 1.25rem;
  height: 1.25rem;
  background-color: #fff;
  border-radius: 50%;
}
.c-contact-band__field:has(select)::after {
  right: 1.38rem;
  transform: translate(50%, calc(-50% + 0.07rem));
  width: 0;
  height: 0;
  border-left: 0.27rem solid transparent;
  border-right: 0.27rem solid transparent;
  border-top: 0.35rem solid var(--site-accent);
}
.c-contact-band__field textarea {
  height: 16.25rem;
  resize: vertical;
}
@media screen and (max-width: 768px) {
  .c-contact-band__field textarea {
    height: 12.5rem;
  }
}

.c-contact-band__foot {
  margin-top: 3rem;
  text-align: center;
}

.c-contact-band__privacy {
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  line-height: 1.5;
  color: var(--site-text);
}
.c-contact-band__privacy a {
  color: var(--site-accent);
  text-decoration: underline;
}

.c-contact-band__submit {
  margin-top: 0.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.c-contact-band .wpcf7-submit {
  display: block;
  width: 20.63rem;
  max-width: 100%;
  padding: 0.75rem 2.75rem;
  background-color: var(--contact-band-submit-bg);
  background-image: url(../images/common/icon-arrow-white.svg);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1.5rem 1.5rem;
  color: #fff;
  font-weight: 700;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.5;
  text-align: center;
  border: none;
  border-radius: 999px;
  cursor: pointer;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.c-contact-band .wpcf7-submit:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.38rem 1rem rgba(0, 0, 0, 0.18);
}

.c-contact-band .wpcf7-response-output {
  margin: 1.5rem auto 0;
  max-width: 32rem;
}

.c-contact-band .wpcf7-not-valid-tip {
  margin-top: 0.25rem;
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
}

.c-message {
  padding-block: 2.5rem 6.63rem;
}
@media screen and (max-width: 768px) {
  .c-message {
    padding-block: 2rem 3rem;
  }
}

.c-message.--bg-yellow {
  background-color: color-mix(in srgb, var(--site-primary) 10%, var(--site-bg));
  background-image: url(../images/common/message-bg.webp);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
}

.c-message__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .c-message__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .c-message__inner {
    padding-inline: 1.25rem;
  }
}
.c-message__inner {
  display: flex;
  align-items: center;
  gap: 4.5rem;
  position: relative;
  z-index: 10;
}
@media screen and (max-width: 768px) {
  .c-message__inner {
    flex-direction: column;
    gap: 1.5rem;
  }
}

.c-message__image {
  position: relative;
  flex-shrink: 0;
  width: 27.5rem;
  max-width: 100%;
}
@media screen and (max-width: 768px) {
  .c-message__image {
    width: 12.5rem;
  }
}
.c-message__image img {
  display: block;
  width: 100%;
  border-radius: 0.19rem;
}

.c-message__name {
  position: absolute;
  left: 1.25rem;
  bottom: 1.25rem;
  color: #fff;
  line-height: 1.4;
  text-shadow: 0 0 0.5rem rgba(0, 0, 0, 0.45);
}
@media screen and (max-width: 768px) {
  .c-message__name {
    left: 0.75rem;
    bottom: 0.75rem;
  }
}

.c-message__name-role {
  display: block;
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  font-weight: 500;
}

.c-message__name-main {
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .c-message__name-main {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.c-message__name-sub {
  margin-left: 0.5rem;
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  font-weight: 500;
}

.c-message__body {
  flex: 1;
  min-width: 0;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .c-message__body {
    margin-top: 0;
  }
}

.c-message__title {
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: 1.4;
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .c-message__title {
    font-size: max(1.25rem, min(18px, 5.34vw));
    text-align: center;
  }
}

.c-message__text {
  margin-top: 1.5rem;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.9;
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .c-message__text {
    margin-top: 1rem;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: 1.8;
  }
}

.c-card-layout.--bg-tint {
  background-color: color-mix(in srgb, var(--site-primary) 6%, var(--site-bg));
}

.c-card-layout__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .c-card-layout__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .c-card-layout__inner {
    padding-inline: 1.25rem;
  }
}

@media screen and (max-width: 768px) {
  .c-card-layout__lead {
    text-align: left;
  }
}

.c-card-layout__cards {
  margin-top: 3rem;
  display: flex;
  gap: 1.5rem;
  list-style: none;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .c-card-layout__cards {
    flex-direction: column;
    gap: 1rem;
    margin-top: 2rem;
  }
}

.c-card-layout__card {
  padding-block: 1rem;
  padding-inline: 0.88rem;
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.13rem 0.75rem rgba(0, 0, 0, 0.06);
  flex: 1;
}

.c-card-layout__image img {
  display: block;
  width: 100%;
  aspect-ratio: 261/164;
  object-fit: cover;
  border-radius: 0.19rem;
}
@media screen and (max-width: 768px) {
  .c-card-layout__image img {
    aspect-ratio: 16/10;
  }
}

.c-card-layout__card-title {
  margin-top: 1rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 700;
  line-height: 1.5;
  color: var(--site-accent);
}

.c-card-layout__card-text {
  margin-top: 0.5rem;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  line-height: 1.7;
  color: var(--site-text);
}

.c-card-layout__button {
  margin-top: 3rem;
  display: flex;
  justify-content: center;
}
@media screen and (max-width: 768px) {
  .c-card-layout__button {
    margin-top: 2rem;
  }
}
.c-card-layout__button .c-button {
  width: auto;
  min-width: 20.63rem;
  padding-inline: 2rem 3rem;
}

.c-plan {
  background: var(--site-bg);
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .c-plan {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.c-plan__inner {
  width: 100%;
  max-width: 73.75rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .c-plan__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .c-plan__inner {
    padding-inline: 1.25rem;
  }
}

.c-plan__lead {
  margin-top: 1.5rem;
  color: var(--site-text);
  text-align: center;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .c-plan__lead {
    margin-top: 1rem;
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    text-align: left;
  }
}

.c-plan__cards {
  margin-top: 3rem;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  .c-plan__cards {
    grid-template-columns: 1fr;
    gap: 2.5rem;
    max-width: 25rem;
    margin-inline: auto;
    margin-top: 2rem;
  }
}

.c-plan__card {
  position: relative;
  background-color: var(--site-bg);
  border: 1px solid color-mix(in srgb, var(--site-text) 12%, var(--site-bg));
  border-radius: 0.5rem;
  z-index: 10;
}

.c-plan__card.--recommend {
  border: 0.19rem solid var(--site-accent);
}

.c-plan__card-head {
  background-color: color-mix(in srgb, var(--site-accent) 8%, var(--site-bg));
  text-align: center;
  padding: 1.5rem 1rem;
}
@media screen and (max-width: 768px) {
  .c-plan__card-head {
    padding: 0.75rem;
  }
}

.c-plan__card.--recommend .c-plan__card-head {
  background-color: var(--site-accent);
  color: var(--site-bg);
}

.c-plan__name {
  font-size: max(1.63rem, min(18px, 6.94vw));
  font-weight: 700;
  line-height: 1.3;
}
@media screen and (max-width: 768px) {
  .c-plan__name {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.c-plan__sub {
  margin-top: 0.38rem;
  font-size: max(0.94rem, min(16.88px, 4vw));
  font-weight: 500;
}
@media screen and (max-width: 768px) {
  .c-plan__sub {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.c-plan__badge {
  position: absolute;
  top: -2.5rem;
  left: -1rem;
  z-index: 100;
  width: 5.63rem;
  height: 5.63rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: var(--site-bg);
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  font-weight: 700;
  line-height: 1.3;
  background: url(../images/common/icon-plan-badge.svg) no-repeat center center/contain;
}

.c-plan__card-body {
  padding: 1.75rem 1.5rem 2rem;
}
@media screen and (max-width: 768px) {
  .c-plan__card-body {
    padding: 1rem 0.75rem;
  }
}

.c-plan__price {
  text-align: center;
  font-weight: 700;
  color: var(--site-text);
  line-height: 1;
}

.c-plan__price-num {
  font-size: max(3.5rem, min(18px, 14.94vw));
}
@media screen and (max-width: 768px) {
  .c-plan__price-num {
    font-size: max(2rem, min(18px, 8.54vw));
  }
}

.c-plan__price-unit {
  font-size: max(1.38rem, min(18px, 5.87vw));
}
@media screen and (max-width: 768px) {
  .c-plan__price-unit {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-plan__price-note {
  margin-top: 0.63rem;
  color: color-mix(in srgb, var(--site-text) 60%, transparent);
  text-align: center;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
}

.c-plan__specs {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid color-mix(in srgb, var(--site-text) 12%, var(--site-bg));
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
}
@media screen and (max-width: 768px) {
  .c-plan__specs {
    margin-top: 1rem;
    padding-top: 0.75rem;
  }
}

.c-plan__spec {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

.c-plan__spec-label {
  flex-shrink: 0;
  background-color: var(--site-accent);
  color: var(--site-bg);
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 700;
  line-height: 1.2;
  border-radius: 9999px;
  padding: 0.25rem 1rem;
}

.c-plan__spec-value {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 700;
  color: var(--site-text);
}

.c-plan__features {
  margin-top: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  list-style: none;
  padding: 0;
}
@media screen and (max-width: 768px) {
  .c-plan__features {
    margin-top: 1rem;
  }
}

.c-plan__feature {
  display: flex;
  align-items: center;
  gap: 0.63rem;
  background-color: color-mix(in srgb, var(--site-text) 4%, var(--site-bg));
  border-radius: 0.38rem;
  padding: 0.75rem 0.88rem;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  line-height: 1.5;
  font-weight: 500;
  color: var(--site-text);
}
.c-plan__feature::before {
  content: "";
  flex-shrink: 0;
  width: 1.38rem;
  height: 1.38rem;
  background: url(../images/common/icon-check.svg) no-repeat center center/contain;
}

.c-choose {
  background: var(--site-bg);
  padding-top: 6.25rem;
  padding-bottom: 6.25rem;
}
@media screen and (max-width: 768px) {
  .c-choose {
    padding-top: 3.5rem;
    padding-bottom: 3.5rem;
  }
}

.c-choose__inner {
  width: 100%;
  max-width: 73.75rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .c-choose__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .c-choose__inner {
    padding-inline: 1.25rem;
  }
}

.c-choose__body {
  margin-top: 2.5rem;
  display: flex;
  gap: 3.75rem;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .c-choose__body {
    flex-direction: column;
    gap: 1.5rem;
    margin-top: 2rem;
  }
}

.c-choose__image {
  flex-shrink: 0;
  width: 32.75rem;
}
@media screen and (max-width: 768px) {
  .c-choose__image {
    width: 100%;
  }
}
.c-choose__image img {
  display: block;
  width: 100%;
  height: 23.44rem;
  object-fit: cover;
  border-radius: 0.19rem;
}
@media screen and (max-width: 768px) {
  .c-choose__image img {
    height: auto;
    aspect-ratio: 524/375;
  }
}

.c-choose__text {
  flex: 1;
  min-width: 0;
}
.c-choose__text p {
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.9;
  color: var(--site-text);
}
.c-choose__text p + p {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .c-choose__text p {
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: 1.8;
  }
  .c-choose__text p + p {
    margin-top: 1rem;
  }
}

.c-photo-pair {
  --c-photo-pair-w: 29.63rem;
  --c-photo-pair-gap: 2.5rem;
  display: flex;
  justify-content: center;
  gap: var(--c-photo-pair-gap);
  list-style: none;
  padding-left: 0;
}
@media screen and (max-width: 1024px) {
  .c-photo-pair {
    --c-photo-pair-gap: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .c-photo-pair {
    flex-direction: column;
    align-items: center;
    --c-photo-pair-gap: 1.5rem;
  }
}

.c-photo-pair__item {
  flex: 0 1 var(--c-photo-pair-w);
  max-width: var(--c-photo-pair-w);
}
@media screen and (max-width: 768px) {
  .c-photo-pair__item {
    width: 100%;
    flex: 1 1 auto;
  }
}

.c-photo-pair__frame {
  padding: 0.75rem;
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.19rem 0.5rem rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 768px) {
  .c-photo-pair__frame {
    padding: 0.5rem;
  }
}

.c-photo-pair__img {
  display: block;
  width: 100%;
  aspect-ratio: 450/300;
  height: auto;
  object-fit: cover;
  border-radius: 0.5rem;
}

.c-photo-pair__caption {
  margin-top: 1.75rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 700;
  line-height: 1.8;
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-photo-pair__caption {
    margin-top: 1rem;
    font-size: max(1rem, min(18px, 4.27vw));
    text-align: left;
  }
}

.c-loose-band {
  --c-loose-band-w: 1560px;
  --c-loose-band-h: 22.38rem;
  --c-loose-band-pt: 5rem;
}

.c-loose-band + .c-loose-band {
  margin-top: 5rem;
}

.c-loose-band__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .c-loose-band__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .c-loose-band__inner {
    padding-inline: 1.25rem;
  }
}
.c-loose-band__inner {
  padding-block-start: var(--c-loose-band-pt);
  position: relative;
}
@media screen and (max-width: 768px) {
  .c-loose-band__inner {
    padding-block-start: 2rem;
  }
}

.c-loose-band__inner::before {
  content: "";
  position: absolute;
  inset-block-start: 0;
  inset-inline: 2.5rem;
  z-index: -1;
  height: var(--c-loose-band-h);
  background-color: var(--site-bg-tint);
}
@media screen and (max-width: 768px) {
  .c-loose-band__inner::before {
    --c-loose-band-h: 12.5rem;
    inset-inline: 1.25rem;
  }
}

.c-loose-band--offsetRight .c-loose-band__inner::before {
  inset-inline-end: calc(50% - 50vw);
}

.c-loose-band--offsetLeft .c-loose-band__inner::before {
  inset-inline-start: calc(50% - 50vw);
}

.c-loose-band__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .c-loose-band__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    padding-inline-start: 1rem;
  }
}

.c-loose-band__title {
  font-size: max(3.38rem, min(18px, 14.41vw));
  font-weight: 700;
  line-height: 1.41;
  letter-spacing: -0.02em;
  color: var(--site-text);
  margin-inline-start: 1.25rem;
}
@media screen and (max-width: 1024px) {
  .c-loose-band__title {
    font-size: max(2.5rem, min(18px, 10.68vw));
  }
}
@media screen and (max-width: 768px) {
  .c-loose-band__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    margin-inline-start: 0;
  }
}

.c-loose-band__note {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 700;
  line-height: 2;
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-loose-band__note {
    font-size: max(1rem, min(18px, 4.27vw));
    text-align: left;
  }
}

.c-card-service__badge {
  width: fit-content;
  height: 2em;
  padding-inline: 1em;
  line-height: 1.2;
  display: grid;
  place-items: center;
  background-color: var(--site-bg);
  border: 0.07rem solid var(--site-accent);
  border-radius: 3.13rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 700;
  color: var(--site-accent);
  white-space: nowrap;
  flex-shrink: 0;
}

.c-card-course__link {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  height: 100%;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.c-card-course__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .c-card-course__link {
    gap: 0.63rem;
  }
}

.c-card-course__head {
  display: flex;
  align-items: center;
  gap: 0.63rem;
}
@media screen and (max-width: 768px) {
  .c-card-course__head {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}

.c-card-course__badge {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  height: 2.29em;
  padding-inline: 1.07em;
  line-height: 1.2;
  background-color: var(--site-bg);
  border: 0.07rem solid var(--site-accent);
  border-radius: 3.13rem;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 700;
  color: var(--site-accent);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .c-card-course__badge {
    height: 2.15em;
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  }
}

.c-card-course__catch {
  font-size: max(1.2rem, min(17px, 5.12vw));
  font-weight: 700;
  line-height: max(2.5rem, min(35.42px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .c-card-course__catch {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.63rem, min(29.25px, 6.94vw));
  }
}

.c-card-course__box {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  border-radius: 0.63rem;
  overflow: hidden;
  box-shadow: 0 0.13rem 0.19rem rgba(0, 0, 0, 0.15);
}

.c-card-course__title {
  display: grid;
  place-items: center;
  padding: 0.63rem 1.25rem;
  background-color: var(--site-accent);
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: max(2.5rem, min(22.5px, 10.68vw));
  color: var(--site-bg);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .c-card-course__title {
    padding-block: 0.75rem;
    font-size: max(1.13rem, min(18px, 4.8vw));
    line-height: 1.4;
  }
}

.c-card-course__body {
  flex-grow: 1;
  display: flex;
  flex-direction: column;
  padding: 1.25rem 1.25rem 1.44rem;
  background-color: var(--site-bg);
}

.c-card-course__list-title {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: max(1.88rem, min(24.55px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .c-card-course__list-title {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.75rem, min(31.5px, 7.47vw));
  }
}

.c-card-course__list {
  list-style: none;
  margin-top: 0.56rem;
}
@media screen and (max-width: 768px) {
  .c-card-course__list {
    margin-top: 0.25rem;
  }
}

.c-card-course__item {
  display: flex;
  align-items: flex-start;
  gap: 0.38rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.63rem, min(29.25px, 6.94vw));
  color: var(--site-text);
}
.c-card-course__item::before {
  content: "";
  width: 0.38rem;
  height: 0.38rem;
  flex-shrink: 0;
  margin-top: 0.63rem;
  border-radius: 50%;
  background-color: var(--site-primary);
}
.c-card-course__item + .c-card-course__item {
  margin-top: 0.38rem;
}
@media screen and (max-width: 768px) {
  .c-card-course__item + .c-card-course__item {
    margin-top: 0.25rem;
  }
}
@media screen and (max-width: 768px) {
  .c-card-course__item {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.5rem, min(27px, 6.4vw));
  }
  .c-card-course__item::before {
    margin-top: 0.56rem;
  }
}

.c-card-course__more {
  display: flex;
  align-items: center;
  gap: 0.63rem;
  align-self: flex-end;
  margin-top: auto;
  font-family: "Montserrat", sans-serif;
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 500;
  line-height: max(1.25rem, min(20px, 5.34vw));
  color: var(--site-accent);
}
.c-card-course__more::after {
  content: "";
  width: 0.9rem;
  height: 0.49rem;
  background-color: currentColor;
  mask: url(../images/common/icon-more-triangle.svg) center/contain no-repeat;
  -webkit-mask: url(../images/common/icon-more-triangle.svg) center/contain no-repeat;
  transform: rotate(90deg);
}
@media screen and (max-width: 768px) {
  .c-card-course__more {
    margin-top: 0.5rem;
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.c-card-case__link {
  display: block;
  padding: 3rem 4.38rem;
  background-color: #fff;
  border-radius: 0.63rem;
  box-shadow: 0 0.19rem 0.38rem rgba(0, 0, 0, 0.15);
  color: inherit;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .c-card-case__link {
    padding: 1.5rem 1.25rem;
  }
}

.c-card-case__title {
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: max(2.88rem, min(25.88px, 12.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .c-card-case__title {
    font-size: max(1.13rem, min(18px, 4.8vw));
    line-height: max(1.75rem, min(28px, 7.47vw));
  }
}

.c-card-case__body {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
  margin-top: 1.88rem;
}
@media screen and (max-width: 768px) {
  .c-card-case__body {
    margin-top: 1rem;
    flex-direction: column;
    gap: 1.5rem;
  }
}

.c-card-case__summary {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  flex: 0 0 22.5rem;
  width: 22.5rem;
}
@media screen and (max-width: 1024px) {
  .c-card-case__summary {
    flex: 1;
    width: 100%;
  }
}

.c-card-case__photo {
  width: 100%;
  height: 15.63rem;
  background-color: #ccc;
  border-radius: 0.5rem;
  overflow: hidden;
}

.c-card-case__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.c-card-case__meta {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.c-card-case__company {
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: max(2.5rem, min(22.5px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .c-card-case__company {
    font-size: max(1.38rem, min(18px, 5.87vw));
    line-height: max(2rem, min(26.18px, 8.54vw));
  }
}

.c-card-case__industry {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.88rem, min(33.75px, 8.01vw));
  color: var(--site-text);
}

.c-card-case__detail {
  display: flex;
  flex-direction: column;
  gap: 1.88rem;
  flex: 1;
  min-width: 0;
  padding-inline: 1.25rem;
}
@media screen and (max-width: 768px) {
  .c-card-case__detail {
    gap: 1.5rem;
    padding-inline: 0;
  }
}

.c-card-case__block {
  display: flex;
  flex-direction: column;
  gap: 0.88rem;
}
@media screen and (max-width: 768px) {
  .c-card-case__block {
    gap: 0.38rem;
  }
}

.c-card-case__block-head {
  display: flex;
  align-items: center;
  gap: 0.63rem;
  flex-wrap: wrap;
}

.c-card-case__effect {
  display: flex;
  justify-content: flex-start;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .c-card-case__effect {
    justify-content: center;
  }
}

.c-card-case__effect::before {
  content: "";
  width: 2.5rem;
  height: 1.38rem;
  background-color: var(--site-accent);
  mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
  -webkit-mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
}

.c-card-case__badge {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: fit-content;
  min-width: 4.5rem;
  padding: 0.13rem 1.25rem;
  background-color: #878787;
  border-radius: 2.5rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 700;
  line-height: max(1.75rem, min(31.5px, 7.47vw));
  color: #fff;
}

.c-card-case__badge--effect {
  background-color: var(--site-primary);
}

.c-card-case__block-title {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: max(2rem, min(26.18px, 8.54vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .c-card-case__block-title {
    font-size: max(1.06rem, min(18px, 4.54vw));
    line-height: max(1.75rem, min(29.65px, 7.47vw));
  }
}

.c-card-case__points {
  list-style: none;
  display: flex;
  flex-direction: column;
}

.c-card-case__point {
  display: flex;
  align-items: flex-start;
  gap: 0.38rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.88rem, min(33.75px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .c-card-case__point {
    line-height: max(1.5rem, min(27px, 6.4vw));
  }
}
.c-card-case__point::before {
  content: "";
  flex-shrink: 0;
  width: 0.38rem;
  height: 0.38rem;
  margin-top: 0.75rem;
}
@media screen and (max-width: 768px) {
  .c-card-case__point::before {
    margin-top: 0.56rem;
  }
}
.c-card-case__point::before {
  background-color: var(--site-primary);
  border-radius: 50%;
}

.c-card-case__point--effect {
  font-weight: 700;
  color: var(--site-secondary);
}

.c-pagination {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .c-pagination {
    margin-top: 2.5rem;
  }
}

.c-pagination .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 1rem;
}
@media screen and (max-width: 768px) {
  .c-pagination .nav-links {
    gap: 0.5rem;
  }
}

.c-pagination .page-numbers {
  display: grid;
  place-items: center;
  box-sizing: border-box;
  width: 1.75em;
  min-width: 0;
  height: auto;
  margin: 0;
  aspect-ratio: 1/1;
  border: 0.07rem solid var(--site-accent);
  border-radius: 0.13rem;
  background-color: var(--site-bg);
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: 1;
  color: var(--site-accent);
  text-decoration: none;
  box-shadow: none;
}

.c-pagination .page-numbers.current {
  background-color: var(--site-accent);
  color: var(--site-bg);
}

.c-pagination .page-numbers.dots {
  width: auto;
  height: auto;
  border: none;
  background: none;
  color: var(--site-text);
}

.c-pagination .prev,
.c-pagination .next {
  display: block;
  width: 0.38rem;
  height: 0.63rem;
  border: none;
  background-color: transparent;
  background-image: url(../images/common/icon-chevron.svg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  font-size: 0;
  box-shadow: none;
}

.c-pagination .next {
  transform: scaleX(-1);
}

.c-pagination .prev {
  margin-right: 4rem;
}
@media screen and (max-width: 768px) {
  .c-pagination .prev {
    margin-right: 1rem;
  }
}

.c-pagination .next {
  margin-left: 4rem;
}
@media screen and (max-width: 768px) {
  .c-pagination .next {
    margin-left: 1rem;
  }
}

.single-case .post_content h2,
.single-case .post_content h3 {
  margin: 0;
}

.single-case .post_content h2 {
  padding: 0.25rem 0.63rem;
  background-color: var(--site-accent);
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: max(2.88rem, min(25.88px, 12.28vw));
  color: var(--site-bg);
}
@media screen and (max-width: 768px) {
  .single-case .post_content h2 {
    font-size: max(1.38rem, min(18px, 5.87vw));
    line-height: max(2rem, min(26.18px, 8.54vw));
  }
}

.single-case .post_content h3 {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: max(2.5rem, min(32.73px, 10.68vw));
  color: var(--site-secondary);
}
@media screen and (max-width: 768px) {
  .single-case .post_content h3 {
    font-size: max(1.13rem, min(18px, 4.8vw));
    line-height: max(1.88rem, min(30px, 8.01vw));
  }
}

.single-case .post_content h2::before,
.single-case .post_content h2::after,
.single-case .post_content h3::before,
.single-case .post_content h3::after {
  content: none;
}

.single-case .post_content h2 + *,
.single-case .post_content * + h3 {
  margin-top: 1.25rem;
}

.single-case .post_content h3 + * {
  margin-top: 0.38rem;
}

.single-case .post_content > * {
  margin-bottom: 0;
}

.single-case .post_content > * + * {
  margin-top: 1.25rem;
}

.single-case .post_content * + h2 {
  margin-top: 2.5rem;
}

.single-case .post_content p {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.63rem, min(29.25px, 6.94vw));
  color: var(--site-text);
}

.c-sns {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: var(--c-sns-justify, flex-start);
  gap: 1.25rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.c-sns__link {
  display: block;
  transition: opacity 0.2s ease;
}
.c-sns__link:hover {
  opacity: 0.7;
}

.c-sns__link--disabled:hover {
  opacity: 1;
}

.c-sns__logo {
  display: block;
  width: auto;
  height: 2rem;
}
@media screen and (max-width: 768px) {
  .c-sns__logo {
    height: 1.75rem;
  }
}

.c-sns__text {
  display: block;
  font-size: max(0.94rem, min(16.88px, 4vw));
  font-weight: 700;
  line-height: max(2rem, min(36.01px, 8.54vw));
  color: var(--site-text);
  text-decoration: underline;
}
@media screen and (max-width: 768px) {
  .c-sns__text {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.75rem, min(31.5px, 7.47vw));
  }
}

.p-voice {
  padding-block: 7.5rem;
  background-color: var(--site-bg);
}
@media screen and (max-width: 768px) {
  .p-voice {
    padding-block: 3.75rem;
  }
}

.p-voice--archive {
  padding-block-start: 0;
}

.p-voice__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-voice__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-voice__inner {
    padding-inline: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-voice__inner {
    padding-inline: 0;
  }
}

.p-voice__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-voice__head {
    gap: 0.63rem;
    padding-inline: 1.25rem;
  }
}

.p-voice__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-secondary);
}
.p-voice__label::after {
  content: "";
  width: 5rem;
  height: 0.07rem;
  background-color: var(--site-secondary);
}

.p-voice__title {
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-voice__title {
    font-size: max(2.75rem, min(18px, 11.74vw));
    line-height: max(3.75rem, min(24.55px, 16.01vw));
  }
}
@media screen and (max-width: 768px) {
  .p-voice__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.5rem, min(25.71px, 10.68vw));
  }
}

.p-voice__lead {
  margin-top: 3.13rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-voice__lead {
    padding-inline: 1.25rem;
    margin-top: 1.5rem;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.88rem, min(33.76px, 8.01vw));
  }
}

.p-voice__tabs {
  display: flex;
  gap: 2.5rem;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-voice__tabs {
    gap: 0.5rem;
    margin-top: 1.88rem;
  }
}

.p-voice__tab {
  flex: 1;
  min-width: 0;
  padding: 1.75rem 0.63rem;
  background-color: #f7f8fe;
  border: none;
  border-radius: 0.63rem 0.63rem 0 0;
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(2.5rem, min(18px, 10.68vw));
  color: var(--site-secondary);
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.p-voice__tab[aria-selected=true], .p-voice__tab:hover {
  background-color: var(--site-bg-pale);
}
@media screen and (max-width: 768px) {
  .p-voice__tab {
    padding: 0.88rem 0.38rem;
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.38rem, min(24.75px, 5.87vw));
  }
}

.p-voice__panel {
  padding: 4rem 2.13rem;
  background-color: var(--site-bg-pale);
  border-radius: 0 0 0.63rem 0.63rem;
}
.p-voice__panel[hidden] {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-voice__panel {
    padding: 1.75rem 0.63rem;
  }
}

.p-voice__list {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-voice__list {
    gap: 2.5rem;
  }
}

.p-voice__item {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
  padding-inline: 2.5rem;
}
@media screen and (max-width: 1024px) {
  .p-voice__item {
    gap: 1.5rem;
    padding-inline: 1rem;
  }
}
@media screen and (max-width: 768px) {
  .p-voice__item {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    padding-inline: 0;
  }
}

.p-voice__photo {
  flex-shrink: 0;
  width: 33.19rem;
  height: 33.19rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .p-voice__photo {
    width: 20rem;
    height: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .p-voice__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 1/1;
  }
}

.p-voice__photo:empty {
  background-color: #ccc;
}

.p-voice__photo--video {
  align-self: flex-start;
  height: auto;
  aspect-ratio: 16/9;
  background-color: #000;
}
@media screen and (max-width: 1024px) {
  .p-voice__photo--video {
    height: auto;
  }
}
@media screen and (max-width: 768px) {
  .p-voice__photo--video {
    aspect-ratio: 16/9;
  }
}

.p-voice__photo--video,
.p-voice__card-photo--video {
  position: relative;
}

.p-voice__photo--video iframe,
.p-voice__card-photo--video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-voice__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-voice__detail {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 0.56rem;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .p-voice__detail {
    width: auto;
    gap: 0.38rem;
  }
}

.p-voice__quote {
  font-size: max(1.5rem, min(22px, 6.4vw));
  font-weight: 700;
  line-height: max(2.5rem, min(36.67px, 10.68vw));
  color: #0a2548;
  padding-bottom: 0.63rem;
  border-bottom: 0.07rem solid #dbe3f4;
}
@media screen and (max-width: 768px) {
  .p-voice__quote {
    font-size: max(1.06rem, min(18px, 4.54vw));
    line-height: max(1.88rem, min(31.76px, 8.01vw));
  }
}

.p-voice__meta {
  display: flex;
  flex-direction: column;
}

.p-voice__meta-row {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
  padding: 0.63rem;
  border-bottom: 0.07rem solid #dbe3f4;
}
@media screen and (max-width: 768px) {
  .p-voice__meta-row {
    gap: 0.75rem;
    padding: 0.38rem 0.25rem;
  }
}

.p-voice__meta-label,
.p-voice__meta-value {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.63rem, min(29.25px, 6.94vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-voice__meta-label,
  .p-voice__meta-value {
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  }
}

.p-voice__meta-label {
  flex-shrink: 0;
  width: 4em;
}

.p-voice__meta-value {
  flex: 1;
  min-width: 0;
}

.p-voice__respondent-position {
  margin-right: 0.6em;
  font-size: 0.85em;
  font-weight: 400;
}

.p-voice__meta-value--strong {
  font-weight: 700;
  color: #0a2548;
}

@media screen and (max-width: 768px) {
  .p-voice__meta-value {
    margin-left: 0;
  }
}

.p-voice__body {
  padding: 0.63rem;
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 500;
  line-height: max(1.88rem, min(30px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-voice__body {
    padding: 0.5rem 0.25rem;
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
    line-height: max(1.38rem, min(22px, 5.87vw));
  }
}

.p-voice__button-wrap {
  margin-top: 3.75rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-voice__button-wrap {
    margin-top: 2.5rem;
  }
}

.p-voice__button {
  --c-button-color: var(--site-text);
  padding-inline: 2.63rem;
}
@media screen and (max-width: 768px) {
  .p-voice__button {
    --c-button-w: 15rem;
    padding-inline: 3rem;
  }
}

.p-voice__groups {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-voice__groups {
    gap: 2.5rem;
    margin-top: 1.88rem;
  }
}

.p-voice__group {
  display: flex;
  flex-direction: column;
  gap: 3.13rem;
  padding-block: 3.13rem;
  background-color: var(--site-bg-pale);
  border-radius: 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-voice__group {
    gap: 1.5rem;
    margin-inline: 1.25rem;
    padding: 2rem 1rem;
  }
}

.p-voice__group-title {
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(2.5rem, min(18px, 10.68vw));
  color: var(--site-secondary);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-voice__group-title {
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: max(1.88rem, min(27px, 8.01vw));
  }
}

.p-voice__group .p-voice__list {
  gap: 3.13rem;
}
@media screen and (max-width: 768px) {
  .p-voice__group .p-voice__list {
    gap: 2.5rem;
    max-width: 480px;
    margin-inline: auto;
  }
}

.p-voice__group .p-voice__quote {
  padding-bottom: 0;
  border-bottom: none;
}

.p-voice__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.5rem;
  padding-left: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-voice__cards {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    padding-inline: 1.25rem;
  }
}

.p-voice__card {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  background-color: var(--site-bg);
  border-radius: 0.63rem;
  box-shadow: 0 0.13rem 0.25rem rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-voice__card {
    gap: 1.25rem;
    padding: 1.25rem;
  }
}

.p-voice__card-photo--video {
  height: auto;
  aspect-ratio: 16/9;
  background-color: #000;
}
@media screen and (max-width: 768px) {
  .p-voice__card-photo--video {
    aspect-ratio: 16/9;
  }
}

.p-voice__card-photo {
  height: 22.5rem;
  background-color: #d9d9d9;
}
.p-voice__card-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-voice__card-photo {
    height: auto;
    aspect-ratio: 580/360;
  }
}

.p-voice__card-body {
  display: flex;
  flex-direction: column;
  gap: 0.56rem;
  padding: 0 1.25rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-voice__card-body {
    gap: 0.38rem;
    padding: 0;
  }
}

.p-voice__card .p-voice__quote {
  padding-bottom: 0;
  border-bottom: none;
}

@media screen and (max-width: 768px) {
  .p-voice__card .p-voice__body {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: 1.7;
  }
}

@media screen and (max-width: 768px) {
  .p-voice__card .p-voice__meta-label,
  .p-voice__card .p-voice__meta-value {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.p-voice__empty {
  text-align: center;
  color: var(--site-text);
  padding-block: 3.75rem;
}

.p-mv {
  position: relative;
  display: grid;
  place-items: center;
  height: min(78vh, 47.5rem);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-mv {
    height: min(72vh, 35rem);
  }
}

.p-mv__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-mv__bg + .p-mv__inner::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, color-mix(in srgb, #000 45%, transparent), color-mix(in srgb, #000 25%, transparent));
}

.p-mv__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-mv__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-mv__inner {
    padding-inline: 1.25rem;
  }
}
.p-mv__inner {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  text-align: center;
  color: #fff;
}

.p-mv__title {
  position: relative;
  z-index: 1;
  font-size: max(3rem, min(18px, 12.81vw));
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.04em;
  text-shadow: 0 2px 12px rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 768px) {
  .p-mv__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
  }
}

.p-mv__title + .p-mv__lead {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-mv__title + .p-mv__lead {
    margin-top: 1rem;
  }
}

.p-mv__lead {
  position: relative;
  z-index: 1;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: 1.9;
  text-shadow: 0 2px 10px rgba(0, 0, 0, 0.4);
}
@media screen and (max-width: 768px) {
  .p-mv__lead {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-fv {
  position: relative;
  background: var(--site-bg-hero);
  overflow: clip;
}

.p-fv__inner {
  width: 100%;
  max-width: 88.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-fv__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-fv__inner {
    padding-inline: 1.25rem;
  }
}
.p-fv__inner {
  position: relative;
  padding-block: 4.81rem;
}
@media screen and (max-width: 768px) {
  .p-fv__inner {
    padding-block: 2rem 2.25rem;
    padding-inline: 1rem;
  }
}
@media (min-width: 1241px) {
  @supports (zoom: tan(atan2(100vw, 1440px))) {
    .p-fv__inner {
      zoom: clamp(1, 1 + tan(atan2(100vw - 1240px, 2040px)), 1.3333333333);
    }
  }
}

.p-fv__body {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-fv__body {
    max-width: 25.44rem;
    margin-inline: auto;
    text-align: center;
  }
}

.p-fv__catch {
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-secondary);
}
@media screen and (max-width: 768px) {
  .p-fv__catch {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.5rem, min(25.71px, 10.68vw));
  }
}

.p-fv__sub {
  margin-top: 1.25rem;
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: max(3.13rem, min(28.13px, 13.34vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-fv__sub {
    margin-top: 0.63rem;
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.75rem, min(31.5px, 7.47vw));
  }
}

.p-fv__stat-list {
  display: flex;
  align-items: center;
  gap: 1.13rem;
  height: 6.25rem;
  margin-top: 2.5rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-fv__stat-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, auto));
    justify-content: center;
    align-items: start;
    gap: 0.75rem 1rem;
    height: auto;
    margin-top: 1.5rem;
  }
}

.p-fv__stat {
  display: flex;
  align-items: center;
  gap: 0.63rem;
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-fv__stat {
    min-width: 0;
    gap: 0.5rem;
  }
}

.p-fv__stat-icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 3.75rem;
  height: 3.75rem;
  background-color: var(--site-bg);
  border: 0.07rem solid var(--site-primary);
  border-radius: 50%;
}
.p-fv__stat-icon img {
  width: 2.25rem;
  height: 2.25rem;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-fv__stat-icon {
    width: 2.75rem;
    height: 2.75rem;
  }
  .p-fv__stat-icon img {
    width: 1.63rem;
    height: 1.63rem;
  }
}

.p-fv__stat-text {
  display: flex;
  flex-direction: column;
  font-weight: 700;
  text-align: left;
}

.p-fv__stat-label {
  font-size: max(1rem, min(16px, 4.27vw));
  line-height: max(2.5rem, min(40px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-fv__stat-label {
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
    line-height: max(1.38rem, min(22px, 5.87vw));
  }
}

.p-fv__stat-value {
  display: flex;
  align-items: baseline;
  line-height: 2.5rem;
  color: var(--site-text);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-fv__stat-value {
    line-height: 1.2;
  }
}

.p-fv__stat-num {
  font-size: max(2.38rem, min(18px, 10.14vw));
  color: var(--site-accent);
}
@media screen and (max-width: 768px) {
  .p-fv__stat-num {
    font-size: max(1.38rem, min(18px, 5.87vw));
  }
}

.p-fv__stat-unit {
  font-size: max(1.13rem, min(18px, 4.8vw));
}
@media screen and (max-width: 768px) {
  .p-fv__stat-unit {
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  }
}

.p-fv__tags {
  display: flex;
  flex-direction: column;
  width: fit-content;
  margin-top: 1.25rem;
  padding: 0.88rem 3.13rem;
  background-color: var(--site-bg);
  border-radius: 0.63rem;
  box-shadow: 0 0.19rem 0.69rem rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .p-fv__tags {
    width: 100%;
    margin-top: 1rem;
    padding: 0.75rem 1.25rem;
  }
}

.p-fv__tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0 0.75rem;
}
@media screen and (max-width: 768px) {
  .p-fv__tag-row {
    justify-content: center;
  }
}

.p-fv__tag {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 700;
  line-height: max(1.63rem, min(29.25px, 6.94vw));
  color: var(--site-accent);
}
@media screen and (max-width: 768px) {
  .p-fv__tag {
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
    line-height: max(1.5rem, min(24px, 6.4vw));
  }
}

.p-fv__foot {
  display: flex;
  align-items: center;
  gap: 3.75rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-fv__foot {
    flex-direction: column-reverse;
    align-items: flex-start;
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
}

.p-fv__proofs {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-fv__proofs {
    flex-direction: column;
    justify-content: center;
    gap: 0.75rem;
    width: 50%;
    height: 16.13rem;
  }
}

.p-fv__book {
  display: flex;
  align-items: center;
  gap: 0.63rem;
  height: 9.38rem;
  padding: 0.63rem;
  background-color: rgba(255, 255, 255, 0.6);
  border-radius: 0.63rem;
  box-shadow: 0 0.13rem 0.5rem rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 768px) {
  .p-fv__book {
    gap: 0.5rem;
    height: auto;
    padding: 0.5rem;
  }
}

.p-fv__book-img {
  flex-shrink: 0;
  width: 5.5rem;
  aspect-ratio: 836/1183;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-fv__book-img {
    width: 3rem;
  }
}

.p-fv__book-text {
  width: 7.05em;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(1.88rem, min(27px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-fv__book-text {
    width: auto;
    font-size: max(0.75rem, min(12px, 3.2vw), 10px);
    line-height: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-fv__guarantee {
  position: relative;
  display: grid;
  place-content: center;
  flex-shrink: 0;
  width: 9.25rem;
  height: 9.38rem;
  text-align: center;
}
.p-fv__guarantee::before {
  content: "";
  position: absolute;
  top: -0.25rem;
  left: -0.26rem;
  width: 9.69rem;
  height: 9.69rem;
  background: url(../images/front/fv-guarantee-glow.svg) center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .p-fv__guarantee {
    width: 6.88rem;
    height: 7rem;
  }
  .p-fv__guarantee::before {
    inset: 0;
    width: auto;
    height: auto;
  }
}

.p-fv__guarantee-laurel {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-fv__guarantee-label,
.p-fv__guarantee-main {
  position: relative;
  font-weight: 700;
  line-height: max(1.88rem, min(20.77px, 8.01vw));
}
@media screen and (max-width: 768px) {
  .p-fv__guarantee-label,
  .p-fv__guarantee-main {
    line-height: max(1.38rem, min(15.23px, 5.87vw));
  }
}

.p-fv__guarantee-label {
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-fv__guarantee-label {
    font-size: max(0.69rem, min(11px, 2.94vw), 10px);
  }
}

.p-fv__guarantee-main {
  font-size: max(1.63rem, min(18px, 6.94vw));
  color: var(--site-cta);
}
@media screen and (max-width: 768px) {
  .p-fv__guarantee-main {
    font-size: max(1.19rem, min(18px, 5.07vw));
  }
}

.p-fv__guarantee-note {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  font-size: max(0.69rem, min(11px, 2.94vw), 10px);
  font-weight: 500;
  line-height: max(1rem, min(16px, 4.27vw));
  color: var(--site-text);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-fv__guarantee-note {
    font-size: max(0.63rem, min(10px, 2.67vw), 10px);
  }
}

.p-fv__cta {
  flex-shrink: 0;
}
@media screen and (max-width: 768px) {
  .p-fv__cta {
    margin-inline: auto;
  }
}

.p-fv__person {
  position: absolute;
  right: -2.13rem;
  bottom: 0;
  width: 29rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-fv__person {
    right: var(--fixed-cta-w, 0px);
  }
}
@media screen and (max-width: 768px) {
  .p-fv__person {
    right: calc(50% - 11.38rem);
    width: 11.38rem;
  }
}

.p-fv__person-img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}

.p-fv__credit {
  position: absolute;
  top: 34.88rem;
  left: 19.16rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  transform: translateX(-50%);
  color: var(--site-text);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-fv__credit {
    top: auto;
    bottom: 0.75rem;
    left: 50%;
  }
}

.p-fv__credit-line {
  padding-inline: 0.25rem;
  background-color: var(--site-bg);
  font-size: max(1rem, min(12px, 4.27vw));
  font-weight: 500;
  line-height: max(1.44rem, min(17.25px, 6.14vw));
}
@media screen and (max-width: 768px) {
  .p-fv__credit-line {
    padding-inline: 0.19rem;
    font-size: max(0.63rem, min(10px, 2.67vw), 10px);
    line-height: max(0.94rem, min(15px, 4vw));
  }
}

.p-fv__credit-line--name {
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 700;
  line-height: max(2.44rem, min(29.25px, 10.41vw));
}
@media screen and (max-width: 768px) {
  .p-fv__credit-line--name {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.38rem, min(24.75px, 5.87vw));
  }
}

@media (min-width: 769px) and (max-width: 1240px) {
  .p-fv__body {
    max-width: calc(100% - 25rem);
  }
  .p-fv__stat-list {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 1rem 2.5rem;
    height: auto;
  }
  .p-fv__foot {
    flex-wrap: wrap;
    row-gap: 2rem;
  }
  .p-fv__person {
    width: 25rem;
  }
  .p-fv__credit {
    top: auto;
    bottom: 1rem;
    left: 50%;
  }
}
.p-about {
  position: relative;
  padding-block: 7.5rem;
  background: var(--site-grad-hero);
  overflow: clip;
}
@media screen and (max-width: 768px) {
  .p-about {
    padding-block: 4rem;
  }
}

.p-about::before {
  content: "";
  position: absolute;
  inset: 9.13rem 0 0;
  background: url(../images/front/about-bg.webp) center top/cover no-repeat;
  opacity: 0.7;
  pointer-events: none;
}

.p-about__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-about__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-about__inner {
    padding-inline: 1.25rem;
  }
}
.p-about__inner {
  position: relative;
  z-index: 1;
}

.p-about__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-about__head {
    gap: 1rem;
  }
}

.p-about__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-secondary);
}
.p-about__label::after {
  content: "";
  width: 5rem;
  height: 0.07rem;
  background-color: var(--site-secondary);
}

.p-about__titles {
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
  margin: 0;
  font-size: inherit;
}
@media screen and (max-width: 768px) {
  .p-about__titles {
    gap: 0.38rem;
  }
}

.p-about__lead {
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: max(2.44rem, min(21.94px, 10.41vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-about__lead {
    font-size: max(1.5rem, min(18px, 6.4vw));
    line-height: max(2.25rem, min(27px, 9.61vw));
  }
}
@media screen and (max-width: 768px) {
  .p-about__lead {
    font-size: max(1.06rem, min(18px, 4.54vw));
    line-height: max(1.75rem, min(29.65px, 7.47vw));
  }
}

.p-about__title {
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-about__title {
    font-size: max(2.75rem, min(18px, 11.74vw));
    line-height: max(3.75rem, min(24.55px, 16.01vw));
  }
}
@media screen and (max-width: 768px) {
  .p-about__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.5rem, min(25.71px, 10.68vw));
  }
}

.p-about__content {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  gap: 2.5rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-about__content {
    flex-direction: column;
    align-items: stretch;
    gap: 1.5rem;
  }
}

.p-about__figure {
  position: relative;
  flex-shrink: 0;
  padding: 0.75rem;
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.19rem 0.5rem rgba(0, 0, 0, 0.15);
  margin-left: 1.63rem;
  margin-top: 1.63rem;
}
@media screen and (max-width: 1024px) {
  .p-about__figure {
    align-self: flex-start;
  }
}
@media screen and (max-width: 768px) {
  .p-about__figure {
    margin-left: 1rem;
    margin-top: 1rem;
  }
}

.p-about__photo {
  display: block;
  width: 28.13rem;
  height: auto;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-about__photo {
    width: 100%;
  }
}

.p-about__since {
  position: absolute;
  top: -1.63rem;
  left: -1.63rem;
  display: grid;
  place-content: center;
  width: 4.5rem;
  height: 4.5rem;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0.19rem 0.5rem rgba(0, 0, 0, 0.15);
  color: var(--site-accent);
  text-align: center;
}

.p-about__since-label {
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 500;
  line-height: max(1.38rem, min(24.75px, 5.87vw));
}

.p-about__since-year {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 700;
  line-height: max(1.5rem, min(21.6px, 6.4vw));
}

.p-about__text {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  width: 39rem;
}
@media screen and (max-width: 1024px) {
  .p-about__text {
    width: auto;
    gap: 1.75rem;
  }
}

.p-about__body {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: 1.63;
  color: var(--site-text);
}
.p-about__body p + p {
  margin-top: 1.13rem;
}
.p-about__body strong {
  font-weight: 700;
  color: var(--site-primary);
}
.p-about__body {
  width: 40.13rem;
}
@media screen and (max-width: 1024px) {
  .p-about__body {
    width: auto;
  }
}

.p-about__button {
  --c-button-color: var(--site-text);
  align-self: flex-start;
}
@media screen and (max-width: 768px) {
  .p-about__button {
    --c-button-w: 15rem;
    --c-button-h: 3.5rem;
    align-self: center;
  }
}

.p-about__gallery {
  --gallery-gap: 2.5rem;
  --gallery-duration: 60s;
  position: relative;
  z-index: 1;
  margin-top: 3.25rem;
  overflow-x: clip;
}
@media screen and (max-width: 1024px) {
  .p-about__gallery {
    --gallery-gap: 1.25rem;
    margin-top: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about__gallery {
    --gallery-duration: 30s;
  }
}

.p-about__gallery-track {
  display: flex;
  width: max-content;
  animation-name: p-about-gallery-scroll;
  animation-duration: var(--gallery-duration);
  animation-timing-function: linear;
  animation-iteration-count: infinite;
  will-change: transform;
}
@media (prefers-reduced-motion: reduce) {
  .p-about__gallery-track {
    animation-duration: calc(var(--gallery-duration) * 2);
  }
}

.p-about__gallery-list {
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-about__gallery-item {
  flex-shrink: 0;
  width: 23rem;
  margin-inline-end: var(--gallery-gap);
}
@media screen and (max-width: 1440px) {
  .p-about__gallery-item {
    width: 18.75rem;
  }
}
@media screen and (max-width: 1024px) {
  .p-about__gallery-item {
    width: 16.25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about__gallery-item {
    width: 13.75rem;
  }
}
.p-about__gallery-item img {
  display: block;
  width: 100%;
  height: 15.31rem;
  object-fit: cover;
  border-radius: 0.63rem;
}
@media screen and (max-width: 1440px) {
  .p-about__gallery-item img {
    height: 12.5rem;
  }
}
@media screen and (max-width: 1024px) {
  .p-about__gallery-item img {
    height: 10.81rem;
  }
}
@media screen and (max-width: 768px) {
  .p-about__gallery-item img {
    height: 9.19rem;
  }
}

@keyframes p-about-gallery-scroll {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-33.3333333333%);
  }
}
.p-communication {
  padding-block: 7.5rem;
  background: var(--site-grad-hero);
}
@media screen and (max-width: 768px) {
  .p-communication {
    padding-block: 3.75rem;
  }
}

.p-communication__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-communication__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-communication__inner {
    padding-inline: 1.25rem;
  }
}

.p-communication__head {
  text-align: center;
}

.p-communication__title {
  font-size: max(3.38rem, min(18px, 14.41vw));
  font-weight: 700;
  line-height: max(4.75rem, min(25.33px, 20.28vw));
  letter-spacing: -0.02em;
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-communication__title {
    font-size: max(2.38rem, min(18px, 10.14vw));
    line-height: max(3.5rem, min(26.53px, 14.94vw));
  }
}
@media screen and (max-width: 768px) {
  .p-communication__title {
    font-size: max(1.5rem, min(18px, 6.4vw));
    line-height: max(2.38rem, min(28.5px, 10.14vw));
  }
}

.p-communication__title-line {
  display: block;
}
.p-communication__title-line + .p-communication__title-line {
  margin-top: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-communication__title-line + .p-communication__title-line {
    margin-top: 0.25rem;
  }
}

.p-communication__accent {
  color: var(--site-accent);
}

.p-communication__catch {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 2.5rem;
  margin-top: 2.5rem;
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 700;
  line-height: max(2.5rem, min(30px, 10.68vw));
  color: var(--site-secondary);
}
.p-communication__catch::before, .p-communication__catch::after {
  content: "";
  flex-shrink: 0;
  width: 2.88rem;
  height: 0.13rem;
  background-color: currentColor;
}
@media screen and (max-width: 768px) {
  .p-communication__catch {
    gap: 0.63rem;
    margin-top: 1.5rem;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.5rem, min(27.01px, 6.4vw));
  }
  .p-communication__catch::before, .p-communication__catch::after {
    width: 1.25rem;
  }
}

.p-communication__lead {
  width: min(53em, 100vw - 40px - var(--fixed-cta-w-tablet, 0px) * 2);
  margin-inline: calc((100% - min(53em, 100vw - 40px - var(--fixed-cta-w-tablet, 0px) * 2)) / 2);
  margin-top: 3.13rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-communication__lead {
    width: auto;
    margin-inline: 0;
    margin-top: 1.5rem;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.88rem, min(33.76px, 8.01vw));
    text-align: left;
  }
}

.p-communication__chart {
  width: 50rem;
  max-width: 100%;
  margin-top: 3.13rem;
  margin-inline: auto;
}

.p-communication__chart-goal,
.p-communication__chart-base {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  border-radius: 0.63rem;
  font-size: max(2.75rem, min(18px, 11.74vw));
  font-weight: 700;
  line-height: max(4.75rem, min(31.09px, 20.28vw));
}
@media screen and (max-width: 768px) {
  .p-communication__chart-goal,
  .p-communication__chart-base {
    gap: 0.63rem;
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: max(3rem, min(43.2px, 12.81vw));
  }
}

.p-communication__chart-goal {
  background-color: var(--site-accent);
  color: var(--site-bg);
}

.p-communication__chart-base {
  position: relative;
  margin-top: 2.56rem;
  background-color: var(--site-bg);
  border: 0.13rem solid var(--site-accent);
  color: var(--site-accent);
}
.p-communication__chart-base::before {
  content: "";
  position: absolute;
  top: -1.74rem;
  left: 50%;
  width: 2.56rem;
  height: 0.92rem;
  background-color: var(--site-accent);
  mask: url(../images/front/comm-arrow.svg) center/contain no-repeat;
  -webkit-mask: url(../images/front/comm-arrow.svg) center/contain no-repeat;
  transform: translateX(-50%) rotate(-90deg);
}
@media screen and (max-width: 768px) {
  .p-communication__chart-base {
    margin-top: 1.88rem;
  }
  .p-communication__chart-base::before {
    top: -1.28rem;
    width: 1.88rem;
    height: 0.67rem;
  }
}

.p-communication__chart-icon {
  flex-shrink: 0;
  width: 2.88rem;
  height: 2.88rem;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-communication__chart-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
}

.p-communication__chart-icon--growth {
  height: 2.63rem;
}
@media screen and (max-width: 768px) {
  .p-communication__chart-icon--growth {
    height: 1.38rem;
  }
}

.p-communication__chart-roots {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-top: 4.75rem;
  list-style: none;
}
.p-communication__chart-roots::before {
  content: "";
  position: absolute;
  top: -2.5rem;
  left: 9.38rem;
  width: 30.63rem;
  height: 2.5rem;
  border: 0.13rem solid var(--site-accent);
  border-bottom: none;
}
.p-communication__chart-roots::after {
  content: "";
  position: absolute;
  top: -4.75rem;
  left: 50%;
  width: 0.13rem;
  height: 2.25rem;
  background-color: var(--site-accent);
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .p-communication__chart-roots {
    margin-top: 3rem;
  }
  .p-communication__chart-roots::before {
    top: -1.5rem;
    left: 22.5%;
    width: 55%;
    height: 1.5rem;
  }
  .p-communication__chart-roots::after {
    top: -3rem;
    height: 1.5rem;
  }
}

.p-communication__chart-root {
  width: 18.75rem;
  border-radius: 0.63rem;
  background-color: var(--site-accent);
  font-size: max(2.75rem, min(18px, 11.74vw));
  font-weight: 700;
  line-height: max(4.75rem, min(31.09px, 20.28vw));
  color: var(--site-bg);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-communication__chart-root {
    width: 45%;
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: max(3rem, min(43.2px, 12.81vw));
  }
}

.p-communication__summary {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  max-width: 80rem;
  margin-inline: auto;
  padding: 4rem 21.25rem 4rem 5rem;
  margin-top: 9.38rem;
  background: var(--site-grad-section);
  border-radius: 0.63rem;
  box-shadow: 0 0.19rem 0.38rem rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 1024px) {
  .p-communication__summary {
    padding-right: 16.25rem;
    padding-left: 3rem;
  }
}
@media screen and (max-width: 768px) {
  .p-communication__summary {
    padding: 1.75rem 1.25rem;
    margin-top: 5rem;
    text-align: center;
  }
}

.p-communication__summary::before {
  content: "";
  width: 5.63rem;
  height: 3.13rem;
  background-color: var(--site-accent);
  mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
  -webkit-mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
  position: absolute;
  top: -6.25rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .p-communication__summary::before {
    top: -3.44rem;
    width: 3.38rem;
    height: 1.88rem;
  }
}

.p-communication__summary-text {
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(3.63rem, min(26.1px, 15.48vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-communication__summary-text {
    font-size: max(1.88rem, min(18px, 8.01vw));
    line-height: max(2.88rem, min(27.6px, 12.28vw));
  }
}
@media screen and (max-width: 768px) {
  .p-communication__summary-text {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.75rem, min(31.5px, 7.47vw));
  }
}

.p-communication__summary-sub {
  margin-top: 0.63rem;
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(2.5rem, min(18px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-communication__summary-sub {
    font-size: max(1.88rem, min(18px, 8.01vw));
  }
}
@media screen and (max-width: 768px) {
  .p-communication__summary-sub {
    margin-top: 0.25rem;
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.75rem, min(31.5px, 7.47vw));
  }
}

.p-communication__summary-person {
  position: absolute;
  right: 0.63rem;
  bottom: 0;
  width: 23.75rem;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .p-communication__summary-person {
    width: 16.25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-communication__summary-person {
    display: none;
  }
}

.p-reason {
  padding-block: 7.5rem;
  background-color: var(--site-bg);
}
@media screen and (max-width: 768px) {
  .p-reason {
    padding-block: 3.75rem;
  }
}

.p-reason__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-reason__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-reason__inner {
    padding-inline: 1.25rem;
  }
}

.p-reason__problem {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.13rem;
  width: 100%;
  padding: 5rem 2.5rem;
  background-color: var(--site-bg-tint);
}
@media screen and (max-width: 768px) {
  .p-reason__problem {
    gap: 1.75rem;
    padding: 2rem 0.88rem;
  }
}

.p-reason__problem-title {
  font-size: max(3.38rem, min(18px, 14.41vw));
  font-weight: 700;
  line-height: max(4.75rem, min(25.33px, 20.28vw));
  letter-spacing: -0.02em;
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-reason__problem-title {
    font-size: max(1.19rem, min(18px, 5.07vw));
    line-height: max(2.25rem, min(34.11px, 9.61vw));
  }
}

.p-reason__problem-list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 54rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-reason__problem-list {
    gap: 0.88rem;
    width: 100%;
  }
}

.p-reason__problem-item {
  display: flex;
  align-items: flex-end;
  gap: 1.94rem;
}
@media screen and (max-width: 768px) {
  .p-reason__problem-item {
    align-items: flex-start;
    gap: 0.75rem;
  }
}

.p-reason__problem-icon {
  flex-shrink: 0;
  width: 2.06rem;
  height: 2.13rem;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-reason__problem-icon {
    width: 1.25rem;
    height: 1.31rem;
    margin-top: 0.25rem;
  }
}

.p-reason__problem-text {
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 500;
  line-height: max(2.5rem, min(22.5px, 10.68vw));
  color: var(--site-text);
  white-space: nowrap;
}
.p-reason__problem-text strong {
  font-weight: 700;
}
@media screen and (max-width: 1024px) {
  .p-reason__problem-text {
    font-size: max(1.5rem, min(18px, 6.4vw));
    line-height: max(2.13rem, min(25.5px, 9.07vw));
  }
}
@media screen and (max-width: 768px) {
  .p-reason__problem-text {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.63rem, min(29.25px, 6.94vw));
    white-space: normal;
  }
}

.p-reason__reason {
  margin-top: 9.38rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-reason__reason {
    margin-top: 5rem;
  }
}

.p-reason__reason-inner {
  width: 100%;
}

.p-reason__reason::before {
  content: "";
  width: 5.63rem;
  height: 3.13rem;
  background-color: var(--site-accent);
  mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
  -webkit-mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
  position: absolute;
  top: -6.25rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .p-reason__reason::before {
    top: -3.44rem;
    width: 3.38rem;
    height: 1.88rem;
  }
}

.p-reason__title {
  font-size: max(3.38rem, min(18px, 14.41vw));
  font-weight: 700;
  line-height: max(4.75rem, min(25.33px, 20.28vw));
  letter-spacing: -0.02em;
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-reason__title {
    font-size: max(2.38rem, min(18px, 10.14vw));
    line-height: max(3.5rem, min(26.53px, 14.94vw));
  }
}
@media screen and (max-width: 768px) {
  .p-reason__title {
    font-size: max(1.44rem, min(18px, 6.14vw));
    line-height: max(2.25rem, min(28.17px, 9.61vw));
  }
}

.p-reason__cards {
  display: flex;
  gap: 1.88rem;
  margin-top: 3.13rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-reason__cards {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
    margin-top: 1.88rem;
  }
}

.p-reason__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  flex: 1;
  min-width: 0;
  min-height: 36.06rem;
  padding: 2.5rem 1.63rem;
  background-color: var(--site-bg-pale);
  border-radius: 0.63rem;
  box-shadow: 0 0.19rem 0.38rem rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 1024px) {
  .p-reason__card {
    min-height: 28.75rem;
    padding: 1.75rem 1.13rem;
  }
}
@media screen and (max-width: 768px) {
  .p-reason__card {
    width: 100%;
    max-width: 23.75rem;
    min-height: 0;
  }
}

.p-reason__card-photo {
  width: 20.5rem;
  max-width: 100%;
  height: 14.31rem;
  object-fit: cover;
  border-radius: 0.5rem;
}
@media screen and (max-width: 1024px) {
  .p-reason__card-photo {
    height: 11.25rem;
  }
}

.p-reason__card-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  width: 100%;
}

.p-reason__card-title {
  font-size: max(1.5rem, min(22px, 6.4vw));
  font-weight: 700;
  line-height: max(2.5rem, min(36.67px, 10.68vw));
  color: var(--site-secondary);
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-reason__card-title {
    font-size: max(1.19rem, min(21px, 5.07vw));
    line-height: max(2rem, min(35.37px, 8.54vw));
  }
}

.p-reason__card-title::after {
  content: "";
  display: block;
  width: 3.75rem;
  height: 0.13rem;
  margin: 1.25rem auto 0;
  background-color: var(--site-primary);
}

.p-reason__card-desc {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(2rem, min(36px, 8.54vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-reason__card-desc {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.5rem, min(27px, 6.4vw));
  }
}

.p-promise {
  padding-block: 7.5rem;
  background-color: var(--site-bg-pale);
}
@media screen and (max-width: 768px) {
  .p-promise {
    padding-block: 3.75rem;
  }
}

.p-promise--no-bg {
  padding-block: 5rem 0;
  background-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-promise--no-bg {
    padding-block: 3.13rem 0;
  }
}
.p-promise--no-bg .p-promise__inner {
  max-width: none;
  padding-inline: 0;
}

.p-promise__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-promise__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-promise__inner {
    padding-inline: 1.25rem;
  }
}

.p-promise__br {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-promise__br {
    display: revert;
  }
}

.p-promise__head {
  text-align: center;
}

.p-promise__catch {
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: max(2.44rem, min(21.94px, 10.41vw));
  color: var(--site-text);
}
.p-promise__catch::before {
  content: "\\";
}
.p-promise__catch::after {
  content: "/";
}
@media screen and (max-width: 1024px) {
  .p-promise__catch {
    font-size: max(1.5rem, min(18px, 6.4vw));
    line-height: max(2.25rem, min(27px, 9.61vw));
  }
}
@media screen and (max-width: 768px) {
  .p-promise__catch {
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.63rem, min(29.26px, 6.94vw));
  }
  .p-promise__catch::before, .p-promise__catch::after {
    display: none;
  }
}

.p-promise__title {
  margin-top: 0.63rem;
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-promise__title {
    margin-top: 0.25rem;
    font-size: max(1.5rem, min(18px, 6.4vw));
    line-height: max(2.5rem, min(30px, 10.68vw));
  }
}

.p-promise__num {
  font-size: max(5rem, min(18px, 21.35vw));
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .p-promise__num {
    font-size: max(2.13rem, min(18px, 9.07vw));
  }
}

.p-promise__list {
  max-width: 71.81rem;
  margin-top: 3.13rem;
  margin-inline: auto;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-promise__list {
    margin-top: 1.88rem;
  }
}

.p-promise__item {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  min-height: 15rem;
  padding-block: 1rem;
}
.p-promise__item:nth-child(2) {
  border-block: 0.25rem solid var(--site-bg);
}
@media screen and (max-width: 768px) {
  .p-promise__item {
    flex-direction: column-reverse;
    align-items: stretch;
    gap: 1rem;
    min-height: 0;
    padding-block: 1.5rem;
  }
}

.p-promise__body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  flex: 0 0 56.25rem;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .p-promise__body {
    flex-basis: auto;
    gap: 0.75rem;
  }
}

.p-promise__heading {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-promise__heading {
    gap: 0.75rem;
  }
}

.p-promise__item-title {
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: max(2.5rem, min(22.5px, 10.68vw));
  color: var(--site-secondary);
}
@media screen and (max-width: 768px) {
  .p-promise__item-title {
    font-size: max(1.06rem, min(18px, 4.54vw));
    line-height: max(1.75rem, min(29.65px, 7.47vw));
  }
}

.p-promise__desc {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-promise__desc {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.63rem, min(29.25px, 6.94vw));
  }
}

.p-promise__photo {
  flex-shrink: 0;
  width: 13.06rem;
  height: 12.75rem;
  object-fit: cover;
  object-position: top;
}
@media screen and (max-width: 768px) {
  .p-promise__photo {
    width: 7.5rem;
    height: 7.31rem;
    align-self: center;
  }
}

.p-promise__item:first-child .p-promise__photo {
  width: 12.75rem;
  height: 8.75rem;
}
@media screen and (max-width: 768px) {
  .p-promise__item:first-child .p-promise__photo {
    width: 7.5rem;
    height: 5.13rem;
  }
}

.p-menu {
  padding-block: 7.5rem;
  background-color: var(--site-bg);
}
@media screen and (max-width: 768px) {
  .p-menu {
    padding-block: 3.75rem;
  }
}

.p-menu__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-menu__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-menu__inner {
    padding-inline: 1.25rem;
  }
}

.p-menu__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-menu__head {
    gap: 0.63rem;
  }
}

.p-menu__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-secondary);
}
.p-menu__label::after {
  content: "";
  width: 5rem;
  height: 0.07rem;
  background-color: var(--site-secondary);
}

.p-menu__title {
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-menu__title {
    font-size: max(2.75rem, min(18px, 11.74vw));
    line-height: max(3.75rem, min(24.55px, 16.01vw));
  }
}
@media screen and (max-width: 768px) {
  .p-menu__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.5rem, min(25.71px, 10.68vw));
  }
}

.p-menu__lead {
  margin-top: 3.13rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-menu__lead {
    margin-top: 1.5rem;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.88rem, min(33.76px, 8.01vw));
  }
}

.p-menu__cards {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: auto auto auto auto;
  column-gap: 4.75rem;
  row-gap: 1.25rem;
  margin-top: 5rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-menu__cards {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-top: 2.5rem;
  }
}

.p-menu__card {
  display: grid;
  grid-template-rows: subgrid;
  grid-row: span 4;
  padding: 2.44rem 2.5rem;
  background-color: #fff;
  border-radius: 0.63rem;
  box-shadow: 0 0.19rem 0.38rem rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 768px) {
  .p-menu__card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.88rem;
    padding: 1rem;
  }
}

.p-menu__card-photo {
  width: 100%;
  height: 21.06rem;
  object-fit: cover;
  border-radius: 0.63rem;
}
@media screen and (max-width: 1024px) {
  .p-menu__card-photo {
    height: 15rem;
  }
}
@media screen and (max-width: 768px) {
  .p-menu__card-photo {
    height: 12.5rem;
  }
}

.p-menu__card-title {
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(2.5rem, min(18px, 10.68vw));
  color: var(--site-secondary);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-menu__card-title {
    font-size: max(1.38rem, min(18px, 5.87vw));
    line-height: 1.2;
  }
}

.p-menu__card-title::after {
  content: "";
  display: block;
  width: 3.75rem;
  height: 0.13rem;
  margin: 1.25rem auto 0;
  background-color: var(--site-primary);
}

.p-menu__card-desc {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.63rem, min(29.25px, 6.94vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-menu__card-desc {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.5rem, min(27px, 6.4vw));
  }
}

.p-menu__card-button {
  --c-button-color: var(--site-text);
  justify-self: center;
}
@media screen and (max-width: 768px) {
  .p-menu__card-button {
    --c-button-w: 15rem;
    --c-button-h: 3.5rem;
  }
}

.p-menu__examples {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  margin-top: 5rem;
  padding: 3.13rem 2.5rem;
  background-color: var(--site-bg-tint);
  border-radius: 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-menu__examples {
    gap: 1.25rem;
    margin-top: 2.5rem;
    padding: 1.75rem 1.25rem;
  }
}

.p-menu__examples-title {
  display: flex;
  align-items: center;
  gap: 2.13rem;
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(2.5rem, min(18px, 10.68vw));
  color: var(--site-text);
}
.p-menu__examples-title::before, .p-menu__examples-title::after {
  content: "";
  width: 10rem;
  height: 0.07rem;
  background-color: var(--site-secondary);
}
@media screen and (max-width: 1024px) {
  .p-menu__examples-title {
    gap: 1.25rem;
    font-size: max(1.75rem, min(18px, 7.47vw));
  }
  .p-menu__examples-title::before, .p-menu__examples-title::after {
    width: 5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-menu__examples-title {
    gap: 0.75rem;
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
  .p-menu__examples-title::before, .p-menu__examples-title::after {
    width: 1.88rem;
  }
}

.p-menu__tags {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 1.25rem 4.44rem;
  list-style: none;
}
@media screen and (max-width: 1024px) {
  .p-menu__tags {
    gap: 1rem 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-menu__tags {
    gap: 0.63rem;
  }
}

.p-menu__tag {
  padding: 0.63rem 2.5rem;
  background-color: #fff;
  border-radius: 3.13rem;
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 500;
  line-height: max(2.5rem, min(30px, 10.68vw));
  color: #0a2548;
}
@media screen and (max-width: 1024px) {
  .p-menu__tag {
    font-size: max(1.13rem, min(18px, 4.8vw));
    line-height: max(2rem, min(32px, 8.54vw));
  }
}
@media screen and (max-width: 768px) {
  .p-menu__tag {
    padding: 0.38rem 1rem;
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
    line-height: max(1.5rem, min(24px, 6.4vw));
  }
}

.p-case {
  padding-block: 7.5rem;
  background-color: var(--site-bg);
  overflow: clip;
}
@media screen and (max-width: 768px) {
  .p-case {
    padding-block: 0 3.75rem;
  }
}

.p-case__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-case__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-case__inner {
    padding-inline: 1.25rem;
  }
}

.p-case__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-case__head {
    gap: 0.63rem;
  }
}

.p-case__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-secondary);
}
.p-case__label::after {
  content: "";
  width: 5rem;
  height: 0.07rem;
  background-color: var(--site-secondary);
}

.p-case__title {
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-case__title {
    font-size: max(2.75rem, min(18px, 11.74vw));
    line-height: max(3.75rem, min(24.55px, 16.01vw));
  }
}
@media screen and (max-width: 768px) {
  .p-case__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.5rem, min(25.71px, 10.68vw));
  }
}

.p-case__lead {
  margin-top: 3.13rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-case__lead {
    margin-top: 1.5rem;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.88rem, min(33.76px, 8.01vw));
  }
}

.p-case__contents-inner {
  max-width: 90.19rem;
  margin-inline: auto;
  padding-inline: 1.88rem;
}
@media screen and (max-width: 768px) {
  .p-case__contents-inner {
    padding-inline: 0.75rem;
  }
}

.p-case__slider {
  margin-top: 2.75rem;
}
.p-case__slider .swiper {
  padding: 1rem;
}
@media screen and (max-width: 768px) {
  .p-case__slider {
    margin-top: 2rem;
  }
  .p-case__slider .swiper {
    margin-inline: -0.5rem;
  }
}

.p-case__list > .p-case__card {
  display: flex;
  flex-shrink: 0;
  width: 43.88rem;
  min-height: 36.5rem;
  background-color: #fff;
  border-radius: 0.63rem;
  box-shadow: 0 0.19rem 0.38rem rgba(0, 0, 0, 0.15);
  scroll-snap-align: center;
}
@media screen and (max-width: 1024px) {
  .p-case__list > .p-case__card {
    min-height: 31.25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-case__list > .p-case__card {
    min-height: 0;
  }
}

.p-case__link {
  display: flex;
  flex: 1;
  flex-direction: column;
  justify-content: center;
  gap: 1.25rem;
  padding: 1.88rem 2.5rem;
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.p-case__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .p-case__link {
    padding: 1.25rem;
  }
}

.p-case__summary {
  display: flex;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-case__summary {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
}

.p-case__photo {
  flex-shrink: 0;
  width: 13.13rem;
  aspect-ratio: 210/146;
  background-color: #ccc;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-case__photo {
    width: 100%;
  }
}
.p-case__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-case__meta {
  display: flex;
  flex-direction: column;
  gap: 0.31rem;
  flex: 1;
  min-width: 0;
}

.p-case__card-title {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: max(2.25rem, min(29.45px, 9.61vw));
  color: var(--site-accent);
}
@media screen and (max-width: 768px) {
  .p-case__card-title {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.63rem, min(29.25px, 6.94vw));
  }
}

.p-case__company {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: max(2.5rem, min(32.73px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-case__company {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.75rem, min(31.5px, 7.47vw));
  }
}

.p-case__industry {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  color: var(--site-text);
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-case__industry {
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
    line-height: max(1.5rem, min(24px, 6.4vw));
  }
}

.p-case__detail {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.p-case__block {
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
}

.p-case__block--effect::before {
  content: "";
  width: 2.5rem;
  height: 1.38rem;
  background-color: var(--site-accent);
  mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
  -webkit-mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
}

.p-case__badge {
  display: grid;
  place-items: center;
  width: fit-content;
  min-width: 4.5rem;
  padding: 0.13rem 0.88rem;
  background-color: #878787;
  border-radius: 2.5rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 700;
  line-height: max(1.75rem, min(31.5px, 7.47vw));
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-case__badge {
    font-size: max(0.75rem, min(12px, 3.2vw), 10px);
    line-height: max(1.5rem, min(24px, 6.4vw));
  }
}

.p-case__badge--effect {
  background-color: var(--site-primary);
}

.p-case__block-title {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 700;
  line-height: max(1.88rem, min(27px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-case__block-title {
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.5rem, min(27.01px, 6.4vw));
  }
}

.p-case__points {
  list-style: none;
}

.p-case__point {
  display: flex;
  align-items: flex-start;
  gap: 0.38rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.88rem, min(33.75px, 8.01vw));
  color: var(--site-text);
}
.p-case__point::before {
  content: "";
  flex-shrink: 0;
  width: 0.38rem;
  height: 0.38rem;
  margin-top: 0.75rem;
  background-color: var(--site-primary);
  border-radius: 50%;
}
@media screen and (max-width: 768px) {
  .p-case__point {
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
    line-height: max(1.5rem, min(24px, 6.4vw));
  }
  .p-case__point::before {
    margin-top: 0.56rem;
  }
}

.p-case__block--effect .p-case__point {
  font-weight: 700;
}

.p-case__foot {
  display: flex;
  justify-content: center;
  margin-top: 2.75rem;
}
@media screen and (max-width: 768px) {
  .p-case__foot {
    margin-top: 2.5rem;
  }
}

.p-case__button {
  --c-button-color: var(--site-text);
}

.p-case__slider .c-slider__next {
  right: -0.88rem;
}
.p-case__slider .c-slider__prev {
  left: -0.88rem;
}
@media screen and (max-width: 768px) {
  .p-case__slider .c-slider__next {
    right: -0.5rem;
  }
  .p-case__slider .c-slider__prev {
    left: -0.5rem;
  }
}

.p-message {
  padding-block: 7.5rem;
  background-color: var(--site-bg);
}
@media screen and (max-width: 768px) {
  .p-message {
    padding-block: 0 3.75rem;
  }
}

.p-message__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-message__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-message__inner {
    padding-inline: 1.25rem;
  }
}

.p-message__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-message__head {
    gap: 0.63rem;
  }
}

.p-message__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-secondary);
}
.p-message__label::after {
  content: "";
  width: 5rem;
  height: 0.07rem;
  background-color: var(--site-secondary);
}

.p-message__title {
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-message__title {
    font-size: max(2.75rem, min(18px, 11.74vw));
    line-height: max(3.75rem, min(24.55px, 16.01vw));
  }
}
@media screen and (max-width: 768px) {
  .p-message__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.5rem, min(25.71px, 10.68vw));
  }
}

.p-message__band {
  position: relative;
  margin-top: 3.13rem;
  padding-top: 0;
}
@media screen and (max-width: 768px) {
  .p-message__band {
    margin-top: 2rem;
  }
}

.p-message__band::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 40rem;
  background: url(../images/front/message-bg.webp) center/cover no-repeat;
  opacity: 0.16;
  pointer-events: none;
}

.p-message__band-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-message__band-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-message__band-inner {
    padding-inline: 1.25rem;
  }
}
.p-message__band-inner {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 27.5rem minmax(0, 1fr);
  column-gap: 3.75rem;
  align-items: start;
}
@media screen and (max-width: 1024px) {
  .p-message__band-inner {
    display: block;
  }
}

.p-message__person-wrap {
  display: contents;
}
@media screen and (max-width: 1024px) {
  .p-message__person-wrap {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    gap: 1.25rem;
  }
}

.p-message__person {
  grid-column: 1;
  grid-row: 1;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .p-message__person {
    width: 20rem;
  }
}
@media screen and (max-width: 768px) {
  .p-message__person {
    width: 11.25rem;
  }
}

.p-message__texts {
  grid-column: 2;
  grid-row: 1/span 2;
  display: flex;
  flex-direction: column;
  gap: 1.13rem;
  flex: 1;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .p-message__texts {
    gap: 0.75rem;
  }
}

.p-message__body {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.88rem, min(33.75px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-message__body {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.63rem, min(29.25px, 6.94vw));
  }
}

.p-message__profile {
  display: contents;
}
@media screen and (max-width: 1024px) {
  .p-message__profile {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1rem;
  }
}

.p-message__identity {
  grid-column: 1;
  grid-row: 2;
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
  margin-top: 3.13rem;
}
@media screen and (max-width: 1024px) {
  .p-message__identity {
    gap: 0;
    margin-top: 0;
  }
}

.p-message__role {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.88rem, min(33.75px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-message__role {
    font-size: max(0.94rem, min(16.88px, 4vw));
  }
}

.p-message__name {
  font-size: max(1.75rem, min(18px, 7.47vw));
  font-weight: 700;
  line-height: 1.4;
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-message__name {
    font-size: max(1.31rem, min(18px, 5.6vw));
  }
}

.p-message__job {
  margin-top: 0.88rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.63rem, min(29.25px, 6.94vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-message__job {
    font-size: max(0.75rem, min(12px, 3.2vw), 10px);
    line-height: max(1.38rem, min(22px, 5.87vw));
  }
}

.p-message__job::after {
  content: "";
  display: block;
  width: 3.75rem;
  height: 0.13rem;
  margin-top: 1.25rem;
  background-color: var(--site-primary);
}

.p-message__sns {
  margin-top: 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-message__sns {
    margin-top: 0.75rem;
  }
}

.p-message__history {
  grid-column: 1/-1;
  grid-row: 3;
  margin-top: 1.88rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-message__history {
    gap: 0.63rem;
    margin-top: 0;
  }
}

.p-message__history-title {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 700;
  line-height: max(1.88rem, min(27px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-message__history-title {
    font-size: max(0.94rem, min(16.88px, 4vw));
  }
}

.p-message__history-body {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 400;
  line-height: max(1.63rem, min(29.25px, 6.94vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-message__history-body {
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: 1.6;
  }
}

.p-message__buttons {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-message__buttons {
    margin-top: 2.5rem;
  }
}

.p-message__buttons-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-message__buttons-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-message__buttons-inner {
    padding-inline: 1.25rem;
  }
}
.p-message__buttons-inner {
  display: flex;
  justify-content: center;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-message__buttons-inner {
    flex-direction: column;
    align-items: center;
    gap: 1rem;
  }
}

.p-message__button {
  --c-button-color: var(--site-text);
}

.p-achievement {
  position: relative;
  padding-block: 7.5rem;
  background: var(--site-grad-hero);
  overflow: clip;
}
@media screen and (max-width: 768px) {
  .p-achievement {
    padding-block: 3.75rem;
  }
}

.p-achievement::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 108%;
  aspect-ratio: 2077/916;
  transform: translateX(-50%);
  background: url(../images/front/about-bg.webp) top center/cover no-repeat;
  opacity: 0.7;
  pointer-events: none;
}

.p-achievement__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-achievement__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-achievement__inner {
    padding-inline: 1.25rem;
  }
}
.p-achievement__inner {
  position: relative;
  z-index: 1;
}

.p-achievement__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-achievement__head {
    gap: 0.63rem;
  }
}

.p-achievement__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-secondary);
}
.p-achievement__label::after {
  content: "";
  width: 5rem;
  height: 0.07rem;
  background-color: var(--site-secondary);
}

.p-achievement__title {
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-achievement__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.5rem, min(25.71px, 10.68vw));
  }
}

.p-achievement__lead {
  margin-top: 3.13rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-achievement__lead {
    margin-top: 1.5rem;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.88rem, min(33.76px, 8.01vw));
  }
}

.p-achievement__person {
  position: absolute;
  top: 3.38rem;
  right: calc(2.5rem + var(--fixed-cta-w-tablet, 0px));
  z-index: -1;
  width: 14.88rem;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 1024px) {
  .p-achievement__person {
    display: none;
  }
}

.p-achievement__list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(4, auto);
  grid-auto-flow: column;
  gap: 2.5rem;
  margin-top: 3.75rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-achievement__list {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
    gap: 1rem;
    margin-top: 2.5rem;
  }
}

.p-achievement__card {
  display: flex;
  align-items: center;
  gap: 1.88rem;
  height: 10rem;
  padding-inline: 2.5rem;
  background-color: #fff;
  border-radius: 0.63rem;
  box-shadow: 0 0.19rem 0.25rem rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 768px) {
  .p-achievement__card {
    gap: 1rem;
    height: auto;
    min-height: 6.88rem;
    padding: 1rem 1.25rem;
  }
}

.p-achievement__icon {
  display: grid;
  place-items: center;
  flex-shrink: 0;
  width: 5.63rem;
  height: 5.63rem;
  background-color: var(--site-bg-blue);
  border-radius: 50%;
}
.p-achievement__icon img {
  width: 3.38rem;
  height: 3.38rem;
  object-fit: contain;
}

.p-achievement__text {
  display: flex;
  flex-direction: column;
  justify-content: center;
  flex: 1;
  min-width: 0;
  height: 7.5rem;
  padding-left: 1.88rem;
  border-left: 0.13rem solid var(--site-bg-blue);
}
@media screen and (max-width: 1024px) {
  .p-achievement__text {
    height: auto;
    min-height: 7.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-achievement__text {
    height: auto;
    padding-left: 1rem;
  }
}

.p-achievement__item-label {
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 700;
  line-height: 1.4;
  color: var(--site-text);
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .p-achievement__item-label {
    white-space: normal;
  }
}
@media screen and (max-width: 768px) {
  .p-achievement__item-label {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    white-space: normal;
  }
}

.p-achievement__item-label--small {
  font-size: max(1.38rem, min(16.5px, 5.87vw));
}
@media screen and (max-width: 1024px) {
  .p-achievement__item-label--small {
    font-size: max(1.38rem, min(13.2px, 5.87vw));
  }
}
@media screen and (max-width: 768px) {
  .p-achievement__item-label--small {
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  }
}

.p-achievement__value {
  display: flex;
  align-items: baseline;
  line-height: 4.38rem;
  color: var(--site-accent);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-achievement__value {
    line-height: 2.5rem;
  }
}

.p-achievement__num {
  font-size: max(4.25rem, min(18px, 18.15vw));
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-achievement__num {
    font-size: max(2.25rem, min(18px, 9.61vw));
  }
}

.p-achievement__unit {
  font-size: max(2.38rem, min(18px, 10.14vw));
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-achievement__unit {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.p-newcomer {
  padding-block: 7.5rem;
  background-color: var(--site-bg);
}
@media screen and (max-width: 768px) {
  .p-newcomer {
    padding-block: 3.75rem;
  }
}

.p-newcomer__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-newcomer__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-newcomer__inner {
    padding-inline: 1.25rem;
  }
}

.p-newcomer__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  text-align: center;
}

.p-newcomer__title {
  font-size: max(3.38rem, min(18px, 14.41vw));
  font-weight: 700;
  line-height: max(4.75rem, min(25.33px, 20.28vw));
  letter-spacing: -0.02em;
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-newcomer__title {
    font-size: max(2.38rem, min(18px, 10.14vw));
    line-height: max(3.5rem, min(26.53px, 14.94vw));
  }
}
@media screen and (max-width: 768px) {
  .p-newcomer__title {
    font-size: max(1.44rem, min(18px, 6.14vw));
    line-height: max(2.25rem, min(28.17px, 9.61vw));
  }
}

.p-newcomer__accent {
  color: var(--site-accent);
}

.p-newcomer__sub {
  margin-top: 1.88rem;
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(2.5rem, min(18px, 10.68vw));
  color: var(--site-secondary);
}
@media screen and (max-width: 1024px) {
  .p-newcomer__sub {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.63rem, min(27px, 11.21vw));
  }
}
@media screen and (max-width: 768px) {
  .p-newcomer__sub {
    margin-top: 0.5rem;
    font-size: max(1.13rem, min(18px, 4.8vw));
    line-height: max(1.88rem, min(30px, 8.01vw));
  }
}

.p-newcomer__break-sp {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-newcomer__break-sp {
    display: block;
  }
}

.p-newcomer__question {
  font-size: max(1.75rem, min(18px, 7.47vw));
  font-weight: 700;
  line-height: max(2.25rem, min(23.14px, 9.61vw));
  color: #0a2548;
}
@media screen and (max-width: 768px) {
  .p-newcomer__question {
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.63rem, min(29.26px, 6.94vw));
  }
}

.p-newcomer__balloons {
  position: relative;
  margin-top: 3.13rem;
}
@media screen and (max-width: 768px) {
  .p-newcomer__balloons {
    margin-top: 2rem;
  }
}

.p-newcomer__list {
  position: relative;
  width: 100%;
  aspect-ratio: 1158/560;
  margin-inline: auto;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-newcomer__list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
    width: auto;
    aspect-ratio: auto;
  }
}

.p-newcomer__balloon {
  position: absolute;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.38rem;
  width: 30.74%;
  height: 46.43%;
  padding: 1.88rem 1.38rem 3.13rem;
  background: center/100% 100% no-repeat;
  font-size: max(1rem, min(16px, 4.27vw));
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-newcomer__balloon {
    font-size: max(1rem, min(10.56px, 4.27vw));
  }
}
.p-newcomer__balloon {
  color: var(--site-text);
}
.p-newcomer__balloon:nth-child(1) {
  left: 0;
  top: 44.64%;
  background-image: url(../images/front/newcomer-bubble-3.svg);
}
.p-newcomer__balloon:nth-child(2) {
  left: 14.34%;
  top: 0;
  background-image: url(../images/front/newcomer-bubble-1.svg);
}
.p-newcomer__balloon:nth-child(3) {
  left: 52.94%;
  top: 8.21%;
  background-image: url(../images/front/newcomer-bubble-2.svg);
}
.p-newcomer__balloon:nth-child(4) {
  left: 69.26%;
  top: 53.21%;
  background-image: url(../images/front/newcomer-bubble-4.svg);
}
@media screen and (max-width: 768px) {
  .p-newcomer__balloon {
    position: static;
    width: auto;
    height: auto;
    padding: 1.25rem 1rem;
    background-image: none;
    border-radius: 1.25rem;
  }
  .p-newcomer__balloon:nth-child(1), .p-newcomer__balloon:nth-child(3) {
    background-color: #F2FBFF;
  }
  .p-newcomer__balloon:nth-child(2), .p-newcomer__balloon:nth-child(4) {
    background-color: var(--site-bg-blue);
  }
}

.p-newcomer__balloon-title {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: max(2.25rem, min(29.45px, 9.61vw));
}
@media screen and (max-width: 1024px) {
  .p-newcomer__balloon-title {
    font-size: max(1.38rem, min(14.52px, 5.87vw));
    line-height: max(2.25rem, min(23.76px, 9.61vw));
  }
}
@media screen and (max-width: 768px) {
  .p-newcomer__balloon-title {
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.63rem, min(29.26px, 6.94vw));
  }
}

.p-newcomer__illust {
  position: absolute;
  left: 43.7%;
  top: 63.04%;
  width: 12.78%;
  height: auto;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-newcomer__illust {
    position: static;
    width: 7.5rem;
    margin: 1.5rem auto 0;
    display: block;
  }
}

.p-newcomer__summary {
  position: relative;
  margin-top: 9.38rem;
}
@media screen and (max-width: 768px) {
  .p-newcomer__summary {
    margin-top: 5rem;
  }
}

.p-newcomer__summary::before {
  content: "";
  width: 5.63rem;
  height: 3.13rem;
  background-color: var(--site-accent);
  mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
  -webkit-mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
  position: absolute;
  top: -6.25rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .p-newcomer__summary::before {
    top: -3.44rem;
    width: 3.38rem;
    height: 1.88rem;
  }
}

.p-newcomer__band {
  display: grid;
  place-items: center;
  width: 100%;
  max-width: 68.75rem;
  min-height: 5rem;
  margin-inline: auto;
  padding: 0.63rem 1.25rem;
  background-color: var(--site-accent);
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(3.25rem, min(23.4px, 13.88vw));
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-newcomer__band {
    font-size: max(1.38rem, min(18px, 5.87vw));
    line-height: 1.4;
  }
}

.p-newcomer__note {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2.5rem;
  width: 100%;
  max-width: 68.75rem;
  margin-inline: auto;
  padding: 0.63rem 2.75rem 2.06rem;
  background-color: var(--site-bg-tint);
}
@media screen and (max-width: 768px) {
  .p-newcomer__note {
    gap: 1.5rem;
    padding: 0.38rem 1.25rem 1rem;
  }
}

.p-newcomer__note-title {
  font-size: max(1.88rem, min(18px, 8.01vw));
  font-weight: 700;
  line-height: max(2.5rem, min(24px, 10.68vw));
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-newcomer__note-title {
    font-size: max(1.13rem, min(18px, 4.8vw));
    line-height: max(1.88rem, min(30px, 8.01vw));
  }
}

.p-newcomer__program {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-newcomer__program {
    gap: 0;
  }
}

.p-newcomer__program-title {
  display: flex;
  align-items: center;
  gap: 2.13rem;
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: max(2.25rem, min(29.45px, 9.61vw));
  color: var(--site-accent);
}
.p-newcomer__program-title::before, .p-newcomer__program-title::after {
  content: "";
  width: 10rem;
  height: 0.07rem;
  background-color: var(--site-accent);
}
@media screen and (max-width: 768px) {
  .p-newcomer__program-title {
    gap: 0.31rem;
    font-size: max(1rem, min(18px, 4.27vw));
  }
  .p-newcomer__program-title::before, .p-newcomer__program-title::after {
    width: 1.13rem;
  }
}

.p-newcomer__program-body {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.88rem, min(33.75px, 8.01vw));
  color: var(--site-text);
}
.p-newcomer__program-body p + p {
  margin-top: 1.13rem;
}
@media screen and (max-width: 768px) {
  .p-newcomer__program-body p + p {
    margin-top: 0.75rem;
  }
}
@media screen and (max-width: 768px) {
  .p-newcomer__program-body {
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.5rem, min(27.01px, 6.4vw));
  }
}

.p-download {
  padding-block: 3.75rem;
  background: var(--site-grad-section);
}
@media screen and (max-width: 768px) {
  .p-download {
    padding-block: 2.5rem;
  }
}

.p-download__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-download__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-download__inner {
    padding-inline: 1.25rem;
  }
}

.p-download__card {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.5rem;
  min-height: 21rem;
  padding: 1.88rem 1.88rem;
  background-color: #fff;
  border-radius: 0.63rem;
}
@media screen and (max-width: 1024px) {
  .p-download__card {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-download__card {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    min-height: 0;
    padding: 1.5rem 1rem;
  }
}

.p-download__cover {
  flex-shrink: 0;
  width: 20.56rem;
  height: 13.44rem;
  object-fit: cover;
}
@media screen and (max-width: 1024px) {
  .p-download__cover {
    width: 15rem;
    height: 9.81rem;
  }
}
@media screen and (max-width: 768px) {
  .p-download__cover {
    width: 100%;
    height: auto;
    aspect-ratio: 329/215;
  }
}

.p-download__body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  flex: 1;
  min-width: 0;
}

.p-download__title {
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(4.13rem, min(29.7px, 17.61vw));
  color: var(--site-accent);
}
@media screen and (max-width: 1024px) {
  .p-download__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.88rem, min(29.57px, 12.28vw));
  }
}
@media screen and (max-width: 768px) {
  .p-download__title {
    font-size: max(1.19rem, min(18px, 5.07vw));
    line-height: max(2rem, min(30.32px, 8.54vw));
  }
}

.p-download__particle {
  font-size: max(2rem, min(18px, 8.54vw));
}
@media screen and (max-width: 1024px) {
  .p-download__particle {
    font-size: max(1.44rem, min(18px, 6.14vw));
  }
}
@media screen and (max-width: 768px) {
  .p-download__particle {
    font-size: max(0.94rem, min(16.88px, 4vw));
  }
}

.p-download__sub {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: max(2.25rem, min(29.45px, 9.61vw));
  color: var(--site-accent);
}
@media screen and (max-width: 768px) {
  .p-download__sub {
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.63rem, min(29.26px, 6.94vw));
  }
}

.p-download__foot {
  display: flex;
  align-items: center;
  gap: 2.5rem;
}
@media screen and (max-width: 1024px) {
  .p-download__foot {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-download__foot {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
  }
}

.p-download__points {
  flex: 0 1 auto;
  min-width: 0;
  list-style: none;
  counter-reset: dl-point;
}
@media screen and (max-width: 768px) {
  .p-download__points {
    width: 100%;
  }
}

.p-download__point {
  counter-increment: dl-point;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 700;
  line-height: max(1.63rem, min(29.25px, 6.94vw));
  color: #0a2548;
}
.p-download__point::before {
  content: counter(dl-point) ". ";
}
@media screen and (max-width: 768px) {
  .p-download__point {
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
    line-height: max(1.5rem, min(24px, 6.4vw));
  }
}

.p-youtube {
  position: relative;
  isolation: isolate;
  padding-block: 7.5rem;
  background-color: var(--site-secondary);
  overflow: clip;
}
@media screen and (max-width: 768px) {
  .p-youtube {
    padding-block: 3.75rem;
  }
}

.p-youtube::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background-image: url(../images/front/yt-deco-logo.webp), url(../images/front/yt-deco-dots-tr.webp), url(../images/front/yt-deco-dots-bl.webp);
  background-position: right top 10.69rem, left calc(50% + 34.25rem) top 9.94rem, left top 46.25rem;
  background-size: 22.5rem 17.63rem, 6.5rem 6.5rem, 7.63rem 9.38rem;
  background-repeat: no-repeat;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-youtube::before {
    display: none;
  }
}

.p-youtube__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-youtube__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-youtube__inner {
    padding-inline: 1.25rem;
  }
}
.p-youtube__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  text-align: center;
}

.p-youtube__slider-inner {
  margin-top: 3.75rem;
  max-width: 105.83rem;
  padding-inline: 6.25rem;
  margin-inline: auto;
}
@media (min-width: 769px) and (max-width: 1340px) {
  .p-youtube__slider-inner {
    padding-inline: calc(6.25rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-youtube__slider-inner {
    margin-top: 2rem;
    padding-inline: 2.5rem;
  }
}

.p-youtube__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-bg-tint);
}
.p-youtube__label::before, .p-youtube__label::after {
  content: "";
  width: 5rem;
  height: 0.07rem;
  background-color: var(--site-bg-tint);
}
@media screen and (max-width: 768px) {
  .p-youtube__label {
    gap: 0.63rem;
  }
  .p-youtube__label::before, .p-youtube__label::after {
    width: 2.5rem;
  }
}

.p-youtube__title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  font-size: max(3.38rem, min(18px, 14.41vw));
  font-weight: 700;
  line-height: max(4.75rem, min(25.33px, 20.28vw));
  letter-spacing: -0.02em;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-youtube__title {
    flex-direction: column;
    gap: 0.63rem;
    font-size: max(1.19rem, min(18px, 5.07vw));
    line-height: max(2.13rem, min(32.21px, 9.07vw));
  }
}

.p-youtube__logo {
  flex-shrink: 0;
  width: 4.19rem;
  height: 3rem;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-youtube__logo {
    width: 3rem;
    height: 2.13rem;
  }
}

.p-youtube__sub {
  margin-top: 1.88rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 700;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-youtube__sub {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.63rem, min(29.25px, 6.94vw));
    text-align: left;
  }
}

.p-youtube__thumb {
  flex-shrink: 0;
  width: 29.63rem;
  padding: 0.75rem;
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.19rem 0.5rem rgba(0, 0, 0, 0.15);
  scroll-snap-align: center;
}
.p-youtube__thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 450/253;
  object-fit: cover;
  border-radius: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-youtube__thumb {
    padding: 0.5rem;
  }
}

.p-youtube__foot {
  display: flex;
  justify-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-youtube__foot {
    margin-top: 2.5rem;
  }
}

.p-youtube__button {
  --c-button-color: var(--site-text);
}

.p-youtube__slider .c-slider__next {
  right: -4.38rem;
}
.p-youtube__slider .c-slider__prev {
  left: -4.38rem;
}
@media screen and (max-width: 768px) {
  .p-youtube__slider .c-slider__next {
    right: -2.19rem;
  }
  .p-youtube__slider .c-slider__prev {
    left: -2.19rem;
  }
}

.p-material {
  padding-block: 7.5rem;
  background-color: var(--site-bg);
}
@media screen and (max-width: 768px) {
  .p-material {
    padding-block: 3.75rem;
  }
}

.p-material__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-material__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-material__inner {
    padding-inline: 1.25rem;
  }
}

.p-material__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-material__head {
    gap: 0.63rem;
  }
}

.p-material__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-secondary);
}
.p-material__label::after {
  content: "";
  width: 5rem;
  height: 0.07rem;
  background-color: var(--site-secondary);
}

.p-material__title {
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-secondary);
}
@media screen and (max-width: 1024px) {
  .p-material__title {
    font-size: max(2.75rem, min(18px, 11.74vw));
    line-height: max(3.75rem, min(24.55px, 16.01vw));
  }
}
@media screen and (max-width: 768px) {
  .p-material__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.5rem, min(25.71px, 10.68vw));
  }
}

.p-material__lead {
  margin-top: 2.5rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-material__lead {
    margin-top: 1.5rem;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.88rem, min(33.76px, 8.01vw));
    text-align: left;
  }
}

.p-material__slider {
  margin-top: 3.75rem;
}
.p-material__slider .swiper {
  padding: 1rem;
}
@media screen and (max-width: 768px) {
  .p-material__slider {
    margin-top: 2.5rem;
  }
  .p-material__slider .swiper {
    margin-inline: -1rem;
  }
}

.p-material__card {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.88rem;
  padding: 1.25rem 1.88rem;
  background-color: #fff;
  border-radius: 0.63rem;
  box-shadow: 0 0.19rem 0.75rem rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 1024px) {
  .p-material__card {
    padding: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-material__card {
    gap: 1.25rem;
    padding: 1rem;
  }
}

.p-material__thumb {
  width: 100%;
  aspect-ratio: 288/203;
  background-color: #ccc;
  border-radius: 0.63rem;
  overflow: hidden;
}

.p-material__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-material__card-title {
  font-size: max(1.38rem, min(21px, 5.87vw));
  font-weight: 700;
  line-height: max(2.13rem, min(32.45px, 9.07vw));
  color: var(--site-secondary);
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-material__card-title {
    font-size: max(1.25rem, min(20px, 5.34vw));
    line-height: max(1.88rem, min(30px, 8.01vw));
  }
}
@media screen and (max-width: 768px) {
  .p-material__card-title {
    font-size: max(1.06rem, min(18px, 4.54vw));
    line-height: max(1.69rem, min(28.59px, 7.21vw));
  }
}

.p-material__button {
  padding-inline: 2rem;
}
@media (min-width: 1000px) {
  .p-material__button {
    --c-button-fz: min(max(1.63rem, min(18px, 6.94vw)), calc(2.85vw - 12.6px));
  }
}
.p-material__button::after {
  right: 0.88rem;
}

.p-material__foot {
  display: flex;
  justify-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-material__foot {
    margin-top: 2.5rem;
  }
}

.p-material__slider .c-slider__next {
  right: -0.88rem;
}
.p-material__slider .c-slider__prev {
  left: -0.88rem;
}
@media screen and (max-width: 768px) {
  .p-material__slider .c-slider__next {
    right: -0.63rem;
  }
  .p-material__slider .c-slider__prev {
    left: -0.63rem;
  }
}

.p-mailmagazine {
  padding-block: 7.5rem;
  background: var(--site-grad-hero);
}
@media screen and (max-width: 768px) {
  .p-mailmagazine {
    padding-block: 3.75rem;
  }
}

.p-mailmagazine__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-mailmagazine__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-mailmagazine__inner {
    padding-inline: 1.25rem;
  }
}

.p-mailmagazine__title {
  font-size: max(3.38rem, min(18px, 14.41vw));
  font-weight: 700;
  line-height: max(4.75rem, min(25.33px, 20.28vw));
  letter-spacing: -0.02em;
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine__title {
    font-size: max(1.38rem, min(18px, 5.87vw));
    line-height: max(2.25rem, min(29.45px, 9.61vw));
  }
}

.p-mailmagazine__lead {
  width: min(53em, 100vw - 40px - var(--fixed-cta-w-tablet, 0px) * 2);
  margin-inline: calc((100% - min(53em, 100vw - 40px - var(--fixed-cta-w-tablet, 0px) * 2)) / 2);
  margin-top: 3.13rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine__lead {
    width: auto;
    margin-inline: 0;
    margin-top: 1.25rem;
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.63rem, min(29.25px, 6.94vw));
    text-align: left;
  }
}

.p-mailmagazine__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.13rem;
  margin-top: 3.13rem;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine__content {
    flex-direction: column;
    gap: 1.56rem;
    margin-top: 2.5rem;
  }
}

.p-mailmagazine__gallery {
  flex-shrink: 0;
  width: 40.5rem;
  max-width: 100%;
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.19rem 0.5rem rgba(0, 0, 0, 0.15);
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .p-mailmagazine__gallery {
    width: 27.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-mailmagazine__gallery {
    width: 17.88rem;
  }
}

.p-mailmagazine__backnumber {
  display: block;
  width: 100%;
  height: auto;
}

.p-mailmagazine__body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.25rem;
  flex: 0 1 auto;
  min-width: 0;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine__body {
    gap: 0.25rem;
  }
}

.p-mailmagazine__body-title {
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(2.5rem, min(18px, 10.68vw));
  color: var(--site-accent);
}
@media screen and (max-width: 768px) {
  .p-mailmagazine__body-title {
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: max(2rem, min(28.8px, 8.54vw));
  }
}

.p-mailmagazine__body-text {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 700;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-mailmagazine__body-text {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.63rem, min(29.25px, 6.94vw));
  }
}

.p-mailmagazine__button-wrap {
  margin-top: 1.25rem;
}

.p-mailmagazine__button {
  --c-button-color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-mailmagazine__button {
    --c-button-fz: max(1rem, min(18px, 4.27vw));
  }
}

.p-mailmagazine-page {
  padding-top: 3.75rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page {
    padding-top: 2rem;
    padding-bottom: 4rem;
  }
}

.p-mailmagazine-page__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-mailmagazine-page__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__inner {
    padding-inline: 1.25rem;
  }
}

.p-mailmagazine-page__title {
  font-size: max(3.38rem, min(18px, 14.41vw));
  font-weight: 700;
  line-height: max(4.75rem, min(25.33px, 20.28vw));
  letter-spacing: -0.02em;
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__title {
    font-size: max(1.63rem, min(18px, 6.94vw));
    line-height: max(2.25rem, min(24.92px, 9.61vw));
  }
}

.p-mailmagazine-page__title-accent {
  color: var(--site-accent);
}

.p-mailmagazine-page__content {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2.44rem;
  margin-top: 1.88rem;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__content {
    flex-direction: column;
    gap: 1.88rem;
    margin-top: 1.5rem;
  }
}

.p-mailmagazine-page__gallery {
  flex-shrink: 0;
  width: 31.44rem;
  max-width: 100%;
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.19rem 0.5rem rgba(0, 0, 0, 0.15);
  overflow: hidden;
}

.p-mailmagazine-page__backnumber {
  display: block;
  width: 100%;
  height: auto;
}

.p-mailmagazine-page__merits {
  display: flex;
  gap: 2.44rem;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__merits {
    flex-direction: column;
  }
}

.p-mailmagazine-page__merit {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.63rem;
  width: 19.38rem;
  height: 11.25rem;
  padding: 1.25rem;
  background-color: #fff;
  border: 1px solid var(--site-primary);
  border-radius: 0.63rem;
  box-shadow: 0 0.19rem 0.25rem rgba(0, 0, 0, 0.15);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__merit {
    width: 100%;
    height: auto;
    min-height: 8.75rem;
    padding: 0.75rem;
  }
}

.p-mailmagazine-page__merit-label {
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-secondary);
}

.p-mailmagazine-page__merit-text {
  font-size: max(1.88rem, min(18px, 8.01vw));
  font-weight: 700;
  line-height: max(2.5rem, min(24px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__merit-text {
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: max(1.88rem, min(27px, 8.01vw));
  }
}
.p-mailmagazine-page__merit-text small {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: inherit;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__merit-text small {
    font-size: max(0.94rem, min(16.88px, 4vw));
  }
}

.p-mailmagazine-page__form {
  display: flex;
  flex-direction: column;
  gap: 1.88rem;
  width: 37.88rem;
  max-width: 100%;
  margin: 1.88rem auto 0;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__form {
    gap: 1.25rem;
    width: 100%;
    max-width: 570px;
  }
}

.p-mailmagazine-page__form-row {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__form-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
}

.p-mailmagazine-page__form-label {
  display: flex;
  align-items: center;
  flex: 0 0 10.375em;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.5rem, min(27px, 6.4vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__form-label {
    flex-basis: auto;
    gap: 0.5rem;
  }
}

.p-mailmagazine-page__badge {
  display: inline-block;
  margin-left: auto;
  padding: 0 0.44rem;
  background-color: var(--site-primary);
  color: #fff;
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  font-weight: 400;
  line-height: max(1.13rem, min(18px, 4.8vw));
  border-radius: 0.07rem;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__badge {
    margin-left: 0;
  }
}

.p-mailmagazine-page__badge--optional {
  background-color: #878787;
}

.p-mailmagazine-page__form-input {
  width: 26.25rem;
  max-width: 100%;
  height: 2.75rem;
  padding: 0.63rem;
  background-color: #f8f8f8;
  border: none;
  color: var(--site-text);
  font-size: max(1rem, min(18px, 4.27vw));
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__form-input {
    width: 100%;
  }
}
.p-mailmagazine-page__form-input::placeholder {
  color: #bababa;
}

.p-mailmagazine-page__submit {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.88rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__submit {
    gap: 1rem;
    margin-top: 2rem;
  }
}

.p-mailmagazine-page__submit .c-button {
  --c-button-color: var(--site-text-navy);
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__submit .c-button {
    --c-button-fz: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-mailmagazine-page__privacy {
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: max(1.5rem, min(27px, 6.4vw));
  color: var(--site-text);
  text-align: center;
}
.p-mailmagazine-page__privacy a {
  color: var(--site-primary);
  text-decoration: underline;
  text-underline-offset: 0.19rem;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__privacy {
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
    line-height: 1.6;
  }
}

.p-mailmagazine-page__samples {
  margin-top: 5rem;
  padding: 2.5rem;
  background-color: var(--site-bg-tint);
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__samples {
    margin-top: 3rem;
    padding: 1.5rem 1.25rem;
  }
}

.p-mailmagazine-page__samples-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  font-size: max(1.88rem, min(18px, 8.01vw));
  font-weight: 700;
  line-height: max(2.5rem, min(24px, 10.68vw));
  color: var(--site-secondary);
  text-align: center;
}
.p-mailmagazine-page__samples-title::before {
  content: "＼";
}
.p-mailmagazine-page__samples-title::after {
  content: "／";
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__samples-title {
    display: block;
    font-size: max(1.13rem, min(18px, 4.8vw));
    line-height: max(1.75rem, min(28px, 7.47vw));
  }
  .p-mailmagazine-page__samples-title::before, .p-mailmagazine-page__samples-title::after {
    content: "";
  }
}

.p-mailmagazine-page__samples-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__samples-list {
    gap: 1.25rem;
    max-width: 570px;
    margin-top: 1.5rem;
    margin-inline: auto;
  }
}

.p-mailmagazine-page__sample-button {
  width: 100%;
  max-width: 50rem;
  --c-button-w: min(100%, 50rem);
  --c-button-color: var(--site-accent);
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-mailmagazine-page__sample-button {
    --c-button-fz: max(1rem, min(18px, 4.27vw));
  }
}
.p-mailmagazine-page__sample-button::after {
  width: 1.25rem;
  height: 1.25rem;
  background-color: var(--site-accent);
  mask-image: url(../images/common/icon-external-link.svg);
  -webkit-mask-image: url(../images/common/icon-external-link.svg);
  transform: translateY(-50%);
}

.p-flow {
  position: relative;
  padding-block: 7.5rem;
  background-color: var(--site-bg);
  overflow: clip;
}
@media screen and (max-width: 768px) {
  .p-flow {
    padding-block: 3.75rem;
  }
}

.p-flow::before {
  content: "";
  position: absolute;
  top: -1.63rem;
  left: 50%;
  width: 108%;
  aspect-ratio: 2077/916;
  transform: translateX(-50%);
  background: url(../images/front/about-bg.webp) top center/cover no-repeat;
  opacity: 0.3;
  pointer-events: none;
}

.p-flow__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-flow__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-flow__inner {
    padding-inline: 1.25rem;
  }
}
.p-flow__inner {
  position: relative;
  z-index: 1;
}

.p-flow__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-flow__head {
    gap: 0.63rem;
  }
}

.p-flow__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-secondary);
}
.p-flow__label::after {
  content: "";
  width: 5rem;
  height: 0.07rem;
  background-color: var(--site-secondary);
}

.p-flow__title {
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-flow__title {
    font-size: max(2.75rem, min(18px, 11.74vw));
    line-height: max(3.75rem, min(24.55px, 16.01vw));
  }
}
@media screen and (max-width: 768px) {
  .p-flow__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.5rem, min(25.71px, 10.68vw));
  }
}

.p-flow__list {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  margin-top: 3.75rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-flow__list {
    gap: 1rem;
    margin-top: 2.5rem;
  }
}

.p-flow__step {
  display: flex;
  align-items: flex-start;
  width: 100%;
  min-height: 14.38rem;
  padding: 1.25rem 3.13rem;
  background-color: var(--site-bg-tint);
  border-radius: 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-flow__step {
    min-height: 0;
    padding: 1.25rem;
  }
}

.p-flow__step + .p-flow__step {
  position: relative;
  margin-top: 2.63rem;
}
.p-flow__step + .p-flow__step::before {
  content: "";
  width: 2.5rem;
  height: 1.38rem;
  background-color: var(--site-accent);
  mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
  -webkit-mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
  position: absolute;
  top: -2.63rem;
  left: 50%;
  transform: translateX(-50%);
}
@media screen and (max-width: 768px) {
  .p-flow__step + .p-flow__step {
    margin-top: 1.38rem;
  }
  .p-flow__step + .p-flow__step::before {
    top: -1.88rem;
  }
}

.p-flow__step-body {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  width: 100%;
}

.p-flow__step-head {
  display: flex;
  align-items: center;
  gap: 1.25rem;
  height: 5.63rem;
  border-bottom: 0.07rem solid var(--site-border);
}
@media screen and (max-width: 768px) {
  .p-flow__step-head {
    gap: 0.75rem;
    height: auto;
    padding-bottom: 0.63rem;
  }
}

.p-flow__step-title {
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: max(2.75rem, min(24.75px, 11.74vw));
  color: var(--site-secondary);
}
@media screen and (max-width: 1024px) {
  .p-flow__step-title {
    font-size: max(1.63rem, min(18px, 6.94vw));
    line-height: max(2.25rem, min(24.92px, 9.61vw));
  }
}
@media screen and (max-width: 768px) {
  .p-flow__step-title {
    font-size: max(1.13rem, min(18px, 4.8vw));
    line-height: max(1.75rem, min(28px, 7.47vw));
  }
}

.p-flow__step-desc {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-flow__step-desc {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.63rem, min(29.25px, 6.94vw));
  }
}

.p-flow__foot {
  display: flex;
  justify-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-flow__foot {
    margin-top: 2.5rem;
  }
}

.p-faq {
  padding-block: 7.5rem;
  background: var(--site-grad-hero);
}
@media screen and (max-width: 768px) {
  .p-faq {
    padding-block: 3.75rem;
  }
}

.p-faq__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-faq__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-faq__inner {
    padding-inline: 1.25rem;
  }
}

.p-faq__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-faq__head {
    gap: 0.63rem;
  }
}

.p-faq__label {
  display: flex;
  align-items: center;
  gap: 1rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 500;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-secondary);
}
.p-faq__label::after {
  content: "";
  width: 5rem;
  height: 0.07rem;
  background-color: var(--site-secondary);
}

.p-faq__title {
  font-size: max(3.88rem, min(18px, 16.55vw));
  font-weight: 700;
  line-height: max(4.75rem, min(22.06px, 20.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-faq__title {
    font-size: max(2.75rem, min(18px, 11.74vw));
    line-height: max(3.75rem, min(24.55px, 16.01vw));
  }
}
@media screen and (max-width: 768px) {
  .p-faq__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: max(2.5rem, min(25.71px, 10.68vw));
  }
}

.p-contact {
  padding-block: 6rem;
  background-color: color-mix(in srgb, var(--site-primary) 5%, #fff);
}
@media screen and (max-width: 768px) {
  .p-contact {
    padding-block: 3.5rem;
  }
}

.p-contact__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-contact__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-contact__inner {
    padding-inline: 1.25rem;
  }
}

.p-contact__lead {
  margin-top: 1.5rem;
  line-height: 1.9;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact__lead {
    margin-top: 1rem;
    font-size: max(1rem, min(18px, 4.27vw));
    text-align: left;
  }
}

.p-contact__form {
  width: 100%;
  max-width: 45rem;
  margin-top: 2.5rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-contact__form {
    margin-top: 1.75rem;
  }
}

.p-page-contact {
  padding-block: 2.5rem 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-page-contact {
    padding-block: 3rem;
  }
}

.p-page-contact__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-page-contact__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-page-contact__inner {
    padding-inline: 1.25rem;
  }
}

.p-page-contact__head + .p-page-contact__columns {
  margin-top: 5rem;
}

.p-page-contact__columns {
  display: flex;
  align-items: flex-start;
  gap: 2.25rem;
}
@media screen and (max-width: 1024px) {
  .p-page-contact__columns {
    flex-direction: column;
    gap: 5rem;
  }
}

.p-page-contact__main {
  flex: 0 0 36.25rem;
  width: 36.25rem;
  min-width: 0;
}
@media screen and (max-width: 1024px) {
  .p-page-contact__main {
    flex: 1 1 auto;
    width: 100%;
    max-width: 570px;
    margin-inline: auto;
  }
}

.p-page-contact__head {
  position: relative;
  padding-top: 2.88rem;
}

.p-page-contact__head .c-sec-head__title {
  margin-top: 0;
}

.p-page-contact__catch {
  padding-block-start: 9.06rem;
  position: relative;
}

.p-page-contact__catch-text {
  position: relative;
  z-index: 1;
}

.p-page-contact__photo {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 15.13rem;
  aspect-ratio: 242/303;
  overflow: hidden;
}

.p-page-contact__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-page-contact__catch-lead {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 500;
  line-height: max(2.5rem, min(32.73px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-page-contact__catch-lead {
    background-color: rgba(255, 255, 255, 0.7);
  }
}

.p-page-contact__catch-lead + .p-page-contact__catch-title-wrap {
  margin-top: 0.13rem;
}
@media screen and (max-width: 768px) {
  .p-page-contact__catch-lead + .p-page-contact__catch-title-wrap {
    margin-top: 0;
  }
}

.p-page-contact__catch-title-wrap {
  padding-block: 0.75rem;
  background-color: rgba(255, 255, 255, 0.7);
}

.p-page-contact__catch-title {
  font-size: max(1.88rem, min(18px, 8.01vw));
  font-weight: 700;
  line-height: max(2.88rem, min(27.6px, 12.28vw));
  color: var(--site-secondary);
}
@media screen and (max-width: 768px) {
  .p-page-contact__catch-title {
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: max(1.88rem, min(27px, 8.01vw));
  }
}

.p-page-contact__catch-title-accent {
  font-size: max(2.5rem, min(18px, 10.68vw));
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .p-page-contact__catch-title-accent {
    font-size: max(1.63rem, min(18px, 6.94vw));
  }
}

.p-page-contact__stats {
  padding: 0.81rem 0.63rem;
  background: var(--site-grad-hero);
}
@media screen and (max-width: 768px) {
  .p-page-contact__stats {
    padding: 0.31rem 0.31rem;
  }
}

.p-page-contact__stats .p-fv__stat-list {
  justify-content: center;
  gap: 0;
  margin-top: 0;
}

.p-page-contact__stats .p-fv__stat {
  gap: 0.38rem;
}

.p-page-contact__stats .p-fv__stat-icon {
  width: 1.88rem;
  height: 1.88rem;
}
.p-page-contact__stats .p-fv__stat-icon img {
  width: 1.13rem;
  height: 1.13rem;
}

.p-page-contact__stats .p-fv__stat-label {
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  font-weight: 500;
  line-height: max(1.88rem, min(30px, 8.01vw));
}

.p-page-contact__stats .p-fv__stat-value {
  line-height: 1.88rem;
}

.p-page-contact__stats .p-fv__stat-num {
  font-size: max(1.75rem, min(18px, 7.47vw));
}
@media screen and (max-width: 768px) {
  .p-page-contact__stats .p-fv__stat-num {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.p-page-contact__stats .p-fv__stat-unit {
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  line-height: 0;
  color: var(--site-text);
}

.p-page-contact__stats + .p-page-contact__note {
  margin-top: 1.88rem;
}

.p-page-contact__note {
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 500;
  line-height: max(1.75rem, min(28px, 7.47vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-page-contact__note {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.38rem, min(24.75px, 5.87vw));
  }
}

.p-page-contact__note + .p-page-contact__promise-list {
  margin-top: 2.5rem;
}

.p-page-contact__promise-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-page-contact__promise-list {
    gap: 0.75rem;
  }
}

.p-page-contact__promise {
  display: grid;
  place-items: center;
  width: 7.5em;
  height: 7.5em;
  border: 0.07rem solid var(--site-primary);
  border-radius: 50%;
  font-size: max(1rem, min(15px, 4.27vw));
  font-weight: 700;
  line-height: 1.375;
  color: var(--site-accent);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-page-contact__promise {
    width: 6.25rem;
    height: 6.25rem;
    padding: 0.25rem;
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
    line-height: max(1.25rem, min(20px, 5.34vw));
  }
}

.p-page-contact__promise-text {
  display: block;
}

.p-page-contact__promise-accent {
  font-size: 1.25em;
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .p-page-contact__promise-accent {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-page-contact__promise-accent--num {
  font-size: 1.625em;
}
@media screen and (max-width: 768px) {
  .p-page-contact__promise-accent--num {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.p-page-contact__promise-list + .p-page-contact__tel-lead {
  margin-top: 3.94rem;
}

.p-page-contact__tel-lead {
  font-size: max(1.75rem, min(18px, 7.47vw));
  font-weight: 700;
  line-height: max(2.88rem, min(29.57px, 12.28vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-page-contact__tel-lead {
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: max(2rem, min(28.8px, 8.54vw));
  }
}

.p-page-contact__tel-lead + .p-page-contact__tel {
  margin-top: 1.25rem;
  margin-inline: auto;
}

.p-page-contact__tel {
  display: grid;
  place-content: center;
  width: 100%;
  max-width: 36.25rem;
  min-height: 5rem;
  padding: 0.56rem 1.25rem;
  background-color: #fff;
  border: 0.07rem solid var(--site-text);
  border-radius: 2.5rem;
  box-shadow: 0 0.19rem 0.31rem rgba(0, 0, 0, 0.25);
  text-decoration: none;
  color: var(--site-text);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.p-page-contact__tel:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}

.p-page-contact__tel-num {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: max(2.25rem, min(18px, 9.61vw));
  line-height: 1.2;
}
.p-page-contact__tel-num::before {
  content: "";
  flex-shrink: 0;
  width: 1.31rem;
  height: 1.94rem;
  background-color: currentColor;
  mask: url(../images/common/icon-tel.svg) center/contain no-repeat;
  -webkit-mask: url(../images/common/icon-tel.svg) center/contain no-repeat;
}
@media screen and (max-width: 768px) {
  .p-page-contact__tel-num {
    font-size: max(1.75rem, min(18px, 7.47vw));
  }
}

.p-page-contact__tel-hours {
  justify-self: end;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  letter-spacing: 0.06em;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-page-contact__tel-hours {
    justify-self: center;
  }
}

.p-page-contact__form {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 1024px) {
  .p-page-contact__form {
    width: 100%;
    max-width: 570px;
    margin-inline: auto;
  }
}

.p-page-contact__form .starter-form {
  background: none;
  padding: 0;
}

.p-page-contact__privacy {
  order: 3;
  margin-top: 2.5rem;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: max(1.63rem, min(29.25px, 6.94vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-page-contact__privacy {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.5rem, min(27px, 6.4vw));
  }
}

.p-page-contact__warning {
  padding-top: 3.25rem;
  overflow: hidden;
  padding-inline-start: 3.19rem;
  position: relative;
}
.p-page-contact__warning::before {
  content: "";
  position: absolute;
  top: 2.5rem;
  left: 0;
  width: 4rem;
  aspect-ratio: 1;
  background: url(../images/contact/icon-warning.svg) center/contain no-repeat;
}

.p-page-contact__warning-head {
  padding: 0 1.25rem;
  line-height: max(2.5rem, min(32.73px, 10.68vw));
  background-color: #8c1012;
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .p-page-contact__warning-head {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-page-contact__warning-body {
  padding: 1rem 1rem 1rem 1.25rem;
  background-color: var(--site-bg-tint);
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: max(1.63rem, min(29.25px, 6.94vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-page-contact__warning-body {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.5rem, min(27px, 6.4vw));
  }
}

.p-page-contact__form .starter-form__row {
  gap: 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-page-contact__form .starter-form__row {
    gap: 0.5rem;
  }
}

.p-page-contact__form .starter-form__row + .starter-form__row {
  margin-top: 1.88rem;
}
@media screen and (max-width: 768px) {
  .p-page-contact__form .starter-form__row + .starter-form__row {
    margin-top: 1.75rem;
  }
}

.p-page-contact__form .starter-form__label {
  flex: 0 0 10.375em;
  width: 10.375em;
  padding-top: 0.63rem;
  font-weight: 500;
  line-height: max(1.5rem, min(27px, 6.4vw));
}
@media screen and (max-width: 768px) {
  .p-page-contact__form .starter-form__label {
    flex: 0 0 auto;
    width: 100%;
    padding-top: 0;
  }
}

.p-page-contact__form .starter-form__badge {
  padding: 0 0.44rem;
  border-radius: 1px;
  font-weight: 400;
  line-height: max(1.13rem, min(18px, 4.8vw));
}

.p-page-contact__form .starter-form :is(.starter-form__input, .starter-form__select, .starter-form__textarea) {
  padding: 0.56rem 0.63rem;
  background-color: var(--site-bg-tint);
  border-color: transparent;
  line-height: max(1.5rem, min(27px, 6.4vw));
}
.p-page-contact__form .starter-form :is(.starter-form__input, .starter-form__select, .starter-form__textarea)::placeholder {
  color: #bababa;
}
.p-page-contact__form .starter-form :is(.starter-form__input, .starter-form__select, .starter-form__textarea):focus {
  border-color: var(--site-primary);
}

.p-page-contact__form .starter-form .starter-form__select {
  padding-right: 2.5rem;
}

.p-page-contact__form .starter-form .starter-form__textarea {
  display: block;
  height: 11.25rem;
}
@media screen and (max-width: 768px) {
  .p-page-contact__form .starter-form .starter-form__textarea {
    height: 10rem;
  }
}

.p-page-contact__form .starter-form__field:has(.starter-form__select)::after {
  background-color: var(--site-primary);
}

.p-page-contact__form .starter-form__row:has(.starter-form__checkbox-group) .starter-form__label,
.p-page-contact__form .starter-form__checkbox-group .wpcf7-list-item {
  padding-top: 0;
}

.p-page-contact__form .starter-form__checkbox-group input[type=checkbox] {
  border-color: var(--site-primary);
}

.p-page-contact__form .c-button-submit-row {
  margin-top: 2.5rem;
}

.p-page-contact__form .c-button {
  --c-button-color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-page-contact__form .c-button {
    --c-button-fz: max(1rem, min(18px, 4.27vw));
  }
}

.p-page-contact__form .c-button-submit::after {
  background-color: var(--site-text);
}

.p-page-contact__partner-text {
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 500;
  line-height: max(1.88rem, min(30px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-page-contact__partner-text {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.63rem, min(29.25px, 6.94vw));
  }
}

.p-page-contact__partner-text--sub {
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: max(1.63rem, min(29.25px, 6.94vw));
}
@media screen and (max-width: 768px) {
  .p-page-contact__partner-text--sub {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.38rem, min(24.75px, 5.87vw));
  }
}

.p-page-contact__partner > * + * {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-page-contact__partner > * + * {
    margin-top: 1.25rem;
  }
}

.p-page-contact__partner-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  margin-inline: 0;
  padding: 1.75rem 2rem;
  background-color: var(--site-bg-pale);
  border-radius: 0.63rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-page-contact__partner-list {
    gap: 0.63rem;
    padding: 1.25rem;
  }
}

.p-page-contact__partner-item {
  display: flex;
  align-items: baseline;
  gap: 0.63rem;
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 700;
  line-height: max(1.75rem, min(28px, 7.47vw));
  color: var(--site-text);
}
.p-page-contact__partner-item::before {
  content: "";
  flex-shrink: 0;
  width: 0.5rem;
  height: 0.5rem;
  background-color: var(--site-primary);
  border-radius: 50%;
  transform: translateY(-0.2em);
}
@media screen and (max-width: 768px) {
  .p-page-contact__partner-item {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.5rem, min(27px, 6.4vw));
  }
}

.p-page-contact__partner-link {
  color: var(--site-primary);
  text-decoration: underline;
  text-underline-offset: 0.2em;
  transition: opacity 0.3s ease;
}
.p-page-contact__partner-link:hover {
  opacity: 0.7;
}

.p-page-contact__tel + .p-page-contact__partner-note {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-page-contact__tel + .p-page-contact__partner-note {
    margin-top: 1.75rem;
  }
}

.p-page-contact__partner-note {
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 500;
  line-height: max(1.5rem, min(27px, 6.4vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-page-contact__partner-note {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.38rem, min(24.75px, 5.87vw));
  }
}

.p-placeholder-band {
  padding-block: 3rem;
  background-color: color-mix(in srgb, var(--site-primary) 5%, #fff);
}
.p-placeholder-band:nth-of-type(even) {
  background-color: color-mix(in srgb, var(--site-primary) 10%, #fff);
}

.p-placeholder-band__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-placeholder-band__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-placeholder-band__inner {
    padding-inline: 1.25rem;
  }
}

.p-placeholder-band__label {
  display: grid;
  place-items: center;
  height: 10rem;
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 700;
  letter-spacing: 0.05em;
  color: color-mix(in srgb, var(--site-text) 60%, transparent);
}
@media screen and (max-width: 768px) {
  .p-placeholder-band__label {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-cta-band {
  padding-block: 3rem;
  background-color: color-mix(in srgb, var(--site-cta) 10%, #fff);
}

.p-cta-band__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-cta-band__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-cta-band__inner {
    padding-inline: 1.25rem;
  }
}

.p-cta-band__label {
  display: grid;
  place-items: center;
  height: 10rem;
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 700;
  letter-spacing: 0.05em;
  color: color-mix(in srgb, var(--site-text) 60%, transparent);
}
@media screen and (max-width: 768px) {
  .p-cta-band__label {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-column {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .p-column {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.p-column__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-column__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-column__inner {
    padding-inline: 1.25rem;
  }
}

.p-column__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 1024px) {
  .p-column__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 600px) {
  .p-column__list {
    grid-template-columns: 1fr;
  }
}

.single-post .wp-block-button__link {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.single-post .wp-block-button__link:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}

.p-page-title {
  display: flex;
  align-items: center;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  min-height: 15.63rem;
  background: url("../images/common/page-title-bg.webp") center/cover no-repeat, var(--site-grad-hero);
  color: var(--site-secondary);
}
@media screen and (max-width: 768px) {
  .p-page-title {
    padding-top: 1.5rem;
    padding-bottom: 1.5rem;
    min-height: 7.5rem;
  }
}

.p-page-title__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-page-title__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-page-title__inner {
    padding-inline: 1.25rem;
  }
}

.p-page-breadcrumb {
  display: flex;
  align-items: center;
  padding-top: 0.69rem;
  padding-bottom: 0.69rem;
  background-color: var(--site-bg-tint);
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  color: var(--site-text-muted);
  margin-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-page-breadcrumb {
    font-size: max(0.75rem, min(12px, 3.2vw), 10px);
    margin-bottom: 2.5rem;
  }
}

.p-page-breadcrumb--flush {
  margin-bottom: 0;
}

.p-page-breadcrumb--footer {
  margin-bottom: 0;
}

.p-page-breadcrumb__list {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-page-breadcrumb__list {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-page-breadcrumb__list {
    padding-inline: 1.25rem;
  }
}
.p-page-breadcrumb__list {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  list-style: none;
  overflow-x: auto;
}
@media screen and (max-width: 768px) {
  .p-page-breadcrumb__list {
    gap: 0.38rem;
  }
}

.p-page-breadcrumb__current {
  color: var(--site-accent);
}

.p-page-breadcrumb__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 0 0 auto;
}
@media screen and (max-width: 768px) {
  .p-page-breadcrumb__item {
    gap: 0.38rem;
  }
}

.p-page-breadcrumb__item:not(:last-child)::after {
  content: "";
  width: 0.31rem;
  height: 0.31rem;
  border-top: 0.07rem solid currentColor;
  border-right: 0.07rem solid currentColor;
  transform: rotate(45deg);
}

.p-page-breadcrumb__link {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.p-page-breadcrumb__link:hover {
  opacity: 0.7;
}

.page #breadcrumb,
.single #breadcrumb,
.archive #breadcrumb {
  display: none;
}

#breadcrumb .p-breadcrumb__item::after {
  clip-path: none;
  background: none;
  width: 0.44rem;
  height: 0.44rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

#breadcrumb .p-breadcrumb__item:last-child > span.p-breadcrumb__text {
  display: inline;
}

.p-fixed-cta {
  position: fixed;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
  z-index: 100;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
@media screen and (max-width: 768px) {
  .p-fixed-cta {
    top: auto;
    right: 0;
    bottom: 0;
    left: 0;
    transform: none;
    flex-direction: row;
    gap: 0;
  }
}

.p-fixed-cta__btn {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.p-fixed-cta__btn:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}
.p-fixed-cta__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  writing-mode: vertical-rl;
  padding: 1.5rem 0.75rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .p-fixed-cta__btn {
    flex: 1 1 0;
    writing-mode: horizontal-tb;
    padding: 1rem 0.5rem;
    letter-spacing: 0.05em;
  }
}

.p-fixed-cta.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

@media (min-width: 769px) and (max-width: 1240px) {
  :root {
    --fixed-cta-w-tablet: var(--fixed-cta-w, 0px);
  }
}

@media screen and (max-width: 768px) {
  body {
    padding-bottom: var(--fixed-cta-h, 3.5rem);
  }
}

.p-fixBtnWrap {
  right: 5.63rem;
}
@media screen and (max-width: 768px) {
  .p-fixBtnWrap {
    right: 0.63rem;
    bottom: calc(var(--fixed-cta-h, 3.5rem) + 1rem);
  }
}

.corporate-template-corporate-custom .p-fixBtnWrap {
  --color_main: var(--corporate-color);
}

.personal-template-personal-custom .p-fixBtnWrap {
  --color_main: var(--personal-color);
}

.p-faq__list {
  display: flex;
  flex-direction: column;
  gap: 3.13rem;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-faq__list {
    gap: 1.5rem;
    margin-top: 2.5rem;
  }
}

.p-faq__question {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  position: relative;
  min-height: 6.25rem;
  padding: 1.25rem 4.38rem 1.25rem 2.5rem;
  background-color: var(--site-primary);
  border-radius: 0.63rem 0.63rem 0 0.63rem;
  color: #fff;
  cursor: pointer;
}
.p-faq__question::after {
  content: "";
  position: absolute;
  right: 2.5rem;
  width: 1.06rem;
  height: 1.06rem;
  border-bottom: 0.25rem solid #fff;
  border-right: 0.25rem solid #fff;
  transform: translateY(-0.25rem) rotate(45deg);
  transition: transform 0.2s ease;
}
@media screen and (max-width: 768px) {
  .p-faq__question {
    gap: 1rem;
    min-height: 4rem;
    padding: 0.88rem 2.75rem 0.88rem 1rem;
  }
  .p-faq__question::after {
    right: 1.13rem;
    width: 0.63rem;
    height: 0.63rem;
    border-bottom-width: 0.19rem;
    border-right-width: 0.19rem;
  }
}

.p-faq__item.is-open .p-faq__question {
  border-radius: 0.63rem 0.63rem 0 0;
}
.p-faq__item.is-open .p-faq__question::after {
  transform: translateY(0.13rem) rotate(225deg);
}

.p-faq__mark {
  flex-shrink: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: max(1.88rem, min(18px, 8.01vw));
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-faq__mark {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.p-faq__question-text {
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 700;
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-faq__question-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-faq__list.js-ready .p-faq__item:not(.is-open):not(.is-closing) .p-faq__answer {
  display: none;
}

.p-faq__answer {
  display: flex;
  align-items: flex-start;
  gap: 1.88rem;
  padding: 2.5rem;
  background-color: #fff;
  border-radius: 0 0 0.63rem 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-faq__answer {
    gap: 0.88rem;
    padding: 1.25rem 1rem;
  }
}

.p-faq__mark--answer {
  color: var(--site-primary);
}

.p-faq__answer-text {
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 500;
  line-height: max(1.88rem, min(30px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-faq__answer-text {
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: 1.7;
  }
}

.p-faq__answer-text :where(p) {
  margin: 0;
}

.p-faq__answer-text > * + * {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-faq__answer-text > * + * {
    margin-top: 0.75rem;
  }
}

.swell-block-faq {
  display: flex;
  flex-direction: column;
  gap: 3.75rem;
  list-style: none;
  counter-reset: faq-q;
}
@media screen and (max-width: 768px) {
  .swell-block-faq {
    gap: 1.5rem;
  }
}

.swell-block-faq .swell-block-faq__item {
  counter-increment: faq-q;
}

.swell-block-faq .swell-block-faq__item .faq_q {
  display: flex;
  align-items: center;
  gap: 1.88rem;
  position: relative;
  margin: 0;
  min-height: 6.25rem;
  padding: 1.25rem 4.38rem 1.25rem 2.5rem;
  background-color: var(--site-primary);
  border-radius: 0.63rem 0.63rem 0 0.63rem;
  color: #fff;
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 700;
  line-height: max(2.5rem, min(30px, 10.68vw));
  cursor: pointer;
}
.swell-block-faq .swell-block-faq__item .faq_q strong {
  font-weight: inherit;
}
.swell-block-faq .swell-block-faq__item .faq_q::before {
  content: "Q" counter(faq-q);
  position: static;
  width: 2em;
  text-align: center;
  box-shadow: none;
  flex-shrink: 0;
  white-space: nowrap;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: max(1.88rem, min(18px, 8.01vw));
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .swell-block-faq .swell-block-faq__item .faq_q::before {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}
.swell-block-faq .swell-block-faq__item .faq_q::after {
  content: "";
  position: absolute;
  right: 2.5rem;
  width: 1.06rem;
  height: 1.06rem;
  border-bottom: 0.25rem solid #fff;
  border-right: 0.25rem solid #fff;
  transform: translateY(-0.25rem) rotate(45deg);
  transition: transform 0.2s ease;
}
@media screen and (max-width: 1024px) {
  .swell-block-faq .swell-block-faq__item .faq_q {
    font-size: max(1.19rem, min(18px, 5.07vw));
    line-height: max(2rem, min(30.32px, 8.54vw));
  }
}
@media screen and (max-width: 768px) {
  .swell-block-faq .swell-block-faq__item .faq_q {
    gap: 1rem;
    min-height: 4rem;
    padding: 0.88rem 2.75rem 0.88rem 1rem;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.63rem, min(29.26px, 6.94vw));
  }
  .swell-block-faq .swell-block-faq__item .faq_q::after {
    right: 1.13rem;
    width: 0.63rem;
    height: 0.63rem;
    border-bottom-width: 0.19rem;
    border-right-width: 0.19rem;
  }
}

.swell-block-faq .swell-block-faq__item.is-open .faq_q {
  border-radius: 0.63rem 0.63rem 0 0;
}
.swell-block-faq .swell-block-faq__item.is-open .faq_q::after {
  transform: translateY(0.13rem) rotate(225deg);
}

.swell-block-faq.js-ready .swell-block-faq__item:not(.is-open):not(.is-closing) .faq_a {
  display: none;
}

.swell-block-faq .swell-block-faq__item .faq_a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  column-gap: 1.88rem;
  row-gap: 1rem;
  margin: 0;
  padding: 2.5rem;
  background-color: #fff;
  border-radius: 0 0 0.63rem 0.63rem;
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 500;
  line-height: max(1.88rem, min(30px, 8.01vw));
  color: var(--site-text);
}
.swell-block-faq .swell-block-faq__item .faq_a::before {
  content: "A";
  grid-column: 1;
  grid-row: 1;
  position: static;
  width: 2em;
  text-align: center;
  box-shadow: none;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: max(1.88rem, min(18px, 8.01vw));
  line-height: 1;
  color: var(--site-primary);
}
@media screen and (max-width: 768px) {
  .swell-block-faq .swell-block-faq__item .faq_a::before {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}
.swell-block-faq .swell-block-faq__item .faq_a p {
  margin: 0;
}
.swell-block-faq .swell-block-faq__item .faq_a > * {
  grid-column: 2;
}
@media screen and (max-width: 768px) {
  .swell-block-faq .swell-block-faq__item .faq_a {
    column-gap: 0.88rem;
    row-gap: 0.75rem;
    padding: 1.25rem 1rem;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.63rem, min(29.26px, 6.94vw));
  }
}

.p-faq-page {
  padding-top: 5rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-faq-page {
    padding-top: 2.5rem;
    padding-bottom: 4rem;
  }
}

.p-faq-page__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-faq-page__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-faq-page__inner {
    padding-inline: 1.25rem;
  }
}

.p-faq-page .p-faq__description {
  margin-top: 0;
  text-align: center;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-faq-page .p-faq__description {
    text-align: left;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.75rem, min(31.51px, 7.47vw));
  }
}

.p-faq-page__cta {
  display: flex;
  justify-content: center;
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-faq-page__cta {
    margin-top: 2.5rem;
  }
}

.p-faq-page .p-faq-page__inner .p-faq__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem;
  margin-bottom: 2.5rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-faq-page .p-faq-page__inner .p-faq__tabs {
    flex-direction: column;
    gap: 0.75rem;
    margin-bottom: 1.5rem;
  }
}

.p-faq-page .p-faq-page__inner .p-faq__tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.63rem;
  flex: 1 1 0;
  padding: 0.88rem 1.5rem;
  border: 1px solid var(--site-primary);
  border-radius: 0.5rem;
  text-decoration: none;
  transition: opacity 0.2s ease;
}
.p-faq-page .p-faq-page__inner .p-faq__tab:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .p-faq-page .p-faq-page__inner .p-faq__tab {
    padding: 0.75rem 1rem;
  }
}

.p-faq-page .p-faq-page__inner .p-faq__tab-label {
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: bold;
  color: var(--site-primary);
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-faq-page .p-faq-page__inner .p-faq__tab-label {
    font-size: max(0.94rem, min(16.88px, 4vw));
    white-space: normal;
    text-align: center;
  }
}

.p-faq-page .p-faq-page__inner .p-faq__tab-arrow {
  flex: 0 0 auto;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid var(--site-primary);
  border-bottom: 2px solid var(--site-primary);
  transform: rotate(45deg);
}

.p-faq-page .swell-block-faq {
  gap: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-faq-page .swell-block-faq {
    gap: 1.5rem;
  }
}

.p-faq-page .swell-block-faq .swell-block-faq__item .faq_q {
  gap: 1.88rem;
  padding: 0.63rem 5.63rem 0.63rem 2.5rem;
  border-bottom: 1px solid var(--site-border);
}
.p-faq-page .swell-block-faq .swell-block-faq__item .faq_q::before {
  width: 3.75rem;
  text-align: center;
}
.p-faq-page .swell-block-faq .swell-block-faq__item .faq_q::after {
  right: 1.88rem;
}
@media screen and (max-width: 768px) {
  .p-faq-page .swell-block-faq .swell-block-faq__item .faq_q {
    gap: 1rem;
    padding: 0.88rem 2.75rem 0.88rem 1rem;
  }
  .p-faq-page .swell-block-faq .swell-block-faq__item .faq_q::before {
    width: auto;
  }
  .p-faq-page .swell-block-faq .swell-block-faq__item .faq_q::after {
    right: 1.13rem;
  }
}

.p-faq-page .swell-block-faq .swell-block-faq__item .faq_a {
  align-items: center;
}
.p-faq-page .swell-block-faq .swell-block-faq__item .faq_a::before {
  width: 3.75rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-faq-page .swell-block-faq .swell-block-faq__item .faq_a {
    align-items: flex-start;
  }
  .p-faq-page .swell-block-faq .swell-block-faq__item .faq_a::before {
    width: auto;
  }
}

.p-page-body {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .p-page-body {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.p-page-body--noTop {
  padding-top: 0;
}

.p-page-body--privacy .post_content {
  font-size: max(1.06rem, min(18px, 4.54vw));
}
@media screen and (max-width: 768px) {
  .p-page-body--privacy .post_content {
    font-size: var(--swl-fz--content, 16px);
  }
}

.p-page-body--privacy .post_content h2 {
  margin-top: 2.8em;
  margin-bottom: 1em;
}
@media screen and (max-width: 768px) {
  .p-page-body--privacy .post_content h2 {
    margin-top: 2.2em;
    margin-bottom: 0.8em;
  }
}

.p-page-body__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-page-body__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-page-body__inner {
    padding-inline: 1.25rem;
  }
}

.p-page-body .p-page-body__inner .post_content {
  max-width: 51.25rem;
  margin-inline: auto;
}

.p-page-body--wide .p-page-body__inner .post_content {
  max-width: none;
}

.p-page-body .p-page-body__inner .p-page-lead {
  max-width: 51.25rem;
  margin-inline: auto;
  line-height: 1.9;
}

.p-page-body .p-page-body__inner .p-page-lead-note {
  max-width: 51.25rem;
  margin-top: 0.75rem;
  margin-inline: auto;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
}
.p-page-body .p-page-body__inner .p-page-lead-note a {
  text-decoration: underline;
}

.p-page-body .p-page-body__inner .p-page-lead + .post_content,
.p-page-body .p-page-body__inner .p-page-lead-note + .post_content {
  margin-top: 2rem;
}

.starter-form {
  background: #f7f7f7;
  padding: 3.75rem 5rem;
}
@media screen and (max-width: 768px) {
  .starter-form {
    padding: 2rem 1.25rem;
  }
}

form.wpcf7-form {
  display: flex;
  flex-direction: column;
}

.starter-form--unset {
  padding: 2.5rem 1.5rem;
  text-align: center;
}

.starter-form__row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
@media screen and (max-width: 768px) {
  .starter-form__row {
    flex-direction: column;
    gap: 0.5rem;
  }
}

.starter-form__row + .starter-form__row {
  margin-top: 2.81rem;
}
@media screen and (max-width: 768px) {
  .starter-form__row + .starter-form__row {
    margin-top: 1.75rem;
  }
}

.starter-form__row--top {
  align-items: flex-start;
}

.starter-form__label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  flex: 0 0 28%;
  width: 28%;
  padding-top: 0.56rem;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .starter-form__label {
    flex: 0 0 auto;
    width: 100%;
    padding-top: 0;
    justify-content: flex-start;
  }
}

.starter-form__badge {
  flex-shrink: 0;
  margin-left: 0.31rem;
  padding: 0.38rem 0.63rem;
  background: var(--site-primary);
  color: #fff;
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  font-weight: bold;
  white-space: nowrap;
}

.starter-form__badge--optional {
  background: #999;
}

.starter-form__field {
  flex: 1 1 0;
  width: 75%;
}
@media screen and (max-width: 768px) {
  .starter-form__field {
    width: 100%;
  }
}

.starter-form__input,
.starter-form__textarea {
  width: 100%;
  padding: 0.63rem 0.88rem;
  background: #fff;
  border: 1px solid #d0d0d0;
  font-size: max(1rem, min(18px, 4.27vw));
  color: var(--site-text);
}
.starter-form__input:focus,
.starter-form__textarea:focus {
  outline: none;
  border-color: var(--site-primary);
  box-shadow: 0 0 0.07rem 0 var(--site-primary);
}

.starter-form__textarea {
  height: 12.5rem;
  resize: none;
}
@media screen and (max-width: 768px) {
  .starter-form__textarea {
    height: 10rem;
  }
}

.starter-form__field:has(.starter-form__select) {
  position: relative;
}
.starter-form__field:has(.starter-form__select)::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1rem;
  width: 0.63rem;
  height: 0.88rem;
  background-color: var(--site-text);
  mask: url(../images/common/icon-chevron.svg) center/contain no-repeat;
  -webkit-mask: url(../images/common/icon-chevron.svg) center/contain no-repeat;
  transform: translateY(-50%) rotate(-90deg);
  pointer-events: none;
}

.starter-form__select {
  width: 100%;
  padding: 0.63rem 2.5rem 0.63rem 0.88rem;
  background-color: #fff;
  border: 1px solid #d0d0d0;
  border-radius: 0;
  font-size: max(1rem, min(18px, 4.27vw));
  color: var(--site-text);
  appearance: none;
}
.starter-form__select::-ms-expand {
  display: none;
}
.starter-form__select:focus {
  outline: none;
  border-color: var(--site-primary);
  box-shadow: 0 0 0.07rem 0 var(--site-primary);
}

.starter-form__checkbox-group .wpcf7-list-item,
.starter-form__checkbox-group label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  cursor: pointer;
}

.starter-form__checkbox-group .wpcf7-list-item {
  padding-top: 0.56rem;
}

.starter-form__checkbox-group input[type=checkbox] {
  appearance: none;
  box-sizing: border-box;
  flex-shrink: 0;
  width: max(1.5rem, 24px);
  height: max(1.5rem, 24px);
  aspect-ratio: 1;
  padding: 0;
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--site-text) 35%, transparent);
  border-radius: 50%;
  background-color: #fff;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
}
.starter-form__checkbox-group input[type=checkbox]:hover {
  border-color: var(--site-primary);
}
.starter-form__checkbox-group input[type=checkbox]:checked {
  border-color: var(--site-primary);
  background-color: var(--site-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 8.5 6.5 12 13 5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 76%;
}
.starter-form__checkbox-group input[type=checkbox]:focus-visible {
  outline: 2px solid var(--site-primary);
  outline-offset: 2px;
}

.starter-form__agree {
  margin-top: 2.5rem;
  text-align: center;
  order: 2;
}
@media screen and (max-width: 768px) {
  .starter-form__agree {
    margin-top: 1.75rem;
  }
}

.starter-form__agree-label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  cursor: pointer;
}

.starter-form__agree-label :is(.wpcf7-form-control-wrap, .wpcf7-acceptance, .wpcf7-list-item) {
  display: flex;
  align-items: center;
  margin: 0;
}

.starter-form__checkbox {
  appearance: none;
  flex-shrink: 0;
  width: max(1.5rem, 24px);
  height: max(1.5rem, 24px);
  margin: 0;
  border: 1px solid color-mix(in srgb, var(--site-text) 35%, transparent);
  border-radius: 0.19rem;
  background-color: #fff;
  cursor: pointer;
  transition: background-color 0.2s, border-color 0.2s;
}

.starter-form__checkbox:hover {
  border-color: var(--site-primary);
}

.starter-form__checkbox:checked {
  border-color: var(--site-primary);
  background-color: var(--site-primary);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 8.5 6.5 12 13 5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 76%;
}

.starter-form__checkbox:focus-visible {
  outline: 2px solid var(--site-primary);
  outline-offset: 2px;
}

.starter-form__agree-link {
  text-decoration: underline;
  transition: opacity 0.3s ease;
}
.starter-form__agree-link:hover {
  opacity: 0.7;
}

.starter-form__submit {
  margin-top: 2.81rem;
  text-align: center;
  order: 3;
}
@media screen and (max-width: 768px) {
  .starter-form__submit {
    margin-top: 2rem;
  }
}

.wpcf7-form .wpcf7-turnstile {
  order: 1;
  display: flex;
  justify-content: center;
  margin-top: 1.5rem;
  max-width: 100%;
}

.l-sidebar .wpcf7-turnstile > div,
.p-side-cta .wpcf7-turnstile > div {
  transform: scale(0.8);
  transform-origin: center;
}

.l-sidebar .wpcf7-turnstile,
.p-side-cta .wpcf7-turnstile {
  overflow: clip;
}
.l-sidebar .wpcf7-turnstile > div,
.p-side-cta .wpcf7-turnstile > div {
  margin-block: -0.44rem;
}

.starter-form__submit p {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
}

.starter-form__submit .wpcf7-spinner {
  flex-shrink: 0;
}

.starter-form__submit-btn {
  width: 16.25rem;
  max-width: 100%;
  padding: 1.06rem 0;
  background: var(--site-cta);
  border: none;
  color: #fff;
  font-size: max(1rem, min(18px, 4.27vw));
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.starter-form__submit-btn:hover {
  opacity: 0.7;
}

.starter-form input[type=text],
.starter-form input[type=email],
.starter-form input[type=tel],
.starter-form input[type=url],
.starter-form textarea {
  width: 100%;
  padding: 0.63rem 0.88rem;
  background: #fff;
  border: 1px solid #d0d0d0;
  font-size: max(1rem, min(18px, 4.27vw));
  color: var(--site-text);
}
.starter-form input[type=text]:focus,
.starter-form input[type=email]:focus,
.starter-form input[type=tel]:focus,
.starter-form input[type=url]:focus,
.starter-form textarea:focus {
  outline: none;
  border-color: var(--site-primary);
  box-shadow: 0 0 0.07rem 0 var(--site-primary);
}

.starter-form input[type=submit]:not(.c-button) {
  display: block;
  width: 16.25rem;
  max-width: 100%;
  margin-inline: auto;
  padding: 1.06rem 0;
  background: var(--site-cta);
  border: none;
  color: #fff;
  font-size: max(1rem, min(18px, 4.27vw));
  letter-spacing: 0.05em;
  cursor: pointer;
  transition: opacity 0.3s ease;
}
.starter-form input[type=submit]:not(.c-button):hover {
  opacity: 0.7;
}

.wpcf7-form .wpcf7-response-output {
  margin-top: 1.5rem;
  padding: 0.75rem 1rem;
  border-radius: 0.25rem;
  order: 4;
}

.starter-form .wpcf7-not-valid-tip {
  margin-top: 0.38rem;
  color: #c00;
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
}

.starter-form .wpcf7-spinner {
  display: none;
}

.p-thanks {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-thanks {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.p-thanks__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-thanks__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-thanks__inner {
    padding-inline: 1.25rem;
  }
}

.p-thanks__message {
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.9;
  text-align: center;
}

.p-thanks__back {
  margin-top: 2.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-thanks__back {
    margin-top: 2rem;
  }
}

.p-thanks__back-link {
  color: var(--site-accent);
  text-decoration: underline;
}

.p-contact-thanks {
  padding-top: 7.5rem;
  padding-bottom: 7.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-contact-thanks {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
}

.p-contact-thanks__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-contact-thanks__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-contact-thanks__inner {
    padding-inline: 1.25rem;
  }
}

.p-contact-thanks__title {
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: 1.4;
  color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-contact-thanks__title {
    font-size: max(2.13rem, min(18px, 9.07vw));
  }
}
@media screen and (max-width: 768px) {
  .p-contact-thanks__title {
    font-size: max(1.2rem, min(18px, 5.12vw));
  }
}

.p-contact-thanks__subtitle {
  margin-top: 1.88rem;
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 700;
  line-height: 1.5;
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-contact-thanks__subtitle {
    margin-top: 1rem;
    font-size: max(1.06rem, min(18px, 4.54vw));
  }
}

.p-contact-thanks__divider {
  width: 100%;
  max-width: 75rem;
  margin: 3rem auto 0;
  border: none;
  border-top: 1px solid #d3e7ff;
}
@media screen and (max-width: 768px) {
  .p-contact-thanks__divider {
    margin-top: 2rem;
  }
}

.p-contact-thanks__body {
  margin-top: 3rem;
  font-size: max(1.06rem, min(18px, 4.54vw));
  font-weight: 500;
  line-height: max(2rem, min(33.88px, 8.54vw));
  color: var(--site-text);
}
.p-contact-thanks__body + .p-contact-thanks__body {
  margin-top: 1.75rem;
}
@media screen and (max-width: 768px) {
  .p-contact-thanks__body {
    margin-top: 2rem;
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.63rem, min(29.25px, 6.94vw));
  }
  .p-contact-thanks__body + .p-contact-thanks__body {
    margin-top: 1rem;
  }
}

.p-contact-thanks__cta {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-contact-thanks__cta {
    margin-top: 2.5rem;
  }
}

.p-contact-thanks__cta .c-button {
  --c-button-color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-contact-thanks__cta .c-button {
    --c-button-fz: max(1rem, min(18px, 4.27vw));
    --c-button-h: 3.5rem;
  }
}

.p-company__philosophy {
  background: var(--site-grad-hero);
  border-radius: 0 0 0.63rem 0.63rem;
  padding-block: 5rem;
}
@media screen and (max-width: 768px) {
  .p-company__philosophy {
    padding-block: 3rem;
  }
}

.p-company__philosophy-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-company__philosophy-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-company__philosophy-inner {
    padding-inline: 1.25rem;
  }
}

.p-company__philosophy-body {
  margin-top: 3.13rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-company__philosophy-body {
    margin-top: 1.75rem;
  }
}

.p-company__philosophy-lead {
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(2.5rem, min(18px, 10.68vw));
  color: var(--site-secondary);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-company__philosophy-lead {
    font-size: max(1.38rem, min(18px, 5.87vw));
    line-height: max(2.13rem, min(27.82px, 9.07vw));
  }
}

.p-company__philosophy-text {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
  margin-top: 1.13rem;
}
@media screen and (max-width: 768px) {
  .p-company__philosophy-text {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.75rem, min(31.5px, 7.47vw));
    margin-top: 0.75rem;
  }
}

.p-company__philosophy-lead + .p-company__philosophy-text {
  margin-top: 1.88rem;
}
@media screen and (max-width: 768px) {
  .p-company__philosophy-lead + .p-company__philosophy-text {
    margin-top: 1.25rem;
  }
}

.p-company__mission {
  padding-block: 5rem 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-company__mission {
    padding-block: 3.75rem;
  }
}

.p-company__mission-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-company__mission-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-company__mission-inner {
    padding-inline: 1.25rem;
  }
}

.p-company__mission-lead {
  margin-top: 4.38rem;
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(2.5rem, min(18px, 10.68vw));
  color: var(--site-secondary);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-company__mission-lead {
    margin-top: 2.25rem;
    font-size: max(1.38rem, min(18px, 5.87vw));
    line-height: max(2.13rem, min(27.82px, 9.07vw));
  }
}

.p-company__mission-text {
  margin-top: 3.13rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-company__mission-text {
    margin-top: 1.25rem;
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.75rem, min(31.5px, 7.47vw));
  }
}

.p-company .c-photo-pair {
  --c-photo-pair-w: 36.25rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-company .c-photo-pair {
    margin-top: 1.88rem;
  }
}

.p-company__profile {
  padding-block: 7.5rem;
  background-color: var(--site-bg-tint);
}
@media screen and (max-width: 768px) {
  .p-company__profile {
    padding-block: 4rem;
  }
}

.p-company__profile-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-company__profile-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-company__profile-inner {
    padding-inline: 1.25rem;
  }
}

.p-company__table {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-company__table {
    margin-top: 1.88rem;
  }
}
.p-company__table table {
  width: 100%;
  border-collapse: collapse;
  border: none;
}
.p-company__table tbody tr {
  border: none;
  border-bottom: 1px solid var(--site-border);
}
.p-company__table td {
  height: 5.63rem;
  border: none;
  padding-block: 0.31rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  line-height: max(2.5rem, min(36px, 10.68vw));
  vertical-align: middle;
}
.p-company__table td:first-child {
  width: 23.13rem;
  padding-left: 6.25rem;
  font-weight: 700;
  color: var(--site-secondary);
}
@media screen and (max-width: 768px) {
  .p-company__table td:first-child {
    padding-left: 0;
  }
}
.p-company__table td:last-child {
  padding-right: 0;
  font-weight: 500;
  color: var(--site-text);
}
.p-company__table a[href$="/profile/"] {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.p-company__table a[href$="/profile/"]:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}
.p-company__table a[href$="/profile/"] {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 21.25rem;
  height: 5rem;
  margin-left: 5rem;
  padding: 0.63rem 3rem;
  vertical-align: middle;
  background-color: var(--site-bg);
  border: 1px solid var(--site-text);
  border-radius: 2.5rem;
  box-shadow: 0 0.19rem 0.31rem rgba(0, 0, 0, 0.25);
  color: var(--site-text);
  font-size: max(1.63rem, min(18px, 6.94vw));
  font-weight: 700;
  line-height: 1.3;
  text-decoration: none;
}
.p-company__table a[href$="/profile/"]::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.31rem;
  width: 1.06rem;
  height: 0.44rem;
  background-color: currentColor;
  mask: url(../images/common/icon-arrow-right.svg) center/contain no-repeat;
  -webkit-mask: url(../images/common/icon-arrow-right.svg) center/contain no-repeat;
  transform: translateY(-50%) rotate(-45deg);
}
@media screen and (max-width: 1024px) {
  .p-company__table a[href$="/profile/"] {
    font-size: max(1.63rem, min(18px, 6.94vw));
  }
}
@media screen and (max-width: 768px) {
  .p-company__table a[href$="/profile/"] {
    display: flex;
    min-width: 0;
    width: 15rem;
    height: 2.75rem;
    margin-top: 0.63rem;
    margin-left: 0;
    font-size: max(0.94rem, min(16.88px, 4vw));
  }
}
@media screen and (max-width: 768px) {
  .p-company__table tr {
    display: block;
  }
  .p-company__table td {
    display: block;
    width: 100%;
    height: auto;
    padding-block: 1.56rem;
    padding-inline: 0;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.63rem, min(29.26px, 6.94vw));
  }
  .p-company__table td:first-child {
    width: auto;
    padding-bottom: 0.25rem;
  }
  .p-company__table td:last-child {
    padding-top: 0;
    padding-bottom: 1rem;
  }
}

.p-header-btns {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.p-header-btn {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 21.25rem;
  min-height: 5rem;
  padding: 0.63rem 1.25rem;
  border-radius: 2.5rem;
  box-shadow: 0 0.19rem 0.63rem rgba(0, 0, 0, 0.25);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.p-header-btn:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}

.p-header-btn--tel {
  background-color: #fff;
  border: 0.07rem solid var(--site-text);
  color: var(--site-text);
}

.p-header-btn__tel-num {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: max(2.25rem, min(18px, 9.61vw));
  line-height: 1.1;
  white-space: nowrap;
}
.p-header-btn__tel-num::before {
  content: "";
  flex-shrink: 0;
  width: 1.31rem;
  aspect-ratio: 21/31;
  background-color: currentColor;
  mask: url(../images/common/icon-tel.svg) center/contain no-repeat;
  -webkit-mask: url(../images/common/icon-tel.svg) center/contain no-repeat;
}
@media screen and (max-width: 1024px) {
  .p-header-btn__tel-num {
    font-size: max(2.25rem, min(18px, 9.61vw));
  }
}

.p-header-btn__tel-hours {
  align-self: flex-end;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  letter-spacing: 0.06em;
  line-height: 1.3;
}
@media screen and (max-width: 1024px) {
  .p-header-btn__tel-hours {
    font-size: max(0.75rem, min(8.4px, 3.2vw), 10px);
  }
}

.p-header-btn--contact {
  background-color: var(--site-cta);
  color: #fff;
  font-size: max(1.63rem, min(18px, 6.94vw));
  font-weight: 700;
  line-height: 1.3;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-header-btn--contact {
    font-size: max(1.63rem, min(18px, 6.94vw));
  }
}

.corporate-template-corporate-custom .p-header-btn--contact,
.personal-template-personal-custom .p-header-btn--contact {
  background: var(--corporate-gradient);
}

.corporate-template-corporate-custom .p-header-btn--tel,
.personal-template-personal-custom .p-header-btn--tel {
  color: #181818;
}

.l-sidebar .c-widget__title {
  margin-bottom: 0;
}

.l-sidebar .c-widget__title + * {
  margin-top: 1.25rem;
}

.p-side-popular {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  list-style: none;
}

.p-side-popular__link {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
  color: inherit;
  transition: opacity 0.3s;
}

.p-side-popular__link:hover {
  opacity: 0.7;
}

.p-side-popular__thumb {
  position: relative;
  width: 100%;
  aspect-ratio: 16/9;
  border-radius: 0.38rem;
  overflow: hidden;
}

.p-side-popular__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-side-popular__num {
  position: absolute;
  top: -0.25rem;
  left: 0.94rem;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 2.19rem;
  font-family: arial, helvetica, sans-serif;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 700;
  color: #fff;
  box-shadow: 1px 1px 4px rgba(0, 0, 0, 0.2);
  background: var(--site-primary);
}

.p-side-popular__num[data-rank="1"] {
  background: linear-gradient(to left top, #f7bf05, #fcea7f, #fcd700, #f7d305, #eaca12, #ac9303, #f7d305, #fcea7f, #f7e705, #eaca12, #f7bf05);
}

.p-side-popular__num[data-rank="2"] {
  background: linear-gradient(to left top, #a5a5a5, #e5e5e5, #ae9c9c, #a5a5a5, #a5a5a5, #7f7f7f, #a5a5a5, #e5e5e5, #a5a5a5, #a5a5a5, #a5a5a5);
}

.p-side-popular__num[data-rank="3"] {
  background: linear-gradient(to left top, #c46522, #e8b27d, #d07217, #c47222, #b9722e, #834c17, #c47222, #e8b27d, #c48022, #b9722e, #c46522);
}

.p-side-popular__title {
  min-width: 0;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 500;
  line-height: 1.6;
  color: var(--site-text);
}

.p-side-cta {
  padding: 1.5rem 1.25rem;
  background: var(--site-primary);
  border-radius: 0.63rem;
  text-align: center;
}

.p-side-cta__heading {
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 700;
  color: #fff;
}

.p-side-cta__text {
  margin-top: 0.5rem;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 500;
  line-height: 1.6;
  color: #fff;
  text-align: left;
}

.p-side-cta__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1rem;
  height: 3rem;
  background: #fff;
  border-radius: 3.13rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 700;
  color: var(--site-primary);
  transition: opacity 0.3s;
}

.p-side-cta__btn:hover {
  opacity: 0.85;
  color: var(--site-primary);
}

.p-side-cta--form {
  text-align: left;
}

.p-side-cta--form .p-side-cta__form {
  margin-top: 1rem;
}

.p-side-cta--form .starter-form__row {
  flex-direction: column;
  align-items: stretch;
  gap: 0.25rem;
}

.p-side-cta--form .starter-form__row + .starter-form__row {
  margin-top: 0.75rem;
}

.p-side-cta--form .starter-form__label {
  width: 100%;
  padding-top: 0;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  color: #fff;
}

.p-side-cta--form .starter-form__field {
  width: 100%;
}

.p-side-cta--form .starter-form__input,
.p-side-cta--form .starter-form__textarea {
  padding: 0.63rem 0.75rem;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
}

.p-side-cta--form .starter-form__agree {
  margin-top: 1rem;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  color: #fff;
}

.p-side-cta--form .starter-form__submit {
  margin-top: 1rem;
}

.p-side-cta--form .starter-form__submit-btn {
  width: 100%;
  height: 3rem;
}

.p-download-list {
  background-color: var(--site-bg);
  padding-block: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-download-list {
    padding-block: 3rem;
  }
}

.p-download-list__inner {
  width: 100%;
  max-width: 70.63rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-download-list__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-download-list__inner {
    padding-inline: 1.25rem;
  }
}

.p-download-list__heading {
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  line-height: max(2.5rem, min(18px, 10.68vw));
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-download-list__heading {
    font-size: max(1.5rem, min(18px, 6.4vw));
  }
}

.p-download-list__heading + .p-download-list__list,
.p-download-list__heading + .p-download-list__empty {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-download-list__heading + .p-download-list__list,
  .p-download-list__heading + .p-download-list__empty {
    margin-top: 1.25rem;
    max-width: 28.75rem;
    margin-inline: auto;
  }
}

.p-download-list__list {
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.p-download-list__card {
  display: flex;
  align-items: center;
  gap: 2.5rem;
  min-height: 16.69rem;
  padding: 1.25rem 1.44rem;
  background-color: #fff;
  border-radius: 0.63rem;
  box-shadow: 0 0.19rem 0.38rem rgba(0, 0, 0, 0.15);
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}
@media screen and (max-width: 768px) {
  .p-download-list__card {
    flex-direction: column;
    align-items: stretch;
    gap: 1.25rem;
    min-height: 0;
    padding: 1.25rem;
  }
}

.p-download-list__card:hover {
  opacity: 0.7;
}

.p-download-list__thumb {
  flex-shrink: 0;
  width: 20.56rem;
  aspect-ratio: 329/215;
  background-color: var(--site-bg-tint);
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-download-list__thumb {
    width: 100%;
  }
}

.p-download-list__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-download-list__body {
  flex: 1 1 0;
  min-width: 0;
}

.p-download-list__title {
  font-size: max(1.88rem, min(18px, 8.01vw));
  font-weight: 700;
  line-height: max(2.5rem, min(24px, 10.68vw));
  color: var(--site-secondary);
}
@media screen and (max-width: 1024px) {
  .p-download-list__title {
    font-size: max(1.38rem, min(18px, 5.87vw));
  }
}
@media screen and (max-width: 768px) {
  .p-download-list__title {
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: max(1.88rem, min(27px, 8.01vw));
  }
}

.p-download-list__title + .p-download-list__points {
  margin-top: 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-download-list__title + .p-download-list__points {
    margin-top: 0.75rem;
  }
}

.p-download-list__points-head {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: max(2.5rem, min(32.73px, 10.68vw));
  color: var(--site-secondary);
}
@media screen and (max-width: 768px) {
  .p-download-list__points-head {
    font-size: max(1.13rem, min(18px, 4.8vw));
    line-height: max(1.75rem, min(28px, 7.47vw));
  }
}

.p-download-list__points-list {
  margin-top: 0.5rem;
  list-style: circled-decimal;
  padding-left: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-download-list__points-item {
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 500;
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-download-list__points-item {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: 1.6;
  }
}
.p-download-list__points-item::marker {
  color: var(--site-accent);
  font-weight: 700;
}

.p-download-list__empty {
  text-align: center;
  color: var(--site-text);
  padding-block: 3.75rem;
}

.p-download-detail {
  padding-block: 7.5rem 6rem;
}
@media screen and (max-width: 768px) {
  .p-download-detail {
    padding-block: 3rem;
  }
}

.p-download-detail__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-download-detail__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-download-detail__inner {
    padding-inline: 1.25rem;
  }
}
.p-download-detail__inner {
  display: flex;
  align-items: flex-start;
  gap: 4.13rem;
}
@media screen and (max-width: 1024px) {
  .p-download-detail__inner {
    flex-direction: column;
    gap: 5rem;
  }
}

.p-download-detail__main {
  flex: 0 0 37.5rem;
  width: 37.5rem;
  min-width: 0;
}
@media screen and (max-width: 1024px) {
  .p-download-detail__main {
    flex: 1 1 auto;
    width: 100%;
  }
}

.p-download-detail__thumb {
  width: 100%;
  aspect-ratio: 658/430;
  overflow: hidden;
}

.p-download-detail__thumb + * {
  margin-top: 1.88rem;
}

.p-download-detail__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-download-detail__title {
  font-size: max(2.5rem, min(18px, 10.68vw));
  font-weight: 700;
  color: var(--site-text);
  line-height: 1.4;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-download-detail__title {
    font-size: max(1.5rem, min(18px, 6.4vw));
  }
}

.p-download-detail__title + * {
  margin-top: 2.5rem;
}

.p-download-detail__form {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 1024px) {
  .p-download-detail__form {
    width: 100%;
  }
}

.p-download-detail__form-lead {
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 700;
  line-height: 1.7;
  color: var(--site-text);
}

.p-download-detail__form-lead + .p-download-detail__form-fields {
  margin-top: 2.5rem;
}

.p-download-detail__form .starter-form__label {
  flex: 0 0 11.875em;
  width: 11.875em;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-download-detail__form .starter-form__label {
    flex: 0 0 auto;
    width: 100%;
  }
}

.p-download-detail__thumb + .p-download-detail__images {
  margin-top: 0.38rem;
}

.p-download-detail__images + * {
  margin-top: 1.25rem;
}

.p-download-detail__images {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
}
@media screen and (max-width: 600px) {
  .p-download-detail__images {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.p-download-detail__image {
  aspect-ratio: 170/94;
  background-color: var(--site-bg-tint);
  overflow: hidden;
}

.p-download-detail__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-download-detail__images + .p-download-detail__block {
  margin-top: 1.25rem;
}

.p-download-detail__block {
  margin-top: 1.88rem;
}

.p-download-detail__block-head {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: max(2.5rem, min(32.73px, 10.68vw));
  color: var(--site-secondary);
}

.p-download-detail__list {
  margin-top: 0.5rem;
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.p-download-detail__list-item {
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 500;
  line-height: max(1.63rem, min(26px, 6.94vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-download-detail__list-item {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: 1.6;
  }
}

.p-download-detail__list:not(.p-download-detail__list--numbered) .p-download-detail__list-item {
  display: flex;
  align-items: flex-start;
  gap: 0.88rem;
}
.p-download-detail__list:not(.p-download-detail__list--numbered) .p-download-detail__list-item::before {
  content: "";
  flex-shrink: 0;
  width: 0.38rem;
  height: 0.38rem;
  margin-top: 0.44rem;
  background-color: var(--site-primary);
  border-radius: 50%;
}

@counter-style circled-decimal {
  system: fixed;
  symbols: "①" "②" "③" "④" "⑤" "⑥" "⑦" "⑧" "⑨" "⑩";
  suffix: " ";
}
.p-download-detail__list--numbered {
  list-style: circled-decimal;
  padding-left: 1.5rem;
}

.p-download-detail__list--numbered .p-download-detail__list-item::marker {
  color: var(--site-accent);
  font-weight: 700;
}

.p-cases {
  padding-top: 5rem;
  padding-bottom: 5rem;
}
@media screen and (max-width: 768px) {
  .p-cases {
    padding-top: 3rem;
    padding-bottom: 3rem;
  }
}

.p-cases__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-cases__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-cases__inner {
    padding-inline: 1.25rem;
  }
}

.p-cases__block + .p-cases__block {
  margin-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-cases__block + .p-cases__block {
    margin-top: 3rem;
  }
}

.p-cases__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  margin-top: 2.5rem;
}
@media screen and (max-width: 1024px) {
  .p-cases__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-top: 1.5rem;
  }
}
@media screen and (max-width: 600px) {
  .p-cases__grid {
    grid-template-columns: 1fr;
  }
}

.p-profile {
  padding-block-end: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-profile {
    padding-block-end: 2.5rem;
  }
}

.p-profile__intro-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-profile__intro-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-profile__intro-inner {
    padding-inline: 1.25rem;
  }
}
.p-profile__intro-inner {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-start;
  gap: 3.75rem;
}
@media screen and (max-width: 1024px) {
  .p-profile__intro-inner {
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
  }
}

.p-profile__intro-photo {
  display: block;
  flex-shrink: 0;
  width: 27.5rem;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .p-profile__intro-photo {
    width: 17.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-profile__intro-photo {
    width: 15rem;
  }
}

@media screen and (max-width: 1024px) {
  .p-profile__intro-body {
    width: 100%;
  }
}

.p-profile__sns {
  margin-top: 1.5rem;
}
@media screen and (max-width: 768px) {
  .p-profile__sns {
    margin-top: 1.25rem;
  }
}

.p-profile__intro-title {
  font-size: max(2rem, min(28px, 8.54vw));
  font-weight: 700;
  line-height: 1.5;
  color: var(--site-secondary);
}
@media screen and (max-width: 1024px) {
  .p-profile__intro-title {
    font-size: max(1.63rem, min(24px, 6.94vw));
  }
}
@media screen and (max-width: 768px) {
  .p-profile__intro-title {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-profile__intro-text {
  margin-top: 1.25rem;
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 500;
  line-height: 1.7;
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-profile__intro-text {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: 1.8;
  }
}

.p-profile__intro-text + .p-profile__intro-text {
  margin-top: 1.63rem;
}

.p-profile__name {
  margin-top: 1.88rem;
}
@media screen and (max-width: 768px) {
  .p-profile__name {
    margin-top: 1.75rem;
  }
}

.p-profile__name::before {
  content: "";
  display: block;
  width: 3.75rem;
  border-top: 0.13rem solid var(--site-primary);
}

.p-profile__name-role {
  margin-top: 1.25rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 700;
  line-height: 2;
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-profile__name-role {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-profile__name-main {
  margin-top: 0.38rem;
  font-size: max(1.88rem, min(18px, 8.01vw));
  font-weight: 700;
  line-height: 1.33;
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-profile__name-main {
    font-size: max(1.5rem, min(18px, 6.4vw));
  }
}

.p-profile__name-kana {
  font-size: max(1.25rem, min(18px, 5.34vw));
}
@media screen and (max-width: 768px) {
  .p-profile__name-kana {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.p-profile__name-job {
  margin-top: 1.25rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: 1.63;
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-profile__name-job {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.p-profile__intro + .c-loose-band {
  margin-top: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-profile__intro + .c-loose-band {
    margin-top: 3.5rem;
  }
}

.p-profile__yt-head {
  justify-content: flex-start;
}

@media screen and (max-width: 768px) {
  .p-profile__yt .c-loose-band__inner {
    padding-block-start: 0;
  }
}

@media screen and (max-width: 768px) {
  .p-profile__yt .c-loose-band__inner::before {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .p-profile__yt-head {
    margin-inline-end: -1.25rem;
    padding-block: 2rem 1.5rem;
    padding-inline-end: 1.25rem;
    background-color: var(--site-bg-tint);
  }
}

.p-profile__yt-title {
  display: flex;
  align-items: center;
  gap: 1.25rem;
}

.p-profile__yt-logo {
  flex-shrink: 0;
  width: 2.25rem;
  height: 1.63rem;
  object-fit: contain;
}

.p-profile__stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 3.75rem;
  margin-top: 1.88rem;
  list-style: none;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .p-profile__stats {
    flex-direction: column;
    gap: 1.25rem;
    margin-top: 1.5rem;
  }
}

.p-profile__stat {
  position: relative;
  padding-inline: 3.63rem;
  font-weight: 700;
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-profile__stat {
    padding-inline: 2.38rem;
  }
}

.p-profile__stat::before,
.p-profile__stat::after {
  content: "";
  position: absolute;
  top: 50%;
  width: 2.38rem;
  height: 7.5rem;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-profile__stat::before,
  .p-profile__stat::after {
    width: 1.63rem;
    height: 5.13rem;
  }
}

.p-profile__stat::before {
  left: 0;
  background-image: url(../images/profile/profile-laurel-left.webp);
}

.p-profile__stat::after {
  right: 0;
  background-image: url(../images/profile/profile-laurel-right.webp);
}

.p-profile__stat-label {
  font-size: max(1.25rem, min(18px, 5.34vw));
  line-height: max(3.5rem, min(50.4px, 14.94vw));
}
@media screen and (max-width: 768px) {
  .p-profile__stat-label {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: max(1.75rem, min(31.5px, 7.47vw));
  }
}

.p-profile__stat-value {
  font-size: max(1.75rem, min(18px, 7.47vw));
  line-height: max(3.5rem, min(36px, 14.94vw));
  color: var(--site-accent);
}
@media screen and (max-width: 768px) {
  .p-profile__stat-value {
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: max(2.75rem, min(39.6px, 11.74vw));
  }
}

.p-profile__stat-num {
  font-size: max(3.13rem, min(18px, 13.34vw));
  line-height: 0;
}
@media screen and (max-width: 768px) {
  .p-profile__stat-num {
    font-size: max(2.25rem, min(18px, 9.61vw));
  }
}

.p-profile__stat-sub {
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: max(1.88rem, min(30px, 8.01vw));
}
@media screen and (max-width: 768px) {
  .p-profile__stat-sub {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.38rem, min(24.75px, 5.87vw));
  }
}

.p-profile__media-item {
  --c-photo-pair-w: 34.63rem;
}

.p-profile__media-img {
  aspect-ratio: 526.35/295.93;
}

.p-profile__media-video {
  position: relative;
  aspect-ratio: 526.35/295.93;
  overflow: hidden;
  border-radius: 0.5rem;
}
.p-profile__media-video iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-profile__media {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-profile__media {
    margin-top: 1.75rem;
  }
}

.p-profile__stats + .p-profile__media {
  margin-top: 1.25rem;
}

.p-profile__badge {
  position: absolute;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  width: 8.13rem;
  height: 8.13rem;
  background-color: #fff;
  border-radius: 50%;
  box-shadow: 0 0.19rem 0.5rem rgba(0, 0, 0, 0.15);
  color: var(--site-accent);
}
@media screen and (max-width: 1024px) {
  .p-profile__badge {
    width: 10rem;
    height: 10rem;
  }
}
@media screen and (max-width: 768px) {
  .p-profile__badge {
    width: 5rem;
    height: 5rem;
  }
}

.p-profile__badge-value {
  font-size: max(0.88rem, min(10.5px, 3.74vw));
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .p-profile__badge-value {
    font-size: max(0.69rem, min(11px, 2.94vw), 10px);
  }
}

.p-profile__badge-num {
  font-family: "Montserrat", sans-serif;
  font-size: max(2.88rem, min(18px, 12.28vw));
  font-weight: 600;
}
@media screen and (max-width: 768px) {
  .p-profile__badge-num {
    font-size: max(1.63rem, min(18px, 6.94vw));
  }
}

.p-profile__badge-unit {
  font-size: max(1.88rem, min(18px, 8.01vw));
}
@media screen and (max-width: 768px) {
  .p-profile__badge-unit {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.p-profile__badge-strong {
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 768px) {
  .p-profile__badge-strong {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-profile__badge--book {
  inset-block-start: -1rem;
  inset-inline-start: -3.31rem;
}
@media screen and (max-width: 768px) {
  .p-profile__badge--book {
    inset-block-start: auto;
    inset-block-end: -2.5rem;
    inset-inline-start: -0.5rem;
  }
}

.p-profile__actions {
  display: flex;
  justify-content: center;
  margin-top: 3.13rem;
}
@media screen and (max-width: 768px) {
  .p-profile__actions {
    margin-top: 2.25rem;
  }
}

.p-profile__button--wide {
  --c-button-w: 31rem;
  --c-button-color: var(--site-text);
}
@media screen and (max-width: 1024px) {
  .p-profile__button--wide {
    --c-button-w: 25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-profile__button--wide {
    --c-button-w: 17.5rem;
  }
}

.p-profile__books-row {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: start;
}
@media screen and (max-width: 768px) {
  .p-profile__books-row {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 1.25rem;
  }
}

.p-profile__books {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 2.5rem;
  justify-self: end;
  margin-inline-end: 1.63rem;
  list-style: none;
  padding-left: 0;
  isolation: isolate;
}
@media screen and (max-width: 768px) {
  .p-profile__books {
    flex-wrap: wrap;
    gap: 2rem 1.25rem;
    justify-self: stretch;
    margin-inline-end: 0;
  }
}

.p-profile__book {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 19rem;
}
@media screen and (max-width: 1024px) {
  .p-profile__book {
    width: 18.75rem;
  }
}
@media screen and (max-width: 768px) {
  .p-profile__book {
    width: 46%;
  }
}

.p-profile__book-title {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 700;
  line-height: 1.6;
  color: var(--site-text);
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-profile__book-title {
    font-size: max(1.25rem, min(16px, 5.34vw));
  }
}
@media screen and (max-width: 768px) {
  .p-profile__book-title {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.p-profile__book-frame {
  position: relative;
  margin-top: 1rem;
  padding: 0.75rem;
  background-color: #fff;
  border-radius: 0.5rem;
  box-shadow: 0 0.19rem 0.5rem rgba(0, 0, 0, 0.15);
}
@media screen and (max-width: 768px) {
  .p-profile__book-frame {
    padding: 0.5rem;
  }
}

.p-profile__book-cover {
  display: block;
  width: 100%;
  aspect-ratio: 280/382;
  height: auto;
  object-fit: cover;
  border-radius: 0.5rem;
}

.p-profile__press {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.44rem;
}

.p-profile__press-img {
  display: block;
  width: 100%;
  aspect-ratio: 221.5/300;
  height: auto;
  object-fit: cover;
  box-shadow: 0 0.13rem 0.25rem rgba(0, 0, 0, 0.15);
}

.p-profile__tv-img {
  object-position: left center;
}

.p-service__intro {
  padding-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-service__intro {
    padding-top: 2.5rem;
  }
}

.p-service__lead {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text-navy);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-service__lead {
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.75rem, min(31.51px, 7.47vw));
    text-align: left;
  }
}

.p-service__list {
  padding-block: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-service__list {
    padding-block: 3.13rem 3.75rem;
  }
}

.p-service__list-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-service__list-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-service__list-inner {
    padding-inline: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-service__list-inner {
    padding-inline: 0;
  }
}

.p-service__cards {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 4.38rem 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-service__cards {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }
}

.p-service__empty {
  max-width: 50rem;
  margin-inline: auto;
  padding: 3.5rem 2.5rem;
  background-color: var(--site-bg-pale);
  border-radius: 0.63rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text-navy);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-service__empty {
    padding: 2.25rem 1.25rem;
    font-size: max(0.94rem, min(16.88px, 4vw));
    line-height: max(1.75rem, min(31.51px, 7.47vw));
  }
}

.p-service__empty-title {
  color: var(--site-secondary);
  font-size: max(1.75rem, min(18px, 7.47vw));
  font-weight: 700;
  line-height: max(2.5rem, min(25.71px, 10.68vw));
}
@media screen and (max-width: 768px) {
  .p-service__empty-title {
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: max(1.88rem, min(27px, 8.01vw));
  }
}

.p-service__empty-text {
  margin-top: 1rem;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: max(1.88rem, min(33.75px, 8.01vw));
}
@media screen and (max-width: 768px) {
  .p-service__empty-text {
    margin-top: 0.75rem;
    font-size: max(0.88rem, min(15.75px, 3.74vw));
    line-height: max(1.5rem, min(27px, 6.4vw));
    text-align: left;
  }
}

.p-service__empty-button-wrap {
  margin-top: 2rem;
}
@media screen and (max-width: 768px) {
  .p-service__empty-button-wrap {
    margin-top: 1.5rem;
  }
}

.p-service__empty-button {
  --c-button-color: var(--site-text);
}

.p-service--personal .p-service__lead {
  color: var(--site-text);
}

.p-service--personal .p-service__empty {
  color: var(--site-text);
}

.p-service--personal .p-service__list {
  padding-top: 5rem;
}
@media screen and (max-width: 768px) {
  .p-service--personal .p-service__list {
    padding-top: 3.13rem;
  }
}

.p-case-archive {
  padding-block-end: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-case-archive {
    padding-block-end: 4rem;
  }
}

.p-case-archive__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-case-archive__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-case-archive__inner {
    padding-inline: 1.25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-case-archive__inner {
    padding-inline: 0;
  }
}

.p-case-archive__list {
  display: flex;
  flex-direction: column;
  gap: 5rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-case-archive__list {
    gap: 2.5rem;
  }
}

.p-case-archive__empty {
  text-align: center;
  color: var(--site-text);
  padding-block: 3.75rem;
}

.p-archive {
  padding-block-end: 7.5rem;
}
@media screen and (max-width: 768px) {
  .p-archive {
    padding-block-end: 4rem;
  }
}

.p-archive__inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-archive__inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-archive__inner {
    padding-inline: 1.25rem;
  }
}

.p-archive__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
}
@media screen and (max-width: 1024px) {
  .p-archive__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
  }
}
@media screen and (max-width: 600px) {
  .p-archive__list {
    grid-template-columns: 1fr;
  }
}

.p-archive__empty {
  text-align: center;
  color: var(--site-text);
  padding-block: 3.75rem;
}

.p-case-detail__head {
  padding-bottom: 1.25rem;
  border-bottom: 1px solid #ccc;
}

.p-case-detail__title {
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: max(2.88rem, min(25.88px, 12.28vw));
  color: var(--site-text-navy);
}
@media screen and (max-width: 768px) {
  .p-case-detail__title {
    font-size: max(1.38rem, min(18px, 5.87vw));
    line-height: max(2rem, min(26.18px, 8.54vw));
  }
}

.p-case-detail__meta {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-case-detail__meta {
    margin-top: 1.5rem;
  }
}

.p-case-detail__meta-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
}

.p-case-detail__client {
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: max(2.5rem, min(22.5px, 10.68vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-case-detail__client {
    font-size: max(1.38rem, min(18px, 5.87vw));
    line-height: max(2rem, min(26.18px, 8.54vw));
  }
}

.p-case-detail__industry,
.p-case-detail__training {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.88rem, min(33.75px, 8.01vw));
  color: var(--site-text);
}

.p-case-detail__photo {
  margin-top: 3.75rem;
  width: 100%;
  height: 37.13rem;
  background-color: var(--site-bg-tint);
  border-radius: 0.5rem;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .p-case-detail__photo {
    margin-top: 2.5rem;
    height: 15rem;
  }
}

.p-case-detail__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.p-case-detail__flow {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.88rem;
}

.p-case-detail__block {
  width: 100%;
  background-color: var(--site-bg-tint);
}

.p-case-detail__block--effect {
  background: var(--site-grad-hero);
}

.p-case-detail__block-head {
  display: flex;
  align-items: center;
  height: 2.5rem;
  padding-inline: 0.63rem;
  background-color: var(--site-primary);
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: 1;
  color: var(--site-bg);
}

.p-case-detail__block-body {
  padding: 0.88rem 0.63rem;
}

.p-case-detail__block-lead {
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: max(1.88rem, min(24.55px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-case-detail__block-lead {
    font-size: max(1.13rem, min(18px, 4.8vw));
    line-height: max(1.88rem, min(30px, 8.01vw));
  }
}

.p-case-detail__points {
  margin-top: 0.63rem;
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
}

.p-case-detail__point {
  display: flex;
  align-items: flex-start;
  gap: 0.38rem;
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 500;
  line-height: max(1.88rem, min(24.55px, 8.01vw));
  color: var(--site-text);
}
@media screen and (max-width: 768px) {
  .p-case-detail__point {
    font-size: max(1.13rem, min(18px, 4.8vw));
    line-height: max(1.88rem, min(30px, 8.01vw));
  }
}
.p-case-detail__point::before {
  content: "";
  flex-shrink: 0;
  width: 0.38rem;
  height: 0.38rem;
  margin-top: 0.75rem;
  background-color: var(--site-primary);
  border-radius: 50%;
}

.p-case-detail__arrow::before {
  display: block;
  content: "";
  width: 2.5rem;
  height: 1.38rem;
  background-color: var(--site-accent);
  mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
  -webkit-mask: url(../images/common/triangle-down.svg) center/100% 100% no-repeat;
}

.p-case-detail__content {
  margin-top: 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-case-detail__content {
    margin-top: 2.5rem;
  }
}

.p-case-detail__cta {
  margin-top: 2.5rem;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .p-case-detail__cta {
    margin-top: 1.5rem;
  }
}

.p-case-detail__cta-label {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 500;
  line-height: max(2.5rem, min(36px, 10.68vw));
  color: var(--site-text);
}

.p-case-detail__cta-btn {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.p-case-detail__cta-btn:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}
.p-case-detail__cta-btn {
  margin-top: 0.25rem;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32.5rem;
  max-width: 100%;
  height: 7.5rem;
  padding-inline: 1.25rem;
  border-radius: 4.38rem;
  background-color: var(--site-cta);
  box-shadow: 0 0.19rem 0.31rem rgba(0, 0, 0, 0.25);
  font-size: max(2.13rem, min(18px, 9.07vw));
  font-weight: 700;
  line-height: 1.4;
  color: var(--site-bg);
  text-decoration: none;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-case-detail__cta-btn {
    height: 5.5rem;
    font-size: max(1.5rem, min(18px, 6.4vw));
  }
}

.p-case-detail__nav {
  margin-top: 5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-case-detail__nav {
    margin-top: 3rem;
    flex-direction: column;
    gap: 1rem;
  }
}

.p-case-detail__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 12.94rem;
  height: 3.06rem;
  padding-inline: 1.25rem;
  border: 0.07rem solid var(--site-accent);
  border-radius: 2.5rem;
  background-color: var(--site-bg);
  box-shadow: 0 0.19rem 0.31rem rgba(0, 0, 0, 0.25);
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 700;
  color: var(--site-accent);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.p-case-detail__nav-btn:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}

.p-case-detail__nav-btn--primary {
  gap: 0.63rem;
  background-color: var(--site-accent);
  color: var(--site-bg);
}
.p-case-detail__nav-btn--primary::after {
  content: "";
  width: 1rem;
  height: 1rem;
  background: url(../images/common/icon-arrow-white.svg) center/contain no-repeat;
  transform: rotate(-45deg);
}

.p-case-detail__nav-btn--disabled {
  border-color: var(--site-border);
  color: var(--site-text-muted);
  box-shadow: none;
  pointer-events: none;
}

.p-training-detail__badge + .p-training-detail__content {
  margin-top: 0.25rem;
}

.p-training-detail__nav {
  margin-top: 5rem;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-training-detail__nav {
    margin-top: 3rem;
    flex-direction: column;
    gap: 1rem;
  }
}

.p-training-detail__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 12.94rem;
  height: 3.06rem;
  padding-inline: 1.25rem;
  border: 0.07rem solid var(--site-accent);
  border-radius: 2.5rem;
  background-color: var(--site-bg);
  box-shadow: 0 0.19rem 0.63rem rgba(0, 0, 0, 0.25);
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 700;
  color: var(--site-accent);
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.p-training-detail__nav-btn:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}

.p-training-detail__nav-btn--primary {
  background-color: var(--site-accent);
  color: var(--site-bg);
}

.p-training-detail__nav-btn--disabled {
  border-color: var(--site-border);
  color: var(--site-text-muted);
  box-shadow: none;
  pointer-events: none;
}

.p-training-voices .p-training-voices__list {
  margin-top: 2rem;
  padding-left: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-training-voices .p-training-voices__list {
    margin-top: 1.5rem;
  }
}

.p-training-voices .p-voice__item {
  justify-content: flex-start;
  gap: 2rem;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-training-voices .p-voice__item {
    gap: 1rem;
  }
}

.p-training-voices .p-voice__photo {
  width: 20rem;
  height: 20rem;
}
@media screen and (max-width: 768px) {
  .p-training-voices .p-voice__photo {
    width: 100%;
    height: auto;
  }
}

.p-training-voices .p-voice__photo--video {
  height: auto;
}

.p-training-voices .p-voice__detail {
  flex: 1;
  width: auto;
  min-width: 0;
}

.p-training-detail__content .bg-gray {
  background: #f5f5f5;
}

.p-training-custom {
  --training-custom-color: var(--site-primary);
  --training-custom-gradient: var(--site-grad-cta);
  --training-custom-bg: var(--site-bg);
}

.p-training-custom__problem {
  background: var(--training-custom-bg);
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__problem {
    padding-block: 3.13rem 3.75rem;
  }
}

.p-training-custom__problem-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__problem-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__problem-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom__problem-head {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  text-align: center;
}

.p-training-custom__problem-label {
  color: var(--training-custom-color);
  font-weight: 700;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__problem-label {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-training-custom__problem-title {
  color: #181818;
  font-weight: 700;
  font-size: max(2.5rem, min(18px, 10.68vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__problem-title {
    font-size: max(1.38rem, min(18px, 5.87vw));
  }
}

.p-training-custom__problem-lead {
  margin-top: 1rem;
  color: var(--site-text);
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__problem-lead {
    font-size: max(1rem, min(18px, 4.27vw));
    text-align: left;
  }
}

.p-training-custom__problem-grid {
  position: relative;
  margin-top: 3rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.94rem;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__problem-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__problem-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}
.p-training-custom__problem-grid::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  width: 32.25rem;
  height: 4.44rem;
  margin-top: 2.38rem;
  background: var(--training-custom-gradient);
  clip-path: polygon(0 0, 100% 0, 50% 100%);
  opacity: 0.65;
}
@media screen and (max-width: 768px) {
  .p-training-custom__problem-grid::after {
    margin-top: 3rem;
    width: 12.5rem;
    height: 1.75rem;
  }
}

.p-training-custom__problem-card {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.p-training-custom__problem-card-img {
  width: 100%;
  aspect-ratio: 390/260;
  object-fit: cover;
  border-radius: 0.25rem;
}

.p-training-custom__problem-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.p-training-custom__problem-card-badge {
  background: var(--training-custom-gradient);
  padding: 0.25rem 0;
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__problem-card-badge {
    white-space: normal;
  }
}
.p-training-custom__problem-card-badge {
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__problem-card-badge {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-training-custom__problem-card-text {
  color: var(--site-text);
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .p-training-custom__problem-card-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__mark {
  text-decoration-line: underline;
  text-decoration-color: #fec50a;
  text-decoration-thickness: 0.5rem;
  text-underline-offset: 0.38rem;
}

.p-training-custom__dots {
  background-image: radial-gradient(circle at center, #fec50a 20%, transparent 20%);
  background-position: top right;
  background-repeat: repeat-x;
  background-size: 1em 0.3em;
  padding-top: 0.25em;
}

.p-training-custom__sparkle-head {
  position: relative;
  width: fit-content;
  margin-inline: auto;
}

.p-training-custom__sparkle-heading {
  padding: 0 0.31rem 0.38rem;
  background: var(--training-custom-gradient);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(3rem, min(18px, 12.81vw));
  line-height: max(3.69rem, min(22.13px, 15.75vw));
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__sparkle-heading {
    padding: 0.5rem;
    font-size: max(1.5rem, min(18px, 6.4vw));
    line-height: 1.4;
  }
}

.p-training-custom__sparkle {
  position: absolute;
  bottom: 100%;
  width: 2.38rem;
  aspect-ratio: 38/37;
}
.p-training-custom__sparkle--left {
  right: calc(100% - 7px);
}
.p-training-custom__sparkle--right {
  left: calc(100% - 7px);
  transform: scaleX(-1);
}
@media screen and (max-width: 768px) {
  .p-training-custom__sparkle {
    display: none;
  }
}

.p-training-custom__merit {
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__merit {
    padding-block: 3.75rem;
  }
}

.p-training-custom__merit-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__merit-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__merit-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom__merit-lead {
  margin-top: 1.5rem;
  color: #181818;
  font-weight: 700;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__merit-lead {
    margin-top: 1.25rem;
    font-size: max(1rem, min(18px, 4.27vw));
    text-align: left;
  }
}

.p-training-custom__merit-grid {
  margin-top: 3rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem 1.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__merit-grid {
    grid-template-columns: 1fr;
    gap: 1.5rem;
    margin-top: 1.25rem;
  }
}

.p-training-custom__merit-card {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  padding: 2.5rem 1rem 2.5rem 2.5rem;
  background: var(--training-custom-merit-bg);
  border-radius: 0.5rem;
  box-shadow: 0.25rem 0.25rem 0.88rem rgba(0, 0, 0, 0.1);
}
@media screen and (max-width: 768px) {
  .p-training-custom__merit-card {
    flex-direction: column;
    padding: 1.5rem 0.63rem;
    text-align: center;
  }
}

.p-training-custom__merit-icon {
  flex: none;
  width: 10.13rem;
  aspect-ratio: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__merit-icon {
    width: 6rem;
  }
}

.p-training-custom__merit-body {
  display: flex;
  flex-direction: column;
  gap: 0.63rem;
}

.p-training-custom__merit-title {
  color: var(--training-custom-color);
  font-weight: 700;
  font-size: max(1.25rem, min(18px, 5.34vw));
  line-height: 1.5;
}

.p-training-custom__merit-text {
  color: #181818;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__merit-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__movie {
  display: grid;
  place-items: center;
  width: 50rem;
  max-width: 100%;
  aspect-ratio: 2/1;
  margin: 3.5rem auto 0;
  background-color: #d9d9d9;
}
@media screen and (max-width: 768px) {
  .p-training-custom__movie {
    margin-top: 2rem;
  }
}

.p-training-custom__movie--embed {
  display: block;
  aspect-ratio: 16/9;
  background-color: #000;
}
.p-training-custom__movie--embed iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-training-custom__movie-text {
  color: #000;
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 700;
}

.p-training-custom__voice {
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__voice {
    padding-block: 3.75rem;
  }
}

.p-training-custom__voice-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__voice-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__voice-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom__voice-inner .p-voice__panel {
  max-width: 64.38rem;
  margin-inline: auto;
  padding: 3.63rem 5.38rem;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__voice-inner .p-voice__panel {
    padding: 2.5rem 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__voice-inner .p-voice__panel {
    padding: 1.75rem 0.63rem;
  }
}

.p-training-custom__voice-inner .p-voice__list {
  padding-left: 0;
}

.p-training-custom__voice-inner .p-voice__quote {
  border-bottom-color: rgba(0, 0, 0, 0.2);
}

.p-training-custom__voice-inner .p-voice__item {
  justify-content: flex-start;
  gap: 4.5rem;
  padding-inline: 0;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__voice-inner .p-voice__item {
    gap: 1.5rem;
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__voice-inner .p-voice__item {
    gap: 1.25rem;
  }
}

.p-training-custom__voice-inner .p-voice__photo {
  width: 20.44rem;
  height: 23.75rem;
  background-color: var(--site-bg);
  border-radius: 0;
  box-shadow: 0.25rem 0.25rem 0.63rem rgba(0, 0, 0, 0.07);
}
@media screen and (max-width: 768px) {
  .p-training-custom__voice-inner .p-voice__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 327/380;
  }
}

.p-training-custom__voice-inner .p-voice__detail {
  gap: 0;
  width: 28.69rem;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__voice-inner .p-voice__detail {
    width: auto;
    flex: 1;
    min-width: 0;
  }
}

.p-training-custom__voice-inner .p-voice__quote {
  padding: 0 0.63rem 1.25rem;
  line-height: 1.5;
}

.p-training-custom__voice-inner .p-voice__body {
  color: #000;
  font-weight: 400;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__voice-inner .p-voice__body {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__voice-inner .p-voice__body > p + p {
  margin-top: 1.5em;
}

.p-training-custom__head {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-training-custom__label {
  color: var(--training-custom-color);
  font-weight: 700;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__label {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__title {
  color: #181818;
  font-weight: 700;
  font-size: max(3rem, min(18px, 12.81vw));
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__title {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: 1.4;
  }
}

.p-training-custom__label + .p-training-custom__title {
  margin-top: 0.5rem;
}

.p-training-custom__button-wrap {
  margin-top: 3rem;
  text-align: center;
}

.p-training-custom__button {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.p-training-custom__button:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}
.p-training-custom__button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  min-width: 21.25rem;
  max-width: 100%;
  height: 5rem;
  padding: 0.63rem 3.75rem;
  border-radius: 2.5rem;
  box-shadow: 0 0.19rem 0.31rem rgba(0, 0, 0, 0.25);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(1.63rem, min(18px, 6.94vw));
  line-height: 1.3;
  text-decoration: none;
}
.p-training-custom__button::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 2.38rem;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0.56rem 0 0.56rem 0.75rem;
  border-color: transparent transparent transparent var(--site-bg);
  transform: translateY(-50%);
}
@media screen and (max-width: 1024px) {
  .p-training-custom__button {
    font-size: max(1.63rem, min(18px, 6.94vw));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__button {
    min-width: 17.5rem;
    height: 3.5rem;
    padding-inline: 2.5rem;
    font-size: max(1rem, min(18px, 4.27vw));
  }
  .p-training-custom__button::after {
    right: 1.5rem;
  }
}

.p-training-custom__overview {
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__overview {
    padding-block: 3.75rem;
  }
}

.p-training-custom__overview-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__overview-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__overview-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom__overview-table {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 2.88rem;
  width: 100%;
}
@media screen and (max-width: 768px) {
  .p-training-custom__overview-table {
    gap: 0;
    margin-top: 1.25rem;
  }
}

.p-training-custom__overview-row {
  display: flex;
  align-items: stretch;
}
@media screen and (max-width: 768px) {
  .p-training-custom__overview-row {
    flex-direction: column;
  }
}

.p-training-custom__overview-row-label {
  flex: 0 0 max(15.63rem, 9.5em);
  display: flex;
  align-items: center;
  padding: 0.63rem 0.63rem 1.25rem 1.5rem;
  border-bottom: 1px solid var(--training-custom-color);
  color: #181818;
  font-weight: 700;
  font-size: max(1.25rem, min(18px, 5.34vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__overview-row-label {
    flex: none;
    width: 100%;
    padding: 1rem 0 0.5rem;
    border-bottom: none;
  }
}

.p-training-custom__overview-row-value {
  flex: 1;
  display: flex;
  align-items: center;
  padding-block: 1.25rem;
  padding-inline: 0.63rem;
  border-bottom: 1px solid #c7c7c7;
  color: #181818;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__overview-row-value {
    width: 100%;
    padding: 0 0 1rem;
  }
}

.p-training-custom__faq {
  background: var(--site-bg);
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__faq {
    padding-block: 3.75rem;
  }
}

.p-training-custom__faq-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__faq-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__faq-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom__faq-list {
  margin-top: 3rem;
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.p-training-custom__faq-question {
  display: flex;
  align-items: center;
  gap: 1.06rem;
  position: relative;
  padding: 1rem 3.5rem 1rem 2.5rem;
  background: var(--training-custom-color);
  color: var(--site-bg);
  cursor: pointer;
}
.p-training-custom__faq-question::after {
  content: "";
  position: absolute;
  right: 1.5rem;
  width: 0.63rem;
  aspect-ratio: 1;
  border-bottom: 2px solid var(--site-bg);
  border-right: 2px solid var(--site-bg);
  transform: translateY(-0.13rem) rotate(45deg);
  transition: transform 0.2s ease;
}
@media screen and (max-width: 768px) {
  .p-training-custom__faq-question::after {
    right: 0.88rem;
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__faq-question {
    gap: 0.63rem;
    padding: 0.88rem 2.5rem 0.88rem 1.25rem;
  }
}

.p-training-custom__faq-item.is-open .p-training-custom__faq-question::after {
  transform: translateY(0.13rem) rotate(225deg);
}

.p-training-custom__faq-mark {
  flex-shrink: 0;
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1;
}

.p-training-custom__faq-mark--answer {
  color: var(--training-custom-color);
}

.p-training-custom__faq-question-text {
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-training-custom__faq-question-text {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-training-custom__faq-list.js-ready .p-training-custom__faq-item:not(.is-open):not(.is-closing) .p-training-custom__faq-answer {
  display: none;
}

.p-training-custom__faq-answer {
  display: flex;
  align-items: flex-start;
  gap: 1.06rem;
  padding: 1.5rem 1.5rem 1.5rem 2.5rem;
  background: var(--site-bg);
}
@media screen and (max-width: 768px) {
  .p-training-custom__faq-answer {
    gap: 0.63rem;
    padding: 1rem 1.25rem;
  }
}

.p-training-custom__faq-answer-text {
  font-size: max(1.25rem, min(18px, 5.34vw));
  line-height: 1.6;
  color: var(--site-text-navy);
}
@media screen and (max-width: 768px) {
  .p-training-custom__faq-answer-text {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: 1.4;
  }
}

.p-training-custom__faq-mail {
  color: var(--site-accent);
  text-decoration: underline;
  word-break: break-all;
}
.p-training-custom__faq-mail:hover {
  text-decoration: none;
}

.p-training-custom__faq-list {
  margin-top: 3.5rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__faq-list {
    margin-top: 2rem;
  }
}

.p-training-custom__faq-question,
.p-training-custom__faq-answer {
  gap: 0;
  text-align: left;
}

.p-training-custom__faq-mark {
  width: 3.38rem;
  font-family: "Inter", sans-serif;
  font-size: max(1.88rem, min(18px, 8.01vw));
  font-weight: 500;
  line-height: max(1.88rem, min(18px, 8.01vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__faq-mark {
    width: 2.25rem;
    font-size: max(1.38rem, min(18px, 5.87vw));
  }
}

.p-training-custom__faq-answer-text {
  color: #181818;
}

.p-training-custom__faq-item.is-open + .p-training-custom__faq-item {
  margin-top: 0.75rem;
}

.p-training-custom__faq .p-training-custom__button-wrap,
.p-training-custom__voice .p-training-custom__button-wrap {
  margin-top: 2.5rem;
}

.p-training-custom__contact {
  padding-block: 6.25rem;
  scroll-margin-top: var(--swl-headerH, 0px);
}
@media screen and (max-width: 768px) {
  .p-training-custom__contact {
    padding-block: 3.75rem;
  }
}

.p-training-custom__contact-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__contact-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__contact-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom__contact-head {
  text-align: center;
}

.p-training-custom__contact-title {
  color: #181818;
  font-size: max(3rem, min(18px, 12.81vw));
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__contact-title {
    font-size: max(1.75rem, min(18px, 7.47vw));
  }
}

.p-training-custom__contact-lead {
  margin-top: 1rem;
  color: var(--training-custom-color);
  font-size: max(1.5rem, min(18px, 6.4vw));
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__contact-lead {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__contact .p-training-custom__contact-form {
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__contact .p-training-custom__contact-form {
    margin-top: 2rem;
  }
}

.p-training-custom__contact .p-training-custom__contact-form .starter-form__badge {
  background-color: var(--training-custom-color);
}

.p-training-custom__contact .p-training-custom__contact-form .starter-form :is(.starter-form__input, .starter-form__select, .starter-form__textarea):focus {
  border-color: var(--training-custom-color);
}

.p-training-custom__contact .p-training-custom__contact-form .starter-form__field:has(.starter-form__select)::after {
  background-color: var(--training-custom-color);
}

.p-training-custom__contact .p-training-custom__contact-form .starter-form__row:has(.starter-form__checkbox-group) {
  gap: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__contact .p-training-custom__contact-form .starter-form__row:has(.starter-form__checkbox-group) {
    gap: 0.5rem;
  }
}

.p-training-custom__contact .p-training-custom__contact-form .starter-form__checkbox-group input[type=checkbox] {
  border-color: var(--training-custom-color);
}

.p-training-custom__contact .p-training-custom__contact-form .p-page-contact__privacy {
  order: 1;
  width: 37.88rem;
  max-width: 100%;
  margin: 3rem auto 0;
  color: #121212;
}
@media screen and (max-width: 768px) {
  .p-training-custom__contact .p-training-custom__contact-form .p-page-contact__privacy {
    margin-top: 2rem;
  }
}

.p-training-custom__contact .p-training-custom__contact-form .p-page-contact__warning {
  order: 2;
  width: 37.88rem;
  max-width: 100%;
  margin: 0.5rem auto 0;
}

.p-training-custom__contact .p-training-custom__contact-form .c-button-submit-row {
  order: 3;
  margin-top: 3rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__contact .p-training-custom__contact-form .c-button-submit-row {
    margin-top: 2rem;
  }
}

.p-training-custom__contact .p-training-custom__contact-form .c-button {
  --c-button-color: var(--site-bg);
  background: var(--training-custom-gradient);
  border-color: transparent;
}
@media screen and (max-width: 768px) {
  .p-training-custom__contact .p-training-custom__contact-form .c-button {
    --c-button-w: 17.5rem;
    --c-button-h: 3.5rem;
    --c-button-fz: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__contact .p-training-custom__contact-form .c-button-submit::after {
  right: 2.38rem;
  width: 0.75rem;
  height: 1.13rem;
  background-color: var(--site-bg);
  mask: none;
  -webkit-mask: none;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  .p-training-custom__contact .p-training-custom__contact-form .c-button-submit::after {
    right: 1.5rem;
    width: 0.63rem;
    height: 0.94rem;
  }
}

.p-training-custom--corporate {
  --training-custom-color: var(--corporate-color);
  --training-custom-gradient: var(--corporate-gradient);
  --training-custom-bg: var(--corporate-bg-tint);
  --training-custom-merit-bg: var(--corporate-merit-bg);
}

.p-training-custom__button--corporate {
  background: var(--corporate-gradient);
}

.p-training-custom__fv-corporate {
  position: relative;
  background: var(--site-bg);
  overflow: hidden;
}

.p-training-custom__fv-corporate-inner {
  width: 100%;
  max-width: 88.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__fv-corporate-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-inner {
    padding-inline: 1rem;
  }
}
.p-training-custom__fv-corporate-inner {
  position: relative;
  min-height: 43.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-inner {
    min-height: 0;
  }
}

.p-training-custom__fv-corporate-contents {
  max-width: 55.31rem;
  margin-left: -0.75rem;
  padding-block: 4.75rem 3.19rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-contents {
    margin-left: 0;
    padding-block: 1.5rem 2.63rem;
  }
}

.p-training-custom__fv-corporate-head {
  text-align: center;
}

.p-training-custom__fv-corporate-label {
  color: #181818;
  font-weight: 700;
  font-size: max(1.5rem, min(18px, 6.4vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-label {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__fv-corporate-title {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-title {
    margin-top: 0.13rem;
  }
}

.p-training-custom__fv-corporate-title-main {
  display: block;
  color: #181818;
  font-weight: 700;
  font-size: max(2.63rem, min(18px, 11.21vw));
  letter-spacing: -0.02em;
  line-height: 1.45;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-title-main {
    font-size: max(1.13rem, min(18px, 4.8vw));
    white-space: normal;
  }
}

.p-training-custom__fv-corporate-title-emphasis {
  display: block;
  margin-top: 0.88rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-title-emphasis {
    margin-top: 1rem;
  }
}

.p-training-custom__fv-corporate-title-quote {
  color: var(--corporate-color);
  font-weight: 700;
  font-size: max(5.5rem, min(18px, 23.49vw));
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-title-quote {
    font-size: max(2rem, min(18px, 8.54vw));
  }
}

.p-training-custom__fv-corporate-title-mark {
  display: inline-block;
  font-size: 0.45em;
  line-height: 1;
  vertical-align: 0.95em;
  letter-spacing: -0.1em;
}

.p-training-custom__fv-corporate-title-badge {
  display: inline-block;
  margin-left: 0.75rem;
  padding: 0.75rem 0.81rem;
  background: var(--corporate-gradient);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(6.25rem, min(18px, 26.69vw));
  letter-spacing: -0.07em;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-title-badge {
    margin-left: 0.38rem;
    padding: 0.38rem 0.5rem;
    font-size: max(2.13rem, min(18px, 9.07vw));
  }
}

.p-training-custom__fv-corporate-cta-wrap {
  margin-top: 2.31rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-cta-wrap {
    margin-top: 1.63rem;
  }
}

.p-training-custom__fv-corporate-cta {
  display: inline-block;
  padding: 1.25rem 4.31rem;
  background-color: var(--corporate-color);
  border-radius: 6.25rem;
  box-shadow: 0.25rem 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(1.5rem, min(18px, 6.4vw));
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}
.p-training-custom__fv-corporate-cta::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.13rem;
  width: 2.19rem;
  aspect-ratio: 1;
  background: url("../images/training-custom/training-custom-corporate-icon-arrow.svg") no-repeat center center/contain;
}
.p-training-custom__fv-corporate-cta:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-cta {
    padding: 0.88rem 2.25rem;
    font-size: max(1rem, min(18px, 4.27vw));
  }
  .p-training-custom__fv-corporate-cta::after {
    right: 0.63rem;
    width: 1.25rem;
  }
}

.p-training-custom__fv-corporate-cta-icon {
  flex-shrink: 0;
  width: 2.19rem;
  aspect-ratio: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-cta-icon {
    width: 1.63rem;
  }
}

.p-training-custom__fv-stats {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 4.25rem;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-stats {
    gap: 0.63rem;
    margin-top: 2.5rem;
    flex-direction: column;
    width: 60%;
  }
}

.p-training-custom__fv-stat {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.13rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-stat {
    gap: 0.25rem;
  }
}

.p-training-custom__fv-stat-laurel {
  flex-shrink: 0;
  width: 2.88rem;
  height: 5.94rem;
  object-fit: contain;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-stat-laurel {
    width: 1.88rem;
    height: 3.88rem;
  }
}

.p-training-custom__fv-stat-laurel--right {
  transform: scaleX(-1);
}

.p-training-custom__fv-stat-body {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.p-training-custom__fv-stat-label {
  color: #181818;
  font-weight: 500;
  font-size: max(1.25rem, min(18px, 5.34vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-stat-label {
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  }
}

.p-training-custom__fv-stat-value {
  display: flex;
  align-items: baseline;
  white-space: nowrap;
}

.p-training-custom__fv-stat-num {
  color: var(--corporate-color);
  font-family: "Inter", "Noto Sans JP", sans-serif;
  font-weight: 700;
  font-size: max(3.13rem, min(18px, 13.34vw));
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-stat-num {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-training-custom__fv-stat-num--kanji {
  font-family: inherit;
  font-size: max(3rem, min(18px, 12.81vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-stat-num--kanji {
    font-size: max(1.06rem, min(18px, 4.54vw));
  }
}

.p-training-custom__fv-stat-unit {
  margin-left: 0.13rem;
  color: #181818;
  font-weight: 700;
  font-size: max(2rem, min(18px, 8.54vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-stat-unit {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.p-training-custom__fv-corporate-photo {
  position: absolute;
  right: calc(3.44rem + var(--fixed-cta-w-tablet, 0px));
  bottom: 0;
  width: 28.13rem;
}
.p-training-custom__fv-corporate-photo img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-corporate-photo {
    width: 13rem;
    right: calc(50% - 13rem);
    bottom: -1.25rem;
  }
}

.p-training-custom--corporate .p-training-custom__problem-card-img {
  border-radius: 0;
}

.p-training-custom--corporate .p-training-custom__problem-grid::after {
  background: linear-gradient(180deg, #ff0000 0%, #ff2d2d 100%);
}

.p-training-custom--corporate .p-training-custom__closing {
  margin-top: 9.19rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__closing {
    margin-top: 6.25rem;
  }
}

.p-training-custom--corporate .p-training-custom__closing-title-lead {
  display: block;
  color: var(--corporate-color);
  font-weight: 700;
  font-size: max(2rem, min(18px, 8.54vw));
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__closing-title-lead {
    font-size: max(1.38rem, min(18px, 5.87vw));
  }
}

.p-training-custom--corporate .p-training-custom__closing-title-main {
  display: block;
  margin-top: 0;
  color: #181818;
  font-weight: 700;
  font-size: max(2.25rem, min(18px, 9.61vw));
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__closing-title-main {
    font-size: max(1.5rem, min(18px, 6.4vw));
  }
}

.p-training-custom--corporate .p-training-custom__merit-lead {
  max-width: 43.75rem;
  margin-inline: auto;
}

.p-training-custom--corporate .p-training-custom__program {
  background: var(--corporate-bg-tint);
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program {
    padding-block: 3.75rem;
  }
}

.p-training-custom__program-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__program-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom--corporate .p-training-custom__program-lead {
  margin-top: 1rem;
  max-width: 56.13rem;
  margin-inline: auto;
  color: var(--site-text);
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.8;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-lead {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__program-table-wrap {
  margin-top: 3rem;
  width: 100%;
  margin-inline: auto;
}
@media (max-width: 1240px) {
  .p-training-custom__program-table-wrap {
    overflow-x: auto;
  }
}

.p-training-custom__program-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-table {
    width: fit-content;
  }
}

.p-training-custom__program-th {
  padding: 1rem;
  font-weight: 700;
  font-size: max(1.25rem, min(18px, 5.34vw));
  text-align: center;
  vertical-align: middle;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-th {
    padding: 0.5rem;
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom--corporate .p-training-custom__program-th {
  color: var(--site-bg);
}

.p-training-custom--corporate .p-training-custom__program-th--step,
.p-training-custom--corporate .p-training-custom__program-th--content {
  background: var(--corporate-color);
}

.p-training-custom--corporate .p-training-custom__program-th--theme {
  background: #e35251;
}

.p-training-custom__program-th--step,
.p-training-custom__program-step {
  width: 5.63rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-th--step,
  .p-training-custom__program-step {
    width: 4rem;
  }
}

.p-training-custom__program-th--theme,
.p-training-custom__program-theme {
  width: 25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-th--theme,
  .p-training-custom__program-theme {
    width: 20rem;
  }
}

.p-training-custom__program-th--content,
.p-training-custom__program-content {
  width: 44.38rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-th--content,
  .p-training-custom__program-content {
    width: 33.75rem;
  }
}

.p-training-custom__program-step,
.p-training-custom__program-theme,
.p-training-custom__program-content {
  padding: 2.5rem 1rem;
  vertical-align: middle;
  border: 1px solid #d8d8d8;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-step,
  .p-training-custom__program-theme,
  .p-training-custom__program-content {
    padding: 1rem 0.38rem;
  }
}

.p-training-custom--corporate .p-training-custom__program-step,
.p-training-custom--corporate .p-training-custom__program-theme,
.p-training-custom--corporate .p-training-custom__program-content {
  background: #fafafa;
}

.p-training-custom__program-step {
  text-align: center;
}

.p-training-custom--corporate .p-training-custom__program-step {
  color: var(--site-text-navy);
  font-weight: 700;
  font-size: max(1.25rem, min(18px, 5.34vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-step {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__program-theme {
  text-align: left;
}

.p-training-custom--corporate .p-training-custom__program-theme {
  color: var(--site-text-navy);
  font-weight: 700;
  font-size: max(1.25rem, min(18px, 5.34vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-theme {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__program-content {
  text-align: left;
}

.p-training-custom--corporate .p-training-custom__program-text {
  color: var(--site-text-navy);
  font-weight: 700;
  font-size: max(1.25rem, min(18px, 5.34vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__program-checks {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

.p-training-custom__program-check {
  display: flex;
  align-items: center;
  gap: 0.38rem;
}

.p-training-custom__program-check-icon {
  flex-shrink: 0;
  width: 0.94rem;
  aspect-ratio: 1;
}

.p-training-custom--personal .p-training-custom__program-check {
  align-items: flex-start;
}

.p-training-custom--personal .p-training-custom__program-check-icon {
  margin-top: 0.31rem;
}

.p-training-custom--corporate .p-training-custom__program-check-text {
  color: var(--site-text);
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.5;
}

.p-training-custom--corporate .p-training-custom__program-lead {
  margin-top: 2rem;
  color: #181818;
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-lead {
    margin-top: 1.25rem;
    text-align: left;
  }
}

.p-training-custom--corporate .p-training-custom__program-table-wrap {
  margin-top: 3.5rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-table-wrap {
    margin-top: 2rem;
  }
}

.p-training-custom__program-scroll-hint {
  display: none;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-scroll-hint {
    display: block;
    margin-top: 2rem;
    color: color-mix(in srgb, var(--site-text) 70%, transparent);
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-scroll-hint + .p-training-custom__program-table-wrap {
    margin-top: 0.5rem;
  }
}

.p-training-custom--corporate .p-training-custom__program-th--step,
.p-training-custom--corporate .p-training-custom__program-step {
  width: 4.19rem;
  padding-inline: 0;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-th--step,
  .p-training-custom--corporate .p-training-custom__program-step {
    width: 3.5rem;
  }
}

.p-training-custom--corporate .p-training-custom__program-th--theme,
.p-training-custom--corporate .p-training-custom__program-theme {
  width: 29rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-th--theme,
  .p-training-custom--corporate .p-training-custom__program-theme {
    width: 20rem;
  }
}

.p-training-custom--corporate .p-training-custom__program-th--content,
.p-training-custom--corporate .p-training-custom__program-content {
  width: 41.81rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-th--content,
  .p-training-custom--corporate .p-training-custom__program-content {
    width: 33.75rem;
  }
}

.p-training-custom--corporate .p-training-custom__program-th {
  line-height: 1.5;
}

.p-training-custom--corporate .p-training-custom__program-step,
.p-training-custom--corporate .p-training-custom__program-theme,
.p-training-custom--corporate .p-training-custom__program-content {
  height: 5.06rem;
  padding-block: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-step,
  .p-training-custom--corporate .p-training-custom__program-theme,
  .p-training-custom--corporate .p-training-custom__program-content {
    height: auto;
    padding-block: 1rem;
  }
}

.p-training-custom--corporate .p-training-custom__program-theme,
.p-training-custom--corporate .p-training-custom__program-content {
  padding-inline: 2rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__program-theme,
  .p-training-custom--corporate .p-training-custom__program-content {
    padding-inline: 0.75rem;
  }
}

.p-training-custom--corporate tr:has(.p-training-custom__program-checks) > td {
  height: 8.13rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate tr:has(.p-training-custom__program-checks) > td {
    height: auto;
  }
}

.p-training-custom--corporate .p-training-custom__program-step,
.p-training-custom--corporate .p-training-custom__program-theme,
.p-training-custom--corporate .p-training-custom__program-text {
  color: #181818;
}

.p-training-custom--corporate .p-training-custom__program-step {
  font-family: "Inter", sans-serif;
}

.p-training-custom--corporate .p-training-custom__program-text {
  white-space: nowrap;
}
@media screen and (max-width: 1024px) {
  .p-training-custom--corporate .p-training-custom__program-text {
    white-space: normal;
  }
}

.p-training-custom--corporate .p-training-custom__program-check-text {
  color: #181818;
}

.p-training-custom__cta-corporate {
  position: relative;
  margin-top: 2.19rem;
}
.p-training-custom__cta-corporate::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/training-custom/training-custom-corporate-cta-bg.webp) center bottom/cover no-repeat;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate {
    margin-top: 0;
  }
}

.p-training-custom__cta-corporate-inner {
  width: 100%;
  max-width: 85rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__cta-corporate-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-inner {
    padding-inline: 1.25rem;
  }
}
.p-training-custom__cta-corporate-inner {
  position: relative;
  z-index: 1;
}

.p-training-custom__cta-corporate-container {
  position: relative;
  padding-block: 1.69rem 2.19rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-container {
    padding-block: 2rem;
  }
}

.p-training-custom__cta-corporate-text {
  width: 53.13rem;
  max-width: 100%;
  margin-left: 3.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-text {
    width: 100%;
    margin-left: 0;
  }
}

.p-training-custom__cta-corporate-heading {
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(2.5rem, min(18px, 10.68vw));
  line-height: max(3.25rem, min(23.4px, 13.88vw));
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-heading {
    font-size: max(1.38rem, min(18px, 5.87vw));
    line-height: 1.4;
  }
}

.p-training-custom__cta-corporate-heading-num {
  margin-inline: 0.5rem;
  font-family: "Inter", sans-serif;
  font-size: max(5.63rem, min(18px, 24.02vw));
  font-style: italic;
  font-weight: 800;
  line-height: max(4.88rem, min(15.6px, 20.82vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-heading-num {
    font-size: max(2.75rem, min(18px, 11.74vw));
    line-height: 1;
  }
}

.p-training-custom__cta-corporate-heading-badge {
  display: block;
  margin-top: 0.19rem;
  padding-bottom: 0.38rem;
  background-color: var(--site-bg);
  font-size: max(3rem, min(18px, 12.81vw));
  line-height: max(3.69rem, min(22.13px, 15.75vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-heading-badge {
    margin-top: 0.5rem;
    padding: 0.38rem 0.5rem;
    font-size: max(1.31rem, min(18px, 5.6vw));
    line-height: 1.2;
  }
}

.p-training-custom__cta-corporate-heading-badge-text {
  background: var(--corporate-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-size: max(3rem, min(18px, 12.81vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-heading-badge-text {
    font-size: max(1.31rem, min(18px, 5.6vw));
  }
}

.p-training-custom__cta-corporate-actions {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  gap: 1.25rem;
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-actions {
    display: flex;
    flex-direction: column;
    width: auto;
    align-items: center;
    gap: 1rem;
  }
}

.p-training-custom__cta-corporate-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.38rem;
  width: auto;
  min-width: 21.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-action {
    width: 100%;
    max-width: 21.25rem;
  }
}

.p-training-custom__cta-corporate-note {
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(1rem, min(16px, 4.27vw));
  line-height: 1.6;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-note {
    white-space: normal;
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__cta-corporate-tel,
.p-training-custom__cta-corporate-button {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.p-training-custom__cta-corporate-tel:hover,
.p-training-custom__cta-corporate-button:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}
.p-training-custom__cta-corporate-tel,
.p-training-custom__cta-corporate-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 5rem;
  padding: 0.63rem 1.25rem;
  border-radius: 2.5rem;
  box-shadow: 0 0.19rem 0.31rem rgba(0, 0, 0, 0.25);
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-tel,
  .p-training-custom__cta-corporate-button {
    height: 4rem;
  }
}

.p-training-custom__cta-corporate-tel {
  background-color: var(--site-bg);
  border: 1px solid var(--corporate-color);
}

.p-training-custom__cta-corporate-tel-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.p-training-custom__cta-corporate-tel-icon {
  flex-shrink: 0;
  width: 1.31rem;
  aspect-ratio: 21/31;
}

.p-training-custom__cta-corporate-tel-num {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: max(2.25rem, min(18px, 9.61vw));
  line-height: 1.2;
  color: #181818;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-tel-num {
    font-size: max(1.38rem, min(18px, 5.87vw));
  }
}

.p-training-custom__cta-corporate-tel-hours {
  width: 13.75rem;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  letter-spacing: 0.06em;
  color: #181818;
  line-height: 1.2;
  text-align: right;
}

.p-training-custom__cta-corporate-button {
  background: var(--corporate-gradient);
  border: 1.5px solid var(--site-bg);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(1.63rem, min(18px, 6.94vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-button {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-training-custom__cta-corporate-photo {
  position: absolute;
  right: 1.19rem;
  bottom: 0;
  width: 23.25rem;
  aspect-ratio: 372/413;
}
.p-training-custom__cta-corporate-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__cta-corporate-photo {
    width: 16.25rem;
    right: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-corporate-photo {
    display: none;
  }
}

.p-training-custom--corporate .p-training-custom__voice-inner .p-voice__panel {
  margin-top: 3rem;
  background-color: var(--corporate-bg-tint);
  border-radius: 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__voice-inner .p-voice__panel {
    margin-top: 1.88rem;
  }
}

.p-training-custom--corporate .p-training-custom__voice-inner .p-voice__quote {
  color: var(--corporate-color);
}

.p-training-custom--corporate .p-training-custom__voice-inner .p-voice__list {
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__voice-inner .p-voice__list {
    gap: 2.5rem;
  }
}

.p-training-custom--corporate .p-training-custom__voice-inner .p-voice__meta-row {
  border-bottom-color: rgba(0, 0, 0, 0.2);
}

.p-training-custom--corporate .p-training-custom__voice-inner .p-voice__meta-row {
  gap: 0.63rem;
}

.p-training-custom--corporate .p-training-custom__voice-inner .p-voice__meta-label,
.p-training-custom--corporate .p-training-custom__voice-inner .p-voice__meta-value {
  color: #181818;
  font-weight: 700;
  line-height: max(1.6rem, min(28.8px, 6.83vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__voice-inner .p-voice__meta-label,
  .p-training-custom--corporate .p-training-custom__voice-inner .p-voice__meta-value {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.p-training-custom--corporate .p-training-custom__voice-inner .p-voice__meta-label {
  width: 8.81rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__voice-inner .p-voice__meta-label {
    width: 6.25rem;
  }
}

.p-training-custom--corporate .p-training-custom__flow {
  background: var(--corporate-bg-tint);
  padding-block: 5.38rem 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__flow {
    padding-block: 3.75rem;
  }
}

.p-training-custom__flow-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__flow-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__flow-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom__band-heading {
  width: fit-content;
  min-width: 29.13rem;
  margin-inline: auto;
  padding: 0 1.06rem 0.38rem;
  background: var(--corporate-gradient);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(3rem, min(18px, 12.81vw));
  line-height: max(3.69rem, min(22.13px, 15.75vw));
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__band-heading {
    min-width: 0;
    padding: 0.5rem;
    font-size: max(1.5rem, min(18px, 6.4vw));
    line-height: 1.4;
  }
}

.p-training-custom__flow-grid {
  margin-top: 3rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 1.25rem;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__flow-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__flow-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.p-training-custom--corporate .p-training-custom__flow-card {
  padding: 1.5rem 1.13rem;
  background: var(--site-bg);
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__flow-card {
    padding: 1.5rem 0.63rem;
  }
}

.p-training-custom--corporate .p-training-custom__flow-card-number {
  font-family: "Inter", sans-serif;
  background: var(--corporate-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-weight: 700;
  font-size: max(1.25rem, min(18px, 5.34vw));
  line-height: 1.5;
}

.p-training-custom__flow-card-icon {
  margin-top: 0;
  width: 4.13rem;
  aspect-ratio: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__flow-card-icon {
    width: 3rem;
  }
}

.p-training-custom--corporate .p-training-custom__flow-card-title {
  margin-top: 0.75rem;
  color: #181818;
  font-weight: 700;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.5;
}

.p-training-custom--corporate .p-training-custom__flow-card-text {
  margin-top: 0.38rem;
  color: #181818;
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  line-height: 1.45;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-training-custom--corporate .p-training-custom__flow-card-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__flow .p-training-custom__button-wrap {
  margin-top: 2.5rem;
}

.p-training-custom__flow .p-training-custom__button::after {
  content: none;
}

.p-training-custom__greeting {
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting {
    padding-block: 3.75rem;
  }
}

.p-training-custom__greeting-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__greeting-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom__greeting-body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 3.75rem;
  margin-top: 3.5rem;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__greeting-body {
    flex-direction: column-reverse;
    align-items: center;
    gap: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting-body {
    margin-top: 2rem;
  }
}

.p-training-custom__greeting-text {
  flex: 1 1 0;
  min-width: 0;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__greeting-text {
    flex: none;
    width: 100%;
  }
}

.p-training-custom__greeting-catch {
  width: fit-content;
  background: var(--corporate-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-size: max(2rem, min(28px, 8.54vw));
  font-weight: 700;
  line-height: max(3rem, min(42px, 12.81vw));
}
@media screen and (max-width: 1024px) {
  .p-training-custom__greeting-catch {
    font-size: max(2rem, min(26px, 8.54vw));
    line-height: max(3rem, min(39px, 12.81vw));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting-catch {
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: 1.5;
  }
}

.p-training-custom__greeting-desc {
  margin-top: 1.25rem;
  color: var(--site-text);
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.63rem, min(29.25px, 6.94vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting-desc {
    font-size: max(1rem, min(18px, 4.27vw));
    line-height: 1.8;
  }
}

.p-training-custom__greeting-desc p + p {
  margin-top: 1.63rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting-desc p + p {
    margin-top: 1.8em;
  }
}

.p-training-custom__greeting-signature {
  margin-top: 1.25rem;
  color: var(--site-text);
}
.p-training-custom__greeting-signature::before {
  content: "";
  display: block;
  width: 3.75rem;
  height: 2px;
  background: var(--corporate-gradient);
}

.p-training-custom__greeting-role {
  margin-top: 1.25rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  font-weight: 700;
  line-height: max(1.88rem, min(27px, 8.01vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting-role {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__greeting-name {
  margin-top: 0.38rem;
  font-size: max(1.88rem, min(18px, 8.01vw));
  font-weight: 700;
  line-height: 1.4;
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting-name {
    font-size: max(1.5rem, min(18px, 6.4vw));
  }
}

.p-training-custom__greeting-name-kana {
  font-size: max(1.25rem, min(18px, 5.34vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting-name-kana {
    font-size: max(0.94rem, min(16.88px, 4vw));
  }
}

.p-training-custom__greeting-titles {
  margin-top: 1.25rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: max(1.63rem, min(29.25px, 6.94vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting-titles {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__greeting-photo {
  flex-shrink: 0;
  width: 27.5rem;
  aspect-ratio: 347/469;
}
.p-training-custom__greeting-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting-photo {
    width: 15rem;
  }
}

.p-training-custom__recommend {
  padding-block: 6.25rem;
  background: var(--corporate-bg-tint);
}
@media screen and (max-width: 768px) {
  .p-training-custom__recommend {
    padding-block: 3.75rem;
  }
}

.p-training-custom__recommend-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__recommend-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__recommend-inner {
    padding-inline: 1.25rem;
  }
}
.p-training-custom__recommend-inner {
  display: flex;
  align-items: flex-start;
  gap: 2.81rem;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__recommend-inner {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
}

.p-training-custom__recommend-photo {
  flex-shrink: 0;
  width: 31.06rem;
  max-width: 100%;
  aspect-ratio: 497/331;
}
.p-training-custom__recommend-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 0.25rem;
}

.p-training-custom__recommend-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__recommend-body {
    width: 100%;
  }
}

.p-training-custom__recommend-list {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  width: fit-content;
  max-width: 100%;
  margin-top: 3rem;
  padding-left: 0;
  list-style: none;
}
@media screen and (max-width: 768px) {
  .p-training-custom__recommend-list {
    margin-top: 1.5rem;
  }
}

.p-training-custom__recommend-item {
  display: flex;
  align-items: flex-end;
  gap: 0.5rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__recommend-item {
    align-items: flex-start;
  }
}

.p-training-custom__recommend-icon {
  flex-shrink: 0;
  width: 1.72rem;
  height: 1.5rem;
  margin-bottom: 0.07rem;
}

.p-training-custom__recommend-text {
  color: #181818;
  font-size: max(1.13rem, min(18px, 4.8vw));
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__recommend-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom--corporate .p-training-custom__contact {
  background: var(--corporate-bg-tint);
}

.p-training-custom--corporate .p-training-custom__contact .p-training-custom__contact-form .starter-form :is(.starter-form__input, .starter-form__select, .starter-form__textarea) {
  background-color: var(--site-bg);
}

.p-training-custom__greeting-sns {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__greeting-sns {
    margin-top: 0.75rem;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .p-training-custom__cta-corporate-tel-hours {
    width: auto;
  }
}
.p-training-custom--personal {
  --training-custom-color: var(--personal-color);
  --training-custom-gradient: var(--personal-gradient);
  --training-custom-bg: var(--personal-bg-tint);
  --training-custom-merit-bg: var(--personal-merit-bg);
}

.p-training-custom__button--personal {
  background: var(--personal-gradient);
}

.p-training-custom__fv-personal {
  position: relative;
  background: var(--personal-bg-hero);
  overflow: hidden;
}

.p-training-custom__fv-personal-inner {
  width: 100%;
  max-width: 88.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__fv-personal-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-inner {
    padding-inline: 1rem;
  }
}
.p-training-custom__fv-personal-inner {
  position: relative;
  min-height: 42.94rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-inner {
    min-height: 0;
  }
}

.p-training-custom__fv-personal-contents {
  max-width: 50rem;
  padding-block: 3.25rem 3.19rem;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-contents {
    padding-block: 2.63rem 2.63rem;
  }
}

.p-training-custom__fv-personal-head {
  text-align: center;
}

.p-training-custom__fv-personal-badge {
  position: relative;
  width: fit-content;
  margin-inline: auto;
}

.p-training-custom__fv-personal-bubble {
  width: 8.25rem;
  height: auto;
  position: absolute;
  bottom: calc(100% - 1.06rem);
  left: 0;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-bubble {
    width: 5.5rem;
    bottom: calc(100% - 0.69rem);
  }
}

.p-training-custom__fv-personal-label {
  display: inline-block;
  width: 50rem;
  max-width: 100%;
  padding: 0.5rem 0 0.38rem;
  background: var(--personal-gradient);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(3.69rem, min(18px, 15.75vw));
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-label {
    width: auto;
    padding: 0.38rem 0.19rem;
    font-size: max(1.59rem, min(18px, 6.81vw));
  }
}

.p-training-custom__fv-personal-title {
  margin-top: 0.38rem;
  color: #181818;
  font-weight: 500;
  font-size: max(2.93rem, min(18px, 12.49vw));
  line-height: max(5.81rem, min(35.77px, 24.82vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-title {
    margin-top: 0.5rem;
    font-size: max(1.25rem, min(18px, 5.34vw));
    line-height: 1.4;
  }
}

.p-training-custom__fv-personal-title-num,
.p-training-custom__fv-personal-title-highlight {
  font-size: max(4.16rem, min(18px, 17.75vw));
  font-weight: 700;
  line-height: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-title-num,
  .p-training-custom__fv-personal-title-highlight {
    font-size: max(1.75rem, min(18px, 7.47vw));
  }
}

.p-training-custom__fv-personal-title-num {
  font-family: "Inter", sans-serif;
}

.p-training-custom__fv-personal-title-highlight {
  margin-left: 0.88rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-title-highlight {
    margin-left: 0.25rem;
  }
}

.p-training-custom__fv-personal-lead {
  margin-top: 0.56rem;
  color: #181818;
  font-weight: 500;
  font-size: max(2.46rem, min(18px, 10.51vw));
  line-height: 1.2;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-lead {
    margin-top: 0.75rem;
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__fv-personal-lead-strong {
  display: inline-block;
  font-weight: 500;
  font-size: max(3.08rem, min(18px, 13.13vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-lead-strong {
    font-size: max(1.31rem, min(18px, 5.6vw));
  }
}

.p-training-custom__fv-personal-cta-wrap {
  margin-top: 2.19rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-cta-wrap {
    margin-top: 1.5rem;
  }
}

.p-training-custom__fv-personal-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 21.25rem;
  height: 5rem;
  background: #0ABAB5;
  border-radius: 2.5rem;
  box-shadow: 0 0.19rem 0.31rem rgba(0, 0, 0, 0.25);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(1.63rem, min(18px, 6.94vw));
  text-decoration: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
  position: relative;
}
.p-training-custom__fv-personal-cta::after {
  content: "";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 2.25rem;
  width: 0.88rem;
  aspect-ratio: 12/19;
  background: url("../images/training-custom/training-custom-personal-fv-icon-arrow.svg") no-repeat center center/contain;
}
.p-training-custom__fv-personal-cta:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-cta {
    width: 15rem;
    height: 3.25rem;
    font-size: max(1rem, min(18px, 4.27vw));
  }
  .p-training-custom__fv-personal-cta::after {
    right: 0.88rem;
    width: 0.63rem;
  }
}

.p-training-custom--personal .p-training-custom__fv-stats {
  justify-content: flex-start;
  margin-top: 2.5rem;
  padding-left: 0;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__fv-stats {
    justify-content: center;
  }
}

.p-training-custom--personal .p-training-custom__fv-stat-num {
  color: var(--personal-color);
}

.p-training-custom__fv-personal-photo {
  position: absolute;
  right: calc(1.31rem + var(--fixed-cta-w-tablet, 0px));
  bottom: 0;
  width: 31.75rem;
}
.p-training-custom__fv-personal-photo img {
  display: block;
  width: 100%;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-training-custom__fv-personal-photo {
    width: 14.69rem;
    right: calc(50% - 12.38rem);
    bottom: -1.25rem;
  }
}

.p-training-custom--personal .p-training-custom__faq {
  background: var(--training-custom-bg);
}

.p-training-custom__merit-subheading {
  margin-top: 2.5rem;
  text-align: center;
}

.p-training-custom--personal .p-training-custom__merit-grid {
  margin-top: 2.5rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__merit-grid {
    margin-top: 1.25rem;
  }
}

.p-training-custom__merit-subheading-text,
.p-training-custom__about-subheading-text {
  background: linear-gradient(90deg, #0abab5 0%, #078986 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  font-weight: 700;
  font-size: max(2rem, min(18px, 8.54vw));
  line-height: 1.5;
  width: fit-content;
  margin-inline: auto;
  padding-inline: 1.25rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-training-custom__merit-subheading-text,
  .p-training-custom__about-subheading-text {
    font-size: max(1.38rem, min(18px, 5.87vw));
    padding-inline: 0.88rem;
  }
}
.p-training-custom__merit-subheading-text::before, .p-training-custom__merit-subheading-text::after,
.p-training-custom__about-subheading-text::before,
.p-training-custom__about-subheading-text::after {
  content: "";
  position: absolute;
  top: 56%;
  width: 0.94rem;
  height: 2.63rem;
  transform: translateY(-50%);
  background: url(../images/training-custom/training-custom-personal-parenthesis.svg) no-repeat center/contain;
}
@media screen and (max-width: 768px) {
  .p-training-custom__merit-subheading-text::before, .p-training-custom__merit-subheading-text::after,
  .p-training-custom__about-subheading-text::before,
  .p-training-custom__about-subheading-text::after {
    width: 0.63rem;
    height: 1.81rem;
  }
}
.p-training-custom__merit-subheading-text::before,
.p-training-custom__about-subheading-text::before {
  left: 0;
}
.p-training-custom__merit-subheading-text::after,
.p-training-custom__about-subheading-text::after {
  right: 0;
  transform: translateY(-50%) scaleX(-1);
}

.p-training-custom__about {
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__about {
    padding-block: 2.5rem;
  }
}

.p-training-custom__about-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__about-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__about-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom__about-heading {
  position: relative;
  width: fit-content;
  margin-inline: auto;
  padding: 0 0.31rem 0.38rem;
  background: var(--training-custom-gradient);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(3rem, min(18px, 12.81vw));
  line-height: max(3.69rem, min(22.13px, 15.75vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__about-heading {
    padding: 0.5rem;
    font-size: max(1.5rem, min(18px, 6.4vw));
    line-height: 1;
  }
}

.p-training-custom__about-bubble {
  position: absolute;
  top: -3.19rem;
  left: 0.25rem;
  width: 8.25rem;
  height: auto;
}
@media screen and (max-width: 768px) {
  .p-training-custom__about-bubble {
    top: -1.56rem;
    width: 4.13rem;
  }
}

.p-training-custom__about-lead {
  margin-top: 2rem;
  color: #181818;
  font-weight: 700;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.5;
  max-width: 50rem;
  margin-inline: auto;
}
@media screen and (max-width: 768px) {
  .p-training-custom__about-lead {
    margin-top: 1.25rem;
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__about-subheading {
  margin-top: 3.5rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__about-subheading {
    margin-top: 2.5rem;
  }
}

.p-training-custom__about-grid {
  margin-top: 2rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.94rem;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__about-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__about-grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.p-training-custom__about-card-img {
  display: block;
  width: 100%;
  aspect-ratio: 390/260;
  object-fit: cover;
  border-radius: 0.25rem;
}

.p-training-custom__about-card-title {
  margin-top: 1rem;
  padding: 0.25rem 0.31rem;
  background: var(--training-custom-gradient);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__about-card-title {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-training-custom__about-card-text {
  margin-top: 0.75rem;
  color: #181818;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.45;
}
@media screen and (max-width: 768px) {
  .p-training-custom__about-card-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__about-card-text-accent {
  color: var(--training-custom-color);
  font-weight: 700;
}

.p-training-custom--personal .p-training-custom__program {
  background: var(--training-custom-bg) url(../images/training-custom/training-custom-personal-program-bg.webp) center bottom/cover no-repeat;
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__program {
    padding-block: 2.5rem;
  }
}

.p-training-custom--personal .p-training-custom__program-lead {
  margin-top: 2rem;
  max-width: 56.13rem;
  margin-inline: auto;
  color: #181818;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.5;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__program-lead {
    font-size: max(1rem, min(18px, 4.27vw));
    text-align: left;
  }
}

.p-training-custom__program-grid {
  margin-top: 3.5rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-template-rows: repeat(7, auto);
  grid-auto-flow: column;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-grid {
    grid-template-columns: 1fr;
    grid-template-rows: none;
    grid-auto-flow: row;
  }
}

.p-training-custom__program-day-head {
  padding: 1rem;
  background: var(--training-custom-color);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(1.25rem, min(18px, 5.34vw));
  line-height: 1.5;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-day-head {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-training-custom__program-day-head--2 {
  background: #50b6b3;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-day-head--2 {
    margin-top: 2rem;
  }
}

.p-training-custom__program-item {
  min-height: 8.13rem;
  padding: 0.5rem 2rem;
  border: 1px solid #d8d8d8;
  background: #fafafa;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.p-training-custom__program-item + .p-training-custom__program-item {
  border-top: none;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-item {
    min-height: 0;
    padding: 1.5rem 1rem;
  }
}

.p-training-custom__program-item-title {
  color: #181818;
  font-weight: 700;
  font-size: max(1.25rem, min(18px, 5.34vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-item-title {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__program-item-title + .p-training-custom__program-checks {
  margin-top: 0.5rem;
}

.p-training-custom--personal .p-training-custom__program-check-text {
  color: #181818;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: 1.5;
}

.p-training-custom__program-certificate {
  grid-row: span 2;
  padding: 2.88rem 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-certificate {
    padding: 1.25rem 0;
  }
}

.p-training-custom__program-certificate-content {
  padding: 0.88rem 0.63rem;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.25rem;
  position: relative;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-certificate-content {
    padding: 0.63rem 0.63rem;
  }
}
.p-training-custom__program-certificate-content::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/training-custom/training-custom-personal-program-certificate-bg.webp) center/cover no-repeat;
}
.p-training-custom__program-certificate-content img {
  position: relative;
  z-index: 1;
  width: 11.69rem;
  aspect-ratio: 187/140;
  object-fit: cover;
  translate: 0 -1.06rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-certificate-content img {
    translate: 0 -20px;
  }
}

.p-training-custom__program-certificate-text {
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1.5;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-certificate-text {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.p-training-custom__program-certificate-label {
  display: inline-block;
  padding-inline: 0.56rem;
  background: var(--site-bg);
  color: var(--training-custom-color);
  font-weight: 700;
  font-size: max(2rem, min(18px, 8.54vw));
  margin-left: 0.31rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__program-certificate-label {
    padding-inline: 0.31rem;
    font-size: max(1.38rem, min(18px, 5.87vw));
  }
}

.p-training-custom--personal .p-training-custom__cta {
  position: relative;
}
.p-training-custom--personal .p-training-custom__cta::before {
  content: "";
  position: absolute;
  inset: 0;
  background: url(../images/training-custom/training-custom-personal-cta-bg.webp) center bottom/cover no-repeat;
}

@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__cta {
    margin-top: 0;
  }
}

.p-training-custom__cta-inner {
  width: 100%;
  max-width: 85rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__cta-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-inner {
    padding-inline: 1.25rem;
  }
}
.p-training-custom__cta-inner {
  position: relative;
  z-index: 1;
}

.p-training-custom__cta-container {
  position: relative;
  padding-block: 3.69rem 3.75rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-container {
    padding-block: 2.25rem;
  }
}

.p-training-custom__cta-text {
  width: 53.13rem;
  max-width: 100%;
  margin-left: 3.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-text {
    width: 100%;
    margin-left: 0;
  }
}

.p-training-custom__cta-heading {
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(3.13rem, min(18px, 13.34vw));
  line-height: 1;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-heading {
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: 1.3;
  }
}

.p-training-custom__cta-heading-badge {
  display: inline-block;
  margin-top: 0.56rem;
  padding: 0 0.31rem 0.38rem;
  background-color: var(--site-bg);
  font-size: max(3.63rem, min(18px, 15.48vw));
  line-height: max(3.69rem, min(18.31px, 15.75vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-heading-badge {
    margin-top: 0.5rem;
    padding: 0.38rem 0.5rem;
    font-size: max(1.75rem, min(18px, 7.47vw));
    line-height: 1.2;
  }
}

.p-training-custom__cta-heading-badge-text {
  background: linear-gradient(90deg, #0abab5 0%, #078986 100%);
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
}

.p-training-custom__cta-actions {
  display: grid;
  grid-auto-columns: 1fr;
  grid-auto-flow: column;
  width: max-content;
  max-width: 100%;
  margin-inline: auto;
  gap: 1.25rem;
  margin-top: 2.19rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-actions {
    display: flex;
    flex-direction: column;
    width: auto;
    align-items: center;
    gap: 1rem;
  }
}

.p-training-custom__cta-action {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.38rem;
  width: auto;
  min-width: 21.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-action {
    width: 100%;
    max-width: 21.25rem;
  }
}

.p-training-custom__cta-note {
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(1rem, min(16px, 4.27vw));
  line-height: 1.6;
  text-align: center;
  white-space: nowrap;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-note {
    white-space: normal;
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__cta-tel,
.p-training-custom__cta-button {
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.p-training-custom__cta-tel:hover,
.p-training-custom__cta-button:hover {
  transform: translateY(-0.19rem);
  box-shadow: 0 0.5rem 1.13rem rgba(0, 0, 0, 0.3);
}
.p-training-custom__cta-tel,
.p-training-custom__cta-button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 5rem;
  padding: 0.63rem 1.25rem;
  border-radius: 2.5rem;
  box-shadow: 0 0.19rem 0.31rem rgba(0, 0, 0, 0.25);
  text-decoration: none;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-tel,
  .p-training-custom__cta-button {
    height: 4rem;
  }
}

.p-training-custom__cta-tel {
  background-color: var(--site-bg);
  border: 1px solid #181818;
}

.p-training-custom__cta-tel-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}

.p-training-custom__cta-tel-icon {
  flex-shrink: 0;
  width: 1.31rem;
  aspect-ratio: 21/31;
}

.p-training-custom__cta-tel-num {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: max(2.25rem, min(18px, 9.61vw));
  line-height: 1.2;
  color: #181818;
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-tel-num {
    font-size: max(1.38rem, min(18px, 5.87vw));
  }
}

.p-training-custom__cta-tel-hours {
  width: 16.5rem;
  max-width: 100%;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  letter-spacing: 0.06em;
  color: #181818;
  line-height: 1.2;
  text-align: right;
}

.p-training-custom__cta-button {
  background-color: var(--site-cta);
  color: var(--site-bg);
  font-weight: 700;
  font-size: max(1.63rem, min(18px, 6.94vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-button {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-training-custom__cta-photo {
  position: absolute;
  right: 1.69rem;
  bottom: 0;
  width: 23.56rem;
  aspect-ratio: 345/382;
}
.p-training-custom__cta-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: bottom;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__cta-photo {
    right: 0;
    width: 16.25rem;
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__cta-photo {
    display: none;
  }
}

.p-training-custom--personal .p-training-custom__voice-inner .p-voice__tab {
  background-color: #dff3f2;
  color: var(--personal-color);
}

.p-training-custom--personal .p-training-custom__voice-inner .p-voice__tab[aria-selected=true],
.p-training-custom--personal .p-training-custom__voice-inner .p-voice__tab:hover {
  background-color: var(--personal-bg-tint);
}

.p-training-custom--personal .p-training-custom__voice-inner .p-voice__panel {
  margin-top: 3rem;
  background-color: var(--personal-bg-tint);
  border-radius: 0.63rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__voice-inner .p-voice__panel {
    margin-top: 2rem;
  }
}

.p-training-custom--personal .p-training-custom__voice-inner .p-voice__list {
  gap: 2.5rem;
}

.p-training-custom--personal .p-training-custom__voice-inner .p-voice__quote {
  color: var(--personal-color);
}

.p-training-custom--personal .p-training-custom__voice-inner .p-voice__meta-row {
  gap: 0.63rem;
  border-bottom-color: rgba(0, 0, 0, 0.2);
}

.p-training-custom--personal .p-training-custom__voice-inner .p-voice__meta-label,
.p-training-custom--personal .p-training-custom__voice-inner .p-voice__meta-value {
  color: #181818;
  font-weight: 700;
  line-height: max(1.6rem, min(28.8px, 6.83vw));
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__voice-inner .p-voice__meta-label,
  .p-training-custom--personal .p-training-custom__voice-inner .p-voice__meta-value {
    font-size: max(0.88rem, min(15.75px, 3.74vw));
  }
}

.p-training-custom--personal .p-training-custom__voice-inner .p-voice__meta-value--strong {
  color: var(--personal-color);
}

.p-training-custom--personal .p-training-custom__voice-inner .p-voice__meta-label {
  width: 8.81rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__voice-inner .p-voice__meta-label {
    width: 6.25rem;
  }
}

.p-training-custom--personal .p-training-custom__voice-inner .p-voice__photo--video,
.p-training-custom--corporate .p-training-custom__voice-inner .p-voice__photo--video {
  height: auto;
  aspect-ratio: 16/9;
  background-color: #000;
}

.p-training-custom--personal .p-training-custom__message {
  background: var(--training-custom-bg);
  padding-block: 5.38rem 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__message {
    padding-block: 3.75rem;
  }
}

.p-training-custom__message-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__message-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom__message-intro {
  margin-top: 3.56rem;
  display: flex;
  align-items: flex-start;
  gap: 3.75rem;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__message-intro {
    flex-direction: column;
    align-items: center;
    gap: 2rem;
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-intro {
    margin-top: 1.63rem;
  }
}

.p-training-custom__message-intro-text {
  flex: 1;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__message-intro-text {
    width: 100%;
  }
}

.p-training-custom__message-intro-heading {
  color: var(--training-custom-color);
  font-weight: 700;
  font-size: max(1.75rem, min(18px, 7.47vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-intro-heading {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.p-training-custom__message-intro-lead {
  margin-top: 1.5rem;
  color: var(--site-text);
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-intro-lead {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__message-intro-lead > p + p {
  margin-top: 1.5em;
}

.p-training-custom__message-intro-lead-accent {
  color: var(--training-custom-color);
  font-weight: 700;
}

.p-training-custom__message-intro-photo {
  flex: none;
  width: 27.5rem;
}
.p-training-custom__message-intro-photo img {
  display: block;
  width: 100%;
  aspect-ratio: 376/503;
  object-fit: cover;
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-intro-photo {
    width: 100%;
    max-width: 23.5rem;
  }
}

.p-training-custom__message-note {
  margin-top: 1.69rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-note {
    margin-top: 2.5rem;
  }
}

.p-training-custom__message-note-lead {
  color: var(--training-custom-color);
  font-weight: 700;
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-note-lead {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__message-note-text {
  margin-top: 1.5rem;
  color: var(--site-text);
  font-size: max(1.13rem, min(18px, 4.8vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-note-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom__message-note-text > p + p {
  margin-top: 1.5em;
}

.p-training-custom__message-signature {
  margin-top: 1.69rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-signature {
    margin-top: 2rem;
  }
}

.p-training-custom__message-signature-line {
  width: 3.75rem;
  height: 2px;
  background: var(--training-custom-color);
}

.p-training-custom__message-signature-role {
  margin-top: 1.25rem;
  color: #181818;
  font-weight: 700;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: max(1.88rem, min(33.75px, 8.01vw));
}

.p-training-custom__message-signature-name {
  margin-top: 0.38rem;
  color: #181818;
  font-weight: 700;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1.4;
}

.p-training-custom__message-grid {
  margin-top: 3.38rem;
  width: 100%;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0.94rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-grid {
    margin-top: 2.5rem;
    grid-template-columns: 1fr;
    gap: 2rem;
  }
}

.p-training-custom__message-card-img {
  display: block;
  width: 100%;
  aspect-ratio: 390/260;
  object-fit: cover;
  border-radius: 0.25rem;
}

.p-training-custom__message-card-title {
  margin-top: 1rem;
  color: var(--training-custom-color);
  font-weight: 700;
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1;
  text-align: left;
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-card-title {
    margin-top: 0.5rem;
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.p-training-custom__message-closing {
  margin-top: 3rem;
  max-width: 56.13rem;
  margin-inline: auto;
  color: #181818;
  font-weight: 700;
  font-size: max(1rem, min(18px, 4.27vw));
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-closing {
    margin-top: 2.5rem;
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom--personal .p-training-custom__closing {
  width: 100%;
  max-width: 80rem;
  margin-inline: auto;
  position: relative;
  margin-top: 10.5rem;
  padding: 3rem 1.25rem 2.5rem;
  border: 1px solid var(--personal-color);
  border-radius: 0.63rem;
  background-color: var(--site-bg);
}
.p-training-custom--personal .p-training-custom__closing::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: url(../images/training-custom/training-custom-personal-problem-bg.webp) center/cover no-repeat;
  opacity: 0.08;
  pointer-events: none;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__closing {
    margin-top: 7.25rem;
    padding: 2rem 0.63rem;
  }
}

.p-training-custom__closing-photo {
  position: absolute;
  bottom: 0;
  right: 2rem;
  width: 17.63rem;
  aspect-ratio: 282/307;
}
.p-training-custom__closing-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: bottom;
}
@media screen and (max-width: 768px) {
  .p-training-custom__closing-photo {
    display: none;
  }
}

.p-training-custom__closing-body {
  width: 52.5rem;
  max-width: 100%;
  margin-left: 2.19rem;
  text-align: center;
}
@media screen and (max-width: 1024px) {
  .p-training-custom__closing-body {
    width: 72%;
    margin-left: 0;
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__closing-body {
    width: 100%;
  }
}

.p-training-custom--personal .p-training-custom__closing-title {
  color: var(--personal-color);
  font-weight: 700;
  font-size: max(2rem, min(18px, 8.54vw));
  line-height: 1.6;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__closing-title {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}

.p-training-custom--personal .p-training-custom__closing-text {
  margin-top: 1.5rem;
  color: var(--site-text);
  font-size: max(1.5rem, min(18px, 6.4vw));
  line-height: 1.6;
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__closing-text {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}

.p-training-custom--personal .p-training-custom__closing-text-accent {
  color: var(--personal-color);
  font-size: max(1.88rem, min(18px, 8.01vw));
  font-weight: 900;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__closing-text-accent {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}

.p-training-custom--personal .p-training-custom__overview .p-training-custom__button-wrap,
.p-training-custom--personal .p-training-custom__schedule .p-training-custom__button-wrap {
  margin-top: 3.5rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom--personal .p-training-custom__overview .p-training-custom__button-wrap,
  .p-training-custom--personal .p-training-custom__schedule .p-training-custom__button-wrap {
    margin-top: 2rem;
  }
}

.p-training-custom--personal .p-training-custom__overview .p-training-custom__button,
.p-training-custom--personal .p-training-custom__schedule .p-training-custom__button {
  background: #0abab5;
}

.p-training-custom__schedule {
  padding-block: 6.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__schedule {
    padding-block: 3.75rem;
  }
}

.p-training-custom__schedule-inner {
  width: 100%;
  max-width: 98.33rem;
  margin-inline: auto;
  padding-inline: 2.5rem;
}
@media (min-width: 769px) and (max-width: 1240px) {
  .p-training-custom__schedule-inner {
    padding-inline: calc(2.5rem + var(--fixed-cta-w, 0px));
  }
}
@media screen and (max-width: 768px) {
  .p-training-custom__schedule-inner {
    padding-inline: 1.25rem;
  }
}

.p-training-custom__schedule-table-wrap {
  margin-top: 2.88rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__schedule-table-wrap {
    margin-top: 1.5rem;
    overflow-x: auto;
  }
}

.p-training-custom__schedule-table {
  width: 66.25rem;
  margin-inline: auto;
  border-collapse: collapse;
  table-layout: fixed;
}
@media screen and (max-width: 768px) {
  .p-training-custom__schedule-table {
    width: 640px;
  }
}

.p-training-custom__schedule-hint {
  display: none;
  margin-top: 0.5rem;
  color: color-mix(in srgb, var(--site-text) 70%, transparent);
  font-size: max(0.81rem, min(13px, 3.47vw), 10px);
  text-align: center;
}
.p-training-custom__schedule-hint.is-scrollable {
  display: block;
}

.p-training-custom__schedule-th,
.p-training-custom__schedule-td {
  height: 4.19rem;
  padding: 0.63rem;
  font-size: max(1.25rem, min(18px, 5.34vw));
  line-height: max(2.5rem, min(36px, 10.68vw));
  text-align: center;
  vertical-align: middle;
}
@media screen and (max-width: 768px) {
  .p-training-custom__schedule-th,
  .p-training-custom__schedule-td {
    height: 3.25rem;
    padding: 0.5rem 0.38rem;
    font-size: max(0.81rem, min(13px, 3.47vw), 10px);
    line-height: 1.5;
  }
}

.p-training-custom__schedule-td {
  overflow-wrap: anywhere;
}

.p-training-custom__schedule-td:first-child {
  white-space: nowrap;
}

.p-training-custom__schedule-th {
  width: 25rem;
  background: var(--personal-color);
  border: 1px solid #c6c6c6;
  border-bottom-color: var(--personal-color);
  color: var(--site-bg);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  .p-training-custom__schedule-th {
    width: 35%;
  }
}

.p-training-custom__schedule-th--date {
  width: 16.25rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__schedule-th--date {
    width: 30%;
  }
}

.p-training-custom__schedule-td {
  border: 1px solid #c6c6c6;
  color: var(--site-text);
  font-weight: 500;
}

.p-training-custom--personal .p-training-custom__contact .p-training-custom__contact-form .c-button {
  background: linear-gradient(90deg, #0abab5 0%, #078986 100%);
}

.p-training-custom__message-sns {
  margin-top: 1rem;
}
@media screen and (max-width: 768px) {
  .p-training-custom__message-sns {
    margin-top: 0.75rem;
  }
}

@media (min-width: 769px) and (max-width: 1024px) {
  .p-training-custom__cta-tel-hours {
    width: auto;
  }
}
.p-sidebar-related__heading {
  padding: 0 0.63rem 0.88rem;
  border-bottom: 1px solid var(--site-accent);
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  line-height: 1.3;
  color: var(--site-accent);
}

.p-sidebar-related__list {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-top: 2.5rem;
  padding-left: 0;
  list-style: none;
}

.p-sidebar-related__link {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  color: inherit;
  transition: opacity 0.3s;
}
.p-sidebar-related__link:hover {
  opacity: 0.7;
}
@media screen and (max-width: 768px) {
  .p-sidebar-related__link {
    gap: 1.75rem;
  }
}

.p-sidebar-related__thumb {
  flex: 0 0 11.25rem;
  width: 11.25rem;
  height: 7.81rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
.p-sidebar-related__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-sidebar-related__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.p-sidebar-related__date {
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 400;
  color: var(--site-text-muted);
}

.p-sidebar-related__date + * {
  margin-top: 0.25rem;
}

.p-sidebar-related__title {
  display: -webkit-box;
  overflow: hidden;
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 500;
  line-height: 1.4;
  color: var(--site-text);
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
}

@media screen and (max-width: 768px) {
  .p-sidebar-related__thumb {
    flex-basis: 8.75rem;
    width: 8.75rem;
    height: 6.06rem;
  }
  .p-sidebar-related__date {
    font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  }
  .p-sidebar-related__title {
    font-size: max(1rem, min(18px, 4.27vw));
  }
}
.p-sidebar-consult {
  margin-top: 3.75rem;
}

.p-sidebar-consult__head {
  position: relative;
  height: 3.38rem;
}

.p-sidebar-consult__head-bar {
  position: absolute;
  inset-inline: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  height: 3.38rem;
  padding: 0 6.88rem 0 1.25rem;
  background-color: var(--site-accent);
  color: #fff;
  font-size: max(2rem, min(18px, 8.54vw));
  font-weight: 700;
  line-height: 1.3;
  border-radius: 0.38rem 0.38rem 0 0;
}

.p-sidebar-consult__head-photo {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 6.5rem;
  height: 7.13rem;
  display: block;
}

.p-sidebar-consult__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.38rem;
  padding: 2.5rem 1.88rem;
  background: url(../images/sidebar/sidebar-contact-bg.webp) center/cover no-repeat, var(--site-grad-section);
  border-radius: 0 0 0.38rem 0.38rem;
}

.p-sidebar-consult__note {
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 500;
  line-height: 1.4;
  color: var(--site-text);
  text-align: center;
}

@media screen and (max-width: 768px) {
  .p-sidebar-consult__head-bar {
    font-size: max(1.25rem, min(18px, 5.34vw));
  }
}
.p-sidebar-mail {
  margin-top: 2.5rem;
  padding: 1.5rem 1.25rem 2rem;
  background: var(--site-grad-hero);
  border: 0.07rem solid var(--site-accent);
  border-radius: 0.38rem;
  text-align: center;
}
@media screen and (max-width: 768px) {
  .p-sidebar-mail {
    padding: 0.63rem 0.19rem 1.25rem;
  }
}

.p-sidebar-mail__head {
  display: flex;
  align-items: center;
  gap: 0.88rem;
  text-align: left;
}
@media (max-width: 960px) {
  .p-sidebar-mail__head {
    flex-direction: column;
    gap: 0.25rem;
    text-align: center;
  }
}

.p-sidebar-mail__text {
  flex: 1 1 auto;
  min-width: 0;
}

.p-sidebar-mail__icon {
  flex: 0 0 5.31rem;
  width: 5.31rem;
}
@media (max-width: 960px) {
  .p-sidebar-mail__icon {
    flex-basis: 5rem;
    width: 5rem;
  }
}

.p-sidebar-mail__note {
  font-size: max(0.88rem, min(15.75px, 3.74vw));
  font-weight: 700;
  color: var(--site-accent);
  text-align: center;
}

.p-sidebar-mail__lead {
  margin-top: 0.5rem;
  font-size: max(1rem, min(18px, 4.27vw));
  font-weight: 700;
  line-height: 1.4;
  color: var(--site-text);
}

.p-sidebar-mail__link {
  display: block;
  margin-top: 0.25rem;
  font-size: max(1.38rem, min(18px, 5.87vw));
  font-weight: 700;
  color: var(--site-text);
}

.p-sidebar-mail__link-em {
  color: var(--site-accent);
  text-decoration: underline;
  text-decoration-color: #f6ff71;
  text-decoration-thickness: 0.19rem;
  text-underline-offset: 0.19rem;
}

.p-sidebar-mail__badges {
  display: flex;
  gap: 0.5rem;
  margin-top: 1.5rem;
  list-style: none;
}
@media (max-width: 960px) {
  .p-sidebar-mail__badges {
    gap: 0.19rem;
  }
}

.p-sidebar-mail__badge {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  aspect-ratio: 131/105;
  padding-inline: 0.19rem;
  background-image: url(../images/sidebar/sidebar-mail-badge.webp);
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  font-size: max(0.75rem, min(12px, 3.2vw), 10px);
  font-weight: 700;
  line-height: 1.4;
  color: var(--site-accent);
}
@media (max-width: 960px) {
  .p-sidebar-mail__badge {
    font-size: max(0.63rem, min(10px, 2.67vw), 10px);
  }
}

.p-sidebar-mail__btn {
  margin-top: 1.5rem;
}

@media (max-width: 960px) {
  .p-sidebar-mail__lead {
    font-size: max(0.94rem, min(16.88px, 4vw));
  }
  .p-sidebar-mail__link {
    font-size: max(1.13rem, min(18px, 4.8vw));
  }
}
@media screen and (max-width: 768px) {
  .u-pc-only {
    display: none;
  }
}

.u-sp-only {
  display: none;
}
@media screen and (max-width: 768px) {
  .u-sp-only {
    display: revert;
  }
}

.u-ib {
  display: inline-block;
}

.u-visually-hidden,
.screen-reader-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.u-auto-phrase {
  word-break: auto-phrase;
  line-break: strict;
}
