@charset "UTF-8";
/*! Yaku Han JP v4.1.1 (OFL-1.1 AND MIT) by Qrac | Type: YakuHanJPs - Based on Noto Sans JP */
@font-face{font-family:YakuHanJPs;font-style:normal;font-weight:100;font-display:swap;src:url(../img/YakuHanJPs-Thin.woff2) format("woff2");unicode-range:U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+ff08,U+ff09,U+ff3b,U+ff3d,U+ff5b,U+ff5d}@font-face{font-family:YakuHanJPs;font-style:normal;font-weight:200;font-display:swap;src:url(../img/YakuHanJPs-ExtraLight.woff2) format("woff2");unicode-range:U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+ff08,U+ff09,U+ff3b,U+ff3d,U+ff5b,U+ff5d}@font-face{font-family:YakuHanJPs;font-style:normal;font-weight:300;font-display:swap;src:url(../img/YakuHanJPs-Light.woff2) format("woff2");unicode-range:U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+ff08,U+ff09,U+ff3b,U+ff3d,U+ff5b,U+ff5d}@font-face{font-family:YakuHanJPs;font-style:normal;font-weight:400;font-display:swap;src:url(../img/YakuHanJPs-Regular.woff2) format("woff2");unicode-range:U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+ff08,U+ff09,U+ff3b,U+ff3d,U+ff5b,U+ff5d}@font-face{font-family:YakuHanJPs;font-style:normal;font-weight:500;font-display:swap;src:url(../img/YakuHanJPs-Medium.woff2) format("woff2");unicode-range:U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+ff08,U+ff09,U+ff3b,U+ff3d,U+ff5b,U+ff5d}@font-face{font-family:YakuHanJPs;font-style:normal;font-weight:600;font-display:swap;src:url(../img/YakuHanJPs-SemiBold.woff2) format("woff2");unicode-range:U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+ff08,U+ff09,U+ff3b,U+ff3d,U+ff5b,U+ff5d}@font-face{font-family:YakuHanJPs;font-style:normal;font-weight:700;font-display:swap;src:url(../img/YakuHanJPs-Bold.woff2) format("woff2");unicode-range:U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+ff08,U+ff09,U+ff3b,U+ff3d,U+ff5b,U+ff5d}@font-face{font-family:YakuHanJPs;font-style:normal;font-weight:800;font-display:swap;src:url(../img/YakuHanJPs-ExtraBold.woff2) format("woff2");unicode-range:U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+ff08,U+ff09,U+ff3b,U+ff3d,U+ff5b,U+ff5d}@font-face{font-family:YakuHanJPs;font-style:normal;font-weight:900;font-display:swap;src:url(../img/YakuHanJPs-Black.woff2) format("woff2");unicode-range:U+3008,U+3009,U+300a,U+300b,U+300c,U+300d,U+300e,U+300f,U+3010,U+3011,U+3014,U+3015,U+ff08,U+ff09,U+ff3b,U+ff3d,U+ff5b,U+ff5d}
@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}
@import "kiso.css";

@property --root-font-size {
  syntax: "<length>";
  inherits: false;
  initial-value: 16px;
}
:root {
  /* Constant Reference for px to rem conversion */
  --root-font-size: 16px;
  --to-rem: calc(tan(atan2(1px, var(--root-font-size))) * 1rem);
  /* inner */
  --inner: min(1280px, 100%);
  --inner-sp: min(500px, 100%);
  --padding-inner: 24px;
  /* z-index */
  --z-index-header: 900;
  --z-index-floating-banner: 950;
  /* ===== Lib Mobility design tokens (Figma 4608:19727) ===== */
  /* color: text */
  --color-text-high: #000;
  --color-text-middle: #464d5a;
  --color-text-light: #fff;
  /* color: border */
  --color-border-high: #464d5a;
  --color-border-middle: #9ca3b1;
  /* color: button */
  --color-btn-light: #fff;
  --color-btn-light-hover: #e5e7ea;
  --color-btn-primary: #000;
  --color-btn-primary-hover: #464d5a;
  --color-btn-advisory-hover: #363b45;
  /* color: surface */
  --color-surface-black: #000;
  --color-surface-light: #fff;
  /* base background (TOP) */
  --color-bg-base: #f1f2f4;
  --color-panel: rgb(255 255 255 / 60%);
  /* header: スクロール時の背景（#f1f2f4 90%） */
  --color-header-scrolled: rgb(241 242 244 / 90%);
  /* accent / borders */
  --color-accent: #d20000;
  --color-border-low: #cdd0d7;
  /* color: cta */
  --color-cta-gray: #848d9e2e;
  --color-cta-border: rgb(156 163 177 / 40%);
  --color-cta-contact: #99a3b4;
  /* color: text (追加) */
  --color-text-low: #9ca3b1;
  /* color: surface (追加) */
  --color-surface-subtle: #e5e7ea;
  --color-figure-placeholder: #e4e4e4;
  /* color: seminar status */
  --color-status-open: #d20000;
  --color-status-closed: #b4bac4;
  /* 汎用エイリアス */
  --color-white: #fff;
  --color-black: #000;
  --color-text: var(--color-text-high);
  /* font-weight */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  /* font-family */
  --font-jp: "YakuHanJPs", "Zen Kaku Gothic New", sans-serif;
  --font-en: "Plus Jakarta Sans", sans-serif;
  --base-font-family: var(--font-jp);
  /* spacing (px相当をto-remでrem化) */
  --space-4: calc(4 * var(--to-rem));
  --space-8: calc(8 * var(--to-rem));
  --space-12: calc(12 * var(--to-rem));
  --space-16: calc(16 * var(--to-rem));
  --space-20: calc(20 * var(--to-rem));
  --space-24: calc(24 * var(--to-rem));
  --space-32: calc(32 * var(--to-rem));
  --space-40: calc(40 * var(--to-rem));
  --space-48: calc(48 * var(--to-rem));
  --space-56: calc(56 * var(--to-rem));
  --space-64: calc(64 * var(--to-rem));
  --space-72: calc(72 * var(--to-rem));
  --space-80: calc(80 * var(--to-rem));
  --space-96: calc(96 * var(--to-rem));
  --space-120: calc(120 * var(--to-rem));
  /* radius */
  --radius-full: 9999px;
  /* shadow */
  --shadow-card: 0 5px 17.5px rgb(84 91 107 / 18%);
  --shadow-card-strong: 0 5px 35px rgb(84 91 107 / 18%);
  /* transition duration & easing */
  --duration: 0.3s;
  --duration-slow: 0.5s;
  --ease-out: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  /* header height */
  --header-height: 64px;
}
@media screen and (width >= 768px) {
  :root {
    --header-height: 80px;
  }
}

html {
  font-size: 100%;
  scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
}
@media (width <= 375px) {
  html {
    font-size: 4.2666666667vw;
  }
}
@media (width >= 376px) and (width <= 767px) {
  html {
    font-size: 100%;
  }
}
@media (width >= 768px) and (width <= 1080px) {
  html {
    font-size: 1.4814814815vw;
  }
}
@media (width >= 1081px) {
  html {
    font-size: 100%;
  }
}
@media (width >= 1921px) {
  html {
    font-size: 0.8328vw;
  }
}

a[href^=tel] {
  text-decoration: none;
}

a {
  color: inherit;
  -webkit-tap-highlight-color: transparent;
  /* 強調をなくす */
}

a:hover {
  text-decoration: none;
  cursor: pointer;
}

img,
svg {
  vertical-align: middle;
}

img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

:where(:any-link,
button,
[type=button],
[type=reset],
[type=submit],
label[for],
select,
summary,
[role=tab],
[role=button]) {
  cursor: pointer;
}

:where(button, [type=button], [type=reset], [type=submit]) {
  touch-action: manipulation;
}

:focus:not(:focus-visible) {
  outline: none;
}

input[type=text] {
  font-size: 1rem;
  /* = 16px */
}

textarea {
  field-sizing: content;
}

body {
  font-family: var(--base-font-family);
  font-weight: var(--fw-regular);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "palt";
  color: var(--color-text);
  background-color: var(--color-bg-base);
}

html {
  box-sizing: border-box;
  /* Prevent adjustments of font size after orientation changes in iOS */
  word-break: normal;
  tab-size: 4;
  text-size-adjust: 100%;
}

*,
::before,
::after {
  /* Set `background-repeat: no-repeat` to all elements and pseudo elements */
  box-sizing: inherit;
  box-sizing: border-box;
  background-repeat: no-repeat;
}

::before,
::after {
  text-decoration: inherit;
  /* Inherit text-decoration and vertical align to ::before and ::after pseudo elements */
  vertical-align: inherit;
}

* {
  padding: 0;
  /* Reset `padding` and `margin` of all elements */
  margin: 0;
}

/* # =================================================================
     # General elements
     # ================================================================= */
hr {
  /* Show the overflow in Edge and IE */
  height: 0;
  overflow: visible;
  /* Add the correct box sizing in Firefox */
  color: inherit;
  /* Correct border color in Firefox. */
}

details,
main {
  display: block;
  /* Render the `main` element consistently in IE. */
}

summary {
  display: list-item;
  /* Add the correct display in all browsers */
}

small {
  font-size: 80%;
  /* Set font-size to 80% in `small` elements */
}

[hidden] {
  display: none;
  /* Add the correct display in IE */
}

abbr[title] {
  /* Remove the bottom border in Chrome 57 */
  /* Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari */
  text-decoration: underline;
  text-decoration: underline dotted;
  border-bottom: none;
}

a {
  background-color: transparent;
  /* Remove the gray background on active links in IE 10 */
}

a:active,
a:hover {
  outline-width: 0;
  /* Remove the outline when hovering in all browsers */
}

code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  /* Specify the font family of code elements */
}

pre {
  font-size: 1em;
  /* Correct the odd `em` font sizing in all browsers */
}

b,
strong {
  font-weight: bolder;
  /* Add the correct font weight in Chrome, Edge, and Safari */
}

/* https://gist.github.com/unruthless/413930 */
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

table {
  /* Correct border color in all Chrome, Edge, and Safari. */
  text-indent: 0;
  border-color: inherit;
  /* Remove text indentation in Chrome, Edge, and Safari */
}

iframe {
  border-style: none;
}

/* # =================================================================
     # Forms
     # ================================================================= */
input {
  border-radius: 0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
  /* Correct the cursor style of increment and decrement buttons in Chrome */
}

[type=search] {
  appearance: textfield;
  appearance: none;
  /* Correct the odd appearance in Chrome and Safari */
  outline-offset: -2px;
  /* Correct the outline style in Safari */
}

[type=search]::-webkit-search-decoration {
  appearance: none;
  /* Remove the inner padding in Chrome and Safari on macOS */
}

textarea {
  overflow: auto;
  resize: vertical;
}

button,
input,
optgroup,
select,
textarea {
  font: inherit;
  /* Specify font inheritance of form elements */
}

optgroup {
  font-weight: bold;
  /* Restore the font weight unset by the previous rule */
}

button {
  overflow: visible;
  /* Address `overflow` set to `hidden` in IE 8/9/10/11 */
}

button,
select {
  text-transform: none;
  /* Firefox 40+, Internet Explorer 11- */
}

/* Apply cursor pointer to button elements */
button,
[type=button],
[type=reset],
[type=submit],
[role=button] {
  cursor: pointer;
}

/* Remove inner padding and border in Firefox 4+ */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  padding: 0;
  border-style: none;
}

/* Replace focus style removed in the border reset above */
button:-moz-focusring,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  outline: 1px dotted ButtonText;
}

button,
html [type=button],
[type=reset],
[type=submit] {
  appearance: button;
  /* Correct the inability to style clickable types in iOS */
}

button,
input,
select,
textarea {
  appearance: none;
  background-color: transparent;
  border-style: none;
}

a:focus,
button:focus,
input:focus,
select:focus,
textarea:focus {
  outline-width: 0;
}

/* Style select like a standard input */
select {
  appearance: none;
}

select::-ms-expand {
  display: none;
  /* Internet Explorer 11+ */
}

select::-ms-value {
  color: currentcolor;
  /* Internet Explorer 11+ */
}

legend {
  /* Correct the color inheritance from `fieldset` elements in IE */
  display: table;
  /* Correct the text wrapping in Edge and IE */
  /* Correct the text wrapping in Edge and IE */
  max-width: 100%;
  /* Correct `color` not being inherited in IE 8/9/10/11 */
  color: inherit;
  /* Correct the text wrapping in Edge and IE */
  white-space: normal;
  border: 0;
  /* Correct the text wrapping in Edge 18- and IE */
}

::-webkit-file-upload-button {
  font: inherit;
  color: inherit;
  /* Correct the inability to style clickable types in iOS and Safari */
  appearance: button;
  /* Change font properties to `inherit` in Chrome and Safari */
}

/* Replace pointer cursor in disabled elements */
[disabled] {
  cursor: default;
}

/* # =================================================================
     # Specify media element style
     # ================================================================= */
img {
  border-style: none;
  /* Remove border when inside `a` element in IE 8/9/10 */
}

/* Add the correct vertical alignment in Chrome, Firefox, and Opera */
progress {
  vertical-align: baseline;
}

/* # =================================================================
     # Accessibility
     # ================================================================= */
/* Specify the progress cursor of updating elements */
[aria-busy=true] {
  cursor: progress;
}

/* Specify the pointer cursor of trigger elements */
[aria-controls] {
  cursor: pointer;
}

/* Specify the unstyled cursor of disabled, not-editable, or otherwise inoperable elements */
[aria-disabled=true] {
  cursor: default;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
  list-style: "";
}

a {
  color: inherit;
  text-decoration: none;
  transition: opacity 0.3s;
}

.l-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
  width: 100%;
}

body:has(.p-kv) .l-header {
  animation: fv-header-in 0.8s var(--ease-out) 1s backwards;
}

@keyframes fv-header-in {
  0% {
    opacity: 0;
    transform: translateY(-100%);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (prefers-reduced-motion: reduce) {
  body:has(.p-kv) .l-header {
    animation: none;
  }
}
.l-inner {
  width: min(1360 * var(--to-rem), 100% - var(--space-96) * 2);
  margin-inline: auto;
}
@media (width <= 1280px) {
  .l-inner {
    width: min(1360 * var(--to-rem), 100% - var(--space-64) * 2);
  }
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: auto;
    padding-inline: var(--space-20);
  }
}

.l-inner--narrow {
  width: min(1200 * var(--to-rem), 100% - var(--space-96) * 2);
  margin-inline: auto;
}
@media (width <= 1280px) {
  .l-inner--narrow {
    width: min(1200 * var(--to-rem), 100% - var(--space-64) * 2);
  }
}
@media screen and (max-width: 767px) {
  .l-inner--narrow {
    width: auto;
    padding-inline: var(--space-20);
  }
}

.l-lower {
  margin-block-start: calc(90 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .l-lower {
    margin-block-start: calc(73 * var(--to-rem));
  }
}

.l-top {
  margin-block-start: 0;
}

.c-breadcrumb {
  width: 100%;
  margin-left: calc(-56 * var(--to-rem));
}
@media (width <= 1280px) {
  .c-breadcrumb {
    margin-left: calc(-24 * var(--to-rem));
  }
}
@media screen and (max-width: 767px) {
  .c-breadcrumb {
    margin-left: 0;
  }
}

.c-button {
  position: relative;
  display: inline-flex;
  gap: var(--space-20);
  align-items: center;
  justify-content: space-between;
  min-width: calc(168 * var(--to-rem));
  padding-block: var(--space-12);
  padding-right: var(--space-16);
  padding-left: var(--space-24);
  overflow: hidden;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  text-decoration: none;
  letter-spacing: -0.02em;
  white-space: nowrap;
  border-radius: var(--radius-full);
  transition: color var(--duration) var(--ease-out);
}
.c-button::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  transition: transform var(--duration) var(--ease-out);
  transform: scaleX(0);
  transform-origin: left center;
}

.c-button__label,
.c-button__icon,
.c-button__badge {
  position: relative;
  z-index: 1;
}

.c-button__label {
  flex: 1 0 auto;
  text-align: left;
}

.c-button__icon {
  display: inline-flex;
  flex-shrink: 0;
  width: calc(16 * var(--to-rem));
  height: calc(16 * var(--to-rem));
}

.c-button__icon svg {
  width: 100%;
  height: 100%;
}

.c-button--primary {
  color: var(--color-text-light);
  background-color: var(--color-btn-primary);
}
.c-button--primary::before {
  background-color: var(--color-btn-primary-hover);
}

.c-button--light {
  color: var(--color-text-high);
  background-color: var(--color-btn-light);
}
.c-button--light::before {
  background-color: var(--color-btn-light-hover);
}

.c-button--outline {
  color: var(--color-text-high);
  background-color: transparent;
  border: 1px solid var(--color-border-middle);
}
.c-button--outline::before {
  background-color: var(--color-btn-light-hover);
}

.c-button--s {
  gap: var(--space-20);
  min-width: calc(212 * var(--to-rem));
  height: calc(38 * var(--to-rem));
  padding-block: var(--space-12);
  padding-right: var(--space-16);
  padding-left: var(--space-24);
  font-size: calc(14 * var(--to-rem));
}

.c-button--sm {
  gap: var(--space-8);
  min-width: 0;
  padding-block: var(--space-12);
  padding-inline: var(--space-16);
  font-size: calc(14 * var(--to-rem));
  letter-spacing: -0.01em;
}

.c-button--lg {
  gap: var(--space-32);
  min-width: calc(200 * var(--to-rem));
  padding-block: var(--space-20);
  padding-right: var(--space-20);
  padding-left: var(--space-32);
}

.c-button--advisory {
  gap: var(--space-40);
  min-width: calc(168 * var(--to-rem));
  padding-right: var(--space-16);
  color: var(--color-text-light);
  background-color: var(--color-btn-primary);
}
.c-button--advisory::before {
  background-color: var(--color-btn-primary-hover);
}

.c-button__main {
  position: relative;
  z-index: 1;
  display: inline-flex;
  gap: var(--space-8);
  align-items: center;
}

.c-button__badge {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  min-width: calc(40 * var(--to-rem));
  padding-block: var(--space-4);
  padding-inline: var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  letter-spacing: 0.02em;
  border: 1px solid currentColor;
}

@media (any-hover: hover) {
  .c-button:hover::before {
    transform: scaleX(1);
  }
}
@media screen and (max-width: 767px) {
  .c-button:not(.c-button--sm, .c-button--lg, .c-button--advisory) {
    gap: var(--space-20);
    min-width: calc(152 * var(--to-rem));
    padding-block: var(--space-12);
    padding-right: var(--space-16);
    padding-left: var(--space-24);
    font-size: calc(14 * var(--to-rem));
    letter-spacing: -0.02em;
  }
  .c-button:not(.c-button--sm, .c-button--lg, .c-button--advisory) .c-button__icon {
    width: calc(14 * var(--to-rem));
    height: calc(14 * var(--to-rem));
  }
  .c-button--lg {
    gap: var(--space-32);
    min-width: calc(295 * var(--to-rem));
    padding-block: var(--space-20);
    padding-right: var(--space-20);
    padding-left: var(--space-32);
    font-size: calc(16 * var(--to-rem));
    letter-spacing: -0.02em;
  }
  .c-button--lg-w211 {
    width: calc(211 * var(--to-rem));
    min-width: 0;
  }
}
.p-adviser {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-adviser {
    padding-block: var(--space-64);
  }
}

.p-adviser__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-adviser__inner {
    gap: var(--space-40);
  }
}

.p-adviser__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-adviser__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.06em;
}

.p-adviser__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-adviser__title {
    font-size: calc(32 * var(--to-rem));
  }
}

.p-adviser__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-20);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-adviser__grid {
    grid-template-columns: 1fr;
  }
}

.p-advisorCard {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding-bottom: var(--space-16);
  overflow: hidden;
  background: var(--color-panel);
  backdrop-filter: blur(20px);
  transition: box-shadow 0.3s ease;
}

.p-advisorCard:hover {
  box-shadow: var(--shadow-card-strong);
}

.p-advisorCard__photo {
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
}

.p-advisorCard__photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.3s ease;
}

.p-advisorCard:hover .p-advisorCard__photo img {
  transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
  .p-advisorCard,
  .p-advisorCard__photo img {
    transition: none;
  }
  .p-advisorCard:hover .p-advisorCard__photo img {
    transform: none;
  }
}
.p-advisorCard__name {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.p-advisorCard__nameJp {
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-advisorCard__nameEn {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-advisor {
  position: relative;
  padding-block: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-advisor {
    padding-block: var(--space-64);
  }
}

@media screen and (max-width: 767px) {
  .p-advisor::before {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    width: 100%;
    height: calc(1120 * var(--to-rem));
    pointer-events: none;
    content: "";
    background-image: url(../img/advisor-bg-sp.png);
    background-image: image-set(url(../img/advisor-bg-sp.webp) type("image/webp"), url(../img/advisor-bg-sp.png) type("image/png"));
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% 100%;
  }
}

.p-advisor__inner {
  display: flex;
  flex-direction: column;
  gap: calc(56 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-advisor__inner {
    gap: var(--space-48);
  }
}

.p-advisor__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-advisor__header {
    gap: var(--space-48);
  }
}

.p-advisor__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-advisor__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-advisor__title {
  margin-bottom: calc(52 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(52 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-advisor__title {
    margin-bottom: 0;
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-advisor__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-advisor__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-advisor__cards {
  display: flex;
  gap: var(--space-20);
  align-items: stretch;
  border-radius: calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-advisor__cards {
    flex-direction: column;
  }
}

.p-advisor__card {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-40);
  background-color: var(--color-panel);
  backdrop-filter: blur(20px);
}
@media screen and (max-width: 767px) {
  .p-advisor__card {
    gap: var(--space-24);
    padding: var(--space-32) var(--space-24);
    border-radius: calc(8 * var(--to-rem));
  }
}

.p-advisor__prof {
  display: flex;
  gap: var(--space-24);
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-advisor__prof {
    flex-direction: column;
    gap: var(--space-12);
  }
}

.p-advisor__photo {
  flex-shrink: 0;
  width: calc(164 * var(--to-rem));
  height: calc(164 * var(--to-rem));
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-advisor__photo {
    width: calc(210 * var(--to-rem));
    max-width: 100%;
    height: auto;
    aspect-ratio: 1;
  }
}

.p-advisor__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-advisor__meta {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-12);
}
@media screen and (max-width: 767px) {
  .p-advisor__meta {
    align-items: center;
    text-align: center;
  }
}

.p-advisor__name {
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 767px) {
  .p-advisor__name {
    gap: calc(2 * var(--to-rem));
    align-items: center;
  }
}

.p-advisor__nameJp {
  font-family: var(--font-jp);
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-advisor__nameJp {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-advisor__nameEn {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-low);
}
@media screen and (max-width: 767px) {
  .p-advisor__nameEn {
    line-height: 1.4;
    letter-spacing: 0.05em;
  }
}

.p-advisor__org {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
}
@media screen and (max-width: 767px) {
  .p-advisor__org {
    font-size: calc(12 * var(--to-rem));
    color: var(--color-text-high);
  }
}

.p-advisor__bio {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-book {
  position: relative;
  padding-block: calc(64 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-book {
    padding-block: var(--space-32);
  }
}

.p-book::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(2457 * var(--to-rem));
  pointer-events: none;
  content: "";
  background-image: url(../img/book-bg.png);
  background-image: image-set(url(../img/book-bg.webp) type("image/webp"), url(../img/book-bg.png) type("image/png"));
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .p-book::before {
    display: none;
  }
}

.p-book__panel {
  display: flex;
  gap: calc(64 * var(--to-rem));
  align-items: center;
  justify-content: center;
  padding-left: calc(80 * var(--to-rem));
  background-color: var(--color-panel);
}
@media screen and (max-width: 767px) {
  .p-book__panel {
    flex-direction: column;
    gap: var(--space-24);
    align-items: stretch;
    padding: var(--space-40) var(--space-24);
  }
}

.p-book__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-40);
}
@media screen and (max-width: 767px) {
  .p-book__body {
    display: contents;
  }
}

.p-book__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-book__hdg {
    order: 1;
  }
}

.p-book__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-book__title {
  font-family: var(--font-jp);
  font-size: calc(52 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-book__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-book__details {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}
@media screen and (max-width: 767px) {
  .p-book__details {
    order: 3;
  }
}

.p-book__details .c-button {
  align-self: flex-start;
}

.p-book__leadText {
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-book__leadText {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-book__text {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-book__figure {
  flex-shrink: 0;
  width: calc(437 * var(--to-rem));
  height: calc(507 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-book__figure {
    order: 2;
    width: 94.4%;
    height: auto;
    aspect-ratio: 437/507;
    margin-inline: auto;
  }
}

.p-book__figure img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-capabilities {
  position: relative;
  padding-block: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-capabilities {
    padding-block: var(--space-64);
  }
}

@media screen and (max-width: 767px) {
  .p-capabilities::before {
    position: absolute;
    top: calc(-300 * var(--to-rem));
    left: 0;
    z-index: -1;
    width: 100%;
    height: calc(861 * var(--to-rem));
    pointer-events: none;
    content: "";
    background-image: url(../img/capabilities-bg-sp.png);
    background-image: image-set(url(../img/capabilities-bg-sp.webp) type("image/webp"), url(../img/capabilities-bg-sp.png) type("image/png"));
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% 100%;
  }
}

.p-capabilities__inner {
  display: flex;
  flex-direction: column;
  gap: calc(56 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-capabilities__inner {
    gap: var(--space-48);
  }
}

.p-capabilities__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.p-capabilities__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-capabilities__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-capabilities__title {
  font-family: var(--font-jp);
  font-size: calc(52 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-capabilities__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
  }
}

.p-capabilities__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-capabilities__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

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

.p-capabilities__item {
  display: flex;
  gap: calc(32 * var(--to-rem));
  align-items: center;
  padding-block: var(--space-40);
  border-top: 1px solid var(--color-border-low);
}
@media screen and (max-width: 767px) {
  .p-capabilities__item {
    flex-direction: column;
    gap: var(--space-16);
    align-items: stretch;
    padding-block: var(--space-32);
  }
}

.p-capabilities__item:last-child {
  border-bottom: 1px solid var(--color-border-low);
}

.p-capabilities__info {
  display: flex;
  flex-shrink: 0;
  gap: var(--space-16);
  align-items: center;
  width: calc(420 * var(--to-rem));
  padding-left: var(--space-24);
}
@media screen and (max-width: 767px) {
  .p-capabilities__info {
    gap: var(--space-8);
    width: 100%;
    padding-left: 0;
  }
}

.p-capabilities__icon {
  flex-shrink: 0;
  width: calc(56 * var(--to-rem));
  height: calc(56 * var(--to-rem));
}

.p-capabilities__icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-capabilities__name {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-capabilities__desc {
  flex: 1;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-capabilities__desc {
    flex: none;
    font-size: calc(14 * var(--to-rem));
  }
}

.p-careers {
  position: relative;
  padding-block: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-careers {
    z-index: 1;
    padding-block: var(--space-64);
  }
}

.p-careers::before {
  position: absolute;
  top: calc(200 * var(--to-rem));
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(1340 * var(--to-rem));
  pointer-events: none;
  content: "";
  background-image: url(../img/careers-bg.png);
  background-image: image-set(url(../img/careers-bg.webp) type("image/webp"), url(../img/careers-bg.png) type("image/png"));
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .p-careers::before {
    display: none;
  }
}

.p-careers__inner {
  display: flex;
  gap: calc(80 * var(--to-rem));
  align-items: center;
  --careers-edge: calc((100vw - 100%) / 2);
}
@media screen and (max-width: 767px) {
  .p-careers__inner {
    flex-direction: column;
    gap: var(--space-48);
    align-items: stretch;
  }
}

.p-careers__img {
  flex-shrink: 0;
  width: calc(570 * var(--to-rem));
  height: calc(670 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-panel);
}
@media screen and (width >= 768px) {
  .p-careers__img {
    margin-left: calc(-1 * var(--careers-edge));
  }
}
@media screen and (max-width: 767px) {
  .p-careers__img {
    order: 2;
    width: auto;
    max-width: none;
    height: auto;
    aspect-ratio: 375/438.816;
    margin-inline: calc(-1 * var(--space-20));
  }
}

.p-careers__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 38% 73%;
}

.p-careers__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-40);
}
@media screen and (max-width: 767px) {
  .p-careers__body {
    gap: var(--space-48);
    order: 1;
  }
}

.p-careers__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-careers__hdg {
    gap: var(--space-8);
  }
}

.p-careers__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-careers__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.04em;
}
@media screen and (max-width: 767px) {
  .p-careers__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-careers__lead {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-careers__textBtn {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.p-careers__textBtn .c-button {
  align-self: flex-start;
}

.p-careers__text {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-caseHero {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-caseHero {
    padding-top: var(--space-32);
    padding-bottom: var(--space-80);
  }
}

.p-caseHero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-caseHero__inner {
    gap: var(--space-56);
  }
}

.p-caseHero__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-caseHero__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-caseHero__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-caseHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-caseHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-caseHero__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  align-items: flex-start;
}

.p-caseHero__title {
  font-family: var(--font-jp);
  font-size: calc(58 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-caseHero__title {
    font-size: calc(36 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-caseHero__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-caseHero__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-caseList {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-caseList {
    padding-block: var(--space-64);
  }
}

.p-caseList__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-caseList__inner {
    gap: var(--space-40);
  }
}

.p-caseList__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: var(--space-32);
  column-gap: var(--space-20);
}
@media screen and (max-width: 1023px) {
  .p-caseList__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .p-caseList__grid {
    grid-template-columns: 1fr;
    gap: var(--space-24);
    max-width: calc(500 * var(--to-rem));
    margin-inline: auto;
  }
}

.p-caseList__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
  transition: background-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);
}

@media (any-hover: hover) {
  .p-caseList__card:hover {
    background-color: var(--color-white);
    box-shadow: var(--shadow-card-strong);
  }
}
.p-caseList__img {
  width: 100%;
  aspect-ratio: 403/269;
  overflow: hidden;
}

.p-caseList__img img {
  width: 100%;
  height: 100%;
  pointer-events: none;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease-out);
  transform-origin: center center;
  will-change: transform;
}

@media (any-hover: hover) {
  .p-caseList__card:hover .p-caseList__img img {
    transform: scale(1.05);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-caseList__card,
  .p-caseList__img img {
    transition: none;
  }
  .p-caseList__card:hover .p-caseList__img img {
    transform: none;
  }
}
.p-caseList__cardBody {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-16);
  padding-block: var(--space-24);
  padding-inline: var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-caseList__cardBody {
    padding-inline: var(--space-24);
  }
}

.p-caseList__cardText {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-12);
}

.p-caseList__cardCompany {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: 0.01em;
}

.p-caseList__cardTitle {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.5;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-caseList__cardTitle {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-caseList__cardDesc {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: 0.01em;
}

.p-caseList__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.p-caseList__tag {
  display: inline-flex;
  align-items: center;
  padding-block: var(--space-4);
  padding-inline: var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.5;
  color: var(--color-text-high);
  letter-spacing: -0.01em;
  background-color: var(--color-surface-subtle);
}

/* =========================================
   PROJECTS（おすすめの事例・関連事例カードグリッド）
   Figma: padding-block 96px / 見出し45px / カード3列 gap20
   ========================================= */
.p-caseProjects {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-caseProjects {
    padding-block: var(--space-64);
  }
}

.p-caseProjects__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-caseProjects__inner {
    gap: var(--space-40);
  }
}

.p-caseProjects__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-caseProjects__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.06em;
}

.p-caseProjects__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-caseProjects__title {
    font-size: calc(32 * var(--to-rem));
  }
}

.p-caseProjects__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-20);
}
@media screen and (max-width: 1023px) {
  .p-caseProjects__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media screen and (max-width: 767px) {
  .p-caseProjects__grid {
    grid-template-columns: minmax(0, 1fr);
    max-width: calc(500 * var(--to-rem));
    margin-inline: auto;
  }
}

.p-caseProjects__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
  transition: transform var(--duration) var(--ease-out), box-shadow var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-caseProjects__card:hover {
    box-shadow: var(--shadow-card-strong);
    transform: translateY(calc(-4 * var(--to-rem)));
  }
}
.p-caseProjects__link {
  display: flex;
  flex: 1;
  flex-direction: column;
  text-decoration: none;
}

.p-caseProjects__thumb {
  width: 100%;
  aspect-ratio: 2048/1365;
  overflow: hidden;
}

.p-caseProjects__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease-out);
}

@media (any-hover: hover) {
  .p-caseProjects__card:hover .p-caseProjects__thumb img {
    transform: scale(1.04);
  }
}
.p-caseProjects__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-24);
  justify-content: space-between;
  padding-block: var(--space-24);
  padding-inline: var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-caseProjects__body {
    padding-inline: var(--space-24);
  }
}

.p-caseProjects__textGroup {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.p-caseProjects__company {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: 0.01em;
}

.p-caseProjects__cardTitle {
  display: -webkit-box;
  overflow: hidden;
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.01em;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.p-caseProjects__desc {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: 0.01em;
}

.p-caseProjects__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
}

.p-caseProjects__tag {
  display: inline-flex;
  align-items: center;
  padding-block: var(--space-4);
  padding-inline: var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.5;
  color: var(--color-text-high);
  letter-spacing: -0.01em;
  background-color: var(--color-surface-subtle);
}

/* =========================================
   breadcrumbs（全幅 + FV背景）
   ========================================= */
.p-caseSingleBreadcrumb {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-caseSingleBreadcrumb {
    padding-top: var(--space-16);
    padding-bottom: var(--space-32);
  }
}

.p-caseSingleBreadcrumb__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .p-caseSingleBreadcrumb__crumb {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-caseSingleBreadcrumb__crumb--current {
  color: var(--color-text-low);
}

.p-caseSingleBreadcrumb__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-caseSingleBreadcrumb__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-caseSingleBreadcrumb__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-caseSingleBreadcrumb__sep svg {
  width: 100%;
  height: 100%;
}

/* =========================================
   2カラムコンテナ（左 本文904 / 右 サイドバー240）
   ========================================= */
.p-caseSingle__container {
  display: flex;
  gap: calc(56 * var(--to-rem));
  align-items: flex-start;
  justify-content: center;
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 1023px) {
  .p-caseSingle__container {
    gap: var(--space-40);
  }
}
@media screen and (max-width: 767px) {
  .p-caseSingle__container {
    flex-direction: column;
    padding-bottom: var(--space-64);
  }
}

.p-caseSingle__main {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-56);
  min-width: 0;
  max-width: calc(904 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-caseSingle__main {
    gap: var(--space-40);
    max-width: 100%;
  }
}

/* =========================================
   記事ヘッダー
   ========================================= */
.p-caseSingleHero {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
}
@media screen and (max-width: 767px) {
  .p-caseSingleHero {
    gap: var(--space-24);
  }
}

.p-caseSingleHero__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.p-caseSingleHero__title {
  font-family: var(--font-jp);
  font-size: calc(36 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.5;
  color: var(--color-text-high);
}
@media screen and (max-width: 767px) {
  .p-caseSingleHero__title {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-caseSingleHero__meta {
  display: flex;
  gap: var(--space-16);
  align-items: center;
  justify-content: space-between;
}

.p-caseSingleHero__cat {
  display: inline-flex;
  align-items: center;
  padding-block: var(--space-4);
  padding-inline: var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  background-color: var(--color-surface-light);
}

.p-caseSingleHero__date {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-caseSingleHero__date {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-caseSingleHero__visual {
  width: 100%;
  aspect-ratio: 2048/1365;
  overflow: hidden;
}

.p-caseSingleHero__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-caseSingleHero__summary {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  padding: var(--space-40);
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
}
@media screen and (max-width: 767px) {
  .p-caseSingleHero__summary {
    gap: var(--space-24);
    padding: var(--space-24);
  }
}

.p-caseSingleHero__summaryHead {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-caseSingleHero__summaryLabel {
  font-family: var(--font-en);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
}
@media screen and (max-width: 767px) {
  .p-caseSingleHero__summaryLabel {
    font-size: calc(20 * var(--to-rem));
  }
}

.p-caseSingleHero__summaryLine {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-border-middle);
}
.p-caseSingleHero__summaryLine::after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: calc(44 * var(--to-rem));
  height: calc(2 * var(--to-rem));
  content: "";
  background: var(--color-border-high);
  translate: 0 -50%;
}

.p-caseSingleHero__summaryBody {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.p-caseSingleHero__summaryText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-caseSingleHero__summaryText {
    font-size: calc(14 * var(--to-rem));
  }
}

/* =========================================
   本文（Gutenberg = the_content 出力に要素セレクタで適用）
   ========================================= */
.p-caseSingleBody h2 {
  padding-inline: var(--space-16);
  margin-top: var(--space-96);
  margin-bottom: var(--space-40);
  font-family: var(--font-jp);
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  border-left: calc(3 * var(--to-rem)) solid var(--color-text-high);
}
@media screen and (max-width: 767px) {
  .p-caseSingleBody h2 {
    margin-top: var(--space-56);
    margin-bottom: var(--space-24);
    font-size: calc(24 * var(--to-rem));
  }
}

.p-caseSingleBody p {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-caseSingleBody p {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-caseSingleBody p + p {
  margin-top: var(--space-24);
}

.p-caseSingleBody__speaker {
  margin-top: var(--space-24);
  font-weight: var(--fw-medium) !important;
  line-height: 1.7;
}

.p-caseSingleBody__speaker::before {
  display: inline-block;
  width: calc(32 * var(--to-rem));
  height: 1px;
  margin-right: var(--space-8);
  vertical-align: middle;
  content: "";
  background-color: var(--color-text-high);
}

.p-caseSingleBody figcaption {
  margin-top: var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
}

.p-caseSingleBody::after {
  display: table;
  clear: both;
  content: "";
}
.p-caseSingleBody img {
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: unset;
}
.p-caseSingleBody figure {
  margin-block: calc(30 * var(--to-rem));
  text-align: center;
}
.p-caseSingleBody figure img {
  display: inline-block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(500 * var(--to-rem));
  object-fit: unset;
  aspect-ratio: auto;
}
.p-caseSingleBody .fleft_content {
  float: left;
  max-width: calc(280 * var(--to-rem));
  margin: 0 calc(15 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-caseSingleBody .fleft_content {
    display: block;
    float: none;
    max-width: 100%;
    margin: 0 0 calc(30 * var(--to-rem));
    text-align: center;
  }
}
.p-caseSingleBody .fright_content {
  float: right;
  max-width: 50%;
  margin: 0 0 calc(15 * var(--to-rem)) calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-caseSingleBody .fright_content {
    display: block;
    float: none;
    max-width: 100%;
    margin: 0 0 calc(30 * var(--to-rem));
    text-align: center;
  }
}
.p-caseSingleBody .fleft_content span,
.p-caseSingleBody .fright_content span {
  display: block;
  font-size: calc(18 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-caseSingleBody .fleft_content span,
  .p-caseSingleBody .fright_content span {
    clear: both;
  }
}
.p-caseSingleBody .alignleft {
  float: left;
  margin: 0 calc(15 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
}
.p-caseSingleBody .alignright {
  float: right;
  margin: 0 0 calc(15 * var(--to-rem)) calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-caseSingleBody .alignleft,
  .p-caseSingleBody .alignright {
    display: block;
    float: none;
    margin: 0 0 calc(30 * var(--to-rem));
  }
}
.p-caseSingleBody .tcenter {
  text-align: center !important;
}
.p-caseSingleBody .mb-40 {
  margin-bottom: calc(40 * var(--to-rem)) !important;
}
.p-caseSingleBody .mb-20 {
  margin-bottom: calc(20 * var(--to-rem)) !important;
}
.p-caseSingleBody .clearfix::after {
  display: table;
  clear: both;
  content: "";
}
.p-caseSingleBody .fleftimg {
  float: left;
  padding: 0 calc(25 * var(--to-rem)) calc(25 * var(--to-rem)) 0;
  margin: 0 calc(15 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-caseSingleBody .fleftimg {
    display: block;
    float: none;
    max-width: 100%;
    padding: 0;
    margin: 0 auto calc(25 * var(--to-rem)) !important;
    text-align: center;
  }
}
.p-caseSingleBody .frightimg {
  float: right;
  width: 50%;
  padding: 0 0 calc(25 * var(--to-rem)) calc(25 * var(--to-rem));
  margin: 0 0 calc(50 * var(--to-rem)) 0;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-caseSingleBody .frightimg {
    display: block;
    float: none;
    width: auto;
    max-width: 100%;
    padding: 0;
    margin: 0 auto calc(25 * var(--to-rem)) !important;
    text-align: center;
  }
}
.p-caseSingleBody .headline {
  margin-block: calc(50 * var(--to-rem)) calc(15 * var(--to-rem));
  font-weight: var(--fw-bold);
  text-align: center;
}
.p-caseSingleBody .btn {
  margin-block: 0 calc(50 * var(--to-rem));
  text-align: center;
}
.p-caseSingleBody .mobility__btn--download {
  position: relative;
  display: inline-flex;
  gap: var(--space-20);
  align-items: center;
  justify-content: space-between;
  min-width: calc(168 * var(--to-rem));
  max-width: 100%;
  padding-block: var(--space-12);
  padding-right: var(--space-16);
  padding-left: var(--space-24);
  overflow: hidden;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-high) !important;
  text-decoration: none;
  letter-spacing: -0.02em;
  white-space: nowrap;
  background-color: var(--color-btn-light);
  border: none;
  border-radius: var(--radius-full);
  transition: color var(--duration) var(--ease-out);
}
.p-caseSingleBody .mobility__btn--download::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background-color: var(--color-btn-light-hover);
  transition: transform var(--duration) var(--ease-out);
  transform: scaleX(0);
  transform-origin: left center;
}
.p-caseSingleBody .mobility__btn--download::after {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: calc(16 * var(--to-rem));
  height: calc(16 * var(--to-rem));
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M7.33856 12.7582L9.62156 8.67976H1.33856V7.32062H9.62156L7.33856 3.24219L14.6716 7.99968L7.33856 12.7582Z' fill='%23000'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.p-caseSingleBody .mobility__btn--download span {
  position: relative;
  z-index: 1;
  display: inline;
  padding: 0;
}
.p-caseSingleBody .mobility__btn--download span::before {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-caseSingleBody .mobility__btn--download {
    min-width: calc(152 * var(--to-rem));
    font-size: calc(14 * var(--to-rem));
  }
}
@media (any-hover: hover) {
  .p-caseSingleBody .mobility__btn--download:hover::before {
    transform: scaleX(1);
  }
}
.p-caseSingleBody table {
  width: 100%;
  margin-block: calc(30 * var(--to-rem));
  border-collapse: collapse;
  border-top: 1px solid var(--color-border-low);
  border-left: 1px solid var(--color-border-low);
}
.p-caseSingleBody table th {
  width: 33%;
  padding: calc(15 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  color: var(--color-text-high);
  background-color: #f5f5f5;
  border-right: calc(1 * var(--to-rem)) solid var(--color-border-low);
  border-bottom: calc(1 * var(--to-rem)) solid var(--color-border-low);
}
.p-caseSingleBody table td {
  padding: calc(15 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  border-right: calc(1 * var(--to-rem)) solid var(--color-border-low);
  border-bottom: calc(1 * var(--to-rem)) solid var(--color-border-low);
}
.p-caseSingleBody table caption {
  padding-bottom: calc(12 * var(--to-rem));
  font-size: calc(15 * var(--to-rem));
  color: #707070;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-caseSingleBody table:not(.horizontal) {
    display: block;
    border-top: none;
    border-left: none;
  }
  .p-caseSingleBody table:not(.horizontal) tbody {
    display: block;
  }
  .p-caseSingleBody table:not(.horizontal) tr {
    display: block;
    width: 100%;
    border-left: calc(1 * var(--to-rem)) solid var(--color-border-low);
  }
  .p-caseSingleBody table:not(.horizontal) tr:first-child {
    border-top: calc(1 * var(--to-rem)) solid var(--color-border-low);
  }
  .p-caseSingleBody table:not(.horizontal) th {
    display: block;
    width: 100%;
    text-align: left;
  }
  .p-caseSingleBody table:not(.horizontal) td {
    display: block;
    width: 100%;
    text-align: left;
  }
  .p-caseSingleBody table:not(.horizontal) caption {
    display: block;
  }
}
.p-caseSingleBody h3 {
  position: relative;
  padding: 0;
  padding-bottom: calc(var(--space-20) + 1px);
  margin-block: var(--space-40) var(--space-16);
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  background: none;
  border: none;
}
@media screen and (max-width: 767px) {
  .p-caseSingleBody h3 {
    font-size: calc(20 * var(--to-rem));
  }
}
.p-caseSingleBody h3::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  content: "";
  background-color: var(--color-border-low);
}
.p-caseSingleBody h3::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: calc(44 * var(--to-rem));
  height: 2px;
  content: "";
  background-color: var(--color-border-high);
}
.p-caseSingleBody h3:first-child {
  margin-block-start: 0;
}

/* =========================================
   右サイドバー
   ========================================= */
.p-caseSingleSidebar {
  position: sticky;
  top: calc(var(--header-height) + var(--space-40));
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: var(--space-40);
  width: calc(240 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-caseSingleSidebar {
    position: static;
    width: 100%;
    max-width: calc(400 * var(--to-rem));
    margin-inline: auto;
  }
}

.p-caseSingleSidebar__buttons {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.p-caseSingleSidebar__buttons .c-button {
  width: 100%;
  padding-block: var(--space-20);
}

.p-caseSingleSidebar__sns {
  display: flex;
  gap: var(--space-16);
  align-items: center;
  justify-content: center;
}

.p-caseSingleSidebar__snsLink {
  display: inline-flex;
  width: calc(40 * var(--to-rem));
  height: calc(40 * var(--to-rem));
  overflow: hidden;
  border-radius: 100%;
  transition: opacity var(--duration) var(--ease-out);
}

.p-caseSingleSidebar__snsLink img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (any-hover: hover) {
  .p-caseSingleSidebar__snsLink:hover {
    opacity: 0.7;
  }
}
.p-companyHero {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-companyHero {
    padding-top: var(--space-32);
    padding-bottom: var(--space-80);
  }
}

.p-companyHero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-companyHero__inner {
    gap: calc(52 * var(--to-rem));
  }
}

.p-companyHero__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-companyHero__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-companyHero__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-companyHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-companyHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-companyHero__title {
  font-family: var(--font-jp);
  font-size: calc(58 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-companyHero__title {
    font-size: calc(36 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-companyOverview {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-companyOverview {
    padding-block: var(--space-64);
  }
}

.p-companyOverview__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  padding: var(--space-56);
  background: var(--color-panel);
  backdrop-filter: blur(15px);
}
@media screen and (max-width: 767px) {
  .p-companyOverview__card {
    gap: var(--space-24);
    padding-block: var(--space-32);
    padding-inline: var(--space-24);
  }
}

.p-companyOverview__row {
  display: flex;
  gap: var(--space-96);
  align-items: flex-start;
  padding-bottom: var(--space-32);
  border-bottom: 1px solid var(--color-border-low);
}
@media screen and (max-width: 767px) {
  .p-companyOverview__row {
    flex-direction: column;
    gap: var(--space-8);
    padding-bottom: var(--space-24);
  }
}

.p-companyOverview__label {
  flex-shrink: 0;
  width: calc(79 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-companyOverview__value {
  flex: 1;
  min-width: 0;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-companyOverview__value {
    line-height: 1.7;
  }
}

.p-companyOverview__map {
  width: 100%;
  aspect-ratio: 961/320;
  margin-block-start: var(--space-20);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-companyOverview__map {
    aspect-ratio: 287/160;
    margin-block-start: var(--space-8);
  }
}

.p-companyOverview__map iframe,
.p-companyOverview__map img {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.p-companyOverview__map img {
  object-fit: cover;
}

.p-consultantHero {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-consultantHero {
    padding-top: var(--space-32);
    padding-bottom: var(--space-80);
  }
}

.p-consultantHero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-consultantHero__inner {
    gap: var(--space-56);
  }
}

.p-consultantHero__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-consultantHero__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-consultantHero__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-consultantHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-consultantHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-consultantHero__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  align-items: flex-start;
}

.p-consultantHero__title {
  font-family: var(--font-jp);
  font-size: calc(58 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-consultantHero__title {
    font-size: calc(36 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-consultantHero__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-consultantHero__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-consultantProfile {
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-consultantProfile {
    padding-bottom: var(--space-64);
  }
}

.p-consultantProfile__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-consultantProfile__card {
    gap: var(--space-48);
  }
}

.p-consultantProfile__block {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-consultantProfile__block {
    gap: var(--space-24);
  }
}

.p-consultantProfile__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-consultantProfile__heading {
    gap: var(--space-12);
  }
}

.p-consultantProfile__title {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-consultantProfile__line {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  background: var(--color-border-low);
}

.p-consultantProfile__line::before {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(44 * var(--to-rem));
  height: 2px;
  content: "";
  background: var(--color-border-high);
}

.p-consultantProfile__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.p-consultantProfile__item {
  display: flex;
  gap: var(--space-8);
  align-items: flex-start;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-consultantProfile__item::before {
  flex-shrink: 0;
  width: calc(4 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  margin-top: calc(12 * var(--to-rem));
  content: "";
  background: var(--color-text-high);
  border-radius: calc(4 * var(--to-rem));
}

.p-consultantSingleHero {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-consultantSingleHero {
    padding-top: var(--space-32);
    padding-bottom: var(--space-80);
  }
}

.p-consultantSingleHero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-consultantSingleHero__inner {
    gap: calc(52 * var(--to-rem));
  }
}

.p-consultantSingleHero__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-consultantSingleHero__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-consultantSingleHero__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-consultantSingleHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-consultantSingleHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-consultantSingleHero__card {
  display: flex;
  gap: var(--space-48);
  align-items: center;
  overflow: hidden;
  background: var(--color-panel);
  backdrop-filter: blur(20px);
}
@media screen and (max-width: 767px) {
  .p-consultantSingleHero__card {
    flex-direction: column;
    gap: var(--space-24);
    align-items: center;
  }
}

.p-consultantSingleHero__photo {
  flex-shrink: 0;
  width: calc(780 * var(--to-rem));
  height: calc(463 * var(--to-rem));
  overflow: hidden;
}
@media (width <= 1280px) {
  .p-consultantSingleHero__photo {
    width: 55%;
    height: auto;
    aspect-ratio: 780/463;
  }
}
@media screen and (max-width: 767px) {
  .p-consultantSingleHero__photo {
    width: 100%;
    height: auto;
    aspect-ratio: 335/297;
  }
}

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

.p-consultantSingleHero__profile {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-consultantSingleHero__profile {
    gap: var(--space-8);
    align-items: center;
    padding-bottom: var(--space-20);
    text-align: center;
  }
}

.p-consultantSingleHero__nameBlock {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-consultantSingleHero__nameBlock {
    align-items: center;
  }
}

.p-consultantSingleHero__nameJp {
  font-family: var(--font-jp);
  font-size: calc(36 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-consultantSingleHero__nameJp {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-consultantSingleHero__nameEn {
  font-family: var(--font-en);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-middle);
}
@media screen and (max-width: 767px) {
  .p-consultantSingleHero__nameEn {
    font-size: calc(13 * var(--to-rem));
  }
}

.p-consultantSingleHero__role {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-consultantSingleHero__role {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-consultant {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-consultant {
    padding-block: var(--space-64);
  }
}

.p-consultant__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-consultant__inner {
    gap: var(--space-48);
  }
}

.p-consultant__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-consultant__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.06em;
}

.p-consultant__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-consultant__title {
    font-size: calc(34 * var(--to-rem));
  }
}

.p-consultant__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-20);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-consultant__grid {
    grid-template-columns: 1fr;
  }
}

.p-formConfirmList {
  display: grid;
  gap: var(--space-24);
  margin-block-end: var(--space-40);
}
.p-formConfirmList dt {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.6;
  color: var(--color-text-low);
}
.p-formConfirmList dd {
  margin: 0;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
}

.p-consultationForm {
  padding-block: var(--space-96);
  padding-inline: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-consultationForm {
    padding-block: var(--space-64);
  }
}
.p-consultationForm #satori__creative_container,
.p-consultationForm .satori__custom_form,
.p-consultationForm .satori__form_input {
  width: 100%;
}
.p-consultationForm .satori__form_body {
  display: flex;
  flex-direction: column;
}
.p-consultationForm .satori__input_group > label:first-child,
.p-consultationForm .satori__horiz_group .satori__input_group > label:first-child,
.p-consultationForm [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child {
  padding-block-end: var(--space-8);
}
.p-consultationForm .satori__input_group:has(input[type=checkbox]) {
  display: block;
}
.p-consultationForm .satori__horiz_group {
  display: flex;
  gap: var(--space-16);
}
.p-consultationForm .satori__horiz_group .satori__input_group {
  flex: 1;
  min-width: 0;
}
.p-consultationForm label {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: #242426;
  letter-spacing: -0.02em;
}
.p-consultationForm .satori__input_group > label,
.p-consultationForm .satori__horiz_group .satori__input_group > label,
.p-consultationForm [class*=satori__custom_form][class*=_css] .satori__input_group > label {
  color: #242426;
}
.p-consultationForm [class*=satori__custom_form][class*=_css] label:first-child {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
}
.p-consultationForm .satori__require {
  display: inline-flex;
  align-items: center;
  padding: calc(4 * var(--to-rem)) calc(6 * var(--to-rem));
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  white-space: nowrap;
  background-color: var(--color-text-middle);
  border-radius: 0;
}
.p-consultationForm .satori__not_require {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-consultationForm [class*=satori__custom_form][class*=_css] .satori__require,
  .p-consultationForm [class*=satori__custom_form][class*=_css] .satori__not_require {
    margin: 0;
  }
}
.p-consultationForm .satori__system_notes {
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  color: var(--color-text-low);
}
.p-consultationForm input[type=text],
.p-consultationForm input[type=email],
.p-consultationForm input[type=tel],
.p-consultationForm select,
.p-consultationForm textarea {
  width: 100%;
  padding: var(--space-16);
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: #242426;
  letter-spacing: -0.02em;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-consultationForm input::placeholder,
.p-consultationForm textarea::placeholder {
  color: var(--color-text-low);
}
.p-consultationForm input:focus,
.p-consultationForm select:focus,
.p-consultationForm textarea:focus {
  border-color: var(--color-text-middle);
  outline: none;
}
.p-consultationForm textarea {
  min-height: calc(180 * var(--to-rem));
  resize: vertical;
}
.p-consultationForm select {
  padding-right: calc(40 * var(--to-rem));
  appearance: none;
  cursor: pointer;
  background-image: url(../img/icon-dropdown.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-16) center;
  background-size: calc(14 * var(--to-rem)) auto;
}
.p-consultationForm input[type=checkbox] {
  float: left;
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  margin: 0;
  vertical-align: middle;
  accent-color: var(--color-text-middle);
  cursor: pointer;
}
.p-consultationForm input[type=checkbox] + label {
  display: block;
  padding-left: calc(26 * var(--to-rem));
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: calc(18 * var(--to-rem));
  color: #242426;
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-consultationForm .satori__input_group:has(input[type=checkbox]) br {
  clear: both;
}
.p-consultationForm .satori__error_messages {
  display: none;
}
.p-consultationForm .satori__input_group.error .satori__error_messages {
  display: block;
  margin-block-start: calc(2 * var(--to-rem));
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-accent);
  letter-spacing: -0.02em;
}
.p-consultationForm .satori__input_group.error .satori__error_messages span {
  display: block;
}
.p-consultationForm .satori__privacy_policy_agreement_wrapper .satori__input_group.error .satori__error_messages {
  font-size: calc(12 * var(--to-rem));
}
.p-consultationForm .satori__input_group.error input[type=text],
.p-consultationForm .satori__input_group.error input[type=email],
.p-consultationForm .satori__input_group.error input[type=tel],
.p-consultationForm .satori__input_group.error input[type=password],
.p-consultationForm .satori__input_group.error input[type=number],
.p-consultationForm .satori__input_group.error input[type=url],
.p-consultationForm .satori__input_group.error select,
.p-consultationForm .satori__input_group.error textarea {
  border-color: var(--color-accent);
}
.p-consultationForm .satori__input_group.error input[type=checkbox] {
  border-color: var(--color-accent);
}
.p-consultationForm .satori__privacy_policy_agreement_wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  margin-top: 0;
}
.p-consultationForm .satori__message,
.p-consultationForm .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
.p-consultationForm .satori__privacy_policy_message {
  margin: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) calc(5 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-consultationForm .satori__message,
  .p-consultationForm .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
  .p-consultationForm .satori__privacy_policy_message {
    margin: 0 calc(10 * var(--to-rem));
  }
}
.p-consultationForm .satori__privacy_policy_url {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.02em;
}
.p-consultationForm .satori__privacy_policy_url a {
  font-weight: var(--fw-medium);
  color: var(--color-text-middle);
  text-decoration: underline;
}
.p-consultationForm .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  column-gap: var(--space-8);
  align-items: center;
  justify-content: center;
  margin-top: 0;
}
.p-consultationForm .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label {
  flex: 1 1 auto;
  flex-wrap: wrap;
  width: auto;
  min-width: 0;
  max-width: none;
  margin-bottom: 0;
  white-space: normal;
}
.p-consultationForm .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) input[type=checkbox] {
  flex-shrink: 0;
}
.p-consultationForm .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) .satori__error_messages {
  position: absolute;
  top: calc(100% + 2 * var(--to-rem));
  left: 50%;
  width: max-content;
  max-width: 100%;
  margin-block-start: 0;
  text-align: center;
  translate: -50% 0;
}
.p-consultationForm .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label:first-child {
  padding-block-end: 0;
  margin-bottom: 0;
}
.p-consultationForm .satori__privacy_policy_agreement_wrapper label {
  margin-bottom: 0;
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-consultationForm .satori__submit_group {
  margin-top: var(--space-40);
  text-align: center;
}
.p-consultationForm .satori__btn.submit {
  display: inline-flex;
  gap: var(--space-32);
  align-items: center;
  justify-content: space-between;
  width: fit-content;
  min-width: calc(200 * var(--to-rem));
  padding: var(--space-20) var(--space-20) var(--space-20) var(--space-32);
  padding-right: calc(48 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  letter-spacing: -0.02em;
  cursor: pointer;
  background-color: var(--color-btn-primary);
  background-image: url(../img/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-20) center;
  background-size: calc(16 * var(--to-rem)) auto;
  border: none;
  border-radius: var(--radius-full);
  transition: background-color var(--duration) var(--ease-out);
}
@media (any-hover: hover) {
  .p-consultationForm .satori__btn.submit:hover {
    background-color: var(--color-btn-primary-hover);
  }
}

.p-consultationForm__inner {
  max-width: calc(960 * var(--to-rem));
  padding: var(--space-48) var(--space-56);
  margin-inline: auto;
  background-color: var(--color-surface-light);
}
@media screen and (max-width: 767px) {
  .p-consultationForm__inner {
    padding: var(--space-40) var(--space-24);
  }
}

.p-consultationForm__embed {
  width: 100%;
}

.p-consultationForm__embed:has(#satori__creative_container) .satori__input_group {
  padding: 0;
  padding-block-end: calc(36 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-consultationForm__embed:has(#satori__creative_container) .satori__input_group {
    padding-block-end: calc(24 * var(--to-rem));
  }
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group > label:first-child,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__horiz_group .satori__input_group > label:first-child,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child {
  padding-block-end: var(--space-8);
  color: #242426;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__horiz_group .satori__input_group > label,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group:has(input[type=checkbox]) > label:first-child {
  color: #242426;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__horiz_group {
  gap: var(--space-16);
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__require {
  font-size: calc(12 * var(--to-rem));
  color: var(--color-text-light);
  background-color: var(--color-text-middle);
  border-radius: 0;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__not_require {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__require,
  .p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__not_require {
    margin: 0;
  }
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=text],
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=email],
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=tel],
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container textarea {
  box-sizing: border-box;
  width: 100%;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container textarea {
  min-height: calc(180 * var(--to-rem));
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container select {
  box-sizing: border-box;
  width: 100%;
  height: calc(59 * var(--to-rem));
  padding: var(--space-16);
  padding-right: calc(40 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1;
  color: #242426;
  letter-spacing: -0.02em;
  appearance: none;
  cursor: pointer;
  background-color: var(--color-surface-light);
  background-image: url(../img/icon-dropdown.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-16) center;
  background-size: calc(14 * var(--to-rem)) auto;
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=text]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=email]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=tel]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=password]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=number]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=url]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group select:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group textarea:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=text]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=email]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=tel]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=password]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=number]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=url]:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container select:focus,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container textarea:focus {
  border: 1px solid var(--color-text-middle);
  outline: none;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=text]:focus-visible,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=email]:focus-visible,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=tel]:focus-visible,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group select:focus-visible,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group textarea:focus-visible {
  border: 1px solid var(--color-text-middle);
  outline: none;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error .satori__error_messages {
  display: block;
  margin-block-start: calc(2 * var(--to-rem));
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-accent);
  letter-spacing: -0.02em;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error .satori__error_messages span {
  display: block;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group.error .satori__error_messages {
  font-size: calc(12 * var(--to-rem));
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=text],
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=email],
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=tel],
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=password],
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=number],
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=url],
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error select,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error textarea {
  border-color: var(--color-accent);
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=checkbox] {
  border-color: var(--color-accent);
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=checkbox] {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: calc(18 * var(--to-rem));
  min-width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  min-height: calc(18 * var(--to-rem));
  margin: 0;
  clip: auto;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  visibility: visible;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
  opacity: 1;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=checkbox]:checked {
  background-color: var(--color-text-middle);
  border-color: var(--color-text-middle);
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container input[type=checkbox]:checked::after {
  position: absolute;
  top: calc(2 * var(--to-rem));
  left: calc(5 * var(--to-rem));
  width: calc(5 * var(--to-rem));
  height: calc(9 * var(--to-rem));
  content: "";
  border: 2px solid var(--color-text-light);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group:has(input[type=checkbox]) input[type=checkbox] + label {
  display: block;
  padding-block: 0;
  padding-left: calc(26 * var(--to-rem));
  line-height: calc(18 * var(--to-rem));
  color: #242426;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_url,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.02em;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_url a,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url a {
  font-weight: var(--fw-medium);
  color: var(--color-text-middle);
  text-decoration: underline;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  margin-top: 0;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__message,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_message {
  margin: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) calc(5 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__message,
  .p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
  .p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_message {
    margin: 0 calc(10 * var(--to-rem));
  }
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  column-gap: var(--space-8);
  align-items: center;
  justify-content: center;
  padding-block-end: 0;
  margin-top: 0;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) > label,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement] {
  flex: 1 1 auto;
  flex-wrap: wrap;
  width: auto;
  min-width: 0;
  max-width: none;
  white-space: normal;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) .satori__error_messages {
  position: absolute;
  top: calc(100% + 2 * var(--to-rem));
  left: 50%;
  width: max-content;
  max-width: 100%;
  margin-block-start: 0;
  text-align: center;
  translate: -50% 0;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox] {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: calc(18 * var(--to-rem));
  min-width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  min-height: calc(18 * var(--to-rem));
  margin: 0;
  clip: auto;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  visibility: visible;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
  opacity: 1;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked {
  background-color: var(--color-text-middle);
  border-color: var(--color-text-middle);
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked::after {
  position: absolute;
  top: calc(2 * var(--to-rem));
  left: calc(5 * var(--to-rem));
  width: calc(5 * var(--to-rem));
  height: calc(9 * var(--to-rem));
  content: "";
  border: 2px solid var(--color-text-light);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) label,
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement],
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox] + label {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
  padding: 0;
  padding-block: 0;
  margin-bottom: 0;
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__submit_group {
  margin-top: var(--space-40);
  text-align: center;
}
.p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__btn.submit {
  display: inline-flex;
  gap: var(--space-32);
  align-items: center;
  justify-content: space-between;
  min-width: calc(200 * var(--to-rem));
  padding: var(--space-20) var(--space-20) var(--space-20) var(--space-32);
  padding-right: calc(48 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  letter-spacing: -0.02em;
  cursor: pointer;
  background-color: var(--color-btn-primary);
  background-image: url(../img/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-20) center;
  background-size: calc(16 * var(--to-rem)) auto;
  border: none;
  border-radius: var(--radius-full);
  transition: background-color var(--duration) var(--ease-out);
}
@media (any-hover: hover) {
  .p-consultationForm__embed:has(#satori__creative_container) #satori__creative_container .satori__btn.submit:hover {
    background-color: var(--color-btn-primary-hover);
  }
}

.p-consultationHero {
  padding-top: var(--space-32);
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-consultationHero {
    padding-top: var(--space-32);
    padding-bottom: var(--space-80);
  }
}

.p-consultationHero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-consultationHero__inner {
    gap: var(--space-56);
  }
}

.p-consultationHero__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-consultationHero__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-consultationHero__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-consultationHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-consultationHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-consultationHero__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  align-items: flex-start;
}

.p-consultationHero__title {
  font-family: var(--font-jp);
  font-size: calc(58 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-consultationHero__title {
    font-size: calc(36 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-consultationHero__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-consultationHero__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-contactForm {
  padding-block: var(--space-96);
  padding-inline: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-contactForm {
    padding-block: var(--space-64);
  }
}
.p-contactForm #satori__creative_container,
.p-contactForm .satori__custom_form,
.p-contactForm .satori__form_input {
  width: 100%;
}
.p-contactForm .satori__form_body {
  display: flex;
  flex-direction: column;
}
.p-contactForm .satori__input_group > label:first-child,
.p-contactForm .satori__horiz_group .satori__input_group > label:first-child,
.p-contactForm [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child {
  padding-block-end: var(--space-8);
}
.p-contactForm .satori__input_group:has(input[type=checkbox]) {
  display: block;
}
.p-contactForm .satori__horiz_group {
  display: flex;
  gap: var(--space-16);
}
.p-contactForm .satori__horiz_group .satori__input_group {
  flex: 1;
  min-width: 0;
}
.p-contactForm label {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: #242426;
  letter-spacing: -0.02em;
}
.p-contactForm .satori__input_group > label,
.p-contactForm .satori__horiz_group .satori__input_group > label,
.p-contactForm [class*=satori__custom_form][class*=_css] .satori__input_group > label {
  color: #242426;
}
.p-contactForm [class*=satori__custom_form][class*=_css] label:first-child {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
}
.p-contactForm .satori__require {
  display: inline-flex;
  align-items: center;
  padding: calc(4 * var(--to-rem)) calc(6 * var(--to-rem));
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  white-space: nowrap;
  background-color: var(--color-text-middle);
  border-radius: 0;
}
.p-contactForm .satori__not_require {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-contactForm [class*=satori__custom_form][class*=_css] .satori__require,
  .p-contactForm [class*=satori__custom_form][class*=_css] .satori__not_require {
    margin: 0;
  }
}
.p-contactForm .satori__system_notes {
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  color: var(--color-text-low);
}
.p-contactForm input[type=text],
.p-contactForm input[type=email],
.p-contactForm input[type=tel],
.p-contactForm select,
.p-contactForm textarea {
  width: 100%;
  padding: var(--space-16);
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: #242426;
  letter-spacing: -0.02em;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-contactForm input::placeholder,
.p-contactForm textarea::placeholder {
  color: var(--color-text-low);
}
.p-contactForm input:focus,
.p-contactForm select:focus,
.p-contactForm textarea:focus {
  border-color: var(--color-text-middle);
  outline: none;
}
.p-contactForm textarea {
  min-height: calc(180 * var(--to-rem));
  resize: vertical;
}
.p-contactForm select {
  padding-right: calc(40 * var(--to-rem));
  appearance: none;
  cursor: pointer;
  background-image: url(../img/icon-dropdown.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-16) center;
  background-size: calc(14 * var(--to-rem)) auto;
}
.p-contactForm input[type=checkbox] {
  float: left;
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  margin: 0;
  vertical-align: middle;
  accent-color: var(--color-text-middle);
  cursor: pointer;
}
.p-contactForm input[type=checkbox] + label {
  display: block;
  padding-left: calc(26 * var(--to-rem));
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: calc(18 * var(--to-rem));
  color: #242426;
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-contactForm .satori__input_group:has(input[type=checkbox]) br {
  clear: both;
}
.p-contactForm .satori__error_messages {
  display: none;
}
.p-contactForm .satori__input_group.error .satori__error_messages {
  display: block;
  margin-block-start: calc(2 * var(--to-rem));
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-accent);
  letter-spacing: -0.02em;
}
.p-contactForm .satori__input_group.error .satori__error_messages span {
  display: block;
}
.p-contactForm .satori__privacy_policy_agreement_wrapper .satori__input_group.error .satori__error_messages {
  font-size: calc(12 * var(--to-rem));
}
.p-contactForm .satori__input_group.error input[type=text],
.p-contactForm .satori__input_group.error input[type=email],
.p-contactForm .satori__input_group.error input[type=tel],
.p-contactForm .satori__input_group.error input[type=password],
.p-contactForm .satori__input_group.error input[type=number],
.p-contactForm .satori__input_group.error input[type=url],
.p-contactForm .satori__input_group.error select,
.p-contactForm .satori__input_group.error textarea {
  border-color: var(--color-accent);
}
.p-contactForm .satori__input_group.error input[type=checkbox] {
  border-color: var(--color-accent);
}
.p-contactForm .satori__privacy_policy_agreement_wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  margin-top: 0;
}
.p-contactForm .satori__message,
.p-contactForm .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
.p-contactForm .satori__privacy_policy_message {
  margin: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) calc(5 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contactForm .satori__message,
  .p-contactForm .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
  .p-contactForm .satori__privacy_policy_message {
    margin: 0 calc(10 * var(--to-rem));
  }
}
.p-contactForm .satori__privacy_policy_url {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.02em;
}
.p-contactForm .satori__privacy_policy_url a {
  font-weight: var(--fw-medium);
  color: var(--color-text-middle);
  text-decoration: underline;
}
.p-contactForm .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  column-gap: var(--space-8);
  align-items: center;
  justify-content: center;
  margin-top: 0;
}
.p-contactForm .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label {
  flex: 1 1 auto;
  flex-wrap: wrap;
  width: auto;
  min-width: 0;
  max-width: none;
  margin-bottom: 0;
  white-space: normal;
}
.p-contactForm .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) input[type=checkbox] {
  flex-shrink: 0;
}
.p-contactForm .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) .satori__error_messages {
  position: absolute;
  top: calc(100% + 2 * var(--to-rem));
  left: 50%;
  width: max-content;
  max-width: 100%;
  margin-block-start: 0;
  text-align: center;
  translate: -50% 0;
}
.p-contactForm .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label:first-child {
  padding-block-end: 0;
  margin-bottom: 0;
}
.p-contactForm .satori__privacy_policy_agreement_wrapper label {
  margin-bottom: 0;
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-contactForm .satori__submit_group {
  margin-top: var(--space-40);
  text-align: center;
}
.p-contactForm .satori__btn.submit {
  display: inline-flex;
  gap: var(--space-32);
  align-items: center;
  justify-content: space-between;
  width: fit-content;
  min-width: calc(200 * var(--to-rem));
  padding: var(--space-20) var(--space-20) var(--space-20) var(--space-32);
  padding-right: calc(48 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  letter-spacing: -0.02em;
  cursor: pointer;
  background-color: var(--color-btn-primary);
  background-image: url(../img/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-20) center;
  background-size: calc(16 * var(--to-rem)) auto;
  border: none;
  border-radius: var(--radius-full);
  transition: background-color var(--duration) var(--ease-out);
}
@media (any-hover: hover) {
  .p-contactForm .satori__btn.submit:hover {
    background-color: var(--color-btn-primary-hover);
  }
}

.p-contactForm__inner {
  max-width: calc(960 * var(--to-rem));
  padding: var(--space-48) var(--space-56);
  margin-inline: auto;
  background-color: var(--color-surface-light);
}
@media screen and (max-width: 767px) {
  .p-contactForm__inner {
    padding: var(--space-40) var(--space-24);
  }
}

.p-contactForm__embed {
  width: 100%;
}

.p-contactForm__embed:has(#satori__creative_container) .satori__input_group {
  padding: 0;
  padding-block-end: calc(36 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-contactForm__embed:has(#satori__creative_container) .satori__input_group {
    padding-block-end: calc(24 * var(--to-rem));
  }
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group > label:first-child,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__horiz_group .satori__input_group > label:first-child,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child {
  padding-block-end: var(--space-8);
  color: #242426;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__horiz_group .satori__input_group > label,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group:has(input[type=checkbox]) > label:first-child {
  color: #242426;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__horiz_group {
  gap: var(--space-16);
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__require {
  font-size: calc(12 * var(--to-rem));
  color: var(--color-text-light);
  background-color: var(--color-text-middle);
  border-radius: 0;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__not_require {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__require,
  .p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__not_require {
    margin: 0;
  }
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=text],
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=email],
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=tel],
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container textarea {
  box-sizing: border-box;
  width: 100%;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container textarea {
  min-height: calc(180 * var(--to-rem));
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container select {
  box-sizing: border-box;
  width: 100%;
  height: calc(59 * var(--to-rem));
  padding: var(--space-16);
  padding-right: calc(40 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1;
  color: #242426;
  letter-spacing: -0.02em;
  appearance: none;
  cursor: pointer;
  background-color: var(--color-surface-light);
  background-image: url(../img/icon-dropdown.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-16) center;
  background-size: calc(14 * var(--to-rem)) auto;
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=text]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=email]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=tel]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=password]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=number]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=url]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group select:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group textarea:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=text]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=email]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=tel]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=password]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=number]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=url]:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container select:focus,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container textarea:focus {
  border: 1px solid var(--color-text-middle);
  outline: none;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=text]:focus-visible,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=email]:focus-visible,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=tel]:focus-visible,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group select:focus-visible,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group textarea:focus-visible {
  border: 1px solid var(--color-text-middle);
  outline: none;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error .satori__error_messages {
  display: block;
  margin-block-start: calc(2 * var(--to-rem));
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-accent);
  letter-spacing: -0.02em;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error .satori__error_messages span {
  display: block;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group.error .satori__error_messages {
  font-size: calc(12 * var(--to-rem));
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=text],
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=email],
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=tel],
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=password],
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=number],
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=url],
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error select,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error textarea {
  border-color: var(--color-accent);
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=checkbox] {
  border-color: var(--color-accent);
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=checkbox] {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: calc(18 * var(--to-rem));
  min-width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  min-height: calc(18 * var(--to-rem));
  margin: 0;
  clip: auto;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  visibility: visible;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
  opacity: 1;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=checkbox]:checked {
  background-color: var(--color-text-middle);
  border-color: var(--color-text-middle);
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container input[type=checkbox]:checked::after {
  position: absolute;
  top: calc(2 * var(--to-rem));
  left: calc(5 * var(--to-rem));
  width: calc(5 * var(--to-rem));
  height: calc(9 * var(--to-rem));
  content: "";
  border: 2px solid var(--color-text-light);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__input_group:has(input[type=checkbox]) input[type=checkbox] + label {
  display: block;
  padding-block: 0;
  padding-left: calc(26 * var(--to-rem));
  line-height: calc(18 * var(--to-rem));
  color: #242426;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_url,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.02em;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_url a,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url a {
  font-weight: var(--fw-medium);
  color: var(--color-text-middle);
  text-decoration: underline;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  margin-top: 0;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__message,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_message {
  margin: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) calc(5 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__message,
  .p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
  .p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_message {
    margin: 0 calc(10 * var(--to-rem));
  }
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  column-gap: var(--space-8);
  align-items: center;
  justify-content: center;
  padding-block-end: 0;
  margin-top: 0;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) > label,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement] {
  flex: 1 1 auto;
  flex-wrap: wrap;
  width: auto;
  min-width: 0;
  max-width: none;
  white-space: normal;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) .satori__error_messages {
  position: absolute;
  top: calc(100% + 2 * var(--to-rem));
  left: 50%;
  width: max-content;
  max-width: 100%;
  margin-block-start: 0;
  text-align: center;
  translate: -50% 0;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox] {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: calc(18 * var(--to-rem));
  min-width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  min-height: calc(18 * var(--to-rem));
  margin: 0;
  clip: auto;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  visibility: visible;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
  opacity: 1;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked {
  background-color: var(--color-text-middle);
  border-color: var(--color-text-middle);
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked::after {
  position: absolute;
  top: calc(2 * var(--to-rem));
  left: calc(5 * var(--to-rem));
  width: calc(5 * var(--to-rem));
  height: calc(9 * var(--to-rem));
  content: "";
  border: 2px solid var(--color-text-light);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) label,
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement],
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox] + label {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
  padding: 0;
  padding-block: 0;
  margin-bottom: 0;
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__submit_group {
  margin-top: var(--space-40);
  text-align: center;
}
.p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__btn.submit {
  display: inline-flex;
  gap: var(--space-32);
  align-items: center;
  justify-content: space-between;
  min-width: calc(200 * var(--to-rem));
  padding: var(--space-20) var(--space-20) var(--space-20) var(--space-32);
  padding-right: calc(48 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  letter-spacing: -0.02em;
  cursor: pointer;
  background-color: var(--color-btn-primary);
  background-image: url(../img/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-20) center;
  background-size: calc(16 * var(--to-rem)) auto;
  border: none;
  border-radius: var(--radius-full);
  transition: background-color var(--duration) var(--ease-out);
}
@media (any-hover: hover) {
  .p-contactForm__embed:has(#satori__creative_container) #satori__creative_container .satori__btn.submit:hover {
    background-color: var(--color-btn-primary-hover);
  }
}

.p-contactHero {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-contactHero {
    padding-top: var(--space-32);
    padding-bottom: 0;
  }
}

.p-contactHero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-contactHero__inner {
    gap: var(--space-56);
  }
}

.p-contactHero__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-contactHero__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-contactHero__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-contactHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-contactHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-contactHero__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  align-items: flex-start;
}

.p-contactHero__title {
  font-family: var(--font-jp);
  font-size: calc(58 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-contactHero__title {
    font-size: calc(36 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-contactHero__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-contactHero__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-cta {
  position: relative;
  display: flex;
  flex-direction: column;
  margin-block-start: var(--space-120);
  background-color: var(--color-cta-gray);
}
@media screen and (max-width: 767px) {
  .p-cta {
    margin-block-start: var(--space-80);
  }
}

@media screen and (max-width: 767px) {
  .l-top ~ .p-cta::before {
    position: absolute;
    top: calc(-480 * var(--to-rem));
    left: 0;
    z-index: -1;
    width: 100%;
    height: calc(602 * var(--to-rem));
    pointer-events: none;
    content: "";
    background-image: url(../img/cta-bg-sp.png);
    background-image: image-set(url(../img/cta-bg-sp.webp) type("image/webp"), url(../img/cta-bg-sp.png) type("image/png"));
    background-repeat: no-repeat;
    background-position: top center;
    background-size: 100% 100%;
  }
}

.p-cta__advisory {
  display: flex;
  gap: var(--space-40);
  align-items: center;
  justify-content: space-between;
  padding-block: var(--space-72) var(--space-64);
  padding-inline: var(--space-96);
  border-bottom: 1px solid var(--color-cta-border);
}
@media screen and (max-width: 767px) {
  .p-cta__advisory {
    flex-direction: column;
    gap: var(--space-24);
    align-items: center;
    padding-block: var(--space-48) var(--space-48);
    padding-inline: var(--space-20);
  }
}

.p-cta__cards {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-cta__cards {
    flex-direction: column;
  }
}

.p-cta__card {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-32);
  align-items: center;
  padding-block: var(--space-72) var(--space-64);
  padding-inline: var(--space-64);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-cta__card {
    gap: var(--space-24);
    align-items: center;
    padding-block: var(--space-48);
    padding-inline: var(--space-20);
  }
}

.p-cta__card--report {
  border-right: 1px solid var(--color-cta-border);
}
@media screen and (max-width: 767px) {
  .p-cta__card--report {
    border-right: none;
    border-bottom: 1px solid var(--color-cta-border);
  }
}

.p-cta__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-cta__body {
    gap: var(--space-24);
    align-items: center;
    width: 100%;
  }
}

.p-cta__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-cta__label {
  font-family: var(--font-en);
  font-size: calc(12 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-text-middle);
  text-transform: uppercase;
  letter-spacing: 0.07em;
  opacity: 0.5;
}

@media screen and (max-width: 767px) {
  .p-cta__advisory .p-cta__label,
  .p-cta__card--report .p-cta__label {
    text-align: center;
  }
}

.p-cta__title {
  font-family: var(--font-jp);
  font-size: calc(36 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-cta__title {
    font-size: calc(28 * var(--to-rem));
  }
}

.p-cta__text {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-cta__text {
    width: 100%;
    text-align: left;
  }
}

.p-cta__advisoryBtn {
  flex-shrink: 0;
}

.p-downloadFilter {
  padding-block: 0;
}

.p-downloadFilter__bar {
  display: flex;
  gap: var(--space-24);
  align-items: center;
  padding: var(--space-24);
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
}
@media screen and (max-width: 767px) {
  .p-downloadFilter__bar {
    flex-wrap: wrap;
    gap: var(--space-16);
  }
}

.p-downloadFilter__label {
  flex-shrink: 0;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-downloadFilter__label {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-downloadFilter__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
}

.p-downloadFilter__tagLink {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding-block: var(--space-4);
  padding-inline: var(--space-20);
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  text-decoration: none;
  letter-spacing: -0.02em;
  white-space: nowrap;
  background-color: var(--color-surface-subtle);
  border-radius: var(--radius-full);
  transition: color var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out);
}
@media screen and (max-width: 767px) {
  .p-downloadFilter__tagLink {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-downloadFilter__tagLink--active {
  color: var(--color-text-light);
  background-color: var(--color-surface-black);
}

@media (any-hover: hover) {
  .p-downloadFilter__tagLink:hover {
    color: var(--color-text-light);
    background-color: var(--color-surface-black);
  }
}
.p-downloadHero {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-downloadHero {
    padding-top: var(--space-32);
    padding-bottom: var(--space-80);
  }
}

.p-downloadHero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-downloadHero__inner {
    gap: var(--space-56);
  }
}

.p-downloadHero__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-downloadHero__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-downloadHero__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-downloadHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-downloadHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-downloadHero__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  align-items: flex-start;
}

.p-downloadHero__title {
  font-family: var(--font-jp);
  font-size: calc(58 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.04em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-downloadHero__title {
    font-size: calc(36 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-downloadHero__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.01em;
}
@media screen and (max-width: 767px) {
  .p-downloadHero__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .p-downloadHero__lead br {
    display: none;
  }
}

.p-downloadList {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-downloadList {
    padding-block: var(--space-64);
  }
}

.p-downloadList__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-downloadList__inner {
    gap: var(--space-40);
  }
}

.p-downloadList__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-downloadList__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.06em;
}

.p-downloadList__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-downloadList__title {
    font-size: calc(32 * var(--to-rem));
    line-height: 1.4;
  }
}

.p-downloadList__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: var(--space-32);
  column-gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-downloadList__grid {
    grid-template-columns: 1fr;
    gap: var(--space-20);
  }
}

.p-downloadList__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
  transition: background-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);
}

@media (any-hover: hover) {
  .p-downloadList__card:hover {
    background-color: var(--color-white);
    box-shadow: var(--shadow-card-strong);
  }
}
.p-downloadList__img {
  width: 100%;
  aspect-ratio: 4/3;
  overflow: hidden;
}

.p-downloadList__img img {
  width: 100%;
  height: 100%;
  pointer-events: none;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease-out);
  transform-origin: center center;
  will-change: transform;
}

@media (any-hover: hover) {
  .p-downloadList__card:hover .p-downloadList__img img {
    transform: scale(1.05);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-downloadList__card,
  .p-downloadList__img img {
    transition: none;
  }
  .p-downloadList__card:hover .p-downloadList__img img {
    transform: none;
  }
}
.p-downloadList__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-24);
  align-items: center;
  padding-block: var(--space-24);
  padding-inline: var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-downloadList__body {
    gap: var(--space-20);
    padding: var(--space-24);
  }
}

.p-downloadList__cardTitle {
  width: 100%;
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  word-break: break-word;
}
@media screen and (max-width: 767px) {
  .p-downloadList__cardTitle {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-downloadList__btn {
  display: inline-flex;
  flex-shrink: 0;
  gap: var(--space-20);
  align-items: center;
  justify-content: center;
  padding-block: var(--space-12);
  padding-right: var(--space-16);
  padding-left: var(--space-24);
  margin-top: auto;
  border: 1px solid var(--color-border-middle);
  border-radius: var(--radius-full);
  transition: color var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out);
}
@media screen and (max-width: 767px) {
  .p-downloadList__btn {
    padding-block: calc(10 * var(--to-rem));
  }
}

.p-downloadList__btnLabel {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-high);
  letter-spacing: -0.01em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .p-downloadList__btnLabel {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-downloadList__btnIcon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(16 * var(--to-rem));
  height: calc(16 * var(--to-rem));
  color: var(--color-text-high);
}

.p-downloadList__btnIcon svg {
  width: 100%;
  height: 100%;
}

@media (any-hover: hover) {
  .p-downloadList__card:hover .p-downloadList__btn {
    color: var(--color-text-light);
    background-color: var(--color-surface-black);
    border-color: var(--color-surface-black);
  }
  .p-downloadList__card:hover .p-downloadList__btnLabel,
  .p-downloadList__card:hover .p-downloadList__btnIcon {
    color: var(--color-text-light);
  }
}
.p-downloadList__more {
  display: flex;
  justify-content: center;
}

.p-downloadList__more[hidden] {
  display: none;
}

/* =========================================================
   Hero（パンくず + 見出し）
   上部の波紋背景は _p-service-hero.scss の共通 ::before を流用
   （.p-downloadSingleHero をセレクタリストに追加済み）
   ========================================================= */
.p-downloadSingleHero {
  position: relative;
  padding-top: var(--space-32);
}

.p-downloadSingleHero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-downloadSingleHero__inner {
    gap: var(--space-56);
  }
}

.p-downloadSingleHero__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: 0.01em;
}

.p-downloadSingleHero__crumb--current {
  color: var(--color-text-low);
}

.p-downloadSingleHero__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-downloadSingleHero__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-downloadSingleHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-downloadSingleHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-downloadSingleHero__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  align-items: flex-start;
}

.p-downloadSingleHero__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-downloadSingleHero__title {
    font-size: calc(36 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

/* =========================================================
   Main（2カラム：左=資料概要 / 右=フォーム枠）
   ========================================================= */
.p-downloadSingle {
  position: relative;
}

.p-downloadSingle__inner {
  padding-top: var(--space-96);
  padding-bottom: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-downloadSingle__inner {
    padding-top: var(--space-64);
    padding-bottom: var(--space-64);
  }
}

.p-downloadSingle__container {
  display: flex;
  gap: var(--space-48);
  align-items: flex-start;
  max-width: calc(1248 * var(--to-rem));
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .p-downloadSingle__container {
    flex-direction: column;
    gap: var(--space-48);
    max-width: none;
  }
}

/* ---- 左カラム：資料概要 ---- */
.p-downloadSingle__summary {
  display: flex;
  flex-direction: column;
  gap: var(--space-48);
  width: calc(600 * var(--to-rem));
  max-width: 100%;
}
@media screen and (max-width: 767px) {
  .p-downloadSingle__summary {
    gap: var(--space-32);
    width: 100%;
  }
}

.p-downloadSingle__media {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.p-downloadSingle__mainImage {
  width: 100%;
  aspect-ratio: 600/450;
  overflow: hidden;
}

.p-downloadSingle__mainImage img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-downloadSingle__thumbs {
  display: flex;
  gap: var(--space-16);
  justify-content: center;
}

.p-downloadSingle__thumb {
  width: calc(144 * var(--to-rem));
  max-width: calc(144 * var(--to-rem));
  aspect-ratio: 144/100;
  overflow: hidden;
}

.p-downloadSingle__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* ---- この資料でわかること（半透明白カード + 背景ぼかし） ---- */
.p-downloadSingle__points {
  display: flex;
  flex-direction: column;
  gap: var(--space-28, calc(28 * var(--to-rem)));
  padding: var(--space-32);
  background: var(--color-panel);
  backdrop-filter: blur(calc(30 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-downloadSingle__points {
    padding-block: var(--space-32);
    padding-inline: var(--space-20);
  }
}

.p-downloadSingle__pointsTitle {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-downloadSingle__pointList {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.p-downloadSingle__pointItem {
  display: flex;
  gap: var(--space-8);
  align-items: flex-start;
}

.p-downloadSingle__pointIcon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  margin-top: calc(4 * var(--to-rem));
  color: var(--color-text-high);
}

.p-downloadSingle__pointIcon svg {
  width: 100%;
  height: 100%;
}

.p-downloadSingle__pointBody {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.p-downloadSingle__pointHead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-downloadSingle__pointText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

/* ---- おすすめな人 / 資料コンテンツ 共通ブロック ---- */
.p-downloadSingle__block {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.p-downloadSingle__blockTitle {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-downloadSingle__dotList {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-downloadSingle__dotItem {
  position: relative;
  padding-inline-start: calc(16 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-downloadSingle__dotItem::before {
  position: absolute;
  top: calc(12 * var(--to-rem));
  left: 0;
  width: calc(4 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  content: "";
  background: var(--color-text-high);
  border-radius: var(--radius-full);
}

.p-downloadSingle__numList {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  counter-reset: download-num;
}

.p-downloadSingle__numItem {
  display: flex;
  gap: var(--space-4);
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  counter-increment: download-num;
}

.p-downloadSingle__numItem::before {
  flex-shrink: 0;
  content: counter(download-num) ".";
}

.p-downloadSingle__lead {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

/* ---- WYSIWYG: 白ボックス内（download_learnings） ---- */
.p-downloadSingle__pointContent {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.p-downloadSingle__pointContent ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: 0;
  margin: 0;
  list-style: none;
}

.p-downloadSingle__pointContent ul li {
  position: relative;
  padding-inline-start: calc(26 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-downloadSingle__pointContent ul li::before {
  position: absolute;
  top: calc(4 * var(--to-rem));
  left: 0;
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.75 9.5 7.5 13.25 14.25 5' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}

.p-downloadSingle__pointContent strong {
  display: block;
  margin-bottom: var(--space-4);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  letter-spacing: -0.02em;
}

.p-downloadSingle__pointContent p {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

/* ---- WYSIWYG: 本文ブロック（download_cont / download_point / the_content） ---- */
.p-downloadSingle__body h2 {
  margin: 0 0 var(--space-12);
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-downloadSingle__body h3 {
  margin: 0 0 var(--space-12);
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-downloadSingle__body p {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-downloadSingle__body p + p {
  margin-top: var(--space-24);
}

.p-downloadSingle__body ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  padding: 0;
  margin: 0;
  list-style: none;
}

.p-downloadSingle__body ul li {
  position: relative;
  padding-inline-start: calc(16 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-downloadSingle__body ul li::before {
  position: absolute;
  top: calc(12 * var(--to-rem));
  left: 0;
  width: calc(4 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  content: "";
  background: var(--color-text-high);
  border-radius: var(--radius-full);
}

.p-downloadSingle__body ol {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  padding: 0;
  margin: 0;
  list-style: none;
  counter-reset: download-body-num;
}

.p-downloadSingle__body ol li {
  display: flex;
  gap: var(--space-4);
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  counter-increment: download-body-num;
}

.p-downloadSingle__body ol li::before {
  flex-shrink: 0;
  content: counter(download-body-num) ".";
}

/* ---- 右カラム：フォーム枠（外部埋め込み予定） ---- */
.p-downloadSingle__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
  width: calc(600 * var(--to-rem));
  max-width: 100%;
  padding-block: var(--space-48);
  padding-inline: var(--space-40);
  background: var(--color-surface-light);
}
@media screen and (max-width: 767px) {
  .p-downloadSingle__form {
    width: 100%;
    padding-block: var(--space-40) var(--space-24);
    padding-inline: var(--space-24);
  }
}

.p-downloadSingle__formTitle {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: #242426;
  text-align: start;
  letter-spacing: -0.02em;
}

.p-downloadSingle__formEmbed {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: calc(520 * var(--to-rem));
  padding: var(--space-24);
  border: 1px dashed var(--color-border-middle);
}

.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori),
.p-downloadSingle__formEmbed:has(#satori__creative_container) {
  display: block;
  min-height: auto;
  padding: 0;
  border: none;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__custom_form,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__form_input,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__custom_form,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__form_input {
  width: 100%;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__form_body,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__form_body {
  display: flex;
  flex-direction: column;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group > label:first-child,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__horiz_group .satori__input_group > label:first-child,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group > label:first-child,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__horiz_group .satori__input_group > label:first-child,
.p-downloadSingle__formEmbed:has(#satori__creative_container) [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child {
  padding-block-end: var(--space-8);
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group:has(input[type=checkbox]),
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group:has(input[type=checkbox]) {
  display: block;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__horiz_group,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__horiz_group {
  display: flex;
  gap: var(--space-16);
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__horiz_group .satori__input_group,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__horiz_group .satori__input_group {
  flex: 1;
  min-width: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) label {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: #242426;
  letter-spacing: -0.02em;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group > label,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__horiz_group .satori__input_group > label,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) [class*=satori__custom_form][class*=_css] .satori__input_group > label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group > label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__horiz_group .satori__input_group > label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) [class*=satori__custom_form][class*=_css] .satori__input_group > label {
  color: #242426;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) [class*=satori__custom_form][class*=_css] label:first-child,
.p-downloadSingle__formEmbed:has(#satori__creative_container) [class*=satori__custom_form][class*=_css] label:first-child {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__require,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__require {
  display: inline-flex;
  align-items: center;
  padding: calc(4 * var(--to-rem)) calc(6 * var(--to-rem));
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  white-space: nowrap;
  background-color: var(--color-text-middle);
  border-radius: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__not_require,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__not_require {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) [class*=satori__custom_form][class*=_css] .satori__require,
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) [class*=satori__custom_form][class*=_css] .satori__not_require,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) [class*=satori__custom_form][class*=_css] .satori__require,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) [class*=satori__custom_form][class*=_css] .satori__not_require {
    margin: 0;
  }
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__system_notes,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__system_notes {
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  color: var(--color-text-low);
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) input[type=text],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) input[type=email],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) input[type=tel],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) select,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) textarea,
.p-downloadSingle__formEmbed:has(#satori__creative_container) input[type=text],
.p-downloadSingle__formEmbed:has(#satori__creative_container) input[type=email],
.p-downloadSingle__formEmbed:has(#satori__creative_container) input[type=tel],
.p-downloadSingle__formEmbed:has(#satori__creative_container) select,
.p-downloadSingle__formEmbed:has(#satori__creative_container) textarea {
  width: 100%;
  padding: var(--space-16);
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: #242426;
  letter-spacing: -0.02em;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) input::placeholder,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) textarea::placeholder,
.p-downloadSingle__formEmbed:has(#satori__creative_container) input::placeholder,
.p-downloadSingle__formEmbed:has(#satori__creative_container) textarea::placeholder {
  color: var(--color-text-low);
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) input:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) select:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) textarea:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) input:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) select:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) textarea:focus {
  border-color: var(--color-text-middle);
  outline: none;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) textarea,
.p-downloadSingle__formEmbed:has(#satori__creative_container) textarea {
  min-height: calc(180 * var(--to-rem));
  resize: vertical;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) select,
.p-downloadSingle__formEmbed:has(#satori__creative_container) select {
  padding-right: calc(40 * var(--to-rem));
  appearance: none;
  cursor: pointer;
  background-image: url(../img/icon-dropdown.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-16) center;
  background-size: calc(14 * var(--to-rem)) auto;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) input[type=checkbox],
.p-downloadSingle__formEmbed:has(#satori__creative_container) input[type=checkbox] {
  float: left;
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  margin: 0;
  vertical-align: middle;
  accent-color: var(--color-text-middle);
  cursor: pointer;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) input[type=checkbox] + label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) input[type=checkbox] + label {
  display: block;
  padding-left: calc(26 * var(--to-rem));
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: calc(18 * var(--to-rem));
  color: #242426;
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group:has(input[type=checkbox]) br,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group:has(input[type=checkbox]) br {
  clear: both;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__error_messages,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__error_messages {
  display: none;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group.error .satori__error_messages,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group.error .satori__error_messages {
  display: block;
  margin-block-start: calc(2 * var(--to-rem));
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-accent);
  letter-spacing: -0.02em;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group.error .satori__error_messages span,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group.error .satori__error_messages span {
  display: block;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group.error .satori__error_messages,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group.error .satori__error_messages {
  font-size: calc(12 * var(--to-rem));
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group.error input[type=text],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group.error input[type=email],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group.error input[type=tel],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group.error input[type=password],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group.error input[type=number],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group.error input[type=url],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group.error select,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group.error textarea,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group.error input[type=text],
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group.error input[type=email],
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group.error input[type=tel],
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group.error input[type=password],
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group.error input[type=number],
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group.error input[type=url],
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group.error select,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group.error textarea {
  border-color: var(--color-accent);
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group.error input[type=checkbox],
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group.error input[type=checkbox] {
  border-color: var(--color-accent);
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_agreement_wrapper,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  margin-top: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__message,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_message,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__message,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_message {
  margin: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) calc(5 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__message,
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_message,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__message,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_message {
    margin: 0 calc(10 * var(--to-rem));
  }
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_url,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_url {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.02em;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_url a,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_url a {
  font-weight: var(--fw-medium);
  color: var(--color-text-middle);
  text-decoration: underline;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]),
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  column-gap: var(--space-8);
  align-items: center;
  justify-content: center;
  margin-top: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label {
  flex: 1 1 auto;
  flex-wrap: wrap;
  width: auto;
  min-width: 0;
  max-width: none;
  margin-bottom: 0;
  white-space: normal;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) input[type=checkbox],
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) input[type=checkbox] {
  flex-shrink: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) .satori__error_messages,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) .satori__error_messages {
  position: absolute;
  top: calc(100% + 2 * var(--to-rem));
  left: 50%;
  width: max-content;
  max-width: 100%;
  margin-block-start: 0;
  text-align: center;
  translate: -50% 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label:first-child,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label:first-child {
  padding-block-end: 0;
  margin-bottom: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__privacy_policy_agreement_wrapper label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper label {
  margin-bottom: 0;
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__submit_group,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__submit_group {
  margin-top: var(--space-40);
  text-align: center;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__btn.submit,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__btn.submit {
  display: inline-flex;
  gap: var(--space-32);
  align-items: center;
  justify-content: space-between;
  width: fit-content;
  min-width: calc(200 * var(--to-rem));
  padding: var(--space-20) var(--space-20) var(--space-20) var(--space-32);
  padding-right: calc(48 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  letter-spacing: -0.02em;
  cursor: pointer;
  background-color: var(--color-btn-primary);
  background-image: url(../img/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-20) center;
  background-size: calc(16 * var(--to-rem)) auto;
  border: none;
  border-radius: var(--radius-full);
  transition: background-color var(--duration) var(--ease-out);
}
@media (any-hover: hover) {
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__btn.submit:hover,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__btn.submit:hover {
    background-color: var(--color-btn-primary-hover);
  }
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group,
.p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group {
  padding: 0;
  padding-block-end: calc(36 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) .satori__input_group,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) .satori__input_group {
    padding-block-end: calc(24 * var(--to-rem));
  }
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group > label:first-child,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__horiz_group .satori__input_group > label:first-child,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group > label:first-child,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__horiz_group .satori__input_group > label:first-child,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child {
  padding-block-end: var(--space-8);
  color: #242426;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__horiz_group .satori__input_group > label,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group:has(input[type=checkbox]) > label:first-child,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__horiz_group .satori__input_group > label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group:has(input[type=checkbox]) > label:first-child {
  color: #242426;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__horiz_group,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__horiz_group {
  gap: var(--space-16);
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__require,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__require {
  font-size: calc(12 * var(--to-rem));
  color: var(--color-text-light);
  background-color: var(--color-text-middle);
  border-radius: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__not_require,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__not_require {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__require,
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__not_require,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__require,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__not_require {
    margin: 0;
  }
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=text],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=email],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=tel],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container textarea,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=text],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=email],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=tel],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container textarea {
  box-sizing: border-box;
  width: 100%;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container textarea,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container textarea {
  min-height: calc(180 * var(--to-rem));
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container select,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container select {
  box-sizing: border-box;
  width: 100%;
  height: calc(59 * var(--to-rem));
  padding: var(--space-16);
  padding-right: calc(40 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1;
  color: #242426;
  letter-spacing: -0.02em;
  appearance: none;
  cursor: pointer;
  background-color: var(--color-surface-light);
  background-image: url(../img/icon-dropdown.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-16) center;
  background-size: calc(14 * var(--to-rem)) auto;
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group input[type=text]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group input[type=email]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group input[type=tel]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group input[type=password]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group input[type=number]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group input[type=url]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group select:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group textarea:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=text]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=email]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=tel]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=password]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=number]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=url]:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container select:focus,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container textarea:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=text]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=email]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=tel]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=password]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=number]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=url]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group select:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group textarea:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=text]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=email]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=tel]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=password]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=number]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=url]:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container select:focus,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container textarea:focus {
  border: 1px solid var(--color-text-middle);
  outline: none;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group input[type=text]:focus-visible,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group input[type=email]:focus-visible,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group input[type=tel]:focus-visible,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group select:focus-visible,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group textarea:focus-visible,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=text]:focus-visible,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=email]:focus-visible,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=tel]:focus-visible,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group select:focus-visible,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group textarea:focus-visible {
  border: 1px solid var(--color-text-middle);
  outline: none;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group.error .satori__error_messages,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error .satori__error_messages {
  display: block;
  margin-block-start: calc(2 * var(--to-rem));
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-accent);
  letter-spacing: -0.02em;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group.error .satori__error_messages span,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error .satori__error_messages span {
  display: block;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group.error .satori__error_messages,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group.error .satori__error_messages {
  font-size: calc(12 * var(--to-rem));
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group.error input[type=text],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group.error input[type=email],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group.error input[type=tel],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group.error input[type=password],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group.error input[type=number],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group.error input[type=url],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group.error select,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group.error textarea,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=text],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=email],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=tel],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=password],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=number],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=url],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error select,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error textarea {
  border-color: var(--color-accent);
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group.error input[type=checkbox],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=checkbox] {
  border-color: var(--color-accent);
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=checkbox],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=checkbox] {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: calc(18 * var(--to-rem));
  min-width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  min-height: calc(18 * var(--to-rem));
  margin: 0;
  clip: auto;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  visibility: visible;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
  opacity: 1;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=checkbox]:checked,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=checkbox]:checked {
  background-color: var(--color-text-middle);
  border-color: var(--color-text-middle);
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container input[type=checkbox]:checked::after,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container input[type=checkbox]:checked::after {
  position: absolute;
  top: calc(2 * var(--to-rem));
  left: calc(5 * var(--to-rem));
  width: calc(5 * var(--to-rem));
  height: calc(9 * var(--to-rem));
  content: "";
  border: 2px solid var(--color-text-light);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__input_group:has(input[type=checkbox]) input[type=checkbox] + label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__input_group:has(input[type=checkbox]) input[type=checkbox] + label {
  display: block;
  padding-block: 0;
  padding-left: calc(26 * var(--to-rem));
  line-height: calc(18 * var(--to-rem));
  color: #242426;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__privacy_policy_url,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_url,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.02em;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__privacy_policy_url a,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url a,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_url a,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url a {
  font-weight: var(--fw-medium);
  color: var(--color-text-middle);
  text-decoration: underline;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  margin-top: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__message,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__privacy_policy_message,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__message,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_message {
  margin: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) calc(5 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__message,
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__privacy_policy_message,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__message,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_message {
    margin: 0 calc(10 * var(--to-rem));
  }
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]),
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  column-gap: var(--space-8);
  align-items: center;
  justify-content: center;
  padding-block-end: 0;
  margin-top: 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) > label,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) > label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement] {
  flex: 1 1 auto;
  flex-wrap: wrap;
  width: auto;
  min-width: 0;
  max-width: none;
  white-space: normal;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) .satori__error_messages,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) .satori__error_messages {
  position: absolute;
  top: calc(100% + 2 * var(--to-rem));
  left: 50%;
  width: max-content;
  max-width: 100%;
  margin-block-start: 0;
  text-align: center;
  translate: -50% 0;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox] {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: calc(18 * var(--to-rem));
  min-width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  min-height: calc(18 * var(--to-rem));
  margin: 0;
  clip: auto;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  visibility: visible;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
  opacity: 1;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked {
  background-color: var(--color-text-middle);
  border-color: var(--color-text-middle);
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked::after,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked::after {
  position: absolute;
  top: calc(2 * var(--to-rem));
  left: calc(5 * var(--to-rem));
  width: calc(5 * var(--to-rem));
  height: calc(9 * var(--to-rem));
  content: "";
  border: 2px solid var(--color-text-light);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) label,
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement],
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox] + label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) label,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement],
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox] + label {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
  padding: 0;
  padding-block: 0;
  margin-bottom: 0;
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__submit_group,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__submit_group {
  margin-top: var(--space-40);
  text-align: center;
}
.p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__btn.submit,
.p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__btn.submit {
  display: inline-flex;
  gap: var(--space-32);
  align-items: center;
  justify-content: space-between;
  min-width: calc(200 * var(--to-rem));
  padding: var(--space-20) var(--space-20) var(--space-20) var(--space-32);
  padding-right: calc(48 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  letter-spacing: -0.02em;
  cursor: pointer;
  background-color: var(--color-btn-primary);
  background-image: url(../img/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-20) center;
  background-size: calc(16 * var(--to-rem)) auto;
  border: none;
  border-radius: var(--radius-full);
  transition: background-color var(--duration) var(--ease-out);
}
@media (any-hover: hover) {
  .p-downloadSingle__formEmbed:has(.p-downloadSingle__satori) #satori__creative_container .satori__btn.submit:hover,
  .p-downloadSingle__formEmbed:has(#satori__creative_container) #satori__creative_container .satori__btn.submit:hover {
    background-color: var(--color-btn-primary-hover);
  }
}

.p-downloadSingle__formNote {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-low);
  text-align: center;
  letter-spacing: -0.02em;
}

.p-eventHero {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-eventHero {
    padding-top: var(--space-32);
    padding-bottom: var(--space-80);
  }
}

.p-eventHero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-eventHero__inner {
    gap: var(--space-56);
  }
}

.p-eventHero__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-eventHero__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-eventHero__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-eventHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-eventHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-eventHero__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  align-items: flex-start;
}

.p-eventHero__title {
  font-family: var(--font-jp);
  font-size: calc(58 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-eventHero__title {
    font-size: calc(36 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-eventHero__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-eventHero__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-eventList {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-eventList {
    padding-block: var(--space-64);
  }
}

.p-eventList__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-eventList__inner {
    gap: var(--space-40);
  }
}

.p-eventList__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-eventList__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-eventList__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-eventList__title {
    font-size: calc(32 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-eventList__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: var(--space-32);
  column-gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-eventList__grid {
    grid-template-columns: 1fr;
    gap: var(--space-24);
  }
}

.p-eventList__card {
  display: flex;
  flex: 1;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background-color: var(--color-panel);
  transition: background-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);
}

@media (any-hover: hover) {
  .p-eventList__card:hover {
    background-color: var(--color-white);
    box-shadow: var(--shadow-card-strong);
  }
}
.p-eventList__img {
  width: 100%;
  aspect-ratio: 2500/1308;
  overflow: hidden;
  border: 1px solid var(--color-border-low);
}

.p-eventList__img img {
  width: 100%;
  height: 100%;
  pointer-events: none;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease-out);
  transform-origin: center center;
  will-change: transform;
}

@media (any-hover: hover) {
  .p-eventList__card:hover .p-eventList__img img {
    transform: scale(1.05);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-eventList__card,
  .p-eventList__img img {
    transition: none;
  }
  .p-eventList__card:hover .p-eventList__img img {
    transform: none;
  }
}
.p-eventList__cardBody {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-12);
  padding: var(--space-24) var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-eventList__cardBody {
    padding: var(--space-24);
  }
}

.p-eventList__cardHead {
  display: flex;
  gap: var(--space-12);
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 1279px) {
  .p-eventList__cardHead {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p-eventList__cardHead {
    flex-direction: row;
    align-items: center;
  }
}

.p-eventList__status {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  height: calc(24 * var(--to-rem));
  padding-inline: var(--space-12);
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-light);
  white-space: nowrap;
}

.p-eventList__status--open {
  background-color: var(--color-status-open);
}

.p-eventList__status--closed {
  background-color: var(--color-status-closed);
}

.p-eventList__date {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  text-align: right;
}

.p-eventList__cardTitle {
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-eventList__cardTitle {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-eventList__target {
  display: flex;
  gap: calc(6 * var(--to-rem));
  align-items: flex-start;
  padding-top: var(--space-16);
  margin-top: auto;
  border-top: 1px dashed var(--color-border-low);
}

.p-eventList__targetLabel {
  flex-shrink: 0;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.p-eventList__targetDesc {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
}

.p-eventList__targetDesc p {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
}

.p-eventList__more {
  display: flex;
  justify-content: center;
}

.p-eventList__item--empty {
  grid-column: 1/-1;
}

.p-eventList__empty {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding-block: var(--space-20);
  padding-inline: var(--space-32);
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.02em;
  word-break: break-word;
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(20px);
}

.p-eventList__more[hidden] {
  display: none;
}

/* =========================================================
   パンくず + FV背景
   ========================================================= */
.p-eventSingleBreadcrumb {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-eventSingleBreadcrumb {
    padding-top: var(--space-32);
    padding-bottom: var(--space-32);
  }
}

.p-eventSingleBreadcrumb__crumbs {
  font-size: calc(11 * var(--to-rem));
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-eventSingleBreadcrumb__crumbs {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-eventSingleBreadcrumb__crumb {
  display: inline;
}

.p-eventSingleBreadcrumb__crumbLink {
  color: var(--color-text-middle);
  transition: opacity var(--duration) var(--ease-out);
}

.p-eventSingleBreadcrumb__crumbLink:hover {
  opacity: 0.6;
}

.p-eventSingleBreadcrumb__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-eventSingleBreadcrumb__sep svg {
  width: 100%;
  height: 100%;
}

.p-eventSingleBreadcrumb__crumb--current {
  color: var(--color-text-high);
}

/* =========================================================
   本体 2カラム
   ========================================================= */
.p-eventSingle {
  padding-block-end: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-eventSingle {
    padding-block-end: var(--space-96);
  }
}

.p-eventSingle__inner {
  display: flex;
  gap: var(--space-56);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-eventSingle__inner {
    flex-direction: column;
    gap: var(--space-48);
  }
}

/* =========================================================
   左カラム：記事
   ========================================================= */
.p-eventSingle__article {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-56);
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-eventSingle__article {
    gap: var(--space-48);
    width: 100%;
  }
}

.p-eventSingle__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-eventSingle__head {
    gap: var(--space-24);
  }
}

.p-eventSingle__title {
  font-family: var(--font-jp);
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.5;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-eventSingle__title {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-eventSingle__lead {
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-eventSingle__mainImage {
  aspect-ratio: 784/410;
  overflow: hidden;
}

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

/* =========================================================
   左カラム：本文（Gutenberg：要素セレクタでスタイル）
   ========================================================= */
.p-eventSingle__body {
  font-size: calc(16 * var(--to-rem));
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-eventSingle__body h2 {
  padding-inline: var(--space-16);
  margin-block-start: var(--space-96);
  margin-block-end: var(--space-40);
  font-family: var(--font-jp);
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  border-inline-start: calc(3 * var(--to-rem)) solid var(--color-text-high);
}
@media screen and (max-width: 767px) {
  .p-eventSingle__body h2 {
    margin-block-start: var(--space-56);
    margin-block-end: var(--space-24);
    font-size: calc(24 * var(--to-rem));
  }
}

.p-eventSingle__body h2:first-child {
  margin-block-start: 0;
}

.p-eventSingle__body h3 {
  position: relative;
  padding: 0;
  padding-bottom: calc(var(--space-8) + 1px);
  margin-block-start: var(--space-64);
  margin-block-end: var(--space-40);
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  background: none;
  border: none;
}
@media screen and (max-width: 767px) {
  .p-eventSingle__body h3 {
    margin-block-start: var(--space-40);
    font-size: calc(20 * var(--to-rem));
  }
}
.p-eventSingle__body h3::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  content: "";
  background-color: var(--color-border-low);
}
.p-eventSingle__body h3::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: calc(44 * var(--to-rem));
  height: 2px;
  content: "";
  background-color: var(--color-border-high);
}

.p-eventSingle__body p + p {
  margin-block-start: var(--space-24);
}

.p-eventSingle__bodyFigure {
  margin-block: var(--space-24);
}

.p-eventSingle__bodyFigure img {
  width: 100%;
  height: auto;
}

.p-eventSingle__body ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding-block: var(--space-20);
}

.p-eventSingle__body ul li {
  position: relative;
  padding-inline-start: var(--space-16);
  font-size: calc(16 * var(--to-rem));
  line-height: 1.7;
  letter-spacing: -0.02em;
}

.p-eventSingle__body ul li::before {
  position: absolute;
  inset-block-start: calc(0.85em - calc(3 * var(--to-rem)));
  inset-inline-start: 0;
  width: calc(6 * var(--to-rem));
  height: calc(6 * var(--to-rem));
  content: "";
  background-color: var(--color-text-middle);
  border-radius: var(--radius-full);
}

/* アンケート設問リスト（Q + 設問） */
.p-eventSingle__body ul.p-eventSingle__surveyList {
  gap: var(--space-12);
}

.p-eventSingle__surveyList li {
  display: flex;
  gap: var(--space-12);
  padding-inline-start: 0;
}

.p-eventSingle__surveyList li::before {
  content: none;
}

.p-eventSingle__surveyQ {
  flex-shrink: 0;
  font-family: var(--font-en);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.5;
  color: var(--color-text-high);
}

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

/* =========================================================
   カリキュラム
   ========================================================= */
.p-eventSingle__curriculum {
  padding: var(--space-32) var(--space-40);
  background-color: var(--color-surface-subtle);
}
@media screen and (max-width: 767px) {
  .p-eventSingle__curriculum {
    padding: var(--space-32) var(--space-24);
  }
}

.p-eventSingle__curriculumHead {
  margin-block-end: var(--space-16);
}

.p-eventSingle__curriculumLabel {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.5;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-eventSingle__curriculumLabel {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-eventSingle__curriculumList {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding-block: var(--space-20);
}

.p-eventSingle__curriculumItem {
  display: flex;
  gap: var(--space-8);
  font-size: calc(16 * var(--to-rem));
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-eventSingle__curriculumNum {
  flex-shrink: 0;
  font-weight: var(--fw-medium);
}

.p-eventSingle__note {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

/* =========================================================
   登壇者
   ========================================================= */
.p-eventSingle__speakers {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  padding: var(--space-40);
  background-color: var(--color-surface-subtle);
}
@media screen and (max-width: 767px) {
  .p-eventSingle__speakers {
    gap: var(--space-24);
    padding: var(--space-40) var(--space-24);
  }
}

.p-eventSingle__speakersTitle {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-eventSingle__speakerList {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
}
@media screen and (max-width: 767px) {
  .p-eventSingle__speakerList {
    gap: var(--space-32);
  }
}

.p-eventSingle__speaker {
  display: flex;
  gap: var(--space-24);
  align-items: center;
}

.p-eventSingle__speakerThumb {
  flex-shrink: 0;
  width: calc(110 * var(--to-rem));
  aspect-ratio: 1/1;
  overflow: hidden;
}

.p-eventSingle__speakerThumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-eventSingle__speakerBody {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

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

.p-eventSingle__speakerName {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-eventSingle__speakerEn {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.4;
  color: var(--color-text-low);
}

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

.p-eventSingle__speakerRole {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: 0.0538461538em;
}

/* =========================================================
   右カラム：サイドバー
   ========================================================= */
.p-eventSingle__sidebar {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: var(--space-40);
  width: calc(360 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-eventSingle__sidebar {
    gap: var(--space-24);
    width: 100%;
  }
}

/* イベント情報テーブル */
.p-eventSingle__info {
  padding: var(--space-40) var(--space-24);
  background-color: var(--color-surface-light);
}

.p-eventSingle__infoTable {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.p-eventSingle__infoRow {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  padding-block-end: var(--space-24);
  border-block-end: calc(1 * var(--to-rem)) solid var(--color-border-low);
}

.p-eventSingle__infoRow:last-child {
  padding-block-end: 0;
  border-block-end: none;
}

.p-eventSingle__infoLabel {
  display: flex;
  gap: var(--space-12);
  align-items: center;
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-eventSingle__infoValue {
  font-size: calc(16 * var(--to-rem));
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-eventSingle__infoValue--date {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  letter-spacing: -0.02em;
}

.p-eventSingle__infoNote {
  display: block;
  margin-block-start: var(--space-4);
  font-size: calc(14 * var(--to-rem));
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

/* 受付ステータスバッジ（開催日時ラベル右隣） */
.p-eventSingle__status {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  height: calc(22 * var(--to-rem));
  padding-inline: var(--space-12);
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-light);
  letter-spacing: 0;
  white-space: nowrap;
}

.p-eventSingle__status--open {
  background-color: var(--color-status-open);
}

.p-eventSingle__status--closed {
  background-color: var(--color-status-closed);
}

/* 受付終了メッセージ（WP: 締切後にフォームと差し替え） */
.p-eventSingle__closed {
  padding: var(--space-40) var(--space-24);
  background-color: var(--color-surface-subtle);
}

.p-eventSingle__closedText {
  font-size: calc(16 * var(--to-rem));
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-eventSingle__closedText a {
  color: var(--color-text-high);
  text-decoration: underline;
}

/* =========================================================
   申込フォーム
   ========================================================= */
.p-eventSingle__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
  padding: var(--space-40) var(--space-24);
  background: var(--color-surface-light);
}
@media screen and (max-width: 767px) {
  .p-eventSingle__form {
    gap: var(--space-32);
  }
}

.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container,
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__custom_form,
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__form_input,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container,
.p-eventSingle__form:has(#satori__creative_container) .satori__custom_form,
.p-eventSingle__form:has(#satori__creative_container) .satori__form_input {
  width: 100%;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__form_body,
.p-eventSingle__form:has(#satori__creative_container) .satori__form_body {
  display: flex;
  flex-direction: column;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group > label:first-child,
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__horiz_group .satori__input_group > label:first-child,
.p-eventSingle__form:has(.p-eventSingle__satori) [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child,
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group > label:first-child,
.p-eventSingle__form:has(#satori__creative_container) .satori__horiz_group .satori__input_group > label:first-child,
.p-eventSingle__form:has(#satori__creative_container) [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child {
  padding-block-end: var(--space-8);
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group:has(input[type=checkbox]),
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group:has(input[type=checkbox]) {
  display: block;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__horiz_group,
.p-eventSingle__form:has(#satori__creative_container) .satori__horiz_group {
  display: flex;
  gap: var(--space-16);
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__horiz_group .satori__input_group,
.p-eventSingle__form:has(#satori__creative_container) .satori__horiz_group .satori__input_group {
  flex: 1;
  min-width: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) label,
.p-eventSingle__form:has(#satori__creative_container) label {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: #242426;
  letter-spacing: -0.02em;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group > label,
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__horiz_group .satori__input_group > label,
.p-eventSingle__form:has(.p-eventSingle__satori) [class*=satori__custom_form][class*=_css] .satori__input_group > label,
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group > label,
.p-eventSingle__form:has(#satori__creative_container) .satori__horiz_group .satori__input_group > label,
.p-eventSingle__form:has(#satori__creative_container) [class*=satori__custom_form][class*=_css] .satori__input_group > label {
  color: #242426;
}
.p-eventSingle__form:has(.p-eventSingle__satori) [class*=satori__custom_form][class*=_css] label:first-child,
.p-eventSingle__form:has(#satori__creative_container) [class*=satori__custom_form][class*=_css] label:first-child {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__require,
.p-eventSingle__form:has(#satori__creative_container) .satori__require {
  display: inline-flex;
  align-items: center;
  padding: calc(4 * var(--to-rem)) calc(6 * var(--to-rem));
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  white-space: nowrap;
  background-color: var(--color-text-middle);
  border-radius: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__not_require,
.p-eventSingle__form:has(#satori__creative_container) .satori__not_require {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-eventSingle__form:has(.p-eventSingle__satori) [class*=satori__custom_form][class*=_css] .satori__require,
  .p-eventSingle__form:has(.p-eventSingle__satori) [class*=satori__custom_form][class*=_css] .satori__not_require,
  .p-eventSingle__form:has(#satori__creative_container) [class*=satori__custom_form][class*=_css] .satori__require,
  .p-eventSingle__form:has(#satori__creative_container) [class*=satori__custom_form][class*=_css] .satori__not_require {
    margin: 0;
  }
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__system_notes,
.p-eventSingle__form:has(#satori__creative_container) .satori__system_notes {
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  color: var(--color-text-low);
}
.p-eventSingle__form:has(.p-eventSingle__satori) input[type=text],
.p-eventSingle__form:has(.p-eventSingle__satori) input[type=email],
.p-eventSingle__form:has(.p-eventSingle__satori) input[type=tel],
.p-eventSingle__form:has(.p-eventSingle__satori) select,
.p-eventSingle__form:has(.p-eventSingle__satori) textarea,
.p-eventSingle__form:has(#satori__creative_container) input[type=text],
.p-eventSingle__form:has(#satori__creative_container) input[type=email],
.p-eventSingle__form:has(#satori__creative_container) input[type=tel],
.p-eventSingle__form:has(#satori__creative_container) select,
.p-eventSingle__form:has(#satori__creative_container) textarea {
  width: 100%;
  padding: var(--space-16);
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: #242426;
  letter-spacing: -0.02em;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) input::placeholder,
.p-eventSingle__form:has(.p-eventSingle__satori) textarea::placeholder,
.p-eventSingle__form:has(#satori__creative_container) input::placeholder,
.p-eventSingle__form:has(#satori__creative_container) textarea::placeholder {
  color: var(--color-text-low);
}
.p-eventSingle__form:has(.p-eventSingle__satori) input:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) select:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) textarea:focus,
.p-eventSingle__form:has(#satori__creative_container) input:focus,
.p-eventSingle__form:has(#satori__creative_container) select:focus,
.p-eventSingle__form:has(#satori__creative_container) textarea:focus {
  border-color: var(--color-text-middle);
  outline: none;
}
.p-eventSingle__form:has(.p-eventSingle__satori) textarea,
.p-eventSingle__form:has(#satori__creative_container) textarea {
  min-height: calc(180 * var(--to-rem));
  resize: vertical;
}
.p-eventSingle__form:has(.p-eventSingle__satori) select,
.p-eventSingle__form:has(#satori__creative_container) select {
  padding-right: calc(40 * var(--to-rem));
  appearance: none;
  cursor: pointer;
  background-image: url(../img/icon-dropdown.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-16) center;
  background-size: calc(14 * var(--to-rem)) auto;
}
.p-eventSingle__form:has(.p-eventSingle__satori) input[type=checkbox],
.p-eventSingle__form:has(#satori__creative_container) input[type=checkbox] {
  float: left;
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  margin: 0;
  vertical-align: middle;
  accent-color: var(--color-text-middle);
  cursor: pointer;
}
.p-eventSingle__form:has(.p-eventSingle__satori) input[type=checkbox] + label,
.p-eventSingle__form:has(#satori__creative_container) input[type=checkbox] + label {
  display: block;
  padding-left: calc(26 * var(--to-rem));
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: calc(18 * var(--to-rem));
  color: #242426;
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group:has(input[type=checkbox]) br,
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group:has(input[type=checkbox]) br {
  clear: both;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__error_messages,
.p-eventSingle__form:has(#satori__creative_container) .satori__error_messages {
  display: none;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group.error .satori__error_messages,
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group.error .satori__error_messages {
  display: block;
  margin-block-start: calc(2 * var(--to-rem));
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-accent);
  letter-spacing: -0.02em;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group.error .satori__error_messages span,
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group.error .satori__error_messages span {
  display: block;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group.error .satori__error_messages,
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group.error .satori__error_messages {
  font-size: calc(12 * var(--to-rem));
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group.error input[type=text],
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group.error input[type=email],
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group.error input[type=tel],
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group.error input[type=password],
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group.error input[type=number],
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group.error input[type=url],
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group.error select,
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group.error textarea,
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group.error input[type=text],
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group.error input[type=email],
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group.error input[type=tel],
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group.error input[type=password],
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group.error input[type=number],
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group.error input[type=url],
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group.error select,
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group.error textarea {
  border-color: var(--color-accent);
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group.error input[type=checkbox],
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group.error input[type=checkbox] {
  border-color: var(--color-accent);
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_agreement_wrapper,
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  margin-top: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__message,
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_message,
.p-eventSingle__form:has(#satori__creative_container) .satori__message,
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_message {
  margin: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) calc(5 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-eventSingle__form:has(.p-eventSingle__satori) .satori__message,
  .p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
  .p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_message,
  .p-eventSingle__form:has(#satori__creative_container) .satori__message,
  .p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__privacy_policy_url,
  .p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_message {
    margin: 0 calc(10 * var(--to-rem));
  }
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_url,
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_url {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.02em;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_url a,
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_url a {
  font-weight: var(--fw-medium);
  color: var(--color-text-middle);
  text-decoration: underline;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]),
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  column-gap: var(--space-8);
  align-items: center;
  justify-content: center;
  margin-top: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label,
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label {
  flex: 1 1 auto;
  flex-wrap: wrap;
  width: auto;
  min-width: 0;
  max-width: none;
  margin-bottom: 0;
  white-space: normal;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) input[type=checkbox],
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) input[type=checkbox] {
  flex-shrink: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) .satori__error_messages,
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) .satori__error_messages {
  position: absolute;
  top: calc(100% + 2 * var(--to-rem));
  left: 50%;
  width: max-content;
  max-width: 100%;
  margin-block-start: 0;
  text-align: center;
  translate: -50% 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label:first-child,
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper .satori__input_group:has(input[type=checkbox]) > label:first-child {
  padding-block-end: 0;
  margin-bottom: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__privacy_policy_agreement_wrapper label,
.p-eventSingle__form:has(#satori__creative_container) .satori__privacy_policy_agreement_wrapper label {
  margin-bottom: 0;
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__submit_group,
.p-eventSingle__form:has(#satori__creative_container) .satori__submit_group {
  margin-top: var(--space-40);
  text-align: center;
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__btn.submit,
.p-eventSingle__form:has(#satori__creative_container) .satori__btn.submit {
  display: inline-flex;
  gap: var(--space-32);
  align-items: center;
  justify-content: space-between;
  width: fit-content;
  min-width: calc(200 * var(--to-rem));
  padding: var(--space-20) var(--space-20) var(--space-20) var(--space-32);
  padding-right: calc(48 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  letter-spacing: -0.02em;
  cursor: pointer;
  background-color: var(--color-btn-primary);
  background-image: url(../img/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-20) center;
  background-size: calc(16 * var(--to-rem)) auto;
  border: none;
  border-radius: var(--radius-full);
  transition: background-color var(--duration) var(--ease-out);
}
@media (any-hover: hover) {
  .p-eventSingle__form:has(.p-eventSingle__satori) .satori__btn.submit:hover,
  .p-eventSingle__form:has(#satori__creative_container) .satori__btn.submit:hover {
    background-color: var(--color-btn-primary-hover);
  }
}
.p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group,
.p-eventSingle__form:has(#satori__creative_container) .satori__input_group {
  padding: 0;
  padding-block-end: calc(36 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-eventSingle__form:has(.p-eventSingle__satori) .satori__input_group,
  .p-eventSingle__form:has(#satori__creative_container) .satori__input_group {
    padding-block-end: calc(24 * var(--to-rem));
  }
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group > label:first-child,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__horiz_group .satori__input_group > label:first-child,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group > label:first-child,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__horiz_group .satori__input_group > label:first-child,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label:first-child {
  padding-block-end: var(--space-8);
  color: #242426;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__horiz_group .satori__input_group > label,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group:has(input[type=checkbox]) > label:first-child,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__input_group > label,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__horiz_group .satori__input_group > label,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group:has(input[type=checkbox]) > label:first-child {
  color: #242426;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__horiz_group,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__horiz_group {
  gap: var(--space-16);
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__require,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__require {
  font-size: calc(12 * var(--to-rem));
  color: var(--color-text-light);
  background-color: var(--color-text-middle);
  border-radius: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__not_require,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__not_require {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__require,
  .p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__not_require,
  .p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__require,
  .p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=satori__custom_form][class*=_css] .satori__not_require {
    margin: 0;
  }
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=text],
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=email],
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=tel],
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container textarea,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=text],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=email],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=tel],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container textarea {
  box-sizing: border-box;
  width: 100%;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container textarea,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container textarea {
  min-height: calc(180 * var(--to-rem));
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container select,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container select {
  box-sizing: border-box;
  width: 100%;
  height: calc(59 * var(--to-rem));
  padding: var(--space-16);
  padding-right: calc(40 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1;
  color: #242426;
  letter-spacing: -0.02em;
  appearance: none;
  cursor: pointer;
  background-color: var(--color-surface-light);
  background-image: url(../img/icon-dropdown.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-16) center;
  background-size: calc(14 * var(--to-rem)) auto;
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group input[type=text]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group input[type=email]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group input[type=tel]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group input[type=password]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group input[type=number]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group input[type=url]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group select:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group textarea:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=text]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=email]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=tel]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=password]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=number]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=url]:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container select:focus,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container textarea:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=text]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=email]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=tel]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=password]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=number]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=url]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group select:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group textarea:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=text]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=email]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=tel]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=password]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=number]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=url]:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container select:focus,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container textarea:focus {
  border: 1px solid var(--color-text-middle);
  outline: none;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group input[type=text]:focus-visible,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group input[type=email]:focus-visible,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group input[type=tel]:focus-visible,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group select:focus-visible,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group textarea:focus-visible,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=text]:focus-visible,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=email]:focus-visible,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group input[type=tel]:focus-visible,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group select:focus-visible,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group textarea:focus-visible {
  border: 1px solid var(--color-text-middle);
  outline: none;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group.error .satori__error_messages,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group.error .satori__error_messages {
  display: block;
  margin-block-start: calc(2 * var(--to-rem));
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-accent);
  letter-spacing: -0.02em;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group.error .satori__error_messages span,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group.error .satori__error_messages span {
  display: block;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group.error .satori__error_messages,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group.error .satori__error_messages {
  font-size: calc(12 * var(--to-rem));
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group.error input[type=text],
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group.error input[type=email],
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group.error input[type=tel],
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group.error input[type=password],
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group.error input[type=number],
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group.error input[type=url],
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group.error select,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group.error textarea,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=text],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=email],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=tel],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=password],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=number],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=url],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group.error select,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group.error textarea {
  border-color: var(--color-accent);
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group.error input[type=checkbox],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group.error input[type=checkbox] {
  border-color: var(--color-accent);
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=checkbox],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=checkbox] {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: calc(18 * var(--to-rem));
  min-width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  min-height: calc(18 * var(--to-rem));
  margin: 0;
  clip: auto;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  visibility: visible;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
  opacity: 1;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=checkbox]:checked,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=checkbox]:checked {
  background-color: var(--color-text-middle);
  border-color: var(--color-text-middle);
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container input[type=checkbox]:checked::after,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container input[type=checkbox]:checked::after {
  position: absolute;
  top: calc(2 * var(--to-rem));
  left: calc(5 * var(--to-rem));
  width: calc(5 * var(--to-rem));
  height: calc(9 * var(--to-rem));
  content: "";
  border: 2px solid var(--color-text-light);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__input_group:has(input[type=checkbox]) input[type=checkbox] + label,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__input_group:has(input[type=checkbox]) input[type=checkbox] + label {
  display: block;
  padding-block: 0;
  padding-left: calc(26 * var(--to-rem));
  line-height: calc(18 * var(--to-rem));
  color: #242426;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__privacy_policy_url,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_url,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.02em;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__privacy_policy_url a,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url a,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_url a,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url a {
  font-weight: var(--fw-medium);
  color: var(--color-text-middle);
  text-decoration: underline;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  margin-top: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__message,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__privacy_policy_message,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__message,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_message {
  margin: calc(10 * var(--to-rem)) calc(10 * var(--to-rem)) calc(5 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__message,
  .p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
  .p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__privacy_policy_message,
  .p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__message,
  .p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__privacy_policy_url,
  .p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__privacy_policy_message {
    margin: 0 calc(10 * var(--to-rem));
  }
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]),
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) {
  position: relative;
  display: flex;
  flex-wrap: nowrap;
  column-gap: var(--space-8);
  align-items: center;
  justify-content: center;
  padding-block-end: 0;
  margin-top: 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) > label,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) > label,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement] {
  flex: 1 1 auto;
  flex-wrap: wrap;
  width: auto;
  min-width: 0;
  max-width: none;
  white-space: normal;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) .satori__error_messages,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) .satori__error_messages {
  position: absolute;
  top: calc(100% + 2 * var(--to-rem));
  left: 50%;
  width: max-content;
  max-width: 100%;
  margin-block-start: 0;
  text-align: center;
  translate: -50% 0;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox] {
  position: relative;
  display: inline-block;
  flex-shrink: 0;
  width: calc(18 * var(--to-rem));
  min-width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
  min-height: calc(18 * var(--to-rem));
  margin: 0;
  clip: auto;
  vertical-align: middle;
  appearance: none;
  cursor: pointer;
  visibility: visible;
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-middle);
  border-radius: 0;
  opacity: 1;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked {
  background-color: var(--color-text-middle);
  border-color: var(--color-text-middle);
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked::after,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox]:checked::after {
  position: absolute;
  top: calc(2 * var(--to-rem));
  left: calc(5 * var(--to-rem));
  width: calc(5 * var(--to-rem));
  height: calc(9 * var(--to-rem));
  content: "";
  border: 2px solid var(--color-text-light);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) label,
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement],
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox] + label,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] .satori__input_group:has(input[type=checkbox]) label,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] label[class*=privacy_policy_agreement],
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container [class*=privacy_policy_agreement_wrapper] input[type=checkbox] + label {
  display: inline-flex;
  flex-wrap: wrap;
  gap: var(--space-8);
  align-items: center;
  padding: 0;
  padding-block: 0;
  margin-bottom: 0;
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  cursor: pointer;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__submit_group,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__submit_group {
  margin-top: var(--space-40);
  text-align: center;
}
.p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__btn.submit,
.p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__btn.submit {
  display: inline-flex;
  gap: var(--space-32);
  align-items: center;
  justify-content: space-between;
  min-width: calc(200 * var(--to-rem));
  padding: var(--space-20) var(--space-20) var(--space-20) var(--space-32);
  padding-right: calc(48 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-light);
  letter-spacing: -0.02em;
  cursor: pointer;
  background-color: var(--color-btn-primary);
  background-image: url(../img/icon-arrow.svg);
  background-repeat: no-repeat;
  background-position: right var(--space-20) center;
  background-size: calc(16 * var(--to-rem)) auto;
  border: none;
  border-radius: var(--radius-full);
  transition: background-color var(--duration) var(--ease-out);
}
@media (any-hover: hover) {
  .p-eventSingle__form:has(.p-eventSingle__satori) #satori__creative_container .satori__btn.submit:hover,
  .p-eventSingle__form:has(#satori__creative_container) #satori__creative_container .satori__btn.submit:hover {
    background-color: var(--color-btn-primary-hover);
  }
}

.p-eventSingle__formTitle {
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.5;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-eventSingle__formFields {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.p-eventSingle__formItem {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-eventSingle__formRow {
  display: flex;
  gap: var(--space-12);
}

.p-eventSingle__formRow .p-eventSingle__formItem {
  flex: 1;
  min-width: 0;
}

.p-eventSingle__formLabel {
  display: flex;
  gap: var(--space-8);
  align-items: center;
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-eventSingle__req {
  padding-block: calc(2 * var(--to-rem));
  padding-inline: var(--space-8);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1;
  color: var(--color-text-light);
  background-color: var(--color-accent);
}

.p-eventSingle__formInput {
  width: 100%;
  padding: calc(14 * var(--to-rem)) var(--space-16);
  font-size: calc(16 * var(--to-rem));
  line-height: 1.7;
  color: var(--color-text-high);
  background-color: var(--color-surface-light);
  border: calc(1 * var(--to-rem)) solid var(--color-border-middle);
  transition: border-color var(--duration) var(--ease-out);
}

.p-eventSingle__formInput:focus-visible {
  border-color: var(--color-text-high);
  outline: none;
}

.p-eventSingle__formInput::placeholder {
  color: var(--color-text-low);
}

.p-eventSingle__formSelect {
  color: var(--color-text-middle);
  appearance: none;
  cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%);
  background-repeat: no-repeat;
  background-position: calc(100% - 18 * var(--to-rem)) center, calc(100% - 13 * var(--to-rem)) center;
  background-size: calc(5 * var(--to-rem)) calc(5 * var(--to-rem)), calc(5 * var(--to-rem)) calc(5 * var(--to-rem));
}

.p-eventSingle__formSelect:has(option:checked:not([disabled])) {
  color: var(--color-text-high);
}

.p-eventSingle__formTextarea {
  min-height: calc(120 * var(--to-rem));
  resize: vertical;
}

.p-eventSingle__formCheck {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}

.p-eventSingle__formCheckNote {
  font-size: calc(13 * var(--to-rem));
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-eventSingle__formAgree {
  display: flex;
  gap: var(--space-12);
  align-items: flex-start;
  cursor: pointer;
}

.p-eventSingle__formCheckbox {
  flex-shrink: 0;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  margin-block-start: calc(2 * var(--to-rem));
  accent-color: var(--color-text-high);
}

.p-eventSingle__formAgreeText {
  font-size: calc(14 * var(--to-rem));
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-eventSingle__formAgreeText a {
  color: var(--color-text-high);
  text-decoration: underline;
}

/* 送信ボタン（共通ボタン仕様） */
.p-eventSingle__submit {
  display: inline-flex;
  gap: var(--space-32);
  align-items: center;
  justify-content: center;
  min-width: calc(200 * var(--to-rem));
  padding: var(--space-20);
  padding-inline-start: var(--space-32);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  color: var(--color-text-light);
  letter-spacing: -0.02em;
  cursor: pointer;
  background-color: var(--color-btn-primary);
  border-radius: var(--radius-full);
  transition: background-color var(--duration) var(--ease-out);
}

.p-eventSingle__submit:hover {
  background-color: var(--color-btn-primary-hover);
}

.p-eventSingle__submitIcon {
  display: inline-flex;
  width: calc(16 * var(--to-rem));
  height: calc(16 * var(--to-rem));
  color: var(--color-text-light);
}

.p-eventSingle__submitIcon svg {
  width: 100%;
  height: 100%;
}

/* =========================================================
   CTAボタン2連
   ========================================================= */
.p-eventSingle__ctaButtons {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.p-eventSingle__ctaButton {
  display: inline-flex;
  gap: var(--space-32);
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: var(--space-20);
  padding-inline-start: var(--space-32);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  color: var(--color-text-light);
  letter-spacing: -0.02em;
  background-color: var(--color-btn-primary);
  border-radius: var(--radius-full);
  transition: background-color var(--duration) var(--ease-out);
}

.p-eventSingle__ctaButton:hover {
  background-color: var(--color-btn-primary-hover);
}

.p-eventSingle__ctaButtonIcon {
  display: inline-flex;
  width: calc(16 * var(--to-rem));
  height: calc(16 * var(--to-rem));
  color: var(--color-text-light);
}

.p-eventSingle__ctaButtonIcon svg {
  width: 100%;
  height: 100%;
}

/* =========================================================
   SNSシェア
   ========================================================= */
.p-eventSingle__share {
  display: flex;
  gap: var(--space-16);
}

.p-eventSingle__shareItem a {
  display: inline-flex;
  width: calc(40 * var(--to-rem));
  height: calc(40 * var(--to-rem));
  overflow: hidden;
  border-radius: 100%;
  transition: opacity var(--duration) var(--ease-out);
}

.p-eventSingle__shareItem a:hover {
  opacity: 0.7;
}

.p-eventSingle__shareItem img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-expert {
  padding-block: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-expert {
    padding-block: var(--space-64);
  }
}

.p-expert__inner {
  display: flex;
  flex-direction: column;
  gap: calc(56 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-expert__inner {
    gap: var(--space-48);
  }
}

.p-expert__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-expert__header {
    gap: var(--space-48);
  }
}

.p-expert__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-expert__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-expert__title {
  font-family: var(--font-jp);
  font-size: calc(52 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-expert__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-expert__lead {
  display: flex;
  gap: var(--space-32);
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .p-expert__lead {
    flex-direction: column;
    gap: var(--space-24);
    align-items: flex-start;
  }
}

.p-expert__leadText {
  flex: 1;
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-expert__leadText {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-expert__cards {
  display: flex;
  gap: var(--space-20);
  border-radius: calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-expert__cards {
    flex-direction: column;
  }
}

.p-expert__card {
  display: flex;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
  transition: background-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);
}
@media screen and (max-width: 767px) {
  .p-expert__card {
    border-radius: calc(8 * var(--to-rem));
  }
}

.p-expert__card:hover {
  background-color: var(--color-white);
  box-shadow: var(--shadow-card-strong);
}

.p-expert__img {
  width: 100%;
  aspect-ratio: 884/428;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-expert__img {
    aspect-ratio: 335/162;
  }
}

.p-expert__img img {
  width: 100%;
  height: 100%;
  pointer-events: none;
  transition: transform var(--duration-slow) var(--ease-out);
  transform-origin: center center;
  object-fit: cover;
  will-change: transform;
}

.p-expert__card:hover .p-expert__img img {
  transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
  .p-expert__card,
  .p-expert__img img {
    transition: none;
  }
  .p-expert__card:hover .p-expert__img img {
    transform: none;
  }
}
.p-expert__cardBody {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-24) var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-expert__cardBody {
    padding: var(--space-24);
  }
}

.p-expert__cardTitle {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.01em;
}

.p-expert__date {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: 0.01em;
}

.p-floatingBanner {
  position: fixed;
  right: var(--space-40);
  bottom: var(--space-20);
  z-index: var(--z-index-floating-banner);
  width: calc(248 * var(--to-rem));
  max-width: calc(100vw - var(--space-32));
}
@media screen and (max-width: 767px) {
  .p-floatingBanner {
    right: var(--space-16);
    bottom: var(--space-16);
  }
}

.p-floatingBanner__pattern {
  position: relative;
  display: none;
  flex-direction: column;
  gap: var(--space-16);
  padding-block: var(--space-20);
  padding-inline: var(--space-20);
  background-color: var(--color-cta-contact);
}

.p-floatingBanner[data-fb-active="1"] .p-floatingBanner__pattern--1,
.p-floatingBanner[data-fb-active="2"] .p-floatingBanner__pattern--2 {
  display: flex;
}

.p-floatingBanner__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: url(../img/floating-banner-bg-texture.webp);
  background-position: center;
  background-size: cover;
}

.p-floatingBanner__close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(24 * var(--to-rem));
  height: calc(24 * var(--to-rem));
  cursor: pointer;
  background-color: rgba(255, 255, 255, 0.4);
  backdrop-filter: blur(10px);
  border: 1px solid var(--color-border-middle);
  border-radius: 100%;
  box-shadow: inset 0 0 calc(40 * var(--to-rem)) rgba(255, 255, 255, 0.2);
  translate: 33.33% -50%;
}

.p-floatingBanner__close svg {
  width: calc(16 * var(--to-rem));
  height: calc(16 * var(--to-rem));
}

.p-floatingBanner__body {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.p-floatingBanner__tag {
  width: fit-content;
  padding-block: var(--space-4);
  font-family: var(--font-jp);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  border-bottom: 1px solid var(--color-border-middle);
}

.p-floatingBanner__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-floatingBanner__thumb {
  width: 100%;
  height: auto;
  aspect-ratio: 200/104.64;
  object-fit: cover;
}

.p-floatingBanner__date {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
}

.p-floatingBanner__heading {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-floatingBanner__text {
  font-family: var(--font-jp);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
}

.p-floatingBanner__cta {
  width: 100%;
}

.p-focus {
  padding-block-start: calc(96 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-focus {
    padding-block-start: var(--space-64);
  }
}

.p-focus__list {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(2 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-focus__list {
    grid-template-columns: 1fr;
  }
}

.p-focus__item {
  display: flex;
}

.p-focus__card {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-24);
  width: 100%;
  padding-block: calc(40 * var(--to-rem)) var(--space-32);
  padding-inline: calc(40 * var(--to-rem));
  color: inherit;
  text-decoration: none;
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
  transition: background-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);
}
@media screen and (max-width: 767px) {
  .p-focus__card {
    gap: var(--space-8);
    padding-block: var(--space-16);
    padding-inline: var(--space-24);
  }
}

@media screen and (max-width: 767px) {
  .p-focus__card.is-open {
    padding-block: var(--space-24);
  }
}

@media (hover: hover) {
  .p-focus__card:hover {
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
  }
  .p-focus__card:hover .p-focus__arrow {
    color: var(--color-white);
    background-color: var(--color-black);
    border-color: var(--color-black);
  }
}
.p-focus__cardHead {
  display: flex;
  flex-direction: column;
  gap: calc(2 * var(--to-rem));
  padding-block-end: var(--space-12);
  border-block-end: 1px solid var(--color-border-high);
}
@media screen and (max-width: 767px) {
  .p-focus__cardHead {
    gap: 0;
    padding-block-end: 0;
    padding-inline-end: calc(36 * var(--to-rem));
    border-block-end: none;
  }
}

.p-focus__cardEn {
  font-family: var(--font-en);
  font-size: calc(34 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-focus__cardEn {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-focus__cardEnSub {
  font-family: var(--font-en);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-low);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-focus__cardEnSub {
    font-size: calc(10 * var(--to-rem));
  }
}

.p-focus__cardBody {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}
@media screen and (max-width: 767px) {
  .p-focus__cardBody {
    gap: 0;
  }
}

.p-focus__cardHdg {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-focus__cardHdg {
    padding-inline-end: calc(42 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .p-focus__cardDetail {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    opacity: 0;
    transition: grid-template-rows var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out);
  }
}

@media screen and (max-width: 767px) {
  .p-focus__card.is-open .p-focus__cardDetail {
    grid-template-rows: 1fr;
    opacity: 1;
  }
}

.p-focus__cardDetailInner {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}
@media screen and (max-width: 767px) {
  .p-focus__cardDetailInner {
    min-height: 0;
    padding-block-start: calc(32 * var(--to-rem));
  }
}

.p-focus__cardDesc {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-focus__cardDesc {
    font-size: calc(14 * var(--to-rem));
    letter-spacing: -0.02em;
  }
}

.p-focus__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8) var(--space-4);
  align-items: flex-start;
}

.p-focus__tag {
  padding-block: calc(3 * var(--to-rem));
  padding-inline: var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.5;
  color: var(--color-text-middle);
  letter-spacing: -0.01em;
  border: 1px solid var(--color-border-middle);
}

.p-focus__arrow {
  display: flex;
  align-items: center;
  align-self: flex-end;
  justify-content: center;
  width: calc(38 * var(--to-rem));
  height: calc(28 * var(--to-rem));
  margin-block-start: auto;
  color: var(--color-text-high);
  border: 1px solid transparent;
  border-radius: var(--radius-full);
  transition: color var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out);
}
@media screen and (max-width: 767px) {
  .p-focus__arrow {
    height: 0;
    margin-block-start: var(--space-12);
    overflow: hidden;
    opacity: 0;
    transition: height var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out);
  }
}

@media screen and (max-width: 767px) {
  .p-focus__card.is-open .p-focus__arrow {
    height: calc(28 * var(--to-rem));
    opacity: 1;
  }
}

.p-focus__arrow svg {
  transition: transform var(--duration) var(--ease-out);
}

.p-focus__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-focus__toggle {
    position: absolute;
    inset-block-start: calc(58 * var(--to-rem));
    inset-inline-end: var(--space-24);
    display: block;
    width: calc(26 * var(--to-rem));
    height: calc(42 * var(--to-rem));
    cursor: pointer;
    background-color: transparent;
    border: none;
    border-radius: var(--radius-full);
  }
}

.p-focus__toggle::before,
.p-focus__toggle::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  content: "";
  background-color: var(--color-text-high);
  transition: opacity var(--duration) var(--ease-out);
}

.p-focus__toggle::before {
  width: calc(14.5 * var(--to-rem));
  height: 1.5px;
  transform: translate(-50%, -50%);
}

.p-focus__toggle::after {
  width: 1.5px;
  height: calc(14.5 * var(--to-rem));
  transform: translate(-50%, -50%);
}

.p-focus__card.is-open .p-focus__toggle::after {
  opacity: 0;
}

@media (prefers-reduced-motion: reduce) {
  .p-focus__card {
    transition: none;
  }
  .p-focus__card:hover {
    transform: none;
  }
  .p-focus__cardDetail,
  .p-focus__arrow svg,
  .p-focus__toggle::before,
  .p-focus__toggle::after {
    transition: none;
  }
}
.p-footer {
  display: flex;
  justify-content: center;
  padding-block: var(--space-96) var(--space-56);
  padding-inline: var(--space-40);
  background-color: var(--color-surface-light);
}
@media screen and (max-width: 767px) {
  .p-footer {
    padding-block: var(--space-72) var(--space-40);
    padding-inline: var(--space-20);
  }
}

.p-footer__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-48);
  width: 100%;
  max-width: calc(1360 * var(--to-rem));
}

.p-footer__top {
  display: flex;
  gap: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-footer__top {
    flex-direction: column;
    gap: var(--space-56);
  }
}

.p-footer__brand {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-24);
}
@media screen and (max-width: 767px) {
  .p-footer__brand {
    gap: var(--space-20);
  }
}

.p-footer__logo {
  display: block;
  width: calc(209 * var(--to-rem));
}

.p-footer__logo img {
  width: 100%;
  height: auto;
}

.p-footer__info {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}
@media screen and (max-width: 767px) {
  .p-footer__info {
    gap: var(--space-12);
  }
}

.p-footer__company,
.p-footer__address {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: 0.02em;
}

.p-footer__nav {
  display: flex;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-footer__nav {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, calc(147 * var(--to-rem))));
    row-gap: var(--space-32);
    column-gap: var(--space-20);
  }
}

.p-footer__col {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.p-footer__colTitle {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
}

.p-footer__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}
@media screen and (max-width: 767px) {
  .p-footer__list {
    gap: var(--space-8);
  }
}

.p-footer__link {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-decoration: none;
  letter-spacing: 0.02em;
}

@media (any-hover: hover) {
  .p-footer__link:hover {
    text-decoration: underline;
  }
}
.p-footer__copyright {
  font-family: var(--font-en);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.3333333333;
  color: var(--color-text-middle);
  letter-spacing: 0.07em;
}
@media screen and (max-width: 767px) {
  .p-footer__copyright {
    font-size: calc(11 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: 0.05em;
  }
}

.p-form {
  --_form-color-text: var(--color-text);
  --_form-color-bg: var(--color-white);
  --_form-color-badge-text: var(--color-white);
  --_form-color-badge-bg: var(--color-orange);
  --_form-color-accent: var(--color-accent);
  --_form-color-border: var(--color-border-gray);
  --_form-color-primary: var(--color-primary);
  max-width: calc(800 * var(--to-rem));
  margin-inline: auto;
}
.p-form > * {
  margin-block-start: calc(48 * var(--to-rem));
}
.p-form > *:nth-last-child(2) {
  margin-block-start: calc(24 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-form > * {
    margin-block-start: calc(40 * var(--to-rem));
  }
  .p-form > *:nth-last-child(2) {
    margin-block-start: calc(20 * var(--to-rem));
  }
}

.p-form__item {
  display: grid;
  gap: calc(8 * var(--to-rem));
}

.p-form__label {
  display: block;
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  color: var(--_form-color-text);
}

.p-form__label--required {
  position: relative;
  padding-inline-end: calc(50 * var(--to-rem));
}

.p-form__label--required::after {
  position: absolute;
  top: 50%;
  right: 0;
  padding-block: calc(8 * var(--to-rem));
  padding-inline: calc(16 * var(--to-rem));
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--_form-color-badge-text);
  content: "必須";
  background-color: var(--_form-color-badge-bg);
  border-radius: 4px;
  translate: 0 -50%;
}

.p-form__input,
.p-form__select,
.p-form__textarea {
  width: 100%;
  padding: calc(16 * var(--to-rem)) calc(20 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  line-height: 1.5;
  color: var(--_form-color-text);
  background-color: var(--_form-color-bg);
  border: 1px solid var(--_form-color-border);
  border-radius: 8px;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.p-form__input::placeholder,
.p-form__select::placeholder,
.p-form__textarea::placeholder {
  color: oklch(from var(--_form-color-text) l c h/50%);
}

.p-form__input:focus,
.p-form__select:focus,
.p-form__textarea:focus {
  border-color: var(--_form-color-accent);
  outline: none;
  box-shadow: 0 0 0 3px oklch(from var(--_form-color-accent) l c h/10%);
}

.p-form__input:hover:not(:focus),
.p-form__select:hover:not(:focus),
.p-form__textarea:hover:not(:focus) {
  border-color: var(--_form-color-accent);
  opacity: 0.7;
}

.p-form__input.is-error,
.p-form__select.is-error,
.p-form__textarea.is-error {
  border-color: var(--_form-color-badge-bg);
}

@media screen and (max-width: 767px) {
  .p-form__input,
  .p-form__select,
  .p-form__textarea {
    padding: calc(14 * var(--to-rem)) calc(16 * var(--to-rem));
  }
}
.p-form__select {
  position: relative;
  padding-inline-end: calc(48 * var(--to-rem));
  appearance: none;
  cursor: pointer;
}

.p-form__select-wrap {
  position: relative;
}

.p-form__select-wrap::after {
  position: absolute;
  top: 50%;
  right: calc(16 * var(--to-rem));
  width: calc(12 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  clip-path: var(--clip-triangle-bottom);
  pointer-events: none;
  content: "";
  background-color: var(--_form-color-primary);
  border: none;
  translate: 0 -50%;
}

.p-form__textarea {
  min-height: calc(160 * var(--to-rem));
}

.p-form__radio-group {
  display: flex;
  flex-flow: row wrap;
  gap: calc(32 * var(--to-rem)) calc(40 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-form__radio-group {
    flex-flow: column nowrap;
    gap: calc(8 * var(--to-rem));
  }
}

.p-form__radio {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.p-form__radio input[type=radio] {
  position: relative;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  margin: 0;
  margin-inline-end: calc(16 * var(--to-rem));
  appearance: none;
  cursor: pointer;
  border: 2px solid var(--_form-color-border);
  border-radius: 50%;
  transition: border-color 0.2s ease;
}

.p-form__radio input[type=radio]:checked {
  background-color: var(--_form-color-accent);
  border-color: var(--_form-color-accent);
}

.p-form__radio input[type=radio]:checked::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: calc(8 * var(--to-rem));
  height: calc(8 * var(--to-rem));
  content: "";
  background-color: var(--_form-color-bg);
  border-radius: 50%;
  translate: -50% -50%;
}

.p-form__radio input[type=radio]:hover:not(:checked) {
  border-color: var(--_form-color-accent);
  opacity: 0.5;
}

.p-form__radio input[type=radio]:focus {
  outline: none;
  box-shadow: 0 0 0 3px oklch(from var(--_form-color-accent) l c h/10%);
}

.p-form__radio-text {
  font-size: calc(16 * var(--to-rem));
  color: var(--_form-color-text);
  user-select: none;
}

.p-form__checkbox {
  display: flex;
  align-items: center;
  cursor: pointer;
}

.p-form__checkbox input[type=checkbox] {
  position: relative;
  width: calc(20 * var(--to-rem));
  height: calc(20 * var(--to-rem));
  margin: 0;
  margin-inline-end: calc(8 * var(--to-rem));
  appearance: none;
  cursor: pointer;
  border: 2px solid var(--_form-color-border);
  border-radius: 4px;
  transition: border-color 0.2s ease;
}

.p-form__checkbox input[type=checkbox]:checked {
  background-color: var(--_form-color-accent);
  border-color: var(--_form-color-accent);
}

.p-form__checkbox input[type=checkbox]:checked::after {
  position: absolute;
  top: calc(2 * var(--to-rem));
  left: calc(5 * var(--to-rem));
  width: calc(6 * var(--to-rem));
  height: calc(10 * var(--to-rem));
  content: "";
  border: 2px solid var(--_form-color-bg);
  border-top: none;
  border-left: none;
  rotate: 45deg;
}

.p-form__checkbox input[type=checkbox]:hover:not(:checked) {
  border-color: var(--_form-color-accent);
  opacity: 0.5;
}

.p-form__checkbox input[type=checkbox]:focus {
  outline: none;
  box-shadow: 0 0 0 3px oklch(from var(--_form-color-accent) l c h/10%);
}

.p-form__checkbox-text {
  font-size: calc(16 * var(--to-rem));
  color: var(--_form-color-text);
  user-select: none;
}

.p-form__link {
  color: var(--_form-color-accent);
  text-decoration: underline;
  transition: opacity 0.2s ease;
}
@media (any-hover: hover) {
  .p-form__link:hover {
    opacity: 0.8;
  }
}

.p-form__button-wrap {
  text-align: center;
}

.p-form__error {
  display: block;
  font-size: calc(14 * var(--to-rem));
  color: var(--_form-color-badge-bg);
}

.p-form__success {
  padding: calc(24 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  color: var(--_form-color-accent);
  text-align: center;
  background-color: rgba(64, 143, 149, 0.1);
  border: 1px solid var(--_form-color-accent);
  border-radius: calc(8 * var(--to-rem));
}

.p-header {
  display: flex;
  justify-content: center;
  padding-block: var(--space-24);
  padding-inline: var(--space-40);
  background-color: transparent;
  transition: background-color var(--duration) var(--ease-out), backdrop-filter var(--duration) var(--ease-out);
}

.p-header.is-scrolled {
  background-color: var(--color-header-scrolled);
  backdrop-filter: blur(10px);
}

.p-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.p-header__logo {
  display: block;
  flex-shrink: 0;
  width: calc(209 * var(--to-rem));
}

.p-header__logo img {
  width: 100%;
  height: auto;
}

.p-header__nav {
  display: flex;
  gap: var(--space-24);
  align-items: center;
}

.p-header__navList {
  display: flex;
  gap: var(--space-24);
  align-items: center;
}

.p-header__navLink {
  position: relative;
  display: inline-block;
  padding-block: var(--space-4);
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  text-decoration: none;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
.p-header__navLink::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: currentColor;
  transition: transform var(--duration) var(--ease-out);
  transform: scaleX(0);
  transform-origin: left center;
}

@media (any-hover: hover) {
  .p-header__navLink:hover::after {
    transform: scaleX(1);
  }
}
.p-header__navItem--dropdown {
  position: relative;
}

.p-header__navTrigger {
  position: relative;
  display: inline-flex;
  gap: var(--space-4);
  align-items: center;
  padding-block: var(--space-4);
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.01em;
  white-space: nowrap;
  cursor: pointer;
  background: transparent;
  border: none;
}

.p-header__navTrigger::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: currentColor;
  transition: transform var(--duration) var(--ease-out);
  transform: scaleX(0);
  transform-origin: left center;
}

.p-header__navTriggerIcon {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(14 * var(--to-rem));
  height: calc(14 * var(--to-rem));
  color: var(--color-text-high);
  transition: transform var(--duration) var(--ease-out);
}

.p-header__dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 20;
  width: calc(180 * var(--to-rem));
  padding-block: var(--space-16);
  padding-inline: var(--space-32);
  pointer-events: none;
  visibility: hidden;
  background-color: var(--color-surface-light);
  box-shadow: 0 calc(5 * var(--to-rem)) calc(7.5 * var(--to-rem)) rgba(84, 91, 107, 0.15);
  opacity: 0;
  transition: opacity var(--duration) var(--ease-out), visibility var(--duration) var(--ease-out);
}

.p-header__dropdownList {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-header__dropdownLink {
  position: relative;
  display: inline-block;
  padding-block: var(--space-4);
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  text-decoration: none;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.p-header__dropdownLink::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: currentColor;
  transition: transform var(--duration) var(--ease-out);
  transform: scaleX(0);
  transform-origin: left center;
}

@media (any-hover: hover) {
  .p-header__navItem--dropdown:hover .p-header__navTrigger::after,
  .p-header__navItem--dropdown:focus-within .p-header__navTrigger::after {
    transform: scaleX(1);
  }
  .p-header__navItem--dropdown:hover .p-header__navTriggerIcon,
  .p-header__navItem--dropdown:focus-within .p-header__navTriggerIcon {
    transform: rotate(180deg);
  }
  .p-header__navItem--dropdown:hover .p-header__dropdown,
  .p-header__navItem--dropdown:focus-within .p-header__dropdown {
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
  }
  .p-header__dropdownLink:hover::after {
    transform: scaleX(1);
  }
}
.p-header__buttons {
  display: flex;
  gap: var(--space-8);
  align-items: center;
}

.p-header__hamburger {
  position: relative;
  z-index: 10;
  display: none;
  flex-direction: column;
  justify-content: center;
  width: calc(40 * var(--to-rem));
  height: calc(40 * var(--to-rem));
  padding: 0;
  background: transparent;
  border: none;
}

.p-header__hamburgerBar {
  display: block;
  width: calc(24 * var(--to-rem));
  height: 2px;
  margin-inline: auto;
  background-color: var(--color-text-high);
  transition: transform var(--duration) var(--ease-out), opacity var(--duration) var(--ease-out);
}

.p-header__hamburgerBar:not(:first-child) {
  margin-top: calc(6 * var(--to-rem));
}

.p-header__hamburger.is-open .p-header__hamburgerBar:nth-child(1) {
  transform: translateY(calc(8 * var(--to-rem))) rotate(45deg);
}

.p-header__hamburger.is-open .p-header__hamburgerBar:nth-child(2) {
  opacity: 0;
}

.p-header__hamburger.is-open .p-header__hamburgerBar:nth-child(3) {
  transform: translateY(calc(-8 * var(--to-rem))) rotate(-45deg);
}

.p-header__drawer {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 5;
  display: none;
  width: 100%;
  max-height: 100dvh;
  padding-block: calc(88 * var(--to-rem)) calc(48 * var(--to-rem));
  padding-inline: calc(48 * var(--to-rem));
  overflow-y: auto;
  background-color: var(--color-bg-base);
  backdrop-filter: blur(15px);
}

.p-header__drawer.is-open {
  display: block;
}

.p-header__drawerNav {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

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

.p-header__drawerLink {
  display: flex;
  flex-direction: column;
  gap: calc(2 * var(--to-rem));
  padding-block: var(--space-16);
  padding-inline: var(--space-16) 0;
  text-decoration: none;
  border-bottom: 1px solid var(--color-border-low);
}

.p-header__drawerAccordion {
  display: flex;
  gap: var(--space-8);
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding-block: var(--space-16);
  padding-inline: var(--space-16) 0;
  text-align: left;
  cursor: pointer;
  background: transparent;
  border: none;
  border-bottom: 1px solid var(--color-border-low);
}

.p-header__drawerLabel {
  display: flex;
  flex-direction: column;
  gap: calc(2 * var(--to-rem));
}

.p-header__drawerAccordionChevron {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(16 * var(--to-rem));
  height: calc(16 * var(--to-rem));
  color: var(--color-text-high);
  transition: transform var(--duration) var(--ease-out);
}

.p-header__drawerAccordion.is-open .p-header__drawerAccordionChevron {
  transform: rotate(180deg);
}

.p-header__drawerSubmenu {
  display: none;
  padding-block: var(--space-16);
  padding-inline: calc(32 * var(--to-rem)) 0;
  background-color: var(--color-surface-light);
  border-bottom: 1px solid var(--color-border-low);
}

.p-header__drawerSubmenuList {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-header__drawerSubmenuLink {
  display: block;
  padding-block: var(--space-4);
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  text-decoration: none;
  letter-spacing: 0.02em;
}

.p-header__drawerEn {
  font-family: var(--font-en);
  font-size: calc(9 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-text-low);
  letter-spacing: 0.05em;
}

.p-header__drawerJa {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-header__drawerButtons {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  align-items: flex-start;
}

.p-header__drawerButtons .c-button {
  justify-content: space-between;
  min-width: calc(175 * var(--to-rem));
}

.p-header__drawerButtons .c-button__label {
  font-size: max(12px, 14 * var(--to-rem));
}

@media screen and (max-width: 1279px) {
  .p-header__navList {
    display: none;
  }
  .p-header__nav {
    flex-shrink: 1;
    gap: 0;
    min-width: 0;
    margin-left: auto;
  }
  .p-header__buttons {
    flex-shrink: 1;
    justify-content: flex-end;
    min-width: 0;
  }
  .p-header__hamburger {
    display: flex;
    flex-shrink: 0;
    margin-left: var(--space-16);
  }
}
@media screen and (max-width: 767px) {
  .p-header {
    padding-block: var(--space-24);
    padding-inline: var(--space-20) var(--space-16);
  }
  .p-header__logo {
    width: calc(180 * var(--to-rem));
  }
  .p-header__nav {
    display: none;
  }
  .p-header__hamburger {
    margin-left: 0;
  }
}
.p-identity {
  padding-block: calc(152 * var(--to-rem)) calc(120 * var(--to-rem));
  scroll-margin-top: var(--header-height);
}
@media screen and (max-width: 767px) {
  .p-identity {
    padding-block: calc(80 * var(--to-rem)) calc(64 * var(--to-rem));
  }
}

.p-identity__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80, calc(80 * var(--to-rem)));
}
@media screen and (max-width: 767px) {
  .p-identity__inner {
    gap: var(--space-48);
  }
}

.p-identity__top {
  display: flex;
  gap: calc(64 * var(--to-rem));
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-identity__top {
    flex-direction: column-reverse;
    gap: var(--space-32);
    align-items: stretch;
  }
}

.p-identity__figure {
  flex-shrink: 0;
  width: calc(550 * var(--to-rem));
  overflow: hidden;
  border-radius: calc(8 * var(--to-rem));
}
@media screen and (width >= 768px) and (width <= 1280px) {
  .p-identity__figure {
    width: 37.6736111111%;
  }
}
@media screen and (max-width: 767px) {
  .p-identity__figure {
    width: 100%;
    border-radius: calc(16 * var(--to-rem));
  }
}

.p-identity__figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
}

.p-identity__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-48);
}
@media screen and (max-width: 767px) {
  .p-identity__body {
    gap: var(--space-48);
  }
}

.p-identity__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-identity__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-identity__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-identity__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.5;
    letter-spacing: -0.03em;
  }
}

.p-identity__text {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-identity__text {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-identity__stats {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-identity__stats {
    flex-direction: column;
  }
}

.p-identity__stat {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  padding-inline: var(--space-20);
  border-left: 1px solid var(--color-border-high);
}
@media screen and (max-width: 767px) {
  .p-identity__stat {
    flex: none;
    flex-direction: row;
    gap: 0;
    align-items: center;
    justify-content: space-between;
    padding-block: var(--space-20);
    padding-inline: var(--space-16);
    border-top: 1px solid var(--color-border-middle);
    border-left: none;
  }
}

.p-identity__stat:last-child {
  border-right: 1px solid var(--color-border-high);
}
@media screen and (max-width: 767px) {
  .p-identity__stat:last-child {
    border-right: none;
    border-bottom: 1px solid var(--color-border-middle);
  }
}

.p-identity__statLabel {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-accent);
}
@media screen and (max-width: 767px) {
  .p-identity__statLabel {
    letter-spacing: -0.02em;
  }
}

.p-identity__statNum {
  font-family: var(--font-en);
  font-size: calc(67 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1;
  color: var(--color-text-high);
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .p-identity__statNum {
    font-size: calc(45 * var(--to-rem));
    letter-spacing: -0.01em;
  }
}

.p-identity__statUnit {
  font-size: calc(50 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-identity__statUnit {
    font-size: calc(40 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .p-identity__statUnit--percent {
    font-size: calc(30 * var(--to-rem));
  }
}

.p-industries {
  padding-block: calc(40 * var(--to-rem)) calc(96 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-industries {
    padding-block: var(--space-32) var(--space-64);
  }
}

.p-industries__panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  padding-block: calc(40 * var(--to-rem));
  padding-inline: calc(48 * var(--to-rem));
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
}
@media screen and (max-width: 767px) {
  .p-industries__panel {
    gap: var(--space-24);
    padding-block: var(--space-32);
    padding-inline: var(--space-24);
  }
}

.p-industries__title {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-industries__title {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-industries__list {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: var(--space-20) calc(48 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-industries__list {
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-20) var(--space-16);
  }
}

.p-industries__item {
  display: flex;
  gap: var(--space-8);
  align-items: flex-start;
}

.p-industries__icon {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: calc(32 * var(--to-rem));
  height: calc(32 * var(--to-rem));
  background-color: var(--color-surface-subtle);
}
@media screen and (max-width: 767px) {
  .p-industries__icon {
    width: calc(24 * var(--to-rem));
    height: calc(24 * var(--to-rem));
  }
}

.p-industries__icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-industries__label {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-industries__label {
    font-size: calc(14 * var(--to-rem));
    line-height: 1.4;
  }
}

.p-kv {
  position: relative;
  display: flex;
  align-items: center;
  height: calc(820 * var(--to-rem));
  padding-left: calc(80 * var(--to-rem));
  overflow-x: clip;
}

.p-kv::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(1499 * var(--to-rem));
  pointer-events: none;
  content: "";
  background-image: url(../img/kv-bg.png);
  background-image: image-set(url(../img/kv-bg.webp) type("image/webp"), url(../img/kv-bg.png) type("image/png"));
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
  mask-image: linear-gradient(to bottom, #000 55%, transparent 100%);
  mask-repeat: no-repeat;
  mask-position: top;
  animation: fv-bg-in 1.6s linear 0.5s both;
}

.p-kv__copy {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
}

.p-kv__title {
  font-family: var(--font-jp);
  font-size: clamp(37.33 * var(--to-rem), 4.861vw, 87.5 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  animation: fv-catch-in 2s var(--ease-out) 0.2s both;
}

.p-kv__lead {
  font-family: var(--font-jp);
  font-size: clamp(9.07 * var(--to-rem), 1.181vw, 21.25 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.8;
  color: var(--color-text-high);
  letter-spacing: 0.02em;
  animation: fv-lead-in 1s var(--ease-out) 1.1s both;
}

.p-kv__scroll {
  position: absolute;
  bottom: calc(0 * var(--to-rem));
  left: calc(80 * var(--to-rem));
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  animation: fv-scroll-in 0.8s var(--ease-out) 1.5s both;
}

.p-kv__scrollText {
  font-family: var(--font-en);
  font-size: calc(11 * var(--to-rem));
  color: var(--color-text-high);
  letter-spacing: 0.05em;
  writing-mode: vertical-rl;
}

.p-kv__scrollLine {
  position: relative;
  width: 1px;
  height: calc(44 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-border-middle);
}

.p-kv__scrollLine::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 40%;
  content: "";
  background-color: var(--color-text-high);
  animation: kv-scroll-flow 2s var(--ease-in-out) infinite;
}

@keyframes kv-scroll-flow {
  0% {
    transform: translateY(-100%);
  }
  100% {
    transform: translateY(250%);
  }
}
@media screen and (max-width: 767px) {
  .p-kv {
    align-items: flex-start;
    height: calc(780 * var(--to-rem));
    padding-block-start: calc(168 * var(--to-rem));
    padding-left: var(--space-20);
  }
  .p-kv::before {
    inset: 0;
    height: auto;
    background-image: url(../img/kv-bg-sp.png);
    background-image: image-set(url(../img/kv-bg-sp.webp) type("image/webp"), url(../img/kv-bg-sp.png) type("image/png"));
    background-position: center center;
    background-size: cover;
  }
  .p-kv__copy {
    gap: var(--space-32);
  }
  .p-kv__title {
    font-size: calc(33 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
  .p-kv__lead {
    max-width: calc(272 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
    line-height: 1.7;
    letter-spacing: normal;
  }
  .p-kv__scroll {
    bottom: var(--space-20);
    left: var(--space-20);
  }
}
@keyframes fv-catch-in {
  0% {
    filter: blur(14px);
    opacity: 0;
    transform: translateX(-1.2%);
  }
  100% {
    filter: blur(0);
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fv-lead-in {
  0% {
    opacity: 0;
    transform: translateY(calc(16 * var(--to-rem)));
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fv-bg-in {
  0% {
    mask-size: 100% 0%;
  }
  100% {
    mask-size: 100% 160%;
  }
}
@keyframes fv-scroll-in {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-kv::before,
  .p-kv__title,
  .p-kv__lead,
  .p-kv__scroll {
    animation: none;
  }
}
.p-mmHero {
  position: relative;
  padding-block: calc(32 * var(--to-rem)) calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-mmHero {
    padding-block: var(--space-32) calc(80 * var(--to-rem));
  }
}

.p-mmHero__inner {
  display: flex;
  flex-direction: column;
  gap: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-mmHero__inner {
    gap: calc(52 * var(--to-rem));
  }
}

.p-mmHero__crumb {
  display: inline;
}

.p-mmHero__crumb,
.p-mmHero__crumbLink,
.p-mmHero__sep {
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .p-mmHero__crumb,
  .p-mmHero__crumbLink,
  .p-mmHero__sep {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-mmHero__crumbLink {
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

.p-mmHero__crumbLink:hover {
  opacity: 0.6;
}

.p-mmHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-mmHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-mmHero__crumb[aria-current=page] {
  color: var(--color-text-low);
}

.p-mmHero__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.p-mmHero__title {
  font-family: var(--font-jp);
  font-size: calc(58 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-mmHero__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
  }
}

.p-mmHero__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-mmHero__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-offering {
  position: relative;
  padding-block: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-offering {
    padding-block: var(--space-64);
  }
}

.p-offering::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(2305 * var(--to-rem));
  pointer-events: none;
  content: "";
  background-image: url(../img/offering-bg.png);
  background-image: image-set(url(../img/offering-bg.webp) type("image/webp"), url(../img/offering-bg.png) type("image/png"));
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .p-offering::before {
    height: calc(1120 * var(--to-rem));
    background-image: url(../img/offering-bg-sp.png);
    background-image: image-set(url(../img/offering-bg-sp.webp) type("image/webp"), url(../img/offering-bg-sp.png) type("image/png"));
  }
}

.p-offering__inner {
  display: flex;
  flex-direction: column;
  gap: calc(56 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-offering__inner {
    gap: var(--space-16);
  }
}

.p-offering__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-offering__header {
    gap: var(--space-48);
  }
}

.p-offering__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-offering__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-offering__title {
  font-family: var(--font-jp);
  font-size: calc(52 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-offering__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-offering__lead {
  display: flex;
  gap: calc(56 * var(--to-rem));
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .p-offering__lead {
    flex-direction: column;
    gap: var(--space-24);
    align-items: flex-start;
  }
}

.p-offering__leadText {
  flex: 1;
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-offering__leadText {
    flex: none;
    width: 100%;
    font-size: calc(16 * var(--to-rem));
  }
}

.p-offering__cards {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
@media screen and (max-width: 767px) {
  .p-offering__cards {
    gap: 2px;
    margin-top: var(--space-32);
  }
}

.p-offering__row {
  display: flex;
  gap: 2px;
}
@media screen and (max-width: 767px) {
  .p-offering__row {
    flex-direction: column;
    gap: 2px;
  }
}

.p-offering__card {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-24);
  padding: calc(40 * var(--to-rem)) calc(40 * var(--to-rem)) calc(32 * var(--to-rem));
  color: inherit;
  text-decoration: none;
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
  transition: background-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out), transform var(--duration-slow) var(--ease-out);
}
@media screen and (max-width: 767px) {
  .p-offering__card {
    gap: 0;
    padding: var(--space-16) var(--space-24);
  }
}

@media (hover: hover) {
  .p-offering__card:hover {
    background-color: var(--color-white);
    box-shadow: var(--shadow-card);
  }
  .p-offering__card:hover .p-offering__iconBtn {
    color: var(--color-white);
    background-color: var(--color-black);
    border-color: var(--color-black);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-offering__card,
  .p-offering__cardDetail,
  .p-offering__iconBtn,
  .p-offering__toggle::before,
  .p-offering__toggle::after {
    transition: none;
  }
  .p-offering__card:hover {
    transform: none;
  }
}
.p-offering__cardInner {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-24);
}
@media screen and (max-width: 767px) {
  .p-offering__cardInner {
    gap: var(--space-8);
  }
}

.p-offering__cardHeader {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding-bottom: var(--space-12);
  border-bottom: 1px solid var(--color-border-high);
}
@media screen and (max-width: 767px) {
  .p-offering__cardHeader {
    gap: 0;
    padding-inline-end: calc(36 * var(--to-rem));
    padding-bottom: 0;
    border-bottom: none;
  }
}

.p-offering__cardTitle {
  font-family: var(--font-en);
  font-size: calc(34 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-offering__cardTitle {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-offering__cardSub {
  font-family: var(--font-en);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-border-middle);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-offering__cardSub {
    font-size: calc(10 * var(--to-rem));
  }
}

.p-offering__cardBody {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}
@media screen and (max-width: 767px) {
  .p-offering__cardBody {
    gap: 0;
  }
}

.p-offering__cardDesc {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-offering__cardDesc {
    padding-block-end: var(--space-12);
    padding-inline-end: calc(42 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .p-offering__cardDetail {
    display: grid;
    grid-template-rows: 0fr;
    overflow: hidden;
    opacity: 0;
    transition: grid-template-rows var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out);
  }
}

@media screen and (max-width: 767px) {
  .p-offering__card.is-open .p-offering__cardDetail {
    grid-template-rows: 1fr;
    opacity: 1;
  }
}

.p-offering__cardDetailInner {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}
@media screen and (max-width: 767px) {
  .p-offering__cardDetailInner {
    min-height: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-offering__card.is-open .p-offering__cardDetailInner {
    padding-block-start: var(--space-20);
  }
}

.p-offering__cardText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-offering__cardText {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-offering__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4) var(--space-8);
}

.p-offering__tag {
  padding: var(--space-4) var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(12 * var(--to-rem));
  line-height: 1.5;
  color: var(--color-border-middle);
  letter-spacing: -0.01em;
  border: 1px solid var(--color-border-middle);
}

.p-offering__iconBtn {
  display: inline-flex;
  align-items: center;
  align-self: flex-end;
  justify-content: center;
  width: calc(38 * var(--to-rem));
  height: calc(28 * var(--to-rem));
  color: var(--color-text-high);
  border: 1px solid transparent;
  border-radius: var(--radius-full);
  transition: color var(--duration) var(--ease-out), background-color var(--duration) var(--ease-out), border-color var(--duration) var(--ease-out);
}
@media screen and (max-width: 767px) {
  .p-offering__iconBtn {
    align-self: flex-end;
    width: calc(28 * var(--to-rem));
    height: 0;
    overflow: hidden;
    opacity: 0;
    transition: height var(--duration-slow) var(--ease-out), opacity var(--duration-slow) var(--ease-out);
  }
}

@media screen and (max-width: 767px) {
  .p-offering__card.is-open .p-offering__iconBtn {
    height: calc(28 * var(--to-rem));
    opacity: 1;
  }
}

.p-offering__iconBtn svg {
  width: calc(18 * var(--to-rem));
  height: calc(18 * var(--to-rem));
}

.p-offering__toggle {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-offering__toggle {
    position: absolute;
    inset-block-start: calc(58 * var(--to-rem));
    inset-inline-end: var(--space-24);
    z-index: 1;
    display: block;
    width: calc(18 * var(--to-rem));
    height: calc(18 * var(--to-rem));
    cursor: pointer;
    background-color: transparent;
    border: none;
  }
}

.p-offering__toggle::before,
.p-offering__toggle::after {
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  content: "";
  background-color: var(--color-text-high);
  transition: opacity var(--duration) var(--ease-out);
}

.p-offering__toggle::before {
  width: calc(14.25 * var(--to-rem));
  height: 1.5px;
  transform: translate(-50%, -50%);
}

.p-offering__toggle::after {
  width: 1.5px;
  height: calc(14.25 * var(--to-rem));
  transform: translate(-50%, -50%);
}

.p-offering__card.is-open .p-offering__toggle::after {
  opacity: 0;
}

.p-offering__industries {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
  padding: calc(40 * var(--to-rem)) calc(48 * var(--to-rem));
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
}
@media screen and (max-width: 767px) {
  .p-offering__industries {
    padding: var(--space-32) var(--space-24);
    backdrop-filter: none;
  }
}

.p-offering__industriesTitle {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-offering__industryGrid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  row-gap: var(--space-20);
  column-gap: calc(48 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-offering__industryGrid {
    grid-template-columns: repeat(2, 1fr);
    row-gap: var(--space-24);
    column-gap: var(--space-16);
  }
}

.p-offering__industry {
  display: flex;
  gap: var(--space-12);
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-offering__industry {
    gap: var(--space-8);
    align-items: center;
  }
}

.p-offering__industryIcon {
  flex-shrink: 0;
  width: calc(32 * var(--to-rem));
  height: calc(32 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-offering__industryIcon {
    width: calc(24 * var(--to-rem));
    height: calc(24 * var(--to-rem));
  }
}

.p-offering__industryIcon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-offering__industryLabel {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-offering__industryLabel {
    font-size: calc(14 * var(--to-rem));
    line-height: 1.4;
  }
}

.p-opinionHero {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-opinionHero {
    padding-top: var(--space-32);
    padding-bottom: var(--space-80);
  }
}

.p-opinionHero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-opinionHero__inner {
    gap: var(--space-56);
  }
}

.p-opinionHero__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-opinionHero__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-opinionHero__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-opinionHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-opinionHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-opinionHero__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  align-items: flex-start;
}

.p-opinionHero__title {
  font-family: var(--font-jp);
  font-size: calc(58 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-opinionHero__title {
    font-size: calc(36 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-opinionHero__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-opinionHero__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-opinionList {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-opinionList {
    padding-block: var(--space-64);
  }
}

.p-opinionList__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-opinionList__inner {
    gap: var(--space-48);
  }
}

.p-opinionList__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-opinionList__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.06em;
}

.p-opinionList__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-opinionList__title {
    font-size: calc(32 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-opinionList__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: var(--space-32);
  column-gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-opinionList__grid {
    grid-template-columns: 1fr;
    gap: var(--space-24);
  }
}

.p-opinionList__card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
  transition: background-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);
}

@media (any-hover: hover) {
  .p-opinionList__card:hover {
    background-color: var(--color-white);
    box-shadow: var(--shadow-card-strong);
  }
}
.p-opinionList__img {
  width: 100%;
  aspect-ratio: 884/428;
  overflow: hidden;
}

.p-opinionList__img img {
  width: 100%;
  height: 100%;
  pointer-events: none;
  object-fit: cover;
  transition: transform var(--duration-slow) var(--ease-out);
  transform-origin: center center;
  will-change: transform;
}

@media (any-hover: hover) {
  .p-opinionList__card:hover .p-opinionList__img img {
    transform: scale(1.05);
  }
}
@media (prefers-reduced-motion: reduce) {
  .p-opinionList__card,
  .p-opinionList__img img {
    transition: none;
  }
  .p-opinionList__card:hover .p-opinionList__img img {
    transform: none;
  }
}
.p-opinionList__cardBody {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-24) var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-opinionList__cardBody {
    padding: var(--space-24);
  }
}

.p-opinionList__cardTitle {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-opinionList__cardDate {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
}

.p-opinionList__more {
  display: flex;
  justify-content: center;
}

.p-opinionList__more[hidden] {
  display: none;
}

/* =========================================
   breadcrumbs（全幅）
   ========================================= */
.p-opinionSingleBreadcrumb {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBreadcrumb {
    padding-top: var(--space-16);
    padding-bottom: var(--space-32);
  }
}

.p-opinionSingleBreadcrumb__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBreadcrumb__crumb {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-opinionSingleBreadcrumb__crumb--current {
  color: var(--color-text-low);
}

.p-opinionSingleBreadcrumb__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-opinionSingleBreadcrumb__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-opinionSingleBreadcrumb__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-opinionSingleBreadcrumb__sep svg {
  width: 100%;
  height: 100%;
}

/* =========================================
   2カラムコンテナ（左 本文904 / 右 サイドバー240）
   ========================================= */
.p-opinionSingle__container {
  display: flex;
  gap: calc(56 * var(--to-rem));
  align-items: flex-start;
  justify-content: center;
  padding-bottom: var(--space-120);
}
@media screen and (max-width: 1023px) {
  .p-opinionSingle__container {
    gap: var(--space-40);
  }
}
@media screen and (max-width: 767px) {
  .p-opinionSingle__container {
    flex-direction: column;
    padding-bottom: var(--space-64);
  }
}

.p-opinionSingle__main {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-56);
  min-width: 0;
  max-width: calc(904 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-opinionSingle__main {
    gap: var(--space-48);
    max-width: 100%;
  }
}

/* =========================================
   記事ヘッダー
   ========================================= */
.p-opinionSingleHero {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
}
@media screen and (max-width: 767px) {
  .p-opinionSingleHero {
    gap: var(--space-24);
  }
}

.p-opinionSingleHero__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.p-opinionSingleHero__title {
  font-family: var(--font-jp);
  font-size: calc(36 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.5;
  color: var(--color-text-high);
}
@media screen and (max-width: 767px) {
  .p-opinionSingleHero__title {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-opinionSingleHero__meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.p-opinionSingleHero__cat {
  display: inline-flex;
  align-items: center;
  padding-block: var(--space-4);
  padding-inline: var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  background-color: var(--color-surface-light);
}

.p-opinionSingleHero__date {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-opinionSingleHero__visual {
  width: 100%;
  aspect-ratio: 2500/1308;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleHero__visual {
    margin-bottom: var(--space-8);
  }
}

.p-opinionSingleHero__visual img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-opinionSingleHero__summary {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  padding: var(--space-40);
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
}
@media screen and (max-width: 767px) {
  .p-opinionSingleHero__summary {
    gap: var(--space-24);
    padding: var(--space-32) var(--space-24);
  }
}

.p-opinionSingleHero__summaryHead {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-opinionSingleHero__summaryLabel {
  font-family: var(--font-en);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
}
@media screen and (max-width: 767px) {
  .p-opinionSingleHero__summaryLabel {
    font-size: calc(20 * var(--to-rem));
  }
}

.p-opinionSingleHero__summaryLine {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-border-middle);
}
.p-opinionSingleHero__summaryLine::after {
  position: absolute;
  top: 50%;
  left: 0;
  display: block;
  width: calc(44 * var(--to-rem));
  height: calc(2 * var(--to-rem));
  content: "";
  background: var(--color-border-high);
  translate: 0 -50%;
}

.p-opinionSingleHero__summaryBody {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.p-opinionSingleHero__summaryText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleHero__summaryText {
    font-size: calc(14 * var(--to-rem));
  }
}

/* =========================================
   目次
   ========================================= */
.p-opinionSingleToc {
  padding-top: var(--space-32);
  padding-right: var(--space-40);
  padding-bottom: var(--space-24);
  padding-left: var(--space-40);
  background-color: var(--color-surface-subtle);
}
@media screen and (max-width: 767px) {
  .p-opinionSingleToc {
    padding-inline: var(--space-24);
  }
}

.p-opinionSingleToc__title {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-opinionSingleToc__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding-top: var(--space-24);
  padding-bottom: var(--space-8);
}

.p-opinionSingleToc__item {
  position: relative;
  padding-left: calc(12 * var(--to-rem));
}

.p-opinionSingleToc__item::before {
  position: absolute;
  top: calc(12 * var(--to-rem));
  left: 0;
  width: calc(4 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  content: "";
  background-color: var(--color-surface-black);
  border-radius: 1px;
}

.p-opinionSingleToc__link {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-decoration: none;
  letter-spacing: -0.02em;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-opinionSingleToc__link:hover {
    opacity: 0.6;
  }
}
/* =========================================
   登壇者
   ========================================= */
.p-opinionSingleAuthor {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
  padding: var(--space-40);
  background-color: var(--color-surface-subtle);
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor {
    gap: var(--space-24);
    padding: var(--space-40) var(--space-24);
  }
}

.p-opinionSingleAuthor__title {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-opinionSingleAuthor__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
}

.p-opinionSingleAuthor__card {
  display: flex;
  gap: var(--space-24);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor__card {
    display: grid;
    grid-template-columns: calc(110 * var(--to-rem)) 1fr;
    row-gap: var(--space-16);
    column-gap: var(--space-20);
  }
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor__card:not(:has(.p-opinionSingleAuthor__photo)) {
    display: flex;
    flex-direction: column;
    gap: var(--space-16);
  }
}

.p-opinionSingleAuthor__photo {
  flex-shrink: 0;
  width: calc(110 * var(--to-rem));
  height: calc(110 * var(--to-rem));
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor__photo {
    grid-row: 1;
    grid-column: 1;
  }
}

.p-opinionSingleAuthor__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-opinionSingleAuthor__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-12);
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor__body {
    display: contents;
  }
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor__card:not(:has(.p-opinionSingleAuthor__photo)) .p-opinionSingleAuthor__body {
    display: flex;
  }
}

.p-opinionSingleAuthor__info {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor__info {
    grid-row: 1;
    grid-column: 2;
  }
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor__card:not(:has(.p-opinionSingleAuthor__photo)) .p-opinionSingleAuthor__info {
    grid-row: unset;
    grid-column: unset;
  }
}

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

.p-opinionSingleAuthor__nameJa {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-opinionSingleAuthor__nameEn {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.4;
  color: var(--color-text-low);
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor__nameEn {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-opinionSingleAuthor__role {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor__role {
    font-size: calc(13 * var(--to-rem));
  }
}

.p-opinionSingleAuthor__profile {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor__profile {
    grid-row: 2;
    grid-column: 1/-1;
  }
}
@media screen and (max-width: 767px) {
  .p-opinionSingleAuthor__card:not(:has(.p-opinionSingleAuthor__photo)) .p-opinionSingleAuthor__profile {
    grid-row: unset;
    grid-column: unset;
  }
}

/* =========================================
   本文（Gutenberg = the_content 出力に要素セレクタで適用）
   ========================================= */
.p-opinionSingleBody h2 {
  padding-inline: var(--space-16);
  margin-top: var(--space-96);
  margin-bottom: var(--space-40);
  font-family: var(--font-jp);
  font-size: calc(32 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  border-left: calc(3 * var(--to-rem)) solid var(--color-text-high);
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody h2 {
    margin-top: var(--space-56);
    margin-bottom: var(--space-24);
    font-size: calc(24 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .p-opinionSingleBody h2:first-of-type {
    margin-top: calc(72 * var(--to-rem));
  }
}

.p-opinionSingleBody p {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody p {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-opinionSingleBody p + p {
  margin-top: var(--space-24);
}

.p-opinionSingleBody p.p-opinionSingleBody__speaker {
  margin-top: var(--space-24);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium) !important;
  line-height: 1.7;
}

.p-opinionSingleBody__speaker::before {
  display: inline-block;
  width: calc(32 * var(--to-rem));
  height: 1px;
  margin-right: var(--space-8);
  vertical-align: middle;
  content: "";
  background-color: var(--color-text-high);
}

.p-opinionSingleBody figcaption,
.p-opinionSingleBody p.p-caseSingleBody__caption {
  margin-top: var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  text-align: left;
}

.p-opinionSingleBody::after {
  display: table;
  clear: both;
  content: "";
}
.p-opinionSingleBody img {
  width: auto;
  max-width: 100%;
  height: auto;
  object-fit: unset;
}
.p-opinionSingleBody figure {
  margin-block: calc(30 * var(--to-rem));
  text-align: center;
}
.p-opinionSingleBody figure img {
  display: inline-block;
  width: auto;
  max-width: 100%;
  height: auto;
  max-height: calc(500 * var(--to-rem));
  object-fit: unset;
  aspect-ratio: auto;
}
.p-opinionSingleBody .fleft_content {
  float: left;
  max-width: calc(280 * var(--to-rem));
  margin: 0 calc(15 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody .fleft_content {
    display: block;
    float: none;
    max-width: 100%;
    margin: 0 0 calc(30 * var(--to-rem));
    text-align: center;
  }
}
.p-opinionSingleBody .fright_content {
  float: right;
  max-width: 50%;
  margin: 0 0 calc(15 * var(--to-rem)) calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody .fright_content {
    display: block;
    float: none;
    max-width: 100%;
    margin: 0 0 calc(30 * var(--to-rem));
    text-align: center;
  }
}
.p-opinionSingleBody .fleft_content span,
.p-opinionSingleBody .fright_content span {
  display: block;
  font-size: calc(18 * var(--to-rem));
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody .fleft_content span,
  .p-opinionSingleBody .fright_content span {
    clear: both;
  }
}
.p-opinionSingleBody .alignleft {
  float: left;
  margin: 0 calc(15 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
}
.p-opinionSingleBody .alignright {
  float: right;
  margin: 0 0 calc(15 * var(--to-rem)) calc(15 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody .alignleft,
  .p-opinionSingleBody .alignright {
    display: block;
    float: none;
    margin: 0 0 calc(30 * var(--to-rem));
  }
}
.p-opinionSingleBody .tcenter {
  text-align: center !important;
}
.p-opinionSingleBody .mb-40 {
  margin-bottom: calc(40 * var(--to-rem)) !important;
}
.p-opinionSingleBody .mb-20 {
  margin-bottom: calc(20 * var(--to-rem)) !important;
}
.p-opinionSingleBody .clearfix::after {
  display: table;
  clear: both;
  content: "";
}
.p-opinionSingleBody .fleftimg {
  float: left;
  padding: 0 calc(25 * var(--to-rem)) calc(25 * var(--to-rem)) 0;
  margin: 0 calc(15 * var(--to-rem)) calc(15 * var(--to-rem)) 0;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody .fleftimg {
    display: block;
    float: none;
    max-width: 100%;
    padding: 0;
    margin: 0 auto calc(25 * var(--to-rem)) !important;
    text-align: center;
  }
}
.p-opinionSingleBody .frightimg {
  float: right;
  width: 50%;
  padding: 0 0 calc(25 * var(--to-rem)) calc(25 * var(--to-rem));
  margin: 0 0 calc(50 * var(--to-rem)) 0;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody .frightimg {
    display: block;
    float: none;
    width: auto;
    max-width: 100%;
    padding: 0;
    margin: 0 auto calc(25 * var(--to-rem)) !important;
    text-align: center;
  }
}
.p-opinionSingleBody .headline {
  margin-block: calc(50 * var(--to-rem)) calc(15 * var(--to-rem));
  font-weight: var(--fw-bold);
  text-align: center;
}
.p-opinionSingleBody .btn {
  margin-block: 0 calc(50 * var(--to-rem));
  text-align: center;
}
.p-opinionSingleBody .mobility__btn--download {
  position: relative;
  display: inline-flex;
  gap: var(--space-20);
  align-items: center;
  justify-content: space-between;
  min-width: calc(168 * var(--to-rem));
  max-width: 100%;
  padding-block: var(--space-12);
  padding-right: var(--space-16);
  padding-left: var(--space-24);
  overflow: hidden;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-high) !important;
  text-decoration: none;
  letter-spacing: -0.02em;
  white-space: nowrap;
  background-color: var(--color-btn-light);
  border: none;
  border-radius: var(--radius-full);
  transition: color var(--duration) var(--ease-out);
}
.p-opinionSingleBody .mobility__btn--download::before {
  position: absolute;
  inset: 0;
  z-index: 0;
  content: "";
  background-color: var(--color-btn-light-hover);
  transition: transform var(--duration) var(--ease-out);
  transform: scaleX(0);
  transform-origin: left center;
}
.p-opinionSingleBody .mobility__btn--download::after {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  width: calc(16 * var(--to-rem));
  height: calc(16 * var(--to-rem));
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M7.33856 12.7582L9.62156 8.67976H1.33856V7.32062H9.62156L7.33856 3.24219L14.6716 7.99968L7.33856 12.7582Z' fill='%23000'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: contain;
}
.p-opinionSingleBody .mobility__btn--download span {
  position: relative;
  z-index: 1;
  display: inline;
  padding: 0;
}
.p-opinionSingleBody .mobility__btn--download span::before {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody .mobility__btn--download {
    min-width: calc(152 * var(--to-rem));
    font-size: calc(14 * var(--to-rem));
  }
}
@media (any-hover: hover) {
  .p-opinionSingleBody .mobility__btn--download:hover::before {
    transform: scaleX(1);
  }
}
.p-opinionSingleBody table {
  width: 100%;
  margin-block: calc(30 * var(--to-rem));
  border-collapse: collapse;
  border-top: 1px solid var(--color-border-low);
  border-left: 1px solid var(--color-border-low);
}
.p-opinionSingleBody table th {
  width: 33%;
  padding: calc(15 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  color: var(--color-text-high);
  background-color: #f5f5f5;
  border-right: calc(1 * var(--to-rem)) solid var(--color-border-low);
  border-bottom: calc(1 * var(--to-rem)) solid var(--color-border-low);
}
.p-opinionSingleBody table td {
  padding: calc(15 * var(--to-rem));
  font-size: calc(16 * var(--to-rem));
  border-right: calc(1 * var(--to-rem)) solid var(--color-border-low);
  border-bottom: calc(1 * var(--to-rem)) solid var(--color-border-low);
}
.p-opinionSingleBody table caption {
  padding-bottom: calc(12 * var(--to-rem));
  font-size: calc(15 * var(--to-rem));
  color: #707070;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody table:not(.horizontal) {
    display: block;
    border-top: none;
    border-left: none;
  }
  .p-opinionSingleBody table:not(.horizontal) tbody {
    display: block;
  }
  .p-opinionSingleBody table:not(.horizontal) tr {
    display: block;
    width: 100%;
    border-left: calc(1 * var(--to-rem)) solid var(--color-border-low);
  }
  .p-opinionSingleBody table:not(.horizontal) tr:first-child {
    border-top: calc(1 * var(--to-rem)) solid var(--color-border-low);
  }
  .p-opinionSingleBody table:not(.horizontal) th {
    display: block;
    width: 100%;
    text-align: left;
  }
  .p-opinionSingleBody table:not(.horizontal) td {
    display: block;
    width: 100%;
    text-align: left;
  }
  .p-opinionSingleBody table:not(.horizontal) caption {
    display: block;
  }
}
.p-opinionSingleBody h3 {
  position: relative;
  padding: 0;
  padding-bottom: calc(var(--space-20) + 1px);
  margin-block: var(--space-40) var(--space-16);
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  background: none;
  border: none;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody h3 {
    font-size: calc(20 * var(--to-rem));
  }
}
.p-opinionSingleBody h3::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  content: "";
  background-color: var(--color-border-low);
}
.p-opinionSingleBody h3::before {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: calc(44 * var(--to-rem));
  height: 2px;
  content: "";
  background-color: var(--color-border-high);
}
.p-opinionSingleBody h3:first-child {
  margin-block-start: 0;
}

.p-opinionSingleBody ul {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding-top: var(--space-24);
  padding-bottom: var(--space-8);
}

.p-opinionSingleBody ul li {
  position: relative;
  padding-left: calc(12 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody ul li {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-opinionSingleBody ul li::before {
  position: absolute;
  top: calc(12 * var(--to-rem));
  left: 0;
  width: calc(4 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  content: "";
  background-color: var(--color-surface-black);
  border-radius: 1px;
}

.p-opinionSingleBody__note {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  padding-block: var(--space-24);
  padding-inline: var(--space-32);
  margin-top: var(--space-16);
  margin-bottom: var(--space-16);
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody__note {
    padding-inline: var(--space-24);
  }
}

.p-opinionSingleBody__note p + p {
  margin-top: 0;
}

.p-opinionSingleBody__note .p-opinionSingleBody__noteTitle {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-opinionSingleBody__note .p-opinionSingleBody__noteText {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-opinionSingleBody__note .p-opinionSingleBody__noteLink {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-middle);
  text-decoration: underline;
  letter-spacing: -0.02em;
}

.p-opinionSingleBody table {
  display: block;
  width: 100%;
  padding-block: var(--space-24);
  padding-inline: var(--space-32);
  margin-block: var(--space-16);
  border-collapse: collapse;
  background-color: var(--color-panel) !important;
  backdrop-filter: blur(15px);
  border: none;
}
@media screen and (max-width: 767px) {
  .p-opinionSingleBody table {
    padding-inline: var(--space-24);
  }
}

.p-opinionSingleBody table tbody {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-opinionSingleBody table tr {
  display: block;
}

.p-opinionSingleBody table th,
.p-opinionSingleBody table td {
  display: block;
  width: 100%;
  padding: 0;
  text-align: left;
  background: none;
  border: none;
}

.p-opinionSingleBody table th,
.p-opinionSingleBody table th p {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-opinionSingleBody table td,
.p-opinionSingleBody table td p {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-opinionSingleBody table td a {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-middle);
  text-decoration: underline;
  letter-spacing: -0.02em;
}

.p-opinionSingleBody table td > a {
  display: block;
  margin-top: var(--space-8);
}

/* =========================================
   右サイドバー
   ========================================= */
.p-opinionSingleSidebar {
  position: sticky;
  top: calc(var(--header-height) + var(--space-40));
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  gap: var(--space-40);
  width: calc(240 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-opinionSingleSidebar {
    position: static;
    width: 100%;
    max-width: calc(400 * var(--to-rem));
    margin-inline: auto;
  }
}

.p-opinionSingleSidebar__buttons {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.p-opinionSingleSidebar__buttons .c-button {
  width: 100%;
  padding-block: var(--space-20);
}

.p-opinionSingleSidebar__sns {
  display: flex;
  gap: var(--space-16);
  align-items: center;
  justify-content: center;
}

.p-opinionSingleSidebar__snsLink {
  display: inline-flex;
  width: calc(40 * var(--to-rem));
  height: calc(40 * var(--to-rem));
  overflow: hidden;
  border-radius: 100%;
  transition: opacity var(--duration) var(--ease-out);
}

.p-opinionSingleSidebar__snsLink img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (any-hover: hover) {
  .p-opinionSingleSidebar__snsLink:hover {
    opacity: 0.7;
  }
}
/* =========================================
   REPORTS（p-reports流用）の opinion-single 用調整
   Figma: padding-block 96px / 見出し45px / lead・CTAなし
   ========================================= */
.p-reports.p-reports--single {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-reports.p-reports--single {
    padding-top: var(--space-64);
    padding-bottom: var(--space-48);
  }
}

.p-reports.p-reports--single .p-reports__title {
  font-size: calc(45 * var(--to-rem));
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-reports.p-reports--single .p-reports__title {
    font-size: calc(32 * var(--to-rem));
  }
}

.p-reports--single .p-reports__hdg {
  gap: var(--space-8);
}

.p-reports--single .p-reports__inner {
  gap: var(--space-56);
}

.p-otherConsultants {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-otherConsultants {
    padding-block: var(--space-64);
  }
}

.p-otherConsultants__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-otherConsultants__inner {
    gap: var(--space-40);
  }
}

.p-otherConsultants__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-otherConsultants__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.06em;
}

.p-otherConsultants__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-otherConsultants__title {
    font-size: calc(34 * var(--to-rem));
    letter-spacing: -0.02em;
  }
}

.p-otherConsultants__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--space-20);
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-otherConsultants__grid {
    grid-template-columns: repeat(2, 1fr);
    column-gap: var(--space-12);
  }
}

.p-projects {
  position: relative;
  padding-block: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-projects {
    padding-block: var(--space-64);
  }
}

.p-projects::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(2652 * var(--to-rem));
  pointer-events: none;
  content: "";
  background-image: url(../img/projects-bg.png);
  background-image: image-set(url(../img/projects-bg.webp) type("image/webp"), url(../img/projects-bg.png) type("image/png"));
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .p-projects::before {
    height: calc(1120 * var(--to-rem));
    background-image: url(../img/projects-bg-sp.png);
    background-image: image-set(url(../img/projects-bg-sp.webp) type("image/webp"), url(../img/projects-bg-sp.png) type("image/png"));
  }
}

.p-projects__inner {
  display: flex;
  flex-direction: column;
  gap: calc(56 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-projects__inner {
    gap: var(--space-48);
  }
}

.p-projects__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-projects__header {
    gap: var(--space-48);
  }
}

.p-projects__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-projects__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-projects__title {
  font-family: var(--font-jp);
  font-size: calc(52 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-projects__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
  }
}

.p-projects__lead {
  display: flex;
  gap: calc(56 * var(--to-rem));
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .p-projects__lead {
    flex-direction: column;
    gap: var(--space-24);
    align-items: flex-start;
  }
}

.p-projects__leadText {
  flex: 1;
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-projects__leadText {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-projects__cards {
  display: flex;
  gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-projects__cards {
    flex-direction: column;
  }
}

.p-projects__card {
  display: flex;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
  transition: background-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);
}

.p-projects__card:hover {
  background-color: var(--color-white);
  box-shadow: var(--shadow-card-strong);
}

.p-projects__img {
  width: 100%;
  aspect-ratio: 2048/1365;
  overflow: hidden;
}

.p-projects__img img {
  width: 100%;
  height: 100%;
  pointer-events: none;
  transition: transform var(--duration-slow) var(--ease-out);
  transform-origin: center center;
  object-fit: cover;
  will-change: transform;
}

.p-projects__card:hover .p-projects__img img {
  transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
  .p-projects__card,
  .p-projects__img img {
    transition: none;
  }
  .p-projects__card:hover .p-projects__img img {
    transform: none;
  }
}
.p-projects__cardBody {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-24);
  justify-content: space-between;
  padding: var(--space-24) var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-projects__cardBody {
    padding: var(--space-24);
  }
}

.p-projects__cardTexts {
  display: flex;
  flex-direction: column;
  gap: var(--space-12);
}

.p-projects__cardCompany {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: 0.01em;
}

.p-projects__cardTitle {
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.01em;
}
@media screen and (max-width: 767px) {
  .p-projects__cardTitle {
    font-size: calc(18 * var(--to-rem));
    letter-spacing: -0.02em;
  }
}

.p-projects__cardDesc {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: 0.01em;
}

.p-projects__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-4);
  align-items: center;
}

.p-projects__tag {
  padding: var(--space-4) var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.5;
  color: var(--color-text-high);
  letter-spacing: -0.01em;
  background-color: var(--color-surface-subtle);
}

.p-projects__cta {
  display: flex;
  gap: calc(64 * var(--to-rem));
  align-items: center;
  padding: var(--space-48) calc(64 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-cta-contact);
  background-image: url(../img/cta-newsletter-bg.png);
  background-image: image-set(url(../img/cta-newsletter-bg.webp) type("image/webp"), url(../img/cta-newsletter-bg.png) type("image/png"));
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-projects__cta {
    flex-direction: column;
    gap: var(--space-32);
    align-items: flex-start;
    padding: var(--space-40) var(--space-24);
  }
}

.p-projects__ctaBody {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-8);
}
@media screen and (max-width: 767px) {
  .p-projects__ctaBody {
    gap: var(--space-12);
  }
}

.p-projects__ctaTitle {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-projects__ctaText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-projects__ctaText {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-recruitAbout {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-recruitAbout {
    padding-block: var(--space-64);
  }
}

.p-recruitAbout__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-recruitAbout__inner {
    gap: var(--space-32);
  }
}

.p-recruitAbout__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-recruitAbout__head {
    gap: var(--space-8);
  }
}

.p-recruitAbout__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-recruitAbout__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitAbout__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-recruitAbout__lead {
  display: flex;
  flex-direction: column;
  gap: 1.7em;
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitAbout__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-recruitAbout__message {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}
@media screen and (max-width: 767px) {
  .p-recruitAbout__message {
    margin-top: calc(12 * var(--to-rem));
  }
}

.p-recruitAbout__messageHead {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  padding-top: var(--space-24);
}

.p-recruitAbout__messageTitle {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitAbout__divider {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-border-low);
}

.p-recruitAbout__divider::before {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(44 * var(--to-rem));
  height: 2px;
  content: "";
  background-color: var(--color-border-high);
}

.p-recruitAbout__cards {
  display: flex;
  gap: var(--space-20);
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .p-recruitAbout__cards {
    flex-direction: column;
  }
}

.p-recruitAbout__card {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: var(--space-24);
  min-width: 0;
  padding: var(--space-32);
  background-color: var(--color-panel);
}
@media screen and (max-width: 767px) {
  .p-recruitAbout__card {
    padding-block: var(--space-32);
    padding-inline: var(--space-24);
  }
}

.p-recruitAbout__profile {
  display: flex;
  gap: var(--space-16);
  align-items: center;
}

.p-recruitAbout__photo {
  flex-shrink: 0;
  width: calc(124 * var(--to-rem));
  aspect-ratio: 1;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruitAbout__photo {
    width: calc(108 * var(--to-rem));
  }
}

.p-recruitAbout__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-recruitAbout__name {
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitAbout__nameEn {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-recruitAbout__role {
  margin-block-start: calc(12 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
}

.p-recruitAbout__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.p-recruitAbout__cardTitle {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitAbout__cardText {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitCareer {
  padding-block: var(--space-120);
  background-image: linear-gradient(180deg, rgba(241, 242, 244, 0.1) 0%, rgba(132, 141, 158, 0.1) 49.5%, rgba(241, 242, 244, 0.1) 100%);
}
@media screen and (max-width: 767px) {
  .p-recruitCareer {
    padding-block: var(--space-64);
  }
}

.p-recruitCareer__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__inner {
    gap: var(--space-48);
  }
}

.p-recruitCareer__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__head {
    gap: var(--space-8);
  }
}

.p-recruitCareer__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-recruitCareer__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-recruitCareer__lead {
  margin-top: var(--space-48);
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-recruitCareer__steps {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  width: min(1024 * var(--to-rem), 100%);
  margin-inline: auto;
}

.p-recruitCareer__stepList {
  display: flex;
  flex-direction: column;
  gap: var(--space-48);
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__stepList {
    gap: var(--space-32);
  }
}

.p-recruitCareer__step {
  position: relative;
  display: flex;
  gap: var(--space-32);
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__step {
    gap: var(--space-16);
    align-items: flex-start;
  }
}

.p-recruitCareer__step:not(:last-child)::before {
  position: absolute;
  top: calc(80 * var(--to-rem));
  left: calc(40 * var(--to-rem));
  width: 1px;
  height: calc(100% + var(--space-48) - 80 * var(--to-rem));
  content: "";
  background-color: var(--color-border-high);
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__step:not(:last-child)::before {
    top: calc(64 * var(--to-rem));
    left: calc(32 * var(--to-rem));
    height: calc(100% + var(--space-32) - 64 * var(--to-rem));
  }
}

.p-recruitCareer__step:not(:last-child)::after {
  position: absolute;
  top: calc(100% + var(--space-48) - 7 * var(--to-rem));
  left: calc(40 * var(--to-rem));
  width: 6px;
  height: 6px;
  content: "";
  border-right: 1px solid var(--color-border-high);
  border-bottom: 1px solid var(--color-border-high);
  transform: translateX(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__step:not(:last-child)::after {
    top: calc(100% + var(--space-48) - 23 * var(--to-rem));
    left: calc(32 * var(--to-rem));
  }
}

.p-recruitCareer__stepNum {
  position: relative;
  z-index: 1;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(80 * var(--to-rem));
  height: calc(80 * var(--to-rem));
  font-family: var(--font-en);
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: 0.05em;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-high);
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__stepNum {
    width: calc(64 * var(--to-rem));
    height: calc(64 * var(--to-rem));
  }
}

.p-recruitCareer__stepBody {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-recruitCareer__stepTitle {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__stepTitle {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-recruitCareer__stepText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__stepText {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-recruitCareer__note {
  margin-block-start: var(--space-40);
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__note {
    margin-block-start: var(--space-16);
  }
}

.p-recruitCareer__block {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.p-recruitCareer__blockHead {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}

.p-recruitCareer__blockTitle {
  margin-block-start: var(--space-40);
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__blockTitle {
    margin-block-start: var(--space-16);
  }
}

.p-recruitCareer__divider {
  position: relative;
  display: block;
  width: 100%;
  height: 1px;
  background-color: var(--color-border-low);
}

.p-recruitCareer__divider::before {
  position: absolute;
  top: 0;
  left: 0;
  width: calc(44 * var(--to-rem));
  height: 2px;
  content: "";
  background-color: var(--color-border-high);
}

.p-recruitCareer__paths {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__paths {
    grid-template-columns: 1fr;
  }
}

.p-recruitCareer__path {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-32);
  background-color: var(--color-panel);
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__path {
    gap: calc(6 * var(--to-rem));
    padding: var(--space-24);
  }
}

.p-recruitCareer__pathHead {
  display: flex;
  gap: var(--space-12);
  align-items: center;
  padding-block: var(--space-8);
  padding-inline: var(--space-16);
  background-color: var(--color-surface-subtle);
}

.p-recruitCareer__pathNum {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: 0.05em;
}

.p-recruitCareer__pathTitle {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitCareer__pathText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitCareer__people {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__people {
    grid-template-columns: 1fr;
    gap: calc(22 * var(--to-rem));
  }
}

.p-recruitCareer__person {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.p-recruitCareer__personHead {
  display: flex;
  gap: var(--space-12);
  align-items: center;
}

.p-recruitCareer__avatar {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(40 * var(--to-rem));
  height: calc(40 * var(--to-rem));
  margin-inline-start: calc(12 * var(--to-rem));
  overflow: hidden;
  border-radius: 100%;
}

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

.p-recruitCareer__personName {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitCareer__history {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-4);
  padding: var(--space-24);
  background-color: var(--color-panel);
}
@media screen and (max-width: 767px) {
  .p-recruitCareer__history {
    flex: initial;
  }
}

.p-recruitCareer__historyItem {
  position: relative;
  padding-left: calc(16 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitCareer__historyItem::before {
  position: absolute;
  top: calc(0.85em - 2px);
  left: 0;
  width: calc(4 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  content: "";
  background-color: var(--color-black);
  border-radius: 100%;
}

.p-recruitCta {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: calc(96 * var(--to-rem)) calc(80 * var(--to-rem));
  padding-inline: calc(64 * var(--to-rem));
  margin-block-start: calc(96 * var(--to-rem));
  background-color: var(--color-cta-gray);
}
@media screen and (max-width: 767px) {
  .p-recruitCta {
    padding-block: calc(48 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    margin-block-start: 0;
  }
}

.p-recruitCta__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruitCta__inner {
    gap: var(--space-24);
    max-width: calc(335 * var(--to-rem));
  }
}

.p-recruitCta__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
}

.p-recruitCta__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-text-high);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .p-recruitCta__label {
    font-size: calc(12 * var(--to-rem));
    color: var(--color-text-middle);
  }
}

.p-recruitCta__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitCta__title {
    font-size: calc(28 * var(--to-rem));
    line-height: 1.4;
  }
}

.p-recruitCta__text {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitCta__text {
    width: 100%;
    font-size: calc(14 * var(--to-rem));
  }
}

.p-recruitCta__buttons {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.p-recruitCta__button {
  width: calc(260 * var(--to-rem));
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-recruitCta__button {
    gap: var(--space-32);
    justify-content: space-between;
    width: 100%;
    max-width: calc(295 * var(--to-rem));
    padding-block: var(--space-20);
    padding-right: var(--space-20);
    padding-left: var(--space-32);
    font-size: calc(16 * var(--to-rem));
    letter-spacing: -0.02em;
  }
}

.p-recruitCulture {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-recruitCulture {
    padding-block: var(--space-64);
  }
}

.p-recruitCulture__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-recruitCulture__inner {
    gap: var(--space-48);
  }
}

.p-recruitCulture__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-recruitCulture__head {
    gap: var(--space-32);
  }
}

.p-recruitCulture__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-recruitCulture__hdg {
    gap: var(--space-8);
  }
}

.p-recruitCulture__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-recruitCulture__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitCulture__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-recruitCulture__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitCulture__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-recruitCulture__cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-recruitCulture__cards {
    grid-template-columns: 1fr;
  }
}

.p-recruitCulture__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-32);
  background-color: var(--color-panel);
}
@media screen and (max-width: 767px) {
  .p-recruitCulture__card {
    padding-block: var(--space-32);
    padding-inline: var(--space-24);
  }
}

.p-recruitCulture__cardHead {
  display: flex;
  gap: var(--space-12);
  align-items: center;
}

.p-recruitCulture__num {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(40 * var(--to-rem));
  height: calc(40 * var(--to-rem));
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: 0.05em;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-high);
  border-radius: 100%;
}

.p-recruitCulture__cardTitle {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitCulture__cardText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitData {
  position: relative;
  padding-block: var(--space-96);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruitData {
    padding-block: var(--space-64);
  }
}

.p-recruitData__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-recruitData__inner {
    gap: var(--space-48);
  }
}

.p-recruitData__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-recruitData__head {
    gap: var(--space-8);
  }
}

.p-recruitData__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-recruitData__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitData__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-recruitData__lead {
  margin-top: calc(38 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitData__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-recruitData__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--color-border-low);
  border-left: 1px solid var(--color-border-low);
}
@media screen and (max-width: 767px) {
  .p-recruitData__grid {
    grid-template-columns: 1fr;
  }
}

.p-recruitData__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  align-items: center;
  padding-block: var(--space-32);
  padding-inline: var(--space-32);
  text-align: center;
  border-right: 1px solid var(--color-border-low);
  border-bottom: 1px solid var(--color-border-low);
}
.p-recruitData__card:has(.p-recruitData__note) {
  padding-bottom: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-recruitData__card {
    padding-block: var(--space-24);
    padding-inline: var(--space-24);
  }
  .p-recruitData__card:has(.p-recruitData__note) {
    padding-bottom: var(--space-48);
  }
}

.p-recruitData__cardLabel {
  width: 100%;
  padding-block: var(--space-4);
  padding-inline: var(--space-16);
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  background-color: var(--color-border-low);
}

.p-recruitData__stat {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: center;
}

.p-recruitData__stat--multi {
  gap: var(--space-24);
  align-items: stretch;
  justify-content: space-between;
  width: 100%;
}

.p-recruitData__stat--multi .p-recruitData__statItem {
  display: grid;
  flex: 1;
  grid-template-rows: 1fr auto;
  gap: var(--space-4);
  justify-items: center;
}

.p-recruitData__stat--multi .p-recruitData__subLabel {
  align-self: start;
}

.p-recruitData__stat--triple {
  gap: var(--space-8);
}
@media screen and (max-width: 767px) {
  .p-recruitData__stat--triple {
    gap: var(--space-4);
    width: 100%;
  }
}

.p-recruitData__statItem {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
}

@media screen and (max-width: 767px) {
  .p-recruitData__stat--triple .p-recruitData__statItem {
    flex: 1;
    min-width: 0;
  }
}

.p-recruitData__subLabel {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

@media screen and (max-width: 767px) {
  .p-recruitData__stat--triple .p-recruitData__subLabel {
    font-size: calc(11 * var(--to-rem));
    letter-spacing: -0.04em;
  }
}

.p-recruitData__subNote {
  font-family: var(--font-jp);
  font-size: calc(9 * var(--to-rem));
  font-weight: var(--fw-regular);
  white-space: nowrap;
}

.p-recruitData__value {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  font-family: var(--font-en);
  font-size: calc(63 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitData__value {
    font-size: calc(58 * var(--to-rem));
  }
}

.p-recruitData__value--md {
  font-size: calc(55 * var(--to-rem));
}

.p-recruitData__value--sm {
  font-size: calc(45 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-recruitData__value--sm {
    font-size: calc(39 * var(--to-rem));
  }
}

.p-recruitData__unit {
  margin-left: calc(2 * var(--to-rem));
  font-size: calc(23 * var(--to-rem));
  line-height: 1.5;
}

.p-recruitData__unit--sm {
  font-size: calc(18 * var(--to-rem));
}

.p-recruitData__note {
  position: absolute;
  right: var(--space-16);
  bottom: var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
}
@media screen and (max-width: 767px) {
  .p-recruitData__note {
    right: var(--space-12);
    bottom: var(--space-8);
  }
}

.p-recruitData__note--footer {
  position: static;
  margin-top: var(--space-16);
  text-align: right;
}
@media screen and (max-width: 767px) {
  .p-recruitData__note--footer {
    margin-top: var(--space-12);
  }
}

.p-recruitData__slider {
  width: 100vw;
  padding-top: var(--space-80);
  margin-inline: calc(50% - 50vw);
  margin-top: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-recruitData__slider {
    padding-top: var(--space-48);
    margin-top: var(--space-48);
  }
}
.p-recruitData__slider .splide__track {
  overflow: hidden;
}

.p-recruitData__slide {
  position: relative;
  aspect-ratio: 460/307;
  overflow: hidden;
  background-color: var(--color-white);
}

.p-recruitData__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-recruitGrowth {
  position: relative;
  padding-block: var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-recruitGrowth {
    padding-block: var(--space-64);
  }
}

.p-recruitGrowth::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(2130 * var(--to-rem));
  pointer-events: none;
  content: "";
  background-image: url(../img/growth-bg-pc.png);
  background-image: image-set(url(../img/growth-bg-pc.webp) type("image/webp"), url(../img/growth-bg-pc.png) type("image/png"));
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .p-recruitGrowth::before {
    height: calc(1120 * var(--to-rem));
    background-image: url(../img/growth-bg-sp.png);
    background-image: image-set(url(../img/growth-bg-sp.webp) type("image/webp"), url(../img/growth-bg-sp.png) type("image/png"));
  }
}

.p-recruitGrowth__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-recruitGrowth__inner {
    gap: var(--space-48);
  }
}

.p-recruitGrowth__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-recruitGrowth__head {
    gap: var(--space-8);
  }
}

.p-recruitGrowth__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-recruitGrowth__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitGrowth__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-recruitGrowth__intro {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-recruitGrowth__intro {
    display: block;
    font-family: var(--font-jp);
    font-size: calc(16 * var(--to-rem));
    font-weight: var(--fw-regular);
    line-height: 1.7;
    color: var(--color-text-high);
    letter-spacing: -0.02em;
  }
}

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

.p-recruitGrowth__item {
  display: flex;
  gap: var(--space-24);
  align-items: center;
  padding-block: var(--space-40);
  border-top: 1px solid var(--color-border-low);
}
.p-recruitGrowth__item:last-child {
  border-bottom: 1px solid var(--color-border-low);
}
@media screen and (max-width: 767px) {
  .p-recruitGrowth__item {
    flex-direction: column;
    gap: var(--space-16);
    align-items: flex-start;
    padding-block: var(--space-32);
  }
}

.p-recruitGrowth__lead {
  display: flex;
  flex-shrink: 0;
  gap: var(--space-16);
  align-items: center;
  width: calc(464 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-recruitGrowth__lead {
    gap: var(--space-8);
    width: 100%;
  }
}

.p-recruitGrowth__num {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(88 * var(--to-rem));
  height: calc(88 * var(--to-rem));
  font-family: var(--font-en);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitGrowth__num {
    width: calc(40 * var(--to-rem));
    height: calc(40 * var(--to-rem));
    font-size: calc(17 * var(--to-rem));
  }
}

.p-recruitGrowth__itemTitle {
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitGrowth__itemTitle {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-recruitGrowth__text {
  flex: 1;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitHero {
  position: relative;
  padding-top: var(--space-32);
  padding-bottom: var(--space-120);
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruitHero {
    padding-top: var(--space-32);
    padding-bottom: var(--space-80);
  }
}

.p-recruitHero__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
}
@media screen and (max-width: 767px) {
  .p-recruitHero__inner {
    gap: var(--space-56);
  }
}

.p-recruitHero__crumb {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-low);
}

.p-recruitHero__crumbLink {
  color: var(--color-text-high);
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

@media (any-hover: hover) {
  .p-recruitHero__crumbLink:hover {
    opacity: 0.6;
  }
}
.p-recruitHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-recruitHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-recruitHero__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-recruitHero__body {
    gap: var(--space-44, calc(44 * var(--to-rem)));
  }
}

.p-recruitHero__title {
  font-family: var(--font-jp);
  font-size: calc(58 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitHero__title {
    font-size: calc(36 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-recruitHero__actions {
  display: flex;
  gap: var(--space-20);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-recruitHero__actions {
    flex-direction: column;
    gap: var(--space-12);
  }
}

.p-recruitHero__slider {
  width: 100vw;
  padding-top: var(--space-80);
  margin-inline: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .p-recruitHero__slider {
    padding-top: var(--space-48);
  }
}
.p-recruitHero__slider .splide__track {
  overflow: hidden;
}
.p-recruitHero__slider .splide__list {
  align-items: flex-end;
  min-height: calc(450 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-recruitHero__slider .splide__list {
    min-height: calc(256 * var(--to-rem));
  }
}

.p-recruitHero__slide {
  position: relative;
  overflow: hidden;
  background-color: var(--color-white);
}

.p-recruitHero__slide--sm {
  width: calc(445 * var(--to-rem));
  aspect-ratio: 445/297;
}
@media screen and (max-width: 767px) {
  .p-recruitHero__slide--sm {
    width: calc(250 * var(--to-rem));
  }
}

.p-recruitHero__slide--lg {
  width: calc(554 * var(--to-rem));
  aspect-ratio: 554/370;
}
@media screen and (max-width: 767px) {
  .p-recruitHero__slide--lg {
    width: calc(311 * var(--to-rem));
  }
}

.p-recruitHero__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-recruitIndustry {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-recruitIndustry {
    padding-block: var(--space-64);
  }
}

.p-recruitIndustry__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-recruitIndustry__inner {
    gap: var(--space-48);
  }
}

.p-recruitIndustry__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-recruitIndustry__head {
    gap: var(--space-8);
  }
}

.p-recruitIndustry__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-recruitIndustry__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitIndustry__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-recruitIndustry__lead {
  display: flex;
  flex-direction: column;
  gap: 1.7em;
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitIndustry__lead {
    gap: 0;
    font-size: calc(16 * var(--to-rem));
  }
}

.p-recruitIndustry__figure {
  width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-recruitIndustry__figure {
    border-radius: calc(2.958 * var(--to-rem));
  }
}

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

.p-recruitMindset {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-recruitMindset {
    padding-block: calc(42 * var(--to-rem));
  }
}

.p-recruitMindset__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-64);
}
@media screen and (max-width: 767px) {
  .p-recruitMindset__inner {
    gap: var(--space-48);
  }
}

.p-recruitMindset__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-recruitMindset__head {
    gap: var(--space-8);
  }
}

.p-recruitMindset__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-recruitMindset__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitMindset__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-recruitMindset__lead {
  margin-top: var(--space-48);
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitMindset__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-recruitMindset__body {
  display: flex;
  gap: var(--space-64);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-recruitMindset__body {
    flex-direction: column-reverse;
    gap: var(--space-32);
  }
}

.p-recruitMindset__photo {
  flex-shrink: 0;
  width: calc(520 * var(--to-rem));
  aspect-ratio: 520/693;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruitMindset__photo {
    width: 100%;
    aspect-ratio: 335/446;
  }
}

.p-recruitMindset__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-recruitMindset__cards {
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-recruitMindset__cards {
    width: 100%;
  }
}

.p-recruitMindset__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding-block: var(--space-40);
  border-top: 1px solid var(--color-border-low);
}
@media screen and (max-width: 767px) {
  .p-recruitMindset__card {
    padding-block: var(--space-32);
  }
}

.p-recruitMindset__cardHead {
  display: flex;
  gap: var(--space-8);
  align-items: center;
}

.p-recruitMindset__icon {
  display: block;
  flex-shrink: 0;
  width: calc(56 * var(--to-rem));
  height: calc(56 * var(--to-rem));
  overflow: hidden;
}

.p-recruitMindset__icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.p-recruitMindset__cardLabels {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-recruitMindset__cardEn {
  font-family: var(--font-en);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-low);
  letter-spacing: 0.05em;
}

.p-recruitMindset__cardTitle {
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitMindset__cardText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitMindset__cardList {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-recruitMindset__cardItem {
  position: relative;
  padding-left: calc(16 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitMindset__cardItem::before {
  position: absolute;
  top: calc(0.85em - 2px);
  left: 0;
  width: calc(4 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  content: "";
  background-color: var(--color-black);
  border-radius: 100%;
}

.p-recruitProcess {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-recruitProcess {
    padding-block: var(--space-64) calc(144 * var(--to-rem));
  }
}

.p-recruitProcess__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__inner {
    gap: var(--space-48);
  }
}

.p-recruitProcess__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__head {
    gap: var(--space-8);
  }
}

.p-recruitProcess__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-recruitProcess__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-recruitProcess__lead {
  margin-top: var(--space-48);
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__lead {
    margin-top: calc(42 * var(--to-rem));
    font-size: calc(16 * var(--to-rem));
  }
}

.p-recruitProcess__lead--note {
  font-size: calc(12 * var(--to-rem));
  color: var(--color-text-middle);
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__lead--note {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-recruitProcess__body {
  display: flex;
  gap: var(--space-64);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__body {
    flex-direction: column;
    gap: var(--space-40);
  }
}

.p-recruitProcess__steps {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-40);
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__steps {
    gap: var(--space-32);
    width: 100%;
  }
}

.p-recruitProcess__step {
  position: relative;
  display: flex;
  gap: var(--space-32);
  align-items: center;
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__step {
    gap: var(--space-16);
    align-items: flex-start;
  }
}

.p-recruitProcess__step:not(:last-child)::before {
  position: absolute;
  top: calc(80 * var(--to-rem));
  left: calc(40 * var(--to-rem));
  width: 1px;
  height: calc(100% + var(--space-40) - 80 * var(--to-rem));
  content: "";
  background-color: var(--color-border-high);
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__step:not(:last-child)::before {
    top: calc(64 * var(--to-rem));
    left: calc(32 * var(--to-rem));
    height: calc(100% + var(--space-40) - 64 * var(--to-rem));
  }
}

.p-recruitProcess__step:not(:last-child)::after {
  position: absolute;
  top: calc(100% + var(--space-48) - 15 * var(--to-rem));
  left: calc(40 * var(--to-rem));
  width: 6px;
  height: 6px;
  content: "";
  border-right: 1px solid var(--color-border-high);
  border-bottom: 1px solid var(--color-border-high);
  transform: translateX(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__step:not(:last-child)::after {
    top: calc(100% + var(--space-40) - 15 * var(--to-rem));
    left: calc(32 * var(--to-rem));
  }
}

.p-recruitProcess__num {
  position: relative;
  z-index: 1;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(80 * var(--to-rem));
  height: calc(80 * var(--to-rem));
  font-family: var(--font-en);
  font-size: calc(15 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: 0.05em;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-high);
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__num {
    width: calc(64 * var(--to-rem));
    height: calc(64 * var(--to-rem));
  }
}

.p-recruitProcess__stepBody {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-recruitProcess__stepTitle {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitProcess__stepText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__stepText {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-recruitProcess__photo {
  flex-shrink: 0;
  width: calc(520 * var(--to-rem));
  aspect-ratio: 520/693;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruitProcess__photo {
    width: 100%;
    aspect-ratio: 335/446;
  }
}

.p-recruitProcess__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.p-recruitRequirement {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-recruitRequirement {
    padding-block: var(--space-64);
  }
}

.p-recruitRequirement__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-recruitRequirement__inner {
    gap: var(--space-48);
  }
}

.p-recruitRequirement__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-recruitRequirement__head {
    gap: var(--space-8);
  }
}

.p-recruitRequirement__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-recruitRequirement__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitRequirement__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-recruitRequirement__table {
  border-top: 1px solid #ccc;
}

.p-recruitRequirement__row {
  display: flex;
  gap: var(--space-24);
  align-items: flex-start;
  padding-top: var(--space-24);
  padding-bottom: var(--space-24);
  border-bottom: 1px solid var(--color-border-low);
}
@media screen and (max-width: 767px) {
  .p-recruitRequirement__row {
    flex-direction: column;
    gap: var(--space-8);
  }
}

.p-recruitRequirement__th {
  flex-shrink: 0;
  width: calc(220 * var(--to-rem));
  padding-inline-start: var(--space-20);
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitRequirement__th {
    width: 100%;
    padding-inline-start: 0;
  }
}

.p-recruitRequirement__td {
  flex: 1;
  min-width: 0;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitRequirement__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-recruitRequirement__item {
  position: relative;
  padding-left: calc(16 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitRequirement__item::before {
  position: absolute;
  top: calc(0.85em - 2px);
  left: 0;
  width: calc(4 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  content: "";
  background-color: var(--color-black);
  border-radius: 100%;
}

.p-recruitRequirement__item--indent {
  padding-left: calc(32 * var(--to-rem));
}

.p-recruitRequirement__item--indent::before {
  left: calc(16 * var(--to-rem));
}

.p-recruitRequirement__salary {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
}

.p-recruitRequirement__salaryBlock {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-recruitRequirement__salaryRange,
.p-recruitRequirement__salaryHead {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  white-space: pre-wrap;
}

.p-recruitRequirement__salaryNote {
  font-family: var(--font-jp);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
}

.p-recruitWork {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-recruitWork {
    padding-block: var(--space-64);
  }
}

.p-recruitWork__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-64);
}
@media screen and (max-width: 767px) {
  .p-recruitWork__inner {
    gap: var(--space-48);
  }
}

.p-recruitWork__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-recruitWork__head {
    gap: var(--space-8);
  }
}

.p-recruitWork__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-semibold);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-recruitWork__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-recruitWork__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-recruitWork__intro {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-recruitWork__intro {
    display: flex;
    flex-direction: column;
    gap: 1.7em;
    font-family: var(--font-jp);
    font-size: calc(16 * var(--to-rem));
    font-weight: var(--fw-regular);
    line-height: 1.7;
    color: var(--color-text-high);
    letter-spacing: -0.02em;
  }
}

.p-recruitWork__body {
  display: flex;
  gap: var(--space-64);
  align-items: flex-start;
}
@media screen and (max-width: 767px) {
  .p-recruitWork__body {
    flex-direction: column;
    gap: var(--space-48);
  }
}

.p-recruitWork__main {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-48);
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-recruitWork__main {
    gap: 0;
    width: 100%;
  }
}

.p-recruitWork__photo {
  flex-shrink: 0;
  width: calc(520 * var(--to-rem));
  aspect-ratio: 520/693;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-recruitWork__photo {
    width: 100%;
    aspect-ratio: 335/446;
  }
}

.p-recruitWork__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 65% center;
}

.p-recruitWork__block {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding-top: var(--space-32);
  border-top: 1px solid var(--color-border-low);
}
@media screen and (max-width: 767px) {
  .p-recruitWork__block {
    padding-bottom: var(--space-32);
  }
}

.p-recruitWork__blockTitle {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-recruitWork__blockTitle {
    font-size: calc(20 * var(--to-rem));
  }
}

.p-recruitWork__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-8);
}

.p-recruitWork__tag {
  padding-block: var(--space-4);
  padding-inline: var(--space-16);
  font-family: var(--font-en);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.06em;
  background-color: var(--color-panel);
}
@media screen and (max-width: 767px) {
  .p-recruitWork__tag {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-recruitWork__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-recruitWork__item {
  position: relative;
  padding-left: calc(16 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitWork__item::before {
  position: absolute;
  top: calc(0.85em - 2px);
  left: 0;
  width: calc(4 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  content: "";
  background-color: var(--color-black);
  border-radius: 100%;
}

.p-recruitWork__lead {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-recruitWork__note {
  font-family: var(--font-jp);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
}

.p-reports {
  padding-block: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-reports {
    padding-block: var(--space-64);
  }
}

.p-reports__inner {
  display: flex;
  flex-direction: column;
  gap: calc(56 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-reports__inner {
    gap: var(--space-48);
  }
}

.p-reports__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-reports__header {
    gap: var(--space-48);
  }
}

.p-reports__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-reports__hdg {
    gap: var(--space-8);
  }
}

.p-reports__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-reports__title {
  font-family: var(--font-jp);
  font-size: calc(52 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-reports__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-reports__lead {
  display: flex;
  gap: calc(56 * var(--to-rem));
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .p-reports__lead {
    flex-direction: column;
    gap: var(--space-24);
    align-items: flex-start;
  }
}

.p-reports__leadText {
  flex: 1;
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-reports__leadText {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-reports__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-reports__content {
    gap: var(--space-32);
  }
}

.p-reports__panels {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
}

.p-reports__row {
  display: flex;
  gap: var(--space-20);
  border-radius: calc(4 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-reports__row {
    flex-direction: column;
  }
}

.p-reports__panel {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-32);
  padding: var(--space-40) var(--space-48);
  background-color: var(--color-panel);
  backdrop-filter: blur(15px);
}
@media screen and (max-width: 767px) {
  .p-reports__panel {
    gap: var(--space-24);
    padding: var(--space-40) var(--space-24);
  }
}

.p-reports__panelTitle {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-reports__columns {
  display: flex;
  gap: var(--space-40);
}
@media screen and (max-width: 767px) {
  .p-reports__columns {
    flex-direction: column;
    gap: 0;
  }
}

.p-reports__list {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.p-reports__article {
  overflow: hidden;
}

.p-reports__article + .p-reports__article {
  border-top: 1px dashed var(--color-border-low);
}

@media screen and (max-width: 767px) {
  .p-reports__columns .p-reports__list + .p-reports__list {
    border-top: 1px dashed var(--color-border-low);
  }
}

.p-reports__articleLink {
  display: flex;
  gap: var(--space-16);
  align-items: center;
  padding-block: var(--space-16);
  color: inherit;
  text-decoration: none;
}
.p-reports__article:last-child .p-reports__articleLink {
  padding-block-end: 0;
}
@media screen and (max-width: 767px) {
  .p-reports__articleLink {
    gap: var(--space-12);
    padding-block: var(--space-12);
  }
}

.p-reports__articleImg {
  flex-shrink: 0;
  width: calc(120 * var(--to-rem));
  height: calc(90 * var(--to-rem));
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .p-reports__articleImg {
    width: calc(107 * var(--to-rem));
    max-width: 100%;
    height: calc(80 * var(--to-rem));
  }
}

.p-reports__articleImg img {
  width: 100%;
  height: 100%;
  transition: transform var(--duration-slow) var(--ease-out);
  transform-origin: center center;
  object-fit: cover;
  will-change: transform;
}

.p-reports__article:hover .p-reports__articleImg img {
  transform: scale(1.08);
}

@media (prefers-reduced-motion: reduce) {
  .p-reports__articleImg img {
    transition: none;
  }
  .p-reports__article:hover .p-reports__articleImg img {
    transform: none;
  }
}
.p-reports__articleTitle {
  flex: 1;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-reports__articleTitle {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-reports__cta {
  display: flex;
  gap: calc(64 * var(--to-rem));
  align-items: center;
  padding: var(--space-48) calc(64 * var(--to-rem));
  margin-top: calc(36 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-cta-contact);
  background-image: url(../img/cta-newsletter-bg.png);
  background-image: image-set(url(../img/cta-newsletter-bg.webp) type("image/webp"), url(../img/cta-newsletter-bg.png) type("image/png"));
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  .p-reports__cta {
    flex-direction: column;
    gap: var(--space-24);
    align-items: stretch;
    padding: var(--space-40) var(--space-24);
    margin-top: var(--space-12);
  }
  .p-reports__cta .c-button {
    justify-content: center;
    width: 100%;
  }
}

.p-reports__ctaBody {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-16);
}

.p-reports__ctaTitle {
  font-family: var(--font-jp);
  font-size: calc(24 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-reports__ctaText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  opacity: 0.7;
}
@media screen and (max-width: 767px) {
  .p-reports__ctaText {
    font-size: calc(14 * var(--to-rem));
  }
}

.p-seminar {
  padding-block: calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-seminar {
    padding-block: var(--space-64);
  }
}

.p-seminar__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-48);
}

.p-seminar__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-seminar__header {
    gap: var(--space-48);
  }
}

.p-seminar__hdg {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-seminar__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-seminar__title {
  font-family: var(--font-jp);
  font-size: calc(52 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-seminar__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-seminar__lead {
  display: flex;
  gap: calc(56 * var(--to-rem));
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .p-seminar__lead {
    flex-direction: column;
    gap: var(--space-24);
    align-items: flex-start;
  }
}

.p-seminar__leadText {
  flex: 1;
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-seminar__leadText {
    flex: none;
    width: 100%;
    font-size: calc(16 * var(--to-rem));
  }
}

.p-seminar__cards {
  display: flex;
  gap: var(--space-20);
  border-radius: calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-seminar__cards {
    flex-direction: column;
  }
}

.p-seminar__card {
  display: flex;
  flex: 1;
  flex-direction: column;
  overflow: hidden;
  color: inherit;
  text-decoration: none;
  background-color: var(--color-panel);
  transition: background-color var(--duration-slow) var(--ease-out), box-shadow var(--duration-slow) var(--ease-out);
}

.p-seminar__card:hover {
  background-color: var(--color-white);
  box-shadow: var(--shadow-card-strong);
}

.p-seminar__img {
  width: 100%;
  aspect-ratio: 2500/1308;
  overflow: hidden;
  border: 1px solid var(--color-border-low);
}

.p-seminar__img img {
  width: 100%;
  height: 100%;
  pointer-events: none;
  transition: transform var(--duration-slow) var(--ease-out);
  transform-origin: center center;
  object-fit: cover;
  will-change: transform;
}

.p-seminar__card:hover .p-seminar__img img {
  transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
  .p-seminar__card,
  .p-seminar__img img {
    transition: none;
  }
  .p-seminar__card:hover .p-seminar__img img {
    transform: none;
  }
}
.p-seminar__cardBody {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-12);
  padding: var(--space-24) var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-seminar__cardBody {
    padding: var(--space-24);
  }
}

.p-seminar__cardHead {
  display: flex;
  gap: var(--space-12);
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 1279px) {
  .p-seminar__cardHead {
    flex-direction: column;
    align-items: flex-start;
  }
}
@media screen and (max-width: 767px) {
  .p-seminar__cardHead {
    flex-direction: row;
    align-items: center;
  }
}

.p-seminar__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: calc(24 * var(--to-rem));
  padding-inline: var(--space-12);
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-light);
}

.p-seminar__status--open {
  background-color: var(--color-status-open);
}

.p-seminar__status--closed {
  background-color: var(--color-status-closed);
}

.p-seminar__date {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  text-align: right;
}

.p-seminar__cardTitle {
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-seminar__cardTitle {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-seminar__target {
  display: flex;
  gap: calc(6 * var(--to-rem));
  align-items: flex-start;
  padding-top: var(--space-16);
  border-top: 1px dashed var(--color-border-low);
}

.p-seminar__targetLabel {
  flex-shrink: 0;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: 0.02em;
  white-space: nowrap;
}

.p-seminar__targetDesc {
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
}

.p-seminar__targetDesc p {
  font: inherit;
  color: inherit;
  letter-spacing: inherit;
}

.p-serviceHero {
  position: relative;
  padding-block: calc(32 * var(--to-rem)) calc(120 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-serviceHero {
    padding-block: var(--space-32) calc(80 * var(--to-rem));
  }
}

.p-serviceHero::before,
.p-svcHero::before,
.p-consultantHero::before,
.p-consultantSingleHero::before,
.p-contactHero::before,
.p-companyHero::before,
.p-caseHero::before,
.p-caseSingleBreadcrumb::before,
.p-eventHero::before,
.p-eventSingleBreadcrumb::before,
.p-opinionHero::before,
.p-opinionSingleBreadcrumb::before,
.p-recruitHero::before,
.p-thanksHero::before,
.p-downloadHero::before,
.p-downloadSingleHero::before,
.p-mmHero::before {
  position: absolute;
  top: calc(-90 * var(--to-rem));
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(1575 * var(--to-rem));
  pointer-events: none;
  content: "";
  background-image: url(../img/lower-fv-bg.png);
  background-image: image-set(url(../img/lower-fv-bg.webp) type("image/webp"), url(../img/lower-fv-bg.png) type("image/png"));
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .p-serviceHero::before,
  .p-svcHero::before,
  .p-consultantHero::before,
  .p-consultantSingleHero::before,
  .p-contactHero::before,
  .p-companyHero::before,
  .p-caseHero::before,
  .p-caseSingleBreadcrumb::before,
  .p-eventHero::before,
  .p-eventSingleBreadcrumb::before,
  .p-opinionHero::before,
  .p-opinionSingleBreadcrumb::before,
  .p-recruitHero::before,
  .p-thanksHero::before,
  .p-downloadHero::before,
  .p-downloadSingleHero::before,
  .p-mmHero::before {
    top: calc(-73 * var(--to-rem));
    height: calc(738 * var(--to-rem));
    background-image: url(../img/lower-fv-bg-sp.png);
    background-image: image-set(url(../img/lower-fv-bg-sp.webp) type("image/webp"), url(../img/lower-fv-bg-sp.png) type("image/png"));
  }
}

.p-serviceHero__inner {
  display: flex;
  flex-direction: column;
  gap: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-serviceHero__inner {
    gap: calc(52 * var(--to-rem));
  }
}

.p-serviceHero__crumb {
  display: inline;
}

.p-serviceHero__crumb,
.p-serviceHero__crumbLink,
.p-serviceHero__sep {
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .p-serviceHero__crumb,
  .p-serviceHero__crumbLink,
  .p-serviceHero__sep {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-serviceHero__crumbLink {
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

.p-serviceHero__crumbLink:hover {
  opacity: 0.6;
}

.p-serviceHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-serviceHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-serviceHero__crumb[aria-current=page] {
  color: var(--color-text-low);
}

.p-serviceHero__head {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.p-serviceHero__title {
  font-family: var(--font-jp);
  font-size: calc(58 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-serviceHero__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
  }
}

.p-serviceHero__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-serviceHero__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-svcCase {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-svcCase {
    padding-block: var(--space-64);
  }
}

.p-svcCase__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-svcCase__inner {
    gap: var(--space-48);
  }
}

.p-svcCase__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-svcCase__header {
    gap: var(--space-48);
  }
}

.p-svcCase__leadWrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-24);
}

.p-svcCase__lead {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-svcCase__headBtn {
  display: none;
}
@media screen and (max-width: 767px) {
  .p-svcCase__headBtn {
    display: block;
  }
}

.p-svcCase__footBtn {
  display: flex;
  justify-content: center;
}

.p-svcCase__footBtn .c-button {
  justify-content: center;
}

.p-svcCase__footBtn .js-svcCaseToggle .c-button__icon {
  transition: transform var(--duration) var(--ease-out);
}

.p-svcCase__footBtn .js-svcCaseToggle.is-open .c-button__icon {
  transform: rotate(45deg);
}

.p-svcCase__grid--more {
  margin-block-start: var(--space-32);
}
@media screen and (max-width: 767px) {
  .p-svcCase__grid--more {
    margin-block-start: var(--space-20);
  }
}

.p-svcCase__grid--more[hidden] {
  display: none;
}

.p-svcCase__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-32) var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-svcCase__grid {
    grid-template-columns: 1fr;
    gap: var(--space-20);
  }
}

.p-svcCase__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-16);
  padding: var(--space-32);
  overflow: hidden;
  background-color: var(--color-panel);
}
@media screen and (max-width: 767px) {
  .p-svcCase__card {
    padding-block: var(--space-32);
    padding-inline: var(--space-24);
  }
}

.p-svcCase__cardHead {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-svcCase__category {
  font-family: var(--font-jp);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-accent);
}
@media screen and (max-width: 767px) {
  .p-svcCase__category {
    line-height: 1.5;
  }
}

.p-svcCase__cardTitle {
  padding-block: var(--space-12);
  padding-inline: var(--space-16);
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  text-align: left;
  letter-spacing: -0.02em;
  background-color: var(--color-surface-subtle);
}

.p-svcCase__cardText {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-svcCase__def {
  border-top: 1px dashed var(--color-border-low);
}

.p-svcCase__defRow {
  display: flex;
  align-items: flex-start;
  padding-block: var(--space-12);
  border-bottom: 1px dashed var(--color-border-low);
}

.p-svcCase__defLabel {
  flex-shrink: 0;
  width: calc(80 * var(--to-rem));
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
}

.p-svcCase__defValue {
  flex: 1;
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
}

.p-svcCase__footer {
  display: flex;
  justify-content: center;
}

.p-svcChallenge {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-svcChallenge {
    padding-block: var(--space-64);
  }
}

.p-svcChallenge__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-svcChallenge__inner {
    gap: var(--space-48);
  }
}

.p-svcChallenge__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-svcChallenge__header {
    gap: var(--space-48);
  }
}

.p-svcChallenge__lead {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-svcChallenge__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-svcChallenge__grid {
    grid-template-columns: 1fr;
  }
}

.p-svcChallenge__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  min-height: calc(193 * var(--to-rem));
  padding-block: var(--space-24);
  padding-inline: var(--space-20);
  background-color: var(--color-panel);
}
@media screen and (max-width: 767px) {
  .p-svcChallenge__card {
    min-height: calc(217 * var(--to-rem));
    padding-inline: var(--space-24);
  }
}

.p-svcChallenge__cardTitle {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  padding-block: var(--space-8);
  padding-inline: var(--space-16);
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  text-align: left;
  letter-spacing: -0.02em;
  background-color: var(--color-surface-subtle);
}

.p-svcChallenge__cardText {
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-svcInner {
  width: min(1360 * var(--to-rem), 100% - var(--space-96) * 2);
  margin-inline: auto;
}
@media (width <= 1280px) {
  .p-svcInner {
    width: min(1360 * var(--to-rem), 100% - var(--space-64) * 2);
  }
}
@media screen and (max-width: 767px) {
  .p-svcInner {
    width: auto;
    padding-inline: var(--space-20);
  }
}

.p-svcHead {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}
@media screen and (max-width: 767px) {
  .p-svcHead {
    gap: var(--space-8);
  }
}

.p-svcLabel {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-svcTitle {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-svcTitle {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-svcLead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-svcLead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-svcCta {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-block: calc(96 * var(--to-rem)) calc(80 * var(--to-rem));
  padding-inline: calc(64 * var(--to-rem));
  margin-block-start: calc(96 * var(--to-rem));
  background-color: var(--color-cta-gray);
}
@media screen and (max-width: 767px) {
  .p-svcCta {
    padding-block: calc(48 * var(--to-rem));
    padding-inline: calc(20 * var(--to-rem));
    margin-block-start: calc(80 * var(--to-rem));
  }
}

.l-lower ~ .p-svcCta::before,
.l-lower ~ .p-recruitCta::before,
.l-lower ~ .p-cta::before,
.l-lower ~ .p-lowerFooterBg::before {
  position: absolute;
  top: calc(-834 * var(--to-rem));
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(1340 * var(--to-rem));
  pointer-events: none;
  content: "";
  background-image: url(../img/lower-cta-bg.png);
  background-image: image-set(url(../img/lower-cta-bg.webp) type("image/webp"), url(../img/lower-cta-bg.png) type("image/png"));
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .l-lower ~ .p-svcCta::before,
  .l-lower ~ .p-recruitCta::before,
  .l-lower ~ .p-cta::before,
  .l-lower ~ .p-lowerFooterBg::before {
    top: calc(-450 * var(--to-rem));
    height: calc(602 * var(--to-rem));
    background-image: url(../img/cta-bg-sp.png);
    background-image: image-set(url(../img/cta-bg-sp.webp) type("image/webp"), url(../img/cta-bg-sp.png) type("image/png"));
  }
}

.p-lowerFooterBg {
  position: relative;
  height: 0;
  padding: 0;
  margin: 0;
  overflow: visible;
  pointer-events: none;
}

.p-lowerFooterBg + .p-footer {
  margin-block-start: calc(96 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-lowerFooterBg + .p-footer {
    margin-block-start: calc(80 * var(--to-rem));
  }
}

.p-svcCta__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-40);
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-svcCta__inner {
    gap: var(--space-24);
    max-width: calc(335 * var(--to-rem));
  }
}

.p-svcCta__heading {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: center;
}

.p-svcCta__label {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-text-high);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .p-svcCta__label {
    font-size: calc(12 * var(--to-rem));
    color: var(--color-text-middle);
  }
}

.p-svcCta__title {
  font-family: var(--font-jp);
  font-size: calc(45 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-svcCta__title {
    font-size: calc(28 * var(--to-rem));
    line-height: 1.4;
  }
}

.p-svcCta__text {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  text-align: center;
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-svcCta__text {
    width: 100%;
    font-size: calc(14 * var(--to-rem));
    text-align: left;
  }
}

.p-svcCta__buttons {
  display: flex;
  gap: var(--space-20);
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .p-svcCta__buttons {
    flex-direction: column;
    gap: var(--space-24);
    width: 100%;
    max-width: calc(295 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .p-svcCta__button {
    gap: var(--space-32);
    justify-content: space-between;
    width: 100%;
    min-width: 0;
    padding-block: var(--space-20);
    padding-right: var(--space-20);
    padding-left: var(--space-32);
    font-size: calc(16 * var(--to-rem));
    letter-spacing: -0.02em;
  }
}

.p-svcDefinition {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-svcDefinition {
    padding-block: var(--space-64);
  }
}

.p-svcDefinition__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-svcDefinition__inner {
    gap: var(--space-48);
  }
}

.p-svcDefinition__container {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-svcDefinition__container {
    gap: var(--space-48);
  }
}

.p-svcDefinition__body {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-svcDefinition__figure {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: calc(515 * var(--to-rem));
  overflow: hidden;
  background-color: var(--color-figure-placeholder);
  backdrop-filter: blur(15px);
  border-radius: calc(8 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-svcDefinition__figure {
    min-height: calc(229 * var(--to-rem));
  }
}
.p-svcDefinition__figure.--evx, .p-svcDefinition__figure.--gridbx, .p-svcDefinition__figure.--dx, .p-svcDefinition__figure.--aix, .p-svcDefinition__figure.--maas {
  max-width: calc(1024 * var(--to-rem));
  margin-inline: auto;
}
.p-svcDefinition__figure:has(img) {
  display: block;
  min-height: 0;
  background-color: transparent;
  backdrop-filter: none;
}
.p-svcDefinition__figure img {
  display: block;
  width: 100%;
  height: auto;
}

.p-svcDefinition__figureText {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
  font-family: var(--font-jp);
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-low);
  text-align: center;
  letter-spacing: -0.02em;
}

.p-svcDefinition__figureMain {
  font-size: calc(40 * var(--to-rem));
}

.p-svcDefinition__figureNote {
  font-size: calc(22 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-svcDefinition__figureNote {
    display: none;
  }
}

.p-svcHero {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-80);
  padding-block: var(--space-32) var(--space-120);
}
@media screen and (max-width: 767px) {
  .p-svcHero {
    gap: var(--space-56);
    padding-block: var(--space-32) var(--space-80);
  }
}

@media screen and (max-width: 767px) {
  .p-svcHero__breadWrap {
    width: 100%;
  }
}

.p-svcHero__breadcrumbItem {
  display: inline;
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
}

.p-svcHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}
.p-svcHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-svcHero__breadcrumbLink {
  color: inherit;
  text-decoration: none;
  transition: color var(--duration) var(--ease-out);
}

.p-svcHero__breadcrumbCurrent {
  color: var(--color-text-low);
}

.p-svcHero__inner {
  width: min(1360 * var(--to-rem), 100% - var(--space-96) * 2);
  margin-inline: auto;
}
@media (width <= 1280px) {
  .p-svcHero__inner {
    width: min(1360 * var(--to-rem), 100% - var(--space-64) * 2);
  }
}
@media screen and (max-width: 767px) {
  .p-svcHero__inner {
    width: auto;
    padding-inline: var(--space-20);
  }
}

.p-svcHero__content {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-svcHero__content {
    gap: calc(44 * var(--to-rem));
  }
}

.p-svcHero__text {
  display: flex;
  flex-direction: column;
  gap: var(--space-32);
}

.p-svcHero__title {
  font-family: var(--font-en);
  font-size: calc(80 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .p-svcHero__title {
    font-size: calc(48 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-svcHero__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-svcHero__lead {
    font-size: calc(16 * var(--to-rem));
    letter-spacing: normal;
  }
}

.p-svcHero__actions {
  display: flex;
  gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-svcHero__actions {
    flex-direction: column;
    gap: var(--space-12);
    align-items: flex-start;
  }
  .p-svcHero__actions a {
    min-width: calc(258 * var(--to-rem));
  }
}

.p-svcPhase {
  padding-block: var(--space-96);
}
@media screen and (max-width: 767px) {
  .p-svcPhase {
    padding-block: var(--space-64);
  }
}

.p-svcPhase__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-svcPhase__inner {
    gap: var(--space-48);
  }
}

.p-svcPhase__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-svcPhase__header {
    gap: var(--space-48);
  }
}

.p-svcPhase__lead {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-svcPhase__flow {
  display: flex;
  gap: var(--space-20);
}
@media screen and (max-width: 767px) {
  .p-svcPhase__flow {
    flex-direction: column;
    gap: var(--space-16);
  }
}

.p-svcPhase__step {
  position: relative;
  display: flex;
  flex: 1;
  flex-direction: column;
  min-width: 0;
}
@media screen and (max-width: 767px) {
  .p-svcPhase__step {
    flex: none;
    padding-left: calc(40 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .p-svcPhase__step::before {
    position: absolute;
    top: 0;
    left: 0;
    width: calc(40 * var(--to-rem));
    height: 100%;
    content: "";
    background-color: var(--color-border-low);
  }
}

.p-svcPhase__head {
  position: relative;
  display: flex;
  gap: var(--space-8);
  align-items: center;
  min-height: calc(36 * var(--to-rem));
  padding-inline: var(--space-16);
  background-color: var(--color-border-low);
}
@media screen and (max-width: 767px) {
  .p-svcPhase__head {
    justify-content: flex-start;
    min-height: 0;
    padding-block: var(--space-24) 0;
    padding-inline: var(--space-32) 0;
    background-color: transparent;
    border-top: 1px dashed var(--color-border-middle);
  }
}

.p-svcPhase__step:not(:last-child) .p-svcPhase__head::after {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: 1;
  width: var(--space-20);
  height: 100%;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
  content: "";
  background-color: var(--color-border-low);
}
@media screen and (max-width: 767px) {
  .p-svcPhase__step:not(:last-child) .p-svcPhase__head::after {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .p-svcPhase__step::after {
    position: absolute;
    top: 100%;
    left: calc(20 * var(--to-rem));
    width: var(--space-40);
    height: calc(16 * var(--to-rem));
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: "";
    background-color: var(--color-border-low);
    transform: translateX(-50%);
  }
}

@media screen and (max-width: 767px) {
  .p-svcPhase__step:last-child::before {
    height: calc(100% - 16 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .p-svcPhase__step:last-child::after {
    top: calc(100% - 16 * var(--to-rem));
  }
}

.p-svcPhase__num {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-svcPhase__num {
    position: absolute;
    top: var(--space-24);
    left: calc(-40 * var(--to-rem));
    display: flex;
    align-items: center;
    justify-content: center;
    width: calc(40 * var(--to-rem));
  }
}

.p-svcPhase__stepTitle {
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-svcPhase__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-16);
  padding-block: var(--space-24) var(--space-32);
  padding-inline: var(--space-20);
  border-left: 1px dashed var(--color-border-middle);
}
@media screen and (max-width: 767px) {
  .p-svcPhase__body {
    gap: var(--space-16);
    padding-block: var(--space-16) var(--space-8);
    padding-inline: var(--space-32) 0;
    border-bottom: none;
    border-left: none;
  }
}

.p-svcPhase__step:last-child .p-svcPhase__body {
  border-right: 1px dashed var(--color-border-middle);
}
@media screen and (max-width: 767px) {
  .p-svcPhase__step:last-child .p-svcPhase__body {
    padding-bottom: var(--space-24);
    border-right: none;
    border-bottom: 1px dashed var(--color-border-middle);
  }
}

.p-svcPhase__group {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-svcPhase__groupTitle {
  font-family: var(--font-jp);
  font-size: calc(10 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.7;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-svcPhase__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-svcPhase__listItem {
  display: flex;
  gap: var(--space-8);
  align-items: flex-start;
  font-family: var(--font-jp);
  font-size: calc(14 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-svcPhase__listItem::before {
  flex-shrink: 0;
  width: var(--space-4);
  height: var(--space-4);
  margin-top: calc(11 * var(--to-rem));
  content: "";
  background-color: var(--color-surface-black);
  border-radius: 100%;
}

.p-svcPhase__tags {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  align-items: flex-start;
}

.p-svcPhase__tag {
  padding-block: var(--space-4);
  padding-inline: var(--space-8);
  font-family: var(--font-jp);
  font-size: calc(13 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.5;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
  background-color: var(--color-surface-subtle);
}

.p-svcStructure {
  display: flex;
  gap: var(--space-24);
  align-items: stretch;
}
@media screen and (max-width: 767px) {
  .p-svcStructure {
    flex-direction: column;
    gap: var(--space-16);
  }
}

.p-svcStructure__col {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: var(--space-16);
  min-width: 0;
  padding-block: calc(25 * var(--to-rem)) calc(17 * var(--to-rem));
  padding-inline: calc(25 * var(--to-rem));
  background-color: var(--color-surface-light);
  border: 1px solid var(--color-border-low);
  border-radius: calc(6 * var(--to-rem));
}

.p-svcStructure__col--hub {
  background-color: var(--color-surface-black);
  border-color: var(--color-surface-black);
}

.p-svcStructure__colHead {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  padding-block: 0 var(--space-12);
  border-bottom: 1px dashed var(--color-border-low);
}

.p-svcStructure__col--hub .p-svcStructure__colHead {
  border-bottom-color: var(--color-border-high);
}

.p-svcStructure__colLabel {
  font-family: var(--font-en);
  font-size: calc(10 * var(--to-rem));
  font-weight: var(--fw-bold);
  line-height: 1.5;
  color: var(--color-text-low);
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.p-svcStructure__colTitle {
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-svcStructure__col--hub .p-svcStructure__colTitle {
  color: var(--color-text-light);
}

.p-svcStructure__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-svcStructure__item {
  display: flex;
  gap: var(--space-8);
  align-items: center;
  font-family: var(--font-jp);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.5;
  color: var(--color-text-middle);
  letter-spacing: -0.02em;
}

.p-svcStructure__item::before {
  flex-shrink: 0;
  width: calc(4 * var(--to-rem));
  height: calc(4 * var(--to-rem));
  content: "";
  background-color: var(--color-border-low);
  border-radius: 100%;
}

.p-svcStructure__col--hub .p-svcStructure__item {
  color: var(--color-border-middle);
}

.p-svcStructure__col--hub .p-svcStructure__item::before {
  background-color: var(--color-text-middle);
}

.p-svcStructure__arrow {
  display: flex;
  flex-shrink: 0;
  align-self: center;
  width: calc(16 * var(--to-rem));
  height: calc(16 * var(--to-rem));
  color: var(--color-border-middle);
}
@media screen and (max-width: 767px) {
  .p-svcStructure__arrow {
    transform: rotate(90deg);
  }
}

.p-svcStructure__arrow svg {
  width: 100%;
  height: 100%;
}

.p-svcWhy {
  position: relative;
  padding-block: var(--space-120);
  overflow: hidden;
  background: linear-gradient(180deg, rgba(241, 242, 244, 0.1) 0%, rgba(132, 141, 158, 0.1) 49.5%, rgba(241, 242, 244, 0.1) 100%);
}
@media screen and (max-width: 767px) {
  .p-svcWhy {
    padding-block: var(--space-64);
  }
}

.p-svcWhy::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: calc(1406 * var(--to-rem));
  pointer-events: none;
  content: "";
  background-image: url(../img/lower-why-bg.png);
  background-image: image-set(url(../img/lower-why-bg.webp) type("image/webp"), url(../img/lower-why-bg.png) type("image/png"));
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
}
@media screen and (max-width: 767px) {
  .p-svcWhy::before {
    height: calc(751 * var(--to-rem));
    background-image: url(../img/lower-why-bg-sp.png);
    background-image: image-set(url(../img/lower-why-bg-sp.webp) type("image/webp"), url(../img/lower-why-bg-sp.png) type("image/png"));
  }
}

.p-svcWhy__inner {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-svcWhy__inner {
    gap: var(--space-48);
  }
}

.p-svcWhy__header {
  display: flex;
  flex-direction: column;
  gap: var(--space-56);
}
@media screen and (max-width: 767px) {
  .p-svcWhy__header {
    gap: var(--space-48);
  }
}

.p-svcWhy__title {
  font-family: var(--font-jp);
  font-size: calc(52 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.3;
  color: var(--color-text-high);
  letter-spacing: -0.05em;
}
@media screen and (max-width: 767px) {
  .p-svcWhy__title {
    font-size: calc(34 * var(--to-rem));
    line-height: 1.4;
    letter-spacing: -0.02em;
  }
}

.p-svcWhy__textBtn {
  display: flex;
  gap: var(--space-56);
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .p-svcWhy__textBtn {
    flex-direction: column;
    gap: var(--space-24);
    align-items: flex-start;
  }
}

.p-svcWhy__lead {
  flex: 1;
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-svcWhy__lead {
    font-size: calc(16 * var(--to-rem));
  }
}

.p-svcWhy__cards {
  display: flex;
  gap: var(--space-48);
}
@media screen and (max-width: 767px) {
  .p-svcWhy__cards {
    flex-direction: column;
    gap: var(--space-40);
    padding-block-end: var(--space-32);
  }
}

.p-svcWhy__card {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-20);
}

.p-svcWhy__cardHead {
  display: flex;
  gap: var(--space-20);
  align-items: center;
  padding-bottom: var(--space-20);
  border-bottom: 1px solid var(--color-border-high);
}
@media screen and (max-width: 767px) {
  .p-svcWhy__cardHead {
    gap: var(--space-16);
  }
}

.p-svcWhy__badge {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: calc(72 * var(--to-rem));
  height: calc(72 * var(--to-rem));
  font-family: var(--font-en);
  font-size: calc(15 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: 0.05em;
  background-color: var(--color-white);
  border: 1px solid var(--color-border-high);
  border-radius: 100%;
}
@media screen and (max-width: 767px) {
  .p-svcWhy__badge {
    width: calc(64 * var(--to-rem));
    height: calc(64 * var(--to-rem));
  }
}

.p-svcWhy__cardTitleWrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
}

.p-svcWhy__cardLabel {
  font-family: var(--font-en);
  font-size: calc(13 * var(--to-rem));
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-accent);
  letter-spacing: 0.05em;
}

.p-svcWhy__cardTitle {
  font-family: var(--font-jp);
  font-size: calc(20 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-svcWhy__cardTitle {
    font-size: calc(18 * var(--to-rem));
  }
}

.p-svcWhy__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-8);
}

.p-svcWhy__listItem {
  display: flex;
  gap: var(--space-8);
  align-items: flex-start;
  font-family: var(--font-jp);
  font-size: calc(16 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}

.p-svcWhy__listItem::before {
  flex-shrink: 0;
  width: calc(6 * var(--to-rem));
  height: calc(6 * var(--to-rem));
  margin-top: calc(11 * var(--to-rem));
  content: "";
  background-color: var(--color-surface-black);
  border-radius: 100%;
}

.p-svcWhy__stats {
  display: flex;
}
@media screen and (max-width: 767px) {
  .p-svcWhy__stats {
    flex-direction: column;
  }
}

.p-svcWhy__stat {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: var(--space-12);
  align-items: center;
  padding-inline: var(--space-20);
  border-left: 1px solid var(--color-border-high);
}
@media screen and (max-width: 767px) {
  .p-svcWhy__stat {
    flex-direction: row;
    gap: var(--space-12);
    align-items: center;
    justify-content: space-between;
    padding-block: var(--space-20);
    padding-inline: var(--space-16);
    border-top: 1px solid var(--color-border-middle);
    border-left: none;
  }
}

.p-svcWhy__stat:last-child {
  border-right: 1px solid var(--color-border-high);
}
@media screen and (max-width: 767px) {
  .p-svcWhy__stat:last-child {
    border-right: none;
    border-bottom: 1px solid var(--color-border-middle);
  }
}

.p-svcWhy__statLabel {
  font-family: var(--font-jp);
  font-size: calc(12 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-accent);
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-svcWhy__statLabel {
    font-size: calc(13 * var(--to-rem));
    text-align: left;
  }
}

.p-svcWhy__statValue {
  display: flex;
  align-items: baseline;
  font-family: var(--font-en);
  font-weight: var(--fw-regular);
  line-height: 1;
  color: var(--color-text-high);
}

.p-svcWhy__statNum {
  font-size: calc(67 * var(--to-rem));
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-svcWhy__statNum {
    font-size: calc(45 * var(--to-rem));
  }
}

.p-svcWhy__statUnit {
  font-size: calc(35 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-svcWhy__statUnit {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-svcWhy__slider {
  width: 100vw;
  margin-inline: calc(50% - 50vw);
}
@media screen and (max-width: 767px) {
  .p-svcWhy__slider {
    padding-top: var(--space-56);
  }
}
.p-svcWhy__slider .splide__track {
  overflow: hidden;
}

.p-svcWhy__slide {
  position: relative;
  aspect-ratio: 460/307;
  overflow: hidden;
  background-color: var(--color-white);
}

.p-svcWhy__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-thanksHero {
  position: relative;
  padding-block: calc(32 * var(--to-rem)) calc(216 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-thanksHero {
    padding-block: var(--space-32) calc(144 * var(--to-rem));
  }
}

.p-thanksHero__inner {
  display: flex;
  flex-direction: column;
  gap: calc(80 * var(--to-rem));
}
@media screen and (max-width: 767px) {
  .p-thanksHero__inner {
    gap: calc(52 * var(--to-rem));
  }
}

.p-thanksHero__crumb {
  display: inline;
}

.p-thanksHero__crumb,
.p-thanksHero__crumbLink,
.p-thanksHero__sep {
  font-family: var(--font-jp);
  font-size: calc(11 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .p-thanksHero__crumb,
  .p-thanksHero__crumbLink,
  .p-thanksHero__sep {
    font-size: calc(12 * var(--to-rem));
  }
}

.p-thanksHero__crumbLink {
  text-decoration: none;
  transition: opacity var(--duration) var(--ease-out);
}

.p-thanksHero__crumbLink:hover {
  opacity: 0.6;
}

.p-thanksHero__sep {
  display: inline-flex;
  align-items: center;
  width: calc(11 * var(--to-rem));
  height: calc(11 * var(--to-rem));
  margin-inline: calc(4 * var(--to-rem));
  color: var(--color-border-low);
  vertical-align: middle;
}

.p-thanksHero__sep svg {
  width: 100%;
  height: 100%;
}

.p-thanksHero__crumb[aria-current=page] {
  color: var(--color-text-low);
}

.p-thanksHero__card {
  display: flex;
  flex-direction: column;
  gap: calc(56 * var(--to-rem));
  align-items: center;
  width: 100%;
  max-width: calc(1248 * var(--to-rem));
  padding-block: calc(64 * var(--to-rem));
  padding-inline: calc(40 * var(--to-rem));
  margin-inline: auto;
  background-color: rgba(255, 255, 255, 0.6);
  backdrop-filter: blur(15px);
}
@media screen and (max-width: 767px) {
  .p-thanksHero__card {
    gap: calc(48 * var(--to-rem));
    padding-block: calc(64 * var(--to-rem));
    padding-inline: var(--space-24);
  }
}

.p-thanksHero__texts {
  display: flex;
  flex-direction: column;
  gap: var(--space-20);
  align-items: center;
  text-align: center;
}

.p-thanksHero__title {
  font-family: var(--font-jp);
  font-size: calc(36 * var(--to-rem));
  font-weight: var(--fw-medium);
  line-height: 1.4;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-thanksHero__title {
    font-size: calc(24 * var(--to-rem));
  }
}

.p-thanksHero__lead {
  font-family: var(--font-jp);
  font-size: calc(18 * var(--to-rem));
  font-weight: var(--fw-regular);
  line-height: 1.7;
  color: var(--color-text-high);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .p-thanksHero__lead {
    font-size: calc(14 * var(--to-rem));
  }
}

@media screen and (max-width: 767px) {
  .p-thanksHero .c-button--lg {
    gap: var(--space-20);
    min-width: calc(168 * var(--to-rem));
    padding-block: var(--space-12);
    padding-right: var(--space-16);
    padding-left: var(--space-24);
    font-size: calc(14 * var(--to-rem));
    letter-spacing: -0.02em;
  }
}

.u-br-sm {
  display: none;
}
@media screen and (max-width: 767px) {
  .u-br-sm {
    display: block;
  }
}

.u-br-lg {
  display: block;
}
@media screen and (max-width: 767px) {
  .u-br-lg {
    display: none;
  }
}

:root {
  --clip-triangle-top: polygon(50% 0, 100% 100%, 0 100%);
  --clip-triangle-bottom: polygon(0 0, 100% 0, 50% 100%);
  --clip-triangle-right: polygon(0 0, 100% 50%, 0 100%);
  --clip-triangle-left: polygon(0 50%, 100% 0, 100% 100%);
  --clip-triangle-lower-left: polygon(0 0, 100% 100%, 0 100%);
  --clip-triangle-upper-left: polygon(0 0, 100% 0, 0 100%);
  --clip-triangle-lower-right: polygon(100% 0, 100% 100%, 0 100%);
  --clip-triangle-upper-right: polygon(0 0, 100% 0, 100% 100%);
}

@media (width <= 767px) {
  [data-only-device=md] {
    display: none;
  }
}

@media (width >= 768px) {
  [data-only-device=sm] {
    display: none;
  }
}

.u-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(100%);
  white-space: nowrap;
  border: 0;
}

.u-text__marker {
  background: linear-gradient(transparent 75%, var(--color-orange) 75%);
}

.u-text__inline-block {
  display: inline-block;
}

.u-text__indent {
  padding-inline-start: 1em;
  text-indent: -1em;
}